CN102420775A - 基于模块扩展的数据中心网络拓扑系统的路由方法 - Google Patents
基于模块扩展的数据中心网络拓扑系统的路由方法 Download PDFInfo
- Publication number
- CN102420775A CN102420775A CN201210005727XA CN201210005727A CN102420775A CN 102420775 A CN102420775 A CN 102420775A CN 201210005727X A CN201210005727X A CN 201210005727XA CN 201210005727 A CN201210005727 A CN 201210005727A CN 102420775 A CN102420775 A CN 102420775A
- Authority
- CN
- China
- Prior art keywords
- data
- switch
- port
- layer switch
- destination server
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了基于模块扩展的数据中心网络拓扑系统的路由方法,主要解决现有以太网及数据中心树形网络中路由方法不能很好的适用于基于模块扩展的数据中心网络拓扑系统的问题,其实现步骤是:(1)初始化,采用分层编址机制标识拓扑系统中的各网络设备;(2)读取当前设备编址信息并判断当前网络设备的类型;(3)源服务器产生数据,并将其传送至边缘层交换机;(4)边缘层、汇聚层及中间层交换机根据数据的目的地址及数据所处的端口,确定数据输出端口;(5)核心层交换机根据数据的目的地址、路径跳数及端口缓存信息,确定数据输出端口。本发明具有提高网络吞吐、实现流量均衡的优点,克服静态路由的缺陷,可用于数据中心网络的路径选择,提供高效数据传输服务。
Description
技术领域
本发明属于互联网技术领域,具体涉及一种基于模块扩展的数据中心网络拓扑系统的路由方法,可用于实现数据中心网络服务器之间高效地通信。
背景技术
网络及信息技术的迅速发展,使得数据中心成为现代社会中科研单位、金融机构等各行业的服务中心,运载企业的核心业务,满足数据挖掘、存储、高性能计算等服务要求。因此,构建适用于企业发展需求的数据中心已成为服务运营商、科研单位、各门户网站等的IT重点建设项目,实现提升服务效率、降低运营成本、提高集中管理效率的目的。现阶段,随着数据中心应用范围的不断深入,数据中心规模持续扩大,数据中心设备成本增加,能耗开销激增,管理更加复杂;另外,业务传输量增加,达P(1015)级,甚至Z(1021)级,数据业务对服务质量、传输速度具有严格要求,上述业务特点使得现代企业对数据中心网络的服务质量、传输能力等提出新的要求。基于数据中心应用的广泛性及数据中心业务的特点,因此构建数据中心网络时,需要综合考虑诸多因素:网络的高可扩展性、高对分带宽、高容错性能、低时延、易管理、低成本开销等。
现有构建数据中心网络的方法很多,根据拓扑的设计思想不同,采用的设备、互连规则、扩展方式也有所不同,但目标都是最大限度地满足数据中心网络的性能要求。目前构建数据中心网络时多采用树形结构,或传统树形结构或胖树结构。传统树形结构采用高性能专用交换设备,以多根树方式连接交换机与服务器设备,以纵向扩展方式实现数据中心网络扩建目标,扩展规模与拓扑层数成正相关,即网络层数越高,网络规模越大,但传统树形结构的扩展规模受限于高层交换设备的端口数量,存在严重的过载问题,且层数越高,高层过载问题越严重,网络设备采用高性能专用设备,设备成本高,下行链路唯一,缺乏动态选择性,单点故障难以避免;胖树结构采用自上而下核心层、汇聚层、边缘层的三层结构模式构建数据中心网络,与传统树形结构相比,胖树结构以商用设备代替高性能专用设备,横向扩展取代纵向扩展方式,在一定程度上解决传统树形结构设备成本高、过载严重的问题,但胖树结构难以克服传统树形结构扩展能力受限于核心交换设备的端口数量的缺陷,胖树结构仍存在下行链路唯一、缺乏动态选择性、单点故障等缺点。
针对上述数据中心网络拓扑结构的不足,本申请人在201110361517.X专利申请中提出了一种基于模块扩展的数据中心网络拓扑结构,以克服网络扩展能力受限于交换机端口数量的缺陷,提高树形结构中下行链路的动态选择性,改善网络的容错性能。
参照图1,基于模块扩展的数据中心网络拓扑系统构建思想如下:网络拓扑基于模块思想构建,网络拓扑中包括m个基本模块101,每个基本模块是自上而下包括核心层104、汇聚层106及边缘层107,在核心层与汇聚层之间引入中间层105,每层均设置一组交换机,基本模块是由各层交换机设备及服务器连接而成的小网络;基本模块101内包括k个Pod结构109,基本模块内各层交换机设备及服务器数量均由k值确定;Pod结构是由汇聚层及边缘层交换机组成,每个Pod内包括k/2个汇聚层交换机及k/2个边缘层交换机,每个交换机包括k/2个上行端口及k/2个下行端口,汇聚层交换机与边缘层交换机以全互连方式连接;基本模块内包括k2/4个核心层交换机,每个核心层交换机包括k个下行端口及4个增设端口,包括k2/2个中间层交换机,每个交换机包括k/2个上行端口及k/2个下行端口;每个基本模块容纳k3/4个服务器。网络拓扑系统中,每个边缘交换机通过下行端口连接k/2个服务器,汇聚层交换机通过上行端口连接中间层交换机设备,核心层交换机通过其k个下行端口连接中间层交换机设备,通过4个增设端口连接相同基本模块及不同基本模块内相邻的核心层交换机设备,将各个基本模块连接成一个整体网络。
基于模块扩展的数据中心网络拓扑系统中,在基本模块的核心层与汇聚层之间引入中间层,保证网络拓扑在具有良好的多路径特性、高对分带宽的前提下,实现网络中下行链路的动态选择性,提高网络的容错性能,避免单点故障及下行链路唯一的缺陷;为实现网络扩建的目的,基于模块扩展的数据中心网络拓扑系统采用横向扩展或纵向扩展或混合扩展方式实现网络扩建,保证网络规模扩展不再受限于核心层交换机设备的端口数量。
数据中心网络中,路由方法决定数据分组的传输路径,路由方法性能的优劣在很大程度影响网络的性能,是设计网络时的关键问题之一。基于数据中心应用的特殊性,数据中心网络规模一般较大,网络设备数以万计,以太网中常用的开放最短路径优先OSPF、RIP等路由协议通常不适用于数据中心网络,因为开放最短路径优先OSPF协议是基于链路状态的路由算法,OSPF协议工作时,需在网络中设一个中央控制单元,用于收集网络中的链路状态信息,中央控制单元根据收集到的信息进行路由决策。开放最短路径优先OSPF的工作机制不适用于数据中心大规模网络,因为收集网络的状态信息对于数据中心网络而言存在以下缺陷:浪费存储空间,状态信息收集不实时,路由决策相对滞后;RIP协议是在工作时,当前设备需要与其相邻设备交换路由表信息,因为数据中心网络规模很大,每个设备的路由表表项很庞大,浪费存储空间,实时交换路由表信息,导致系统开销大,且路由信息更新相对滞后,不利于路由决策。
对于不同的拓扑结构,数据中心网络采用的路由方法有所不同,路由方法适用范围也有一定限制。目前,现有数据中心树形网络拓扑中常用两种路由方法:ECMP及VLB,其中ECMP是Equal Cost Multi-Path的简称,ECMP路由的思想是将负载平均分配到所有等价的路径上,从而更好地实现负载均衡,对于相同源、目的服务器的数据流,ECMP路由方法为其指定相同的路径;VLB是Valiant Load Balancing的简写,其路由方法的思想与ECMP相似,均是充分发挥网络拓扑中等价路径,通过随机选择上行等价链路将流量分配到所有等价路径上,实现流量均衡。
上述两种路由方法均存在以下不足:一是ECMP与VLB路由方法只能充分利用网络拓扑中的等价路径,而不能够利用拓扑中的非等价路径,这里等价路径是指数据传输时经过的交换机个数相同的路径;二是ECMP与VLB路由方法在路由决策时均未能将网络的实时状态信息考虑在内,ECMP路由方法是为相同源、目的地的数据流指定相同的传输路径,VLB路由方法则是等概率随机地为数据流指定路径,不能充分避免网络热点的出现,从而不能获得性能良好的路由结果。这些不足导致上述两种路由方法不能很好地适应于基于模块扩展的数据中心网络拓扑系统,因为在基于模块扩展的数据中心网络拓扑系统中,服务器对之间存在多条并行等价路径及非等价路径,且下行链路可以动态选择,但上述两种路由方法均未能充分发掘该网络拓扑的结构特性,实现最优传输。
发明内容
本发明的目的是针对上述以太网及数据中心网络中路由方法的不足,提出一种适用于基于模块扩展的数据中心网络拓扑系统的路由方法,充分利用拓扑系统中服务器对之间的多条并行等价路径及非等价路径,将网络的状态信息作为路由决策的依据,实时动态选择传输路径,实现流量均衡,减少分组的排队等待时间,提高网络整体性能。
为实现上述目的,本发明的基于模块扩展的数据中心网络拓扑系统的路由方法,包括如下步骤:
(1)采用三维坐标为拓扑系统中的各网络设备编址:
源服务器S的地址信息用(Sx,Sy,Sz)表征,目的服务器D的地址信息用(Dx,Dy,Dz)表征,核心层交换机C的地址信息用(Cx,Cy,Cz)表征,中间层交换机I的地址信息用(Ix,Iy,Iz)表征,汇聚层交换机A的地址信息用(Ax,Ay,Az)表征,边缘层交换机E的地址信息用(Ex,Ey,Ez)表征,其中:
下标x用于表征该位为第一维坐标,第一维坐标代表网络设备在拓扑系统中所属的基本模块,取值范围为[0,m-1],m是拓扑系统中包括的基本模块数;
下标y用于表征该位为第二维坐标,第二维坐标代表网络设备在基本模块中所属的层次,取值范围为[0,4];
下标z用于表征该位为第三维坐标,第三维坐标代表网络设备在基本模块内同层设备中所处的位置:对于核心层交换机,取值范围为[0,k2/4-1],对于中间层交换机、汇聚层交换机及边缘层交换机,取值范围均为[0,k2/2-1];对于服务器,取值范围为[0,k3/4-1],其中k是基本模块包括的Pod结构数,该Pod结构是由两层交换机组成,上层为k/2个汇聚层的交换机,下层为k/2个边缘层的交换机;
(2)在各核心层交换机的每个增设端口处设置2个虚信道,分别标记为0号虚信道和1号虚信道;当相邻的两个核心层交换机之间有数据传输时,根据核心层交换机的地址信息,决定数据传输信道:当两个核心层交换机属于相同基本模块时,编址Cz值小的交换机通过0号虚信道将数据传送至编址Cz值大的交换机,编址Cz值大的交换机通过1号虚信道将数据传送至编址Cz值小的交换机;当两个核心层交换机属于不同基本模块时,编址Cx值小的交换机通过0号虚信道将数据传送至编址Cx值大的交换机,编址Cx值大的交换机通过1号虚信道将数据传送至编址Cx值小的交换机;从而避免在网络拓扑的横向环及纵向环上选路时出现路由环路;
(3)从当前设备的寄存器中读出设备的地址信息,根据地址信息的第二维坐标值判定设备类型:若第二维坐标值为0,则当前设备为核心层交换机,执行步骤(8);若第二维坐标值为1,则当前设备为中间层交换机,执行步骤(7);若第二维坐标值为2时,则当前设备为汇聚层交换机,执行步骤(6);若第二维坐标值为3,则当前设备为边缘层交换机,执行步骤(5);若第二维坐标值为4,则当前设备为服务器,执行步骤(4);
(4)若服务器有数据需要传输,则该服务器作为源服务器S产生数据分组,将目的服务器D的地址信息添加到数据分组头中,根据源服务器S的地址信息:Sz=k2/4*i+k/2*j+p,得到三个中间变量i、j、p,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1];源服务器S通过边缘交换机E的p号下行端口将数据发至其直连的边缘层交换机E;
(5)边缘层交换机E读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径:
若数据从边缘层交换机E的上行端口输入,则根据目的服务器地址选定边缘层交换机E的下行端口为数据输出端口,并将数据通过该下行端口发送至目的服务器D,通信结束;
若数据从边缘层交换机E的下行端口输入,且目的服务器D是边缘层交换机E的分支,则根据目的服务器地址选定边缘层交换机E的下行端口为数据输出端口,并将数据通过该下行端口发送至目的服务器D,通信结束;
若数据从边缘层交换机E的下行端口输入,但目的服务器D不是边缘层交换机E的分支,则根据边缘层交换机E的上行端口缓存信息选定E的上行端口为数据输出端口,并将数据通过该上行端口发送至汇聚层交换机A;
(6)汇聚层的交换机A读取数据到达当前设备时的输入端口信息,根据端口信息确定数据的转发路径:
若数据从汇聚层交换机A的上行端口输入,则根据目的服务器地址选定A的下行端口为数据输出端口,并将数据通过该下行端口发送至边缘层交换机E,返回步骤(5);
若数据从汇聚层交换机A的下行端口输入,且目的服务器D是汇聚层交换机A的分支,则根据目的服务器地址选定A的下行端口为数据输出端口,并将数据通过该下行端口发送至边缘层交换机E,返回步骤(5);
若数据从汇聚层交换机A的下行端口输入,但目的服务器D不是汇聚层交换机A的分支,则根据汇聚层交换机A的上行端口缓存信息选定A的上行端口为数据输出端口,并将数据通过该上行端口发送至中间层交换机I;
(7)中间层的交换机I读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径:
若数据从中间层交换机I的上行端口输入,则中间层交换机读取其下行端口的缓存信息,优先选择剩余缓存空间最大的下行端口为数据输出端口,再将数据通过该下行端口发送至汇聚层交换机A,返回步骤(6);
若数据从中间层交换机I的下行端口输入,则中间层交换机读取其上行端口的缓存信息,优先选择剩余缓存空间最大的上行端口为数据输出端口,再将数据通过该上行端口发送至核心层交换机C;
(8)核心层交换机C读取数据分组的目的地址信息,根据目的地址判断目的服务器D与核心层交换机C是否处于同一模块,再确定数据转发路径:
若目的服务器D与核心层交换机C属于相同基本模块,则根据目的服务器D的地址信息确定数据输出的下行端口号;再根据该基本模块内各核心层交换机中选定的下行端口的归一化剩余缓存空间及路径跳数信息,计算选择核心层交换机C及其左右相邻的核心层交换机C左1、C左2、C右1、C右2进行数据传输的概率P、P左1、P左2、P右1、P右2,并将计算结果进行比较,选择最大概率值相对应的核心层交换机为数据转发交换机,若有两个以上相同的最大概率值时,则根据路径跳数小优先的原则选择最大概率值相对应的交换机,若路径跳数也相同时,则再根据左优先原则选择数据转发交换机;核心层交换机C将数据发送至选定的核心层交换机,再通过选定的核心层交换机的选定下行端口,将数据发送至中间层交换机I,返回步骤(7);
若目的服务器D与核心层交换机C属于不同基本模块,则根据|Cx-Dx|与及Cx与Dx的大小关系,确定数据在纵向环上的转发路径,将数据发送至纵向环相邻的核心层交换机C′,执行步骤(8),其中表示是对m/2的计算结果上取整。
本发明与现有以太网及数据中心树形网络中采用的路由方法相比,具有以下优点:
1.本发明由于采用分层编址机制,提高了编址效率,节省了存储空间。
2.本发明由于采用分布式路由方法,路由决策依据网络实时状态信息,实现流量均衡,避免网络热点的出现,减少数据分组在网络中的排队时延,提高了网络的传输速率和数据吞吐量。
3.本发明由于充分利用网络拓扑系统的特性,实现网络拓扑中等价路径与非等价路径的高效使用,提高了网络传输效率。
附图说明
图1是本发明使用的基于模块扩展的数据中心网络拓扑系统示意图;
图2是本发明基于模块扩展的数据中心网络拓扑系统的编址示意图;
图3是本发明使用的交换机端口编号示意图;
图4是本发明基于模块扩展的数据中心网络拓扑系统的路由方法流程图;
具体实施方式
为更清楚的介绍本发明提出的基于模块扩展的数据中心网络拓扑构架及路由方法,下面将结合附图和具体实例进行详细说明。
实施例1:源服务器与目的服务器处于相同基本模块,由同一Pod结构内的不同边缘层交换机连接。
参照图4,本发明的路由方法,其实现步骤如下:
步骤一.标识拓扑系统中的各网络设备。
1.1)本发明使用的基于模块扩展的数据中心网络拓扑系统如图2,它包括m个基本模块,每个基本模块内包括k个Pod结构,这里m=2,k=4,但不局限于这个数值,采用三维坐标为拓扑系统中的各网络设备编址:
源服务器S的地址信息用(Sx,Sy,Sz)表征,目的服务器D的地址信息用(Dx,Dy,Dz)表征,核心层交换机C的地址信息用(Cx,Cy,Cz)表征,中间层交换机I的地址信息用(Ix,Iy,Iz)表征,汇聚层交换机A的地址信息用(Ax,Ay,Az)表征,边缘层交换机E的地址信息用(Ex,Ey,Ez)表征,其中:
下标x用于表征该位为第一维坐标,第一维坐标代表网络设备在拓扑系统中所属的基本模块,取值范围为[0,m-1],m是拓扑系统中包括的基本模块数;
下标y用于表征该位为第二维坐标,第二维坐标代表网络设备在基本模块中所属的层次,取值范围为[0,4];
下标z用于表征该位为第三维坐标,第三维坐标代表网络设备在基本模块内同层设备中所处的位置:对于核心层交换机,取值范围为[0,k2/4-1],对于中间层交换机、汇聚层交换机及边缘层交换机,取值范围均为[0,k2/2-1];对于服务器,取值范围为[0,k3/4-1],其中k是基本模块包括的Pod结构数,该Pod结构是由两层交换机组成,上层为k/2个汇聚层的交换机,下层为k/2个边缘层的交换机;
核心层交换机的编址分别为(0,0,0),(0,0,1),(0,0,2),(0,0,3),(1,0,0),(1,0,1),(1,0,2),(1,0,3);
中间层交换机的编址分别为(0,1,0),(0,1,1),...,(0,1,7),(1,1,0),(1,1,1),...,(1,1,7);
汇聚层交换机的编址分别为(0,2,0),(0,2,1),...,(0,2,7),(1,2,0),(1,2,1),...,(1,2,7;
边缘层交换机的编址分别为(0,3,0),(0,3,1),...,(0,3,7),(1,3,0),(1,3,1),...,(1,3,7);
服务器的分编址别为(0,4,0),(0,4,1),...,(0,4,15),(1,4,0),(1,4,1),...,(1,4,15)。
1.2)参照图3,网络中各交换机的端口编号为:对于边缘层、汇聚层及中间层的交换机,其下行端口从左至右标记为0,1,...,k/2-1,上行端口从左至右标记为k/2,k/2+1,...,k-1,如图3中(a)所示;对于核心层交换机,其下行端口标记为0,1,...,k-1,增设端口标记为k,k+1,k+2,k+3,如图3中(b)所示。
步骤二.定义虚信道传输规则。
在各核心层交换机的每个增设端口处设置2个虚信道,分别标记为0号虚信道和1号虚信道;当相邻的两个核心层交换机之间有数据传输时,根据核心层交换机的地址信息,决定数据传输信道:当两个核心层交换机属于相同基本模块时,编址Cz值小的交换机通过0号虚信道将数据传送至编址Cz值大的交换机,编址Cz值大的交换机通过1号虚信道将数据传送至编址Cz值小的交换机;当两个核心层交换机属于不同基本模块时,编址Cx值小的交换机通过0号虚信道将数据传送至编址Cx值大的交换机,编址Cx值大的交换机通过1号虚信道将数据传送至编址Cx值小的交换机;从而避免在网络拓扑的横向环及纵向环上选路时出现路由环路。
步骤三.从当前设备的寄存器中读出设备的地址信息,根据地址信息的第二维坐标值判定设备类型:若第二维坐标值为0,则当前设备为核心层交换机;若第二维坐标值为1,则当前设备为中间层交换机;若第二维坐标值为2时,则当前设备为汇聚层交换机;若第二维坐标值为3,则当前设备为边缘层交换机;若第二维坐标值为4,则当前设备为服务器。
步骤四.确定源、目的服务器,并将源服务器产生的数据分组发送至其直连的边缘层交换机。
4.1)设源服务器S为(1,4,0),目的服务器D为(1,4,3);
4.2)源服务器产生数据分组,并将目的服务器的地址信息封装到数据分组头中;
4.3)根据源服务器S的地址信息:Sz=0=k2/4*i+k/2*j+p,得到中间变量i=0,j=0,p=0,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1];
4.4)源服务器S通过边缘交换机E的p号下行端口将数据发至其直连的边缘层交换机E,根据Ex=Sx=1,Ey=Sy-1=3,Ez=k/2*i+j=0,得到边缘层交换机E的地址信息为(1,3,0)。
步骤五.边缘层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
5.1)边缘层交换机E(1,3,0)读取数据到达当前设备时的输入端口信息及数据的目的地址信息,得知数据从边缘层交换机E的0号下行端口输入,数据的目的地址为(1,4,3);
5.2)通过比较边缘层交换机E的地址信息Ex与目的服务器的地址信息Dx,得知Dx=Ex,即1=1,则根据边缘层交换机E的地址信息:Ez=0=k/2*i+j,得到中间变量i=0,j=0,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],根据i、j的值计算边缘层交换机E所连接服务器的地址中第三维坐标取值范围为[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1],即[0,1];
5.4)边缘层交换机E读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设E的3号上行端口的剩余缓存空间比2号上行端口剩余缓存空间大,则选择3号上行端口为数据输出端口,用变量q代表选定的上行端口号,q取值范围为[k/2,k-1];
5.5)数据经边缘层交换机E的内部交换结构由其0号下行端口发送至3号上行端口,再由3号上行端口发送至汇聚层交换机A,根据Ax=Ex=1,Ay=Ey-1=2,Az=k/2*i+q-k/2=1,得到汇聚层交换机A的地址信息(1,2,1)。
步骤六.汇聚层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
6.1)汇聚层交换机A(1,2,1)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从汇聚层交换机A的0号下行端口输入,数据的目的地址为(1,4,3);
6.2)通过比较汇聚层交换机A的地址信息Ax与目的服务器D的地址信息Dx,得知Dx=Ax,即1=1,则根据目的服务器D地址信息:Dz=3=k2/4*i+k/2*j+p,汇聚层交换机A的地址信息:Az=1=k/2*i′+j′,得到四个中间变量i=0,j=1,i′=0,j′=1,其中i、i′取值范围为[0,k-1],j、j′取值范围为[0,k/2-1];
6.3)根据Dx=Ax且i′=i,则判定目的服务器D是汇聚层交换机A的分支,将j=1值作为数据转发的下行输出端口号。
6.4)数据经汇聚层交换机A的1号下行端口发送至边缘层交换机E′,根据E′x=Ax=1,E′y=Ay+1=3,E′z=k/2*i+j=1,得到边缘层交换机E′的地址信息(1,3,1)。
步骤七.边缘层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
7.1)边缘层交换机E′(1,3,1)读取数据到达当前设备时的输入端口信息及数据的目的地址信息,得知数据从边缘层交换机E′的3号上行端口输入,数据的目的地址为(1,4,3);
7.2)通过比较边缘层交换机E′的地址信息E′x与目的服务器D的地址信息Dx,得知Dx=E′x,即1=1,则先根据边缘层交换机E′的地址信息:E′z=1=k/2*i+j,得到中间变量i=0,j=1,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],再根据i、j的数值计算边缘层交换机E′(1,3,0)所连接服务器的地址信息中第三维坐标取值范围为[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1],即[2,3];
7.3)根据目的服务器D的地址信息Dx及Dz满足条件:Dx=E′x且Dz∈[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1],即1=1,3∈[2,3],则判定目的服务器D是边缘层交换机E′的分支;
7.4)根据目的服务器的地址信息:Dz=3=k2/4*i+k/2*j+p,得到中间变量i=0,j=1,p=1,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1],选定边缘层交换机E的p=1号下行端口为数据输出端口;
7.5)数据经边缘层交换机E′的1号下行端口发送至目的服务器D,源服务器S与目的服务器D之间通信结束。
实施例2:源服务器与目的服务器处于相同基本模块,由不同Pod结构内的边缘层交换机连接。
参照图4,本发明的路由方法,其实现步骤如下:
步骤1.与上述实施例1中步骤一相同。
步骤2.与上述实施例1中步骤二相同。
步骤3.与上述实施例1中步骤三相同。
步骤4.确定源、目的服务器,将源服务器产生数据分组发送至其直连的边缘层交换机。
4a)设源服务器S为(0,4,4),目的服务器D为(0,4,11);
4b)源服务器产生数据分组,将目的服务器的地址信息封装到数据分组中;
4c)根据源服务器S的地址信息:Sz=4=k2/4*i+k/2*j+p,得到中间变量i=1,j=0,p=0,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1];
4d)源服务器S通过边缘交换机E的p号下行端口将数据发至其直连的边缘层交换机E,根据Ex=Sx=0,Ey=Sy-1=3,Ez=k/2*i+j=2,得到边缘层交换机E的地址为(0,3,2)。
步骤5.边缘层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
5a)边缘层交换机E(0,3,2)读取数据到达当前设备时的输入端口信息及数据的目的地址信息,得知数据从边缘层交换机E的0号下行端口输入,数据的目的地址为(0,4,11);
5b)通过比较边缘层交换机E的地址信息Ex与目的服务器的地址信息Dx,得知Dx=Ex,即0=0,则先根据边缘层交换机E的地址信息:Ez=2=k/2*i+j,得到中间变量i=1,j=0,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],再根据i、j的数值计算边缘层交换机E(0,3,2)所连接服务器的地址信息中第三维坐标取值范围为[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1],即[4,5];
5d)边缘层交换机E读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设E的2号上行端口的剩余缓存空间比3号上行端口剩余缓存空间大,则选择2号上行端口为数据输出端口,用变量q代表选定的上行端口号,q取值范围为[k/2,k-1];
5e)数据经边缘层交换机E的内部交换结构由其0号下行端口发送至2号上行端口,再由2号上行端口发送至汇聚层交换机A,根据Ax=Ex=0,Ay=Ey-1=2,Az=k/2*i+q-k/2=1,得到汇聚层交换机A的地址信息(0,2,2)。
步骤6.汇聚层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
6a)汇聚层交换机A(0,2,2)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从汇聚层交换机A的0号下行端口输入,数据的目的地址为(0,4,11);
6b)通过比较汇聚层交换机A的地址信息Ax及目的服务器的地址信息Dx,得知Dx=Ax,即0=0,则根据目的服务器D地址信息:Dz=11=k2/4*i+k/2*j+p,汇聚层交换机A的地址信息:Az=2=k/2*i′+j′,得到四个中间变量i=2,j=1,i′=1,j′=0,其中i、i′取值范围为[0,k-1],j、j′取值范围为[0,k/2-1];
6c)根据目的服务器D的地址信息Dx满足条件:Dx=Ax但i′≠i,即0=0但2≠1,则判定目的服务器D不是汇聚层交换机A的分支;
6d)汇聚层交换机A读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设A的3号上行端口的剩余缓存空间比2号上行端口剩余缓存空间大,则选择3号上行端口为数据输出端口,用变量q代表选定的上行端口号,q取值范围为[k/2,k-1];
6e)数据经汇聚层交换机A的内部交换结构由其0号下行端口发送至3号上行端口,再由3号上行端口发送至中间层交换机I,根据i′=1=2g+c,得到中间变量g=0,c=1,其中g取值范围为[0,k/2-1],c取值范围为[0,1],根据Ix=Ax=0,Iy=Ay-1=1,Iz=k*(q-k/2)+k/2*c+g=6,得到中间层交换机I的地址信息(0,1,6)。
步骤7.中间层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
7a)中间层交换机I(0,1,6)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从中间层交换机I的0号下行端口输入,数据的目的地址为(0,4,11);
7b)中间层交换机I读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设I的2号上行端口的剩余缓存空间比3号上行端口剩余缓存空间大,则选择2号上行端口为数据输出端口,用变量q代表选定的上行端口号,q取值范围为[k/2,k-1];
7c)数据经中间层交换机I的内部交换结构由其0号下行端口发送至2号上行端口,再由2号上行端口发送至核心层交换机C,根据中间层交换机的地址信息:Iz=2=k*g+w,得到中间变量g=1,w=2,g取值范围为[0,k/2-1],w取值范围为[0,k-1],由Cx=Ix=0,Cy=Iy-1=0,Cz=k/2*g+q-k/2=2,得到核心层交换机C的地址信息(0,0,2)。
步骤8.核心层交换机根据数据的目的地址信息确定数据转发路径。
8a)从核心层交换机C(0,0,2)读取数据的目的地址信息(0,4,11),通过比较核心层交换机C的地址信息Cx及目的服务器D的地址信息Dx,得知Cx=Dx,即0=0,则判定目的服务器与核心层交换机C处于相同基本模块;
8b)根据目的服务器D的地址信息:Dz=11=k2/4*i+k/2*j+p,得到中间变量i=2,j=1,p=0,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],再由i=2=2g+c,得到中间变量g=1,c=0,g取值范围为[0,k/2-1],c取值范围为[0,1],由pc=g+c*k/2,得到中间变量pc=1,pc取值范围为[0,k-1],选择核心层交换机的pc=1号下行端口为数据输出端口;
8c)根据当前核心层交换机C及其左右相邻的核心层交换机C左1、C左2、C右1、C右2中pc号下行端口的归一化剩余缓存空间和核心层交换机C距离目的服务器D的路径跳数,依据公式:P概率=α*B+β*T,计算各概率,其中α、β为系统参数,0≤α≤1,-1≤β≤0,B代表归一化缓存空间,B取值范围为[0,1],T代表路径跳数,T取值范围为[4,6],归一化剩余缓存空间,定义为端口剩余缓存空间与端口总缓存空间的比值,路径跳数,定义为数据分组从当前核心层交换机C发送至目的服务器D的过程中转发该数据的交换机个数;核心层交换机C、C左1、C左2、C右1、C右2相对应的概率为P、P左1、P左2、P右1、P右2,各交换机中pc号下行端口的归一化剩余缓存空间分别为Bc、B左1、B左2、B右1、B右2,核心层交换C、C左1、C左2、C右1、C右2距离目的服务器D的路径跳数分别为4、5、6、5、6;
8d)假设系统参数α=1,β=-0.01,网络当前状态为Bc=0.4,B左1=0.15,B左2=0.3,B右1=0.25,B右2=0.4,则计算得P=0.36,P左1=0.1,P左2=0.24,P右1=0.2,P右2=0.34;比较各计算结果,知P值最大,选定当前交换机为向中间层交换机转发数据的交换机;
8e)数据通过当前核心层交换C的1号下行端口转发至中间层交换机I′,根据核心层交换机C的地址信息Cz=2=k/2*g+j,得到中间变量g=1,j=0,其中g取值范围为[0,k/2-1],由I′x=Cx=0,I′y=Cy+1=1,I′z=k*g+pc=5,得到中间层交换机的地址为(0,1,1)。
步骤9.中间层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
9a)中间层交换机I′(0,1,1)读取数据到达当前设备时的输入端口信息及数据的目的地址信息,得知数据从中间层交换机I′的3号上行端口输入,数据的目的地址为(0,4,11);
9b)中间层交换机I′读取其第0和第1号下行端口的缓存使用信息,比较两者的剩余缓存空间,假设I的0号下行端口的剩余缓存空间比1号下行端口剩余缓存空间大,则选择0号下行端口为数据输出端口,用变量h代表选定的下行端口号,h取值范围为[0,k/2-1];
9c)数据经中间层交换机I′的内部交换结构由其3号上行端口发送至0号下行端口,再由1号下行端口将数据发送至汇聚层交换机A′,根据中间层交换机的地址信息:I′z=1=k*g+w,得到中间变量g=0,w=1,g取值范围为[0,k/2-1],w取值范围为[0,k-1]再由w=k/2*c+s,得到中间变量c=0,s=1,c取值范围为[0,1],s取值范围为[0,k/2-1],根据A′x=I′x=0,A′y=I′y+1=2,A′z=k*s+k/2*c+h=4,得到汇聚层交换机的地址信息为(0,2,4)。
步骤10.汇聚层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
10a)汇聚层交换机A′(0,2,4)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从汇聚层交换机A′的2号上行端口输入,数据的目的地址为(0,4,11);
10b)根据目的服务器D的地址信息:Dz=5=k2/4*i+k/2*j+p,得到中间变量i=2,j=1,i取值范围为[0,k/2-1],j取值范围为[0,k/2-1],确定汇聚层交换机A′的j=1号下行端口为数据输出端口;
10c)数据经汇聚层交换机A′的内部交换结构发送至其0号下行端口处,再由0号下行端口转发至边缘层交换机E′,根据E′x=A′x=0,E′y=A′y+1=3,E′z=k/2*i+j=5,得到边缘层交换机的地址为(0,3,5)。
步骤11.边缘层交换机数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
11a)边缘层交换机E′(0,3,5)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从边缘层交换机的2号上行端口输入,数据的目的地址为(0,4,11);
11b)根据目的服务器D的地址信息:Dz=k2/4*i+k/2*j+p,得到中间变量i=2,j=1,p=1,i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1],确定边缘层交换机的p=1号下行端口为数据输出端口;
11c)数据经边缘层交换机E′的1号下行端口转发至目的服务器D,源服务器与目的服务器之间通信结束。
实施例3:源服务器与目的服务器处于不同基本模块。
参照图4,本发明的路由方法,其实现步骤如下:
步骤A.与上述实施例1中的步骤一相同。
步骤B.与上述实施例1中的步骤二相同。
步骤C.与上述实施例1中的步骤二相同。
步骤D.确定源、目的服务器,并将源服务器产生数据发送至其直连的边缘层交换机。
D1)设源服务器S为(0,4,0),目的服务器D为(1,4,5);
D2)源服务器产生数据分组,将目的服务器的地址信息封装到数据分组头中;
D3)根据源服务器S的地址信息:Sz=0=k2/4*i+k/2*j+p,得到中间变量i=0,j=0,p=0,i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1];
D4)源服务器S通过边缘交换机E的0号下行端口将数据发至其直连的边缘层交换机E,根据Ex=Sx=0,Ey=Sy-1=3,Ez=k/2*i+j=0,得到边缘层交换机E的地址信息(0,3,0)。
步骤E.边缘层交换机数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
E1)边缘层交换机E(0,3,0)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从边缘层交换机E的0号下行端口输入,数据的目的地址为(1,4,5);
E2)通过比较边缘层交换机E的地址信息Ex与目的服务器D的地址信息Dx,得知Dx≠Ex,即1≠0,则判定目的服务器D不是该边缘层交换机E的分支;
E3)边缘层交换机E读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设E的2号上行端口的剩余缓存空间比3号上行端口剩余缓存空间大,则选择2号上行端口为数据输出端口,这里用q变量代表选定的上行端口号,q取值范围为[k/2,k-1];
E4)数据经边缘层交换机E的内部交换结构由其0号下行端口发送至2号上行端口,再由2号上行端口发送至汇聚层交换机A,根据边缘层交换机E的地址信息:Ez=0=k/2·i+j,得到中间变量i=0,j=0,i取值范围为[0,k-1],j取值范围为[0,k/2-1],由Ax=Ex=0,Ay=Ey-1=2,Az=k/2*i+q-k/2=0,得到汇聚层交换机A的地址信息(0,2,0)。
步骤F.汇聚层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
F1)汇聚层交换机A(0,2,0)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从汇聚层交换机A的0号下行端口输入,数据的目的地址为(1,4,5);
F2)通过比较汇聚层交换机A的地址信息Ax与目的服务器D的地址信息Dx,得知Dx≠Ax,即1≠0,目的服务器D不是汇聚层交换机A所连接的边缘交换机的分支;
F3)汇聚层交换机A读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设A的3号上行端口的剩余缓存空间比2号上行端口剩余缓存空间大,则选择3号上行端口为数据转发端口,用变量q代表选定的上行端口号,q取值范围为[k/2,k-1];
F4)数据经汇聚层交换机A的内部交换结构由其0号下行端口发送至3号上行端口,再由3号上行端口发送至中间层交换机I,根据汇聚层交换机A的地址信息:Az=0=k/2*i+j,得到中间变量i=0,j=0,i取值范围为[0,k-1],j取值范围为[0,k/2-1],再由i=0=2g+c,得到中间变量g=0,c=0,其中g取值范围为[0,k/2-1],c取值范围为[0,1],由Ix=Ax=0,Iy=Ay-1=1,Iz=k*(q-k/2)+k/2*c+g=4,得到中间层交换机I的地址信息(0,1,4)。
步骤G.中间层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
G1)中间层交换机I(0,1,4)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从中间层交换机I的0号下行端口输入,数据的目的地址为(1,4,5);
G2)中间层交换机I读取其第2和第3号上行端口的缓存使用信息,比较两者的剩余缓存空间,假设I的3号上行端口的剩余缓存空间比2号上行端口剩余缓存空间大,则选择3号上行端口为数据输出端口,用变量q代表选定的上行端口号,q取值范围为[k/2,k-1];
G3)数据经中间层交换机I的内部交换结构由其0号下行端口发送至3号上行端口,再由3号上行端口发送至核心层交换机C,根据中间层交换机的地址信息:Iz=4=k*g+w,得到中间变量g=1,w=0,g取值范围为[0,k/2-1],w取值范围为[0,k-1],由Cx=Ix=0,Cy=Iy-1=0,Cz=k/2*g+q-k/2=3,得到核心层交换机C的地址信息(0,0,3)。
步骤H.核心层交换机根据目的服务器地址信息确定数据转发路径。
H1)核心层交换机C(0,0,3)读取数据分组的目的地址信息(1,4,5),通过比较核心层交换C的地址Cx与目的服务器D的地址信息Dx,得知Cx≠Dx,即1≠0,则判定目的服务器与核心层交换机C处于不同基本模块;
H3)根据核心层交换机C的地址信息Cx=0,为避免路由环路,采用虚信道选定规则,数据通过核心层交换机C的7号端口经0号虚信道转发至核心层的交换机C′,根据C′x=Cx+1=1,C′y=Cy=0,C′z=Cz=3,得到核心层交换机C′的地址为(1,0,3)。
步骤I.核心层交换机根据目的服务器地址信息确定数据转发路径。
I1)核心层交换机C′(1,0,3)读取数据分组的目的地址信息(1,4,5),通过比较核心层交换C′的地址Cx′与目的服务器D的地址信息Dx,得知C′x=Dx,即1=1,则判定目的服务器D与核心层交换机C′处于相同基本模块;
I2)根据目的服务器D的地址信息:Dz=5=k2/4*i+k/2*j+p,得到中间变量i=1,j=0,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],再由i=1=2g+c,得到中间变量g=0,c=1,g取值范围为[0,k/2-1],c取值范围为[0,1],由pc=g+c*k/2,得到中间变量pc=2,pc取值范围为[0,k-1],选择核心层交换机的pc号下行端口为数据输出端口;
I3)根据当前核心层交换机C′及其左右相邻的核心层交换机C左1、C左2、C右1、C右2中pc号下行端口的归一化剩余缓存空间和核心层交换机C′距离目的服务器D的路径跳数,依据公式:P概率=α*B+β*T,计算各概率,其中α、β为系统参数,0≤α≤1,-1≤β≤0,B代表归一化缓存空间,B取值范围为[0,1],T代表路径跳数,T取值范围为[4,6],归一化剩余缓存空间定义为端口剩余缓存空间与端口总缓存空间的比值,路径跳数定义为数据分组从当前核心层交换机C′发送至目的服务器D的过程中转发该数据的交换机个数,核心层交换机C′、C左1、C左2、C右1、C右2相对应的概率为P、P左1、P左2、P右1、P右2,各交换机中pc号下行端口的归一化剩余缓存空间分别为Bc、B左1、B左2、B右1、B右2,核心层交换C′、C左1、C左2、C右1、C右2距离目的服务器D的路径跳数分别为4、5、6、5、6;
I4)假设系统参数α=1,β=-0.01,网络当前状态Bc=0.3,B左1=0.35,B左2=0.3,B右1=0.35,B右2=0.3,则计算得P=0.26,P左1=0.30,P左2=0.24,P右1=0.30,P右2=0.24;
I5)比较各计算结果,知P左1及P右1值最大,根据左优先原则,选定核心层交换机C左1为将数据发送至中间层交换机的交换机,根据C′x=3,则数据通过当前核心层交换C′的4号增设端口经1号虚信道发送至核心层交换机C左1,根据C左1x=C′x=1,C左1y=C′y=0,C左1z=(C′z+k2/4-1)mod(k2/4)=2,得到核心层交换机C左1的地址信息为(1,0,2);
I6)数据经核心层交换机C左1的2号下行端口发送至中间层交换机I′,根据核心层交换机C左1的地址信息C左1z=k/2*g+j,得到中间变量g=1,j=0,其中g取值范围为[0,k/2],j取值范围[0,k/2],再根据I′x=C左1x=1,I′y=C左1y+1=1,I′z=k*g+pc=6,得到中间层交换机I′的地址为(1,1,6)。
步骤J.中间层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
J1)中间层交换机I′(1,1,6)读取数据到达当前设备时的输入端口信息及数据的目的地址信息,得知数据从中间层交换机I′的2号上行端口输入,数据的目的地址为(1,4,5);
J2)中间层交换机I′读取其第0和第1号下行端口的缓存使用信息,比较两者的剩余缓存空间,假设I′的0号下行端口的剩余缓存空间比1号下行端口剩余缓存空间大,则选择1号下行端口为数据输出端口,用变量h代表选定的下行端口号,h取值范围为[0,k/2-1];
J3)数据经中间层交换机I′的内部交换结构由其2号上行端口发送至1号下行端口,再由1号下行端口将数据发送至汇聚层交换机A′,根据中间层交换机I′的地址信息:I′z=6=k·g+w,得到中间变量g=1,w=2,g取值范围为[0,k/2-1],w取值范围为[0,k-1]再由w=k/2*c+s,得到中间变量c=1,s=0,c取值范围为[0,1],s取值范围为[0,k/2-1],根据A′x=I′x=1,A′y=I′y+1=2,A′z=k*s+k/2*c+h=3,得到汇聚层交换机的地址为(1,2,3)。
步骤K.汇聚层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
K1)汇聚层交换机A′(1,2,3)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从汇聚层交换机A′的3号上行端口输入,数据的目的地址为(1,4,5);
K2)根据目的服务器D的地址信息:Dz=5=k2/4*i+k/2*j+p,得到中间变量i=1,j=0,i取值范围为[0,k/2-1],j取值范围为[0,k/2-1],确定汇聚层交换机A′的j=0号下行端口为数据输出端口;
K3)数据经汇聚层交换机A′的内部交换结构由3号上行端口发送至其0号下行端口处,再由0号下行端口转发至边缘层交换机E′,根据E′x=A′x=1,E′y=A′y+1=3,E′z=k/2*i+j=2,得到边缘层交换机E′的地址信息为(1,3,2)。
步骤L.边缘层交换机读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径。
L1)边缘层交换机E′(1,3,2)读取数据到达当前设备时的输入端口信息及数据的目的地址,得知数据从边缘层交换机的3号上行端口输入,数据的目的地址为(1,4,5);
L2)根据目的服务器D的地址信息:Dz=k2/4*i+k/2*j+p,得到中间变量i=1,j=0,p=1,i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1],选定边缘层交换机E′的p=1号下行端口为数据输出端口;
L3)数据经边缘层交换机E′的1号下行端口转发至目的服务器D,源服务器S与目的服务器D之间通信结束。
Claims (10)
1.一种基于模块扩展的数据中心网络拓扑系统的路由方法,包括如下步骤:
(1)采用三维坐标为拓扑系统中的各网络设备编址:
源服务器S的地址信息用(Sx,Sy,Sz)表征,目的服务器D的地址信息用(Dx,Dy,Dz)表征,核心层交换机C的地址信息用(Cx,Cy,Cz)表征,中间层交换机I的地址信息用(Ix,Iy,Iz)表征,汇聚层交换机A的地址信息用(Ax,Ay,Az)表征,边缘层交换机E的地址信息用(Ex,Ey,Ez)表征,其中:
下标x用于表征该位为第一维坐标,第一维坐标代表网络设备在拓扑系统中所属的基本模块,取值范围为[0,m-1],m是拓扑系统中包括的基本模块数;
下标y用于表征该位为第二维坐标,第二维坐标代表网络设备在基本模块中所属的层次,取值范围为[0,4];
下标z用于表征该位为第三维坐标,第三维坐标代表网络设备在基本模块内同层设备中所处的位置:对于核心层交换机,取值范围为[0,k2/4-1],对于中间层交换机、汇聚层交换机及边缘层交换机,取值范围均为[0,k2/2-1];对于服务器,取值范围为[0,k3/4-1],其中k是基本模块包括的Pod结构数,该Pod结构是由两层交换机组成,上层为k/2个汇聚层的交换机,下层为k/2个边缘层的交换机;
(2)在各核心层交换机的每个增设端口处设置2个虚信道,分别标记为0号虚信道和1号虚信道;当相邻的两个核心层交换机之间有数据传输时,根据核心层交换机的地址信息,决定数据传输信道:当两个核心层交换机属于相同基本模块时,编址Cz值小的交换机通过0号虚信道将数据传送至编址Cz值大的交换机,编址Cz值大的交换机通过1号虚信道将数据传送至编址Cz值小的交换机;当两个核心层交换机属于不同基本模块时,编址Cx值小的交换机通过0号虚信道将数据传送至编址Cx值大的交换机,编址Cx值大的交换机通过1号虚信道将数据传送至编址Cx值小的交换机;从而避免在网络拓扑的横向环及纵向环上选路时出现路由环路;
(3)从当前设备的寄存器中读出设备的地址信息,根据地址信息的第二维坐标值判定设备类型:若第二维坐标值为0,则当前设备为核心层交换机,执行步骤(8);若第二维坐标值为1,则当前设备为中间层交换机,执行步骤(7);若第二维坐标值为2时,则当前设备为汇聚层交换机,执行步骤(6);若第二维坐标值为3,则当前设备为边缘层交换机,执行步骤(5);若第二维坐标值为4,则当前设备为服务器,执行步骤(4);
(4)若服务器有数据需要传输,则该服务器作为源服务器S产生数据分组,将目的服务器D的地址信息添加到数据分组头中,根据源服务器S的地址信息:Sz=k2/4*i+k/2*j+p,得到三个中间变量i、j、p,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1];源服务器S通过边缘交换机E的p号下行端口将数据发至其直连的边缘层交换机E;
(5)边缘层交换机E读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径:
若数据从边缘层交换机E的上行端口输入,则根据目的服务器地址选定边缘层交换机E的下行端口为数据输出端口,并将数据通过该下行端口发送至目的服务器D,通信结束;
若数据从边缘层交换机E的下行端口输入,且目的服务器D是边缘层交换机E的分支,则根据目的服务器地址选定边缘层交换机E的下行端口为数据输出端口,并将数据通过该下行端口发送至目的服务器D,通信结束;
若数据从边缘层交换机E的下行端口输入,但目的服务器D不是边缘层交换机E的分支,则根据边缘层交换机E的上行端口缓存信息选定E的上行端口为数据输出端口,并将数据通过该上行端口发送至汇聚层交换机A;
(6)汇聚层的交换机A读取数据到达当前设备时的输入端口信息,根据端口信息确定数据的转发路径:
若数据从汇聚层交换机A的上行端口输入,则根据目的服务器地址选定A的下行端口为数据输出端口,并将数据通过该下行端口发送至边缘层交换机E,返回步骤(5);
若数据从汇聚层交换机A的下行端口输入,且目的服务器D是汇聚层交换机A的分支,则根据目的服务器地址选定A的下行端口为数据输出端口,并将数据通过该下行端口发送至边缘层交换机E,返回步骤(5);
若数据从汇聚层交换机A的下行端口输入,但目的服务器D不是汇聚层交换机A的分支,则根据汇聚层交换机A的上行端口缓存信息选定A的上行端口为数据输出端口,并将数据通过该上行端口发送至中间层交换机I;
(7)中间层的交换机I读取数据到达当前设备时的输入端口信息,根据端口信息确定数据转发路径:
若数据从中间层交换机I的上行端口输入,则中间层交换机读取其下行端口的缓存信息,优先选择剩余缓存空间最大的下行端口为数据输出端口,再将数据通过该下行端口发送至汇聚层交换机A,返回步骤(6);
若数据从中间层交换机I的下行端口输入,则中间层交换机读取其上行端口的缓存信息,优先选择剩余缓存空间最大的上行端口为数据输出端口,再将数据通过该上行端口发送至核心层交换机C;
(8)核心层交换机C读取数据分组的目的地址信息,根据目的地址判断目的服务器D与核心层交换机C是否处于同一模块,再确定数据转发路径:
若目的服务器D与核心层交换机C属于相同基本模块,则根据目的服务器D的地址信息确定数据输出的下行端口号;再根据该基本模块内各核心层交换机中选定的下行端口的归一化剩余缓存空间及路径跳数信息,计算选择核心层交换机C及其左右相邻的核心层交换机C左1、C左2、C右1、C右2进行数据传输的概率P、P左1、P左2、P右1、P右2,并将计算结果进行比较,优先选择最大概率值相对应的核心层交换机为数据转发交换机,若有两个以上相同的最大概率值时,则根据路径跳数小优先的原则选择最大概率值相对应的交换机,若路径跳数也相同时,则再根据左优先原则选择数据转发交换机;核心层交换机C将数据发送至选定的核心层交换机,再通过选定的核心层交换机的选定下行端口,将数据发送至中间层交换机I,返回步骤(7);
2.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(5)所述的“若数据从边缘层交换机E的上行端口输入,则根据目的服务器地址选定边缘层交换机E的下行端口为数据输出端口”,是根据目的服务器D的地址信息:Dz=k2/4*i+k/2*j+p,得到中间变量p的值,p取值范围为[0,k/2-1],将该p值作为数据输出的下行端口号,其中k是基本模块包括的Pod结构数。
3.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(5)所述的“若数据从边缘层交换机E的下行端口输入,且目的服务器D是边缘层交换机E的分支,则根据目的服务器地址选定边缘层交换机E的下行端口为数据输出端口”,是先比较边缘层交换机E的地址信息Ex与目的服务器的地址信息Dx,若得到Dx=Ex,则再根据边缘层交换机E地址信息:Ez=k/2*i+j,得到两个中间变量i、j值,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],通过i、j的数值计算当前边缘层交换机E所连接服务器地址信息中第三维坐标的取值范围为[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1];若目的服务器地址信息满足Dx=Ex且Dz∈[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1],则判定目的服务器D是边缘层交换机E的分支,再根据Dz=k2/4*i+k/2*j+p,得到三个中间变量i、j、p的值,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1],将该p值作为数据输出的下行端口号,其中k是基本模块包括的Pod结构数。
4.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(5)所述的“若数据从边缘层交换机E的下行端口输入,但目的服务器D不是边缘层交换机E的分支,则根据边缘层交换机E的上行端口缓存信息选定E的上行端口为数据输出端口”,是先比较边缘层交换机E的地址信息Ex与目的服务器的地址信息Dx:
若得知Dx≠Ex,则判定目的服务器D不是边缘层交换机E的分支,由边缘层交换机E读取其上行端口的缓存使用信息,优先选择剩余缓存空间最大的上行端口为数据输出端口;
若得知Dx=Ex,则再根据边缘层交换机E的地址信息:Ez=k/2*i+j,得到两个中间变量i、j,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],通过i、j的数值计算当前边缘层交换机E所连接服务器的地址信息中第三维坐标的取值范围为[k2/4*i+k/2*j,k2/4*i+k/2*j+k/2-1],若目的服务器地址信息满足Dx=Ex但则判定目的服务器D不是边缘层交换机E的分支,再由边缘层交换机E读取其上行端口的缓存使用信息,优先选择剩余缓存空间最大的上行端口为数据输出端口,其中k是基本模块包括的Pod结构数。
5.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(6)所述的“若数据从汇聚层交换机A的上行端口输入,则根据目的服务器地址选定A的下行端口为数据输出端口”,是根据目的服务器D的地址信息:Dz=k2/4*i+k/2*j+p,得到三个中间变量i、j、p,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1],k是基本模块包括的Pod结构数,将j值作为数据输出的下行端口号。
6.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(6)所述的“若数据从汇聚层交换机A的下行端口输入,且目的服务器D是汇聚层交换机A的分支,则根据目的服务器地址选定A的下行端口为数据输出端口”,是先比较汇聚层交换机A的地址信息Ax与目的服务器的地址信息Dx,若得到Dx=Ax,则再根据目的服务器D地址信息:Dz=k2/4*i+k/2*j+p,汇聚层交换机A的地址信息:Az=k/2*i′+j′,得到四个中间变量i、j、i′、j′,其中i、i′取值范围为[0,k-1],j、j′取值范围为[0,k/2-1],若得到Dx=Ax且i′=i,则判定目的服务器D是汇聚层交换机A的分支,将i值作为数据输出的下行端口号,其中k是基本模块包括的Pod结构数。
7.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(6)所述的“若数据从汇聚层交换机A的下行端口输入,但目的服务器D不是汇聚层交换机A的分支,则根据汇聚层交换机A的上行端口缓存信息选定A的上行端口为数据输出端口”,是先比较汇聚层交换机A的地址信息Ax与目的服务器的地址信息Dx:
若得到Dx≠Ax,则判定目的服务器D不是汇聚层交换机A的分支,再由汇聚层交换机A读取其上行端口的缓存使用信息,优先选择剩余缓存空间最大的上行端口为数据转发端口;
若得到Dx=Ax,则再根据目的服务器D的地址信息:Dz=k2/4*i+k/2*j+p,汇聚层交换机A的地址信息:Az=k/2*i′+j′,得到四个中间变量i、j、i′、j′,其中i、i′取值范围为[0,k-1],j、j′取值范围为[0,k/2-1],其中k是基本模块包括的Pod结构数,若得到Dx=Ax但i′≠i,则判定目的服务器D不是汇聚层交换机A的分支,再由汇聚层交换机A读取其上行端口的缓存使用信息,优先选择剩余缓存空间最大的上行端口为数据输出端口。
8.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(8)所述的“若目的服务器D与核心层交换机C属于相同基本模块,则根据目的服务器D的地址信息确定数据输出的下行端口号”,是先根据核心层交换机与目的服务器D的地址信息关系:Cx=Dx,则判定目的服务器D与核心层交换机C属于相同基本模块;再根据目的服务器D的地址信息:Dz=k2/4*i+k/2*j+p,得到三个中间变量i、j、p,其中i取值范围为[0,k-1],j取值范围为[0,k/2-1],p取值范围为[0,k/2-1],由i=2g+c,得到两个中间变量g、c,g取值范围为[0,k/2-1],c取值范围为[0,1],再由pc=g+c*k/2,得到中间变量pc,pc取值范围为[0,k-1],将pc值作为数据转发的下行端口号,其中k是基本模块包括的Pod结构数。
9.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(8)所述的“计算选择核心层交换机C及其左右相邻的核心层交换机C左1、C左2、C右1、C右2进行数据传输的概率P、P左1、P左2、P右1、P右2”,是根据核心层交换机C及其左右相邻的核心层交换机C左1、C左2、C右1、C右2中选定的下行端口的归一化剩余缓存空间,依据公式:P概率=α*B+β*T,计算各概率值,
其中α、β为系统参数,0≤α≤1,-1≤β≤0,B代表归一化剩余缓存空间,B取值范围为[0,1],T代表路径跳数,T取值范围为[4,6];
归一化剩余缓存空间,定义为端口剩余缓存空间与端口总缓存空间的比值;
路径跳数,定义为数据分组从当前核心层交换机C发送至目的服务器D过程中转发该数据的交换机个数。
10.根据权利要求1所述的基于模块扩展的数据中心网络拓扑系统的路由方法,其中步骤(8)所述的“若目的服务器D与核心层交换机C属于不同基本模块,根据|Cx-Dx|与及Cx与Dx的大小关系,确定数据在纵向环上的转发路径”,是先根据核心层交换机C及目的服务器D的地址信息关系:Cx≠Dx,则判定目的服务器D与核心层交换机C属于不同基本模块,再根据Cx与Dx及|Cx-Dx|与的大小关系,确定数据转发路径:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210005727XA CN102420775A (zh) | 2012-01-10 | 2012-01-10 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210005727XA CN102420775A (zh) | 2012-01-10 | 2012-01-10 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102420775A true CN102420775A (zh) | 2012-04-18 |
Family
ID=45945015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210005727XA Pending CN102420775A (zh) | 2012-01-10 | 2012-01-10 | 基于模块扩展的数据中心网络拓扑系统的路由方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102420775A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2014071718A1 (zh) * | 2012-11-08 | 2014-05-15 | 华为技术有限公司 | 拓扑分级方法、装置及洪泛的处理方法、装置 |
CN103929378A (zh) * | 2013-01-15 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 跨域数据传输的通信链路分配及跨域数据传输方法和系统 |
CN104038418A (zh) * | 2014-05-19 | 2014-09-10 | 暨南大学 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
CN105338552A (zh) * | 2015-09-28 | 2016-02-17 | 联想(北京)有限公司 | 一种信息处理方法和装置 |
CN105763372A (zh) * | 2016-02-29 | 2016-07-13 | 上海交通大学 | 基于拓扑简化的数据中心网络的性能评估方法 |
CN106998299A (zh) * | 2016-01-22 | 2017-08-01 | 华为技术有限公司 | 数据中心网络中网络设备的识别方法、装置及系统 |
CN107608462A (zh) * | 2016-07-12 | 2018-01-19 | 纬创资通股份有限公司 | 服务器系统及储存单元的控制方法 |
WO2018028457A1 (zh) * | 2016-08-10 | 2018-02-15 | 华为技术有限公司 | 一种确定路由的方法、装置及通信设备 |
CN108306752A (zh) * | 2017-12-07 | 2018-07-20 | 北京德塔精要信息技术有限公司 | 网络拓扑可视化的实现方法及装置 |
CN109067859A (zh) * | 2018-07-20 | 2018-12-21 | 北京航空航天大学 | 一种面向跨域协同服务的双层云架构系统及实现方法 |
CN109246006A (zh) * | 2018-08-15 | 2019-01-18 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN109327400A (zh) * | 2017-08-01 | 2019-02-12 | 华为技术有限公司 | 一种数据通信方法及数据通信网络 |
CN111107021A (zh) * | 2019-11-22 | 2020-05-05 | 广东工业大学 | 一种信息流路径的确定方法、装置、设备和存储介质 |
CN111614921A (zh) * | 2020-04-15 | 2020-09-01 | 视联动力信息技术股份有限公司 | 一种通信方法及装置 |
CN112260788A (zh) * | 2020-10-19 | 2021-01-22 | 北京邮电大学 | 动态高精度时频同步网 |
CN115334020A (zh) * | 2022-07-28 | 2022-11-11 | 深圳市普端科技有限公司 | 一种带有网络数据负载均衡的网络交换系统 |
CN115834462A (zh) * | 2021-09-15 | 2023-03-21 | 华为技术有限公司 | 路由信息处理方法、通信装置及通信网络 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917331A (zh) * | 2008-09-11 | 2010-12-15 | 丛林网络公司 | 用于数据中心的系统、方法以及设备 |
CN102185772A (zh) * | 2011-05-05 | 2011-09-14 | 北京交通大学 | 数据中心网络系统的路由方法 |
US20110302346A1 (en) * | 2009-01-20 | 2011-12-08 | The Regents Of The University Of California | Reducing cabling complexity in large-scale networks |
-
2012
- 2012-01-10 CN CN201210005727XA patent/CN102420775A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101917331A (zh) * | 2008-09-11 | 2010-12-15 | 丛林网络公司 | 用于数据中心的系统、方法以及设备 |
US20110302346A1 (en) * | 2009-01-20 | 2011-12-08 | The Regents Of The University Of California | Reducing cabling complexity in large-scale networks |
CN102185772A (zh) * | 2011-05-05 | 2011-09-14 | 北京交通大学 | 数据中心网络系统的路由方法 |
Cited By (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9722924B2 (en) | 2012-11-08 | 2017-08-01 | Huawei Technologies Co., Ltd. | Topology stratification method and apparatus, and flooding processing method and apparatus |
WO2014071718A1 (zh) * | 2012-11-08 | 2014-05-15 | 华为技术有限公司 | 拓扑分级方法、装置及洪泛的处理方法、装置 |
CN103929378A (zh) * | 2013-01-15 | 2014-07-16 | 腾讯科技(深圳)有限公司 | 跨域数据传输的通信链路分配及跨域数据传输方法和系统 |
CN103929378B (zh) * | 2013-01-15 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 跨域数据传输的通信链路分配及跨域数据传输方法和系统 |
CN104038418A (zh) * | 2014-05-19 | 2014-09-10 | 暨南大学 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
CN104038418B (zh) * | 2014-05-19 | 2017-05-31 | 暨南大学 | 针对混合型拓扑结构数据中心的路由方法、路径探测机制和报文处理机制 |
CN105338552B (zh) * | 2015-09-28 | 2018-11-09 | 联想(北京)有限公司 | 一种信息处理方法和装置 |
CN105338552A (zh) * | 2015-09-28 | 2016-02-17 | 联想(北京)有限公司 | 一种信息处理方法和装置 |
CN106998299B (zh) * | 2016-01-22 | 2019-10-18 | 华为技术有限公司 | 数据中心网络中网络设备的识别方法、装置及系统 |
CN106998299A (zh) * | 2016-01-22 | 2017-08-01 | 华为技术有限公司 | 数据中心网络中网络设备的识别方法、装置及系统 |
CN105763372A (zh) * | 2016-02-29 | 2016-07-13 | 上海交通大学 | 基于拓扑简化的数据中心网络的性能评估方法 |
CN105763372B (zh) * | 2016-02-29 | 2019-06-21 | 上海交通大学 | 基于拓扑简化的数据中心网络的性能评估方法 |
CN107608462A (zh) * | 2016-07-12 | 2018-01-19 | 纬创资通股份有限公司 | 服务器系统及储存单元的控制方法 |
WO2018028457A1 (zh) * | 2016-08-10 | 2018-02-15 | 华为技术有限公司 | 一种确定路由的方法、装置及通信设备 |
US10644996B2 (en) | 2016-08-10 | 2020-05-05 | Huawei Technologies Co., Ltd. | Route determining method and apparatus, and communications device |
US11303571B2 (en) | 2017-08-01 | 2022-04-12 | Huawei Technologies Co., Ltd. | Data communication method and data communications network |
CN109327400A (zh) * | 2017-08-01 | 2019-02-12 | 华为技术有限公司 | 一种数据通信方法及数据通信网络 |
CN108306752A (zh) * | 2017-12-07 | 2018-07-20 | 北京德塔精要信息技术有限公司 | 网络拓扑可视化的实现方法及装置 |
CN108306752B (zh) * | 2017-12-07 | 2021-06-08 | 北京德塔精要信息技术有限公司 | 网络拓扑可视化的实现方法及装置 |
CN109067859A (zh) * | 2018-07-20 | 2018-12-21 | 北京航空航天大学 | 一种面向跨域协同服务的双层云架构系统及实现方法 |
CN109246006A (zh) * | 2018-08-15 | 2019-01-18 | 曙光信息产业(北京)有限公司 | 一种通过交换芯片构建的交换系统及其路由算法 |
CN111107021A (zh) * | 2019-11-22 | 2020-05-05 | 广东工业大学 | 一种信息流路径的确定方法、装置、设备和存储介质 |
CN111614921A (zh) * | 2020-04-15 | 2020-09-01 | 视联动力信息技术股份有限公司 | 一种通信方法及装置 |
CN112260788A (zh) * | 2020-10-19 | 2021-01-22 | 北京邮电大学 | 动态高精度时频同步网 |
CN115834462A (zh) * | 2021-09-15 | 2023-03-21 | 华为技术有限公司 | 路由信息处理方法、通信装置及通信网络 |
CN115334020A (zh) * | 2022-07-28 | 2022-11-11 | 深圳市普端科技有限公司 | 一种带有网络数据负载均衡的网络交换系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102420775A (zh) | 基于模块扩展的数据中心网络拓扑系统的路由方法 | |
CN110086713B (zh) | 一种用于广域量子密钥分配网络的分域路由方法 | |
Cui et al. | Wireless data center networking | |
CN102394782B (zh) | 基于模块扩展的数据中心网络拓扑系统 | |
CN106209629A (zh) | 确定性的且优化的比特索引显式复制(bier)转发 | |
CN103117957B (zh) | 机会网络中基于消息副本数与综合效能的缓存管理方法 | |
CN102055675B (zh) | 一种基于负载均衡的多径路由分配方法 | |
Escudero-Sahuquillo et al. | A new proposal to deal with congestion in InfiniBand-based fat-trees | |
CN106936645B (zh) | 基于排队论的树形网络拓扑结构的优化方法 | |
CN106209669A (zh) | 面向sdn数据中心网络最大概率路径流调度方法及装置 | |
CN102710489A (zh) | 动态分流调度系统和方法 | |
CN101572669A (zh) | Vpn报文的转发方法及其路由标签的分配、删除方法 | |
CN102185772B (zh) | 数据中心网络系统的路由方法 | |
Cui et al. | Wireless link scheduling for data center networks | |
CN105978805A (zh) | 一种面向任播属性业务的节能路由方法 | |
CN105515993B (zh) | 一种光电混合交换内部路径映射方法 | |
CN108400936A (zh) | 基于mpls的空间信息网络路由方法 | |
CA3223804A1 (en) | Deadlock-free multipath routing for direct interconnect networks | |
CN101325560B (zh) | 一种链路生成方法及其装置 | |
CN109246006A (zh) | 一种通过交换芯片构建的交换系统及其路由算法 | |
CN102136998A (zh) | 流量工程和服务器选择的联合优化方法、系统及相关设备 | |
Zhu et al. | Efficient hybrid multicast approach in wireless data center network | |
CN102546380A (zh) | 修改的基于树的多播路由方案 | |
CN106789750B (zh) | 一种高性能计算互连网络系统及通信方法 | |
CN101442468B (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 | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120418 |