Subject: Re: [Idr] WGLC for draft-ietf-idr-rfc4893bis-03.txt, BGP Support for Four-octet AS Number Space

From: Enke Chen <[email-masked]>
Date: Mon, 27 Jun 2011 17:07:48 -0700

Hi, John:

Thanks a lot for your thorough review, and sorry for the long delay in 
getting back.

I have made quite a few editorial changes based on your suggestions.  
However, there are also a few changes that do not seem necessary, and 
have been left out.   Given the maturity of the technology and the late 
stage of the document, I think that we should try to maintain the 
consistency with RFC 4893, and limit the changes to the ones that are 
really required.

Please take a look at the attached draft.  If there are no major issues, 
I will submit it in two weeks.

-- Enke

On 10/18/10 8:27 AM, John Leslie wrote:
>
> John Scudder <[email-masked]> wrote:
> >
> > This is to start a working group last call on
> > draft-ietf-idr-rfc4893bis-03.txt, BGP Support for Four-octet
> > AS Number Space.  Please send any comments to the list.
> > Please send your comments by Monday, October 18.
> >
> > A URL for this Internet-Draft is:
> > http://www.ietf.org/internet-drafts/draft-ietf-idr-rfc4893bis-03.txt
>
>    As threatened:   ;^)
>
> ] Abstract
> ]
> ] Currently the Autonomous System (AS) number is encoded as a two-octet
> ] entity in BGP.
>
>    Delete (outdated and unneeded)
>
> ] This document describes extensions to BGP to carry the
> ] Autonomous System number as a four-octet entity.
>
>    (This is a sufficient Abstract.)
>
> ] 1. Introduction
> ]
> ] Currently the Autonomous System number is encoded as a two-octet
> ] entity in BGP [RFC4271].
>
>    Replace with
> "
> " In the base BGP specification [RFC4271] the Autonomous System number
> " is encoded as a two-octet entity.
>
> ] To prepare for the anticipated exhaustion of the two-octet AS numbers,
>
>    Delete (outdated) and replace with
> "
> " With 32-bit AS numbers being allocated by registries,
>
> ] this document describes extensions to
> ] BGP to carry the Autonomous System number as a four-octet entity.
>                ^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^
>    Replace with plural:
> "
> " Autonomous System numbers
>
> ] More specifically, this document defines
> ] a new BGP capability, Four-octet AS Number Capability,
>     ^^^                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>    Delete "new"; use IANA name "Support for 4-octet AS number capability"
>
> ] that can be used by a BGP speaker to indicate its support...
>   ^^^^ ^^^ ^^ ^^^^
>    Replace with "to be used"
>
> ] Two new attributes, AS4_PATH and AS4_AGGREGATOR, are introduced...
>       ^^^
>    Delete "new".
>
> ] 2. Specification of Requirements
>
>    Rename as "Definitions"; add the following:
> "
> " 16-bit AS number
> " An Autonomous System number in the range 0-65535, as assigned by IANA
> " in the "16-bit Autonomous System Numbers" registry.
> "
> " 32-bit AS number
> " An Autonomous System number in the range 65535-4294967295, as assigned
> " by IANA in the "32-bit Autonomous System Numbers" registry.
> "
> " AS_TRANS
> " The 16-bit AS number assigned by IANA as a placeholder for 32-bit AS
> " numbers which don't fit in the base BGP spec.
> "
> " 2-octet AS number
> " The representation of AS numbers as defined in the BGP spec [RFC4271].
> "
> " 4-octet AS number
> " The representation of AS numbers as defined in this document for NEW
> " BGP speakers, using 4 octets to hold a 32-bit unsigned number, with
> " high-order octets coming first.
> "
> " NEW BGP speaker
> " A BGP speaker that implements this specification and uses 4-octet
> " representation of AS numbers for sessions with other NEW BGP speakers.
> "
> " OLD BGP speaker
> " A BGP speaker that does not implement this specification, and MAY
> " carry 4-octet AS numbers (without being aware of them) in Optional
> " Transitive attributes defined in this specification.
>
> ] 3. Protocol Extensions
> ]
> ] For the purpose of this document we define a BGP speaker that does
> ] not support the new 4-octet AS number extensions as an OLD BGP
> ] speaker, and a BGP speaker that supports the new 4-octet AS number
> ] extensions as a NEW BGP speaker.
>
>    Delete this paragraph (covered in Definitions).
>
> ] BGP carries the Autonomous System number in the...
>               ^^^ ^^^^^^^^^^ ^^^^^^ ^^^^^^
>    Change to plural (there isn't only one AS number).
>
> ] NEW BGP speakers carry AS path information expressed in terms of 4-
> ] octet Autonomous Systems numbers by using the existing AS_PATH
> ] attribute, except that each AS number in this attribute is encoded
> ] not as a 2-octet, but as a 4-octet entity.
>
>    Reword to clarify:
> "
> " BGP sessions between NEW BGP speakers carry AS path information with
> " 4-octet AS numbers in the AS_PATH attribute (instead of 2-octet AS
> " numbers as specified in [RFC4271]).
>
> ] The same applies to the
> ] AGGREGATOR attribute - NEW BGP speakers use the same attribute,
> ] except that the AS carried in this attribute is encoded as a 4-octet
> ] entity.
>
>    No change.
>
>    Add before the next paragraph:
> "
> " For sessions between a NEW BGP speaker and an OLD BGP speaker,
> " AS_PATH and AGGREGATOR attributes will continue to contain 2-octet
> " AS numbers as specified in [RFC4271].
>
> ] To preserve AS path information with 4-octet AS numbers across OLD...
>                                        ^^^^^^^
>    Replace with "32-bit".
>
> ] The AS4_PATH attribute has
> ] the same semantics as the AS_PATH attribute, except that it is
> ] optional transitive, and it carries 4-octet AS numbers.
>                                                         ^
>    Add at end of sentence
> "
> " and certain components of an AS_PATH are prohibited
>
> ] To prevent the possible propagation of confederation path segments
> ] outside of a confederation, the path segment types AS_CONFED_SEQUENCE
> ] and AS_CONFED_SET [RFC5065] are declared invalid for the AS4_PATH
> ] attribute, and MUST NOT be carried in an UPDATE message.
>                  ^^^^ ^^^ ^^ ^^^^^^^ ^^ ^^ ^^^^^^ ^^^^^^^
>    Replace with
> "
> " MUST NOT be included in an AS4_PATH attribute sent in an UPDATE
> " message from a NEW BGP speaker to an OLD BGP speaker, even though
> " they are present in the AS_PATH attribute sent in that UPDATE.
>
>    (I may have misunderstood this, but I can't read 4893-bis any other
> way.)
>
> ] Similarly, this document defines a new aggregator attribute called
> ] AS4_AGGREGATOR, which is optional transitive.  The AS4_AGGREGATOR
> ] attribute has the same semantics as the AGGREGATOR attribute, except
> ] that it carries a 4-octet AS number.
>
>    No change.
>
> ] Currently assigned 2-octet Autonomous System numbers are converted
> ] into 4-octet Autonomous System numbers by setting the two high-order
> ] octets of the 4-octet field to zero.  Such a 4-octet AS number is
> ] said to be mappable to a 2-octet AS number.
>
>    Delete. (covered elsewhere; the "mappable" concept won't be needed)
>
> ] To represent 4-octet AS numbers (which are not mapped from 2-octets)
> ] as 2-octet AS numbers in the AS path information encoded with 2-octet
> ] AS numbers, this document reserves a 2-octet AS number.  We denote
> ] this special AS number as AS_TRANS for ease of description in the
> ] rest of this specification.
>
>    Replace with
> "
> " To represent 32-bit AS numbers in a BGP session between a NEW BGP
> " speaker and an OLD BGP speaker, IANA has reserved the AS number
> " "AS_TRANS". It is used (as a 2-octet AS number) wherever a 32-bit AS
> " number would otherwise overflow the 2-octet AS number representation
> " in an AS_PATH or AGGREGATOR attribute in an UPDATE sent by a NEW BGP
> " speaker to an OLD BGP speaker.
>
> ] This AS number is also placed in the "My Autonomous System" field of
> ] the OPEN message originated by a NEW BGP speaker, if the speaker
> ] does not have a (globally unique) 2-octet AS number.
>                                     ^^^^^^^
>    Replace with "16-bit"
>
> ] 4. Operations
> ] 4.1. Interaction Between NEW BGP Speakers
> ]
> ] A BGP speaker that supports 4-octet Autonomous System numbers SHOULD
>                                                                 ^^^^^^
>    Replace with MUST.
>
>    (IMHO, if it doesn't advertise it it MUST behave exactly as an OLD
> BGP speaker, so it doesn't fit our definition of NEW BGP speaker.)
>
> ] advertise this to its peers using the BGP Capability Advertisements.
> ] The Autonomous System number of the BGP speaker MUST be carried in
> ] the capability value field of the advertised capability.
>                                     ^^^^^^^^^^
>    Replace with "Support for 4-octet AS number" (IANA's name for it)
>
> ] When a NEW BGP speaker processes an OPEN message from another NEW BGP
> ] speaker, it MUST use the Autonomous System number encoded in the
> ] Capability Value field of the Capability in lieu of the "My
> ] Autonomous System" field of the OPEN message.
>
>    No change (though it wouldn't hurt to repeat the IANA capability name)
>
> ] A BGP speaker that advertises such capability to a particular peer,
> ] and receives from that peer the advertisement of such capability MUST
>
>    Change to
> "
> " A NEW BGP speaker that receives the Support for 4-octet AS number
> " capability from a peer MUST
>
> ] encode Autonomous System numbers as 4-octet entities in both the
> ] AS_PATH and the AGGREGATOR attributes in the updates it sends to the
> ] peer, and MUST assume that these attributes in the updates received
> ] from the peer encode Autonomous System numbers as 4-octet entities.
>
>    No change.
>
> ] The new attributes, AS4_PATH and AS4_AGGREGATOR MUST NOT be carried
> ] in an UPDATE message between NEW BGP speakers.  A NEW BGP speaker
> ] that receives the AS4_PATH attribute or the AS4_AGGREGATOR attribute
> ] in an UPDATE message from another NEW BGP speaker MUST discard the
> ] path attribute and continue processing the UPDATE message.
>
>    No change.
>
> ] 4.2. Interaction Between NEW and OLD BGP Speakers
> ] 4.2.1. BGP Peering
> ]
> ] Note that peering between a NEW BGP speaker and an OLD one is
> ] possible only if the NEW BGP speaker has a 2-octet AS number.
>                                        ^^^ ^ ^^^^^^^
>    Change to "uses a 16-bit"
>
> ] However, this document does not assume that an Autonomous System with
> ] NEW speakers has to have a globally unique 2-octet AS number --
> ] AS_TRANS could be used instead (even if a multiple Autonomous System
> ] would use it).
>
>    Change to
> "
> " A NEW BGP speaker which hasn't been assigned a 16-bit AS number will
> " still send OPEN messages to peers which may be OLD BGP speakers,
> " using AS_TRANS as the AS number in the OPEN message.
> "
> " This might lead to confusion if the OLD BGP speaker peers with two or
> " more Autonomous Systems which have not been assigned 16-bit AS numbers.
> " Since the OLD BGP speaker will necessarily be unaware of this issue,
> " a NEW BGP speaker MAY pre-emptively close a session to an OLD BGP
> " speaker if this confusion is seen to be a problem. This SHOULD NOT be
> " the default configuration, though.
>
> ] 4.2.2. Generating Updates
> ]
> ] When communicating with an OLD BGP speaker, a NEW speaker MUST send
> ] the AS path information in the AS_PATH attribute encoded with 2-octet
> ] AS numbers.  The NEW speaker MUST also send the AS path information
> ] in the AS4_PATH attribute (encoded with 4-octet AS numbers), except
> ] for the case where the entire AS path information is composed of 2-
> ] octet AS numbers only.  In this case, the NEW speaker MUST NOT send
> ] the AS4_PATH attribute.
>
>    No change proposed, but I'm nervous whether this MUST NOT is
> _always_ observed in the field. I'd suggest language to the effect that
> an AS4_PATH containing no 32-bit AS numbers SHOULD be ignored (but that
> strays into changing-bits-on-the wire territory).
>
> ] In the AS_PATH attribute encoded with 2-octet AS numbers,
> ] non-mappable 4-octet AS numbers are represented by the well-known
>   ^^^^^^^^^^^^ ^^^^^^^
>    Change to "32-bit" ("non-mappable" isn't needed)
>
> ] 2-octet AS number, AS_TRANS.
>   ^^^^^^^
>    Replace with "16-bit"
>
> ] This will preserve the path length property of the AS path information
> ] and also help in updating the AS path information received on a NEW
> ] BGP speaker from an OLD speaker, as explained in the next section.
>
>    I suggest deleting this. (It's no longer _entirely_ true.)
>
> ] The NEW speaker constructs the AS4_PATH attribute from the AS path
> ] information.
>
>    I suggest
> "
> " A NEW BGP speaker sending UPDATEs to an OLD BGP speaker constructs an
> " AS4_PATH attribute using the same (internal) information used to
> " construct the (2-octet) AS_PATH attribute.
>
> ] In the case where the AS path information contains
> ] either AS_CONFED_SEQUENCE or AS_CONFED_SET path segments, the NEW
> ] speaker, when constructing the AS4_PATH attribute from the AS path
> ] information, MUST exclude such path segments.
>
>    I suggest
> "
> " Wherever this information contains AS_CONFED_SEQUENCE or AS_CONFED_SET
> " path segments, the NEW BGP speaker MUST exclude them from the AS4_PATH.
>
>    (I'm not clear whether also excluding them from the AS_PATH is
> permitted.)
>
> ] The AS4_PATH attribute
> ] will be carried across a series of OLD BGP speakers without
> ] modification and will help preserve the non-mappable 4-octet AS
> ] numbers in the AS path information.
>
>    I suggest
> "
> " The AS4_PATH attribute, being Optional Transitive, must (per [RFC4271])
> " be advertised unmodified by the OLD BGP speaker to any peer to which
> " it advertises that NLRI. Thus, after passing through any number of OLD
> " BGP speakers, the AS4_PATH will emerge unmodified to the first NEW
> " speaker that encounters it.
>
> ] Similarly, if the NEW speaker has to send the AGGREGATOR attribute,
> ] and if the aggregating Autonomous System's AS number is a non-
> ] mappable 4-octet AS number, then the speaker MUST use the
> ] AS4_AGGREGATOR attribute, and set the AS number field in the existing
> ] AGGREGATOR attribute to the reserved AS number, AS_TRANS.  Note that
> ] if the AS number is 2-octets only, then the AS4_AGGREGATOR attribute
> ] MUST NOT be sent.
>
>    I suggest
> "
> " If the NEW BGP speaker includes an AGGREGATOR attribute in an UPDATE
> " to an OLD BGP speaker, it MUST check whether the aggregating AS
> " number is a 32-bit AS number, and if it is it MUST also include an
> " AS4_AGGREGATOR attribute with a 4-octet AS number (in addition to
> " the 2-octet AS_TRANS in the AGGREGATOR attribute.
>
> ] 4.2.3. Processing Received Updates
> ]
> ] When a NEW BGP speaker receives an update from an OLD one, it should
>                                                                 ^^^^^^
>    Replace with MUST
>
> ] be prepared to receive the AS4_PATH attribute along with the existing
> ] AS_PATH attribute.  If the AS4_PATH attribute is also received,
>                                                                 ^
>    Add "and passes certain validity checks"
>
> ] both the attributes will be used to construct the exact AS path
> ] information, and therefore the information carried by both the
> ] attributes will be considered for AS path loop detection.
>
>    I'd simplify
> "
> " the AS4_PATH attribute (and AS4_AGGREGATOR) will be used to supplement
> " the AS_PATH attribute in constructing the (internal) AS path and in
> " checking for AS path loops.
>
> ] Note that a route may have traversed a series of autonomous systems
> ] with 2-octet AS numbers and OLD BGP speakers only.  In that case, if
> ] the route carries the AS4_PATH attribute, this attribute must have
> ] remained unmodified since the route left the last NEW BGP speaker.
>
>    I'd delete this. (I think we've covered it already.)
>
> ] The trailing AS path information (representing autonomous systems
> ] with 2-octet AS numbers and OLD BGP speakers only) is contained only
> ] in the current AS_PATH attribute (encoded in the leading part of the
> ] AS_PATH attribute).
>
>    No change.
>
> ] Under certain conditions, it may not be possible to reconstruct the
> ] entire AS path information from the AS_PATH and the AS4_PATH
> ] attributes of a route.
>
>    I'd make this its own paragraph.
>
> ] This occurs
>  ^^^^ ^^^^^^
>    Change to "For example,"
>
> ] when two or more routes that carry the AS4_PATH attribute are
> ] aggregated by an OLD BGP speaker, and the AS4_PATH attribute of
> ] at least one of these routes carries at least one 4-octet AS number
> ] (as oppose to a 2-octet AS number that is encoded in 4 octets).
>
>    Change to
> " If an OLD BGP speaker aggregates routes, one or more of which contain
> " the (unrecognized) AS4_PATH attribute, the 32-bit AS number(s) in
> " that AS4_PATH attribute will generally be lost.
>
> ] Depending on the implementation, either the AS4_PATH attribute would
> ] be lost during route aggregation, or both the AS_PATH attribute and
> ] the AS4_PATH attribute would contain valid, partial information that
> ] cannot be combined seamlessly, resulting in incomplete AS path
> ] information in these cases.
>
>    No change.
>
> ] A NEW BGP speaker should also be prepared to receive the
> ] AS4_AGGREGATOR attribute along with the AGGREGATOR attribute from an
> ] OLD BGP speaker. When both the attributes are received, if the AS
> ] number in the AGGREGATOR attribute is not AS_TRANS, then:
> ]
> ] -  the AS4_AGGREGATOR attribute and the AS4_PATH attribute SHALL
> ]    be ignored,
> ] -  the AGGREGATOR attribute SHALL be taken as the information
> ]    about the aggregating node, and
> ] -  the AS_PATH attribute SHALL be taken as the AS path
> ]    information.
> ]
> ] Otherwise,
>
> ] -  the AGGREGATOR attribute SHALL be ignored,
> ] -  the AS4_AGGREGATOR attribute SHALL be taken as the information
> ]    about the aggregating node, and
> ] -  the AS path information would need to be constructed, as in all
> ]    other cases.
>
>    No change needed, but I'd suggest swapping the order (putting "if
> the AS number in the AGGREGATOR attribute is AS_TRANS" first).
>
> ] In order to construct the AS path information, it would be necessary
> ] to first calculate the number of AS numbers in the AS_PATH and
> ] AS4_PATH attributes using the method specified in Section 9.1.2.2
> ] [RFC4271] and [RFC5065] for route selection.
> ]
> ] If the number of AS numbers in the AS_PATH attribute is less than the
> ] number of AS numbers in the AS4_PATH attribute, then the AS4_PATH
> ] attribute SHALL be ignored, and the AS_PATH attribute SHALL be taken
> ] as the AS path information.
> ]
> ] If the number of AS numbers in the AS_PATH attribute is larger than
> ] or equal to the number of AS numbers in the AS4_PATH attribute, then
> ] the AS path information SHALL be constructed by taking as many AS
> ] numbers and path segments as necessary from the leading part of the
> ] AS_PATH attribute, and then prepending them to the AS4_PATH attribute
> ] so that the AS path information has an identical number of AS numbers
> ] as the AS_PATH attribute.  Note that a valid AS_CONFED_SEQUENCE or
> ] AS_CONFED_SET path segment SHALL be prepended if it is either the
> ] leading path segment or adjacent to a path segment that is prepended.
>
>    I don't feel able to clarify these paragraphs. Note, however, that
> "Section 9.1.2.2 [RFC4271]" refers to "Breaking Ties" and may not be
> the right reference.
>
>    Also, I am not sure all implementations in the field blindly prepend
> part of the AS_PATH to the AS4_PATH (though that clearly is what
> RFC4893 calls for.
>
>    Also, I frankly don't understand the last sentence about "Note that
> a valid AS_CONFED_SEQUENCE...". It would be good, IMHO, to replace it
> with clearer text about what happens to AS4_PATH in this case.
>
> ] 5. Handling BGP Communities
>
>    No change. (But isn't RFC5668 a Normative reference?)
>
>    Note, RFC5668 may not be implemented in all systems to which the
> Extended Communities may be forwarded: I don't see a problem there, but
> I may have missed one...
>
> ] 6. Error Handling
> ]
> ] The general guidelines presented in [OPT-TRANS]
>
>    Another Normative reference...
>
> ] apply to the error
> ] handling of the AS4_PATH and AS4_AGGREGATOR attributes introduced in
> ] this document.  It is noted, however, that the nature (i.e., NEW
> ] speaker or OLD speaker) of a direct neighbor based on the
> ] announcement of the 4-octet AS Capability allows a local speaker to
> ] determine unequivocally whether the direct neighbor recognizes these
> ] new attributes.  Thus there is no need to examine the the attribute
> ] flags (somewhat weaker indicator in this case) for that
> ] determination.
>
>    I think this is too vague: we should state clearly which flags are
> to be checked. (I'm not sure what our consensus may be here.)
>
>    Note also, that as a Normative reference, 4893bis would have to wait
> for completion of draft-ietf-idr-optional-transitive before being
> published.
>
>    (BTW, the [OPT-TRANS] reference should clearly name the I-D title.)
>
> ] Given that the two-octet AS numbers dominate during the transition,
> ] and are carried in the AS_PATH attribute by an OLD BGP speaker, in
> ] this document the "attribute discard" approach is chosen to handle a
> ] malformed AS4_PATH attribute.
>
>    I think we could safely prescribe that without needing a Normative
> reference...
>
> ] Similarly, as the AS4_AGGREGATOR is just informational, the
> ] "attribute discard" approach is chosen to handle a malformed
> ] AS4_AGGREGATOR attribute.
>
>    Likewise.
>
> ] The AS4_PATH attribute and AS4_AGGREGATOR attribute MUST NOT be
> ] carried in an UPDATE message between NEW BGP speakers.  A NEW BGP
> ] speaker that receives the AS4_PATH attribute or the AS4_AGGREGATOR
> ] attribute in an UPDATE message from another NEW BGP speaker MUST
> ] discard the path attribute and continue processing the UPDATE
> ] message.  This case SHOULD be logged locally for analysis.
>
>    No change.
>
> ] In addition, the path segment types AS_CONFED_SEQUENCE and
> ] AS_CONFED_SET [RFC5065] MUST NOT be carried in the AS4_PATH attribute
> ] of an UPDATE message.  A NEW BGP speaker that receives these path
> ] segment types in the AS4_PATH attribute of an UPDATE message from an
> ] OLD BGP speaker MUST discard these path segments,
>
>    No change.
>
> ] adjust the relevant attribute fields accordingly,
>
>    IMHO, this is too vague (but I don't have text to propose).
>
> ] and continue processing the UPDATE message. This case SHOULD be logged
> ] locally for analysis.
>
>    No change.
>
> ] The AS4_PATH attribute in an UPDATE message SHALL be considered
> ] malformed under the following conditions:
> ]
> ] - the attribute length is not a multiple of two, or is too small
> ]   (i.e., less than 6) for the attribute to carry at least one
> ]   AS number, or
> ]
> ] - the path segment length in the attribute is either zero, or
> ]   is inconsistent with the attribute length, or
>
>    No change.
>
> ] - the path segment type in the attribute is not one of the
> ]   types defined: AS_SEQUENCE, AS_SET, AS_CONFED_SEQUENCE
> ]   and AS_CONFED_SET.
>
>    No specific change, but I'm not clear on this: it seems to complicate
> the introduction of new path segments (for all I know, there may already
> be some in the wild). We have no language in 4893bis to require stripping
> these when creating an AS4_PATH.
>
> ] A NEW BGP speaker that receives a malformed AS4_PATH attribute in an
> ] UPDATE message from an OLD BGP speaker MUST discard the attribute,
> ] and continue processing the UPDATE message.  The error SHOULD be
> ] logged locally for analysis.
> ]
> ] The AS4_AGGREGATOR attribute in an UPDATE message SHALL be considered
> ] malformed if the attribute length is not 8.
> ]
> ] A NEW BGP speaker that receives a malformed AS4_AGGREGATOR attribute
> ] in an UPDATE message from an OLD BGP speaker MUST discard the
> ] attribute, and continue processing the UPDATE message.  The error
> ] SHOULD be logged locally for analysis.
>
>    No change.
>
> ] 7. Transition
>
>    I think this section could be shortened.
>
> ] The scheme described in this document allows a gradual transition
> ] from 2-octet AS numbers to 4-octet AS numbers.  One can upgrade one
> ] Autonomous System or one BGP speaker at a time.
>
>    Is this needed?
>
> ] To simplify transition, this document assumes that an Autonomous
> ] System could start using a 4-octet AS number only after all the BGP
> ] speakers within that Autonomous System have been upgraded to support
> ] 4-octet AS numbers.
>
>    Is this needed? What happens if the condition isn't met?
>
> ] An OLD BGP speaker MUST NOT use AS_TRANS as its Autonomous System
> ] number.
>
>    Is this needed? We have no way to enforce it.
>
> ] A non-mappable 4-octet AS number cannot be used as a "Member AS
> ] Number" of a BGP Confederation until all the BGP speakers within the
> ] Confederation have transitioned to support 4-octet AS numbers.
>                                              ^^^^^^^
>    Change to "32-bit"
>
> ] In an environment where an Autonomous System that has OLD BGP
> ] speakers peers with two or more Autonomous Systems that have NEW BGP
> ] speakers and use AS_TRANS (rather than having a globally unique AS
> ] number), use of Multi-Exit Discriminators by the Autonomous System
> ] with the OLD speakers may result in a situation where Multi-Exit
> ] Discriminator will influence route selection among the routes that
> ] were received from different neighboring Autonomous Systems.
>
>    I think this says the OLD BGP speaker cannot distinguish MEDs. We
> have no way to enforce any behavior on OLD speakers, so if we say
> anything here, it must be about what NEW speakers would do. I don't
> know what to suggest. (Is this needed?)
>
> ] Under certain conditions, it may not be possible to reconstruct the
> ] entire AS path information from the AS_PATH and the AS4_PATH
> ] attributes of a route.  This occurs when two or more routes that
> ] carry the AS4_PATH attribute are aggregated by an OLD BGP speaker,
> ] and the AS4_PATH attribute of at least one of these routes carries at
> ] least one 4-octet AS number (as oppose to a 2-octet AS number that is
> ] encoded in 4 octets).
> ] When such aggregation results in creating a
> ] route that is less specific than any of the component routes (route
> ] whose Network Layer Reachability Information (NLRI) covers NLRI of
> ] all the component routes), loss of the AS path information does not
> ] create a risk of a routing loop.  In all other cases, loss of the AS
> ] path information does create a risk of a routing loop.
>
>    Duplicate text, not needed here.
>
> ] When such aggregation results in creating a
> ] route that is less specific than any of the component routes (route
> ] whose Network Layer Reachability Information (NLRI) covers NLRI of
> ] all the component routes), loss of the AS path information does not
> ] create a risk of a routing loop.  In all other cases, loss of the AS
> ] path information does create a risk of a routing loop.
>
>    If we're going to say anything about routing loops, I believe we
> need to define "routing loop" and "forwarding loop"; and I'd strongly
> recommend putting this in a different section.
>
> 8. IANA Considerations
>
> ] This document expands the pool for AS numbers from 0 - 65535 to 0 -
> ] 4294967295.  The AS numbers are managed by the IANA "Autonomous
> ] System Numbers" registry.  Other than expanding the AS number pool,
> ] this document does not propose any modifications to the existing
> ] policies and procedures pertaining to the AS number allocation.
>
>    Delete. (already done, no IANA action needed)
>
> ] This document uses a BGP Capability code to indicate that a BGP
> ] speaker supports the 4-octet AS numbers.  The Capability Code 65 has
> ] been assigned by IANA per [RFC5492].
>
>    No change.
>
> ] In addition, this document introduces two new BGP optional transitive
> ] attributes, and their type codes have been assigned by the IANA.  The
> ] first one is the AS4_PATH attribute, value 17, which preserves the AS
> ] path information with 4-octet AS numbers across old BGP speakers.
> ] The second one is the AS4_AGGREGATOR attribute, value 18, which is
> ] similar in use to the current AGGREGATOR attribute, but it carries a
> ] 4-octet AS number.
>
>    Delete. (already done, no IANA action needed)
>
> ] Finally, this document introduces a reserved 2-octet AS number --
>                          ^^^^^^^^^^
>    Change to "describes the use of"
>
> ] AS_TRANS.  The AS number 23456 has been assigned by the IANA for
> ] AS_TRANS.
>
>    Add: "IANA will need to update the 16-bit AS number registry to
> point to this document.
>
> ] 9. Security Considerations
>
>    A separate issue, not covered in this email...
>
> --
> John Leslie <[email-masked]>
> _______________________________________________
> Idr mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/idr
>

---

From: John Scudder <[email-masked]>
Date: Thu, 30 Jun 2011 14:39:20 -0700

Enke,

In looking at your revisions and comparing to the suggestions from John Leslie, the principal omission seems to be the careful distinction John drew between "four-octet" and "32-bit" AS Numbers.  To quote from John's review, the distinction he draws is:

" 32-bit AS number
...

Basically this is a distinction between the number space and its representation.

I assume that in not adopting these changes, you are basically saying that you feel the document is sufficiently clear as written.  I would be interested in hearing from the WG whether others feel the document would be significantly clearer if John's proposed new definitions were adopted?

In my opinion merely maintaining consistent language with 4893 isn't a main goal as long as any terminology changes are done clearly and unambiguously -- something the proposed introduction of a Definitions section would seem to achieve.  We shouldn't make changes just for fun, but if we do get improved clarity then I think there is no impediment.

Since this conversation has been moribund for some time and didn't involve that many people even back in October, other opinions on this matter would be welcome.  (So would getting the document published and moving on. :-)

Thanks,

--John

On Jun 27, 2011, at 8:07 PM, Enke Chen wrote:

> Hi, John:
>
> Thanks a lot for your thorough review, and sorry for the long delay in getting back.
>
> I have made quite a few editorial changes based on your suggestions.  However, there are also a few changes that do not seem necessary, and have been left out.   Given the maturity of the technology and the late stage of the document, I think that we should try to maintain the consistency with RFC 4893, and limit the changes to the ones that are really required.
>
> Please take a look at the attached draft.  If there are no major issues, I will submit it in two weeks.
>
> -- Enke
>
>
> <draft-ietf-idr-rfc4893bis-04.txt>

---

From: Enke Chen <[email-masked]>
Date: Thu, 30 Jun 2011 14:52:47 -0700

Hi, John:

Yes, I feel that the document is sufficiently clear using the terms 
"mappable to 2-octet AS number" and "non-mappable" in the places where 
the distinctions need to be made.   (Introducing the definitions as John 
L. suggested would result in a number of changes in the document, which 
I think, can be avoided.)

Thanks.   -- Enke

On 6/30/11 2:39 PM, John Scudder wrote:
>>> John Scudder<[email-masked]>  wrote:
>>> John Leslie<[email-masked]>

---

From: Robert Raszuk <[email-masked]>
Date: Thu, 30 Jun 2011 23:56:30 +0200

Hi John,

> Basically this is a distinction between the number space and its representation.

I think all specs use the notation of octets when defining the protocol 
extensions to carry some values. Yet unlike in John L's definition 4 
octets is not the "wire" representation. We just send bits regardless 
how they are defined in the rfc.

IMHO the spec is very clear as written and mixing bits and octets to 
essentially mean the same would only generate the confusion for the reader.

Best regards,
R.