1 00:00:00,000 --> 00:00:06,000 Will router 1 be able to ping the loopback of router 3? 2 00:00:06,000 --> 00:00:13,000 on router 3 a loopback is being configured as 3.3.3.3 3 00:00:13,000 --> 00:00:15,000 it's available in the local router's routing table 4 00:00:15,000 --> 00:00:19,000 as a directly connected interface onloopback 0. 5 00:00:19,000 --> 00:00:23,000 Will router 1 be able to ping that loopback? 6 00:00:23,000 --> 00:00:28,000 and the answer is no because router 1 doesn’t have a route 7 00:00:28,000 --> 00:00:33,000 to that loopback interface. we can prove that by using the command 8 00:00:33,000 --> 00:00:35,000 sh ip route 9 00:00:35,000 --> 00:00:39,000 again notice there’s no route to 3.3.3.3 debug ip packet 10 00:00:39,000 --> 00:00:44,000 do the ping again notice unroutable. 11 00:00:44,000 --> 00:00:49,000 So the router doesn’t know how to get to that loopback 12 00:00:49,000 --> 00:00:54,000 so we would need to configure static routes for that loopback. 13 00:00:54,000 --> 00:00:57,000 So here’s the question, how many static routes would we need 14 00:00:57,000 --> 00:01:01,000 to configure in this network to enable full connectivity? 15 00:01:01,000 --> 00:01:09,000 To answer the question look at which networks are not directly connected to router 1. 16 00:01:09,000 --> 00:01:13,000 Router 1 has this loopback and this network directly connected to it 17 00:01:13,000 --> 00:01:18,000 but network 2.2.2.2 this network 10.1.2.0 18 00:01:18,000 --> 00:01:23,000 and this network 3.3.3.3 are not connected to router 1 19 00:01:23,000 --> 00:01:26,000 so 3 networks would need to be configured on router 1. 20 00:01:26,000 --> 00:01:32,000 on router 2 this network and this network are directly connected to the router 21 00:01:32,000 --> 00:01:35,000 we can prove that by using the command sh ip route 22 00:01:35,000 --> 00:01:40,000 notice 3 networks are directly connected to router 2 23 00:01:40,000 --> 00:01:44,000 but this network and this network are not directly connected. 24 00:01:44,000 --> 00:01:48,000 so we had 3 on router 1, we have to configure 2 routes on router 2 25 00:01:48,000 --> 00:01:52,000 on router 3, this network and this network are directly connected 26 00:01:52,000 --> 00:01:55,000 but this network this network and this network 27 00:01:55,000 --> 00:02:00,000 are not directly connected, so router 3 needs 3 static routes. 28 00:02:00,000 --> 00:02:04,000 So in this small topology just using this network 29 00:02:04,000 --> 00:02:10,000 as shown in the diagram I would need to add in total 8 static routes. 30 00:02:10,000 --> 00:02:14,000 3 + 2 + 3 however on router 1 31 00:02:14,000 --> 00:02:22,000 I added some additional networks 10.1.1.2 and 10.1.10.0 32 00:02:22,000 --> 00:02:25,000 so that means we need to add 2 additional routes 33 00:02:25,000 --> 00:02:29,000 to router 2, plus 2 additional routes to router 3 34 00:02:29,000 --> 00:02:32,000 assuming that is, that we don’t summarize. 35 00:02:32,000 --> 00:02:34,000 So it’s quite a bit of work. 36 00:02:34,000 --> 00:02:38,000 So this is the problem with static routes, there can be a lot of work 37 00:02:38,000 --> 00:02:41,000 especially if you have a large topology. 38 00:02:41,000 --> 00:02:43,000 So sh run | include route 39 00:02:43,000 --> 00:02:47,000 will show me my static routes in the running config of the router 40 00:02:47,000 --> 00:02:49,000 at the moment I've only configured 1 41 00:02:49,000 --> 00:02:53,000 so I'll have to type IP route 2.2.2.2 42 00:02:53,000 --> 00:02:59,000 and the next hop 10.1.1.2 43 00:02:59,000 --> 00:03:03,000 that adds that route to router's 1 routing table 44 00:03:03,000 --> 00:03:10,000 and I have to do something similar for the loopback of router 3 45 00:03:10,000 --> 00:03:15,000 notice the same next hop IP address is used from router's 1 point of view 46 00:03:15,000 --> 00:03:18,000 the next hop IP address is this IP address 47 00:03:18,000 --> 00:03:21,000 when getting to anyone of these 3 networks. 48 00:03:21,000 --> 00:03:28,000 So can router 1 ping 3.3.3.3? No, it can’t, why? 49 00:03:28,000 --> 00:03:33,000 So turn off debugging, let’s try again. 50 00:03:33,000 --> 00:03:35,000 Can we ping 3.3.3.3? 51 00:03:35,000 --> 00:03:37,000 No, let’s see if there’s a problem 52 00:03:37,000 --> 00:03:41,000 so let’s use the command traceroute 3.3.3.3 53 00:03:41,000 --> 00:03:46,000 Notice to get to 3.3.3.3 the traceroute command shows me 54 00:03:46,000 --> 00:03:50,000 that router 1 sends the traffic to 10.1.1.2 55 00:03:50,000 --> 00:03:59,000 and that’s because that route is in the local routing table of router 1 56 00:03:59,000 --> 00:04:04,000 but when it gets to router 2 it fails. 57 00:04:04,000 --> 00:04:07,000 So router 1 sends the traffic to router 2 58 00:04:07,000 --> 00:04:12,000 router 2, however, when it receives the traffic from router 1 59 00:04:12,000 --> 00:04:15,000 doesn’t know where 3.3.3.3 is. 60 00:04:15,000 --> 00:04:20,000 So to prove that let's do a debug IP packet on router 2. 61 00:04:20,000 --> 00:04:26,000 I'll ping the loopback of router 3 from router 1 62 00:04:26,000 --> 00:04:29,000 so the traffic will go from router 1 to router 2 63 00:04:29,000 --> 00:04:31,000 and then let’s see what happens 64 00:04:31,000 --> 00:04:34,000 hopefully, it well go to router, 3 but will it? 65 00:04:34,000 --> 00:04:41,000 And we can see here that router 2 is saying 66 00:04:41,000 --> 00:04:47,000 host unreachable sent to 10.1.1.1 for network 3.3.3.3 67 00:04:47,000 --> 00:04:53,000 router 2 doesn’t know how to get to this destination network 68 00:04:53,000 --> 00:04:57,000 and therefore tells router 1 network is unreachable. 69 00:04:57,000 --> 00:05:03,000 This is an example, of the hop by hop paradigm used in IPv4 and IPv6. 70 00:05:03,000 --> 00:05:07,000 The hop by hop paradigm means that every router 71 00:05:07,000 --> 00:05:13,000 makes its own local routing decision independent of other routers. 72 00:05:13,000 --> 00:05:16,000 So just because router 1 knows how to get to router 3 73 00:05:16,000 --> 00:05:20,000 doesn’t mean that router 2 knows how to get to router 3. 74 00:05:20,000 --> 00:05:23,000 Router 1 actually only knows the next hop 75 00:05:23,000 --> 00:05:26,000 in the path to get to that destination 76 00:05:26,000 --> 00:05:31,000 and doesn’t know the entire path, so sh ip route 77 00:05:31,000 --> 00:05:37,000 Notice router 1 knows that to get to this network 3.3.3.3 78 00:05:37,000 --> 00:05:39,000 it needs to send the traffic to router 2 79 00:05:39,000 --> 00:05:43,000 but it's reliant on router 2 to know what to do with traffic. 80 00:05:43,000 --> 00:05:48,000 And in this case router 2 doesn’t know how to get to router 3 81 00:05:48,000 --> 00:05:52,000 so unreachable massage is send back to router 1. 82 00:05:52,000 --> 00:05:58,000 So once again, on router 2, there are no static routes. 83 00:05:58,000 --> 00:06:03,000 So I need to configure a static route for the loopback of router 3 84 00:06:03,000 --> 00:06:06,000 and in this case, notice the next hop 85 00:06:06,000 --> 00:06:10,000 from router 2 point of view is 10.1.2.2 86 00:06:10,000 --> 00:06:15,000 Now does the ping succeed? And the answer is yes. 87 00:06:15,000 --> 00:06:21,000 the ping succeeds because when router 1 pings the loopback of router 3 88 00:06:21,000 --> 00:06:23,000 and forwards the traffic to router 2. 89 00:06:23,000 --> 00:06:27,000 Router 2 knows where to send the traffic 90 00:06:27,000 --> 00:06:33,000 because that route is in its local routing table 91 00:06:33,000 --> 00:06:37,000 and it can, therefore, forward the traffic to router 3 and in this case 92 00:06:37,000 --> 00:06:43,000 router 3 knows how to get back to 10.1.1.1 so the ping succeeds. 93 00:06:43,000 --> 00:06:52,000 we can see that on router 3, that it's sending a reply to 10.1.1.1 from 3.3.3.3 94 00:06:52,000 --> 00:06:54,000 Now here's another question: 95 00:06:54,000 --> 00:07:00,000 if we'll look at the routing table of router 2 it says that the next hop is 10.1.2.2 96 00:07:00,000 --> 00:07:05,000 but it doesn't show us that the traffic must go out of F0/1 97 00:07:05,000 --> 00:07:11,000 rather than F0/0 how does the router know which interface to use? 98 00:07:11,000 --> 00:07:18,000 Well it knows because this IP address is part of this subnet 99 00:07:18,000 --> 00:07:22,000 and that subnet is directly connected to F0/1 100 00:07:22,000 --> 00:07:27,000 so router 2 knows that to get to 3.3.3.3 101 00:07:27,000 --> 00:07:29,000 it needs to forward the traffic to this IP address 102 00:07:29,000 --> 00:07:33,000 and this IP address is part of this network which is available 103 00:07:33,000 --> 00:07:36,000 through this interface so it knows to forward 104 00:07:36,000 --> 00:07:39,000 the traffic out of this local interface 105 00:07:39,000 --> 00:07:42,000 we can see that in the CEF table by using the command 106 00:07:42,000 --> 00:07:45,000 show ip cef 107 00:07:45,000 --> 00:07:49,000 show ip cef shows us that this network is available 108 00:07:49,000 --> 00:07:55,000 via this next hop out of this interface. 109 00:07:55,000 --> 00:07:57,000 So with Cisco express forwarding 110 00:07:57,000 --> 00:08:01,000 the router pre-builds this information into the CEF table 111 00:08:01,000 --> 00:08:05,000 so it doesn’t have to do a double lookup on the routing table. 112 00:08:05,000 --> 00:08:09,000 in the old days when traffic arrived going to this network 113 00:08:09,000 --> 00:08:11,000 the router would have to do a double lookup, in other words, it would 114 00:08:11,000 --> 00:08:15,000 this entry in the routing table and then have to look at this entry 115 00:08:15,000 --> 00:08:18,000 in the routing table to determine the outgoing interface. 116 00:08:18,000 --> 00:08:23,000 Now that information is pre-built in the CEF table 117 00:08:23,000 --> 00:08:28,000 to speed up the forwarding of traffic.