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? Which path is best? In terms of: Number of hops Delay, bandwidth Policy constraints, cost Who will make decision? Router? Source? How can we detect failures? How much the overhead will be? S D 2
The Routing Problem 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
Solution design space for the routing problem 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: its function 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 characterization 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
On 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 9
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) 10
Gateway Model: a conceptual model of routing system Topology info, Link status info Routing software Multiple RIBs Topology info, Link status info FIB 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 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 DN p.397 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: see how RIP works (description of GNS3) (basic instruction to keep RIP up and running) 18
GNS3 Description An open source software that simulate complex networks Devices list Topology summary Console View zone
IOS Image Setting Edit -> ISO images and hypervisors Select a image
Cisco Router: Basic Configuration enable configure terminal interface name_of_the_inteface ip address ip_address mask no shutdown show ip interface brief
RIPv2 Basic Configuration In configuration mode: (config)#router rip (config)#version 2 (config)#network network_address
Show Running Config
Troubleshooting Ripv2 show ip route show ip protocols
Hands on task: try to expand your RIP network Add 3 rd router to your RIP network Example topology: 2 1 2 3 1 3 25
Adding A New Router
Router Configuration Right click R3
R3 Configuration IP address configuration RIP configuration at R Save Configuration
After Configuration
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 30
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 31
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 32
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 33
Questions? (Dumb questions welcomed while you re a student) Extra hands-on if you are further motivated: Introduce link failure and observe counting-toinfinity problem Add 4 th router as in the last slide and observe that split-horizon does not save us 34
Lessons from RIP Bellman-Ford: very simple But with many traps and pitfalls as in A. Koenig, C Traps and Pitfalls Guiding principle for using RIP: avoid loops! Do you know? Loops can be easily formed, however. Backup links Guiding principle can be easily forgotten OMG! A better alternative: link state routing. 35
Link-State Routing 36
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 37
A high level view Router Router Link LSDB Dijkstra RIB Link fragments of directed graph directed graph shortest path tree 38
Graph representation of routers and links Source: OSPF Version 2, RFC 1583 39
A more complex network 40
and its directed graph representation 41
Shortest path tree; rooted at RT6 42
Questions? 43
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 44
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) 45
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 46
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 47
Adjacency formation Neighbor Adjacent Routers don t exchange routing information unless they are adjacent Formation process: Hello Neighbor Synchronize each LSDB Synchronized Adjacent 48
Hands on: say hello in OSPF! (basic instruction to bring OSPF up and running) (establish OSPF adjacency) (add 1 or 2 routers) 49
Basic OSPF Configuration router ospf process_id router-id router_id network network_address wildcard-mask area area_id show ip protocols show ip ospf show ip ospf interface show ip ospf neighbor show ip route show ip ospf database
OSPF Configuration R1 configuration 1. Set IP address 2. Set OSPF area 28 area 0 R3 configuration 1. Set IP address 2. Set OSPF
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 52
Questions? 53
Summary 54
Gateway Model Revisited Topology info, Link status info Routing software Multiple RIBs Topology info, Link status info RIP OSPF FIB Input interfaces Output interfaces 55
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 56
Assignment 57
Assignment: 58
Assignment: Question: If the router R1 has an OSPF configuration as follows: R1(config)# network 192.168.12.64 0.0.0.63 area 0 Which interfaces, shown in the exhibit, will participate in OSFP according to this configuration statement? Please give explanations on why. 59
Assignment: Instructions Please submit the report in PDF to our e-mail address: network1-2013@is.naist.jp File nomenclature: Name_StudentID Language: Japanese or English Submission deadline: 2013/05/23(Thursday) at 23:59 60