draft-ietf-idr-rfc3065bis-01.txt   draft-ietf-idr-rfc3065bis-02.txt 
INTERNET-DRAFT Paul Traina INTERNET-DRAFT Paul Traina
Danny McPherson Danny McPherson
Arbor Networks Arbor Networks
John Scudder John Scudder
Cisco Systems Cisco Systems
Expires: April 2004 October 2003 Expires: November 2004 May 2004
Autonomous System Confederations for BGP Autonomous System Confederations for BGP
<draft-ietf-idr-rfc3065bis-01.txt> <draft-ietf-idr-rfc3065bis-02.txt>
Status of this Document Status of this Document
This document is an Internet-Draft and is in full conformance with This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026. all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that Task Force (IETF), its areas, and its working groups. Note that
other groups may also distribute working documents as Internet- other groups may also distribute working documents as Internet-
Drafts. Drafts.
skipping to change at page 1, line 43 skipping to change at page 1, line 44
The key words "MUST"", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST"", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC 2119]. document are to be interpreted as described in RFC 2119 [RFC 2119].
This document is a product of the . Comments should be addressed to This document is a product of the . Comments should be addressed to
the authors, or the mailing list at the authors, or the mailing list at
Copyright Notice Copyright Notice
Copyright (C) The Internet Society (2003). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
Abstract Abstract
The Border Gateway Protocol (BGP) is an inter-autonomous system The Border Gateway Protocol (BGP) is an inter-autonomous system
routing protocol designed for Transmission Control Protocol/Internet routing protocol designed for Transmission Control Protocol/Internet
Protocol (TCP/IP) networks. BGP requires that all BGP speakers Protocol (TCP/IP) networks. BGP requires that all BGP speakers
within a single autonomous system (AS) must be fully meshed. This within a single autonomous system (AS) must be fully meshed. This
represents a serious scaling problem that has been well documented in represents a serious scaling problem that has been well documented in
a number of proposals. a number of proposals.
skipping to change at page 4, line 22 skipping to change at page 4, line 22
common in many networks today. common in many networks today.
This scaling problem has been well documented and a number of This scaling problem has been well documented and a number of
proposals have been made to alleviate this [3,6]. This document proposals have been made to alleviate this [3,6]. This document
presents another alternative alleviating the need for a "full mesh" presents another alternative alleviating the need for a "full mesh"
and is known as "Autonomous System Confederations for BGP", or and is known as "Autonomous System Confederations for BGP", or
simply, "BGP Confederations". It has also been observed that BGP simply, "BGP Confederations". It has also been observed that BGP
Confederations may provide improvements in routing policy control. Confederations may provide improvements in routing policy control.
This document is a revision of RFC 3065 [5], which is itself a This document is a revision of RFC 3065 [5], which is itself a
revision to RFC 1965 [4]. It includes editorial changes, revision to RFC 1965 [4]. It includes editorial changes, terminology
clarifications and corrections based on deployment experience with clarifications and more explicit protocol specifications based on
BGP Confederations. These revisions are summarized in Appendices A deployment experience with BGP Confederations. These revisions are
and B. summarized in Appendices A and B.
2. Terminology 2. Terminology
AS Confederation AS Confederation
A collection of autonomous systems advertised as a single AS A collection of autonomous systems represented and advertised
number to BGP speakers that are not members of the as a single AS number to BGP speakers that are not members of
confederation. the local BGP confederation.
AS Confederation Identifier AS Confederation Identifier
An externally visible autonomous system number that identifies An externally visible autonomous system number that identifies
the confederation as a whole. a BGP confederation as a whole.
Member Autonomous System (Member-AS) Member Autonomous System (Member-AS)
An autonomous system that is contained in a given AS An autonomous system that is contained in a given AS
confederation. Note that "Member Autonomous System" and confederation. Note that "Member Autonomous System" and
"Member-AS" are used entirely interchangeably throughout "Member-AS" are used entirely interchangeably throughout
this document. this document.
Member-AS Number Member-AS Number
An autonomous system number visible only within a BGP An autonomous system number identifier visible only within
confederation. a BGP confederation, and used to represent a Member-AS
within that confederation.
3. Discussion 3. Discussion
It may be useful to subdivide autonomous systems with a very large It may be useful to subdivide autonomous systems with a very large
number of BGP speakers into smaller domains for purposes of number of BGP speakers into smaller domains for purposes of
controlling routing policy via information contained in the BGP controlling routing policy via information contained in the BGP
AS_PATH attribute. For example, one may choose to consider all BGP AS_PATH attribute. For example, one may choose to consider all BGP
speakers in a geographic region as a single entity. speakers in a geographic region as a single entity.
In addition to potential improvements in routing policy control, if In addition to potential improvements in routing policy control, if
skipping to change at page 6, line 35 skipping to change at page 6, line 35
3 AS_CONFED_SEQUENCE: ordered set of Member Autonomous 3 AS_CONFED_SEQUENCE: ordered set of Member Autonomous
Systems in the local confederation that the UPDATE message Systems in the local confederation that the UPDATE message
has traversed has traversed
4 AS_CONFED_SET: unordered set of Member Autonomous Systems 4 AS_CONFED_SET: unordered set of Member Autonomous Systems
in the local confederation that the UPDATE message has in the local confederation that the UPDATE message has
traversed traversed
5. Operation 5. Operation
A member of a BGP confederation will use its AS Confederation A member of a BGP confederation MUST use its AS Confederation
Identifier in all transactions with peers that are not members of its Identifier in all transactions with peers that are not members of its
confederation. This confederation identifier is the "externally confederation. This AS confederation identifier is the "externally
visible" AS number and this number is used in OPEN messages and visible" AS number and this number is used in OPEN messages and
advertised in the AS_PATH attribute. advertised in the AS_PATH attribute.
A member of a BGP confederation will use its Member-AS Number in all A member of a BGP confederation MUST use its Member-AS Number in all
transactions with peers that are members of the same confederation as transactions with peers that are members of the same confederation as
the given BGP speaker. the local BGP speaker.
A BGP speaker receiving an AS_PATH attribute containing an autonomous A BGP speaker receiving an AS_PATH attribute containing an autonomous
system matching its own AS Confederation Identifier shall treat the system matching its own AS Confederation Identifier SHALL treat the
path in the same fashion as if it had received a path containing its path in the same fashion as if it had received a path containing its
own AS number. own AS number.
A BGP speaker receiving an AS_PATH attribute containing an A BGP speaker receiving an AS_PATH attribute containing an
AS_CONFED_SEQUENCE or AS_CONFED_SET which contains its own Member-AS AS_CONFED_SEQUENCE or AS_CONFED_SET which contains its own Member-AS
Number shall treat the path in the same fashion as if it had received Number SHALL treat the path in the same fashion as if it had received
a path containing its own AS number. a path containing its own AS number.
5.1. AS_PATH Modification Rules 5.1. AS_PATH Modification Rules
When implementing BGP Confederations Section 5.1.2 of [1] is replaced When implementing BGP Confederations Section 5.1.2 of [1] is replaced
with the following text: with the following text:
When a BGP speaker propagates a route which it has learned from When a BGP speaker propagates a route which it has learned from
another BGP speaker's UPDATE message, it shall modify the route's another BGP speaker's UPDATE message, it SHALL modify the route's
AS_PATH attribute based on the location of the BGP speaker to which AS_PATH attribute based on the location of the BGP speaker to which
the route will be sent: the route will be sent:
a) When a given BGP speaker advertises the route to another BGP a) When a given BGP speaker advertises the route to another BGP
speaker located in its own autonomous system, the advertising speaker located in its own autonomous system, the advertising
speaker shall not modify the AS_PATH attribute associated with the speaker SHALL modify the AS_PATH attribute associated with the
route. route.
b) When a given BGP speaker advertises the route to a BGP speaker b) When a given BGP speaker advertises the route to a BGP speaker
located in a neighboring autonomous system that is a member of located in a neighboring autonomous system that is a member of
the local confederation, the advertising speaker shall update the the local confederation, the advertising speaker SHALL update
AS_PATH attribute as follows: the AS_PATH attribute as follows:
1) if the first path segment of the AS_PATH is of type 1) if the first path segment of the AS_PATH is of type
AS_CONFED_SEQUENCE, the local system shall prepend its own AS_CONFED_SEQUENCE, the local system SHALL prepend its own
Member-AS Number as the last element of the sequence (put Member-AS Number as the last element of the sequence (put
it in the leftmost position). it in the leftmost position).
2) if the first path segment of the AS_PATH is not of type 2) if the first path segment of the AS_PATH is not of type
AS_CONFED_SEQUENCE the local system shall prepend a new path AS_CONFED_SEQUENCE the local system SHALL prepend a new path
segment of type AS_CONFED_SEQUENCE to the AS_PATH, including segment of type AS_CONFED_SEQUENCE to the AS_PATH, including
its own Member-AS Number in that segment. its own Member-AS Number in that segment.
c) When a given BGP speaker advertises the route to a BGP speaker c) When a given BGP speaker advertises the route to a BGP speaker
located in a neighboring autonomous system that is not a member of located in a neighboring autonomous system that is not a member of
the local confederation, the advertising speaker shall update the the local confederation, the advertising speaker SHALL update the
AS_PATH attribute as follows: AS_PATH attribute as follows:
1) if any path segments of the AS_PATH are of the type 1) if any path segments of the AS_PATH are of the type
AS_CONFED_SEQUENCE or AS_CONFED_SET, those segments shall AS_CONFED_SEQUENCE or AS_CONFED_SET, those segments MUST
be removed from the AS_PATH attribute, leaving the sanitized be removed from the AS_PATH attribute, leaving the sanitized
AS_PATH attribute to be operated on by steps 2 or 3. AS_PATH attribute to be operated on by steps 2 or 3.
2) if the first path segment of the remaining AS_PATH is of type 2) if the first path segment of the remaining AS_PATH is of type
AS_SEQUENCE, the local system shall prepend its own AS_SEQUENCE, the local system SHALL prepend its own
AS Confederation Identifier as the last element of the sequence AS Confederation Identifier as the last element of the sequence
(put it in the leftmost position). (put it in the leftmost position).
3) if there are no path segments following the removal of the 3) if there are no path segments following the removal of the
first AS_CONFED_SET/AS_CONFED_SEQUENCE segments, or if the first AS_CONFED_SET/AS_CONFED_SEQUENCE segments, or if the
first path segment of the remaining AS_PATH is not of type first path segment of the remaining AS_PATH is not of type
AS_SEQUENCE the local system shall prepend a new path segment AS_SEQUENCE the local system SHALL prepend a new path segment
of type AS_SEQUENCE to the AS_PATH, including its own AS of type AS_SEQUENCE to the AS_PATH, including its own AS
Confederation Identifier in that segment. Confederation Identifier in that segment.
When a BGP speaker originates a route: When a BGP speaker originates a route:
a) the originating speaker shall include an empty AS_PATH attribute a) the originating speaker SHALL include an empty AS_PATH attribute
in all UPDATE messages sent to BGP speakers residing within the in all UPDATE messages sent to BGP speakers residing within the
same Member-AS. (An empty AS_PATH attribute is one whose length same Member-AS. (An empty AS_PATH attribute is one whose length
field contains the value zero). field contains the value zero).
b) the originating speaker shall include its own Member-AS Number in b) the originating speaker SHALL include its own Member-AS Number in
an AS_CONFED_SEQUENCE segment of the AS_PATH attribute of all an AS_CONFED_SEQUENCE segment of the AS_PATH attribute of all
UPDATE messages sent to BGP speakers located in neighboring UPDATE messages sent to BGP speakers located in neighboring
Member Autonomous Systems that are members of the local Member Autonomous Systems that are members of the local
confederation (i.e., the originating speaker's Member-AS Number confederation (i.e., the originating speaker's Member-AS Number
will be the only entry in the AS_PATH attribute). will be the only entry in the AS_PATH attribute).
c) the originating speaker shall include its own AS Confederation c) the originating speaker SHALL include its own AS Confederation
Identifier in an AS_SEQUENCE segment of the AS_PATH attribute of Identifier in an AS_SEQUENCE segment of the AS_PATH attribute of
all UPDATE messages sent to BGP speakers located in neighboring all UPDATE messages sent to BGP speakers located in neighboring
autonomous systems that are not members of the local autonomous systems that are not members of the local
confederation. (In this case, the originating speaker's AS confederation. (In this case, the originating speaker's AS
Confederation Identifier will be the only entry in the AS_PATH Confederation Identifier will be the only entry in the AS_PATH
attribute). attribute).
6. Error Handling 6. Error Handling
A BGP speaker MUST NOT transmit updates containing AS_CONFED_SET or A BGP speaker MUST NOT transmit updates containing AS_CONFED_SET or
skipping to change at page 9, line 20 skipping to change at page 9, line 20
the procedures of [1] Section 6.3 ("Update message error handling"). the procedures of [1] Section 6.3 ("Update message error handling").
7. Common Administration Issues 7. Common Administration Issues
It is reasonable for Member Autonomous Systems of a confederation to It is reasonable for Member Autonomous Systems of a confederation to
share a common administration and IGP information for the entire share a common administration and IGP information for the entire
confederation. confederation.
7.1. MED and LOCAL_PREF Handling 7.1. MED and LOCAL_PREF Handling
It shall be legal for a BGP speaker to advertise an unchanged It SHALL be legal for a BGP speaker to advertise an unchanged
NEXT_HOP and MULTI_EXIT_DISC (MED) attribute to peers in a NEXT_HOP and MULTI_EXIT_DISC (MED) attribute to peers in a
neighboring Member-AS of the local confederation. neighboring Member-AS of the local confederation.
An implementation MAY compare MEDs received from a Member-AS via An implementation MAY compare MEDs received from a Member-AS via
multiple paths. An implementation MAY compare MEDs from different multiple paths. An implementation MAY compare MEDs from different
Member Autonomous Systems of the same confederation. Member Autonomous Systems of the same confederation.
In addition, the restriction against sending the LOCAL_PREF attribute In addition, the restriction against sending the LOCAL_PREF attribute
to peers in a neighboring AS within the same confederation is to peers in a neighboring autonomous system within the same
removed. confederation is removed.
7.2. AS_PATH and Path Selection 7.2. AS_PATH and Path Selection
Path selection criteria for information received from members inside Path selection criteria for information received from members inside
a confederation MUST follow the same rules used for information a confederation MUST follow the same rules used for information
received from members inside the same autonomous system, as specified received from members inside the same autonomous system, as specified
in [1]. in [1].
In addition, the following rules SHALL be applied: In addition, the following rules SHALL be applied:
skipping to change at page 10, line 41 skipping to change at page 10, line 41
duplication of information will waste system resources, cause duplication of information will waste system resources, cause
unnecessary route flaps, and delay convergence. unnecessary route flaps, and delay convergence.
Care should be taken to manually filter duplicate advertisements Care should be taken to manually filter duplicate advertisements
caused by reachability information being relayed through multiple caused by reachability information being relayed through multiple
Member Autonomous Systems based upon the topology and redundancy Member Autonomous Systems based upon the topology and redundancy
requirements of the confederation. requirements of the confederation.
Additionally, confederations (as well as route reflectors), by Additionally, confederations (as well as route reflectors), by
excluding different reachability information from consideration at excluding different reachability information from consideration at
different locations in a confederation, have been shown to cause different locations in a confederation, have been shown [9] to cause
permanent oscillation between candidate routes when using the tie permanent oscillation between candidate routes when using the tie
breaking rules required by BGP [1]. Care must be taken when breaking rules required by BGP [1]. Care must be taken when
selecting MED values and tie breaking policy to avoid these selecting MED values and tie breaking policy to avoid these
situations. situations.
One potential way to avoid this is by configuring inter-Member-AS IGP One potential way to avoid this is by configuring inter-Member-AS IGP
metrics higher than intra-Member-AS IGP metrics and/or using other metrics higher than intra-Member-AS IGP metrics and/or using other
tie breaking policies to avoid BGP route selection based on tie breaking policies to avoid BGP route selection based on
incomparable MEDs. incomparable MEDs.
skipping to change at page 14, line 5 skipping to change at page 13, line 31
[6] Bates, T., Chandra, R. and E. Chen, "BGP Route Reflection An [6] Bates, T., Chandra, R. and E. Chen, "BGP Route Reflection An
Alternative to Full Mesh IBGP", RFC 2796, April 2000. Alternative to Full Mesh IBGP", RFC 2796, April 2000.
[7] Heffernan, A., "Protection of BGP Sessions via the TCP MD5 [7] Heffernan, A., "Protection of BGP Sessions via the TCP MD5
Signature Option", RFC 2385, August 1998. Signature Option", RFC 2385, August 1998.
[8] Bradner, S., "Key words for use in RFCs to Indicate Requirement [8] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", RFC 2119, March 1997. Levels", RFC 2119, March 1997.
[9] McPherson, D., Gill, V., Walton, D., Retana, A., "Border Gateway
Protocol (BGP) Persistent Route Oscillation Condition", RFC 3345,
August 2002.
14. Authors' Addresses 14. Authors' Addresses
Paul Traina Paul Traina
EMail: pst+confed@spamcatcher.bogus.com EMail: pst+confed@spamcatcher.bogus.com
Danny McPherson Danny McPherson
Arbor Networks Arbor Networks
EMail: danny@arbor.net EMail: danny@arbor.net
John G. Scudder John G. Scudder
Cisco Systems, Inc. Cisco Systems, Inc.
170 West Tasman Drive 170 West Tasman Drive
San Jose, CA 95134 San Jose, CA 95134
Phone: +1 734.302.4128 Phone: +1 734.302.4128
EMail: jgs@cisco.com EMail: jgs@cisco.com
15. Full Copyright Statement 15. Full Copyright Statement
Copyright (C) The Internet Society (2003). All Rights Reserved. Copyright (C) The Internet Society (2004). All Rights Reserved.
This document and translations of it may be copied and furnished to This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of Internet organizations, except as needed for the purpose of
 End of changes. 

This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/