RIP和OSPF的详解与对比

  • Post author:
  • Post category:其他

目录

RIP路由信息协议

OSPF开放式最短路径优先协议

RIP和OSPF 的区别


RIP路由信息协议

RIP路由信息协议(Routing Information Protocol)是DV距离矢量(Distance Vector)中路由选择协议,利用跳数来作为计量标准。

工作原理
(1)路由建立
路由器运行RIP后,会首先发送路由更新请求,收到请求的路由器会发送自己的RIP路由进行响应;网络稳定后,路由器会周期性(30s)发送路由更新信息。
(2)距离矢量的计算
RIP度量的单位是跳数,其单位是1,也就是每经过一台路由器+1跳,而不考虑链路的实际带宽的问题,RIP的最大跳数为15跳。
RIP利用度量来表示它和所有已知目的地间的距离。
当一个RIP更新报文到达时,接收方路由器和自己的RIP路由表中的每一项进行比较,并按照距离矢量路由算法对自己的RIP路由表进行修正。
(3)定时器
周期更新定时器:用来激发RIP路由器路由表的更新,每台启动RIP协议的路由器只有一个更新定时器,周期为30s。每30s路由器会向自己的邻居广播自己的路由表信息。
无效计时器:用来判定某条路由是否可用。每条路由项都有一个无效计时器,为180s。当一条路由激活或更新时,该定时器开始计时,如果在180s之内没有收到对端路由的更新报文,则将该路由置为无效,暂存于缓存中,此时不会立马删除。
垃圾收集计时器:判定是否需要删除一条路由。每条路由有一个垃圾收集计时器,为120s。当某条路由无效时,该计时器开始计时,如果在120s内没收到对端路由的更新,就从路由表中彻底删除这条路由。
(4)RIP环路
当网络中某台设备宕机或者网络结构发生突变时,RIP有可能产生路由环路。

解决办法:

水平分割—从此口学到的路由,不再从此口发出

毒性逆转—从此口学到的路由,会从此口发出,但是跳数置位16,也就是一条带毒的路由

触发更新–当某一个路由器中的路由项发生改变时,不需要等待下一次更新周期的到来,就可以直接将发生变化的路由项通过更新报文发送出去

最大跳数—RIP的最大跳数为15

RIP版本

  • 更新方式

    • RIPV1使用广播更新

    • RIPV2使用组播更新(224.0.0.9)

  • 更新时是否携带真实掩码

    • RIPV1不携带真实掩码

    • RIPV2携带真实掩码

  • RIPV2支持手工认证和自动汇总

缺点

由于最大跳数为15,RIP协议只能应用于小规模的网络;
收敛速度慢(周期更新);
基于跳数选择的路由,不一定是最优路由。

OSPF开放式最短路径优先协议

OSPF开放式最短路径优先(Open Shortest Path First)是LS链路状态(Link State)路由选择协议,隶属内部网关协议(IGP),度量标准是带宽和延迟。

rip协议是距离矢量路由选择协议,它选择路由的度量标准是跳数,最大跳数是15跳,如果大于15跳,它就会丢弃数据包。
ospf协议是链路状态路由选择协议,它选择路由的度量标准主要是带宽。

OSPF的工作过程

  • 协议启动后,路由器A向本地所有启动协议的直连接口,使用组播地址224.0.0.5发送hello报文;hello报文中携带了本地的全网唯一的RID;之后对端路由器B也将回复hello报文,该报文中若携带了对端A的RID值,则A与B建立邻居关系,并生成邻居表

  • 邻居关系建立后,邻居间进行条匹配,匹配失败停留在邻居关系,匹配成功后后,则可以开始建立邻接关系

  • 邻接间共享DBD报文,将本地与邻接的DBD进行比对,查找本地没有的LSA信息,之后使用LSR来询问,对端使用LSU报文来回复具体的LSA信息,之后本地使用LSACK报文进行确认回复,该过程完成后,生成数据库表(LSDB)

  • 在之后,本地基于数据库表,启用SPF算法,计算到达所有未知网段的最短路径,然后将其加载到本地的路由表中。此时收敛完成

  • 最后,邻接之间使用hello包进行保活,并进行30min的周期更新

OSPF数据包类型—五种数据包

  • HELLO包

    • 发现,建立邻居关系

    • 周期保活—hello-time 10s

    • 死亡时间—hold-time 4 倍的hello包时间

      • 如果在死亡时间内没有接受到对端邻居发送的hello包,则认为邻居不存在

      • Router-ID

        • 全网唯一(仅指的是本张网络中),标识路由器身份

        • 32位二进制组成,点分十进制

  • DBD包

    • 数据库描述报文

    • 内部包含了所有的拓扑的目录信息

  • LSR包

    • 链路状态请求报文

    • 请求获取未知的链路信息

  • LSU包

    • 链路状态更新包文

    • 携带是完整的LSA信息的数据包

  • LSACK包

    • 链路状态确认报文

OSPF七种状态机

  • down:关闭状态—-一旦 启动OSPF协议后,则发出hello报文,进入init状态

  • init:初始化状态—收到hello报文中包含本地的rid时,进入下一状态

  • 2-way:双向通信—-邻居关系建立的标准

  • 条件匹配:匹配成功后进入下一状态,匹配失败,则停留在邻居关系

  • exstart:预启动状态—-使用未携带信息的DBD报文进行主从选举,EID大为主

  • exchange:准交换状态—使用携带信息的DBD报文进行目录共享

  • loading :加载状态—收到LSR后进入该状态,在该状态中使用LSR/LSU/LSACK三种报文来获取完整的拓扑信息

  • full:转发状态—拓扑信息交换完成后,该状态是邻接关系建立的标志

条件匹配

  • 三种接口角色

    • 指定路由器—DR

    • 备份指定路由器—BDR

    • 其他路由器—DROther

  • OSPF成为邻接关系的条件—根据网络类型的不同而不同

    • MA网络(以太网)类型

    • 点到点网络类型(无需进行条件匹配,一定是邻接关系)

  • 角色之间的关系

    • DR—–BDR 邻接关系

    • DR—–DROther 邻接关系

    • BDR—-DROther 邻接关系

    • DROther—-DROther 邻居关系

  • 选举规则

    • 接口优先级(0-255),优先级越大,则越优。华为默认为1

    • 如果优先级一样,再比较RID,越大越优先

  • 选举的范围

    • 一个广播域,进行一次DR/BDR的选举

  • 选举模式

    • 非抢占型的,一旦确定DR/BDR后,该广播域中再有更优的路由器,不会进行选举,维持原有的。(认贼作父)

    • 一旦选举成功,不会因为新加入的设备进行重新选举

结构突变

  • 新增网段

    • 直接使用更新包(LSU)告知邻居路由器

  • 断开网段

    • 直接使用更新包告知邻居路由器

  • 无法沟通

    • hello包10s发送一次,若40s未接受到对端发来的hello报文,即超出死亡时间

    • 断开邻接关系,删除路由

RIP和OSPF 的区别

1.路由信息协议(RIP):
RIP代表路由信息协议,其中距离矢量路由协议用于数据/分组传输。在路由信息协议(RIP)中,最大跳数为15,因为它可以防止从源到目标的路由环路。使用诸如水平分割,毒性逆转和保持所有权之类的机制来防止错误或错误的路由信息​​。Sally Floyd和Van Jacobson [1994]提出,在不对计时器进行轻微随机化的情况下,计时器会随着时间的推移而同步。与其他路由协议相比,RIP(路由信息协议)较差并且限制了规模,即小型网络。使用RIP的主要优点是它使用UDP传输(用户数据报协议)。

2.开放式最短路径优先(OSPF):
OSPF表示使用链路状态路由算法的开放式最短路径优先。使用路由器中可用的链路状态信息,它构造拓扑,在该拓扑中,拓扑确定用于路由决策的路由表。它支持可变长子网掩码和无类域间路由寻址模型。由于它使用Dijkstra的算法,因此它会为每条路线计算最短路径树(最重要的作用就是防环

)。OSPF(首先是开放式最短路径)的主要优点是它自己处理错误检测,并且使用多播寻址在广播域中进行路由

 


版权声明:本文为weixin_67259816原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。