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

OSPFv3与OSPFv2不同点

文章目录

  • OSPFv3和OSPFv2不同点详解
    • 链路运行
    • 链路本地地址
    • 多实例复用
    • 标识唯一邻居
    • 认证变化
    • 特殊区域支持
    • 头部说明

OSPFv3和OSPFv2不同点详解

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

🏡作者主页:点击!

🤖Datacom专栏:点击!

⏰️创作时间:2025年07月08日20点01分

在这里插入图片描述

链路运行

1、基于链路运行

OSPFv2是基于网络运行的,两个路由器要形成邻居关系必须在同一个网段

OSPFv3的实现是基于链路, 一个链路可以划分为多个子网, 节点即使不在同一个子网内, 只要在同一链路上就可以直接通信(此时使用的是Link-local地址)

链路本地地址

2、使用链路本地地址

  • OSPFv3中所有报文的发送都是基于链路本地地址的
  • OSPFv3的路由器使用链路本地地址作为发送报文的源地址
  • 在虚连接上, 必须使用全球范围地址或者站点本地地址作为OSPFv3协议报文的源地址(虚连接源目地址以自己为根和以虚连接邻居为根计算最短路径树)
  • 由于链路本地地址只在本链路上有意义且只能在本链路上泛洪,因此链路本地地址只能出现在Link LSA中 Link LSA为8类LSA
  • LinkLSA的主要作用是用来将OSPFv3的拓扑计算以及路由信息计算分离来使用的

多实例复用

3、链路多实例复用

  • OSPFv3支持在同一链路上运行多个实例,实现链路复用节约成本
  • OSPFv2在一个共享网络中要想让R1和R2建立邻居,R3和R4建立邻居,使用的办法有:接口宣告进入不同区域、认证等,但是对于收到的Hello包和以及错误的认证信息,会去统计错误认证信息
  • 在相同的OSPFv3进程下,一个接口只能加入到一个实例中去
  • 在不同的OSPFv3进程下,一个接口可以加入到不同的接口实例下
  • 无论是OSPFv2还是OSPFv3同一个进程中同一个接口永远不可能属于多个区域
  • 在OSPFv3中变得很像 IS-IS 协议,在接口里面宣告的使用 ospfv3 1 area 0 instance x //默认实例0,可以同过实例的办法实现(该信息是包含在OSPFv3的报文头中)收到的OSPFv3报文,要求实例号和本段配置的某个实例相匹配才会建立OSPFv3邻居,且可以进行互相引入
  • 当然这个不仅可以去实现多实例复用,也可以在接口下针对不同实例中对于OSPFv3的DR选举进行调整:ospfv3 dr-priority 255 instance 1 //实例1中的DR优先级设置为255

标识唯一邻居

4、通过Router ID唯一标识邻居

  • 在OSPFv2中,当网络类型为点到点或者通过虚连接与邻居相连时,通过Router ID来标识邻居路由器,当网络类型为广播或NBMA时,通过邻居接口的IP地址来标识邻居路由器(也就是DR接口的 IP 地址)。
  • OSPFv3取消了这种复杂性,无论对于何种网络类型,都是通过Router ID来唯一标识邻居。

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

OSPFv3中使用Router ID来唯一标识邻居,广播网络中查看数据库里面Router信息,邻居ID是DR设备的RID
OSPFv3中Link ID是DR设备的RID,Link data是电路ID
使用 dis ospfv3 lsdb router //查看OSPFv3链路状态数据库中的Router详细信息

认证变化

5、认证的变化

  • 验证的变化:
    OSPFv3报文头不再包含 Autype 和 Authentication,而一般依赖 IPv6的扩展验证头
  • 检验和(checksum)变化:
    OSPFv3使用IPv6标准的 CheckSum

特殊区域支持

6、Stub 区域的支持

由于OSPFv3支持对未知类型LSA的泛洪,为防止大量未知类型LSA泛洪进入Stub区域,对于向Stub区泛洪的未知类型LSA进行了明确规定, 只有当未知类型LSA的泛洪范围是区域或链路而且U比特没有置位时,未知类型LSA才可以向Stub区域泛洪。

在OSPFv2中,收到类型未知的LSA将直接丢弃

OSPFv3在LSA的LS Type字段中增加了一个U比特位来位标识对未知类型LSA的处理方式:
U位:收到 LSA 之后怎么处理
1、如果 U 比特置 1,则对于未知类型的 LSA 按照 LSA 中的 LS Type 字段描述的泛洪范围进行泛洪;
2、如果 U 比特置 0,对于未知类型的 LSA 仅在链路范围内泛洪

头部说明

7、报文头部字段说明

Version:v2版本就是2,v3版本就是3

Type:1-Hello、2-DD、3-LSR、4-LSU、5-LSAck

Packet length:OSPFv3报文长度 2字节

Router ID:路由器ID

Area ID:区域ID

CheckSum:校验和

Instance ID:链路实例 ID,通过判断该字段可以区分同一链路上运行的不同OSPF实例。实例 ID 只在本地链路范围内具有意义

Reserved:保留字段总是为0

Author:DC

http://www.dtcms.com/a/270456.html

相关文章:

  • eslint扁平化配置
  • Linux守护进程
  • 【ES实战】ES客户端线程量分析
  • java-网络编程
  • Java中数组与链表的性能对比:查询与增删效率分析
  • RabbitMQ第二章(RocketMQ的五大工作模式)
  • 【Linux服务器】-安装ftp与sftp服务
  • 数据结构:数组:合并数组(Merging Arrays)
  • 20 道 Node.js 高频面试题
  • Codeforces Round 868 (Div. 2) D. Unique Palindromes(1900,构造)
  • 深入企业内部的MCP知识(四):FastMCP装饰器与类方法:正确结合面向对象与MCP组件的实践指南
  • 4.权重衰减(weight decay)
  • MySQL-索引
  • SQL135 每个6/7级用户活跃情况
  • ${project.basedir}延申出来的Maven内置的一些常用属性
  • Python入门Day5
  • 嵌入式面试八股文100题(二)
  • 分库分表之实战-sharding-JDBC水平分库+水平分表配置实战
  • 【深度学习入门 鱼书学习笔记(1)感知机】
  • 7月8日学习笔记——统计决策方法
  • 基于springboot的物流配货系统
  • Nuxt.js 静态生成中的跨域问题解决方案
  • C++学习笔记之数组、指针和字符串
  • 【PyTorch】PyTorch中torch.nn模块的激活函数
  • 项目Win系统下可正常获取Header字段,但是到了linux、docker部署后无法获取
  • python基础day08
  • linux wsl2 docker 镜像复用快速方法
  • 【读代码】GLM-4.1V-Thinking:开源多模态推理模型的创新实践
  • 基于模板设计模式开发优惠券推送功能以及对过期优惠卷进行定时清理
  • C++ 遍历可变参数的几种方法