一种stacking环境下实现GRE组播跨卡转发方法、装置、设备、介质及产品与流程
本技术涉及组播转发,尤其涉及一种stacking环境下实现gre组播跨卡转发方法、装置、设备、介质及产品。
背景技术:
1、堆叠系统是将多台交换设备通过higig端口互联,形成统一转发平面的网络架构,广泛应用于数据中心和园区网络以扩展端口容量并提高系统可靠性。gre(genericrouting encapsulation,通用路由封装)作为一种隧道封装技术,可将不同协议的报文封装在ip报文中跨网络传输,无需修改原始报文格式,因此被广泛用于跨网络组播数据传输和vpn接入等场景。td3芯片(broadcom trident3)作为高性能网络交换芯片,凭借其转发能力和堆叠技术支持,已成为企业级交换机和数据中心设备的主流选择,其堆叠技术可实现多芯片协同工作,满足大规模网络的部署需求。
2、在现有堆叠系统中,当gre组播报文从堆叠系统中的某台设备进入时,芯片首先对报文进行gre解封装,剥除外层l2、l3及gre头部,还原出内部的组播净荷;随后芯片根据组播净荷的目的ip地址查找三层组播表项(l3 ipmc table),确定出接口列表;若出接口成员包含higig端口且目标设备为远端设备,则触发跨卡转发流程,通过higig端口将报文转发至远端设备完成组播分发。
3、然而,td3芯片对gre报文解封装后,报文仅保留组播净荷而不再携带任何l2头部信息,td3芯片在查找三层组播表项后若需通过higig端口跨卡转发,由于缺少l2头部而无法通过芯片的转发合法性检查,报文最终被芯片丢弃,因此,gre组播报文跨卡转发可靠性差。
技术实现思路
1、本技术提供一种stacking环境下实现gre组播跨卡转发方法、装置、设备、介质及产品,可以提高gre组播报文跨卡转发的可靠性。
2、为达到上述目的,本技术采用如下技术方案:
3、第一方面,本技术提供了一种stacking环境下实现gre组播跨卡转发方法,所述方法包括:
4、接收第一gre组播报文;
5、对第一gre组播报文进行gre解封装处理,得到第二gre组播报文,所述第二gre组播报文包括内层组播ip头部和组播净荷;
6、提取所述内层组播ip头部中的目的ip地址,根据所述目的ip地址得到出接口成员列表;
7、若所述出接口成员列表中包含higig端口,且所述higig端口指向目标设备,则调用第一机制中预先配置的nhop索引,通过所述nhop索引查找预先配置的三层接口,读取所述三层接口中存储的目的mac地址和源mac地址;
8、根据所述目的mac地址和源mac地址构造伪l2头部;
9、将所述伪l2头部添加到第二gre组播报文中,得到第三gre组播报文;
10、若第三gre组播报文通过合法性检查,则将higig头部添加到第三gre组播报文中,得到第四gre组播报文;
11、将第四gre组播报文通过higig端口发送给目标设备。
12、在一些可能的实现方式中,所述对第一gre组播报文进行gre解封装处理,得到第二gre组播报文,包括:
13、将第一gre组播报文中的外层l2头部、外层ip头部、gre头部进行剥除,得到第二gre组播报文。
14、在一些可能的实现方式中,所述根据所述目的ip地址得到出接口成员列表,包括:
15、根据目的ip地址在三层组播转发表项中进行查找,得到与目的ip地址一致的组播组地址;根据所述组播组地址获取出接口成员列表。
16、在一些可能的实现方式中,所述方法还包括:
17、若所述出接口成员列表中不包含higig端口,或所述higig端口不指向目标设备,则根据所述出接口成员列表中的本地端口,将所述第二gre组播报文通过所述本地端口转发出去。
18、在一些可能的实现方式中,所述higig头部包括目标设备id字段、第一设备id字段、跨卡标志以及内层组播ip头部对应的组播索引。
19、在一些可能的实现方式中,所述第一机制为egr_sys_rsvd_objects机制。
20、第二方面,本技术提供了一种stacking环境下实现gre组播跨卡转发装置,所述装置包括:
21、接收模块,用于接收第一gre组播报文;
22、处理模块,用于对第一gre组播报文进行gre解封装处理,得到第二gre组播报文,所述第二gre组播报文包括内层组播ip头部和组播净荷;提取所述内层组播ip头部中的目的ip地址,根据所述目的ip地址得到出接口成员列表;
23、构造模块,用于若所述出接口成员列表中包含higig端口,且所述higig端口指向目标设备,则调用第一机制中预先配置的nhop索引,通过所述nhop索引查找预先配置的三层接口[dt1.1],读取所述三层接口中存储的目的mac地址和源mac地址;根据所述目的mac地址和源mac地址构造伪l2头部;将所述伪l2头部添加到第二gre组播报文中,得到第三gre组播报文;
24、校验模块,用于若第三gre组播报文通过合法性检查,则将higig头部添加到第三gre组播报文中,得到第四gre组播报文;
25、发送模块,用于将第四gre组播报文通过higig端口发送给目标设备。
26、第三方面,本技术提供了一种计算设备,包括存储器和处理器;
27、其中,在所述存储器中存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令;当所述指令被所述处理器执行时,使得所述计算设备执行如第一方面中任一项所述的方法。
28、第四方面,本技术提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行如第一方面中任一项所述的方法。
29、第五方面,本技术提供了一种计算机程序产品,所述计算机程序产品包括一个或多个计算机指令,在所述计算机指令被计算机执行时,所述计算机执行如第一方面中任一项所述的方法。
30、由上述技术方案可知,本技术至少具有如下有益效果:
31、在本技术中,第一设备接收第一gre组播报文,对第一gre组播报文进行gre解封装处理,得到第二gre组播报文,提取第二gre组播报文中内层组播ip头部中的目的ip地址,根据目的ip地址得到出接口成员列表;若出接口成员列表中包含higig端口,且higig端口指向目标设备,则调用第一机制中预先配置的nhop索引,通过nhop索引查找预先配置的三层接口,读取三层接口中存储的目的mac地址和源mac地址;根据目的mac地址和源mac地址构造伪l2头部;将伪l2头部添加到第二gre组播报文中,得到第三gre组播报文;若第三gre组播报文通过合法性检查,则将higig头部添加到第三gre组播报文中,得到第四gre组播报文;将第四gre组播报文通过higig端口发送给目标设备。
32、在现有技术方案中,td3芯片对gre组播报文解封装后,gre组播报文不再携带任何l2头部信息,td3芯片在查找三层组播表项后若需通过higig端口跨卡转发,由于缺少l2头部而无法通过芯片的转发合法性检查,导致gre组播报文被td3芯片丢弃,gre组播报文跨卡转发可靠性差。可见,本技术通过在gre解封装后、三层组播表项查找前,利用egr_sys_rsvd_objects机制预留有效的nhop索引,动态构造伪l2头部,使gre组播报文能够通过td3芯片的转发合法性检查,从而实现了gre组播报文在堆叠系统中的跨卡可靠转发。
33、应当理解的是,本技术中对技术特征、技术方案、有益效果或类似语言的描述并不是暗示在任意的单个实施例中可以实现所有的特点和优点。相反,可以理解的是对于特征或有益效果的描述意味着在至少一个实施例中包括特定的技术特征、技术方案或有益效果。因此,本说明书中对于技术特征、技术方案或有益效果的描述并不一定是指相同的实施例。进而,还可以任何适当的方式组合本实施例中所描述的技术特征、技术方案和有益效果。本领域技术人员将会理解,无需特定实施例的一个或多个特定的技术特征、技术方案或有益效果即可实现实施例。在其他实施例中,还可在没有体现所有实施例的特定实施例中识别出额外的技术特征和有益效果。
版权声明:本站专利文献数据主要来源于国家知识产权局等公开渠道,由 技术新讯 进行整理汇编。页面设计及数据汇编的著作权归本站所有。全部内容仅供个人学习、科研评估与技术交流参考,严禁用于任何商业用途(包括但不限于直接生产制造、技术转让、倒卖数据等)。
免责条款:专利技术具有时效性,本站不对资料的绝对准确性、完整性和可实施性提供任何明示或暗示的担保。因参考本站内容造成的直接或间接损失,本站不承担相关法律责任。若您认为本站内容有侵权问题,请及时提供权属证明与我们联系,本站将在核实后依法处理。反馈意见:yyfuon@163.com