专栏名称: 林湾村龙猫
资深后台开发
51好读  ›  专栏  ›  林湾村龙猫

系列TCP/IP协议-动态IP选路协议(008)

林湾村龙猫  · 掘金  ·  · 2019-04-29 02:12

正文

阅读 15

系列TCP/IP协议-动态IP选路协议(008)

一、引言

前一章已经说过了IP数据包是如何分发的。为啥这一章还要说这个问题?在网络很小、只有单个连接点、没有多余的路由的时候,使用静态选路是可以的。但是一旦网络变大一点就会出现各种问题。在大网络中的网络选路将在该节说明。   动态选路协议用于路由器间的通信。该章主要介绍3种动态选路协议:RIP,OSPF,BGP。在Internet这样的大型的网络系统中,将这些主机划分若干个系统(分组)中,一台主机只属于一个系统(组)中,如将一个公司或学校定一个为一个系统(组),这些系统(组)叫做自治系统(AS,Autonomous System).正如其名一样。每一个AS通常由单个实体管理。一组AS组织成Internet。在同一AS中在该系统下的所有路由器选择同一种选路协议。我们称这种路由协议为 IGP(Interior Gateway Protocol,内部网关协议) ;在不同的AS中的路由器的选路协议我们称为 EGP(Exterier Gateway Protocol,外部网关协议) 。常用的IGP协议有RIP与OSPF,常用的EGP协议有BGP。

二、RIP协议

RIP(Routing Infromation Protocol 路由信息协议)数据包包含在UDP数据包中。RIP协议现在总共分两个版本RIP-1与RIP2,RIP常用UDP端口号是520.

1. RIP-1协议

RIP-1数据包如下:

图1.RIP1数据包头部

  • 命令:长度一个字节。1-请求,2-应答,3/4-舍弃不用,5-轮询,6-轮询表项;
  • 版本字段:长度一个字节。RIP-1协议为1,RIP-2协议为2;
  • 一条路由项:长度20个字节。
    • 地址系列: 2个字节,指明是何种地址。值为2表示IP地址。
    • 度量:路由器跳转数,直连为1,最大为16

2.运行流程

  • 初始化 :在启动路由守护程序,先判断有哪些网络端口,并且在每一个接口上发送一个RIP请求数据包。对于点对点的网络中,直接发给连接主机。如果是网络,这种请求是以广播的形式发送出去的。这种请求报文的命令字段为 1,但地址系列字段设置为 0,而度量字段设置为 16。这是一种要求另一端完整路由表的特殊请求报文。
  • 接收请求 :如果这个请求是刚才提到的特殊请求,那么路由器就将完整的路由表发送给请求者。就处理请求中的每一个表项:如果有连接到指明地址的路由,则将度量设置成我们的值,否则将度量置为16(度量为16是一种称为“无穷大”的特殊值,它意味着没有到达目的的路由)。然后发回响应。
  • 接收到的响应 :使响应生效,可能会更新路由表。可能会增加新表项,对已有的表项进行修改,或是将已有表项删除。
  • 定期选路更新 :每过30秒,所有或部分路由器会将其完整路由表发送给相邻路由器。发送路由表可以是广播形式的(如在以太网上),或是发送给点对点链路的其他终点的。
  • 触发更新 :每当一条路由的度量发生变化时,就对它进行更新。不需要发送完整路由表,而只需要发送那些发生变化的表项。

3.RIP-2协议

RIP-2协议是对RIP-1协议的扩充,该协议不改变RIP-1协议内容,只是所有的填充0区域利用上了。







请到「今天看啥」查看全文