一、不连续子网:一个网络被其他的网络所分割就是不连续子网,如下:
172.16.1.0/24--R1-----------------R2------------------R3--172.16.2.0/24
192.168.1.0/24 192.168.2.0/24
172.16.1.0和172.16.2.0被192.168.0.0的网段分割,如没关闭自动汇总,那么R2会收到去172.16.0.0/16的2个等价路径,于是路由表中就会有2条路径,那么就会一部分包发往左边,一部分发往右边。
二、RIP特性1:自动汇总
当自动汇总开启的时候路由器会将下面两类路由汇总发送:
A、该路由器的本地路由
B、通过邻居获悉的RIP路由
我来验证一下,拓扑如下:
1、配置玩基本命令,接口IP,LOOPBACK口IP,rip ver2协议
2、3台路由器都关闭自动汇总,查看R1路由表
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
R 2.2.2.0 [120/1] via 12.1.1.2, 00:00:22, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
R 3.3.3.0 [120/1] via 13.1.1.3, 00:00:23, 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
C 13.1.1.0 is directly connected, FastEthernet0/1
可以发现,R2发送过来的是一条2.2.2.0/24的明细路由
3、在R2上开启自动汇总,再查看R1的路由表
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R 2.2.2.0/24 is possibly down,
routing via 12.1.1.2, FastEthernet0/0
R 2.0.0.0/8 [120/1] via 12.1.1.2, 00:00:19, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
R 3.3.3.0 [120/1] via 13.1.1.3, 00:00:23, 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
C 13.1.1.0 is directly connected, FastEthernet0/1
可以看到2.2.2.0/24已被汇总成2.0.0.0/8了,所以自动汇总的原理是:将loop0地址通过F0/1发送出去,先比较此地址和F0/1地址是否为相同主网络地址,若不同,如上面的loop是2.0.0.0的主网络段,而F0/1的是12.0.0.0的段,则丢弃明细路由,在汇总成主路由条目发送出去,若相同,则发送明细路由条目。
对于相同则发送明细,现在来做一下
4、修改R2loop地址为12.2.2.2/24,再查看R1路由表
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
3.0.0.0/24 is subnetted, 1 subnets
R 3.3.3.0 [120/1] via 13.1.1.3, 00:00:04, FastEthernet0/1
12.0.0.0/24 is subnetted, 2 subnets
R 12.2.2.0 [120/1] via 12.1.1.2, 00:00:05, FastEthernet0/0
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, FastEthernet0/1
可见,R2发送的是12.2.2.0/24的明细路由。好,再来看下通过邻居获得的RIP路由的汇总情况,R1R3的自动汇总是关闭的,所以在R2上,有3.3.3.0/24的明显路由,如果把R1的汇总打开,那么在R2上此IP是否汇总?
5、改回R2的loop口地址,R1打开自动汇总,然后查看R2路由表
1.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R 1.1.1.0/24 [120/1] via 12.1.1.1, 00:00:26, FastEthernet0/1
R 1.0.0.0/8 [120/1] via 12.1.1.1, 00:00:00, FastEthernet0/1
2.0.0.0/24 is subnetted, 1 subnets
C 2.2.2.0 is directly connected, Loopback0
3.0.0.0/8 is variably subnetted, 2 subnets, 2 masks
R 3.3.3.0/24 [120/2] via 12.1.1.1, 00:00:26, FastEthernet0/1
R 3.0.0.0/8 [120/2] via 12.1.1.1, 00:00:00, 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/8 is variably subnetted, 2 subnets, 2 masks
R 13.1.1.0/24 [120/1] via 12.1.1.1, 00:00:35, FastEthernet0/1
R 13.0.0.0/8 [120/1] via 12.1.1.1, 00:00:09, FastEthernet0/1
可见R1收到R3的3.3.3.0/24,然后与自己F0/0比较,发现不是一个主网络段,然后汇总成3.0.0.0/8,所以路由器自动汇总时会将所有自己认为要汇总的汇总,不管是本地路由还是邻居穿来的路由。同时也验证了在不连续子网的时候,自动汇总产生的问题。
三、rip特性2:手工汇总
精确汇总的方法:
例:172.16.8.0/24,172.16.9.0/24,172.16.10.0/24,172.16.11.0/24精确汇总成什么?
答:将需要的地址换成2进制:
172.16.00001000.0
172.16.00001001.0
172.16.00001010.0
172.16.00001011.0
可见,不一样的只有后面2位,一样的有前面6位,所以汇总成172.16.8.0/22。
rip中,只有ver2支持手动汇总,并且只支持在出接口配置汇总,不支持基于进程的汇总,所以要在发出路由条目的接口配置汇总。
命令:ip summary-address rip 汇总ip 汇总掩码
那么什么时候手工汇总会消失?
只有其下面的明细路由全部DOWN的时候才消失,只要有一个明细路由存在,那么手动路由都不会消失。
所以手工汇总有2个好处,减少路由条目的负担和增加网络的稳定性。
而当自动汇总和手工汇总都可以使用的时候,对于一个路由条目来说,会选择自动汇总,即自动汇总的优先级高于手动汇总。所以基于这种种的坑爹设定,建议关闭自动汇总。
那么路由器对于一个路由条目,是先汇总在发,还是先打算发再汇总?
我做个实验验证一下,R2R3关闭自动汇总,R1开启自动汇总,R1对于从R2收到的2.2.2.0/24会不会汇总成2.0.0.0/8再发回给R2?
1、关闭R2R3自动汇总,开启R1自动汇总
2、查看R1R2R3路由表
r1#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
1.0.0.0/24 is subnetted, 1 subnets
C 1.1.1.0 is directly connected, Loopback0
2.0.0.0/24 is subnetted, 1 subnets
R 2.2.2.0 [120/1] via 12.1.1.2, 00:00:07, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
R 3.3.3.0 [120/1] via 13.1.1.3, 00:00:05, 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
C 13.1.1.0 is directly connected, FastEthernet0/1
r2#show ip rou
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 1.0.0.0/8 [120/1] via 12.1.1.1, 00:00:05, FastEthernet0/1
2.0.0.0/24 is subnetted, 1 subnets
C 2.2.2.0 is directly connected, Loopback0
R 3.0.0.0/8 [120/2] via 12.1.1.1, 00:00:05, FastEthernet0/1
12.0.0.0/24 is subnetted, 1 subnets
C 12.1.1.0 is directly connected, FastEthernet0/1
R 13.0.0.0/8 [120/1] via 12.1.1.1, 00:00:05, FastEthernet0/1
r3#show ip route
Codes: C - connected, S - static, R - RIP, M - mobile, B - BGP
D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2
i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
ia - IS-IS inter area, * - candidate default, U - per-user static route
o - ODR, P - periodic downloaded static route
Gateway of last resort is not set
R 1.0.0.0/8 [120/1] via 13.1.1.1, 00:00:06, FastEthernet0/0
R 2.0.0.0/8 [120/2] via 13.1.1.1, 00:00:06, FastEthernet0/0
3.0.0.0/24 is subnetted, 1 subnets
C 3.3.3.0 is directly connected, Loopback0
R 12.0.0.0/8 [120/1] via 13.1.1.1, 00:00:06, FastEthernet0/0
13.0.0.0/24 is subnetted, 1 subnets
C 13.1.1.0 is directly connected, FastEthernet0/0
发现R1R2中是2.2.2.0/24的明细路由,R3是2.0.0.0的汇总路由。
所以路由器发送路由条目时,先判断是否受水平分割等的限制,对于所有不受限制的端口转发条目,在各端口,如果发现需要汇总,则丢弃明细路由,发送汇总路由,若不需要,则发送出去。
四、rip特性3:向rip内注入缺省路由
方式1、在AS的出口路由器上配置一条0.0.0.0/0的缺省静态路由指向外网,并且在该路由器上将这条缺省路由重分发进rip进程。
r1(config)#ip router 0.0.0.0 0.0.0.0 f0/0 x.x.x.x
r1(config)#router rip
r1(config-router)#redistribute static
该方式的局限性是园区网内网的标远路由器访问外网也只能通过缺省路由
方式2、在AS的出口路由器上配置一条0.0.0.0/0的只关联出战接口的缺省静态路由,并且在该路由器的rip进程中,使用network将该缺省路由引入rip域。
r1(config)#ip router 0.0.0.0 0.0.0.0 f0/0
r1(config)#router rip
r1(config-router)#network 0.0.0.0
network 0.0.0.0 包含的第一层概念就是将所有接口都宣告进rip进程,并且当该路由器本地拥有一条0.0.0.0/0并且只关联出站接口的静态路由时,该命令也会将缺省路由以rip更新的形式通告。
方式3、在AS的出口路由器上通过一条ip default-network 命令向域内注入缺省路由
r1(config)#ip default-network x.x.x.x
该方式的优势是:出口路由器访问外网既可以通过缺省路由又可以通过BGP使用明细路由
方式4、在AS的出口路由器上通过进程内的一条default-information originate 命令
r1(config)#router rip
r1(config-router)#default-information originate
五、rip特性4:被动接口
r1(config)#passgive interface xx
被动接口不会发送任何rip的组播和广播更新,但是可以发送单播更新,同时,被动接口可以结束任何形式的rip报文。
六、rip特性5:单播更新
r1(config-if)#neighbor x.x.x.x
特性4特性5联合起来使用可以实现rip的纯单播更新,一般该情况出现在MA网段。可以实现精确的路由过滤。
七、rip的特性6:使用广播发送rip V2的组播更新
r1(config-router)#ip rip v2-broadcast
八、rip特性7:兼容开关
九、rip特性8:rip认证
A、明文认证
B、密文认证
十、rip特性9:offset-List(偏移列表)
偏移列表是配合ACL来使用的,只有一个用途就是修改路由条目的度量值,即跳数。可以在出方向上增加发送条目的跳数,也可以在入方向上接受路由条目的跳数。
我来做一下,将R3的环回口跳数加4,在R3的出方向上加2,R1的进方向上加2:
1、在R3上做标准ACL,并在发方向上加2
r3(config)#access-list 10 permit 3.3.3.0 0.0.0.0
r3(config)#router rip
r3(config-router)#offset-list 10 out 2 f0/0
检测R1的路由表
R 3.3.3.0 [120/3] via 13.1.1.3, 00:00:28, FastEthernet0/1
发现R3的环回口的跳数为3.
2、在R1的进方向给所以的条目加2
r1(config)#router rip
r1(config-router)#off
r1(config-router)#offset-list 0 in 2 f0/1
检测
R 3.3.3.0 [120/5] via 13.1.1.3, 00:00:11, FastEthernet0/1
发现跳数为5了。
在rip中控制路由选径的命令非常少,基本上就这一个。
十一、rip特性10:纯触发更新
只能在串口使用,只能在WAN链路启用,为的是让WAN链路2端不在每30秒发送一次更新,只在拓扑改变的时候才发送更新,目的是为WAN链路提高优化。