RIP路由信息协议(Routing Information Protocol)
- 最先得到广泛应用的协议,最大优点是简单
- 要求网络中的每个路由器都要维护一张表,表中记录了从它自己到其他每一个目的网络的距离
- RIP是应用层协议,它在传输层使用UDP,RIP报文作为UDP数据报的数据部分
RIP“距离”的定义
路由器到直接连接的网络的距离=1。路由器到非直接连接的网络的距离=所经过的路由器数+1。 RIP协议中的“距离”也称为“跳数”(hop count),每经过一个路由器,跳数就加1。一条路径最多只能包含15个路由器。“距离”的最大值为16时即相当于不可达
RIP协议的三个特点
- 仅和相邻路由器交换信息
- 交换的信息是当前本路由器所知道的全部信息,即自己的路由表
- 按固定时间间隔交换路由信息,默认是每隔30秒。当网络拓扑发生变化时,路由器也及时向相邻路由器通告拓扑变化后的路由信息
RIP协议中路由表的建立
距离向量(Distance Vector)路由算法
- RIP算法是最常见的距离向量算法
- 距离是个抽象的概念,在RIP中,距离被定义为“跳数”
- 每条路由表项目有三项关键信息:目的网络、距离、下一跳路由器地址
- 所以结点都监听来自其相邻结点传来的路由信息,并根据上面的内容更新自己的路由表
- 这种算法的实质:迭代计算一条路由中的站段数或延迟时间,从而得到一条到达一个目标的最短(最小代价)通路
- 这种算法的缺点是,每个结点在更新路由表后,都要将它的全部路由表内容转发给所有相邻结点。对于大的通信子网来说,报文开销是很大的。采用这种路由算法的网络必然规模会受到限制
RIP算法的具体实现
举例
RIP2报文
在RIP中不支持子网掩码的RIP广播,所以RIP中每个网络的子网掩码必须相同。但在新的RIP2中,支持变成子网掩码(CIDR)
RIP2的报文用使用UDP传送(使用UDP端口520)
坏消息传得慢
坏消息传播得慢(慢收敛):当网络出现故障时,要经过比较长的时间才能将此信息(坏消息)传送到所有的路由器。这是RIP算法的一个主要缺点(网络规模有限是次要缺点)