留言板

CCIE R&S v4.0 理论

当前位置: 首页CCIE资料库CCIE R&S v4.0 理论IGP


IGP

 

 

                                                       文档下载:

 目录


静态路由
   
ICMP重定向(ICMP Redirect)
   代理ARP(Proxy-ARP)
默认路由
   IP Default-Gateway
   IP route 0.0.0.0 0.0.0.0
   IP Default-Network
   Classless与Classful
RIP
   概述
   RIP ver 1 路由更新
   RIP ver 1 主机路由
   RIP 路由更新源
   RIP 触发更新
   RIP 单播更新
   RIP 手工汇总
   RIP ver 2 认证
EIGRP
   概述
   EIGRP Metric
   EIGRP邻居
   EIGRP数据包
   EIGRP拓朴
   EIGRP负载均衡
   EIGRP Stuck In Active (SIA)
   配置EIGRP实验
OSPF
   概述
   OSPF术语
   OSPF数据包交换过程
   OSPF启动过程
   OSPF网络类型
   OSPF链路类型
   OSPF外部路由
   OSPF末节区域
   OSPF LSA类型
   OSPF虚链路
   OSPF认证
   OSPF汇总路由
   配置OSPF实验
路由策略
   路由重分布
   Route-Map
   路由控制
   配置路由策略

 

                                                                   返回目录

静态路由

 

ICMP重定向(ICMP Redirect)

 网络中的路由器通过相互之间的共同努力,将用户的数据包转发到目的地。通常情况下,主机都会将去往远程网络的数据包发送到路由器,路由器再尽最大努力转发数据。但是在某些情况下,收到数据包的路由器可能并不是去往目的地的最优选择,也就是说该路由器并不在源与目标的路径当中,或者说数据源应该将数据交给其它路由器来转发。如果某台路由器真的发现自己不应该为用户转发数据,而希望让用户选择其它路由器来转发数据,那么它就会通过向数据源发送ICMP重定向(ICMP Redirect)来告诉对方,让对方不要再将数据包发向自己,而应该发到其它路由器。

  需要路由器向源发送ICMP重定向的情况有两种:

★ 1当路由器从某个接口收到数据包后,还要将数据包从同一个接口发往目的地,就是路由器收到数据包的接口正是去往目的地的出口时,则会向源发送ICMP重定向,通告对方直接将数据包发向自己的下一跳即可,不要再发给自己。

★ 2数据包的源IP和自己转发时的下一跳IP地址是同网段时,则会向源发送ICMP重定向,通告对方直接将数据包发向自己的下一跳。

 

注:路由器在向数据源发送ICMP重定向的同时,也会正常转发收到的数据包,并不会中断网络。

 

 

配置ICMP重定向

说明:ICMP重定向是基于接口配置的,默认为开启状态。

 

 

说明:以上图为例,测试ICMP重定向,其中,R1R2R3的接口F0/010.1.1.0/24网段,R2R4的接口F0/120.1.1.0/24网段,而R3将去往任何目的的数据全部交给R1

 

1.配置基础网络环境

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip address 10.1.1.1 255.255.255.0

r1(config-if)#no sh

r1(config-if)#exit

r1(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2

说明:R1将去往任何目的地的数据包全部交给10.1.1.2,即交给R2

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip add 10.1.1.2 255.255.255.0

r2(config-if)#no sh

r2(config-if)#exit

 

r2(config)#int f0/1

r2(config-if)#ip add 20.1.1.2 255.255.255.0

r2(config-if)#no sh

r2(config-if)#exit

说明:R2同时连接10.1.1.0/2420.1.1.0/24

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip add 10.1.1.3 255.255.255.0

r3(config-if)#no sh

r3(config-if)#exit

r3(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

说明:R3将去往任何目的地的数据包全部交给10.1.1.1,即选择R1作为网关。

 

(4)配置R4:

r4(config)#int f0/1

r4(config-if)#ip add 20.1.1.4 255.255.255.0

r4(config-if)#no sh

r4(config-if)#exit

r4(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.2

说明:R420.1.1.0/24

 

2.测试ICMP重定向

(1)在R3上向目标网络20.1.1.0发送数据包来测试ICMP重定向,并且打开debug观察数据包:

r3#debug ip icmp

ICMP packet debugging is on

r3#

r3#ping 20.1.1.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 20.1.1.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 20/84/200 ms

r3#

*Mar  1 00:15:39.075: ICMP: redirect rcvd from 10.1.1.1- for 20.1.1.4 use gw 10.1.1.2

*Mar  1 00:15:39.175: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:15:39.291: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:15:39.323: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:15:39.383: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:15:39.403: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

r3#

说明:从上面信息可以看出,由于R3的网关是10.1.1.1,所以会将去往20.1.1.0/24的数据包发给网关R1,但是R1从接口F0/0收到数据包后,检查路由表得知需要再将数据包从相同接口F0/0发给10.1.1.2,不仅满足发送ICMP重定向情况的第一条同接口进出,也满足第二条源和下一跳同网段,所以R1向源发送了ICMP重定向,数据包中明确告诉R3将去往20.1.1.4的数据包直接交给10.1.1.2,即交给R2。从上也可以看出,让R1来转发数据包确实是无谓举动。

 

(2)更改R3的路由方式:

r3(config)#ip route 0.0.0.0 0.0.0.0 f0/0

说明:如果将R3的路由改为直接指定出接口,而不使用下一跳IP地址,则不会造成R1发送ICMP重定向,因为R3在此类路由方式下,并不会将数据包发向R1

 

(3)测试R3更改路由方式后的情况:

r3#debug ip icmp

ICMP packet debugging is on

r3#

r3#ping 20.1.1.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 20.1.1.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 52/86/176 ms

r3#

*Mar  1 00:33:41.511: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:33:41.607: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:33:41.663: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:33:41.719: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

*Mar  1 00:33:41.779: ICMP: echo reply rcvd, src 20.1.1.4, dst 10.1.1.3

r3#

说明:可以看出,R1并没有再发送ICMP重定向,因为R3并没有将去往20.1.1.0/24的数据包发向R1,具体原因,由普通ARP的原理可以得知。

 

 

3.关闭ICMP重定向

(1)在R1接口上关闭ICMP重定向:

r1(config)#int f0/0

r1(config-if)#no ip redirects

说明:需要开启ICMP重定向,输入命令ip redirectsICMP重定向功能不建议关闭。

注:在接口上开启HSRP后,默认会关闭ICMP重定向的功能,在IOS 12.1(3)T和以后的版本可以手工开启ICMP重定向功能。

                                                                    返回目录

代理ARPProxy-ARP

 数据包在网络上寻址时,需要靠OSI七层模型中的第二层数据链路层地址和第三层网络层地址来完成,只要完成这两个地址的封装,数据包便能够发往目的地,也必须完成这两个地址的封装,数据包才能发往目的地。

 在当前的网络中,第三层网络层地址就是IP地址,主机之间要通信,必须封装好双方的IP地址,这是无可争议的;IP地址在主机通信的过程中,不会因为网络设备或物理介质的改变而改变。而第二层数据链路层地址则会因为链路介质的不同而发生变化,并且在主机通信中,链路层地址会不断发生变化,因为链路层地址只在同一段介质中才有效,如果介质是多路访问类型,如以太网,则只在同一IP网段有效。 在这里需要讨论的是代理ARP,故介质默认为以太网。

 如果通信的主机在同一网段,源主机则直接请求目标主机的二层链路地址(以太网为MAC地址),其它介质的网络同样也是直接请求目标主机的二层链路地址,只不过不叫MAC地址;如果得不到二层链路地址的回复,数据包就不能完成封装,就不能发送。如果通信的主机不在同一网段,必须经过路由后才能到达目标的话,那么源主机就无法直接请求目标主机的二层链路地址,因为请求是用广播发送的,所以,此时源主机就直接请求网关的二层链路地址,将数据包的目标地址封装为网关的二层链路地址,从而将数据包交给网关处理,如果是路由器需要发送数据包到远程网络,同样的道理,路由器将数据包的二层目标地址封装为下一跳的二层链路地址,从而交给下一跳路由器来处理。

  当向网络中发送广播请求目标的二层链路地址时,如果收到的路由器有去往目标网络的路由,那么路由器将会使用自己接口的二层链路地址来回复数据源,声称自己的二层链路地址就是目标的二层链路地址,这就是路由器的代理ARP功能。主机收到路由器的回复后,便将数据包的目标二层链路地址封装为路由器的二层链路地址,从而将数据包发到路由器,因为路由器是有到目标网络的路由的,所以通信不会有问题。

 不难发现,当主机需要将数据包发到远程网络时,因为开启了代理ARP的路由器会以自己的二层链路地址充当目标的二层链路地址,所以主机不需要配置网关,就能够将去往远程网络的数据包发到路由器,最终完成通信。

 

配置代理ARP

说明:代理ARP在路由器接口上默认是开启的,并且是基于接口打开或关闭的。

 

 

说明:以上图为例,测试代理ARP,其中R3R4的接口F0/110.1.2.0/24网段,而R1R2R3的接口F0/010.1.1.0/24网段,但由于R1的接口F0/0的掩码为16位,所以R1会认为整个10.1.0.0/16都是接口F0/0的直连网段,其中包含10.1.2.0/24;但是R2的接口F0/0的掩码为24位,所以R2会认为10.1.2.0/24是在远程网络。

 

1.配置基础网络环境

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip add 10.1.1.1 255.255.0.0

r1(config-if)#no sh

说明:R1配置网段10.1.0.0/16,其中包含网段10.1.1.0/2410.1.2.0/24

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip add 10.1.1.2 255.255.255.0

r2(config-if)#no sh

r2(config-if)#exit

r2(config)#ip route 10.1.2.0 255.255.255.0 f0/0

说明:R2直连网段10.1.1.0/24,并且通过配置静态路由将去往远程网段10.1.2.0/24定义为直连网段。

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip add 10.1.1.3 255.255.255.0

r3(config-if)#no sh

r3(config-if)#exit

r3(config)#int f0/1

r3(config-if)#ip add 10.1.2.3 255.255.255.0

r3(config-if)#no sh

r3(config-if)#exit

说明:R3同时与10.1.1.0/2410.1.2.0/24直连。

 

(4)配置R4:

r4(config)#int f0/1

r4(config-if)#ip add 10.1.2.4 255.255.255.0

r4(config-if)#no sh

r4(config-if)#exit

r4(config)#ip route 0.0.0.0 0.0.0.0 10.1.2.3

说明:R410.1.2.0/24

 

2.测试开启代理ARP的情况

说明:路由器接口默认已经开启代理ARP,无需再开。

(1)查看R1的路由情况:

r1#sh 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/16 is subnetted, 1 subnets

C       10.1.0.0 is directly connected, FastEthernet0/0

r1#

说明:可以看见,R110.1.0.0/16直连,R1会认为10.1.2.0/24也是自己的直连网段,所以我们不用写到10.1.2.0/24的静态路由。

(2)测试R110.1.2.0/24的连通性:

r1#ping 10.1.2.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 48/79/180 ms

r1#

说明:因为R1认为自己直连10.1.0.0/16网段,所以在向10.1.2.0/24发送数据包时,直接在本网段广播请求目标二层链路地址,这个广播被R3收到,又因为R3能够到达10.1.2.0/24,并且开启代理ARP功能,所以R3将自己接口的二层链路地址回复给R1,最终R1将去往10.1.2.0/24的数据包封装为R3的二层链路地址,从而将数据包交给R3处理,最后网络通信成功。

 

(3)查看R410.1.2.4)的F0/1MAC地址与R310.1.1.3)的F0/0MAC地址,并且查看R1去往10.1.2.4ARP表:

 

R4

r4#sh interfaces f0/1

FastEthernet0/1 is up, line protocol is up

  Hardware is Gt96k FE, address is c000.1370.0001 (bia c000.1370.0001)

  Internet address is 10.1.2.4/24

 

R3

r3#sh int f0/0

FastEthernet0/0 is up, line protocol is up

  Hardware is Gt96k FE, address is c000.1124.0000 (bia c000.1124.0000)

  Internet address is 10.1.1.3/24

 

R1

r1#sh arp

Protocol  Address          Age (min)  Hardware Addr   Type   Interface

Internet  10.1.1.3                8   c000.1124.0000  ARPA   FastEthernet0/0

Internet  10.1.1.1                -   c000.141c.0000  ARPA   FastEthernet0/0

Internet  10.1.2.4                4   c000.1124.0000  ARPA   FastEthernet0/0

r1#

 

说明:从结果中可以看出,R1获得的10.1.2.4MAC地址并非目标R4MAC地址,而是R3的接口F0/0MAC地址,这就是由于R3的代理ARP功能,使得R3会代替目标R4回复源主机的二层链路地址请求。

 

(4)查看R2的路由表并测试到10.1.2.0/24的连通性:

r2#sh 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, 2 subnets

S       10.1.2.0 is directly connected, FastEthernet0/0

C       10.1.1.0 is directly connected, FastEthernet0/0

r2#r2#ping 10.1.2.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 12/80/156 ms

r2#

说明:因为R2路由表中的静态路由指示去往10.1.2.0/24为直连网段,所以同上原因,因为R3代理ARP的功能,最后与10.1.2.0/24的网络通信正常。

 

3.测试关闭代理ARP的情况

(1)关闭R3接口F0/0的代理ARP功能:

r3(config)#int f0/0

r3(config-if)#no ip proxy-arp

说明:关闭了R3接口F0/0的代理ARP功能,要开启,输入命令ip proxy-arp

 

(2)查看R110.1.2.0/24的连通性和ARP情况:

r1#ping 10.1.2.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

r1#

r1#sh arp      

Protocol  Address          Age (min)  Hardware Addr   Type   Interface

Internet  10.1.1.3                0   c000.1124.0000  ARPA   FastEthernet0/0

Internet  10.1.1.1                -   c000.141c.0000  ARPA   FastEthernet0/0

Internet  10.1.2.4                0   Incomplete      ARPA  

r1#

说明:可以看见,当R3关闭了代理ARP功能后,R1不能与10.1.2.0/24通信,因为R1认为目标与自己直连,所以会在直连网段直接请求目标的二层链路地址,但R3关闭了代理ARP功能,即使自己与目标可达,但也不会使用自己的MAC地址去回复R1,最后R1也无法获得任何目标的MAC地址,ARP表中显示10.1.2.4的记录为Incomplete,最终与10.1.2.0/24的通信以失败告结。

 

(3)查看R210.1.2.0/24的连通性:

r2#ping 10.1.2.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

r2#

r2#sh arp      

Protocol  Address          Age (min)  Hardware Addr   Type   Interface

Internet  10.1.1.2                -   c000.13e8.0000  ARPA   FastEthernet0/0

Internet  10.1.1.3                4   c000.1124.0000  ARPA   FastEthernet0/0

Internet  10.1.2.4                0   Incomplete      ARPA  

r2#

说明:虽然R2拥有到10.1.2.0/24的静态路由,但因为静态路由指定去往目标为直连接口,所以R2会认为10.1.2.0/24与接口F0/0直连,由于R3关闭了代理ARPR2R1一样,不能与10.1.2.0/24通信。

 

(4)更改R2的静态路由方式,并查看路由表:

r2(config)#no ip route 10.1.2.0 255.255.255.0 f0/0

r2(config)#ip route 10.1.2.0 255.255.255.0 10.1.1.3  

r2(config)#exi

r2#sh 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, 2 subnets

S       10.1.2.0 [1/0] via 10.1.1.3

C       10.1.1.0 is directly connected, FastEthernet0/0

r2#

说明:R2将去往目标10.1.2.0/24的静态路由改为下一跳指向10.1.1.3R3),所以R2并不会再认为10.1.2.0/24是自己的直连网段,因此在需要与10.1.2.0/24通信时,会请求下一跳地址10.1.1.3的二层链路地址,最终将数据包交给10.1.1.3R3)处理。

 

(5)查看更改静态路由后R210.1.2.0/24的通信情况:

r2#ping 10.1.2.4

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.2.4, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 12/68/192 ms

r2#

说明:更改静态路由到达目标网络为下一跳地址后,R2不再直接请求目标10.1.2.4的二层链路地址,而是改为请求下一跳地址的二层链路地址,因为请求的地址10.1.1.3,所以R3作出了回应,最后R2与目标通信成功。

 

说明:由以上情况可以看出,当配置静态路由时,如果指定远程目标为直连,则可能因为下一跳路由器关闭了代理ARP而造成通信失败,但静态路由指定为下一跳地址时,通信不会受到任何影响。

代理ARP在没有配置默认网关或不使用路由的网络中,比较有优势。

                                                                     返回目录

默认路由

 当路由器收到目标地址不在路由表中的数据包时,全部发送到默认路由所定义的地方,作为未知地址数据包的一种最后求助,这就是默认路由的功能。

 默认路由的使用,可以大大节省系统资源,缩减路由表的大小,而要使路由器生产默认路由,产生对未知地址数据包的最后求助,可以有三种方法:

  IP Default-Gateway

  IP Default-Network

  IP route 0.0.0.0 0.0.0.0

 

下面来一一详细解释:

  IP Default-Gateway

  IP route 0.0.0.0 0.0.0.0

  IP Default-Network

  ClasslessClassful

                                                                   返回目录 

 

IP Default-Gateway

 大家都非常清楚,我们最熟悉的PC,在配置IP地址后,通常需要配置默认网关,除了目标地址在本网段的数据包直接发到目的地之外,其它所有数据包都发给网关处理。

 而有时由于种种原因,路由器不可能获知网络中每一个网段,所以这时,路由器也需要像PC一样配置网关,将所有未知目标地址的数据包全部交给网关。

 通过在路由器上配置命令IP Default-Gateway加上IP地址,可以手工为路由器指定一个默认网关,该默认网关的作用与PC完全相同。而命令IP Default-Gateway只有在路由器关闭路由功能后(命令no ip routing),才能使用,如果路由器处于boot模式时,同样也可以通过该命令配置默认网关,这样便可以帮助像TFTP这样的传输。

 

 

配置IP Default-Gateway

说明:必须先关闭路由功能(命令no ip routing

 

 

 

 

说明:以上图为例,测试IP Default-Gateway。

 

1.在R3上配置IP Default-Gateway

(1)在R3上配置IP Default-Gateway:

r3(config)#no ip routing

r3(config)#ip default-gateway 10.1.1.1

说明:在R3上关闭路由功能,并指定默认网关为10.1.1.1(R1)。

(2)在R3上查看默认网关:

r3#sh ip route

Default gateway is 10.1.1.1

 

Host               Gateway           Last Use    Total Uses  Interface

ICMP redirect cache is empty

r3#

说明:R3上路由功能已关闭,并且所有数据包全部交给网关10.1.1.1。

 

(3)测试网络连通性:

r3#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 = 4/47/168 ms

r3#

r3#ping 192.168.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/61/192 ms

r3#

说明:因为R3的网关为10.1.1.1,而172.16.1.1与192.168.1.1也在R1上,所以R3与172.16.1.1和192.168.1.1通信正常。

 

                                                                    返回目录

IP route 0.0.0.0 0.0.0.0

 为路由器配置默认网关时,IP Default-Gateway只能在关闭路由功能后起作用,在路由功能开启的情况下,通过命令IP route 0.0.0.0 0.0.0.0同样可以为路由器配置默认网关。

 两者的区别在于,IP Default-Gateway只能在路由功能关闭时工作,并且一台路由器只能配置一条,而IP route 0.0.0.0 0.0.0.0可以在路由功能开启时工作,一条路由器可以配置多条IP route 0.0.0.0 0.0.0.0

 

 

 

配置IP route 0.0.0.0 0.0.0.0

说明:必须开启路由功能。

 

 

 

说明:以上图为例,配置ip route 0.0.0.0 0.0.0.0

1.R3上配置ip route 0.0.0.0 0.0.0.0

(1)在R3上配置ip route 0.0.0.0 0.0.0.0:

r3(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

说明:R3的网关指向10.1.1.1R1)。

(2)查看R3的路由情况:

r3#sh 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 10.1.1.1 to network 0.0.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 10.1.1.1

r3#

说明:R3路由表中有一条指向10.1.1.1的默认网关。

 

(3)测试网络连通性:

r3#ping 192.168.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 28/80/196 ms

r3#

r3#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 = 24/77/200 ms

r3#

说明:因为R3的网关为10.1.1.1,而172.16.1.1与192.168.1.1也在R1上,所以R3与172.16.1.1和192.168.1.1通信正常。

 

2.配置多条ip route 0.0.0.0 0.0.0.0

(1)在R3上配置多条ip route 0.0.0.0 0.0.0.0:

r3(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1

r3(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2

说明:命令ip route 0.0.0.0 0.0.0.0可以在单台路由器上重复配置。

(2)查看R3路由表情况:

r3#sh 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 10.1.1.2 to network 0.0.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 10.1.1.2

               [1/0] via 10.1.1.1

r3#

说明:当配置多条ip route 0.0.0.0 0.0.0.0后,路由器将同时在其间执行负载均衡,需要注意的是,负载均衡会受到CEF的影响,所以默认情况,可能不是你想要的结果。

                                                                   返回目录

  

IP Default-Network

 为路由器配置默认网关的方法除了IP Default-Gateway IP route 0.0.0.0 0.0.0.0之外,还有IP Default-Network,不同之处在于,IP Default-Gateway只能工作在非路由模式下,而IP route 0.0.0.0 0.0.0.0可以工作在路由模式下,但不会自动被动态路由协议传递给邻居。如果使用IP Default-Network,则被IP Default-Network所定义的网络将成为路由器的默认网关,所有未知目标的数据包全部发往该网络,IP Default-Network的不同之处是它所定义的默认网关,会自动被动态路由协议传递,能够自动传递IP Default-Network默认网关的路由协议有RIPIGRPEIGRP,而OSPFIS-IS不会传递。

 IP Default-NetworkClassful的,所指定的网段必须是没有划过子网的主类网络,否则不会产生默认网关。如果需要IGRPEIGRP自动传递IP Default-Network的默认网关,那么

 IP Default-Network所指定的网络必须在EIGRP进程里通告,或者将该网络重分布进EIGRP;对于RIP,不需要在进程下通告便会自动传递,但由于IOS的不同,RIP的操作可能存在着不同,某些IOS只能在IP Default-Network所指定的网络为直连网络时,才会被RIP传递,否则无效,所以请以自身IOS为准,因为思科并没有文档指出IOS版本号。

 

注:RIP version 1version 2都支持对IP Default-Network默认网关的自动传递。

 

 

 

配置IP Default-Network

 

 

 

说明:以上图为例,测试IP Default-Network。

1.在R3上配置IP Default-Network

1)在R3上手工配置到192.168.1.0/24的静态路由:

r3(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.1

说明:配置该静态路由,目的在于让192.168.1.0/24事先存在于路由表中。

 

(2)查看R3的路由表,并测试到远程网络192.168.1.0/24与172.16.1.0/24的连通性:

r3#sh 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

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S    192.168.1.0/24 [1/0] via 10.1.1.1

r3#

r3#ping 192.168.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/56/172 ms

r3#

r3#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 0 percent (0/5)

r3#

 

说明:因为路由表中只有去往192.168.1.0/24的静态路由,所以R3与192.168.1.0/24的通信正常,而与172.16.1.0/24不能通信。

 

(3)在R3上配置ip default-network:

r3(config)#ip default-network 192.168.1.0

说明:配置默认网关的网段为192.168.1.0

 

(4)查看R3的路由表情况并再次测试连通性:

r3#sh 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 10.1.1.1 to network 192.168.1.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S*   192.168.1.0/24 [1/0] via 10.1.1.1

r3#

 

测试:

r3#ping 192.168.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 192.168.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 8/52/192 ms

r3#

r3#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 = 16/84/156 ms

r3#

说明:可以看见,R3当前的路由表中,存在一条指向192.168.1.0的默认网关,所以会将所有未知目标的数据包发往192.168.1.0,最终R3能够与192.168.1.0/24和172.16.1.0/24通信。

 

 

 

 

(5)查看R3的路由协议:

r3#sh ip protocols

r3#

说明:ip default-network与协议无关。

 

2.配置更多ip default-network

说明:测试多条ip default-network

(1)在R3上增加172.16.1.0/24与ip default-network的关联:

r3(config)#ip route 172.16.1.0 255.255.255.0 10.1.1.1

r3(config)#ip default-network 172.16.1.0

说明:配置到172.16.1.0/24的静态路由,并通过ip default-network指定该网段为默认网关。

(2)查看R3当前的路由表情况:

r3#sh 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 10.1.1.1 to network 192.168.1.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks

S       172.16.0.0/16 [1/0] via 172.16.1.0

S       172.16.1.0/24 [1/0] via 10.1.1.1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S*   192.168.1.0/24 [1/0] via 10.1.1.1

r3#

说明:从结果中看出,172.16.1.0/24并没有成为默认网关,原因是,ip default-network只支持主类网络,而172.16.1.0/24是172.16.0.0/16的子网,所以被忽略。

 

(3)修改172.16.0.0/16为默认网关:

r3(config)#no ip default-network 172.16.1.0

r3(config)#ip route 172.16.0.0 255.255.0.0 10.1.1.1

r3(config)#ip default-network 172.16.0.0  

说明:增加静态路由172.16.0.0/16,并指定为默认网关,需要说明的是,ip default-network所指定的网段必须在路由表中真实存在,所以当前必须手工指定到172.16.0.0/16的静态路由。

 

(4)再次查看R3的路由表:

r3#sh 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 10.1.1.1 to network 172.16.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

 *   172.16.0.0/16 is variably subnetted, 2 subnets, 2 masks

S*      172.16.0.0/16 [1/0] via 10.1.1.1

S       172.16.1.0/24 [1/0] via 10.1.1.1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S*   192.168.1.0/24 [1/0] via 10.1.1.1

r3#

说明:可以看见,之前的默认网关是192.168.1.0,而现在已经变成172.16.0.0,原因是,当路由器上配置多条ip default-network后,拥有最低AD值的被使用,但当前两条网络AD值相同,都为1,最后比较路由条目在路由表中的上下排列顺序,也就是使用命令show ip route时,所显示在最上面的条目被优先使用,正因为172.16.0.0/16在192.168.1.0/24上面,所以被优先使用。

 

3.测试ip default-network与RIP的关联

说明:测试ip default-network的默认网关在RIP中的传递。

(1)在R3与R4之间配置RIP:

R3:

r3(config)#router rip   

r3(config-router)#network 20.0.0.0

  

R4:

r4(config)#router rip

r4(config-router)#network 20.0.0.0

r4(config-router)#exit

 

(2)在R3上指定10.0.0.0为默认网关,并查看路由表情况:

 

r3(config)#ip default-network 10.0.0.0 

r3#sh 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

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

 *   10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:因为路由表中10.1.1.0/2410.0.0.0/8的子网,所以并没成为自己的默认网关,但这并不影响协议的自动传递。

需要注意,如果不是直连网段,可能无法传递。

 

(3)查看R4的路由表情况:

r4#sh 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 20.1.1.3 to network 0.0.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

R*   0.0.0.0/0 [120/1] via 20.1.1.3, 00:00:14, FastEthernet0/1

r4#

说明:R4已经成功从RIP中收到默认网关,并且指向R3的方向。

 

 

4.测试ip default-network与EIGRP的关联

说明:测试ip default-network的默认网关在EIGRP中的传递。

(1)在R3与R4之间配置EIGRP:

R3:

r3(config)#router eigrp 1

r3(config-router)#no auto-summary

r3(config-router)#network 20.1.1.3 0.0.0.0

 

R4

r4(config)#router eigrp 1

r4(config-router)#no auto-summary

r4(config-router)#network 20.1.1.4 0.0.0.0

 

(2)在R3上指定192.168.1.0为默认网关:

r3(config)#ip route 192.168.1.0 255.255.255.0 10.1.1.1

r3(config)#ip default-network 192.168.1.0

 

(3)查看R3的路由表情况:

r3#sh 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 10.1.1.1 to network 192.168.1.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

S*   192.168.1.0/24 [1/0] via 10.1.1.1

r3#

说明:R3已经成功将192.168.1.0定为默认网关。

 

(4)查看R4的路由表情况:

r4#sh 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

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

r4#

说明:因为ip default-network 指定的网段192.168.1.0并没有在EIGRP进程中,所以默认网关无法被传递。

 

(5R3将默认网关的网段192.168.1.0引入EIGRP

r3(config)#router eigrp 1

r3(config-router)#redistribute static metric 10000 100 255 1 1500

说明:将一条路由导入EIGRP,可以原本就是EIGRP进程的,或者重分布,或者通过命令network,但network的网段必须为直连。

 

 

(6)再次查看R4的路由表情况:

r4#sh 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 20.1.1.3 to network 192.168.1.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

D*EX 192.168.1.0/24 [170/284160] via 20.1.1.3, 00:00:27, FastEthernet0/1

r4#

说明:R4已经成功收到指向192.168.1.0的默认网关。

 

 

5.测试ip default-network同时在RIP与EIGRP的关联

说明:测试ip default-network的默认网关同时在RIP与EIGRP中的传递。

(1)在R3与R1之间配置RIP,R3与R2之间配置EIGRP:

R1:

r1(config)#router rip

r1(config-router)#network 192.168.1.0

r1(config-router)#network 10.0.0.0

 

R2:

r2(config)#router eigrp 1

r2(config-router)#no auto-summary

r2(config-router)#network 192.168.2.2 0.0.0.0

r2(config-router)#network 10.0.0.0

 

R3:

r3(config)#router rip

r3(config-router)#network 10.0.0.0

r3(config-router)#exit

r3(config)#router eigrp 1

r3(config-router)#network 10.0.0.0

 

说明:R1通过RIP向R3通告192.168.1.0/24,R2通过EIGRP向R3通告192.168.2.0/24。

(2)在R3上将192.168.1.0配置为默认网关,并查看路由表:

r3(config)#ip default-network 192.168.1.0

r3(config)#exi

 

r3#sh 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 10.1.1.1 to network 192.168.1.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R*   192.168.1.0/24 [120/1] via 10.1.1.1, 00:00:14, FastEthernet0/0

D    192.168.2.0/24 [90/156160] via 10.1.1.2, 00:00:42, FastEthernet0/0

r3#

说明:192.168.1.0/24已经成功成为默认网关。

 

 

(3)增加192.168.2.0/24为默认网关,并查看路由表:

r3(config)#ip default-network 192.168.2.0

r3(config)#exi

 

r3#sh 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 10.1.1.2 to network 192.168.2.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R*   192.168.1.0/24 [120/1] via 10.1.1.1, 00:00:23, FastEthernet0/0

D*   192.168.2.0/24 [90/156160] via 10.1.1.2, 00:01:17, FastEthernet0/0

r3#

 

说明:因为当路由器上配置多条ip default-network后,拥有最低AD值的被使用,由于EIGRP通告的192.168.2.0/24的AD值为90,而RIP通告的192.168.1.0/24的AD值为120,所以192.168.2.0被优先使用,而忽略了路由条目在路由表中的上下排列顺序。

 

5.测试ip default-network与ip route 0.0.0.0 0.0.0.0共存

说明:测试ip default-network与ip route 0.0.0.0 0.0.0.0共同存在于路由表时,路由器对默认网关的选择。

(1)在R3使用命令ip route 0.0.0.0 0.0.0.0配置指向R4的默认网关,并查看路由表:

r3(config)#ip route 0.0.0.0 0.0.0.0 20.1.1.4

r3(config)#exi

 

r3#sh 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 20.1.1.4 to network 0.0.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    192.168.1.0/24 [120/1] via 10.1.1.1, 00:00:10, FastEthernet0/0

D    192.168.2.0/24 [90/156160] via 10.1.1.2, 00:03:57, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 20.1.1.4

r3#

说明:R3当前的默认网关为20.1.1.4,即R4。

 

(2)在R3上配置静态路由到172.16.0.0/16,并使用命令ip default-network指定为默认网关,并查看路由表:

r3(config)#ip default-network 172.16.0.0

r3(config)#exi

r3#

 

r3#sh 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 10.1.1.1 to network 172.16.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

S*   172.16.0.0/16 [1/0] via 10.1.1.1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    192.168.1.0/24 [120/1] via 10.1.1.1, 00:00:16, FastEthernet0/0

D    192.168.2.0/24 [90/156160] via 10.1.1.2, 00:08:46, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 20.1.1.4

r3#

说明:因为ip default-network 后面的网段172.16.0.0是通过静态路由指定的,所以优先于ip route 0.0.0.0 0.0.0.0,最终172.16.0.0成为了默认网关,需要注意,只有当ip default-network 后面的网段是通过静态路由指定时,才优先于ip route 0.0.0.0 0.0.0.0被使用。

 

(3)在R3上将ip default-network的网段改为通过RIP学习到的192.168.1.0指定为默认网关,并查看路由表:

r3(config)#no ip default-network 172.16.0.0

r3(config)#ip default-network 192.168.1.0 

r3(config)#

r3#sh 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 20.1.1.4 to network 0.0.0.0

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, FastEthernet0/1

S    172.16.0.0/16 [1/0] via 10.1.1.1

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R*   192.168.1.0/24 [120/1] via 10.1.1.1, 00:00:13, FastEthernet0/0

D    192.168.2.0/24 [90/156160] via 10.1.1.2, 00:10:05, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 20.1.1.4

r3#

说明:因为只有当ip default-network 后面的网段是通过静态路由指定时,才优先于ip route 0.0.0.0 0.0.0.0被使用,而192.168.1.0/24是通过RIP学习到的,所以此时ip route 0.0.0.0 0.0.0.0优先。

 

                                                                    返回目录

 

Classless与Classful

 大家都非常清楚,可以将一个IP网段划分成多个子网,子网的掩码可以是任意位数,比如将一个10.0.0.0/8的大网划分出10.1.1.0/2410.1.2.0/2410.1.3.0/24等等,划分出来的更小的网络叫做子网,而原来的大网络叫主网,也称为主类网络,A类地址掩码必须为8位才是主类网络,B类地址掩码必须为16位才是主类网络,C类地址掩码必须为24位才是主类网络。

 无论是主网还是子网,都会被路由器放入路由表,只是某些路由协议不能精确传递子网而已,但只要路由协议传递了子网和掩码,路由器就一定会将其放入路由表中。

 支持子网的功能被称为Classless,支持Classless可以与子网很好的协作,如果不支持子网,则被称为Classful,所以,一个路由协议是工作在Classless还是Classful,直接关系到路由信息中是否存在精确的子网信息,如RIPEIGRP,并且这些功能可以在协议中手工开启或关闭。

 路由协议有ClasslessClassful的说法,而IOS本身也有运行在Classless还是Classful的说法,IOS是工作在Classless还是Classful,并不影响路由表中是否有子网条目,也就是说,IOS工作在Classless还是Classful,并不影响路由表的建立,路由表不会有任何区别,但是,ClasslessClassful会决定路由器转发数据包的进程,影响如下:

 对于某个主类网络,如10.0.0.0/8,当路由表中存在其中部分子网,如10.1.1.0/2410.1.2.0/24,当工作在Classless时,对于已经知道的子网,路由器会将数据包精确地发送到相应出口,而对于并不知道的子网和其它所有未知目标网络,如10.1.3.0/2430.1.1.0/24,如果存在默认路由的话,路由器便将他们全部发送到默认路由所指示的出口;但是当路由器工作在Classful时,路由器知道了子网10.1.1.0/24,就始终会认为其它所有10.0.0.0/8范围内的子网都应该真实存在于网络中,会认为10.1.2.0/2410.1.3.0/24等等都存在于网络中,只是自己没有详细路由,这时,当路由器收到去往10.1.1.0/24的数据包时,可以正常转发,但是如果收到去往10.1.3.0/2430.1.1.0/24的数据包,当路由表中存在默认路由时,去往30.1.1.0/24的数据包会被发送到默认路由指示的出口,而去往10.0.0.0/8中的未知子网10.1.3.0/24的数据包则被全部丢弃而不走默认路由。

 由以上情况可以看出,路由器工作在Classful时,如果知道了某个主类网络中的部分子网后,其它所有未知子网的数据包将被全部丢弃而不转发,即使存在默认路由,也不会转发,而其它主类网络的数据包还是会正常转发。IOSClasslessClassful可以通过命令ip classlessno ip classless开启或关闭。

 

 

配置Classless与Classful

说明:以下图为例,测试Classless与Classful

 

 

 

1。配置基础网络环境

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip add 12.1.1.1 255.255.255.0

r1(config-if)#no sh

r1(config-if)#exi

 

r1(config)#int loopback 10

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#exit

说明:R1连接10.1.1.0/24

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip add 12.1.1.2 255.255.255.0

r2(config-if)#no sh

r2(config-if)#exi

 

r2(config)#int f0/1

r2(config-if)#ip address 23.1.1.2 255.255.255.0

r2(config-if)#no sh

r2(config-if)#exit

 

(3)配置R3:

r3(config)#int f0/1

r3(config-if)#ip address 23.1.1.3 255.255.255.0

r3(config-if)#no sh

r3(config-if)#exit

 

r3(config)#int loopback 10

r3(config-if)#ip add 10.1.3.1 255.255.255.0

 

r3(config)#int loopback 30

r3(config-if)#ip address 30.1.1.1 255.255.255.0

说明:说明:R3连接10.1.3.0/2430.1.1.0/24

2.测试基础网络

说明:R1R2之间启用EIGRPR1将子网10.1.1.0/24通告给R2

(1R1R2之间启用EIGRP:

R1

r1(config)#router eigrp 1

r1(config-router)#network 10.0.0.0

r1(config-router)#network 12.0.0.0

r1(config-router)#no auto-summary

 

R2

r2(config)#router eigrp 1

r2(config-router)#network 12.0.0.0

r2(config-router)#no auto-summary

 

(2)查看R2的路由表:

r2#sh 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

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

D       10.1.1.0 [90/156160] via 12.1.1.1, 00:01:46, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

r2#

说明:R2已经从EIGRP学习到10.1.1.0/24

 

(3)分别测试R210.1.1.0/2410.1.3.0/2430.1.1.0/24的连通性:

r2#ping 10.1.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 16/87/216 ms

r2#

r2#ping 10.1.3.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.3.1, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

r2#

r2#

r2#ping 30.1.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

r2#

说明:10.1.1.0/24可以通信,但由于没有去往10.1.3.0/2430.1.1.0/24的路由,所以通信失败。

 

3.测试Classless与Classful

(1)在R2上配置指向R3的默认路由:

r2(config)#ip route 0.0.0.0 0.0.0.0 23.1.1.3

 

(2)测试到10.1.3.0/2430.1.1.0/24的连通性:

r2#ping 10.1.3.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.3.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 44/136/240 ms

r2#

r2#

 

 

r2#ping 30.1.1.1      

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 32/104/272 ms

r2#

r2#

说明:因为配置了指向R3的默认路由,而10.1.3.0/2430.1.1.0/24R3直连,所以通信成功。因为IOS默认工作在Classless。

 

(3)关闭IOClassless功能,并查看路由表:

r2(config)#no ip classless

r2(config)#

r2#sh 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 23.1.1.3 to network 0.0.0.0

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

     10.0.0.0/24 is subnetted, 1 subnets

D       10.1.1.0 [90/156160] via 12.1.1.1, 00:07:23, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

S*   0.0.0.0/0 [1/0] via 23.1.1.3

r2#

说明:可以看见,Classless与Classful并不影响路由表的建立。

 

(4)再次测试R3到10.1.3.0/2430.1.1.0/24的连通性:

r2#ping 10.1.3.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.3.1, timeout is 2 seconds:

.....

Success rate is 0 percent (0/5)

r2#

r2#

 

r2#ping 30.1.1.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 30.1.1.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 60/114/196 ms

r2#

说明:结果证明,ClassfulR2丢弃了去往10.0.0.0/8范围内的子网10.1.3.0/24的数据包,而其它主类网络的流量30.1.1.0/24则走了默认路由,所以R210.1.3.0/24通信失败,而到30.1.1.0/24通信正常。

 

(5)开启Classless后再次测试到10.1.3.0/24的连通性:

r2(config)#ip classless   

r2(config)#exit

r2#ping 10.1.3.1

 

Type escape sequence to abort.

Sending 5, 100-byte ICMP Echos to 10.1.3.1, timeout is 2 seconds:

!!!!!

Success rate is 100 percent (5/5), round-trip min/avg/max = 32/116/260 ms

r2#

 

说明:由于R2开启了Classless功能,所以所有未知目标的数据包全部走默认路由,所以最后R210.1.3.0/24通信成功。

 

 

默认路由重点总结:

ip default-gateway只能为路由器配置一个默认网关,并且只能在关闭路由功能的模式下使用;

如果使用命令ip default-network配置了多条默认网关,拥有最低AD值的网段将被选为默认网关,如果多条网段AD值全部相同,最后比较路由条目在路由表中的上下排列顺序,也就是使用命令show ip route时,所显示在最上面的条目被优先使用;

如果同时使用ip default-networkip route 0.0.0.0 0.0.0.0配置了多条默认网关,ip default-network会被优先选用,如果ip default-network指定的路由是靠动态路由协议学来的,则ip route 0.0.0.0 0.0.0.0被优先选用。

但如果使用多条ip route 0.0.0.0 0.0.0.0配置了多条默认网关,并不会只选择其中一条,而是在多条ip route 0.0.0.0 0.0.0.0中执行负载均衡。

 

                                                                    返回目录

 

RIP

 

概述

 RIP是在小型TCP/IP网络中使用最普遍的动态路由协议,是一个稳定的协议。

 RIP是一个内部网关路由协议(Interior Gateway Protocol,即IGP),只能在单个AS内传递路由信息。

 RIP被定义为距离矢量路由协议,而距离矢量路由协议的根本特征就是自己的路由表是完全从其它路由器学来的,并且将收到的路由条目一丝不变地放进自己的路由表,以供数据转发。正因为如此,对于路由是否正确,对于目标是否可达,RIP全然不知。

 RIP使用跳数作为metric,跳数就是到达目标网络所需要经过的路由器个数,因为直连网络不需要经过任何路由器,所以直连网络的metric0RIP所支持网络的最大跳数为15,也就是metric值最大为15,一条大于15,如16,被RIP认为目标不可达,由此可见,RIP并不适合大型网络。

 RIP共有两个版本,ver 1ver2,管理距离(Ddministrative Distance)120

 RIP使用UDP协议,端口号520将路由条目从开启了RIP进程的接口上发出,ver 1使用广播地址255.255.255.255发出,而ver 2使用组播地址224.0.0.9发出。

 无论是ver 1还是ver 2,都会将路由表每30秒定期向网络中发送,RIP没有邻居的概念,所以自己并不知道发出去的路由更新是不是有路由器收到,而收到的路由更新,RIP并不会绝对接受,只有当路由的发送IP地址和自己接收的接口IP地址处于同网段时,才会接收,否则忽略。如果路由表中的路由超过180秒都没有再次收到更新,则被标记为不可用,如果连续240秒没收到更新,最后将相应路由从路由表中删除。

 RIP在将路由发出去之前,都会在原来的metric值基础上加1后发出去,虽然RIP采用定期更新,但是当路由发生变化时,也会立即发送更新,如果检测到某路由不可用,则将路由的metric值设为16,然后发出去,这样,接收到的路由器自然会将该路由从自己的路由表中删除。

 RIP有两个版本,发送的路由更新同样分为两个版本ver 1ver2,如果在配置RIP时,没有指定版本,那么默认可以同时接收ver 1ver 2的更新,但默认只发送ver 1,可以通过手工配置接口接收或发送更新版本的能力。

 正因为RIP发出去的更新任何路由器都可以接收,所以为了安全,RIP可以加密更新,但只有ver 2才可以启用认证,而ver 1是不可以的,认证同时支持明文和MD5

 RIP ver 1会将收到的路由自动汇总为主类网络,并且无法关闭该功能,为什么RIP ver1会自动汇总网络而不可关闭,是因为RIP 发送的ver 1更新中,路由条目只包含IP网络号,却没有掩码信息,这是个不可思议的麻烦事情,对于路由信息,RIP ver 1有一套奇怪的规则,在后面的实验中,将会详细解释。

RIP  ver 2改掉了RIP ver 1的某些缺点,就是在发送路由更新时,将路由的掩码一起发送,于是成就了RIP ver 2能够支持Classless Interdomain Routing (CIDR)Variable-Length Subnet Masks (VLSMs)的功能,但RIP ver 2默认也会自动汇总,只不过该功能可以手工关闭,同时,RIP还支持手工汇总路由信息,但手工汇总也是有条件限制的,需要明确说明的是,汇总是针对发出的路由有效,也就是对其它路由器生效。

 无论是RIP ver 1还是RIP ver 2,都可以在接口上关闭发送路由的功能,该功能称为Passive-Interface(即被动接口),两个版本都可以通过Offset list来增加路由的metric,只可以增加,不可以减少。

 RIP也有自己的Database,会将收到的路由存放于Database中,而RIPDatabase并没有特别之处,只是个存放路由的仓库。

 RIP可以使用接口上的Secondary IP地址作为更新的源地址。

 为了防止引起路由环路,RIP引入了水平分割(Split Horizon)的机制,即从一个接口收到路由更新,不会再从这个接口将收到的路由发回去。默认情况下,Frame-Felay主接口是关闭的,而无论是Frame-Felay点到点子接口还是多点子接口都是默认开启的,除此之外,普通HDLC封装的串口,以太网接口也都是默认开启的。

                                                                    返回目录

 

RIP ver 1 路由更新

 RIP ver 1使用广播地址255.255.255.255发送路由更新,所以同网段任何节点都能收到该更新信息。

 RIP ver 1会将收到的路由自动汇总为主类网络,并且无法关闭该功能,结果为RIP ver1的收到的路由条目全部都为主类,即掩码总是为8位,16位,24位其中的一种,但并不永远都是这样子,因为RIP 发送的ver 1更新中,路由条目只包含IP网络号,并没有掩码长度,所以对于收到的路由条目,掩码是接收路由器自己加上去的,由于自动汇总,从而造成所有路由的掩码长度都归为了8位,16位,24位;但有一种情况是绝对的例外,那就是如果收到的路由条目与接收该路由的接口属于同一主类网络时,那么该路由则被加上与该接收接口IP地址相同的掩码长度,比如路由器的接口地址是10.1.1.2/24,从该接口上收到一条路由10.1.2.0,则给10.1.2.0加上24位的掩码长度,而不会自动汇总是8位掩码。由此可以看出,RIP给路由的掩码,只是猜测的,也许该路由并不是自己所猜的掩码长度,因此可能会造成网络中路由表的不精确。但是当接收路由的接口配有Secondary地址时,则采用Secondary地址的掩码长度赋予接收路由,例如收到的路由为10.1.2.0,而接口主IP地址为10.1.1.2/24Secondary IP地址为10.1.1.3/25,那么将设定10.1.2.0的掩码长度为25位,所以RIP采用Secondary IP的掩码长度优先。

 RIP始终认为与自己直连的对端路由器的IP地址和自己是同子网的,认为双方掩码是相同的,其实这也只是RIP路由器自己认为而已,它并没有办法知道对方是否真的与自己在同一子网。有时,RIP希望避免造成不必要的错误,比如自己有条路由条目为10.1.3.0/25,当要将该路由从某个接口发出去之前,都会做一次检测,如果检测到该接口的IP地址与需要发送的路由属于同一主类,那么两者必须拥有相同的掩码长度,才会将路由发出,例如接口IP地址为10.1.1.1/25,要发送的路由为10.1.3.0/25,这时要发送的路由与接口属于同一主类,并且路由的掩码长度与接口掩码长度也相同,所以可以成功发出10.1.3.0/25,但是如果接口IP地址的掩码长度不是25位,例如IP地址为10.1.1.1/24,那么最后因为两者的掩码长度不同,从而放弃发送10.1.3.0,因为RIP认为接口对端的接收者应该和自己属于同一子网,应该是10.1.1.0/24IP地址,如果对方收到10.1.3.0,必定会将掩码定义为24位(10.1.3.0/24),所以RIP知道将该路由发给对方后,会造成对方路由表错误,因此在明知对方会犯错的情况下,采用不发送该路由的方式来避免对方犯错误。

 

 

测试RIP ver 1 路由更新

说明:以下图为例,测试RIP ver 1 路由更新

 

 

 

1.配置基础网络环境

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#no sh

r1(config-if)#exit

 

r1(config)#int loopback 10

r1(config-if)#ip add 10.1.2.1 255.255.255.0

 

r1(config)#int loopback 11

r1(config-if)#ip address 10.1.3.1 255.255.255.128

说明:F0/010.1.1.0/24网段,loopback 1010.1.2.0/24网段,loopback 1110.1.3.0/25网段。

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip address 10.1.1.2 255.255.255.0

r2(config-if)#no sh

说明:F0/010.1.1.0/24网段。

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip address 10.1.1.3 255.255.254.0

r3(config-if)#no sh

说明:F0/010.1.1.0/23网段。

 

2.测试RIP ver 1 路由更新

(1)同时配置3台路由器的RIP进程:

r1(config)#router rip

r1(config-router)#network 10.0.0.0

 

r2(config)#router rip

r2(config-router)#network 10.0.0.0

 

r3(config)#router rip

r3(config-router)#network 10.0.0.0

说明:在3台路由器上开启RIP,默认发送ve 1更新,RIP在发布网段时,即使只需要发布某子网,但也只能使用主类网络。

 

(2)查看R1发出的RIP更新:

r1#debug ip rip

RIP protocol debugging is on

r1#

*Mar  1 00:14:12.939: RIP: sending v1 update to 255.255.255.255 via

 

FastEthernet0/0 (10.1.1.1)

*Mar  1 00:14:12.939: RIP: build update entries

*Mar  1 00:14:12.939:   subnet 10.1.2.0 metric 1

*Mar  1 00:14:14.959: RIP: sending v1 update to 255.255.255.255 via

 

Loopback10 (10.1.2.1)

*Mar  1 00:14:14.959: RIP: build update entries

*Mar  1 00:14:14.959:   subnet 10.1.1.0 metric 1

*Mar  1 00:14:16.287: RIP: sending v1 update to 255.255.255.255 via

 

Loopback11 (10.1.3.1)

*Mar  1 00:14:16.287: RIP: build update entries - suppressing null update

r1#

说明:RIP默认向广播地址255.255.255.255发送ve 1更新,自己直连的网段10.1.2.0虽然metric值为0,但在发出去时,都是加1再发送的,而RIP收到更新时,是不会加metric的,收到时是多少,放进路由表还是多少。还可以看出RIP ve 1的路由更新中,并没有掩码长度。

 

 

(3)查看R2收到的RIP更新:

r2#sh 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, 2 subnets

R       10.1.2.0 [120/1] via 10.1.1.1, 00:00:26, FastEthernet0/0

C       10.1.1.0 is directly connected, FastEthernet0/0

r2#

说明:R2成功收到了10.1.2.0,因为自己接口IP地址为10.1.1.2/24,所以赋予了10.1.2.0的掩码长度也是24位,这与原路由完全相同。对于为什么没有收到10.1.3.0/25,从之前R1上的debug就可以看出,由于要发送的路由与接口属于同一主类,但是路由的掩码长度与接口掩码长度不同,所以R1就已经放弃了发送10.1.3.0

 

 

(4)查看R3收到的RIP更新:

r3#sh 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/23 is subnetted, 2 subnets

R       10.1.2.0 [120/1] via 10.1.1.1, 00:00:16, FastEthernet0/0

C       10.1.0.0 is directly connected, FastEthernet0/0

r3#

说明:R3也成功收到了10.1.2.02,但因为自己接口IP地址为10.1.1.3/23,所以赋予了10.1.2.0的掩码长度也是23位,结果这条路由被R3认为是10.1.2.0/23,很显然,这是错误的,所以可以看出,当RIP路由器双方IP地址在同一主类,但掩码长度不同时,会造成路由表的不精确,或者造成错误。

 

 

(5)使用Secondary 地址让R3纠正路由信息:

r3(config-if)#ip add 10.1.1.33 255.255.255.0 secondary

 

查看路由:

r3#sh 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/8 is variably subnetted, 3 subnets, 2 masks

R       10.1.2.0/24 [120/1] via 10.1.1.1, 00:00:03, FastEthernet0/0

C       10.1.1.0/24 is directly connected, FastEthernet0/0

C       10.1.0.0/23 is directly connected, FastEthernet0/0

r3#

说明:可以看见,当接收路由的接口配有Secondary地址时,优先采用了Secondary地址的掩码长度赋予接收到的路由,最终10.1.2.0被纠正为10.1.2.0/24,该信息现在与原路由完全相同。

 

 

(6)测试R2添加Secondary 地址后的情况:

r2(config)#int f0/0

r2(config-if)#ip add 10.1.1.22 255.255.255.128 secondary

 

 

r2#sh 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/8 is variably subnetted, 3 subnets, 2 masks

R       10.1.2.0/25 [120/1] via 10.1.1.1, 00:00:02, FastEthernet0/0

C       10.1.1.0/25 is directly connected, FastEthernet0/0

C       10.1.1.0/24 is directly connected, FastEthernet0/0

r2#

说明:在R2给接口配置Secondary地址为10.1.1.22/25后,由于优先采用了Secondary地址的掩码长度赋予接收到的路由,所以原本的10.1.2.0/24变成了10.1.2.0/25

 

 

(7)查看路由变化时的状态:

r1#debug ip rip

RIP protocol debugging is on

r1#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

r1(config)#int loopback 10

r1(config-if)#shutdown

 

*Mar  1 00:24:41.887: %LINK-5-CHANGED: Interface Loopback10, changed state to

 

administratively down

*Mar  1 00:24:41.895: RIP: sending v1 flash update to 255.255.255.255 via

 

FastEthernet0/0 (10.1.1.1)

*Mar  1 00:24:41.895: RIP: build flash update entries

*Mar  1 00:24:41.895:   subnet 10.1.2.0 metric 16

*Mar  1 00:24:41.899: RIP: sending v1 flash update to 255.255.255.255 via

 

Loopback11 (10.1.3.1)

*Mar  1 00:24:41.899: RIP: build flash update entries - suppressing null

 

update

*Mar  1 00:24:42.887: %LINEPROTO-5-UPDOWN: Line protocol on Interface

 

Loopback10, changed state to down

*Mar  1 00:24:44.079: RIP: received v1 update from 10.1.1.3 on

 

FastEthernet0/0

*Mar  1 00:24:44.083:      10.1.2.0 in 16 hops (inaccessible)

*Mar  1 00:24:44.087: RIP: received v1 update from 10.1.1.2 on

 

FastEthernet0/0

*Mar  1 00:24:44.087:      10.1.2.0 in 16 hops (inaccessible)

r1(config-if)#exi

 

说明:因为RIP所支持网络的最大跳数为15,而16跳被RIP认为目标不可达,便会从路由表中删除,所以RIP如果检测到某路由不可用,则将路由的metric值设为16,然后发出去,这样,接收到的路由器自然会将该路由从自己的路由表中删除。上面R110.1.2.0的接口shutdown后,R1立即将10.1.2.0设置metric16后发出去。

                                                                    返回目录

 

RIP ver 1 主机路由

 我们都知道,IP地址由网络位和主机位组成,网络位表示某个网络,而主机位则表示该网络中的某台主机,如果我们要表示某个网络,就将主机位全部变成0,例如10.1.0.0/16,因为最后16个主机位全部为0,所以10.1.0.0/16是个网络地址;如果主机位不全为0,只要任何一位为1,则表示主机地址,而不是网络地址,例如10.1.1.0/16,可以看见最后16个主机位中,并不全部为0,因为主机位1.0变成二进制为:

0 0 0 0  0 0 0 1  0 0 0 0  0 0 0 0

其中有一个bit1,所以10.1.1.0/16是主机地址。

 路由表是用来存放网段信息的,所有路由表中的内容都应该是网络地址,而不应该有主机地址,但是路由表并不是不允许主机地址存在于路由表中,当路由协议收到的路由更新为一个主机地址时,也就是主机位不是全0的条目,那么该条目被认为是一个主机地址,以32位的掩码存放在路由表中。

 RIP协议在收到主机位不全为0的路由信息时,同样会认为是主机地址,从而以32位的掩码存放在路由表中。由于RIP ver 1的路由条目中并不包含掩码长度,所以也就并不知道网络位是哪部分,主机位又是哪部分,因此,如果收到的路由与接收接口不属于同一主类,则一律使用主类地址来检测,但如果收到的路由与接收接口属于同一主类,则以该接口IP地址的掩码长度来检测,最后计算出是否是主机地址,如果是,就以32位的掩码存放在路由表中。

 

 

 

测试  RIP ver 1 主机路由

 

 

 

说明:以类似上一个实验的拓朴,来测试RIP ver 1 主机路由

 

1.增加测试网段

说明:以上一个实验的拓朴为基础,测试RIP ver 1 主机路由,网络基础配置同上一个实验,并且已经全部启用RIP

 

(1)在R1上增加测试网段:

r1(config)#int loopback 17

r1(config-if)#ip address 10.1.17.1 255.255.255.0

说明:在R1上增加10.1.17.0/24网段。

 

2.测试主机路由

(1)查看R3的路由情况:

r3#sh 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/8 is variably subnetted, 3 subnets, 2 masks

R       10.1.2.0/23 [120/1] via 10.1.1.1, 00:00:20, FastEthernet0/0

C       10.1.0.0/23 is directly connected, FastEthernet0/0

R       10.1.17.0/32 [120/1] via 10.1.1.1, 00:00:20, FastEthernet0/0

r3#

说明:因为R3的接收接口地址为23位掩码长度,并且收到的路由10.1.17.0与该接收接口地址属于同一主类,所以使用23位掩码长度来计算10.1.17.0是否属于主机路由,过程为:

23位掩码长度的主机位为9位,那么查看收到的路由条目最后9位是否全为0,如果不是,则为主机路由,而10.1.17.0的最后1617.0换算成二进制为:

 0 0 0 1  0 0 0 1    0 0 0 0  0 0 0 0

很明显,后面9位为  1 0 0 0 0 0 0 0 0,不是全部都为0,所以10.1.17.0R3认为是主机路由,从而以32位长度的掩码放在路由表中,由此可见,RIP 路由器双方如果掩码不匹配,则会造成路由表不精确或路由表错误。

 

 

(2)查看R2的路由情况

r2#sh 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, 3 subnets

R       10.1.2.0 [120/1] via 10.1.1.1, 00:00:19, FastEthernet0/0

C       10.1.1.0 is directly connected, FastEthernet0/0

R       10.1.17.0 [120/1] via 10.1.1.1, 00:00:19, FastEthernet0/0

r2#

说明:R2接收到10.1.2.0,而接收接口掩码长度为24位,所以以24位长度计算,10.1.2.0不属于主机路由,最终以10.1.2.0/24存放在路由表中,该信息完全正确。

 

 

(3)继续在R1增加主机路由:

r1(config)#int loopback 17

r1(config-if)#ip address 10.1.31.1 255.255.255.0 secondary

r1(config-if)#ip address 10.1.41.1 255.255.255.0 secondary

说明:R1增加了10.1.31.010.1.41.0

 

(4)再次查看R3的路由表情况:

r3#sh 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/8 is variably subnetted, 5 subnets, 2 masks

R       10.1.2.0/23 [120/1] via 10.1.1.1, 00:00:17, FastEthernet0/0

C       10.1.0.0/23 is directly connected, FastEthernet0/0

R       10.1.31.0/32 [120/1] via 10.1.1.1, 00:00:16, FastEthernet0/0

R       10.1.17.0/32 [120/1] via 10.1.1.1, 00:00:17, FastEthernet0/0

R       10.1.41.0/32 [120/1] via 10.1.1.1, 00:00:11, FastEthernet0/0

r3#

说明:同上原理,R323位掩码计算10.1.31.010.1.41.0,结果两条路由的9个主机位并不全为0,所以被当作主机路由,要产生主机路由,可以手工配置对于接收者来说主机位并不是全为0的网段即要。

(5)再次查看R2的路由表情况:

r2#sh 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, 5 subnets

R       10.1.2.0 [120/1] via 10.1.1.1, 00:00:08, FastEthernet0/0

C       10.1.1.0 is directly connected, FastEthernet0/0

R       10.1.31.0 [120/1] via 10.1.1.1, 00:00:08, FastEthernet0/0

R       10.1.17.0 [120/1] via 10.1.1.1, 00:00:08, FastEthernet0/0

R       10.1.41.0 [120/1] via 10.1.1.1, 00:00:08, FastEthernet0/0

r2#

说明:路由表正常,计算方法同上,不再解释。

 

                                                                   返回目录

RIP 路由更新源

 RIP会每隔30秒定期使用广播或者组播向开启了RIP的接口上发出路由更新,RIP没有邻居的概念,所以自己并不知道发出去的路由更新被什么样的路由器收到,从之前的实验我们可以看出,当RIP路由器相互之间IP地址或子网掩码长度不匹配时,都会造成路由不精确或者路由表错误,因此,RIP收到的路由更新源地址必须和接收接口处于相同子网,即使是源地址和接收接口的Secondary地址处于相同子网也可以,否则忽略收到的路由更新,该功能称为RIP的更新源有效性,可以手动关闭或打开,默认为开启状态。

 当接口上配置Secondary地址并发布到RIP进程后,所有路由信息从该接口发出去时,会同时使用主IP地址与Secondary地址分别发送一次。

 

注:接口上Secondary地址可以作为路由更新的源地址,但Secondary地址的网段不会被RIP更新出去。

 

 

测试RIP 路由更新源

说明:该功能默认为开启状态,RIP ver 1ver 2均适用。

 

 

 

 

说明:以上图为例,测试RIP 路由更新源

 

1.配置基础网络环境

(1)配置R1:

r1(config)#int loopback 11

r1(config-if)#ip add 11.1.1.1 255.255.255.0

 

r1(config)#int f0/0

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#router rip

r1(config-router)#network 11.0.0.0

r1(config-router)#network 10.0.0.0

 

说明:在R1上配置10.1.1.0/2411.0.0.0/24,并发布到RIP中。

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip add 10.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#router rip

r2(config-router)#network 10.0.0.0

说明:在R2上配置10.1.1.0/24,并发布到RIP中。

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip add 30.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router rip

r3(config-router)#network 30.0.0.0

说明:在R3上配置10.1.1.0/24,并发布到RIP中。

 

2.测试路由

(1)查看R2的路由情况:

r2#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    11.0.0.0/8 [120/1] via 10.1.1.1, 00:00:29, FastEthernet0/0

r2#

说明:因为R1R2接口地址都在10.1.1.0/24网段,所以满足条件,R2正常收到路由。

 

(2)查看R3的路由情况:

r3#sh 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

 

     30.0.0.0/24 is subnetted, 1 subnets

C       30.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:因为R1发出的路由更新的源地址在10.1.1.0,而R3的接收接口地址在30.1.1.0,双方处于不同子网,所以R3并没有认可R1发来的路由。

以下是R3上的debug 信息:

r3#debug ip rip

RIP protocol debugging is on

r3#

*Mar  1 00:08:32.219: RIP: sending v1 update to 255.255.255.255 via

 

FastEthernet0/0 (30.1.1.3)

*Mar  1 00:08:32.219: RIP: build update entries - suppressing null update

*Mar  1 00:08:35.003: RIP: ignored v1 update from bad source 10.1.1.1 on

 

FastEthernet0/0

r3#

说明:R3因为R1不合法的源地址,所以忽略了从10.1.1.0发来的路由更新。

 

3.解决路由接收

(1)在R3上使用Secondary地址解决:

r3(config)#int f0/0

r3(config-if)#ip address 10.1.1.3 255.255.255.0 secondary

 

 

 

 

r3#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    11.0.0.0/8 [120/1] via 10.1.1.1, 00:00:10, FastEthernet0/0

     30.0.0.0/24 is subnetted, 1 subnets

C       30.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:因为R3在接收接口上配置与R1更新源地址同子网的10.1.1.0的地址,所以源地址和接收接口的Secondary地址处于相同子网,最后将接收到的路由更新放入路由表中。

 

 

(2)关闭更新源有效性检测:

r3(config)#int f0/0

r3(config-if)#no ip address 10.1.1.3 255.255.255.0 secondary

 

r3(config)#router rip

r3(config-router)#no va

r3(config-router)#no validate-update-source

说明:R3关闭了更新源有效性检测,并去除了Secondary地址,再次查看路由表:

r3#sh 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

 

R    11.0.0.0/8 [120/1] via 10.1.1.1, 00:00:02

     30.0.0.0/24 is subnetted, 1 subnets

C       30.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:当关闭了更新源有效性检测后,所有接收到的路由更新即使地址不合法,也都被放入路由表

 

 

(3)在R3上配置Secondary地址解决:

r3(config)#router rip

r3(config-router)#validate-update-source

 

r1(config)#int f0/0

r1(config-if)#ip address 30.1.1.1 255.255.255.0 secondary

 

1(config)#router rip

r1(config-router)#network 30.0.0.0

 

说明:在R1上配置Secondary地址,并放入RIP进程,同时在R3上恢复更新源有效性检测。

 

(4)再次查看R3的路由接收情况:

r3#debug ip rip

RIP protocol debugging is on

*Mar  1 00:17:20.971: RIP: ignored v1 update from bad source 10.1.1.1 on

FastEthernet0/0

*Mar  1 00:17:20.971: RIP: received v1 update from 30.1.1.1 on

 

FastEthernet0/0

*Mar  1 00:17:20.971:      11.0.0.0 in 1 hops

r3#

 

r3#sh 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

 

R    11.0.0.0/8 [120/1] via 30.1.1.1, 00:00:27, FastEthernet0/0

     30.0.0.0/24 is subnetted, 1 subnets

C       30.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:因为R1同时使用了接口主地址10.1.1.1Secondary地址30.1.1.1各发了一份路由更新,R3虽然忽略了10.1.1.1发来的更新,但接收了30.1.1.1的更新,所以从30.1.1.1收到的路由被放入了路由表中。

 

 

(5)使R2接收所有路由:

r2(config)#router rip

r2(config-router)#no validate-update-source

 

 

r2#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    11.0.0.0/8 [120/1] via 30.1.1.1, 00:00:06

                [120/1] via 10.1.1.1, 00:00:06, FastEthernet0/0

r2#

说明:R2关闭了更新源有效性检测后,同时接收了10.1.1.130.1.1.1发来的路由更新,

并且可以得知,R1接口上Secondary地址作为了路由更新的源地址,但Secondary地址的网段并没有被RIP更新出去。

                                                                    返回目录

 

RIP 触发更新

 由于无论是RIP ver 1还是ver 2,都会将路由表每隔30秒定期向网络中发送,但通常情况下,广域网链路带宽相对比较低速,而且带宽宝贵,为了能够更好的利用和节省广域网上的带宽,RIP可以调整为在广域网链路上抑制路由更新的发送,而只仅仅在路由有变化时,将有变化的路由发出去,这就是RIP 触发更新机制,并且是基于接口开启或关闭的。

 因为RIP是网络早期开发的,在早期时候,广域网都是串行链路,或者说是点到点链路,所以RIP 触发更新只支持在点到点链路上开启或关闭,对于Frame-Relay和以太网这样的多路访问接口中,不支持RIP 触发更新,但是Frame-Relay点到点子接口被RIP认为是点到点链路,可以开启触发更新。

 因为RIP的路由会每隔30秒更新一次,如果路由表中的路由超过180秒都没有再次收到更新,则被标记为不可用,如果连续240秒没收到更新,将会从路由表中删除,所以当某台RIP路由器开启触发更新后,在路由没有变动的情况下,便不再向对端发送路由更新,这样势必会造成对端路由器在240秒之后将收到的路由从路由表中删除,为了杜绝此类问题,

 RIP 触发的更新机制需要在两端路由器都开启,否则不生效。在双方都开启后,相互收到的路由都会被注明永久有效(permanent)而不需要再次收到更新。

 

注:RIP 触发更新支持ver 1ver 2

 

 

 

测试RIP 触发更新

 

说明:以上图为例,测试测试RIP 触发更新

 

1.配置基础网络环境

(1)配置R1:

r1(config)#int serial 1/0

r1(config-if)#encapsulation frame-relay

r1(config-if)#no frame-relay inverse-arp

r1(config-if)#no arp frame-relay

r1(config-if)#no ip address

r1(config-if)#no shutdown

 

r1(config)#int serial 1/0.12 point-to-point

r1(config-subif)#ip address 12.1.1.1 255.255.255.0

r1(config-subif)#frame-relay interface-dlci 102

 

r1(config)#int loopback 10

r1(config-if)#ip add 10.1.1.1 255.255.255.0

 

r1(config)#router rip

r1(config-router)#network 12.0.0.0

r1(config-router)#network 10.0.0.0

说明:在R1上配置网段12.1.1.010.1.1.0,因为R1R2通过Frame-Felay连接,而Frame-Felay只有点到点子接口才被认为是点到点链路。

 

(2)配置R2:

 

r2(config)#int serial 1/0

r2(config-if)#en frame-relay

r2(config-if)#no frame-relay inverse-arp

r2(config-if)#no arp frame-relay

r2(config-if)#no ip address

r2(config-if)#no shutdown

 

r2(config)#int serial 1/0.12 point-to-point

r2(config-subif)#ip address 12.1.1.2 255.255.255.0

r2(config-subif)#frame-relay interface-dlci 201

 

 

r2(config)#int loopback 20

r2(config-if)#ip address 20.1.1.1 255.255.255.0

 

r2(config)#router rip

r2(config-router)#network 12.0.0.0

r2(config-router)#network 20.0.0.0

说明:在R2上配置网段12.1.1.020.1.1.0,并放入RIP进程。

 

2 .测试RIP触发更新

(1)查看R1R2当前的路由表情况:

r1#sh 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

 

R    20.0.0.0/8 [120/1] via 12.1.1.2, 00:00:15, Serial1/0.12

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, Loopback10

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, Serial1/0.12

r1#

 

 

r2#sh 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

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, Loopback20

R    10.0.0.0/8 [120/1] via 12.1.1.1, 00:00:11, Serial1/0.12

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, Serial1/0.12

r2#

说明:R1R2当前路由表正常,都能成功收到对方发来的路由。

 

(2)在R1接口上开启RIP触发更新:

r1(config)#int serial 1/0.12

r1(config-subif)#ip rip triggered

说明:在接口上成功输入RIP触发更新的命令,并不代表RIP触发更新就已经生效。

 

(3)在R1上查看RIP触发更新是否生效:

 

r1#sh ip protocols

Routing Protocol is "rip"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Sending updates every 30 seconds, next due in 12 seconds

  Invalid after 180 seconds, hold down 0, flushed after 240

  Redistributing: rip

  Default version control: send version 1, receive any version

    Interface             Send  Recv  Triggered RIP  Key-chain

    Serial1/0.12          1     1 2                                 

    Loopback10            1     1 2                                 

  Automatic network summarization is in effect

  Maximum path: 4

  Routing for Networks:

    10.0.0.0

    12.0.0.0

  Routing Information Sources:

    Gateway         Distance      Last Update

    12.1.1.2             120      00:00:14

  Distance: (default is 120)

 

r1#

说明:并没有任何信息显示RIP触发更新已生效。

 

(4)在R2上也开启RIP触发更新:

r2(config)#int serial 1/0.12

r2(config-subif)#ip rip tri

r2(config-subif)#ip rip triggered

说明:在R2上也开启了RIP触发更新,保持双方一致。

 

(5)再次查看RIP触发更新是否生效:

 

r1#sh ip protocols

Routing Protocol is "rip"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Sending updates every 30 seconds, next due in 3 seconds

  Invalid after 180 seconds, hold down 0, flushed after 240

  Redistributing: rip

  Default version control: send version 1, receive any version

    Interface             Send  Recv  Triggered RIP  Key-chain

    Serial1/0.12          1     1 2        Yes                      

    Loopback10            1     1 2                                 

  Automatic network summarization is in effect

  Maximum path: 4

  Routing for Networks:

    10.0.0.0

    12.0.0.0

  Routing Information Sources:

    Gateway         Distance      Last Update

    12.1.1.2             120      00:00:26

  Distance: (default is 120)

 

r1#

说明:在双方路由器都开启RIP触发更新后,输出结果显示RIP触发更新已生效。

 

(6)再次查看R1的路由表情况:

r1#sh 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

 

R    20.0.0.0/8 [120/1] via 12.1.1.2, 00:05:18, Serial1/0.12

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, Loopback10

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, Serial1/0.12

r1#

说明:从路由表中可以看出,RIP收到的路由20.0.0.0/8518秒还没再次收到更新的情况下,也没有从路由表中删除,因为开了RIP触发更新,不会再收到路由更新。

 

(7)查看R1RIP数据库状态:

 

r1#sh ip rip da

r1#sh ip rip database

10.0.0.0/8    auto-summary

10.1.1.0/24    directly connected, Loopback10

12.0.0.0/8    auto-summary

12.1.1.0/24    directly connected, Serial1/0.12

20.0.0.0/8    auto-summary

20.0.0.0/8

    [1] via 12.1.1.2, 00:05:24 (permanent), Serial1/0.12

   * Triggered Routes:

     - [1] via 12.1.1.2, Serial1/0.12

r1#

说明:结果显示R1收到的路由20.0.0.0/8当前为触发更新状态,所以注明该路由不需要更新,而是永久有效(permanent)。

 

(8)查看R2的路由表与RIP数据库状态:

 

r2#sh 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

 

     20.0.0.0/24 is subnetted, 1 subnets

C       20.1.1.0 is directly connected, Loopback20

R    10.0.0.0/8 [120/1] via 12.1.1.1, 00:05:38, Serial1/0.12

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, Serial1/0.12

r2#

r2#sh ip rip da

r2#sh ip rip database

10.0.0.0/8    auto-summary

10.0.0.0/8

    [1] via 12.1.1.1, 00:05:42 (permanent), Serial1/0.12

   * Triggered Routes:

     - [1] via 12.1.1.1, Serial1/0.12

12.0.0.0/8    auto-summary

12.1.1.0/24    directly connected, Serial1/0.12

20.0.0.0/8    auto-summary

20.1.1.0/24    directly connected, Loopback20

r2#

 

说明:同样,R2R1收到的路由10.0.0.0/8538秒没有再次收到更新,也没有从路由表中删除,数据库中也显示该路由为触发更新路由,并且为永久有效。

 

                                                                    返回目录

 

 RIP 单播更新

 

 RIP ver 1只能工作在Classful模式下,虽然RIP ver 2可以工作在Classless下,但是在使用命令network发布网段时,都只能发布主类网络,例如路由器上有三个网段,分别为10.1.1.0/2410.1.2.0/2410.1.3.0/24,如果要将10.1.1.0/24放入RIP进程,只能使用命令network 10.0.0.0,因为使用network 10.1.1.0network 10.0.0.0是同样的结果,而10.0.0.0将路由器上三个网段全部包含在内了,所以在配置RIP时,只能将所有接口都放入进程,但是可以想象,只想将单个接口放入进程,结果却是将所有接口放入进程,这种做法是不理想的,因为这种配置不仅将某些不必要的网段通告给了其它路由器,同时也在不必要的接口上周期性发送路由更新。为了解决上述问题,RIP可以抑制从某个接口发送更新,称为RIP被动接口(Passive-Interface)这不同于RIP触发更新,因为开启触发更新的接口,只是平时不向该接口发送路由更新,而在路由在变动时,同样会发送,但RIP被动接口则是永远不再向该接口发送更新。

 RIP ver 1使用广播更新,RIP ver 2使用组播更新,除此之外,无论是RIP ver 1还是ver 2,都可以选择使用单播地址更新,就是将路由更新的目的地址使用单播地址来代替广播和组播,如果开启单播更新之后,RIP除了使用单播更新外,还会继续使用原来的组播和广播更新,也就是开启单播更新后,RIP的路由更新没有减少,反而增加了,这样就变成了掩耳盗铃,但是不用担心,在这里,有个特殊的情况,就是RIP被动接口虽然可以抑制从某个接口发送路由更新,但是被动接口不能抑制单播更新,只能抑制广播和组播,所以答案很明显,我们在采用单播更新的时候,可以利用被动接口消除其它不必要的路由更新。

 

 

注:

RIP被动接口可以对单个接口生效,也可以对RIP进程下的所有接口生效,开启了被动接口后,该接口虽然不向外发送路由更新,但依然可以接收路由更新。

单播更新的目标地址必须在自己的直连网段,否则不会发送更新。

 

 

测试RIP 单播更新

 说明:以下图为例,测试RIP 单播更新。

 

1.配置基础网络环境

(1)配置R1

r1(config)#int f0/0

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#int loopback 11

r1(config-if)#ip add 11.1.1.1 255.255.255.0

 

r1(config)#router rip

r1(config-router)#network 10.0.0.0

r1(config-router)#network 11.0.0.0

说明:在R1上配置11.1.1.0/2410.1.1.0/24,并放入RIP进程。

 

(2)配置R2

r2(config)#int f0/0

r2(config-if)#ip add 10.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#router rip

r2(config-router)#network 10.0.0.0

说明:在R1上配置10.1.1.0/24,并放入RIP进程。

 

(3)配置R3

r3(config)#int f0/0

r3(config-if)#ip address 10.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router rip

r3(config-router)#network 10.0.0.0

说明:在R1上配置10.1.1.0/24,并放入RIP进程。

 

2.测试RIP 单播更新

(1)查看R1发送的RIP更新:

r1#debug ip rip

RIP protocol debugging is on

r1#

*Mar  1 00:09:47.615: RIP: sending v1 update to 255.255.255.255 via FastEthernet0/0 (10.1.1.1)

*Mar  1 00:09:47.615: RIP: build update entries

*Mar  1 00:09:47.615:   network 11.0.0.0 metric 1

r1#

说明:默认情况下,RIP使用广播地址发送ver 1路由更新。

 

 

 

(2)在R1开启单播更新:

r1(config)#router rip

r1(config-router)#neighbor 10.1.1.2

说明:单播向10.1.1.2发送更新。

 

(3)再次查看R1发送的RIP更新:

 

r1#debug ip rip

RIP protocol debugging is on

r1#

*Mar  1 00:39:05.859: RIP: sending v1 update to 255.255.255.255 via FastEthernet0/0 (10.1.1.1)

*Mar  1 00:39:05.859: RIP: build update entries

*Mar  1 00:39:05.859:   network 11.0.0.0 metric 1

*Mar  1 00:39:05.863: RIP: sending v1 update to 10.1.1.2 via FastEthernet0/0 (10.1.1.1)

*Mar  1 00:39:05.863: RIP: build update entries

*Mar  1 00:39:05.863:   network 11.0.0.0 metric 1

*Mar  1 00:39:07.563: RIP: sending v1 update to 255.255.255.255 via Loopback11 (11.1.1.1)

*Mar  1 00:39:07.563: RIP: build update entries

*Mar  1 00:39:07.563:   network 10.0.0.0 metric 1

r1#

说明:RIP虽然向10.1.1.2发送单播更新,更是广播更新依然存在,这让单播更新毫无优势。

 

(4)开启RIP被动接口:

r1(config)#router rip

r1(config-router)#passive-interface default

说明:因为RIP已经开启单播更新,所以开启被动接口,过滤掉不必要的更新。命令passive-interface default在所有RIP接口上开启被动接口。

 

(5)再次查看R1发送的RIP更新:

r1#debug ip rip

RIP protocol debugging is on

r1#

*Mar  1 00:13:25.371: RIP: sending v1 update to 10.1.1.2 via FastEthernet0/0 (10.1.1.1)

*Mar  1 00:13:25.371: RIP: build update entries

*Mar  1 00:13:25.371:   network 11.0.0.0 metric 1

r1#

 

说明:虽然在所有RIP接口上开启了被动接口,抑制发广播发送路由更新,但向10.1.1.2的单播更新照样工作正常。

 

 

(6)查看R2的路由表:

r2#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    11.0.0.0/8 [120/1] via 10.1.1.1, 00:00:03, FastEthernet0/0

r2#

说明:虽然R1在所有RIP接口上开启了被动接口,但R1还是继续向R2单播发送路由更新,所以R2收到了R1发来的路由。

 

 

(7)查看R3的路由表:

r3#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

R    11.0.0.0/8 [120/1] via 10.1.1.1, 00:02:05, FastEthernet0/0

r3#

说明:因为R1在所有RIP接口上开启了被动接口,但R1并没有向R3单播发送路由更新,所以R3没有收到了R1发来的任何路由。

 

 

                                                                    返回目录

 

 RIP 手工汇总

 RIP ver 1在发送路由更新时,不带掩码信息,在收到路由更新后,自动汇总为主类网络,并且无法关闭,虽然RIP ver 2在发送路由更新时,带了掩码信息,但默认也将所有收到的路由汇总为主类网络,不过RIP ver 2的自动汇总可以关闭。正因为RIP ver 2的路由更新中带了掩码长度,所以在发送路由信息时,可以手工汇总到任意比特位,从而缩小路由表的空间。

 虽然RIP ver 2可以将路由手工汇总到任意比特位,但还是存在一定的限制条件,不能将一条路由的掩码位数汇总到短于自身主类网络的掩码长度,就是不能将C类地址汇总到短于24位的掩码长度,不能将B类地址汇总到短于16位的掩码长度,不能将A类地址汇总到短于8位的掩码长度,例如只能将172.16.1.0/24汇总到172.16.0.0/16,但不能汇总到172.16.0.0/15,因为该网络为B类地址,所以掩码长度不能短于16位。

 

注:RIP的自动汇总,是将路由汇总后发给邻居,而不是将收到的路由汇总后转给自己,所以自动汇总是对其它路由器产生效果,是对其它路由器的路由表生效。

RIP 手工汇总和自动汇总相似,也是将路由汇总后发给邻居,手工汇总的效果也是在其它路由器上生效,自己并不能看见效果,手工汇总是基于接口配置的。

如果自动汇总和手工汇总同时存在,则自动汇总优先,也就是说,还是只发送主类网络。

 

 

测试RIP 手工汇总

说明:以下图为例,测试RIP 手工汇总:

 

 

 

1.配置基础网络环境:

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip address 12.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#router rip

r1(config-router)#network 12.0.0.0

说明:在R1上配置12.1.1.0/24,并将网段放入RIP进程。

 

 

(2)配置R2:

 

r2(config)#int f0/0

r2(config-if)#ip add 12.1.1.2 255.255.255.0

r2(config-if)#no shutdown

 

r2(config)#int f0/1

r2(config-if)#ip address 23.1.1.2 255.255.255.0

r2(config-if)#no shutdown

 

r2(config)#int loopback 172

r2(config-if)#ip address 172.16.1.1 255.255.255.0

r2(config-if)#ip address 172.16.2.1 255.255.255.0 secondary

r2(config-if)#ip address 172.16.3.1 255.255.255.0 secondary

 

r2(config)#int loopback 192

r2(config-if)#ip add 192.168.1.1 255.255.255.0

r2(config-if)#ip add 192.168.2.1 255.255.255.0 secondary

r2(config-if)#ip add 192.168.3.1 255.255.255.0 secondary

 

r2(config)#router rip

r2(config-router)#version 2

r2(config-router)#network 12.0.0.0

r2(config-router)#network 23.0.0.0

r2(config-router)#network 172.16.0.0

r2(config-router)#network 192.168.1.0

r2(config-router)#network 192.168.2.0

r2(config-router)#network 192.168.3.0

说明:在R2上配置网段,并启动RIP ver 2,将网段放入RIP进程。

 

(3)配置R3:

r3(config)#int f0/1

r3(config-if)#ip address 23.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router rip

r3(config-router)#network 23.0.0.0

说明:在R3上配置23.1.1.0/24,并将网段放入RIP进程。

 

2.测试RIP 手工汇总

(1)查看当前R3的路由表:

r3#sh 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

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

R    172.16.0.0/16 [120/1] via 23.1.1.2, 00:00:16, FastEthernet0/1

R    12.0.0.0/8 [120/1] via 23.1.1.2, 00:00:16, FastEthernet0/1

R    192.168.1.0/24 [120/1] via 23.1.1.2, 00:00:16, FastEthernet0/1

R    192.168.2.0/24 [120/1] via 23.1.1.2, 00:00:16, FastEthernet0/1

R    192.168.3.0/24 [120/1] via 23.1.1.2, 00:00:16, FastEthernet0/1

r3#

说明:虽然R3RIP ver 2,但自动汇总默认开启,所以R3收到的还是汇总过的路由。

 

(2)在R2上将172.16.0.024位的路由汇总为22位发给R3:

r2(config)#int f0/1

r2(config-if)#ip summary-address rip 172.16.0.0 255.255.252.0

说明:手工汇总为172.16.0.0/22

 

(3)查看R2的手工汇总情况:

r2#debug ip rip

RIP protocol debugging is on

r2#

*Mar  1 01:05:34.903: RIP: sending v2 update to 224.0.0.9 via FastEthernet0/1 (23.1.1.2)

*Mar  1 01:05:34.903: RIP: build update entries

*Mar  1 01:05:34.903:   12.0.0.0/8 via 0.0.0.0, metric 1, tag 0

*Mar  1 01:05:34.907:   172.16.0.0/16 via 0.0.0.0, metric 1, tag 0

*Mar  1 01:05:34.907:   192.168.1.0/24 via 0.0.0.0, metric 1, tag 0

*Mar  1 01:05:34.907:   192.168.2.0/24 via 0.0.0.0, metric 1, tag 0

*Mar  1 01:05:34.911:   192.168.3.0/24 via 0.0.0.0, metric 1, tag 0

说明:虽然R2F0/1上配置了手工汇总172.16.0.0/22,但由于自动汇总还在生效,所以自动汇总优先,最后发送的路由依然是172.16.0.0/16这条主类网络。

 

查看R3的路由表:

r3#sh 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

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

R    172.16.0.0/16 [120/1] via 23.1.1.2, 00:00:08, FastEthernet0/1

R    12.0.0.0/8 [120/1] via 23.1.1.2, 00:00:08, FastEthernet0/1

R    192.168.1.0/24 [120/1] via 23.1.1.2, 00:00:08, FastEthernet0/1

R    192.168.2.0/24 [120/1] via 23.1.1.2, 00:00:08, FastEthernet0/1

R    192.168.3.0/24 [120/1] via 23.1.1.2, 00:00:08, FastEthernet0/1

r3#

说明:R3并没有收到R2上配置的手工汇总172.16.0.0/22,说明自动汇总优先于手工汇总。

 

 

(4)在R2上关闭自动汇总:

r2(config)#router rip

r2(config-router)#no auto-summary

 

 

(5)再次查看R3上的路由表:

r3#sh 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

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

     172.16.0.0/22 is subnetted, 1 subnets

R       172.16.0.0 [120/1] via 23.1.1.2, 00:00:05, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 23.1.1.2, 00:00:05, FastEthernet0/1

R    192.168.1.0/24 [120/1] via 23.1.1.2, 00:00:05, FastEthernet0/1

R    192.168.2.0/24 [120/1] via 23.1.1.2, 00:00:05, FastEthernet0/1

R    192.168.3.0/24 [120/1] via 23.1.1.2, 00:00:05, FastEthernet0/1

r3#

说明: R2上关闭了自动汇总:所以R3收到了R2的手工汇总172.16.0.0/22

 

(6)查看R2的路由表:

r2#sh 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

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

     172.16.0.0/24 is subnetted, 3 subnets

C       172.16.1.0 is directly connected, Loopback172

C       172.16.2.0 is directly connected, Loopback172

C       172.16.3.0 is directly connected, Loopback172

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

C    192.168.1.0/24 is directly connected, Loopback192

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

r2#

说明:R2上在172.16.0.0/22只存在172.16.1.0172.16.2.0172.16.3.0,共三条。

 

(7)解决R2的路由黑洞:

说明:由于172.16.0.0/22包含了172.16.0.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24,所以最终R3会将去往172.16.0.0/24的数据包发给R2,这时R2收到数据包会将自己的路由表全部查一遍,最终发现目标不可达,才将数据包丢弃,这是浪费时间也浪费系统资源的事情,所以应该手工将不存在的路由指向空接口(null 0),所有指向该接口的数据包将被全部丢弃。

r2(config)#ip route 172.16.0.0 255.255.252.0 null 0

 

r2#sh 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

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

     172.16.0.0/16 is variably subnetted, 4 subnets, 2 masks

S       172.16.0.0/22 is directly connected, Null0

C       172.16.1.0/24 is directly connected, Loopback172

C       172.16.2.0/24 is directly connected, Loopback172

C       172.16.3.0/24 is directly connected, Loopback172

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

C    192.168.1.0/24 is directly connected, Loopback192

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

r2#

 

说明:R2172.16.0.0/22指向了空接口(null 0),但这样并不会有错,因为R2拥有172.16.1.0/24172.16.2.0/24172.16.3.0/24这些明细路由,照样会正常转发数据,只有172.16.0.0/22 中未知的流量才会被丢弃。

(8)在R2上手工汇总192网段:

r2(config)#int f0/1

r2(config-if)#ip summary-address rip 192.168.0.0 255.255.252.0

 Summary mask must be greater or equal to major net

r2(config-if)#

说明:提示不能汇总192.168.0.0/22,因为手工汇总不能将一条路由的掩码位数汇总到短于自身主类网络的掩码长度,而192.168.0.0的主类网络是192.168.0.0/24这个C类地址,所以不能将掩码汇总到低于24位。

 

(9)测试R3自己手工汇总:

说明:在R2上去除手工汇总,看R3自己手工汇总:

r2(config)#int f0/1

r2(config-if)#no ip summary-address rip 172.16.0.0 255.255.252.0

 

r3(config)#int f0/1

r3(config-if)#ip summary-address rip 172.16.0.0 255.255.252.0

 

说明:R3自己将汇总172.16.0.0/22

 

(10)查看R3的汇总情况:

r3#sh 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

 

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, FastEthernet0/1

     172.16.0.0/24 is subnetted, 3 subnets

R       172.16.1.0 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

R       172.16.2.0 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

R       172.16.3.0 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

R    192.168.1.0/24 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

R    192.168.2.0/24 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

R    192.168.3.0/24 [120/1] via 23.1.1.2, 00:00:26, FastEthernet0/1

r3#

说明:R3汇总并不成功,因为汇总是将路由汇总后发给其它路由器,而自己并不能对自己的路由表汇总。

 

 

                                                                    返回目录

 

RIP ver 2 认证

 由于RIP没有邻居的概念,所以自己并不知道发出去的路由更新是不是有路由器收到,同样也不知道会被什么样的路由器收到,因为RIP的路由更新是明文的,网络中无论谁收到,都可以读取里面的信息,这就难免会有不怀好意者窃听RIP的路由信息。为了防止路由信息被非法窃取,RIP ver 2可以相互认证,只有能够提供密码的路由器,才能够获得路由更新。而RIP ver 1是不支持认证的。RIP ver 2可以支持明文与MD5认证。

 路由器之间,当一方开启认证之后,另一方也同样需要开启认证,并且密码一致,才能读取路由信息。认证是基于接口配置的,密码使用key chain来定义,key chain中可以定义多个密码,每个密码都有一个序号,RIP ver 2在认证时,只要双方最前面的一组密码相同,认证即可通过,双方密码序号不一定需要相同,key chain名字也不需要相同,但在某些低版本IOS中,会要求双方的密码序号必须相同,才能认证成功,所以建议大家配置认证时,双方都配置相同的序号和密码。

 

测试RIP ver 2 认证 

说明:以下图为例,测试RIP ver 2 认证

 

 

 

1.配置基础网络环境

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#int loopback 11

r1(config-if)#ip address 11.1.1.1 255.255.255.0

 

r1(config)#router rip

r1(config-router)#version 2

r1(config-router)#no auto-summary

r1(config-router)#network 10.0.0.0

r1(config-router)#network 11.0.0.0

 

说明:R1配置了10.1.1.0/2411.1.1.0/24,并放入RIP ver 2进程中。

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip add 10.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#router rip

r2(config-router)#version 2

r2(config-router)#no auto-summary

r2(config-router)#network 10.0.0.0

 

说明:R2配置了10.1.1.0/24,并放入RIP ver 2进程中。

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip address 10.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router rip

r3(config-router)#version 2

r3(config-router)#no auto-summary

r3(config-router)#network 10.0.0.0

 

说明:R3配置了10.1.1.0/24,并放入RIP ver 2进程中。

 

 

2.测试RIP ver 2 认证

(1)查看当前R2R3的路由表:

 

R2

 

r2#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

     11.0.0.0/24 is subnetted, 1 subnets

R       11.1.1.0 [120/1] via 10.1.1.1, 00:00:10, FastEthernet0/0

r2#

 

 

R3

r3#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

     11.0.0.0/24 is subnetted, 1 subnets

R       11.1.1.0 [120/1] via 10.1.1.1, 00:00:26, FastEthernet0/0

r3#

说明:因为没有开启认证,所以R2R3能够正常收到路由11.1.1.0/24

(2)在R1上开启认证:

r1(config)#key chain ccie

r1(config-keychain)#key 1

r1(config-keychain-key)#key-string cisco

 

r1(config)#int f0/0

r1(config-if)#ip rip authentication mode md5

r1(config-if)#ip rip authentication key-chain ccie

说明:配置key chaincciekey 1的密码为cisco,并在接口上开启认证,注意一条为定义认证模式,一条为定义密码。

  

(3)查看R2R3没有认证时的路由表:

 

R2

r2#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

     11.0.0.0/24 is subnetted, 1 subnets

R       11.1.1.0 [120/1] via 10.1.1.1, 00:03:04, FastEthernet0/0

r2#

 

 

 

R3

r3#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

     11.0.0.0/24 is subnetted, 1 subnets

R       11.1.1.0/24 is possibly down,

          routing via 10.1.1.1, FastEthernet0/0

r3#

说明:因为R2R3没有开启认证,所以无法获得路由更新,之前的路由已经快要丢失。

 

 

 

(4)在R2上开启认证:

r2(config)#key chain ccie

r2(config-keychain)#key 2

r2(config-keychain-key)#key-string cisco

 

r2(config)#int f0/0

r2(config-if)#ip rip authentication mode md5

r2(config-if)#ip rip authentication key-chain ccie

 

说明:R2配置key chainccie,而key 2cisco,可见双方密码的序号不同。

 

 

(5)查看R2开启认证后的路由表:

 

r2#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

     11.0.0.0/24 is subnetted, 1 subnets

R       11.1.1.0 [120/1] via 10.1.1.1, 00:00:03, FastEthernet0/0

r2#

说明:R2在开启认证后,成功获得R1发来的路由11.1.1.0,虽然双方密码的序号不同,但双方最前面的密码相同,所以认证成功,请注意,会存在某些IOS需要双方密码序号相同。

 

 

(6)在R3上开启认证:

 

r3(config)#key chain ccie

r3(config-keychain)#key 1

r3(config-keychain-key)#ke

r3(config-keychain-key)#key-string abc

r3(config-keychain-key)#exit

r3(config-keychain)#key 3

r3(config-keychain-key)#key-string cisco

r3(config-keychain-key)#exit

r3(config-keychain)#key 4

r3(config-keychain-key)#key-string cde

 

 

r3(config)#int f0/0

r3(config-if)#ip rip authentication mode md5 

r3(config-if)#ip rip authentication key-chain ccie

说明:R3key chain中定义key 1密码为abc key 3 密码为ciscokey 4cdeR3最前面的密码应该是key 1,为abc,与R1最前面的密码cisco不同。

 

  

(7)再次查看R3的路由表:

 

r3#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:由于R3最前面的密码key 1,为abc,与R1最前面的密码cisco不同,所以认证未能通过。

 

 

(8)更改R3key chain:

 

r3(config)#key chain ccie

r3(config-keychain)#no key 1

说明:因为R3之前配置了key 1密码为abc key 3 密码为ciscokey 4cde,而现在取消了key 1,所以当前最前面的密码为key 3 cisco”会被使用。

 

(9)查看R3修改认证后的路由表:

 

r3#sh 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, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

     11.0.0.0/24 is subnetted, 1 subnets

R       11.1.1.0 [120/1] via 10.1.1.1, 00:00:04, FastEthernet0/0

r3#

说明:因为R1最前面的密码key 1ciscoR3最前面的密码key 3cisco,双方最前面的密码相同,所以认证成功,R3能够获得R1发来的路由。

 

                                                                    返回目录

 

EIGRP

 

概述

 

 EIGRP是思科私有协议,只能运行在思科的设备上。

 EIGRP能够支持的协议有IP、AppleTalk和IPX。

 EIGRP的流量使用IP协议号88。

 EIGRP采用Diffused Update Algorithm (DUAL)算法来计算到目标网络的最短路径,EIGRP还是一个距离矢量路由协议,因为距离矢量路由协议的根本特征就是自己的路由表是完全从其它路由器学来的,并且将收到的路由条目一丝不变地放进自己的路由表,运行距离矢量路由协议的路由器之间交换的是路由表,距离矢量路由协议是没有大脑的,路由表从来不会自己计算,总是把别人的路由表拿来就用;但EIGRP协议并不是完全没有大脑,它在距离矢量路由协议的基础上却有着那么一点点的优化和提高,那就是从邻居那里收到路由表之后,会经过一些计算和比较,然后才放进路由表中使用,因此将EIGRP的身份提高到“增强的距离矢量路由协议”,虽然EIGRP是增强的距离矢量路由协议,但其根本核心还是交换路由表,EIGRP没有任何资格称为链路状态路由协议,因为EIGRP从邻居那里得到的路由表可能原本就是错的,那么自己将会一错再错,并且害人害己,EIGRP对于网络拓朴也许会有完整的认识,但不一定有正确的认识。因为EIGRP是距离矢量路由协议,所以EIGRP同样会受水平分割(Split Horizon)的影响。

 EIGRP使用了Autonomous SystemAS)的概念,即使是这样,EIGRP也算不上外部网关路由协议(Exterior Gateway Protocol EGP),因为不同AS之间,EIGRP无法传递路由信息,所以EIGRP依然是个内部网关路由协议(Interior Gateway Protocol,即IGP)。AS是基于接口定义的,一台EIGRP路由器可以属于多个AS

 EIGRP扩展了对大型网络的支持,不再像RIP那样只支持最大跳数15跳,而是扩展到了最大支持255跳,但默认情况下最大跳数为100跳。

 EIGRP支持 Classless Interdomain Routing (CIDR)Variable-Length Subnet Masks (VLSMs),但默认也会自动汇总,该功能可以手工关闭, EIGRP还支持手工汇总路由信息,并且手工汇总没有任何条件限制,可以汇总到任意掩码长度。自动汇总和手工汇总与RIP相似,汇总是针对发出的路由有效,也就是对其它路由器生效,是对其它路由器的路由表生效。

EIGRP支持认证,并且只支持MD5认证;支持通过Offset list来增加路由的metric,只可以增加,不可以减少;EIGRP也支持Passive-Interface(被动接口),但EIGRP的被动接口与RIP不同,RIP的被动接口不向外发路由,但可以接收路由,而EIGRP的被动接口不接收也不发送路由。

  EIGRP并不会周期性更新路由表,而采用增量更新,即只在路由有变化时,才会发送更新,并且只发送有变化的路由信息;有时EIGRP并不知道邻居的路径是否还依然有效,并且路由没有超时。

 EIGRP自己内部路由的管理距离(Ddministrative Distance)90,而从外部重分布进EIGRP的管理距离为170

 EIGRP支持非等价负载均衡,最多支持6条,默认为4条,但非等价负载均衡功能默认为关闭状态。

                                                                    返回目录

EIGRP Metric

  EIGRP使用多种参数计算去往目标网络的Metric值,包括带宽(Bandwidth)、延迟(delay)、可靠性(reliability)、负载(loading)、最大传输单元(MTU),这5个参数分别使用K值来表示,即K1K2K3K4K5,所以如果两台EIGRP路由器之间的5K值不同,则代表双方计算Metric值的方法不同;无论是EIGRP还是其它协议,在需要使用带宽计算Metric时,只计算接口出方向的带宽,而接口进方向的是不计算在内的,也就是一条链路上,只有一个出接口的带宽会被计算,而进接口的带宽是被忽略的,如下图中所示,

 

 

 从源路由器R1到目标R4所经过的三条链路中,带宽分别是100 Mbit/s10 Mbit/s1 Gbit/s、虽然有条链路的带宽可达1 Gbit/s,但我们都知道,从源到目标的带宽最快也始终不超过最低带宽10 Mbit/s,永远不可能达到1 Gbit/s,所以从源到目的的路径中,只有最低带宽最终决定传输时的带宽,而某条链路的高带宽是没有意义的,所以在EIGRPMetric计算中,只需要计算从源到目标的最低带宽即可,但是经过各个接口的延迟却是要累加的。

 EIGRP在计算Metric时,使用K值来控制整个计算公式,公式如下:

 

 公式中的带宽为1000 0000除以链路中的最小带宽,带宽单位为Kbit,延迟为链路中的延迟之和除以10,延迟单位为 ms(毫秒);

 默认情况下,5个K值的取值分别为: K1 = 1, K2 = 0, K3 = 1, K4 = K5 =0,由于K5=0,由此一来,造成上面的公式算出来的最终结果为0,所以当K5=0时,必须将其简化,变成如下:

 

 正因为默认5个K值的取值分别为: K1 = 1, K2 = 0, K3 = 1, K4 = K5 =0,所以默认EIGRP的计算公式为:

 

注:此公式为EIGRP默认计算公式,改变K值,将影响Metric值的计算公式。

 

                                                                    返回目录

EIGRP邻居

 EIGRP使用了邻居的概念,EIGRP的路由表并不会像RIP那样通过组播或广播向网络中发送,EIGRP只向邻居发送路由表,并且是使用单播向邻居发送路由表,如果要在EIGRP之间交换路由表,必须成为邻居,不同AS不能成为邻居,EIGRP只在直连网络中发现和建立邻居。

 EIGRP路由器之间的邻居关系通过Hello包来发现和维护,EIGRP会将自己全部的路由表发给所有邻居;路由器上启动EIGRP之后,就会使用组播地址224.0.0.10在相应接口上发送Hello包,EIGRP会使用一张单独的表来记录哪些路由器是自己的邻居,称为邻居表,只要收到Hello包,便将对方列为自己的邻居,并且写入邻居表,EIGRP会将邻居的地址写在Hello包中,由此可见,EIGRP路由器双方可能一方认为另外一方是自己的邻居,而另外一方却不认为对方是邻居,例如自己收到了另一方的Hello包,认为对方是邻居,而对方没有收到或过滤了自己的Hello包,所以如果EIGRP要形成双向邻居,只有在双方都发现对方的Hello包中列出自己的地址才行,但思科却没有这样设计。

 在EIGRP断开或进程关闭时,会发送Goodbye Message结束邻居关系。

 EIGRP会定期向网络中发送Hello包,发送的间隔会因为链路带宽的不同而不同,间隔时间分为5秒和60秒:

 

Hello间隔60

所有带宽低于或等于1544 Kbit/s的,如T1Frame Relay multipoint接口,ATM multipoint接口,ISDN BRI接口等等。

 

Hello间隔5

所有带宽大于1544 Kbit/s的,如以太网接口,Frame Relay point-to-point子接口,and ATM point-to-point子接口,ISDN PRI接口。

 

  如果超过一定的时间没有收到邻居的Hello包,便认为邻居无效,称为EIGRP Hold-time,默认为Hello间隔的3倍,也就是分别为15秒和180秒,Hello间隔时间和Hold-time都可以手工调整,但是如果调整了Hello间隔时间,Hold-time并不会自动调整到相应的3倍,而是保持不变。

 

 EIGRPHello间隔时间和Hold-time是无法通过命令直接查看的,只能通过现象来推断,如:

 

router# show ip eigrp neighbor

IP-EIGRP neighbors for process 1

H   Address        Interface   Hold Uptime   SRTT   RTO  Q  Seq  Type

                                        (sec)         (ms)       Cnt Num

1   10.1.1.2       Et1           11 12:00:56   12   300  0  620

0   10.1.2.2       S0           172 12:00:58   17   200  0  645

 

 Hold栏的值永远不会超过Hold-time,也永远不会低于Hold-timeHello间隔,否则就是不正常,或者Hello包有丢失。

 如果Hold栏的值范围是10-15,则证明Hello间隔是5秒,Hold-time15秒。

 如果Hold栏的值范围是120-180,则证明Hello间隔是60秒,Hold-time180秒。

 

注:

Hello间隔和Hold-time可以手工在接口上配置,如果发现不正常,请检查接口上是否手工配置了时间参数。

EIGRP双方Hello间隔和Hold-time不一致也可以建立邻居关系,接口上的Secondary地址不能建邻居,所有EIGRP的数据包源地址总是接口的Primary地址。

在Frame-Relay环境下,需要在命令frame-relay map broadcast关键字。

 

 

EIGRP双方必须满足以下三个条件,才能建立邻居:

 

1.双方在相同AS

2.双方Hello包正常,即双方接口Primary地址在同网段。

3.双方计算Metric值方法相同,即双方K1 K2 K3 K4 K5值相同。

 

在一个稳定的EIGRP邻居之间,只有Hello包在传递,EIGRP支持的邻居数量,并没有限制,但要视内存大小,CPU能力,路由条目数量,拓朴复杂程度,网络稳定性而定。

                                                                    返回目录

 

EIGRP数据包

在EIGRP协议中,总共会使用5种类型的数据包,分别为HelloUpdate QueryReplyAck,下面介绍各种数据包的功能与用途:

 

 

Hello

是用来发现和维护EIGRP邻居关系的,目标地址为224.0.0.10Hello包在邻居收到后不需要确认。

 

Update

发给邻居的路由表,通过单播发送Update数据包,邻居收到后必须回复确认消息。

 

Query

当路由信息丢失并没有备用路由时,使用Query数据包向邻居查询,邻居必须回复确认。

 

Reply

是对邻居Query数据包的回复,也需要邻居回复确认。

 

Ack

是对收到的数据包的确认,告诉邻居自己已经收到数据包了,收到Ack后,不需要再对Ack做回复,因为这是没有意义的,并且可能造成死循环。

 

 由以上可以看出,5种数据包中,UpdateQueryReply在对方收到后,都需要回复确认,这些数据包是可靠的,回复是发送Ack;而HelloAck,是不需要回复的,因此被认为不可靠。

 

 

EIGRP运行过程:

 

 两台路由器AB启动EIGRP

1.路由器A启动EIGRP后,在相应接口上向外发送Hello包。

2.B收到A发来的Hello包后,将A列入自己的邻居表,然后向A单播发送Update,也就是向A单播发送自己的路由表;EIGRP路由器在收到一个Hello包时,就直接向对方发送路由表了,B后面的Hello包就会写明路由器A已是自己的邻居。

3.A在收到BUpdate之后,向B发送Ack通知对方已经收到Update,然后再向B单播发送自己的Update,在A收到BHello包后,会发现里面列出了自己的地址,双方都看见对方Hello中列出自己后,双向邻居关系便建立成功。

4.B在收到AUpdate之后,向A发送Ack确认Update已收到。

5.AB都将收到的Update放入拓朴数据库中,计算路由表。

                                                                    返回目录

 

EIGRP拓朴

 

 虽然EIGRP是距离矢量路由协议,但是当从邻居收到路由后,并不是不经过任何计算就直接放进路由表中使用,EIGRP会将从邻居收到的路由全部放入拓朴数据库(Topology Database)中,经过DUAL的无环算法计算之后,才将最优的路由放入路由表中;因为EIGRP可能有多个邻居,也可能从多个邻居收到相同的路由,所以需要从中选中最优路由放入路由表中使用,而不是最优的路由则放在拓朴数据库中备份,等路由表中的路由失效后,便从拓朴数据库中查找备用路由继续放入路由表中使用。

 

 当EIGRP将从邻居收到的路由信息放入拓朴数据库之后,要经过DUAL算法选出最优路由,以下图为例介绍计算方法:

 

 

要了解EIGRP选路的具体计算过程,需要先了解以下几个术语:

 

Reported DistanceRD

因为EIGRP拓朴数据库中的信息就是从邻居收到的路由表,目的地对于邻居来说肯定是可达的,Reported Distance是表示邻居到达目的地的Metric值是多少。在上图中,R1R2R3收到去往目标网络的路由后,R2去往目标网络的Metric值对于R1来说就是RD,同样,R3去往目标网络的Metric值对于R1来说也是RD

 

Feasible distance(FD)

当从邻居收到路由信息后,RD只是邻居去往目的地的Metric,而自己去往目的地还得在RD的基础上,再加自己到邻居的这段距离,所以自己到目的地的真正Metric应该是自己到邻居这段距离的Metric加上RD,但是拓朴数据库中可能存在多条去往目的地的路径,而被放入路由表的最优的那条被称为Feasible distanceFD)。在上图中,如果R1选择从R2去往目的地,那么结果将如下图:

 

 如果R1选择从R2去往目的地,那么R2到达目的地的metricRD)加上R1R2Metric,就是R1到达目的地的FDR1R2的路径放入路由表中,这时,R2也称为Successor;默认情况下,拓朴数据库中有多条路径可到目的地时,被放入路由表的那条就是FDFD就一定会被放入路由表。

 

 

Feasible Successor(FS)

 因为拓朴数据库中可能存在多条路径可以到达目的地,但被选为FD的最优的那条被放入路由表中使用,而留在拓朴数据库中的备用路由称为Feasible SuccessorFS),如下图:

 

 

R2被选为Successor,当R3继续存放于拓朴数据库时,R3就是FS

 

 

Feasibility Condition (FC)

 拓朴数据库中的FS最多可以有6条,如果一个EIGRP8个邻居可以去往目的地,选出一条FD放入路由表之后,并不是其它7条全部都可以存放于拓朴数据库,拓朴数据库最多只能有6条(其中已经包含FD),也并不是一定会有6条被放入拓朴数据库,因为要存放于拓朴数据库,是必须达到一定条件的,称为Feasibility Condition (FC),就是邻居通告的RD必须小于FD,这个邻居的路径才能存在于拓朴数据库,计算FC的过程如下:

 

 

 

 

上图中,R1共有4个邻居,分别为R2R3R4R5,当R1从每个邻居那里收到去往目标网络的路由后,结果如下:

R2 通告的RD 8

R3 通告的RD 10

R4 通告的RD 25

当R1要去目标网络时,必须加上自己到达邻居的Metric,计算结果为:

从R2到达目的地的Metric  20 + 8 = 28

从R3到达目的地的Metric  10 +10 = 20

从R4到达目的地的Metric  5 + 25 = 30

 

由此可见,R1R3去往目的地的Metric值最小,因此R3的路径被选为FD并放入路由表,R3这时就是SuccessorR1去往目的地的FD20,其它邻居的路由要成为FS存放在拓朴数据库中,那么它们的RD必须小于FD,也就是必须小于20,等于也不行;下面继续计算FS,因为R2RD10,小于FD 20,所以R2就是FS并存放在拓朴数据库中备份,而R4RD28,大于FD,所以R4没有资格成为FS,不能放在拓朴数据库中,这是因为EIGRP要防止环路,虽然R4的路径并不是环路,但由于要防患于未然,所以R4被拒绝于拓朴数据库之外,理由如下:

 因为R1也是R5的邻居,所以R1会将自己的路由表全部发给R5,由于R1到达目的地的Metric20R5到达R1Metric值为3,所以最后R5到达目标网络的Metric值为20 + 3 = 23R5在将自己的路由表通告给R1后,很明显,R5Metric23就是R1R5到达目的地的RD,对于R1来说,因为R5要从自己去往目标网络,所以对方通告的RD才会比自己的FD还要大,以致于让EIGRP认为,所有邻居通告的RD比自己当前的FD大的话,都统一认为它们在自己后面,它们必须经过自己才能去往目的地,那么这就是一个环路,最终邻居通告的RD等于或大于FD的,都没有资格成为FS 所以最后造成上图中R4通告了RD 25而没有资格成为FS

 

 

 EIGRP负载均衡

        

EIGRP可以支持非等价负载均衡,最多支持6条,默认为4条,但非等价负载均衡功能默认为关闭状态。EIGRP只能将拓朴数据库中的备用链路放入路由表执行负载均衡,拓朴数据库中可能有多条备用链路,而且多条链路的Metric值也可能各不相同,当启用非等价负载均衡时,需要定义什么样的Metric范围可以用来负载均衡,这需要通过控制Metric的变量(Variance)值来控制,具体方法如下:

路由表中正在使用的最优路由的Metric值为FD,而拓朴数据库中备用路由的Metric值肯定是大于FD的,Variance值通过控制备用链路的Metric值与FD的倍数关系来控制,就是Variance值取多少,备用链路的MetricFDVariance值倍数范围内就有资格执行负载均衡,例如当前FD203条备用链路Metric分别为305055,如果Variance值取2,那么Metric值范围在20×2=40的链路都可以执行负载均衡,所以Metric值为30的链路可以执行负载均衡,而Metric值为5055的却不可以,因为大于40,只有当Variance值取3时,Metric值范围在20×3=60的链路才可以执行负载均衡,所以Metric值为5055只有在Variance值取3时才可以执行负载均衡。

 

注: Variance值默认取值为1,也就是不执行非等价负载均衡,但会执行等价负载均衡。

并不是所有在Variance值所定义的Metric值范围内的链路一定会执行负载均衡,这需要根据设置的最大负载均衡条数来决定,最多为6条。

 

 因为Metric值越大的路由,表示其链路况越低下,而Metric值越小的路由,其链路况越优秀,这是一个成反比的关系,所以在执行负载均衡时,我们更希望流量也能因Metric值的大小,成反比例传输,链路好的传递更多的数据包,而链路差的则传递更少的数据包,

通过配置命令traffic-share balanced即可,该功能默认为开启状态。

                                                                    返回目录

 

 EIGRP Stuck In Active (SIA)

 在EIGRP中,正常的路由称为Passive Route;因为EIGRP可能会从多个邻居处收到相同的路由,默认只有最优的路由会被放入路由表中使用,其它符合FC条件的会放入拓朴数据库中备份,当路由表中最优路由丢失时,EIGRP会从拓朴数据库中查询备用路由,如果当最优路由丢失后,拓朴数据库中又没有备用路由,在这种情况下,EIGRP会向所有邻居发送Query,试图查询邻居是否有到目的地的路由信息,并且发送Query后,该路由被标记为Active route ,该状态称为Stuck In Active (SIA);向邻居发送的Query是必须回复Ack确认的,当邻居收到Query之后,就会查询自己的路由表,如果有,就向邻居回复Reply,如果最终邻居的路由表和拓朴表中都没有相应路由条目,就会再向自己的所有邻居发出Query,虽然Query是向所有邻居发出的,但它不会发向原本最优路径的下一跳,也就是Query不会发向该路由的Successor,因为正是Successor路丢失了,才问自己要路由的,自己再反过去问对方要路由,是没有理由的。不可思议的事情是,如果发送Query的路由器在3分钟内没有收到邻居的回复,就会清除与该邻居的EIGRP会话,可想而知,EIGRP路由丢失后,必须要求邻居提供路由,如果不提供,它就会六亲不认,3分钟就和你翻脸,反目成仇,和你断绝任何关系,很费解为什么思科会将EIGRP设计成这样子,EIGRP的优势分析来分析去,只有一个非等价负载均衡,和所谓的快速收敛,再无别的,至少本人是这么认为的。

 造成EIGRP路由器无法回复邻居Query的原因有很多,如:CPU繁忙,内存错误,数据包丢失,或者是单向链路故障等等。

 为了杜绝EIGRPSIA状态时,由于邻居没有提供路由而误将与邻居的会话清除,思科推荐解决方法为调整SIA状态时等待回复的时间,默认为3分钟,其实这种改时间,不是解决总是的根本,这只是在拖延时间而已,会话总是要断开的,不知道这个是否会被高手利用而成为攻击EIGRP的漏洞。另外的解决方法就是将相应路由器配置为EIGRP末节(Stub)路由器,EIGRPSIA状态是不会向Stub邻居发送Query的,但Stub邻居向外发送路由的功能有所限制,默认只能发送直连和汇总路由,但可以调整,也可以调整为不向外发送任何路由。

 

                                                                    返回目录

 

配置EIGRP实验

 

 

说明:实验配置共包含:

EIGRP基础实验

EIGRP非等价负载均衡

EIGRP Stub

EIGRP手工汇总

EIGRP认证

EIGRP默认路由

 

 

 

 

1.配置网络基础环境

(1)配置R1:

r1(config)#int f0/0

r1(config-if)#ip address 13.1.1.1 255.255.255.0

r1(config-if)#no sh

      

r1(config)#int f0/1

r1(config-if)#ip add 12.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#router eigrp 1

r1(config-router)#no auto-summary

r1(config-router)#network 13.1.1.1 0.0.0.0

r1(config-router)#network 12.1.1.1 0.0.0.0

说明:在R1上配置12.1.1.0/2413.1.1.0/24,并放入EIGRP进程中。

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip address 24.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#int f0/1

r2(config-if)#ip address 12.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#router eigrp 1

r2(config-router)#no auto-summary

r2(config-router)#network 12.1.1.2 0.0.0.0

r2(config-router)#network 24.1.1.2 0.0.0.0

说明:在R2上配置12.1.1.0/2424.1.1.0/24,并放入EIGRP进程中。

 

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip address 13.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#int s1/0

r3(config-if)#encapsulation frame-relay

r3(config-if)#no frame-relay inverse-arp

r3(config-if)#no arp frame-relay

r3(config-if)#ip address 34.1.1.3 255.255.255.0

r3(config-if)#no shutdown

r3(config-if)#frame-relay map ip 34.1.1.4 304 broadcast

 

r3(config)#router eigrp 1

r3(config-router)#no auto-summary

r3(config-router)#network 13.1.1.3 0.0.0.0

r3(config-router)#network 34.1.1.3 0.0.0.0

说明:在R3上配置13.1.1.0/2434.1.1.0/24,并放入EIGRP进程中,其中连接R4的链路为Frame-Relay环境。

 

(4)配置R4:

r4(config)#int f0/0

r4(config-if)#ip add 24.1.1.4 255.255.255.0

r4(config-if)#no sh

 

r4(config)#int s1/0

r4(config-if)#encapsulation frame-relay

r4(config-if)#no frame-relay inverse-arp

r4(config-if)#no arp frame-relay

r4(config-if)#ip address 34.1.1.4 255.255.255.0

r4(config-if)#no shutdown

r4(config-if)#frame-relay map ip 34.1.1.3 403 broadcast

 

r4(config)#int loopback 0

r4(config-if)#ip address 4.4.4.4 255.255.255.0

 

r4(config)#router eigrp 1

r4(config-router)#no auto-summary

r4(config-router)#network 24.1.1.4 0.0.0.0

r4(config-router)#network 34.1.1.4 0.0.0.0

r4(config-router)#network 4.4.4.4 0.0.0.0

说明:在R4上配置24.1.1.0/2434.1.1.0/244.4.4.0/24,并放入EIGRP进程中,其中连接R4的链路为Frame-Relay环境。

 

2.测试EIGRP邻居

(1)查看R1当前的EIGRP邻居:

r1#show ip eigrp neighbors

IP-EIGRP neighbors for process 1

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

1   13.1.1.3                Fa0/0             10 00:04:38  213  1278  0  4

0   12.1.1.2                Fa0/1             10 00:06:32  165   990  0  11

r1#

说明:R1已经与R2R3建立邻居,因为Hold栏的值在10-15范围内,所以Hello间隔是5秒,Hold-time15秒。

(2)查看R3当前的5K值:

r3#sh ip protocols

Routing Protocol is "eigrp 1"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Default networks flagged in outgoing updates

  Default networks accepted from incoming updates

  EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0

  EIGRP maximum hopcount 100

  EIGRP maximum metric variance 1

  Redistributing: eigrp 1

  EIGRP NSF-aware route hold timer is 240s

  Automatic network summarization is not in effect

  Maximum path: 4

  Routing for Networks:

    13.1.1.3/32

    34.1.1.3/32

  Routing Information Sources:

    Gateway         Distance      Last Update

    13.1.1.1              90      00:01:45

    34.1.1.4              90      00:01:55

  Distance: internal 90 external 170

 

r3#

说明:R3当前的5K值分别为K1=1, K2=0, K3=1, K4=0, K5=0,与默认值相同。

 

(3)修改R35K值:

r3(config)#router eigrp 1

r3(config-router)#metric weights 0 1 1 1 0 0

 

说明:手工将R35K值修改为K1=1, K2=1, K3=1, K4=0, K5=0 ,命令中第一个值为 TOS IOS中必须为0

 

(4)查看R3修改后的5K值:

r3#sh ip protocols

Routing Protocol is "eigrp 1"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Default networks flagged in outgoing updates

  Default networks accepted from incoming updates

  EIGRP metric weight K1=1, K2=1, K3=1, K4=0, K5=0

  EIGRP maximum hopcount 100

  EIGRP maximum metric variance 1

  Redistributing: eigrp 1

  EIGRP NSF-aware route hold timer is 240s

  Automatic network summarization is not in effect

  Maximum path: 4

  Routing for Networks:

    13.1.1.3/32

    34.1.1.3/32

  Routing Information Sources:

    Gateway         Distance      Last Update

    13.1.1.1              90      00:00:17

    34.1.1.4              90      00:00:17

  Distance: internal 90 external 170

 

r3#

说明:输入表示R35K值已经被修改为K1=1, K2=1, K3=1, K4=0, K5=0

 

(5)再次查看R1的邻居:

r1#show ip eigrp neighbors

IP-EIGRP neighbors for process 1

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

0   12.1.1.2                Fa0/1             13 00:11:43  200  1200  0  21

r1#

*Mar  1 00:18:52.287: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 1: Neighbor 13.1.1.3 (FastEthernet0/0) is down: Interface Goodbye received

r1#

说明:R1已经断开与R3的邻居关系,正是因为双方K值不同,因为R1为默认值,而R3为改而的值。

 

最后将R3的值恢复默认,并建立正常邻居关系。

 

 

3.测试EIGRP带宽计算

(1)查看R2到目标4.4.4.4的出口F0/0的带宽与延迟:

r2#sh int f0/0

FastEthernet0/0 is up, line protocol is up

  Hardware is Gt96k FE, address is c000.0a34.0000 (bia c000.0a34.0000)

  Internet address is 24.1.1.2/24

  MTU 1500 bytes, BW 100000 Kbit, DLY 100 usec,

说明:R2到目标4.4.4.4的出口F0/0的带宽为100000 Kbit,延迟100 usec

 

(2)查看R4到目标4.4.4.4的出口loopback 0的带宽与延迟:

r4#sh interfaces loopback 0

Loopback0 is up, line protocol is up

  Hardware is Loopback

  Internet address is 4.4.4.4/24

  MTU 1514 bytes, BW 8000000 Kbit, DLY 5000 usec,

说明:R4到目标4.4.4.4的出口loopback 0的带宽为8000000 Kbit,延迟5000 usec

 

 

(3)使用公式计算R2到目标4.4.4.4Metric值:

公式为:

 

 

R24.4.4.4链路中的最小带宽为100 000 Kbit,延迟之和为100 usec+5000 usec=5100 usec

应用到公式中为:

(1000 0000/100 000+5100/10)×256

(100+510)×256

610×256=156160

说明:所以R2到目标4.4.4.4Metric值为156160

 

(4)查看R2到目标4.4.4.4Metric值:

r2#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

D       34.1.1.0 [90/2172416] via 24.1.1.4, 00:10:50, FastEthernet0/0

     4.0.0.0/24 is subnetted, 1 subnets

D       4.4.4.0 [90/156160] via 24.1.1.4, 00:14:27, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

C       24.1.1.0 is directly connected, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

D       13.1.1.0 [90/2174976] via 24.1.1.4, 00:06:14, FastEthernet0/0

r2#

说明:R24.4.4.4Metric值确实为156160

 

(5)修改R2到目标4.4.4.4的最小带宽,影响最终Metric

r2(config)#int f0/0

r2(config-if)#bandwidth 50000

说明:之前R2的出口F0/0的带宽为100000 Kbit,现在改为50000 Kbit,该值将影响最终到目标4.4.4.4Metric值。

 

(6)查看R2修改最小带宽后到目标4.4.4.4Metric

r2#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

D       34.1.1.0 [90/2172416] via 24.1.1.4, 00:00:18, FastEthernet0/0

     4.0.0.0/24 is subnetted, 1 subnets

D       4.4.4.0 [90/181760] via 24.1.1.4, 00:00:07, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

C       24.1.1.0 is directly connected, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

D       13.1.1.0 [90/30720] via 12.1.1.1, 00:02:14, FastEthernet0/1

r2#

说明:R2修改最小带宽后到目标4.4.4.4Metric181760,大于之前的156160,因为带宽越小,性能越差,Metric就越大;修改接口的带宽会影响到EIGRP对接口真实带宽的认知,并自动调整与带宽有关的所有参数,但须注意,Hello包的间隔不会因此改变。

 

(7)调整EIGRP在接口上的最大使用率:

说明:默认EIGRP认为自己的流量可占用接口带宽的50%,而修改接口的带宽会影响到EIGRP对接口真实带宽的认知,并自动调整EIGRP可使用该接口的最大带宽,所以在修改接口带宽之后,调整EIGRP流量使用率到相应值,注意,在没有手工修改接口带宽的情况下,也可以随意调整EIGRP在接口上的使用率。

r2(config)#int f0/0

r2(config-if)#ip bandwidth-percent eigrp 1 150

说明:调整EIGRP在接口上F0/0上的最大使用率为150%,也就是50Mbit/s×150%=75 Mbit/s

 

 

4.测试EIGRP非等价负载均衡

(1)查看R1到目标4.4.4.4RD

r1#show ip eigrp topology

IP-EIGRP Topology Table for AS(1)/ID(13.1.1.1)

 

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

       r - reply Status, s - sia Status

 

P 4.4.4.0/24, 1 successors, FD is 158720

        via 12.1.1.2 (158720/156160), FastEthernet0/1

P 12.1.1.0/24, 1 successors, FD is 28160

        via Connected, FastEthernet0/1

P 13.1.1.0/24, 1 successors, FD is 2562560

        via Connected, FastEthernet0/0

        via 12.1.1.2 (2177536/2174976), FastEthernet0/1

P 24.1.1.0/24, 1 successors, FD is 30720

        via 12.1.1.2 (30720/28160), FastEthernet0/1

P 34.1.1.0/24, 1 successors, FD is 2174976

        via 12.1.1.2 (2174976/2172416), FastEthernet0/1

        via 13.1.1.3 (3074560/2169856), FastEthernet0/0

r1#

说明:因为R1R2EIGRP邻居,R2将路由信息发给R1之后,R2到目标4.4.4.4Metric156160就成为了R1到目标4.4.4.4RD值,而当前R1到目标4.4.4.4FD158720,这条信息将被放入路由表中使用;拓朴数据库中显示确实如此;而拓朴数据库中为什么没有R1经过R3到目标4.4.4.4的路径,下面来查看:

 

(2)查看R1经过R3到目标4.4.4.4的路径:

说明:R1经过R3到目标4.4.4.4的路径不能存放于拓朴数据库中,应该是不满足FC的条件(R3到目标4.4.4.4Metric值必须小于R1当前的FD158720

所以,我们手工计算R3到目标4.4.4.4Metric

 

查看带宽与延迟:

r4#sh interfaces loopback 0

Loopback0 is up, line protocol is up

  Hardware is Loopback

  Internet address is 4.4.4.4/24

  MTU 1514 bytes, BW 8000000 Kbit, DLY 5000 usec,

 

 

 

r3#sh int s1/0

Serial1/0 is up, line protocol is up

  Hardware is M4T

  Internet address is 34.1.1.3/24

  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec

 

R34.4.4.4链路中的最小带宽为1544 Kbit,延迟之和为20000 usec +5000 usec=25000 usec

应用到公式中为:

(1000 0000/1544 +25000/10)×256

(6476.6 + 2500)×256=2297856

 

说明:所以很明显,R3到目标4.4.4.4Metric值必须小2297856大于R1当前的FD158720,所以无法存放于拓朴数据库中,所以当前R1只使用经过R2到目标4.4.4.4的路径,如下:

 

r1#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

D       34.1.1.0 [90/2174976] via 12.1.1.2, 00:07:46, FastEthernet0/1

     4.0.0.0/24 is subnetted, 1 subnets

D       4.4.4.0 [90/158720] via 12.1.1.2, 00:15:36, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

D       24.1.1.0 [90/30720] via 12.1.1.2, 00:19:50, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/0

r1#

 

 

 

查看R3到目标4.4.4.4的路径:

r3#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, Serial1/0

     4.0.0.0/24 is subnetted, 1 subnets

D       4.4.4.0 [90/161280] via 13.1.1.1, 00:13:15, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

D       24.1.1.0 [90/33280] via 13.1.1.1, 00:13:15, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

D       12.1.1.0 [90/30720] via 13.1.1.1, 00:13:15, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:由于R3S1/0到目标4.4.4.4Metric值太大,所以R3自己都没从S1/04.4.4.4,而选择从R14.4.4.4

 

 

(3)计算R3成为R1到目标4.4.4.4FS的条件:

 

因为R1当前的FD158720,所以R3到目标4.4.4.4Metric值必须小于158720,才能成为FS,因为R3的出口S1/0为帧中继接口,带宽实在太低,即使没有延迟,也不能成为FS,所以我们事先将接口带宽改为100 000 Kbit/s,从而再修改延迟到相应值,延迟需要改成多少,需要将公式进行反运算:

 

公式为:

 

 

R4  loopback 0的延迟为5000 usec,设置总延迟为X,则:

(1000 0000 / 100 000  + X)× 256 = 158720

(100 + X=158720 /256

(100 + X= 620

X=520

所以R3成为R1到目标4.4.4.4FS的条件的总延迟必须小于520,等于520也不行,

因为延迟除以10得到520,所以原始延迟为5200,而R4  loopback 0的延迟为5000 usec,得R3 S1/0的延迟为200,为了取小一点的值,我们取190,下面配置R3 S1/0的接口延迟为190

 

r3(config)#int s1/0

r3(config-if)#delay 19

说明:在配置时,会自动乘以10,所以要配置190,就配置19

 

(4)查看R3修改接口延迟后的情况:

r3#sh int s1/0

Serial1/0 is up, line protocol is up

  Hardware is M4T

  Internet address is 34.1.1.3/24

  MTU 1500 bytes, BW 100000 Kbit, DLY 190 usec,

说明:延迟已经改成预计的190了。

 

 

(5)查看R3到目标4.4.4.4的情况:

r3#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, Serial1/0

     4.0.0.0/24 is subnetted, 1 subnets

D       4.4.4.0 [90/158464] via 34.1.1.4, 00:00:53, Serial1/0

     24.0.0.0/24 is subnetted, 1 subnets

D       24.1.1.0 [90/33024] via 34.1.1.4, 00:00:53, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

D       12.1.1.0 [90/30720] via 13.1.1.1, 00:00:53, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/0

r3#

说明:R3已经选择从S1/04.4.4.4,说明改动有效果。

 

(6)查看R1拓朴数据库中到目标4.4.4.4的情况:

 

r1#sh ip eigrp topology

IP-EIGRP Topology Table for AS(1)/ID(13.1.1.1)

 

Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply,

       r - reply Status, s - sia Status

 

P 4.4.4.0/24, 1 successors, FD is 158720

        via 12.1.1.2 (158720/156160), FastEthernet0/1

        via 13.1.1.3 (161024/158464), FastEthernet0/0

P 12.1.1.0/24, 1 successors, FD is 28160

        via Connected, FastEthernet0/1

P 13.1.1.0/24, 1 successors, FD is 28160

        via Connected, FastEthernet0/0

P 24.1.1.0/24, 1 successors, FD is 30720

        via 12.1.1.2 (30720/28160), FastEthernet0/1

P 34.1.1.0/24, 1 successors, FD is 33024

        via 13.1.1.3 (33024/30464), FastEthernet0/0

r1#

说明:R1当前的拓朴数据库中同时存在R2R3到达目标4.4.4.4,并且显示经过R2的路径为FD,值为158720,而经过R3Metric161024,明显比FD大,但很微小。

 

(7)通过修改variance值使R1到目标4.4.4.4执行非等价负载均衡

r1(config)#router eigrp 1

r1(config-router)#variance 2

说明:因为当前FD158720,要包含161024,只需要将FD158720扩大2倍即可,值为158720×2=317440

 

(8)查看R1负载均衡路由表:

r1#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

D       34.1.1.0 [90/33024] via 13.1.1.3, 00:00:21, FastEthernet0/0

     4.0.0.0/24 is subnetted, 1 subnets

D       4.4.4.0 [90/161024] via 13.1.1.3, 00:00:21, FastEthernet0/0

                [90/158720] via 12.1.1.2, 00:00:21, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

D       24.1.1.0 [90/30720] via 12.1.1.2, 00:00:21, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/0

r1#

说明:R1已经执行到4.4.4.4的负载均衡。

 

(9)测试负载均衡:

r1#traceroute 4.4.4.4

 

Type escape sequence to abort.

Tracing the route to 4.4.4.4

 

  1 13.1.1.3 92 msec

    12.1.1.2 144 msec

    13.1.1.3 156 msec

  2 24.1.1.4 92 msec

    34.1.1.4 112 msec *

r1#

说明:R1已经执行到4.4.4.4的负载均衡。

 

(10)查看邻居发送的路由条目:

说明:当EIGRP用于复杂大型网络时,有时需要查看从邻居收到的路由条目情况。

r1#sh ip eigrp 1 accounting  

IP-EIGRP accounting for AS(1)/ID(13.1.1.1)

Total Prefix Count: 5  States: A-Adjacency, P-Pending, D-Down

State Address/Source   Interface        Prefix   Restart  Restart/

                                        Count     Count   Reset(s)

 A    13.1.1.3         Fa0/0                 3        0        0

 A    12.1.1.2         Fa0/1                 2        0        0

 

r1#

说明:R113.1.1.3R3)收到3条,从12.1.1.2R2)收到2条。

 

 

5:测试EIGRP Stub

 

(1)查看R2当前的邻居详情:

r2#sh ip eigrp neighbors detail

IP-EIGRP neighbors for process 1

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

1   24.1.1.4                Fa0/0             12 00:55:48  185  1110  0  29

   Version 12.4/1.2, Retrans: 3, Retries: 0, Prefixes: 2

0   12.1.1.1                Fa0/1             10 00:59:57  238  2142  0  32

   Version 12.4/1.2, Retrans: 4, Retries: 0, Prefixes: 2

r2#

说明:R2当前有两个邻居12.1.1.1R1),24.1.1.4R4),并且为正常邻居。

 

(2)配置R4EIGRP Stub:

r4(config)#router eigrp 1

r4(config-router)#eigrp stub

说明:将R4配置为EIGRP Stub,默认只向外发送直连和汇总路由。

 

(3)查看配置R4EIGRP Stub后,R2的邻居详情:

r2#sh ip eigrp neighbors detail

IP-EIGRP neighbors for process 1

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

1   24.1.1.4                Fa0/0             12 00:00:06  234  1404  0  32

   Version 12.4/1.2, Retrans: 0, Retries: 0, Prefixes: 2

   Stub Peer Advertising ( CONNECTED SUMMARY ) Routes

   Suppressing queries

0   12.1.1.1                Fa0/1             12 01:00:32  191  1146  0  41

   Version 12.4/1.2, Retrans: 5, Retries: 0, Prefixes: 2

r2#

说明:结果中显示24.1.1.4R4)当前为EIGRP Stub peer,并且是默认的只发送直连和汇总路由。

 

(4)修改R4EIGRP Stub参数:

r4(config)#router eigrp 1

r4(config-router)#eigrp stub receive-only

说明:EIGRP Stub默认只向外发送直连和汇总路由,现在将R4改为只收路由,但不发送任何路由。

 

 

(5)再次查看R2的路由情况:

 

r2#sh 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

 

     34.0.0.0/24 is subnetted, 1 subnets

D       34.1.1.0 [90/35584] via 12.1.1.1, 00:00:50, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

C       24.1.1.0 is directly connected, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

D       13.1.1.0 [90/30720] via 12.1.1.1, 00:14:35, FastEthernet0/1

r2#

说明:因为4.4.4.4R4的直连网络,而R4当前只收路由,却不发任何路由,所以R2没有从R4收到任何路由。即使是4.4.4.4

 

 

 

以下图为例,配置EIGRP 手工汇总,EIGRP认证,EIGRP默认路由

 

 

1.配置基础网络环境

(1)配置R1

r1(config)#int f0/0

r1(config-if)#ip add 10.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#int loopback 172

r1(config-if)#ip address 172.16.1.1 255.255.255.0

r1(config-if)#ip address 172.16.2.1 255.255.255.0 secondary

r1(config-if)#ip address 172.16.3.1 255.255.255.0 secondary

 

r1(config)#int loopback 192

r1(config-if)#ip address 192.168.1.1 255.255.255.0

r1(config-if)#ip address 192.168.2.1 255.255.255.0 secondary

r1(config-if)#ip address 192.168.3.1 255.255.255.0 secondary

 

r1(config)#router eigrp 1

r1(config-router)#network 10.0.0.0

r1(config-router)#redistribute connected metric 10000 100 255 1 1500

说明:在R1上配置了10.1.1.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24192.168.1.0/24192.168.2.0/24192.168.3.0/24,将启动EIGRP,但默认为关闭自动汇总;将10.1.1.0/24放入EIGRP进程,并将其它直连路由重分布进EIGRP

 

(2)配置R2:

r2(config)#int f0/0

r2(config-if)#ip address 10.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#router eigrp 1

r2(config-router)#network 10.0.0.0

说明:在R2上配置了10.1.1.0/24,并将其放入EIGRP进程。

 

(3)配置R3:

r3(config)#int f0/0

r3(config-if)#ip address 10.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router eigrp 1

r3(config-router)#network 10.0.0.0

说明:在R3上配置了10.1.1.0/24,并将其放入EIGRP进程。

 

2.测试EIGRP手工汇总

(1)查看R2当前自动汇总的状态:

 

r2#sh 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, 3 subnets

D EX    172.16.1.0 [170/284160] via 10.1.1.1, 00:01:43, FastEthernet0/0

D EX    172.16.2.0 [170/284160] via 10.1.1.1, 00:01:43, FastEthernet0/0

D EX    172.16.3.0 [170/284160] via 10.1.1.1, 00:01:43, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D EX 192.168.1.0/24 [170/284160] via 10.1.1.1, 00:01:43, FastEthernet0/0

D EX 192.168.2.0/24 [170/284160] via 10.1.1.1, 00:01:43, FastEthernet0/0

D EX 192.168.3.0/24 [170/284160] via 10.1.1.1, 00:01:43, FastEthernet0/0

r2#

说明:因为EIGRP无法对外部路由进行自动汇总,从R2的路由表中也可以看出,外部路由不受自动汇总影响。

 

(2)修改R1直连路由为EIGRP内部路由:

r1(config)#router eigrp 1

r1(config-router)#no redistribute connected metric 10000 100 255 1 1500

r1(config-router)#network 172.16.0.0 0.0.255.255

r1(config-router)#network 192.168.0.0 0.0.255.255

说明:取消重分布直连路由,并直连网段发布为EIGRP内部路由。

 

(3)再次查看R2当前自动汇总的状态:

 

r2#sh 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

 

D    172.16.0.0/16 [90/156160] via 10.1.1.1, 00:00:20, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D    192.168.1.0/24 [90/156160] via 10.1.1.1, 00:00:14, FastEthernet0/0

D    192.168.2.0/24 [90/156160] via 10.1.1.1, 00:00:14, FastEthernet0/0

D    192.168.3.0/24 [90/156160] via 10.1.1.1, 00:00:14, FastEthernet0/0

r2#

说明:EIGRP自动汇总对内部路由产生了效果,将172.16.1.0/24172.16.2.0/24172.16.3.0/24自动汇总成了B类网段172.16.0.0/16

 

(4)在R1上配置手工汇总:

r1(config)#int f0/0

r1(config-if)#ip summary-address eigrp 1 172.16.0.0 255.255.252.0

r1(config-if)#ip summary-address eigrp 1 192.168.0.0 255.255.252.0

说明:EIGRP手工汇总同RIP,是将路由汇总后发出去,是对出去的路由生效,而不是对进来的路由生效。

 

(5)查看R2当前的路由表:

r2#sh 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/16 is variably subnetted, 2 subnets, 2 masks

D       172.16.0.0/22 [90/156160] via 10.1.1.1, 00:00:42, FastEthernet0/0

D       172.16.0.0/16 [90/156160] via 10.1.1.1, 00:02:02, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D    192.168.0.0/22 [90/156160] via 10.1.1.1, 00:00:32, FastEthernet0/0

r2#

说明:EIGRP手工汇总可以将路由汇总为任意掩码长度,不受主类地址掩码长度影响,例如将C类地址汇总成了低于24位的掩码长度,并且从路由表中可以看出,在自动汇总和手工汇总都开启时,两者同时生效。

 

(6)关闭自动汇总:

r1(config)#router eigrp 1

r1(config-router)#no auto-summary

说明:关闭自动汇总。

 

(7)查看R2的路由表:

 

r2#sh 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/22 is subnetted, 1 subnets

D       172.16.0.0 [90/156160] via 10.1.1.1, 00:01:35, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D    192.168.0.0/22 [90/156160] via 10.1.1.1, 00:01:25, FastEthernet0/0

r2#

说明:因为关闭了自动汇总,所以只有手工汇总生效,路由表中已经没有明细路由了。

 

 

3.测试EIGRP认证:

(1)在R1上配置EIGRP认证:

r1(config)#key chain ccie

r1(config-keychain)#key 1

r1(config-keychain-key)#key-string cisco

 

r1(config)#int f0/0

r1(config-if)#ip authentication mode eigrp 1 md5

r1(config-if)#ip authentication key-chain eigrp 1 ccie

说明:在R1上开启EIGRP认证,并在接口F0/0上启用,1号密码为cisco

 

(2)查看R2当前EIGRP邻居状态:

r2#sh ip eig neighbors

IP-EIGRP neighbors for process 1

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

1   10.1.1.3                Fa0/0             11 00:08:32  154   924  0  29

r2#

说明:由于R1启用了EIGRP认证,而R2没有启用认证,所以R2无法与R1保持邻居关系,但与R3的邻居关系正常。

 

(3)在R2上开启EIGRP认证:

r2(config)#key chain ccie

r2(config-keychain)#key 1

r2(config-keychain-key)#key-string abc

r2(config-keychain-key)#exi

r2(config-keychain)#key 2

r2(config-keychain-key)#key-string cisco

 

r2(config)#int f0/0

r2(config-if)#ip authentication mode eigrp 1 md5

r2(config-if)#ip authentication key-chain eigrp 1 ccie

说明:在R2上配置了EIGRP认证,共设置了两个密码,1号密码为abc2号密码为cisco

 

(4)再次查看R2EIGRP邻居状态:

r3#sh ip eigrp neighbors

IP-EIGRP neighbors for process 1

r3#

说明:当R2开启认证后,已经没有任何邻居了,即使与开启了认证的R1也不能成为邻居,因为虽然双方有相同有密码,但是密码序号不一样,R11号密码为cisco,而R22号密码为cisco

 

(5)在R3上开启EIGRP认证:

r3(config)#key chain ccie

r3(config-keychain)#key 1

r3(config-keychain-key)#key-string cisco

r3(config-keychain-key)#exit

r3(config-keychain)#key 2

r3(config-keychain-key)#key-string abc

 

r3(config)#int f0/0

r3(config-if)#ip authentication mode eigrp 1 md5

r3(config-if)#ip authentication key-chain eigrp 1 ccie

说明:在R3上配置了EIGRP认证,共设置了两个密码,1号密码为abc2号密码为cisco

 

(6)查看R3EIGRP邻居状态:

 

r3#sh ip eigrp neighbors

IP-EIGRP neighbors for process 1

H   Address                 Interface       Hold Uptime   SRTT   RTO  Q  Seq

                                            (sec)         (ms)       Cnt Num

0   10.1.1.1                Fa0/0             13 00:00:38  215  1290  0  31

r3#

说明:因为R11号密码为cisco,而R31号密码也为cisco,双方相同,所以R3R1建立了邻居关系,由于R21号密码为abc,与大家不同,所以没能建立邻居;结果证明,需要注意,EIGRP认证时,需要双方密码相同,并且号码相同,才能建立邻居,而且必须是双方最上面的一组密码相同才可以。

注:有的文档会提示EIGRP不用号码匹配也能建立邻居,所以不排除某些IOS版本可能是那样,但是为了保险起见,请一定保证双方第一组号码和密码相同,否则结果不能保证。

 

 

 

4.测试EIGRP路由

(1)查看R3当前的路由表:

 

r3#sh 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/22 is subnetted, 1 subnets

D       172.16.0.0 [90/156160] via 10.1.1.1, 00:00:49, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D    192.168.0.0/22 [90/156160] via 10.1.1.1, 00:00:49, FastEthernet0/0

r3#

说明:当前R3R1为正常邻居,所以R3收到了R2发来的两条直连路由172.16.0.0/22192.168.0.0/22

 

(2)在R1上配置静态路由:

r1(config)#ip route 100.1.1.0 255.255.255.0 loopback 172

r1(config)#ip route 172.16.100.0 255.255.255.0 loopback 172

说明:R1上配置了指向100.1.1.0/24172.16.100.0/24的静态路由,并且出口为直连出口。

 

(3)再次查看R3当前的路由表:

 

r3#sh 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/16 is variably subnetted, 2 subnets, 2 masks

D       172.16.0.0/22 [90/156160] via 10.1.1.1, 00:02:41, FastEthernet0/0

D       172.16.100.0/24 [90/156160] via 10.1.1.1, 00:00:41, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D    192.168.0.0/22 [90/156160] via 10.1.1.1, 00:02:41, FastEthernet0/0

r3#

说明:R1上配置的指向接口的静态路由172.16.100.0/24被通告给了邻居,所以手工配置的静态路由如果是指的直连出口,只要静态路由被network命令包含在内,就会被通告进EIGRP进程,而不管其是真正的直连路由,还是手工指定的静态路上。

 

 

(4)在R1network静态路由:

r1(config)#router eigrp 1

r1(config-router)#network 100.0.0.0

说明:将静态路由100.1.1.0/24通过命令network放入EIGRP进程。