数据中心网络中的选路方法和通信设备的制作方法

文档序号:7961050阅读:142来源:国知局
专利名称:数据中心网络中的选路方法和通信设备的制作方法
技术领域
本发明实施例涉及数据通信领域,并且更具体地,涉及一种数据中心网络中的选路方法和通信设备。
背景技术
胖树架构是数据中心(Data Center, DC)网络的一种重要部署方案,其特点是每个接入层的交换机和每个汇聚层(或作为核心层)的交换机之间都是相互连接的。因此任意两个服务器(Server)之间要进行通信,可以有多条等价路径(Equal Cost Multi Path, ECMP)以供选择。目前,对于等价路径的选路,一般是通过固定的报文特征区域的取值进行哈希 (Hash)操作,如按字节求和、按位与等。再根据哈希结果(1字节)选择相应路径,例如将哈希结果除以等价路径的数量,取余数作为选中的路径。上述报文特征区域的例子包括源MAC (Media Access Control,媒体访问控制)地址、目的MAC地址、源IP (Internet Protocol,互联网协议)地址、目的IP地址等。以报文的源MAC地址字段加目的MAC地址字段进行哈希操作为例。报文的源MAC 地址表示发出该报文的服务器的网卡的MAC地址,报文的目的MAC地址表示接收该报文的服务器的网卡的MAC地址。因为服务器的MAC地址基本上都是固定的,所以对源MAC字段加目的MAC字段进行哈希操作的结果也是固定的。换句话说,哈希选路的结果,实际上都选到了同一条路径。这样,由于哈希选路的不均勻性,导致其他等价路径的带宽被浪费了。

发明内容
本发明实施例提供一种数据中心网络中的选路方法和通信设备,能够解决由于哈希选路的不均勻性引起的路径带宽浪费问题。本发明实施例一方面,提供了一种数据中心网络中的选路方法,包括接收转发路径上的下游设备发送的流控信号,该流控信号是由该下游设备在检测到该转发路径发生拥塞后生成的,该流控信号用于向上游设备通知该拥塞;根据该流控信号,在选路时暂停选择该转发路径。本发明实施例第二方面,提供了一种数据中心网络中的选路方法,包括在检测到与上游设备之间的转发路径拥塞时,生成流控信号,该流控信号用于向上游设备通知该拥塞;向该上游设备发送该流控信号,以使该上游设备根据该流控信号,在选路时暂停选择该转发路径。本发明实施例第三方面,提供了一种数据中心网络中的通信设备,包括流控模块,用于接收转发路径上的下游设备发送的流控信号,该流控信号是由该下游设备在检测到该转发路径发生拥塞后生成的,该流控信号用于向上游设备通知该拥塞;选路模块,用于根据该流控模块接收的流控信号,在选路时暂停选择该转发路径。本发明实施例第四方面,提供了一种数据中心网络中的通信设备,包括生成模块,用于在检测到与上游设备之间的转发路径拥塞时,生成流控信号,该流控信号用于向上游设备通知该拥塞;发送模块,用于向该上游设备发送该生成模块生成的流控信号,以使该上游设备根据该流控信号,在选路时暂停选择该转发路径。本发明实施例基于下游设备返回的流控信号,暂停选择拥塞的转发路径,从而能够选择其他等价路径,避免浪费这些等价路径上的带宽资源。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是可应用本发明实施例的数据中心网络的架构示意图。图2是本发明一个实施例的数据中心网络中的选路方法的流程图。图3是本发明另一实施例的数据中心网络中的选路方法的流程图。图4是本发明一个实施例的应用场景的示意图。图5是图4的示例场景中的选路过程的示意流程图。图6是本发明一个实施例的通信设备的框图。图7是本发明另一实施例的通信设备的框图。
具体实施例方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1是可应用本发明实施例的数据中心网络的架构示意图。图1的数据中心网络采用胖树架构,但本发明实施例不限于此,也可以应用于其他需要进行选路的数据中心网胖树架构是DC网络的一种重要部署方案,其典型的网络拓扑如下图1所示。如图 1所示,Svri(i = 1,2,...)是服务器(Server),Six(X = 1,2,...)是接入层的交换机或路由器(可分别简称为接入交换机或接入路由器),S2y(y = 1,2,...)是汇聚层的交换机或路由器(可分别简称为汇聚交换机或汇聚路由器),或者是核心层的交换机或路由器(可分别简称为核心交换机或核心路由器)。图1中为了简洁起见,只显示了三层结构;但是本发明实施例可应用的DC网络不限于该具体形式的例子,而是可以具有更多层,每一层可以具有比图示更多或更少的节点。从图1中可以看到,每个接入层的交换机Slx和每个汇聚层(或作为核心层)的交换机S2y都是相互连接的,任意两个服务器之间要进行通信,均有多条等价路径可以选择。 例如,对于从服务器Svrl到服务器Svr4的流量,在交换机Sll上会有4条等价路径,对应分别选择上级的交换机S21、S22、S23、S24。如何进行选路,是胖树架构的一个关键问题。首先基于图1的例子,简单描述现有哈希选路方法中存在的问题。假设流量还是图1中所示,服务器Svrl流向服务器Svr4,那么在Sll交换机进行上述哈希选路的时候, 报文的源MAC为服务器Svrl网卡的MAC,报文的目的MAC为服务器Svr4网卡的MAC地址。 因为服务器的MAC地址基本上都是固定的,所以哈希结果也是固定的。换句话说,Sll哈希选路的结果,实际上都选到了 4条链路中的同一条,其它链路的带宽被浪费了。图2是本发明一个实施例的数据中心网络中的选路方法的流程图。图2的方法可以由DC网络中的上游设备执行。这里的上游设备可以是位于接入层、汇聚层或核心层的需要进行转发路径选择的交换机或路由器。201,接收转发路径上的下游设备发送的流控信号。该流控信号是由该下游设备在检测到该转发路径发生拥塞后生成的,该流控信号用于向上游设备通知该拥塞。这里的下游设备可以位于接入层、汇聚层或核心层,只需位于上述上游设备的下游即可。由于哈希选路的不均勻性,可能导致转发路径发生拥塞。本发明实施例中的“拥塞”不仅包括转发路径在该下游设备处的报文队列(或缓冲器)已满的情况,也包括报文队列(或缓冲器)即将满的情况,例如队列或缓冲器仅剩下低于某一阈值的空间。上述阈值可以是报文数(如2个),也可以是特定百分比(如10%)。本发明实施例对此不做限制。本发明实施例对流控信号的粒度不作限制。例如,流控信号可基于整个端口、基于报文的优先级或者基于其他更细或更粗的粒度(如基于报文/队列的其他特征)。202,根据该流控信号,在选路时暂停选择上述转发路径。例如,上游设备在选路时,可剔除上述转发路径,即只在上述转发路径的等价路径中进行选择。本发明实施例基于下游设备返回的流控信号,暂停选择拥塞的转发路径,从而能够选择其他等价路径,避免浪费这些等价路径上的带宽资源。图3是本发明另一实施例的数据中心网络中的选路方法的流程图。图3的方法可以由DC网络中的下游设备(如交换机或路由器)执行,并且与图2的方法相对应。301,在检测到与上游设备之间的转发路径拥塞时,生成流控信号,该流控信号用于向上游设备通知该拥塞。由于哈希选路的不均勻性,可能导致转发路径发生拥塞。本发明实施例中的“拥塞”不仅包括报文队列(或缓冲器)已满的情况,也包括报文队列(或缓冲器)即将满的情况,例如队列或缓冲器仅剩下低于某一阈值的空间。上述阈值可以是报文数(如2个),也可以是特定百分比(如10% )。本发明实施例对此不做限制。本发明实施例对流控信号的粒度不作限制。例如,流控信号可基于整个端口、基于报文的优先级或者基于其他更细或更粗的粒度(如基于报文/队列的其他特征)。302,向上游设备发送流控信号,以使上游设备根据流控信号,在选路时暂停选择上述转发路径。例如,上游设备在选路时,可剔除上述转发路径,即只在上述路径的等价路径中进行选择。本发明实施例基于下游设备返回的流控信号,暂停选择拥塞的转发路径,从而能够选择其他等价路径,避免浪费这些等价路径上的带宽资源。下面结合图4和图5的具体例子,更加详细地描述本发明图2和图3所述实施例。应注意,这些例子仅仅是为了帮助本领域技术人员更好地理解本发明,而非要限制本发明的范围。图4是本发明一个实施例的应用场景的示意图。图5是图4的示例场景中的选路过程的示意流程图。如图4所示,假设从源服务器Svl向目的服务器Sv2发送数据,交换机&是转发路径中的上游设备。有N条等价路径(路径1、路径2、...路径N)经过交换机&,每条等价路径的下游交换机分别为Si、S2、. . .、,N为正整数。应注意,图4中的连接方式只是示意性的,交换机&和源服务器Svl之间不必直接相连,也可以通过一层或多层交换机间接相连。 另外,交换机Sp &、. . . Sn和目的服务器Sv2之间不必直接相连,也可以通过一层或多层交换机间接相连。图5中以S1发生拥塞(队列已满或即将满)为例进行描述,本发明实施例同样可应用于其他上下游设备之间的路径选择。501,上游设备&通过哈希选路,选中路径1,即选择下游设备S1转发报文。由于哈希选路不均,导致下游设备S1发生拥塞。502,下游设备S1检测到路径1发生拥塞后,发送流控信号给上游设备&。可选地,作为一个实施例,流控信号可基于报文的优先级。基于优先级的流控 (PFC, Priority-based Flow Control)标准为 802. lQbb,也称为基于优先级的暂停(Per Priority Pause)或基于类的流控(CBFC,Class Based Flow Control),是一种基于优先级的流控机制。当下游设备端口上某个优先级队列即将产生拥塞时,发送一个PFC “反压”信号到上游设备,上游设备停止发送该优先级队列的报文,该机制逐级传递,直到源设备。该反压只针对某一个或几个优先级,不针对整个端口反压。这里不妨假设拥塞的队列中报文的优先级为X。在此情况下,只针对某一个或几个优先级发送反压信号,而不针对整个端口反压,可以提高选路控制的灵活性。503,上游设备&检测到流控信号后,暂停具有优先级X的报文的发送。同时,上游设备&可记录该流控信号,即生成相应的流控记录。具体地,上游设备&可暂停相应队列(该队列中报文的优先级为X)的报文的发送。504,后续为优先级为X的报文进行选路时,上游设备&将具有流控记录的路径 (如图4中的路径1)剔除,即选路只在无流控记录的等价路径(如图4中的路径2至路径 N)中进行选择。不妨假设选择路径2,即选择下游设备&转发报文。505,上游设备&在针对路径1的流控信号失效后,在选路时将仍允许选择路径1。 例如上游设备&可删除相应的流控记录,恢复路径1被选择的能力。例如,下游设备S1可以在路径1不再拥塞时,向上游设备&通知针对路径1的流控信号失效。或者,上游设备&可按照其他机制,自己确定针对路径1的流控信号是否失效。例如,上游设备&可在接收到或记录针对路径1的流控信息之后设置定时器,当定时器期满时,认为针对路径1的流控信息失效。上述定时器的期满时间可以由下游设备S1在流控信号中通知给上游设备&。本发明实施例对流控信号失效的发现机制不做限制,只需要上游设备&在针对路径1的流控信号失效的情况下允许再次选择路径1即可。
根据本发明实施例,可以根据下游设备的PFC信息进行路径的动态调整,从而解决胖树架构下,一部分等价路径拥塞,另一部分等价路径却空闲的问题。只要有路径不拥塞,则流量就会优先从不拥塞的路径上转发,有效提高网络带宽的利用率,避免带宽浪费。因此,如果在网络中的接入交换机(或路由器)、汇聚交换机(路由器)、核心交换机(或路由器)上部署上述的选路方案,则能有效提高网络的负载能力。图6是本发明一个实施例的通信设备的框图。图6的通信设备60的一个例子是上述上游设备(交换机或路由器),包括流控模块61和选路模块62。流控模块61接收转发路径上的下游设备发送的流控信号。该流控信号是由该下游设备在检测到该转发路径发生拥塞后生成的,该流控信号用于向上游设备通知该拥塞。 选路模块62根据流控模块61接收的流控信号,在选路时暂停选择上述转发路径。本发明实施例基于下游设备返回的流控信号,暂停选择拥塞的转发路径,从而能够选择其他等价路径,避免浪费这些等价路径上的带宽资源。通信设备60可执行上述图2至图4的方法中涉及上游设备的各个过程,为避免重复不再详细描述。可选地,作为一个实施例,流控模块61接收的流控信号可基于报文的优先级(例如,图5的实施例中的一个或多个优先级X),例如该流控信号可以是PFC反压信号。此时, 选路模块62可在为具有该优先级(如上述优先级X)的报文进行选路时,暂停选择上述转发路径。在此情况下,只针对某一个或几个优先级发送反压信号,而不针对整个端口反压, 可以提高选路控制的灵活性。可选地,作为另一实施例,流控模块61还可以在选路之前,根据流控信号,暂停具有上述优先级(如上述优先级X)的报文的发送。同时,流控模块61可将该流控信息通知给选路模块62。选路模块62记录该流控信息,即生成相应的流控记录。在后续进行选路时,选路模块62将具有流控记录的路径(如图4中的路径1)剔除,即选路只在无流控记录的等价路径(如图4中的路径2至路径N)中进行选择。可选地,作为另一实施例,选路模块62还可以在流控信号失效后,在选路时允许选择上述转发路径。例如选路模块62可删除相应的流控记录,恢复上述转发路径被选择的能力。可选地,作为另一实施例,通信设备60可以是接入交换机、接入路由器、汇聚交换机、汇聚路由器、核心交换机、核心路由器中的至少一种。图7是本发明另一实施例的通信设备的框图。图7的通信设备70的一个例子是上述下游设备(交换机或路由器),包括生成模块71和发送模块72。生成模块71在检测到与上游设备之间的转发路径拥塞时,生成流控信号,该流控信号将发生拥塞的转发路径通知上游设备。发送模块72向上游设备发送生成模块71生成的流控信号,以使上游设备根据流控信号,在选路时暂停选择上述转发路径。本发明实施例基于下游设备返回的流控信号,暂停选择拥塞的转发路径,从而能够选择其他等价路径,避免浪费这些等价路径上的带宽资源。通信设备70可执行上述图2至图4的方法中涉及下游设备的各个过程,为避免重复不再详细描述。可选地,作为一个实施例,生成模块71可生成基于报文的优先级的流控信号(例如上述PFC反压信号),以使上游设备在为具有该优先级的报文进行选路时,暂停选择上述转发路径。在此情况下,只针对某一个或几个优先级发送反压信号,而不针对整个端口反压,可以提高选路控制的灵活性。可选地,作为另一实施例,发送模块72还可以在上述路径不再拥塞时,向上游设备通知该流控信号失效,以使上游设备在选路时能够选择上述路径。可选地,作为另一实施例,通信设备70可以是接入交换机、接入路由器、汇聚交换机、汇聚路由器、核心交换机、核心路由器中的至少一种。根据本发明实施例的通信网络可包括上述通信设备60或70。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、 装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。 而前述的存储介质包括U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。以上所述,仅为本发明的具体实施方式
,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
权利要求
1.一种数据中心网络中的选路方法,其特征在于,包括接收转发路径上的下游设备发送的流控信号,所述流控信号是由所述下游设备在检测到所述转发路径发生拥塞后生成的,所述流控信号用于向上游设备通知所述拥塞;根据所述流控信号,在选路时暂停选择所述转发路径。
2.如权利要求1所述的方法,其特征在于,所述流控信号基于报文的优先级,所述在选路时暂停选择所述转发路径,包括在为具有所述优先级的报文进行选路时, 暂停选择所述转发路径。
3.如权利要求2所述的方法,其特征在于,所述方法还包括在选路之前,根据所述流控信号,暂停具有所述优先级的报文的发送。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括在所述流控信号失效后,在选路时允许选择所述转发路径。
5.一种数据中心网络中的选路方法,其特征在于,包括在检测到与上游设备之间的转发路径拥塞时,生成流控信号,所述流控信号用于向上游设备通知所述拥塞;向所述上游设备发送所述流控信号,以使所述上游设备根据所述流控信号,在选路时暂停选择所述转发路径。
6.如权利要求5所述的方法,其特征在于,所述生成流控信号,包括生成基于报文的优先级的所述流控信号,以使所述上游设备在为具有所述优先级的报文进行选路时,暂停选择所述转发路径。
7.如权利要求5或6所述的方法,其特征在于,所述方法还包括在所述转发路径不再拥塞时,向所述上游设备通知所述流控信号失效,以使所述上游设备在选路时能够选择所述路径。
8.一种数据中心网络中的通信设备,其特征在于,包括流控模块,用于接收转发路径上的下游设备发送的流控信号,所述流控信号是由所述下游设备在检测到所述转发路径发生拥塞后生成的,所述流控信号用于向上游设备通知所述拥塞;选路模块,用于根据所述流控模块接收的流控信号,在选路时暂停选择所述转发路径。
9.如权利要求8所述的通信设备,其特征在于,所述流控模块接收的流控信号基于报文的优先级,所述选路模块具体用于在为具有所述优先级的报文进行选路时,暂停选择所述转发路径。
10.如权利要求9所述的通信设备,其特征在于,所述流控模块还用于在选路之前,根据所述流控信号,暂停具有所述优先级的报文的发送。
11.如权利要求8-10任一项所述的通信设备,其特征在于,所述选路模块还用于在所述流控信号失效后,在选路时允许选择所述转发路径。
12.—种数据中心网络中的通信设备,其特征在于,包括生成模块,用于在检测到与上游设备之间的转发路径拥塞时,生成流控信号,所述流控信号用于向上游设备通知所述拥塞;发送模块,用于向所述上游设备发送所述生成模块生成的流控信号,以使所述上游设备根据所述流控信号,在选路时暂停选择所述转发路径。
13.如权利要求12所述的通信设备,其特征在于,所述生成模块具体用于生成基于报文的优先级的所述流控信号,以使所述上游设备在为具有所述优先级的报文进行选路时, 暂停选择所述转发路径。
14.如权利要求12或13所述的通信设备,其特征在于,所述发送模块还用于在所述路径不再拥塞时,向所述上游设备通知所述流控信号失效,以使所述上游设备在选路时能够选择所述转发路径。
全文摘要
本发明实施例提供一种数据中心网络中的选路方法和通信设备。该选路方法包括接收转发路径上的下游设备发送的流控信号,该流控信号是由该下游设备在检测到该转发路径发生拥塞后生成的,该流控信号用于向上游设备通知该拥塞;根据该流控信号,在选路时暂停选择该转发路径。本发明实施例基于下游设备返回的流控信号,暂停选择拥塞的转发路径,从而能够选择其他等价路径,避免浪费这些等价路径上的带宽资源。
文档编号H04L12/56GK102377672SQ201110343038
公开日2012年3月14日 申请日期2011年11月3日 优先权日2011年11月3日
发明者潘灏涛, 胡延兴 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1