基于包粒度的数据中心网络源路由方法及装置的制造方法_4

文档序号:8265553阅读:来源:国知局
ndex = O ;为即将发送的分组选取路径Paths [index];更新当前选择路径的索引index = (index+l)mod PathNum ;将路由信息写入分组IP头部的选项字段;将分组注入网络,发送所有数据。
[0101]进一步地,在本发明的一个实施例中交换机用于:接收到一个报文;判断分组是向更高层次的交换机转发还是向更低层次的交换机或主机转发,其中,如果分组应该由低层次的交换机向高层次的交换机转发,则从分组IP头部的选项字段中解析出源路由信息,并根据源路由信息实施数据转发,否则根据分组IP头部的目的IP地址查找路由表,以获取路由信息实施数据转发,发送所有数据。
[0102]相较于传统的基于流粒度的路由机制,本发明实施例的方法为基于分组粒度的路由机制(PSR),即将来自同一条流的分组通过不同路径进行传输,提高网络资源的利用率。由于不同路径的端到端延时不一致,因此接收端不可避免会接收到乱序分组。TCP的拥塞控制机制将乱序报文作为网络发生拥塞的标志,一旦连续接收到4个乱序分组,发送端会接收到3个重复的确认报文,进而触发快速重传、将拥塞窗口减半,造成吞吐量下降。因此,为了减少乱序报文的数量,本发明实施例使用源路由机制将来自同一流的分组均匀地分配给所有的路径,确保每条路径的端到端延时比较接近。另外,为了减少没必要的快速重传,本发明实施例提高了快速重传的门限。
[0103]具体而言,在Fat-Tree网络中,根据发送端和接收端位置的不同,可以将流分成三类:1)跨集群的流,即发送端和接收端处于不同的集群。2)跨边缘层交换机的流,即发送端和接收端处于相同的集群,但与不同的边缘层交换机相连。3)隶属于同一边缘层交换机的流,即发送端和接收端通过同一边缘层交换机相连。
[0104]以所经过的链路数量为单位,上述三类流对应的路径长度分别为6、4和2。其中第三类流的路径长度只有一条,因此这些流的分组只会通过一条流进行传输,其路由的处理方式与标准路由没有区别。对于跨集群的流和跨边缘层交换机的流,其可选的路径数量分别是K2/4和K/2。在本发明的实施例中,主要描述对跨集群的流和跨边缘层交换机的流的实施方式。
[0105]首先,根据Fat-Tree网络拓扑的规则,流的发送端和接收端确定后,其可选的路径可以很容易地计算出来。在本发明的一个实施例中,参照图2所示,显示的是一个K=4的Fat-Tree网络。假设一条流的发送端是服务器SI,接收端是服务器S13。因为两者处于不同的集群,因此该条流是跨集群的流。其中,这条流可用的路径数量=K2/4 =4条。根据Fat-Tree拓扑规则,可以很容易地计算出这4条路径(如图中带箭头线条所示),即 SI — El — Al — Cl — A7 — E7 — S13,SI — El — A2 — C3 — A8 — E7 — S13,SI — El — Al — C2 — A7 — E7 — S13,和 SI — El — A2 — C4 — A8 — E7 — S13。为了将流量均匀地分配到这些可选路径上,PSR采用了轮询的方式,将报文依次分配给可用路径。需要说明的是,图中,交换机El?E8为边缘层交换机,交换机Al?A8为聚集层交换机,交换机Cl?C4为核心层交换机,SI?S16为服务器,O?3为交换机转发端口的索引值。。
[0106]进一步地,在本发明的实施例中,为了使分组按照选定的路径进行路由,本发明实施例使用了源路由技术,即将路由信息写入报文头部。由图1所示,当分组从低层次交换机向高层次交换机路由(上行路由,图中以实线表示,箭头表示数据传播方向)时才会面临路径选择,而且下一跳可以通过本地转发端口唯一标识。以交换机El为例,当分组到达El后,可以通过两个下一跳进行路由,即Al或A2,其对应的本地转发端口的索引值分别为2或
3。而当分组从高层次交换机向低层次交换机路由(下行路由,图中以虚线表示,箭头表示数据传播方向)时路径是唯一确定的。
[0107]因此,在具体实施时,PSR使用本地转发端口的索引来标识路由信息。因为只有上行路由时才会面临路由选择,而下行路由时路径是唯一确定的,所以PSR在源路由中写入的路由信息最多两跳:针对跨集群的流,需要两跳路由信息,即上行路由时经过的边缘层交换机和聚集层交换机的本地转发端口索引;针对跨边缘层交换机的流,只需要一跳路由信息,即上行路由时经过的边缘层交换机的本地转发端口索引。对于每一个端口的索引值,PSR使用一个字节来记录。边缘层交换机和聚集层交换机对应的转发端口索引值存放在IP头部的可选字段中对应的固定位置。
[0108]PSR的路由分为两部分。一部分是源路由,发生在上行路由阶段。途经的交换机将分析接收到的分组IP头部的可选字段信息,并根据交换机类型(边缘层交换机,或者聚集层交换机)去相应位置读取转发端口,并从相应的端口转发数据。另一部分是基于IP地址的路由,发生在下行路由阶段。途经的交换机根据目的IP地址路由。
[0109]为了实现两级路由,一种实现是为支持OpenFlow的交换机配置两级流表。参照图3所示,为两级流表处理的流程图,其中,边缘层交换机中第一级和第二级流表分别由图4和图5所示。实现中使用TOS字段的值标识报文使用源路由还是IP路由:“111111”表示使用源路由,“000000”表示使用IP路由。所有报文最初始的TOS字段值均为“111111”。所有分组先匹配第一级流表,如果第一级流表匹配成功,表明使用源路由,报文沿匹配成功的端口进行转发。否则报文的TOS字段被重写为“000000”、并被送至第二级流表进行匹配,执行IP路由。聚集层交换机的两级流表与图3和图4所示的流表类似,唯一的区别是在第一级流表中对字段Fwd.Port2进行匹配。
[0110]虽然使用源路由机制将分组以轮询的方式分配给可用的传输路径能够保证均匀分配网络流量,确保网络中无热点。但来自一条流的所有分组通过不同路径传输,仍然不可避免会引发分组的乱序,造成不必要的快速重传。因此,在具体实施时,本发明实施例将TCP的快速重传门限从3提升至10,避免不必要的快速重传。
[0111]在本发明的一个具体实施例中,本发明实施例建立了一个Fat-Tree拓扑,每台交换机的端口数量为24。链路带宽均为lGbps,传输时延设为25微秒。并且,在该拓扑上进行了实验,采用了 Permutat1n流量模式,在该流量模式下,每台服务器仅是一条流的发送端或接收端,并且每台服务器发送1MB数据。本发明实施例分别使用PSR、RPS、Hedera和ECMP使用上述流量模式完成实验。实验结果显示,PSR比RPS、Hedera和ECMP的性能分别提升了 47.47%、75.21和76.48。因此,实验结果表明PSR能够比现有方案更有效地利用网络带宽,提升网络吞吐量。
[0112]根据本发明实施例提出的基于包粒度的数据中心网络源路由装置,通过构建数据中心网络拓扑,并且配置服务器的操作系统中TCP的快速重传门限值,以及获取流的发送端和接收端,利用数据中心网络拓扑特点,仅引入较小的分组开销实现源路由,并且能够均匀地分配流量,无需修改服务器和交换机硬件,以及充分地利用数据中心网络中丰富的链路资源,提高网络吞吐量。
[0113]流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0114]在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPR0M或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1