转发报文的方法及转发设备技术

技术编号:17413662 阅读:24 留言:0更新日期:2018-03-07 09:26
本发明专利技术实施例涉及转发报文的方法及转发设备。转发设备获取聚合网段以及聚合网段对应的负载分担路径组,聚合网段包括至少一个子网,负载分担路径组包括M条成员路径。转发设备对负载分担路径组的M条成员路径进行排序,得到包括M条成员路径的路径序列,根据路径序列生成聚合网段的路由表。转发设备根据聚合网段的路由表,为至少一个子网中的每个子网生成子网路由表。当接收到报文时,转发设备根据报文的目的网际协议IP地址对应的子网路由表转发报文。本发明专利技术能够在负载分担的场景下能够使经过不同路径到达接收端的属于同一数据流的流量不产生乱序。

A method of forwarding a message and a forwarding device

An embodiment of the present invention relates to a method of forwarding a message and a forwarding device. The forwarding device obtains the load sharing path group corresponding to the aggregate network segment and the aggregate network segment, and the aggregate network segment includes at least one sub network. The load sharing path group includes the M member path. The forwarding device sorts the M member path of the load sharing path group, gets the path sequence including the M member path, and generates the routing table of the aggregate network segment according to the path sequence. The forwarding device generates subnet routing tables for each subnet in at least one subnet, based on the routing table of the aggregated network segment. When the message is received, the forwarding device forwards the message according to the subnet routing table corresponding to the IP address of the message's destination. The present invention can make the flow of the same data stream flowing through different paths to the receiver without generating random sequence in the scene of load sharing.

【技术实现步骤摘要】
转发报文的方法及转发设备
本专利技术涉及通信领域,尤其涉及转发报文的方法及转发设备。
技术介绍
等价多路径(英文:equal-costmulti-path,简称:ECMP)是一种沿多条开销(cost)相同的路径路由数据包的路由技术,能够在根据路由度量计算得到的具有相同等级的多条最优路径之间选择一条路径实现下一跳包转发。ECMP可以通过将流量负载分担到多条路径上来大幅提升带宽。图1为一种应用ECMP实现负载均衡转发的过程示意图,在传统的网际协议(英文:InternetProtocol,简称:IP)核心网络中,为了数据传输的可靠性,会部署多条链路以实现冗余备份,同时,为了充分利用各链路资源并且达到快速的切换性能,往往采用ECMP技术部署该多条路径以实现负载分担转发。如图1所示,主机(host)A和hostB之间的通信,需要经过hostA的边缘路由器R1,hostB的边缘路由器R2,边缘路由器R1连接到中间路由器Rm、Rn和Rt,边缘路由器R2连接到中间路由器Rx、Ry和Rz,这样hostA和hostB之间的互通路径有三条:A->R1->Rt->Rz->R2->B,A->R1->Rm->Rx->R2->B和A->R1->Rn->Ry->R2->B,这三条路径当中间路由器Rm/Rn/Rt中任意一台故障和/或中间路由器Rx、Ry和Rz中任意一台故障时,主机A和主机B之间的流量仍然可以互通。图1中,主机A发送的访问主机B的三层流量,在边缘路由器R1上被负载分担到中间路由器Rm、Rn和Rt上,当Rn故障时,所有流量在边缘路由器R1上会被重新哈希以实现ECMP负载分担,这样导致原来经过路径A->R1->Rm->Rx->R2->B传输的流量被重新hash后变为经过路径A->R1->Rt->Rz->->R2->B传输,经过不同路径到达B的属于同一数据流的流量就会产生乱序,导致需要保序的会话中断,或者需要进行流量的重传。
技术实现思路
本专利技术实施例提供了一种转发报文的方法及转发设备,在负载分担的场景下能够使经过不同路径到达接收端的属于同一数据流的流量不产生乱序。本专利技术第一方面提供了一种转发报文的方法,该方法包括:转发设备获取聚合网段以及该聚合网段对应的负载分担路径组,该聚合网段包括至少一个子网,负载分担路径组包括M条成员路径;转发设备对负载分担路径组的M条成员路径进行排序,得到包括M条成员路径的路径序列,根据路径序列生成聚合网段的路由表;转发设备根据聚合网段的路由表,为至少一个子网中的每个子网生成子网路由表;当接收到报文时,根据该报文的目的IP地址对应的子网路由表转发该报文。本专利技术实施例中,聚合网段的路由表中包含路径序列,当负载分担路径组的成员路径发生故障时,可以依据聚合网段的路由表中的路径序列更新子网路由表,当接收到报文时,根据该报文的目的IP地址对应的子网路由表转发该报文,在负载分担的场景下能够使经过不同路径到达接收端的属于同一数据流的流量不产生乱序。在一种可能的设计中,获取聚合网段以及该聚合网段对应的负载分担路径组包括:转发设备获取转发设备上配置的每个子网对应的转发路径;转发设备根据每个子网对应的转发路径,确定对应相同负载分担路径组的子网;转发设备聚合对应相同负载分担路径组的子网,得到聚合网段,将负载分担路径组作为聚合网段对应的负载分担路径组;或,转发设备根据预先配置的对应关系表获取聚合网段以及所述聚合网段对应的负载分担路径组,其中,对应关系表的每个表项包括一个聚合网段与对应的负载分担路径组。本专利技术实施例中,转发设备可以采取对子网聚合的方式得到聚合网段及该聚合网段对应的负载分担路径组;或,转发设备根据预先配置的对应关系表获取聚合网段以及该聚合网段对应的负载分担路径组。通过对子网聚合的方式可以使得只需存储聚合网段与负载分担路径组的对应关系,而不必存储聚合网段包含的每个子网与负载分担路径组的对应关系,有效地节约了存储资源。在一种可能的设计中,根据聚合网段的路由表,为至少一个子网中的每个子网生成子网路由表,包括:对于每个子网,确定该子网对应的子网路由表的预设表项数N,将路径序列中的M条成员路径顺序添加到子网路由表直到子网路由表的表项数为N,N≧M。本专利技术实施例中,子网路由表的预设表项数N大于或等于路径序列中的成员路径条数M,当子网路由表的预设表项数N大于路径序列中的成员路径条数M时,有利于各成员链路均匀承担转发流量。在一种可能的设计中,该方法还包括:当负载分担路径组的第一成员路径发生故障时,确定子网路由表中第一成员路径的至少一个预设表项,利用路径序列中除第一成员路径之外的其他成员路径顺序更新所述至少一个预设表项,直至所述至少一个预设表项被全部更新,其中,第一成员路径为M个成员路径中的任意一个。本专利技术实施例中,当负载分担路径组的任意一个成员路径发生故障时,先确定子网路由表中该成员路径所在的至少一个预设表项,然后利用路径序列中除该成员路径之外的其他成员路径顺序更新子网所述至少一个预设表项,直至该成员路径所在的至少一个预设表项被全部更新,非故障成员路径上的已有的数据流不会被切换到其他成员路径,仅将故障成员路径上的数据流均匀分担到非故障成员路径上,能够在负载分担路径组的成员路径发生故障场景下,使故障前通过非故障成员路径发送的数据流不会被重新分配到其他成员路径,从而保证了通过非故障成员路径发送的流量在接收端不会产生乱序或会话中断,且能够进一步实现负载均衡。在一种可能的设计中,该方法还包括:当第一成员路径恢复后,根据路径序列确定所述至少一个预设表项,将所述至少一个预设表项中的成员路径更新为第一成员路径。其中,预设表项指的是故障发生前第一成员路径在子网路由表中所在的表项。由上可见,本专利技术实施例中,当负载分担路径组的任意一个成员路径发生故障并恢复后,根据路径序列确定该成员路径在子网路由表中的预设表项,将预设表项中的成员路径更新为该成员路径,仅将已有转发路径上的部分数据流切换到新恢复的成员路径上,已有的各转发路径上的数据流不会发生交换,从而保证了通过非故障成员路径发送的流量在接收端不会产生乱序或会话中断,且能够进一步实现负载均衡。本专利技术第二方面提供了一种转发设备,该转发设备可以实现上述方法示例中转发设备所执行的功能,所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个上述功能相应的模块。在一种可能的设计中,该转发设备包括处理器,该处理器被配置为支持该转发设备执行上述方法中相应的功能。该转发设备还可以包括存储器,该存储器用于与处理器耦合,其保存该转发设备必要的程序指令和数据。本专利技术第三方面提供了一种计算机存储介质,用于储存供上述转发设备使用的计算机软件指令,其包含用于执行上述第一方面的方法所设计的程序。附图说明图1为一种应用ECMP技术实现负载本文档来自技高网
...
转发报文的方法及转发设备

【技术保护点】
一种转发报文的方法,其特征在于,所述方法包括:转发设备获取聚合网段以及所述聚合网段对应的负载分担路径组,所述聚合网段包括至少一个子网,所述负载分担路径组包括M条成员路径;所述转发设备对所述负载分担路径组的所述M条成员路径进行排序,得到包括所述M条成员路径的路径序列,根据所述路径序列生成所述聚合网段的路由表;所述转发设备根据所述聚合网段的路由表,为所述至少一个子网中的每个子网生成子网路由表;当接收到报文时,根据所述报文的目的网际协议IP地址对应的子网路由表转发所述报文。

【技术特征摘要】
1.一种转发报文的方法,其特征在于,所述方法包括:转发设备获取聚合网段以及所述聚合网段对应的负载分担路径组,所述聚合网段包括至少一个子网,所述负载分担路径组包括M条成员路径;所述转发设备对所述负载分担路径组的所述M条成员路径进行排序,得到包括所述M条成员路径的路径序列,根据所述路径序列生成所述聚合网段的路由表;所述转发设备根据所述聚合网段的路由表,为所述至少一个子网中的每个子网生成子网路由表;当接收到报文时,根据所述报文的目的网际协议IP地址对应的子网路由表转发所述报文。2.如权利要求1所述的方法,其特征在于,所述获取聚合网段以及所述聚合网段对应的负载分担路径组包括:所述转发设备获取所述转发设备上配置的每个子网对应的转发路径;所述转发设备根据所述每个子网对应的转发路径,确定对应相同负载分担路径组的子网;所述转发设备聚合所述对应相同负载分担路径组的子网,得到所述聚合网段,并将所述负载分担路径组作为所述聚合网段对应的负载分担路径组;或,所述转发设备根据预先配置的对应关系表获取聚合网段以及所述聚合网段对应的负载分担路径组,其中,所述对应关系表的每个表项包括一个聚合网段与对应的负载分担路径组。3.如权利要求1或2所述的方法,其特征在于,所述根据所述聚合网段的路由表,为所述至少一个子网中的每个子网生成子网路由表,包括:对于每个子网,确定所述子网对应的子网路由表的预设表项数N,将所述路径序列中的所述M条成员路径顺序添加到所述子网路由表直到所述子网路由表的表项数为N,N≧M。4.如权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:当所述负载分担路径组的第一成员路径发生故障时,确定所述子网路由表中所述第一成员路径的至少一个预设表项,利用所述路径序列中除所述第一成员路径之外的其他成员路径顺序更新所述至少一个预设表项,直至所述至少一个预设表项被全部更新,其中,所述第一成员路径为所述M个成员路径中的任意一个。5.如权利要求4所述的方法,其特征在于,所述方法还包括:当所述第一成员路径恢复后,根据所述路径序列确定所述至少一个预设表项,将所述至少一个预设表项中的成员路径更...

【专利技术属性】
技术研发人员:谢莹姬玲玲
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1