什么是路由协议

前面我们学到了静态路由,而静态路由的缺点就是需要人工手动配置,在大规模网络的场景下,配置尤为繁琐,且链路如果出现改动,手动增删改查极为不便,于是繁衍出了我们的路由协议。
路由协议可以自动发现和计算路由,并且在链路或者拓扑发生变化时,自动更新,无需人工的维护,极大减少了配置量。

路由协议概述

Routing Protocol(路由协议),简单的来说就是用来计算、维护路由信息的协议。通过采用算法,来产生路由,有一定的方法来确定路由的有效性,从而来维护路由,一般工作在传输层或者应用层。
常见的几个路由协议:RIP(基本没有用了)OSPFBGP

协议栈中的位置

协议栈
不同的路由协议所使用的底层协议各有不同,例如

OSPF是基于IP协议,协议号89
BGP基于TCP,端口号179
RIP基于UDP,端口号520

路由协议的基本原理

所有路由协议的共同目的都是计算和维护路由,两台路由器都实现了某种路由协议并且已经启动了协议,那么他们就具备了相互通信的基础,
通常,各种动态路由协议的工作过程包含以下几个阶段:
邻居发现交换路由信息计算路由维护路由

邻居发现

运行了某种路由协议的路由器会主动把自己介绍给网段内的其他路由器,发送方式可以是广播也可以是单播。

路由信息交换

发现邻居后,每台路由器将自己已知的路由相关信息发送给相邻的路由器,相邻路由器又发送给下一台路由器,最后网络中的每台路由器都会受到网络中所有的路由信息

计算路由

每台路由器都会运行某种算法,计算出最终的路由

维护路由

为了能够识别网络故障的发送(例如线缆中断、设备故障等),路由协议会制定一种生存周期,如果在周期内不能收到邻居发来的协议报文,那么说明这条链路或者邻居出现了故障

路由协议的分类

路由协议分类
目前就两大类IGPEGP

IGP

IGP内部网关协议(Interior Gateway Protocols)
是指在同一个自治系统内交换路由信息的路由协议,例如RIP、OSPF、IS-IS都属于IGP,IGP的主要目的是发现和计算自治系统内的路由信息

EGP

EGP外部网关协议(Exterior Gateway Protocols)
与IGP不同的是,EGP用于连接不同的自治系统,并且在不同的自治系统间交换路由信息,使用路由策略路由过滤等手段来控制路由信息在自治系统间传播,BGP边界网关协议(Border Gateway Protocols)属于EGP

自治系统概念

自治系统(AS、Autonomous System)是指一组共享相似路由策略并且在单一管理的域(范围)中运行的路由器的集合。AS可以是一些运行单一IGP协议路由器的集合,也可以是一些运行不同路由协议,但都属于同一个组织几个的路由器的集合,每个自治系统都有一个唯一的自治系统编号,它的基本思想就是希望通过不同的编号来区分不同的自治系统。
这个编号是由因特网授权的管理机构IANA分配的,自治系统的编号范围是 1~65535,其中 1~64511 是注册的因特网编号,64512~65535是专用网络编号

按照协议算法分类

目前有这三种协议:
距离矢量协议链路状态协议路径矢量

距离矢量

(Distance-Vector,D-V)泛指RIP,度量值是跳数,基于贝尔曼-福特算法,只关心到目的网段的距离和方向

链路状态

(Link-State)度量值是开销,基于 Dijkstra 算法,又叫最短路径优先算法,拥有更强的扩展性和更快的收敛速度,但系统资源占用较高,他关心网络中链路或接口的状态(up/down IP地址、子网掩码)

路径矢量

路径矢量(本质上其实也是距离矢量),但他引入了更强的算法,采用增量更新机制来发送路由更新,只有路由表变化时才发送路由变更,节省了邻居路由之间的带宽

距离矢量路由协议特点

PS:泛指RIP

  • 周期性、广播形式发送路由更新
  • 路由更新中携带全部的路由表,接受方根据此路由表更新自己的路由表
  • 超过一定时间接受不到路由更新(180S),则认定该条路由失效。
  • 以到目的地的距离[跳数,RIP最大跳数16跳[不可达]15[可达]]作为度量值。
  • 拓扑变化以逐跳的方式散开。
  • 路由收敛速度慢。
  • 采用距离矢量算法,可能导致路由环路

链路状态路由协议特点

PS:泛指OSPF

  • 通过Hello报文来发现邻居
  • 建立好邻接关系后,只发送链路状态公告LSA
  • 根据自己链路状态信息数据库LSDB来计算路由
  • 以到目的地的开销cost作为度量
  • 链路状态发送变化时,马上发送LSA到区域内所有路由器
  • 路由收敛速度快
  • 采用SPF算法,无路由自环

路径矢量路由协议特点

PS:泛指BGP

  • 仅在邻居刚建立时发送全部路由表
  • 邻居检录后发送增量路由
  • 如果邻居失效(180S),则认为该条路由失效
  • 丰富的路由属性作为度量值
  • 拓扑变化以逐跳的方式扩散
  • 采用机制防止路由环路(本质和RIP一样,直接传路由,会产生路由环路)