Information Network 1 Routing (1) Image: Part of the entire Internet topology based on CAIDA dataset, using NAIST Internet viewer Youki Kadobayashi NAIST 1
The Routing Problem How do I get from source to destination? 163.221.10.10 203.178.136.61 S D 2
The Routing Problem: add some realistic constraints How do I get from source to destination? Which path is best? In terms of: Number of hops Delay, bandwidth Policy constraints, cost Who will make decision? Router? Source? S 500ms 500ms D How can we detect failures? How much the overhead will be? Rogue ISP unreliable 3
Routing problem can be solved in many ways Represent network in: a graph, or a matrix Collect information: across the network, or toward some routers, or only locally among neighbors Compute route at: every router, or some routers solutions are instantiated in routing systems. 4
Characterization of routing systems Static routing Compute route a priori Dynamic routing Reflect dynamic state of network S D Source-based routing Source node computes path to destination Hop-by-hop routing Every node computes next hop 5
Focus of this lecture: dynamic, hop-by-hop routing Static routing Compute route a priori Dynamic routing Reflect dynamic state of network Source-based routing Source node computes path to destination Hop-by-hop routing Every node computes next hop 6
Routing system has many functions Provision end-to-end reachability Automatically compute best path Distribute traffic among multiple links Avoid failing links Isolate faults Reflect administrative policies in one system. Isn t it awesome. 7
Routing system can be characterized by Representation of network Network topology Attributes associated with each link Exchange of information Communication overhead Propagation speed Computation algorithm Computation overhead Convergence speed Routing system: protocol + information + algorithm 8
Routing system: its structure Routing protocol discovers neighbor router; exchanges topology information; exchanges link information Routing algorithm computes route (result: RIB - Routing Information Base) Integrate information from multiple routing protocols Multiple routing protocols Multiple RIBs Consolidate Multiple RIBs into single FIB (FIB: Forwarding Information Base) 9
Typically, routing protocol discovers network topology Topology: geometric configurations that are unaltered by elastic deformations 2 1 2 3 1 2 1 2 3 1 3 1 2 3 2 1 3 3 Graph representation Matrix representation 10
Gateway Model: a conceptual model of routing system Topology info, Link status info Routing software Multiple RIBs (routing information base) Topology info, Link status info FIB (forwarding information base) Input interfaces Output interfaces 11
Types of Routing Algorithm 1. Distance vector 2. Link state 3. Path vector Key difference of these algorithms: Topology representation Propagation range / frequency / timing of link state Algorithm for computing shortest path Design trade-offs: Scalability Convergence time Algorithm simplicity 12
Questions? 13
Distance Vector Routing 14
Distance vector routing w/ Bellman-Ford algorithm DN p.397 1. assign distance vector to myself 0; for others, assign 2. send my distance vectors to all neighbor routers 3. router calculates minimum distance vectors by 1) distance vectors advertised by neighbor routers and 2) distance from myself to individual neighbor router Initial condition b i (0) (i D) b D (0) 0 Repetition b i (m) min j Vi {b j (m-1) + d ij } Terminal condition b i (m) = b i (m-1) D: destination router, b i (m) : distance between router i and D by m-times iterative calculation, V i : neighbor routers of router i, d ij : distance of link between router i and j 15
RIP: Routing Information Protocol RFC 2453, RFC 2080 Distance vector routing RIP-2 (IPv4), RIPng (IPv6) Used in relatively small network Due to ease of implementation and operation Textbook classics 16
Informal description of RIP Each router sends a list of distance-vectors (route, cost) to each neighbor periodically Every router selects the route with smallest metric Metric: integer of 1..16, where 16 implies infinity A cost: 1 B cost: 2 C Router metric B 1 C 3 Router metric A 1 C 2 Router metric A 3 B 2 17
Hands on: RIP in action via GNS3 software (quick demo by TA) 18
Hands on task: try to expand your RIP network Add 4 th router to your RIP network and verify connectivity Example topology: 2 1 2 3 4 1 3 4 19
Problems of distance vector routing Poor scalability. For the given number of routers N, Time complexity: O(N 3 ) Traffic: O(N 2 ) Slow convergence speed, as it sends distance vector periodically Slow convergence induces inconsistent and transitional state => Counting to infinity problem 20
Counting to infinity problem A B 1 1 inf C Suppose link B-C went down. B thinks: (C, inf) A says: (C, 2) B thinks: (C, 3) via A B says: (C, 3) A thinks: (C, 4) via B 21
Split Horizon Workaround for counting to infinity Router doesn t send learned information to source router A B 1 1 inf C Suppose link B-C went down. B thinks: (C, inf) A says: (C, 2) to everyone except B 22
Limitation of split horizon A B 1 1 inf C 1 D 1 Suppose link B-C went down. B thinks: (C, inf) A says: (C, 2) to everyone except B D thinks: (C, 3) via A D says: (C, 3) B thinks: (C, 4) via D 23
Questions? 24
Lessons from RIP Bellman-Ford: very simple But with many traps and pitfalls Guiding principle for using RIP: avoid loops! Loops can be easily formed, however. Backup links Guiding principle can be easily forgotten OMG! A better alternative: link state routing. 25
Link-State Routing 26
Link-state routing Collect router and link information Directed graph: router as a node, link as an arc then create link state database (LSDB) A network map that collects link state information Based on LSDB, calculate the shortest path with the Dijkstra s shortest path algorithm Time complexity: O(N 2 ) Can be further optimized by improved data structure 27
A high level view of link-state routing Router Router Link LSDB Dijkstra RIB Link directed graph shortest path tree fragments of directed graph 28
Graph representation of routers and links Source: OSPF Version 2, RFC 1583 29
A more complex network 30
and its directed graph representation 31
Shortest path tree; rooted at RT6 32
Questions? 33
From directed graph to shortest-path trees: Dijkstra Algorithm Initially, d s 0 d j c sj (for every j V {s}) P {s} Interconnections p.223 Find the next closest node: d i min j V P {d j } P P {i} Update labels: d k min k V P {d k, d i + c ik } Terminal condition: P = V V: all routers, s: starting router, c ik : link cost between i and k, d j : least cost between s to j, P: router with least cost determined 34
Pros and Cons of Link-State Routing Traffic increases in proportion to the number of links and routers Storage complexity increases in proportion to the number of links and routers Time complexity: lower than distance vector routing Convergence time: must be short, for transient loop issue Counting to infinity doesn t happen (read: fewer traps and pitfalls) Flexible configuration of link cost is possible (no nonsense like 16 = infinity) 35
OSPF: Open Shortest Path First RFC 2328, 5340 The link state routing protocol for the Internet OSPFv2 (IPv4), OSPFv3 (IPv6) Functions Recognize neighbor router Exchange link state information and create LSDB Calculate shortest path tree (spanning tree) + Designated Router, Backup Designated Router + Hierarchical structure by area + Collaboration with EGP 36
Discovering neighbor routers with OSPF Hello Discover neighbor router on the same link send Hello packet to 224.0.0.5, ff02::5 (AllSPFRouters) List of neighbor routers in Hello packet check bidirectional communication (select designated router and backup designated router) Send Hello packet periodically to detect link down keeps pinging, as in ICMP 37
Information exchange among routers Neighbor Adjacent Routers don t exchange routing information unless they are adjacent Formation process: Hello Neighbor Synchronize each LSDB Synchronized Adjacent 38
Topology Representation in OSPF LSA (Link State Advertisement) Type 1: Router LSA Type 2: Network LSA Type 3: Summary LSA (network) Type 4: Summary LSA (AS boundary) Type 5: AS External LSA LSA common header Validity period and sequence number in LSA header Helps routers to tell if given LSA is fresh 39
Questions? 40
Summary 41
Gateway Model Revisited Topology info, Link status info Routing software Multiple RIBs Topology info, Link status info RIP OSPF FIB Input interfaces Output interfaces 42
Summary Routing system: design space, characterization Distance vector routing Bellman-Ford algorithm RIP protocol, information model Traps and pitfalls Link state routing Graph and its spanning trees Dijkstra algorithm OSPF protocol, algorithm, information model 43
Assignment 4 Replicate the MANDARA network in GNS3 Routers basic configuration (name, IP address ) Configure RIP between the routers located in the same graduate school or division. Configure OSPF between the main routers Save the project, compress the project folder Report format: [name]-[studentid].zip Submit to: network1-2017 _at_ is.naist.jp Deadline: May 10, 2017 by 17:00 (Wednesday) 44
Assignment 4 (Mandara Network) 45