一种MLAG场景下二层组播流量转发控制方法与流程

摘要: 本技术涉及通信,尤其涉及一种mlag场景下二层组播流量转发控制方法。背景技术:1、在mlag双归接入场景下,接收者主机通过mlag成员组端口同时连接至两台mla...
一种MLAG场景下二层组播流量转发控制方法与流程

本技术涉及通信,尤其涉及一种mlag场景下二层组播流量转发控制方法。

背景技术:

1、在mlag双归接入场景下,接收者主机通过mlag成员组端口同时连接至两台mlag成员设备,组播源同样通过mlag成员组端口双归接入mlag域。当接收者需要订阅某个组播组时,该接收者发送igmp report报文,该报文经mlag成员组端口中的一条链路被其中一台mlag成员设备接收。接收到igmp report报文的mlag成员设备判断该报文所属vlan已开启igmp snooping功能后,根据该报文生成本地组播转发表项,该本地组播转发表项包含组播组地址与接收该报文的端口的对应关系,并进一步判断接收该报文的端口是否为mlag成员组端口,若是则在该本地组播转发表项中标识为本地成员状态,并基于该本地组播转发表项将后续接收到的组播数据报文从该mlag成员组端口转发给接收者。

2、然而,上述方案中,igmp report报文和组播数据报文在mlag双归接入场景下可能经不同成员设备进入mlag域,导致未接收igmp report报文的成员设备无法生成组播转发表项,影响二层组播流量转发控制的一致性。

技术实现思路

1、本技术提供了一种mlag场景下二层组播流量转发控制方法,能够提高二层组播流量转发控制的一致性。

2、为达到上述目的,本技术采用如下技术方案:

3、第一方面,本技术提供了一种mlag场景下二层组播流量转发控制方法,包括:

4、第一成员设备从第一vlan接收igmp report报文;

5、第一成员设备判断所述第一vlan是否开启igmp snooping功能;

6、若第一成员设备判断第一vlan开启igmp snooping功能,则第一成员设备根据所述igmp report报文生成本地组播转发表项,所述本地组播转发表项包含组播组地址与接收所述igmp report报文的端口的对应关系;

7、第一成员设备判断接收所述igmp report报文的端口是否为mlag成员组端口;

8、若第一成员设备判断端口是mlag成员组端口,则第一成员设备通过第一成员设备与第二成员设备之间的数据链路,向第二成员设备发送表项同步报文;

9、第二成员设备接收所述表项同步报文后,第二成员设备判断所述第一vlan是否开启igmp snooping功能;

10、若第二成员设备判断第一vlan开启igmp snooping功能,则第二成员设备根据所述表项同步报文生成远端同步表项,所述远端同步表项包含所述组播组地址与所述第二成员设备上本地等效端口的对应关系,本地等效端口与接收igmp report报文的端口属于同一mlag成员组;并向第一成员设备返回确认报文;

11、第一成员设备根据本地组播转发表项,将接收到的组播数据报文从所述第一成员设备的mlag成员组端口转发出去;第二成员设备根据远端同步表项,将接收到的组播数据报文从所述第二成员设备的mlag成员组端口转发出去;并且,第一成员设备和第二成员设备均不将已知组播数据报文经所述数据链路转发至对端成员设备。

12、可选的,所述方法还包括:

13、当第一成员设备上已存在的所述本地组播转发表项的老化时间,因再次接收到igmp report报文而被刷新时,第一成员设备向第二成员设备发送update报文,所述update报文用于通知所述第二成员设备更新对应的所述远端同步表项的老化信息。

14、可选的,所述方法还包括:

15、当第一成员设备收到igmp leave报文或本地组播转发表项老化超时时,第一成员设备向第二成员设备发送delete报文,所述delete报文用于指示第二成员设备删除对应的所述远端同步表项,并抑制所述第二成员设备发送普遍组查询和特定组查询报文。

16、可选的,所述方法还包括:

17、当第一成员设备重启、mlag恢复或所述数据链路恢复时,第一成员设备向第二成员设备发送同步请求报文;

18、第一成员设备接收第二成员设备返回的同步响应报文,并根据所述同步响应报文执行全量或增量表项对账。

19、可选的,所述方法还包括:

20、当第一成员设备上的mlag成员组端口发生故障、且第二成员设备上同一mlag成员组对应端口仍可用、且mlag域处于正常联通状态时,第一成员设备删除或停用该故障端口对应的本地出端口,并向第二成员设备发送update报文以通知对端进入成员口故障备份;第一成员设备在收到发往该组播组的数据报文时,允许临时经所述数据链路向第二成员设备备份转发;第二成员设备依据本端可用成员组端口完成本地转发;当第一成员设备故障端口恢复后,双方撤销数据链路备份出端口,恢复仅本端成员组端口转发;

21、当第一成员设备整机故障时,由第二成员设备保留本地组播转发表项和远端同步表项的合并表项,独立承担组播转发;

22、当数据链路故障导致mlag分裂时,各成员设备暂停接受新的远端同步表项,或将已存在的远端同步表项标记为不可信,仅依据本地组播转发表项及故障前已确认的远端同步表项进行转发。

23、可选的,所述方法还包括:

24、若第一成员设备判断第一vlan未开启igmp snooping功能,则第一成员设备放弃生成所述本地组播转发表项。

25、可选的,所述方法还包括:

26、若第一成员设备判断端口不是mlag成员组端口,则第一成员设备禁止通过第一成员设备与第二成员设备之间的数据链路,向第二成员设备发送表项同步报文,仅在所述第一成员设备本机执行组播本地转发。

27、可选的,所述方法还包括:

28、第二成员设备判断所述第一vlan未开启igmp snooping功能,则丢弃所述表项同步报文。

29、可选的,所述方法还包括:

30、当所述第一成员设备上同时存在针对同一组播组地址的所述本地组播转发表项和所述远端同步表项时,所述第一成员设备优先根据所述本地组播转发表项转发组播数据报文。

31、可选的,所述表项同步报文中至少携带以下字段:vlan标识、组播组地址、mlag逻辑端口标识、表项来源标志位、同步来源设备标识、同步序列号以及标志位。

32、由上述技术方案可知,本技术至少具有如下有益效果:

33、本技术提供的一种mlag场景下二层组播流量转发控制方法,第一成员设备在生成本地组播转发表项后,通过数据链路向第二成员设备发送表项同步报文,第二成员设备根据该同步报文生成远端同步表项,实现了mlag域内各成员设备间的组播转发表项同步。当组播数据报文从任一台成员设备进入mlag域时,该成员设备均可根据自身的本地组播转发表项或远端同步表项在本地完成转发,避免了组播数据报文经数据链路绕行转发,减少了数据链路的带宽占用;同时,由于各成员设备均存有完整的组播转发表项,当一台成员设备发生故障时,另一台成员设备可直接依据已有的本地组播转发表项和远端同步表项独立承担组播转发,接收者无需重新发送igmp report报文即可继续接收组播数据报文。由此,在mlag双归接入场景下,无论igmp report报文和组播数据报文经哪台成员设备进入mlag域,各成员设备均存有完整的组播转发表项,保证了二层组播流量转发控制的一致性。

34、应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。