5.3.2 因特网的路由协议(二)基于距离向量算法的RIP协议
一、RIP协议概念
RIP是Routing Information Protocol缩写,又称为路由信息协议,是最先得到应用的内部网关协议,RIP作为一个常在小型互联网中使用的路由信息协议,它是依据跳数来作为度量值进行路由选择,这里的跳数可以直观的理解为内含RIP协议的报文从源地址向目的地址发送过程中所经过的路由器的数量,如图一个自治系统中有8个路由器,对于路由器R1来说它可以直接到达主机H1所在的网络,那么就定义距离为1,如果
选择上面的路到达主机H2的话则需要再经过R2、R3、R4、R74个路由器,距离就是经过的路由器数量加1,也就是距离为5。
如果选择下面的路到达主机H2,需要经过路由器R6,R5、R8,也就是距离为4。
在图中我们也可以看出对于路由器R1来说到达H2有多条路可以选择,那么它就究竟选择那一条路呢?对于RIP协议来说**选择数据发送的最佳路径,依靠的是寻找最少的跳数,也就是选择经过路由器最少得路径。**在这张图中我们可以看出对于路由器R1来说到达主机H2,经过路由器数量最少的应该是中间的那条路,只经过了两个路由器的转发。
二、RIP协议特点
RIP协议有两个重要特点
- 如果一个自治系统运用了RIP协议,那么这个自治系统中的每个路由器都要维护并且更新从它自己到其他每一个目的网络距离的记录。
- 当发现数据到达某一个网络的距离大于16的情况下,路由器就会自动的认为该分组是不可以被传送的,也就是说该分组会被丢弃,或者说这个网络是不可达的。
三、RIP路由信息表的交换
我们通过示例来理解每台路由器是如何更新自己距离记录表即路由器彼此之间如何进行路由信息的交换。
如图
这是一个简单的由三个路由器A、B、C连接的四个网络所组成的一个自治系统,四个网络的网络地址分别是10.1.1.0,10.1.2.0,10.1.3.0,10.1.4.0,为了使理解方便,每个路由器的左右两个接口的IP地址我们只用了它的后8位的十进制,比如说路由器A的两个接口的IP地址分别是10.1.1.1和10.1.2.1,对于每个路由器的初始状态从图中我们可以看出他们各自的路由表中只包含了与自身直接相连的网络地址,并且规定到达这些直连网络的距离为1,由于是直接交付所以在路由表中是没有下一跳路由器的地址。经过一段时间后(这里假定为30秒)A、B、C路由器相互之间进行第一次路由表更新,这里要强调的是每过30秒每个路由器只和自己的邻居路由器去交换路由信息,并且是把自己知道的全部信息都拿出去和邻居交换,也就是说当前路由器是倾其所有,毫无保留的和邻居路由器来进行交换,当然因为是彼此交换每个路由器都是这么做的。
在这个示例中A和B彼此交换路由表,B和C之间交换路由表,此时A用自己初始的表与B发来的RIP报文,也就是B的路由表相比较,发现原来自己不能到达网络10.1.3.0,但是通过邻居路由器B可以到达,于是将该网络地址加入到自己的路由表中,并且把距离记为2,下一跳路由器IP地址就是路由器B左边与A相连接口的IP地址,也就是10.1.2.2,把以上信息都记录在A路由器的路由表中。同时B对A所发来的路由表进行比较发现没有到达10.1.1.0的路由信息,于是把这条路由信息加入到路由表中,B与C的路由表交换过程也是如此。图中增加的路由用红色表示。
接下来再经过30秒相邻路由器之间有相互发送了一次RIP报文,也就是又经过了一次路由表的交换,此时A路由器从B发送的报文中发现自己路由表中没有到达10.1.4.0的路由信息,于是加入这个网络并且把B路由器存储的到达该网络地址的距离值加一后并记录到自己的路由表,B路由器发现A路由器的路由表中所含的目的网络自己的路由表都已经包含,所以说就不必再更新了。B和C之间亦是如此。
以上我们就完成了模拟整个自治系统中路由表的交换的过程,从图中我们也可以看出每个路由器的路由表中都包含了整个自治系统中所有的网络地址,以及距离值,也就是说每个路由器都知道了如何通过最少的跳数去到达本自治系统中任何一个网络。
四、RIP的工作过程
因为组成互联网的网络都在不断的变化,RIP又是一种自适应型的路由协议,那它是如何来适应这种变化的呢?对于RIP协议它的工作过程如下。如图
- 路由器启动RIP以后,会向周围的路由器发送请求报文,然后等待周围路由器的相应。
- 一旦收到相应就根据距离向量算法开始完成本地路由表的更新与修改工作。
- 同时向邻居路由器发送一个触发修改的报文。
- 邻居路由器收到了触发修改报文以后又向其各自相邻的路由器发送触发修改报文
经过上面一连串的触发修改广播之后,各个路由器都能够得到并且保持最新的路由信息,当然我们还要考虑到刚才发出请求的路由器,如果其迟迟没有收到响应的情况下,老化机制就会对超时的路由器进行老化处理,也就是说视超时路由器提供的路由表信息为无效。
五、RIP协议的局限性
从上面我们可以看出RIP协议有其局限性
- RIP协议允许一个自治系统中只能包含15个路由器,这在大型的互联网络中是不切实际的
- 该协议是以跳数(分组经过的路由器个数)作为衡量标准,并以此标准来选择路由,这一措施欠合理性,因为他没有考虑到网络延时、可靠性、线路负荷等因素。对传输质量和速度的影响。
因此我们就希望能够出现另外一种能够克服以上缺点并且能够完成最佳路径选择的协议,也就是我们马上学习的OSPF协议。