Lecture 18 Internet Routing: The goal is to find any route that is loop free- Global optimization is a distant dream depending on economic and political drivers Homework: , 37-45
Distance-vector routing: A’s routing table just after link A-E failure DCNH B B C C D C E - F1F G F
DestCostNH B B C C D C E - F1F G F Dest.CostNHop A A B A C A D G E2A G G A F Dest.CostNHop A A B A C A D G E - G G Dest.CostNHop A F B F or C C D D D E3F F F G Dest.CostNHop A F B F C D D D E3F F F Dest.CostNHop A F B F C D D D E - F F What happens when G advertises its table to D? How does D get the message that A-E has failed?
Loops -A A advertises [E, ] to B and B advertises [E, 2] to A (they cross intransit) A advertises [E,3] and B advertises [E, ] etc. B resets [E, , -] (since A is next hop) A updates [E, 3, B] since 3< B updates [E, 4,A] and A resets [E, , -] since B is next hop etc. Split horizon: B should not advertise a route [E, 2] it got from A (in the first step )
Loops -B A advertises [E, ] to B & C Advertisement to C is delayed B may advertise [E, ] to C C advertises [E, 2] to B A’s advertisement [E, ] arrives at C B advertises [E,3] to A C advertises [E, ] to B A advertises [E,4] to C B advertises [E, ] to A C advertises [E,5] to B B resets [E, , -] since A is next hop C will not update (why) B updates [E, , C] since 3< C updates [E, , -] since A is next hop A updates [E,4, B] since 4< B updates [E, , -] since C is next hop C updates [E, 5, A] since 5< A updates [E, , -] since B is next hop B updates [E, 6, A] since 6< Split horizon will not solve this problem
Link State Routing ABCD A B C D You have a global view: routing table is spanning tree as seen from root node
The Internet circa 1990: A hierarchical collection of autonomous systems (AS)
Today’s multiple backbone Stub AS Multi-homed AS Transit AS
Inefficiency of IP address classes If you have 257 end users, you need class B and then you have 16K addresses. We need finer distinctions. Two issues: –How do you give different network addresses to physical networks within 1 class A, B or C network--- subnetting –How do you aggregate networks within an domain to simplifier routing outside the domain--supernetting
Forwarding Table of R1 Subnet NumberSubnet MaskNextHop Interface Interface R2
More Subnetting You can break the same physical network into subnets—forcing hosts to speak through a router Each host has it’s own subnet in the new engineering network Subnet mask=IP address---non-contiguous 1’s and 0’s
Classless Interdomain Routing (CIDR) We can get better utilization if we hand out Class C addresses This would increase the size of forwarding tables We aggregate contiguous class C blocks
Aggregation of 16 Class C network addresses into a single 20 bit CIDER address Class C network numbers XYZ XYZ XYZCIDR 20 bit network address XYZ = / XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ XYZ
Intradomain Routing Border Gateway Routers—Default router for outbound traffic
Intradomain routing issues Scale—100,000 network addresses Autonomy Trust Flexibility—hot potato routing
BGP example 1 BGP speaker/AS: Advertise routes-prevents looping Withdrawn broken routes
Routing Areas in OSPF