第1段:监测IGRP路由更新 R3#conft Enter configuration commands, one per line. End with CNTL/Z. R3(config)#logg con R3(config)#^Z R3# 00:56:43: %SYS-5-CONFIG_1: Configured from console by console R3#debug ip igrp ? events IGRP PRotocol events transactions IGRP protocol transactions R3#debug ip igrp events IGRP event debugging is on R3# 00:57:01: IGRP: received update from 172.16.23.2 on Serial1 00:57:01: IGRP: Update contains 5 interior,0 system, and 0 exterior routes. 00:57:01: IGRP: Total routes in. update:5 R3# 00:57:28: IGRP: received update from 172.16.13.1 on SerialO 00:57:28: IGRP: Update contains 3 interior, 0 system, and 0 exterior routes. 00:57:28: IGRP: Total routes in update: 3 R3# 00:58:01: IORP: sending update to 255.255.255.255 via Ethernet0(172.16.3.3) 00:58:01: IGRP: Update contains 5 interior,0 system,and 0 exterior routes. 00:58:01: IGRP: Total routes inupdate:5 00:58:01: IGRP: sending update to 255.255.255.255 via Serial0 (172.16.13.3) 00:58:02: IGRP: Update contains 2 interior, 0 system, and 0 exterior routes. 00:58:02: IGRP: Total routes in update: 2 00:58:02: IGRP: sending update to 255.255.255.255 via Seriall (172.16.23.3) 00:58:02: IGRP: Update contains 5 interior, 0 system, and 0 exterior routes. 00:58:02: IGRP: Total routes in update: 5 R3#undebug all All possible debugging has been turned off R3#debug ip lgrp transactions IGRP protocol debugging is on 00:58:44: IGRP: received update from 172.16,13.1 on 00:58:44: subnet 172.16.12.0, 24000 (neighbor 22000) 00:58:44: subnet 172.16.1.0, metric 22100 (neighbor 1100) 00:58:44: subnet 172,16.2.0. metric 24100 (neighbor 22100) R3# 00:59:31: IGRP: sending update to 255.255.255.255 viaBTliemetO(172.16.3.3) 00:59:31: subnet 172.16,23.0, metric=158250 00:59:31: subnet 172.16.12.0, metric=24000 00:59:31: subnet 172.16.13.0 metric=22000 00:59:31: subnet 172.16.1A metric=22100 00:59:31: subnet 172.16.2.0, metric=24100 00:59:32: IGRP: sending update to 255.255.255.255 via (172.16.13.3) 00:59:32: subnet 172.16.23.0, metric==158250 00:59:32: subnet 172.16.3.0, metrical 100 00:59:32: IGRP: sending update to 255.255.255.255 via Serial1 (172,16.23.3) 00:59:32: subnet 172.16.12.0. metric=24000 00:59:32: subnet 172.16.13.0, R3# 00:59:32: subnet 172.16.1.0, metric=22100 00:59:32: subnet 172.16.2.0, metric=24100 00:59:32: subnet 172.16.3.0, metric=1100 R3# 00:59:34: IGRP: received update from 172.16.23.2 on Serial1 00:59:34: subnet 172.16.12.0, metric 160250 (neighbor 22000) 00:59:34: subnet 172.16.13.0, metric 162250 (neighbor 24000) 00:59:34: subnet 172,16.1.0, metric 160350 (neighbor 22100) 00:59:34: subnet 172.16.2.0, metric 158350 (neighbor 1100) 00:59:34: subnet 172.16.3.0, metric 162350 (neighbor 24100) R3#undebug all All possible debugging has been turned off R3# 第2段:设置最大路径数 R1#sh ip route igrp 172.16.0.0/24 is subnetted, 6 subnets I 172.16.23.0 [100/160250] via S72.16.12.2, 00:00:05, Serial0 [100/160250] via 172.16.13.3,00:00:04, I 172.16.2.0 [100/22100] via 172.16.12.2, 00:00:05, Serial0 I 172.16.3.0 [100/22100] via 172.16.13.3, 00:00:04, Serial1 R1#conft Enter configuration commands, one per line. End with CNTL/Z. R1(config)#router igrp 100 R1(config-router)#maximum-paths 1 R1(config-router)#^Z R1#sh ip route igrp 172.16.0.0/24 is subnetted, 6 subnets I 172.16.23.0 [100/160250] via 172.16.12.2, 00:00:06, Serial0 I 172.16.2.0 [100/22100] via 172.16.12.2, 00:00:06, Serial0 I 172.16.3.0 [100/22100] via 172.16.13.3, 00:00:05, Serial1 第3段:设置非等值Metric负载均衡 Term_Server>2 [Resuming connection 2 to R2 ... ] R2#conft Enter configuration commands, one per line. End with CNTL/Z. R2(config)#router igrp 100 R2(config-router)#variance 128 R2(config-router)#^Z R2#de ip route * R2#sh ip route igrp I 172.16.13.0[100/24000]via 172.16.12.1,00:00:02,Serial0 [100/160250] via 172,16.23.3. 00:00:01, Serial1 I 172.16.1.0 [100/22100] via 172.16.12.1, 00:00:02, Serial0 I 172.16.3.0 [100/24100] via 172.16.12.1, 00:00:02, Serial0 [100/158350] via 172.16.23.3, 00:00:01, Serial1 R2# R2#tracel72.16.3.3
Type escape sequence to abort. Tracing the route 10172.16.3.3 1 172.16.12.1 4 4 msec 8 msec 2 172.16.13,3 16 msec 8 msec * R2#conft Enter configuration commands, one per line. End with CNTL/Z. R2(config)#router igrp 100 R2(config-router)#traffic-share ? balanced Share inversely proportioBal to metric min All traffic shared among min metric paths (1)在第1段中,首先使用1ogging console命令使监测信息输出到超级终端上。 (2)debug ip igrp命令下有2个子命令,即events和transactions。 (3)使用debug ip igrp events命令的Debug结果显示了当前路由器发送和接收IGRP更新包的情况。可以看到IGRP发送路由信息时使用的是广播包;同时可以看到每一个路由更新何中所包含的路由项数目和类型。 (4)使用debug ip igrp transactions监测到更为全面的信息,显示出具体网段和相应度量值的信息。 (5)在第2段中,演示了如何设置最大路径数。所谓最大路径数,是指当通向同一目标网段有不止一条具有等值Metric值的路径时,可以有几条进入路由表,最终被路由器实际使用。 缺省情况下,IGRP协议的maxmum-paths值为4。 如实验所示,show ip route igrp命令所列出的路由表项中,172.16.23.0网段所对应的加个等Metric值的路由,其Metric值均为160250,分别以172.16.12.2和172.16.13.3为网关。 进入router igrp 100,发出maxmum-paths 1命令把最大路径数设为1后,再查看路由列表,表明对于172.16.23.0网段而言,只有1条路由项进入路由表。 (6)在第3段中,通过对IGRP协议设置变量值(variance),可以使对同一目标网段的多个具有不等Metric值的路径同时进入路由表,而实现不等Metric值的负载均衡。 使用variance 128命令,可以便Metric值相差128倍的不同路径进入路由表。当然,128是可以设置的最大值,从1到128之间的值都可以设置,缺省值为1,即只有具有相等Mctric值的路径才能同时进入路由表。 在加入此命令之前,对于172.16.13.0网段来说,只有1条路径,即Metric值为24000的路径;加入此命令后,show ip route命令显示,1条新的Metric值为160250的路径加入了此网段的路由表项内。后者的Metric值是前者的6.67倍,在128倍的范围内。 (7)trace命令显示了变量值设为128后,对于网段172.16.13.0,确实存在2条可用的路径,它们分别是172.16.12.1和172.16.13.3。 (8)负载均衡有两种方式,即traffic-share?命令所显示的两个选项。 所谓"balanced"是根据Metric值来实现负载均衡,即Metric值越大,从对应路径上通过的数据包越少;反之,Metric值越小,从对应路径上通过的数据包越多。 所谓"min",指所有负载使用最小Metric值的路径,只有当这些具有最小Metric值的路径满负载或不可用时才从其他具有较大Metric值的路径上传送数据包。 IGRP不支持VLSM和不连续的子网,所以就不能进行相关的实验了,在后续章节中读者可以看到EIGRP协议很好地解决了这两个问题.