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

文档序号:8265553阅读:243来源:国知局
基于包粒度的数据中心网络源路由方法及装置的制造方法
【技术领域】
[0001]本发明涉及数据中心网络技术领域,特别涉及一种基于包粒度的数据中心网络源路由方法及装置。
【背景技术】
[0002]在数据中心网络中,不管是在线应用(如网络搜索)还是后台任务(如以GFS(g00gle File System,Google文件系统)为代表的分布式文件存储系统和以MapReduce为代表的分布式计算等),都需要大量的带宽传输数据。然而传统树型拓扑存在可扩展性差、单点失效、超额订购比较大等缺点,不能较好支撑这些应用。因此,最近几年提出了很多“富连接”拓扑,例如Fat-Tree,VL2等等。这些新型拓扑的一个显著特点是任何一对通信端之间存在多条路径。为了更好地利用丰富的链路资源,传统方法使用ECMP (Equal-CostMultipathRouting,等价多路径)进行基于流的路由。但ECMP在进行路由时不感知流量,而且会引起哈希冲突,无法高效地利用链路资源。
[0003]相关技术中,已有的解决方案可以分为两类,其中一类解决方案通过周期性地对网络中的大流进行集中式的路由,开销较大。另一类解决方案基于分组粒度,随机选择下一跳进行路由,然而该方案会加剧接收端的乱序报文的数量,触发很多不必要的快速重传,导致降低流的吞吐量。

【发明内容】

[0004]本发明旨在至少在一定程度上解决上述相关技术中的技术问题之一。
[0005]为此,本发明的一个目的在于提出一种提高网络资源利用率和网络吞吐量的基于包粒度的数据中心网络源路由方法。
[0006]本发明的另一个目的在于提出一种基于包粒度的数据中心网络源路由装置
[0007]为达到上述目的,本发明一方面实施例提出了一种基于包粒度的数据中心网络源路由方法,包括以下步骤:
[0008]SI,根据Fat-Tree网络构建数据中心网络拓扑,所述数据中心网络拓扑包括多台服务器、多台边缘层交换机、多台聚集层交换机和多台核心层交换机,其中,所述多台边缘层交换机、所述多台聚集层交换机和所述多台核心层交换机均采用同构交换机,每台服务器与所述多台边缘层交换机中一台边缘层交换机相连,并且所述多台边缘层交换机、多台聚集层交换机和多台核心层交换机的层次逐步提升;
[0009]S2,配置所述多台服务器的操作系统中TCP (Transmiss1n Control Protocol,传输控制协议)的快速重传门限值为10 ;
[0010]S3,获取流的发送端和接收端,所述发送端通过所有可用路径向所述接收端发送数据;以及
[0011]S4,通过所述Fat-Tree网络内交换机进行数据转发。
[0012]根据本发明实施例提出的基于包粒度的数据中心网络源路由方法,通过构建数据中心网络拓扑,并且配置服务器的操作系统中TCP的快速重传门限值,以及获取流的发送端和接收端,实现通过Fat-Tree网络内所有流的发送端的数据发送和所有交换机的数据转发,利用数据中心网络拓扑特点,仅引入较小的分组开销实现源路由,并且能够均匀地分配流量,无需修改服务器和交换机硬件,以及充分地利用数据中心网络中丰富的链路资源,提尚网络吞吐量。
[0013]另外,根据本发明上述实施例的基于包粒度的数据中心网络源路由方法还可以具有如下附加的技术特征:
[0014]进一步地,在本发明的一个实施例中,采用轮询方式将报文依次分配给可用路径,并通过源路由将路由信息写入报文头部。
[0015]进一步地,在本发明的一个实施例中,所述多台服务器、所述多台边缘层交换机和所述多台聚集层交换机被划分为K个集群,每个集群中服务器、边缘层交换机和聚集层交换机的数量分别是K2/4、K/2和K/2,在每一个集群中,每一台边缘层交换机使用K/2个端口与K/2台服务器相连,另K/2个端口与该集群中的K/2台聚集层交换机相连;所有聚集层交换机剩下的K/2个端口与K2/4台核心层交换机相连,以确保每台核心层交换机与每个集群有且只有一个连接。
[0016]其中,在本发明的一个实施例中,所述通过所述Fat-Tree网络内所有流的发送端发送数据具体包括:
[0017]S301,计算该条流可以使用的路径集合(用数组Paths[]表示),并获得所述可用路径的数量 PathNum = sizeof (Paths);
[0018]S302,初始化当前选择路径的索引index = O ;
[0019]S303,为即将发送的分组选取路径Paths [index];
[0020]S304,更新当前选择路径的索引 index = (index+l)mod PathNum ;
[0021]S305,将所述路由信息写入分组IP头部的选项字段;
[0022]S306,将分组注入网络;以及
[0023]S307,重复执行所述步骤303至所述步骤306直到所有数据发送完毕。
[0024]进一步地,在本发明的一个实施例中,所述通过所述Fat-Tree网络内交换机进行数据转发具体包括:
[0025]S401,接收到一个报文;
[0026]S402,判断所述分组是向更高层次的交换机转发还是向更低层次的交换机或主机转发,其中,
[0027]如果所述分组应该由低层次的交换机向高层次的交换机转发,则执行步骤403,否则执行步骤404 ;
[0028]S403,从所述分组IP头部的选项字段中解析出源路由信息,并根据所述源路由信息实施数据转发;
[0029]S404,根据所述分组IP头部的目的IP地址查找路由表,以获取路由信息实施数据转发;
[0030]S405,重复执行所述步骤401至所述步骤404直到所述所有数据发送完毕。
[0031]本发明另一方面实施例提出了一种基于包粒度的数据中心网络源装置,包括:构建模块,用于根据Fat-Tree网络构建数据中心网络拓扑,所述数据中心网络拓扑包括多台服务器、多台边缘层交换机、多台聚集层交换机和多台核心层交换机,其中,所述多台边缘层交换机、所述多台聚集层交换机和所述多台核心层交换机均采用同构交换机,每台服务器与所述多台边缘层交换机中一台边缘层交换机相连,并且所述多台边缘层交换机、多台聚集层交换机和多台核心层交换机的层次逐步提升;配置模块,用于配置所述多台服务器的操作系统中TCP的快速重传门限值为10 ;获取模块,用于获取流的发送端和接收端,所述发送端通过所有可用路径向所述接收端发送数据;以及转发模块,用于通过所述Fat-Tree网络内交换机进行数据转发。
[0032]根据本发明实施例提出的基于包粒度的数据中心网络源路由装置,通过构建数据中心网络拓扑,并且配置服务器的操作系统中TCP的快速重传门限值,以及获取流的发送端和接收端,实现通过Fat-Tree网络内所有流的发送端的数据发送和所有交换机的数据转发,利用数据中心网络拓扑特点,仅引入较小的分组开销实现源路由,并且能够均匀地分配流量,无需修改服务器和交换机硬件,以及充分地利用数据中心网络中丰富的链路资源,提尚网络吞吐量。
[0033]另外,根据本发明上述实施例的基于包粒度的数据中心网络源路由装置还可以具有如下附加的技术特征:
[0034]进一步地,在本发明的一个实施例中,采用轮询方式将报文依次分配给可用路径,并通过源路由将路由信息写入报文头部。
[0035]进一步地,在本发明的一个实施例中,所述多台服务器、所述多台边缘层交换机和所述多台聚集层交换机被划分为K个集群,每个集群中服务器、边缘层交换机和聚集层交换机的数量分别是K2/4、K/2和K/2,在每一个集群中,每一台边缘层交换机使用K/2个端口与K/2台服务器相连,另K/2个端口与该集群中的K/2台聚集层交换机相连;所有聚集层交换机剩下的K/2个端口与K2/4台核心层交换机相连,以确保每台核心层交换机与每个集群有且只有一个连接。
[0036]进一步地,在本发明的一个实施例中,所述发送端用于:计算该条流可以使用的路径集合(用数组Paths[]表示),并获得所述可用路径的数量PathNum = sizeof (Paths);初始化当前选择路径的索引index = O ;为即将发送的分组选取路径Paths [index];更新当前选择路径的索引index = (index+l)mod PathNum ;将所述路由信息写入分组IP头部的选项字段;以及将分组注入网络,发送所有数据。
[0037]进一步地,在本发明的一个实施例中,所述交换机用于:接收到一个报文;判断所述分组是向更高层
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1