190 likes | 298 Views
Internet Networking recitation #5. Safe “Peering Backup” Routing With BGP. BGP - Background. Inter-AS routing protocol. The routers have no global knowledge of the topology. Each router knows its neighbors. The router chooses a path according to local policies.
E N D
Internet Networkingrecitation #5 Safe “Peering Backup” RoutingWith BGP
BGP - Background • Inter-AS routing protocol. • The routers have no global knowledge of the topology. • Each router knows its neighbors. • The router chooses a path according to local policies. • The router advertises paths it chose to the neighbors.
Safe System • We call a collection of routing policies safe if they can never lead to routing divergence. • Example: Unsafe system Paths to AS0: AS1 (AS1,AS2,AS0) (AS1,AS0) AS0 (AS2,AS1,AS0) (AS2,AS0) AS2
Global Coordination – Why Not? • Many ASes may be unwilling to reveal their local policies to others. • Statically checking for convergence properties is NP-complete problem. • Even if convergence insured for certain topology, BGP might not converge after router/link failures or policy change.
Why Not “Shortest Path Routing”? • This may contradict local policy (i.e. the case where an AS wants to route through its provider even if the route is not attractive in terms of its length). • For example, there is a possibility that a router will prefer provider path over customer path – against its financial incentive.
Relationships Between AS • Customer – Provider (transit) relation – the customer pays to the provider for traffic on the link. • An AS will export to its providers paths it learned from its customers. • An AS will export to its customer paths it learned from providers, customers and peers. • Peer-to-peer (peering) relation – the link is intended for traffic between two neighbors and their customers. • An AS will export to its peers paths it learned from its customers only.
6 5 Customer-to-provider Peer-to-peer 3 4 1 0 2 AS Graph - Example • The export policies should prohibit the use of some of the paths: • for example paths (6,0,3), (4,2,0) and (2,0,1) • Possible Paths from 0 to 2: (0,2), (0,3,2), (0,3,4,2), (0,3,5,4,2), (0,6,5,3,2), (0,6,5,4,2)
AS Graph Properties • An AS graph is said to be an acyclic provider-customer digraph if the directed graph induced by provider–customer relations is acyclic. • Example: if we added a provider-customer edge {0,5} in the previous graph, we would create a cycle. • A path has a valley if it traverses a provider-costumer edge and then a costumer-provider edge. • Example: • paths (3,2,4), (6,1,0,3) – have a valley • path (3,5,4) – has no valley
AS Graph Properties • A path has a step if: • There is a peer-to-peer edge followed by a peer-to-peer edge. • Example: (2, 0, 1). • There is a peer-to-peer edge followed by a customer-provider edge. • Example: (2, 0, 6). • There is a provider-customer edge followed by a peer-to-peer edge. • Example: (3, 0, 1).
Export Policy • The following table indicates whether or not AS announces a route to its neighbor depending on its relationship to the AS that send the route: • These export rules ensure that no permitted path will have a step or a valley. To From
The Safety Theorem Highlights • Guideline: If for AS1 next hop of path P1 belongs to AS1’s customers, and next hop of path P2 belongs to AS1’s providers or peers, then AS1 should prefer P1 over P2. • Why does this Guideline make sense? • Theorem: Consider a BGP system where (a) there are only transit and peering relations, (b) all ASs follow the above Guideline (c) there is no provider-customer cycle (d) there is no valley (e) there is no step , then this BGP system is safe.
Peering Backup • “Peering Backup” is a new relation (agreement) between neighboring ASs AS-1 and AS-2 (in addition to “peering” and “transit”) • The idea is that in case of connectivity loss, AS-1 is allowed to send packets through AS-2 even if they are not destined for AS-2 siblings, and vice versa. • More formally, we permit a path that includes a step. • Such a paths should be used only in the case of failure. • It will always have lower preference than a primary path.
Paths categories • Provider-costumer, peer-to-peer: • Peer-to-peer, customer-provider • peer-to-peer, peer-to-peer: w P u v P v w u P w u v
Export Policies for supporting peering backup To 3 • The new policy can form valley paths. • E.g. 2-0-1-3 • To avoid this, paths received from a provider should be marked not only as a backup, but using an additional flag. An AS that gets such a marked path should never export it to its provider. 2 From 1 0
Backup Path - Example • Paths (5,3,4,2) or (1,0,2,4) are legal backup paths • Path (3,0,6) is not legal 6 5 Customer-to-provider backup peering 3 4 backup peering backup peering 1 0 2
Backup Path - Example • Example of the propagation of an announcement of a backup path: • AS0 sends path (0,1) to AS6, but the path is not accepted (and therefore is not propagated further) while link (6,1) is up. • When link (6,1) is broken, AS6 accepts the backup path (6,0,1) and announces it to AS5.
(3,2,1,0) (2,3,1,0) 2 3 (1,0) 0 1 Ranking backup paths • Example: • Suppose that AS3’s policy is: prefer routing through AS2. • Suppose that AS2’s policy is: prefer routing through AS3. • Consequently, we get routing divergence
Ranking backup paths – solution I • Ranks backup paths based on the path “length” (number of ASs). • Ensures that the system is safe, • Very restrictive: prefer a provider path with two steps over customer path with one step. • Note: giving a priority to customer-based routes, might result in an unsafe system.
Ranking backup paths – solution II • Paths with smaller number of steps should be preferred. • Among paths with the same number of steps customer paths should be preferred. • Among customer paths with the same number of steps the shorter one should be preferred • This policy is consistent with the commercial relationships between nodes and also ensures that the system is inherently safe (i.e. safe under any failures).