Internet Routing Protocols Lecture 01
Advanced Systems Topics Lent Term, 2008
Timothy G. Griffin Computer Lab Cambridge UK
Common View of the Telco Network
Brick
1 Common View of the IP Network (Layer 3)
IP routing is the little bit-o-smarts left in the IP network layer
• Dynamic Routing protocols are used to implement and maintain connectivity in the Internet. • Which protocols are used? • How do they work? • How do they behave? • What are some of the fundamental tradeoffs in the design space of routing protocols?
2 Outline
• Lecture 1 : Routing vs. Forwarding. Internet routing architecture • Lecture 2: Intra-domain routing with “shortest paths”. Link-state vs. distance- vector. • Lecture 3 : Inter-domain routing. The Border Gateway Protocol (BGP) • Lecture 4 : BGP continued • Lecture 5 : BGP dynamics • Lecture 6 : BGP routing anomalies
3 4 GARR-B
5 wiscnet.net
UW-Superior
Rice Lake
Rhinelander
Stiles UW-Stout Wausau Jct. UW-River Falls Marshfield UW-Eau Claire Clintonville er '02) (Summ Qwest UW-Stevens Point and Other UW-Green Bay (Sum Provider(s) mer '02)
Fox Valley TC (S (
u S m u
m UW-Oshkosh m e r m ' 0 e 2 UW-La Crosse r
)
'
0
3
La Crosse ) Portage Internet 2 & Qwest
Dodgeville Genuity UW-Madison (Summer '03) UW-Milwaukee
GO BUCKY! ( UW-Whitewater W UW-Parkside UW-Platteville i
n
t
e
r
Gigabit Ethernet
' 0
2 OC-12 (622Mbps) ) OC-3 (155Mbps) Chicago ! Peering - Public and Private 2) r '0 Chicago - 2 DS-3 (45Mbps) ! Commodity Internet Transit inte (W (Winter '02) ! Internet2 T1 (1.5Mbps) ! Merit and Other State Networks Chicago - 1 ! National Education Network ! Regional Research Peers
6 WorldCom (UUNet)
Internet Initiative Japan (IIJ)
7 Telstra international
Anchorage, AK AT&T IP Backbone Year end 2001
Seattle Spokane
Portland
Worcester Portland Manchester Minneapolis
Albany R St. Paul Glenvie Syracuse Rochester Cambridge Milwaukee w Hartford Framingham Madison Grand Wayne Rolling Rapids Birmingham Buffalo R Stamford PProrovvidideennccee Meadows R Bridgepor Detroit Harrisburg t Des Moines New Brunswick NYC White Oak Plains Salt Lake Davenport Plymouth Phil Cedar Knolls Brook Pittsburgh Sacramento City Chicago Wash. Rochelle Pk R Cleveland Akron San South Bend Hamilton R R Omaha DC San Las Chicago Silver R Square Francisco Denver Dayto Columbus Newark Francisco Vegas n Springs Baltimore Freehold Kansas Indianapolis Bohemia City Arlington R Cincinnati R NYC- Bdwy Oakland Florissant Norfolk San Jose Colorado Camden, St Louis NJ R Springs Louisville Richmond Redwood R City Raleigh
Sherman OakLs os Angeles Albuquerque Oklahom Nashville Greensboro a Tulsa Charlotte Honolulu San City Bernardino LA-Airport Blvd Little Rock Anaheim Memphis Garden Birmingham Columbia a Phoenix Norcross Dunwoody San Diego Gateway Node Atlanta Ft. Worth Dallas Backbone Node Jacksonville
Remote GSR Access Router New Orleans R Austin Orlando Remote Access Router Houston San Antonio R N X DS3 Tampa W. Palm Beach Note: Connectivity and N X OC3 nodes shown are R Ft. Lauderdale Ft. Ojus targeted for deployment; Lauderdale N X OC12 actual deployment Miami N X OC48 San Juan PR may vary. Maps should NX OC192 not be used to predict service availability. Rev. 6-4-01
8 Architecture of Dynamic Routing
IGP BGP AS 1
IGP = Interior Gateway Protocol. Metric based. IGP OSPF, IS-IS, RIP, EIGRP (cisco) AS 2 EGP = Exterior Gateway Protocol. Policy Based. Only one: BGP The Routing Domain of BGP is the entire Internet
How many ASN are used today?
http://bgp.potaroo.net
Jan 28. 2008
9 Routers Talking to Routers (The “control plane”)
Routing info
Routing info
• Routing computation is distributed among routers within a routing domain • Computation of best next hop based on routing information is the most CPU/memory intensive task on a router • Routing messages are usually not routed, but exchanged via layer 2 between physically adjacent routers (internal BGP and multi-hop external BGP are exceptions)
Technology of Distributed Routing
Link State Vectoring
• Topology information is • Each router knows little about flooded within the routing network topology domain • Only best next-hops are chosen • Best end-to-end paths are by each router for each destination network. computed locally at each router. • Best end-to-end paths result • Best end-to-end paths from composition of all next- determine next-hops. hop choices • Based on minimizing some • Does not require any notion of notion of distance distance • Works only if policy is shared • Does not require uniform and uniform policies at all routers • Examples: OSPF, IS-IS • Examples: RIP, BGP
10 The Gang of Four
Link State Vectoring
OSPF IGP RIP IS-IS
EGP BGP
The standard model data received data sent
Application Application Presentation Presentation Session Session Transport Transport Network Network DataLink DataLink Physical Physical 22
11 All Hail the IP Datagram!
0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ H |Version| IHL | Service Type | Total Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ E | Identification |Flags| Fragment Offset | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ A | Time to Live | Protocol | Header Checksum | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ D | Source Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ E | Destination Address | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ R | Options | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: : D : : | | A + ... up to 65,515 octets of data ... + | | T + + | | A +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 23 shaded fields little-used today 1981, RFC 791
IP Hour Glass
Networking Applications Remote Access Voice e-stuff email file transfer Multimedia Web TCP VPN IP Minimalist network layer
Frame ATM Ethernet SONET DWDM X.25 FDDI Networking Technologies
24
12 Best Effort, Connectionless, Connectivity
IP traffic
135.207.49.8 192.0.2.153
The is the fundamental service provided by Internet Service Providers (ISPs)
All other IP services depend on connectivity: DNS, email, VPNs, Web Hosting, …
IP is a Network Layer Protocol
Separate physical networks glued together into one Application logical network Application Presentation Router Presentation Session Session Transport Transport Network Network Network DataLink 1 DataLink 1 DataLink 2 DataLink 2
Physical 1 Physical 1 Physical 2 Physical 2
Medium 1 Medium 2 26
13 Hosts, Networks, and Routers
Host 7 Host 1 Network A
Host 2 Host 1 Router Network C Network B
Unique IP Address = Network Number + Host Number
Host 12 Host 2 27
Actually, IP addresses Identify Interfaces
Host 7 Host 1 Network A Network C, Host 3
Network A, Host 2 Host 1 Host 3 Network B, Network C Network B Host 77
Machines can have more than one IP address. Host 12 Host 2 All routers do! 28
14 IP Forwarding Table
Destination Next Hop Interface
Net A Router 1 INT 7 Net B Direct INT 4 Net C, Host 3 Router 2 INT 3 Net C Router 1 INT 7
A destination is usually The next hop is A physical interface a network. May also be either a directly a host, or a “gateway connected network or a of last resort” (default) router on a directly 29 connected network
IP Forwarding Process
1. Remove a packet 2. Check for sanity, 4. Place packet on from an input decrement TTL correct output queue field queue
Forwarding Process
3. Match packet’s If queues If queues destination to get full, just get full, just a table entry drop packets! drop packets! IP Forwarding Table Router
30
15 IPv4 Addresses are 32 Bit Values
11111111 00010001 10000111 00000000
255 17 134 0
255.17.134.0 Dotted quad notation
IPv6 addresses have 128 bits 31
IP Addresses come in two parts
11111111 00010001 10000111 00000000
Network Number Host Number
Where is this dividing line? Well, that depends ....
32
16 Classful Addresses
Class A 0nnnnnnn hhhhhhhh hhhhhhhh hhhhhhhh
Class B 10nnnnnn nnnnnnnn hhhhhhhh hhhhhhhh
Class C 110nnnnn nnnnnnnn nnnnnnnn hhhhhhhh
n = network address bit h = host identifier bit
Leads to a rigid, flat, inefficient use of address space … 33
RFC 1519: Classless Inter-Domain Routing (CIDR)
Use two 32 bit numbers to represent a network. Network number = IP address + Mask IP Address : 12.4.0.0 IP Mask: 255.254.0.0
Address 00001100 00000100 00000000 00000000
Mask 11111111 11111110 00000000 00000000
Network Prefix for hosts
Usually written as 12.4.0.0/15 34
17 Which IP Addresses are Covered by a Prefix?
12.5.9.16 is covered by prefix 12.4.0.0/15
12.5.9.16 00001100 00000101 00001001 00010000
00001100 00000100 00000000 00000000 12.4.0.0/15 11111111 11111110 00000000 00000000
12.7.9.16 00001100 00000111 00001001 00010000
12.7.9.16 is not covered by prefix 12.4.0.0/15
CIDR allows Hierarchy in Addressing
12.0.0.0/16 : 12.1.0.0/16 12.3.0.0/24 12.2.0.0/16 12.3.1.0/24 : 12.3.0.0/16 : : : 12.0.0.0/8 : 12.3.254.0/24 : 12.253.0.0/19 : 12.253.32.0/19 12.253.64.0/19 12.253.0.0/16 12.253.96.0/19 12.254.0.0/16 12.253.128.0/19 12.253.160.0/19 12.253.192.0/19 36
18 Classless Forwarding
Destination =12.5.9.16 ------payload
Prefix Next Hop Interface
OK 0.0.0.0/0 10.14.11.33 ATM 5/0/9 better 12.0.0.0/8 10.14.22.19 ATM 5/0/8 even better 12.4.0.0/15 10.1.3.77 Ethernet 0/1/3
best! 12.5.8.0/23 attached Serial 1/0/7 IP Forwarding Table
How Are Forwarding Tables Populated to implement Routing?
Statically Dynamically Administrator Routers exchange network reachability manually configures information using ROUTING PROTOCOLS. forwarding table entries Routers use this to compute best routes + More control + Can rapidly adapt to changes + Not restricted to in network topology destination-based + Can be made to scale well forwarding - Complex distributed algorithms - Doesn’t scale - Consume CPU, Bandwidth, Memory - Slow to adapt to - Debugging can be difficult network failures - Current protocols are destination-based In practice : a mix of these. Static routing mostly at the “edge” 38
19 Routing vs. Forwarding
Net Nxt Hop
A R1 Default to upstream B Direct B C R3 router Net Nxt Hop R D R1 R2 E R3 A R2 default R1 A R B R2 R1 R3 R C Direct D R5 C E R5 default R2 R4 R5 Net Nxt Hop D Forwarding E A R4 always works B R3 Routing can be C R3 Forwarding: determine next hop badly broken D R4 E Direct 39 Routing: establish end-to-end paths default R4
Happy Packets: The Internet Does Not Exist Only to Populated Routing Tables
RIP Process BGP Process
RIP Routing tables BGP Routing tables
BGP OSPF Process
OSPF Routing tables
RIP Domain OSPF Forwarding Table Manager Domain
Forwarding Table
40
20 Before We Go Any Further … IP ROUTING PROTOCOLS DO NOT DYNAMICALLY ROUTE AROUND NETWORK CONGESTION
• IP traffic can be very bursty • Dynamic adjustments in routing typically operate more slowly than fluctuations in traffic load • Dynamically adapting routing to account for traffic load can lead to wild, unstable oscillations of routing system
Next Lecture: Shortest Path Routing B Dest. Nxt Hop 55 100 20 100 B C 20 35 C C A C 35 35 D D 20 20 10 E D 20 20 10 10 20 30 10 D E
This is what IS-IS, OSPF, and RIP do, more or less. 42
21