交换式矩阵数据中心网络系统及数据包转发方法

文档序号:7856718阅读:217来源:国知局
专利名称:交换式矩阵数据中心网络系统及数据包转发方法
技术领域
本发明涉及通信领域,具体而言,涉及一种交换式矩阵数据中心网络系统及数据包转发方法。
背景技术
数据中心是企业各种应用服务的提供中心,是对数据进行运算、交换以及存储的中心。它结合了先进的网络技术和存储技术,承载了网络中80%以上的服务请求和数据存 储量,为客户业务体系的健康运转提供了服务和运行平台。随着数据中心规模的日益扩大,现有的树形网络拓扑架构在网络核心层不可避免地会出现带宽瓶颈问题,导致网络在传输时产生延迟、传输效率等方面整体性能的下降。为了解决网络核心层带宽通信的瓶颈问题,目前主要采用Clos网络或者胖树(Fat Tree)拓扑的形式组成无阻塞网络,并根据拓扑结构的特点,提出相应的路由/交换方法,比如=FatTree结构、Clos网络、多分支胖树网络拓扑结构以及交换式矩阵网络结构等。与其他网络结构相比,交换式矩阵网络具备结构简单、配置灵活、易于维护、扩展性好和路由算法简单的优点。目前的交换式矩阵网络的路由算法中,一般采用三层交换机作为行首和列首接入交换机,这样在对数据包进行转发的过程中,在行首和列首需要对数据包进行网络层的解析处理,从而降低了数据包转发的效率,也增加了数据包转发的复杂性。针对上述的问题,目前尚未提出有效的解决方案。

发明内容
本发明提供了一种交换式矩阵数据中心网络系统及数据包转发方法,以至少解决现有技术中采用三层交换机作为行首和列首接入交换机而导致的数据包的转发效率降低,数据包转发的复杂性增加的技术问题。根据本发明的一个方面,提供了一种交换式矩阵数据中心网络系统,包括交换机和多个主机服务器,交换机包括行首交换机、列首交换机以及接入交换机;其中,行首交换机与列首交换机是二层交换机,行首交换机用于将与行首交换机位于同一行的接入交换机连接在一起,列首交换机用于将与列首交换机位于同一列的接入交换机连接在一起;接入交换机为三层交换机,用于将一个或多个主机服务器接入网络中。优选地,每一行设置多个行首交换机和/或每一列设置多个列首交换机。优选地,位于同一行的多个行首交换机通过链路聚合技术聚合成一个虚拟交换机,位于同一列的多个列首交换机通过链路聚合技术聚合成一个虚拟交换机。根据本发明的另一方面,提供了一种上述的交换式矩阵数据中心网络系统的数据包转发方法,包括接入交换机确定接收到的需要转发的数据包的目的主机是否在与接入交换机所对应的子网中;如果不是,则接入交换机通过与接入交换机位于同一行或者同一列的接入交换机对数据包进行转发。
优选地,接入交换机存储有网络系统中各个接入交换机的链路状态,其中,链路状态用于指示与该接入交换机位于同一行或者同一列的接入交换机的数据包是否可以直接被转发到该接入交换机。优选地,接入交换机通过与接入交换机位于同一行或者同一列的接入交换机对数据包进行转发包括接入交换机确定通过位于同一行或者同一列的接入交换机将数据包转发到目的主机所需经过的路径;通过确定的路径将数据包转发到目的主机。优选地,接入交换机确定通过位于同一行或者同一列的接入交换机将数据包转发到目的主机所需经过的路径包括如果与接入交换机位于同一行或者同一列的接入交换机存在行不可达或者列不可达的接入交换机;则接入交换机重新确定将数据包转发到目的主机所经过的路径。优选地,上述方法还包括当接入交换机确定自身的链路状态发生变化时,接入交换机将链路状态广播给与该接入交换位于同一行或者同一列的接入交换机;位于同一行或 者同一列的接入交换机将接收到的链路状态与自身存储的对应于该接入交换机的链路状态进行比较,如果不相同,则更新本地存储的对应于该接入交换机的链路状态。优选地,接入交换机通过接收到的PDU状态报文确定自身的链路状态。优选地,在位于同一行或者同一列的接入交换机将接收到的链路状态与自身存储的对应于该接入交换机的链路状态进行比较的过程中,上述方法还包括位于同一行或者同一列的接入交换机将接收到的链路状态广播给与自身位于同一行或者同一列的接入交换机。在本发明中,采用二层交换机作为行首和列首的交换机,从而在对数据包进行转发的过程中,在行首和列首交换机中可以直接通过链路层进行转发而不需要对数据包进行网络层的解析,解决了现有技术中采用三层交换机作为行首和列首接入交换机而导致的数据包的转发效率降低,数据包转发的复杂性增加的技术问题,从而达到了简化路由选择的过程,提高数据包转发的效率的技术效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是根据本发明实施例的交换式矩阵数据中心网络系统的一种优选示意图;图2是根据本发明实施例的数据包转发方法的一种优选流程图;图3是根据本发明实施例的数据包转发方法的另一种优选流程图;图4是根据本发明实施例的数据包转发方法的又一种优选流程图。
具体实施例方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。本发明实施例提供了一种交换式矩阵数据中心网络系统,如图I所示,包括交换机和多个主机服务器,上述的交换机包括行首交换机、列首交换机以及接入交换机;其中,
行首交换机与列首交换机是二层交换机,行首交换机用于将与行首交换机位于同一行的接入交换机连接在一起,列首交换机用于将与列首交换机位于同一列的接入交换机连接在一起;接入交换机为三层交换机,用于将一个或多个主机服务器接入网络中。在上述优选实施方式中,采用二层交换机作为行首和列首的交换机,从而在对数据包进行转发的过程中,在行首和列首交换机中可以直接通过链路层进行转发而不需要对数据包进行网络层的解析,解决了现有技术中采用三层交换机作为行首和列首接入交换机而导致的数据包的转发效率降低,数据包转发的复杂性增加的技术问题,从而达到了简化路由选择的过程,提高数据包转发的效率的技术效果。考虑到在实际的应用中,某些交换机会出现故障,为了减少因交换机出现故障而造成的数据包难以被正常转发的问题,可以设置多个行首或者列首交换机。在一个优选实施方式中,每一行设置多个行首交换机和/或每一列设置多个列首交换机。 对于上述的多个行首列首的交换机可以采用链路聚合技术聚合为一个虚拟交换机,即,将对应于每一行的行首交换机作为一个交换机使用,或者是将每一列的多个列首交换机作为一个交换机使用,从而可以避免因一个交换机出现问题而导致的数据转发异常,也提高了数据包转发的能力。基于上述的交换式矩阵数据中心网络系统,本发明实施例还提供了一种数据包转发方法,如图2所示,包括以下步骤步骤S202 :接入交换机确定接收到的需要转发的数据包的目的主机是否在与接入交换机所对应的子网中;步骤S204 :如果不是,则接入交换机通过与接入交换机位于同一行或者同一列的接入交换机对数据包进行转发。在上述优选实施方式中,通过本发明所提供的交互式矩阵数据中心网络系统在接收到需要进行转发的时候,直接通过位于同一行或列的接入交换机作为中间设备进行转发即可,在行首和列首的交换机处将不要对数据包进行解析,从而解决了现有技术中采用三层交换机作为行首和列首接入交换机而导致的数据包的转发效率降低,数据包转发的复杂性增加的技术问题,从而达到了简化路由选择的过程,提高数据包转发的效率的技术效果。在网络系统中的每个接入交换机都可能出现故障,为了保证可以知道系统中每个接入交换机的链路状态,可以在每个接入交换机中存储系统中各个接入交换机的链路状态,对于设定的链路状态主要有行不可达、列不可达或者是行列都不可达,还有就是状态正常即行列都可达。其中,列不可达就指代当该接入交换机作为下一跳地址或者是目的主机所对应的接入交换机时,数据包无法通过与其在同一列的接入交换机直接转发给该接入交换机。同理,行不可达也是类似的意思,在此不再赘述。在一个优选实施方式中,接入交换机存储有网络系统中各个接入交换机的链路状态,其中,链路状态用于指示与该接入交换机位于同一行或者同一列的接入交换机的数据包是否可以直接被转发到该接入交换机。对于处于同一子网的目的主机,可以直接通过二层转发协议进行数据包的转发,对于不处于同一子网的目的主机则需要通过位于同一行或者同一列的接入交换机进行中间转发从而实现将数据包转发到目的主机的目的。这样在转发数据包前,就需要确定对该数据包进行转发的路由,在一个优选实施方式中,接入交换机通过与接入交换机位于同一行或者同一列的接入交换机对数据包进行转发的步骤如图3所示,包括以下步骤步骤S302 :接入交换机确定通过位于同一行或者同一列的接入交换机将数据包转发到目的主机所需经过的路径;步骤S304 :通过确定的路径将数据包转发到目的主机。如果选择的路径中有行不可达或者是列不可达的接入交换机,则需要对这些交换机的转发理由进行扩展,以使得可以通过其它路径对数据包进行转发,在一个优选实施方式中,接入交换机确定通过位于同一行或者同一列的接入交换机将数据包转发到目的主机所需经过的路径包括如果与接入交换机位于同一行或者同一列的接入交换机存在行不可达或者列不可达的接入交换机;则接入交换机重新确定将数据包转发到目的主机所经过的路径。对于位于该交换式矩阵拓扑结构的网络系统中的各个接入交换机可以获取到该系统中其他所有接入交换机的链路状态,这样便可以及时判断是否对应的接入交换机处于正常状态。在一个优选实施方式中,如图4所示,上述方法还包括 步骤S402 :当接入交换机确定自身的链路状态发生变化时,接入交换机将链路状态广播给与该接入交换位于同一行或者同一列的接入交换机;步骤S404:位于同一行或者同一列的接入交换机将接收到的链路状态与自身存储的对应于该接入交换机的链路状态进行比较;步骤S406 :如果不相同,则更新本地存储的对应于该接入交换机的链路状态。在上述实施方式中,就是采用当接入交换机确定自身的链路状态发生变化的情况下,就将自身的链路状态广播给和自己位于同一行或者同一列的接入交换机以使得其他接入交换机可以获知自身链路状态的一个变化情况。优选地,接入交换机可以通过接收到的PDU状态报文来确定自身的链路状态。为了使得该接入交换机的链路状态可以被全网的所有接入交换机获知,在与该接入交换机位于同一行或者列的接入交换机获知该接入交换机的链路状态后,可以在将该链路状态进行广播,以实现整个网络的自学习。在一个优选实施方式中,在位于同一行或者同一列的接入交换机将接收到的链路状态与自身存储的对应于该接入交换机的链路状态进行比较的过程中,上述方法还包括位于同一行或者同一列的接入交换机将接收到的链路状态广播给与自身位于同一行或者同一列的接入交换机。本发明实施例还提供了一下具体的实施例来对上述发明进行具体的描述。该发明的具体思想如下在本发明实施例所提供的方案中,可以对因为故障所影响的接入交换机的路由路径进行重新计算,通过这种方式可以充分发挥交换式矩阵网络拓扑结构的特点和优势,以解决数据中心网络中的通信瓶颈问题,同时路由算法高效简单,并具备很好的容错性。该路由算法所基于的交换式矩阵数据中心网络系统主要包括交换机和服务器两类设备,其中,交换机包括行首交换机、列首交换机以及呈矩阵排列的接入交换机。矩阵的每行行首至少部署一个行首交换机,每列列首至少部署一个列首交换机,服务器(即主机)与接入交换机相连接,每个接入交换机与其所在行的所有行首交换机及其所在列的所有列首交换机相连接,任意行首交换机和列首交换机之间、以及各接入交换机之间不直接相连。
同时,在本优选实施方式中,行首交换机和列首交换机为二层交换机,只需要具备二层交换功能,不需要三层路由功能,同时,位于同一行或位于同一列的行首或列首交换机采用设备和链路聚合技术组成一台虚拟交换机。在该网络结构中,所有网络设备和服务器都可以按照其在网络中的位置配置IP地址。第i行第j列的接入交换机可以简记为A (i,j),其IP地址配置为10. i. j. I。连接到A (i,j)的服务器简记为H (i,j,x),其IP地址配置为10. i. j.x,其中,l〈x〈255。行首和和列首交换机作为二层交换机,不需要为其配置IP地址。 本发明的数据中心网络系统的路由功能完全由接入交换机提供,路由算法主要包括两部分一个是基本路由算法,另一个是扩展的路由算法。在基本路由算法中,不考虑网络故障的情况,按照基本路由算法,接入交换机按照如下方式转发数据包

I)当目的主机在本子网内时,A (i,j)收到目的主机为H (i,j,k)的数据包,然
后直接通过二层交换转发给目的地址;2)当目的主机与A (i,j)在同一行内时,A (i,j)收到目的主机为H (i,j’,k)的数据包,A (i,j)将该数据包转发给下一跳路由器A (i,j’);3)当目的主机与A (i,j)在同一列内时,A (i,j)收到目的主机为H (i’,j, k)的数据包,A (i,j)将该数据包转发给下一跳路由器A (i’,j);4)当目的主机与A (i,j)属于不同行不同列时,A (i,j)收到主机地址为H (i’,j’,k)的数据包,A (i, j)将该数据包转发给A (i, j’)或A (i’,j)。如果网络中某些链路和节点出现故障时,按照上述规则转发数据包就有可能碰到故障链路或节点,从而导致整个通信过程失败。在节点A (i,j)或连接A (i,j)的链路出现故障时,就需要采用扩展路由算法重新计算如下路由,主要有以下几种情况I)对于同行的节点A (i,j’)如果节点A (i,j)行不可达,则重新计算目的地址为10. i. j. 0/24的路由表项;如果节点A (k,j’)部分可达或不可达,则重新计算目的地址为10. k. j. 0/24的路由表项。2)对于同列的节点A如果节点A (i,j)列不可达,则重新计算目的地址为10. i. j. 0/24的路由表项;对于同列的节点A (i’,j),如果节点A (i’,k)部分可达或不可达,则重新计算目的地址为10. i.k. 0/24的路由表项。3)对于不同行列的节点A (i’,j’),如果节点A (i,j)部分可达,则重新计算目的地址为10. i. j. 0/24的路由表项。在重新计算路由表项的过程中,可以采用A*算法来计算,A*算法的估价函数f(n)=g (n)+h (n),其中,路径代价为从当前的接入交换机卿,源节点)开始到目的节点需要经过的接入交换机数量。其中,f (n)是从源节点经由节点n到目的节点的估价函数,g (n)是从源节点到节点n的实际代价,h (n)是从n到目的节点最佳路径的估计代价,对于指定的节点,可以选择同行和同列的其他节点作为其相邻节点(子节点),估价函数h (n)根据n和目的节点的相对位置关系取值如下
|2,n和H的节点分属于不同行列 [1, n和目的节点属于网行或NJ列
为了计算路由,每个接入交换机都需要获得全网其他接入交换机的链路状态(包括正常状态或故障状态)。因此,每个接入交换机需要把自己的状态广播给本行和本列其他接入交换机,任一接入交换机在收到本行/列其他接入交换机的状态报文后,比对保存在本地该节点的状态,如果状态改变则更新状态矩阵,同时广播到其自身所在的行或者列,优选地,从行收到的报文可以只广播到列,从列收到的报文可以只广播到行。通过本发明所提供的上述优选的实施方式行首和列首交换机采用二层交换机,简化了路由选择过程,基本路由算法更简单;采用交换机和链路聚合技术,支持链路层等价多路径路由(Equal-Cost Multipath Routing,简称为ECMP),具备二层链路负载均衡能力;采用扩展的路由算法解决了网络出现故障时的路由问题,具有良好的容错性能;和一般路由算法(0SPF,SIP)相比,通过节点链路状态的学习能力充分利用了交换式矩阵的拓扑结构特点,使得需要交换的报文数量更少,收敛速度更快。基于上述的发明思想,本发明实施例还给出了具体的实现方式,基于上述交换式的矩阵数据中心网络系统,可以采用规则化的拓扑结构,并按照一定的规则进行编址。

数据中心网络系统由一组行首交换机、列首交换机、接入交换机(编址为10. i. j. I)和连接到接入交换机上的各种服务器(编址为10. i. j. X)构成,其中,1〈X〈255,i为接入交换机或服务器所在行的行号,j为接入交换机或服务器所在列的列号。所有设备的子网掩码均设为255. 255. 255. O。为了完成路由转发功能,在每个接入交换机上都维护一张路由表,数据分组根据路由表进行转发。同行或同列的接入交换机之间互相交换信息(包括本机IP地址和MAC地址),并学习邻接关系和设备或者链路的状态,从而获得全网的拓扑信息,进一步计算出路由表。在本优选实施方式中,数据中心网络系统由交换机和服务器两类设备组成。交换机设备提供二层(链路层)和三层(网络层)网络交换功能,服务器设备提供数据运算和存储服务。其中,交换机又分为三种类型,称为行首交换机、列首交换机和接入交换机。行首交换机和列首交换机二层交换机,负责把接入交换机连接在一起;接入交换机属于三层交换机,负责路由和把服务器接入到网络中。行首交换机、列首交换机和接入交换机连接在一起构成了交换式矩阵拓扑结构。通常情况下,为了避免通信瓶颈和提高网络可靠性,每一行或者列可以配置多个行首或者列首交换机,接入交换机连接到本行或者本列的所有行首或者列首交换机上。同行或者同列的行首或者列首交换机采用设备聚合技术组成一台大的虚拟交换机。为了避免网络阻塞,可以把接入交换机的带宽均分成3部分,一部分带宽用来连接行首交换机,一部分用来连接列首交换机,剩下的带宽用来连接服务器。例如接入交换机采用48端口的三层交换机,可以用16个端口连接行首交换机,16个端口连接列首交换机,剩下16个端口用于连接服务器。考虑到可以同时接入更多的服务器,也可以采用I :1 2的比例分配接入交换机的端口。对于目前市场上大多数的交换机产品,一般都可以提供更高带宽的上联端口用于交换机级联,上联端口和下联端口的带宽比例一般为10 :1。例如一个40端口的千兆交换机,一般同时提供4个万兆上联端口,在交换机矩阵数据中心网络系统中,也可以使用上联端口连接行首和列首交换机,下联端口专门用来连接服务器。
在使用的过程中,如图I所示,可以采用以下的网络编址方案进行编址接入交换机的IP地址配置为10. i. j. I,其中,i为接入交换机所在的行号,j为接入交换机所在的列号,0〈i <总行数,0〈j <总列数。服务器的IP地址配置为10. i. j.X,其中,i为该服务器所在的行号,j为该服务器所在的列号,其中,0〈i <总行数,0〈j <总列数,1〈X〈255,在规定的这个范围内,服务器的地址可以任意配置(其中,X可以任意指定)。在上述的编址方案中,可以根据设备的IP地址判断出设备在网络中的位置,这有助于简化路由方案。根据编址方案和设备之间的连接关系,可以看出每一个接入交换机和其连接的全部服务器构成一个物理子网,对应的子网掩码为255. 255. 255. O。通过上述的网络架构以及其对应的编址方式进行路由的方式如下 在本实施例提出的交换式矩阵网络中,路由功能完全由接入交换机提供,路由算法包括两部分基本路由算法和扩展路由算法。其中,基本路由算法不考虑网络故障的情况,也不需要获得全网拓扑,利用网络拓扑的规则性计算出路由表项。扩展路由算法是对基本路由算法的补充,主要解决网络故障时的路由问题。本发明采用标准的IP路由表实现路由转发。路由表结构如表I所示表I
权利要求
1.一种交换式矩阵数据中心网络系统,其特征在于,包括交换机和多个主机服务器,所述交换机包括行首交换机、列首交换机以及接入交换机;其中, 所述行首交换机与所述列首交换机是二层交换机,所述行首交换机用于将与所述行首交换机位于同一行的接入交换机连接在一起,所述列首交换机用于将与所述列首交换机位于同一列的接入交换机连接在一起; 所述接入交换机为三层交换机,用于将一个或多个所述主机服务器接入网络中。
2.根据权利要求I所述的系统,其特征在于,每一行设置多个行首交换机和/或每一列设置多个列首交换机。
3.根据权利要求2所述的系统,其特征在于,位于同一行的多个行首交换机通过链路聚合技术聚合成一个虚拟交换机,位于同一列的多个列首交换机通过链路聚合技术聚合成一个虚拟交换机。
4.一种基于权利要求I至3中任一项所述的交换式矩阵数据中心网络系统的数据包转发方法,其特征在于,包括 接入交换机确定接收到的需要转发的数据包的目的主机是否在与所述接入交换机所对应的子网中; 如果不是,则所述接入交换机通过与所述接入交换机位于同一行或者同一列的接入交换机对所述数据包进行转发。
5.根据权利要求4所述的方法,其特征在于,所述接入交换机存储有所述网络系统中各个接入交换机的链路状态,其中,所述链路状态用于指示与该接入交换机位于同一行或者同一列的接入交换机的数据包是否可以直接被转发到该接入交换机。
6.根据权利要求5所述的方法,其特征在于,所述接入交换机通过与所述接入交换机位于同一行或者同一列的接入交换机对所述数据包进行转发包括 所述接入交换机确定通过位于同一行或者同一列的接入交换机将所述数据包转发到目的主机所需经过的路径; 通过确定的所述路径将所述数据包转发到所述目的主机。
7.根据权利要求6所述的方法,其特征在于,所述接入交换机确定通过位于同一行或者同一列的接入交换机将所述数据包转发到目的主机所需经过的路径包括 如果与所述接入交换机位于同一行或者同一列的接入交换机存在行不可达或者列不可达的接入交换机; 则所述接入交换机重新确定将所述数据包转发到所述目的主机所经过的路径。
8.根据权利要求5所述的方法,其特征在于,所述方法还包括 当所述接入交换机确定自身的链路状态发生变化时,所述接入交换机将所述链路状态广播给与该接入交换位于同一行或者同一列的接入交换机; 所述位于同一行或者同一列的接入交换机将接收到的链路状态与自身存储的对应于该接入交换机的链路状态进行比较,如果不相同,则更新本地存储的对应于该接入交换机的链路状态。
9.根据权利要求8所述的方法,其特征在于,所述接入交换机通过接收到的PDU状态报文确定自身的链路状态。
10.根据权利要求8所述的方法,其特征在于,在所述位于同一行或者同一列的接入交换机将接收到的链路状态与自身存储的对应于该接入交换机的链路状态进行比较的过程中, 所述方法还包括 所述位于同一行或者同一列的接入交换机将接收到的链路状态广播给与自身位于同一行或者同一列的接入交换机。
全文摘要
本发明公开了一种交换式矩阵数据中心网络系统及数据包转发方法,其中,该系统包括交换机和多个主机服务器,交换机包括行首交换机、列首交换机以及接入交换机;其中,行首交换机与列首交换机是二层交换机,行首交换机用于将与行首交换机位于同一行的接入交换机连接在一起,列首交换机用于将与列首交换机位于同一列的接入交换机连接在一起;接入交换机为三层交换机,用于将一个或多个主机服务器接入网络中。本发明解决了现有技术中采用三层交换机作为行首和列首接入交换机而导致的数据包的转发效率降低,数据包转发的复杂性增加的技术问题,达到了简化路由选择的过程,提高数据包转发的效率的技术效果。
文档编号H04L12/56GK102769569SQ20121025884
公开日2012年11月7日 申请日期2012年7月25日 优先权日2012年7月25日
发明者孙延涛, 罗鉴, 陈志伟 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1