华为HCIE课堂笔记第十二章 ICMPv6和NDP协议
第十二章 ICMPv6和NDP
12.1 背景
ICMPv6协议用于IPV6协议的消息传递:地址解析、重复地址检测、无状态地址配置、NDP协议、路径MTU发现。
12.2 ICMPv6介绍
ICMPv6的头部字段包含Type字段、Code字段、校验和字段。
消息分为两种:
- 查错消息:Type字段(8bit),最高bit位为0的消息,即Type字段取值为0-127。主要的消息种类如下:
- 目的不可达,Type为1
- 数据包过长,Type为2,用于路径MTU发现
- 超时,Type为3
- 参数错误,Type 类型为4
- 信息消息:Type字段的最高bit位为1的消息,即Type字段取值范围是128-255。常见的消息类型如下:
- ICMPv6的请求消息,消息类型为128
- ICMPv6的应答消息,消息类型为129
邻居发现(RFC2461和RFC4861)如下:
-
- Type=133,路由器请求(Router Solicitation)
- Type=134,路由器公告(Router Advertisement)
- Type=135,邻居请求(Neighbor Solicitation)
- Type=136,邻居公告(Neighbor Advertisement)
- Type=137,重定向 (Redirect)
组播侦听者发现协议(RFC2710和RFC3810),组播发现协议有两个版本MLDv1和MLDv2,对应IGMPv2和IGMPv3,原理相同,使用报文如下:
-
- Type=130,查询消息
- Type=131,报告消息
- Type=132,离开消息
- Type=143,MLDv2报告消息
12.3 ICMPv6报文的应用
12.3.1 Path-MTU发现(路径MTU发现)
IPV6的通信仅在源端进行报文的分片操作,路径中的设备不进行报文分片仅依据基本IPV6头部转发数据,提高转发效率。因此源端需要探测出源端到达目的端的最小MTU值。
原理:源端按照自己的MTU值发送数据给到目的端,沿途经过的设备如果出现报文的大小大于自己的MTU值时,则向源端发送Type类型为2的ICMPv6报文,表示数据包过大,并提供本地的MTU值,直到报文到达目的端,因此源端获取了整个路径上的最小MTU值,按照最小MTU值转发数据。
12.4 NDP协议邻居发现协议
12.4.1 路由器发现(RA和RS报文)
- 路由器发现:主机选择链路上的哪个路由器作为缺省网关,通过RA报文通告参数。
- 前缀发现:路由器通过RA报文通告自己的前缀,主机根据获取前缀配置IPv6地址。(无状态自动配置)
- 参数发现:路由器通过RA报文通告相应的参数:缺省跳数限制,地址配置方式。
- RA报文的发送方式:
- 周期发送,发送间隔默认200s-600s之间
- 触发发送,主机发送RS报文之后,路由器通过RA响应。
- 主机通过接收到RA报文之后,产生缺省路由,缺省路由下一跳指向路由器的该链路的链路本地地址。
12.4.2 地址解析
1、PC1访问PC2,首先进行MAC地址解析,发送NS报文(邻居请求报文),目的IP地址为PC2的接口的IPV6的地址对应的被请求节点组播组地址。
2、PC2收到后,确认目的IPv6组播地址是自己加入的组播组,因此相应ICMPv6的NA报文,单播将自己的MAC地址返回给PC1
12.4.3 邻居发现
存在5个状态:
- Incomplete(未完成):已经发送了NS报文,但是没有收到NA报文,本地的邻居表中不存在邻居的MAC地址,表项不完整
- Reachable状态(可达):收到邻居的NA报文,本地表项完整(包含MAC地址),在可达时间内(默认30s)
- Stale状态(陈旧):邻居表项闲置30s没有进行通信,则邻居状态从Reachable状态切换为Stale状态
- Delay状态(延迟):在Stale状态本地发送IPV6报文和NS报文给到邻居,进入到Delay状态等待回复。如果收到了NA回复,则再次进入到Reachable可达状态。如果规定时间没有收到NA回复,则进入到Probe状态。
- Probe状态(探测):在该状态连续3秒,每秒一次,发送三个NS报文进行邻居探测,如果规定时间有响应,则邻居状态切换为可达状态,如果没有响应,则删除表项。
12.4.5 重复地址检测
任何一个单播地址在使用前都需要进行重复地址检测,此时单播地址的状态是实验地址:
- PC1与PC2地址重复,PC1新配置,PC2早配置(PC2的地址已经经过了重复地址检测)
- PC1通过NS报文进行探测,NS报文中的源IPV6地址为::,目的IPv6地址为待检测的IPV6地址的被请求节点组播组地址。
- 如果存在地址冲突,PC2则会响应该NS报文,通过NA报文告知PC1,报文中源IPV6地址是重复地址(已通过检测的),目的地址所有节点组播地址。PC1收到后,确定接口的地址存在地址冲突
- 特殊情况:双方同时使用一个相同地址,两边的地址状态都是实验地址,一边先发发送NS报文,则另一边收到后不会发送NS报文,也不会发送NA,直接放弃使用该地址。(先后问题)
12.4.6 重定向功能
和IPV4情况相同
相关文章:
华为HCIE课堂笔记第十二章 ICMPv6和NDP协议
第十二章 ICMPv6和NDP 12.1 背景 ICMPv6协议用于IPV6协议的消息传递:地址解析、重复地址检测、无状态地址配置、NDP协议、路径MTU发现。 12.2 ICMPv6介绍 ICMPv6的头部字段包含Type字段、Code字段、校验和字段。 消息分为两种: 查错消息ÿ…...
GNSS科研常用相关网站及资源
代码类: Github GitHub: Let’s build from here GitHub 导航相关开源项目 GNSS:RTKLIB、GAMP II-GOOD、GPSTest、GNSSLogger 组合导航:ignav、VINS、Multi_Sensor_Fusion Gitee(从Github导入后快速下载库) Gi…...
进程的创建与回收学习笔记
目录 一、进程内容: 二、进程常用命令 三、创建子进程 四、子进程进阶 五、进程的退出 六、进程的回收 一、进程内容: 程序: 存放在磁盘上的指令和数据的有序集合(文件) 静态的 进程: 执行一个程序所…...
【CCNet】《CCNet:Criss-Cross Attention for Semantic Segmentation》
ICCV-2019 文章目录 1 Background and Motivation2 Related Work3 Advantages / Contributions4 Method5 Experiments5.1 Datasets and Metrics5.2 Experiments on Cityscapess5.3 Experiments on ADE20K5.4 Experiments on COCO 6 Conclusion(own) 1 Ba…...
Qt QSQlite数据库插入字符串中存在单个双引号或单个单引号解决方案
1. 前言 当进行数据库写入或更新时,有时会遇到存在字符串中包含单个双引号或者单引号。 2. 单引号和双引号""作用 在数据库中,字符串常量时需要用一对英文单引号或英文双引号""将字符串常量括起来。 比如: select * …...
Linux系统中的IP地址、主机名、和域名解析
1.IP地址 每一台联网的电脑都会有一个地址,用于和其它计算机进行通讯 IP地址主要有2个版本,V4版本和V6版本(V6很少用,暂不涉及) IPv4版本的地址格式是:a.b.c.d,其中abcd表示0~255的数字&…...
soc算法【周末总结】
1 实验一(SOC误差30%放电实验) 1.1 实验过程 1、对电池包进行充电,将昨天放空的电池包进行充电,充电至SOC40%左右; 2、电池包SOC为38%时,手动修改SOC值为70%,开始放电 3、SOC由70%缓慢降至4…...
SpringBoot之优化高并发场景下的HttpClient并提升QPS
HttpClient优化思路 使用连接池(简单粗暴) 长连接优化(特殊业务场景) httpclient和httpget复用 合理的配置参数(最大并发请求数,各种超时时间,重试次数) 异步请求优化࿰…...
go-zero 如何在任意地方获取yaml中的值
1、config配置文件中新增全局变量 package configimport "github.com/zeromicro/go-zero/rest"type Config struct {rest.RestConfDB struct {DataSource string}Redis struct {Addr stringPassWord stringUserName string}Auth struct {AccessSecret stringAcc…...
C++20结构化绑定应用实例(二百五十六)
简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…...
改进YOLOv8注意力系列四:结合中心化特征金字塔EVCBlock、大核卷积注意力LKA_Attention、全局注意力MobileViTAttention
改进YOLOv8注意力系列三:结合CrissCrossAttention、ECAAttention、EMAU期望最大化注意力 代码大核卷积注意力LKA_Attention中心化特征金字塔EVCBlock全局注意力MobileViTAttention加入方法各种yaml加入结构本文提供了改进 YOLOv8注意力系列包含不同的注意力机制以及多种加入方…...
idea中使用Lombok 失效,@Slf4j 找不到符号的解决办法
文章目录 一、前言二、问题排查和解决方案三、 其他解决方案3.1 另一种解决方案3.2 参考文章 一、前言 今天在一个多module工程中,新增了一个 springboot(版本 2.2.4.RELEASE) module,像往常一样,我引入了lombok依赖&…...
MySQL修炼手册8:约束与完整性:保证数据的一致性
目录 写在开头1 主键与唯一键约束1.1 PRIMARY KEY约束的作用1.2 主键的复合使用1.3 主键的修改与删除1.4 UNIQUE约束的应用场景1.5 主键与唯一键约束的性能影响1.6 主键的自动增长1.7 主键的最佳实践1.8 独特性与业务需求1.9 避免过度使用唯一约束1.10 主键与唯一键的关系 2 外…...
React入门 - 03(初识 React 组件和 JSX)
本章内容 目录 1.初识 React 组件2.关于 JSX 继上一节的工程案例,我们这一节主要了解一下 React组件和 “JSX 语法”。 前置知识点:ES6模块化&继承 1.初识 React 组件 1、打开 src/index.js文件(项目的入口文件)内容&…...
华为OD机试 - 反射计数(Java JS Python C)
题目描述 给定一个包含 0 和 1 的二维矩阵。 给定一个初始位置和速度,一个物体从给定的初始位置出发,在给定的速度下进行移动,遇到矩阵的边缘则发生镜面发射。 无论物体经过 0 还是 1,都不影响其速度。 请计算并给出经过 t 时间单位后,物体经过 1 点的次数。 矩阵以左…...
Linux系统中使用systemctl命令控制软件的启动和关闭
Linux系统很多软件(内置或第三方)均支持使用systemctl命令控制:启动、停止、开机自启 能够被systemctl管理的软件,一般也称之为:服务 1.功能和语法 功能:控制系统服务的启动关闭等 语法:syst…...
2024年01月微软更新Bug 已解决 !Explorer.EXE 提示:Windows无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。
前倾概要 近期大量出现如上图问题,杀毒,系统急救箱都没反应,罪魁祸首就是微软更新! 点击什么都是:Windows无法访问指定设备、路径或文件。你可能没有适当的权限访问该项目。 但软件使用正常,还能通过建立…...
Qt/QML编程学习之心得:slider(34)
滑条slider,有时也成为进度条progressbar,在GUI界面中也是经常用到的。 import QtQuick 2.9 import QtQuick.Controls 2.0 import QtQuick.Layouts 1.2ApplicationWindow {id:rootvisible: truewidth: 1920height: 720//title: qsTr("Hello World&q…...
使用metricbeat 监控多ES集群
背景 ES 本身自带 监控,属于xpack 中的内容,为商业版,需要收费; 并且 monitor 功能必须要在security开启后才能使用,还有就是集群监控自己,将采集到的性能数据保存到本集群,这是一个比较差的设…...
阿里云服务器+宝塔 (尝试部署一个最简单的静态页面)
1. 免费白嫖一个阿里服务器 进入网址:服务器购买地址 选择预装宝塔面板 购买完成后前往控制台 查看当前实例 设置或修改密码 设置用户名和密码 2. 远程连接到服务器 2.1. 使用Workbench连接 输入用户名和密码连接成功页面如下: 2.2. 使…...
挑战杯推荐项目
“人工智能”创意赛 - 智能艺术创作助手:借助大模型技术,开发能根据用户输入的主题、风格等要求,生成绘画、音乐、文学作品等多种形式艺术创作灵感或初稿的应用,帮助艺术家和创意爱好者激发创意、提高创作效率。 - 个性化梦境…...
中南大学无人机智能体的全面评估!BEDI:用于评估无人机上具身智能体的综合性基准测试
作者:Mingning Guo, Mengwei Wu, Jiarun He, Shaoxian Li, Haifeng Li, Chao Tao单位:中南大学地球科学与信息物理学院论文标题:BEDI: A Comprehensive Benchmark for Evaluating Embodied Agents on UAVs论文链接:https://arxiv.…...
vue3 字体颜色设置的多种方式
在Vue 3中设置字体颜色可以通过多种方式实现,这取决于你是想在组件内部直接设置,还是在CSS/SCSS/LESS等样式文件中定义。以下是几种常见的方法: 1. 内联样式 你可以直接在模板中使用style绑定来设置字体颜色。 <template><div :s…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
生成 Git SSH 证书
🔑 1. 生成 SSH 密钥对 在终端(Windows 使用 Git Bash,Mac/Linux 使用 Terminal)执行命令: ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" 参数说明: -t rsa&#x…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
安宝特方案丨船舶智造的“AR+AI+作业标准化管理解决方案”(装配)
船舶制造装配管理现状:装配工作依赖人工经验,装配工人凭借长期实践积累的操作技巧完成零部件组装。企业通常制定了装配作业指导书,但在实际执行中,工人对指导书的理解和遵循程度参差不齐。 船舶装配过程中的挑战与需求 挑战 (1…...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
比较数据迁移后MySQL数据库和OceanBase数据仓库中的表
设计一个MySQL数据库和OceanBase数据仓库的表数据比较的详细程序流程,两张表是相同的结构,都有整型主键id字段,需要每次从数据库分批取得2000条数据,用于比较,比较操作的同时可以再取2000条数据,等上一次比较完成之后,开始比较,直到比较完所有的数据。比较操作需要比较…...
tomcat入门
1 tomcat 是什么 apache开发的web服务器可以为java web程序提供运行环境tomcat是一款高效,稳定,易于使用的web服务器tomcathttp服务器Servlet服务器 2 tomcat 目录介绍 -bin #存放tomcat的脚本 -conf #存放tomcat的配置文件 ---catalina.policy #to…...
