CS 457 – Lecture 18 Global Internet Fall 2011
Solution: Path Vectors • Each routing update carries the entire path • Loops are detected as follows: – when AS gets route check if AS already in path • if yes, reject route • if no, add self and (possibly) advertise route further • Advantage: – metrics are local - AS chooses path, protocol ensures no loops
Interconnecting BGP Peers • BGP uses TCP to connect peers (port 179) • Advantages: – makes BGP much simpler – no need for periodic refresh - routes are valid until withdrawn, or the connection is lost – incremental updates • Disadvantages – congestion control on a routing protocol?
Hop-by-hop Model • BGP advertises to neighbors only those routes that it uses – consistent with the hop-by-hop Internet paradigm – e.g., AS1 cannot tell AS2 to route to other ASs in a manner different than what AS2 has chosen (need source routing for that)
AS Categories – Stub : an AS that has only a single connection to one other AS - carries only local traffic – Multi-homed : an AS that has connections to more than one AS, but does not carry transit traffic – Transit : an AS that has connections to more than one AS, and carries both transit and local traffic (under certain policy restrictions)
AS Categories AS1 AS3 AS1 AS2 AS1 AS3 AS2 Transit Stub AS2 Multi-homed
Policy With BGP • BGP provides capability for enforcing various policies • Policies are not part of BGP: they are provided to BGP as configuration information • BGP enforces policies by choosing paths from multiple alternatives and controlling advertisement to other AS’s
Examples of BGP Policies • A multi-homed AS refuses to act as transit – limit path advertisement • A multi-homed AS can become transit for some AS’s – only advertise paths to those AS’s • An AS can favor or disfavor certain AS’s for traffic transit from itself – Pick appropriate routes by examining path vectors
BGP Is NOT Needed If: • Single homed network (stub) • AS does not provide downstream routing • AS uses a default route
Routing Information Bases (RIB) • Routes are stored in RIBs • Adj-RIBs-In: routing info that has been learned from other routers (unprocessed routing info) • Loc-RIB: local routing information selected from Adj-RIBs-In (routes selected locally) • Adj-RIBs-Out: info to be advertised to peers (routes to be advertised)
BGP Messages • Open – Opens a BGP connection (establishes a TCP connection) • Update – Withdrawn routes – New routes that include path attributes e.g., origin, path • Notification – Used for error notification - TCP connection is closed immediately after notification • Keep alive – Sent periodically to peers to ensure connectivity – sent in place of an update message
AS_PATH Attribute
Next Hop Path Attribute • NEXT_HOP: IP address of border router to be used as next hop • Usually, next hop is the router sending the UPDATE message • Useful when some routers do not speak BGP
Example of NEXT_HOP AS1 AS2 UPDATE MSG through BGP A B (BGP) (BGP) Traffic to 138.39.0.0/16 C (no BGP) 138.39.0.0/16
LOCAL-PREF Path Attribute • Provided by a BGP router to all other internal BGP routers – denotes degree of preference for each destination Higher preference wins
LOCAL-PREF Example 1 You are AS1 with two Link A links A & B to AS2. a b Suppose AS2 advertises 12/24 on both links. How to force all traffic AS1 AS2 to AS2’s prefix 12/24 through link A? c d At a: Link B LP=10 for 12/24:b At c: 11/24 12/24 LP=5 for 12/24:d
LOCAL-PREF Example 2 You are AS1 with two Link A links A & B to AS2. a b How to load-share AS2-bound traffic between links A & B? AS1 AS2 a: 12.0/25:b - LP 10 c d a: 12.128/25:b - LP 5 Link B c: 12.0/25:d - LP 5 c: 12.128/25:d - LP 10 11/24 12/24
Multi-exit Discriminator (MED) Path Attribute Link A AS3 PFX Cost=10 AS1 AS2 Cost=50 AS4 Link B • Used when two AS’s connect to each other in more than one place • Metric expresses degree of preference • AS2 includes MEDs with prefixes sent to AS1 over links A, B • AS1 uses these to select appropriate link when sending to prefix PFX
..MED Lower cost wins
MED Example You are AS1 with two Link A links A & B to AS2. north: a b How can you make 11.0/16 AS2 send north traffic to link A and south traffic AS1 AS2 to link B? south: c d Link B 11.1/16 11.0/16:a (MED: 10) 11.0/16:c (MED: 20) 11.1/16:a (MED: 20) 11.1/16:c (MED: 10)
MED (Continued) advertisement Link A AS3 AS1 AS2 traffic AS4 Link B AS2 can use MED to instruct AS1 to prefer link A for traffic to AS3, and link B for traffic to AS4. How is this done?
MED (Continued) MED is typically used in provider/subscriber scenarios. It can lead to unfairness if used between ISPs because it may force one ISP to carry more traffic: SF ISP1 ISP2 NY • ISP1 ignores MED from ISP2 • ISP2 obeys MED from ISP1 • ISP2 ends up carrying traffic most of the way
Local Pref vs. MED • Use Local Pref if you have multiple exit points to a neighbor and want to tell your routers where to direct traffic – Intra-AS policy • Use MED if you have multiple links with a neighbor and want to tell neighbor where to send traffic to you – Inter-AS policy
Internal v.s. External BGP R1 BGP R3 R4 R2 • BGP can be used by R3 and R4 to learn routes. • How do R1 and R2 learn routes? • Option 1: Inject routes in IGP • only works for small routing tables • Option 2: Use I-BGP
Internal BGP (I-BGP) • Same messages as E-BGP • Different rules about re-advertising prefixes: – prefix learned from E-BGP can be advertised to I-BGP neighbor and vice- versa, but – prefix learned from one I-BGP neighbor cannot be advertised to another I-BGP neighbor – reason: no AS PATH within the same AS and thus danger of looping
Internal BGP (I-BGP) R1 E-BGP R3 R4 R2 I-BGP • R3 can tell R1 and R2 prefixes from R4 • R3 can tell R4 prefixes from R1 and R2 • R3 cannot tell R2 prefixes from R1 R2 can only find these prefixes through a direct connection to R1 Result: I-BGP routers must be fully connected (via TCP)! • contrast with E-BGP sessions that map to physical links
I-BGP Mesh I-BGP mesh
BGP Example R1 advertises routes within AS1 to R2 R2 advertises routes within AS2 and AS3 to R1 R2 learns AS3 routes from I-BGP with R4 R4 learns AS3 routes from E-BGP with R6 R4 advertises routes within AS2 and AS1 to R6 AS1 R1 E-BGP AS2 R3 R2 I-BGP AS3 R5 R4 R6 E-BGP
What’s Next • Read Chapter 1, 2, 3, and 4.1-4.3 • Next Lecture Topics from Chapter 4.4 - 4.6 – Multicast, MPLS, and Routing Wrap-up • Homework – Due Thursday in lecture • Project 2 – Due Friday
Recommend
More recommend