04/05/20011 ecs298k: Routing in General... lecture #2 Dr. S. Felix Wu Computer Science Department University of California, Davis
04/05/20012 Routing Protocol Framework Information Model FIB RIB NPDU Header (Network Protocol Data Unit) ( Dest, NextHop, Routing Metrics ) Forwarding Algorithm OSPF RIB RIPv2BGP4 FIB Forwarding Decision Application Layer Network Layer Routing Information Base Forwarding Information Base
04/05/20013 Operation Model - Routing Information Exchange Hey, Here is the routing information I got so far Hmm, some of them are obsolete, Here is my update
04/05/20014 Operation Model - Route Generation and Selection Which algorithm should I use?? Distributed Dijikstra’s algorithm or Distributed Bellman-Ford algorithm? Routing Information Base Forwarding Information Base application Layer network Layer
04/05/20015 Routing Protocol Framework Topology Model Administrative Domain 1 Administrative Domain 2 ASBR AIR Domain Routing Domain Host AIR Host AIR Host Domain Routing Domain AIR n Two Level Routing - Intra-domain and Inter-domain n Multiple routing domains can form an administrative domain n ASBR and It’s restriction n Routing protocol examples ( RIP, RIPv2, IGRP, OSPF, EGP, BGP, IS-IS)
04/05/20016 FIB Forwarding Information Base Longest Matching Rule –CIDR (Classless Inter-domain Routing) IP address + Net Mask Length /24 versus /22 – – – –Aggregation: /24, /24 => / /23, /23 => /22
04/05/20017 IP Routing Routing targets network addresses –Clouds - IP network address. Routers use forwarding table –destination/mask, next hop, network interface, metric –table look-up for each packet –need to recognize address structure Routing information updates the forwarding table after the route computation.
04/05/20018 Routing I want to know the shortest path or simply “a path” Routers exchange local information! SRC DST
04/05/20019 Link State A B C You Your Neighbor A B Flooding
04/05/200110
04/05/ Link State A B C You Your Neighbor A B Flooding
04/05/ Distance Vector A B C You Your Neighbor A: 3 hops B: 2 hops C: 2 hops Your Neoghbor will decide who should be the next hop! A: 1 hop B: 2 hops VIEW
04/05/ Routing Information Link State: –I let the whole world knows about my relationship with my neighbors. –(Felix, Neighbor-X) is up! Distance Vector: –I let all my neighbors knows about my relationship with the rest of the world. –(Felix can get to Remote-Y) in 5 hops.
04/05/ RIP Routing Information Protocol is a simple distance vector protocol. Initialization: –When the routing daemon is initialized, it send a request command to each network interface (card). –Neighboring routers will reply with routing table information.
04/05/ RIP, cont. Periodic Updates –routers advertise tables with neighbors periodically (~30 seconds) + upon interface changes. Split-Horizon –Router records the interface providing a route and does not propagate it back.
04/05/ Bad News Propagation: 1 A: 0A: 1A: 2A: 3A: 4A:
04/05/ Bad News Propagation: 2 A: 0A: 3A: 2A: 3A: 4A:
04/05/ Black Hole A B C You Your Neighbor A: 3 hops B: 2 hops C: 2 hops A: 1 hop B: 2 hops
04/05/ Black Hole Attack R1 Destination N, NextHop R1, Metric 1 R2 R3 Rn control flow data flow
04/05/ BGP4 In between Link-State and Distance-Vector –tell my neighbors about my connection to the rest of the world –but, also tell them how I reach there: routing path information. –What can or can’t I do with the extra path information? Can I still attack? How can I prevent or detect?
04/05/ Route Path (among AS’s) A B C A-B-E-F E F A-C
04/05/ BGP Messages OPEN NOTIFICATION UPDATE (NEW and WITHDRAW)
04/05/ Internet BGP Update Volume
04/05/ Race Conditions and Paths T(shortest path) <= Tdown <= T(longest path) B A
04/05/ BGP Convergence Example R AS0 AS1 AS2 AS3 *B Rvia 3 B R via 03 B R via 23 *B Rvia 3 B R via 03 B R via 13 *B Rvia 3 B R via 13 B R via 23 AS0AS1AS2 *** *B R via 203 *B R via 013 B R via 103
04/05/ ISP3-ISP4 Paths During Failure ISP 3 Steady State ISP 4 R3R3 P2 ISP 5 FAULT ISP 1 P3 P6 P7 P4 P5 P6 ISP 7 ISP 9 ISP 8 P7 P4 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: (min/max 120/142) Announce AS4 AS5 AS8 AS7 AS3 (27) Announce AS4 AS5AS9 AS8 AS7 AS3(86) Withdraw (140 seconds) 27% Other
04/05/ ISP2-ISP4 Paths During Failure Steady State ISP 2 ISP 4 P2 ISP 5 P3 ISP 6 R2R2 FAULT Vagabond P4 ISP 10 ISP 11 ISP 12 ISP 13 P4 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
04/05/ ISP1-ISP4 Paths During Failure Only one back up path (length 3) Steady State ISP 1 ISP 5 P2 ISP 4 R1R1 FAULT 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)