路由选择协议

路由选择协议

目录

  • 概述
  • 内部网关协议RIP
  • 内部网关协议OSPF
  • 外部网关协议BGP

概述

  • 从路由算法能否随网络的通信或者拓扑自适应地进行调整变化来划分, 可将路由选择分为两大类:静态路由选择策略和动态路由选择策略.
    • 静态路由选择策略: 也叫做非自适应路由选择, 其特点是简单和开销较小, 但不能及时适应网络状态变化, 适用于小型网络.
    • 动态路由选择协议: 也叫做自适应路由选择, 其特点是能较好地适应网络状态的变化, 但实现起来复杂, 开销也较大. 因此, 动态路由选择适合复杂的大型网络.
  • 因特网采用的路由选择协议主要是自适应的分布式路由选择协议.
  • 因特网采用分层次的路由选择协议的两个原因:
    • 因特网的规模宏大. 如果让所有的路由器知道所有的网络应怎么样到达,则这种路由表非常大, 处理起来也花费很多时间.
    • 许多单位不愿意让外界了解自己单位网络的布局细节和本部门所采用的路由选择协议,同时还希望能接上因特网.
  • 基于上面的两个原因, 因特网将整个互联网划分为许多较小的自治系统(autonomous system),一般称为AS.
  • 一个AS对外表现出是一个单一的和一致的路由选择策略.
  • 一个大的ISP就是一个自治系统, 因特网把路由选择协议分为两大类:
    • 内部网关协议IGP: 在一个自治系统内使用的路由选择协议,而这与互联网中的其他自治系统选用什么路由选择协议无关,目前用得最多的内部网关协议有:RIP, OSPF.
    • 外部网关协议EGP: 若元源主机和目的主机处于两个不同的自治系统内, 当数据报传到一个自治系统的边界时, 就需要使用一种协议将路由选择信息传递到另外一个自治系统中. 目前使用得最多的外部网关协议: BGP
  • 自治系统之间的路由选择也叫做域间路由选择, 而在自治系统内的路由选择叫做域间内部选择.

内部网关协议RIP

RIP是一种分布式,异步,收敛,迭代的基于距离向量的路由选择协议.

  1. 分布: 每个节点将自己的路由表发给自己直接相邻的节点.
  2. 异步: 节点不需要在某个固定的时间同时发送和交换信息.
  3. 收敛: 在有限次的信息交换次数内, 不管初始值是多少, 路由表中的每一项一定会收敛成某个固定值, 也就是真正的最短路径.

工作原理

  • 从一个路由器到直接连接的网络距离定义为1.
  • 从路由器到非直接连接的网络距离定义为所经过的路由器数+1,
  • RIP允许一条路径只能包含15个路由器,因此,当距离等于16时,相当于不可达.
  • RIP不能在两个网络之间同时使用多条路由, RIP只会选择一条具有最少路由器的路径.

RIP协议下的路由器都需要不断和其他的路由器交换路由信息,那么,是和哪些路由器交换信息?交换什么信息?在什么时候交换信息?

RIP协议的特点:
  • 仅和相邻路由器交换信息
  • 路由器交换的信息是当前本路由器所知道的全部信息,即自己的路由表.也就是,交换的信息是: 一个路由器到本自治系统内所有网络的最短距离,以及到每个网络应经过的下一个路由器.
  • 按固定时间交换路由信息.路由表中的最主要信息:到某个网络的距离,以及经过的下一跳地址和下一跳路由的地址.

距离向量算法

对每个相邻路由器发来的RIP报文, 将进行一下步骤:

  1. 对地址为X的相邻路由器发送过来的RIP报文, 先修改此报文中的所有项目, 把下一跳字段中的地址改为X, 把所有距离都+1.每个项目都有三个关键数据:到目的网络N, 距离d, 下一跳路由器X.
  2. 对修改的RIP报文中的每一个项目,进行一下步骤:

    若原来的路由表没有目的网络N, 则把该项目添加到路由表.

    否则,若下一跳路由器地址为X, 则把收到项目替换掉原来路由表中的项目.否则什么也不做
  3. 若3分钟还没有收到相邻路由器的更新路由表,则把此相邻路由器记录为不可到达网络,即把距离设置为16.
  4. 返回.
“坏消息传得慢”

RIP存在一个缺点是当网络发生故障时, 要经过比较长的时间才能将信息传送到所有的路由器.例如:

假定路由器1到网1的链路出了故障, R1无法到达网1. 于是路由器R1把到网1的距离设置为16, 因而在R1的路由表中相应的项目变为”1, 16, 直接”. 但是很可能要经过30秒后才能把更新信息发给R2.然而R2可能已经先把自己的路由信息”1, 2, R1”发给R1, R1收到这个报文后,误认为可以通过R2到达网1, 于是更新”1, 2, R1”修改为”1, 3, R2”,并发给R2.同理,R2接着又更新自己的路由表信息为”1, 4, R1”.这样的更新一直持续到R1,R2到网1的距离都增大到16,R1, R2才知道网1原来不可达.

小结

  • RIP最大的优点是实现简单,开销小.
  • RIP只能使用的最大距离为15, 这样限制了网络的规模.
  • 路由器之间的路由交换信息是路由器中完整的路由表,因而随着网络规模的扩大, 开销也就增加.
  • 坏消息传播得慢,使得更新过程的收敛时间过长.
  • 对于较大规模的网络应该换用OSPF协议.

内部网关协议OSPF

OSPF最主要的特征是使用了分布式的链路状态协议.

基本特点

向本自治系统中的所有路由器发送信息

路由器通过所有输出端口向所有相邻路由器发送信息,也就是端口洪泛.而每个相邻路由器又再将此信息发往其所有的相邻路由器.这样整个区域中所有路由器都得到了这个信息的一个副本.

发送的信息

发送的信息是与本路由器相邻的所有路由器的链路状态.所谓”链路状态”是本路由器都和哪些路由器相邻,以及该链路的度量.

何时发送信息

只有当链路状态发生改变时,路由器才向所有路由器洪泛此信息.

链路状态数据库

由于各个路由器之间频繁进行链路状态交换,因此所有路由器最终都能建立一个链路状态数据库.这个数据库实际上就是全网的拓扑结构.链路状态数据库能较快地进行更新,使各个路由器能及时更新路由表.

链路状态更新

只有当链路状态发生变化时, 路由器才向所有路由器用洪泛法发送此消息.

划分区域

OFPS将一个自治系统再划分为几个更小的范围,叫作区域.划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是一个完整的自治系统.

外部网关协议BGP

不同自治系统之间的路由选择不使用RIP或者OSPF的原因:

  1. 因特网的规模太大,使得AS之间的路由变得非常困难.如果使用链路状态协议, 则每个路由器需要维持一个很大的链路状态数据库.另外,不同的自治系统各自运行着自己选定的内部路由选择协议, 并使用本AS指明的路径度量.因此当一条路径通过不同的自治系统时,路径的度量可能会出歧义.例如:对某AS来说, 代价为1000可能表示一条比较长的路由, 但对另外一AS代价为1000, 可能表示不可接受的坏路由.
  2. AS之间的路由选择必须考虑策略. 由于相连的网络性能相差很大, 如果根据最少跳数找出来的路径, 可能并不合适.也有的代价啊很高或不安全.

基于上述的情况, 边界网关协议BGP只能力求寻找一条能够到达目的网络比较好的路由,而非寻找一条最佳路由.BGP采用了路径向量路由选择协议.

BGP发言人

  • 在配置BGP时, 每个自治系统的管理员要选择至少一个路由器作为该自治系统的BGP发言人.一般来说,这两个BGP发言人都是通过一个网络共享连接在一起的,而BGP发言人往往是边界路由器.

  • 一个BGP发言人与其他AS的BGP发言人要交换路由信息,就要先建立TCP连接,然后在此连接上交换BGP报文以建立BGP会话,利用BGP会话交换路由信息,如增加了新的路由,或者撤销过时的路由,以及报告差错等.使用TCP连接交换路由信息的两个BGP发言人,彼此成为对方的邻站或对等站.

参考资料

计算机网络(谢希仁)

分享到