rfc-5065

Autonomous System Confederations for BGP

P. Traina, D. McPherson, J. Scudder
date2007-08 streamIETF areartg wgidr statusDRAFT STANDARD pages14 canonicalhttps://www.rfc-editor.org/rfc/rfc5065 doi10.17487/RFC5065 errataview
The Border Gateway Protocol (BGP) is an inter-autonomous system routing protocol designed for Transmission Control Protocol/Internet Protocol (TCP/IP) networks. BGP requires that all BGP speakers within a single autonomous system (AS) must be fully meshed. This represents a serious scaling problem that has been well documented in a number of proposals. This document describes an extension to BGP that may be used to create a confederation of autonomous systems that is represented as a single autonomous system to BGP peers external to the confederation, thereby removing the "full mesh" requirement. The intention of this extension is to aid in policy administration and reduce the management complexity of maintaining a large autonomous system. This document obsoletes RFC 3065. [STANDARDS-TRACK]

obsoletes

updated by

Extracted elements (23)

design-rationale §1

BGP requires all IBGP speakers within a single AS to be fully meshed, requiring n*(n-1)/2 unique sessions for n speakers. Confederations address this scaling problem by subdividing a large AS into smaller Member-ASes that appear as a single AS externally, reducing intra-domain connection complexity to the inter-domain model.

bgp, routing

design-rationale §5.2

LOCAL_PREF is permitted between confederation members (removing the restriction that applies to external peers) because confederation members share a common administration and LOCAL_PREF is a useful intra-confederation policy tool.

bgp, routing

design-rationale §1.2

The AS Confederation Identifier hides internal topology from the public Internet — Member-AS numbers are visible only within the confederation, while the single Confederation Identifier is the externally advertised AS number. This allows internal restructuring without affecting external BGP policy or routing.

bgp, routing, privacy

interoperability-note §6

Any BGP speaker not supporting the AS_CONFED_SET and AS_CONFED_SEQUENCE extensions will generate a NOTIFICATION message with 'UPDATE Message Error' and sub-code 'Malformed AS_PATH'. All confederation participants MUST support confederations; external BGP speakers need not.

bgp, routing

interoperability-note §7

Confederations and route reflectors have been shown (RFC 3345) to cause permanent oscillation between candidate routes when using BGP tie-breaking rules. Care must be taken when selecting MED values and tie-breaking policy; one mitigation is configuring inter-Member-AS IGP metrics higher than intra-Member-AS IGP metrics.

bgp, routing

interoperability-note §A

When aggregation is performed within a confederation, AS_SET substitutes with AS_CONFED_SET and AS_SEQUENCE with AS_CONFED_SEQUENCE. Confederation-type segments (AS_CONFED_SET, AS_CONFED_SEQUENCE) MUST be kept separate from non-confederation segments (AS_SET, AS_SEQUENCE).

bgp, routing

normative-requirement §5 MUST NOT

A BGP speaker MUST NOT transmit updates containing AS_CONFED_SET or AS_CONFED_SEQUENCE attributes to peers that are not members of the local confederation.

bgp, routing

normative-requirement §4 REQUIRED

A BGP speaker receiving an AS_PATH attribute containing its own AS Confederation Identifier or an AS_CONFED_SEQUENCE/AS_CONFED_SET containing its own Member-AS Number SHALL treat the path as if it contained its own AS number (loop detection).

bgp, routing

normative-requirement §4 MUST

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 the local BGP speaker.

bgp, routing

normative-requirement §5.3 REQUIRED

A route learned from a peer in the same confederation (not necessarily the same Member-AS) SHALL be treated as 'internal' when applying IBGP vs EBGP preference rules in path selection.

bgp, routing

normative-requirement §6 MUST

All BGP speakers participating as members of a confederation MUST recognize the AS_CONFED_SET and AS_CONFED_SEQUENCE segment type extensions to the AS_PATH attribute.

bgp, routing

normative-requirement §5 REQUIRED

If a BGP speaker receives an UPDATE with AS_CONFED_SEQUENCE or AS_CONFED_SET segments from a neighbor not in the same confederation, it SHALL treat the message as having a malformed AS_PATH per BGP-4 Section 6.3 UPDATE Message Error Handling.

bgp, routing

normative-requirement §5 REQUIRED

It is an error for a BGP speaker to receive an UPDATE from a confederation peer not in the same Member-AS where AS_CONFED_SEQUENCE is not the first segment; such messages SHALL be treated as having a malformed AS_PATH.

bgp, routing

normative-requirement §5.2 SHOULD

MEDs of two routes SHOULD only be compared if the first autonomous systems in the first AS_SEQUENCE in both routes are the same, skipping AS_CONFED_SET and AS_CONFED_SEQUENCE entries.

bgp, routing

normative-requirement §5.3 MUST

Path selection criteria for information received from members inside a confederation MUST follow the same rules used for information received from members inside the same autonomous system, as specified in BGP-4.

bgp, routing

normative-requirement §5.2 MAY

The restriction against sending the LOCAL_PREF attribute to peers in a neighboring autonomous system is removed for confederation peers — LOCAL_PREF may be sent to peers within the same confederation.

bgp, routing

normative-requirement §4.1 MUST NOT

When advertising to a BGP speaker in the same Member-AS, the advertising speaker SHALL NOT modify the AS_PATH attribute associated with the route.

bgp, routing

normative-requirement §4.1 SHOULD

When advertising to a confederation peer in a neighboring Member-AS, the speaker prepends its own Member-AS Number to an AS_CONFED_SEQUENCE segment. If prepending would overflow 255 ASes, it SHOULD prepend a new AS_CONFED_SEQUENCE segment.

bgp, routing

normative-requirement §4.1 MUST

When advertising to an external (non-confederation) peer, all AS_CONFED_SEQUENCE and AS_CONFED_SET path segments MUST be removed from the AS_PATH attribute before prepending the AS Confederation Identifier.

bgp, routing

normative-requirement §5.3 SHOULD NOT

When comparing routes using AS_PATH length, CONFED_SEQUENCE and CONFED_SETs SHOULD NOT be counted, ensuring internal confederation hops do not disadvantage routes.

bgp, routing

protocol-element §3

AS_CONFED_SEQUENCE (type 3) is an ordered set of Member Autonomous Systems in the local confederation that the UPDATE message has traversed. AS_CONFED_SET (type 4) is an unordered set of Member Autonomous Systems in the local confederation that the UPDATE message has traversed.

bgp, routing

security-consideration §8

This extension to BGP does not change the underlying security issues inherent in the existing BGP protocol, such as those described in RFC 2385 (TCP MD5 Signature) and RFC 4272 (BGP Security Vulnerabilities Analysis). No new security properties are introduced or removed.

bgp, routing, security

wire-format §3

AS_PATH segment type is a 1-octet field. This document adds type 3 (AS_CONFED_SEQUENCE) and type 4 (AS_CONFED_SET) to the existing types 1 (AS_SET) and 2 (AS_SEQUENCE) defined in BGP-4. Each segment is encoded as a triple: path segment type, path segment length, path segment value.

bgp, routing