Transcript 514-21-BGP
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 • 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: – private range: 1-64511 64512-65535
AS1
Autonomous Systems
AS3 AS4 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 192.168.0.0/24 AS2 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
–
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: – next hop: seq. of ASes in path to prefix 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
5 6 7 3 4 1 2 Step Attribute Highest LocalPref Lowest AS path length Lowest origin type Lowest router ID (to break ties) Controlled by local or neighbour AS?
local neighbour neither Lowest MED eBGP-learned over iBGP-learned neighbour neither Lowest IGP cost to border router local neither 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 Advertisements
Applying 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
1. Preference • add/delete/modify route attributes 2. Filtering • Eliminate certain routes from consideration; control who they will be exported to; 3. 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)