EIGRP over Frame Relay and EIGRP Redistribute Lab
In the previous Frame Relay Point-to-Point Subinterface lab we have set up Layer 2 connection via Frame Relay but only adjacent routers can ping each other. For example R1 can ping R2 and R2 and ping R3 but R1 cannot ping R3. This is because R2 connects with R1 and R3 via point-to-point interfaces and they use separate subnets. In this lab we will use EIGRP to advertise these routes so that “remote” routers can ping each other.
IOS used in this lab: c3640-jk9s-mz.124-16.bin
Tasks for this lab:
+ Configure EIGRP so that R1, R2, R3 and R4 can see and ping each other
+ Configure default route on R1 to 126.96.36.199 of R6
+ Advertise that default route to other routers via EIGRP so that every router can go to the Internet
Configure EIGRP on R1, R2, R3 and R4
router eigrp 16
router eigrp 16
network 172.16.1.0 0.0.0.255
router eigrp 16
network 172.16.1.4 0.0.0.3
network 172.16.1.9 0.0.0.0
router eigrp 16
network 172.16.1.0 0.0.0.25
The configuration of EIGRP is simple but please keep in mind that the “network” command really doesn’t advertise the network in that command. It enables EIGRP on the interface matched by the “network” command. For example, on R2 the “network 172.16.1.0 0.0.0.255” command instructs R2 to search all of its active interfaces (including subinterfaces) and R2 finds out the IP addresses of s0/0.12 and s0/0.23 subinterfaces belong to “172.16.10 0.0.0.255” network so R2 enables EIGRP on these subinterfaces. Another example is on R3, the “network 172.16.1.4 0.0.03” will enable EIGRP on s0/0.23 subinterface only. Without the “network 172.16.1.9 0.0.0.0” command, EIGRP would not be enabled on s0/0.34 subinterface. You can verify which interfaces are running EIGRP by the show ip eigrp interfaces command.
So any mask you put in your network command, as long as it matches or includes the IP address on a particular interface than you are good to go. And if you are lazy, just put the “network 0.0.0.0 255.255.255.255” command on each router, this will tell that router “enable EIGRP on all of my active interfaces (regardless what their IP addresses), please” because the wildcard 255.255.255.255 indicates that the router does not care about what network is using.
Note: The “network” command also works in the same way for OSPF, RIP and other Interior Gateway Protocol (IGP) routing protocols, except for BGP (which is an EGP routing protocol). In BGP, the function of a network statement is to tell the router to search the IP routing table for a particular network, and if that network is found, originate it into the BGP database.
After typing the configuration above we can ping remote routers now. For example the ping from R1 to R4 will be successful.
And the routing table of R1 contains all networks in this topology:
Other routers’ routing tables are the same so I will not post them here.
Redistribute static route into EIGRP
In this part we will learn how default route to Internet (or to ISP router) should be advertised. Suppose R6 in the topology is the ISP router.
ip address 188.8.131.52 255.255.255.252
ip address 184.108.40.206 255.255.255.252
ip address 220.127.116.11 255.255.255.252
//Static route to make sure R6 can reply to other routers
ip route 172.16.0.0 255.255.0.0 18.104.22.168
You can’t run an IGP routing protocol (like OSPF, EIGRP) on the ISP router so the most simple way to send traffic to the ISP router is to use static route. So on R1 we will set up a static route to R6, we can do it via 3 ways:
R1(config)#ip route 0.0.0.0 0.0.0.0 s0/1
R1(config)#ip route 0.0.0.0 0.0.0.0 22.214.171.124
R1(config)#ip route 0.0.0.0 0.0.0.0 s0/1 126.96.36.199
Note: Just for your information about static route, the paragraph below is quoted from http://www.cisco.com/en/US/docs/security/asa/asa82/configuration/guide/route_static.html.
“Static routes remain in the routing table even if the specified gateway becomes unavailable. If the specified gateway becomes unavailable, you need to remove the static route from the routing table manually. However, static routes are removed from the routing table if the specified interface goes down, and are reinstated when the interface comes back up”.
I want to notice that in all three cases of the ip route statements above, the static route will be removed in the routing table when s0/1 of R1 or s0/0 of R6 goes down. In other word, if you point a static route to a broadcast interface, the route is inserted into the routing table only when the broadcast interface is up.
As you see the third case use both the local outgoing interface and the next-hop IP address. In fact in the topology above it has no more effect than the second case (only use next-hop IP address). The third case is only better in the case the remote interface goes down and next-hop IP can be reachable through a recursive route (but I haven’t test it).
For more information about “ip route” command, please read the following link: http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800ef7b2.shtml
Ok, now R1 knows where to throw the packets when it can’t find a suitable destination for them. The routing table of R1 now shows the default route to 188.8.131.52. Notice that by default, static routes have an Administrative Distance of 1.
But R2, R3 and R4 still do not know! We can configure a static route on each of them but it is not a good thing to do. A better way to advertise this static route to R2, R3 and R4 is via the configured EIGRP. How can we do that? Ahh, we will redistribute this static route into EIGRP and EIGRP will advertise it for us. On R1:
router eigrp 16
redistribute static metric 64 100 100 100 1500
Note: The ip route command is not automatically carried in routing updates like the ip default-network command (in some routing protocols). You must redistribute the static command into a routing protocol for it to be carried.
The 5 parameters are used for redistribution into EIGRP are Bandwidth, Delay, Reliability, Load, MTU. For example the redistribution above is corresponding to Bandwidth = 64Kbit, Delay = 1000ms, Reliability=100, Load=100, MTU=1500 bytes. Notice that the unit of Delay used in the redistribution into EIGRP is tens of microsecond so we must divide Delay (in millisecond) by 10.
Now the routing tables of other routers (than R1) also learn this default route as an EIGRP external route (marked with D*EX). For example the routing table of R2:
The default administrative distance for EIGRP externals (routes redistributed into EIGRP) is 170.
By default, K1 = 1, K2 = 0, K3 = 1, K4 = 0, K5 = 0 so the metric formula for EIGRP is:
metric = (107 / Slowest Bandwidth of all interfaces[Kbit] + Sum of delay[ten-of-millisecond] ) * 256
You can check the total delay and minimum bandwidth used to calculate EIGRP metric via the “show ip route <route>” command:
Therefore the EIGRP metric here should be:
metric = (107 / 64 + 2100) * 256 = 40537600
Note: We are not sure why the unit of delay here is microsecond. But if we consider “microsecond” millisecond we will get the correct metric, otherwise we never get the correct result. And the unit of sum of delay used to calculate EIGRP metric is ten-of-millisecond so we have to divide the total delay by 10 (21000 / 10 = 2100).
We can verify R4 has learned the default route, too:
R4 also knows it has to route unknown traffic to 172.16.1.9. Also notice 172.16.1.9 now becomes the “gateway of last resort” of R4.
The GNS3 initial and final configs can be downloaded here:
Initial Configs: http://www.networktut.com/download/EIGRP_over_Frame_Relay_TSHOOT_Demo_initial.zip
Final Configs: http://www.networktut.com/download/EIGRP_over_Frame_Relay_TSHOOT_Demo_finalConfigs.zip
Next recommended reading: VLAN Routing