转发芯片ECMP快速切换实现方法、装置及设备与流程

    专利查询2025-04-03  39


    本发明涉及芯片领域,尤其涉及一种转发芯片ecmp快速切换实现方法、装置及设备。


    背景技术:

    1、当存在到达同一个目标的多条路径时,应用ecmp(equal cost multiple pathrouting,等价多路径路由)可实现网络的带宽增加、负载均衡、路径间的互相保护等功能。当设备支持ecmp时,发往目的设备的二层或者三层流量就可以通过不同的路径承载,实现网络链路的负载均衡;并在成员链路出现故障时,实现网络的快速切换。

    2、如图1所示,承载在ecmp组上的流量,在这些等价链路上平均分配,不会考虑链路带宽的差异。ecmp算法被多种路由协议支持,例如:ospf、isis、eigrp、bgp等。在数据中心的网络架构中,其承载的业务也广泛使用ecmp作为负载均衡算法。

    3、ecmp作为一种负载均衡策略,因其部署简单的优点,在实际数据中心网络中获得了广泛应用。ecmp一个重要的假设是——网络拓扑平衡、规则和无故障,这些假设在实践中都是无效的,将会导致性能大幅下降。ecmp在非对称网络使用效果不好,会浪费大带宽路径的带宽资源。针对上述问题,在数据中心网络中引入了wcmp技术。

    4、wcmp(weight-cost multi-path routing,加权多路径路由),可以根据不断变化的网络拓扑平衡流量,能够非常灵活地按照比例在链路上承载网络业务。ecmp是wcmp的特例,每条转发路径均按照1:1的比例传输业务。到达同一目的地有多条带宽不同的等价路径,wcmp可将流量根据带宽按比例分担到各条路径上。

    5、如图2所示,采用wcmp技术以后,所有路径可根据带宽比例分担流量,以进一步提高路径带宽利用率。wcmp所需的状态,已作为标准路由协议的一部分进行了支持。在wcmp实现中,无需对硬件进行任何修改,即可在支持ecmp的交换芯片中实现wcmp。

    6、当等价多路径中的一条链路故障时,负载分担默认对所有流量重新hash计算选路。ecmp负载分担一致性功能,实现了仅针对故障链路上的流量做hash计算,对正常链路上的流量转发路径不产生影响。保证了在发生链路故障时,正常链路上的业务会话保持正常。

    7、如图3所示,12个数据包分四条链路转发时,abcd四条链路初始分配的流量包如左侧所示,各个链路均分流量。当d链路故障发生后,ecmp的一致性功能启用后,d链路流量均分到其余三条链路上,原来abc链路承载的流量保持稳定。

    8、转发芯片的常规实现中,等价多路径技术采用专门的ecmp组实现。在某条路径发生故障后,需尽快将业务恢复。一种传统的ecmp切换方案为,检测到故障链路后,将故障的链路从ecmp组中删除,业务重新分担到其他链路中。但该方案无法实现快速的故障切换,且该方案将会破坏负载分担的一致性,原来正常工作的流量将重新哈希到其他链路中。另外一种传统的ecmp切换方案为,检测到链路故障后,在控制协议层面,选择一个正常的链路承载该故障链路的业务。但该方案需要由网络系统的控制协议层面触发故障恢复,切换性能无法得到有效保证。


    技术实现思路

    1、针对上述问题,本发明实施例的目的在于提供一种转发芯片ecmp快速切换实现方法、装置及设备,以改善上述问题。

    2、本发明实施例提供了一种转发芯片ecmp快速切换实现方法,其包括:

    3、接收待转发的报文,并根据所述报文的hash_key计算得到hash_value后,通过ecmp组对应的path_selection模块的运算,得到该报文选择的转发路径selected_path;

    4、基于所述selected_path,从ecmp member数组找到对应的path_x,并获取与所述path_x对应的nexthop表项;其中,所述nexthop表项包括nexthop链路、state位以及next指针;所述state位用于标识该nexthop表项对应的链路状态,所述next指针用于指向另外一个nexthop表项;

    5、当根据所述state位判断nexthop表项对应的nexthop链路状态为异常时,根据所述next指针指向的nexthop表项进行报文转发。

    6、优选地,当所述state位时,nexthop表项对应的链路状态为异常。

    7、优选地,所述next指针指向ecmp组内成员的nexthop表项。

    8、优选地,所述next指针指向ecmp组外的nexthop表项。

    9、优选地,所述ecmp组中的所有成员nexthop表项通过所述next指针链接起来,并形成一个互相保护的环。

    10、优选地,所述ecmp组中的所有成员形成多个成员集合,每个成员集合nexthop表项通过所述next指针链接起来,从而形成多个互相保护的环。

    11、优选地,成员集合的组成根据成员的带宽大小范围决定。

    12、本发明实施例还提供了一种转发芯片ecmp快速切换实现装置,其包括:

    13、转发路径确定单元,用于接收待转发的报文,并根据所述报文的hash_key计算得到hash_value后,通过ecmp组对应的path_selection模块的运算,得到该报文选择的转发路径selected_path;

    14、nexthop表项获取单元,用于基于所述selected_path,从ecmp member数组找到对应的path_x,并获取与所述path_x对应的nexthop表项;其中,所述nexthop表项包括nexthop链路、state位以及next指针;所述state位用于标识该nexthop表项对应的链路状态,所述next指针用于指向另外一个nexthop表项;

    15、nexthop表项切换单元,用于当根据所述state位判断nexthop表项对应的nexthop链路状态为异常时,根据所述next指针指向的nexthop表项进行报文转发。

    16、本发明实施例还提供了一种转发芯片ecmp快速切换实现设备,其包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如上述的转发芯片ecmp快速切换实现方法。

    17、本实施例通过在nexthop表项设置state位以及next指针,当根据所述state位判断nexthop表项对应的nexthop链路状态为异常时,根据所述next指针指向的nexthop表项进行报文转发。本实施例给出一种多路径组可靠保护方案,在单路径故障和多路径故障场景,可支持一致性的快速保护切换,本发明同时适用于ecmp和wcmp技术,可有效提高数据中心网络的可靠性。



    技术特征:

    1.一种转发芯片ecmp快速切换实现方法,其特征在于,包括:

    2.根据权利要求1所述的转发芯片ecmp快速切换实现方法,其特征在于,当所述state位时,nexthop表项对应的链路状态为异常。

    3.根据权利要求1所述的转发芯片ecmp快速切换实现方法,其特征在于,所述next指针指向ecmp组内成员的nexthop表项。

    4.根据权利要求1所述的转发芯片ecmp快速切换实现方法,其特征在于,所述next指针指向ecmp组外的nexthop表项。

    5.根据权利要求4所述的转发芯片ecmp快速切换实现方法,其特征在于,所述ecmp组中的所有成员nexthop表项通过所述next指针链接起来,并形成一个互相保护的环。

    6.根据权利要求4所述的转发芯片ecmp快速切换实现方法,其特征在于,所述ecmp组中的所有成员形成多个成员集合,每个成员集合nexthop表项通过所述next指针链接起来,从而形成多个互相保护的环。

    7.根据权利要求4所述的转发芯片ecmp快速切换实现方法,其特征在于,成员集合的组成根据成员的带宽大小范围决定。

    8.一种转发芯片ecmp快速切换实现装置,其特征在于,包括:

    9.一种转发芯片ecmp快速切换实现设备,其特征在于,包括存储器以及处理器,所述存储器内存储有计算机程序,所述计算机程序能够被所述处理器执行,以实现如权利要求1至7任意一项所述的转发芯片ecmp快速切换实现方法。


    技术总结
    本发明公开了一种转发芯片ECMP快速切换实现方法、装置及设备,方法包括:接收待转发的报文,并根据所述报文的hash_key计算得到hash_value后,通过ecmp组对应的path_selection模块的运算,得到该报文选择的转发路径selected_path;基于所述selected_path,从ECMP member数组找到对应的path_x,并获取与所述path_x对应的nexthop表项;其中,所述nexthop表项包括nexthop链路、state位以及next指针;所述state位用于标识该nexthop表项对应的链路状态,所述next指针用于指向另外一个nexthop表项;当根据所述state位判断nexthop表项对应的nexthop链路状态为异常时,根据所述next指针指向的nexthop表项进行报文转发。本发明可实现数据中心网络ECMP的可靠性保护,同时可节省转发芯片的硬件资源。

    技术研发人员:邢家茂,李贯中,陈清华
    受保护的技术使用者:云合智网(上海)技术有限公司
    技术研发日:
    技术公布日:2024/11/26
    转载请注明原文地址:https://tc.8miu.com/read-27137.html

    最新回复(0)