动态路由及协议、RIP协议原理、路由环路及解决方法

您所在的位置:网站首页 rip根据什么选择最佳路由 动态路由及协议、RIP协议原理、路由环路及解决方法

动态路由及协议、RIP协议原理、路由环路及解决方法

2024-04-25 14:45| 来源: 网络整理| 查看: 265

一、动态路由概念

动态路由不需要管理员手工写路由,路由器之间能够自己相互学习。

如下图所示,每个路由器会将自己的路由表向网络中的其他路由器传递,拿R3举例,它的路由表信息是30.0.0.0和40.0.0.0,它会向R2和R1传递自己的路由表信息,同时收到R1和R2传过来的路由信息,然后它对比自己的路由表发现自己的路由表中没有10.0.0.0和20.0.0.0,然后它会将这两条信息加到自己的路由表中,从而R3的路由表中有了这个网络中的所有网段。R1和R2也同样如此。

 

 

如下图所示,如果R3此时新连接了一个50.0.0.0网段的路由,那么它会立即向R1和R2更新此信息,告诉他们此时我的路由表中包含3个网段了,R1和R2收到该信息之后,会对比自己现在的路由表,发现别的网段已经在路由表中了,就没有50网段,所以会把50网段更新在自己的路由表中。

 

 

 所以我们说动态路由会自动的对网络拓扑的改变做出及时的反应。

总结如下:

动态路由:网络中的路由器彼此之间互相通信,传递各自的路由信息,利用收到的路由信息来更新和维护自己路由表的过程。

动态路由是基于某种动态路由协议(共六种,RIP、OSPF、IGRP、EIGRP、IS-IS、BGPv4)实现的,这六种是指单播网络环境中的动态路由协议。在组播网络环境中,也有六大动态路由协议,分别是PIM、IGMP、CGMP、MOSPF、DVMRP、CBT。

动态路由特点:自动化程度高,减少管理任务,错误率较低,但是占用网络资源。

 

 二、动态路由协议

动态路由协议概念:

1、自动向其他路由器传递路由信息

2、自动接收其他路由器的路由信息

3、根据收到的路由信息计算出到每个目的网络的最优路径,并由此生成路由表

4、根据网络拓扑变化及时调整路由表,同时向其他路由器宣告拓扑改变的信息

 

动态路由协议的分类:

1、按照使用范围进行分类:

内部网关路由协议(内网中使用):RIP、OSPF、IGRP、EIGRP、IS-IS

外部网关路由协议(外网中使用):BGPv4

2、按照算法进行分类

a.距离矢量路由协议:

距离指有多远(跳数),矢量指从哪个方向(下一跳)。所谓的距离矢量协议就是一个有距离有方向的协议。

如下图所示,R1和R2直连,R2通过一个网络和R能够通信,这个时候R2和R1说,我能够到达路由器R,距离是5,距离5指的是5跳,也就意味着R2和R之间隔着4个路由器。

 

此时R1就知道了,它要是想到达R,只需要把消息给R2就行了,并且它到R的距离就是6。但是R1其实真正意义上并不知道R2到底能不能到R。所以距离矢量路由协议也被称为听信传闻路由协议。

 

 b.链路状态路由协议:

不在听信别人的传闻,而是自己去学习一整张网络拓扑结构环境。

如下图所示,有R1、R2、R3、R4四个路由器,我们可以看到R1、R4有三个直连路由,R2、R3分别有两个。

 

 然后每个路由器都主动的把自己知道的路由信息告诉相邻路由器,经过几个更新周期之后,最终每台路由器都能够学到一整张完整的网络拓扑结构。

 

 

 

然后在以自己为根节点,计算到达每一个网络节点的最佳路径,以R2为例,它到R3有两条路径可以走,如下图所示,它会计算出走左边的路径,右边这条不好的路就变成了备份路径。

 

 总结:链路状态路由协议是自己主动去学习一整张完整的网络拓扑结构,拥有完整的路由表项,然后在以自己为根节点,计算出到达其他节点的最佳路径,由此生成最后的路由表项。

c.混合型路由协议:

同时具有距离矢量路由协议和链路状态路由协议的特点。

 

 

三、RIP(routing information protocol)动态路由协议:

RIP是TCP/IP参考模型下被开发出来的第一款动态路由协议,RIP属于标准的距离矢量动态路由协议。

 

1、RIP工作原理

如下图所示,分别有RTA、RTB、RTC三个路由器,每个路由器首先学习到自己的直连网段,形成包含自身接口的路由表。

 

 

 然后我们在路由器上配置RTP协议,配置完成后路由器每隔30s就会向他左右的直连邻居通告自己的整张路由表。比如RTA会将自己的路由表发给RTB,RTB会将自己表中没有的10.0.0.0网段添加进去,并标记下一跳,因为RTB是通过20.0.0.1这个端口收到的,所以下一跳就是20.0.0.1,并标记跳数为1,同时在前边标记R(指通过RIP学到的地址)

 

 

在经过第一个30s的更新周期之后,这3个路由器的路由表如下图所示

 

 

然后路由器的第二个更新周期到来,路由器将会再次向邻居发送整张路由表。RTA发送路由表给RTB,但是RTB已经什么都不需要学了,因为RTB的路由表中包含RTA的所有网段。RTB将自己的路由表发送给RTA,RTA会将40.0.0.0这个网段加到自己的路由表中,并加下一跳地址标志为20.0.0.2(因为是通过这个端口收到的),并加距离标记为2。RTC也会同样更新自己的路由表。最后的路由表如下图所示

 

 

最后用一个图总结RIP的工作原理如下:

 

 

RIP工作原理总结:

1、RIP路由协议每隔30s向邻居发送整个路由表信息

2、RIP路由协议以跳数作为度量值,根据跳数的多少来选择最佳路由

3、最大跳数为15跳,16跳被标记为不可达

4、经过一系列路由更新,网络中的每个路由器都具有一张完整的路由表的过程,称为收敛

 

2、 RIP的度量值

RIP以跳数作为唯一的度量值。如下图所示,R1所连接的客户端想访问192.168.1.0这个客户端,虽然R1和R3之间只有19K的带宽,但是它依然会选择这条链路去访问,因为这个链路只需要1跳。

 

 3、RIP的三种计时器:

1、周期更新计时器(update time)

即路由器每隔30s从每个启动RIP协议的接口发送路由更新信息。

2、路由老化计时器(age time)

若一条路由在180s内没有收到更新,这条路由的跳数将记为16(即不可达状态)。

3、垃圾收集计时器(garbage collection time)

若该路由在被标记为16跳后,120s内还没有收到更新,则将这条路由从路由表中删除。

 

4、路由环路问题

如下图所示,RTA、RTB、RTC三个路由器的路由表如下,如果此时RTC的40.0.0.0断了,那么肯定是RTC先知道这个事,并把跳数标记为16跳

 

 

然后正常情况下RTC在将自己的路由表同步给RTB、RTA,让AB都知道40.0这个网段断开了。但是如果此时是RTB先给RTC发了更新信息呢?那么RTB就会将自己表中的40.0.0.0 1跳的信息给RTC,那么RTC看到B通过1跳就能到达40.0,优于自己的16跳,所以RTC会将此信息更新到路由表中,如下图所示

 

 

 

然后过了一会儿,C又给B发它的路由表更新,B看到此时C到40.0都需要2跳了,那么B经过C到达40.0就需要三跳了,如下图所示

 

 

按照这个思想,直到B和C的路由表中的条数都到16,他们才知道40.0这个网段断掉了,16跳需要480s8分钟的时间,所以经过整整8分钟他们才知道了这个事情,这8分钟啥都没干,就在这转圈圈,这就是路由环路

 

 

 4、解决路由环路方法

 a、水平分割规则

水平分割规则:从一个接口上学到的路由信息,便不再从这个接口发送出去

即在上个例子中,即使是RTB先给RTC发送路由表更新信息,但是因为水平分割规则,它的路由表更新信息中不会包含40.0.0.0这个网段,因为它本身就是从这个接口学到的这个网段,从而避免了路由环路的产生。

b、触发更新

即在有接口断开,网段被标记为16跳后,立即向相邻路由器发送路由表更新信息,不用等到30s在发送。即在上个例子中,C在知道自己40.0网段断开后立即向B更新,从而避免B比C先发送路由表更新信息。

 

5、有类路由和无类路由

根据路由协议,在进行路由信息传递时,是否包含子网掩码,可以把所有的路由协议分为两种。

有类路由协议:他们在传递路由信息时,不携带子网掩码

无类路由协议:他们在传递路由信息时,携带子网掩码

RIPv1是有类路由,RIPv2是无类路由。

如下图所示,RTA左边是10.1.1.0/24,RTC右边是10.1.2.0/24,当RTA和RTC给RTB发送自己的路由表时,如果此时是有类路由,那么它们只会发送10.1.1.0和10.1.2.0这样的路由信息,不会包含子网掩码,此时对于B来说,它并不知道这两个网段的子网掩码是什么。

 

 

 

此时B看到这两个地址都是10段的,属于A类地址,A类地址默认的子网掩码是8位的,所以它会默认给这两个网段一个8位的掩码

 

 

此时RTB就会出现混乱。

如果使用无类路由协议,那么传递的路由信息时会包含子网掩码信息,就不会出现上述情况。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3