Overview of Dynamic Routing Protocols CIT 340 Overview of Routing Protocols Exterior Gateway Protocols Interior Gateway Protocols Distance Vector Routing Protocols Classful Classless IPv6 IGRP EGP (1982/1988) (1985) (1982) RIPv2 EIGRP OSPFv2 IS-IS BGPv4 (1994) (1992) (1991) (1990) (1995) RIPng EIGRP for IPv6 OSPFv3 IS-IS for IPv6 BGPv4 for IPv6 (2000) (1999) (not yet released) • Path Vector RIPv1 (1997) • Link State Routing Protocols (1999) Note: IGRP and EIGRP are Cisco proprietary protocols. They are meant as an alternative between the limited RIP routing protocol and the more complicated and resource intensive OSPF and IS-IS routing protocols. IGRP was discontinued with IOS 12.2 in 2005. The dates shown are when the RFC or other document was finalized. The protocol may have been implemented earlier than this date. 2 The Routing Protocols we will focus on Exterior Gateway Protocols Interior Gateway Protocols Distance Vector Routing Protocols Classful Classless IPv6 Link State Routing Protocols Path Vector RIPv1 IGRP EGP (1982/1988) (1985) (1982) RIPv2 EIGRP OSPFv2 IS-IS BGPv4 (1994) (1992) (1991) (1990) (1995) RIPng EIGRP for IPv6 OSPFv3 IS-IS for IPv6 BGPv4 for IPv6 (2000) (1999) (1997) (not yet released) (1999) • Note: RIPv2 will not be discussed in detail but will be used as an example of transitioning from a classful to a classless routing protocol. 3 Dynamic Routing Protocol Basics • Routing Protocol = A language a router speaks with other routers to • share information about the reachability and status of networks. Routing protocols perform: – Best-path determination – Route-table-update functions – Next-best path should the best-path become unusable 4 Algorithms • All dynamic routing protocols are built around an • • algorithm. Algorithm = Step-by-step procedure for solving a problem. At a minimum the algorithm must specify: – A procedure for passing reachability information about networks to other routers. – A procedure for receiving reachability information from other routers. – A procedure for determining optimal routes based on the reachability information it has and for recording this information in a route table. – A procedure for reacting to, compensating for, and advertising topology changes in a network. A tribute to alKhwarizmi, 9th century Persian mathematician, the originator and namesake of algorithms. 5 Algorithms Distance Vector Routing Protocols • RIP, IGRP: – Variant of Bellman-Ford (or Ford-Fulkerson) • EIGRP: – Diffusing Update Algorithm (DUAL) first proposed by E.W. Dykstra and C.S. Scholten – Latest and most prominent work done by J.J. Garcia-Luna Aceves (UC Santa Cruz) Link State Routing Protocols • OSPF, IS-IS: – Dijkstra’s SPF (Shortest Path First) algorithm, E.W. Dijkstra 6 Path Determination 192.168.10.1 Serial 0 255.255.255.252 Ethernet 0 172.16.1.1 255.255.255.0 MAC: 0cddeeffaabb Ethernet 1 172.16.2.1 255.255.255.0 MAC: 0abbccddeeff • Router interfaces must be members of different networks. • Router interfaces participate in the network like other hosts on that • network. Ethernet interfaces: – Have MAC Addresses – ARP Tables – Participate in the ARP Request and ARP Reply process like other hosts on that network. 7 Path Determination ? Routing Updates Simplistic questions illustrating the complexity of routing protocols: • What should Router A do with the routing updates from B and C? • What mechanism is used to ensure that all routers receive all routing information? • If Router A has hears about 192.168.4.0/24 from B and C which router should be the next hop used to reach that network? Should both be used? • What metric is used to determine best path? 8 Metrics • Metric = A variable assigned to routes as a meaning of ranking them from best to worst or from most preferred to least preferred. – Hop count – Bandwidth – Delay – Reliability – Load – Cost • RIP • • • • – Hop count IGRP and EIGRP – Bandwidth – Delay – Reliability – Load OSPF – Cost (Cisco defines cost as Bandwidth) IS-IS – Default (Cisco supported) – Delay – Expense – Error BGP – Policies and Attributes 9 Convergence • Convergence = The process of bringing all route tables to a state of consistency. Convergence Vegetarian Catering 10 Convergence • During the time it takes for convergence to occur, routers will continue • • • to route packets using their current routing tables. It is during this time that routing errors may occur. Therefore, convergence time is an important factor in any routing protocol. The faster a network can reconverge after a topology change, the better. 11 Distance Vector Routing Protocols • • • Most routing protocols fall into one of two classes: 1. Distance Vector 2. Link State Distance Vector = Derived from the fact that routes are advertised as vectors of (distance, direction), where distance is defined in terms of a metric and direction is defined in terms of the next-hop router. Built around Bellman-Ford algorithm. Serial 0 Ethernet 0 Distance Distance Ethernet 1 Distance 12 Distance Vector Routing Protocols • • Distance Vector Routing Protocols include: – RIP for IP – XNS (Xerox Networking System’s) RIP – Novell’s IPX RIP – Cisco’s IGRP – Cisco EIGRP – DEC’s DNA Phase IV – AppleTalks Routing Table Maintenance Protocol (RTMP) Only RIP for IP and EIGRP are current routing protocols. 13 Distance Vector Routing Protocols Periodic updates Common Characteristics (generalization) • Periodic Updates – RIP’s 30 seconds to IGRP’s 90 seconds. (Notable exception is EIGRP) • Neighbors – Sharing a common data link or higher-level adjacency. • Broadcast updates – Sends updates to a broadcast IP address (Some protocols use multicast addresses) • Full Routing Table Updates – Tell their neighbors everything they know by sending their entire routing table. 14 Routing by Rumor 15 Distance Vector Techniques Review Event-driven or triggered updates • Route Invalidation Timers • • • • • – “If I don’t hear from you within a certain time period I will invalidate you and your routes.” Split Horizon and Split Horizon with Poison Reverse – “I don’t need to tell you since you are the one who told me.” Counting to Infinity and Setting a Maximum – “In case there is a routing loop being created, I will set a maximum metric and then declare the route unreachable.” Triggered Updates or Flash Updates – “As soon as I hear a change, I will let my other neighbors know.” Holddown Timers – “I’m skeptical of this new “poorer” information and will wait to see if convergence is in the works.” Asynchronous Updates and Timing Jitter – “So we all don’t talk at once, we’ll each wait a certain random time.” 16 Routing by Rumor • Distance vector routing protocols provide road signs to networks. 17 As opposed to Link State Routing Protocols • Link state routing protocols provide road maps to networks (next). 18 Link State Routing Protocols • Link state routing protocols sometimes • • called: – Shortest Path First (SPF) protocol – Distributed Database protocol Built around algorithm from graph theory, E.W. Dijkstra’s short path algorithm. Link state routing protocols include: – OSPF – IS-IS – DEC’s DNA Phase V (legacy) – Novell’s Netware Link Services Protocol (NLSP) (legacy) 19 Link State Routing Protocols These topics will be discussed in detail during OSPF • Neighbor and Neighbor Discovery – Process of discovering neighbors on common links • Link State Flooding – Process of flooding link state information within a topology – Link state protocols converge much faster than distance vector routing protocols when the topology changes • Link State Database – Major part of a link state routing protocol – Important that routers have common link state databases • SPF Algorithm – Using the link state database, this algorithm is used to calculate the shortest paths to networks. 20 Link State Routing Protocols 1 – Flooding of link-state information 2 – Building a Topological Database 5 – Routing Table 3 – SPF Algorithm 4 – SPF Tree 21 Interior and Exterior Gateway Protocols Exterior Gateway Protocols Interior Gateway Protocols Distance Vector Routing Protocols Classful Classless IPv6 IGRP EGP (1982/1988) (1985) (1982) RIPv2 EIGRP OSPFv2 IS-IS BGPv4 (1994) (1992) (1991) (1990) (1995) RIPng EIGRP for IPv6 OSPFv3 IS-IS for IPv6 BGPv4 for IPv6 (2000) (1999) (not yet released) • Path Vector RIPv1 (1997) • Link State Routing Protocols (1999) Note: IGRP and EIGRP are Cisco proprietary protocols. They are meant as an alternative between the limited RIP routing protocol and the more complicated and resource intensive OSPF and IS-IS routing protocols. IGRP was discontinued with IOS 12.2 in 2005. The dates shown are when the RFC or other document was finalized. The protocol may have been implemented earlier than this date. 22 Interior and Exterior Gateway Protocols • Border Gateway Protocol (BGP) for IP • Exterior Gateway Protocol (EGP) for IP (yes, an EGP named EGP) • ISO’s InterDomain Routing Protocol (IDRP) 23 Interior and Exterior Gateway Protocols • Interior Gateway Protocols = Routing protocols within an • • autonomous system. Exterior Gateway Protocols = Routing protocols between an autonomous system. Autonomous System – Older definition: Group of routers under a common administrative domain running a common routing protocol. (Nowadays it is common the some companies may run multiple routing protocols.) – Newer definition: A network under a common administration. – Note: AS might also sometimes refer to a process domain. 24 Redistribution • Redistribution is used to route between different IGP routing protocols. 25 Classful vs. Classless Routing Protocols 26 Classless Routing Protocols “The true characteristic of a classless routing protocol is the ability to carry subnet masks in their route advertisements.” Jeff Doyle, Routing TCP/IP Benefits: • All-zeros and all-ones subnets – - Although some vendors, like Cisco, can also handle this with classful routing protocols. • VLSM – Can have discontiguous subnets – Better IP addressing allocation • CIDR – More control over route summarization Classless Routing Protocols Classless Routing Protocols: • RIPv2 • EIGRP • OSPF • IS-IS • BGPv4 Remember classful/classless routing protocols is different than classful/classless routing behavior. Classlful/classless routing protocols (RIPv1, RIPv2, IGRP, EIGRP, OSPF, etc.) has to do with how routes get into the routing table; how the routing table gets built. Classful/classless routing behavior (no ip classless or ip classless) has to do with the lookup process of routes in the routing table (after the routing table has been built). It is possible to have a classful routing protocol and classless routing behavior or visa versa. It is also possible to have both a classful routing protocol and classful routing behavior; or both a classless routing protocol and classless routing behavior. SantaCruz1 router rip network 172.30.0.0 network 192.168.4.0 version 2 no auto-summary RIPv2 Example Internet static route to 207.0.0.0/8 10.0.0.0/8 .1 SantaCruz2 router rip network 172.30.0.0 network 192.168.4.0 version 2 no auto-summary 207.0.0.0/16 207.1.0.0/16 207.2.0.0/16 207.3.0.0/16 etc. .1 e0 ISP .25 s0 s1 .21 192.168.4.24/30 192.168.4.20/30 172.30.200.32/28 ISP router rip redistribute static network 10.0.0.0 network 192.168.4.0 version 2 no auto-summary Lo2 .26 172.30.2.0/24 ip route 207.0.0.0 255.0.0.0 null0 s0 Lo0 .1 SantaCruz1 .1 e0 172.30.1.0/24 s0 .22 Lo1 ` 172.30.200.16/28 SantaCruz2 Lo0 .1 e0 .1 172.30.100.0/24 172.30.110.0/24 SantaCruz2#show ip route C C R R C C R C R R VLSM and the Routing Table 172.30.0.0/16 is variably subnetted, 6 subnets, 2 masks 172.30.200.32/28 is directly connected, Loopback2 172.30.200.16/28 is directly connected, Loopback1 172.30.2.0/24 [120/2] via 192.168.4.21, 00:00:21, Serial0 172.30.1.0/24 [120/2] via 192.168.4.21, 00:00:21, Serial0 172.30.100.0/24 is directly connected, Ethernet0 172.30.110.0/24 is directly connected, Loopback0 192.168.4.0/30 is subnetted, 2 subnets 192.168.4.24 [120/1] via 192.168.4.21, 00:00:21, Serial0 192.168.4.20 is directly connected, Serial0 Internet 10.0.0.0/8 [120/1] via 192.168.4.21, 00:00:21, Serial0 static route to 207.0.0.0/8 [120/1] via 192.168.4.21, 00:00:21, 10.0.0.0/8 Serial0 207.0.0.0/8 .1 207.0.0.0/16 207.1.0.0/16 207.2.0.0/16 207.3.0.0/16 etc. .1 e0 ISP .25 Supernet, classless routing protcols will route supernets (CIDR) s0 s1 .21 192.168.4.24/30 192.168.4.20/30 172.30.200.32/28 Lo2 .26 172.30.2.0/24 s0 Lo0 .1 SantaCruz1 .1 e0 172.30.1.0/24 s0 .22 Lo1 ` 172.30.200.16/28 SantaCruz2 Lo0 .1 e0 .1 172.30.100.0/24 172.30.110.0/24