什么是OSPFv3协议?与OSPFv2有啥区别?

举报
wljslmz 发表于 2024/12/31 11:49:24 2024/12/31
【摘要】 OSPF(Open Shortest Path First)是IETF(Internet Engineering Task Force)组织开发的一个基于链路状态的内部网关协议IGP(Interior Gateway Protocol)。OSPF是一种开放的协议,可用于在单一自治系统(AS)内部进行路由选择。通过计算最短路径来实现路由转发,采用Dijkstra算法。目前针对IPv4协议使用的...

OSPF(Open Shortest Path First)是IETF(Internet Engineering Task Force)组织开发的一个基于链路状态的内部网关协议IGP(Interior Gateway Protocol)。OSPF是一种开放的协议,可用于在单一自治系统(AS)内部进行路由选择。通过计算最短路径来实现路由转发,采用Dijkstra算法。

目前针对IPv4协议使用的是OSPF Version 2,而针对IPv6协议使用的则是OSPF Version 3。OSPFv3在OSPFv2基础上进行了增强,是一个独立的路由协议。OSPFv3支持IPv6地址和其他IPv6相关特性,为IPv6网络提供路由选择服务。

OSPFv3的主要目的是开发一种独立于任何具体网络层的路由协议。重新设计了内部路由信息,以适应不同版本的IP协议。提供了对IPv6网络的全面支持,包括地址格式、邻居关系等。

本文瑞哥将带大家好好了解一下OSPFv3,并比较OSPFv3和OSPFv2.

OSPFv3 技术知识

OSPFv3是运行于IPv6的路由协议,用于在单一自治系统内部进行路由选择。与OSPFv2相比,OSPFv3在Hello报文、状态机、LSDB、泛洪机制和路由计算等方面的工作原理基本保持一致。

OSPFv3报文封装在IPv6报文内,可采用单播和组播形式发送。主要报文类型包括Hello报文、DD报文、LSR报文、LSU报文和LSAck报文。

OSPFv3报文类型

  • Hello报文: 用于周期性发送,用来发现和维持OSPFv3邻居关系。
  • DD报文(Database Description packet): 描述本地LSDB的摘要信息,用于两台设备进行数据库同步。
  • LSR报文(Link State Request packet): 用于向对方请求所需的LSA,仅在OSPFv3邻居双方成功交换DD报文后才发送。
  • LSU报文(Link State Update packet): 向对方发送所需的LSA。
  • LSAck报文(Link State Acknowledgment packet): 用来对收到的LSA进行确认。

OSPFv3中的LSA类型

  • Router-LSA(Type1): 描述设备的链路状态和开销,区域内传播。
  • Network-LSA(Type2): 描述本链路的链路状态,区域内传播。
  • Inter-Area-Prefix-LSA(Type3): 描述区域内某个网段的路由,并通告给其他相关区域。
  • Inter-Area-Router-LSA(Type4): 描述到ASBR的路由,通告给除ASBR所在区域的其他相关区域。
  • AS-external-LSA(Type5): 描述到AS外部的路由,通告到所有的区域(除了Stub区域和NSSA区域)。
  • NSSA LSA(Type7): 描述到AS外部的路由,仅在NSSA区域内传播。
  • Link-LSA(Type8): 描述每个链路的信息,仅在该链路内传播。
  • Intra-Area-Prefix-LSA(Type9): 描述设备或DR相关联的IPv6前缀地址,区域内传播。
  • Intra-Area-TE-LSA(Type10): 描述设备本身的TE信息和链路相关的TE信息,区域内传播。
  • GRACE-LSA(Type11): 在Graceful Restart过程中使用,为每个接口发布此类LSA。
  • OSPFv3 Router Information (RI) LSA(Type12): 发布设备的扩展信息,分为Area Router Information LSA和AS Router Information LSA。
  • E-Router-LSA(Type33): 发布链路扩展TLV信息,区域内传播。
  • E-AS-External-LSA(Type37): 描述AS外部路由关联的扩展TLV信息,通告到所有的区域。
  • SRv6 Locator LSA(Type42): 发布SRv6 Locator时的扩展信息,区域内传播。

OSPFv3和OSPFv2协议比较

相同点

  1. 网络类型和接口类型:

    • OSPFv3和OSPFv2都支持多种网络类型,包括点到点、广播、非广播多点和点到多点等。
    • 它们也都支持各种接口类型,例如物理接口、虚拟接口和汇聚接口等。
  2. 接口状态机和邻居状态机:

    • OSPFv3和OSPFv2使用类似的接口状态机和邻居状态机来维护与相邻路由器的关系。
    • 这些状态机用于确定接口的状态(如Down、Init、Two-way、ExStart、Exchange和Full)以及邻居之间的关系。
  3. 链路状态数据库LSDB:

    • OSPFv3和OSPFv2都维护一个链路状态数据库(LSDB),其中包含了来自网络中所有路由器的链路状态信息。
    • 这些信息用于计算最短路径并生成路由表。
  4. 泛洪机制(Flooding mechanism):

    • OSPFv3和OSPFv2都使用泛洪机制来在整个网络中传播链路状态更新。
    • 当一个路由器更新了其链路状态时,它会将更新信息发送给所有相邻的路由器,然后由接收到的路由器再将更新信息传播给它们的相邻路由器,直到整个网络都收到了更新信息。
  5. 相同类型的报文:

    • OSPFv3和OSPFv2使用相同类型的报文来执行邻居关系建立、数据库同步和路由更新等功能。
    • 这些报文类型包括Hello报文、DD(Database Description)报文、LSR(Link State Request)报文、LSU(Link State Update)报文和LSAck(Link State Acknowledgment)报文。
  6. 路由计算基本相同:

    • OSPFv3和OSPFv2都使用相似的路由计算算法,基于Dijkstra算法计算最短路径,并根据得到的最短路径生成路由表。
    • 路由器在LSDB中收集到链路状态信息后,使用相同的算法计算出最短路径,并更新路由表以实现数据包的转发。

不同点

  1. 地址信息的携带:

    • OSPFv3仅在更新报文的LSA中携带地址信息,而OSPFv2在整个报文中携带IP地址信息。
  2. 协议的运行机制:

    • OSPFv3运行在IPv6协议上,IPv6是基于链路而不是网段的,因此在配置OSPFv3时不需要考虑是否配置在同一网段,只要在同一链路上即可建立联系。
  3. IP地址的意义:

    • OSPFv3上移除了IP地址的意义,使得拓扑与地址分离。OSPFv3不依赖IPv6全局地址的配置来计算拓扑结构,IPv6全局地址仅用于Vlink接口及报文的转发。
  4. 报文及LSA格式:

    • OSPFv3报文不包含IP地址,而OSPFv2的报文中包含IP地址。
    • OSPFv3的Router LSA和Network LSA中不包含IP地址,而是由Link LSA和Intra Area Prefix LSA宣告。
  5. LSA的泛洪范围:

    • OSPFv3在LSA报文头的LSA Type中添加了LSA的泛洪范围,使得OSPFv3设备更加灵活,可以处理不能识别类型的LSA。
    • OSPFv3允许泛洪U位置为1的未知LSA,并且泛洪这种LSA的范围由该LSA自己指定。
  6. 多进程:

    • OSPFv3支持一个链路上多个进程,而OSPFv2的物理接口只能绑定一个实例。
  7. 链路本地地址:

    • OSPFv3利用IPv6链路本地地址来维持邻居和同步LSA数据库,不需要配置IPv6全局地址。
    • OSPFv3的所有接口(除Vlink外)都使用链路本地地址作为源地址及下一跳来发送OSPFv3报文。
  8. 新增LSA:

    • OSPFv3新增了Link LSA和Intra Area Prefix LSA,用于宣告链路本地地址和IPv6全局地址信息。
  9. 邻居标识:

    • OSPFv3只通过Router ID来标识邻居,而OSPFv2在广播网、NBMA及P2MP网络中是通过IPv4接口地址来标识邻居的。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。