计算机网络icmp v6课件.ppt
文本预览下载声明
5.1 ICMPv6概述
5.2 ICMPv6报文基本格式
5.3 ICMPv6差错报告报文
5.4 ICMPv6信息报文
5.5 邻节点探测协议(NDP)
5.6 ICMPv6多播组成员报文;5.1 ICMPv6概述;ICMPv6报文的封装;载荷长度;已定义的ICMPv6报文类型;ICMP:是在TCP/IP网络中传递网络控制信息的主要手段,同时,ICMP还提供了差错报告的功能。
IPv6的定义中,对IPv4的ICMP进行了修订。删除了一些极少使用的ICMP报文,更完整地加入了ICMP的多播控制功能,对其他原有的ICMP报文做了针对IPv6的修改。经过修改,ICMPv6与原有的ICMP已经不再兼容。;5.2 ICMPv6报文的基本格式;5.2 ICMPv6报文的基本格式;5.2.1 ICMPv6报文校验和的计算; 0(3字节);5.2.2 封装ICMPv6报文的IPv6分组的源地址;第三个规则:适用于ICMP差错报告报文。
在许多情况下,生成差错报文的并非是目的节点。因此差错报文不能将原报文中的目的地址作为ICMP差错报文的源地址使用,而应将报告IPv6分组出错信息的节点地址作为源地址。
例如,若是分组过大ICMPv6差错报文时,该源地址应该是不能接纳原IPv6分组的路由器的某个接口的IPv6地址。
第四个规则:主动发送的ICMPv6报文及不适用上述规则的ICMP报文,发送ICMPv6报文的节点必须查看自己的路由表,判断哪一个网络接口将被用于发送ICMPv6报文,则将该接口的一个单播地址作为源地址。;5.2.3 ICMPv6报文的处理规则;ICMPv6报文的处理规则(续1);ICMPv6报文的处理规则(续2);ICMPv6报文的处理规则(续3);5.3 ICMPv6差错报告报文;ICMPv6报文分成两大类:
ICMPv6差错报告报文:一个IPv6节点在处理一个接收到的报文时,如果有错误出现,则需要向源节点发送ICMPv6差错报告报文。目前ICMPv6共定义了四种类型的差错报告报文:目的不可到达、报文过长、超时、参数差错报告报文。
ICMPv6信息报文:传递用于控制的请求和应答信息。比如用于实现Ping功能的回声请求报文和回声应答报文,以及对多播组控制的ICMPv6信息报文。;0 7 15 31;ICMPv6差错报文基本格式;ICMPv6字段:类型值为1
代码
0-没有到目的的路由
1-与目的的通信由于管理被禁止 ,e.g.防火墙
2-(没有定义)
3-目的地址不可达,e.g.不能转换为MAC地址
4-端口不可达??e.g.端口没有开放
参数字段:未用,发送者设置为0,接收者忽略。
描述:该报文应该由路由器或节点的IPv6层产生,作为对除拥塞以外的原因使得包不能传送到目的地址的回应。; ICMPv6字段:
类型值为2
代码:未用,发送者设置为 0,接收者忽略。
参数字段:记录在出现包过大错误时链路的MTU。
描述:包过大报文必须由路由器发出,当路由器发现包太大,超过了出口链路的MTU而不能转发时,丢弃该包,并向源节点发送ICMPv6报文。
可以用于IPv6路径MTU发现(PMTUD)。
在RFC1981中定义,IPv6 的PMTU使用ICMPv6类型2报文,即分组过大ICMPv6报文。;使用ICMPv6路径MTU发现(PMTUD)探测路径MTU的过程。; ICMPv6字段:类型值为3
代码:
0-跳数限制为0
1-分片重组超时
参数字段:未用,发送者初始化为0,接收者忽略。
描述:
如果路由器收到跳数限制为0的包,或是它将跳数限制减去1后变为0,该路由器必须丢弃这个包,并发一个代码为0的超时报文给源站点。
若在收到第1个分片后60秒内,还没有收到全部分片,则丢弃所有分片,并发送代码为1的超时报文给源站点。
一个节点在收到该报文后,必须通知上层协议处理。 ;超过跳数限制;回送ICMPv6差错报文;ICMPv6字段:
类型值为4
代码:
0-错误的首部字段
1-不可识别的下一首部类型
2-不可识别的IPv6的TLV可选项
参数字段:称为指针,指出了在引起出错的包中错误出现地方的偏移量。;参数错误报告报文描述:如果节点发现了IPv6首部或扩展首部中某个字段有问题,它必须丢弃这个包,并发送一个ICMPv6参数错误报文,指出出错的地方和出错的类型。
指针字段指出检测出错误的地方相对于原IPv6分组首部的偏移量,以字节为单位。
比如,一个类型为 4、代码为1、指针字段值为40的ICMPv6报文,说明原分组中紧跟在IPv6基本首部后的扩展首部中的下一首部字段有一个不被识别的值。 ; 先介绍ICMPv6
显示全部