当前位置: 首页 > news >正文

OSPFv3基础

文章目录

  • OSPFv3基础
      • OSPFv3的改进
      • OSPFv2 v3相同
      • OSPFv2 v3不同

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖Datacom专栏:点击!

⏰️创作时间:2025年07月07日22点31分

在这里插入图片描述

OSPFv3基础

OSPFv3协议号依然为89,在IPv6 Next Header 里标识,通过包头的 Type 字段来标识 5 种包类型

以组播地址发送协议报文,而IPv6 Hop Limit 为1,Virtual Link则通过单播发送更新

#面试题2
#为什么说OSPFv3的Hop limit是一跳?
因为OSPFv3使用链路本地地址作为发送报文的源地址,链路本地地址只在本链路上生效

所有OSPF设备:FF02::5
所有OSPF DR设备:FF02::6 IPv6中,除了 Virtual Link之外,都使用 Link-Local 地址

OSPFv3的改进

IPv6地址的变化对OSPFv3的影响
IPv6地址扩大为128位LSA长度增加
本地链路地址使用Link-local地址进行报文发送 Virtual Link除外
接口可以配置多个全球单播地址运行于每个Link进行通讯,不再基于 Subnet
IPv6验证扩展头使用扩展头进行报文的认证和加密

OSPFv2拓扑搭建使用的是 Router LSA 拓扑和IP是关联在一块的

  • PPP链路会生成两条一类LSA:
    Stub:Link IDStub网段的IP Link Data该Stub网段的掩码
    P2P:Link ID邻居的RID Link Data该网段上本地接口的 IP 地址

OSPFv2在广播网络中LinkID为DR接口的IP地址,Linkdata是连接DR的接口IP地址

OSPFv3拓扑和IP是分离的 依靠的是电路ID

  • OSPFv3中使用Router ID来唯一标识邻居,广播网络中查看数据库里面Router信息,邻居ID是DR设备的RID
  • OSPFv3中Link ID是DR设备的RID,Link data是电路ID
  • 直接给接口一个电路标号,来标识和哪个设备建立的邻居

OSPFv2 v3相同

  • 网络类型和接口类型
  • 接口状态机和邻居状态机
  • 链路状态数据库(LSDB)
  • 洪泛机制(Flooding mechanism)(LSA的新旧比较)
  • 五种协议报文: Hello, DD, LSR, LSU, LSAck
  • 路由计算基本相同

OSPFv2 v3不同

OSPFv2和OSPFv3的报文头部不同点

  • OSPFv3中取消了OSPFv2的AuthType、以及AuthData字段。采用 IPv6 扩展报文实现
  • 在OSPFv3中增加了Instance和Reserve,用于实现多实例复用(不同的 Instance 不能建立邻居)、增加了保留字段

Hello报文的区别

  • OSPFv3中取消了Network Mask字段,新增了 Interface ID,取值为一个32Bit内的随机数字,在RFC文档中定义的是,建议使用SNMP里面的一个索引号(RFC2740)

在OSPFv2中如果没有创建区域直接在接口下进行的宣告是不会建立邻居的,但是在OSPFv3中不需要创建区域直接在接口下进行宣告即可

  • 基于链路的运行(不依靠IP地址也可以运行 Link-local,链路计算靠的是电路ID)
  • 使用链路本地地址(FE80,下一跳也是FE80)
  • 链路支持多实例复用(在P2MP网络中可以根据实例来选择建立邻居,说白了是共享网络)
  • 通过 Router ID 唯一标识邻居(只能用 IPv4 的 IP 地址)
  • 认证的变化
  • Stub 区域的支持
  • 报文的不同
  • Option 字段的不同
  • LSA 的类型和内容不同(最大的区别就是LSA类型不一样)添加了8、9类 LSA
http://www.lryc.cn/news/582296.html

相关文章:

  • 基于 STM32+FPGA 的快速傅里叶频域图像在 TFT 中显示的设计与实现(项目资料)(ID:8)
  • 关于 c、c#、c++ 三者区别
  • vue时间轴,antd时间轴,带卡片时间轴
  • 全球 AI HR 浪潮下的中国实践:从效率革命到战略重构
  • Android kotlin中 Channel 和 Flow 的区别和选择
  • 【Qt】QSignalMapper
  • 谢飞机的Java高级开发面试:从Spring Boot到分布式架构的蜕变之旅
  • 【音视频】HLS简介与服务器搭建
  • 常用的webpack配置
  • 应用俄文OCR技术,为跨语言交流与数字化管理提供更强大的支持
  • 解数独(C++版本)
  • 关于Xinference 中部署服务不能成功的若干问题整理(持续迭代)
  • 安卓10.0系统修改定制化_____安卓9与安卓10系统文件差异 有关定制选项修改差异
  • NLP:文本特征处理和回译数据增强法
  • uniapp三步完成生成一维码图片
  • C#和SQL Server连接常用通讯方式
  • 基于4.14 kernel ARM V7 单核cpu swi功能的验证方法
  • kong网关基于header分流灰度发布
  • 揭秘图像LLM:从像素到语言的智能转换
  • ClickHouse 入门详解:它到底是什么、优缺点、和主流数据库对比、适合哪些场景?
  • 【K线训练软件研发历程】【日常记录向】1.K线滑动窗口
  • 【数据结构】第七弹——Priority Queue
  • Kafka 消费者组再平衡优化实践指南
  • 赛事开启|第三届视觉语音识别挑战赛 CNVSRC 2025 启动
  • RedisTemplate在Spring Boot中的五种数据结构全面详解
  • 电脑电压过高的影响与风险分析
  • 【Java安全】反射基础
  • ARMv7单核CPU上SWI(软件中断)验证
  • 前端面试专栏-算法篇:20. 贪心算法与动态规划入门
  • SQL Server表分区技术详解