ipv6协议组播地址_第1页
ipv6协议组播地址_第2页
ipv6协议组播地址_第3页
ipv6协议组播地址_第4页
ipv6协议组播地址_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第十二章理解下一代IP地址——IPv6任务12.2IPv6的组播地址在IPv4中广泛地使用单播、广播、组播的方式;而在IPv6的应用环境中,则使用单播,组播、任意播的新方式,放弃了广播的使用,换而言之,在IPv6的环境中不再有广播存在。关于IPv6的单播地址,在12.1节中已经做了详细的讨论,而本节将详细讨论IPv6的组播与任意播的使用方式。理解IPv6的组播地址有一个重要的前提,就是读者能成功地理解IPv4中D类IP地址(组播地址)的作用、功能与构成;否则,对IPv6的组播地址学习将是“空中楼阁”,所以拥有IPv4组播地址的基础相当重要。 学习提示:IPv6的通信过程依赖于邻居发现协议(NDP),关于这个知识点将在12.3理解IPv6的通信过程中进行详细描述,而NDP协议又是基于IPv6的组播进行工作的,所以理解IPv6的组播地址及其构造原理相当重要,希望学员重视本节的学习。任务12.2.1

理解IPv6的组播地址

IPv6的组播地址通常是为IPv6的组播服务的,而IPv6通信的核心大量地使用了组播,IPv6不再使用广播,这与IPv4的通信不同。然而要理解IPv6的组播,首先需要明白3个关键点:第一,任何节点都能够成为一个多播组成员,也叫作组播组成员;第二,源节点可以发送数据包到多播组;第三,一个多播组中的节点都能收到发往该多播组的数据。IPv6组播地址是由固定的8bit地址前缀FF::/8、4bit标志、4bit组播范围和112bit多播组标识符(组ID)组成的,如图12.51所示。“标志”字段用于说明组播地址是“永久性(由IANA指定的一个地址)”的还是“临时性”的。而对于该4bit标志字段,一般情况下,其高3个位为0,剩下的低1个就是用于判断组播地址是“永久性”的还是“临时性”的。如果低1位为0,则表示为“永久性组播地址”,也就是一个众所周知的组播地址,如FF02::1表示在IPv6环境中一个链路上的所有计算机节点,FF02::2表示一个链路上的所有路由器节点,类似于IPv4的224.0.0.1和224.0.0.2。如果为“1”就是“临时性组播地址”,如图12.52所示。任务12.2.1图12.51组播地址格式图12.52标志位范围是指定义组播地址的范围类型,如表12.1所示为常见的组播地址范围以及对应的值。没有列举出的值则表示被保留或者没有指定。二进制值十六进制值范围类型00011本地接口范围00102本地链路范围00113本地子网范围01004本地管理范围01015本地站点范围10008组织机构范围1110E全球范围表12.1常见的组播地址范围以及对应的值任务12.2.1通过分析一个IPv6的组播地址实例来理解IPv6组播地址的构成实例:分析众所周知的IPv6组播地址FF02::1的构成原理首先我们使用类似于几何证明题的方法来证明公众理论成立与否。IPv6的组播地址FF02::1的众所周知的作用是表示本地链路的所有节点的组播地址。换而言之,可以这样来理解,如果一个IPv6数据报文中的目标地址是FF02::1,那么该数据将发往一个链路的所有IPv6节点。通过上面的理论来分析该地址的构成原理。分析IPv6组播地址FF02::1如图12.53所示,首先将FF02::1这个通过零压缩法表示的IPv6地址还原成标准格式的形式,即FF02:0000:0000:0000:0000:0000:0000:0001。FF02这一段的长度由IPv6的8bit固定前缀+4bit标志+4bit范围所组成,也是关心的重点部分;而余下的“0000:0000:0000:0000:0000:0000:0001”是112bit多播组标识符。现在将FF02部分转换成二进制数1111111100000010,其中11111111表示IPv6组播地址的8bit固定前缀;00000010中的前4个0表示标志,后面的0010表示范围。而前面4位0000的最后一个0表示该组播地址是一个永久性的IPv6组播地址,事实上也的确是这样,FF02::1是一个众所周知的IPv6组播地址。而后面4位0010根据表12.1可得知表示本地链路范围,所以得出FF02::1表示本地链路所有接点的永久性组播地址。图12.53分析IPv6组播地址FF02::1任务12.2.2理解请求节点的组播地址

理解IPv6的请求节点组播地址非常重要,因为IPv6的请求节点组播地址提高了数据链路层地址解析的效率。在IPv4的环境中,通信需要同时获得目标主机的IP地址与MAC地址,当知道目标IP地址时会使用ARP协议去解析数据链路层的MAC地址,ARP的地址请求消息是使用广播发送的,然而在IPv6的应用环境中不再使用广播,所以放弃了ARP协议的使用,取而代之的是ICMPv6的节点请求消息。现在需要深入理解的两个问题是:节点请求技术是如何高效率地替代IPv4的ARP协议的?节点请求技术是如何实现的?该技术中的IPv6组播地址是如何生成的?任务12.2.2节点请求技术是如何高效率地替代IPv4的ARP协议的?节点请求技术能够以一种“点对点”的方式将MAC地址请求消息发送到目标主机D,是因为主机D的请求节点组播地址FF02::1:FFAA:4C3E在整个链路上是唯一的,所以源主机可以直接将节点请求消息发到目标主机节点请求组播地址上,节点请求组播地址是提高MAC地址解析的核心技术。那么这台目标主机的节点请求组播地址是如何生成的?节点请求组播地址的构成如图12.55所示,该组播地址是将一个单播IPv6地址(可以是本地链路地址,也可以是全球单播地址)的后24位填充到一个请求节点组播地址的124位固定前缀FF02::1:FF中,生成一个唯一的节点请求组播地址。图12.55请求节点IPv6组播地址的构成任务12.2.2通过分析一个IPv6的节点请求组播地址实例来理解IPv6请求节点组播地址的构成一台IPv6主机的本地链路地址为FECO:0000:0000:0000:0230:18FF:FEAA:4C3E,现在通过对这个地址的实践分析,来理解该地址所对应的节点请求组播地址的构成原理,如图12.56所示。首先是还原节点请求组播地址的124位固定前缀的标准格式:FF02:0000:0000:0000:0000:0001:FF,然后取出IPv6主机的本地链路地址FECO:0000:0000:0000:0230:18FF:FEAA:4C3E中的最后24位填充到FF02:0000:0000:0000:0000:0001:FF前缀中,IPv6使用十六进制表示,那么一个十六进制字符是4个二进制位,所以需要将IPv6单播地址中的最后6个字符(二进制为24位)取下填充到124位固定前缀中形成最后的地址:FF02:0000:0000:0000:0000:0001:FFAA:4C3E,最后使用零压缩法表示成:FF02::1:FFAA:4C3E。图12.56请求节点组播地址的生成实例任务12.2.3理解IPv6的组播地址与MAC地址的映射关系

IPv6的节点请求组播地址替代了ARP协议的目标广播地址255.255.255.255。注意:这只能表示IPv6的节点请求在网络层上的优化与改进,而在数据链路层上会有什么样的改进,这是本小节讨论的重点。在IPv4的ARP协议中请求消息报文的目标链路层地址为FFFF.FFFF.FFFF,那么在IPv6中节点请求消息报文的目标链路层地址是什么?在IPv4中组播IP地址是可以映射成数据链路层的MAC地址的,在IPv6中这个概念仍然生效,IPv6的节点请求组播地址也可以映射成数据链路层地址,具体方法如图12.57所示,组播MAC地址是通过IPv6的组播IP地址映射而来的,映射的原则是:将IPv6组播地址的后32位取出,填充到固定前缀是3333的MAC地址中来生成数据链路层地址。图12.57IPv6三层组播地址映射成数据链路层地址任务12.2.3分析将一个IPv6的组播地址映射成MAC地址来理解IPv6组播地址与组播MAC地址的关系比如一个众所周知的IPv6组播地址FF02::1,它所对应的MAC地址是什么?首先将这个零压缩的IPv6地址还原为完整格式的IPv6地址:FF02:0000:0000:0000:0000:0000:0000:0001,然后将该地址的最后32个二进制位取出(一个十六进制字符就是4个二进制位,所以最后32个二进制位就是0000:0001),填充到IPv6组播MAC地址的固定前缀3333中,就得到FF02::1所对应的MAC地址3333:0000:0001。具体过程如图12.58所示。图12.58IPv6组播地址映射成MAC地址的过程注意:除了众所周知的IPv6组播地址所对应的MAC地址是上述构成原理以外,其他的IPv6组播地址(如:节点请求组播地址)也是相同的道理任务12.2.4演示:取证分析IPv6组播地址的构成原理

演示目标:取证IPv6环境中路由器与计算机上的组播地址、节点请求组播地址。演示环境:如图12.59所示。图12.59取证IPv6组播地址的构成原理演示背景:分别在路由器R1与IPv6计算机上启用IPv6,并分析路由器与计算机上IPv6的组播地址及请求节点组播地址的构成。任务12.2.4演示步骤:

在路由器R1上启动IPv6,关于启动IPv6的指令在前面的演示实验中已多次讲述,这里不再重复。需要注意:只在路由器R1的E1/0接口上配置ipv6enable指令即可,因为R1会根据E1/0接口的MAC地址自动产生本地链路地址。如图12.60所示,路由器R1目前有3个组播地址,即FF02::1、FF02::2、FF02::1:FF80:1C,其中FF02::1表示该链路上的所有IPv6节点类似于IPv4环境中的组播地址224.0.0.1;FF02::2表示该链路上的所有IPv6的路由器接点类似于IPv4环境中的组播地址224.0.0.2;FF02::1:FF80:1C表示请求节点的组播地址,正是这个节点请求组播地址替代了IPv4环境中的ARP请求协议报文中的目标IP地址255.255.255.255,以提高解析MAC地址的效率。而该地址的生成则是通过单播IPv6地址的后24个二进制位填充固定请求节点组播地址前缀FF02::1:FF而得到的,单播IPv6地址的最后24位即80:1C(完整格式为80:001C;6个十六进制字符,每个十六进制字符是4个二进制位,共计24个二进制位),这与理论完全相同。

图12.60路由器R1所产生的IPv6组播地址任务12.2.4

计算机上产生IPv6组播地址与节点请求组播地址的原理与路由器上是一样的,只是在查看结果时,不是那么直观,比如当用户在微软WindowsXP/2003/2008/Vista上安装IPv6协议时,计算机与路由器一样,会自动产生本地链路地址。如图12.61所示,通过Ipconfig/all指令只能看到计算机上所产生的IPv6地址,无法看到计算机上的IPv6组播地址。必须在CMD命令提示符下使用ipv6if4指令进行查看,该指令的作用是查看IPv6的4号ID接口的信息。为什么是4号ID?在IPv6地址中的%4已明确指出,当指令执行完成后会得到如图12.62所示的结果,计算机上也有3个组播地址,即ff01::1、ff02::1、ff02::1:ff4f:4f50,其中ff01::1表示计算机本地接口范围的组播地址;ff02::1表示该链路上的所有IPv6节点类似于IPv4环境中的组播地址224.0.0.1;ff02::1:ff4f:4f50是请求节点组播地址,该地址的来源在理论部分有详细描述,这里不再重复。

图12.61计算机上的IPv6地址图12.62计算机上的IPv6组播地址任务12.2.5演示:取证分析IPv6组播地址与MAC地址的映

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论