TCPIP详解 Protocol 读书笔记(十) 动态选路协议

TCP/IP详解 Protocol 读书笔记(十)

Chapter10 动态选路协议

文章目录

  • TCP/IP详解 Protocol 读书笔记(十)
    • Chapter10 动态选路协议
      • 动态选路
      • RIP:选路信息协议
        • 度量

上一章节介绍的选路方法为静态选路。每当初始化一个接口时,就为接口自动创建一个直接路由。在配置文件中指定静态路由,并通过route命令对路由表进行控制。另一种方法是利用ICMP路由器通告和请求报文,在主机和路由器间做通信使用。

在网络很小,且与其他网络只有单个连接点且没有多余路由时,可以采用这种方法。如果实际情况复杂于上述情况的话,通常使用动态选路。

动态选路

动态选路只是在路由器间通信使用。当相邻路由器之间进行通信,以告知对方每个路由器当前所连接的网络,这时就出现了动态选路。路由器之间必须采用选路协议进行通信,选路协议有很多种,本篇文章中主要涉及到的为RIP和OSPF协议。

但是动态选路不改变内核在IP层面的选路机制。就是说内核在搜索路由表时,查找优先级按照主机、网络、默认路由的方式没有改变。动态选路改变的是路由表中的信息,根据路由的变化,路由在路由表中会动态地增加或删除。

RIP:选路信息协议

RIP报文包含在UDP数据报中,RIP协议使用UDP数据报作为传输载体,常用的UDP端口号是520。采用RIP协议的routed程序运行的步骤:

  • 初始化:首先判断有哪些接口启动了,在每个启动的接口上发送一个请求报文,要求其他路由器发送完整路由表。在点对点链路中,请求报文是发送给链路终点的。如果网络运行广播,则这个请求报文是发给网络中每一个已知路由器的。请求报文的命令字段为1,地址系列字段设置为0,而度量字段设置为16.这种报文是一种要求另一端完整路由表的特殊请求报文。
  • 路由器接收到这个特殊请求后,将自己的完整路由表交给请求者。如果没有,就处理请求中的每一个表项,把表项中自己有的部分填上跳数,没有的部分填上16(度量值为16是一种称为“无穷大”的特殊值,指没有达到目的的路由),然后返回响应给请求者。
  • 接收到返回的响应。更新自己的路由表,选择跳数最小的路由,忽略其他路由。
  • 定期选路更新。每过30s,所有或部分路由器会将其完整路由表发送给相邻路由器。发送路由表可以使广播形式的,或者点对点形式的。

每条路由都有定时器。如果运行RIP协议的系统发现一条路由在3分钟内未更新,该路由的度量值设置成无穷大,并标注为删除。再过60s,将从本地路由表中删除此条路由,保证可以讲路由失效的信息传播出去。

度量

度量是RIP协议中最重要的字段。度量是以跳(hop)计算的。所有直接连接接口的跳数为1。

TCPIP详解 Protocol 读书笔记(十) 动态选路协议_第1张图片

路由器R1通过发送广播到N1,通知它与N2之间的hop为1,也发送广播到N2,通知它与N1之间的hop为1,R2同理。

如果一个路由器的相邻路由器告知这个相邻路由器与其他网络路由的hop为1,那么这个路由器与所指的其他网络的度量值为2。上图示例中,R2到N1的度量是2,与R1到N3的度量相同。

跳数的最大值是15,说明采用RIP协议的网络区域不会太大,毕竟会受到hop的限制。因此RIP协议的缺点也就显而易见:度量最大值为15限制了采用RIP协议网络的大小,并且在路由器发生故障后,收敛性较差,需要较长时间恢复稳定。

络的大小,并且在路由器发生故障后,收敛性较差,需要较长时间恢复稳定。

OSPF是开放最短路径优先协议,可以基本解决RIP协议的缺点。OSPF内容涉及到最短路径算法,下面一些文章会专门写一些OSPF的笔记,这里就不赘述了。

你可能感兴趣的:(TCP-IP协议栈)