所选语种没有对应资源,请选择:

本站点使用Cookies,继续浏览表示您同意我们使用Cookies。Cookies和隐私政策>

提示

尊敬的用户,您的IE浏览器版本过低,为获取更好的浏览体验,请升级您的IE浏览器。

升级

CloudEngine 8800, 7800, 6800, 5800 V200R002C50 配置指南-IP组播

本文档介绍了IP组播的配置,具体包括IP组播基础、IGMP配置、MLD配置、PIM(IPv4)配置、PIM(IPv6)配置、MSDP配置、组播VPN配置、组播路由管理(IPv4)配置、组播路由管理(IPv6)配置、IGMP Snooping配置、MLD Snooping配置、静态组播MAC地址配置、组播VLAN配置和组播网管配置。
评分并提供意见反馈 :
华为采用机器翻译与人工审校相结合的方式将此文档翻译成不同语言,希望能帮助您更容易理解此文档的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 华为对于翻译的准确性不承担任何责任,并建议您参考英文文档(已提供链接)。
MLDv1工作原理

MLDv1工作原理

MLDv1的工作机制与IGMPv2相同,定义了查询器选举机制、普遍组查询和响应机制、新组成员加入机制以及离开组机制。

MLD查询器周期性地向本网段内所有主机和组播路由器发送普遍组查询报文,通过成员主机反馈的报告报文来维护组成员关系;当MLD查询器收到成员主机发送的针对某组的离开报文时,会发送特定组查询报文来了解网段内是否还存在该组的成员,如果没有则删除对应的组成员关系。MLD查询器根据组成员关系来决定是否将对应组的组播数据报文转发到该网段。

MLDv1报文

MLDv1包括四种类型的报文:
  • 普遍组查询报文(General Query):查询器向共享网络上所有主机和路由器发送的查询报文,用于了解哪些组播组存在成员。
  • 特定组查询报文(Multicast Address Specific Query):查询器向共享网段内指定组播组发送的查询报文,用于查询该组播组是否存在成员。
  • 成员报告报文(Multicast Listener Report):主机向查询器发送的报告报文,用于申请加入某个组播组或者应答查询报文。
  • 成员离开报文(Multicast Listener Done):主机离开组播组时主动向查询器发送的报文,用于宣告自己离开了某个组播组。

MLDv1报文的格式如图3-2所示,其中各个字段的说明见表3-1

图3-2 MLDv1报文格式
表3-1 MLDv1报文字段说明
字段 说明
Type 报文类型。该字段有以下三种取值:
  • 130:表示查询报文。包括普遍组查询报文和特定组查询报文两类。
  • 131:表示成员报告报文。
  • 132:表示成员离开报文。
Code 该字段在发送时被设为0,并在接收时被忽略。
Checksum 标准的ICMPv6校验和。覆盖所有MLD报文以及IPv6首部区域中的伪首部。Checksum字段在进行校验计算时设为0。接收报文时首先验证校验和,然后才处理报文。
Maximum Response Delay 最大响应时间。成员主机在收到MLD查询器发送的普遍组查询报文后,需要在最大响应时间内做出回应。该字段仅在MLD查询报文中有效。
Reserved 保留字段。该字段在发送时被设为0,并在接收时被忽略。
Multicast Address 组播组地址。
  • 在普遍组查询报文中,该字段设为0。
  • 在特定组查询报文中,该字段为要查询的IPv6组播组地址。
  • 在成员报告报文和离开报文中,该字段为成员要加入或离开的IPv6组播组地址。

MLDv1工作机制

图3-3所示,IPv6组播网络中RouterA和RouterB连接主机网段,在主机网段上有HostA、HostB、HostC三个接收者。假设HostA和HostB想要接收发往组播组G1的数据,HostC想要接收发往组播组G2的数据。
图3-3 IPv6组播网络示意图

针对图3-3的组网,分别介绍查询器选举普遍组查询和响应新组成员加入离开组的工作机制。

查询器选举机制

当一个网段内有多台IPv6组播路由器时,由于它们都可以接收到主机发送的报告报文,因此只需要选取其中一台组播路由器发送查询报文就足够了,该组播路由器称为MLD查询器(Querier)。

图3-4 查询器选举示意图

图3-4所示,查询器的选举过程如下:

  1. 最初,所有运行MLD的组播路由器(RouterA和RouterB)都认为自己是查询器,向本网段内的所有主机和组播路由器发送普遍组查询报文。

    RouterA和RouterB在收到对方发送的普遍组查询报文后,将报文的源IPv6地址与自己的接口地址作比较。通过比较,IPv6地址最小的组播路由器将成为查询器,其他组播路由器成为非查询器(Non-Querier)。如图3-4所示,RouterA的接口地址小于RouterB,则RouterA当选为查询器,RouterB为非查询器。

  2. 此后,由MLD查询器(RouterA)向本网段内的所有主机和其他组播路由器发送普遍组查询报文,而非查询器(RouterB)不再发送普遍组查询报文。

    非查询器(RouterB)上都会启动一个定时器(即其他查询器存在时间定时器Other Querier Present Timer)。在该定时器超时前,如果收到了来自查询器的查询报文,则重置该定时器;否则,就认为原查询器失效,并发起新的查询器选举过程。

普遍组查询和响应机制

通过普遍组查询和响应,MLD查询器可以了解到该网段内哪些组播组存在成员。

图3-5 普遍组查询和响应示意图

图3-5所示,普遍组查询和响应过程如下:

  1. MLD查询器发送目的地址为FF02::1(表示同一网段内所有主机和路由器)的普遍组查询报文;收到该查询报文的组成员启动定时器。

    普遍组查询报文是周期性发送的,发送周期可以通过命令配置,缺省情况下每隔125秒发送一次。HostA和HostB是组播组G1的成员,则在本地启动定时器Timer-G1。缺省情况下,定时器的范围为0~10秒之间的随机值。

  2. 第一个定时器超时的组成员发送针对该组的报告报文。

    假设HostA上的Timer-G1首先超时,HostA向该网段发送目的地址为G1的报告报文。HostB收到此报告报文,则停止定时器Timer-G1,不再发送针对G1的报告报文。这样报告报文被抑制,可以减少网段上的MLD报文的数量。

  3. MLD查询器接收到HostA的报告报文后,了解到本网段内存在组播组G1的成员,则由IPv6组播路由协议生成(*,G1)组播转发表项,“*”代表任意IPv6组播源。网络中一旦有组播组G1的数据到达路由器,将向该网段转发。

新成员加入机制

共享网段内有新组成员需要加入组播组时,会主动向MLD查询器发送报告报文,而不必等待普遍组查询报文的到来。

图3-6 新成员加入机制示意图

图3-6所示,IPv6主机HostC加入组播组G2的过程如下:

  1. HostC不等待普遍组查询报文的到来,主动发送针对G2的报告报文以声明加入。
  2. MLD查询器接收到HostC的报告报文后,了解到本网段内出现了组播组G2的成员,则生成组播转发项(*,G2)。网络中一旦有G2的数据到达路由器,将向该网段转发。

离开组机制

通过离开组机制,MLD查询器可以及时了解到网段内哪些组播组已不存在成员,从而及时更新组成员关系,减少网络中冗余的组播流量。

图3-7 离开组示意图

图3-7所示,IPv6主机HostA离开组播组G1的过程如下:

  1. HostA向本地网段内的所有组播路由器(目的地址为FF02::2)发送针对组G1的离开报文(Done)。
  2. 查询器收到离开报文,会发送针对组G1的特定组查询报文。发送间隔和发送次数可以通过命令配置,缺省情况下每隔1秒发送一次,共发送两次。同时查询器启动组成员关系定时器(Timer-Membership = 发送间隔 × 发送次数)。
  3. 该网段内还存在组G1的其他成员(HostB),这些成员在收到查询器发送的特定组查询报文后,会立即发送针对组G1的报告报文。查询器收到针对组G1的报告报文后将继续维护该组成员关系。

    如果该网段内不存在组G1的其他成员,查询器将不会收到针对组G1的报告报文。在Timer-Membership超时后,查询器将删除记录的(*,G1)组信息。当有组G1的组播数据到达查询器时,查询器将不会向下游转发。

翻译
下载文档
更新时间:2019-03-20

文档编号:EDOC1000166616

浏览量:62748

下载量:241

平均得分:
本文档适用于这些产品
相关文档
相关版本
Share
上一页 下一页