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

1、引言

前一章已经说过了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。微信

2、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区域利用上了。 code

图2. RIP-2数据包

  • 路由域:一个选路守护程序的标识符,它指出了这个数据报的全部者。在一个Unix实现中,它能够是选路守护程序的进程号。该域容许管理者在单个路由器上运行多个RIP实例,每一个实例在一个选路域内运行。
  • 路由标记:为了支持外部网关协议而存在的。它携带着一个 EGP和BGP的自治系统号。
  • 32位子网掩码:每一个表项的子网掩码应用于相应的IP地址上。

3、OSPF协议

OSPF(Open Shortest Path First 开放式最短路径优先)是除RIP外的另外一个IGP协议。它克服了RIP的全部限制。   与采用距离向量的 R I P协议不一样的是, O S P F是一个链路状态协议。距离向量的意思是,R I P发送的报文包含一个距离向量(跳数)。每一个路由器都根据它所接收到邻站的这些距离向量来更新本身的路由表。   在一个链路状态协议中,路由器并不与其邻站交换距离信息。它采用的是每一个路由器主动地测试与其邻站相连链路的状态,将这些信息发送给它的其余邻站,而邻站将这些信息在自治系统中传播出去。每一个路由器接收这些链路状态信息,并创建起完整的路由表。 参考连接:kalng.blog.51cto.com/3145815/829…cdn

4、BGP协议

BGP(Border Gateway Protocol 边界网关协议)是一种不一样自治系统的路由器之间进行通讯的EGP协议。   BGP与RIP和OSPF的不一样之处在于BGP使用TCP做为其传输层协议。两个运行BGP的系统之间创建一条TCP链接,而后交换整个BGP路由表。从这个时候开始,在路由表发生变化时,再发送更新信号。   BGP是一个距离向量协议,可是与(通告到目的地址跳数的)RIP不一样的是,BGP列举了到每一个目的地址的路由(自治系统到达目的地址的序列号)。这样就排除了一些距离向量协议的问题。采用16 bit 数字表示自治系统标识。   BGP经过按期发送keepalive数据包给其邻站来检测 TCP链接对端的链路或主机失败。两个报文之间的时间间隔建议值为30秒。blog

都看到这里了,要不要扫二维码关注一下微信公众号林湾村龙猫接口

微信公众号rudy_tan_home
相关文章
相关标签/搜索