EIGRP路由协议的配置拓扑图
- R1(config)#router eigrp 100
- R1(config-router)#no auto-summary //关闭自动汇总
- R1(config-router)#net 192.168.1.0 //宣告路由条目
- R1(config-router)#end
- R2(config)#router eigrp 100
- R2(config-router)#no auto-summary
- R2(config-router)#net 192.168.1.0
- R2(config-router)#net 10.1.0.0 0.0.255.255 //宣告路由条目
- R2(config-router)#end
- R3(config)#router eigrp 100
- R3(config-router)#no auto-summary
- R3(config-router)#net 192.168.1.0
- R3(config-router)#net 172.16.0.0 0.0.255.255
- R3(config-router)#end
检查:
- R1#show ip eigrp neighbors //查看eigrp 邻居表,发现并没有邻居
- IP-EIGRP neighbors for process 100
- R1#show ip eigrp topology //查看EIGRP 拓扑表,并没有学习到任何的路由
- IP-EIGRP Topology Table for AS(100)/ID(192.168.1.1)
- Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply,
- r – reply Status, s – sia Status
- P 192.168.1.0/24, 1 successors, FD is 2169856
- via Connected, Serial0/0
因为帧中继默认为NBMA 模式,也就是非广播的多路访问模式,它会阻止广播数据和组播数据,我们在接口配置过程中,帧中继的DLCI 号和IP 映射时也没有配置broadcast 参数,而EIGRP 路由协议通过组播地址224.0.0.10 来发送相应的路由信息(比如hello、update 等数据包),所以R1 并没有发现任何的邻居路由器。
为了能让EIGRP的路由信息通过帧中继传播,在没有配置broadcast 参数的情况下,我们可以通过单播的形式来发送EIGRP 数据包,我们对以上的配置进行改进:
- R1(config)#router eigrp 100
- R1(config-router)#neighbor 192.168.1.2 serial 0/0 //手工指定邻居,实现单播方式
- R1(config-router)#neighbor 192.168.1.3 serial 0/0
- R1(config-router)#end
- R2(config)#router eigrp 100
- R2(config-router)#neighbor 192.168.1.1 serial 0/0 //手工指定邻居,实现单播方式
- R2(config-router)#end
- R3(config)#router eigrp 100
- R3(config-router)#neighbor 192.168.1.1 serial 0/0 //手工指定邻居,实现单播方式
- R3(config-router)#end
验证:
- *Mar 1 00:29:18.955: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.2 (Serial0/0) is up: new adjacency
- *Mar 1 00:29:19.115: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.3 (Serial0/0) is up: new adjacency
- R1#show ip eigrp neighbors
- IP-EIGRP neighbors for process 100
- H Address Interface Hold Uptime SRTT RTO Q Seq
- (sec) (ms) Cnt Num
- 1 192.168.1.3 Se0/0 156 00:01:19 99 594 0 3
- 0 192.168.1.2 Se0/0 154 00:01:19 137 822 0 3
- R2#
- *Mar 1 00:29:18.979: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.1 (Serial0/0) is up: new adjacency
- R2#
- R2#show ip eigrp neighbor
- IP-EIGRP neighbors for process 100
- H Address Interface Hold Uptime SRTT RTO Q Seq
- (sec) (ms) Cnt Num
- 0 192.168.1.1 Se0/0 138 00:02:31 171 1026 0 7
R1#show ip route eigrp 100 //查看路由表,可以看到R1 能够学习到R2 和R3 相应的网络
- 172.16.0.0/24 is subnetted, 4 subnets
- D 172.16.0.0 [90/2297856] via 192.168.1.3, 00:03:45, Serial0/0
- D 172.16.1.0 [90/2297856] via 192.168.1.3, 00:03:45, Serial0/0
- D 172.16.2.0 [90/2297856] via 192.168.1.3, 00:03:45, Serial0/0
- D 172.16.3.0 [90/2297856] via 192.168.1.3, 00:03:45, Serial0/0
- 10.0.0.0/24 is subnetted, 4 subnets
- D 10.1.3.0 [90/2297856] via 192.168.1.2, 00:03:45, Serial0/0
- D 10.1.2.0 [90/2297856] via 192.168.1.2, 00:03:45, Serial0/0
- D 10.1.1.0 [90/2297856] via 192.168.1.2, 00:03:45, Serial0/0
- D 10.1.0.0 [90/2297856] via 192.168.1.2, 00:03:45, Serial0/0
R1#ping 10.1.0.1 //验证是否可以访问R2 的网络
- Type escape sequence to abort.
- Sending 5, 100-byte ICMP Echos to 10.1.0.1, timeout is 2 seconds:
- !!!!!
- Success rate is 100 percent (5/5), round-trip min/avg/max = 20/56/104 ms
- R1#ping 172.16.0.1 //验证是否可以访问R3 的网络
- Type escape sequence to abort.
- 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 = 8/52/124 ms
查看R2 的路由表:
- R2#show ip route
- Codes: C – connected, S – static, 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
- i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
- ia – IS-IS inter area, * – candidate default, U – per-user static route
- o – ODR, P – periodic downloaded static route
- Gateway of last resort is not set
- 10.0.0.0/24 is subnetted, 4 subnets
- C 10.1.3.0 is directly connected, Loopback3
- C 10.1.2.0 is directly connected, Loopback2
- C 10.1.1.0 is directly connected, Loopback1
- C 10.1.0.0 is directly connected, Loopback0
- C 192.168.1.0/24 is directly connected, Serial0/0
#p#
发现R2 并没有学习到R3 的172.16.0.0 网络, R1 通过S0/0 接口学习到R3 宣告的172.16.0.0网络,因为R1 s0/0 接口的水平分割机制导致R1 不会再由这个接口S0/0 发布出去,所以R2无法学习到R3 宣告的网络,同理,R3 也无法学习到R2 宣告的网络。
对帧中继配置进行修正,使用broadcast 参数:
- R1(config)#router eigrp 100
- R1(config-router)#no neighbor 192.168.1.2 s0/0 //取消手工指定邻居
- *Mar 1 00:42:29.807: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.2 (Serial0/0) is down:
- R1(config-router)#no neighbor 192.168.1.3 s0/0
- *Mar 1 00:42:32.623: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.3 (Serial0/0) is down:
- R1(config-router)#exit
- R1(config)#int s0/0
- R1(config-if)#no fram map ip 192.168.1.2 102 //取消之前不带broadcast 参数的静态映射
- R1(config-if)#no fram map ip 192.168.1.3 103
- R1(config-if)#frame map ip 192.168.1.2 102 broadcast
- R1(config-if)#frame map ip 192.168.1.3 103 broadcast
- R1(config-if)#end
- R2(config)#router eigrp 100
- R2(config-router)#no neighbor 192.168.1.1 Serial0/0
- R2(config-router)#int s0/0
- R2(config-if)#no frame-relay map ip 192.168.1.1 201
- R2(config-if)# frame-relay map ip 192.168.1.1 201 broadcast
- R3(config)#router eigrp 100
- R3(config-router)#no neighbor 192.168.1.1 Serial0/0
- R3(config-router)#int s0/0
- R3(config-if)#no
- *Mar 1 00:47:58.943: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.1 (Serial0/0) is up: new adjacency
- R3(config-if)#no frame-relay map ip 192.168.1.1 301
- R3(config-if)#frame-relay map ip 192.168.1.1 301 broadcast
- R3(config-if)#end
验证结果:
可以看到添加了broadcast 后,帧中继可以正常的传递组播数据了,R1 就可以和R2 和R3 建立邻居关系并正常学习到路由。
- R1#show ip eigrp neighbors
- IP-EIGRP neighbors for process 100
- H Address Interface Hold Uptime SRTT RTO Q Seq
- (sec) (ms) Cnt Num
- 1 192.168.1.3 Se0/0 178 00:00:03 906 5000 0 7
- 0 192.168.1.2 Se0/0 178 00:01:57 1040 5000 0 6
- R1#show ip route eigrp 100
- 172.16.0.0/24 is subnetted, 4 subnets
- D 172.16.0.0 [90/2297856] via 192.168.1.3, 00:00:53, Serial0/0
- D 172.16.1.0 [90/2297856] via 192.168.1.3, 00:00:53, Serial0/0
- D 172.16.2.0 [90/2297856] via 192.168.1.3, 00:00:53, Serial0/0
- D 172.16.3.0 [90/2297856] via 192.168.1.3, 00:00:53, Serial0/0
- 10.0.0.0/24 is subnetted, 4 subnets
- D 10.1.3.0 [90/2297856] via 192.168.1.2, 00:02:46, Serial0/0
- D 10.1.2.0 [90/2297856] via 192.168.1.2, 00:02:46, Serial0/0
- D 10.1.1.0 [90/2297856] via 192.168.1.2, 00:02:46, Serial0/0
- D 10.1.0.0 [90/2297856] via 192.168.1.2, 00:02:46, Serial0/0
查看R3 的路由表,发现R3 并没有学习到R2 的网络,这是因为R1 默认情况下接口有水平。
- R3#show ip route
- Codes: C – connected, S – static, 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
- i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
- ia – IS-IS inter area, * – candidate default, U – per-user static route
- o – ODR, P – periodic downloaded static route
- Gateway of last resort is not set
- 172.16.0.0/24 is subnetted, 4 subnets
- C 172.16.0.0 is directly connected, Loopback0
- C 172.16.1.0 is directly connected, Loopback1
- C 172.16.2.0 is directly connected, Loopback2
- C 172.16.3.0 is directly connected, Loopback3
- C 192.168.1.0/24 is directly connected, Serial0/0
将R1 接口的水平分割关闭:
- R1(config)#interface serial 0/0
- R1(config-if)#no ip split-horizon eigrp 100
- R1(config-if)#end
当R1 的水平分割关闭后,EIGRP 进程会出现相应提示:
- *Mar 1 00:52:25.055: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.3 (Serial0/0) is resync: split horizon changed
- *Mar 1 00:52:25.055: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 192.168.1.2 (Serial0/0) is resync: split horizon changed
查看R1 接口S0/0 的情况:
- R1#show ip int s0/0 | include Split
- Split horizon is disabled
查看R2 的路由表:
- R2#show ip route eigrp 100
- 172.16.0.0/24 is subnetted, 4 subnets
- D 172.16.0.0 [90/2809856] via 192.168.1.1, 00:08:03, Serial0/0
- D 172.16.1.0 [90/2809856] via 192.168.1.1, 00:08:03, Serial0/0
- D 172.16.2.0 [90/2809856] via 192.168.1.1, 00:08:03, Serial0/0
- D 172.16.3.0 [90/2809856] via 192.168.1.1, 00:08:03, Serial0/0
虽然R2 路由表中有172.16.2.0/24 网络,但R2 并没有ping 通,这是什么原因?
因为R3 的串行口帧中继配置时,只做了IP 192.168.1.1 和DLCI 号的对应,没有做IP 192。168.1.2 和DLCI 号的映射,所以R2 ping 172.16.2.1 时,采用的源地址为192.168.1.2,通过路由表发现目的地址172.16.2.1 具有符合的条目,转发接口为192.168.1.1,于是由R1 转发到R3,R3 在回包过程时,源地址为172.16.2.1,而目标地址为192.168.1.2,但它不知道这个地址怎么转发于是就丢弃。
- R3(config)#int s0/0
- R3(config-if)#frame-relay map ip 192.168.1.2 301 broadcast
- R2(config-if)#end
- R2(config)#int s0/0
- R2(config-if)#frame-relay map ip 192.168.1.3 201 broadcast
- R2(config-if)#end
验证结果:
- R2#ping 172.16.1.1
- Type escape sequence to abort.
- Sending 5, 100-byte ICMP Echos to 172.16.1.1, timeout is 2 seconds:
- !!!!!
- Success rate is 100 percent (5/5), round-trip min/avg/max = 44/88/160 ms
帧中继的配置结束了,验证结果大家已经清楚地看到,所以如上所述内容是一个很有说明力度的实例,对于读者了解EIGRP路由协议的配置是很有帮助的。更多内容请读者阅读: