OSPFv3报文格式与作用分析

2023-05-16

OSPFv3报头:

实际抓包:
在这里插入图片描述

具体内容:
在这里插入图片描述

  1. Version:3。
  2. Type:报文类型, 1—Hello, 2—DD, 3—LSR, 4—LSU, 5—LSAck。
  3. Packet length:包括标准OSPF报文头的OSPF报文长度,长度单位Byte。
  4. Router ID:每个OSPFv3进程的唯一标识。
  5. Area ID:区域标识符
  6. Checksum:包括IPv6 pseudo-header的OSPF报文校验和。
  7. Instance ID:实例号。

Hello报文:

抓包内容:
在这里插入图片描述
具体内容:
在这里插入图片描述

  1. Interface ID: 接口标识, 在路由器上唯一标识接口。
  2. Rtr Priority: 路由器优先级。
  3. HelloInterval: 发送Hello 报文的间隔。
  4. RouterDeadInterval: 此计时器超时后, 邻居Down掉。
  5. Neighbor ID: 邻居的Router ID。
  6. Options:
    在报文Option字段增加了’R-bit’和’V6-bit’。在SPF运算处理Router-LSA时会用到这两个参数。若’R-bit’为空则路由器可以在OSPF拓扑分发时不转发transit流量;this can be used in multi-homed hosts that want to participate in the routing protocol。V6-bit’对’R-bit’作出了更详细的规定:若’V6-bit’为空,则路由器可以在OSPF拓扑分发时不转发IPv6报文。若设置了’R-bit’但’V6-bit’为空,路由器不转发IPv6报文,但可能转发其他协议体系的报文。
    在这里插入图片描述

对比OSPFv2的报文:
在这里插入图片描述
我们可以发现IPv4中的options选项中是没有v6这个字段的,并且在IPv6报文中没有了掩码字段,但是增加了接口ID字段来标识接口。

DD报文:

抓包内容:
在这里插入图片描述

具体内容:
在这里插入图片描述

  1. Options: 与Hello报文中的Options相同。
  2. Interface MTU: 本地接口的MTU值。
  3. I: Initial,初始化位, 为1时表明是第一个DD报文。
  4. M: More,表明接下来还有DD报文。
  5. MS: 主/从位 (Master/Slave), 为1时, 表明为主(Master)。
  6. DD sequence number: DD报文的序列号。
  7. List of LSA Header: LSA头部的集合, 用于接受方检查LS数据库。

对比OSPFv2的DBD报文,除了选择字段多了v6,还多了一个R位。
在这里插入图片描述

LSR报文:

抓包内容:
在这里插入图片描述

具体内容:
在这里插入图片描述

  1. Link State ID:LSA的标识。
  2. LS Type:参考LSA格式部分。

对比OSPFv2的报文,LSR在OSPFv3中对比opsfv2报文格式:几乎相同,多了一个保留位。
在这里插入图片描述

LSU报文:

抓包内容:
在这里插入图片描述
具体内容:
在这里插入图片描述
LSA报文头:
在这里插入图片描述
在IPv4和IPv6中,OSPF LSA头都是20字节,但是20字节中的内容是不同的。其中,Advertising Router,LS Sequence Number,LS Checksum和length域不变,变化的域有:

  1. Options:
    LSA头中去掉了Option字段,在router-LSA,network-LSA,Inter-area-router-LSA和Link-LSA中加入了Option。Option字段从原来的8位扩展到24位,一些位的定义有了变化。另外,LSA中的每个前缀跟有一个单独的8位的PrefixOption域。

  2. LS type:
    Link State Type是16 位字域,不同于OSPFv2的8位字域,OSPFv3 对Lin kState Type的高3位做了定义,代表泛洪范围。
    在这里插入图片描述
    S2和S1位: S2和S1组合定义了LSA的泛洪范围,如下表,高4位所确定,的数值0x0代表Link-local 范围,0x2 代表区域内泛洪,0x4 代表整个路由域泛洪,其Link-local泛洪范围是OSPFv3新添加的一类范围。其他位的LSA function code,不同数值代表不同类型的LSA。
    在这里插入图片描述

  3. Link State ID:
    该字段长度保持32位不变,但是除了network-LSA和link-LSA外,其他LSA中的该值已经没有了地址意义。比如,一个支持IPv6的路由器在生成多个ASE时,可以给他们依次分配Link State ID:第一个分配0.0.0.1;第二个分配0.0.0.2等等。这时,Link State ID已不具备地址意义,只是为了区分单个路由器产生的多个LSA的一个标识。
    对于network-LSA,Link State ID是DR在链路上的接口地址。当路由器产生link-LSA时,该LSA的Link State ID是该路由器在这个链路上的接口地址。

LSAck报文:

抓包内容:
在这里插入图片描述
具体内容:
在这里插入图片描述

MAC和IP地址都是单播的,LSAck具体内容是LS的age,确认的LS类型,Link State ID,通告这个LSA的路由器ID,并且有LS的序列号(确认的就是依靠序列号进行确认的),还有对应LSA的Link-State-id,然后与OSPFv2报文进行比较:
在这里插入图片描述

并没有什么差别,OSPFv3的ACK报文中多了Link-State-id字段。

LSA报文:

OSPFv3和OSPFv2的LSA对比:
在这里插入图片描述
1类LSA:(Router-LSA)
在这里插入图片描述

  1. Type:
    1— PPP连接
    2—Transit网络
    3—保留
    4—VLink
  2. Options:与Hello报文中的Options相同。

2类LSA:(Network-LSA)
在这里插入图片描述
广播网络和NBMA网络的DR生成,描述本网段链路状态,只在DR所处区域传播,列出了DR所连接的所有Router ID。Link-LSA和Network-LSA的 LS ID 与 Interface ID 相同。

  1. Attached Router:DR所连接的Router ID。
  2. Options:与Hello报文中的Options相同。

3类LSA:(Inter-Area-Prefix-LSA)
在这里插入图片描述
和OSPFv2中的Type-3 LSA(Net summary LSA)对应,该LSA由区域边界路由器ABR生成,在与该LSA相关的区域内传播。每一条Inter-Area-Prefix-LSA描述了一条到达本自治系统的、其他区域的IPv6地址前缀(IPv6 Address Prefix)路由。

  1. Metric:这条路径的花费

  2. PrefixLength:前缀长度

  3. Prefix Options:
    在这里插入图片描述
    NU:No Unicast, 如果为1, 则不参与单播路由计算。
    LA:为1, 表示这个前缀为产生LSA的路由器的接口地址。
    MC:是否多播。
    P:NSSA区域前缀被ABR重新公布时设为1。

4类LSA:(Inter-Area-Router-LSA)
在这里插入图片描述
和OSPFv2中的Type-4 LSA(asbr summary LSA)对应,该LSA由区域边界路由器ABR生成,在与该LSA相关的区域内传播。每一条Inter-Area-Router-LSA描述了一条到达本自治系统的、其他区域的去往边界路由器ASBR的路由。

  1. Options:与Hello报文中的Options相同。
  2. Metric:到其他区域的路由器的花费。
  3. Destination Router ID:目标路由器的Router ID。

5类LSA:(AS-external-LSA)
在这里插入图片描述
由自治系统边界路由器ASBR生成,描述到达其它AS的路由,传播到整个AS(Stub区域除外)。AS的缺省路由也可以用AS-external-LSAs来描述。

  1. E:为1时, 表明为Metric为第2类外部路由的花费。
  2. F:为1时, LSA里带转发地址(Forwarding Address)。
  3. Forwarding Address:转发地址,数据流将经过这个地址。
  4. T:为1时, LSA里带外部路由标记(External Route Tag)。
  5. External Route Tag:外部路由标记,用于ASBR间交流。
  6. Referenced LS type:非0时, LSA带Referenced Link State ID。
  7. Referenced Link State ID:所引用的LS ID,用于ASBR间交流。

7类LSA(Type 7-LSA)报文格式类似5类。

8类LSA:(Link-LSA)
在这里插入图片描述
路由器为每一条链路生成一个Link-LSA,在本地链路范围内传播。每一个Link-LSA描述了该链路上所联系的IPv6地址前缀,包含Link-local地址。

  1. Link-locak interface address:向链路上其他路由器发布自己的Link-local地址.
  2. prefixes:发布这条链路上的IPv6前缀。
    (注: Link-LSA的LS ID与发布此LSA的路由器的Interface ID相同, Network-LSA也是如此)

9类LSA:(Intra-Area-Prefix-LSA)
在这里插入图片描述
每个Intra-Area-Prefix-LSA包含路由器上的IPv6前缀信息,stub网段信息或传输网段(Transit network)的网段信息,该LSA在区域内传播, 发布区域内的前缀。由于Router-LSA和Network-LSA不再包含地址信息,导致了Intra-Area-Prefix-LSAs的引入。

  1. prefixes:本条LSA包含的前缀数目。
  2. Referenced LS type, Referenced Link State ID,Referenced Advertising Router:
    这3个参数表明引用的是哪条router-LSA 或 network-LSA,以及产生这条LSA的路由器。报文中的地址前缀信息即为相应路由器或网段/链路的地址前缀。

参考资料:《HCIE路由交换学习指南》、H3C网络大爬虫

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

OSPFv3报文格式与作用分析 的相关文章

  • GD32F205在IAR上移植FreeRTOS

    目录 简述 xff1a 第一步 xff1a 准备最简工程与系统第二步 xff1a 拷贝源码第三步 xff1a 编译器IAR配置第四步 xff1a 工程代码修改第五步 xff1a 编译工程 简述 xff1a 1 主芯片 xff1a GD32F
  • vscode之C/C++代码自动补全

    目录 准备 xff1a 步骤 xff1a 安装插件重启加载更改配置选项找到 设置 打开json配置添加配置json保存并重新打开vscode即可自动补全 准备 xff1a IDE xff1a vscode 安装就不展开啦 步骤 xff1a
  • git生成公钥

    平台 xff1a Windows 打开git bash 随便在一个目录下右键 xff0c 选择 Git Bash Here 生成公钥命令 ssh keygen t rsa C your email 64 example com 备注 xff
  • CentOS安装arm-linux-gcc交叉编译器

    xff08 注 xff1a 首先需要明确需要安装centos系统的位数 xff0c 即是32位的还是64位的 xff09 1 下载并解压文件 xff1a 下载arm linux gcc 4 4 3 tgz到任意的目录下 xff0c 进入这个
  • STM32F107之CAN配置

    STM32F107属于STMF10x系列的互联型产品 xff0c 所以配有2个CAN模块即CAN1和CAN2 CAN模块正常工作模式和测试模式 xff0c 且测试模式又分为环回模式 静默模式和环回静默模式 xff0c 但一般都使用正常工作模
  • 元学习基本概念笔记

    元学习是深度学习领域最活跃的研究领域之一 人工智能 xff08 AI xff09 社区中的一些思想流派赞成这样的论点 xff0c 即元学习是解锁人工智能 xff08 AGI xff09 的垫脚石之一 近年来 xff0c 我们已经看到了元学习
  • 【数据库】联合索引的最左匹配原则理解

    索引是基于B 43 树实现 xff0c 所以这个最左匹配原则肯定要站在B 43 树的角度上来思考 首先我们看一下单个索引的B 43 树 xff1a 如上图 xff0c 一颗B 43 树根据一个值来构建 xff0c 很容易理解索引的使用 假如
  • debian非正常关机进不了图形界面的解决方法

    昨天调试一个程序的时候 xff0c 把界面设置成了POPUP方式 xff0c 结果触发断点的时候 xff0c 界面不能最小化 xff0c 程序就死到那了 xff0c 动不了 xff0c 没办法只好按电源了 xff0c 结果启动的时候提示 A
  • CVPR18读文笔记:SINT++:Robust Visual Tracking via Adversarial Postive Instance Generation

    CVPR18一共出现了3篇将Adersarial概念应用于tracking xff0c 解决正样本弱的问题 VITAL是用了GAN xff0c 惊为天人 本文国产 xff0c 索然性能不是最优 xff0c 但是VAE 43 DRL 43 S
  • 甲方乙方

    甲方乙方 个人而言 xff0c 2011年的基调是创业 5月 xff0c 一行十人 xff0c 有的刚刚完婚 xff0c 有的即将成为父亲 xff0c 部分人拿出资金 xff0c 大伙儿领着糊口的生活费 xff0c 怀揣莫可名状的热情 xf
  • vnc远程使用教程图解,vnc远程使用教程图解使用流程(经验之谈)

    vnc远程控制不知道大家听说过没有 xff0c 它的中文名叫虚拟网络控制台 xff0c 这是一款优秀的远程控制工具软件 相信大家看到远程控制软件应该已经猜出来了这款软件到底是干嘛的了吧 大家找到过很好用过的vnc远程控制吗 xff1f 今天
  • 云技术是什么_三分钟了解云技术的原理与发展

    什么是云技术 定义 云技术 xff08 Cloud technology xff09 基于云计算商业模式应用的网络技术 信息技术 整合技术 管理平台技术 应用技术等的总称 xff0c 可以组成资源池 xff0c 按需所用 xff0c 灵活便
  • 怎么在vscode上面使用git仓库管理工具

    如何在vscdoe中使用git仓库管理工具 为什么我们要用vscode上面操作git仓库管理工具呢 xff1f 因为我们安装了git后 xff0c 会在命令窗口 xff08 就是windows 43 r gt 输入cmd运行的命令窗口 xf
  • VMware安装linux镜像

    安装Linux详细教程 一 VMware安装linux镜像二 创建快照三 克隆镜像 一 VMware安装linux镜像 点击创建虚拟机 2 有两种安装方式 xff0c 典型有很多东西会自动配置好所以我们选择自定义安装 3 选择安装版本 4
  • 实施CMMI时必须解决的认识问题

    在基于 CMMI 实施软件过程改善时 xff0c 有些根本的思想认识问题解决不了 xff0c 往往会使实施的周期比较长 xff0c 效果不好 xff0c 甚至导致过程改善的失败或中止 软件企业的高层领导 企业的过程改进主管 项目经理及一般的

随机推荐

  • 使用 OpenCV与 HAAR 级联算法进行人脸检测和人脸识别

    AI人脸识别是一种从数字图像或视频帧中识别或验证人脸的技术 人类可以毫不费力地快速识别面部 这对我们来说是一项轻松的任务 xff0c 但对计算机来说却是一项艰巨的任务 因为存在各种复杂性 xff0c 例如低分辨率 遮挡 光照变化等 这些因素
  • Ubuntu 18.04扩展磁盘容量到单独分区

    vmvare下 扩展原有磁盘容量时 xff0c 一般情况下需要删除分区重新划分 xff0c 这样就删除了原有的数据 xff0c 为了保留原有数据 xff0c 把扩展的分区额外划分到一个分区 xff0c 自动挂载到一个目录 xff0c 减少风
  • Ubuntu 15.10使用vnc工具开启远程桌面

    1 在Ubuntu上首先需要安装vnc4server apt get install vnc4server 2 第一次执行vncserver的时候需要为客户端连接设置8位的密码 3 打开服务后 xff0c 根据客户端号连接 也可以指定客户端
  • n模块管理多个版本的node.js

    安装 homebrew方式 brew span class token function install span n github方式 span class token function curl span L https git io
  • 11.23总结

    今天除了上数学课和心里考试全部坐在电脑前刷题 启航oj 4 xff0c 菜鸟杯 oj3 因为我是一个入门比较晚的菜鸟所以我唯一能做的就是挤出所有的时间全部用来补别人已经明白的东西 今天主要的收获就是 字符串三个函数的应用 字符与二维数组的混
  • 11.24总结

    1 jsua oj 0 打算明后两天集中搞菜鸟杯题组 2 启航oj 5 今天上午满课下午都在敲代码 这真的是大一吗 有了昨天的刷题经验今天自己刷题快多了就是被那些提交语言折磨到窒息白白浪费了好多时间 主要学习了蛇形矩阵的算法根据题意判断从那
  • 11.25总结

    博客被吞了一遍 我吐了想一点前上床睡觉有这么难吗 虽然今天一天满课但是我还是学到了很多知识 今天启航oj 1 菜鸟杯补题 4 写了一篇关于党的19届六中全会的文章 主要学习了汉诺塔的数据变化原理 xff0c 递归 加深我对递归的理解 xff
  • 12.1日总结

    刷题数0 真的是挺无语的因为感觉指针链表栈的知识混成一团了 xff0c 只能各种百度 xff0c 最后发现书本里面的才是最香的 虽然没有做出来栈的题目但是大体的基本概念已经理清了 先从链表讲起 一说到结构体 xff0c 指针 xff0c 链
  • 12.2总结(纵使结局不如意,放弃实属下下签。)

    刷题数三 xff0c 菜鸟杯补题2 xff1b 启航栈1 xff1b 终于知道这两天为什么这么痛苦了 我一度难受到窒息因为我看的是链栈我看了两天硬是对这些题目无从下手 xff0c 因为他吧指针 结构体 链表 栈一起结合起来使用 我去搜各种博
  • 12.3日总结 单调栈

    今天就刷了两个题 xff0c 尝试了一个题 xff0c 主要看了单调栈 xff0c 单调栈分为两种一中是栈中元素从栈顶到栈顶呈从小到大的排序的栈这样的栈称为单调递增栈 另一种从栈顶到栈底数据从大到小称为单调递减栈 单调栈的应用一般可以用来求
  • 12.5总结

    开始着手于项目的编写 其实所有事情都是开头难 xff0c 项目也一样 xff0c 第一次写项目必定要接触到很多新东西 xff0c 今天主要遇到了两个新的头文件里面包含了写项目必备的几个函数 stdlib h里面定义了五种类型 一些宏和通用工
  • 搬运! Windbg调试命令详解

    转载注明 gt gt 作者 xff1a 张佩 原文 xff1a http www yiiyee cn Blog 1 概述 用户成功安装微软Windows调试工具集后 xff0c 能够在安装目录下发现四个调试器程序 xff0c 分别是 xff
  • 使用光盘安装Microsoft media foundation

    一 准备 系统 xff1a widnows server 2012 R2 Datacenter 准备文件 xff1a 安装光盘或iso 双击iso文件 xff0c windows server会自动虚拟出一个光驱 假如光驱或虚拟光驱的盘符为
  • 如何用MindManager将导图导出为HTML5交互式导图?

    最新版MindManager 2017中新增了一种导出方式 HTML5交互式导图 xff0c 相信很多人在了解MindManager 2017新功能的时候就已经知道了 本文 xff0c 小编将给大家演示 xff0c 如何将做好的思维导图导出
  • 判断两个IP是否属于同一个子网

    例如 xff1a 192 168 1 1 24和192 168 1 33 27 192 168 1 1 24的ip地址为192 168 1 1 xff0c 子网掩码为255 255 255 0 转化为二进制 xff1a IP地址为 xff1
  • 记录一次K8s-Flannel插件的坑

    版本 xff1a K8s版本1 17 6 部署方式 xff1a ansible 43 kubeadm部署 架构 xff1a master1 43 node2 43 registry私有仓库 执行kubectl apply f kube fl
  • opencv imencode和imdecode使用,用于网络传输图片

    这是C 43 43 版本的 程序首先读入一个图片 然后encode xff0c 之后把encode后的内容写入文件 xff08 实际应用可以发送到网络 xff09 第二步 xff0c 从文件读取encode的内容 然后解码decode 转换
  • 云计算&云存储

    云计算技术 云计算技术主要分为以下几个部分 xff1a 编程模式海量数据分布存储技术海量数据管理技术虚拟化技术云计算平台管理技术 云计算应用 云计算应用主要包含以下六个部分 xff1a 密码优先检查安全问题加密方法管理密码双重认证备份 云存
  • 用C语言实现字符串反转函数strrev的经典方法

    字符串反转函数strrev不是C语言标准库函数 xff0c 很多C语言编译器并没有提供对它的支持 xff0c 比如你在Linux下输入Shell命令man 3 strlen xff0c 屏幕上会显示 xff0c STRLEN 3 Linux
  • OSPFv3报文格式与作用分析

    OSPFv3报头 xff1a 实际抓包 xff1a 具体内容 xff1a Version xff1a 3 Type xff1a 报文类型 1 Hello 2 DD 3 LSR 4 LSU 5 LSAck Packet length xff1