
图17-4 路由表更新
在这里,假设收到的路由信息包含两列内容:目的节点和到达目的节点的代价。如下图所示:

图17-5 只包含两列的路由表
下图表示节点A在收到从节点C传来的部分路由表后怎样更新它的路由表。

图17-6 在距离向量路由选择中的更新
这里应该注意几点。第一,把一个数与无穷大相加,结果还是无穷大。第二,修正的表指出怎样从节点A经过节点C到达节点A。如果节点A需要经过节点C到达它自己,它必须先到节点C再返回,因此代价是4。第三,节点A经过路由表更新后,路由表的最后一项改变了。以前,节点A不知道如何到达节点E(代价是无穷大);现在它知道到达节点E的代价是6,要经过节点C。
每一个节点都从其相邻节点接收路由表信息,并用这个信息来更新自己的路由表。在短时间内,如果网络本身没有变化(如链路出了故障),所有节点的路由表就会达到稳定状态,表中的内容保持不变。
4.什么时候共享
一个节点周期性地向其所有相邻节点发送它的路由表信息。这个周期通常为30秒,具体的时间取决于使用的距离向量路由选择协议。
四、RIP协议简介
RIP(路由信息协议)是应用较早、使用较普遍的内部网关协议,适用于小型同类网络,是典型的距离向量路由协议。
RIP通过广播UDP协议520端口封装成的报文来交换路由信息,默认每30秒发送一次路由信息更新报文。RIP提供跳跃计数(hop count)作为尺度来衡量路由距离,跳跃计数是一个数据报到达目标设备所必须经过的路由器数目。RIP最多支持的跳数为15,即在源和目的网络之间所要经过的最多路由器的数目为15,跳数16表示不可达。
RIP协议的特点: ● 仅和相邻路由器交换信息。 ● 交换的信息是当前本路由器所知道的全部信息,即自己的路由表。 ● 按固定的时间间隔交换路由信息,例如:每隔30秒交换路由信息。五、RIP报文格式
RIP报文的格式如下图所示:

图17-7 RIP报文的格式
● 命令:这个8位字段指明报文的类型,1表示请求报文,2表示响应报文。
● 版本:这个8位字段定义版本,1表示RIPv1,2表示RIPv2。
● 地址族ID:这个16位字段定义所使用的协议系列。值为2时表示TCP/IP协议族。
● 网络地址:这个字段定义目的网络的地址。RIP给这个字段已分配了14字节,可用于任何协议。但是,现在IP只使用4字节。地址的其余部分应填入0。
● 距离:这个32位字段定义从发送报文的路由器到目的网络的跳数。
六、IP运行过程(动画演示)
初始化:在启动一个路由守护程序时,它先判断启动了哪些接口,并在每个接口上发送一个请求报文,要求其它路由器发送完整路由表。在点对点链路中,该请求是发送给其它终点的。如果网络支持广播的话,这种请求是以广播形式发送的。目的UDP端口号是520。这种请求报文的命令字段为1,但网络地址字段设置为0,而度量字段设置为16。这是一种要求另一端完整路由表的特殊请求报文。
接收到请求:如果这个请求是刚才提到的特殊请求,那么路由器就将完整的路由表发送给请求者。否则,就处理请求中的每一个表项。如果有连接到指明地址的路由,则将距离设置成值,否则将距离置为16(一种称为"无穷大"的特殊值),然后发回响应。