跳转到内容

Icmp

来自FC

ICMP

Internet控制消息协议ICMP(Internet Control Message Protocol)是IP协议的辅助协议,是用来在网络设备间传递各种差错和控制信息,对于收集各种网络信息、诊断和排除各种网络故障等方面起着重要作用。常用的ping命令就使用了该协议

ICMPv6

IPv6定义了ICMPv6(Internet Control Message Protocol for IPv6)是IPv6的基础协议之一,除了提供类似ICMP的功能外还有诸多扩展。邻居发现协议(Neighbor Discovery Protocol,NDP)便是基于ICMPv6实现的,作为IPv6的关键协议,NDP提供了如前缀发现、重复地址检测、地址解析、重定向等功能。

报文格式

Version Traffic Class Flow Label
Payload Length Next Header(58) Hop Limit
Source Address
Destination Address
ICMPv6报文载荷

ICMPv6报文载荷由ICMPv6报文类型决定,因报文类型不同而不同

在IPv6报文头部中,Next Header字段值为58则对应为ICMPv6报文

报文类型

ICMPv6报文分为两类:

差错报文

差错报文(Error Messages)也称为差错消息,Type字段最高比bit为0,也就是ICMPv6 Type-[0,127]

差错消息用于报告在转发IPv6数据包过程中出现的错误,如常见的目的不可达,超时等。

信息报文

信息报文(Information Messages)也称为信息消息,Type字段最高bit为1,也就是ICMPv6 Typ=[128,255]

信息报文可以用来实现同一链路上节点间的通信和子网内的组播成员管理等。

消息类型 Type 名称 Code
差错消息 1 目的不可达 0无路由
1因管理原因禁止访问
3地址不可达
4端口不可达
2 数据包过长 0
3 超时 0跳数到0
1分片重装超时
4 参数错误 0错误的包头字段
1无法识别的下包头类型
2无法识别的IPv6选项
信息消息 128 Echo Request 0
129 Echo Reply 0

NDP

NFP主要功能
NDP 路由器发现 发现链路上的路由器,获取路由通告信息
无状态自动配置 通过路由器通告地址前缀,终端自动生成IPv6地址
重复地址检测 获得地址后,进行地址重复检测,确保地址不冲突
地址解析 请求目的网络地址对应的数据链路层地址,类似IPv4的ARP
邻居状态跟踪 通过NDP发现链路上的邻居并跟踪邻居状态
前缀从编址 路由器对所通告的地址前缀进行灵活设置,实现网络重编址。
重定向 告知其它设备,到达目标网络的更优下一跳。