CN104038418A - 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 - Google Patents
针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 Download PDFInfo
- Publication number
- CN104038418A CN104038418A CN201410211680.1A CN201410211680A CN104038418A CN 104038418 A CN104038418 A CN 104038418A CN 201410211680 A CN201410211680 A CN 201410211680A CN 104038418 A CN104038418 A CN 104038418A
- Authority
- CN
- China
- Prior art keywords
- path
- server
- message
- paths
- length
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制,所述路由方法利用混合型拓扑结构数据中心规整的连线方式,首先求得顶层路径集,再分别求得每条顶层路径所对应的左路径和右路径,最后将左路径和右路径合并求得完整路径。所述的路径探测机制利用多对探测请求/应答包对给定路径集进行网络状况的探测,供路由选择使用。所述的报文处理机制是路由算法和路径探测机制的具体实现,其被透明地嵌入到网络协议栈中。本发明针对混合型拓扑结构数据中心的、基于动态规划的路由算法,可以利用网络拓扑结构的特点求得最佳路径,且通过理论推导可得其时间复杂度均要低于现有最短路径算法,具有计算上的可行性。
Description
技术领域
本发明属于互联网技术领域,特别涉及一种针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制。
背景技术
数据中心网络是指数据中心的网络基础设施,他通过高速的链路和交换机连接着大量的服务器,数据中心网络是数据中心硬件部分的核心基础构成,它的拓扑结构给出了数据中心所有交换机和服务器的连接关系,决定数据中心的具体组织形式。
随着信息资源数字化的发展,在工业制造、电子商务、科研教学、生活娱乐等诸多领域,每天都会产生大量的数据。数据规模越来越大,增长速度越来越快是当今时代发展的必然趋势。为了容纳海量数据,必须构建更多大规模数据中心予以支持。数据中心不仅承载了传统的客户/服务器应用,还承担了包括大规模分布式文件系统和并行计算框架等新的基础应用。为了提供良好的用户体验,这些应用对网络延迟、带宽、容错性等方面都有着非常严格的要求。而传统互联网的路由机制大多是针对异构的网络结构而设计的,未能充分利用大规模数据中心的结构特点,因此都不能很好地满足上述的要求。对此,需要设计一套针对大规模数据中心的高效路由机制来解决此问题。
当前,数据中心网络大多都基于树形结构,但其可扩展性和容错性都未能满足要求,在成本方面也缺乏竞争性。近年来,国内外也提出了一些基于混合型拓扑结构的数据中心网络解决方案。混合型拓扑结构的特点是服务器不仅作为计算单元,还参与路由转发工作。如微软亚洲研究院郭传雄等人提出的DCell,李丹等人提出的FiConn,以及谢俊杰等人提出的Totoro等,都使用了廉价的交换机和多端口网卡服务器,但采取不同的连线结构和路由机制,实现了较高的可扩展性和容错性。这些拓扑结构都是基于递归定义的层次型结构,连线规律高度对称,所对应的路由机制和结构特点紧密相关。这些结构的原生路由算法都是基于逐跳计算的,即一个数据包到达每一个中间节点都要进行一次路由计 算,直到到达目的节点。这种路由方案在大流量的情形下极易导致中间节点消耗大量资源进行路由转发工作,从而降低其本身的业务处理效率。此外,这些结构中的一些路由方案还设定广播域来实现链路状态共享,以支持重路由来增强路由机制的容错性。但链路状态的广播势必消耗额外的网络带宽,从而影响数据中心网络的可用带宽。
发明内容
本发明的主要目的在于克服现有技术的缺点与不足,提供一种针对混合型拓扑结构数据中心的路由方法。
本发明的又一目的在于,提供一种基于上述路由方法的路径探测机制。
本发明的再一目的在于,提供一种基于该路由方法以及路径探测机制的报文处理机制。
为了达到上述第一目的,本发明采用以下技术方案:
一种针对混合型拓扑结构数据中心的路由方法,包括下述步骤:
(1)对于一对源服务器和目的服务器,初始化一个空的结果路径集合,检测源服务器和目的服务器是否连接到同一交换机上;
若是,则将源服务器和目的服务器之间的直接链路加入结果路径集合,路由寻找结束;
若否,则根据拓扑结构求得它们共同所属的最低层次分区,进入步骤(2);
(2)在源服务器和目的服务器共同所属的最低层次的分区结构中找到所有满足以下条件的路径:这些路径中的每一条路径将源服务器所属的分区结构和目的服务器所属的分区结构连接起来;把这些路径放到一个顶层路径集中,进入步骤(3);
(3)尝试从顶层路径集中取出一条路径,检测是否取得到;
若是,则将其从路径集中剔除,并进入步骤(4);
若否,则路由计算过程结束;
(4)对于步骤(3)取得的路径,分别取其左端点和右端点,左端点和源服务器在同一分区结构中,右端点和目的服务器在同一分区结构中,进入步骤(5);
(5)递归调用此算法,将该子过程的目的服务器置为步骤(4)中所得的左端点,源服务器不变,开始子过程,子过程结束后取得其结果路径集合,设 为左路径集合,进入步骤(6);
(6)递归调用此算法,将该子过程的源服务器置为步骤(4)中所得的右端点,目的服务器不变,开始子过程,子过程结束后取得其结果路径集合,设为右路径集合,进入步骤(7);
(7)将左路径集合和右路径集合做笛卡尔积,将结果加入结果路径集合,进入步骤(8);
(8)对结果路径集合按照长度从小到大排序,剔除指定数量以外的路径,进入步骤(3)。
优选的,所述拓扑结构是基于递归定义的、层次型的、连线规律对称的混合型拓扑结构,即服务器参与路由转发工作的数据中心网络。
优选的,所述结果路径集合,可以指定一个数量约束其大小,最终求得的结果路径集合中包含的路径是所有可能路径中较短的路径,若指定其数量大小为1,则最终求得的结果路径集合中仅包含一条路径,且其是源服务器和目的服务器之间最短的路径;
所述对结果路径集合进行排序时,可采用最大堆排序,堆大小设置为指定最大路径数量,若堆满时,将长度大于堆顶路径长度的额外路径直接剔除,从而提高排序效率。
为了达到上述又一目的,本发明采用以下技术方案:
一种基于上述路由方法的路径探测机制,对于所有源服务器发往目的服务器的数据包,先根据上述的路由方法求得结果路径集进行路径探测,路径探测期间,数据包被缓存起来,待路径探测完毕再发送出去;对于上述的结果路径集合中的每一条路径,构造路径探测请求数据包,将路径信息保存在该数据包中,将其从源服务器发送到目的服务器,再由目的服务器返回。
优选的,路径探测过程中的每一个中间节点取得路径探测包后,无需再次进行路由计算,仅需从探测包中取得路径信息,并将该探测包发送到下一跳服务器,直至目的服务器,目的服务器收到路径探测包后,反转探测路径,构造路径探测应答包发送给源服务器,当源服务器收到路径探测应答包后,在缓存中将对应的路径标记为可用状态,供以后数据包发送使用,缓存信息设置生存时间,超时后再次发起路径探测。
优选的,路径探测过程中的每一个中间节点都在路径探测包中保存当前的 链路状况,源服务器可根据探测包上所保存的链路状况评估链路的可用性选择合理的传播路径,可结合负载均衡机制。
为了达到上述再一目的,本发明采用以下技术方案:
一种基于上述路径探测机制的报文处理机制,包括下述处理步骤:
报文处理在典型的网络协议栈中被实现为介于第2层数据链路层和第3层网络层之间的2.5层协议,当数据报从网络层向下传递给数据链路层时,被上述的报文处理机制所捕获,通过上述的路由算法计算出路径集合,再通上述的路径探测机制获得可行路径,紧接着构造报文,对网络层提供的数据报贴上带有路径信息的头部,最后调用数据链路层接口将数据包发送出去,报文处理机制只根据路径信息进行尽力交付,不提供可靠传输保证。
优选的,根据网络协议的分层原理,数据链路层无需获知上层协议所交付的报文格式,其只负责发送到指定地址,而当数据链路层从网络设备接收到一个数据包时,其向上层协议提交,此时同样被上述的报文处理机制所捕获,该机制提取上述报文头部,判断其目的服务器是否为当前服务器;若是,则提交给上层协议,若否,则从报头的路径信息中获得下一跳服务器地址,再次传递给数据链路层将数据包发送出去。
优选的,所述报文的头部格式包含以下字段:
报文类型:长度为8位,0x00代表数据报文,0x01代表路径探测请求报文,0x02代表路径探测应答报文;
标识符:长度为8位,代表探测路径的编号,仅在路径探测报文中有意义;
首部长度:长度为8位,代表所述头部的长度,以字节计数;
路径矢量长度:长度为4位,表示路径变换矢量的维度大小;
路径矢量指针:长度为4位,指向当前路径变换矢量应该处理的维度;
校验和:长度为16位,和IP报文采用同样的校验方法,用于首部校验;
路径变换矢量:长度为32位,其每一个维度表示一次路径变换所对应的变换值,维度大小视具体拓扑结构而定;
源主机地址:长度为32位,仅存在于路径探测请求/应答报文,可直接使用源服务器的IP地址;
目的主机地址:长度为32位,仅存在于路径探测请求/应答报文,可直接使用目的服务器的IP地址;
网络状况度量值:长度为16位,仅存在于路径探测请求/应答报文,用于 记录该探测路径的网络状况。
优选的,数据报文不携带源主机地址和目的地址信息,只依靠路径变换矢量、路径变换指针和路径变换长度即可逐跳求得完整路径,路径矢量指针指向当前服务器进行下一跳地址计算时所需的路径变换值,当前服务器计算后需要增加路径矢量指针的值,直到到达某一服务器时其值与路径矢量长度相等,则可判断为该数据包到达指定的目的主机;
网络状况度量值在路径探测时期由中间节点进行更新,包含当前路径的网络带宽、网络延迟以及中间节点计算繁忙程度的网络状况。
本发明与现有技术相比,具有如下优点和有益效果:
(1)本发明针对混合型拓扑结构数据中心的、基于动态规划的路由算法,可以利用网络拓扑结构的特点求得最佳路径,且通过理论推导可得其时间复杂度均要低于现有最短路径算法,具有计算上的可行性。
(2)本发明的路径探测机制,可以获取给定路径的状况,而不用通过广播定时进行链路状态信息的共享,有利于减少广播所占用的额外网络带宽。
(3)本发明的路由算法和路径探测机制相结合,可以获取从源服务器到目的服务器之间的所有或者指定数量的路径及其网络状况。利用这些可用路径,可以避开故障发生点以实现高容错性,还可以支持多路传输和负载均衡,有效提高网络带宽。
(4)本发明的报文处理机制很好地兼容现有的网络协议,对已有协议不产生副作用,即其所实现的2.5层协议对上下层协议都是透明的,原有协议无需变动。
(5)本发明的报文格式较为简单,只在本发明的报文处理机制中使用,不对现有其他网络协议的报文产生影响,可以配合报文处理机制方便地移植到现有网络协议栈中。
附图说明
图1是典型的混合型结构数据中心网络拓扑图。
图2是本发明基于动态规划路由算法的流程图。
图3是本发明报文处理机制在网络协议栈中的示意图。
图4是本发明的报文格式。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
实施例
本实施例公开了针对混合型拓扑结构数据中心的、基于动态规划的路由算法。典型的混合型拓扑结构数据中心包括交换机和服务器,每个服务器包含有多个网卡端口。如图1所示的拓扑结构是一个两层的Totoro结构,所使用的服务器有2个网卡端口,交换机有4个端口,其中一个交换机与4个服务器连接后构成拓扑结构的最底层分区结构,即0层分区结构;将4个最底层分区结构中各自的2个未被使用的服务器网卡端口分别与2个交换机连接,构成一个如图1所示的1层分区结构。
本实施例所使用的混合型拓扑结构按照服务器所处位置为其编号,各服务器的编号用元组表示。如图1中所示的1层分区结构,各服务器的编号为元组[a1,a0],其中对于编号为[0,1]的服务器,a1为0,表示服务器位于第0个最底层分区结构,a0为1,表示该服务器位于最底层分区结构中的第1个位置上,因此编号为[0,1]表示该服务器位于这个1层拓扑结构中第0个最底层分区结构中的第1个位置上。
本实施例所使用的混合型拓扑结构中的交换机按照其所处层次编号为元组(1-b0)或(0-b1,b0)。如图1所示的1层分区结构中,按照上述元组给交换机编号,对于编号为(1-1)的交换机,其是一台1层交换机,b0为1,表示该交换机位于1层分区结构的第1个位置上。对于编号为(0-1,0)的交换机,其是一台0层交换机,b0为0,bi为1,表示该交换机位于第1个最底层分区结构的第0个位置上。
以图1所示混合型拓扑结构为基础,如图2所示,本实施例的一种针对混合型拓扑结构数据中心的路由算法,包括以下步骤:
(1)对于一对源服务器和目的服务器,初始化一个空的结果路径集合,检测源服务器和目的服务器是否连接到同一交换机上;
若是,则将源服务器和目的服务器之间的直接链路加入结果路径集合,路由寻找结束;
若否,则根据拓扑结构求得它们共同所属的最低层次分区,进入步骤(2);
(2)在源服务器和目的服务器共同所属的最低层次的分区结构中找到所有满足以下条件的路径:这些路径中的每一条路径将源服务器所属的分区结构和目的服务器所属的分区结构连接起来;把这些路径放到一个顶层路径集中,进入步骤(3);
(3)尝试从顶层路径集中取出一条路径,检测是否取得到;
若是,则将其从路径集中剔除,并进入步骤(4);
若否,则路由计算过程结束。
(4)对于步骤(3)取得的路径,分别取其左端点和右端点,左端点和源服务器在同一分区结构中,右端点和目的服务器在同一分区结构中,进入步骤(5);
(5)递归调用此算法,将该子过程的目的服务器置为步骤(4)中所得的左端点,源服务器不变,开始子过程。子过程结束后取得其结果路径集合,设为左路径集合,进入步骤(6);
(6)递归调用此算法,将该子过程的源服务器置为步骤(4)中所得的右端点,目的服务器不变,开始子过程。子过程结束后取得其结果路径集合,设为右路径集合,进入步骤(7);
(7)将左路径集合和右路径集合做笛卡尔积,将结果加入结果路径集合,进入步骤(8);
(8)对结果路径集合按照长度从小到大排序,剔除指定数量以外的路径,进入步骤(3);
在本实施例中,将在步骤3中取出的一条顶层路径设为(x,y),其中服务器x和服务器y连接在同一个交换机上,x表示路径(x,y)的一端连接源服务器所属分区结构的服务器,y表示路径(x,y)的一端连接目的服务器所属分区结构的服务器。其中路径(x,y)所连接的源服务器所属的分区结构和目的服务器所属的分区结构为同层次的分区结构,这两个分区结构为源服务器和目的服务器共同所属的最低层次分区结构的低一层分区结构。
通过递归调用本实施例的方法,可以逐层找到从源服务器到目的服务器的所有路径或者指定数量的路径。若指定结果路径集的数量大小为1,则最终求得的结果路径集合中仅包含一条路径,且其是源服务器和目的服务器之间最短的路径。
如图1中所示的1层Totoro分区结构中,利用本实施例的方法寻找服务器[0,1]到服务器[1,3]的最短路径,具体如下:
首先初始化结果路径集R为空集,取得顶层路径集{[0,0]→[1,0],[0,2]→[1,2]},对于每一条顶层路径,如[0,0]→[1,0],其左端点为[0,0],右端点为[1,0];
其次调用本算法为子过程,求得源服务器到左端点服务器的路径集为{[0,1]→[0,0]};
再次调用本算法为子过程,求得右端点服务器到目的服务器的路径集为{[1,0]→[1,3]};
紧接着对上述两个路径集进行笛卡尔积,得到结果{[0,1]→[0,0]→[1,0]→[1,3]},并放入P;
对顶层路径[0,2]→[1,2]采用同样的方法,求得结果{[0,1]→[0,2]→[1,2]→[1,3]},并放入P;
按路径长度从小到大对P进行排序,只保留一条路径,即最短路径;
最后,算法结束,结果路径集为{[0,1]→[0,0]→[1,0]→[1,3]}
本实施例中所实施的路径探测机制,对于所有源服务器发往目的服务器的数据包,先根据上述的算法求得结果路径集进行路径探测。路径探测期间,数据包被缓存起来,待路径探测完毕再发送出去。路径信息保存在该数据包中,将其从源服务器发送到目的服务器,再由目的服务器返回。路径探测过程中的每一个中间节点取得路径探测包后,无需再次进行路由计算,仅需从探测包中取得路径信息,并将该探测包发送到下一跳服务器,直至目的服务器。目的服务器收到路径探测包后,反转探测路径,构造路径探测应答包发送给源服务器。当源服务器收到路径探测应答包后,在缓存中将对应的路径标记为可用状态,供以后数据包发送使用。缓存信息设置生存时间,超时后再次发起路径探测。
路径探测过程中的每一个中间节点都在路径探测包中保存当前的链路状况,例如链路流量大小,当前节点业务计算或者路由转发的负荷大小等。源服务器可根据探测包上所保存的链路状况评估链路的可用性选择合理的传播路径,可结合负载均衡机制。
本实施例中,源服务器[0,1]先使用路由算法构造上述路径集,对每一条路径构造探测请求包,探测包携带路径信息,而中间节点服务器只转发探测包。如对于路径[0,1]→[0,0]→[1,0]→[1,3],中间节点[0,0]和[1,0]接收到数据包后都按照路径信息转发给下一个节点,即[0,0]转发给[1,0],[1,0]转发 给[1,3]。目的服务器[1,3]接收到路径探测包后,由路径信息获知其是路径终点,故将路径反转为[1,3]→[1,0]→[0,0]→[0,1],构造探测应答包,将其发送回源服务器。
本实施例中,如图3所示,报文处理在典型的网络协议栈中被实现为介于第2层(数据链路层,通常为以太网层)和第3层(网络层)之间的2.5层协议。当数据报从网络层向下传递给数据链路层时,被上述的报文处理机制所捕获,通过上述的路由算法计算出路径集合,再通过上述的路径探测机制获得可行路径,紧接着构造报文(实际上只对网络层提供的数据报贴上带有路径信息的头部),最后调用数据链路层接口将数据包发送出去。
根据网络协议的分层原理,数据链路层无需获知上层协议所交付的报文格式,其只负责发送到指定地址。而当数据链路层从网络设备接收到一个数据包时,其向上层协议提交。此时同样被上述的报文处理机制所捕获,该机制提取上述报文头部,判断其目的服务器是否为当前服务器。若是,则提交给上层协议(即网络层协议)。若否,则从报头的路径信息中获得下一跳服务器地址,再次传递给数据链路层将数据包发送出去。
实施例中,报文包括路径探测报文和数据报文两种格式。它们都包含从源服务器到目的服务器之间进行路由转发所需的路径信息。同样的,报文的头部也被实现为介于第2层头部和第3层头部之间。
如图4所示,所述报文的头部格式主要包含以下字段:
报文类型:长度为8位,0x00代表数据报文,0x01代表路径探测请求报文,0x02代表路径探测应答报文。
标识符:长度为8位,代表探测路径的编号,仅在路径探测报文中有意义。
首部长度:长度为8位,代表所述头部的长度,以字节计数。
路径矢量长度:长度为4位,表示路径变换矢量的维度大小。
路径矢量指针:长度为4位,指向当前路径变换矢量应该处理的维度。
校验和:长度为16位,和IP报文采用同样的校验方法,用于首部校验。
路径变换矢量:长度为32位,其每一个维度表示一次路径变换所对应的变换值,维度大小视具体拓扑结构而定。
源主机地址:长度为32位,仅存在于路径探测请求/应答报文,可直接使用源服务器的IP地址。
目的主机地址:长度为32位,仅存在于路径探测请求/应答报文,可直接使用目的服务器的IP地址。
网络状况度量值:长度为16位,仅存在于路径探测请求/应答报文,用于记录该探测路径的网络状况。
路径变换矢量是对完整路径信息的一种压缩。对于大多数混合型拓扑结构的数据中心,具有连线方式规整的特点,相邻服务器的标识符往往只有一位数值不同,只需记录该数值的位置和大小,配合路径矢量指针,就可以在每一跳中计算出下一跳地址。对于图1的Totoro结构存在一个事实,相邻服务器的元组标识符之间只有一位的值不同。另一个事实是Totoro结构仅使用两个端口的网卡,对于每一个需要转发的数据包,从一个端口进来势必要从另一个端口出去。因此对于上述路径[0,1]→[0,0]→[1,0]→[1,3],路径[0,1]→[0,0]的位变化值是0,即从元组[0,1]变到元组[0,0]只需将最低位的1变为0。以此类推,整条路径可压缩为路径变换矢量<0,1,3>,路径变换指针初始值为1,路径变换矢量长度为3;源服务器获取路径变换指针所指向的值0,可求出下一跳地址为[0,0]。发送或者转发前需将指针加1(对于源服务器更新后的指针为2),还需用当前服务器到下一跳服务器的逆向路径的变换值替换当前变换值,即用1替换0,因为逆向路径[0,0]→[0,1]的变换值为1。服务器[0,0]获取路径变换指针所指向的值1,可求出下一跳地址为[1,0],以此类推,直至到达目的服务器。经过路径上每个节点的更新,最后到达目的服务器时,路径变换矢量值为<1,0,0>。此时目的节点反转该矢量值为<0,0,1>,即可得到反向路径。根据反向路径可以构造探测应答包,中间节点同样使用转发路径探测请求包的方法进行处理。
网络状况度量值在路径探测时期由中间节点进行更新,可以包含当前路径的网络带宽、网络延迟、中间节点计算繁忙程度等网络状况。此外,实施例中的报文处理机制和报文格式只根据路径信息进行尽力交付,都不提供可靠传输保证。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (10)
1.一种针对混合型拓扑结构数据中心的路由方法,其特征在于,包括下述步骤:
(1)对于一对源服务器和目的服务器,初始化一个空的结果路径集合,检测源服务器和目的服务器是否连接到同一交换机上;
若是,则将源服务器和目的服务器之间的直接链路加入结果路径集合,路由寻找结束;
若否,则根据拓扑结构求得它们共同所属的最低层次分区,进入步骤(2);
(2)在源服务器和目的服务器共同所属的最低层次的分区结构中找到所有满足以下条件的路径:这些路径中的每一条路径将源服务器所属的分区结构和目的服务器所属的分区结构连接起来;把这些路径放到一个顶层路径集中,进入步骤(3);
(3)尝试从顶层路径集中取出一条路径,检测是否取得到;
若是,则将其从路径集中剔除,并进入步骤(4);
若否,则路由计算过程结束;
(4)对于步骤(3)取得的路径,分别取其左端点和右端点,左端点和源服务器在同一分区结构中,右端点和目的服务器在同一分区结构中,进入步骤(5);
(5)递归调用此算法,将该子过程的目的服务器置为步骤(4)中所得的左端点,源服务器不变,开始子过程,子过程结束后取得其结果路径集合,设为左路径集合,进入步骤(6);
(6)递归调用此算法,将该子过程的源服务器置为步骤(4)中所得的右端点,目的服务器不变,开始子过程,子过程结束后取得其结果路径集合,设为右路径集合,进入步骤(7);
(7)将左路径集合和右路径集合做笛卡尔积,将结果加入结果路径集合,进入步骤(8);
(8)对结果路径集合按照长度从小到大排序,剔除指定数量以外的路径,进入步骤(3)。
2.根据权利要求1所述的一种针对混合型拓扑结构数据中心的路由方法,其特征在于,所述拓扑结构是基于递归定义的、层次型的、连线规律对称的混合型拓扑结构,即服务器参与路由转发工作的数据中心网络。
3.根据权利要求1所述的一种针对混合型拓扑结构数据中心的路由方法,其特征在于,所述结果路径集合,可以指定一个数量约束其大小,最终求得的结果路径集合中包含的路径是所有可能路径中较短的路径,若指定其数量大小为1,则最终求得的结果路径集合中仅包含一条路径,且其是源服务器和目的服务器之间最短的路径;
所述对结果路径集合进行排序时,可采用最大堆排序,堆大小设置为指定最大路径数量,若堆满时,将长度大于堆顶路径长度的额外路径直接剔除,从而提高排序效率。
4.根据权利要求1所述路由方法的路径探测机制,其特征在于,对于所有源服务器发往目的服务器的数据包,先根据权利要求1所述的路由方法求得结果路径集进行路径探测,路径探测期间,数据包被缓存起来,待路径探测完毕再发送出去;对于权利要求1中所求的结果路径集合中的每一条路径,构造路径探测请求数据包,将路径信息保存在该数据包中,将其从源服务器发送到目的服务器,再由目的服务器返回。
5.根据权利要求4所述的路径探测机制,其特征在于,路径探测过程中的每一个中间节点取得路径探测包后,无需再次进行路由计算,仅需从探测包中取得路径信息,并将该探测包发送到下一跳服务器,直至目的服务器,目的服务器收到路径探测包后,反转探测路径,构造路径探测应答包发送给源服务器,当源服务器收到路径探测应答包后,在缓存中将对应的路径标记为可用状态,供以后数据包发送使用,缓存信息设置生存时间,超时后再次发起路径探测。
6.根据权利要求4所述的路径探测机制,其特征在于,路径探测过程中的每一个中间节点都在路径探测包中保存当前的链路状况,源服务器可根据探测包上所保存的链路状况评估链路的可用性选择合理的传播路径,可结合负载均衡机制。
7.根据权利要求4所述路径探测机制的报文处理机制,其特征在于,该报文处理机制包括下述处理步骤:
报文处理在典型的网络协议栈中被实现为介于第2层数据链路层和第3层网络层之间的2.5层协议,当数据报从网络层向下传递给数据链路层时,被上述的报文处理机制所捕获,通过权利要求1所述的路由算法计算出路径集合,再通过权利要求5所述的路径探测机制获得可行路径,紧接着构造报文,对网络层提供的数据报贴上带有路径信息的头部,最后调用数据链路层接口将数据包发送出去,报文处理机制只根据路径信息进行尽力交付,不提供可靠传输保证。
8.根据权利要求7所述的报文处理机制,其特征在于,根据网络协议的分层原理,数据链路层无需获知上层协议所交付的报文格式,其只负责发送到指定地址,而当数据链路层从网络设备接收到一个数据包时,其向上层协议提交,此时同样被上述的报文处理机制所捕获,该机制提取上述报文头部,判断其目的服务器是否为当前服务器;若是,则提交给上层协议,若否,则从报头的路径信息中获得下一跳服务器地址,再次传递给数据链路层将数据包发送出去。
9.根据权利要求8所述的报文处理机制,其特征在于,所述报文的头部格式包含以下字段:
报文类型:长度为8位,0x00代表数据报文,0x01代表路径探测请求报文,0x02代表路径探测应答报文;
标识符:长度为8位,代表探测路径的编号,仅在路径探测报文中有意义;
首部长度:长度为8位,代表所述头部的长度,以字节计数;
路径矢量长度:长度为4位,表示路径变换矢量的维度大小;
路径矢量指针:长度为4位,指向当前路径变换矢量应该处理的维度;
校验和:长度为16位,和IP报文采用同样的校验方法,用于首部校验;
路径变换矢量:长度为32位,其每一个维度表示一次路径变换所对应的变换值,维度大小视具体拓扑结构而定;
源主机地址:长度为32位,仅存在于路径探测请求/应答报文,可直接使用源服务器的IP地址;
目的主机地址:长度为32位,仅存在于路径探测请求/应答报文,可直接使用目的服务器的IP地址;
网络状况度量值:长度为16位,仅存在于路径探测请求/应答报文,用于记录该探测路径的网络状况。
10.根据权利要求8所述的报文处理机制,其特征在于,数据报文不携带源主机地址和目的地址信息,只依靠路径变换矢量、路径变换指针和路径变换长度即可逐跳求得完整路径,路径矢量指针指向当前服务器进行下一跳地址计算时所需的路径变换值,当前服务器计算后需要增加路径矢量指针的值,直到到达某一服务器时其值与路径矢量长度相等,则可判断为该数据包到达指定的目的主机;
网络状况度量值在路径探测时期由中间节点进行更新,包含当前路径的网络带宽、网络延迟以及中间节点计算繁忙程度的网络状况。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410211680.1A CN104038418B (zh) | 2014-05-19 | 2014-05-19 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410211680.1A CN104038418B (zh) | 2014-05-19 | 2014-05-19 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104038418A true CN104038418A (zh) | 2014-09-10 |
CN104038418B CN104038418B (zh) | 2017-05-31 |
Family
ID=51469011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410211680.1A Active CN104038418B (zh) | 2014-05-19 | 2014-05-19 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104038418B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753963A (zh) * | 2015-04-23 | 2015-07-01 | 南京大学 | 基于冗余技术的数据中心短流加速方法及系统 |
CN106339831A (zh) * | 2015-07-09 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 用于为业务获取有效路径的方法及装置 |
CN106411642A (zh) * | 2016-09-21 | 2017-02-15 | 杭州迪普科技有限公司 | 一种报文转发路径探测的方法和装置 |
CN107969021A (zh) * | 2016-10-19 | 2018-04-27 | 中南大学 | 一种基于区分服务的事件与执行器间的高效路由策略 |
CN110365585A (zh) * | 2018-03-26 | 2019-10-22 | 武汉大学 | 一种基于多代价指标的路由裁剪优化方法 |
CN113806896A (zh) * | 2021-08-25 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种网络拓扑图生成方法、装置、设备及可读存储介质 |
CN114465750A (zh) * | 2021-09-28 | 2022-05-10 | 北京卫达信息技术有限公司 | 网络拓扑混淆虚拟通路创建方法、装置、终端及系统 |
CN115529276A (zh) * | 2021-06-24 | 2022-12-27 | 华为技术有限公司 | 一种数据传输方法及其相关设备 |
CN117135110A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420775A (zh) * | 2012-01-10 | 2012-04-18 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
CN103346967A (zh) * | 2013-07-11 | 2013-10-09 | 暨南大学 | 一种数据中心网络拓扑结构及其路由方法 |
-
2014
- 2014-05-19 CN CN201410211680.1A patent/CN104038418B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102420775A (zh) * | 2012-01-10 | 2012-04-18 | 西安电子科技大学 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
CN103346967A (zh) * | 2013-07-11 | 2013-10-09 | 暨南大学 | 一种数据中心网络拓扑结构及其路由方法 |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104753963B (zh) * | 2015-04-23 | 2017-08-25 | 南京大学 | 基于冗余技术的数据中心短流加速方法及系统 |
CN104753963A (zh) * | 2015-04-23 | 2015-07-01 | 南京大学 | 基于冗余技术的数据中心短流加速方法及系统 |
CN106339831A (zh) * | 2015-07-09 | 2017-01-18 | 阿里巴巴集团控股有限公司 | 用于为业务获取有效路径的方法及装置 |
CN106339831B (zh) * | 2015-07-09 | 2022-04-05 | 菜鸟智能物流控股有限公司 | 用于为业务获取有效路径的方法及装置 |
US10498627B2 (en) | 2016-09-21 | 2019-12-03 | Hangzhou Dptech Technologies Co., Ltd. | Detecting packet forwarding path |
CN106411642A (zh) * | 2016-09-21 | 2017-02-15 | 杭州迪普科技有限公司 | 一种报文转发路径探测的方法和装置 |
CN106411642B (zh) * | 2016-09-21 | 2019-09-17 | 杭州迪普科技股份有限公司 | 一种报文转发路径探测的方法和装置 |
CN107969021B (zh) * | 2016-10-19 | 2021-06-08 | 中南大学 | 一种基于区分服务的事件与执行器间的高效路由策略 |
CN107969021A (zh) * | 2016-10-19 | 2018-04-27 | 中南大学 | 一种基于区分服务的事件与执行器间的高效路由策略 |
CN110365585A (zh) * | 2018-03-26 | 2019-10-22 | 武汉大学 | 一种基于多代价指标的路由裁剪优化方法 |
CN110365585B (zh) * | 2018-03-26 | 2021-08-03 | 武汉大学 | 一种基于多代价指标的路由裁剪优化方法 |
CN115529276A (zh) * | 2021-06-24 | 2022-12-27 | 华为技术有限公司 | 一种数据传输方法及其相关设备 |
CN113806896A (zh) * | 2021-08-25 | 2021-12-17 | 济南浪潮数据技术有限公司 | 一种网络拓扑图生成方法、装置、设备及可读存储介质 |
CN114465750A (zh) * | 2021-09-28 | 2022-05-10 | 北京卫达信息技术有限公司 | 网络拓扑混淆虚拟通路创建方法、装置、终端及系统 |
CN114465750B (zh) * | 2021-09-28 | 2023-02-03 | 北京卫达信息技术有限公司 | 网络拓扑混淆虚拟通路创建方法、装置、终端及系统 |
CN117135110A (zh) * | 2023-10-25 | 2023-11-28 | 苏州元脑智能科技有限公司 | 一种自适应路由方法、装置、系统、设备及存储介质 |
CN117135110B (zh) * | 2023-10-25 | 2024-03-01 | 苏州元脑智能科技有限公司 | 一种自适应路由方法、装置、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN104038418B (zh) | 2017-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104038418A (zh) | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 | |
CN105554065B (zh) | 处理报文的方法、转换单元和应用单元 | |
US11184284B2 (en) | Data packet forwarding method and apparatus | |
CN103873523B (zh) | 客户端集群访问方法及装置 | |
WO2017005223A1 (zh) | 一种智能电表的信息共享方法、智能电表及采集路由器 | |
CN106656847A (zh) | 网络效用最大化的sdn负载均衡方法 | |
US8176200B2 (en) | Distributed aggregation on an overlay network | |
CN102694732B (zh) | 一种基于局部虚拟化的虚拟网构建方法和系统 | |
CN105556916B (zh) | 网络流的信息统计方法和装置 | |
CN109067579A (zh) | 面向底层节点失效的5g网络切片拓扑设计及可靠映射方法 | |
CN113810205B (zh) | 服务算力信息的上报、接收方法、服务器及数据中心网关 | |
CN105022717A (zh) | 附加请求数优先级的片上网络资源仲裁方法及仲裁单元 | |
CN104350711B (zh) | 用于在diameter信令路由器处路由diameter消息的方法、系统及装置 | |
WO2019220281A1 (en) | Systems and methods for propagating data packets in a network of nodes | |
Kliazovich et al. | CA-DAG: Communication-aware directed acyclic graphs for modeling cloud computing applications | |
CN104580165A (zh) | 智慧协同网络中的一种协作缓存方法 | |
TW201931828A (zh) | 基於流表的資料傳送方法 | |
CN107872368A (zh) | 一种网络节点集群中网关可达性的检测方法、装置及终端 | |
US20080147881A1 (en) | System and method for placing computation inside a network | |
CN104270312B (zh) | 支持流量优化和应用感知的中继路径分配系统及方法 | |
CN109495526A (zh) | 一种报文发送方法、装置、系统、电子设备及存储介质 | |
CN108600106B (zh) | 一种低时延的数据交换装置及方法 | |
WO2023169374A1 (zh) | 一种路由方法及系统、节点 | |
CN108737455A (zh) | 网络业务识别装置及方法 | |
CN116455817A (zh) | 一种软件定义云网融合架构及路由实现方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |