华为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. 使…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
解决本地部署 SmolVLM2 大语言模型运行 flash-attn 报错
出现的问题 安装 flash-attn 会一直卡在 build 那一步或者运行报错 解决办法 是因为你安装的 flash-attn 版本没有对应上,所以报错,到 https://github.com/Dao-AILab/flash-attention/releases 下载对应版本,cu、torch、cp 的版本一定要对…...
CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云
目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...
【C++从零实现Json-Rpc框架】第六弹 —— 服务端模块划分
一、项目背景回顾 前五弹完成了Json-Rpc协议解析、请求处理、客户端调用等基础模块搭建。 本弹重点聚焦于服务端的模块划分与架构设计,提升代码结构的可维护性与扩展性。 二、服务端模块设计目标 高内聚低耦合:各模块职责清晰,便于独立开发…...

【VLNs篇】07:NavRL—在动态环境中学习安全飞行
项目内容论文标题NavRL: 在动态环境中学习安全飞行 (NavRL: Learning Safe Flight in Dynamic Environments)核心问题解决无人机在包含静态和动态障碍物的复杂环境中进行安全、高效自主导航的挑战,克服传统方法和现有强化学习方法的局限性。核心算法基于近端策略优化…...
CRMEB 中 PHP 短信扩展开发:涵盖一号通、阿里云、腾讯云、创蓝
目前已有一号通短信、阿里云短信、腾讯云短信扩展 扩展入口文件 文件目录 crmeb\services\sms\Sms.php 默认驱动类型为:一号通 namespace crmeb\services\sms;use crmeb\basic\BaseManager; use crmeb\services\AccessTokenServeService; use crmeb\services\sms\…...

Vue ③-生命周期 || 脚手架
生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...

Linux中《基础IO》详细介绍
目录 理解"文件"狭义理解广义理解文件操作的归类认知系统角度文件类别 回顾C文件接口打开文件写文件读文件稍作修改,实现简单cat命令 输出信息到显示器,你有哪些方法stdin & stdout & stderr打开文件的方式 系统⽂件I/O⼀种传递标志位…...