留言板

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进程。

 

(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

 

     100.0.0.0/24 is subnetted, 1 subnets

D       100.1.1.0 [90/156160] via 10.1.1.1, 00:00:14, FastEthernet0/0

     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:06:18, FastEthernet0/0

D       172.16.100.0/24 [90/156160] via 10.1.1.1, 00:04:17, 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:06:18, FastEthernet0/0

r3#

说明:因为指向接口的静态路由100.1.1.0/24network命令包含在内,所以被通告进了EIGRP进程。

 

 

5.测试EIGRP默认路由

说明:EIGRP发布默认路由的方法有三种,一是直接手工配置默认路由指向空接口(null 0),并将其通过命令network发布进EIGRP;二是直接手工配置默认路由指向空接口(null 0),并将其重分布进EIGRP;三是通过命令ip default-network指定默认网关,然后会自动被EIGRP传递。

1配置指向空接口(null 0)的默认路由:

r1(config)#ip route 0.0.0.0 0.0.0.0 null 0

 

 

(2network默认路由进EIGRP

r1(config)#router eigrp 1

r1(config-router)#network 0.0.0.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 0.0.0.0

 

     100.0.0.0/24 is subnetted, 1 subnets

D       100.1.1.0 [90/156160] via 10.1.1.1, 00:02:34, FastEthernet0/0

     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:08:38, FastEthernet0/0

D       172.16.100.0/24 [90/156160] via 10.1.1.1, 00:06:37, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D*   0.0.0.0/0 [90/28160] via 10.1.1.1, 00:00:20, FastEthernet0/0

D    192.168.0.0/22 [90/156160] via 10.1.1.1, 00:08:38, FastEthernet0/0

r3#

说明:因为指向接口的默认路由被network命令包含在内,所以被自动通告进了EIGRP进程。

 

(4)重分布默认路由:

r1(config)#router eigrp 1

r1(config-router)#no network 0.0.0.0

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

说明:在R1上将默认路由通过重分布的方法取代network命令,默认路由也是静态路由的一种,所以是重分布静态路由。

 

 

(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 10.1.1.1 to network 0.0.0.0

 

     100.0.0.0/24 is subnetted, 1 subnets

D       100.1.1.0 [90/156160] via 10.1.1.1, 00:03:20, FastEthernet0/0

     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:09:24, FastEthernet0/0

D EX    172.16.100.0/24 [170/284160] via 10.1.1.1, 00:00:16, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/0

D*EX 0.0.0.0/0 [170/284160] via 10.1.1.1, 00:00:16, FastEthernet0/0

D    192.168.0.0/22 [90/156160] via 10.1.1.1, 00:09:24, FastEthernet0/0

r3#

说明:默认路由被重分布进了EIGRP

 

(6)通过命令ip default-network发布默认路由

说明:通过命令ip default-network发布默认路由的方法请参见前面章节,不再详述。

 

                                                                   返回目录

OSPF

 

  概述

        

 路由协议OSPF全称为Open Shortest Path First,也就开放的最短路径优先协议,因为OSPF是由IETF开发的,它的使用不受任何厂商限制,所有人都可以使用,所以称为开放的,而最短路径优先(SPF)只是OSPF的核心思想,其使用的算法是Dijkstra算法,最短路径优先并没有太多特殊的含义,并没有任何一个路由协议是最长路径优先的,所有协议,都会选最短的。    

 OSPF的流量使用IP协议号89。

 OSPF工作在单个AS,是个绝对的内部网关路由协议(Interior Gateway Protocol,即IGP)。

 OSPF对网络没有跳数限制,支持 Classless Interdomain Routing (CIDR)Variable-Length Subnet Masks (VLSMs),没有自动汇总功能,但可以手工在任意比特位汇总,并且手工汇总没有任何条件限制,可以汇总到任意掩码长度。

 OSPF支持认证,并且支持明文和MD5认证;OSPF不可以通过Offset list来改变路由的metric

 OSPF并不会周期性更新路由表,而采用增量更新,即只在路由有变化时,才会发送更新,并且只发送有变化的路由信息;事实上,OSPF是间接设置了周期性更新路由的规则,因为所有路由都是有刷新时间的,当达到刷新时间阀值时,该路由就会产生一次更新,默认时间为1800秒,即30分钟,所以OSPF路由的定期更新周期默认为30分钟。

 OSPF所有路由的管理距离(Ddministrative Distance)110OSPF只支持等价负载均衡。

 距离矢量路由协议的根本特征就是自己的路由表是完全从其它路由器学来的,并且将收到的路由条目一丝不变地放进自己的路由表,运行距离矢量路由协议的路由器之间交换的是路由表,距离矢量路由协议是没有大脑的,路由表从来不会自己计算,总是把别人的路由表拿来就用;而OSPF完全抛弃了这种不可靠的算法,OSPF是典型的链路状态路由协议,路由器之间交换的并不是路由表,而是链路状态,OSPF通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径。

                                                                   返回目录

 

  OSPF术语

 

Router-ID

 假设这个世界上的人名字没有重复,每个人的名字都不相同,当有一天,遇上个陌生人告诉你,有任何麻烦可以找他,他一定能够帮你解决;等到你有麻烦的时候,你想找那个人帮忙,可是如果你连那个人的名字都不知道,那么也就不可能找到那个人帮忙了。OSPF就类似于上述情况,网络中每台OSPF路由器都相当于一个人,OSPF路由器之间相互通告链路状态,就等于是告诉别人可以帮别人的忙,如此一来,如果路由器之间分不清谁是谁,没有办法确定各自的身份,那么通告的链路状态就是毫无意义的,所以必须给每一个OSPF路由器定义一个身份,就相当于人的名字,这就是Router-ID,并且Router-ID在网络中绝对不可以有重名,否则路由器收到的链路状态,就无法确定发起者的身份,也就无法通过链路状态信息确定网络位置,OSPF路由器发出的链路状态都会写上自己的Router-ID,可以理解为该链路状态的签名,不同路由器产生的链路状态,签名绝不会相同。

 每一台OSPF路由器只有一个Router-IDRouter-ID使用IP地址的形式来表示,确定Router-ID的方法为:

1 .手工指定Router-ID

2 .路由器上活动Loopback接口中IP地址最大的,也就是数字最大的,如C类地址优先于B类地址,一个非活动的接口的IP地址是不能被选为Router-ID的。

3 .如果没有活动的Loopback接口,则选择活动物理接口IP地址最大的。

 

 

注:如果一台路由器收到一条链路状态,无法到达该Router-ID的位置,就无法到达链路状态中的目标网络。

Router-ID只在OSPF启动时计算,或者重置OSPF进程后计算。

 

 

COST

 OSPF使用接口的带宽来计算Metric,例如一个10 Mbit/s的接口,计算Coast的方法为:

将10 Mbit换算成bit,为10 000 000 bit,然后用10000 0000除以该带宽,结果为 10000 0000/10 000 000 bit = 10,所以一个10 Mbit/s的接口,OSPF认为该接口的Metric值为10,需要注意的是,计算中,带宽的单位取bit/s,而不是Kbit/s,例如一个100 Mbit/s的接口,Cost 值为 10000 0000 /100 000 000=1,因为Cost值必须为整数,所以即使是一个1000 Mbit/s1GBbit/s)的接口,Cost值和100Mbit/s一样,为1。如果路由器要经过两个接口才能到达目标网络,那么很显然,两个接口的Cost值要累加起来,才算是到达目标网络的Metric值,所以OSPF路由器计算到达目标网络的Metric值,必须将沿途中所有接口的Cost值累加起来,在累加时,同EIGRP一样,只计算出接口,不计算进接口。

 OSPF会自动计算接口上的Cost值,但也可以通过手工指定该接口的Cost值,手工指定的优先于自动计算的值。

 OSPF计算的Cost,同样是和接口带宽成反比,带宽越高,Cost值越小。到达目标相同Cost值的路径,可以执行负载均衡,最多6条链路同时执行负载均衡。

 

 

链路(Link)

 就是路由器上的接口,在这里,应该指运行在OSPF进程下的接口。

 

链路状态(Link-State)

 链路状态(LSA)就是OSPF接口上的描述信息,例如接口上的IP地址,子网掩码,网络类型,Cost值等等,OSPF路由器之间交换的并不是路由表,而是链路状态(LSA),OSPF通过获得网络中所有的链路状态信息,从而计算出到达每个目标精确的网络路径。OSPF路由器会将自己所有的链路状态毫不保留地全部发给邻居,邻居将收到的链路状态全部放入链路状态数据库(Link-State Database),邻居再发给自己的所有邻居,并且在传递过程种,绝对不会有任何更改。通过这样的过程,最终,网络中所有的OSPF路由器都拥有网络中所有的链路状态,并且所有路由器的链路状态应该能描绘出相同的网络拓朴。比如现在要计算一条地铁线路图,如上海地铁二号线某段的图,如果不直接将该图给别人看,图好比是路由表,现在只是报给别人各个站的信息,该信息好比是链路状态,通过告诉别人各个站左边一站是什么,右边一站是什么,别人也能通过该信息(链路状态),画出完整的线路图(路由表),如得到如下各站信息(链路状态):

南京东路- (左边一站是人民广场,右边一站是陆家嘴)

南京西路- (左边一站是静安寺,右边一站是人民广场)

静安寺- (右边一站是南京西路)

人民广场- (左边一站是南京西路,右边一站是南京东路)

陆家嘴- (左边一站是南京东路)

 

还原线路图(路由表)如下:

 

根据分析以下两站信息(两条链路状态):

南京西路- (左边一站是静安寺,右边一站是人民广场)

静安寺- (右边一站是南京西路)

 

计算 因为静安寺右边是南京西路,而南京西路左边是静安寺,所以静安寺和南京西路是相邻的,为 静安寺 南京西路,并且由于南京西路右边是人民广场,所以通过这两条信息,得出线路为 静安寺 南京西路 人民广场,继续往下

 

再根据如下两站信息(链路状态):

人民广场- (左边一站是南京西路,右边一站是南京东路)

南京东路- (左边一站是人民广场,右边一站是陆家嘴)

计算 因为之前南京西路右边是人民广场,人民广场左边是南京西路,所以南京西路和人民广场是相邻的两站,并且人民广场右边是南京东路,得出线路为 南京西路 人民广场 南京东路,并且因为南京东路右边是陆家嘴,所以 这部分线路得知为南京西路 人民广场 南京东路 陆家嘴,继续往下

 

再根据如下一站信息(链路状态):

陆家嘴- (左边一站是南京东路)

计算 因为南京东路右边是陆家嘴,而陆家嘴左边是南京东路,所以两站相邻,得出为 南京东路 陆家嘴,

 

通过以上各部分的线路:

静安寺 南京西路 人民广场

南京西路 人民广场 南京东路 陆家嘴

南京东路 陆家嘴

 

所以很轻松的就画出该段地铁线路图为:

静安寺 南京西路 人民广场   南京东路 陆家嘴

 

 

 从以上计算过程可以知道,因为得到各站的信息,就能画出整条线路图,而OSPF也同样根据路由器各接口的信息(链路状态),计算出网络拓朴图,OSPF之间交换链路状态,就像上面交换各站信息,而不像RIPEIGRP直接交换路由表,交换路由表,就等于直接给人看线路图,可见OSPF的智能算法,比距离矢量协议对网络有更精确的认知。

 

OSPF区域

 因为OSPF路由器之间会将所有的链路状态(LSA)相互交换,毫不保留,当网络规模达到一定程度时,LSA将形成一个庞大的数据库,势必会给OSPF计算带来巨大的压力;为了能够降低OSPF计算的复杂程度,缓存计算压力,OSPF采用分区域计算,将网络中所有OSPF路由器划分成不同的区域,每个区域负责各自区域精确的LSA传递与路由计算,然后再将一个区域的LSA简化和汇总之后转发到另外一个区域,这样一来,在区域内部,拥有网络精确的LSA,而在不同区域,则传递简化的LSA。区域的划分为了能够尽量设计成无环网络,所以采用了Hub-Spoke的拓朴架构,也就是采用核心与分支的拓朴,如下图:

 

 

 区域的命名可以采用整数数字,如1234,也可以采用IP地址的形式,0.0.0.10.0.0.2,因为采用了Hub-Spoke的架构,所以必须定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它区域称为Normal 区域(常规区域),在理论上,所有的常规区域应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA,如上图中Area 1Area 2Area 3Area 4只能和Area 0互换LSA,然后再由Area 0转发,Area 0就像是一个中转站,两个常规区域需要交换LSA,只能先交给Area 0,再由Area 0转发,而常规区域之间无法互相转发。

 OSPF区域是基于路由器的接口划分的,而不是基于整台路由器划分的,一台路由器可以属于单个区域,也可以属于多个区域,如下图:

 

 

 

 如果一台OSPF路由器属于单个区域,即该路由器所有接口都属于同一个区域,那么这台路由器称为Internal RouterIR),如上图中的R2R3R4;如果一台OSPF路由器属于多个区域,即该路由器的接口不都属于一个区域,那么这台路由器称为Area Border Router ABR),如上图中的R1ABR可以将一个区域的LSA汇总后转发至另一个区域;如果一台OSPF路由器将外部路由协议重分布进OSPF,那么这台路由器称为Autonomous System Boundary Router ASBR),如上图中,R5EIGRP重分进OSPF,那么R5就是ASBR,但是如果只是将OSPF重分布进其它路由协议,则不能称为ASBR

 可以配置任何OSPF路由器成为ABRASBR

 

由于OSPF有着多种区域,所以OSPF的路由在路由表中也以多种形式存在,共分以下几种:

如果是同区域的路由,叫做Intra-Area Route,在路由表中使用O来表示;

如果是不同区域的路由,叫做Inter-Area RouteSummary Route,在路由表中使用O IA来表示;

如果并非OSPF的路由,或者是不同OSPF进程的路由,只是被重分布到OSPF的,叫做External Route,在路由表中使用O E2OE 1来表示。

当存在多种路由可以到达同一目的地时,OSPF将根据先后顺序来选择要使用的路由,所有路由的先后顺序为:

Intra-Area Inter-Area External E1 External E2,即 O O IA O E1 O E2

 

注:

一台路由器可以运行多个OSPF进程,不同进程的OSPF,可视为没有任何关系,如需要获得相互的路由信息,需要重分布。

每个OSPF进程可以有多个区域,而路由器的链路状态数据库是分进程和分区域存放的。

 

 

邻居(Neighbor)

 OSPF只有邻居之间才会交换LSA,路由器会将链路状态数据库中所有的内容毫不保留地发给所有邻居,要想在OSPF路由器之间交换LSA,必须先形成OSPF邻居,OSPF邻居靠发送Hello包来建立和维护,Hello包会在启动了OSPF的接口上周期性发送,在不同的网络中,发送Hello包的间隔也会不同,当超过4倍的Hello时间,也就是Dead时间过后还没有收到邻居的Hello包,邻居关系将被断开。

两台OSPF路由器必须满足4个条件,才能形成OSPF邻居,4个必备条件如下:

 

1.Area-id(区域号码)

即路由器之间必须配置在相同的OSPF区域,否则无法形成邻居。

 

2.Hello and Dead IntervalHello时间与Dead时间)

即路由器之间的Hello时间和Dead时间必须一致,否则无法形成邻居。

 

3.Authentication(认证)

路由器之间必须配置相同的认证密码,如果密码不同,则无法形成邻居。

 

4.Stub Area Flag(末节标签)

路由器之间的末节标签必须一致,即处在相同的末节区域内,否则无法形成邻居。

 

注:

OSPF只能使用接口的Primary地址建立邻居,不能使用Secondary建立邻居。

路由器双方接口要么都为手工配置地址(Numbered),要么都为借用地址(Unnumbered),否则无法建立邻居。

 

 

邻接(Adjacency)

 两台OSPF路由器能够形成邻居,但并不一定能相互交换LSA,只要能交换LSA,关系则称为邻接(Adjacency)。邻居之间只交换Hello包,而邻接(Adjacency)之间不仅交换Hello包,还要交换LSA

 

 

DR/BDR

 当多台OSPF路由器连到同一个多路访问网段时,如果每两台路由器之间都相互交换LSA,那么该网段将充满着众多LSA条目,为了能够尽量减少LSA的传播数量,通过在多路访问网段中选择出一个核心路由器,称为DRDesignated Router),网段中所有的OSPF路由器都和DR互换LSA,这样一来,DR就会拥有所有的LSA,并且将所有的LSA转发给每一台路由器;DR就像是该网段的LSA中转站,所有的路由器都与该中转站互换LSA,如果DR失效后,那么就会造成LSA的丢失与不完整,所以在多路访问网络中除了选举出DR之外,还会选举出一台路由器作为DR的备份,称为BDRBackup Designated Router),BDRDR不可用时,代替DR的工作,而既不是DR,也不是BDR的路由器称为Drother,事实上,Dother除了和DR互换LSA之外,同时还会和BDR互换LSA,如下图:

 

  

 上图中R1被选为DRR2被选为BDR,而R3R4DrotherR3同时和R1R2互换LSAR4也同时和R1R2互换LSA,但R3R4却不能互换LSA

 其实不难看出,DRBDR并没有任何本质与功能的区别,只有在多路访问的网络环境,才需要DRBDRDRBDR的选举是在一个二层网段内选举的,即在多个路由器互连的接口范围内,与OSPF区域没有任何关系,一个区域可能有多个多路访问网段,那么就会存在多个DRBDR,但一个多路访问网段,只能有一个DRBDR;选举DRBDR的规则为:

比较接口优先级

选举优先级最高的成为DR,优先级数字越大,表示优先级越高,被选为DR的几率就越大,次优先级的为BDR,优先级范围是0-255,默认为1,优先级为0表示没有资格选举DRBDR

 

Route-Id大小

如果在优先级都相同的情况下,Route-Id 最大的成为DR,其次是BDR,数字越大,被选为DR的几率就越大。

 

 因为所有路由器都能与DRBDR互换LSA,所以所有路由器都与DRBDR是邻接(Adjacency)关系,而DrotherDrother之间无法互换LSA,所以DrotherDrother之间只是邻居关系。

 

在一个多路访问网络中,选举DRBDR是有时间限制的,该时间为Wait时间,默认为4倍的Hello时间,即与Dead时间相同,如果OSPF路由器在超过Wait时间后也没有其它路由器与自己竞争DRBDR的选举,那么就选自己为DR;当一个多路访问网络中选举出DRBDR之后,在DRBDR没有失效的情况下,不会进行重新选举,也就是在选举出DRBDR之后,即使有更高优先级的路由器加入网络,也不会影响DRBDR的角色,在越出选举时间(Wait时间)后,只有DRBDR失效后,才会重新选举。DR失效后,会同时重新选举DRBDR,而在BDR失效后,只会重新选举BDR

 

 DRBDRDrother的数据包处理会有所不同,

所有OSPF路由器,包括DRBDR,都能够接收和传递目标地址为224.0.0.5的数据包。

只有DRBDR才能接收和传递目标地址为224.0.0.6的数据包。

 由此可见,Drother路由器将数据包发向目标地址224.0.0.6,只能被DRBDR接收,其它Drother不能接收;而DRBDR将数据包发向目标地址224.0.0.5,可以被所有路由器接收。

                                                                    返回目录

 

OSPF数据包交换过程

 OSPF建立邻居,到LSA的互换,到路由表的计算,需要经过一系列的数据包交换过程,过程如下:

 

Hello

Database Description Packets DBD

Link-state Request LSR

Link-state updateLSU

LSDB

 

具体情况如下:

 

Hello

Hello包是用来建立和维护OSPF邻居的,要交换LSA,必须先通过Hello包建立OSPF邻居。

 

Database Description Packets DBD

当一个人去书店买书时,想要决定买哪本书,并不会先将书店里所有的书都看一遍,才做决定买哪本好,通常是只看书的目录,或者大概翻一翻,再对比一下,就能决定买哪本;而OSPFLSA交换也是一样的,邻居建立之后,并不会立刻就将自己链路状态数据库中所有的LSA全部发给邻居,而是将LSA的基本描述信息发给邻居,这就是Database Description Packets DBD),是LSA的目录信息,相当于书的目录,邻居在看完DBD之后,就能知道哪些LSA是需要邻居发送给自己的。

                

Link-state Request LSR

邻居在看完发来的LSA描述信息(DBD)之后,就知道哪些LSA是需要邻居发送给自己的,自己就会向邻居发送LSA请求(LSR),告诉邻居自己需要哪些LSA

 

Link-state updateLSU

当邻居收到其它路由器发来的LSA请求(LSR)之后,就知道对方需要哪些LSA,然后根据LSR,将完整的LSA内容全部发给邻居,以供计算路由表。

 

LSDB

就是已经收到了所有需要邻居发给自己的LSA,这时的链路状态数据库已经达到收敛状态。

 

                                                                    返回目录

 

OSPF启动过程

路由器从启动OSPF进程,到根据链路状态数据库计算出路由表,同样需要经历一系列的启动过程,总共有8种可能的启动过程,但并不是一定会经历这8个过程,具体过程如下:

 

Down Attempt Init Two-way Exstart Exchange Loading Full

 

每个过程详细情况如下:

 

Down

路由器刚刚启动OSPF进程,还没有从任何路由器收到任何数据包,Hello包也没有收到,在此进程,可以向外发送Hello包,以试图发现邻居。

 

Attempt

因为OSPF使用组播发送数据包,如使用组播发送Hello包,如果Hello包不能发出去被其它路由器收到,就不能和其它路由器建立OSPF邻居;在一些组播不能发送的网络中,例如帧中继这样的非广播网络环境,组播不能够传递,在这种情况下,就需要指定OSPF使用单播向邻居发送Hello包,以此试图和指定的邻居建立OSPF邻居关系,在此状态下,OSPF称为Attempt状态。

 

 

 

Init

只是OSPF路由器一方收到了另一方的Hello,但并没有双方都交换Hello,也就是对方的Hello中还没有将自己列为邻居。

 

 

Two-way

双方都已经交换了Hello信息,并且从Hello中看到对方已经将自己列为邻居,此状态,就表示OSPF邻居关系已经建立,并且如果是需要选举DRBDR的话,也已经选举出来,但OSPF邻居之间并不一定就会交换LSA,如果不需要交换LSA,则永远停留在此状态,如果需要形成邻接并互相交换LSA,则状态继续往下进行。(比如DrotherDrother之间将永远停留在Two-way状态,因为DrotherDrother之间不需要交换LSA。)

 

 

 

Exstart

因为在OSPF邻居之间交换完整的LSA之前,会先发送Database Description Packets DBD),Link-state Request LSR)等数据包,邻居之间是谁先发,谁后发,需要确定顺序,在Exstart

状态,就是确定邻居之间的主从关系(MasterSlave关系),Router-ID数字大的为主路由器,另一端为从路由器,由主路由器先向从路由器发送信息。在选举DRBDR的网络环境中,并不一定DR就是主路由器,BDR就是从路由器,因为DRBDR可以通过调整接口优先级来控制,所以DR也许是因为优先级比BDR高,而Router-ID并不比BDR高。

注:在任何网络环境下,OSPF在交换LSA之前,都需要确定主从关系。

 

 

Exchange

就是交换Database Description Packets DBD)的过程,DBD只是LSA的简单描述,只包含LSA的一些头部信息,收到DBD的路由器会和自己的链路状态数据库作对比,确定需要哪些LSA的完整信息,就会发送LSR请求给邻居。

 

 

Loading

邻居根据收到的LSRLink-State Request),向对方回复Link-state updateLSU)。

 

 

Full

等到OSPF都收到了邻居回复的所有Link-state updateLSU),那么此时的数据库状态就变成了收敛状态,此状态就是Full状态,但此时只是数据库已经同步,但路由表却还在计算当中。

 

 

 

注:除了Two-wayFull这两个状态,邻居停留在任何状态,都是不正常。

                                                                    返回目录

OSPF网络类型(Network Type

 

OSPF是一个在各方面都考虑比较周全的路由协议,也会因此将该协议变得更为复杂化,OSPF并不像RIPEIGRP那样,RIPEIGRP在运行时,并不考虑OSI模型在二层所定义的内容,即并不关心二层的链路介质类型,而OSPF在运行时,必须考虑链路层的类型,称为OSPF网络类型(Network Type),对于不同二层介质类型,OSPF将有不同的操作和运行过程,网络类型,可分为如下几种:

点到点(Point-To-Point

点到多点(Point-To-Multipoint

广播(Broadcast

非广播(Non-Broadcast

点到多点非广播(Point-To-Multipoint Non-Broadcast

 

对于不同的网络类型,将会影响到OSPFHello时间与Dead时间,关系到DRBDR的选举与否,影响到OSPF邻居是自动建立还是手工建立,总结如下表:

 

网络类型

Hello时间

选举DR/BDR

邻居建立方式

点到点

(Point-To-Point)

10秒

自动

点到多点

(Point-To-Multipoint)

30秒

自动

广播

(Broadcast )

10秒

自动

非广播

(Non-Broadcast )

30秒

手工

点到多点非广播

(Point-To-Multipoint Non-Broadcast)

30秒

手工

注:

OSPF网络类型(Network Type)是根据二层链路层的介质决定的,但也可以手工定义网络类型,因此可以在各类型之间手工切换。

OSPF邻居的成功建立,并不要求双方网络类型一致,但双方网络类型不一致,将可能导致链路状态数据库中的条目无法进入路由表。

 

                                                                    返回目录

 

OSPF链路类型(Link Type

巧玲珑OSPF确实因为考虑问题的全面,而导致路由协议的复杂,OSPF不仅因为不同的二层链路层介质定义了不同的OSPF网络类型(Network Type),还因为链路上的邻居,而定义了OSPF链路类型(Link Type        

 OSPF网络类型(Network Type)是完全根据二层链路层的介质决定的,而OSPF链路类型(Link Type)不仅受二层链路层介质的影响,还受到链路中OSPF邻居的影响,同时还影响到LSA,因此变得复杂。

 

注:

OSPF链路类型(Link Type)不会影响人们操作OSPF,所以可以选择不深入理解OSPF链路类型(Link Type),但OSPF网络类型(Network Type)却影响到OSPF的操作,OSPF网络类型(Network Type)必须理解和牢记。

OSPF链路类型(Link Type)与OSPF网络类型(Network Type)没有对应关系,没有因果关系。

 

OSPF链路类型(Link Type)分为以下几种:

 

Stub Network Link

 在一个网段中只有一台OSPF路由器的情况下,该网段被OSPF链路类型定义为Stub Network Link;因为一个网段中只有一台OSPF路由器,所以在这个网段就不可能有OSPF邻居,一个接口被通告进OSPF,无论其二层链路是什么介质,只要在该接口上没有OSPF邻居,那么就是Stub Network LinkLoopback接口永远被定义为Stub Network Link,默认使用32位掩码表示,无论将Loopback接口改为哪种OSPF网络类型(Network Type),始终改变不了它的OSPF链路类型(Link Type)属性,但可以改变它在LSA中的掩码长度。

 

 

Point-To-Point Link

OSPF网络类型(Network Type)为Point-To-Point的接口,OSPF链路类型(Link Type)为Point-To-Point Link,但Loopback接口除外;而网络类型为点到多点(Point-To-Multipoint)的接口,同样链路类型也为Point-To-Point Link

Point-To-Point Link可以是手工配置的地址(Numbered),也可以是借用的地址(Unnumbered),也可以是物理接口或逻辑子接口。

 

 

Transit Link

 拥有两台或两台以上OSPF路由器的链路,简单理解为有邻居的OSPF接口就是Transit Link,但网络类型为Point-To-Point和点到多点(Point-To-Multipoint)的接口除外,因为它们被定义为Point-To-Point Link

 

 

 

Virtual link

  就是OSPF虚链路(Virtual Link),但希奇的是,虚链路(Virtual Link)被定义为手工配置的地址(Numbered)的Point-To-Point Link

 

                                                                    返回目录

 OSPF外部路由

 OSPF同其它路由协议一样,可以将其它外部协议的路由信息或其它OSPF进程的路由信息重分布进自己的域内,这样的路由在OSPF域内就是OSPF外部路由(External Route),在路由表中的表示方法和OSPF自己的路由会有所不同,因为OSPF外部路由可以分为两类,分为Type 2Type 1,所以在路由表中分别表示为O E2OE 1

 O E2OE 1在路由条目上没有任何区别,只是对于路由的Metric值计算有区别;类型为O E2的外部路由,在该路由进入OSPF之前的Metric值为多少,进入OSPF域后,所有OSPF路由器看到关于该路由的Metric值全部相同,不会再为该路由增加任何Metric值,O E2默认Metric值为20。而O E1的路由在OSPF路由器上的Metric值包含该路由进入OSPF域之前的Metric值,再加上在OSPF域内传递的Metric值, 也就是到达外部路由的Metric值为到达ASBRMetric值再加上进入OSPF域之前的Metric值之和,不同OSPF路由器看到O E1的路由的Metric值可能会有不同。如下图:

 

 

 在上图中,R5EIGRP重分布进OSPF,如果使用O E2类型重分布进OSPF,并且取默认Metric20,那么OSPF域内的路由器R1R2R3R4R5看到外部路由的Metric值全部都为20,不会有任何变化。如果使用O E1类型重分布进OSPF,并且取默认Metric20,那么OSPF域内的路由器在计算Metric值时,还会在原有Metric值的基础上,再加上到达ASBRR5)所需的Metric值,假设R1选择从R3R5再到外部路由,那么R1到外部路由的Metric值为20+1+10=31,所以使用O E2时,R1到外部路由的Metric值为20,而在使用O E1时,R1到外部路由的Metric值为31

 所以必须给每一个OSPF路由器定义一个身份,就相当于人的名字,这就是Router-ID,并且Router-ID在网络中绝对不可以有重名,否则路由器收到的链路状态,就无法确定发起者的身份,也就无法通过链路状态信息确定网络位置,OSPF路由器发出的链路状态都会写上自己的Router-ID,可以理解为该链路状态的签名,不同路由器产生的链路状态,签名绝不会相同。

 之前说过,每一台OSPF路由器都有一个Router-ID,在自己产生LSA时,都会在LSA中写上自己的Router-ID,表示LSA的身份,类似于签名,如果一台路由器收到一条链路状态,无法到达该Router-ID的位置,就无法到达链路状态中的目标网络。其实,在同区域内,每台OSPF路由器的Router-ID对于每一台路由器都是可达的,因为同区域内会有精确的LSA信息,包含Router-ID,但需要说明,同区域路由器的Router-ID并不是单独通过LSA来通告的,而是通过精确的LSA计算出来的,也就是说Router-ID的位置是推算出来的,但您放心,这不会有错,就像之前推算地铁线路图一样;因为同区域路由器的Router-ID都有精确的路径信息,所以网络是通畅的,然而,不同区域的OSPF路由器,Router-ID是不知道的,也可以理解为Router-ID不会跨区域传递,那么是否就意味着不同区域的路由是不可达的呢?答案当然是可达的,只要同区域所有路由器可达,那么不同区域自然就是可达的,理由是,不同区域是通过ABR相连的,因为ABR连接着不同区域,所以只要各个区域路由器和ABR是通的,那么不同区域当然可以实现网络连通,所以,ABR在将一个区域的LSA转发至另一个区域时,产生该LSARouter-ID就不再是原来的Router-ID,会被修改为ABRRouter-ID,这样一来,和ABR相通的路由器只要到达ABR,就能到达其它区域;如下图所示:

 

上图中,R2R3ABRArea 0一定拥有全网的LSAR2可以在Area 0Area 2之间转发LSA,而R3可以在Area 0Area 1之间转发LSA,但是对于其它区域的路由,R1无法到达,因为R1只有Area 2每台路由器的Router-IDR4的情况同样如此;最终结果是,R2在将Area 0LSA转发给Area 2时,已经将所有LSARouter-ID改成了自己的,所以所有的路由对于R1来说,只要交给ABRR2)即可,因为R2能够全网可达,在Area 1也是一样,R3在将Area 0LSA转发给Area 1时,已经将所有LSARouter-ID改成了自己的,所以所有的路由对于R4来说,只要交给ABRR3)即可,由此可见,OSPF中,不同区域之间的路由互通,是由于ABR在转发区域是的LSA时,将LSARouter-ID改成了自己的Router-ID,才使得该区域可以与其它区域通信,如果没有ABR这种自动修改Router-ID的行为,那么OSPF不同区域间将会无法通信。

 

对于外部路由,执行重分布的路由器同样需要在LSA中写上自己的Router-ID,其实就是ASBRRouter-ID,因为外部路由会在多个OSPF区域之间传递,所以会被多个ABR转发,而ABR在转发外部路由的LSA时,是没有权限修改LSARouter-ID,这样一来,外部路由的Router-ID在所有OSPF路由器上都不会改变,永远是ASBRRouter-ID,最终造成的结果是只有与ASBR同在一个区域的路由器才能到达外部路由,因为只有与ASBR同在一个区域的路由器才知道如何到达ASBRRouter-ID,而其它区域的路由器对此却无能为力;为了能够让OSPF所有区域都能与外部路由连通,在ABR将外部路由从ASBR所在的区域转发至其它区域时,需要发送单独的LSA来告知如何到达ASBRRouter-ID,因为ABR将外部路由的LSA告诉了其它区域,是有义务让它们与外部路由可达的,所以额外发送了单独的LSA来告知如何到达ASBRRouter-ID;从这里也可以看出,任何一个ASBR所在区域外的其它区域,都必须靠ABR通告一条通往ASBR Router-IDLSA,此LSA就是后面将会详细解释的LSA 类型的第4类。如下图:

 

在上图中,因为ASBRR4)将外部路由(EIGRP)重分布进OSPF后,自己的Router-ID对于Area 1的所有路由器是可达的,但对于Area 2Area 0中的路由器是不可达的,所以在ABR将外部路由的LSA发向Area 0Area 2时,会额外通过单独的LSA 4ASBRR4)的Router-ID发向这些区域。

 

OSPF外部路由有许多是需要理解的地方,外部LSAForward Address是一个其它LSA没有的特征,每一条外部LSA都带有一个Forward Address,该地址是用来告诉收到此LSA的路由器如何到达外部路由,那么一条外部路由的LSAForward Address究竟该是什么地址呢?在ASBR的路由表中,外部路由的下一跳地址是什么,那么在外部路由的LSAForward Address就是什么,但是OSPF内部路由器是通过Forward Address来到达外部路由的,如果它们连这个Forward Address都到达不了,比如Forward Address本身就是外部路由而不包含在OSPF进程中,那么可想而知,Forward Address的意义等于0,所以,如果ASBR的路由表中,外部路由的下一跳地址是OSPF进程自己的路由,那么外部路由LSAForward Address就是该地址,所有OSPF内部路由器则通过该地址去往外部路由,但如果ASBR的路由表中,外部路由的下一跳地址不在OSPF进程中,那么该地址对于其它所有OSPF路由器都不可达,这时,ASBR就将外部路由LSAForward Address设置为0.0.0.0,当Forward Address0.0.0.0时,所有OSPF路由器通过外部LSARouter-ID去往外部路由;如下图所示:

 

在上图中,当R5ASBR)将外部路由EIGRP重分布进OSPF时,因为R5到达外部路由的下一跳地址是56.1.1.6,如果该地址的网段被通告进OSPF进程,那么此时外部路由的Forward Address就是56.1.1.6,所有OSPF路由器通过去往地址56.1.1.6来去往外部路由;但如果该地址并不在OSPF进程中,那么外部路由的Forward Address就是0.0.0.0,则所有OSPF路由器通过去往ASBRR5)的Router-ID去往外部路由。

 

重点提示:

  重分布外部路由时,默认类型为O E2,如果通过两个ASBR能到达相同的外部路由,选择O E1的优先,其次是O E2,但如果都为O E1O E2,则选择到达Forward Address最小Metric的路径优先,如果Forward Address都为0.0.0.0,最后选择到达ASBR最小Metric的路径优先,但如果Forward Address地址一个为0.0.0.0,一个为真实地址,统一比较到ASBRMetric

 

                                                                   返回目录 

OSPF末节区域

 如果路由增加,就意味着LSA的增加,有时,在一个末梢网络中,许多路由信息是多余的,并不需要通告进来,因为一个OSPF区域内的所有路由器都能够通过该区域的ABR去往其它OSPF区域或者OSPF以外的外部网络,既然一个区域的路由器只要知道去往ABR,就能去往区域外的网络,所以可以过滤掉区域外的路由进入某个区域,这样的区域称为OSPF末节区域(Stub Area);一个末节区域的所有路由器虽然可以从ABR去往区域外的网络,但路由器上还是得有指向ABR的路由,所以末节区域的路由器只需要有默认路由,而不需要明细路由,即可与区域外的网络通信,根据末节区域过滤掉区域外的不同路由,可将末节区域分为如下四类:

Stub Area(末节区域)

Totally Stub Area(完全末节区域)

Not-so-Stubby AreaNSSA

Totally  Not-so-Stubby AreaTotally  NSSA

 

各类型的特征如下:

Stub Area(末节区域)

在Stub Area(末节区域)下,ABR将过滤掉所有外部路由进入末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即末节区域内的路由器不可以成为ASBR,但其它OSPF区域的路由(Inter-Area Route)可以进入末节区域,由于没有去往外部网络的路由,所以ABR会自动向末节区域内发送一条指向自己的默认路由,如下图:

 

 

 

Totally Stub Area(完全末节区域)

在Totally Stub Area(完全末节区域)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入完全末节区域,同时,末节区域内的路由器也不可以将外部路由重分布进OSPF进程,即完全末节区域内的路由器不可以成为ASBR,由于没有去往外部网络的路由,所以ABR会自动向完全末节区域内发送一条指向自己的默认路由,如下图:

 

 

可以发现,末节区域与完全末节区域的不同之处在于,末节区域可以允许其它OSPF区域的路由(Inter-Area Route)进入,而完全末节区域却不可以。

 

 

Not-so-Stubby AreaNSSA

在Not-so-Stubby AreaNSSA)下,ABR将过滤掉所有外部路由进入末节区域,同时也允许其它OSPF区域的路由(Inter-Area Route)进入NSSA区域,并且路由器还可以将外部路由重分布进OSPF进程,即NSSA区域内的路由器可以成为ASBR,由于自身可以将外部网络的路由重分布进OSPF进程,所以ABR不会自动向NSSA区域内发送一条指向自己的默认路由,但可以手工向NSSA域内发送默认路由,并且只可在ABR上发送默认路由;如下图:

 

NSSA与末节区域的最大区别在于,NSSA区域可以允许自身将外部路由重分布进OSPF,而末节区域则不可以。

 

 

Totally  Not-so-Stubby AreaTotally  NSSA

在Totally  Not-so-Stubby AreaTotally  NSSA)下,ABR将过滤掉所有外部路由和其它OSPF区域的路由(Inter-Area Route)进入Totally  NSSA区域,但路由器可以将外部路由重分布进OSPF进程,即Totally  NSSA区域内的路由器可以成为ASBR,由于没有去往其它OSPF区域的路由,所以ABR会自动向Totally  NSSA内发送一条指向自己的默认路由,如下图:

 

Totally  NSSANSSA的区别在于,NSSA区域可以允许其它OSPF区域的路由(Inter-Area Route)进入,而Totally  NSSA区域却不可以,但Totally  NSSA区域的ABR会自动向Totally  NSSA区域内发送一条指向自己的默认路由。

 

 

总结各区域的特征如下:

区域类型

接收区域间路由

ABR是否自动发送默认路由

是否可以重分布外部路由

Stub Area

(末节区域)

Totally Stub Area

(完全末节区域)

Not-so-Stubby Area

(NSSA

Totally  Not-so-Stubby Area

(Totally  NSSA

  

注:

在末节区域下,ABR自动发出的默认路由,Metric值默认为1,可通过命令area area-id default-cost cost修改,默认路由除了默认的Cost值以外,还会累加真实接口的Cost值。

骨干区域不能配置为任何末节区域。

当将某个区域配置为末节区域后,则区域中所有路由器都必须配置为末节区域,因为配置为末节区域的路由器上所有接口发出的Hello包中都会有末节标签,所有如果对方没有末节标签,则不能成为邻居。

                                                                    返回目录

 

OSPF LSA类型

 OSPF由于有着多种区域类型,多种网络类型,多种链路类型,多种路由器身份,所以LSALink-State Advertisements)也是多样的,并不用埋怨设计OSPF的人为什么要将OSPF设计的这么复杂,因为这种工作,通常是一群人,合伙只干一件事,工作分担到他们每个人身上,并没有多少,复杂程度他们自然不会感觉到,但他们多个人的复杂结果,却要分到一个人身上。

 在详细讲解LSA之前,需要重点说明,只有同一个区域内的LSA,才是精确的,区域外的LSA,并不一定包含所有必备的信息,因此,所有LSA知识信息,并不一定可以套用到每一类LSA

 

 目前得到的消息为止,OSPF中共有11LSA,而在CCIE的要求中,只需要理解1234576类即可,这些LSA会因为区域类型,网络类型,链路类型,路由器身份的不同而不同,以下是详细介绍:

 

LSA各类的用途为:

 

类型 1  Router Link

类型1LSA是任何一台OSPF路由器都会产生的,每一台OSPF路由器的每一个OSPF接口都会有自己的链路状态,但是每台OSPF路由器只能产生一条类型1LSA,即使有多个OSPF接口,也只有一条类型1LSA,因为所有OSPF接口的链路状态是被打包成一条类型1LSA发送的。

 一个区域正是由于LSA 1的存在,才有精确的路由表,一个区域如果只有LSA 1,同样可以正常通信。LSA 1 只能在单个区域内传递,ABR不能将LSA 1转到发另外一个区域,并且没有任何权利修改LSA 1

 

类型 2  Network Link

 类型2LSA只有在需要选举DR/BDR的网络类型中才会产生,并且只是DR产生,BDR没有权利产生,LSA 2LSA 1没有任何关联,没有任何依存关系,是想互独立的。

 

类型 3  Summary Link

 类型3LSA就是将一个区域的LSA发向另一个区域时的汇总和简化,ABR其实就是将LSA 1汇总和简化,变成LSA 3后再发到另一个区域的,如果是详细完整的LSA 1,是绝不允许的,LSA 3LSA 1的缩略版。

 

类型 4  ASBR Summary Link

 对于外部路由,执行重分布的路由器ASBRLSA中写上自己的Router-ID,然后传递到多个OSPF区域,所以会被多个ABR转发,而ABR在转发外部路由的LSA时,是没有权限修改LSARouter-ID,这样一来,外部路由的Router-ID在所有OSPF路由器上都不会改变,永远是ASBRRouter-ID,最终造成的结果是只有与ASBR同在一个区域的路由器才能到达外部路由,因为只有与ASBR同在一个区域的路由器才知道如何到达ASBRRouter-ID,而其它区域的路由器对此却无能为力;为了能够让OSPF所有区域都能与外部路由连通,在ABR将外部路由从ASBR所在的区域转发至其它区域时,需要发送单独的LSA来告知如何到达ASBRRouter-ID,因为ABR将外部路由的LSA告诉了其它区域,是有义务让它们与外部路由可达的,所以额外发送了单独的LSA来告知如何到达ASBRRouter-ID;这个单独的LSA就是类型4LSALSA 4是包含的ASBR Router-ID,只要不是ASBR所在的区域,都需要ABR发送LSA 4来告知如何去往ASBR

 

 

类型 5  External Link

 类型5LSA就是外部路由重分布进OSPF时产生的,并且是由ASBR产生的,LSA中包含ASBRRouter-ID,任何路由器都不允许更改该Router-IDLSA 5中还包含Forward Address,对于LSA 5 Metric值计算与选路规则也有所不同,详细信息请见OSPF外部路由部分。

 

 

类型 7  NSSA Link

 因为NSSA区域可以将外部路由重分布进OSPF进程,而NSSA不是一般的常规区域,所以在NSSA将外部路由重分布进OSPF时,路由信息使用类型7来表示,LSA 7NSSA区域的ASBR产生,LSA 7也只能在NSSA区域内传递,如果要传递到NSSA之外的其它区域,需要同时连接NSSA与其它区域的ABRLSA 7 转变成LSA 5后再转发。

 

 

 

LSA各参数

 在LSA的内容中,将有多个参数来表示,这些参数会因为LSA类型,区域类型,网络类型,链路类型,路由器身份的不同而不同,是真正的变化多端,非常的复杂,这些参数在我们操作OSPF时,可以帮助我们更好的分析LSA,但并不会起决定性的作用,所以对LSA参数的理解与否,不会影响到OSPF的配置与排错,若无特殊要求,LSA参数需要大家了解即可,不需要掌握,不需要牢记。

 LSA中包含的参数有LS TypeLink State IDLink IDLink Data,具体如下:

 

 

LS Type

 LS Type就是前面讲到的LSA类型,如LSA 1LSA 2LSA 3LSA 4LSA 5LSA 7

 

 

Link State ID

  因为OSPF接口的链路状态,是使用LSA发送的,接口的相关信息,如网络号,掩码等等,它们算是LSA真正的内容,而LSA也是有简明信息的,或者说是LSA的标题,或者说是LSA的名称,这就是Link State ID,如果将LSA比作一个包裹,那么Link State ID就是包裹外面写的信息,比如包裹里是一件衣服,那么Link State ID可能就是写的衣服是什么牌子,什么尺寸,什么颜色,等等;但不同类型的LSA,其Link State ID的表示也会不同,如下表:

 

LSA类型

Link State ID内容

LSA 1

是产生LSA 1的路由器的Router-ID。

LSA 2

因为LSA 2是由DR产生的,所以LSA 2的Link State ID是DR的接口地址。

LSA 3

是目标网络的网络地址,其实这个等同于路由条目,也就是路由表里显示的是什么,LSA 3的Link State ID就是什么。

LSA 4

是ASBR的Router-ID

LSA 5

和LSA 3的一样,还是目标网络的网络地址,路由表里显示的是什么,LSA 5的Link State ID就是什么。

 

Link ID

 Link ID是用来表示链路自己的,也就是表示OSPF接口自己,再换句话说,就是OSPF接口的链路状态,可以理解为LSA的内容部分

 Link ID会因为链路类型(Link Type)的不同而不同,对于链路类型(Link Type)的详细解释,请参见前面部分。

 需要注意,Link ID的内容有时与Link State ID的内容相同,但Link ID并非完全等于Link State ID,因为Link State ID是由LSA类型的不同而不同,而Link ID是由Link Type的不同而不同。

Link ID的具体内容如下表:

链路类型(Link Type

Link ID内容

Stub Network Link

使用接口的网络号和子网掩码来表示。

Point-To-Point Link

邻居的Router-ID

Transit Link

是DR的接口地址。

Virtual link

同Point-To-Point Link,是邻居的Router-ID

 

 

Link Data

 是接口上的IP地址,如果链路类型(Link Type)为Stub Network Link,则Link Data是子网掩码。

                                                                    返回目录

OSPF虚链路(Virtual Link

 因为OSPF采用了区域化的设计,并且区域也采用了Hub-Spoke的架构,所有区域中定义出一个核心,然后其它部分都与核心相连,OSPF的区域0就是所有区域的核心,称为BackBone 区域(骨干区域),而其它Normal 区域(常规区域)应该直接和骨干区域相连,常规区域只能和骨干区域交换LSA,常规区域与常规区域之间即使直连也无法互换LSA,但在某些情况下,某些常规区域无法与骨干区域直连,这时便无法得到其它区域的路由,因此,设计了将骨干区域的范围通过虚拟的方法进行扩展到相邻常规区域的位置,因而让不能直接与骨干区域相连的区域,最终可以与骨干区域直连,这种对骨干虚拟的扩展和拉伸就是OSPF虚链路(Virtual Link)能实现的;因为某些常规区域不能与骨干区域直连而只能与其它常规区域直连,所以OSPF虚链路(Virtual Link)通过将相邻的常规区域虚拟为骨干区域,从而让那些不能与骨干区域直连的常规区域也能获得其它OSPF区域的路由。与骨干区域相邻的常规区域被扩展后,该区域被称为Transit Area,理论上Transit Area不应该为末节区域;在扩展后,原本为常规区域的Transit Area,将变成骨干区域,所以路由将从Inter-Area Route转变为Intra-Area Route,路由表示形式也将从O IA改变为O的形式;在进行OSPF虚链路扩展时,是将Transit Area中与骨干区域直连的ABR和连接另一个常规区域的ABR相连,连接这两个ABR时,使用双方的Router-ID来连接。如下图:

在上图中,区域2只能与区域1直连,而无法与骨干区域直连,在这种情况下,由于常规区域与常规区域之间即使直连也无法互换LSA,所以R3虽然是ABR,但因为没有连接骨干区域,最后不可能将任何区域的LSA发进区域2,最终导致区域2无法外其它区域通信,在这种情况下,需要通过OSPF虚链路将骨干区域的范围扩展到相邻的区域1,如下图:

 

 

在进行OSPF虚链路扩展后,区域1被虚拟成了骨干区域,而这时的R3等同于连接骨干区域和区域2ABR,所以可以将自己所有的LSA发进区域2。在扩展OSPF虚链路时,是通过连接R2ABR)与R3ABR)的Router-ID 来建立的。

 

 因为OSPF虚链路(Virtual Link)能将骨干区域扩展到相邻的常规区域,从而将常规区域虚拟为骨干区域,所以在某些情况下,如公司合并,或者为了备份骨干区域,可能出现骨干区域被常规区域所隔离,如下图:

 

 

图中骨干区域被区域1分割为两部分,将使得骨干区域自己的路由无法相互传递,在使用OSPF虚链路后,可以将区域1也扩展为骨干区域,如下图:

 

在经过OSPF虚链路将区域1也扩展为骨干区域后,可见所有的区域都变成了骨干区域,从而使网络中骨干区域能够收到另外一边被分割的骨干区域的路由,并且最后骨干区域自己的路由都为Intra-Area Route,但Area 1与骨干区域的路由将仍然为O IA

 

注:

OSPF虚链路必须是在两个拥有共同区域的ABR之间建立的,其中必须至少有一个ABR是连接骨干的。

OSPF虚链路被认为是骨干区域的一个接口,一条链路,也需要建立OSPF邻居,但在邻居建立之后,链路上是没有Hello包传递的。

                                                                    返回目录

OSPF认证

 同RIPEIGRP一样,出于安全考虑,OSPF也使用了认证,OSPF同时支持明文和MD5认证,在启用OSPF认证后,Hello包中将携带密码,双方Hello包中的密码必须相同,才能建立OSPF邻居关系,需要注意,空密码也是密码的一种。

 当OSPF邻居的一方在接口上启用认证后,从该接口发出的Hello包中就会带有密码,双方的Hello包中拥有相同的密码时,邻居方可建立;一台OSPF路由器可能有多个OSPF接口,也可能多个接口在多个OSPF区域,只要在接口上输入OSPF认证的命令后,便表示开启了OSPF认证,可以在每个接口上一个一个启用,也可以一次性开启多个接口的认证,如果需要开启多个接口的认证功能,那么认证的命令就并非直接在接口上输入,而是到OSPF进程模式下输入,并且是对某个区域全局开启的,当在进程下对某个区域开启OSPF认证后,就表示在属于该区域的所有接口上开启了认证。所以,在进程下对区域配置认证,是快速配置多个接口认证的方法,与在多个接口上一个一个开启,没有本质区别。因为OSPF虚链路被认为是骨干区域的一个接口,一条链路,所以在OSPF进程下对骨干区域开启认证后,不仅表示开启了区域0下所有接口的认证,同时也开启了OSPF虚链路的认证,但OSPF虚链路在建立后,并没有Hello包的传递,所以认证在没有重置OSPF进程的情况下,是不会生效的。

                                                                    返回目录

 

OSPF汇总路由

在OSPF同区域内,LSA是绝对不允许以任何形式或任何手段更改的,但在一个区域与另一个区域之间,LSA可以被ABR修改后传递,从而得知,在同一个区域内,OSPF路由是不能被汇总的,而是当路由从一个区域被ABR转发到另外一个区域时,就可以执行路由汇总,并且汇总必须是在ABR上执行的,但该汇总不对OSPF外部路由生效;在将外部路由重分布进OSPF时,也可以执行路由汇总,此时的汇总必须在ASBR上配置。

         为了防止路由黑洞,需要在执行路由汇总的路由器上将汇总由指向空接口(null0),在IOS 12.1(6)以后的版本,配置汇总后会自动产生指向空接口的路由,但在IOS 12.1(6)及以前的版本需要手工创建。

 

 

注:OSPF RFC (1583)并没有规定一个区域适合多少台路由器,一个网段多少个邻居,或如何布署网络。

 

                                                                   返回目录

 

配置OSPF实验

        

说明:实验配置共包含:

OSPF邻居

OSPF LSA

OSPF虚链路

OSPF认证

OSPF外部路由

OSPF路由汇总

OSPF末节区域

 

 

 

以下图为例,配置OSPF邻居,OSPF LSAOSPF虚链路,OSPF认证:

 

 

 

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)#int f0/1

r1(config-if)#ip address 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 ospf 1

r1(config-router)#router-id 1.1.1.1

r1(config-router)#network 12.1.1.1 0.0.0.0 area 0

r1(config-router)#network 11.1.1.1 0.0.0.0 area 0

r1(config-router)#network 10.1.1.1 0.0.0.0 area 0

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

 

(2)配置R2

r2(config)#int f0/0

r2(config-if)#ip address 12.1.1.2 255.255.255.0

r2(config-if)#no shutdown

 

r2(config)#int s1/0

r2(config-if)#en frame-relay

r2(config-if)#no fram inverse-arp .

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

r2(config-if)#no ip address

r2(config-if)#no shutdown

r2(config-if)#exit

 

r2(config)#int s1/0.23 point-to-point

r2(config-subif)#ip address 23.1.1.2 255.255.255.0

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

 

r2(config)#int loopback 22

r2(config-if)#ip address 22.2.2.2 255.255.255.0

 

r2(config)#router ospf 1

r2(config-router)#network 12.1.1.2 0.0.0.0 area 0

r2(config-router)#network 22.2.2.2 0.0.0.0 area 0

r2(config-router)#network 23.1.1.2 0.0.0.0 area 1

说明:在R2上配置12.1.1.0/2423.1.1.0/2422.2.2.0/24,并放入OSPF进程。

 

 

(3)配置R3

 

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)#no ip address

r3(config-if)#no shutdown

 

r3(config)#int s1/0.23 point-to-point

r3(config-subif)#ip address 23.1.1.3 255.255.255.0

r3(config-subif)#frame-relay interface-dlci 302

 

r3(config)#int f0/0

r3(config-if)#ip add 34.1.1.3 255.255.255.0

 

r3(config)#int loopback 33

r3(config-if)#ip add 33.3.3.3 255.255.255.0

 

r3(config)#router ospf 1

r3(config-router)#router-id 3.3.3.3

r3(config-router)#network 23.1.1.3 0.0.0.0 area 1  

r3(config-router)#network 33.3.3.3 0.0.0.0 area 1

r3(config-router)#network 34.1.1.3 0.0.0.0 area 2

 

说明:在R3上配置23.1.1.0/2434.1.1.0/2433.3.3.0/24,并放入OSPF进程。

 

 

(4)配置R4

r4(config)#int f0/0

r4(config-if)#ip address 34.1.1.4 255.255.255.0

r4(config-if)#no sh

 

r4(config)#int loopback 44

r4(config-if)#ip address 44.4.4.4 255.255.255.0

 

r4(config)#router ospf 1

r4(config-router)#network 0.0.0.0 255.255.255.255 area 2

说明:在R4上配置34.1.1.0/2444.4.4.0/24,并放入OSPF进程。

 

 

2.测试OSPF邻居

(1)查看R1Router-ID

r1#sh ip protocols

Routing Protocol is "ospf 1"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Router ID 1.1.1.1

  Number of areas in this router is 1. 1 normal 0 stub 0 nssa

  Maximum path: 4

  Routing for Networks:

    10.1.1.1 0.0.0.0 area 0

    11.1.1.1 0.0.0.0 area 0

    12.1.1.1 0.0.0.0 area 0

 Reference bandwidth unit is 100 mbps

  Routing Information Sources:

    Gateway         Distance      Last Update

  Distance: (default is 110)

 

r1#

说明:可以看见R1手工配置的Router-ID1.1.1.1

 

 

2)查看R2Router-ID

 

r2#sh ip protocols  

Routing Protocol is "ospf 1"

  Outgoing update filter list for all interfaces is not set

  Incoming update filter list for all interfaces is not set

  Router ID 22.2.2.2

  It is an area border router

  Number of areas in this router is 2. 2 normal 0 stub 0 nssa

  Maximum path: 4

  Routing for Networks:

    12.1.1.2 0.0.0.0 area 0

    22.2.2.2 0.0.0.0 area 0

    23.1.1.2 0.0.0.0 area 1

 Reference bandwidth unit is 100 mbps

  Routing Information Sources:

    Gateway         Distance      Last Update

  Distance: (default is 110)

 

r2#

说明:R2在没有手工配置Router-ID的情况下,自动选择了最高Loopback地址22.2.2.2Router-ID

 

(3)查看R1OSPF邻居:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          1   FULL/BDR        00:00:30    12.1.1.2        FastEthernet0/0

r1#

说明:R1已经与R2建立OSPF邻居关系,显示的邻居为对方的Router-ID地址。由于是以太网介质,所以默认为多路访问,需要选举DR/BDR,理论上默认选举Router-ID高的为DR,而R1Router-ID1.1.1.1R2Router-ID22.2.2.2,应该选择R2DR,但我们看到的结果是R2BDRR1才是DR,这是因为R1先配置,R2后配置,在R1配置好40秒(默认以太网wait时间为40秒)后,没有路由器与它竟选DR,那么它就选自己为DR,当DR选举后,在DR没失效的情况下,将保持不变,除非重置OSPF进程。

(4)重置R1OSPF进程并再次查看邻居关系:

r1#clear ip ospf process

Reset ALL OSPF processes? [no]: y

r1#

 

 

再看邻居:

被抢走:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          1   FULL/DR         00:00:38    12.1.1.2        FastEthernet0/0

r1#

说明:因为在重置OSPF进程后,将重新进行DR/BDR的选举,此时由于R2Router-IDR1大,所以R2被选为了DR

 

 

(5)查看R1OSPF接口:

 

r1#sh ip ospf interface

FastEthernet0/1 is up, line protocol is up

  Internet Address 10.1.1.1/24, Area 0

  Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1

  Transmit Delay is 1 sec, State DR, Priority 1

  Designated Router (ID) 1.1.1.1, Interface address 10.1.1.1

  No backup designated router on this network

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:00

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 3/3, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 0, maximum is 0

  Last flood scan time is 0 msec, maximum is 0 msec

  Neighbor Count is 0, Adjacent neighbor count is 0

  Suppress hello for 0 neighbor(s)

FastEthernet0/0 is up, line protocol is up

  Internet Address 12.1.1.1/24, Area 0

  Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1

  Transmit Delay is 1 sec, State BDR, Priority 1

  Designated Router (ID) 22.2.2.2, Interface address 12.1.1.2

  Backup Designated router (ID) 1.1.1.1, Interface address 12.1.1.1

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:09

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 2/2, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 1, maximum is 1

  Last flood scan time is 0 msec, maximum is 0 msec

  Neighbor Count is 1, Adjacent neighbor count is 1

    Adjacent with neighbor 22.2.2.2  (Designated Router)

  Suppress hello for 0 neighbor(s)

Loopback11 is up, line protocol is up

  Internet Address 11.1.1.1/24, Area 0

  Process ID 1, Router ID 1.1.1.1, Network Type LOOPBACK, Cost: 1

  Loopback interface is treated as a stub Host

r1#

说明:R1上的OSPF接口中,F0/110.1.1.0)的网络类型为BROADCASTF0/012.1.1.0)的网络类型为BROADCASTLoopback1111.1.1.1)只是一个主机类型。

 

(6)查看R2R3的接口状态和邻居状态:

r2# sh ip ospf int Serial1/0.23

Serial1/0.23 is up, line protocol is up

  Internet Address 23.1.1.2/24, Area 1

  Process ID 1, Router ID 22.2.2.2, Network Type POINT_TO_POINT, Cost: 64

  Transmit Delay is 1 sec, State POINT_TO_POINT

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:04

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 1/3, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 1, maximum is 3

  Last flood scan time is 0 msec, maximum is 4 msec

  Neighbor Count is 1, Adjacent neighbor count is 1

    Adjacent with neighbor 3.3.3.3

  Suppress hello for 0 neighbor(s)

r2#

 

r2#sh ip ospf neighbor          

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

1.1.1.1           1   FULL/BDR        00:00:32    12.1.1.1        FastEthernet0/0

3.3.3.3           0   FULL/  -        00:00:33    23.1.1.3        Serial1/0.23

r2#

说明:因为R2通过帧中继子接口与R3相连,该链路被OSPF定义为POINT_TO_POINT的网络类型,所以R2R3不需要进行DR/BDR的选举。

 

 

3.分析OSPF LSA

(1)查看R2LSA 数据库:

 

r2#sh ip ospf database

 

            OSPF Router with ID (22.2.2.2) (Process ID 1)

 

                Router Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         345         0x80000005 0x003485 3

22.2.2.2        22.2.2.2        349         0x80000005 0x001A85 2

 

                Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

12.1.1.2        22.2.2.2        349         0x80000001 0x00E904

 

                Summary Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

23.1.1.0        22.2.2.2        481         0x80000001 0x00D7EF

33.3.3.3        22.2.2.2        461         0x80000001 0x0013A2

 

                Router Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

3.3.3.3         3.3.3.3         476         0x80000004 0x00E913 3

22.2.2.2        22.2.2.2        476         0x80000002 0x006EBB 2

 

                Summary Net Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

10.1.1.0        22.2.2.2        343         0x80000001 0x00C739

11.1.1.1        22.2.2.2        343         0x80000001 0x0056B1

12.1.1.0        22.2.2.2        486         0x80000001 0x0049BF

22.2.2.2        22.2.2.2        486         0x80000001 0x0041C2

r2#

说明:因为R2ABR,同时连接Area 0Area 1,所以看见R2同时拥有Area 0Area 1LSA数据库,并且是分区域存放的;仔细查看Area 0LSA可以发现,目前Area 0拥有Router Link(类型1),Net Link(类型2),Summary Net Link(类型3),拥有LSA 1是每台路由器都必须的,因为Area 0总共有两台OSPF路由器,所以就有两条LSA,分别用R1Router-ID1.1.1.1)和R2Router-ID22.2.2.2)来表示,并且显示了1.1.1.1中有三条链路状态,而22.2.2.2中有两条链路状态;拥有LSA 2是因为Area 0中与R1相连的链路上选举了DR/BDR,所以会产生LSA2,希奇的是,这里的Link ID是用DR的地址来表示的,如果没有记错,Link ID应该和链路类型有关,但需要说明的是,这里并没有错,因为通过命令sh ip ospf database所看到的并不是真正的LSA信息,而只是LSA的包头而已,在这里所看到的不能完全代表LSA的内容,但这里的Link ID在更高一层面来看,它是等同于Link State ID的。

 还拥有LSA 3,因为骨干区域理所当然可以拥有其它其它的汇总LSA,也就拥有了LSA 3,可以发现,LSA 3中即用了网络地址来表示,也用了主机地址,这是因为链路类型造成的。

 

(2)查看R1Area 0LSA 1 数据库:

r2#sh ip ospf database router 1.1.1.1

 

            OSPF Router with ID (22.2.2.2) (Process ID 1)

 

                Router Link States (Area 0)

 

  LS age: 228

  Options: (No TOS-capability, DC)

  LS Type: Router Links

  Link State ID: 1.1.1.1

  Advertising Router: 1.1.1.1

  LS Seq Number: 80000006

  Checksum: 0x804A

  Length: 60

  Number of Links: 3

 

    Link connected to: a Stub Network

     (Link ID) Network/subnet number: 10.1.1.0

     (Link Data) Network Mask: 255.255.255.0

      Number of TOS metrics: 0

       TOS 0 Metrics: 1

 

    Link connected to: a Transit Network

     (Link ID) Designated Router address: 12.1.1.2

     (Link Data) Router Interface address: 12.1.1.1

      Number of TOS metrics: 0

       TOS 0 Metrics: 1

 

    Link connected to: a Stub Network

     (Link ID) Network/subnet number: 11.1.1.1

     (Link Data) Network Mask: 255.255.255.255

      Number of TOS metrics: 0

       TOS 0 Metrics: 1

 

 

r2#

说明:R11.1.1.1)发送了3条链路状态,分别为自己的接口F0/1的网络(10.1.1.0),接口F0/0的网络(12.1.1.0),以及Loopback 11的网络(11.1.1.1),而F0/1的网络(10.1.1.0)被定义为Stub Network是因为这条链路上只有一台OSPF路由器,没有邻居,所以是Stub Network,而F0/0的网络(12.1.1.0)被定义为Transit Network,是因为该链路上超过了一台OSPF路由器,有OSPF邻居,并且因为不是串口,所以是认为链路类型是Transit Network,而Loopback1111.1.1.1)固定没变。

注:详尽表示的信息,请阅读前面OSPF LSA的详细解释。

 

(3)查看Area 0LSA 2

r2#sh ip ospf database network

 

            OSPF Router with ID (22.2.2.2) (Process ID 1)

 

                Net Link States (Area 0)

 

  Routing Bit Set on this LSA

  LS age: 840

  Options: (No TOS-capability, DC)

  LS Type: Network Links

  Link State ID: 12.1.1.2 (address of Designated Router)

  Advertising Router: 22.2.2.2

  LS Seq Number: 80000001

  Checksum: 0xE904

  Length: 32

  Network Mask: /24

        Attached Router: 22.2.2.2

        Attached Router: 1.1.1.1

 

r2#

说明:因为链路上选举了DR/BDR,所以产生了LSA 2,并使用DR的接口地址来表示。

 

 

(4)查看R3Area 1的通告的LSA 1

r2#sh ip ospf database router 3.3.3.3

 

            OSPF Router with ID (22.2.2.2) (Process ID 1)

 

                Router Link States (Area 1)

 

  LS age: 1388

  Options: (No TOS-capability, DC)

  LS Type: Router Links

  Link State ID: 3.3.3.3

  Advertising Router: 3.3.3.3

  LS Seq Number: 80000004

  Checksum: 0xE913

  Length: 60

  Number of Links: 3

 

    Link connected to: a Stub Network

     (Link ID) Network/subnet number: 33.3.3.3

     (Link Data) Network Mask: 255.255.255.255

      Number of TOS metrics: 0

       TOS 0 Metrics: 1

 

    Link connected to: another Router (point-to-point)

     (Link ID) Neighboring Router ID: 22.2.2.2

     (Link Data) Router Interface address: 23.1.1.3

      Number of TOS metrics: 0

       TOS 0 Metrics: 64

         

    Link connected to: a Stub Network

     (Link ID) Network/subnet number: 23.1.1.0

     (Link Data) Network Mask: 255.255.255.0

      Number of TOS metrics: 0

       TOS 0 Metrics: 64

          

         

r2#

说明:R3在区域1通告了3链路状态,分别是33.3.3.3,因为是loopback,所以是32位地址,而与R2相连的为点到点链路,所以Link ID使用了邻居的Router-ID来表示,点到点链路还会自动产生一条Stub Network的链路状态。

(5)在R1上查看Area 0LSA 数据库:

r1#sh ip ospf database

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Router Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         1005        0x80000006 0x00804A 3

22.2.2.2        22.2.2.2        1000        0x80000006 0x007532 2

 

                Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

12.1.1.2        22.2.2.2        1442        0x80000001 0x00E904

 

                Summary Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

23.1.1.0        22.2.2.2        1574        0x80000001 0x00D7EF

33.3.3.3        22.2.2.2        1554        0x80000001 0x0013A2

r1#

说明:因为R1是骨干区域路由器,所以拥有了Area 0Area 1的所有LSA

 

 

(6)在R1上查看Area 0LSA 3

r1#sh ip ospf database summary 33.3.3.3

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Summary Net Link States (Area 0)

 

  Routing Bit Set on this LSA

  LS age: 1656

  Options: (No TOS-capability, DC, Upward)

  LS Type: Summary Links(Network)

  Link State ID: 33.3.3.3 (summary Network Number)

  Advertising Router: 22.2.2.2

  LS Seq Number: 80000001

  Checksum: 0x13A2

  Length: 28

  Network Mask: /32

        TOS: 0  Metric: 65

 

r1#

说明:可以看见从Area 1到达Area 0LSA在经过ABR转发时,Router-IDABRR2)修改成了自己的Router-ID,因为不同区域的Router-ID不可达,所以R2修改成自己的,便于Area 0能够通过自己到达目标网络。

 

 

(7)调整R1连接R2的接口网络类型:

r1(config)#int f0/0

r1(config-if)#ip os network point-to-point

说明:原本相连的接口类型为以太网,网络类型为多路访问,Hello时间为10称,改成point-to-point后,Hello时间并没有改变,查看当前邻居状态:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          0   FULL/  -        00:00:35    12.1.1.2        FastEthernet0/0

r1#

说明:因为Hello时间匹配,其它参数也正常,所以邻居关系正常。

 

 

(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

 

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/1

     11.0.0.0/24 is subnetted, 1 subnets

C       11.1.1.0 is directly connected, Loopback11

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

r1#

说明:当邻居双方网络类型不匹配时,可以建立邻居,但有时LSA数据库中的条目将无法进入路由表,所以当前R1的路由表为空,此状态不正常,所以请谨慎修改接口网络类型。

 

 

 

(9)还原R1连接R2的接口网络类型并查看路由表:

r1(config)#int f0/0   

r1(config-if)#ip ospf network broadcast

 

 

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

 

     33.0.0.0/32 is subnetted, 1 subnets

O IA    33.3.3.3 [110/66] via 12.1.1.2, 00:00:06, FastEthernet0/0

     23.0.0.0/24 is subnetted, 1 subnets

O IA    23.1.1.0 [110/65] via 12.1.1.2, 00:00:06, FastEthernet0/0

     22.0.0.0/32 is subnetted, 1 subnets

O       22.2.2.2 [110/2] via 12.1.1.2, 00:00:06, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

C       10.1.1.0 is directly connected, FastEthernet0/1

     11.0.0.0/24 is subnetted, 1 subnets

C       11.1.1.0 is directly connected, Loopback11

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

r1#

说明:在网络类型匹配的情况下建立邻居后,路由表完全正常,所以不能随意修改接口网络类型,虽然不影响邻居的建立,但影响路由表的计算。

 

 

(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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     33.0.0.0/24 is subnetted, 1 subnets

C       33.3.3.0 is directly connected, Loopback33

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, Serial1/0.23

     22.0.0.0/32 is subnetted, 1 subnets

O IA    22.2.2.2 [110/65] via 23.1.1.2, 00:20:48, Serial1/0.23

     10.0.0.0/24 is subnetted, 1 subnets

O IA    10.1.1.0 [110/66] via 23.1.1.2, 00:20:48, Serial1/0.23

     11.0.0.0/32 is subnetted, 1 subnets

O IA    11.1.1.1 [110/66] via 23.1.1.2, 00:20:48, Serial1/0.23

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/65] via 23.1.1.2, 00:20:48, Serial1/0.23

     44.0.0.0/32 is subnetted, 1 subnets

O       44.4.4.4 [110/2] via 34.1.1.4, 00:20:48, FastEthernet0/0

r3#

说明:因为R3所在的区域1与骨干区域直连,所以路由表正常。

 

 

(11)查看R4LSA数据库:

 

r4#sh ip ospf database

 

            OSPF Router with ID (34.1.1.4) (Process ID 1)

 

                Router Link States (Area 2)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

3.3.3.3         3.3.3.3         1219        0x80000003 0x00DBEE 1

34.1.1.4        34.1.1.4        1214        0x80000003 0x0054F3 2

 

                Net Link States (Area 2)

 

Link ID         ADV Router      Age         Seq#       Checksum

34.1.1.3        3.3.3.3         413         0x80000002 0x008150

r4#

说明:因为R4所在的区域2连接的不是骨干区域,所以不能获得区域外的LSA,最终路由表不正常。

 

 

4.配置OSPF虚链路

(1)在R2R3之间建OSPF虚链路:

r2(config)#router ospf 1

r2(config-router)#area 1 virtual-link 3.3.3.3

 

r3(config)#router ospf 1

r3(config-router)#area 1 virtual-link 22.2.2.2

说明:在R2R3之间通过Router-IDOSPF虚链路,Area 1Transit Area

 

(2)查看OSPF虚链路状态:

r3#sh ip ospf virtual-links

Virtual Link OSPF_VL0 to router 22.2.2.2 is up

  Run as demand circuit

  DoNotAge LSA allowed.

  Transit area 1, via interface Serial1/0.23, Cost of using 64

  Transmit Delay is 1 sec, State POINT_TO_POINT,

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    Hello due in 00:00:05

    Adjacency State FULL (Hello suppressed)

    Index 1/3, retransmission queue length 0, number of retransmission 1

    First 0x0(0)/0x0(0) Next 0x0(0)/0x0(0)

    Last retransmission scan length is 1, maximum is 1

    Last retransmission scan time is 0 msec, maximum is 0 msec

r3#

说明:R2R3之间的OSPF虚链路已成功建立,并且显示虚链路上的Hello包是被抑制的。

 

(3)查看R3当前的OSPF邻居状态:

r3#sh ip os neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          0   FULL/  -           -        23.1.1.2        OSPF_VL0

22.2.2.2          0   FULL/  -        00:00:33    23.1.1.2        Serial1/0.23

34.1.1.4          1   FULL/BDR        00:00:34    34.1.1.4        FastEthernet0/0

r3#

说明:由于虚链路上的Hello包是被抑制的,所以没有Dead时间。

 

(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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     33.0.0.0/24 is subnetted, 1 subnets

C       33.3.3.0 is directly connected, Loopback33

     23.0.0.0/24 is subnetted, 1 subnets

C       23.1.1.0 is directly connected, Serial1/0.23

     22.0.0.0/32 is subnetted, 1 subnets

O       22.2.2.2 [110/65] via 23.1.1.2, 00:00:42, Serial1/0.23

     10.0.0.0/24 is subnetted, 1 subnets

O       10.1.1.0 [110/66] via 23.1.1.2, 00:00:42, Serial1/0.23

     11.0.0.0/32 is subnetted, 1 subnets

O       11.1.1.1 [110/66] via 23.1.1.2, 00:00:42, Serial1/0.23

     12.0.0.0/24 is subnetted, 1 subnets

O       12.1.1.0 [110/65] via 23.1.1.2, 00:00:42, Serial1/0.23

     44.0.0.0/32 is subnetted, 1 subnets

O       44.4.4.4 [110/2] via 34.1.1.4, 00:01:02, FastEthernet0/0

r3#

说明:因为之前R3是区域1的路由器,所以收到的区域0的路由显示为O IA,但通过虚链路将骨干区域扩展到区域1后,R3也相当于是骨干区域的路由器,因此区域0的路由从O IA转变成O

 

(5)查看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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     33.0.0.0/32 is subnetted, 1 subnets

O IA    33.3.3.3 [110/2] via 34.1.1.3, 00:01:43, FastEthernet0/0

     23.0.0.0/24 is subnetted, 1 subnets

O IA    23.1.1.0 [110/65] via 34.1.1.3, 00:01:43, FastEthernet0/0

     22.0.0.0/32 is subnetted, 1 subnets

O IA    22.2.2.2 [110/66] via 34.1.1.3, 00:01:23, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

O IA    10.1.1.0 [110/67] via 34.1.1.3, 00:01:23, FastEthernet0/0

     11.0.0.0/32 is subnetted, 1 subnets

O IA    11.1.1.1 [110/67] via 34.1.1.3, 00:01:23, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 34.1.1.3, 00:01:24, FastEthernet0/0

     44.0.0.0/24 is subnetted, 1 subnets

C       44.4.4.0 is directly connected, Loopback44

r4#

说明:原本R4所在的区域2与区域1相连,由于通过虚链路将骨干区域扩展到区域1后,区域2相当于和骨干区域相连,所以R4拥有了全网的路由。

5.配置OSPF认证

(1)查看认证之前,R1R2的邻居状态:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          1   FULL/DR         00:00:30    12.1.1.2        FastEthernet0/0

r1#

说明:R1R2邻居正常。

 

(2)在R1连接R2的接口上开启MD5认证:

r1(config)#int f0/0

r1(config-if)#ip ospf authentication message-digest

说明:在R1连接R2的接口上开启了MD5认证。

 

(3)查看R1连接R2的接口认证状态:

r1#sh ip ospf interface f0/0

FastEthernet0/0 is up, line protocol is up

  Internet Address 12.1.1.1/24, Area 0

  Process ID 1, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 1

  Transmit Delay is 1 sec, State BDR, Priority 1

  Designated Router (ID) 22.2.2.2, Interface address 12.1.1.2

  Backup Designated router (ID) 1.1.1.1, Interface address 12.1.1.1

  Flush timer for old DR LSA due in 00:02:04

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:04

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 2/2, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 1, maximum is 1

  Last flood scan time is 0 msec, maximum is 0 msec

  Neighbor Count is 1, Adjacent neighbor count is 1

    Adjacent with neighbor 22.2.2.2  (Designated Router)

  Suppress hello for 0 neighbor(s)

  Message digest authentication enabled

      No key configured, using default key id 0

r1#

说明:在开启认证后,如果接口上不指定密码,那么则使用空密码认证,空密码也是密码的一种,也需要使用空密码来匹配。

 

(4)查看配置认证之后,R1R2的邻居状态:

r1#sh ip ospf neighbor 

 

r1#

说明:由于R1使用了空密码认证,而R2没有认证,所以邻居断开了。

 

(5)在R2连接R1的接口上开启MD5认证:

r2(config)#int f0/0

r2(config-if)#ip ospf authentication message-digest

说明:在R2连接R1的接口上开启了MD5认证:在没有指定密码的情况下,默认使用空密码认证。

 

(6)查看双方配置认证之后的邻居状态:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          1   FULL/DR         00:00:36    12.1.1.2        FastEthernet0/0

r1#

说明:由于双方都在接口上配置了认证并使用空密码认证,所以邻居成功建立。

 

(6)在R1连接R2的接口上启用非空密码:

r1(config)#int f0/0

r1(config-if)#ip ospf message-digest-key 1 md5 cisco

说明:R1使用密码ciscoR2认证。

 

(7)查看使用密码cisco认证后的邻居状态:

r1#sh ip ospf neighbor

 

r1#

说明:因为一方使用密码cisco,一方使用空密码,所以双方密码不匹配,邻居仍然无法建立。

(8)在R2连接R1的接口上启用非空密码:

r2(config)#int f0/0

r2(config-if)#ip ospf message-digest-key 1 md5 cisco

说明:R2使用密码ciscoR1认证。

 

 

(9)查看双方邻居状态:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

22.2.2.2          1   FULL/DR         00:00:37    12.1.1.2        FastEthernet0/0

r1#

说明:因为双方都配置了认证,并且都使用密码cisco认证,所以认证通过,邻居正常建立。

 

(10R2OSPF进程下开启认证:

r2#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

3.3.3.3           0   FULL/  -           -        23.1.1.3        OSPF_VL0

1.1.1.1           1   FULL/DR         00:00:30    12.1.1.1        FastEthernet0/0

3.3.3.3           0   FULL/  -        00:00:36    23.1.1.3        Serial1/0.23

r2#

 

 

开认证:

r2(config)#router ospf 1

r2(config-router)#area 0 authentication message-digest

说明:R2在与R1R3邻居正常,并且虚链路正常的情况下,在OSPF进程中开启了Area 0的认证。

 

(11)查看R2OSPF接口认证状态:

 

r2#sh ip ospf interface

OSPF_VL0 is up, line protocol is up

  Internet Address 23.1.1.2/24, Area 0

  Process ID 1, Router ID 22.2.2.2, Network Type VIRTUAL_LINK, Cost: 64

  Configured as demand circuit.

  Run as demand circuit.

  DoNotAge LSA allowed.

  Transmit Delay is 1 sec, State POINT_TO_POINT

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:02

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 3/4, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 1, maximum is 3

  Last flood scan time is 4 msec, maximum is 4 msec

  Neighbor Count is 1, Adjacent neighbor count is 1

    Adjacent with neighbor 3.3.3.3  (Hello suppressed)

  Suppress hello for 1 neighbor(s)

  Message digest authentication enabled

      No key configured, using default key id 0

FastEthernet0/0 is up, line protocol is up

  Internet Address 12.1.1.2/24, Area 0

  Process ID 1, Router ID 22.2.2.2, Network Type BROADCAST, Cost: 1

  Transmit Delay is 1 sec, State BDR, Priority 1

  Designated Router (ID) 1.1.1.1, Interface address 12.1.1.1

  Backup Designated router (ID) 22.2.2.2, Interface address 12.1.1.2

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:02

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 2/2, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 1, maximum is 4

  Last flood scan time is 4 msec, maximum is 4 msec

  Neighbor Count is 1, Adjacent neighbor count is 1

    Adjacent with neighbor 1.1.1.1  (Designated Router)

  Suppress hello for 0 neighbor(s)

  Message digest authentication enabled

      No key configured, using default key id 0

Loopback22 is up, line protocol is up

  Internet Address 22.2.2.2/24, Area 0

  Process ID 1, Router ID 22.2.2.2, Network Type LOOPBACK, Cost: 1

  Loopback interface is treated as a stub Host

Serial1/0.23 is up, line protocol is up

  Internet Address 23.1.1.2/24, Area 1

  Process ID 1, Router ID 22.2.2.2, Network Type POINT_TO_POINT, Cost: 64

  Transmit Delay is 1 sec, State POINT_TO_POINT

  Timer intervals configured, Hello 10, Dead 40, Wait 40, Retransmit 5

    oob-resync timeout 40

    Hello due in 00:00:01

  Supports Link-local Signaling (LLS)

  Cisco NSF helper support enabled

  IETF NSF helper support enabled

  Index 1/3, flood queue length 0

  Next 0x0(0)/0x0(0)

  Last flood scan length is 1, maximum is 4

  Last flood scan time is 0 msec, maximum is 4 msec

  Neighbor Count is 1, Adjacent neighbor count is 1

    Adjacent with neighbor 3.3.3.3

  Suppress hello for 0 neighbor(s)

r2#

 

说明:R2OSPF进程下开启Area 0的认证后,等于在所有Area 0的接口下启用了认证。

 

 

12)查看R2OSPF邻居状态:

r2#sh ip ospf neighbor 

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

3.3.3.3           0   FULL/  -           -        23.1.1.3        OSPF_VL0

3.3.3.3           0   FULL/  -        00:00:38    23.1.1.3        Serial1/0.23

r2#

说明:由于R2连接R1的接口在Area 0,所以在Area 0开启认证后,该接口默认使用了空密码认证,而R1并没有使用空密码认证,所以R2R2邻居断开,因为与R3相连的接口并非Area 0的接口,所以与R3OSPF邻居正常。

 

(13)查看R1上开启空密码认证:

对方开认证:

r1(config)#int f0/0

r1(config-if)#ip ospf authentication message-digest

 

(14)再次查看R2OSPF邻居

r2#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

3.3.3.3           0   FULL/  -           -        23.1.1.3        OSPF_VL0

1.1.1.1           1   FULL/DROTHER    00:00:38    12.1.1.1        FastEthernet0/0

3.3.3.3           0   FULL/  -        00:00:38    23.1.1.3        Serial1/0.23

r2#

说明:由于R1R2Area 0的接口都开启了空密码认证,所以认证通过。需要注意,虽然虚链路上没有Hello包交换,在Area 0开启认证后,同时也开启了虚链路的空密码认证,如果虚链路两端不配置相同认证,稍后邻居也会断开,虚链路将无法继续维持。

 

(15)到虚链路对端(R3)开启空密码认证:

r3(config)#router ospf 1

r3(config-router)#area 1 virtual-link 22.2.2.2 authentication message-digest

说明:在虚链路双方都配置相同认证后,一切将会变得正常。

 

 

(16)将R3R4的区域2变成骨干区域:

r3(config)#router ospf 1

r3(config-router)#network 34.1.1.3 0.0.0.0 area 0

 

R4

r4(config)#router ospf 1

r4(config-router)#network 0.0.0.0 0.0.0.0 area 0

说明:当R3R4的区域2变成骨干区域后,那么网络中骨干区域将被区域1分割为两部分。

 

 

(17)查看骨干区域内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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     33.0.0.0/32 is subnetted, 1 subnets

O IA    33.3.3.3 [110/2] via 34.1.1.3, 00:01:02, FastEthernet0/0

     23.0.0.0/24 is subnetted, 1 subnets

O IA    23.1.1.0 [110/65] via 34.1.1.3, 00:01:02, FastEthernet0/0

     44.0.0.0/24 is subnetted, 1 subnets

C       44.4.4.0 is directly connected, Loopback44

r4#

说明:虽然R4当前为骨干区域的路由器,但是由于骨干区域被区域1分割成两部分,所以无法相互传递LSA,路由表变的不正常。

 

 

 

(18)创建OSPF虚链路连接骨干区域:

r2(config-router)#router os 1

r2(config-router)# area 1 virtual-link 3.3.3.3

 

r3(config)#router ospf 1

r3(config-router)#area 1 virtual-link 22.2.2.2

说明: 骨干区域被分割后必须创建OSPF虚链路。

 

(19)再次查看骨干区域内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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     33.0.0.0/32 is subnetted, 1 subnets

O IA    33.3.3.3 [110/2] via 34.1.1.3, 00:00:04, FastEthernet0/0

     23.0.0.0/24 is subnetted, 1 subnets

O IA    23.1.1.0 [110/65] via 34.1.1.3, 00:00:04, FastEthernet0/0

     22.0.0.0/32 is subnetted, 1 subnets

O       22.2.2.2 [110/66] via 34.1.1.3, 00:00:04, FastEthernet0/0

     10.0.0.0/24 is subnetted, 1 subnets

O       10.1.1.0 [110/67] via 34.1.1.3, 00:00:04, FastEthernet0/0

     11.0.0.0/32 is subnetted, 1 subnets

O       11.1.1.1 [110/67] via 34.1.1.3, 00:00:04, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

O       12.1.1.0 [110/66] via 34.1.1.3, 00:00:04, FastEthernet0/0

     44.0.0.0/24 is subnetted, 1 subnets

C       44.4.4.0 is directly connected, Loopback44

r4#

说明:由于创建了OSPF虚链路将分割的骨干区域连接起来,所以R4获得了区域外的路由信息,并且另外部分骨干区域的路由显示为O,表示是同区域路由,而Area 1还是与骨干区域属于不同区域,所以使用O IA来表示。

 

 

 

 

以下图为例,配置OSPF外部路由,OSPF路由汇总,OSPF末节区域:

 

 

 

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)#int f0/1

r1(config-if)#ip add 15.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#int s1/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)#ip address 13.1.1.1 255.255.255.0

r1(config-if)#no shutdown

r1(config-if)#frame-relay map ip 13.1.1.3 103 broadcast

r1(config-if)#ip ospf network point-to-point

 

r1(config)#router ospf 1

r1(config-router)#router-id 1.1.1.1

r1(config-router)#network 12.1.1.1 0.0.0.0 area 0

r1(config-router)#network 13.1.1.1 0.0.0.0 area 0

r1(config-router)#network 15.1.1.1 0.0.0.0 area 1

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

 

 

 

(2)配置R2

r2(config)#int f0/0

r2(config-if)#ip address 12.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#int f0/1

r2(config-if)#ip address 24.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#router ospf 1

r2(config-router)#router-id 2.2.2.2

r2(config-router)#network 12.1.1.2 0.0.0.0 area 0

 

r2(config)#router eigrp 1

r2(config-router)#no auto-summary  

r2(config-router)#network 24.1.1.2 0.0.0.0

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

 

 

 

(3)配置R3

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 13.1.1.3 255.255.255.0

r3(config-if)#no sh

r3(config-if)#frame-relay map ip 13.1.1.1 301 broadcast

r3(config-if)#ip ospf network point-to-point

 

r3(config)#int f0/0

r3(config-if)#ip add 34.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router ospf 1

r3(config-router)#router-id 3.3.3.3

r3(config-router)#network 13.1.1.3 0.0.0.0 area 0

 

r3(config)#router eigrp 1

r3(config-router)#no auto-summary

r3(config-router)#network 34.1.1.3 0.0.0.0

说明:在R3上配置13.1.1.0/2434.1.1.0/24,并将131.1.0放入OSPF进程,将34.1.1.0放入EIGRP进程。

 

 

(4)配置R4

r4(config)#int f0/1

r4(config-if)#ip add 24.1.1.4 255.255.255.0

r4(config-if)#no sh

 

r4(config)#int f0/0

r4(config-if)#ip address 34.1.1.4 255.255.255.0

r4(config-if)#no sh

 

r4(config)#int loopback 172

r4(config-if)#ip add 172.16.1.1 255.255.255.0

r4(config-if)#ip add 172.16.2.1 255.255.255.0 secondary

r4(config-if)#ip add 172.16.3.1 255.255.255.0 secondary

 

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 172.0.0.0 0.255.255.255

说明:在R4上配置24.1.1.0/2434.1.1.0/24172.16.1.0/24172.16.2.0/24172.16.3.0/24,并全部放入EIGRP进程。

 

 

(5)配置R5

r5(config)#int f0/1

r5(config-if)#ip address 15.1.1.5 255.255.255.0

r5(config-if)#no sh

 

r5(config)#int loopback 192

r5(config-if)#ip address 192.168.1.1 255.255.255.0

r5(config-if)#ip address 192.168.2.1 255.255.255.0 secondary

r5(config-if)#ip address 192.168.3.1 255.255.255.0 secondary

 

r5(config)#router ospf 1

r5(config-router)#router-id 5.5.5.5

r5(config-router)#network 15.1.1.5 0.0.0.0 area 1

说明:在R5上配置15.1.1.0/24 192.168.1.0/24192.168.2.0/24192.168.3.0/24,并将15.1.1.0/24放入OSPF进程。

2.测试OSPF外部路由

(1)查看R1OSPF邻居状态:

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

3.3.3.3           0   FULL/  -        00:00:38    13.1.1.3        Serial1/0

2.2.2.2           1   FULL/BDR        00:00:31    12.1.1.2        FastEthernet0/0

5.5.5.5           1   FULL/BDR        00:00:33    15.1.1.5        FastEthernet0/1

r1#

说明:R1已经与所有直连路由器建立邻居关系。

 

(2)查看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

 

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:因为OSPF区域内没有路由,所以R1没有从OSPF收到路由。

 

(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

 

     34.0.0.0/24 is subnetted, 1 subnets

D       34.1.1.0 [90/30720] via 24.1.1.4, 00:05:30, FastEthernet0/1

     172.16.0.0/24 is subnetted, 3 subnets

D       172.16.1.0 [90/156160] via 24.1.1.4, 00:05:24, FastEthernet0/1

D       172.16.2.0 [90/156160] via 24.1.1.4, 00:05:24, FastEthernet0/1

D       172.16.3.0 [90/156160] via 24.1.1.4, 00:05:24, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

C       24.1.1.0 is directly connected, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

O       13.1.1.0 [110/65] via 12.1.1.1, 00:07:01, FastEthernet0/0

     15.0.0.0/24 is subnetted, 1 subnets

O IA    15.1.1.0 [110/2] via 12.1.1.1, 00:07:02, 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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     172.16.0.0/24 is subnetted, 3 subnets

D       172.16.1.0 [90/156160] via 34.1.1.4, 00:05:48, FastEthernet0/0

D       172.16.2.0 [90/156160] via 34.1.1.4, 00:05:48, FastEthernet0/0

D       172.16.3.0 [90/156160] via 34.1.1.4, 00:05:48, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

D       24.1.1.0 [90/30720] via 34.1.1.4, 00:05:53, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

O       12.1.1.0 [110/65] via 13.1.1.1, 00:07:26, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

O IA    15.1.1.0 [110/65] via 13.1.1.1, 00:07:27, Serial1/0

r3#

说明:因为R2R3都配有EIGRP,所以从EIGRP收到了路由,其中包括172.16.1.0/24172.16.2.0/24172.16.3.0/24,并且R2R3EIGRP学习到的路由条目相同。

 

(4)在R2R3上同时将EIGRP重分布进OSPF

r2(config)#router ospf 1

r2(config-router)#redistribute eigrp 1 subnets

 

 

r3(config)#router ospf 1

r3(config-router)#redistribute eigrp 1 subnets

 

说明:R2R3EIGRP重分布进OSPF,包括所有子网信息。

 

(5)查看R1R2R3收到的外部路由:

 

r1#

r1#sh ip ospf database external 172.16.1.0

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Type-5 AS External Link States

 

  Routing Bit Set on this LSA

  LS age: 126

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 172.16.1.0 (External Network Number )

  Advertising Router: 2.2.2.2

  LS Seq Number: 80000001

  Checksum: 0x1BBF

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 0.0.0.0

        External Route Tag: 0

 

  LS age: 91

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 172.16.1.0 (External Network Number )

  Advertising Router: 3.3.3.3

  LS Seq Number: 80000001

  Checksum: 0xFCD9

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 0.0.0.0

        External Route Tag: 0

         

r1#

说明:可以看见,默认为类型2的外部路由,因为R2R3到达OSPF外部路由的下一跳不在OSPF进程中,所以R2R3都在外部路由中将Forward Address写为 0.0.0.0,最终到ASBR最近的路径将被优先使用。

 

 

(6R1到达ASBRR2)和(R3)的距离:

r1#sh ip ospf border-routers              

 

OSPF Process 1 internal Routing Table

 

Codes: i - Intra-area route, I - Inter-area route

 

i 2.2.2.2 [1] via 12.1.1.2, FastEthernet0/0, ASBR, Area 0, SPF 9

i 3.3.3.3 [64] via 13.1.1.3, Serial1/0, ASBR, Area 0, SPF 9

r1#

说明:很明显,R1到达ASBRR2)更近,由此可以得出结论,R2将被选为去往外部路由转发路由器。

 

 

(7)查看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

O E2    34.1.1.0 [110/20] via 12.1.1.2, 00:02:36, FastEthernet0/0

     172.16.0.0/24 is subnetted, 3 subnets

O E2    172.16.1.0 [110/20] via 12.1.1.2, 00:02:36, FastEthernet0/0

O E2    172.16.2.0 [110/20] via 12.1.1.2, 00:02:36, FastEthernet0/0

O E2    172.16.3.0 [110/20] via 12.1.1.2, 00:02:36, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

O E2    24.1.1.0 [110/20] via 12.1.1.2, 00:02:36, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:和计算的一样,当外部路由类型相同时,由于R1到达R2更近,所以选择了R2去往OSPF外部路由。

 

(8)修改R1到达ASBR R2)的Cost

r1(config)#int f0/0

r1(config-if)#ip ospf cost 65

说明:将连接ASBRR2)的Cost值加大。

 

(9)再次查看R1到达ASBRR2)和(R3)的距离:

r1#sh ip ospf border-routers

 

OSPF Process 1 internal Routing Table

 

Codes: i - Intra-area route, I - Inter-area route

 

i 2.2.2.2 [65] via 12.1.1.2, FastEthernet0/0, ASBR, Area 0, SPF 10

i 3.3.3.3 [64] via 13.1.1.3, Serial1/0, ASBR, Area 0, SPF 10

r1#

说明:现在ASBRR2)比R3R1更远,所以R3将被优选。

 

 

(10)再次查看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

O E2    34.1.1.0 [110/20] via 13.1.1.3, 00:00:32, Serial1/0

     172.16.0.0/24 is subnetted, 3 subnets

O E2    172.16.1.0 [110/20] via 13.1.1.3, 00:00:32, Serial1/0

O E2    172.16.2.0 [110/20] via 13.1.1.3, 00:00:32, Serial1/0

O E2    172.16.3.0 [110/20] via 13.1.1.3, 00:00:32, Serial1/0

     24.0.0.0/24 is subnetted, 1 subnets

O E2    24.1.1.0 [110/20] via 13.1.1.3, 00:00:32, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:因为修改了连接R2Cost值,所以这时 R1到达R3更近,所以选择了R3去往OSPF外部路由。

 

 

(11)将ASBRR2)到达外部路由的下一跳地址通告进OSPF

r2(config)#router ospf 1

r2(config-router)#network 24.1.1.2 0.0.0.0 area 0

说明:将ASBR到达外部路由的下一跳地址通告进OSPF

 

(12)查看R1中外部路由的LSA信息:

 

r1#sh ip os database external 172.16.1.0

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Type-5 AS External Link States

 

  Routing Bit Set on this LSA

  LS age: 315

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 172.16.1.0 (External Network Number )

  Advertising Router: 2.2.2.2

  LS Seq Number: 80000005

  Checksum: 0x6D4B

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 24.1.1.4

        External Route Tag: 0

 

  Routing Bit Set on this LSA

  LS age: 941

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 172.16.1.0 (External Network Number )

  Advertising Router: 3.3.3.3

  LS Seq Number: 80000001

  Checksum: 0xFCD9

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 0.0.0.0

        External Route Tag: 0

 

r1#

说明:由于(R2)将到达外部路由的下一跳地址通告进了OSPF,所以R2通告的外部路由的Forward Address为真实地址,而R3还是保持原状。

 

 

(13)查看R1到达ASBRCost与到达外部路由的路径:

 

r1#sh ip ospf border-routers           

 

OSPF Process 1 internal Routing Table

 

Codes: i - Intra-area route, I - Inter-area route

 

i 2.2.2.2 [65] via 12.1.1.2, FastEthernet0/0, ASBR, Area 0, SPF 17

i 3.3.3.3 [64] via 13.1.1.3, Serial1/0, ASBR, Area 0, SPF 17

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

O E2    34.1.1.0 [110/20] via 13.1.1.3, 00:04:19, Serial1/0

     172.16.0.0/24 is subnetted, 3 subnets

O E2    172.16.1.0 [110/20] via 13.1.1.3, 00:04:19, Serial1/0

O E2    172.16.2.0 [110/20] via 13.1.1.3, 00:04:19, Serial1/0

O E2    172.16.3.0 [110/20] via 13.1.1.3, 00:04:19, Serial1/0

     24.0.0.0/24 is subnetted, 1 subnets

O       24.1.1.0 [110/66] via 12.1.1.2, 00:04:19, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:R1还是选择R3去往外部路由。

 

(14)将ASBRR3)到达外部路由的下一跳地址也通告进OSPF

r3(config)#router ospf 1

r3(config-router)#network 34.1.1.3 0.0.0.0 area 0

说明:将ASBR到达外部路由的下一跳地址通告进OSPF

 

(15)查看R1中外部路由的LSA信息:

r1#sh ip os database external 172.16.1.0

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Type-5 AS External Link States

 

  LS age: 404

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 172.16.1.0 (External Network Number )

  Advertising Router: 2.2.2.2

  LS Seq Number: 80000005

  Checksum: 0x6D4B

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 24.1.1.4

        External Route Tag: 0

 

  Routing Bit Set on this LSA

  LS age: 16

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 172.16.1.0 (External Network Number )

  Advertising Router: 3.3.3.3

  LS Seq Number: 80000002

  Checksum: 0xC3E9

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 34.1.1.4

        External Route Tag: 0

 

r1#

说明:由于(R3)也将到达外部路由的下一跳地址通告进了OSPF,所以R2R3通告的外部路由的Forward Address都为真实地址。

 

 

(16)查看R1到达外部路由的真实Forward Address地址的距离:

 

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

O       34.1.1.0 [110/65] via 13.1.1.3, 00:00:46, Serial1/0

     172.16.0.0/24 is subnetted, 3 subnets

O E2    172.16.1.0 [110/20] via 13.1.1.3, 00:00:46, Serial1/0

O E2    172.16.2.0 [110/20] via 13.1.1.3, 00:00:46, Serial1/0

O E2    172.16.3.0 [110/20] via 13.1.1.3, 00:00:46, Serial1/0

     24.0.0.0/24 is subnetted, 1 subnets

O       24.1.1.0 [110/66] via 12.1.1.2, 00:00:46, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:到达ASBRR3)的真实Forward Address地址的距离小于R2

(17)改大R1到达R3的外部路由的真实Forward Address地址的距离:

r3(config)#int f0/0

r3(config-if)#ip os cost 3

说明:改变R1到达R3的外部路由的真实Forward Address地址的距离大于R2

 

(18)查看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

O       34.1.1.0 [110/67] via 13.1.1.3, 00:00:05, Serial1/0

     172.16.0.0/24 is subnetted, 3 subnets

O E2    172.16.1.0 [110/20] via 12.1.1.2, 00:00:05, FastEthernet0/0

O E2    172.16.2.0 [110/20] via 12.1.1.2, 00:00:05, FastEthernet0/0

O E2    172.16.3.0 [110/20] via 12.1.1.2, 00:00:05, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

O       24.1.1.0 [110/66] via 12.1.1.2, 00:00:05, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:由于R1到达R2的外部路由的真实Forward Address地址的距离小于R3,所以优先R2到达外部路由;当有类型2和类型1可同时到达外部路由时,类型1被优选,如果相同类型,且Forward Address不全都为真实地址,则比较到达ASBR的距离,小的优先,如果都为真实地址,则比较到达该地址小的优先。

 

 

 

(19)查看R1LSA数据库:

r1#

r1#sh ip ospf database

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Router Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         796         0x80000005 0x00B786 3

2.2.2.2         2.2.2.2         229         0x80000003 0x007E81 1

3.3.3.3         3.3.3.3         195         0x80000003 0x0079E9 2

 

                Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

12.1.1.1        1.1.1.1         946         0x80000001 0x004AD0

 

                Summary Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

15.1.1.0        1.1.1.1         1058        0x80000001 0x009A8C

 

                Router Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         557         0x80000002 0x00F113 1

5.5.5.5         5.5.5.5         558         0x80000002 0x00F5EB 1

 

                Net Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

15.1.1.1        1.1.1.1         558         0x80000001 0x00B952

 

                Summary Net Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

12.1.1.0        1.1.1.1         1063        0x80000001 0x00C168

13.1.1.0        1.1.1.1         1063        0x80000001 0x002DBC

 

                Summary ASB Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

2.2.2.2         1.1.1.1         224         0x80000001 0x000B24

3.3.3.3         1.1.1.1         189         0x80000001 0x005596

 

                Type-5 AS External Link States

 

Link ID         ADV Router      Age         Seq#       Checksum Tag

24.1.1.0        2.2.2.2         230         0x80000001 0x005B23 0

24.1.1.0        3.3.3.3         195         0x80000001 0x003D3D 0

34.1.1.0        2.2.2.2         230         0x80000001 0x00D89B 0

34.1.1.0        3.3.3.3         195         0x80000001 0x00BAB5 0

172.16.1.0      2.2.2.2         230         0x80000001 0x001BBF 0

172.16.1.0      3.3.3.3         195         0x80000001 0x00FCD9 0

172.16.2.0      2.2.2.2         230         0x80000001 0x0010C9 0

172.16.2.0      3.3.3.3         195         0x80000001 0x00F1E3 0

172.16.3.0      2.2.2.2         230         0x80000001 0x0005D3 0

172.16.3.0      3.3.3.3         195         0x80000001 0x00E6ED 0

r1#

说明:因为ASBR就在区域0中,所以可以看出,区域0并没有类型4LSA,因为该区域与ASBR在同区域,只有与ASBR在不同区域才需要LSA 4

 

 

(20)查看R5LSA数据库:

 

r5#

r5#sh ip ospf database

 

            OSPF Router with ID (5.5.5.5) (Process ID 1)

 

                Router Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         595         0x80000002 0x00F113 1

5.5.5.5         5.5.5.5         594         0x80000002 0x00F5EB 1

 

                Net Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

15.1.1.1        1.1.1.1         595         0x80000001 0x00B952

 

                Summary Net Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

12.1.1.0        1.1.1.1         1101        0x80000001 0x00C168

13.1.1.0        1.1.1.1         1101        0x80000001 0x002DBC

 

                Summary ASB Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum

2.2.2.2         1.1.1.1         262         0x80000001 0x000B24

3.3.3.3         1.1.1.1         228         0x80000001 0x005596

 

                Type-5 AS External Link States

 

Link ID         ADV Router      Age         Seq#       Checksum Tag

24.1.1.0        2.2.2.2         268         0x80000001 0x005B23 0

24.1.1.0        3.3.3.3         234         0x80000001 0x003D3D 0

34.1.1.0        2.2.2.2         268         0x80000001 0x00D89B 0

34.1.1.0        3.3.3.3         234         0x80000001 0x00BAB5 0

172.16.1.0      2.2.2.2         268         0x80000001 0x001BBF 0

172.16.1.0      3.3.3.3         234         0x80000001 0x00FCD9 0

172.16.2.0      2.2.2.2         268         0x80000001 0x0010C9 0

172.16.2.0      3.3.3.3         234         0x80000001 0x00F1E3 0

172.16.3.0      2.2.2.2         268         0x80000001 0x0005D3 0

172.16.3.0      3.3.3.3         234         0x80000001 0x00E6ED 0

r5#

说明:因为R5所在的区域1ASBR在不同区域,所有需要ABR单独发送LSA 4告知如何到达ASBRRouter-ID

 

 

3.测试OSPF汇总路由

(1)查看汇总前,R5的路由表:

r5#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

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:01:24, FastEthernet0/1

     172.16.0.0/24 is subnetted, 3 subnets

O E2    172.16.1.0 [110/20] via 15.1.1.1, 00:01:24, FastEthernet0/1

O E2    172.16.2.0 [110/20] via 15.1.1.1, 00:01:24, FastEthernet0/1

O E2    172.16.3.0 [110/20] via 15.1.1.1, 00:01:24, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:01:24, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:01:24, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:01:24, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r5#

说明:拥有到172.16.1.0 /24172.16.2.0 /24172.16.3.0/24的明细路由。

(2)在R2上汇总路由:

r2(config)#router ospf 1

r2(config-router)#summary-address 172.16.0.0 255.255.252.0

说明:将路由汇总为172.16.0.0/22,因为是外部路由,所以必须在ASBR上进行汇总。

 

(3)查看汇总后,R5的路由表:

 

r5#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

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:03:51, FastEthernet0/1

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

O E2    172.16.0.0/22 [110/20] via 15.1.1.1, 00:00:55, FastEthernet0/1

O E2    172.16.1.0/24 [110/20] via 15.1.1.1, 00:00:50, FastEthernet0/1

O E2    172.16.2.0/24 [110/20] via 15.1.1.1, 00:00:50, FastEthernet0/1

O E2    172.16.3.0/24 [110/20] via 15.1.1.1, 00:00:50, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:03:51, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:03:51, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:03:52, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r5#

说明:R5拥有汇总路由与明细路由,因为有两个ASBR,一个通告了汇总路由,一个通告了明细路由。

 

(4)在R1上过滤从一个区域发向其它区域的路由:

r1(config)#ip prefix-list NET172 deny 172.16.0.0/22

r1(config)#router ospf 1

r1(config-router)#area 0 filter-list prefix NET172 out

说明:当R1将区域0的路由发向其它任何区域时,除了172.16.0.0/22,其它全部拒绝。

注:prefix-list中被deny的条目,就是可以放行的路由,该方法只能过滤一个区域去其它区域的路由,只对其它路由器生效,自己没有效果。

 

(5)查看配置过滤后R5的路由表:

r5#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

O E2    172.16.0.0 [110/20] via 15.1.1.1, 00:00:09, FastEthernet0/1

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

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r5#

说明:R5只收到了除了172.16.0.0/22,除了172.16.0.0/22,其它全部被过滤了。

 

(6)查看R1的路由表:

r1#sh ip route

*Mar  1 00:54:06.991: %SYS-5-CONFIG_I: Configured from console by console

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

O       34.1.1.0 [110/67] via 13.1.1.3, 00:00:35, Serial1/0

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

O E2    172.16.0.0/22 [110/20] via 12.1.1.2, 00:00:35, FastEthernet0/0

O E2    172.16.1.0/24 [110/20] via 13.1.1.3, 00:00:35, Serial1/0

O E2    172.16.2.0/24 [110/20] via 13.1.1.3, 00:00:35, Serial1/0

O E2    172.16.3.0/24 [110/20] via 13.1.1.3, 00:00:35, Serial1/0

     24.0.0.0/24 is subnetted, 1 subnets

O       24.1.1.0 [110/66] via 12.1.1.2, 00:00:35, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:虽然配置了区域过滤,但过滤只对其它路由器生效,而R1的路由条目没有受到任何影响。

 

 

(7)配置R1对自己过滤:

 

r1(config)#access-list 1 permit 172.16.0.0

 

r1(config)#router ospf 1

r1(config-router)#no area 0 filter-list prefix NET172 out

r1(config-router)#distribute-list 1 in serial 1/0

 

说明:去除之前的区域过滤,配置distribute-list对进入路由表的条目做过滤,该过滤方法对自己生效,只影响LSA进入自己的路由表,但LSA数据库中的条目仍然不变,照样会发给邻居。

 

(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

O E2    34.1.1.0 [110/20] via 12.1.1.2, 00:00:24, FastEthernet0/0

     172.16.0.0/22 is subnetted, 1 subnets

O E2    172.16.0.0 [110/20] via 12.1.1.2, 00:00:24, FastEthernet0/0

     24.0.0.0/24 is subnetted, 1 subnets

O       24.1.1.0 [110/66] via 12.1.1.2, 00:00:25, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:distribute-list对进入路由表的条目做了过滤。

 

(9)查看R1配置对自己过滤后的LSA数据库:

 

r1#sh ip ospf database

 

            OSPF Router with ID (1.1.1.1) (Process ID 1)

 

                Router Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         407         0x8000000D 0x005A98 3

2.2.2.2         2.2.2.2         1741        0x8000000A 0x003795 2

3.3.3.3         3.3.3.3         1744        0x80000009 0x00E243 3

 

                Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

12.1.1.2        2.2.2.2         1742        0x80000003 0x000E06

 

                Summary Net Link States (Area 0)

 

Link ID         ADV Router      Age         Seq#       Checksum

15.1.1.0        1.1.1.1         821         0x80000006 0x009091

 

                Router Link States (Area 1)

 

Link ID         ADV Router      Age         Seq#       Checksum Link count

1.1.1.1         1.1.1.1         361         0x8000000C 0x00B13D 1

5.5.5.5         5.5.5.5         116         0x8000000E 0x00AB20 1

         

                Net Link States (Area 1)

         

Link ID         ADV Router      Age         Seq#       Checksum

15.1.1.5        5.5.5.5         362         0x8000000B 0x006A7D

         

                Summary Net Link States (Area 1)

         

Link ID         ADV Router      Age         Seq#       Checksum

0.0.0.0         1.1.1.1         172         0x80000001 0x001B17

         

                Type-5 AS External Link States

         

Link ID         ADV Router      Age         Seq#       Checksum Tag

24.1.1.0        3.3.3.3         35          0x80000003 0x00024E 0

34.1.1.0        2.2.2.2         407         0x80000006 0x002928 0

172.16.0.0      2.2.2.2         1518        0x80000001 0x0017C7 0

172.16.1.0      3.3.3.3         36          0x80000003 0x00C1EA 0

172.16.2.0      3.3.3.3         36          0x80000003 0x00B6F4 0

172.16.3.0      3.3.3.3         36          0x80000003 0x00ABFE 0

r1#

说明:配置distribute-list对进入路由表的条目做过滤,该过滤方法对自己生效,只影响LSA进入自己的路由表,但LSA数据库中的条目仍然不变,照样会发给邻居。

 

 

(10)查看R1配置对自己过滤后邻居R5的路由表:

r5#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

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:01:27, FastEthernet0/1

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

O E2    172.16.0.0/22 [110/20] via 15.1.1.1, 00:01:27, FastEthernet0/1

O E2    172.16.1.0/24 [110/20] via 15.1.1.1, 00:01:27, FastEthernet0/1

O E2    172.16.2.0/24 [110/20] via 15.1.1.1, 00:01:27, FastEthernet0/1

O E2    172.16.3.0/24 [110/20] via 15.1.1.1, 00:01:27, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:01:27, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:01:27, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:01:28, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r5#

r5#

说明:配置distribute-list对进入路由表的条目做过滤后,只对自己的路由表生效,只邻居的路由表正常。

 

 

 

4.测试OSPF末节区域

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

 

r5#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

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:00:06, FastEthernet0/1

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

O E2    172.16.0.0/22 [110/20] via 15.1.1.1, 00:00:06, FastEthernet0/1

O E2    172.16.1.0/24 [110/20] via 15.1.1.1, 00:00:06, FastEthernet0/1

O E2    172.16.2.0/24 [110/20] via 15.1.1.1, 00:00:06, FastEthernet0/1

O E2    172.16.3.0/24 [110/20] via 15.1.1.1, 00:00:06, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:00:06, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:00:06, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:00:07, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r5#

说明:R5同时拥有OSPF区域间的路由以及OSPF外部路由。

 

 

(2)配置区域1Stub Area(末节区域)

r1(config)#router ospf 1

r1(config-router)#area 1 stub

说明:在R1上配置区域1Stub Area(末节区域)。

 

(3)查看R5OSPF邻居状态:

r5#sh ip ospf neighbor

 

r5#

说明:由于对端邻居配置了Stub Area,所以Hello包中携带末节标签,导致邻居丢失。

 

(4)在R5上配置Stub Area:

r5(config)#router ospf 1

r5(config-router)#area 1 stub

 

r5#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

1.1.1.1           1   FULL/BDR        00:00:37    15.1.1.1        FastEthernet0/1

r5#

说明:在双方都配置Stub Area后,邻居正常。

 

(5)查看R5配置Stub Area后的路由情况:

r5#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 15.1.1.1 to network 0.0.0.0

 

     34.0.0.0/24 is subnetted, 1 subnets

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:00:14, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:00:14, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:00:14, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:00:14, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

O*IA 0.0.0.0/0 [110/2] via 15.1.1.1, 00:00:14, FastEthernet0/1

r5#

说明:Stub Area阻拦了所有外部路由,但放行OSPF区域间的路由,由于没有了外部路由,ABRR1)向域内发送了一条指向自己的默认路由,并且Metric值默认为1加到达ABR的接口Cost

 

 

 

(6)在ABR上将Stub Area改为Totally Stub Area(完全末节区域):

r1(config)#router ospf 1

r1(config-router)#area 1 stub no-summary

说明:Totally Stub Area(完全末节区域)只需要在ABR上配置即可,其它普通路由器只需要配置Stub Area

 

(7)查看配置Totally Stub AreaR5的路由情况:

 

r5#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 15.1.1.1 to network 0.0.0.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

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

O*IA 0.0.0.0/0 [110/2] via 15.1.1.1, 00:00:11, FastEthernet0/1

r5#

说明:Totally Stub Area阻拦了所有外部路由和 OSPF区域间的路由,由于没有了外部路由,ABRR1)向域内发送了一条指向自己的默认路由,并且Metric值默认为1加到达ABR的接口Cost

 

8)配置区1Not-so-Stubby AreaNSSA):

r1(config)#router ospf 1

r1(config-router)#area 1 nssa

 

r5(config)#router ospf 1

r5(config-router)#area 1 nssa

r5(config-router)#redistribute connected subnets

说明:NSSA区域的路由器可以向区域内重分布OSPF外部路由,NSSA区域内将以LSA 7的形式向区域内重分布外部路由,但LSA 7 只能在NSSA区域内传递。

 

(9)查看配置Not-so-Stubby AreaR5的路由情况:

 

r5#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

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:00:22, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:00:22, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:00:22, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:00:22, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r5#

说明:因为自己可以将外部路由重分布进OSPF,并且自己也拥有OSPF区域间的路由,所以ABR并没有向区域内自动发送默认路由。

 

(10)查看配置Totally Stub AreaR1的路由情况:

 

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

O       34.1.1.0 [110/67] via 13.1.1.3, 00:01:44, Serial1/0

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

O E2    172.16.0.0/22 [110/20] via 12.1.1.2, 00:00:57, FastEthernet0/0

O E2    172.16.1.0/24 [110/20] via 13.1.1.3, 00:00:57, Serial1/0

O E2    172.16.2.0/24 [110/20] via 13.1.1.3, 00:00:57, Serial1/0

O E2    172.16.3.0/24 [110/20] via 13.1.1.3, 00:00:57, Serial1/0

     24.0.0.0/24 is subnetted, 1 subnets

O       24.1.1.0 [110/66] via 12.1.1.2, 00:01:44, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

O N2 192.168.1.0/24 [110/20] via 15.1.1.5, 00:00:57, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/0

O N2 192.168.2.0/24 [110/20] via 15.1.1.5, 00:00:58, FastEthernet0/1

O N2 192.168.3.0/24 [110/20] via 15.1.1.5, 00:00:58, FastEthernet0/1

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

r1#

说明:NSSA区域以LSA 7的形式向区域内重分布外部路由,但LSA 7 只能在NSSA区域内传递。

 

(11)手工在ABR上向NSSA区域发送默认路由:

r1(config)#router ospf 1            

r1(config-router)#area 1 nssa default-information-originate

说明:必须在NSSA区域的ABR上向NSSA区域内发送默认路由。

 

(12)查看R5的路由表:

r5#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 15.1.1.1 to network 0.0.0.0

 

     34.0.0.0/24 is subnetted, 1 subnets

O IA    34.1.1.0 [110/68] via 15.1.1.1, 00:02:29, FastEthernet0/1

     24.0.0.0/24 is subnetted, 1 subnets

O IA    24.1.1.0 [110/67] via 15.1.1.1, 00:02:29, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O IA    12.1.1.0 [110/66] via 15.1.1.1, 00:02:29, FastEthernet0/1

C    192.168.1.0/24 is directly connected, Loopback192

     13.0.0.0/24 is subnetted, 1 subnets

O IA    13.1.1.0 [110/65] via 15.1.1.1, 00:02:29, FastEthernet0/1

C    192.168.2.0/24 is directly connected, Loopback192

C    192.168.3.0/24 is directly connected, Loopback192

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

O*N2 0.0.0.0/0 [110/1] via 15.1.1.1, 00:00:21, FastEthernet0/1

r5#

说明:手工配置ABRNSSA区域发送默认路由成功。

 

 

 

(13)配置区域1Totally  NSSA

r1(config)#router ospf 1            

r1(config-router)#area 1 nssa no-summary

说明:Totally  NSSA只需要在ABR上配置即可,其它普通路由器只需要配置NSSA

 

(14)查看配置Totally  NSSAR5的路由情况:

 

r5#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 15.1.1.1 to network 0.0.0.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

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, FastEthernet0/1

O*IA 0.0.0.0/0 [110/2] via 15.1.1.1, 00:00:18, FastEthernet0/1

r5#

说明:Totally  NSSA阻拦了所有外部路由和 OSPF区域间的路由,ABRR1)自动向域内发送了一条指向自己的默认路由,并且Metric值默认为1加到达ABR的接口Cost

                                                                    返回目录

 

路由策略

 

 

路由重分布

 

 在同路由协议内,默认通过比较路由的Metric值来决定优先权,在不同路由协议之间,默认通过比较路由的AD值(Administrative Distance)来决定优先权。由于不同路由协议,Metric值计算方法不同,所以在路由协议之间重分布时,需要额外考虑相互的Metric值如何理解。并且由于各协议AD值的不同,也需要额外考虑是否会有引起路由环路或次优路径的风险。

各协议默认的AD值(Administrative Distance)如下表:

Default Administrative Distances

Connected

0

Static

1

eBGP

20

EIGRP (internal)

90

IGRP

100

OSPF

110

IS-IS

115

RIP

120

EIGRP (external)

170

iBGP

200

EIGRP summary route

5

 

 

 

 

如下图所示:

 

 RIP区域的路由器R1将外部路由100.1.1.0重分布进RIP,并且指定metric值为5,在RIP范围内,到达100.1.1.0AD值为120,当R2将从RIP学习到的100.1.1.0重分布进OSPF区域后,路由传递到R4时,由于OSPFAD值为110,小于RIP,最终造成R4到达100.1.1.0从更远的OSPF路径绕一圈;如果R4继续将路由100.1.1.0重分布进RIP,并设置一个低于5Metric值,又被R3学习到,结果又会造成R3经过R4,经过OSPF区域,再绕回RIP到达目标100.1.1.1,这就是由于不同协议的不同AD值造成的次优路径,甚至是路由环路,所以在协议之间配置重分布时,AD值需要多加考虑和分析。

 

不同协议之间配置重分布时,还需要对Metric值做多加处理,如果由于Metric值错误或者Metric无法理解,将导致路由不可达或路由不可用。

当将外部路由重分布进路由协议时,各协议默认赋予外部路由的Metric值如下 :

 

RIP

外部路由重分布进RIP时,默认Metric值为无穷大,即默认为不可用。

 

EIGRP

外部路由重分布进EIGRP时,默认Metric值为空,即默认没有Metric值,所以路由同样是不可用,但某些不同版本的IOS,对此有所改进,并且是针对不同路由有不同操作,需要以实际IOS为准。(EIGRPIOS中是个例外)

 

OSPF

外部路由重分布进OSPF时,默认Metric值为20,如果BGP重分布进OSPF,默认Metric值为1

 

                                                                   返回目录 

 

Route-Map

  Route-Map的使用相当广泛,而我们这里只提两个最主要的用途,那就是Route-Map在配置Policy-Based RoutingPBR)所起的作用,以及Route-Map在重分布时所起的作用。

 需要说明,Route-Map拥有许多特殊功能,我们这里并没有讲述完整的Route-Map功能,Policy-Based Routing同样有着许多特殊功能,我们所提及的也不包含完整的PBR功能。

 

Route-MapACL(访问控制列表)有着一些共同之处,那就是一组Route-Map通过多条Route-Map语句组合而成,在配置时没有手工定义语句序号的情况下,序号默认以10递增,并且起始序号为10,在系统检测Route-Map时,从上至下按顺序检测语句,只要检测到符合的语句,就立刻停止并执行当前动作,而不会继续检测剩下的所有语句。

 因为Route-Map的语句总是以10递增,所以Route-Map允许在序号之间插入语句,方便修改。

 在为Route-Map定义数据源或数据条件时,可以使用关键字match来匹配所需要的类型,可以匹配ACLprefix-list,接口,协议,以及数据包包头或内容等等,总之相当丰富,在定义匹配的条件之后,就可以定义需要对指定条件执行的动作,但如果不定义匹配条件,而只定义了执行动作,那么该Route-Map将对所有数据包生效。任何被上一条语句拒绝或没匹配到的所有数据,将被下一条匹配,如果还是没有匹配上,则继续往下,直到全部语句检测完毕为止。

 

 

例如:

假设源数据为10.1.1.1,被以下Route-MAP检测:

 

Router(config)#access-list 10 permit host 10.1.1.1

 

Router(config)#route-map SET permit 10

Router(config-route-map)#match ip address 10

Router(config-route-map)#exit

 

Router(config)#route-map SET deny 20

Router(config-route-map)#exit

结果:被第一条允许匹配上,不再与第二条匹配,第二条无效,最后结果为放行。

 

 

Router(config)#access-list 10 permit host 10.1.1.1

 

Router(config)#route-map SET deny 10

Router(config-route-map)#exit

Router(config)#route-map SET permit 20

Router(config-route-map)#exit

Router(config)#

结果:被第一条拒绝匹配上,不再与第二条匹配,第二条无效,最后结果为拒绝。

 

 

 

Router(config)#access-list 10 permit host 10.1.1.1

 

Router(config)#route-map SET deny 10 

Router(config-route-map)#exit

Router(config)#route-map SET deny 20

Router(config-route-map)#exit

结果:被第一条拒绝匹配上,不再与第二条匹配,第二条无效,最后结果为拒绝。

 

 

Router(config)#access-list 20 permit host 20.1.1.1

                

Router(config)#route-map SET deny 10

Router(config-route-map)#match ip address 20

Router(config-route-map)#exit 

Router(config)#route-map SET permit 20

Router(config-route-map)#exit

Router(config)#

结果:没有被第一条拒绝匹配上,继续与第二条匹配,第二条为放行,最后结果为放行。

 

 

 

Router(config)#route-map SET permit 10

Router(config-route-map)#exit

Router(config)#route-map SET deny 20             

Router(config-route-map)#exit

结果:被第一条允许匹配上,不再与第二条匹配,第二条无效,最后结果为放行。

 

 

 

当Route-MapPBR中使用时,被匹配到的流量将执行定义好的动作,而没有匹配到的流量,默认将按照常规来转发,所以在使用Route-MapPBR时,没有被匹配到的流量将不受影响。

注:PBR默认情况下,只对外部设备产生的流量生效,如果需要对配置PBR的设备自己产生的流量生效,需要全局输入命令:ip local policy route-map name。(将name替换为相应Route-Map的名字即可。)

 

 

 

当Route-Map在路由重分布中使用时,被匹配到并且允许的路由,将被重分布,被匹配到却被拒绝的路由将被丢弃而不重分布,如果路由没有被匹配,同样也不允许重分布,所以在使用Route-Map做路由重分布时,没有被匹配到的路由将全部拒绝。

 

 

                                                                    返回目录

路由控制

 

 如果将不必要的路由发入错误的协议,可能导致路由环路或次优路径,因此,可以采用过滤手段将相应路由过滤掉,对于过滤路由,有以下特别注意的地方:

 

路由过滤可以通过Distribute-List来实现,Distribute-List可以适用的协议和方向有:

 

RIP(距离矢量路由协议)

可适用于in方向和out方向。

 

EIGRP(距离矢量路由协议)

可适用于in方向和out方向。

 

OSPF(链路状态路由协议)

在OSPF本协议进程内,只适用于in方向,只对自己的路由表生效,无法影响邻居的路由表;在除OSPF之外的其它协议进程下,可用于out方向,在于将OSPF重分布进其它路由协议时做过滤,此过滤称为进程过滤,不仅适用于OSPF协议重分布进其它协议时适用,同样适用于其它协议重分布进OSPF或其它协议之间重分布。

 

 

Route-Map可以单独用在路由重分布时控制和过滤路由。

 

除了在必要时,将路由过滤掉之外,当需要在不同协议或不同AD值之间调整路优选择优先权时,可以通过修改路由协议默认的AD值来实现,修改AD值可以是基于整个协议的修改,将对协议内所有路由条目生效,也可以对特定路由修改;如果只是需要对特定路由修改AD值,则需要调用ACLPrefix-Lix来匹配特定路由,除此之外,还要定义路由去往目的地的下一跳地址,RIPEIGRP都需要在对特定路由调整AD值时定义路由下一跳地址,而对于OSPF,其LSA中并没有明确写明去往目的地的下一跳地址,因为这个地址需要OSPF通过LSA计算后得知,所以在OSPF下对特定路由调整AD值时定义的路由下一跳地址为产生该LSARouter-ID

 

 

如下图所示:

 RIP区域的路由器R1将外部路由100.1.1.0重分布进RIP,并且指定metric值为5,在RIP范围内,到达100.1.1.0AD值为120,当R2将从RIP学习到的100.1.1.0重分布进OSPF区域后,路由传递到R4时,由于OSPFAD值为110,小于RIP,最终造成R4到达100.1.1.0从更远的OSPF路径绕一圈;如果R4继续将路由100.1.1.0重分布进RIP,并设置一个低于5Metric值,又被R3学习到,结果又会造成R3经过R4,经过OSPF区域,再绕回RIP到达目标100.1.1.1,这就是由于不同协议的不同AD值造成的次优路径,甚至是路由环路,所以在协议之间配置重分布时,AD值需要多加考虑和分析。

 

重分布时的过滤方法除了以上的之外,还有Tag过滤技术,就是将相应路由打上Tag,将该路由在重分布回原路由协议时,通过匹配Tag来拒绝掉,需要注意,Tag过滤不支持IGRPRIP ver 1

                                                                    返回目录

 

配置路由策略

 

说明:实验配置共包含:

配置路由重分布

配置PBR

配置路由控制

说明:以下图为例,配置路由重分布和PBR

 

 

 

 

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)#int f0/1                    

r1(config-if)#ip add 14.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#int s1/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)#ip address 15.1.1.1 255.255.255.0

r1(config-if)#no shutdown

r1(config-if)#frame-relay map ip 15.1.1.5 105 broadcast

 

r1(config)#int s1/1

r1(config-if)#encapsulation frame-relay

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

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

r1(config-if)#ip add 13.1.1.1 255.255.255.0

r1(config-if)#no shutdown

r1(config-if)# frame-relay map ip 13.1.1.3 113 broadcast  

 

r1(config)#router eigrp 1

r1(config-router)#no auto-summary

r1(config-router)#network 12.1.1.1 0.0.0.0

 

r1(config)#router rip

r1(config-router)#version 2

r1(config-router)#no auto-summary

r1(config-router)#network 13.0.0.0

 

r1(config)#router ospf 1

r1(config-router)#router-id 1.1.1.1

r1(config-router)#network 14.1.1.1 0.0.0.0 area 0

 

r1(config)#router bgp 1

r1(config-router)#bgp router-id 1.1.1.1

r1(config-router)#neighbor 15.1.1.5 remote-as 1

r1(config-router)#network 15.1.1.0 mask 255.255.255.0

说明:配置R1R2之间运行EIGRP 1,与R3之间运行RIP,与R4之间运行OSPF,与R5之间运行BGP

 

(2)配置R2

 

r2(config)#int f0/0

r2(config-if)#ip address 12.1.1.2 255.255.255.0

r2(config-if)#no sh

 

r2(config)#int loopback 10

r2(config-if)#ip add 10.1.1.1 255.255.255.0

 

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 10.1.1.1 0.0.0.0

说明:在R2R1之间配置EIGRP 1,并将10.1.1.0/24放入EIGRP进程。

 

(3)配置R3

 

r3(config)#int s1/1

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 add 13.1.1.3 255.255.255.0

r3(config-if)#no sh

r3(config-if)#fram map ip 13.1.1.1 311 broadcast    

 

r3(config)#router rip

r3(config-router)#version 2

r3(config-router)#no auto-summary

r3(config-router)#network 13.0.0.0

说明:在R3R1之间配置RIP

 

(4)配置R4

 

r4(config)#int f0/1

r4(config-if)#ip add 14.1.1.4 255.255.255.0

r4(config-if)#no sh

 

r4(config)#router ospf 1

r4(config-router)#router-id 4.4.4.4

r4(config-router)#network 14.1.1.4 0.0.0.0 area 0

说明:在R4R1之间配置OSPF

 

(5)配置R5

 

r5(config)#int s1/0

r5(config-if)#encapsulation frame-relay

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

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

r5(config-if)#ip address 15.1.1.5 255.255.255.0

r5(config-if)#no sh

r5(config-if)#fram map ip 15.1.1.1 501 broadcast

 

r5(config)#int loopback 10

r5(config-if)#ip address 10.1.1.1 255.255.255.0

 

r5(config)#router bgp 1

r5(config-router)#bgp router-id 5.5.5.5

r5(config-router)#neighbor 15.1.1.1 remote-as 1

r5(config-router)#network 10.1.1.0 mask 255.255.255.0

说明:在R5R1之间配置BGP,并将10.1.1.0/24放入BGP进程。

 

2.测试路由重分布

(1)查看R1当前各协议的邻居状态:

r1#sh 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/0             13 00:04:08  153  1377  0  3

 

r1#sh ip ospf neighbor

 

Neighbor ID     Pri   State           Dead Time   Address         Interface

4.4.4.4           1   FULL/BDR        00:00:37    14.1.1.4        FastEthernet0/1

r1#

 

r1#sh ip bgp summary

BGP router identifier 1.1.1.1, local AS number 1

BGP table version is 3, main routing table version 3

1 network entries using 129 bytes of memory

1 path entries using 52 bytes of memory

2/1 BGP path/bestpath attribute entries using 248 bytes of memory

0 BGP route-map cache entries using 0 bytes of memory

0 BGP filter-list cache entries using 0 bytes of memory

BGP using 429 total bytes of memory

BGP activity 1/0 prefixes, 1/0 paths, scan interval 60 secs

 

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd

15.1.1.5        4     1       6       5        3    0    0 00:01:42        1

r1#

说明:除RIP不建邻居之外,其它协议邻居正常。

 

(2)查看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/24 is subnetted, 1 subnets

D       10.1.1.0 [90/156160] via 12.1.1.2, 00:05:09, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/1

     14.0.0.0/24 is subnetted, 1 subnets

C       14.1.1.0 is directly connected, FastEthernet0/1

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, Serial1/0

r1#

说明:R1使用了R2发来的10.1.1.0/24,但并没有使用BGP发来的,因为iBGP管理距离为200,大于EIGRP

 

(3)在R1上将EIGRP学习到的路由重分布进RIP

r1(config)#router rip

r1(config-router)#redistribute eigrp 1

说明:将EIGRP 1的路由重分布进RIP

 

 

(4)查看RIP路由器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

 

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/1

r3#

说明:RIP中并没有收到EIGRP 1重分布进来的路由,因为在将路由重分布进RIP时,如果不指定Metric值,默认为无穷大,即不可用。

 

(5)修改RIP重分布时的默认Metric值:

r1(config)#router rip

r1(config-router)#default-metric 8

说明:在重分布的那台路由器上将默认重分布进RIP时的Metric值改为8

 

 

(6)再次查看RIP路由器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

R       10.1.1.0 [120/8] via 13.1.1.1, 00:00:13, Serial1/1

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/8] via 13.1.1.1, 00:00:13, Serial1/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/1

r3#

说明:RIP中成功收到从EIGRP重分布过来的路由,并且默认Metric值为修改后的8

 

(7)手工指定EIGRP重分布进RIP时的Metric值:

r1(config)#router rip

r1(config-router)#redistribute eigrp 1 metric 2

说明:手工指定EIGRP重分布进RIP时的Metric值为2

 

(8)再次查看RIP路由器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

R       10.1.1.0 [120/2] via 13.1.1.1, 00:00:17, Serial1/1

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/2] via 13.1.1.1, 00:00:17, Serial1/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/1

r3#

说明;Metric值已被改为2,说明手工指定的Metric值优先于默认Metirc值。

 

(9)重分布EIGRPOSPF

r1(config)#router ospf 1

r1(config-router)#redistribute eigrp 1 subnets

说明:将EIGRP所有路由重分布进OSPF

 

(10)查看OSPF路由器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

 

     10.0.0.0/24 is subnetted, 1 subnets

O E2    10.1.1.0 [110/20] via 14.1.1.1, 00:00:19, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 14.1.1.1, 00:00:19, FastEthernet0/1

     14.0.0.0/24 is subnetted, 1 subnets

C       14.1.1.0 is directly connected, FastEthernet0/1

r4#

说明:成功将EIGRP重分布进OSPF,并且看到默认的类型为2类,并且默认Metirc值为20

 

(11)重分布BGPOSPF

 

r1(config)#router bgp 1

r1(config-router)#bgp redistribute-internal

 

r1(config)#router ospf 1

r1(config-router)#redistribute bgp 1 subnets

说明:将BGP重分布进OSPF

 

(12)查看OSPF路由器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

 

     10.0.0.0/24 is subnetted, 1 subnets

O E2    10.1.1.0 [110/20] via 14.1.1.1, 00:01:50, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 14.1.1.1, 00:01:50, FastEthernet0/1

     14.0.0.0/24 is subnetted, 1 subnets

C       14.1.1.0 is directly connected, FastEthernet0/1

     15.0.0.0/24 is subnetted, 1 subnets

O E2    15.1.1.0 [110/1] via 14.1.1.1, 00:00:21, FastEthernet0/1

r4#

说明:成功将BGP重分布进OSPF,并且看到默认的类型为2类,而BGP的默认Metirc值为1,这是与其它路由协议不一样的地方。

 

(13)修改重分布进OSPF时的默认Metric值:

r1(config)#router ospf 1

r1(config-router)#default-metric 30

说明:将重分布进OSPF时的默认Metric值修改为30

(14)再次查看OSPF路由器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

 

     10.0.0.0/24 is subnetted, 1 subnets

O E2    10.1.1.0 [110/30] via 14.1.1.1, 00:00:25, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/30] via 14.1.1.1, 00:00:25, FastEthernet0/1

     14.0.0.0/24 is subnetted, 1 subnets

C       14.1.1.0 is directly connected, FastEthernet0/1

     15.0.0.0/24 is subnetted, 1 subnets

O E2    15.1.1.0 [110/30] via 14.1.1.1, 00:00:25, FastEthernet0/1

r4#

说明:所有重分布进OSPF的默认Metirc值全部变成了30

 

(15)重分布OSPFEIGRP

r1(config)#router eigrp 1

r1(config-router)#redistribute ospf 1

说明:将OSPF重分布进EIGRP

 

 

(16)查看EIGRP路由器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, Loopback10

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

r2#

说明:重分布进EIGRP的路由为空,所以注意修改Metric值。

 

(17)修改重分布进EIGRP时的默认Metric值:

r1(config)#router eigrp 1

r1(config-router)#default-metric 10000 100 255 1 1500

说明:修改的EIGRP默认Metric值为5K值所代表的值。

 

(18)再次查看EIGRP路由器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, Loopback10

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     14.0.0.0/24 is subnetted, 1 subnets

D EX    14.1.1.0 [170/284160] via 12.1.1.1, 00:02:58, FastEthernet0/0

r2#

说明:修改默认Metric值后,已经成功收到重分布进来的路由。

 

注:从实验中不难看出,所有重分布时修改的Metric值,全部都是在做重分布的那台路由器上修改的。

 

(19)重分布直连路由进EIGRP时使用Route-MAP

r1(config)#route-map NET15 permit 10

r1(config-route-map)#match interface serial 1/0

r1(config-route-map)#exit

 

r1(config)#router eigrp 1

r1(config-router)#redistribute connected route-map NET15

说明:通过Route-Map只匹配重分布接口serial 1/0EIGRP

 

(20)查看EIGRP路由器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, Loopback10

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     15.0.0.0/24 is subnetted, 1 subnets

D EX    15.1.1.0 [170/2172416] via 12.1.1.1, 00:00:24, FastEthernet0/0

r2#

说明:只有与Route-Map中定义的接口相匹配的serial 1/0被重分布进了EIGRP

 

(21)改变重分布直连路由进EIGRP时使用Route-MAP

r1(config)#route-map EIGRP deny 10

r1(config-route-map)#match interface s1/0

r1(config-route-map)#exit

r1(config)#route-map EIGRP permit 20

r1(config-route-map)#exit

 

r1(config)#router eigrp 1

r1(config-router)#no redistribute connected route-map NET15

r1(config-router)#redistribute connected route-map EIGRP

说明:修改Route-Map拒绝接口serial 1/0,但允许其它所有接口进EIGRP

 

 

(22)查看EIGRP路由器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, Loopback10

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

D EX    13.1.1.0 [170/2172416] via 12.1.1.1, 00:00:11, FastEthernet0/0

     14.0.0.0/24 is subnetted, 1 subnets

D EX    14.1.1.0 [170/30720] via 12.1.1.1, 00:00:11, FastEthernet0/0

r2#

说明:修改Route-Map后,除了接口serial 1/0的路由没有之外,其它的都有。

 

 

3 测试PBR

(1)将直连网络全部重分布进各协议:

 

r1(config)#router rip

r1(config-router)#redistribute connected

 

r1(config)#router bgp 1

r1(config-router)#redistribute connected

 

r1(config)#router ospf 1

r1(config-router)#redistribute connected subnets

r1(config)#router eigrp 1

r1(config-router)#redistribute connected

说明:将直连网络全部重分布进各协议,保证通畅。

(2)开启R2R5VTY线路:

r2(config)#line vty 0 4

r2(config-line)#no login

r2(config-line)#exit

 

r5(config)#line vty 0 4

r5(config-line)#no login

r5(c

说明:允许R2R5VTY使用空密码登陆。

 

(3)查看当前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/24 is subnetted, 1 subnets

D       10.1.1.0 [90/156160] via 12.1.1.2, 00:36:29, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

C       12.1.1.0 is directly connected, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, Serial1/1

     14.0.0.0/24 is subnetted, 1 subnets

C       14.1.1.0 is directly connected, FastEthernet0/1

     15.0.0.0/24 is subnetted, 1 subnets

C       15.1.1.0 is directly connected, Serial1/0

r1#

说明:当前R1选择从R2去往10.1.1.0/24

 

(4)测试R1到达10.1.1.0/24的路径:

 

r1#telnet 10.1.1.1

Trying 10.1.1.1 ... Open

 

r2>

 

 

r1#telnet 10.1.1.1 /source-interface serial 1/1

Trying 10.1.1.1 ... Open

 

r2

 

说明:R1无论以什么形式,都是通过R2去往10.1.1.0/24的,因为路由表中就是这样。

 

 

(5)测试R3到达各网段的路径:

 

r3#telnet 10.1.1.1

Trying 10.1.1.1 ... Open

 

r2>

 

 

r3#telnet 15.1.1.5

Trying 15.1.1.5 ... Open

 

r5>

 

 

r3#telnet 12.1.1.2

Trying 12.1.1.2 ... Open

 

r2>

 

说明:R3R2到达10.1.1.0/24,其它网段也均正常到达路由器。

 

(6)在R1连接R3的接口上配置PBR

r1(config)#access-list 133 permit ip any host 10.1.1.1

 

r1(config)#route-map SET permit 10

r1(config-route-map)#match ip address 133

r1(config-route-map)#set ip next-hop 15.1.1.5

r1(config-route-map)#exit

r1(config)#int s1/1                

r1(config-if)#ip policy route-map SET

说明:配置PBR使任何去往10.1.1.1/32的流量都被强制发送到R5

 

(7)测试R3到达10.1.1.1/32的路径:

r3#telnet 10.1.1.1

Trying 10.1.1.1 ... Open

 

r5>

r5>

说明:R3到达10.1.1.1已经从原来的R2被改到R5,说明PBR生效。

 

(8)再测试R3到达其它网段的路径:

 

r3#telnet 12.1.1.2

Trying 12.1.1.2 ... Open

 

r2>

说明:到达其它网段的流量并没有执行PBR,所以没有被发到R5,只是去往10.1.1.1/32的流量被PBR生效。

 

 

(9)测试R1自己到达10.1.1.1/32的路径:

 

r1#telnet 10.1.1.1 /source-interface serial 1/1

Trying 10.1.1.1 ... Open

 

r2>

说明:自己还是通过R2到达10.1.1.1/32,路径和配置PBR之前没有变化,说明PBR不对自己产生的流量生效。

 

(10)配置PBRR1自己产生的流量:

r1(config)#ip local policy route-map SET

说明:允许当前配置的PBR对自己产生的流量生效。

 

 

(10)再次测试R1自己到达10.1.1.1/32的路径:

r1#telnet 10.1.1.1 /source-interface serial 1/1

Trying 10.1.1.1 ... Open

 

r5>

说明:修改后,PBR已对自己产生的流量生效。

 

 

 

配置路由控制

 

 

说明:以上图为例,配置路由控制,解决路由环路和次优路径,其中包含配置Distribute-List过滤,修改特定路由AD值,进程过滤,以及Tag过滤,为了方便起见,我们只以100.1.1.0的路由选择为例,并且100.1.1.0被重分布进RIP

 

 

1.配置网络基础环境

(1)配置R1

r1(config)#int loopback 100

r1(config-if)#ip add 100.1.1.1 255.255.255.0

 

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)#int f0/1

r1(config-if)#ip address 13.1.1.1 255.255.255.0

r1(config-if)#no sh

 

r1(config)#router rip

r1(config-router)#ver 2

r1(config-router)#no auto-summary

r1(config-router)#network 12.0.0.0

r1(config-router)#network 13.0.0.0

r1(config-router)#redistribute connected metric 5

说明:在R1上配置了100.1.1.0/2412.1.1.0/2413.1.1.0/24,在12.1.1.0/2413.1.1.0/24运行RIP,并将100.1.1.0/24重分布进RIP,重分布时的Metric值为5

 

(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)#int f0/1

r2(config-if)#ip address 25.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 12.0.0.0

 

r2(config)#router ospf 1

r2(config-router)#router-id 2.2.2.2

r2(config-router)#network 25.1.1.2 0.0.0.0 area 0

说明:在R2上配置了12.1.1.0/2425.1.1.0/24,在12.1.1.0/24运行RIP,在25.1.1.0/24运行OSPF

 

(3)配置R3

 

r3(config)#int f0/0

r3(config-if)#ip address 34.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#int f0/1

r3(config-if)#ip address 13.1.1.3 255.255.255.0

r3(config-if)#no sh

 

r3(config)#router rip

r3(config-router)#ver 2

r3(config-router)#no auto-summary

r3(config-router)#network 13.0.0.0

r3(config-router)#network 34.0.0.0

说明:在R3上配置了13.1.1.0/2434.1.1.0/24,全部网段运行RIP

 

(4)配置R4

 

r4(config)#int f0/0

r4(config-if)#ip add 34.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 45.1.1.4 255.255.255.0

r4(config-if)#no shutdown

r4(config-if)#frame-relay map ip 45.1.1.5 405 broadcast

r4(config-if)#ip ospf network point-to-point

 

r4(config)#router rip

r4(config-router)#version 2

r4(config-router)#no auto-summary

r4(config-router)#network 34.0.0.0

 

r4(config)#router ospf 1

r4(config-router)#router-id 4.4.4.4

r4(config-router)#network 45.1.1.4 0.0.0.0 area 0

说明:在R4上配置了34.1.1.0/2445.1.1.0/24,在34.1.1.0/24运行RIP,在45.1.1.0/24运行OSPF

 

 

(5)配置R5

r5(config)#int f0/1

r5(config-if)#ip add 25.1.1.5 255.255.255.0

r5(config-if)#no sh

 

r5(config)#int s1/0

r5(config-if)#encapsulation frame-relay

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

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

r5(config-if)#ip add 45.1.1.5 255.255.255.0

r5(config-if)#no sh

 

r5(config-if)#frame-relay map ip 45.1.1.4 504 broadcast

r5(config-if)#ip ospf network point-to-point

 

r5(config)#router ospf 1

r5(config-router)#router-id 5.5.5.5

r5(config-router)#network 25.1.1.5 0.0.0.0 area 0

r5(config-router)#network 45.1.1.5 0.0.0.0 area 0

说明:在R5上配置了25.1.1.0/2445.1.1.0/24,全部网段运行OSPF

 

 

 

(6)查看R4去往100.1.1.0/24的路由情况:

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/6] via 34.1.1.3, 00:00:06, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:01:14, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/2] via 34.1.1.3, 00:00:06, FastEthernet0/0

     13.0.0.0/24 is subnetted, 1 subnets

R       13.1.1.0 [120/1] via 34.1.1.3, 00:00:06, FastEthernet0/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:R4通过RIP内部去往100.1.1.0/24,路径正常。

 

(7)查看R3去往100.1.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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/5] via 13.1.1.1, 00:00:09, FastEthernet0/1

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 13.1.1.1, 00:00:09, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

r3#

说明:R3通过RIP内部去往100.1.1.0/24,路径正常。

 

(8)跟踪R3去往100.1.1.0/24的路径情况:

r3#traceroute 100.1.1.1

 

Type escape sequence to abort.

Tracing the route to 100.1.1.1

 

  1 13.1.1.1 224 msec *  80 msec

r3#

说明:R313.1.1.1直接去往100.1.1.0/24,路径正常。

 

(9)在R2R4上配置RIPOSPF的双向重分布:

r2(config)#router rip

r2(config-router)#redistribute ospf 1 metric 1

 

r2(config)#router ospf 1

r2(config-router)#redistribute rip subnets

 

 

r4(config)#router rip

r4(config-router)#redistribute ospf 1 metric 1

 

r4(config)#router ospf 1

r4(config-router)#redistribute rip subnets

说明:在R2R4上配置RIPOSPF的双向重分布,并且在R4OSPF重分布进RIP时,Metirc值为1,小于R1100.1.1.0重分布进RIP时的值。

 

(10)查看配置重分布后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

O E2    100.1.1.0 [110/20] via 45.1.1.5, 00:01:19, Serial1/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:01:19, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:01:19, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:01:19, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:因为RIP区域的路由器R1将外部路由100.1.1.0重分布进RIP后,R2再将100.1.1.0重分布进OSPF区域,路由传递到R4时,由于OSPFAD值为110,小于RIP,最终造成R4到达100.1.1.0从更远的OSPF路径绕一圈。

 

(11)查看配置重分布后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/1] via 34.1.1.4, 00:00:13, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:13, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:13, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:18, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:13, FastEthernet0/0

r3#

 

r3#traceroute 100.1.1.1

 

Type escape sequence to abort.

Tracing the route to 100.1.1.1

 

  1 34.1.1.4 64 msec 44 msec 60 msec

  2 45.1.1.5 256 msec 104 msec 140 msec

  3 25.1.1.2 156 msec 124 msec 76 msec

  4 12.1.1.1 232 msec *  284 msec

r3#

 

说明:因为RIP区域的路由器R1将外部路由100.1.1.0重分布进RIP后,R2再将100.1.1.0重分布进OSPF区域,路由传递到R4时,由于OSPFAD值为110,小于RIP,最终造成R4到达100.1.1.0从更远的OSPF路径绕一圈,当R4再将OSPF重分布进RIP时,Metirc值为1,小于R1100.1.1.0重分布进RIP时的值,所以R3也选择从OSPF的路径去往100.1.1.0/24

通过分析可以得知,造成次优路径的原因为,不应该配置OSPF重分布进RIP时,再将100.1.1.0/24返回RIP,或者干脆在重分布RIP去往OSPF时,不将100.1.1.0/24放过去,但现在可以多种方法解决该问题。

 

 

 

2.配置Distribute-List过滤

(1)在R4上配置Distribute-List过滤:

r4(config)#access-list 4 deny 100.1.1.0

r4(config)#access-list 4 permit any

 

r4(config)#router ospf 1

r4(config-router)#distribute-list 4 in s1/0

说明:在R4上配置Distribute-List过滤,拒绝再次OSPF接收100.1.1.0/24的路由,从而防止次优路径。

 

(2)查看R4配置Distribute-List过滤后的路由表情况:

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/6] via 34.1.1.3, 00:00:03, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:00:32, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:00:32, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:00:32, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:因为R4拒绝再次OSPF接收100.1.1.0/24的路由,所以R4选择从内部RIP去往100.1.1.0/24,配置Distribute-List过滤后,路径选择正常。

 

 

 

(3)查看R3配置Distribute-List过滤后的路径情况:

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, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/5] via 13.1.1.1, 00:00:21, FastEthernet0/1

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:14, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:14, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:21, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:14, FastEthernet0/0

r3#

 

r3#traceroute 100.1.1.1

 

Type escape sequence to abort.

Tracing the route to 100.1.1.1

 

  1 13.1.1.1 224 msec *  80 msec

r3#

说明:因为R4拒绝再次OSPF接收100.1.1.0/24的路由,所以R3选择从内部RIP去往100.1.1.0/24,配置Distribute-List过滤后,路径选择正常。

 

 

3.修改AD值控制路径走向

说明:由于100.1.1.0/24R4RIP学习到的AD值为120,而从OSPF学习到的AD值为110,所以造成R4OSPF去往100.1.1.0/24,所以通过修改OSPFAD值大于RIP,便可控制路径走向,同样可以控制AD值来控制R3去往100.1.1.0/24的路径走向。

 

(1)恢复网络至初始路径状态:

 

r4(config-router)#no distribute-list 4 in s1/0

 

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/1] via 34.1.1.4, 00:00:04, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:04, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:04, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:19, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:04, FastEthernet0/0

r3#

 

 

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

O E2    100.1.1.0 [110/20] via 45.1.1.5, 00:01:52, Serial1/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:03:49, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:03:49, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:03:49, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:R3R4都选择从OSPF去往目标100.1.1.0/24,此路径为次优路径。

 

 

(2)在R3上修改AD值控制路径走向:

r3(config)#access-list 33 permit 100.1.1.0

r3(config)#router rip

r3(config-router)#distance 109 13.1.1.1 0.0.0.0 33

说明:在R3上修改从13.1.1.1去往100.1.1.0/24AD值为109,大于从R4去往100.1.1.0/24,配置中的地址为下一跳地址。

 

(3)查看修改AD值后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [109/5] via 13.1.1.1, 00:00:23, FastEthernet0/1

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:11, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:11, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:23, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:11, FastEthernet0/0

r3#

说明:修改AD值后,R3选择从13.1.1.1直接去往100.1.1.0/24

 

 

(4)在R4上查看100.1.1.0OSPF中通告的Router-ID

r4#sh ip ospf database external 100.1.1.0

 

            OSPF Router with ID (4.4.4.4) (Process ID 1)

 

                Type-5 AS External Link States

 

  Routing Bit Set on this LSA

  LS age: 155

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 100.1.1.0 (External Network Number )

  Advertising Router: 2.2.2.2

  LS Seq Number: 80000001

  Checksum: 0x7BB6

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 0.0.0.0

        External Route Tag: 0

 

r4#

说明:因为在OSPF修改特定路由的AD值,下一跳为通告该LSARouter-ID

 

(5)在R4上修改AD值控制路径走向:

r4(config)#access-list 44 permit 100.1.1.0

r4(config)#router ospf 1

r4(config-router)#distance 121 2.2.2.2 0.0.0.0 44

说明:在R4上修改从OSPF去往100.1.1.0/24AD值为121,大于从RIP内部去往100.1.1.0/24,置中的地址为通告该LSARouter-ID

 

 

(6)查看修改AD值后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/6] via 34.1.1.3, 00:00:11, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:00:22, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:00:22, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:00:22, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:修改AD值后,R4选择从RIP内部去往100.1.1.0/24

 

 

4.通过Route-Map过滤路由

说明:在R2上将RIP重分布进OSPF时,过滤掉100.1.1.0/24

 

 

(1)恢复网络至初始路径状态:

r4(config)#router ospf 1

r4(config-router)#no distance 121 2.2.2.2 0.0.0.0 44

 

 

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

O E2    100.1.1.0 [110/20] via 45.1.1.5, 00:00:06, Serial1/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:01:03, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:01:03, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:01:03, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

 

 

R3:

r3(config)#router rip

r3(config-router)#no distance 109 13.1.1.1 0.0.0.0 33

 

 

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, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:03, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

r3#

 

 

说明:R3R4都选择从OSPF去往目标100.1.1.0/24,此路径为次优路径。

 

(2)在R2上通过Route-Map过滤100.1.1.0/24:

r2(config)#access-list 22 permit 100.1.1.0

 

r2(config)#route-map NET100 deny 10

r2(config-route-map)#exit

r2(config-route-map)#match ip address 22

r2(config-route-map)#exit

r2(config)#route-map NET100 permit 20

r2(config-route-map)#exit

 

r2(config)#router ospf 1

r2(config-router)#redistribute rip

r2(config-router)#redistribute rip subnets route-map NET100

说明:通过Route-MapR2上将RIP重分布进OSPF时,过滤掉100.1.1.0/24

 

(3)查看使用Route-map过滤后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/6] via 34.1.1.3, 00:00:15, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:03:42, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:03:42, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:03:42, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:从OSPF过滤掉100.1.1.0/24后,R4选择从RIP内部去往100.1.1.0/24

 

 

(4)查看使用Route-map过滤后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/5] via 13.1.1.1, 00:00:17, FastEthernet0/1

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:11, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:11, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:18, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:11, FastEthernet0/0

r3#

说明:从OSPF过滤掉100.1.1.0/24后,R3选择从RIP内部去往100.1.1.0/24

 

 

(5)查看使用Route-map过滤后R5LSA数据库情况:

 

r5#sh ip ospf database external 100.1.1.0

 

            OSPF Router with ID (5.5.5.5) (Process ID 1)

 

                Type-5 AS External Link States

 

  Routing Bit Set on this LSA

  LS age: 65

  Options: (No TOS-capability, DC)

  LS Type: AS External Link

  Link State ID: 100.1.1.0 (External Network Number )

  Advertising Router: 4.4.4.4

  LS Seq Number: 80000001

  Checksum: 0x3FEA

  Length: 36

  Network Mask: /24

        Metric Type: 2 (Larger than any link state path)

        TOS: 0

        Metric: 20

        Forward Address: 0.0.0.0

        External Route Tag: 0

 

r5#

说明:在R2上配置Route-Map过滤掉100.1.1.0/24后,R5并没有再从R2收到关于100.1.1.0/24LSA

 

 

5.通过配置进程过滤路由控制路径走向

说明:在R4OSPF路由重分布进RIP时,可以在进程中过滤掉100.1.1.0/24返回RIP

 

(1)恢复网络至初始路径状态:

r2(config)#router ospf 1     

r2(config-router)#no redistribute rip subnets route-map NET100                      

r2(config-router)#redistribute rip subnets

 

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

O E2    100.1.1.0 [110/20] via 45.1.1.5, 00:00:18, Serial1/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:00:37, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:00:37, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:00:37, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

 

 

 

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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:07, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:03, FastEthernet0/0

r3#

 

说明:R3R4都选择从OSPF去往目标100.1.1.0/24,此路径为次优路径。

 

 

(2)在R4OSPF路由重分布进RIP时,在进程中过滤掉100.1.1.0/24返回RIP

r4(config)#access-list 4 deny 100.1.1.0

r4(config)#access-list 4 permit any

 

r4(config)#router rip

r4(config-router)#distribute-list 4 out ospf 1

说明:在R4OSPF路由重分布进RIP时,在进程中过滤掉100.1.1.0/24返回RIP

 

(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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/5] via 13.1.1.1, 00:00:07, FastEthernet0/1

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:07, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:07, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:07, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:07, FastEthernet0/0

r3#

说明:因为R3已经不能从R4收到关于100.1.1.0/24的路由,所以R3直接选择从R1去往目标100.1.1.0/24

(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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

O E2    100.1.1.0 [110/20] via 45.1.1.5, 00:00:27, Serial1/0

     25.0.0.0/24 is subnetted, 1 subnets

O       25.1.1.0 [110/65] via 45.1.1.5, 00:00:27, Serial1/0

     12.0.0.0/24 is subnetted, 1 subnets

O E2    12.1.1.0 [110/20] via 45.1.1.5, 00:00:27, Serial1/0

     13.0.0.0/24 is subnetted, 1 subnets

O E2    13.1.1.0 [110/20] via 45.1.1.5, 00:00:27, Serial1/0

     45.0.0.0/24 is subnetted, 1 subnets

C       45.1.1.0 is directly connected, Serial1/0

r4#

说明:因为过滤是对其它路由器生效,所以R4的路径保持不变。

 

 

6.配置Tag过滤技术控制路径走向

说明:Tag过滤技术就是将各自协议的路由都打上Tag,在将该路由在重分布回原路由协议时,通过匹配Tag来拒绝掉路由返回,下面我们将OSPF自己的路由打上Tag 110,将RIP自己的路由打上Tag 120,并且在重分布时,通过匹配Tag拒绝原本属于自己的路由再返回。

 

(1)恢复网络至初始路径状态:

 

r4(config)#router rip

r4(config-router)#no distribute-list 4 out ospf 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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/1] via 34.1.1.4, 00:00:00, FastEthernet0/0

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:00, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 34.1.1.4, 00:00:00, FastEthernet0/0

                 [120/1] via 13.1.1.1, 00:00:25, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:00, FastEthernet0/0

r3#

说明:R3选择从OSPF去往目标100.1.1.0/24,此路径为次优路径。

 

(2)在R2上配置Tag 过滤技术:

 

r2(config)#route-map R2O deny 10

r2(config-route-map)#match tag 110

r2(config-route-map)#exit

r2(config)#route-map R2O permit 20

r2(config-route-map)#set tag 120

r2(config-route-map)#exit

r2(config)#route-map O2R deny 10

r2(config-route-map)#match tag 120

r2(config-route-map)#exit

r2(config)#route-map O2R permit 20

r2(config-route-map)#set tag 110

r2(config-route-map)#exit

 

r2(config)#router rip

r2(config-router)#redistribute ospf 1 metric 1 route-map O2R

 

r2(config)#router ospf 1

r2(config-router)#redistribute rip subnets route-map R2O

 

说明:在双向重分布时,将OSPF自己的路由打上Tag 110,将RIP自己的路由打上Tag 120,并且通过匹配Tag拒绝原本属于自己的路由再返回,也就是OSPF重分布进RIP时,拒绝Tag120的路由返回,RIP重分布进OSPF时,拒绝Tag110的路由返回,因为它们原本就是自己的路由。

 

 

(3)在R4上配置Tag 过滤技术:

 

r4(config)#route-map R2O deny 10

r4(config-route-map)#match tag 110

r4(config-route-map)#exit

r4(config)#route-map R2O permit 20

r4(config-route-map)#set tag 120

r4(config-route-map)#exit

r4(config)#route-map O2R deny 10

r4(config-route-map)#match tag 120

r4(config-route-map)#exit

r4(config)#route-map O2R permit 20

r4(config-route-map)#set tag 110

r4(config-route-map)#exit

r4(config)#router rip

r4(config-router)#redistribute ospf 1 metric 1 route-map O2R

r4(config-router)#exi

 

r4(config)#router ospf 1

r4(config-router)#redistribute rip subnets route-map R2O

说明:配置同R2,在双向重分布时,将OSPF自己的路由打上Tag 110,将RIP自己的路由打上Tag 120,并且通过匹配Tag拒绝原本属于自己的路由再返回,也就是OSPF重分布进RIP时,拒绝Tag120的路由返回,RIP重分布进OSPF时,拒绝Tag110的路由返回,因为它们原本就是自己的路由。

 

 

(4)查看配置Tag过滤后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

 

     34.0.0.0/24 is subnetted, 1 subnets

C       34.1.1.0 is directly connected, FastEthernet0/0

     100.0.0.0/24 is subnetted, 1 subnets

R       100.1.1.0 [120/5] via 13.1.1.1, 00:00:20, FastEthernet0/1

     25.0.0.0/24 is subnetted, 1 subnets

R       25.1.1.0 [120/1] via 34.1.1.4, 00:00:21, FastEthernet0/0

     12.0.0.0/24 is subnetted, 1 subnets

R       12.1.1.0 [120/1] via 13.1.1.1, 00:00:20, FastEthernet0/1

     13.0.0.0/24 is subnetted, 1 subnets

C       13.1.1.0 is directly connected, FastEthernet0/1

     45.0.0.0/24 is subnetted, 1 subnets

R       45.1.1.0 [120/1] via 34.1.1.4, 00:00:21, FastEthernet0/0

r3#

说明:配置Tag过滤掉,R3不再从OSPF学习到源于自身的路由,所以R3选择从R1直接去往目标100.1.1.0/24

 

(5)在R1上查看配置Tag过滤后,源于OSPF路由的Tag情况:

r3#sh ip route 25.1.1.0

Routing entry for 25.1.1.0/24

  Known via "rip", distance 120, metric 1

  Tag 110

  Redistributing via rip

  Last update from 34.1.1.4 on FastEthernet0/0, 00:00:01 ago

  Routing Descriptor Blocks:

  * 34.1.1.4, from 34.1.1.4, 00:00:01 ago, via FastEthernet0/0

      Route metric is 1, traffic share count is 1

      Route tag 110

 

r3#

说明:源于OSPF的路由25.1.1.0/24Tag110,与配置预期相同。

 

 

(6)在R1上查看配置Tag过滤后,源于RIP路由的Tag情况:

r5#sh ip route 100.1.1.0

Routing entry for 100.1.1.0/24

  Known via "ospf 1", distance 110, metric 20

  Tag 120, type extern 2, forward metric 1

  Last update from 25.1.1.2 on FastEthernet0/1, 00:01:53 ago

  Routing Descriptor Blocks:

  * 25.1.1.2, from 2.2.2.2, 00:01:53 ago, via FastEthernet0/1

      Route metric is 20, traffic share count is 1

      Route tag 120

 

r5#

说明:源于RIP的路由100.1.1.0/24Tag120,与配置预期相同。

  

 

                                                                   返回目录


 

注:本人能力有限,如遇不足之处,还请指正!

China-CCIE  QQ交流群:106155045   点击与作者QQ交谈