版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十二章理解下一代IP地址——IPv6任务12.3理解IPv6的通信过程理解IPv6的通信过程,关键是理解IPv6的核心通信协议——NDP(NeighborDiscoveryProtocol,邻居发现协议),它使用一系列的IPv6控制信息报文(ICMPv6类型消息)来实现同一链路上相邻节点的管理,并在同一个子网中发现网络层地址和链路层地址之间的映射。而在NDP中定义了5种类型的信息:路由器地址前缀公告(ICMPv6类型134)、路由器请求(ICMPv6类型133)、邻居请求(ICMPv6类型135)和邻居公告(ICMPv6类型136),路由重定向(ICMPv6类型137)。这些过程是IPv6通信技术实现的关键,下面通过分析这些过程来进一步理解IPv6的通信原理。任务12.3.1理解IPv6通信过程中ICMPv6的重要作用ICMPv4的主要功能在于测试网络的连通性情况,比如ping用来检测IPv4的连通性;而ICMPv6除了用于测试网络的连通性之外,还结合IPv6技术的具体情况,增加了相关的扩展机制,如:ICMPv6替代IPv4的ARP(地址解析协议)、无状态自动配置、IPv6重复地址检测(DAD)、前缀重新编址和路径MTU发现等。而这些扩展机制都是IPv6的网络通信过程中的核心技术,由此可见ICMPv6的工作机制比ICMPv4更复杂,功能更广泛,所以本小节将介绍ICMPv6。ICMPv6与ICMPv4的区别从技术角度来说,传统的ICMPv4的主要功能是错误侦测与回报机制,即检测网路的连接状况;而ICMPv6也具备这样的功能。ICMPv6与ICMPv4的区别如表12.2所示,该表指示常见的ICMPv6与ICMPv4的功能相同,但消息类型编号不同,具体的数据帧取证如下所示。消息消息类型ICMPv4消息类型编号ICMPv6消息类型编号超时错误113目标主机不可达错误31请求消息信息8128回应消息信息0129表12.2ICMPv6与ICMPv4的区别任务12.3.1取证:ICMPv6与ICMPv4“超时”消息数据帧的区别取证ICMPv6与ICMPv4“超时”消息数据帧的区别如图12.64所示。ICMPv6的“超时”消息数据帧的类型编号为3,而ICMPv4为11。图12.64取证ICMPv6与ICMPv4“超时”消息数据帧的区别任务12.3.1取证:ICMPv6与ICMPv4“目标主机不可达”消息数据帧的区别取证ICMPv6与ICMPv4“目标主机不可达”消息数据帧的区别如图12.65所示。ICMPv6的“目标主机不可达”消息数据帧的类型编号为1,而ICMPv4为3。图12.65取证ICMPv6与ICMPv4“目标主机不可达”消息数据帧的区别任务12.3.1取证:ICMPv6与ICMPv4“请求消息”数据帧的区别取证的类型ICMPv6与ICMPv4“请求消息”数据帧的区别如图12.66所示。ICMPv6的“请求消息”数据帧的类型编号为128,而ICMPv4为8。图12.66取证ICMPv6与ICMPv4“请求消息”数据帧的区别任务12.3.1取证:ICMPv6与ICMPv4“回应消息”数据帧的区别取证ICMPv6与ICMPv4“回应消息”数据帧的区别如图12.67所示。ICMPv6的“回应消息”数据帧的类型编号为129,而ICMPv4为0。图12.67取证ICMPv6与ICMPv4“回应消息”数据帧的区别任务12.3.1上面取证了ICMPv6与ICMPv4的相同功能的不同数据帧的区别。然而对于ICMPv6而言,除了可以像ICMPv4那样去检测网络连接的情况外,还扩展了部分ICMPv4没有的功能,而这些功能正是ICMPv6的核心技术。具体扩展的功能如下:替代IPv4的MAC地址解析协议ARP。无状态自动配置(自动地向网络节点公告地址前缀)。地址重复检测。前缀重新编址。路径MTU发现。关于上述ICMPv6的重要功能将在本章的后面几个小节中进行分析,现在首先来理解ICMPv6的报文类型与结构。任务12.3.1ICMPv6的报文类型与结构ICMPv6报文类型主要分为差错报文和信息报文,其中差错报文指示目标通信节点或者网络中间设备(比如:路由器)返回给请求节点的消息,声明IPv6数据转发过程中出现的各种错误;信息报文指示提供诊断功能和附加的扩展功能,比如组播侦听发现(MLD)和邻居节点发现(ND)等。通常差错报文使用ICMPv6报文类型范围编号0~127,ICMPv6的信息报文类型范围编号为128~255。如表12.3所示为常见的ICMPv6错误报文,如表12.4所示为常见的ICMPv6信息报文。ICMPv6报文类型消息名称消息类型类型1不能到达信宿(DestinationHostUnreachable)错误报文类型2分组过大(PacketTooBig)错误报文类型3超时(TimeExceeded)错误报文类型4参数问题(ParameterProblem)错误报文表12.3常见的ICMPv6错误报文任务12.3.1ICMPv6报文类型消息名称消息类型类型128返回请求(EchoRequest)信息报文类型129返回应答(EchoReply)信息报文类型130组成员查询(GroupMembershipQuery)信息报文类型131组成员报告(GroupMembershipReport)信息报文类型132组成员终止(GroupMembershipTermination)信息报文类型133路由器请求(RouterSolicitation)信息报文类型134路由器公告(RouterAdvertisement)信息报文类型135邻居请求(NeighborSolicitation)信息报文类型136邻居公告(NeighborAdvertisement)信息报文类型137重定向(Redirect)信息报文表12.4常见的ICMPv6信息报文任务12.3.1ICMPv6的报文结构主要是由IPv6数据包头的“下一包头”字段所指定的扩展包头构成的,其协议号为58。而该扩展包头主要由ICMPv6类型、ICMPv6代码、校验和、ICMPv6数据组成,如图12.68所示,其中“ICMPv6类型”字段将决定该报文的功能和用途,如ICMPv6类型为134的消息,就表示为路由前缀公告,将在后面的小节中为大家介绍更多的关于“ICMPv6类型”字段所代表的意思和功能;“ICMPv6代码”字段表示类型消息的子信息;“校验和”字段用于ICMP16bit的首部校验;“ICMPv6数据”字段表示ICMPv6在传送过程中的净荷数据。图12.68ICMPv6的报文结构任务12.3.1ICMPv6的路径MTU发现功能对于IPv6的MTU发现功能,其实在IPv4中已经被定义出来,但是却被作为可选选项,在默认情况下,该功能在IPv4中并没有被使用,这将会导致在IPv4网络中对数据包进行分片。那么什么是分片呢?比如一台主机根据自己所在链路的MTU为1500字节,发送大小为1500字节的数据给另一台主机,而两台主机之间存在一条最大能承载的MTU为700字节的链路,那么1500字节的数据就被分片为700字节、700字节、100字节的3段数据来进行传输,如图12.69所示,这样的分片会影响中间传输设备(路由器)的CPU性能。如果传输过程中存在多次分段,将会严重地影响网络设备的性能。图12.69
ICMPv4的路径MTU发现功能任务12.3.1面对IPv4对网络数据包进行分片所造成的影响,在IPv6网络中就规定在网络节点上必须使用IPv6MTU发现功能,将IP报文的分片控制在源主机上。IPv6MTU发现功能主要是发现从数据发送端(信源)到接收端(信宿)所经过的整个链路中最小的MTU值,然后数据发送端基于最小的MTU值进行数据包的传递,从而避免了中间设备(路由器)分片。而MTU发现功能被ICMPv6所包括,或者说是ICMPv6的一项子功能。IPv6的主机通过ICMPv6类型为2的消息去完成MTU值的传递,该消息被称为“数据包超长错误消息”。如图12.70所示为ICMPv6的路径MTU发现过程。图12.70ICMPv6的路径MTU发现过程任务12.3.1ICMPv6的路径MTU发现功能的工作原理 主机A向主机B发送1500字节的数据,当数据到达路由器A时,路由器A发现到达主机B的路径上存在MTU值为1100字节。由于MTU发现功能是不建议对数据进行分片的,所以路由器A返回一个ICMP类型为2的消息,并告诉主机A最小的MTU值是1100字节,让其发送长度为1100字节的数据包。与第1步的过程相同,当主机发送1100字节的数据给主机B时,路由器B会返回一个ICMP类型为2的消息,并告诉主机A最小的MTU值是800字节,让其发送长度为800字节的数据包。主机A再以长度为800字节的数据包向主机B发送数据,此时由于链路上的最小MTU值为800字节,所以在路由器上就不进行分片了,提高了中间设备(路由器)的工作性能。此时,主机A发送的数据就能顺利地到达主机B。任务12.3.2理解IPv6主机使用ICMPv6替代IPv4环境中的ARP协议无论是在IPv4还是IPv6的以太网环境中,当一台主机需要访问另一台主机时,不只是单纯地依靠IP地址,还必须得依靠MAC地址。比如:主机192.168.1.2通过ping命令去访问主机192.168.1.1,或者一个运行IPv6的主机FEC0::21E:68FF:FEA0:4879通过ping命令去访问另一台IPv6的主机FEC0::0000:4CFF:FE4F:4F50,在这个ping会话的过程中,最关键的是通过MAC地址去实现数据的交互。换而言之,源主机必须获得目标主机的IP地址与MAC地址,无论这些主机是运行IPv4还是IPv6。所以需要一种方式,在知道目标主机IP地址的情况下去解析目标MAC地址,并把这个IP地址与MAC地址的对应关系存储在一个缓存表里面,以便在通信的过程中快速对目标MAC地址进行查找。如图12.71所示,以IPv4网络环境中的Windows操作系统为例,通过在命令提示符下输入arp-a来查看IP地址与MAC地址的对应关系。图12.71查看IPv4ARP缓存任务12.3.2在传统的IPv4网络中,主机通过ARP协议解析目标IP地址与目标MAC地址的对应关系。而ARP协议主要通过广播的方式来实现,如图12.72所示。然而,在IPv6网络中,对目标MAC地址的发现不再是通过ARP协议来完成,因为IPv6放弃了广播的使用,在IPv6的网络环境中已经不存在广播这个概念了。而ARP(地址解析协议)是基于广播进行工作的,所以对于IPv6的网络环境而言,ARP协议被永远地放弃,取而代之的是ICMPv6的邻居请求消息(ICMPv6消息类型135)、邻居公告消息(ICMPv6消息类型136)来完成对MAC地址的解析。在这个过程中需要使用一个请求节点组播地址(FF02::1:FFAA:4C3E),请参考图12.73,请求节点组播地址在前面的小节中有详细的描述。图12.72IPv4环境中的ARP工作过程图12.73IPv6环境中的MAC地址发现任务12.3.2理解:ICMPv6代替IPv4中的ARP进行IPv6的MAC地址解析如图12.74所示,理解邻居节点请求(135消息类型):使用路由器节点的IPv6本地链路地址FEC0::0204:27FF:FEF1:71A0通过ping命令访问主机节点的本地链路地址FEC0:0230:18FF:FEAA:4C3E,但是路由器不知道主机的MAC地址,此时路由器就通过源地址FEC0::0204:27FF:FEF1:71A0发送ICMPv6消息类型为135的信息(邻居请求消息)给目标节点组播地址FF02::1:FFAA:4C3E。此时源MAC地址为000427F17A0,也就是路由器E0/0接口的MAC地址,目标MAC地址:3333FFAA4C3E。注意:在IPv4环境中ARP请求消息中的目标IP地址是255.255.255.255(网络层的广播地址),目标MAC地址是FFFF.FFFF.FFFF(数据链路层的广播地址);而在IPv6环境中邻居节点请求(135消息类型)使用的目标网络层地址是IPv6的节点组播地址FF02::1:FFAA:4C3E,目标链路层地址为3333FFAA4C3E。事实上,在IPv6环境中邻居节点请求消息中的目标链路层地址是通过目标网络层IPv6地址而生成的。图12.74IPv6环境中的MAC地址发现任务12.3.2如图12.74所示,理解邻居节点公告(136消息类型):主机通过本地链路地址侦听并获取了组播地址的邻居请求消息,接下来主机就发送邻居公告消息(ICMPv6消息类型136)给路由器,该消息当中包含了源IPv6地址为FEC0:0230:18FF:FEAA:4C3E,源MAC地址为IPv6主机的MAC地址003018AA4C3E,目标IPv6地址为FEC0::0204:27FF:FEF1:71A0,目标MAC地址为000427F17A0,也就是路由器E0/0接口的MAC地址。当路由器收到该消息后,就会解开该数据包,获取所需要的IP地址与MAC地址的对应关系。最后进行正式的通信。注意:对于请求节点组播地址(FF02::1:FFxx:xxxx),FF02::1FF是固定部分,而xx:xxxx是目标IP地址的后24位,如目标IP地址为FEC0:0230:18FF:FEAA:4C3E,那么请求节点组播地址就为FF02::1:FFAA:4C3E,其中AA:4C3E就是目标IPv6地址的后24位。任务12.3.3演示:取证IPv6主机使用ICMPv6的邻居请求与邻居公告消息原理上一小节对基于ICMPv6消息的邻居发现协议(NDP)进行了理论分析,为了加强对理论的理解,在本小节将使用协议分析器去取证ICMPv6的几个关键消息,在这里取证ICMPv6的邻居请求与邻居公告消息(135与136消息类型)。演示目标:使用协议分析器分析邻居发现协议消息(ICMPv6消息类型135、136)。演示环境:如图所示。演示背景:分别在路由器NS与路由器NA的E1/0接口上配置IPv6地址,此时在任何一台路由器上发起ping命令。在正式数据通信前,首先通过ICMPv6类型135、136消息实现对目标IPv6主机的MAC地址解析。事实上,这个过程在IPv4环境中是通过ARP(地址解析协议)完成的;而在IPv6环境中ICMPv6类型135、136消息将替代IPv4环境中的ARP,对ICMPv6类型135、136消息进行分析,结合理论更好地理解ICMPv6类型135、136消息是如何替代ARP协议的。任务12.3.3配置路由器NS与路由器NA的IPv6地址。路由器NS的配置:NS(config)#ipv6unicast-routing *打开IPv6的单播路由功能NS(config)#interfaceethernet1/0 *进入接口模式NS(config-if)#ipv6address20
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年计算机高新技术押题宝典考试题库(夺分金卷)附答案详解
- 2026年一级建造师之一建水利水电工程实务能力检测试卷及参考答案详解【考试直接用】
- 分式的基本性质 -分式的通分课件2025-2026学年苏科版数学八年级下册
- 2026 年电子制造工程师校招笔试真题及答案解析
- 2026年小学语文测试题题型及答案
- 2026年台湾文化测试题及答案
- 2026年姓氏歌的测试题及答案
- 2026年车辆伤害测试题及答案
- 2026年打造流程型组织测试题及答案
- 神经内科患者的安全管理与风险防范
- 课程教师丁元恒丁不败老师
- 小学生心理健康教育实践与研究课题结题报告范文
- 垃圾清运保洁公司档案管理制度
- 顶管、沉井结构计算书(详细)
- 苏教版四年级下册数学 苏教版四年级下册数学期中试卷
- GB/T 6173-2015六角薄螺母细牙
- GB/T 3609.1-2008职业眼面部防护焊接防护第1部分:焊接防护具
- 急性肾损伤-KDIGO指南解读
- 真实世界研究-临床研究的新方向课件
- 招远市河道管理办法
- 招投标培训讲稿
评论
0/150
提交评论