iLab Dynamic Routing Florian Wohlfart wohlfart@in.tum.de Chair of Network Architectures and Services Department of Informatics Technical University of Munich Lab 3 – 17ss 1 / 40
Outline Recap Background: Internet Architecture Autonomous Systems Routing between ASes Internet Exchange Points (IXPs) Theory: Routing Algorithms Problem Definition Link-State Routing Distance-Vector Routing Practice: Routing Prococols RIP OSPF BGP 2 / 40
Outline Recap Background: Internet Architecture Autonomous Systems Routing between ASes Internet Exchange Points (IXPs) Theory: Routing Algorithms Problem Definition Link-State Routing Distance-Vector Routing Practice: Routing Prococols RIP OSPF BGP 3 / 40
Recap: Network Layer HTTP protocol browser HTTP server TCP protocol TCP TCP router IP protocol IP protocol IP IP IP Ethernet WLAN Ethernet Ethernet WLAN WLAN protocol protocol driver driver driver driver wireless LAN Ethernet 4 / 40
Outline Recap Background: Internet Architecture Autonomous Systems Routing between ASes Internet Exchange Points (IXPs) Theory: Routing Algorithms Problem Definition Link-State Routing Distance-Vector Routing Practice: Routing Prococols RIP OSPF BGP 5 / 40
Example: Internet Path from TUM I8 to de-cix.net LRZ DFN DE-CIX DE-CIX AS12816 ◮ hops 1–4, Leibniz-Rechenzentrum (LRZ), AS12816 ◮ hops 5–6, Deutschen Forschungsnetz, AS680 ◮ hop 7, DE-CIX Management GmbH, AS31638 ◮ hops 8–9, DE-CIX Management GmbH, AS51531 6 / 40
Example: DFN Network L2 Topology and PoPs X-WiN-Topologie: Glasfasern Glasfaser Bestand KIE Glasfaser geplant DKR ROS Kernnetzknoten Bestand GRE AWI DES HWS Kernnetzknoten geplant HAM EWE BRE FFO TUB ZEU HAN MAG POT HUB BIE BRA MDS ZIB MUE ADH PAD GOE DUI BOC DOR LAP/LEI KAS DRE/DRN DUS FJL WUP FZJ MAR GIE FRE JEN CHE BIR AAC ILM AAH FRB BON FRA WUE BAY GSI KAI ERL HEI REG SAA KIT STU KEH GAR AUG FHM BAS Stand: September 2015 Source: https://www.dfn.de/fileadmin/1Dienstleistungen/XWIN/GF-Topo-2015-10-12.pdf 7 / 40
Internet Architecture Internet Topology ◮ the Internet is a decentralized network of networks ◮ many organizations operate their own network, which all need to be interconnected ◮ glue: IP protocol, exchange of routing information (BGP) Network Operators ◮ backbone networks ◮ Internet service providers (“eyeball networks”) ◮ datacenters ◮ content delivery networks (CDN) ◮ universities, etc. 8 / 40
Internet Architecture cont’d Source: C. Labovitz, S. Iekel-Johnson, D. McPherson, J. Oberheide, and F. Jahanian. Internet inter-domain traffic. In Proceedings of the ACM SIGCOMM 2010 conference (SIGCOMM ’10) 9 / 40
Autonomous Systems (AS) Definition ◮ networks under a common administrative organization e.g. ISP network, campus network ◮ an AS is identified by a 32bit AS-number (was extended from 16bit in 2007) ◮ each AS advertises the address space it is willing to accept (belonging to the AS itself or as transit traffic) Implications ◮ from the outside, ASes are viewed as a single entity with border routers and a routed address space ◮ changes within an AS are not relevant for other ASes e.g. internal topology, intra-AS routing ◮ all ASes must agree on a common way of exchanging routing information, inter-AS routing 10 / 40
Autonomous Systems (AS) cont’d 11 / 40
Intra-AS ./ Inter-AS-Routing Route selection ◮ intra-AS routing: focus best paths ◮ inter-AS routing: often follow political and business policies ⇒ different link metrics and filtering policies Scalability ◮ LS routing does not scale for the Internet ◮ using hierarchy LS routing can serve large ASes ◮ BGP uses path-vector routing to support >500k routes 12 / 40
Background: Internet Exchange Points (IXPs) Definition ◮ an exchange point for traffic between network operators ◮ makes it easy to connect to many other networks (via peering) ◮ provides physical infrastructure Largest IXPs ◮ DE-CIX (Frankfurt), 732 members, 5.6 Tbit/s peak traffic ◮ AMS-IX (Amsterdam), 807 members, 5.5 Tbit/s peak traffic ◮ LINX (London), 786 members, 3.5 Tbit/s peak traffic Example fees (2016, DE-CIX Frankfurt) ◮ 1 Gbit/s costs 500 Euro/month ◮ 10 Gbit/s costs 1,550 Euro/month ◮ 100 Gbit/s costs 9,500 Euro/month 13 / 40
DE-CIX Frankfurt: Topology Source: https://www.de-cix.net/about/topology/ 14 / 40
DE-CIX Frankfurt: Core Switch Source: https://press.de-cix.net/graphics/ 15 / 40
DE-CIX Frankfurt: Throughput (2 days) Source: https://www.de-cix.net/about/statistics/ 16 / 40
DE-CIX Frankfurt: Throughput (5 years) Source: https://www.de-cix.net/about/statistics/ 17 / 40
Outline Recap Background: Internet Architecture Autonomous Systems Routing between ASes Internet Exchange Points (IXPs) Theory: Routing Algorithms Problem Definition Link-State Routing Distance-Vector Routing Practice: Routing Prococols RIP OSPF BGP 18 / 40
Static /. Dynamic Routing Static Routing manual construction of routing tables 19 / 40
Static /. Dynamic Routing Static Routing manual construction of routing tables ◮ does not scale 19 / 40
Static /. Dynamic Routing Static Routing manual construction of routing tables ◮ does not scale ◮ does not react to changes (e.g. link failure) 19 / 40
Static /. Dynamic Routing Static Routing manual construction of routing tables ◮ does not scale ◮ does not react to changes (e.g. link failure) Dynamic Routing distributed algorithms automate the construction of routing tables ◮ scales depending on the algorithm ◮ automated routing table updates after topology changes (with a certain delay) 19 / 40
Problem Definition ◮ find a path from the source to the destination host B C SRC DST A F D E 20 / 40
Problem Definition cont’d ◮ each hop (=router) forwards a packet closer to its destination based on the information in its FIB SRC DST 21 / 40
Problem Definition cont’d ◮ link metrics attribute cost to links: e.g. path length, reliability, delay, bandwidth, load, communication cost, or routing policies B C 3 2 5 2 SRC 1 DST 3 A F 1 2 1 E D 22 / 40
Problem Definition cont’d routing can be reduced to a graph problem ◮ each node represents a router ◮ each edge represents a link ◮ each link comes with a certain cost, c(X,Y) B C 3 2 5 2 1 3 A F 1 2 1 D E 23 / 40
Routing Protocols Distributed routing algorithms perform the following steps 1. gather information about the network topology 2. create the local routing table based on the gathered information Common Routing Protocols and Algorithms ◮ OSPF, IS-IS (Link-State Routing) ◮ RIP (Distance-Vector Routing) ◮ BGP (Path-Vector Routing) 24 / 40
Link-State Routing Information propagation ◮ each router exchanges link-state updates with each other router in the network (flooding) ◮ link-state updates contain list of adjacent routers and networks including costs ⇒ each router knows the whole network topology (global view) Information processing ◮ each router calculates the shortest paths to every other destination, e.g. using Dijkstra’s algorithm ◮ derive routing table from shortest path tree Implementations ◮ OSPF, IS-IS 25 / 40
Dijkstra’s Algorithm with Source Node u I n i t i a l i z a t i o n : N’ = {u} # v i s i t e d nodes f o r a l l nodes v i f v i s neighbor of u then D( v ) = c (u , v ) e l s e D( v ) = ∞ Loop f i n d w not in N’ such that D(w) i s minimum add w to N’ f o r each neighbor v of w i f v not in N’ : D( v ) = min ( D( v ) , D(w) + c (w, v ) ) u n t i l N’ = N 26 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) 27 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) A 2,A 1,A ∞ ∞ ∞ 27 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) A 2,A 1,A ∞ ∞ ∞ A,D 2,A 4,D 2,D ∞ 27 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) A 2,A 1,A ∞ ∞ ∞ A,D 2,A 4,D 2,D ∞ A,D,E 2,A 3,E 4,E 27 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) A 2,A 1,A ∞ ∞ ∞ A,D 2,A 4,D 2,D ∞ A,D,E 2,A 3,E 4,E A,D,E,B 3,E 4,E 27 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) A 2,A 1,A ∞ ∞ ∞ A,D 2,A 4,D 2,D ∞ A,D,E 2,A 3,E 4,E A,D,E,B 3,E 4,E A,D,E,B,C 4,E 27 / 40
Example: Dijkstra’s Algorithm for Router A B C 3 2 5 2 1 3 A F 1 2 1 D E N’ D(B), D(C), D(D), D(E), D(F), p(B) p(C) p(D) p(E) p(F) A 2,A 1,A ∞ ∞ ∞ A,D 2,A 4,D 2,D ∞ A,D,E 2,A 3,E 4,E A,D,E,B 3,E 4,E A,D,E,B,C 4,E A,D,E,B,C,F 27 / 40
Recommend
More recommend