组播VLAN配置

组播VLAN配置

组播VLAN复制功能可以使三层设备只需把组播数据传送给该组播VLAN,而不必再为每个用户VLAN都复制一份组播报文,减少带宽浪费。

组播VLAN的简介

介绍组播VLAN的定义和目的。

定义

组播VLAN全称Multicast VLAN,用于将接收到的相同的组播数据在不同的用户VLAN进行复制分发。

目的

二层组播侦听功能很好的弥补了组播数据如果到达的是二层广播网络,就会进行广播的缺陷。但是这种功能是基于一个广播域,即基于VLAN来实现的。如果不同VLAN的用户有相同的组播数据需求时,上游路由器仍然需要发送多份相同报文到不同VLAN中。

通过在二层设备上配置组播VLAN功能就可以解决这个问题,它实现了在二层网络设备上进行跨VLAN组播复制。在二层设备上部署了组播VLAN功能后,上游路由器不必在每个用户VLAN内都复制一份组播流,而是数据流在组播VLAN内复制一份后发送给二层设备。这样就避免了组播流在上游路由器的重复复制,不仅节省了网络带宽,又减轻了上游路由器的负担。

组播VLAN原理描述

介绍组播VLAN功能的实现原理。

基于用户VLAN的组播VLAN

交换机支持将用户VLAN与组播VLAN进行绑定,实现在不同的用户VLAN间进行组播报文复制。基于用户VLAN的组播VLAN功能提供了组播VLAN复制功能中最核心的功能:上游设备只需要向配置了组播VLAN的交换机上发送一份组播数据,然后交换机再将其复制分发到有相同组播需求的不同用户VLAN中,从而减少了上游设备与交换机之间的带宽浪费,即如图11-1所示。

图11-1 基于用户VLAN的组播VLAN示意图
file

基于接口的组播VLAN

交换机支持在用户侧接口下配置用户VLAN与组播VLAN进行绑定,不仅能够实现组播数据在不同用户VLAN间进行复制,还可以实现基于接口的组播业务隔离。

图11-2所示,组播业务批发给了ISP1、ISP2两个服务商,用户VLAN(UVLAN)中的HostA、HostB定制的是ISP1提供的服务,HostC、HostD定制的是ISP2提供的。为了使两个ISP提供的组播数据不会发送到所有的用户主机上,给ISP1、ISP2分别分配一个组播VLAN(MVLAN1、MVLAN2),在HosA、HostB接入接口上配置UVLAN与MVLAN1绑定,HostC、HostD接入接口上配置UVLAN与MVLAN2绑定。这样,ISP1提供的组播数据只向HostA、HostB发送,ISP2提供的组播数据只向HostC、HostD发送。

图11-2 基于接口的组播VLAN示意图

file

组播VLAN配置任务概览

根据不同的应用场景,组播VLAN有不同的配置方式。

组播VLAN的配置任务如表11-1所示。

表11-1 组播VLAN配置任务概览

场景 描述 对应任务
配置基于用户VLAN的组播VLAN 配置基于用户VLAN的组播VLAN功能实现了组播VLAN的最核心的功能:上游设备只需要向配置了组播VLAN的交换机上发送一份组播数据,然后交换机再将其复制分发到有相同组播需求的不同用户VLAN中,从而减少了上游设备与交换机之间的带宽浪费。 配置基于用户VLAN的组播VLAN功能
配置基于接口的组播VLAN 通过在接口下配置用户VLAN与组播VLAN间的绑定关系,不仅能够实现组播数据在不同用户VLAN间进行复制,还可以实现基于接口的组播业务隔离。比如当前组播业务批发给了不同的ISP(ISP用组播VLAN表示),为了实现属于本ISP的组播数据只转发到定制本ISP组播业务的用户,可在交换机上配置此功能。 配置基于接口的组播VLAN功能

组播VLAN配置注意事项

介绍配置组播VLAN的注意事项。

涉及网元

IPv4组播网络可能涉及以下网元:

  • 组播源:发送组播数据给组播用户主机,比如视频服务器。
  • 运行PIM(IPv4)协议的设备:通过PIM(IPv4)协议生成组播路由表项,转发组播数据。在IPv4组播网络里,所有三层设备上都需要运行PIM(IPv4)协议,否则组播转发路径无法正常建立。
  • 运行MSDP协议的设备:实现跨PIM网络的组播数据转发,所以主要应用在网络规模大的场合。比如两个AS系统需要实现组播通信,就在AS间的边缘设备上运行MSDP协议。
  • IGMP查询器:与组播用户主机之间交互IGMP报文,建立和维护组播组成员关系。在组播网络里,连接用户侧的三层设备都需要运行IGMP协议或者配置IGMP静态组播组,否则上游运行PIM协议的设备无法了解到用户需求,组播转发路径无法正常建立。
  • 运行IGMP Snooping的设备:通过侦听上游三层组播设备与组播用户主机之间交互的IGMP报文,生成二层组播转发表项,指导组播数据在二层网络的精确转发。为了避免组播报文二层网络广播,减少带宽浪费,可以在二层设备上配置IGMP Snooping功能。
  • 接收者:接收组播数据的组播用户。接收者可以为PC、机顶盒等,但是需要具备相应的组播客户端软件。

License支持

组播VLAN属于交换机基本软件功能,基本软件功能License在设备出厂时已经内置并已激活,不需要用户再手动激活。

版本支持

表11-2 支持本特性的最低软件版本

产品 最低支持版本
CE6881/CE6820/CE6863 V200R005C20
CE6881K V200R019C10
CE6881E V200R019C10
CE6863K V200R019C10
CE5881 V200R020C00

img

如果需要了解软件版本与交换机具体型号的配套信息,请查看硬件查询工具

软件版本演进关系:V200R005C20 -> V200R019C10 -> V200R020C00

特性依赖和限制

  • 组播VLAN作为一个二层组播特性,本章中涉及到接口的配置,都是在二层物理接口(包括Eth-Trunk接口)下进行配置。
  • 设备仅支持IPv4组播VLAN,不支持IPv6组播VLAN。
  • 请对组播源发出的组播数据报文设置一个合理的TTL值,保证设备通过组播VLAN接收到该报文时,其TTL值大于1。否则可能造成无法向用户VLAN正常转发。

组播VLAN缺省配置

介绍缺省情况下,组播VLAN的配置信息。

表11-3列出了组播VLAN的缺省配置。

表11-3 组播VLAN缺省配置

参数 缺省值
基于用户VLAN的组播VLAN功能 未使能
基于接口的组播VLAN功能 未使能

配置基于用户VLAN的组播VLAN功能

通过配置基于用户VLAN的组播VLAN复制,可以实现组播数据在不同用户VLAN间复制分发,减少上游带宽浪费。

配置流程

按如下配置顺序进行配置:

配置用户VLAN

背景信息

配置基于用户VLAN的组播VLAN功能时,需要在用户VLAN下使能二层组播侦听功能。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令igmp snooping enable,使能全局IGMP Snooping功能。
  3. 执行命令vlan vlan-id,创建VLAN并进入VLAN视图。
  4. 执行命令igmp snooping enable,使能VLAN的IGMP Snooping功能。
  5. 执行命令commit,提交配置。

配置用户VLAN绑定到组播VLAN

背景信息

组播VLAN是实现组播VLAN复制功能的基础,它的主要作用就是用来汇聚网络侧的组播流,然后将组播流在其对应的用户VLAN内复制分发。同时,在配置基于用户VLAN的组播VLAN功能时,组播VLAN也需要使能二层组播侦听功能。

如果有两台交换机连接同一个用户VLAN,并且已经配置了组播VLAN功能,用户VLAN中就会收到两份相同的组播数据流。为了避免上述情况,可以在这两台交换机的组播VLAN上配置用户VLAN的查询器选举功能。只有在选举中胜出的交换机才会对下游用户主机发送的Report进行处理,从而生成二层组播转发表项。

操作步骤

  1. 执行命令system-view,进入系统视图。

  2. 执行命令igmp snooping enable,使能全局IGMP Snooping功能。

  3. 执行命令vlan vlan-id,创建VLAN并进入VLAN视图。

  4. 执行命令igmp snooping enable,使能VLAN的IGMP Snooping功能。

  5. 执行命令multicast vlan enable,使能组播VLAN功能,将当前VLAN配置为组播VLAN。

  6. 执行命令multicast vlan user-vlan { vlan-id1 [ to vlan-id2 ] } &<1-10>,配置组播VLAN和用户VLAN的对应关系,将用户VLAN绑定到组播VLAN。

    img

    配置组播VLAN和用户VLAN的对应关系时,一个用户VLAN只能绑定到一个组播VLAN。

  7. (可选)执行命令multicast vlan igmp-querier-election user-vlan { vlan-id1 [ to vlan-id2 ] } &<1-10>,使能用户VLAN查询器选举功能。

    缺省情况下,查询器选举功能未使能。

    img

    使用此功能之前,首先要在每个交换机上都执行igmp snooping send-query source-address配置设备发送的查询报文的源IP地址。

  8. 执行命令commit,提交配置。

配置接口加入VLAN

背景信息

组播VLAN和用户VLAN配置完成后,网络侧接口需要加入组播VLAN,用户侧接口需要加入用户VLAN。

操作步骤

  1. 将网络侧接口加入组播VLAN。详细配置过程请参见基于接口划分VLAN。
  2. 将用户侧接口加入用户VLAN。详细配置过程请参见基于接口划分VLAN。

检查基于用户VLAN的组播VLAN的配置结果

前提条件

已经完成组播VLAN功能的配置。

操作步骤

  • 使用命令display multicast vlan mvlan [ vlan-id ],查看组播VLAN的信息。
  • 使用命令display multicast vlan user-vlan [ vlan-id ],查看用户VLAN信息。

配置基于接口的组播VLAN功能

通过配置基于接口的组播VLAN功能,可以实现同一用户VLAN中不同用户之间的组播业务隔离,增强了对组播业务流量的控制。

配置流程

按如下配置顺序进行配置:

配置用户VLAN

背景信息

配置基于接口的组播VLAN功能时,需要在用户VLAN下使能二层组播侦听功能。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令igmp snooping enable,使能全局IGMP Snooping功能。
  3. 执行命令vlan vlan-id,创建VLAN并进入VLAN视图。
  4. 执行命令igmp snooping enable,使能VLAN的IGMP Snooping功能。
  5. 执行命令commit,提交配置。

配置组播VLAN的IGMP Snooping功能

背景信息

配置基于接口的组播VLAN功能时,只需要在组播VLAN下使能二层组播侦听功能,不需要使能组播VLAN功能。

操作步骤

  1. 执行命令system-view,进入系统视图。
  2. 执行命令igmp snooping enable,使能全局IGMP Snooping功能。
  3. 执行命令vlan vlan-id,创建VLAN并进入VLAN视图。
  4. 执行命令igmp snooping enable,使能VLAN的IGMP Snooping功能。
  5. 执行命令commit,提交配置。

配置用户VLAN绑定组播VLAN

背景信息

用户VLAN绑定组播VLAN主要在用户侧接口下进行配置,并且在同一接口下用户VLAN不能绑定到多个组播VLAN。

操作步骤

  1. 执行命令system-view,进入系统视图。

  2. 执行命令interface interface-type interface-number,进入接口视图。

  3. 执行命令multicast layer-2 bind vlan vlan-id1 [ to vlan-id2 ] mvlan mvlan-id,在接口下配置用户VLAN绑定组播VLAN。

  4. 执行命令commit,提交配置。

配置接口加入VLAN

背景信息

组播VLAN和用户VLAN配置完成后,网络侧接口需要加入组播VLAN,用户侧接口需要加入用户VLAN。

操作步骤

  1. 将网络侧接口加入组播VLAN。详细配置过程请参见基于接口划分VLAN。
  2. 将用户侧接口加入用户VLAN。详细配置过程请参见基于接口划分VLAN。

检查基于接口的组播VLAN的配置结果

前提条件

已经完成基于接口的组播VLAN功能的配置。

操作步骤

  • 使用命令display multicast layer-2 bind [ mvlan vlan-id ],查看接口上用户VLAN与组播VLAN的绑定信息。

组播VLAN配置举例

介绍组播VLAN复制功能的配置举例。

本节仅列举单特性的配置示例。如果您想了解更多综合场景配置案例、特性典型配置案例、对接案例、替换案例及行业案例,请参考典型配置案例。

配置基于用户VLAN的组播VLAN功能示例

组网需求

图11-3所示,RouterA和SwitchA之间用于传输组播数据的业务VLAN为VLAN10,而下游用户主机HostA、HostB和HostC分别属于VLAN100、VLAN200和VLAN300,并且都需要接收组播源Source的组播数据。

要求通过配置基于用户VLAN的组播VLAN功能,对于不同用户主机多份相同的组播需求,RouterA只需要向VLAN10发送一份组播数据,减少RouterA与SwitchA之间的带宽浪费。

图11-3 配置基于用户VLAN的组播VLAN功能组网图

file

配置思路

采用如下的思路配置基于用户VLAN的组播VLAN功能:

  1. 在系统视图下使能IGMP Snooping。
  2. 创建用户VLAN,并在用户VLAN下使能IGMP Snooping。
  3. 创建组播VLAN,并在组播VLAN下使能IGMP Snooping。
  4. 在组播VLAN下绑定用户VLAN。
  5. 将接口分别以Access方式加入VLAN。

操作步骤

  1. 在系统视图下使能IGMP Snooping。

     system-view
    [~HUAWEI] sysname SwitchA
    [*HUAWEI] commit
    [~SwitchA] igmp snooping enable
    [*SwitchA] commit
  2. 创建用户VLAN,并在用户VLAN下使能IGMP Snooping功能。

    [~SwitchA] vlan 100
    [*SwitchA-vlan100] igmp snooping enable
    [*SwitchA-vlan100] quit
    [*SwitchA] vlan 200
    [*SwitchA-vlan200] igmp snooping enable
    [*SwitchA-vlan200] quit
    [*SwitchA] vlan 300
    [*SwitchA-vlan300] igmp snooping enable
    [*SwitchA-vlan300] commit
    [~SwitchA-vlan300] quit
  3. 创建组播VLAN,并在组播VLAN下使能IGMP Snooping功能。

    [~SwitchA] vlan 10
    [*SwitchA-vlan10] igmp snooping enable
    [*SwitchA-vlan10] multicast vlan enable
    [*SwitchA-vlan10] commit
  4. 在组播VLAN10下面绑定用户VLAN100、VLAN200和VLAN300。

    [~SwitchA-vlan10] multicast vlan user-vlan 100 200 300
    [*SwitchA-vlan10] commit
    [~SwitchA-vlan10] quit
  5. 将接口加入VLAN。

    # 把10GE1/0/1接口加入组播VLAN10,并允许所有用户VLAN通过。

    [~SwitchA] interface 10ge 1/0/1
    [~SwitchA-10GE1/0/1] port link-type trunk
    [*SwitchA-10GE1/0/1] port trunk pvid vlan 10
    [*SwitchA-10GE1/0/1] port trunk allow-pass vlan 10 100 200 300 
    [*SwitchA-10GE1/0/1] commit 
    [~SwitchA-10GE1/0/1] quit

    # 把10GE1/0/2、10GE1/0/3、10GE1/0/4接口分别加入用户VLAN100、VLAN200、VLAN300。

    [~SwitchA] interface 10ge 1/0/2
    [~SwitchA-10GE1/0/2] port link-type access 
    [*SwitchA-10GE1/0/2] port default vlan 100
    [*SwitchA-10GE1/0/2] quit
    [*SwitchA] interface 10ge 1/0/3
    [*SwitchA-10GE1/0/3] port link-type access
    [*SwitchA-10GE1/0/3] port default vlan 200
    [*SwitchA-10GE1/0/3] quit
    [*SwitchA] interface 10ge 1/0/4
    [*SwitchA-10GE1/0/4] port link-type access
    [*SwitchA-10GE1/0/4] port default vlan 300
    [*SwitchA-10GE1/0/4] commit
    [~SwitchA-10GE1/0/4] quit

    img

    在RouterA上,需要保证RouterA与SwitchA相连的接口能终结VLAN的报文。您可以配置其三层子接口终结VLAN10、VLAN100、VLAN200和VLAN300。

  6. 验证配置结果,在SwitchA可以查看到组播VLAN和用户VLAN的信息。

    [~SwitchA] display multicast vlan mvlan
    Total: 1                                                        
    multicast-vlan     user-vlan number     snooping-state          
    ----------------------------------------------------------------
                10                   3      IGMP Enable      
    [~SwitchA] display multicast vlan user-vlan 
    Total: 3                                                              
    user-vlan  snooping-state  multicast-vlan  snooping-state
    -----------------------------------------------------------------------------  
          100  IGMP Enable                10   IGMP Enable 
          200  IGMP Enable                10   IGMP Enable 
          300  IGMP Enable                10   IGMP Enable 

配置文件

  • SwitchA的配置文件

    #
    sysname SwitchA
    #
    vlan batch 10 100 200 300
    #
    igmp snooping enable
    #
    vlan 10
    igmp snooping enable
    multicast vlan enable
    multicast vlan user-vlan 100 200 300 
    #
    vlan 100
    igmp snooping enable
    #
    vlan 200
    igmp snooping enable
    #
    vlan 300
    igmp snooping enable
    #
    interface 10GE1/0/1
    port link-type trunk
    port trunk pvid vlan 10
    port trunk allow-pass vlan 10 100 200 300
    #
    interface 10GE1/0/2
    port default vlan 100
    #
    interface 10GE1/0/3
    port default vlan 200
    #
    interface 10GE1/0/4
    port default vlan 300
    #
    return

配置基于接口的组播VLAN功能示例

组网需求

在如图11-4所示的网络中,SwitchA上的10GE1/0/1接口连接路由器,10GE1/0/2和10GE1/0/3接口下的业务分别批发给ISP1和ISP2,ISP1和ISP2分别通过组播VLAN2和组播VLAN3传输组播数据。10GE1/0/2和10GE1/0/3接口下用户VLAN重复,都为VLAN10。

为了防止不同ISP的组播报文会发送到不属于此ISP的用户,影响到ISP的利益,要求通过基于接口的组播VLAN功能,指定属于本ISP的组播数据只转发到连接本ISP用户的接口。

图11-4 配置基于接口的组播VLAN功能组网图

file

配置思路

采用如下的思路配置基于接口组播VLAN功能:

  1. 在系统视图下使能IGMP Snooping功能。
  2. 创建用户VLAN10,并在用户VLAN下使能IGMP Snooping。
  3. 创建组播VLAN2和组播VLAN3,并在组播VLAN下使能IGMP Snooping。
  4. 在10GE1/0/2接口和10GE1/0/3接口下对组播VLAN和用户VLAN分别进行绑定。
  5. 将接口加入VLAN。

操作步骤

  1. 创建用户VLAN10,并在用户VLAN下使能IGMP Snooping功能。

     system-view
    [~HUAWEI] sysname SwitchA
    [*HUAWEI] commit
    [~SwitchA] igmp snooping enable
    [*SwitchA] vlan 10
    [*SwitchA-vlan10] igmp snooping enable
    [*SwitchA-vlan10] commit
    [~SwitchA-vlan10] quit
  2. 配置组播VLAN2和组播VLAN3,并在组播VLAN下使能IGMP Snooping功能。

    [~SwitchA] vlan 2
    [*SwitchA-vlan2] igmp snooping enable
    [*SwitchA-vlan2] quit
    [*SwitchA] vlan 3
    [*SwitchA-vlan3] igmp snooping enable
    [*SwitchA-vlan3] commit
    [~SwitchA-vlan3] quit
  3. 在10GE1/0/2接口和10GE1/0/3接口下分别对组播VLAN和用户VLAN进行绑定。

    [~SwitchA] interface 10ge 1/0/2
    [~SwitchA-10GE1/0/2] multicast layer-2 bind vlan 10 mvlan 2
    [*SwitchA-10GE1/0/2] quit
    [*SwitchA] interface 10ge 1/0/3
    [*SwitchA-10GE1/0/3] multicast layer-2 bind vlan 10 mvlan 3
    [*SwitchA-10GE1/0/3] commit
    [~SwitchA-10GE1/0/3] quit
  4. 将10GE1/0/1接口加入组播VLAN,将10GE1/0/2和10GE1/0/3加入用户VLAN。

    # 以Trunk方式把10GE1/0/1加入组播VLAN2和组播VLAN3。

    [~SwitchA] interface 10ge 1/0/1
    [~SwitchA-10GE1/0/1] port link-type trunk
    [*SwitchA-10GE1/0/1] port trunk allow-pass vlan 2 3 
    [*SwitchA-10GE1/0/1] commit
    [~SwitchA-10GE1/0/1] quit

    # 把10GE1/0/2、10GE1/0/3接口分别以Trunk方式加入用户VLAN10。

    [~SwitchA] interface 10ge 1/0/2
    [~SwitchA-10GE1/0/2] port link-type trunk
    [*SwitchA-10GE1/0/2] port trunk allow-pass vlan 10
    [*SwitchA-10GE1/0/2] quit
    [*SwitchA] interface 10ge 1/0/3
    [*SwitchA-10GE1/0/3] port link-type trunk
    [*SwitchA-10GE1/0/3] port trunk allow-pass vlan 10
    [*SwitchA-10GE1/0/3] commit
    [~SwitchA-10GE1/0/3] quit
  5. 验证配置结果。

    在SwitchA上是使用display multicast layer-2 bind命令查看接口下用户VLAN与组播VLAN的绑定信息。

    [~SwitchA] display multicast layer-2 bind
    ------------------------------------------------------------------- 
    Port                          Startvlan        Endvlan        Mvlan
    ------------------------------------------------------------------- 
    10GE1/0/2                           10             --            2
    10GE1/0/3                           10             --            3
    ------------------------------------------------------------------- 
    Total Table(s) : 2

配置文件

  • SwitchA的配置文件

    #
    sysname SwitchA
    #
    vlan batch 2 to 3 10
    #
    igmp snooping enable
    #
    vlan 2
    igmp snooping enable
    #
    vlan 3
    igmp snooping enable
    #
    vlan 10
    igmp snooping enable
    #
    interface 10GE1/0/1
    port link-type trunk
    port trunk allow-pass vlan 2 to 3
    #
    interface 10GE1/0/2
    port link-type trunk
    port trunk allow-pass vlan 10
    multicast layer-2 bind vlan 10 mvlan 2
    #
    interface 10GE1/0/3
    port link-type trunk
    port trunk allow-pass vlan 10
    multicast layer-2 bind vlan 10 mvlan 3
    #
    return

组播VLAN常见配置错误

介绍了常见的配置错误的故障现象以及处理步骤。

用户VLAN下用户主机接收不到组播数据

故障现象

配置了基于用户VLAN的组播VLAN功能后,用户VLAN下的用户主机接收不到组播数据。

操作步骤

  • 检查组播VLAN配置是否正确。

    执行display multicast vlan mvlan [ vlan-id ]命令,查看用户VLAN是否绑定了正确的组播VLAN。

    • 如果组播VLAN与用户VLAN的绑定关系不正确,请执行multicast vlan user-vlan命令正确配置。

    • 如果组播VLAN与用户VLAN的绑定关系正确,请检查是否与二层组播其他配置存在冲突,导致流量不通。

    如下所示组播VLAN10和用户VLAN100、VLAN200的绑定关系正确。

     display multicast vlan mvlan 5 
     Multicast-vlan         : 10                                                                                                         
     User-vlan Number       : 2                                                                                                         
     IGMP snooping state    : Enable                                                                                                    
     User-vlan              Snooping-state                                                                                              
     -----------------------------------------------                                                                                    
     100                    IGMP Enable                                                                                                 
     200                    IGMP Enable                                                                                                

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *