计算机网络第5章 ICMPv6及应用课件.ppt
《计算机网络第5章 ICMPv6及应用课件.ppt》由会员分享,可在线阅读,更多相关《计算机网络第5章 ICMPv6及应用课件.ppt(92页珍藏版)》请在三一办公上搜索。
1、李向丽,郑州大学信息工程学院,下一代互联网协议IPv6,第一部分IPv6技术,第2章IPv6概述第3章IPv6编址技术第4章IPv6分组及协议机制第5章ICMPv6及应用第6章IPv6过渡机制,5.1 ICMPv6概述5.2 ICMPv6报文基本格式5.3 ICMPv6差错报告报文5.4 ICMPv6信息报文5.5 邻节点探测协议(NDP)5.6 ICMPv6多播组成员报文,第5章 ICMPv6及应用,5.1 ICMPv6概述,在RFC2463中定义Internet Control Message Protocol Version 6(ICMPv6协议)。在IPv6中,ICMPv6实现IPv4
2、中ICMP、ARP和IGMP的功能。ICMPv6协议功能: 向源节点报告关于目的地址传输IPv6包的错误和信息,具有差错报告、网络诊断、邻节点发现和多播实现等功能。,ICMPv6报文的封装,ICMPv6报文封装在IPv6中,具有扩展首部的IPv6,封装ICMPv6报文,封装在IPv6分组中的ICMPv6报文,ICMP:是在TCP/IP网络中传递网络控制信息的主要手段,同时,ICMP还提供了差错报告的功能。IPv6的定义中,对IPv4的ICMP进行了修订。删除了一些极少使用的ICMP报文,更完整地加入了ICMP的多播控制功能,对其他原有的ICMP报文做了针对IPv6的修改。经过修改,ICMPv6
3、与原有的ICMP已经不再兼容。,已定义的ICMPv6报文类型,5.2 ICMPv6报文的基本格式,5.2.1 ICMPv6报文校验和的计算5.2.2 封装ICMPv6报文的IPv6分组的源地址5.2.3 ICMPv6报文的处理规则,5.2 ICMPv6报文的基本格式,类型:标识ICMPv6报文类型,它的值根据报文的内容来确定。代码:用于确定ICMPv6进一步的信息,对同一类型的报文进行了更详细的分类。校验和:用于检测ICMPv6的报文是否正确传送。报文体:用于返回出错的参数和记录出错报文的片段,帮助源节点判断错误的原因。或是其它参数。,5.2.1 ICMPv6报文校验和的计算,校验和16bit
4、,计算范围包括两部分。ICMPv6报文IPv6伪首部(伪首部中下一首部字段的值为58)。计算方法:校验和字段被设置为0 ICMPv6对校验范围内的数据以16比特为单位,做1的补码的加法运算。在ICMPv6首部校验和字段中,置入此16比特的和。,ICMPv6校验和的校验范围,IPv6的伪首部,ICMPv6报文,5.2.2 封装ICMPv6报文的IPv6分组的源地址,源地址帮助IPv6分组的源节点判断分组在何处出错。一个发送ICMPv6报文的节点在计算校验和以前,要在IPv6首部中谨慎填写源地址和目的 IPv6地址。选择ICMPv6报文源地址的主要原则有四个:前二个规则是针对ICMPv6信息报文制
5、定的。第一个规则:若原IPv6分组是单播分组,ICMPv6应答报文的源地址应该设置为原IPv6分组中的目的地址。第二个规则:若是多播Multi-cast group或任播any-cast group报文,则ICMPv6应答报文必须将收到该IPv6分组的接口的IP地址作为源地址。,第三个规则:适用于ICMP差错报告报文。在许多情况下,生成差错报文的并非是目的节点。因此差错报文不能将原报文中的目的地址作为ICMP差错报文的源地址使用,而应将报告IPv6分组出错信息的节点地址作为源地址。例如,若是分组过大ICMPv6差错报文时,该源地址应该是不能接纳原IPv6分组的路由器的某个接口的IPv6地址。第
6、四个规则:主动发送的ICMPv6报文及不适用上述规则的ICMP报文,发送ICMPv6报文的节点必须查看自己的路由表,判断哪一个网络接口将被用于发送ICMPv6报文,则将该接口的一个单播地址作为源地址。,5.2.3 ICMPv6报文的处理规则,当接收到ICMPv6差错报告报文时,如果无法识别具体的类型,必须将它交给上层协议模块进行处理。当接收到ICMPv6信息报文时,如果无法识别具体的类型,必须将它丢弃。所有的ICMPv6差错报告报文,都应该在IPv6所要求的最小MTU允许范围内,尽可能多地包括引发该ICMPv6差错报文的IPv6分组片段,以便给IPv6分组的源节点提供尽可能多的诊断信息。,IC
7、MPv6报文的处理规则(续1),在需要将ICMPv6报文上传给其上层协议模块处理的情况下,上层协议的具体类型,应该从封装该ICMPv6报文的IPv6分组的下一首部字段中获取。但是,如果该IPv6分组携带有很多扩展首部,则可能会导致有关上层协议类型的信息没有被包含在ICMPv6报文中。这时,只能将该差错报告报文在IP层处理完后丢弃掉。不能产生ICMPv6差错报告报文的发送情况:一个ICMPv6差错报告报文。这主要是为了避免无休止地产生ICMPv6报文而引起网络拥塞。,ICMPv6报文的处理规则(续2),一个发往多播地址的IPv6分组。但有两个例外:当使用IPv6多播地址进行路径MTU探测时,可以
8、发送“报文过长”差错报告报文;允许使用参数错误报文报告:存在不可识别的TLV可选项。链路层的多播报文。对这类报文也具有与上面第二类情况相同的例外。链路层的广播报文。对这类报文也具有与上面第二类情况相同的例外。IPv6分组的源地址无法唯一确定一个单独节点时,这种情况也不能够引起ICMPv6差错报告报文的发送。例如,IPv6不明确地址等。,ICMPv6报文的处理规则(续3),最后,为了限制在发送ICMPv6差错报告报文时对网络带宽和转发处理的消耗,一个IPv6节点必须限制其发送ICMPv6差错报告报文的速率。但是,这样可能会导致一个差错报告报文的源节点因为没有及时收到报文出错的报告而不断地重发该错
9、误报文。目前有几种提供限制ICMPv6速率的方法,例如:基于计时器的方法。例如,将发往某个源节点或所有源节点的ICMPv6差错报告报文的速率,限制在每T时间段内只发送一个差错报告报文之内。基于带宽的方法。例如,将某个网络接口发送的ICMPv6差错报告报文所占用的带宽限制在这个接口所在链路带宽的某个比例F上。,5.3 ICMPv6差错报告报文,5.3.1 目的不可达ICMPv6报文5.3.2 分组过大ICMPv6报文5.3.3 超时ICMPv6报文5.3.4 参数错误ICMPv6报文,ICMPv6报文分成两大类:ICMPv6差错报告报文:一个IPv6节点在处理一个接收到的报文时,如果有错误出现,
10、则需要向源节点发送ICMPv6差错报告报文。目前ICMPv6共定义了四种类型的差错报告报文:目的不可到达、报文过长、超时、参数差错报告报文。ICMPv6信息报文:传递用于控制的请求和应答信息。比如用于实现Ping功能的回声请求报文和回声应答报文,以及对多播组控制的ICMPv6信息报文。,ICMPv6差错报文基本格式,5.3 ICMPv6差错报告报文,ICMPv6差错报文基本格式,ICMPv6差错报告报文中的类型字段、代码字段及校验和字段的内容,根据差错报告报文类型的不同而不同。ICMPv6报文体分为两个部分,前4字节是参数字段,剩余部分是引起该ICMPv6报文产生的出错IPv6分组片段。在整个
11、ICMPv6报文的长度不超过IPv6对路径传输单元的最低限制(1280字节)的条件下,应该包含尽可能多的出错IPv6分组信息。这样可以使出错IPv6分组的源节点获得尽可能多的信息来诊断出错原因。,ICMPv6字段:类型值为1代码 0-没有到目的的路由1-与目的的通信由于管理被禁止 ,e.g.防火墙2-(没有定义) 3-目的地址不可达,e.g.不能转换为MAC地址4-端口不可达,e.g.端口没有开放参数字段:未用,发送者设置为0,接收者忽略。描述:该报文应该由路由器或节点的IPv6层产生,作为对除拥塞以外的原因使得包不能传送到目的地址的回应。,5.3.1 目的不可达报文,一个节点在收到该报文后,
12、必须通知上层协议进行相应处理。,ICMPv6字段: 类型值为2代码:未用,发送者设置为 0,接收者忽略。参数字段:记录在出现包过大错误时链路的MTU。 描述:包过大报文必须由路由器发出,当路由器发现包太大,超过了出口链路的MTU而不能转发时,丢弃该包,并向源节点发送ICMPv6报文。 可以用于IPv6路径MTU发现(PMTUD)。在RFC1981中定义,IPv6 的PMTU使用ICMPv6类型2报文,即分组过大ICMPv6报文。,5.3.2 分组过大报文,一个节点在收到该报文后,必须通知上层协议进行相应处理。,使用ICMPv6路径MTU发现(PMTUD)探测路径MTU的过程。,源,路由器,路由
13、器,目的,MTU=1500,MTU=1400,MTU=1300,报文(MTU=1500),ICMPv6(类型=2),使用MTU=1400,报文(MTU=1400),ICMPv6(类型=2),使用MTU=1300,报文(MTU=1300),收到报文,用IPv6 PMTUD发现的MTU值被源节点缓存,ICMPv6字段:类型值为3代码: 0-跳数限制为01-分片重组超时参数字段:未用,发送者初始化为0,接收者忽略。描述:如果路由器收到跳数限制为0的包,或是它将跳数限制减去1后变为0,该路由器必须丢弃这个包,并发一个代码为0的超时报文给源站点。若在收到第1个分片后60秒内,还没有收到全部分片,则丢弃所
14、有分片,并发送代码为1的超时报文给源站点。 一个节点在收到该报文后,必须通知上层协议处理。,5.3.3 超时ICMPv6报文,超过跳数限制,回送ICMPv6差错报文,ICMPv6字段: 类型值为4代码: 0-错误的首部字段 1-不可识别的下一首部类型2-不可识别的IPv6的TLV可选项参数字段:称为指针,指出了在引起出错的包中错误出现地方的偏移量。,5.3.4 参数错误ICMPv6报文,一个节点在收到该报文后,必须通知上层协议进行相应处理。,参数错误报告报文描述:如果节点发现了IPv6首部或扩展首部中某个字段有问题,它必须丢弃这个包,并发送一个ICMPv6参数错误报文,指出出错的地方和出错的类
15、型。 指针字段指出检测出错误的地方相对于原IPv6分组首部的偏移量,以字节为单位。比如,一个类型为 4、代码为1、指针字段值为40的ICMPv6报文,说明原分组中紧跟在IPv6基本首部后的扩展首部中的下一首部字段有一个不被识别的值。,先介绍ICMPv6回声请求和回声应答报文格式。其它报文将在相关机制中介绍。,5.4 ICMPv6信息报文,ICMPv6字段: 类型值为128(回声请求)、129(回声应答)代码:0。标识符:用于请求和应答的匹配,也可能是0。 序列号:用于请求和应答的匹配,也可能是0。数据:为0或任意字节的数据。描述:每一个节点必须能够完成ICMPv6回声应答功能,即在收到ICMP
16、v6回声请求时发出相应的ICMPv6回声应答报文。,ICMPv6回声请求和回声应答报文,5.5 邻节点探测协议NDP,5.5.1 邻节点探测协议NDP概述5.5.2 邻节点探测协议定义的ICMPv6报文5.5.3 替代ARP5.5.4 无状态地址自动配置5.5.5 重复地址探测DAD5.5.6 前缀重新编址5.5.7 路由器重定向5.5.8 NDP总结,5.5 邻节点探测协议NDP(Neighbor Discovery Protocol,NDP),IPv4的缺点之一:主机换网必须换地址,配置麻烦。IPv4的解决办法:启动协议( BOOTP )动态主机配置协议( DHCP )允许节点从BOOTP
17、服务器或DHCP服务器获取配置信息。但是这些协议支持所谓的“状态自动配置”,即服务器必须保持每个节点的状态信息,并管理这些保存的信息。,IPv6的最重要目标之一是支持“即插即用”不需要任何人工干预,就能将一个节点插入IPv6网络,并在网络中启动。,IPv6使用两种不同机制来支持即插即用。1、有状态地址自动配置:BOOTP和 DHCP ;2、无状态地址自动配置。在这种方式下,需要配置地址的节点,使用邻节点探测机制获得一个IPv6地址。,5.5.1 NDP概述,NDP是IPv6的一个重要组成部分,它不是一个全新的协议,而是由IPv4中的地址解析协议ARP、ICMP路由探测协议RDISC、ICMP报
18、文重定向等协议综合而成的。,1、 邻节点探测协议的应用,2、为NDP定义的ICMPv6报文,3、NDP机制使用的ICMPv6报文,5.5.2 邻节点探测协议定义的ICMPv6报文,在本节中,我们介绍一下为NDP定义的五个ICMPv6报文:邻节点请求邻节点通告路由器请求路由器通告重定向报文,1. 邻节点请求报文和邻节点通告报文,邻节点请求/通告报文可以完成ARP功能,还可以用来测试目的主机的连通性。用于ARP功能时,邻节点请求报文一般以多播的形式发送,主机一旦收到邻节点请求报文,它们将检查ICMP报文中的IPv6地址。如果这个地址恰好是自己的主机地址,主机将把自己的数据链路层地址封装在一条邻节点
19、通告报文中,以应答邻节点请求报文的发送者。用于探测目的主机连通性时,邻节点请求报文以单播IPv6分组的形式发送。如果发送者收到了应答的邻节点通告报文,它认为目的地址是可达的;否则它认为目的主机是不可达的。,邻节点请求报文的报文格式,选项代码=1,选项数据长度 =1,可选项(源链路层地址),邻节点请求报文字段意义,类型字段,其值为135,表示该ICMPv6报文是邻节点请求报文。代码字段,必须置为0。校验和字段,保存整个ICMPv6报文的校验和。保留字段,保留不用,其值必须等于0。目的IPv6地址字段,存放目的主机的IPv6地址。例如,当使用该报文解析地址时,则该字段存放将要解析的IPv6地址。可
20、选项字段,包含:选项代码字段,说明选项类型选项数据长度字段,8字节单位,说明选项数据的长度。选项数据,一些可选参数,例如源主机的链路层地址,用于ICMPv6信息报文的可选项格式,类型 =1,源链路层地址(Source Link_layer Address) =2,目的链路层地址(Target Link_layer Address) =3,前缀信息(Prefix Information) =4,重定向首部(Redirected Head) =5,最大传输单元(MTU)长度,以8字节为单位说明可选项长度,包括类型和长度,邻节点请求报文字段意义(续),邻节点请求报文必定包含源节点的源链路层地址选项。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机网络第5章 ICMPv6及应用课件 计算机网络 ICMPv6 应用 课件

链接地址:https://www.31ppt.com/p-1548447.html