S7700交换机查询器角色切换太慢导致组播流量中断时间过长

发布时间:  2015-12-24 浏览次数:  195 下载次数:  0
问题描述

某局,两台S7700交换机通过VRRP作为中心局域网的VLAN网关,全网需要同时使能组播业务。S7700交换机作为接收者设备的网关运行IGMP。可是当VRRP为主的S7700交换机断电后,发现组播流量需要经过较长时间才能恢复。

组网如下:


其中,S57LI-1作为中心局域网的二层接入交换机,通过Smart-Link技术双线接入两台S7700交换机。两台S7700交换机通过VRRP向所有中心局域网提供网关。两台S7700交换机与远端的S57EI交换机之间通过三层互联,使能OSPF打通路由。S57EI作为远端局域网的VLAN网关。S57LI-2则为远端局域网的二层接入交换机。

组播源部署在远端局域网内,组播接收者部署在中心局域网内,S7700交换机连接中心局域网使能IGMP服务,与远端S57EI则使能PIM-SM。全网组播流量正常。

各设备重要配置如下:

-----------------S57LI-1---------------------

#

vlan batch 90 100

#

igmp-snooping enable

#

vlan 100

 igmp-snooping enable

#

interface Vlanif100

 ip address 10.100.1.39 255.255.255.0

#

interface Ethernet0/0/1

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 90 100

 stp disable

#

interface Ethernet0/0/2

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 90 100

 stp disable

#

smart-link group 1

 restore enable

 smart-link enable

 port Ethernet0/0/1 master

 port Ethernet0/0/2 slave

 flush send control-vlan 90

#

ip route-static 0.0.0.0 0.0.0.0 10.100.1.254

#

------------------S77-1------------------

#

vlan batch 2 90 100

#

multicast routing-enable

#

interface Vlanif2

 ip address 192.168.2.1 255.255.255.252

 pim sm

 ospf cost 10

 ospf network-type p2p

#

interface Vlanif100

 ip address 10.100.1.252 255.255.255.0

 vrrp vrid 1 virtual-ip 10.100.1.254

 vrrp vrid 1 priority 110

 igmp enable

#

interface GigabitEthernet0/0/1

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 90 100

 stp disable

 smart-link flush receive control-vlan 90

#

interface GigabitEthernet0/0/2

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 2

 stp disable

#

interface GigabitEthernet0/0/24

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 90 100

 stp disable

 smart-link flush receive control-vlan 90

#

ospf 1

 silent-interface Vlanif100

 area 0.0.0.0

  network 10.100.1.0 0.0.0.255

  network 192.168.2.1 0.0.0.0

#

---------------S77-2------------------

#

vlan batch 3 90 100

#

multicast routing-enable

#

interface Vlanif3

 ip address 192.168.3.1 255.255.255.252

 pim sm

 ospf cost 20

 ospf network-type p2p

#

interface Vlanif100

 ip address 10.100.1.253 255.255.255.0

 vrrp vrid 1 virtual-ip 10.100.1.254

 igmp enable

#

interface GigabitEthernet0/0/1

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 90 100

 stp disable

 smart-link flush receive control-vlan 90

#

interface GigabitEthernet0/0/2

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 3

 stp disable

#

interface GigabitEthernet0/0/24

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 90 100

 stp disable

 smart-link flush receive control-vlan 90

#

ospf 1

 silent-interface Vlanif100

 area 0.0.0.0

  network 10.100.1.0 0.0.0.255

  network 192.168.3.1 0.0.0.0

#

------------------S57EI-----------------

#

vlan batch 2 to 3 200

#

multicast routing-enable

#

interface Vlanif2

 ip address 192.168.2.2 255.255.255.252

 pim sm

 ospf cost 10

 ospf network-type p2p

#

interface Vlanif3

 ip address 192.168.3.2 255.255.255.252

 pim sm

 ospf cost 20

 ospf network-type p2p

#

interface Vlanif200

 ip address 10.200.1.254 255.255.255.0

 pim sm

#

interface GigabitEthernet0/0/2

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 2

 stp disable

#

interface GigabitEthernet0/0/3

 port link-type trunk

 undo port trunk allow-pass vlan 1

 port trunk allow-pass vlan 3

 stp disable

#

ospf 1

 silent-interface Vlanif200

 area 0.0.0.0

  network 10.200.1.0 0.0.0.255

  network 192.168.2.2 0.0.0.0

  network 192.168.3.2 0.0.0.0

#


而当对两台S7700交换机做主备FAILOVER测试时,发现当S77-1断电后,组播流量中断,并且需要较长时间(1到2分钟)才能恢复。


告警信息

处理过程

通过分析排查发现,在S77-1断电后,组播流量中断是由于S77-2需要等待系统默认的相关IGMP计时器超时后,才能切换为中心局域网新的查询器,端到端的组播流量也才能恢复。而系统默认的相关IGMP计时器超时需要1到2分钟左右,这显然是客户无法接受的结果。

我们知道,IGMP的其他IGMP查询器的存活时间是通过如下公式计算而来:

其他IGMP查询器的存活时间 = 健壮系数 × IGMP普遍查询报文发送间隔 +(1/2)× 最大查询响应时间。当健壮系数、IGMP普遍查询报文发送间隔和最大查询响应时间都取缺省值时,其他IGMP查询器的存活时间的值为125秒。

由于默认存活时间值为125秒,这也就说明为什么缺省情况下,上述FAILOVER测试时组播流量由于查询器需要等待较长时间才能进行重新选举,从而导致较长时间的组播流量中断。

而通过调整以上公式中的“IGMP普遍查询报文发送间隔”及“最大查询响应时间”,则可能最大限度的降低IGMP查询器重新切换的时间。满足客户对组播流量的业务中断时间要求。

根因

缺省情况下,查询器需要等待较长时间(125s)才能进行重新选举,从而导致较长时间的组播流量中断。

解决方案

调整S7700交换机上的IGMP查询器相关参数,加快查询器角色切换。

#

igmp

 timer query 2

 max-response-time 2

#

修改以上参数后,可以把IGMP的其他IGMP查询器的存活时间调整到比较低,从而当S77-1从正常情况下,发生断电异常后,S77-2可以在几秒钟时间内切换为查询器角色,使组播业务流量恢复正常。

[S77-2]dis igmp interface Vlanif100

Interface information

 Vlanif100(10.100.1.253): 

   IGMP is enabled

   Current IGMP version is 2

   IGMP state: up

   IGMP group policy: none

   IGMP limit: -

   Value of query interval for IGMP (negotiated): -

   Value of query interval for IGMP (configured): 2 s

   Value of other querier timeout for IGMP: 3 s

   Value of maximum query response time for IGMP: 2 s

   Querier for IGMP: 10.100.1.252 


建议与总结

尽可能的调低IGMP普遍查询报文发送间隔”及“最大查询响应时间”虽然可以加快查询器切换的时间,但同时也有可能产生副作用:由于查询间隔太短,导致收到大量igmp report,引发CP-CAR丢包,从而无法及时收到对端query,从而导致查询器选举混乱。

所以调整其他IGMP查询器的存活时间也要依据现网客户的真实需求与整网情况,遵循适度原则,才能既匹配客户需求,又不至于给现网带来过多的副作用。

END