Clos网络中负载均衡的方法及装置与流程

文档序号:12068001阅读:371来源:国知局
Clos网络中负载均衡的方法及装置与流程

本发明涉及通信技术领域,尤其涉及一种Clos网络中负载均衡的方法及装置。



背景技术:

数据中心网络中,交换网有时会因为拥塞而丢包。拥塞导致的交换网丢包有两种类型,一种为端口冲突,另一种为下行冲突。端口冲突是指在交换网的边界,与终端直接相连的边界交换机中,当多条流被边界交换机的同一个出端口发送时,多条大象流的流量之和会超过端口容量,从而引起拥塞。下行冲突是指网络中多个边界交换机同时将流发送到同一个核心交换机,核心交换机用于连接网络中的边界交换机,并通过此核心交换机发送到同一个目的边界交换机,此核心交换机通过与目的边界交换机连接的端口发送多个大象流,多条大象流的流量之和会超过端口容量,从而导致下行流量汇聚拥塞。为了避免丢包,网络中的边界交换机需要对网络流量进行负载均衡。负载均衡效果直接影响用户体验。在3阶(英文:3-stage)克劳斯(英文:Clos)网络中,通常采用的方法为:源边界交换机向目的边界交换机发送报文时,选择最小负载路径向目的边界交换机发送。为方便描述,以下将源边界交换机与核心交换机之间的路径称为上行链路,将核心交换机与目的边界交换机的路径称为下行链路。源边界交换机向目的边界交换机发送报文时,在每个报文的虚拟扩展局域网(英文:Virtual Extensible LAN,缩写:VXLAN)头中封装路径标记(字段名:LBTag)和拥塞程度(字段名:CE),其中,LBTag为源边界交换机发送报文采用的端口号,CE用于表示报文传输路径的拥塞度量值,此时CE的值为0。报文在经过核心交换机时,核心交换机将该报文的CE值更新为下行链路的拥塞度量值。报文发送到目的边界交换机后,目的边界交换机暂存下行链路 的拥塞度量值。当目的边界交换机向源边界交换机发送反向报文时,将暂存的下行链路的拥塞度量值封装到大二层头的反馈拥塞度量(字段名:FB_Metric),并在大二层头的反馈路径标记(字段名:FB_LBTag)中封装目的边界交换机标识和目的边界交换机发送反向报文的端口号。如此,源边界交换机就可以根据源边界交换机的上行链路拥塞值和目的边界交换机发送的下行链路的拥塞度量值来确定整体路径的拥塞情况,进而决策出由源边界交换机到目的边界交换机的负载最小的路径。但是,上述方法只适用于3阶Clos网络,不适用于大规模深层次Clos网络架构中。



技术实现要素:

本发明的实施例提供一种Clos网络中负载均衡的方法及装置,能够解决3阶Clos网络中负载均衡的方法不适用于大规模深层次Clos网络架构中的问题。

为达到上述目的,本发明的实施例采用如下技术方案:

第一方面,本发明的实施例提供一种Clos网络中负载均衡的方法,用于包括若干个边缘交换机和至少一个中间交换机组成的多级交换网络系统,所述若干个边缘交换机包括第一边缘交换机和第二边缘交换机,所述方法包括:

所述Clos网络包括第一组交换机和第二组交换机,所述第一组交换机中的任意一个交换机连接到所述第二组交换机中的至少一个交换机,所述第一组交换机中的任意两个交换机通过多个路径相连,其中所述多个路径中的任意一个路径包括所述第二组交换机中的至少一个交换机,所述第一组交换机包括第一交换机和第二交换机,所述方法包括:

所述第一交换机接收第一报文,所述第一报文的目的网际协议(英文:Internet Protocol,缩写:IP)地址为与所述第二交换机相连的终端的IP地址;

所述第一交换机确定第三交换机,所述第三交换机为所述第二组交换机中的一个交换机,所述第一交换机和所述第二交换机通过所述第三交换 机相连;

所述第一交换机对所述第一报文进行隧道封装,所述隧道封装的IP头中的目的IP地址为所述第二交换机的IP地址;

所述第一交换机对隧道封装后的所述第一报文进行网际协议中的网际协议(英文:IP-in-IP)封装,其中所述IP-in-IP封装的内层IP头为所述隧道封装的IP头,所述IP-in-IP封装的外层IP头的目的IP地址为所述第三交换机的IP地址;

所述第一交换机发送IP-in-IP封装后的所述第一报文。

结合第一方面,在第一方面的第一种可能的实现方式中,所述第一交换机确定第三交换机包括:

所述第一交换机根据所述第二交换机的IP地址以及所述第一交换机到所述第二交换机的路径参数集合确定第三交换机,其中,所述第一交换机到所述第二交换机的路径参数集合包括连接所述第一交换机和所述第二交换机的多个路径中的至少一个路径的参数,所述参数包括所述参数所属的路径上的一个交换机的IP地址和所述参数所属的路径的度量值。

结合第一方面或第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,所述隧道封装的IP头中包括所述第三交换机的标识和第一时间,所述第一时间为所述第一交换机的当前时间。

结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,所述参数所属的路径的度量值包括所述参数所属的路径的时延;

在所述第一交换机发送IP-in-IP封装后的所述第一报文之后,所述方法还包括:

接收所述第二交换机发送的第二报文,所述第二报文为隧道封装的报文,所述第二报文的隧道头中包括和所述第三交换机的标识,所述第二报文的隧道头中还包括第一时延或第二时间,所述第二时间为所述第二交换机接收所述第一报文的时间,所述第一时延为所述第二时间和所述第一时 间的差值;

所述第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的第一时延,或所述第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的所述第二时间和所述第一时间的差值。

结合第一方面或第一方面的第二种可能的实现方式中,在第一方面的第四种可能的实现方式中,所述第一交换机确定第三交换机包括:

所述第一交换机接收第二交换机发送的第三报文,所述第三报文携带所述第二交换机确定的所述第三交换机的标识;

所述第一交换机获取所述第三报文中所述第三交换机的标识。

结合第一方面或第一方面的任一种可能的实现方式中,在第一方面的第五种可能的实现方式中,所述方法还包括:

所述第一交换机接收第四交换机发送的第三报文,所述第四交换机属于所述第一交换机组,所述第三报文携带第三时间;

所述第一交换机向所述第四交换机发送第四时间或者第二时延,所述第四时间为所述第一交换机接收所述第三报文的时间,所述第二时延为所述第四时间和所述第三时间的差值。

第二方面,本发明的实施例提供一种Clos网络中负载均衡的装置,所述Clos网络包括第一组交换机和第二组交换机,所述第一组交换机中的任意一个交换机连接到所述第二组交换机中的至少一个交换机,所述第一组交换机中的任意两个交换机通过多个路径相连,其中所述多个路径中的任意一个路径包括所述第二组交换机中的至少一个交换机,所述第一组交换机包括第一交换机和第二交换机,所述装置位于所述第一交换机,所述装置包括:

接收单元,用于接收第一报文,所述第一报文的目的IP地址为与所述第二交换机相连的终端的IP地址;

确定单元,用于确定第三交换机,所述第三交换机为所述第二组交换机中的一个交换机,所述第一交换机和所述第二交换机通过所述第三交换机相连;

第一封装单元,用于对所述第一报文进行隧道封装,所述隧道封装的IP头中的目的IP地址为所述第二交换机的IP地址;

第二封装单元,用于对隧道封装后的所述第一报文进行IP-in-IP封装,其中所述IP-in-IP封装的内层IP头为所述隧道封装的IP头,所述IP-in-IP封装的外层IP头的目的IP地址为所述第三交换机的IP地址。

发送单元,用于发送IP-in-IP封装后的所述第一报文。

结合第二方面,在第二方面的第一种可能的实现方式中,所述确定单元具体用于根据所述第二交换机的IP地址以及所述第一交换机到所述第二交换机的路径参数集合确定第三交换机,其中,所述第一交换机到所述第二交换机的路径参数集合包括连接所述第一交换机和所述第二交换机的多个路径中的至少一个路径的参数,所述参数包括所述参数所属的路径上的一个交换机的IP地址和所述参数所属的路径的度量值。

结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述隧道封装的IP头中包括所述第三交换机的标识和第一时间,所述第一时间为所述第一交换机的当前时间。

结合第二方面的第二种可能的实现方式,在第二方面的第三种可能的实现方式中,所述参数所属的路径的度量值包括所述参数所属的路径的时延;

所述接收单元还用于接收所述第二交换机发送的第二报文,所述第二报文为隧道封装的报文,所述第二报文的隧道头中包括和所述第三交换机的标识,所述第二报文的隧道头中还包括第一时延或第二时间,所述第二时间为所述第二交换机接收所述第一报文的时间,所述第一时延为所述第二时间和所述第一时间的差值;所述装置还包括:

更新单元,用于将所述第一交换机到所述第二交换机的路径参数集合 中所述第三交换机所在路径的时延更新为所述第二报文中的第一时延,或所述第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的所述第二时间和所述第一时间的差值。

结合第二方面或第二方面的第二种可能的实现方式中,在第二方面的第四种可能的实现方式中,所述接收单元还用于接收第二交换机发送的第三报文,所述第三报文携带所述第二交换机确定的所述第一交换机向所述第二交换机发送报文的第三交换机的标识;所述装置还包括:

获取单元,用于根据所述第三报文中的所述第三交换机的标识确定所述第三交换机。

结合第二方面或第二方面的任一种可能的实现方式中,在第二方面的第五种可能的实现方式中,所述接收单元还用于接收第四交换机发送的第三报文,所述第四交换机属于所述第一交换机组,所述第三报文携带第三时间;

所述发送单元还用于向所述第四交换机发送第四时间或者第二时延,所述第四时间为所述第一交换机接收所述第三报文的时间,所述第二时延为所述第四时间和所述第三时间的差值。

本发明实施例提供的一种Clos网络中负载均衡的方法及装置,本发明中第一交换机接收报文后,首先确定连接第一交换机和第二交换机的第三交换机,然后对报文进行隧道封装,隧道封装的IP头中的目的IP地址为第二交换机的IP地址,对隧道封装后的报文进行IP-in-IP封装,IP-in-IP封装的外层IP头的目的IP地址为第三交换机的IP地址,如此第一交换机发送报文时,首先会根据IP-in-IP封装的外层IP头中的第三交换机的IP地址,将报文发送至第三交换机,然后第三交换机根据隧道封装的IP头中的第二交换机的IP地址将报文发送至第二交换机。如此,在大规模深层次Clos网络架构中,例如,5阶Clos网络中,由于第一交换机到第三交换机的路径是唯一的,第三交换机到第二交换机的路径也是唯一的,可以通过这种转发方式 改变第三交换机来达到改变第一交换机到第二交换机的路径的目的,可以精细地控制大规模深层次Clos网络架构中的流量的路径,实现改进网络中的负载均衡。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1、图2、图3为本发明实施例提供的网络架构示意图;

图4为本发明一实施例提供的方法流程图;

图5为本发明又一实施例提供的网络架构示意图;

图6为本发明又一实施例提供的方法流程图;

图7为本发明又一实施例提供的方法流程图;

图8为本发明又一实施例提供的方法流程图;

图9、图10为本发明又一实施例提供的装置结构示意图;

图11为本发明又一实施例提供的通信设备结构示意图。

具体实施方式

大规模深层次Clos网络(例如5阶Clos网络)架构中,从一个边界交换机的一个端口到另一边界交换机的路径可以有多条。如果用发送报文的端口号作为流量的调整粒度,则不能精细地控制流量在这多个路径间切换,负载均衡的效果不佳。

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述。

为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。

本发明实施例适用于Clos网络中。本发明实施例中将Clos网络中的交换机分为两类,分别为第一组交换机和第二组交换机。第一组交换机中的 交换机为边界交换机,第二组交换机中的交换机为边界交换机之外的其他交换机。第一组交换机中的任意一个交换机连接到第二组交换机中的至少一个交换机。第一组交换机中的任意两个交换机通过多个路径相连,其中多个路径中的任意一个路径包括第二组交换机中的至少一个交换机。所述多个路径中的任意一个路径仅包括所述第二组交换机中的交换机,也就是说第一组交换机中的任意两个交换机不直接相连。例如,如图1所示为3阶Clos的网络架构,其中,位于网络边界的边界交换接为第一组交换机,用于连接边界交换机的核心交换机为第二组交换机;如图2所示为5阶Clos网络的网络架构,位于网络边界的边界交换接为第一组交换机,用于连接边界交换机的交换机为第二组交换机,其中,第二组交换机分为两类,与边界交换机中的至少一个交换机直接相连为汇聚交换机,不与边界交换机直接连接的为核心交换机。如图3所示为包括虚拟交换机的5阶Clos的网络架构,其中,位于服务器上的虚拟交换机为第一组交换机,用于连接边界交换机的交换机为第二组交换机。

本发明一实施例提供一种克劳斯Clos网络中负载均衡的方法,如图4所示,所述方法包括:

101、所述第一交换机接收第一报文。

其中,所述第一报文的目的网际协议IP地址为与所述第二交换机相连的终端的IP地址。

其中,第一交换机可以根据第一报文的目的IP地址查询预设映射,确定第二交换机的IP地址。预设映射为多个终端的IP地址到第一组交换机中的多个交换机的IP地址的映射。

102、所述第一交换机确定第三交换机。

其中,所述第三交换机为所述第二组交换机中的一个交换机,所述第一交换机和所述第二交换机通过所述第三交换机相连。本步骤中可以确定第三交换机的标识或IP地址。

在Clos网络中,第一组交换机中任意两个交换机之间的路径都可以用 此两个交换机之间的路径通过的一个第二组交换机标识,例如,如图5所示为一个简化的5阶Clos网络架构,各交换机划分了不同的设备池(英文:Pool of Devices,缩写:POD),L1、L3、L2、A4为第一组交换机,A1、A3、A4、A2、A4、S1、S2为第二组交换机,L1、L3、A1、A3构成POD1,L2、A4、A2、A4构成POD2,L1与L3之间传输报文时,通过A1或A3就能完成,即A1或A3即可唯一表示L1与L3之间的一条路径;当L1与L4之间传输报文时,需要通过S1或S2就能完成,若确定路径要通过S2,则报文传输的路径确定为L1->A1->S2->A2->L4,即S1和S2即可唯一表示L1与L4之间的一条路径。而在大规模深层次Clos网络架构中,如果用传统的源边界交换机的IP地址和源边界交换机发送报文的端口号来标识路径,当报文传输到与源边界交换机相连的第二组交换机后,其传输到目的边界交换机的路径有不只一条,此时与源边界交换机相连的第二组交换机将无法确定至目的边界交换机的路径。例如,在如图5所示5阶Clos网络中,L1与L4之间传输报文,如果L1确定发送报文的出端口与A1连接,则报文传输到A1后无法在确定向L4传输的路径,负载均衡效果差。因此,本发明实施例用第二组交换机中的一个交换机的来确定路径。

103、所述第一交换机对所述第一报文进行隧道封装。

其中,所述隧道封装的IP头中的目的IP地址为所述第二交换机的IP地址。隧道封装可以为VXLAN封装或多链路透明互连(英文:Transparent Interconnection of Lots of Links,缩写:TRILL)封装。

104、所述第一交换机对隧道封装后的所述第一报文进行IP-in-IP封装。

其中,所述IP-in-IP封装的内层IP头为所述隧道封装的IP头,所述IP-in-IP封装的外层IP头的目的IP地址为所述第三交换机的IP地址。IP-in-IP封装的源IP地址为第一交换机的IP地址。

105、所述第一交换机发送IP-in-IP封装后的所述第一报文。

本发明中第一交换机接收报文后,首先确定连接第一交换机和第二交换机的第三交换机,然后对报文进行隧道封装,隧道封装的IP头中的目的 IP地址为第二交换机的IP地址,对隧道封装后的报文进行IP-in-IP封装,IP-in-IP封装的外层IP头的目的IP地址为第三交换机的IP地址,如此第一交换机发送报文时,首先会根据IP-in-IP封装的外层IP头中的第三交换机的IP地址,将报文发送至第三交换机,然后第三交换机根据隧道封装的IP头中的第二交换机的IP地址将报文发送至第二交换机。如此,在大规模深层次Clos网络架构中,例如,5阶Clos网络中,由于第一交换机到第三交换机的路径是唯一的,第三交换机到第二交换机的路径也是唯一的,可以通过这种转发方式改变第三交换机来达到改变第一交换机到第二交换机的路径的目的,可以精细地控制大规模深层次Clos网络架构中的流量的路径,实现改进网络中的负载均衡。

在本发明实施例的一种实现方式中,步骤102所述第一交换机确定第三交换机的方式可以为:所述第一交换机根据所述第二交换机的IP地址以及所述第一交换机到所述第二交换机的路径参数集合确定第三交换机。

其中,所述第一交换机到所述第二交换机的路径参数集合包括连接所述第一交换机和所述第二交换机的多个路径中的至少一个路径的参数,所述参数包括所述参数所属的路径上的一个交换机的IP地址或标识,以及所述参数所属的路径的度量值。度量值可以为该路径的数据流量,空闲带宽,带宽占用比例,时延或其任意组合。

本发明实施例中,度量值可以反映出第一交换机和所述第二交换机的多个路径的拥塞程度。第一交换机可以根据度量值进行加权计算确定出第三交换机,或者还可以度量值排序,确定出拥塞较小或最小的度量值,将其所属的路径上的一个交换机的IP地址或标识确定为第三交换机的IP地址或标识等。

第一交换机中将发送到相同的第二交换机的报文作为一条流。第一交换机在接收到一个报文后,根据报文的目的IP地址和与前一个第一交换机接收报文的时间间隔划分为不同的子流(英文:flowlet),当第一交换机接收到一个报文时,获取第一交换机接收此报文和其所在流中的前一个报 文的时间间隔是否达到预设值,若时间间隔达到预设值,则第一交换机将此报文确定为此报文所在流的新子流的第一个报文。所以,如果第一交换机采用流转发的方式转发报文,可以用以下方式确定第三交换机:若第一报文被第一交换机确定为新子流的第一个报文,则第一交换机根据本实施方式中的方式确定第三交换机,并将第三交换机的标识或IP地址存放在流表中新子流对应的流表项中。若第一报文被不是新子流的第一个报文,则第一交换机直接查流表中获取第三交换机的标识或IP地址。

在本发明实施例的又一种实现方式中,如图6所示,参数所属的路径的度量值包括所述参数所属的路径的时延,则在步骤103中所述隧道封装的IP头中包括所述第三交换机的标识和第一时间,所述第一时间为所述第一交换机的当前时间。在步骤105之后,本发明实施例还包括:

106、第一交换机接收所述第二交换机发送的第二报文。

其中,所述第二报文为所述隧道封装的报文,所述第二报文的隧道头中包括和所述第三交换机的标识,所述第二报文的隧道头中还包括第一时延或第二时间,所述第二时间为所述第二交换机接收所述第一报文的时间,所述第一时延为所述第二时间和所述第一时间的差值。

107、第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的第一时延,或所述第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的所述第二时间和所述第一时间的差值。

本实施方式中,第一交换机和第二交换机之间各路径的时延是基于相同的发送端和接收端确定的,所以第一交换机和第二交换机无需进行时间同步。

本实现方式中,第一交换机上述流程可以确定第三交换机所在路径的时延并更新第一交换机到所述第二交换机的路径参数集合,从而使后续第一交换机向第二交换机发送报文时,可以依据更新的路径参数集合确定第 三交换机进行负载均衡,提高第一交换机负载均衡的准确性。

在本发明实施例的又一种实现方式中,如图7所示,在步骤105之后,本发明实施例还包括:

108、所述第一交换机接收第二交换机发送的第三报文。

其中,所述第三报文携带所述第二交换机确定的所述第一交换机向所述第二交换机发送报文的第三交换机的标识。

步骤109、所述第一交换机获取所述第三报文中的所述第三交换机的标识。

第二交换机中存储第一交换机到所述第二交换机的路径参数集合,所述参数包括所述参数所属的路径上的一个交换机的IP地址或标识,以及所述参数所属的路径的度量值。第一交换机接收第一报文后,可以根据第一报文的相关参数确定第三交换机所在路径的度量值,并更新路径参数集合中第三交换机所在路径的度量值。进而可以根据路径参数集合确定出当前适合报文从第一交换机向第二交换机传输的路径。如果确定的当前适合报文从第一交换机向第二交换机传输的路径与第一报文传输的路径不相同,第二交换机将当前适合报文从第一交换机向第二交换机传输的路径标识通过第三报文发送给第一交换机,使第一交换机在后续向第二交换机发送报文时,可以所述第二交换机发送的所述第一交换机向所述第二交换机发送报文的交换机的标识确定第三交换机的标识,进行负载均衡,提高第一交换机负载均衡的准确性。

在本发明实施例的又一种实现方式中,如图8所示,本发明实施例还包括:

110、所述第一交换机接收第四交换机发送的第四报文。

其中,所述第四交换机属于所述第一交换机组,所述第四报文携带第三时间。

111、所述第一交换机向所述第四交换机发送第四时间或者第二时延。

其中,所述第四时间为所述第一交换机接收所述第四报文的时间,所 述第二时延为所述第四时间和所述第三时间的差值。

本发明实施例中,通过上述流程第一交换机将第四报文传输过程的时延发送给第四交换机,使得第四交换机可以根据第四报文传输过程的时延确定后续第四交换机向第一交换机发送报文的路径,提高第四交换机的准确性。

本发明又一实施例提供一种Clos网络中负载均衡的装置20,所述Clos网络包括第一组交换机和第二组交换机,所述第一组交换机中的任意一个交换机连接到所述第二组交换机中的至少一个交换机,所述第一组交换机中的任意两个交换机通过多个路径相连,其中所述多个路径中的任意一个路径包括所述第二组交换机中的至少一个交换机,所述第一组交换机包括第一交换机和第二交换机,所述装置20位于所述第一交换机,如图9所示,所述装置20包括:

接收单元21,用于接收第一报文,所述第一报文的目的IP地址为与所述第二交换机相连的终端的IP地址;

确定单元22,用于确定第三交换机,所述第三交换机为所述第二组交换机中的一个交换机,所述第一交换机和所述第二交换机通过所述第三交换机相连;

第一封装单元23,用于对所述第一报文进行隧道封装,所述隧道封装的IP头中的目的IP地址为所述第二交换机的IP地址;

第二封装单元24,用于对隧道封装后的所述第一报文进行IP-in-IP封装,其中所述IP-in-IP封装的内层IP头为所述隧道封装的IP头,所述IP-in-IP封装的外层IP头的目的IP地址为所述第三交换机的IP地址。

发送单元25,用于发送IP-in-IP封装后的所述第一报文。

进一步的,所述确定单元22具体用于根据所述第二交换机的IP地址以及所述第一交换机到所述第二交换机的路径参数集合确定第三交换机,其中,所述第一交换机到所述第二交换机的路径参数集合包括连接所述第一交换机和所述第二交换机的多个路径中的至少一个路径的参数,所述参数 包括所述参数所属的路径上的一个交换机的IP地址和所述参数所属的路径的度量值。

其中,所述隧道封装的IP头中包括所述第三交换机的标识和第一时间,所述第一时间为所述第一交换机的当前时间。

进一步的,所述参数所属的路径的度量值包括所述参数所属的路径的时延;所述接收单元21还用于接收所述第二交换机发送的第二报文,所述第二报文为隧道封装的报文,所述第二报文的隧道头中包括和所述第三交换机的标识,所述第二报文的隧道头中还包括第一时延或第二时间,所述第二时间为所述第二交换机接收所述第一报文的时间,所述第一时延为所述第二时间和所述第一时间的差值。

进一步的,如图10所示,所述装置20还可以包括:

更新单元26,用于将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的第一时延,或所述第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的所述第二时间和所述第一时间的差值。

进一步的,所述接收单元21还用于接收第二交换机发送的第三报文,所述第三报文携带所述第二交换机确定的所述第一交换机向所述第二交换机发送报文的第三交换机的标识。

进一步的,如图10所示,所述装置20还可以包括:

获取单元27,用于根据所述第三报文中的所述第三交换机的标识确定所述第三交换机。

进一步的,所述接收单元21还用于接收第四交换机发送的第三报文,所述第四交换机属于所述第一交换机组,所述第三报文携带第三时间;

所述发送单元25还用于向所述第四交换机发送第四时间或者第二时延,所述第四时间为所述第一交换机接收所述第三报文的时间,所述第二时延为所述第四时间和所述第三时间的差值。

本发明实施例中装置20接收报文后,首先确定连接第一交换机和第二交换机的第三交换机,然后对报文进行隧道封装,隧道封装的IP头中的目的IP地址为第二交换机的IP地址,对隧道封装后的报文进行IP-in-IP封装,IP-in-IP封装的外层IP头的目的IP地址为第三交换机的IP地址,如此装置20发送报文时,首先会根据IP-in-IP封装的外层IP头中的第三交换机的IP地址,将报文发送至第三交换机,然后第三交换机根据隧道封装的IP头中的第二交换机的IP地址将报文发送至第二交换机。如此,在大规模深层次Clos网络架构中,例如,5阶Clos网络中,由于第一交换机到第三交换机的路径是唯一的,第三交换机到第二交换机的路径也是唯一的,可以通过这种转发方式改变第三交换机来达到改变第一交换机到第二交换机的路径的目的,可以精细地控制大规模深层次Clos网络架构中的流量的路径,实现改进网络中的负载均衡。

本发明一实施例提供一种通信设备30,用于Clos网络中负载均衡,所述通信设备30作为所述Clos网络中第一交换机,所述Clos网络包括第一组交换机和第二组交换机,所述第一组交换机中的任意一个交换机连接到所述第二组交换机中的至少一个交换机,所述第一组交换机中的任意两个交换机通过多个路径相连,其中所述多个路径中的任意一个路径包括所述第二组交换机中的至少一个交换机,所述第一组交换机包括第一交换机和第二交换机。如图11所示,所述通信设备30包括处理器31、接口电路32和存储器33,该处理器31、接口电路32和存储器33相互连接。

这里的处理器31可以是中央处理器(英文:Central Processing Unit,缩写:CPU),或,网络处理器(英文:Network processor,缩写:NP),现场可编程门阵列(英文:Field Programmable Gate Array,缩写:FPGA)或其任意组合。

接口电路32可以为以太网接口,光纤通道(英文:Fibre Channel)接口或其组合。以太网接口可以是光接口,电接口或其组合。接口电路32用于和第二组交换机的一个交换机连接。

存储器33可以包括易失性存储器(英文:volatile memory),例如 随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如只读存储器(英文:read-only memory,缩写:ROM),快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器还可以包括上述种类的存储器的组合。存储器可以用于存储第一交换机到第二交换机的路径参数集合。

具体的,所述处理器31用于通过接口电路32接收第一报文,所述第一报文的目的IP地址为与所述第二交换机相连的终端的IP地址;

所述处理器31还用于确定第三交换机,所述第三交换机为所述第二组交换机中的一个交换机,所述第一交换机和所述第二交换机通过所述第三交换机相连;以及,用于对所述第一报文进行隧道封装,所述隧道封装的IP头中的目的IP地址为所述第二交换机的IP地址;以及,用于对隧道封装后的所述第一报文进行IP-in-IP封装,其中所述IP-in-IP封装的内层IP头为所述隧道封装的IP头,所述IP-in-IP封装的外层IP头的目的IP地址为所述第三交换机的IP地址;

所述处理器31还用于通过接口电路32发送IP-in-IP封装后的所述第一报文。

其中,所述隧道封装的IP头中包括所述第三交换机的标识和第一时间,所述第一时间为所述第一交换机的当前时间。

在本发明实施例的一种实施方式中,所述处理器31还用于根据所述第二交换机的IP地址以及所述第一交换机到所述第二交换机的路径参数集合确定第三交换机,其中,所述第一交换机到所述第二交换机的路径参数集合包括连接所述第一交换机和所述第二交换机的多个路径中的至少一个路径的参数,所述参数包括所述参数所属的路径上的一个交换机的IP地址和所述参数所属的路径的度量值。

本发明实施例的又一种实施方式中,所述参数所属的路径的度量值包 括所述参数所属的路径的时延;所述处理器31还用于通过接口电路32接收所述第二交换机发送的第二报文,所述第二报文为隧道封装的报文,所述第二报文的隧道头中包括和所述第三交换机的标识,所述第二报文的隧道头中还包括第一时延或第二时间,所述第二时间为所述第二交换机接收所述第一报文的时间,所述第一时延为所述第二时间和所述第一时间的差值;

所述处理器31还用于将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的第一时延,或所述第一交换机将所述第一交换机到所述第二交换机的路径参数集合中所述第三交换机所在路径的时延更新为所述第二报文中的所述第二时间和所述第一时间的差值。

在本发明实施例的又一种实施方式中,所述处理器31还用于通过接口电路32接收第二交换机发送的第三报文,所述第三报文携带所述第二交换机确定的所述第三交换机的标识;以及,用于获取所述第三报文中的所述第三交换机的标识。

在本发明实施例的又一种实施方式中,所述处理器31还用于通过接口电路32接收第四交换机发送的第三报文,所述第四交换机属于所述第一交换机组,所述第三报文携带第三时间;以及,用于通过接口电路32向所述第四交换机发送第四时间或者第二时延,所述第四时间为所述第一交换机接收所述第三报文的时间,所述第二时延为所述第四时间和所述第三时间的差值。

本发明实施例中通信设备30接收报文后,首先确定连接通信设备30和第二交换机的第三交换机,然后对报文进行隧道封装,隧道封装的IP头中的目的IP地址为第二交换机的IP地址,对隧道封装后的报文进行IP-in-IP封装,IP-in-IP封装的外层IP头的目的IP地址为第三交换机的IP地址,如此通信设备30发送报文时,首先会根据IP-in-IP封装的外层IP头中的第三交换机的IP地址,将报文发送至第三交换机,然后第三交换机根据隧道封装的IP 头中的第二交换机的IP地址将报文发送至第二交换机。如此,在大规模深层次Clos网络架构中,例如,5阶Clos网络中,由于通信设备30到第三交换机的路径是唯一的,第三交换机到第二交换机的路径也是唯一的,可以通过这种转发方式改变第三交换机来达到改变通信设备30到第二交换机的路径的目的,可以精细地控制大规模深层次Clos网络架构中的流量的路径,实现改进网络中的负载均衡。

本发明实施例提供的一种Clos网络中负载均衡的装置可以实现上述提供的方法实施例,具体功能实现请参见方法实施例中的说明,在此不再赘述。本发明实施例提供的Clos网络中负载均衡的方法及装置可以适用于Clos网络中负载均衡的场景,但不仅限于此。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、ROM或RAM等。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1