320 likes | 651 Views
BGP. BGP. Border Gateway Protocol Currently version 4 RFC 4271 TCP port 179 Routing between Autonomous Systems (ASes) Decentralised routing Allows an AS to advertise that it exists Each AS advertises routes it has, leaves decision about whether to use them or not to peer
E N D
BGP • Border Gateway Protocol • Currently version 4 • RFC 4271 • TCP port 179 • Routing between Autonomous Systems (ASes) • Decentralised routing • Allows an AS to advertise that it exists • Each AS advertises routes it has, leaves decision about whether to use them or not to peer • Originally supported IPv4; these days multi-protocol
Autonomous System • set of routers under same administrative control • owned/operated by same entity • identified by a unique number • autonomous system number (ASN) • historically a 16-bit value • public range: 1-64511 • private range: 64512-65535
Autonomous Systems AS3 AS4 AS1 AS2 AS5 AS6
Autonomous Systems AS1 AS2 eBGP iBGP
BGP • Path-Vector protocol • Routing information includes the AS path a route has traversed • A router prepends its AS number to any route it receives before advertising it • A router discards any AS path that includes its ASN in it • Why?
Autonomous Systems AS3 AS4 AS1 AS2 192.168.0.0/24 AS5 AS6 192.168.0.0/24 AS6 AS5 AS2 AS1
BGP message types • OPEN • Establish BGP session with peer; negotiate hold time, advise ASN. • KEEPALIVE • Periodic message sent so a router knows a peer is still up in absence of updates • UPDATE • Routes added or withdrawn • NOTIFICATION • Error condition encountered
BGP Message Format marker length type Marker: all ones in most cases; can be used for MD5 authentication. Length: 19-4096 bytes Type: one of four values (open, update, notification, keepalive)
UPDATE Message • An exterior gateway protocol calls for incremental changes to routing table. • reduce volume of traffic to synchronise routing through the network • An UPDATE message advises • when new routes are available • Network Layer Reachability Information (NLRI) • when a route is withdrawn
IP address prefix +---------------------------+ | Length (1 octet) | +---------------------------+ | Prefix (variable) | +---------------------------+ • IPv4 routes are described in CIDR format and encoded as <Length, Prefix>; e.g. • 130.216.0.0/15 • 00001111 10000010 11011000 • (15) (130) (216)
UPDATE Message +-----------------------------------------------------+ | Withdrawn Routes Length (2 octets) | +-----------------------------------------------------+ | Withdrawn Routes (variable) | +-----------------------------------------------------+ | Total Path Attribute Length (2 octets) | +-----------------------------------------------------+ | Path Attributes (variable) | +-----------------------------------------------------+ | Network Layer Reachability Information (variable) | +-----------------------------------------------------+ Section 4.3, UPDATE message format, RFC 4271
Withdrawing Routes • The prefixes to withdraw (if any) are specified in the withdrawn routes section • The receiver finds the appropriate prefix previously announced by the peer and removes that one • When a BGP connection is closed, all routes advertised from that connection are withdrawn by the peers
Advertising Routes • New routes, and their attributes, are specified in the NLRI and path attributes sections • Mandatory attributes: • origin: IGP, EGP, ? • AS path: seq. of ASes in path to prefix • next hop: IP address of router to use
Other Attributes • MED (Multi Exit Discriminator) • Local Pref • Community • …
Attributes 0 1 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Attr. Flags |Attr. Type Code| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Bit 0: optional (0) / well-known (1) Bit 1: transitive (1) / non-transitive (2) Bit 2: partial (1) / complete (0) Bit 3: attr. length octet (0) or two octets (1)
Classes of Attributes • Well-known mandatory • BGP speaker MUST understand it and MUST include it in NLRI • Well-known discretionary • BGP speaker MUST understand it and MAY include it in NLRI • Optional transitive • BGP speaker MAY understand it but MUST forward attribute if received in NLRI – sets partial bit to 1 • Optional non-transitive • BGP speaker MAY understand it but MUST NOT forward attribute received in NLRI
Multiprotocol BGP (MBGP) • BGP was designed to organise global IPv4 routing • MBGP: a set of extensions to enable other types of routes to be chucked around using the attributes section • Optional, non-transitive • Has to be negotiated at OPEN. • MP-Reach-NLRI (type 14) • MP-Unreach-NLRI (type 15) • RFC 4760
MP-Reach-NLRI +---------------------------------------------------------+ | Address Family Identifier (2 octets) | +---------------------------------------------------------+ | Subsequent Address Family Identifier (1 octet) | +---------------------------------------------------------+ | Length of Next Hop Network Address (1 octet) | +---------------------------------------------------------+ | Network Address of Next Hop (variable) | +---------------------------------------------------------+ | Reserved (1 octet) | +---------------------------------------------------------+ | Network Layer Reachability Information (variable) | +---------------------------------------------------------+ Source: Page 3, RFC 4760
BGP decision process Source: BGP routing policies in ISP networks, Caesar and Rexford.
BGP Communities • Administrative tag used to associate routes together • Assists in implementing administrative routing policy • Optional transitive attribute. • Well-known communities: • No-Export; do not advertise outside of this AS • No-Advertise; do not advertise further • No-Export-Subconfed; do not advertise outside selected portion of AS.
Processing Route AdvertisementsApplying Policy • Import policy • Filter routes from going further • Append or modify attributes • Decision process • Export policy • Which neighbours will receive the route • Don’t want to carry traffic you aren’t being paid to carry Source: BGP routing policies in ISP networks, Caesar and Rexford.
Routing Policy • Import policy • Protect network from bad advertisements • Advertising private or unallocated address space • Customer advertising default route to provider • Promote aggregation through filtering NLRI with prefixes longer than particular value
Configuring Local Policies • Preference • add/delete/modify route attributes • Filtering • Eliminate certain routes from consideration; control who they will be exported to; • Tagging • Associate additional state with a route using community attribute
Further Reading • BGP routing policies in ISP networks; Matthew Caesar and Jennifer Rexford • RFC 4760: Multiprotocol Extensions for BGP-4 • RFC 4271: A Border Gateway Protocol 4 (BGP-4)
Next lecture reading • RFC 4364 • Section 3 to 4.3.2 (pp. 8-19) • Section 4.3.5 to 4.3.6 (pp. 22)