ICMPv6

Part 1: Overview

ICMPv6是工作于IPv6网络中的ICMP版本,在无法正确处理数据包时就会发送有关网络状况的信息。

例如,如果路由器无法将超大数据包发送到其他网络上时,就会向源主机发送ICMP消息。源主机通过该ICMP消息即可确定更佳的数据包大小并重新发送数据。

此外,ICMP还执行诊断功能,如ping。

ICMPv6比ICMPv4功能更加强大。

如ICMPv6包含了IPv4用于管理多播组成员关系的IGMP,包含了IPv4中负责将二层地址映射为IP地址的ARP/RARP功能。此外,还引入了ND(Neighbor Discover)机制。ND利用ICMPv6消息来确定连接在同一条链路上的邻居的链路层地址,还可以发现路由器、追踪路由器可达性并检测发生变化的链路层地址。ICMPv6定义了新的地址类型,以简化网络的重新编址工作,并在主机和路由器之间更新地址信息。ICMPv6还支持移动IPv6。ICMPv6是IPv6的一部分,每个IPv6节点都必须完全实现ICMPv6。

ICMPv6 RFC 4443, 4884

Neighbor Discover, ND  RF 2461

Part 2: ICMPv6消息格式

类型(8-bit) 代码(8-bit) 校验和(16-bit) 消息正文(可变长度)

类型(Type 8-bit):指定ICMPv6消息类型,决定该消息剩余部分的格式。

代码(Code 8-bit):取决于消息类型,可以为类型字段提供更精确的说明。

校验和(Checksum 16-bit)

消息正文:ICMPv6包的大小不能超过IPv6 MTU的最小值1280字节。

ICMP消息可以分为两类:

ICMP error message(type: 00000000 - 01111111, 0 - 127)

  • Destination Unreachable(message type 1)
  • Packet Too Big(message type 2)
  • Time Exceeded(message type 3)
  • Parameter problem(message type 4)

ICMP information message(type: 10000000 - 11111111, 128 - 255)

  • Echo Request(Message type 128)
  • Echo Reply(Message type 129)

IMCPv4最新列表:http://www.iana.org/assignments/icmpv4-parameters

IMCPv6最新列表:http://www.iana.org/assignments/icmpv6-parameters

Part 3:Neighbor Discover, RFC 2461

IPv6节点利用邻居发现机制实现以下功能:

  • 用于IPv6地址的自动配置
  • 确定网络前缀、路由以及配置信息
  • 用于IP地址的重复检测
  • 确定同一链路上各节点的二层地址
  • 发现可以转发其数据包的邻居路由器
  • 追踪哪些邻居可达,哪些邻居不可达(Neighbor Unreachable Detection)
  • 检测发生变化的链路层地址

邻居发现协议包括5种ICMP消息:

  • Router Solicitation/Router Advertisement 消息对
  • Neighbor Solicitation/Neighbor Advertiement 消息对
  • ICMP Redirect 消息

1. Router Soliciation & Router Advertisement message

路由器会周期性地发出Router Advertisement消息。主机可以通过发送Router Soliciation消息来请求路由器宣告消息。

2. Neighbor Solicitation/Neighbor Advertiement 消息

该消息完成两大功能:

  • 链路层地址解析
  • 邻居不可达检测机制

3. Redirect 消息

路由器通过发送ICMP重定向消息,告诉节点在去往给定目的端的路径上有更优的下一跳。此外,重定向消息还可以告诉节点,目的端实际上就是同一链路上的节点,而不是位于远程子网的节点。

时间: 2024-08-24 18:37:41

ICMPv6的相关文章

58、IPv6访问控制列表及ICMPv6简介

ICMPv6作用: Path MTU Discovery 检测传输线路MTU NDP-Replace ARP 代替IPv4的ARP解析协议 NDP-Prefix Advertisement 前缀通过,由于autoconfig Duplicate Address Detection 地址冲突检测

2016-4-18 ICMPv6协议[RFC2463]--报文详解

Technorati 标签: IPv6,ICMPv6,CCIE,路由,ICMP差错 概要 --ICMPv6 (Internet Control Message protocol for the IPv6)是IPv6的基础协议之一.定义在RFC2463中. --用于传递报文转发中产生的信息或者错误. --ICMPv6定义的报文被广泛的应用在其他协议中.包括:NDP(neighbor discovery protocol, PathMTU路径发现机制,MLD协议[替代IPv4中组播的IGMP协议]等

ICMPv6和IPv6 NDP

ICMPv6 IPV4使用ICMP做很多事情,诸如目的地不可达等错误消息以及ping和traceroute等诊断功能.ICMPv6也提供了这些功能,但不同的是,它不是独立的第3层协议.ICMPV6是IPV6不可分割的部分,其信息包含在基本IPv6报头后面的扩展报头中,ICMPv6新增了一项功能:默认情况下,可通过ICMPv6过程"路径MTU发现"来避免IPv6对分组进行分段. 路径MTU发现过程工作原理:源节点发送一个分组,其长度为本地链路的MTU.在该分组前往目的地的过程中,如果链路

ICMPv6协议中各种Type的详细取值范围及其含义

https://www.ipv6s.com/basis/20100912134.html 在ICMPv6中的Type字段定义中,0-127为错误消息(Error messages),而128-255为信息消息(Informational messages),其中每种Type定义一种类型及其含义分类,而部分Type中由根据Code值指定该类别下更详细的错误或信息分类. 针对ICMPv6协议属于IPv6协议的一部分,因此该部分对IPv6的ND邻居发现协议进行了很详细的分类,ND邻居发现协议由ICMP

Androidstudio对小白来说干啥啥不行,报错第一名:报错1:Emulator: D:\Android\SDK\emulator\qemu\windows-x86_64\qemu-system-x86_64.exe: icmpv6 ICMP6_ECHO_REQUEST

对于咋们小白来说,真的太难了(土拨鼠叫) 也不知怎么回事,总感觉摆脱不了C盘,我刚把.android文件夹移到D盘后,按照某某博客上的说,我操作应该是正确的 但是他总是报错,唉,没办法.只能再找其他博客,原来把移出去的.android中的avd里面的Nexus_5X_API_29_x86.ini文件复制,然后放回到原来C盘中的位置就好啦 复制到,如图 然后重新运行就不会报哪个错误啦 不过我感觉还会报其他的错误, 小白太难了. 看来有些还真的离不开C盘 原文地址:https://www.cnblo

OSI七层以及各层上的协议

各层简介: [1]物理层:主要定义物理设备标准,如网线的接口类型.光纤的接口类型.各种传输介质的传输速率等.它的主要作用是传输比特流(就是由1.0转化为电流强弱来进行传输,到达目的地后在转化为1.0,也就是我们常说的数模转换与模数转换),这一层的数据叫做比特. [2]数据链路层:定义了如何让格式化数据以进行传输,以及如何让控制对物理介质的访问,这一层通常还提供错误检测和纠正,以确保数据的可靠传输. [3]网络层:在位于不同地理位置的网络中的两个主机系统之间提供连接和路径选择,Internet的发

在windows操作系统中,查询端口占用和清除端口占用的程序

一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b或用 1.查询端口占用的进程ID 点击"开始"-->"运行",输入"cmd"后点击确定按钮,进入DOS窗口,接下来分别运行以下命令:netstat -a -n  各个端口占用netstat -ano   各个端口占用和进程PID          netstat -aon | findstr "80"      C:\Us

Netstat命令详解(windows下)

转自:http://blog.csdn.net/hsd2012/article/details/50759017 Netstat 用于显示与IP .TCP .UDP 和ICMP 协议相关的统计数据,一般用于检验本机各端口的网络连接情况. 如果你的计算机有时候接收到的数据报导致出错数据或故障,你不必感到奇怪,TCP/IP 可以容许这些类型的错误,并能够自动重发数据报.但如果累计的出错情况数目占到所接收的IP 数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用Netstat 查一查为什么

iptables防火墙过滤规则

iptables  包过滤 防火墙 firewall  防火墙工作在网络边缘(主机边缘)对于进出的网络数据包进行规则排查,并在匹配某规则时由规则定义的处理进行处理的功能组件 防火墙类型 根据工作区域不同分为: OSI 的第三层,即网络层的防火墙 OSI 的第七层,即应用层的防火墙 ,或者代理服务器/网关 网络层的防护墙:包过滤器 在网络层 对数据进行条件是选择,根据访问控制表(ACL),即检查每个数据的源地址,目的地址,端口号,协议状态等. 针对端口 代理服务防火墙 代理服务会把同过或者服务控制