计算机网络-ICMPv6基础概念

前面我们学习了IPv6的基础概念以及IPv6地址的格式与分类,在IPv4中我们通过ARP、广播、ICMP进行地址冲突检测、网络连通性,但是在IPv6中是没有广播和ARP的,都是通过ICMPv6来实现其功能,所以这里我们需要了解下ICMPv6。

一、ICMP协议

ICMP(Internet Control Message Protocol)是互联网控制消息协议,它是TCP/IP协议族中一个重要的网络层协议,主要负责在网络设备(如主机、路由器)之间传递控制消息。

ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。

主机间连通性
主机间连通性

ICMP消息封装在IP报文中,IP报文头部Protocol值为1时表示ICMP协议。ICMP消息的格式取决于TypeCode字段,其中Type字段为消息类型,Code字段包含该消息类型的具体参数。校验和字段用于检查消息是否完整。

ICMP报文
ICMP报文

1.1 ICMP差错控制

ICMP的一个典型应用是Ping。Ping是检测网络连通性的常用工具,同时也能够收集其他相关信息。用户可以在Ping命令中指定不同参数,如ICMP报文长度、发送的ICMP报文个数、等待回复响应的超时时间等,设备根据配置的参数来构造并发送ICMP报文,进行Ping测试。

Ping检测应用 简单说就是发送(8,0)的echo request,然后目的主机发送(0,0)的echo reply报文代表网络连通性正常。

报文抓包
报文抓包

1.2 ICMP错误报告

ICMP定义了各种错误消息,用于诊断网络连接性问题;根据这些错误消息,源设备可以判断出数据传输失败的原因。如:当网络设备无法访问目标网络时,会自动发送ICMP目的不可达报文到发送端设备。

功能:Tracert Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。Tracert是检测网络丢包和时延的有效手段,同时可以帮助管理员发现网络中的路由环路。

ICMP的另一个典型应用是Tracert。Tracert基于报文头中的TTL值来逐跳跟踪报文的转发路径。为了跟踪到达某特定目的地址的路径,源端首先将报文的TTL值设置为1。该报文到达第一个节点后,TTL超时,于是该节点向源端发送TTL超时消息,消息中携带时间戳。然后源端将报文的TTL值设置为2,报文到达第二个节点后超时,该节点同样返回TTL超时消息,以此类推,直到报文到达目的地。这样,源端根据返回的报文中的信息可以跟踪到报文经过的每一个节点,并根据时间戳信息计算往返时间。

Tracert
Tracert

1.3 ICMP重定向

ICMP重定向报文是ICMP控制报文中的一种。在特定的情况下,当路由器检测到一台机器使用非最优路由的时候,它会向该主机发送一个ICMP重定向报文,请求主机改变路由。

ICMP重定向过程:

  • 主机A希望发送报文到服务器A,于是根据配置的默认网关地址向网关RTB发送报文。
  • 网关RTB收到报文后,检查报文信息,发现报文应该转发到与源主机在同一网段的另一个网关设备RTA,此转发路径是更优的路径,所以RTB会向主机发送一个Redirect消息,通知主机直接向另一个网关RTA发送该报文。
  • 主机收到Redirect消息后,会向RTA发送报文,然后RTA会将该报文再转发给服务器A。
ICMP重定向
ICMP重定向

二、ICMPv6协议

ICMPv6(Internet Control Message Protocol version 6)是专为IPv6网络设计的控制消息协议,作为IPv6协议栈的一个重要组成部分,它继承了ICMPv4的基本功能,并针对IPv6的新特性进行了扩展和优化。

作用与用途:

  • 网络诊断与故障检测: 类似于ICMPv4,ICMPv6支持ping6命令来测试网络连通性,通过Echo Request/Reply报文进行双向确认。traceroute6工具则利用ICMPv6消息来追踪数据包的路由路径。

  • 错误报告与通知: 当IPv6数据包在传输过程中遇到问题时,ICMPv6发送差错报文通知发送方。这些报文类型包括Destination Unreachable、Packet Too Big、Time Exceeded、Parameter Problem等,对应不同的错误情况。

  • 网络配置与维护: ICMPv6在IPv6环境中承担了更多的网络配置和维护任务,尤其是通过邻居发现协议(Neighbor Discovery Protocol, NDP)实现的功能,包括:

    • 地址解析(替代IPv4 ARP): 使用Neighbor Solicitation(NS,类型135)和Neighbor Advertisement(NA,类型136)报文实现节点间地址解析。
    • 重复地址检测(DAD): 新节点通过发送NS报文验证其拟使用的IPv6地址是否唯一。
    • 路由器发现与选择: 节点通过Router Solicitation(RS,类型133)和Router Advertisement(RA,类型134)报文发现并选择默认路由器。
    • 前缀发现与状态更新: RA报文携带网络前缀信息,使节点能自动配置IPv6地址,并了解前缀变化情况。
    • 重定向: 路由器发送Redirect报文(类型137)指导节点使用更优的下一跳地址。

ICMPv6与IPv6紧密集成,是IPv6协议栈的标准组件,用于补充和增强IPv6协议的功能。ICMPv6位于网络层(第三层),与IPv6协议直接交互,为上层协议(如TCP、UDP)提供网络状况反馈和诊断服务。

2.1 ICMPv6报文

ICMPv6报文结构
ICMPv6报文结构
  • ICMPv6报文载荷由ICMPv6报文类型决定,因报文类型的不同而不同。
  • Type:表明消息的类型。
  • Code:表示消息类型的细分。
  • Checksum:表示ICMPv6报文的校验和。

ICMPv6报文分类两类:差错消息信息消息

报文类型
报文类型

2.2 ICMPv6-Path MTU发现

在IPv6中,中间转发设备不对报文进行分片而是在源设备进行分片,那源设备怎样知道路径上的MTU是多少呢?这里通过Path MTU来检测。

Path MTU发现
Path MTU发现

简单就是需要获取路径上接口的最小MTU,然后在源设备进行分片。

2.3 ICMPv6-Ping应用

Ping应用
Ping应用

通过发送(128,0)echo request和(129,0)echo reply报文进行联通性测试。

上面的是ICMPv6的基本报文类型,除了上面的还有一些专门为了IPv6实现功能的报文类型下次继续。

总结:ICMP协议用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着至关重要的作用。常见的如:PingTracertroute重定向等等。ICMPv6是专为IPv6网络设计的控制消息协议,作为IPv6协议栈的一个重要组成部分,它继承了ICMPv4的基本功能,并针对IPv6的新特性进行了扩展和优化。除了支持ICMP的功能还扩展了一些报文用以支持IPv6如NDP地址解析、邻居发现等。

如果对文章感兴趣欢迎微信搜索公众号:不喜欢热闹的孩子 不喜欢热闹的孩子

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/320224.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一个基于ComfuUI Api的 AIGC自动绘画实现方案

工作流程图 基本原理已经弄通,下一步要开始编码搬砖了。整个自动绘画的流程如下,暂就不整高深U什么L了,写个简单明了能容易看懂的流程图。UI借用了下墨刀里的AI绘画公开原型 部署节点 整个系统的后端服务典型部署需要3类节点 Aigc Server&…

mac/windows下安装docker,minikube

1、安装docker Get Started | Docker 下载安装docker 就行 启动后,就可以正常操作docker了 使用docker -v 验证是否成功就行 2、安装minikube,是基于docker-desktop的 2.1、点击设置 2.2、选中安装,这个可能需要一点时间 这样安装后&…

【研发管理】产品经理知识体系-组合管理

导读:新产品开发的组合管理是一个重要的过程,它涉及到对一系列新产品开发项目进行策略性选择、优先级排序、资源分配和监控。这个过程旨在确保企业能够最大化地利用有限的资源,以实现其战略目标。 目录 1、组合管理、五大目标 2、组合管理的…

OpenCV的周期性噪声去除滤波器(70)

返回:OpenCV系列文章目录(持续更新中......) 上一篇:OpenCV如何通过梯度结构张量进行各向异性图像分割(69) 下一篇 :OpenCV如何为我们的应用程序添加跟踪栏(71) 目录 目标 理论 如何消除傅里叶域中的周期性噪声? 源代码 解释 结果 目…

详解基于 RAG 的 txt2sql 全过程

前文 本文使用通义千问大模型和 ChromaDB 向量数据库来实现一个完整的 text2sql 的项目,并基于实际的业务进行效果的展示。 准备 在进行项目之前需要准备下面主要的内容: python 环境通义千问 qwen-max 模型的 api-keyChromaDB 向量数据库acge_text_…

Sharding Capital: 为什么投资全链流动性基础设施 Entangle ?

写在前面:Entangle 项目的名称取自于量子纠缠(Quantum entanglement),体现了项目对于构建连接、关联和互通的愿景。就像量子纠缠将不同的粒子联系在一起,Entangle 旨在通过其跨链流动性和合成衍生品的解决方案将不同的区块链网络连接在一起&a…

django设计模式理解FBV和CBV

在 Web 开发中,FBV(Function-Based Views)和 CBV(Class-Based Views)是两种常见的视图设计模式,用于处理 HTTP 请求并生成相应的响应。下面是它们的简要解释: Function-Based Views (FBV) 在 …

激发创新活力,泸州老窖锻造人才“铁军”(内附长江酒道短评)

执笔 | 姜 姜 编辑 | 古利特 刚刚站上300亿元新台阶&#xff0c;泸州老窖再次传来喜讯。 <<<左右滑动查看更多>>> 4月28日&#xff0c;四川省庆祝“五一”国际劳动节大会在成都召开。泸州老窖股份有限公司工业4.0项目秘书长赵丙坤、泸州老窖酿酒有限责任公…

VS Code 远程连接 SSH 服务器

文章目录 一、安装 Remote - SSH 扩展并连接远程主机二、免密连接远程主机1. 生成 SSH 密钥对2. 将公钥复制到远程服务器3. 配置 SSH 客服端4. 连接测试 随着技术的不断迭代更新&#xff0c;在 Linux 系统中使用 Vim、nano 等基于 Shell 终端的编辑器&#xff08;我曾经也是个 …

利用AI大模型和Echarts 绘制知识图谱,实现文本信息提取和图数据库操作

引言 随着信息时代的到来&#xff0c;海量的文本数据成为了我们获取知识的重要来源。然而&#xff0c;如何从这些文本数据中提取出有用的信息&#xff0c;并将其以可视化的方式展示出来&#xff0c;一直是一个具有挑战性的问题。近年来&#xff0c;随着人工智能技术的发展&…

热敏电阻符号与常见术语详细解析

热敏电阻是一种电阻器&#xff0c;其特点是电阻值随温度的变化而显著变化&#xff0c;这使得它们成为非常有用的温度传感器。它们可以由单晶、多晶或玻璃、塑料等半导体材料制成&#xff0c;并分为两大类&#xff1a;正温度系数热敏电阻&#xff08;#PTC热敏电阻#&#xff09;和…

纯血鸿蒙APP实战开发——短视频切换实现案例

短视频切换实现案例 介绍 短视频切换在应用开发中是一种常见场景&#xff0c;上下滑动可以切换视频&#xff0c;十分方便。本模块基于Swiper组件和Video组件实现短视频切换功能。 效果图预览 使用说明 上下滑动可以切换视频。点击屏幕暂停视频&#xff0c;再次点击继续播放…

场外个股期权和场内个股期权的优缺点是什么?

场外个股期权和场内个股期权的优缺点 场外个股期权是指在沪深交易所之外交易的个股期权&#xff0c;其本质是一种金融衍生品&#xff0c;允许投资者在股票交易场所外以特定价格买进或卖出证券。场内个股期权是以单只股票作为标的资产的期权合约&#xff0c;其内在价值是基于标…

深度学习-线性回归+基础优化算法

目录 线性模型衡量预估质量训练数据参数学习训练损失最小化损失来学习参数显式解 总结基础优化梯度下降选择学习率 小批量随机梯度下降选择批量大小 总结线性回归的从零开始实现实现一个函数读取小批量效果展示这里可视化看一下 线性回归从零开始实现线性回归的简洁实现效果展示…

HCIP第二节

OSPF&#xff1a;开放式最短路径协议&#xff08;属于IGP-内部网关路由协议&#xff09; 优点&#xff1a;相比与静态可以实时收敛 更新方式&#xff1a;触发更新&#xff1a;224.0.0.5/6 周期更新&#xff1a;30min 在华为设备欸中&#xff0c;默认ospf优先级是10&#…

vue3+vite+js 实现移动端,PC端响应式布局

目前使用的是vue3vite&#xff0c;没有使用ts 纯移动端|PC端 这种适用于只适用一个端的情况 方法&#xff1a;amfe-flexible postcss-pxtorem相结合 ① 执行以下两个命令 npm i -S amfe-flexible npm install postcss-pxtorem --save-dev② main.js文件引用 import amfe-f…

使用固定公网地址远程访问开源服务器运维管理面板1Panel管理界面

文章目录 前言1. Linux 安装1Panel2. 安装cpolar内网穿透3. 配置1Panel公网访问地址4. 公网远程访问1Panel管理界面5. 固定1Panel公网地址 前言 1Panel 是一个现代化、开源的 Linux 服务器运维管理面板。高效管理,通过 Web 端轻松管理 Linux 服务器&#xff0c;包括主机监控、…

【前端】输入时字符跳动动画实现

输入时字符跳动动画实现 在前端开发中&#xff0c;为了提升用户体验&#xff0c;我们经常需要为用户的交互行为提供即时的反馈。这不仅让用户知道他们的操作有了响应&#xff0c;还可以让整个界面看起来更加生动、有趣。本文将通过一个简单的例子讲解如何实现在用户输入字符时…

更适合宝妈和上班族的兼职,每天2小时收入250+的微头条项目

许多人通过撰写微头条赚取收入&#xff0c;但这通常需要自己寻找素材&#xff0c;然后逐字逐句地进行改编创作&#xff0c;整个过程既繁琐又低效。 然而&#xff0c;如今全球范围内的AI工具正如雨后春笋般涌现。百度推出了文心一言&#xff0c;阿里巴巴推出了AI工具通义千问&a…

Stateflow基础知识笔记

01--Simulink/Stateflow概述 Stateflow是集成于Simulink中的图形化设计与开发工具&#xff0c;主要 用于针对控制系统中的复杂控制逻辑进行建模与仿真&#xff0c;或者说&#xff0c; Stateflow适用于针对事件响应系统进行建模与仿真。 Stateflow必须与Simulink联合使用&#…