数据中心网络系统的路由方法转让专利

申请号 : CN201110115794.2

文献号 : CN102185772B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙延涛刘真方维维刘强

申请人 : 北京交通大学

摘要 :

本发明涉及一种数据中心网络系统的路由方法。该数据中心网络系统包括行首交换机、列首交换机和呈矩阵排列的接入交换机,每行的行首至少部署一个行首交换机,每列的列首至少部署一个列首交换机,服务器与接入交换机相连接,接入交换机与其所在行的所有行首交换机及其所在列的所有列首交换机相连接。在本发明中,同一子网的服务器之间通过与其相连接的接入交换机进行通信,不同子网的服务器之间需要通过接入交换机、行首交换机和列首交换机进行通信。本发明采用的路由方法更为简单、高效,便于通过硬件实现,路由速度快。

权利要求 :

1.一种数据中心网络系统的路由方法,其特征在于:同一子网的服务器之间通过与其相连接的接入交换机进行通信,不同子网的同行的服务器之间通过与其相连接的接入交换机和位于该行的行首交换机进行通信,同列的服务器之间通过与其相连接的接入交换机和位于该列的列首交换机进行通信,不同行列的服务器之间通过接入交换机、行首交换机和列首交换机进行通信。

2.根据权利要求1所述的一种数据中心网络系统的路由方法,其特征在于,同一行内的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过位于该行的行首交换机与和服务器B相连接的接入交换机B进行通信,接入交换机B再与服务器B进行通信。

3.根据权利要求1所述的一种数据中心网络系统的路由方法,其特征在于,同一列内的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过位于该列的列首交换机和与服务器B相连接的接入交换机B进行通信,接入交换机B再与服务器B进行通信。

4.根据权利要求1所述的一种数据中心网络系统的路由方法,其特征在于,位于不同行列的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过与其同行的行首交换机与位于该行的且与服务器B同列的接入交换机C1进行通信,接入交换机C1再通过其所在列的列首交换机和与服务器B相连接的接入交换机B进行通信,接入交换器B再与服务器B进行通信。

5.根据权利要求1所述的一种数据中心网络系统的路由方法,其特征在于,位于不同行列的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过与其同列的列首交换机与位于该列的且与服务器B同行的接入交换机C2进行通信,接入交换机C2再通过其所在行的行首交换机和与服务器B相连接的接入交换机B进行通信,接入交换器B再与服务器B进行通信。

说明书 :

数据中心网络系统的路由方法

技术领域

[0001] 本发明涉及一种路由方法,具体为一种数据中心网络系统的路由方法。

背景技术

[0002] 数据中心是企业各种应用服务的提供中心,是数据运算、交换和存储的中心。它结合了先进的网络技术和存储技术,承载了网络中80%以上的服务请求和数据存储量,为客户业务体系的健康运转提供服务和运行平台。
[0003] 数据中心最早出现在20世纪60年代初。随着互联网的快速建设和信息技术的迅猛发展,到20世纪90年代中后期,数据中心进入了蓬勃发展期,建设规模和服务器数量每年都以惊人的速度增长。互联网技术的蓬勃发展掀起了建设数据中心的高潮,不但政府机构和金融电信等大型企业扩建自己的数据中心,中小企业也纷纷构建数据中心。自2006年Google公司提出云计算以来,在亚马逊、微软、雅虎、IBM等IT公司的大力推动下,云计算技术得到长足发展,美国、韩国、日本政府都宣布了国家云计算发展战略。云计算的发展进一步带动数据中心的迅速发展,数据中心网络规模不断扩大,目前一个大型数据中心可能包含数万台服务器。
[0004] 随着数据中心规模的日益扩大,数据中心容纳的服务器数量也越来越多,因此需要巨大的上层网络带宽支持。数据中心网络的典型拓扑结构是由路由和交换单元组成的类似树形的网络结构,其上层网络为了支持大量的带宽需求不得不采用昂贵的专用设备。问题是,即使采用最高端的IP交换机或路由器,核心层也是只能支持到50%的边缘网络汇集的带宽,而且需要巨大的费用开销。因此树形拓扑结构不可避免地会在上层核心网络产生通信瓶颈,从而导致网络在传输延迟、传输效率等方面整体性能的下降。另外,在数据中心,这种非对称的网络带宽还会为应用设计带来复杂性。
[0005] 为了解决上层核心网络带宽不足带来的通信瓶颈问题,目前通过检索到的方法来看,一般采用Clos网络或者胖树(Fat Tree)拓扑组成无阻塞网络,并根据拓扑结构的特点,提出相应的路由/交换方法,比如Fat Tree结构、Clos网络、多分支胖树网络拓扑结构。另外,还有些方法利用服务器的多网卡技术,把服务器同时连接到多个交换机/路由器上,从而增加服务器之间的连接数量,来解决上层核心网络带宽不足的问题。这些方法和传统的树形结构相比,具有较高的二分带宽(bisection bandwidth),并且每一层路由/交换设备的超额订购(Oversubscription)比例都可以达到1∶1,因此可以有效消除顶层带宽不足带来的网络瓶颈问题。
[0006] 上述网络结构虽然解决了构建大规模数据中心网络的上层带宽瓶颈问题,但仍然存在如下缺点:(1)由于其拓扑结构的限制,网络流量的超额订购(Oversubscription)比例很难按照实际需求进行灵活的调整,网络配置的灵活性差;(2)其网络拓扑结构比较复杂,设备编址需要遵循严格复杂的规则,设备端口之间按照严格的顺序进行连接,这些问题导致数据中心在网络布线和设备部署方面比较繁琐,运行过程中网络维护也会相对比较困难;(3)由于拓扑结构复杂,导致其路由算法也相对比较复杂;(4)在构建规模较小的数据中心网络时,会存在端口空余浪费的情况,网络伸缩性较差。

发明内容

[0007] 本发明提出了一种数据中心网络系统的路由方法,该数据中心网络系统采用的是称为交换式矩阵的网络结构。该方法可以充分发挥交换式矩阵网络拓扑结构的特点和优势,解决数据中心网络中的通信瓶颈问题。在该路由方法中,构建路由表只需要网络设备交换很少量信息,构建方法简单易行,所构建的路由表规模小,路由速度快。此外,该路由方法可以充分利用源和目的节点之间的多条并行链路实现无阻塞路由和负载均衡。
[0008] 实现本发明中的路由方法所基于的数据中心网络系统包括交换机和服务器两类设备,所述交换机包括行首交换机、列首交换机和呈矩阵排列的接入交换机,矩阵的每行行首至少部署一个行首交换机,每列列首至少部署一个列首交换机,服务器与接入交换机相连接,每个接入交换机与其所在行的所有行首交换机及其所在列的所有列首交换机相连接,任意行首交换机和列首交换机之间、以及各接入交换机之间不直接相连。在该网络结构中,交换机和服务器采用内部网络IP地址,并按照如下规则进行编址:行首交换机的IP地址配置为10.Row.0.X;列首交换机的IP地址配置为10.0.Col.X;接入交换机的IP地址配置为10.Row.Col.1;服务器的IP地址配置为10.Row.Col.X。其中Row为交换机或服务器所在行的行号,Col为交换机或服务器所在列的列号;对于行首/列首交换机,0<X≤255,对于服务器,1<X≤255。所有设备的子网掩码设为255.255.255.0。
[0009] 本发明中的数据中心网络系统的路由方法为:同一子网的服务器之间通过与其相连接的接入交换机进行通信,不同子网的同行的服务器之间通过与其相连接的接入交换机和位于该行的行首交换机进行通信,同列的服务器之间通过与其相连接的接入交换机和位于该列的列首交换机进行通信,不同行列的服务器之间通过接入交换机、行首交换机和列首交换机进行通信。
[0010] 同一行内的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过位于该行的行首交换机与和服务器B相连接的接入交换机B进行通信,接入交换机B再与服务器B进行通信。
[0011] 同一列内的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过位于该列的列首交换机和与服务器B相连接的接入交换机B进行通信,接入交换机B再与服务器B进行通信。
[0012] 位于不同行列的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过与其同行的行首交换机与位于该行的且与服务器B同列的接入交换机C1进行通信,接入交换机C1再通过其所在列的列首交换机和与服务器B相连接的接入交换机B进行通信,接入交换器B再与服务器B进行通信。
[0013] 位于不同行列的服务器A和服务器B进行通信时,服务器A先和与其相连接的接入交换机A进行通信,接入交换机A再通过与其同列的列首交换机与位于该列的且与服务器B同行的接入交换机C2进行通信,接入交换机C2再通过其所在行的行首交换机和与服务器B相连接的接入交换机B进行通信,接入交换器B再与服务器B进行通信。
[0014] 与现有路由方法相比,本发明充分发挥了交换式矩阵网络拓扑结构的特点和优势,具有以下优点:
[0015] 1)相邻交换机之间只需要定期交换本机的IP和MAC地址信息就可以建立构造出路由表,交换的数据量非常少。
[0016] 2)路由表的构造方法非常简单,构造速度快,对链路失效的反应速度快,不存在路由收敛问题。
[0017] 3)路由表规模小,路由速度快,可以通过硬件设备利用交换技术实现路由。
[0018] 4)网络可靠性高,任意两个终端之间存在多条等价路径,本路由算法支持等价多路径路由ECMP(Equal-Cost Multipath Routing)技术,具备负载均衡能力。

附图说明

[0019] 图1为由6个端口的交换机组成的数据中心网络系统。

具体实施方式

[0020] 为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
[0021] 本发明提供的数据中心网络系统中,网络采用规则化的拓扑结构(交换式矩阵拓扑),并按照一定的规则进行编址。数据中心网络系统由一组行首交换机10.Row.0.X、列首交换机10.0.Col.X、接入交换机10.Row.Col.1和连接到接入交换机上的各种服务器10.Row.Col.X构成。其中Row为交换机或服务器所在行的行号,Col为交换机或服务器所在列的列号;对于行首/列首交换机,0<X≤255,对于服务器,1<X≤255。所有设备的子网掩码均设为255.255.255.0。
[0022] 服务器之间通信通过接入交换机、行首交换机和列首交换机的路由转发功能完成。行首交换机负责把本行的所有接入交换机连接在一起,列首交换机负责把本列的所有接入交换机连接到一起。每一个接入交换机同时连接到所在行的所有行首交换机和所在列的所有列首交换机上面,行首交换机和列首交换机之间、各接入交换机之间没有直接的连接关系。每个服务器都连接到一个接入交换机上。为了完成路由转发功能,在每个行首/列首交换机和接入交换机上都维护一张路由表,数据分组根据路由表进行转发。相连的交换机通过互相交换信息(包括本机IP地址和MAC地址)学习之间的连接关系,并根据连接关系生成路由表。
[0023] 1、交换式矩阵拓扑结构
[0024] 本实施例中,数据中心网络系统由交换机和服务器两类设备组成。交换机设备提供二层(链路层)和三层(网络层)网络交换功能,服务器设备提供数据运算和存储服务。其中交换机又分为三种类型,称为行首交换机、列首交换机和接入交换机。行首交换机和列首交换机属于网络核心层,具有三层交换/路由能力,负责把接入交换机连接在一起;接入交换机属于网络接入层,具有二层交换和三层交换/路由能力,负责把服务器接入到网络中。本实施例中的行首交换机、列首交换机和接入交换机都可以采用高性价比的普通交换机。行首交换机、列首交换机和接入交换机连接在一起构成了交换式矩阵拓扑结构。
[0025] 本发明提出的交换式矩阵拓扑结构要求行首交换机、列首交换机和接入交换机的参与交换/路由的端口数(活动端口数)最好相同,设端口数为N(N>3)。接入交换机的端口分为三部分,其中第一部分端口用来连接服务器,第二部分端口连接行首交换机,剩下的一部分端口用来连接列首交换机。完整的拓扑结构总共有N行×N列个接入交换机,每一行的行首部署多个行首交换机,每一列的列首部署多个列首交换机。任一个接入交换机需要连接其所在行和列的全部行首交换机和列首交换机。本发明允许服务器和接入交换机之间、接入交换机和所在行首/列首交换机之间通过任意端口进行连接。每一个接入交换机和所在行的每个行首交换机之间都有一条单独的连接,和所在列的每个列首交换机也都有一条单独的连接。图1是一个交换机的端口数N=6的交换式矩阵的例子,为清晰起见,图中没有画出服务器,并且在图中用一条虚横线表示一行内的所有接入交换机和该行的所有行首交换机之间的连接,用一条虚竖线表示一列内的所有接入交换机和该列的所有列首交换机之间的连接。
[0026] 接入交换机的端口分配比例可以根据实际需要进行分配,典型分法是把端口分成3等份,1/3的端口用于连接行首交换机,1/3的端口用于连接列首交换机,剩下1/3的端口用于连接服务器设备。这样每行的行首交换机和每列的列首交换机数量为N/3。这种配置方式可以保证每层设备的超额订购比例达到1∶1。如果需要行首交换机或列首交换机参与转发的通信量不是很多,也可以根据需要适当减少行首交换机和列首交换机的数量,从而降低建网成本。比如把接入交换机的1/2端口分配给服务器,1/4的端口连接行首交换机,剩下1/4的端口用于连接列首交换机。这样每行的行首交换机和每列的列首交换机数量可以减少到N/4。这种情况下,行首/列首交换机的超额订购比例为1∶2。
[0027] 上面描述的是一个完整的交换式矩阵拓扑。在某些情况下,可以针对实际需要对网络拓扑进行调整。比如对于网络规模较小,服务器数量不多的数据中心,也可以构建不完全的交换式矩阵网络。完整的交换式矩阵网络拥有N行×N列个接入交换机,如果服务器3
的数量达不到N/3,可以按照自右向左,自下向上的顺序减少接入交换机的数量。对于不完整的行或列,可以相应地按照比例减少行首或列首交换机的数量。行首/列首交换机上的多余空闲端口通过端口汇聚(Trunk)技术合并到其他端口上。比如交换机的端口数为12,则可以构成最大为12行*12列的网络拓扑。每行的行首交换机和列首交换机的数量均为
12/3=4个。如果是不完全的拓扑结构,比如只有6行*12列的接入交换机,则列首交换机的数量即可减少一半,为2个。此时列首交换机的连接方案为:首先每个列首交换机用6个端口连接本列内的6个接入交换机,然后剩下的端口按照顺序逐次平均地汇聚到这些端口上。
[0028] 2、网络编址方案
[0029] 本数据中心网络系统内的各种交换机和服务器采用内部网络IP地址10.X.X.X(0<X≤255)进行编址,需要和外部网络通信时采用网络地址转换(NAT)技术转换成外部网络地址。
[0030] 行首交换机的IP地址配置为10.Row.0.X,其中Row为行首交换机所在的行号,0<Row≤N,0<X≤255,在这个规定范围内,行首交换机的地址可以任意配置(X可以任意指定)。
[0031] 列首交换机的IP地址配置为10.0.Col.X,其中Col为列首交换机所在的列号,0<Col≤N,0<X≤255,在这个规定范围内,列首交换机的地址可以任意配置(X可以任意指定)。
[0032] 接入交换机的IP地址配置为10.Row.Col.1,其中Row为接入交换机所在的行号,Col为接入交换机所在的列号,0<Row≤N,0<Col≤N。
[0033] 服务器的IP地址配置为10.Row.Col.X,其中Row为该服务器所在的行号,Col为该服务器所在的列号,0<Row≤N,0<Col≤N,1<X≤255,在这个规定范围内,服务器的地址可以任意配置(X可以任意指定)。
[0034] 在上面的编址方案中,我们可以根据设备的IP地址区分出其设备类型,以及该设备在网络中所处的位置,这有助于确定设备连接关系,简化路由方案。根据编址方案和设备连接关系,可以看出每一个接入交换机和其连接的全部服务器构成一个物理子网,子网掩码为255.255.255.0。同一行的行首交换机或同一列的列首交换机虽然其网络地址前缀相同,但是没有直接连接关系。
[0035] 3、路由方法
[0036] 在本实施例提出的交换式矩阵网络中,行和列是一个对称的结构,因此,不同行列内的服务器之间进行通信,可以先经过行首交换机再经过列首交换机,或者先经过列首交换机再经过行首交换机,比如有一台设备10.2.2.X和10.4.4.X通信,先经过列首交换机的路径如下:
[0037] 10.2.2.X→10.2.2.1→10.0.2.X→10.4.2.1→10.4.0.X→10.4.4.1→10.4.4.X
[0038] 先经过行首交换机的路径如下:
[0039] 10.2.2.X→10.2.2.1→10.2.0.X→10.2.4.1→10.0.4.X→10.4.4.1→10.4.4.X
[0040] 本实施例规定:同一行内的设备之间进行通信,只通过行首交换机进行转发,同一列内的设备之间进行通信,只通过列首交换机进行转发。不同行列之间的设备通信,采用先经过列首交换机的路径。
[0041] 3.1路由表的结构
[0042] 本发明提出的数据中心网络系统具有规则的拓扑结构,因此路由方法可以设计的非常简单。考虑到灵活性和扩展性,本发明采用基于路由表的路由转发方法。路由表的结构如下:
[0043]目标子网 子网掩码 下一跳IP地址 下一跳MAC地址 出端口 时间戳
10.1.0.0 255.255.0.0 10.1.0.1 XX-XX-XX-XX-XX-XX 1
10.2.0.0 255.255.0.0 10.2.0.1 XX-XX-XX-XX-XX-XX 2
[0044] 说明:
[0045] (1)时间戳用来记录本条路由表项的创建或更新时间。
[0046] (2)后面描述路由表时,省略了下一跳IP地址、下一跳MAC地址和时间戳信息。
[0047] 行首交换机10.Row.0.X的路由表(采用非连续子网掩码)
[0048]
[0049] 列首交换机10.0.Col.X的路由表
[0050]
[0051]
[0052] 接入交换机10.Row.Col.1的路由表
[0053] 接入交换机的路由转发规则有如下三条:1)对于本子网的通信,采用传统的二层交换进行转发,此处不作说明;2)对于目的地址是本行内的服务器(但位于不同子网),转发至行首交换机;3)对于目的地址是不同行的服务器(位于不同子网)的通信,转发至列首交换机。对于情况(2)和(3),需要进行三层路由转发,路由表如下:
[0054]
[0055] 说明:
[0056] 1)10.Row.0.Xi是第Row行的第i个行首交换机的IP地址(1≤i≤K,K为第Row行的行首交换机的数量),10.0.Col.Xi是第Col列的第j个列首交换机的IP地址(1≤j≤M,M为列首交换机的数量)。
[0057] 2)对于同一目标子网,接入交换机的路由表里存在多条等价的路由路径,本发明采用等价多路径路由ECMP(Equal-Cost Multipath Routing)技术,实现从多条重复的等价路径中随机选择一条路径。
[0058] 3.2路由表构造方法
[0059] 通过自动学习行首/列首交换机和接入交换机之间的连接关系,可以非常容易地把路由表构造出来。为了学习交换机之间的连接关系,需要所有交换机定期向所有活动端口发送PDU(协议数据单元),包含内容为本机IP地址和本机MAC地址。对于任意交换机来说,每个端口最多对应一条路由表项,因此路由表的条目数最多等于交换机的端口数。
[0060] (1)行首交换机路由表的构造
[0061] 行首交换机10.Row.0.X按照如下规则构造路由表:
[0062] 如果从端口Port收到10.Row.Col.1发来的PDU,向路由表内添加或更新路由表项:
[0063] 10.0.Col.0/255.0.255.0/10.Row.Col.1/MAC地址/Port/时间戳[0064] 如果规定时间内收不到更新PDU,则删除相应的路由条目(已过期)。
[0065] (2)列首交换机路由表的构造
[0066] 列首交换机10.0.Col.X按照如下规则构造路由表:
[0067] 如果从端口Port收到10.Row.Col.1发来的PDU,向路由表内添加或更新路由表项:
[0068] 10.Row.0.0/255.255.0.0/10.Row.Col.1/MAC地址/Port/时间戳[0069] 如果规定时间内收不到更新PDU,则删除相应的路由条目(已过期)。
[0070] (3)接入交换机路由表的构造
[0071] 接入交换机10.Row.Col.1按照如下规则构造路由表:
[0072] a)从端口Port收到本行的行首交换机10.Row.0.X的PDU,向路由表内添加或更新路由表项:
[0073] 10.Row.0.0/255.255.0.0/10.Row.0.X/MAC地址/Port/时间戳
[0074] b)从端口Port收到本列的列首交换机10.0.Col.X的PDU,向路由表内添加或更新路由表项:
[0075] 10.0.0.0/255.0.0.0/10.0.Col.X/MAC地址/Port/时间戳
[0076] c)如果规定时间内收不到更新PDU,则删除相应的路由条目(已过期)。
[0077] 说明:对于同一子网内的数据通信,采用传统的二层交换技术进行数据转发,二层交换的地址转发表(AFT,Address Forwarding Table)的构造此处不做说明。
[0078] 3.3路由过程举例说明
[0079] (1)同一子网内设备的数据通信。假设有两台服务器IP地址分别为10.1.1.2(源)和10.1.1.3(目的),则二者的通信直接通过接入交换机10.1.1.1进行转发。
[0080] (2)同一行内设备的数据通信。假设有两台服务器IP地址分别为10.1.3.2和10.1.5.2,数据分组要从10.1.3.2发送到10.1.5.2,需要首先发往接入交换机10.1.3.1,然后根据各交换机的路由表,路由过程如下:
[0081] 10.1.3.2→10.1.3.1→10.1.0.X→10.1.5.1→10.1.5.2
[0082] (3)同一列内设备的数据通信。假设有两台服务器IP地址分别为10.2.2.2和10.4.2.2,数据分组要从10.2.2.2发送到10.4.2.2,需要首先发往接入交换机10.2.2.1,然后根据各交换机的路由表,路由过程如下:
[0083] 10.2.2.2→10.2.2.1→10.0.2.X→10.4.2.1→10.4.2.2
[0084] (4)不同行的设备的数据通信。假设有两台服务器IP地址分别为10.2.2.2和10.4.4.2,数据分组要从10.2.2.2发送到10.4.4.2,需要首先发往接入交换机10.2.2.1,然后根据各交换机的路由表,路由过程如下:
[0085] 10.2.2.2→10.2.2.1→10.0.2.X→10.4.2.1→10.4.0.X→10.4.4.1→10.4.4.2
[0086] 以上对本发明所提供的数据中心网络系统及其路由方法进行详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。