一种基于Hash的报文传输方法和设备的制作方法

文档序号:7861626阅读:352来源:国知局
专利名称:一种基于Hash的报文传输方法和设备的制作方法
技术领域
本发明涉及通信技术领域,尤其是涉及了一种基于Hash (散列)的报文传输方法和设备。
背景技术
网络规模需求的不断增长,尤其是数据中心的规模化应用以及网络设备硬件技术的快速发展,对接入网络带来新的特征,其主要体现在(1)从主机角度,单一二层网络所接入的主机规模越来越大,且有跨较大地域的需求和虚拟化主机需求;(2)从接入网络设备角度,网络设备可以使用的中高端芯片性能越来越强、转发表容量越来越大,单一设备可容纳大量主机的接入。但是,以下原因导致不能将大量主机直接接入到单一高性能网络设备(1)单一 网络设备所能提供的物理端口密度有限;(2)实际网络部署上不容许。为此,可以将高性能的网络设备作为主设备,将低性能的网络设备作为从设备,并将少量主设备和大量从设备在逻辑上组成一个整体,所有设备共享主设备的高性能和大容量转发表,而且在虚拟机环境中,从设备可以是物理主机的网络接口卡或者物理主机内部系统软件的软交换组件。当前通用芯片厂商提供的芯片互联技术中,从设备对主设备来说是完全可见的,主设备的转发表中能直接唯一标示所有互联设备的每个物理芯片及其端口,将采用该技术的方法称为异构堆叠(不同性能、不同规格的设备堆叠);在异构堆叠网络中,尽可能利用主设备(异构堆叠中学习维护转发表,做报文转发决策的设备)的高性能和大规格,来自从设备(异构堆叠中完成端口扩展的设备)的报文直接透传到主设备,转发决策完全在主设备完成。现有技术中,从带宽和链路可靠性的角度来说,从设备到主设备的链路有多个,因此需要考虑从设备到主设备的上行流量如何在多个链路之间进行选路;如图I所示,为异构堆叠网络中上行流量物理端口重定向的示意图,从设备直接将UNI 口(即端口 I-端口 16)的流量完全重定向到对应的上行端口(即端口 A-端口 D),并通过对应的上行端口将流量转发至主设备上;而主设备在连接从设备的端口处启动报文完全代理查表转发功能。在上述实现方式中,直接将端口 I-端口 16的流量完全重定向到对应的端口 A-端口 D,且由于从端口 I-端口 16接收到的流量并不相同,从而导致从端口 A-端口 D所发送给主设备的流量并不均衡,无法实现各端口之间的负载分担。

发明内容
本发明实施例提供一种基于Hash的报文传输方法和设备,以实现各端口之间的负载分担。为了达到上述目的,本发明实施例提供一种基于Hash的报文传输方法,应用于包括主设备和从设备的异构堆叠网络中,所述从设备上包括多个物理芯片,且各物理芯片上具有连接到所述主设备的端口,该方法包括以下步骤所述从设备在接收到报文后,将所述报文重定向到等价多路径ECMP,所述ECMP的下一跳对应出端口为各物理芯片上连接到所述主设备的端口 ;
所述从设备对所述报文的特征信息进行Hash,并根据Hash结果确定所述报文对应的所述ECMP的下一跳;
所述从设备通过所述ECMP的下一跳对应出端口将所述报文发送给所述主设备。所述从设备将所述报文重定向到等价多路径ECMP,具体包括
所述从设备利用预先配置的流量策略将所述报文重定向到所述ECMP ;其中,所述流量策略用于将所有报文重定向到所述ECMP。在所述报文为二层报文时,所述报文的特征信息包括以下之一或任意组合源介 质访问控制MAC地址、目的MAC地址、虚拟局域网VLAN、源物理端口号、以太网协议的协议类型;
在所述报文为三层报文时,所述报文的特征信息包括以下之一或任意组合源IP地址、目的IP地址、源端口、目的端口、协议号。所述ECMP还用于指示不对报文进行源介质访问控制MAC地址替换、不对报文进行目的MAC地址替换、不对报文中的生存时间TTL进行调整;所述从设备将所述报文重定向到等价多路径ECMP,之后还包括
所述从设备确定不对所述报文进行源MAC地址替换、不对所述报文进行目的MAC地址替换、以及不对所述报文中的TTL进行调整。对于所述从设备上的多个物理芯片,各物理芯片不能聚合其它物理芯片上的端口向所述主设备发送报文。本发明实施例提供一种基于Hash的报文传输设备,作为从设备应用于包括主设备和所述从设备的异构堆叠网络中,所述从设备上包括多个物理芯片,且各物理芯片上具有连接到所述主设备的端口,所述从设备包括
处理模块,用于在接收到报文后,将所述报文重定向到等价多路径ECMP,所述ECMP的下一跳对应出端口为各物理芯片上连接到所述主设备的端口 ;
ECMP管理模块,用于对所述报文的特征信息进行Hash,并根据Hash结果确定所述报文对应的所述ECMP的下一跳;
发送模块,用于通过所述ECMP的下一跳对应出端口将所述报文发送给所述主设备。所述处理模块,具体用于利用预先配置的流量策略将所述报文重定向到所述ECMP ;所述流量策略用于将所有报文重定向到所述ECMP。在所述报文为二层报文时,所述报文的特征信息包括以下之一或任意组合源介质访问控制MAC地址、目的MAC地址、虚拟局域网VLAN、源物理端口号、以太网协议的协议类型;
在所述报文为三层报文时,所述报文的特征信息包括以下之一或任意组合源IP地址、目的IP地址、源端口、目的端口、协议号。所述ECMP还用于指示不对报文进行源介质访问控制MAC地址替换、不对报文进行目的MAC地址替换、不对报文中的生存时间TTL进行调整;所述ECMP管理模块,还用于确定不对所述报文进行源MAC地址替换、不对所述报文进行目的MAC地址替换、以及不对所述报文中的TTL进行调整。
对于所述从设备上的多个物理芯片,各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文。与现有技术相比,本发明实施例至少具有以下优点本发明实施例中,在各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文时,通过将报文重定向到ECMP(EqualCost Multipath Routing,等价多路径),且在对报文的特征信息进行Hash之后,可以利用Hash结果对应的ECMP的下一跳对应出端口将报文发送给主设备,从而利用Hash算法对报文进行转发,有效的利用了物理带宽,并可以实现各端口之间的负载分担。


图I是现有技术中异构堆叠网络中上行流量物理端口重定向的示意 图2是本发明实施例的应用场景意图; 图3是本发明实施例提供的一种基于Hash的报文传输方法流程示意 图4是本发明实施例提供的一种基于Hash的报文传输设备结构示意图。
具体实施例方式在包括主设备和从设备的异构堆叠网络中,如果从设备上包括多个物理芯片,各物理芯片上具有连接到主设备的端口,且各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文(即各物理芯片跨芯片上行链路不能进行聚合)时,则上行流量不能根据流量特征进行Hash选路。以图2为本发明实施例的应用场景示意图,在异构堆叠网络中包括有从设备、主设备I和主设备2,在从设备上具有芯片I和芯片2,且芯片I上具有连接到主设备的端口A (对应于主设备I的端口 M)和端口 B (对应于主设备2的端口 X),且芯片2上具有连接到主设备的端口 C (对应于主设备I的端口 N)和端口 D (对应于主设备2的端口 Y)。在上述异构堆叠网络中,如果芯片I不能聚合芯片2上的端口 C和端口 D向主设备发送报文,且芯片2不能聚合芯片I上的端口 A和端口 B向主设备发送报文,即端口 A、端口 B、端口 C和端口 D之间不能进行聚合,则说明双芯片的从设备在跨芯片时上行链路不能进行聚合,从而导致上行流量(即从设备需要发送给主设备的报文)不能在多个上行链路之间通过Hash选路。针对上述发现,在包括主设备和从设备的异构堆叠网络中,如果从设备上包括多个物理芯片,各物理芯片上具有连接到主设备的端口,且各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文,有鉴于此,本发明实施例提供一种基于Hash的报文传输方法,如图3所示,该方法包括以下步骤
步骤301,从设备在接收到报文后,将报文重定向到ECMP ;其中,该ECMP的下一跳对应出端口为各物理芯片上连接到主设备的端口。在图2所示的应用场景下,该ECMP的下一跳对应出端口为端口 A、端口 B、端口 C和端口 D。本发明实施例中,为了使从设备能够将报文重定向到ECMP,则可以在从设备上预先配置流量策略,且该流量策略用于将所有报文重定向到ECMP ;基于该流量策略,从设备在接收到报文(在图2所示的应用场景下,从设备所接收的报文为来自UNI 口(即端口 I-端口 16)的报文)之后,可以利用该预先配置的流量策略将报文重定向到ECMP。需要说明的是,在存在多条不同链路到达同一目的地址的网络环境中,通过ECMP可以基于策略选择多条不同链路中的一条链路向目的地址发送报文,该策略可以基于实际需要进行选择,本发明实施例中该策略为Hash算法。此外,从设备上可以包含有ECMP管理模块,该ECMP管理模块用于对ECMP进行相关处理,且将报文重定向到ECMP具体为将报文重定向到ECMP管理模块进行后续处理。此外,在具体实现时会存在多个ECMP,本发明实施例中选择其中的一个ECMP为指定ECMP,且针对ECMP的处理为针对指定ECMP的处理。步骤302,从设备(如从设备中的ECMP管理模块)对报文的特征信息进行Hash,并根据Hash结果确定报文对应的ECMP的下一跳。·本发明实施例中,在报文为二层报文时,该报文的特征信息包括但不限于以下之一或任意组合源MAC (介质访问控制)地址、目的MAC地址、VLAN (虚拟局域网)、源物理端口号、以太网协议的协议类型;在报文为三层报文时,该报文的特征信息包括但不限于以下之一或任意组合源IP地址、目的IP地址、源端口、目的端口、协议号。进一步的,在对报文的特征信息进行Hash之后,基于Hash结果以及ECMP的下一跳对应出端口(即端口 A、端口 B、端口 C和端口 D),则可以确定出该报文所对应的ECMP的下一跳对应出端口。步骤303,从设备通过ECMP的下一跳对应出端口将报文发送给主设备;例如,当根据Hash结果确定报文所对应的ECMP的下一跳对应出端口为端口 A时,则从设备通过端口A将报文发送给主设备。需要说明的是,现有技术中因为分布于不同芯片(这里指同一从设备上的不同芯片)的芯片间接口(指与主设备相连的接口)不能聚合,即各物理芯片跨芯片上行链路不能进行聚合,进而不能进行聚合hash选路,但一个芯片还是能够通过另一个芯片的端口发送报文。因此基于ECMP功能,当ECMP的下一跳对应出端口在不同芯片上时,从设备能够通过ECMP的下一跳对应出端口将报文发送给主设备,即一个芯片能够利用另一个芯片的出端口将报文发送给主设备。综上所述,本发明实施例中,在各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文时,通过将报文重定向到ECMP,且在对报文的特征信息进行Hash之后,可以利用Hash结果对应的ECMP的下一跳对应出端口将报文发送给主设备,从而达到从设备上行流量Hash选路的目的,并有效的利用了物理带宽,实现各端口之间的负载分担。进一步的,在上行链路发生变化时(如图2中某上行链路Down),则通过ECMP的方式可以在剩余的上行链路之间平衡流量,简化了需要调整的芯片表项,并减少切换时间。本发明实施例中,由于ECMP当前用于为三层路由提供功能,而本发明实施例中将ECMP用作端口级的二层流量,因此对于上述ECMP还需要进行差异设置,其包括但不限于如下设置ECMP用于指示不对报文进行MAC (源介质访问控制)地址替换、不对报文进行目的MAC地址替换、不对报文中的TTL (生存时间)进行调整;基于此,从设备将报文重定向到ECMP之后,从设备确定不对报文进行源MAC地址替换、不对报文进行目的MAC地址替换、以及不对报文中的TTL进行调整。基于与上述方法同样的发明构思,本发明实施例中还提供了一种基于Hash的报文传输设备,作为从设备应用于包括主设备和所述从设备的异构堆叠网络中,所述从设备上包括多个物理芯片,且各物理芯片上具有连接到所述主设备的端口,如图4所示,所述从设备包括
处理模块11,用于在接收到报文之后,将所述报文重定向到ECMP,所述ECMP的下一跳对应出端口为各物理芯片上连接到所述主设备的端口 ;
ECMP管理模块12,用于对所述报文的特征信息进行Hash,并根据Hash结果确定所述报文对应的所述ECMP的下一跳;
发送模块13,用于通过所述ECMP的下一跳对应出端口将所述报文发送给所述主设备。所述处理模块11,具体用于利用预先配置的流量策略将所述报文重定向到所述 ECMP ;所述流量策略用于将所有报文重定向到所述ECMP。本发明实施例中,在所述报文为二层报文时,所述报文的特征信息包括以下之一或任意组合源介质访问控制MAC地址、目的MAC地址、虚拟局域网VLAN、源物理端口号、以太网协议的协议类型;
在所述报文为三层报文时,所述报文的特征信息包括以下之一或任意组合源IP地址、目的IP地址、源端口、目的端口、协议号。所述ECMP还用于指示不对报文进行源介质访问控制MAC地址替换、不对报文进行目的MAC地址替换、不对报文中的生存时间TTL进行调整;
所述ECMP管理模块12,还用于确定不对所述报文进行源MAC地址替换、不对所述报文进行目的MAC地址替换、以及不对所述报文中的TTL进行调整。本发明实施例中,对于所述从设备上的多个物理芯片,各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文。其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
权利要求
1.一种基于Hash的报文传输方法,应用于包括主设备和从设备的异构堆叠网络中,所述从设备上包括多个物理芯片,且各物理芯片上具有连接到所述主设备的端口,其特征在于,该方法包括以下步骤 所述从设备在接收到报文后,将所述报文重定向到等价多路径ECMP,所述ECMP的下一跳对应出端口为各物理芯片上连接到所述主设备的端口 ; 所述从设备对所述报文的特征信息进行Hash,并根据Hash结果确定所述报文对应的所述ECMP的下一跳; 所述从设备通过所述ECMP的下一跳对应出端口将所述报文发送给所述主设备。
2.如权利要求I所述的方法,其特征在于,所述从设备将所述报文重定向到等价多路径ECMP,具体包括 所述从设备利用预先配置的流量策略将所述报文重定向到所述ECMP ;其中,所述流量策略用于将所有报文重定向到所述ECMP。
3.如权利要求I所述的方法,其特征在于, 在所述报文为二层报文时,所述报文的特征信息包括以下之一或任意组合源介质访问控制MAC地址、目的MAC地址、虚拟局域网VLAN、源物理端口号、以太网协议的协议类型;在所述报文为三层报文时,所述报文的特征信息包括以下之一或任意组合源IP地址、目的IP地址、源端口、目的端口、协议号。
4.如权利要求I所述的方法,其特征在于,所述ECMP还用于指示不对报文进行源MAC地址替换、不对报文进行目的MAC地址替换、不对报文中的生存时间TTL进行调整; 所述从设备将所述报文重定向到等价多路径ECMP,之后还包括 所述从设备确定不对所述报文进行源MAC地址替换、不对所述报文进行目的MAC地址替换、以及不对所述报文中的TTL进行调整。
5.如权利要求I所述的方法,其特征在于,对于所述从设备上的多个物理芯片,各物理芯片不能聚合其它物理芯片上的端口向所述主设备发送报文。
6.一种基于Hash的报文传输设备,作为从设备应用于包括主设备和所述从设备的异构堆叠网络中,所述从设备上包括多个物理芯片,且各物理芯片上具有连接到所述主设备的端口,其特征在于,所述从设备包括 处理模块,用于在接收到报文后,将所述报文重定向到等价多路径ECMP,所述ECMP的下一跳对应出端口为各物理芯片上连接到所述主设备的端口 ; ECMP管理模块,用于对所述报文的特征信息进行Hash,并根据Hash结果确定所述报文对应的所述ECMP的下一跳; 发送模块,用于通过所述ECMP的下一跳对应出端口将所述报文发送给所述主设备。
7.如权利要求6所述的设备,其特征在于, 所述处理模块,具体用于利用预先配置的流量策略将所述报文重定向到所述ECMP ;所述流量策略用于将所有报文重定向到所述ECMP。
8.如权利要求6所述的设备,其特征在于,在所述报文为二层报文时,所述报文的特征信息包括以下之一或任意组合源介质访问控制MAC地址、目的MAC地址、虚拟局域网VLAN、源物理端口号、以太网协议的协议类型;在所述报文为三层报文时,所述报文的特征信息包括以下之一或任意组合源IP地址、目的IP地址、源端口、目的端口、协议号。
9.如权利要求6所述的设备,其特征在于,所述ECMP还用于指示不对报文进行源MAC地址替换、不对报文进行目的MAC地址替换、不对报文中的生存时间TTL进行调整;所述ECMP管理模块,还用于确定不对所述报文进行源MAC地址替换、不对所述报文进行目的MAC地址替换、以及不对所述报文中的TTL进行调整。
10.如权利要求6所述的设备,其特征在于,对于所述从设备上的多个物理芯片,各物理芯片不能聚合其它物理芯片上的端口向主设备发送报文。
全文摘要
本发明公开了一种基于Hash的报文传输方法和设备,该方法包括从设备在接收到报文后,将所述报文重定向到ECMP;所述从设备对所述报文的特征信息进行Hash,并根据Hash结果确定所述报文对应的所述ECMP的下一跳;所述从设备通过所述ECMP的下一跳对应出端口将所述报文发送给主设备。本发明实施例中,可以有效利用物理带宽。
文档编号H04L12/803GK102904825SQ201210365330
公开日2013年1月30日 申请日期2012年9月27日 优先权日2012年9月27日
发明者祁正林, 修亦宏, 刘刀桂, 张楠 申请人:杭州华三通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1