第5章·RIP路由协议

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第5章·RIP路由协议相关的知识,希望对你有一定的参考价值。

· 本章目的

· 路由协议的分类

· 距离矢量路由协议:RIP、BGP

· 链路状态路由协议:OSPF、IS-IS

· 距离矢量路由协议的含义:

· 距离和方向矢量通告路由。距离使用诸如跳数这样的度量确定,而方向则是下一跳路由器或送出接口,距离矢量最典型的协议就是RIP协议。

· 使用距离矢量路由协议的路由器并不了解目的网络的整条路径,也就是使用距离矢量路由的路由器不了解网络拓扑结构,该路由器只知道:

· ⑴ 应该往哪个方向或使用哪个接口转发数据包。

· ⑵ 自身与目的网络之间的距离。

· 如图:

技术分享

· 

· R1到达4.0网段为1跳。 (隔了几个路由器就是几跳),最高为15跳,超过15跳为通告为不可到达。

· RIP路由协议的特征

· ⑴ RIP使用跳数作为路径选择的唯一度量。

· ⑵ 将跳数超过15的路由通告为不可达。

· ⑶ 每30s广播一次消息,发送一个路由更新。

· (4)基于UDP传输,端口号520

· RIP版本特性

· RIPV2 是无类路由协议,RIPV1不能支持VLSM(变场子网) RIPV2 支持VLSM

· RIP环路产生原理:

· 路由器A会将针对目标网络C的路由表项的metric值置为16,即标记为目标网络不可达,并准备在每30秒进行一次的路由表更新中发送出去,如果在这条信息还未发出的时候,A路由器收到了来自B的路由更新报文,而路由器B中包含着关于网络C的metric为2的路由信息,根据前面提到的路由更新方法,路由器A会错误的认为有一条通过路由器B的路径可以到达目标网络C,从而更新其路由表,将对于目标网络C的路由表项的metric值由16改为3,而对于的端口变为与路由器B相连接的端口。很明显,路由器A会将该条信息发给路由器B,路由器B将无条件更新其路由表,将metric改为4;该条信息又从路由器 B发向路由器A,路由器A将metric改为 5......最后双发的路由表关于目标网络C的metric值都变为16,此时,才真正得到了正确的路由信息。这种现象称为"计数到无穷大"现象,虽然最终完成了收敛,但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组。

· 路由环路避免方法

· 触发更新

· 若网络中没有变化,则按通常的30秒间隔发送更新信息。但若有变化,路由器就立即发送其新的路由表。这个过程叫做触发更新。触发更新可提高稳定性。每一个路由器在收到有变化的更新信息时就立即发出新的信息,这比平均的15秒要少得多。虽然触发更新可大大地改进路由选择,但它不能解决所有的路由选择问题。例如,用这种方法不能处理路由器出故障的问题。

· 路由毒化

· 所谓路由毒化就是路由器如果发现某个网络段开时,并不是把该路由删除,而是把它标记为16跳或者不可达,并立即通告别的路由器。(无法完全避免环路)

· 水平分割

· 在发送路由选择报文时使用了选择性;路由器必须区分不同的接口。如果路由器从一个接口已经收到了路由更新信息,那么这个同样的更新信息一定不能再通过这个接口回送过去。

· 毒性逆转

· 是水平分割的一种变型。使用这种方法时,路由器收到的信息用来更新路由表,然后通过所有的接口发送出去。但是,已经从一个接口来的一个路由表项目在通过同样的接口发送出去时,就要将其度量置为16。缺省情况下,H3C路由器水平分割是使能状态,毒性逆转是关闭

· 抑制时间

· 一条路由信息无效之后,一段时间内这条路由都处于抑制状态,即在一定时间内不再接收关于同一目的地址的路由更新。如果,路由器从一个网段上得知一条路径失效,然后,立即在另一个网段上得知这个路由有效。这个有效的信息往往是不正确的,抑制计时避免了这个问题,而且,当一条链路频繁起停时,抑制计时减少了路由的浮动,增加了网络的稳定性。

· RIP的基本配置

· [RTA] rip //不打默认为1

· [RTA-rip-1] network 10.0.0.0

· [RTA-rip-1] network 192.168.0.0 //宣告直连网段

· [RTA-rip-1] version 2 //设为RIP v2版本

· [RTA-rip-1] undo summary //关闭自动汇聚,用来支持可变长子网(VLSM)

· [RTA-Serial0/0] rip authentication-mode md5 rfc2453 abcdef //可不配置,RIPv2报文的认证

· RIPV2认证

· 

技术分享

· 

· 明文认证

· 第一步:在R1上配置密码→术语:订阅密码库

· r1#config

· r1(config)#key chain R1

· r1(config-keychain)#key 1

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

· r1(config-keychain-key)#exit

· r1(config-keychain)#key 2

· r1(config-keychain-key)#key-string norvel       

· r1(config-keychain-key)#exit

· r1(config-keychain)#key 3

· r1(config-keychain-key)#key-string ccie         

· r1(config-keychain-key)#exit

· r1(config-keychain)#exit

· r1(config)#int s1/2

· r1(config-if)#ip rip auth mode text        //  设置为明文认证

· r1(config-if)#ip rip auth key-chain        //在接口下应用密码库

· r1(config-if)#

· 第二步:在R2上配置密码

· r2#config

· r2(config)#key chain R2

· r2(config-keychain)#key 1        

· r2(config-keychain-key)#key-string ccie         

· r2(config-keychain-key)#exit

· r2(config-keychain)#exit

· r2(config)#int s2/1

· r2(config-if)#ip rip auth mode text         

· r2(config-if)#ip rip auth key-chain R2         

· r2(config-if)#end

· r2#

· 第三步:在R1上进行验证

· r1#ping 172.16.2.2

· Type escape sequence to abort.Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:!!!!!         Success rate is 100 percent (5/5), round-trip min/avg/max = 96/112/152 msr1#

· 明文认证结论:

· RIP是距离矢量路由协议,不需要建立邻居关系,其认证是单向的,即R1认证了R2时(R2是被认证方),R1就接收R2发送来的路由;反之,如果R1没认证R2时(R2是被认证方),R1将不能接收R2发送来的路由;R1认证了R2(R2是被认证方)不代表R2认证了R1(R1是被认证方)。明文认证时,被认证方发送key chian时,发送最低ID值的key,并且不携带ID;认证方接收到key后,和自己key chain的全部key进行比较,只要有一个key匹配就通过对被认证方的认证。(按钥匙号顺序匹配)

· RIPv2明文认证例表

· R1的key chain

· R2的key chain

· R1可以接收路由?

· R2可以接收路由?

· ---------------------------分割线--------------

· key 1=cisco

· key 2=cisco

· 可以

· 可以

· --------------------------分割线--------------

· key 1=cisco

· key 1=abcd  key 2=cisco

· 不可以

· 可以

· ---------------------------分割线--------------

· key 1=cisco key 2=abcd

· key 1=abcd  key 2=cisco

· 可以

· 可以

· 密文认证

· 第一步:在R1上配置密码

· r1#conf t

· r1(config)#key chain A

· r1(config-keychain)#key 1

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

· r1(config-keychain-key)#exit

· r1(config-keychain)#key 2

· r1(config-keychain-key)#key-string norvel         

· r1(config-keychain-key)#exit

· r1(config-keychain)#key 3

· r1(config-keychain-key)#key-string ccna         

· r1(config-keychain-key)#exit

· r1(config-keychain)#exit

· r1(config)#int s1/2

· r1(config-if)#ip rip auth mod md5         

· r1(config-if)#ip rip auth key-chain A         

· r1(config-if)#endr1#

· 第二步:在R2上配置密码

· r2#conf t

· r2(config)#key chain B

· r2(config-keychain)#key 1

· r2(config-keychain-key)#key-string ccna         

· r2(config-keychain-key)#exit

· r2(config-keychain)#exit

· r2(config)#int s2/1

· r2(config-if)#ip rip auth mod md5         

· r2(config-if)#ip rip auth key-chain B         

· r2(config-if)#end

· r2#

· 第三步:在R1上进行验证

· r1#ping 172.16.2.2

· Type escape sequence to abort.

· Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:.....         

· Success rate is 0 percent (0/5)

· r1#

· 第四步:在R2上更改配置密码

· r2#conf t

· r2(config)#key chain B

· r2(config-keychain)#key 2

· r2(config-keychain-key)#key-string ccna         

· r2(config-keychain-key)#exit

· r2(config-keychain)#exit

· r2(config)#int s2/1

· r2(config-if)#ip rip auth mod md5         

· r2(config-if)#ip rip auth key-chain B         

· r2(config-if)#end

· r2#

· 第五步:在R1上进行验证

· r1#ping 172.16.2.2

· Type escape sequence to abort.

· Sending 5, 100-byte ICMP Echos to 172.16.2.2, timeout is 2 seconds:!!!!!         

· Success rate is 100 percent (5/5), round-trip min/avg/max = 24/108/256 ms

· r1#

· 密文认证结论:

· 同样RIP的密文认证也是单向的,然而此时被认证方发送key时,发送最低ID值的key,并且携带了ID;认证方接收到key后,首先在自己key chain中查找是否具有相同ID的key,如果有相同ID的key并且key相同就通过认证,key值不同就不通过认证。如果没有相同ID的key,就查找该ID往后的最近ID的key;如果没有往后的ID,认证失败。

· RIPv2密文认证例表

· R1的key chain

· R2的key chain

· R1可以接收路由?

· R2可以接收路由?

· key 1=cisco

· key 2=cisco

· 不可以

· 可以

· key 1=cisco

· key 1=abcd   key 2=cisco

· 不可以

· 不可以

· key 1=cisco key 5=cisco

· key 2=cisco

· 可以

· 可以

· key 1=cisco key 3=abcd key 5=cisco

· key 2=cisco

· 不可以

· 可以

· 总结:

· 明文认证:

· 认证方发送自己的最小key id 的key值,但不携带key id,被认证放接收到key 值后从自己的最小key id比较开始一直到自己的最大key id,只要有,就通过认证.否则,认证失败.

· (认证方最小key id的key 值只要在被认证方有,被认证方就能通过认证)

· 密文认证:

· 认证放既发送key 值,又发送key id.被认证方从接收到的相同key 开始比较一直到下一个key id.如果有,就认证通过,负责,认证失败.

· 最重要的一点是在接口下调用的Key-chain 的名字要和自己在全局下定义的Key-chain名字要相同,在配置Key-chain名字 和key-string密钥后不要用TAB键,这样会在后面多个空格使得其不匹配而认证失败。不同路由器之间的Key-chain名字可以不同

· 总结:

· RIP路由协议由于自身路由算法设计上的缺陷,虽然引入了避免环路机制,但也无法彻底解决环路,同时在大型网络中RIP也并不适用,一方面由于采用跳数作为度量,另一方面RIP发送更新是发送整张路由表,导致路由器资源被协议占用,这也是RIP与OSPF等发送LSA链路状态更新的协议在路由学习上的重大区别,理解这个,你就能理解为什么路由策略,RIP中可以应用在In端和Out端,而OSPF只能应用在入接口。


本文出自 “13289172” 博客,谢绝转载!

以上是关于第5章·RIP路由协议的主要内容,如果未能解决你的问题,请参考以下文章

配置RIP路由协议实现不同路由之间的互通

RIP

请问rip路由协议配置的具体步骤是啥?谢谢

rip路由协议基本配置

rip路由协议基本配置

rip路由协议基本配置