IPv6 MLD 简介
一文全面了解IPv6

一文全面了解IPv6前国内的网络正在快速的向IPv6升级中,从网络基础设施如运营商骨干网、城域网,到互联网服务商如各类云服务,以及各类终端设备厂商如手机、电脑、路由器、交换机等,均在向IPv6网络的升级改造中。
根据国家相关部门的计划,2019年要基本全面实现IPv6的支持。
那么什么是IPv6,有哪些特点,对网络安全有何影响,又将如何应对等等,关于IPv6的种种疑惑,本文将一一为大家做出阐述!•什么是IPv6IPv6是英文“Internet Protocol Version 6”(互联网协议第6版)的缩写,是用于替代IPv4的下一代IP协议,也就是下一代互联网的协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。
IPv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
其128位地址格式将以其在IP地址数量、安全性、移动性、服务质量等方面的巨大优势,改变现代信息生活。
互联网数字分配机构(IANA)在2016年已向国际互联网工程任务组(IETF)提出建议,要求新制定的国际互联网标准只支持IPv6,不再兼容IPv4。
•IPv6的优势1.明显地扩大了IP地址空间2.明显提高了网络的整体吞吐量3.使得整个服务质量得到了很大改善4.安全性有了更好的保障5.支持即插即用和移动性•IPv6技术特性IPv6 在解决了 IPv4 的地址匮乏问题的同时,还在许多方面实现了优化改进,主要包括以下五点:•第一,IPv6 具有层次化的编址方式,地址分配遵循聚类(Aggregation)的原则,同时通过使用更小的路由表,使得路由器能在路由表中用一条记录(Entry)表示一片子网,大大减小了路由器中路由表的长度,有利于骨干网路由器对数据包的快速转发有效提高转发速度。
•第二,IPv6 增强了组播支持以及对流的控制能力,为多媒体应用和服务质量(QoS,Quality of Service)控制提供了更好的网络平台。
ipv6 总结

IPV6的特点1,IPV6地址长度为128bits,地址空间增大了2的96次方倍;2,灵活的IP报文头部格式。
使用一系列固定格式的扩展头部取代了IPV4中可变长度的选项字段。
IPV6中选项部分的出现方式也有变化,使路由器可以简单路过选项而不做任何处理,加快了报文的处理速度;3,IPV6简化了报文头部格式,字段只有7个,加快报文的转发,提高了吞吐量;4,提高安全性。
身份认证和隐私权是IPV6的关键特性;5,支持更多的服务类型;6,允许协议继续演变,增加新的功能,使之适应未来技术的发展;IPv6的优势1,IPv6具有更大的地址空间。
2,IPV6使用更小的路由表。
IPV6的地址分配一开始就遵循聚类的原则,这使得路由器能在路由表中用一条记录表示一片子网,大大减小了路由器中路由表的长度,提高了路由器转发数据包的速度。
3,IPV6增加组播支持及对流的支持,这使得网络上的多媒体应用有了长足的发展计划,为服务质量(QOS)控制提供了良好的网络平台。
4,IPV6加入了对自动配置的支持,这是对DHCP协议的改进和扩展,是的网络的管理更加方便和快捷。
5,IPV6具有更高的安全性。
在使用IPV6网络中用户可以对网络层的数据进行加密并对IP报文进行校验,极大的增强了网络的安全性。
IPv6地址IPv6地址=前缀+接口标识符/前缀长度前缀:相当于v4地址中的网络ID接口标识:相当于v4地址中的主机ID表示方式:冒号十六进制形式每16位转换为4位的十六进制数;压缩形式;混合形式。
IPV6报头结构IPV6报头=IPV6包头(基本报头)+扩展报头+上层协议数据单元。
1,IPV6包头。
每一个IPV6数据包都必须包含该报头,长度为40字节。
去掉了IPv4中一切可选项,只包括8个必要的字段,因此尽管IPv6地址长度为IPv4的四倍,IPv6包头长度仅为IPv4包头长度的两倍。
2,扩展报头。
又称下一个报头,扩展报头是可选报头,紧接在基本报头之后,IPv6数据包可包含多个扩展报头,扩展报头的长度并不固定,IPV6扩展报头代替了IPV4报头中的选项字段。
IPv6技术——路由协议

IPv6技术——路由协议IPv6 单播路由协议:IGP(Internal Gateway Protocol)EGP(External Gateway Protocol)IPv6 IGP主要有:1. RIPng是在RIP基础上开发的⽤于IPv6⽹络的路由协议,在⼯作机制上与RIP基本相同,是IPv6中基于距离向量的内部⽹关路由协议。
但为了⽀持IPv6地址格式,RIPng对RIP做了⼀些改动。
RIPng⼀般作为中等或者偏⼩规模的⽹络⾃治系统中的内部⽹关路由协议RIPng技术实现:通过UDP报⽂进⾏路由信息交换,使⽤端⼝号521发送和接收数据报。
特别的查询信息可以不从源节点端⼝521发出,但是必须发送到⽬标节点的端⼝521每个路由器都有接⼝连接⼀个或者多个⽹络(直连⽹络)。
RIP协议的实现依赖这些⽹络的相关信息。
包括⽬的地址前缀、前缀长度以及度量等。
RIPng使⽤跳数(hop count)作为度量(metric)。
RIPng⽹络的度量是1~15之间的整数,⼤于或等于16的跳数定义为⽆穷⼤,即⽬的⽹络或主机不可达。
RIP的启动和运⾏过程:RIPng与RIP的不同点报⽂格式不同。
RIPng有两类RTE:⽬的前缀RTE和下⼀跳RTE。
⽬的前缀RTE指明可达⽬的⽹络,下⼀跳RTE 为RIPng提供了直接指定下⼀跳IPv6地址的能⼒。
下⼀跳RTE指明的IPv6地址适⽤于跟随其后的⽬的前缀RTE,直到RIPng报⽂结束或者出现另⼀个下⼀跳RTE为⽌报⽂长度不同发送⽅式不同端⼝号不同安全机制不同OSPFv3OSPFv3是在OSPFv2基础上开发的⽤于IPv6⽹络的路由协议。
作为链路状态路由选择算法,其实现机制没有本质改变OSPFv3运⾏在IPv6⽹络中,它同OSPFv2并不兼容,但处理流程基本保持⼀致,eg:泛洪过程,DR选举。
对区域的⽀持以及SPF计算流程,OSPFv3只是在v2基础上进⾏了⼀些改进,以⽀持报⽂格式的变化并处理IPv6中128bit的地址OSPFv3和OSPFv2的不同点:OSPFv3在OSPFv2基础上做出了⼀些必要的改造,这些改进包括以下⼏⽅⾯链路概念取代⽹络概念OSPFv2是基于⽹络运⾏的,两个路由器要形成邻居关系必须在同⼀⽹段:OSPFv3的实现是基于链路的,同⼀链路不同⼦⽹上的节点也可以直接通话报⽂去除地址语义对于OSPFv3来说,除了LS Update报⽂载荷中存在地址以外,协议报⽂中不再提供地址信息;Router-LSA和Network-LSA中也不再包含⽹络地址;OSPF Router ID,区域ID和Link State ID仍然保留IPv4中32bit的长度,因此不能使⽤IPv6地址来代表这些信息增加泛洪范围LSA的泛洪范围已经被明确地定义在LSA的LS Type字段,⽬前有以下3种LSA泛洪范围:本链路范围:⽤于Link LSA;区域范围:⽤于Router LSA、Network LSA、Inter Area Prefix LSA、 Inter Area Router LSA和Intra Area Prefix LSA;⾃治域范围:⽤于AS-external-LSA 链路⽀持多实例复⽤link-local地址的使⽤IS-ISv6IS-ISv6可以同时承载IPv4和IPv6的路由信息,完全可以独⽴⽤于IPv4⽹络和IPv6⽹络。
IPv6基础介绍

IPv6基础介绍文档摘要:IPv6协议,IPv6优点,IPv6基本功能关键字:IPv6,ICMPv6,DHCPv6,PPPoEv6一、IPv6协议介绍IPv6是Internet Protocol Version 6的缩写,其中Internet Protocol译为“互联网协议”。
IPv6是IETF(互联网工程任务组,Internet Engineering TaskForce)设计的用于替代现行版本IP协议(IPv4)的下一代IP协议。
目前IP协议的版本号是4(简称为IPv4),它的下一个版本就是IPv6。
1、IPv4设计的不足(a)IPv4地址空间不足IPv4地址采用32比特标识,理论上能够提供的地址数量是43亿。
但由于地址分配的原因,实际可使用的数量不到43亿。
另外,IPv4地址的分配也很不均衡:美国占全球地址空间的一半左右,而欧洲则相对匮乏;亚太地区则更加匮乏。
与此同时,移动IP和宽带技术的发展需要更多的IP地址。
IPv4地址资源紧张直接限制了IP技术应用的进一步发展。
针对IPv4的地址短缺问题,也曾先后出现过几种解决方案。
比较有代表性的是CIDR(Classless Inter-Domain Routing)和NAT(IP Network AddressTranslator)。
但是CIDR和NAT都有各自的弊端和不能解决的问题,由此推动了IPv6的发展。
(b)骨干路由器维护的路由表表项过于庞大由于IPv4发展初期的分配规划问题,造成许多IPv4地址分配不连续,不能有效聚合路由。
日益庞大的路由表耗用较多内存,对设备成本和转发效率产生影响,这一问题促使设备制造商不断升级其路由器产品,以提高路由寻址和转发性能。
(c)不易进行自动配置和重新编制由于IPv4地址只有32比特,并且地址分配不均衡,导致在网络扩容或重新部署时,经常需要重新分配IP地址。
因此需要能够进行自动配置和重新编址以减少维护工作量。
IPv6基础介绍挂图 01

源: 2001:f400:2::20/90 目的: 64:ff9b::4593:f41/80 源: 64:ff9b::4593:f41/80 目的: 2001:f400:2::20/90
Stateful NAT:转换前后地址没有算法联系,需要表 项查找对应关系。
IPv6扩展报头顺序
顺序 1 2 3 4 5 6 7 8 上层协议 上层协议 上层协议 报头类型 基本报头 逐跳选项报头 目的选项报头 路由报头 分段报头 认证报头 目的选项报头 TCP UDP ICMPv6 报头编码 0 60 43 44 51 60 6 17 58
2011:100:ca26:903:: 2011:100:ca26:904:: 2011:100:ca26:905:: 2011:100:ca26:906::
重定向样例:
Redirect R1 主机A的默认路由器为R1,A要 给主机B发送数据,重定向到R2 A B Host A (G2) R2 Host B (G1) 多播侦听报告 多播侦听查询 Host C (G1) 组播节目(G2)
IPv6组播技术

1 Pv6中可控组播技术介绍对于IPv6的可控组播技术而言,在实现中首先要符合组播路由协议(PIM)、组播组管理协议(MLD)等基本组播协议的要求。
在此基础之上,建立IPv6可控组播的技术模型,确定在一个可控组播的部署环境中,对组播源及组播接收者的控制。
在IPv6可控组播技术应当能够提供以下功能:∙对组播源严格控制,阻止未被授权的组播流的发送。
∙对组播接收者严格控制,阻止未授权用户组播流量的获取。
∙对用户身份控制,能够针对用户的身份进行组播组的授权。
∙组播控制权限能够根据用户的在线情况实时下发,避免设备的压力过大。
∙抑制二层组播报文,使其无法在接入层泛滥。
∙与现有的认证计费系统配合,达到平滑升级的目的。
∙在现有的设备上平滑升级支持IPv6可控组播功能在IPv6的组播环境中,组播的组管理协议和组播路由协议在原理上没有发生变化,为了适应IPv6报文的特点,相关协议进行了一些适配性的修改。
同时,IPv6的组播地址与对应的组播MAC地址发生了一些变化,同IPv4的组播相比,IPv6组播的IP地址与组播的MAC 的对应关系不存在32比1的问题,这样在IPv6网络中,IPv6的组播地址分配会更加合理。
因此,在IPv6的可控组播中,需要对这些变化进行处理,才能够实现可控组播的功能。
如上所述,在IPv6的可控组播涉及到的技术主要有:组播源控制,组播组控制。
同时,当IPv6网络中开启组播业务时,要考虑到组播地址的分配问题。
下面将对IPv6网络中可控组播所涉及的技术及可控组播的实现过程进行分析。
1.1 IPv6的组播地址同IPv4组播一样,在IPv6中,使用组播组地址来确定一个组播组的接收者,接收者接收IPv6组播时,必须要知道IPv6的组播组地址,这样通过MLD协议的管理,接收者才能够获取IPv6的组播流。
IPv6的组播组地址格式如图1所示:图1 IPv6组播地址格式最高的8个bit为0xFF,标识此地址为组播地址。
IPv6

IPv6安全
IPv6的ACL ACL(Access Control List,访问控制列表)是用来实现流 识别功能的。 ACL根据一系列的匹配条件对报文进行分类,这些条件 可以使报文的源地址、目的地址、端口号等。网络设备可 以使用ACL来实现网络中的数据报文过滤。 IPv6 ACL的分类 IPv6 ACL根据序号来区分不同种类的ACL。 IPv6 ACL的匹配顺序 1、按配置顺序匹配 直接按照用户配置规则的先后顺序进行匹配。 2、按深度优先方式匹配 把指定报文地址范围最小的规则排在最前面。
组播侦听发现协议MLD
MLD协议有以下两个版本 1、MLDv1协议 源于IPv4的IGMPv2协议。区别在于:MLD是基于ICMPv6的; IGMP是基于IP的。 MLDv1共有三类MLD报文: ① 多播侦听查询报文 ICMPv6类型 130 ② 多播侦听报告报文 ICMPv6 ICMPv6类型 131 ③ 多播侦听已完成报文 ICMPv6类型 130 2、MLDv2协议 源于IPv4的IGMPv3协议.它的最大特点是,主机不但能告 诉组播路由器它需要接受那些组播流,而且还能告诉路由 器它需要接受由哪些源发出的组播流,并且拒绝哪些。
IPv6过渡技术
IPv6除了能满足目前所有应用的地址需求,而且还有许多新 的特点,使得它的普及只是个时间问题。 但很明显,IPv6不可能一下子取代IPv4,只有IPv6慢慢的发 展壮大,IPv4才会逐渐退出,这必然是一个缓慢的过程。 IPv6协议与IPv4协议不兼容,因此IPv4和IPv6之间的互通成为 了这个过程的关键,即IPv6孤岛的链接活着IPv4孤岛的链接。 目前,成熟的技术主要有以下三种: 1、双协议栈(Dual Stack) 2、隧道技术(Tunnel) 3、网络地址转换协议 NAT-PT(Network Address Translation Translation)
MLD

MLD 简介MLD 是Multicast Listener Discovery Protocol(组播侦听者发现协议)的简称,它用于IPv6 路由器在其直连网段上发现组播侦听者。
组播侦听者(Multicast Listener)是那些希望接收组播数据的主机节点。
路由器通过MLD 协议,可以了解自己的直连网段上是否有IPv6 组播组的侦听者,并在数据库里做相应记录。
同时,路由器还维护与这些IPv6 组播地址相关的定时器信息。
MLD 路由器使用IPv6 单播链路本地地址作为源地址发送MLD 报文。
MLD 使用ICMPv6(Internet Control Message Protocol for IPv6,针对IPv6 的互联网控制报文协议)报文类型。
所有的MLD 报文被限制在本地链路上,跳数为1。
MLD 的版本到目前为止,MLD 有两个版本:∙MLDv1(由RFC 2710 定义),源自IGMPv2∙MLDv2(由RFC 3810 定义),源自IGMPv3所有版本的MLD 协议都支持ASM(Any-Source Multicast,任意信源组播)模型;MLDv2 可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而MLDv1 则需要在MLD SSM Mapping 技术的支持下才能应用于SSM 模型。
MLDv1 原理简介MLDv1 主要基于查询和响应机制完成对IPv6 组播组成员的管理。
1. 查询器选举机制当一个网段内有多台IPv6 组播路由器时,由于它们都能从主机那里收到MLD 成员关系报告报文(Multicast Listener Report Message),因此只需要其中一台路由器发送MLD 查询报文(Query Message)就足够了。
这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为MLD 查询器,其选举过程如下:(1) 所有MLD 路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送MLD 普遍组查询(General Query)报文(目的地址为FF02::1);(2) 本地网段中的其它MLD 路由器在收到该报文后,将报文的源IPv6 地址与自己的接口地址作比较。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MLD 简介MLD 是Multicast Listener Discovery Protocol(组播侦听者发现协议)的简称,它用于IPv6 路由器在其直连网段上发现组播侦听者。
组播侦听者(Multicast Listener)是那些希望接收组播数据的主机节点。
路由器通过MLD 协议,可以了解自己的直连网段上是否有IPv6 组播组的侦听者,并在数据库里做相应记录。
同时,路由器还维护与这些IPv6 组播地址相关的定时器信息。
MLD 路由器使用IPv6 单播链路本地地址作为源地址发送MLD 报文。
MLD 使用ICMPv6(Internet Control Message Protocol for IPv6,针对IPv6 的互联网控制报文协议)报文类型。
所有的MLD 报文被限制在本地链路上,跳数为1。
MLD 的版本到目前为止,MLD 有两个版本:∙MLDv1(由RFC 2710 定义),源自IGMPv2∙MLDv2(由RFC 3810 定义),源自IGMPv3所有版本的MLD 协议都支持ASM(Any-Source Multicast,任意信源组播)模型;MLDv2 可以直接应用于SSM(Source-Specific Multicast,指定信源组播)模型,而MLDv1 则需要在MLD SSM Mapping 技术的支持下才能应用于SSM 模型。
MLDv1 原理简介MLDv1 主要基于查询和响应机制完成对IPv6 组播组成员的管理。
1. 查询器选举机制当一个网段内有多台IPv6 组播路由器时,由于它们都能从主机那里收到MLD 成员关系报告报文(Multicast Listener Report Message),因此只需要其中一台路由器发送MLD 查询报文(Query Message)就足够了。
这就需要有一个查询器(Querier)的选举机制来确定由哪台路由器作为MLD 查询器,其选举过程如下:(1) 所有MLD 路由器在初始时都认为自己是查询器,并向本地网段内的所有主机和路由器发送MLD 普遍组查询(General Query)报文(目的地址为FF02::1);(2) 本地网段中的其它MLD 路由器在收到该报文后,将报文的源IPv6 地址与自己的接口地址作比较。
通过比较,IPv6 地址最小的路由器将成为查询器,其它路由器成为非查询器(Non-Querier);(3) 所有非查询器上都会启动一个定时器(即其它查询器存在时间定时器Other Querier Present Timer)。
在定时器超时前,如果收到了来自查询器的MLD查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。
2. 加入IPv6 组播组机制图1 MLD查询响应示意图如图1所示,假设Host B与Host C想要收到发往IPv6 组播组G1 的IPv6 组播数据,而Host A想要收到发往IPv6 组播组G2 的IPv6 组播数据,那么主机加入IPv6 组播组以及MLD查询器(Router B)维护IPv6 组播组成员关系的基本过程如下:(1) 主机会主动向其要加入的IPv6 组播组发送MLD 成员关系报告报文以声明加入,而不必等待MLD 查询器发来的MLD 查询报文;(2) MLD 查询器(Router B)周期性地以组播方式向本地网段内的所有主机和路由器发送普遍组查询报文(目的地址为FF02::1);(3) 在收到该查询报文后,关注G1 的Host B 与Host C 其中之一(这取决于谁的延迟定时器先超时)——譬如Host B 会首先以组播方式向G1 发送MLD 成员关系报告报文,以宣告其属于G1。
由于本地网段中的所有主机都能收到Host B 发往G1 的报告报文,因此当Host C 收到该报告报文后,将不再发送同样针对G1 的报告报文,因为MLD 路由器(Router A 和Router B)已知道本地网段中有对G1 感兴趣的主机了。
这个机制称为主机上的MLD 成员关系报告抑制机制,该机制有助于减少本地网段的信息流量;(4) 与此同时,由于Host A 关注的是G2,所以它仍将以组播方式向G2 发送报告报文,以宣告其属于G2;(5) 经过以上的查询和响应过程,MLD 路由器了解到本地网段中有G1 和G2 的成员,于是由IPv6 组播路由协议(如IPv6 PIM)生成(*,G1)和(*,G2)组播转发项作为IPv6 组播数据的转发依据,其中的“*”代表任意IPv6 组播源;(6) 当由IPv6 组播源发往G1 或G2 的IPv6 组播数据经过组播路由到达MLD 路由器时,由于MLD 路由器上存在(*,G1)和(*,G2)组播转发项,于是将该IPv6 组播数据转发到本地网段,接收者主机便能收到该IPv6 组播数据了。
3. 离开IPv6 组播组机制当一个主机离开某IPv6 组播组时:(1) 该主机向本地网段内的所有IPv6 组播路由器(目的地址为FF02::2)发送离开组(Done)报文;(2) 当查询器收到该报文后,向该主机所声明要离开的那个IPv6 组播组发送特定组查询(Multicast-Address-Specific Query)报文(目的地址字段和组地址字段均填充为所要查询的IPv6 组播组地址);(3) 如果该网段内还有该IPv6 组播组的其它成员,则这些成员在收到特定组查询报文后,会在该报文中所设定的最大响应时间(Maximum Response Delay)内发送成员关系报告报文;(4) 如果在最大响应时间内收到了该IPv6 组播组其它成员发送的成员关系报告报文,查询器就会继续维护该IPv6 组播组的成员关系;否则,查询器将认为该网段内已无该IPv6 组播组的成员,于是不再维护这个IPv6 组播组的成员关系。
MLDv2 原理简介MLDv2 的原理与MLDv1 基本相同,并新增了以下特性:1. 对IPv6 组播源的过滤MLDv2 增加了针对IPv6 组播源的过滤模式(INCLUDE/EXCLUDE),使主机在加入某IPv6 组播组G 的同时,能够明确要求接收或拒绝来自某特定IPv6 组播源S 的IPv6 组播信息。
当主机加入IPv6 组播组时:若要求只接收来自指定IPv6 组播源如S1、S2、……发来的IPv6 组播信息,则其报告报文中可以标记为INCLUDE Sources(S1,S2,……);若拒绝接收来自指定IPv6 组播源如S1、S2、……发来的IPv6 组播信息,则其报告报文中可以标记为EXCLUDE Sources(S1,S2,……)。
如图2所示,网络中存在Source 1(S1)和Source 2(S2)两个IPv6 组播源,均向IPv6 组播组G发送IPv6 组播报文。
Host B仅对从Source 1 发往G的信息感兴趣,而对来自Source 2 的信息没有兴趣。
图2 指定源组的IPv6组播流路经如果主机与路由器之间运行的是MLDv1,Host B 加入IPv6 组播组G 时无法对IPv6组播源进行选择,因此无论Host B 是否需要,来自Source 1 和Source 2 的IPv6组播信息都将传递给Host B。
当主机与路由器之间运行了MLDv2 之后,Host B 就可以要求只接收来自Source 1、发往G 的IPv6 组播信息(S1,G),或要求拒绝来自Source 2、发往G 的IPv6组播信息(S2,G),这样就只有来自Source 1 的IPv6 组播信息才能传递给HostB 了。
2. MLD 状态运行MLDv2 的组播路由器按每条直连链路上的组播地址(per multicast address perattached link)来保持IPv6 组播组的状态。
IPv6 组播组的状态包括:∙过滤模式:保持对INCLUDE 或EXCLUDE 的状态跟踪。
∙源列表:保持对新增或删除IPv6 组播源的跟踪。
∙定时器:表示IPv6 组播地址超时后切换到INCLUDE 模式的过滤定时器、关于源记录的源定时器等。
3. 接收者主机的状态侦听运行MLDv2 的组播路由器通过侦听接收者主机的状态,记录和维护网段上加入到源组的主机的信息。
MLD 报文类型下面以MLDv2 为例对MLD 的报文类型进行介绍:1. MLD 查询报文MLD查询器通过发送MLD查询报文来了解相邻接口的组播侦听状态。
MLD查询报文的格式如图3所示,图中深蓝色部分为MLDv1 的报文格式,各字段的含义如表1所示。
图3 MLDv2 查询报文格式表1 MLDv2 查询报文各字段含义2. MLD 报告报文主机通过发送MLD报告报文来汇报当前的组播侦听状态。
MLD报告报文的格式如图4所示,各字段的含义如表2所示。
图4 MLDv2 报告报文格式表2 MLDv2 报告报文各字段含义MLD SSM MappingMLD SSM Mapping 通过在路由器上配置SSM 静态映射规则,从而为运行MLDv1的接收者主机提供对SSM 模型的支持。
SSM 模型要求在接收者主机所在的网段,路由器能够了解主机加入IPv6 组播组时所指定的IPv6 组播源。
如果接收者主机上运行的是MLDv2,则可以在MLDv2 的报告报文中直接指定IPv6 组播源的地址;如果某些接收者主机只能运行MLDv1,则在MLDv1 的报告报文中无法指定IPv6 组播源的地址。
这种情况下需要通过在路由器上配置MLD SSM Mapping 功能,将MLDv1 报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息图5 MLD SSM Mapping 组网图在如图5所示的IPv6 SSM网络中,Host A、Host B和Host C上分别运行MLDv1 和MLDv2。
在不允许将Host A和Host B升级为MLDv2 的情况下,若要为Host A 和HostB也提供SSM组播服务,则需在Router A上配置MLD SSM Mapping功能。
配置完成后,当Router A 收到来自主机的MLDv1 报告报文时,首先检查该报文中所携带的IPv6 组播组地址G,然后根据检查结果的不同分别进行处理:(1) 如果G 不在IPv6 SSM 组地址范围内,则提供ASM 组播服务。
(2) 如果G 在IPv6 SSM 组地址范围内:∙若Router A 上没有G 对应的MLD SSM Mapping 规则,则无法提供SSM 组播服务,丢弃该报文;∙若Router A 上有G 对应的MLD SSM Mapping 规则,则依据规则将报告报文中所包含的(*,G)信息映射为(G,INCLUDE,(S1,S2...))信息,可以提供SSM 组播服MLD Proxying在一些简单的树型网络拓扑中,边缘设备上并不需要运行复杂的IPv6 组播路由协议(如IPv6 PIM),可以通过在这些设备上配置MLD Proxying(MLD 代理)功能,使其代理下游主机来发送MLD 报文及维护组成员关系,并基于该关系进行IPv6 组播转发。