190 likes | 323 Vues
This lecture outlines the fundamental concepts of BGP (Border Gateway Protocol) and CIDR (Classless Inter-Domain Routing), focusing on the longest matching rule for IP addresses and network mask lengths. Participants will learn about BGP message types, AS path manipulation, and policy-based routing, alongside practical examples of aggregation and route policies. The importance of Internet Routing Registries (IRR) and the Routing Policy Specification Language (RPSL) is also discussed, providing insights into how routing policies shape network paths.
E N D
ecs298k:BGP Routing Protocollecture #3 Dr. S. Felix Wu Computer Science Department University of California, Davis http://www.cs.ucdavis.edu/~wu/ wu@cs.ucdavis.edu ecs289k, spring 2001
CIDR • Longest Matching Rule • CIDR (Classless Inter-domain Routing) • IP address + Net Mask Length • 128.32.12/24 versus 128.32.12/22 • 10000000.00100000.00001100.-------- • 11111111.11111111.11111111.00000000 • 11111111.11111111.11111100.00000000 • Aggregation: • 128.32.12.0/24, 128.32.13.0/24 => 128.32.12.0/23 • 128.32.12.0/23, 128.32.14.0/23 => 128.32.12.0/22 ecs289k, spring 2001
BGP Messages • OPEN • NOTIFICATION • UPDATE (NEW and WITHDRAW) ecs289k, spring 2001
AS Path IP address prefix AS Number Path E E.B.A B.A F B B.A G.B.A A A F.E.B.A A 130.20.0/24 C A How to reach 130.20.5/24 ?? C.A ecs289k, spring 2001
Aggregation B B.A G A A G F 130.20.0/24 C 130.20.0/23 F.G C 130.20.1/24 How to reach 130.20.1/24 ?? ecs289k, spring 2001
Fairness A B A B.A G F G 130.20.1/24 F.G C 130.20.0/23 130.20.0/24 C How to reach 130.20.0/24 ?? D 130.20.0/24 D.C C 130.20.0/24 ecs289k, spring 2001
Multi-Exit-Discriminator 130.20.1/24 A B D 10 Boston 130.20.1/24 C 50 Atlanta 130.20.0/24 ecs289k, spring 2001
Routing Policy • Policy-Based Routing • Aggregation • Forwarding • BGP Updates • IRR (Internet Routing Registry) • Collection of Routing Policy/Objects • RPSL (Routing Policy Specification Language) • a “whois” service to query ecs289k, spring 2001
RPSL (rfc 2622 & 2650) • RPSL objects: • maintainer objects (mntner), autonomous system number objects (aut-num), route objects (route), set objects (as-set, route-set)….. • Route object: • address prefix • % whois -h whois.ra.net 128.223.0.0/16 Route: 128.223.0.0/16 descr: UONet descr: University of Oregon descr: Computing Center descr: Eugene, OR 97403-1212 descr: USA descr: AS3582 mnt-by: MAINT-AS3582 changed: meyer@ns.uoregon.edu 19960222 source: RADB ecs289k, spring 2001
Common Peering Policies Aut-num: AS2 as-name: CAT-NET descr: Catatonic State University import: from AS1 accept ANY import: from AS3 accept <^AS3+$> export: to AS3 announce ANY export: to AS1 announce AS2 AS3 admin-c: AO36-RIPE tech-c: CO19-RIPE mnt-by: OPS4-RIPE changed: orange@ripe.net source: RIPE ecs289k, spring 2001
AS Path Manipulation: G F G.C F.G.C T3 C 130.20.0/24 C How to reach 130.20.0/24 ?? D 130.20.0/24 T1 D.C C 130.20.0/24 C.C.C.C D.C.C.C.C ecs289k, spring 2001
Aggregation Policy Objects aggr-bndry, aggr-mtd, export-comps, inject, holes route: 128.8.0.0/15 origin: AS1 components: <^AS2> route: 128.8.0.0/15 origin: AS1 components: protocol BGP4 {128.8.0.0/16^+} protocol OSPF {128.9.0.0/16^+} route: 128.8.0.0/15 origin: AS1 components: {128.8.0.0/15^-} aggr-mtd: outbound AS-ANY export-comps: {128.8.8.0/24} route: 128.8.0.0/15 origin: AS1 components: {128.8.0.0/15^-} aggr-mtd: outbound AS-ANY inject: upon HAVE-COMPONENTS {128.8.0.0/16, 128.9.0.0/16} holes: 128.8.8.0/24 ecs289k, spring 2001
I-BGP/E-BGP A B C B.A ?? A B.B.A ecs289k, spring 2001
How to prevent loop in... • E-BGP: • examine the AS Path. • As long as we do not find the same AS# twice • I-BGP: • prefix learned from an I-BGP neighbor can NOT be advertized to another I-BGP neighbor. • Full mesh ecs289k, spring 2001
R AS2 AS3 AS0 AS1 BGP Convergence Example *B R via 3 B R via 13 B R via 23 AS0 *B R via 3 B R via 03 B R via 23 AS1 *B R via 3 B R via 03 B R via 13 AS2 ecs289k, spring 2001
36% Average: 110 (min/max 78/135) seconds Announce AS4 AS5 AS (52 seconds) Withdraw (110 seconds) 35% Average: 107 (min/max 91/133) seconds Announce AS4 AS1 AS3 (39 seconds) Announce AS4 AS5 AS3 (68 seconds) Withdraw (107 seconds) 2% Average:140.00 (min/max 120/142) Announce AS4 AS5 AS8 AS7 AS3 (27) Announce AS4 AS5AS9 AS8 AS7 AS3 (86) Withdraw (140 seconds) 27% Other P6 P5 P4 ISP 9 P2 P5 P3 ISP 5 P5 P7 P6 ISP 8 P7 ISP 1 P2 P5 P4 P6 P7 P3 P5 ISP 7 P4 P6 P7 ISP3-ISP4 Paths During Failure ISP 4 Steady State FAULT R3 ISP 3 ecs289k, spring 2001
63% Average: 79 (min/max 44/208) seconds AS4 AS5 AS2 (35 seconds) Withdraw (79 seconds) 7% Average: 88 (min/max 80/94) seconds Announce AS4 AS5 AS2 (33 seconds) Announce AS4 AS6 AS5 AS2 (61 seconds) Withdraw (88 seconds) 7% Average: 54 (min/max 29/9) seconds Withdraw (54 seconds) 23% Other P4 P3 ISP 13 P4 P2 ISP 6 ISP 12 P3 P4 Vagabond ISP 5 ISP 11 P2 P4 P3 ISP 10 P4 ISP2-ISP4 Paths During Failure ISP 4 Steady State FAULT R2 ISP 2 ecs289k, spring 2001
P2 ISP 5 96% Average: 92 (min/max 63/140) seconds Announce AS4 AS5 AS1 (44 seconds) Withdraw (92 seconds) 4% Average: 32 (min/max 27/38) seconds Withdraw (32 seconds) P2 ISP1-ISP4 Paths During Failure ISP 4 • Only one back up path (length 3) Steady State FAULT R1 ISP 1 ecs289k, spring 2001
Remarks • Try it please…. ecs289k, spring 2001