Internet的路由选择协议(RIP、OSPF)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/loveCC_orange/article/details/79334404

有关路由选择协议的几个概念

1、理想的路由算法

路由选择协议的核心就是路由算法,即路由器通过算法来获得路由。

一个理想的路由算法应该具有以下的特点

  • 算法必须是正确和完整的
  • 算法在计算上应简单
  • 算法应能适应通信量和网络拓扑的变化
  • 算法应具有稳定性
  • 算法应是公平的
  • 算法应是最佳的

这里的“最佳”指的是相对于某一种特定要求下得出的较为合理的选择

从路由算法能否适应通信量和网络拓扑的变化来看,可将路由分为

  • 静态路由:由管理员进行配置,路由不随网络拓扑的变化而变化
  • 动态路由:自动学习路由,路由能够适时根据网络拓扑的变化而变化

由于因特网规模较大,不可能要求管理员为因特网上所有的路由器去配置路由。而且因特网上的网络拓扑随时都在变,管理员配置的静态路由也无法去适应网络拓扑的变化。所以,因特网上采用的主要是动态的、分布式路由协议

同时,一些企业部门不希望自己的内部网络被外界知道,所以因特网将整个互联网划分为许多小的自制系统(AS)

AS的定义:在单一的技术管理下的一组路由器。一个AS对其他AS表现出的是一个单一的和一致的路由选择策略。

根据此,可以将路由选择协议划分为两大类

  • 内部网关协议(IGP):在一个自治系统内部使用的路由协议(RIP或者OSPF)
  • 外部网关协议(EGP):在自治系统间进行路由的路由协议,典型的外部网关协议就是BGP,现在使用最多的是BGP-4(BGP协议的4版本)

RIP协议

RIP协议是一种分布式的基于路由矢量的路由选择协议(贝尔曼-福特算法)

这里的“距离”是跳数,即每经过一个路由器,距离加1,RIP协议规定距离最大为16,当距离等于16时,相当于不可达。所以这个也就注定RIP只能适用于小型互联网。

RIP协议的特点

  • 仅和相邻路由器交换信息(相邻说的是直连的路由器)
  • 路由器交换的信息是当前路由器知道的全部信息,即自己的路由表
  • 按规定的时间间隔交换路由信息,周期为30s

OSPF协议

为了克服RIP协议存在的缺点,在1989年开发出了OSPF协议,使用了最短路径算法(Dijkstra算法)。

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

三个要点

  • 所有路由器向本自治系统中的其他所有路由器用洪泛发送信息
  • 发送的信息就是与本路由器相邻的所有路由器的链路状态通告(LSA)

这里的链路状态是指本路由器都和那些路由器相邻,以及该链路的度量(或者称为代价)。这个度量用来表示费用、距离、时延、带宽等,由网络管理人员来决定。

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

OSPF协议工作过程

  • 发现邻居,建立并维护邻居关系
  • 生成LSA,每台路由器都会生成自己的LSA
  • 泛洪LSA,使用OPSF自身具备可靠传输能力将LSA泛洪到区域中的其它路由器上
  • 将收到的LSA组装成链路状态数据库(LSDB),根据SPF算法计算出到达拓扑中所有网络的最短路径
  • 将计算得出的路由装载到路由表

OSPF协议的优点

  • 收敛速度快
  • 网络扩展性好
  • 环路避免方面性能较好

为了能使OSPF适用于更大规模的网络,OSPF将一个自治系统在划分为若干个区域(area)每个区域有一个32位的区域标识符(用点分十进制表示)一个区域不能太大,在区域进行规划的时候,一般要根据一个区域内路由器的型号,性能,以及负载来进行设计,通常一个区域中的路由器数量为30到100台左右,最好不要超过200台路由器

划分区域的好处就是把利用洪泛法交换链路状态信息的范围局限于每一个区域而不是整个自治系统,这样就减少了整个网络上的通信量。OSPF采用层次结构的区域划分,分为主干区域和普通区域。

区域在进行规划的时候,一定要注意,所有普通区域必须与骨干区域直接相连。该要求主要是为了OSPF区域间防环。(由于SPF算法本身可以保证OSPF在区域内部无环路,所以区域间防环主要依靠网络设计来解决。因为OSPF在区域间使用类似距离矢量路由协议的路由传递方式,所以不能保证没有环路,如果所有普通区域都直接连接到骨干区域,相当于形成了一个星型拓扑,这在拓扑的设计上避免了区域间环路的可能。

将路由器分成了几类

  • 区域内部路由器:所有的接口都位于同一区域
  • 区域边界路由器(ABR):有不同的接口位于不同的区域且其中一个为骨干区域
  • 自治系统边界路由器(ASBR):进行了重分布操作将其它路由器源学习到的路由引入OSPF的路由器

几类路由器

OSPF协议更新机制

OPSF使用触发更新+增量更新。(OSPF有一个非常缓慢的周期更新)

作为对比,RIP协议使用周期更新+完整更新(RIP也具有触发更新的机制)

  • 触发更新:当拓扑发生变化时,立即发送更新
  • 周期更新:每经过一个时间周期,发送一次更新
  • 增量更新:只发送变化部分的路由信息
  • 完整更新:发送所有路由信息

注:OSPF协议不用UDP而是直接用IP数据报传送

OSPF的一些特点

  • OSPF允许管理员给每条路由指派不同的代价
  • 可以实现多路径负载均衡
  • 所有在OSPF路由器之间交换的分组都具有鉴别功能,因而保证了仅在可信赖的路由器之间交换链路状态信息
  • OSPF支持可变长度的子网划分和无分类的编制CIDR
  • 由于网络中的链路状态可能随时发生变化,因此OSPF让每一个链路状态都带上一个32位的序号,序号越大状态就越新

OSPF协议的五种分组类型

  • 类型一,Hello分组,用来发现和维持邻站的可达性
  • 类型二,数据库描述(LSDB)分组,向邻站给出自己的链路状态数据库中的所有链路状态项目的摘要信息
  • 类型三,链路状态请求(LSR)分组,向对方请求发送某些链路状态项目的详细信息
  • 类型四,链路状态更新(LSU)分组,用洪泛法对全网更新链路状态,这种分组最复杂,也是OSPF协议最核心的部分
  • 类型五,链路状态确认(LSA)分组,对链路更新分组的确认

注:链路状态数据库的同步指的是不同路由器的链路状态数据库的内容是一样的,两个同步的路由器叫做完全邻接,两个不同的路由器如果物理上相邻,但链路状态数据库不同步,只能说是邻居。

OSPF协议同步数据库的过程:

Created with Raphaël 2.1.0 Router1 Router1 Router2 Router2 Hello Hello 数据库描述 数据库描述 数据库描述 数据库描述(DD) 链路状态请求(LSR) 链路状态更新(LSU) 链路状态确认(LSA)

OSPF对多点对接的局域网采用了指定路由器的方法,使广播的信息量大大减少

  • DR:指定路由器
  • BDR:备份指 定路由器
  • DR和BDR在每个链路上通过选举产生,路由器优先级越大越好,当优先级都相等时,选举Router-ID最大的路由器。

猜你喜欢

转载自blog.csdn.net/loveCC_orange/article/details/79334404