简述RIP的工作原理?

简述RIP的工作原理?,第1张

一、概述
RIP协议的全称是路由信息协议(Routing Information Protocol),它是一种内部网关协议(IGP),用于一个自治系统(AS)内的路由信息的传递。RIP协议是基于距离矢量算法(Distance Vector Algorithms)的,它使用“跳数”,即metric来衡量到达目标地址的路由距离。
二、该协议的局限性
1、协议中规定,一条有效的路由信息的度量(metric)不能超过15,这就使得该协议不能应用于很大型的网络,应该说正是由于设计者考虑到该协议只适合于小型网络所以才进行了这一限制。对于metric为16的目标网络来说,即认为其不可到达。
2、该路由协议应用到实际中时,很容易出现“计数到无穷大”的现象,这使得路由收敛很慢,在网络拓扑结构变化以后需要很长时间路由信息才能稳定下来。
3、该协议以跳数,即报文经过的路由器个数为衡量标准,并以此来选择路由,这一措施欠合理性,因为没有考虑网络延时、可靠性、线路负荷等因素对传输质量和速度的影响。
三、RIP(版本1)报文的格式和特性
31、RIP(版本1)报文的格式
0 7 15 31
命令字(1字节) 版本(1字节) 必须为0(2字节)
地址类型标识符(2字节) 必须为0(2字节)
IP地址
必须为0
必须为0
Metric值(1—16)
(最多可以有24个另外的路由,与前20字节具有相同的格式)
“命令字”字段为1时表示RIP请求,为2时表示RIP应答。地址类型标志符在实际应用中总是为2,即地址类型为IP地址。“IP地址”字段表明目的网络地址,“Metric”字段表明了到达目的网络所需要的“跳数”。
32 RIP的特性
(1)路由信息更新特性:
路由器最初启动时只包含了其直连网络的路由信息,并且其直连网络的metric值为1,然后它向周围的其他路由器发出完整路由表的RIP请求(该请求报文的“IP地址”字段为0000)。路由器根据接收到的RIP应答来更新其路由表,具体方法是添加新的路由表项,并将其metric值加1。如果接收到与已有表项的目的地址相同的路由信息,则分下面三种情况分别对待:第一种情况,已有表项的来源端口与新表项的来源端口相同,那么无条件根据最新的路由信息更新其路由表;第二种情况,已有表项与新表项来源于不同的端口,那么比较它们的metric值,将metric值较小的一个最为自己的路由表项;第三种情况,新旧表项的metric值相等,普遍的处理方法是保留旧的表项。
路由器每30秒发送一次自己的路由表(以RIP应答的方式广播出去)。针对某一条路由信息,如果180秒以后都没有接收到新的关于它的路由信息,那么将其标记为失效,即metric值标记为16。在另外的120秒以后,如果仍然没有更新信息,该条失效信息被删除。
2)RIP版本1对RIP报文中“版本”字段的处理:
0:忽略该报文。
1:版本1报文,检查报文中“必须为0”的字段,若不符合规定,忽略该报文。
>1:不检查报文中“必须为0”的字段,仅处理RFC 1058中规定的有意义的字段。因此,运行RIP版本1的机器能够接收处理RIP版本2的报文,但会丢失其中的RIP版本2新规定的那些信息。
(3)RIP版本1对地址的处理
RIP版本1不能识别子网网络地址,因为在其传送的路由更新报文中不包含子网掩码,因此RIP路由信息要么是主机地址,用于点对点链路的路由;要么是A、B、C类网络地址,用于以太网等的路由;另外,还可以是0000,即缺省路由信息。
(4)计数到无穷大(Counting to Infinity)
前面在RIP的局限性一部分提到了可能出现的计数到无穷大的现象,下面就来分析一下该现象的产生原因与过程。考察下面的简单网络:
c(目的网络)----router A------router B
在正常情况下,对于目标网络,A路由器的metric值为1,B路由器的metric值为2。当目标网络与A路由器之间的链路发生故障而断掉以后:
c(目的网络)--||--router A------router B
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,此时,才真正得到了正确的路由信息。这种现象称为“计数到无穷大”现象,虽然最终完成了收敛,但是收敛速度很慢,而且浪费了网络资源来发送这些循环的分组。
另外,从这里我们也可以看出,metric值的最大值的选择实际上存在着矛盾,如果选得太小,那么适用的网络规模太小;如果选得过大,那么在出现计数到无穷大现象的时候收敛时间会变得很长。
33 为了提高RIP性能的两项措施
331 水平分割
在上面的“计数到无穷大”现象中,产生的原因是A、B之间互相传送了“欺骗信息”,那么针对这种情况,我们自然会想到如果能将这些“欺骗信息”去掉,那么不就可以在一定程度上避免“计数到无穷大”了吗。水平分割正是这样一种解决手段。
“普通的水平分割”是:如果一条路由信息是从X端口学习到的,那么从该端口发出的路由更新报文中将不再包含该条路由信息。
“带毒化逆转的水平分割”是:如果一条路由信息是从X端口学习到的,那么从该端口发出的路由更新报文中将继续包含该条路由信息,而且将这条信息的metric置为16。
“普通的水平分割”能避免欺骗信息的发送,而且减小了路由更新报文的大小,节约了网络带宽;“带毒化逆转的水平分割”能够更快的消除路由信息的环路,但是增加了路由更新的负担。这两种措施的选择可根据实际情况进行选择。
332 触发更新
上面的“水平分割”能够消除两台路由器间的欺骗信息的相互循环,但是当牵涉到三台或者以上的路由器时,效果就有限了。考察下面的网络:
+---+ +----+ +-----+ /-----\
| | | C +-------| D | -----|| E ||
| A +------| | | +---- | |
+-+-+ +----+ +---+-+ \-----/
| -- |
| -- |
| -- |
+----+ |
| | |
| B +-----------------------
| |
+----+
E是目标网络
针对目标网络,各路由器的路由信息分别如下:
A:3 C
B:2 D
C:2 D
D:1 直连
当D与目标网络之间发生故障中断以后,B和C都能正确的从D得到网络不可达的信息,但是,从上面的路由信息中可以看出,A虽然不会给C发送错误信息,但是A可能在未收到网络不可达信息之前就给B发送了路由信息,让B错误的认为可以通过A到达目标网络,继而又会出现“计数到无穷大”的现象。
触发更新就是为了针对上述情况进行的一种改善,它的具体实现措施是:路由器一旦察觉到网络变化,就尽快甚至是立即发送更新报文,而不等待更新周期结束。只要触发更新的速度足够快,就可以大大的防止“计数到无穷大”的发生,但是这一现象还是有可能发生的。
使用了触发更新以后,当网络拓扑发生变化的时候,网络中会出现类似于“多米诺骨牌”的更新报文潮流,并最后中止于从未发生变化的路径到达目标网络的路由器。
34 RIP中的4个定时器
RIP中一共使用了4个定时器:update timer, timeout timer, garbage timer, holddown timer。
Update timer用于每30秒发送路由更新报文。
Timeout timer用于路由信息失效前的180秒的计时,每次收到同一条路由信息的更新信息就将该计数器复位。
Garbage timer和holddown timer同时用于将失效的路由信息删除前的计时:在holddown timer的时间内,失效的路由信息不能被接收到的新信息所更新;在garbage timer计时器超时后,失效的路由信息被删除。
另外,在触发更新中,更新信息会需要1到5秒的随机延时以后才被发出,这里也需要一个计时器。
四、RIP版本2简介
RIP版本2的报文格式如下:
0 7 15 31
命令字(1字节) 版本(1字节) 路由域(2字节)
0xFFFF(2字节) 验证类型(2字节)
验证(16字节)
地址类型标识符(2字节) 路由标签(2字节)
IP地址
子网掩码
下一跳IP地址
Metric值(1—16)
(最多可以有24个另外的路由,与前20字节具有相同的格式)
版本2的RIP使用了版本1中“必须为0”的字段,增加了一些对于路由的有用信息,其主要新添的特性如下:
(1)报文中包含子网掩码,可以进行子网路由
(2)支持明文/MD5验证
(3)报文中包含了下一跳IP,为路由的选优提供了更多的信息。

路由器如果在相同的接口上收到某个路由条目的距离比原先收到的距离大,那么将启动一个抑制计时器。

在抑制计时器的时间内该目的不可到达。

抑制计时器主要是在rip协议中用来防止路由环路,该计时器的原理是引用一个怀疑量,不管是真的还是假的路由消息,路由器先认为是假消息来避免路由环路。

如果在抑制计时器超时后还接受到该消息,那么这时路由器就认为该消息时真的。RIP中认为假的消息总是真不了,不长久。

抑制定时器用于阻止周期性的更新一个已坏的路由。

在抑制定时器有效期内忽略比以前更差的路由更新,允许有更多的时间来把突发故障信息传遍整个网络。

如果从另一个路由器收到一条比以前记录具有更好度量的路径,路由器立即更新该网络的路由并关闭抑制定时器。

如果在抑制定时器期满前的任何时刻,从另一个路由器收到一条比以前更差的路由,则路由器将忽略这个更新。

通过手动汇总使得R4和R6动态获取到R5分配的IP地址

为R1、R2、R3启用RIPv2,关闭R4、R5、R6的路由功能,R4、R6模拟内网PC,R5模拟DHCP服务器,在R2的e0/2做手动汇总

如1721620/24和1721630/24
将不同的位转换成二进制为
17216000000100
17216000000110

可以发现前23位都是相同的,汇总就是找到路由条目的前缀最长匹配的那一位,前面的保持不变,后面的全部置为0
因此1721620/24和1721630/24汇总后得到的路由条目为1721620/23

这种汇总称为 精确汇总 ,不会产生路由黑洞

为路由器做手工汇总的原则:尽可能的靠近控制层面的原路由器,在控制层面路由流向的出接口进行配置,如本实验中R2是通过e0/2接口将路由条目传递给R1,因此手工汇总也应在e0/2接口进行配置

R1(中间路由)

R2(中间路由)

R3(中间路由)

R4(内网PC)

R5(DHCP服务器)

R6(内网PC)

R1

R2

R3

配置完后查看路由表
R1

R2

R3

可以看到都已经通过RIP获取到了路由条目

R5配置为DHCP服务器

R2配置DHCP中继

此时R4和R6都已经获取到了IP地址

R4

R6

但此时R1和R3对于R2后面的两个网段存在两条路由条目,下面进行汇总使其只有一条

R2

再看R1和R3的路由表

可以发现虽然汇总路由已经出现,但是明细路由依旧存在,这是由于RIP的计时器问题,RIP收敛较慢,需要手动进行更新路由表

R1

R2

R3

再次查看R1和R3路由表

此时已经只有汇总后的路由条目,实验完成

    Routing Information Protocol,路由信息协议。两个网段中的两台电脑能相互访问,那么需要在每台路由器上做静态路由来实现,但是做静态路由需要知道下一跳的地址。在小型的网络中,我们用rip协议来实现(RIP协议通常应用在小型网络,用于发现和生成路由信息),只需要知道本台路由器上接口的网段的地址就可以了。

1、按照图示的IP地址来配置PC1和PC2,Z注意网关为连接路由器接口IP。

IP:1926812                                           IP:1926832     

netmask:2552552550                           netmask:2552552550

gateway:19216811                                gateway:19216831

2、AR1配置

配置接口的ip地址:

<Huawei>sys 

[Huawei]int gi 0/0/0

[Huawei-GigabitEthernet0/0/0]ip address 19216811 24

[Huawei-GigabitEthernet0/0/0]int gi 0/0/1

[Huawei-GigabitEthernet0/0/1]ip address 19216811 24

[Huawei-GigabitEthernet0/0/1]q

配置rip协议:

[Huawei]rip 1

[Huawei-rip-1]version 2  #可以选择版本2 

[Huawei-rip-1]network 192168100

[Huawei-rip-1]network 19216810

[Huawei-rip-1]q

3、AR2配置

配置接口的ip地址:

<Huawei>sys 

[Huawei]int gi 0/0/0

[Huawei-GigabitEthernet0/0/0]ip address 192168102 24

[Huawei-GigabitEthernet0/0/0]int gi 0/0/1

[Huawei-GigabitEthernet0/0/1]ip address 192168121 24

[Huawei-GigabitEthernet0/0/1]q

配置rip协议:

[Huawei]rip 1

[Huawei-rip-1]version 2  #可以选择版本2 

[Huawei-rip-1]network 192168100

[Huawei-rip-1]network 192168120

[Huawei-rip-1]q

4、AR3配置

配置接口的ip地址:

<Huawei>sys 

[Huawei]int gi 0/0/0

[Huawei-GigabitEthernet0/0/0]ip address 192168122 24

[Huawei-GigabitEthernet0/0/0]int gi 0/0/1

[Huawei-GigabitEthernet0/0/1]ip address 19216831 24

[Huawei-GigabitEthernet0/0/1]q

配置rip协议:

[Huawei]rip 1

[Huawei-rip-1]version 2  #可以选择版本2 

[Huawei-rip-1]network 192168130

[Huawei-rip-1]network 19216830

[Huawei-rip-1]q

5、路由器命令查看配置的信息

查看路由表:display ip routing-table protocol rip

查看RIP配置:display rip 1 route

命令可以看到nexthop下一跳地址。

6、ping测试

    RIP,routing information protocol,要求网络中每台路由器都i要维护从自身到每个目的网络的路由信息。RIP协议使用跳数来衡量网络间的“距离”。从一台路由器到其直连网络的跳数为1,从一台路由器到其非直连网络的距离定义为每经过一个路由器距离加1。RIP允许路由的最大跳数为15,16则不可达。

    RIP有两个版本,RIPv1和RIPv2。RIPv2是对RIPv1的扩充,能够携带更多信息量,并增强安全性。但都是基于UDP协议,使用UDP520端口收发数据包。

接口配置:

[R1]int e0/0/0

[R1-Ethernet0/0/0]ip address 100121 24

[R1]int LoopBack 0

[R1-LoopBack0]ip address 10011 24
[R2]int e0/0/0

[R2-Ethernet0/0/0]ip address 100122 24

[R1]int LoopBack 0

[R1-LoopBack0]ip address 10011 24

[R1]rip

[R1-rip-1]network 10000

[R2]rip

[R2-rip-1]network 10000

    运行dis ip routing-table查看路由表,两台路由器已经通过RIP协议学习到对方环回接口所在网段的路由条目。

ping对方的环回地址,可以通信。

在用户视图下,使用debuging命令查看RIP协议定期更新情况。完成后使用undo debugging rip或者undo debugging all。

<R1>debugging rip 1

<R1>terminal debugging

<R1>terminal monitor

    配置v2。

[R1]rip

[R1-rip-1]version 2

[R2]rip

[R2-rip-1]version 2

在用户视图下,使用debuging命令查看RIP协议定期更新情况。发现RIPv1与RIPv2的不同:

1、RIPv2的路由信息中携带了子网掩码;

2、RIPv2的路由信息中携带了下一跳地址,标志一个比通告路由器的地址更好的下一跳地址。它指出的地址,其度量值(跳数)比在同一个子网上的通告路由器更靠近目的地。

3、RIPv2默认采用组播方式发送报文,地址为224009

rip简介
1,概述
rip是第一个路由协议标准,是距离矢量路由协议
2,路由表的形成
学习直连路由,互相发送路由表 学习路由更新,更新路由表
3,rip度量值
rip以跳数作为唯一的度量值,rip更新周期为30s
最大15跳,16为不可达
4,rip计时器
1,更新计时器
路由器启动后,每隔30s就从每个启动rip协议的接口不断发送路由更新消息 255255255255
2,无效计时器
如果一条路由在180s内没有收到更新这条路由跳数就将它标记为16
3,刷新计时器
如果一条路由被标记为16跳后,60S内还没收到更新消息,则删除这条路由(240s)
4,抑制计时器
如果一个目标的距离增加或变为不可达,启动抑制计时器(180s),直到抑制计时器超时,路由器才接收有关于这条路由的更新信息。
作用是防止路由抖动
5,水平分割
从一个接口学习的路由信息不再从这个接口发送出去(防止路由环路的产生)
6,rip1与rip2的区别
rip1发送路由更新时不携带子网掩码,有类路由,目的地址 2552 55255255(广播)
rip2发送路由更新时携带子网掩码 无类路由,目的地址 224009(组播)
三,配置RIP
1,启动RIP进程
Router(config)# router rip
宣告主网络号
Router(config-router)# network network-number
2,查看路由表
Router# show ip route
查看路由协议配置
Router# show ip protocols
3, 打开RIP协议调试命令
Rouetr# debug ip rip
关闭RIP协议调试命令
Rouetr#undebug all
4,启动RIP2进程
Router(config)# router rip
Router(config-router)# version 2
Router(config-router)# no auto-summary 关闭自动汇总
四,管理距离
是一种优先级度量,当2种路由方式到达同一网络时
路由器会选择管理距离较小的路由来到达目标网段
静态路由默认是1
rip为120


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10257184.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存