Ch. 6 – Routing and Routing Protocols CCNA 1 version 3.0 Rick Graziani Cabrillo College Note to instructors • If you have downloaded this presentation from the Cisco Networking Academy Community FTP Center, this may not be my latest version of this PowerPoint. • For the latest PowerPoints for all my CCNA, CCNP, and Wireless classes, please go to my web site: http://www.cabrillo.cc.ca.us/~rgraziani/ • The username is cisco and the password is perlman for all of my materials. • If you have any questions on any of my materials or the curriculum, please feel free to email me at graziani@cabrillo.edu (I really don’t mind helping.) Also, if you run across any typos or errors in my presentations, please let me know. • I will add “(Updated – date)” next to each presentation on my web site that has been updated since these have been uploaded to the FTP center. Thanks! Rick Rick Graziani graziani@cabrillo.edu 2 Overview • • • • • • • • • • Explain the significance of static routing Configure static and default routes Verify and troubleshoot static and default routes Identify the classes of routing protocols Identify distance vector routing protocols Identify link-state routing protocols Describe the basic characteristics of common routing protocols Identify interior gateway protocols Identify exterior gateway protocols Enable Routing Information Protocol (RIP) on a router Rick Graziani graziani@cabrillo.edu 3 The Routing Table • • Before we begin lets see lets discuss the routing table and directly connected routes. This is information which is not in the curriculum, but will give you a better understanding of what is taking place. Rick Graziani graziani@cabrillo.edu 4 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.0.0.0/8 RTC e0 .1 RTA#show ip route Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2 E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, * - candidate default U - per-user static route, o - ODR Gateway of last resort is not set RTA# The Routing Table prior to any interface configuration • The command to view the IP Routing table is: (priviledge or user mode) Router# show ip route • Currently, no routes in the routing table. Rick Graziani graziani@cabrillo.edu 5 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.0.0.0/8 RTC e0 .1 RTA(config)#inter e 0 RTA(config-if)#ip add 192.168.2.1 255.255.255.0 RTA(config-if)#no shutdown RTA#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 192.168.2.0/24 is directly connected, Ethernet0 RTA# • • • • Adding an ip address/mask to an interface tells the router that it is a member, “Directly Connected” to that network – just like when a host computer is configured with an ip address/mask. Notice the route is shown with the subnet mask and the “exit-interface.” Don’t forget the “no shutdown” Don’t forget the interface must be in “up” and “up” Rick Graziani graziani@cabrillo.edu 6 Directly Connected Networks and the IP Routing Table RTA# debug ip routing RTA(config)#inter e 0 RTA(config-if)#ip add 192.168.2.1 255.255.255.0 RTA(config-if)#no shutdown 00:28:56: RT: add 192.168.2.0/24 via 0.0.0.0, connected metric [0/0] 00:28:56: RT: interface Ethernet0 added to routing table RTA#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 192.168.2.0/24 is directly connected, Ethernet0 RTA# undebug all Viewing the Routing Table Process • • • Use the “debug ip routing” command to view the Cisco IOS routing table process of adding a directly connected network to the routing table. When finished, be sure to use “undebug all” Debug commands are used to view detailed information about Cisco IOS processes – more later. Rick Graziani graziani@cabrillo.edu 7 Directly Connected Networks and the IP Routing Table RTA# debug ip routing RTA(config)#inter e 0 RTA(config-if)#shutdown 00:34:38: RT: interface Ethernet0 removed from routing table 00:34:38: RT: del 192.168.2.0 via 0.0.0.0, connected metric [0/0] 00:34:38: RT: delete network route to 192.168.2.0 RTA#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> RTA# undebug all Viewing the Routing Table Process • • • Directly connected routes will also be removed if the link goes down. Directly connected routes will only be in the routing table if, it is not administratively down, the line is “up” and protocol is “up” For serial interfaces, don’t forget the “clock rate” command on the router with the DCE cable – neither interface will be “up” and “up” until both ends are configured correctly. Rick Graziani graziani@cabrillo.edu 8 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 .1 172.16.0.0/16 RTA s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.0.0.0/8 RTC e0 .1 RTA#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 172.16.0.0/16 is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 RTB#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 172.16.0.0/16 is directly connected, Serial0 C 192.168.1.0/24 is directly connected, Serial1 RTC#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 10.0.0.0/8 is directly connected, Ethernet0 C 192.168.1.0/24 is directly connected, Serial1 The Routing Tables • • Notice that the routers only know about their own directly connected networks. They are not sharing routing information because we have not configured any static routes or dynamic Rickrouting Graziani protocols. graziani@cabrillo.edu 9 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTC(config)#inter e 0 RTC(config-if)#ip add 10.1.0.1 255.255.0.0 RTC#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> 10.0.0.0/16 is subnetted, 1 subnets C 10.1.0.0 is directly connected, Ethernet0 C 192.168.1.0/24 is directly connected, Serial1 RTC# Configuring an interface which has a subnet mask greater than the classful mask • • • • We will discuss this in much more detail later using the presentation – “The Routing Table.” For now, notice that when the subnet mask is not a classful mask, but a subnetted /16 mask. The routing table information shows the route to the subnetted network The mask is shown in the above, “parent” classful network. Rick Graziani graziani@cabrillo.edu 10 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 172.16.0.0/16 RTA s0 s0 .1 .2 .1 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA#show ip route C 172.16.0.0/16 is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 RTA#ping 172.16.0.1 !!!!! RTA#ping 172.16.0.2 !!!!! RTA#ping 192.168.1.1 ..... RTA#ping 192.168.1.2 ..... RTA#ping 10.1.0.1 ..... Routing – Only directly connected hosts (routers) • Routers can only reach networks known about in its own routing table. Rick Graziani graziani@cabrillo.edu 11 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 172.16.0.0/16 RTA s0 s0 .1 .2 .1 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA#show ip route C 172.16.0.0/16 is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 RTA#ping 172.16.0.1 Sending 5, 100-byte ICMP Echos to 172.16.0.1, timeout is 2 seconds: !!!!! Success rate is 100 percent (5/5), round-trip min/avg/max = 56/57/60 ms RTA#ping 172.16.0.2 !!!!! Routing– Routing tables must have the necessary network routes • • Question: If RTA can ping RTB’s 172.16.0.2 interface why can’t it ping RTB’s 192.168.1.1 interface? - RTA does not have a route to it in its routing table. Question: Would an extended ping from RTA, using the source IP address of 192.168.2.1 be able to ping 172.16.0.1 on RTB? Why or why not? Where does the echo request or echo reply fail? Rick Graziani graziani@cabrillo.edu 12 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 .1 172.16.0.0/16 RTA s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA#show ip route C 172.16.0.0/16 is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 RTB#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 172.16.0.0/16 is directly connected, Serial0 C 192.168.1.0/24 is directly connected, Serial1 RTA#ping Protocol [ip]: Target IP address: 172.16.0.2 Extended commands [n]: y Source address or interface: 192.168.2.1 Sending 5, 100-byte ICMP Echos to 172.16.0.2, timeout is 2 seconds: ..... Routing– Routing tables must have the necessary network routes • Question: Would an extended ping from RTA, using the source IP address of 192.168.2.1 be able to ping 172.16.0.1 on RTB? Why or why not? • The echo request from RTA reaches RTB because RTA has a route to 172.16.0.0/16 in its routing table. • However, the echo reply from RTB back to RTA fails, because RTB does not have a route for in its routing table. Rick 192.168.2.0/24 Graziani graziani@cabrillo.edu 13 Directly Connected Networks and the IP Routing Table 192.168.2.0/24 e0 .1 172.16.0.0/16 RTA s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 172.16.0.0/16 is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 RTB#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> C 172.16.0.0/16 is directly connected, Serial0 C 192.168.1.0/24 is directly connected, Serial1 RTC#show ip route Codes: C - connected,.. <Other codes and gateway information omitted> 10.0.0.0/16 is subnetted, 1 subnets C 10.1.0.0 is directly connected, Ethernet0 C 192.168.1.0/24 is directly connected, Serial1 Routing Table Principles Revisited (Zinin, Cisco IP Routing) • • Every router makes its decision alone, based on the information it has in its own routing table. The fact that one router has certain information in its routing table does not mean that other routers have the same information. • Routing information about a path from one network to another does not provide routing information about the reverse, or return path. Rick Graziani graziani@cabrillo.edu 14 Back to the curriculum… Routing Types Rick Graziani graziani@cabrillo.edu 16 Static Route Operation Hoboken#show ip route Codes: C - connected, S - static, S 172.16.1.0/24 [1/0] is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 Rick Graziani graziani@cabrillo.edu 17 ip route command RTR(config)# ip route prefix mask {address | interface} [distance] [tag tag] [permanent] • prefix • mask • address IP route prefix for the destination. Prefix mask for the destination. IP address of the “next hop” that can be used to reach that network. • interface • distance • tag tag Network interface to use (exit-interface) (Optional) An administrative distance. (Optional) Tag value that can be used as a "match" value for controlling redistribution via route maps. (CCNP Advanced Routing) • Permanent (Optional) Specifies that the route will not be removed, even if the interface shuts down. (CCNP Advanced Routing) Rick Graziani graziani@cabrillo.edu 18 Static Route Operation • If the exit interface (gateway) is “down” the static route will not be put in the routing table. Rick Graziani graziani@cabrillo.edu 19 Static Route Operation • • If the router cannot reach the outgoing interface that is being used in the route, the route will not be installed in the routing table. This means if that interface is down, the route will not be placed in the routing table. Rick Graziani graziani@cabrillo.edu 20 Administrative Distance and Metric Hoboken#show ip route Codes: C - connected, S - static, S 172.16.1.0/24 [1/0] is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 • [ administrative distance / routing metric (or cost) ] • The cost for all static routes is “0” • The default administrative distance for static routes is “1” Rick Graziani graziani@cabrillo.edu 21 Administrative Distance • • • Administrative Distance is the “trustworthiness” of the routing information. Lower the administrative distance the more trustworthy the information. If the router hears about a route to the same network from more than one source it will use the administrative distance to decide which route to put in the routing table. Rick Graziani graziani@cabrillo.edu 22 Examples from the curriculum Rick Graziani graziani@cabrillo.edu 23 Examples from the curriculum • • Two choices. We will see the differences in a moment. Rick Graziani graziani@cabrillo.edu 24 Examples from the curriculum • • • • The network 0.0.0.0 and mask 0.0.0.0 are known as a “default route” Can be written 0.0.0.0/0 Known as a “quad zero” route” More later Rick Graziani graziani@cabrillo.edu 25 Static Routing • Some extra information on static routing that is not in the curriculum Rick Graziani graziani@cabrillo.edu 26 Static Routing Router(config)#ip route destination-prefix destinationprefix-mask {address | interface} [distance] [tag tag] [permanent] Rick Graziani graziani@cabrillo.edu 27 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 Configuring static routes • Routers do not need to configure static routes for their own directly connected networks. • We need to configure static routes for networks this router needs to reach. • We will need to configure static routes for the other routers as well, as “routing information about a path from one network to another does not provide routing information about the reverse, or return path.” • Convergence – When all the routers in the network (AS) have accurate and consistent information, so that proper routing and packet forwarding can take place. • Convergence will not happen until all the routers have complete and accurate routing information, meaning we must configure static routes on all the routers before packets will be correctly delivered. Rick Graziani graziani@cabrillo.edu 28 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 Network/subnet route Intermediate-Address (usually “next-hop”) RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 Basic static route example • Be sure to use the proper subnet mask! Rick Graziani graziani@cabrillo.edu 29 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 Basic static route example (continued) • [1/0] – [ Administrative Distance / Metric ] • Administrative Distance – This is the “trustworthiness” of the routing information. The default administrative distance of static routes is 1. • The Administrative Distance of a directly connected route is 0. • Lower the AD the more trustworthy. • If the router learns about a route to a network from more than one source, it will install the route with the lower administrative distance in the routing table. Rick Graziani graziani@cabrillo.edu 30 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 Basic static route example (continued) • [1/0] – [ Administrative Distance / Metric ] • Metric – This is the “cost” of getting to this route, I.e. how far away this network is. • The lower the cost, the closer the network. • Static routes always show a cost of “0” even if it was configured with the intermediate address is multiple-hops away. • Much more later. Rick Graziani graziani@cabrillo.edu 31 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 2 1 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 Recursive Lookup • • • The router knows it can get to 192.168.1.0/24 network by forwarding the packets to the router at the ip address of 172.16.0.2 How does the router know how to get to the ip address 172.16.0.2? It does a recursive lookup – first (1) by looking up the 192.168.1.0/24 network and finding it needs to forward the packet to 172.16.0.2 – the router then (2) looks up the 172.16.0.0 network and sees it can forward it out the interface Serial 0. Rick Graziani graziani@cabrillo.edu 32 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA#debug ip routing IP routing debugging is on RTA#conf t Enter configuration commands, one per line. End with CNTL/Z. RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 05:53:48: RT: add 192.168.1.0/24 via 172.16.0.2, static metric [1/0] RTA(config)#ip route 10.1.0.0 255.255.0.0 172.16.0.2 05:54:38: RT: add 10.1.0.0/16 via 172.16.0.2, static metric [1/0] RTA(config)#undebug all Static Routes and the Routing Table Process • Notice that the static route is entered into the routing table by the routing table process (debug ip routing) with a metric of 0. Rick Graziani graziani@cabrillo.edu 33 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 RTA(config)#ip route 10.1.0.0 255.255.0.0 172.16.0.2 RTB(config)#ip route 192.168.2.0 255.255.255.0 172.16.0.1 RTB(config)#ip route 10.1.0.0 255.255.0.0 192.168.1.2 RTC(config)#ip route 192.168.2.0 255.255.255.0 192.168.1.1 RTC(config)#ip route 172.16.0.0 255.255.0.0 192.168.1.1 Configuring all of the static routes • • • • Notice that the intermediate-address is always the next-hop ip address. This does not always have to be the case, and we will look at other options in the presentation on Static Routes- Additional Information Good idea to do a “copy running-config startup-config” if everything is working right. To verify the routes are in there, you can do a: Router# show running-config Rick Graziani graziani@cabrillo.edu 34 Static Routing 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 RTA(config)#ip route 10.1.0.0 255.255.0.0 172.16.0.2 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 10.0.0.0/16 is subnetted, 1 subnets S 10.1.0.0 [1/0] via 172.16.0.2 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 RTA#ping 10.1.0.1 !!!!! RTA#ping 192.168.1.2 !!!!! RTA#ping 192.168.1.1 !!!!! Rick Graziani graziani@cabrillo.edu 35 Static Routing – Recursive Lookups 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 2 1 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 Recursive Lookup • • • The router knows it can get to 192.168.1.0/24 network by forwarding the packets to the router at the ip address of 172.16.0.2 How does the router know how to get to the ip address 172.16.0.2? It does a recursive lookup – first (1) by looking up the 192.168.1.0/24 network and finding it needs to forward the packet to 172.16.0.2 – the router then (2) looks up the 172.16.0.0 network and sees it can forward it out the interface Serial 0. Rick Graziani graziani@cabrillo.edu 36 Static Routing – Recursive Lookups 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 10.1.0.0 255.255.0.0 192.168.1.2 3 2 1 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 S 10.1.0.0/16 [1/0] via 192.168.1.2 C 192.168.2.0/24 is directly connected, Ethernet0 Recursive Lookup (continued) • • • • We can take this even further. One route can be used to resolve the route of another. It doesn’t matter how the routes are resolved, whether they are directly connected, static or dynamic. Note: If an intermediate address cannot be resolved, that route and any routes it affects are not installed in the routing table. Rick Graziani graziani@cabrillo.edu 37 Static Routing – Recursive Lookups Note regarding recursive route lookups • • • Every route that does not reference an exit-interface must finally be resolved via a route with an interface descriptor reference in the corresponding path descriptor – a route with an exit-interface. Static routes cannot be recursively resolved and will not be in the routing table. Consider these three static routes: Route1: Route2: Route3: • • • • • ip route 10.1.0.0 255.255.0.0 20.1.1.1 ip route 20.1.0.0 255.255.0.0 30.1.1.1 ip route 30.1.0.0 255.255.0.0 10.1.1.1 Route1 is resolved by Route2 which is resolved by Route3. None of these routes are finally resolved via a route with an exit-interface. This leads to endless recursion. The routing table process will not permit these static routes to be entered in the routing table. Note: Static default routes (coming soon) can never be resolved via another default route. (later) Rick Graziani graziani@cabrillo.edu 38 Static Routing – Routing Table Process 192.168.2.0/24 e0 .1 172.16.0.0/16 RTA s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA#debug ip routing IP routing debugging is on RTA#conf t Enter configuration commands, one per line. End with CNTL/Z. RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 05:53:48: RT: add 192.168.1.0/24 via 172.16.0.2, static metric [1/0] RTA(config)#ip route 10.1.0.0 255.255.0.0 172.16.0.2 05:54:38: RT: add 10.1.0.0/16 via 172.16.0.2, static metric [1/0] RTA(config)#undebug all Static Routes and the Routing Table Process • Notice that the static route is entered into the routing table by the routing table process (debug ip routing) with a metric of 0. Rick Graziani graziani@cabrillo.edu 39 Static Routing – Point-to-Point Links 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 serial 0 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 is directly connected, Serial0 C 192.168.2.0/24 is directly connected, Ethernet0 • • Need only to use only an exit interface. • Notice that the static route appears in the routing table as directly connected, however it is still a static route with an administrative distance of 1. For point-to-point serial interfaces, the next-hop address in the routing table is never used by the packet-delivery procedure, so it is not needed. (It could even reference a bogus IP address.) Rick Graziani graziani@cabrillo.edu 40 Static Routing – Point-to-Point Links 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 s0 s0 .1 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 172.16.0.2 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Serial0 S 192.168.1.0/24 [1/0] via 172.16.0.2 C 192.168.2.0/24 is directly connected, Ethernet0 2 1 Using an intermediate address instead of an exit-interface: • If an intermediate address is used on a static route via a point-to-point link, it is only used to find the exit-interface, • This recursive lookup is unnecessary and takes extra processing. Rick Graziani graziani@cabrillo.edu 41 Static Routing – Ethernet interfaces 192.168.2.0/24 e0 172.16.0.0/16 RTA .1 e1 s0 .1 e0 s0 .2 192.168.1.0/24 RTB s1 s1 .1 .2 10.1.0.0/16 RTC e0 .1 RTA(config)#ip route 192.168.1.0 255.255.255.0 eth 1 172.16.0.2 RTA#show ip route Codes: C - connected, S - static, C 172.16.0.0/16 is directly connected, Ethernet1 S 192.168.1.0/24 [1/0] via 172.16.0.2 Ethernet1 C 192.168.2.0/24 is directly connected, Ethernet0 Using both an intermediate address instead and an exit-interface: • • Notice we changed 172.16.0.0 to an Ethernet link. • This saves the router from having to do a recursive route lookup for the intermediate address of 172.16.0.2, knowing the exit interface is Ethernet 0. Static routes via broadcast links, it is best to use both an exit interface and intermediate address. Rick Graziani graziani@cabrillo.edu 42 Static Route Rule of Thumb Static routes via point-to-point links • • It is best to configure static routes with only the exit interface. For point-to-point serial interfaces, the next-hop address in the routing table is never used by the packet-delivery procedure, so it is not needed. (It could even reference a bogus IP address.) Static routes via broadcast networks such as Ethernet • It is best to configure static routes with both the next-hop address and the exitinterface. Using only an intermediate address • “What about static routes referencing only intermediate network address? In short, try to avoid using them. The reason is that these static routes are not bound to any interface, rely on intermediate address resolvability, and thus converge more slowly. They can also create unexpected routing loops.” Alex Zinin, Cisco IP Routing NOTE: Most of our examples in this course do not follow either of these rules-ofthumb – but you may want to use it on your network. Rick Graziani graziani@cabrillo.edu 43 Common uses for Static Routes Static routes in the real-world • • • • Soon we will learn about dynamic routing protocols (RIP, etc.), where routers can learn automatically about networks, without the manual configuration of static routes. Does this mean that static routes are never used in the real-world? No! Static routes are used in conjunction with dynamic routing protocols. It is common to use a static route where using a dynamic routing protocols would have disadvantages or where it just not needed. Rick Graziani graziani@cabrillo.edu 44 Common uses for Static Routes ISP 10.1.1.1/24 ip route 172.16.0.0 255.255.0.0 10.1.1.2 10.1.1.2/24 Cabrillo College 172.16.0.0/16 Static routes in the real-world (continued) • In the example above, there is only one route, link, between Cabrillo College’s network and the ISP. • When there is only a single route to a network, this is known as a stub network. • It is very common for the ISP to have a static route pointing to it’s customers’ networks, in this case Cabrillo College. Rick Graziani graziani@cabrillo.edu 45 Common uses for Static Routes Default ISP 10.1.1.1/24 ip route 172.16.0.0 255.255.0.0 10.1.1.2 10.1.1.2/24 Cabrillo College ip route 0.0.0.0 0.0.0.0 10.1.1.1 172.16.0.0/16 Static routes in the real-world (continued) • • • • What about Cabrillo College and sending packets to the ISP – packets going to the Internet? It is also common for customer networks to use a special kind of static route, known as a default static route. Of course we will examine this later throughout the rest of this course, but for now we specify the network and mask as “0.0.0.0 0.0.0.0” (pronounced “quad-zero”). This tells the router to forward all packets to this next-hop address (or exit interface) that do not have an explicit route in the routing table. Rick Graziani graziani@cabrillo.edu 46 Common uses for Static Routes Default ISP 10.1.1.1/24 ip route 172.16.0.0 255.255.0.0 10.1.1.2 10.1.1.2/24 Cabrillo College ip route 0.0.0.0 0.0.0.0 10.1.1.1 172.16.0.0/16 RTB#show ip route Gateway of last resort is 10.1.1.1 to network 0.0.0.0 C 172.16.0.0/16 is directly connected, Ethernet0 10.0.0.0/24 is subnetted, 1 subnets C 10.1.1.0 is directly connected, Serial1 S* 0.0.0.0/0 [1/0] via 10.1.1.1 • Any packets not matching the routes 172.16.0.0/16 or 10.1.1.0/24 are sent to the router 10.1.1.1 – where it is now their “problem.” Rick Graziani graziani@cabrillo.edu 47 Summarizing static routes • There are many times when a • single static route can replace several static routes. In other words, summarizing several static routes into a single static route. 172.16.0.0/24 Rick Graziani graziani@cabrillo.edu 48 Summarizing static routes 172.16.0.0/24 Baypointe • Let’s configure three static routes on Baypointe using either an intermediate-address or exit interface: Baypointe(config)# ip route 172.16.1.0 255.255.255.0 192.168.1.2 Baypointe(config)# ip route 172.16.2.0 255.255.255.0 192.168.1.2 Baypointe(config)# ip route 172.16.3.0 255.255.255.0 192.168.1.2 Rick Graziani graziani@cabrillo.edu 49 Summarizing static routes Baypointe • The three static routes can be summarized into a single route: Baypointe(config)# ip route 172.16.1.0 255.255.255.0 192.168.1.2 Baypointe(config)# ip route 172.16.2.0 255.255.255.0 192.168.1.2 Baypointe(config)# ip route 172.16.3.0 255.255.255.0 192.168.1.2 • Summarized route: Baypointe(config)# ip route 172.16.0.0 255.255.0.0 192.168.1.2 • The summarized route will now include all three subnets! • Be sure to use the proper mask – 255.255.0.0! • Using a 255.255.255.0 mask will only route for 172.16.0.0/24 subnet and not 172.16.1.0/24, 172.16.2.0/24 or 172.16.3.0/24. Rick Graziani graziani@cabrillo.edu 50 Summarizing static routes 172.16.0.0/24 Baypointe • Summarized route: Baypointe(config)# ip route 172.16.0.0 255.255.0.0 192.168.1.2 Advantages: • Fewer routes in the routing table – faster routing table lookup. • Subnets can be added and deleted on 172.16.0.0 network without having to change static route on Baypointe router. Rick Graziani graziani@cabrillo.edu 51 Back to the curriculum… Verify static routes Copy running-config startup-config Rick Graziani graziani@cabrillo.edu 53 Ping and Traceroute to troubleshoot Rick Graziani graziani@cabrillo.edu 54 Dynamic Routing Protocols Routed Protocols vs. Routing Protocols Rick Graziani graziani@cabrillo.edu 56 Autonomous Systems • • • An autonomous system (AS) is a collection of networks under a common administration sharing a common routing strategy. To the outside world, an AS is viewed as a single entity. The AS may be run by one or more operators while presenting a consistent view of routing to the external world. The American Registry of Internet Numbers (ARIN), a service provider, or an administrator assigns an identifying number to each AS. Rick Graziani graziani@cabrillo.edu 57 Autonomous Systems • Misinformation! This is not the same as an AS number used by ISPs! “Routing protocols, such as Cisco’s IGRP, require assignment of a unique, autonomous system number.” Rick Graziani graziani@cabrillo.edu 58 Routing Protocols • • • The goal of a routing protocol is to build and maintain the routing table. This table contains the learned networks and associated ports for those networks. Routers use routing protocols to manage information received from other routers, information learned from the configuration of its own interfaces, along with manually configured routes. Rick Graziani graziani@cabrillo.edu 59 Types of Routing Protocols • • • • Distance Vector: RIP, IGRP, EIGRP Link State: OSPF, IS-IS Path Vector: BGP Note: IGRP and EIGRP are Cisco Proprietary Rick Graziani graziani@cabrillo.edu 60 Distance Vector Routing Protocols Router B receives information from Router A. Router B adds a distance vector number (such as a number of hops), which increases the distance vector. Then Router B passes this new routing table to its other neighbor, Router C. This same step-by-step process occurs in all directions between neighbor routers. • • “Routing by rumor” Each router receives a routing table from its directly connected neighbor routers. Rick Graziani graziani@cabrillo.edu 61 Distance Vector Routing Protocols Rick Graziani graziani@cabrillo.edu 62 Distance Vector Network Discovery RTA Network W Network X Routing Table (Distance) (Vector) Net. Hops Exit-int. W 0 <-X 0 --> RTA Network W Routing Update Net. Hops Next-hop-add W 1 RTA X 1 RTA Rick Graziani graziani@cabrillo.edu RTB Routing Table (Distance) (Vector) Net. Hops Exit-int. X 0 <-Y 0 --> Network X RTB RTC Network Y Routing Table (Distance) (Vector) Net. Hops Exit-int. Y 0 <-Z 0 --> Network Y Routing Update Net. Hops Next-hop-add X 1 RTB Y 1 RTB Network Z RTC Network Z Routing Update Net. Hops Next-hop-add Y 1 RTC Z 1 RTC 63 RTA Network W Routing Update Net. Hops Next-hop-add W 1 RTA X 1 RTA Routing Table (Distance) (Vector) Net. Hops Exit-int. W 0 <-X 0 --> Y 1 RTB Rick Graziani graziani@cabrillo.edu Network X RTB Network Y Routing Update Net. Hops Next-hop-add X 1 RTB Y 1 RTB Routing Table (Distance) (Vector) Net. Hops Exit-int. X 0 <-Y 0 --> W 1 RTA Z 1 RTC RTC Network Z Routing Update Net. Hops Next-hop-add Y 1 RTC Z 1 RTC Routing Table (Distance) (Vector) Net. Hops Exit-int. Y 0 <-Z 0 --> X 1 RTB 64 Distance Vector Network Discovery RTA Network W Routing Update Net. Hops Next-hop-add W 1 RTA X 1 RTA Routing Table (Distance) (Vector) Net. Hops Exit-int. W 0 <-X 0 --> Y 1 RTB RTA Network W Routing Update Net. Hops Next-hop-add W 1 RTA X 1 RTA Y 2 RTA Rick Graziani graziani@cabrillo.edu Network X RTB Network Y Routing Update Net. Hops Next-hop-add X 1 RTB Y 1 RTB Routing Table (Distance) (Vector) Net. Hops Exit-int. X 0 <-Y 0 --> W 1 RTA Z 1 RTC Network X RTB Network Y Routing Update Net. Hops Next-hop-add X 1 RTB Y 1 RTB W 2 RTB Z 2 RTB RTC Network Z Routing Update Net. Hops Next-hop-add Y 1 RTC Z 1 RTC Routing Table (Distance) (Vector) Net. Hops Exit-int. Y 0 <-Z 0 --> X 1 RTB RTC Network Z Routing Update Net. Hops Next-hop-add Y 1 RTC Z 1 RTC X 2 RTC 65 Distance Vector Network Discovery RTA Network W Existing Routing Tables Routing Table (Distance) (Vector) Net. Hops Exit-int. W 0 <-X 0 --> Y 1 RTB Routing Update Net. Hops Next-hop-add W 1 RTA X 1 RTA Y 2 RTA New Routing Tables Routing Table (Distance) (Vector) Net. Hops Exit-int. W 0 <-X 0 --> Y 1 RTB Z 2 RTB Rick Graziani graziani@cabrillo.edu Network X RTB Network Y Routing Table (Distance) (Vector) Net. Hops Exit-int. X 0 <-Y 0 --> W 1 RTA Z 1 RTC Routing Update Net. Hops Next-hop-add X 1 RTB Y 1 RTB W 2 RTB Z 2 RTB Routing Table (Distance) (Vector) Net. Hops Exit-int. X 0 <-Y 0 --> W 1 RTA Z 1 RTC RTC Network Z Routing Table (Distance) (Vector) Net. Hops Exit-int. Y 0 <-Z 0 --> X 1 RTB Routing Update Net. Hops Next-hop-add Y 1 RTC Z 1 RTC X 2 RTC Routing Table (Distance) (Vector) Net. Hops Exit-int. Y 0 <-Z 0 --> X 1 RTB W 2 RTB 66 Distance Vector Network Discovery RTA Network W Routing Tables Routing Table (Distance) (Vector) Net. Hops Exit-int. W 0 <-X 0 --> Y 1 RTB Z 2 RTB Network X RTB Network Y Routing Table (Distance) (Vector) Net. Hops Exit-int. X 0 <-Y 0 --> W 1 RTA Z 1 RTC RTC Network Z Routing Table (Distance) (Vector) Net. Hops Exit-int. Y 0 <-Z 0 --> X 1 RTB W 2 RTB Convergence! Rick Graziani graziani@cabrillo.edu 67 Distance Vector Routing Protocols • Routing table updates occur when the topology changes. As with the • network discovery process, topology change updates proceed step-bystep from router to router. With some routing protocols routing tables updates happen on a periodic basis. Rick Graziani graziani@cabrillo.edu 68 Routing Protocol Metrics (costs_ • RIP – Hop Count • IGRP and EIGRP – Bandwidth, Delay, Reliability, Load • Cisco’s OSPF – Bandwidth • IS-IS – Cost • BGP – Number of AS or policy Rick Graziani graziani@cabrillo.edu 69 Link State Routing Protocol Operations • Link-state advertisements (LSAs) – A link-state advertisement (LSA) • • • is a small packet of routing information that is sent between routers. Topological database – A topological database is a collection of information gathered from LSAs. SPF algorithm – The shortest path first (SPF) algorithm is a calculation performed on the database resulting in the SPF tree. Routing tables – A list of the known paths and interfaces. Rick Graziani graziani@cabrillo.edu 70 Link State Routing Protocol Operations • We will discuss this in more detail later when it will make much more sense. Rick Graziani graziani@cabrillo.edu 71 Link State Routing Protocol Operations Rick Graziani graziani@cabrillo.edu 72 Link State Routing Protocol Operations Rick Graziani graziani@cabrillo.edu 73 Path Determination A router determines the path of a packet from one data link to another, using two basic functions: • A path determination function • A switching function Rick Graziani graziani@cabrillo.edu 74 Path Determination • The switching function is the internal process used by a router to • accept a packet on one interface and forward it to a second interface on the same router. A key responsibility of the switching function of the router is to encapsulate packets in the appropriate frame type for the next data link. Rick Graziani graziani@cabrillo.edu 75 Configuring Dynamic Routing Rick Graziani graziani@cabrillo.edu 76 Configuring Dynamic Routing GAD(config)#router rip GAD(config-router)#network 172.16.0.0 Rick Graziani graziani@cabrillo.edu 77 More later! Router(config)#router rip Router(config-router)#network 172.16.0.0 Router(config-router)#network 160.89.0.0 • The network command is used on only • directly connected networks. With RIP and IGRP, only need to use the classful address (no subnets). Network command two things: • Tells the router which interfaces that will participate in this dynamic routing protocol, which interfaces it will send and receive routing updates on. • Tells other routers the networks in its routing updates that it is directly connect to. Rick Graziani graziani@cabrillo.edu 78 More later! Router(config)#router rip Router(config-router)#network 172.16.0.0 Router(config-router)#network 160.89.0.0 Rick Graziani graziani@cabrillo.edu 79 Routing Protocols • • • • • RIP – A distance vector interior routing protocol IGRP – Cisco's distance vector interior routing protocol OSPF – A link-state interior routing protocol EIGRP – Cisco’s advanced distance vector interior routing protocol BGP – A distance vector exterior routing protocol Rick Graziani graziani@cabrillo.edu 80 Routing Protocols Routing Information Protocol (RIP) was originally specified in RFC 1058. • It is a distance vector routing protocol. • Hop count is used as the metric for path selection. • If the hop count is greater than 15, the packet is discarded. • Routing updates are broadcast every 30 seconds, by default. Interior Gateway Routing Protocol (IGRP) is a proprietary protocol developed by Cisco. • It is a distance vector routing protocol. • Bandwidth, load, delay and reliability are used to create a composite metric. • Routing updates are broadcast every 90 seconds, by default. EIGRP is a Cisco proprietary enhanced distance vector routing protocol. • It is an enhanced distance vector routing protocol. • Uses unequal-cost and equal-cost load balancing. • Uses a combination of distance vector and link-state features. • Uses Diffused Update Algorithm (DUAL) to calculate the shortest path. • NO! – [Routing updates are broadcast every 90 seconds or] as triggered by topology changes. Rick Graziani graziani@cabrillo.edu 81 Routing Protocols Open Shortest Path First (OSPF) is a nonproprietary link-state routing protocol. • It is a link-state routing protocol. • Open standard routing protocol described in RFC 2328. • Uses the SPF algorithm to calculate the lowest cost to a destination. • Routing updates are flooded as topology changes occur. Intermediate System to Intermediate System (IS-IS) • IS-IS is an Open System Interconnection (OSI) routing protocol originally specified by International Organization for Standardization (ISO) 10589. • It is a link-state routing protocol. Border Gateway Protocol (BGP) is an exterior routing protocol. • It is a distance vector (or path vector) exterior routing protocol • Used between ISPs or ISPs and clients. • Used to route Internet traffic between autonomous systems. Rick Graziani graziani@cabrillo.edu 82 IGP vs EGP • Much of this information is too early to discuss. • Interior routing protocols are designed for use in a network whose parts • are under the control of a single organization. An exterior routing protocol is designed for use between two different networks that are under the control of two different organizations. Rick Graziani graziani@cabrillo.edu 83 Distance Vector Algorithm • • • Distance vector algorithms (also known as Bellman-Ford algorithms) call for each router to send all or some portion of its routing table only to its neighbors. Distance vector algorithms perform routing decisions based upon information provided by neighboring routers. Distance vector protocols use fewer system resources but can suffer from slow convergence and may use metrics that do not scale well to larger systems. Rick Graziani graziani@cabrillo.edu 84 Link State Algorithm • Link-state algorithms (also known as shortest path first algorithms) • flood routing information to all routers in the internetwork that creates a map of the entire network. Misinformation, this is not the reason why. – “Because they converge more quickly than distance vector protocols, link-state algorithms are less prone to routing loops.” Rick Graziani graziani@cabrillo.edu 85 Summary Rick Graziani graziani@cabrillo.edu 86