S5700配置二层组播业务流量异常及SSM组播接收问题

发布时间:  2015-10-29 浏览次数:  1392 下载次数:  0
问题描述

S5700配置IGMP Snooping二层组播业务,用户接入端口发送流量与设备上行端口接收流量一样大,但实际用户只请求了一个组播业务(流量大概10M左右)。

设备侧相关配置:

vlan 100
igmp-snooping enable 
igmp-snooping querier enable
#
interface Eth-Trunk1
port link-type trunk
port trunk allow-pass vlan 2 to 4094
#
interface GigabitEthernet0/0/36
port link-type access
port default vlan 100
#

处理过程
1、执行命令display interface brief,查询相关接口流量信息。

<Switch> display interface brief
Interface                   PHY   Protocol InUti OutUti   inErrors  outErrors 
Eth-Trunk1                  up    up         43%     0%          0          0 
  GigabitEthernet0/0/45     up    up       0.01%  0.01%          0          0 
  GigabitEthernet0/0/46     up    up         87%  0.01%          0          0 //上行端口为Eth-trunk汇聚端口,该成员物理端口为1000M工作速率 
...... 
GigabitEthernet0/0/5        up    up       0.01%    87%          3          0 //非组播用户接入端口,该端口为1000M工作速率 
...... 
GigabitEthernet0/0/36       up    up       0.01%    87%          0          0 //组播用户接入端口,该端口为1000M工作速率 
...... 
GigabitEthernet0/0/5 current state : UP 
Line protocol current state : UP 
...... 
Output:  5355181997 packets, 7400771612471 bytes 
  Unicast:                          0,  Multicast:                  5355181048 
  Broadcast:                      949,  Jumbo:                               0 
  Discard:                   13234141,  Pause:                               0 
GigabitEthernet0/0/36 current state : UP 
Line protocol current state : UP 
...... 
Output:  937621743 packets, 1295759811022 bytes 
  Unicast:                          0,  Multicast:                   937607079 
  Broadcast:                    14664,  Jumbo:                               0 
  Discard:                   22114287,  Pause:                               0 
GigabitEthernet0/0/46 current state : UP 
Line protocol current state : UP 
...... 
Input:  4607758512 packets, 6386285035581 bytes 
  Unicast:                          0,  Multicast:                  4607758512 
  Broadcast:                        0,  Jumbo:                               0 
  Discard:                          0,  Pause:                               0

从接口流量信息可看出上行端口接收流量与用户端口发送流量一样大,数据报文为组播报文,且非组播用户也会接收到相关流量数据,怀疑为未知组播流量原因导致。

2、缺省情况下,交换机对未知组播流的处理方式为在VLAN内广播。配置未知组播流丢弃策略(VLAN视图下执行命令multicast drop-unknown)后用户接入流量应该下降,但配置此策略后,组播用户无法正常接收到指定组播组流量。

3. 查询组播组的成员端口信息无(*,G)转发表项。

[Switch] display igmp-snooping port-info 
Info: There is no group port information.

查询二层组播转发表项也无相关转发表项:

[Switch] display l2-multicast forwarding-table vlan 100 
Info: There is no forwarding-table information.

4、在组播用户客户端抓包确认,用户发送的Report报文是IGMPv2版本的,但是请求的组播组地址为:232.0.21.40。

根因
在盒式V100R005版本中,二层组播新增支持SSM-Mapping和SSM-Policy功能,按照协议RFC4607规定,IP地址中232/8(232.0.0.0 - 232.255.255.255)网段被分配给特定源组播组地址(source-specific multicast),对于这个网段的组播地址,必须要指定源地址才可以生成组播转发表项。

在盒式V100R005版本以后,当收到用户发送IGMPv2版本的232组播组范围内的Report报文时,是无法生成组播转发表项。导致配置未知组播流丢弃策略后,用户无法接收到指定组播业务数据。
解决方案
方案1  在VLAN上配置igmp-snooping ssm-policy acl xxx,其中acl内为空配置,此时二层组播将所有组播组地址都认为是非SSM组地址,此时232的组播组也可以正常生成(*,G)转发表项;

方案2  在VLAN上配置igmp-snooping version 3和igmp-snooping ssm-mapping enable,将对应232的组播组指定到对应的组播源地址,此时232的组播组会生成对应(S,G)转发表项。

按照方案1增加规避配置后,组播表项可以生成,流量可以正常按需转发。
建议与总结
1、定位此类无法生成二层组播表项问题时,需要收集的信息:

a. 设备版本信息,设备形态及配置信息。
b. 收到Report报文时,需要打开调试开关debugging igmp-snooping report,观察是否收到报文以及处理过程信息。

2、S交换机V100R003及以前版本,对于收到用户发送IGMPv2 Report报文组播组地址为SSM组播组地址,可以生成正常组播转发表项,V100R005及以后版本对于收到用户发送IGMPv2 Report报文组播组地址为SSM组播组地址,必须要指定源地址才可以生成组播转发表项。

对于无法生成正常组播转发表项的问题,可检查用户请求的组播组地址是否为SSM特定组播组地址。

END