Internet 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 . • 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 (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

' 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 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

• 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