[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Last call review of draft-ietf-ccamp-asymm-bw-bidir-lsps-00.txt
Adrian,
Much thanks for the comments. Please see below for in-line responses.
At 03:25 PM 4/21/2008, Adrian Farrel wrote:
Hi,
Here are some review comments about this I-D. As is bound to be the
case with an experiment that has not been carried out, I think there
are a few wrinkles to be ironed.
Cheers,
Adrian
===
I struggled to see the utility of the Upstream_TSpec and
Upstream_Adspec objects. By the time these objects are used (on the
Resv) the reservation has already been made using the
Upstream_Flowspec (on the Path message).
The utility here really comes from the support of PSC modes and
preservation of RSVP/IntServ semantics. In short we're maintaining
the object types used in the downstream direction and instantiating
them for the upstream direction. To quote 2210:
From the point of view of RSVP objects, the breakdown is as follows:
- The RSVP SENDER_TSPEC object carries the traffic specification
(sender TSpec) generated by each data source within an RSVP
session. It is transported unchanged through the network, and
delivered to both intermediate nodes and receiving applications.
- The RSVP ADSPEC object carries information which is generated at
either data sources or intermediate network elements, is flowing
downstream towards receivers, and may be used and updated inside
the network before being delivered to receiving applications.
This information includes both parameters describing the
properties of the data path, including the availability of
specific QoS control services, and parameters required by specific
QoS control services to operate correctly.
- The RSVP FLOWSPEC object carries reservation request
(Receiver_TSpec and RSpec) information generated by data
receivers. The information in the FLOWSPEC flows upstream towards
data sources. It may be used or updated at intermediate network
elements before arriving at the sending application.
NOTE: The existence of both SENDER_TSPEC and ADSPEC RSVP objects
is somewhat historical. Using the message format described in
this note it would be possible to place all of the service
control information carried "downstream" by RSVP in the same
object. However, the distinction between data which is not
updated within the network (in the SENDER_TSPEC object) and data
which is updated within the network (in the ADSPEC object) may
be useful to an implementation in practice, and is therefore
retained.
This is strengthen by section 2.2.1 that says that the content is
constructed using the same mechanisms as used for creating the
content of the Flowspec. If that is so, it is a flowspec not a tspec.
I see this as a reference to semantic construction. I think this is
clear in the text, but am open to any specific improvements you can suggest:
... The contents of the
UPSTREAM_TSPEC Object MUST be constructed using a consistent format
and procedures used to construct the FLOWSPEC object that will be
used for the LSP, e.g., [RFC2210] or [RFC4328]. The contents of the
UPSTREAM_TSPEC Object MAY differ from contents of the
UPSTREAM_FLOWSPEC object based on application data transmission
requirements.
I would contest that what you really have is...
Upstream_Flowspec is used to request a particular reservation as
predicted by the ingress.
yes.
Upstream_TSpec is used to report the intended traffic flow (which
might not be the same as the reservation and might require a
modification to the reservation).
right.
Upstream_Adspec reports the available resources in the upstream direction.
right again.
In this case, the operational use would be...
Path {TSpec, Adspec, Upstream_Flowspec}
Resv {Flowspec = fn(TSpec, Adspec), Upstream_TSpec, Upstream_Adspec}
If necessary
Path {TSpec, Adspec, Upstream_Flowspec'}
Resv {Flowspec, Upstream_TSpec, Upstream_Adspec}
I think this is what the draft says.
===
I believe it would be helpful to indicate in the Abstract that this
is an Experimental approach, and in the Introduction to include a
whole paragraph on why this is positioned as an Experimental RFC.
Okay have added:
NOTE: THIS IS AN EXPERIMENTAL RFC.
Let us know if you'd to see anything additional.
===
Document title
s/LSPs/Label Switched Paths/
===
Abstract
s/LSPs/Label Switched Paths (LSPs)/
===
Section 1 para 1
s/LSPs/Label Switched Paths (LSPs)/
s/TDM/Time Division Multiplexing (TDM)/
===
Section 1 para 2
s/discussion on/discussion of/
===
Section 1
I believe it may be useful to say what an "asymmetric bandwidth LSP" is.
Perhaps...
In this context there
has been discussion on the support of bidirectional LSPs with
asymmetric bandwidth.
ADD
That is, bidirectional LSPs that have different bandwidth
reservations in each direction.
===
okay.
Section 1.2
You have
An alternative approach was considered and
rejected. For reference purposes only, the rejected approach is
summarized in Appendix A.
Looking ahead at Appendix A, it is hard to see that this alternative
has been rejected. In fact, it says "SHOULD NOT be implemented".
Nowhere is there a definitive reason why the alternative has been
rejected (although there are a few hints in the introduction to the Appendix).
well it does say:
This section is included for historic purposes and SHOULD NOT
be implemented.
and
In summary, the "ADSPEC Object" approach presented in this
section SHOULD NOT be implemented.
This seems pretty clear to me. What would you like it to say?
*If* you wish to retain the rejected approach in the documentation,
then you need to give some background about why. What would be the
implications of doing the approach that lead you to recommend against it?
This material could happily go in the appendix leaving the only
change to section 1.2 to be...
s/rejected approach is summarized/rejected approach is summarized
with reasons for rejection/
I've changed the sec. 1.2. text to read "An alternative approach was
considered and rejected in favor of the more generic approach
presented below." and to A.1. "In particular this approach is
technology specific; it uses the ADSPEC object to carry traffic
parameters for upstream data and requires MEF Ethernet Traffic
Parameter while the approach presented above is suitable for use with
any technology."
===
Section 2
You have
The new upstream objects carry the same information and are used in
the same fashion as the existing downstream objects; they only differ
in that they relate to traffic flowing in the upstream direction
while the existing objects relate to traffic flowing in the
downstream direction.
They also differ in that they are used on messages in the opposite directions.
okay.
===
Section 2.1.1
You suggest using "Routing problem/MPLS label allocation failure"
Are you sure you do not want to be able to tell whether it was the
upstream or downstream resources that failed? Since these can be
varied independently, it would surely be useful to know which failed.
I don't have a strong opinion one way or another.
===
Section 2.3.1
I think you need to clarify whether the Upstream_Adspec reports the
available upstream resources before or after the reservation for the
LSP in hand.
Note that Adspec would apply before the reservation.
This may be true on the initial path, but it isn't actually stated
anywhere. Furthermore, the information may include an LSPs
reservation even in the case where it is not yet made. e.g., RFC2212
talks in terms of reporting what the "flow might experience" which
implies that the full Tspec is accounted for in the initial ADSPEC.
So I think, like 2210, this should not be mentioned.
===
Section 3
You don't list Upstream_Flowspec as carried on a Notify. But an
upstream notify session carries <sender descriptor> and you have
defined this to carry Upstream_Flowspec.
You also don't list ResvErr as able to carry Upstream_TSpec, but
ResvErr can carry <error flow descriptor> which presumably can carry
the Upstream_TSpec as it also carries the Flowspec.
Also, you don't list PathTear (can carry <sender descriptor>) and
ResvTear (carries <flow descriptor>)
Perhaps your excuse will be that you say "Unmodified formats are not
listed." If that is the case, it should be pointed out that the
formats of the other messages are not modified either!
nope. just a simple mistake.
Maybe the best way forward is to show how you modify <sender
descriptor>, <flow descriptor> and <error flow descriptor>, and say
that the use of these constructs on RSVP messages is not modified.
That would be the smallest change to the documentation.
Good catch. Have changed the text to read:
Object name Applicable RSVP messages
--------------- ------------------------
UPSTREAM_FLOWSPEC Path, PathTear, PathErr and Notify
(via sender descriptor)
UPSTREAM_TSPEC Resv, ResvConf, ResvTear, ResvErr and
Notify (via flow descriptor list)
UPSTREAM_ADSPEC Resv, ResvConf, ResvTear, ResvErr and
Notify (via flow descriptor list)
===
Section 4
OLD
Per [RFC2205], nodes not
supporting this extension should not recognize the new class numbers
and respond with an "Unknown Object Class" error.
NEW
Per [RFC2205], nodes not
supporting this extension will not recognize the new class numbers
and SHOULD respond with an "Unknown Object Class" error
okay, the should is lower case as this document cannot dictate
behavior of non-conforming implementations ;-)
===
Section 4
You have...
The error message
will propagate to the ingress which can then take action to avoid the
path with the incompatible node, or may simply terminate the session.
I think you need a little more care with the behavior for unknown
object on a Resv since that error will propagate to the egress.
This can only happen from a non-conformant implementation, i.e., one
that passes a new object in the path but then rejects it in the resv.
===
Section 5.
You might need another error code as mentioned above.
===
Section 6
It is always worth referencing
draft-ietf-mpls-mpls-and-gmpls-security-framework in GMPLS-related
security sections.
Although you have not introduced any new ways to penetrate the
security, I wonder whether you have introduced new ways to attack
the system once security is penetrated. Upstream_Adspec may be a way
to damage the system without leaving immediate evidence of where the
attack originated. Upstream_TSpec represents a new way to cause an
LSP that has been set up, to be torn down. Of course these issues
can be protected against, but you need to point them out so that
people understand the increased risk and the potential need to use
the existing security mechanisms.
okay have added some words on this.
===
Section 7.1
[MEF-TRAFFIC] has been revised.
Does it need to be a normative reference? It is only cited as an example.
moved.
===
Section 7.2
[GMPLS-PBBTE] is now a CCAMP I-D
===
Section 8
s/Author's/Authors'/
===
All appendix sections
Section headers need left justify
===
Sections A, A.1, A.3, A.4
s/section/appendix/ (Except "Section 3", "Section 3.1")
===
isn't an appendix a section of the document?
Thanks for the usual detailed review & comments...
Lou