一种数据中心网络的路由选择方法及网络管理器与流程

文档序号:12739666阅读:312来源:国知局
一种数据中心网络的路由选择方法及网络管理器与流程

本发明涉及网络技术领域,特别涉及一种数据中心网络的路由选择方法及网络管理器。



背景技术:

随着云计算技术的出现及互联网业务的快速发展,用户的网络需求越来越高,但传统网络中将用于进行数据转发的数据平面与用于负责路由选择策略控制的控制平面高度耦合,数据平面与控制平面之间相互依赖,产生了许多问题,越来越难以满足用户的网络需求。

软件定义网络(Software Defined Networking,简称SDN)的出现打破了传统网络结构上的限制,将数据平面与控制平面分离,在数据平面由多个交换机进行数据转发,在控制平面由控制器掌握全局网络信息,并负责数据平面中任两个交换机之间的路由选择策略的控制。那么,以源服务器与目的服务器需要进行通信为例,源服务器连接的源Leaf交换机会与目的服务器连接的目的Leaf交换机新建通信会话,源Leaf交换机发出的首个数据包会上传至控制器,由控制器基于传统的IP(Internet Protocol,网络互连协议)路由选择协议,计算源Leaf交换机与目的Leaf交换机之间的转发路径,并下发到数据平面的路由表中,源Leaf交换机与目的Leaf交换机即可根据该路由表确定转发路径,从而基于该转发路径进行通信会话,实现源服务器与目的服务器之间的通信。

但是,IP路由选择协议面向所有类型的数据中心网络,路由选择过程中的计算开销很大。而目前的数据中心网络中的交换机很多,每个时刻新建通信会话的交换机也很多,如果仍采用计算开销较大的IP路由选择协议进行路由选择,计算开销会很大,很可能会导致数据中心网络瘫痪。因此,需要提出一种适用于某一数据中心网络的路由选择方法,以减小该数据中心网络的路由选择过程中的计算开销。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种数据中心网络的路由选择方法及网络管理器。所述技术方案如下:

第一方面,提供了一种数据中心网络的路由选择方法,

所述数据中心网络包括至少两个Fin平面,每个Fin平面包括至少两个Spine交换机以及至少一个Leaf交换机;

对于每个Fin平面,当前Fin平面内的每个Leaf交换机与所述当前Fin平面内的至少两个Spine交换机连接;

在任意两个Fin平面之间,其中一个Fin平面内的至少两个Spine交换机和另一个Fin平面内的至少一个Spine交换机连接;

所述方法包括:

对于给定的源Leaf交换机和目的Leaf交换机,如果所述源Leaf交换机所在的第一Fin平面与所述目的Leaf交换机所在的第二Fin平面为不同Fin平面,在所述第一Fin平面中选取所述源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在所述第二Fin平面中选取所述目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合;

计算由所述源Leaf交换机、所述源Spine交换机集合中的任意一个源Spine交换机、所述目的Spine交换机集合中的任意一个目的Spine交换机与所述目的Leaf交换机组成的至少两条候选路径的代价;

根据所述至少两条候选路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的转发路径。

结合第一方面,在第一方面的第一种可能实现方式中,所述计算由所述源Leaf交换机、所述源Spine交换机集合中的任意一个源Spine交换机、所述目的Spine交换机集合中的任意一个目的Spine交换机与所述目的Leaf交换机组成的至少两条候选路径的代价,包括:

从所述源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从所述目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,分别计算由所述源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与所述目的Leaf交换机组成的候选路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的至少两条候选路径的代价。

结合第一方面,在第一方面的第二种可能实现方式中,所述计算由所述源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与所述目的Leaf交换机组成的候选路径的代价,包括:

计算所述源Leaf交换机与所述当前选取的源Spine交换机所组成路径的代价,作为第一代价;

计算所述当前选取的源Spine交换机与所述当前选取的目的Spine交换机所组成路径的代价,作为第二代价;

计算所述当前选取的目的Spine交换机与所述目的Leaf交换机所组成路径的代价,作为第三代价;

根据所述第一代价、所述第二代价和所述第三代价,计算由所述源Leaf交换机、所述当前选取的源Spine交换机、所述当前选取的目的Spine交换机与所述目的Leaf交换机组成的候选路径的代价。

结合第一方面的上述任一种可能实现方式,在第一方面的第三种可能实现方式中,所述计算所述源Leaf交换机与所述源Spine交换机所组成路径的代价,作为第一代价,包括:

根据所述源Leaf交换机和所述源Spine交换机当前的运行状态参数,计算所述第一代价,其中,所述运行状态参数包括带宽、时延、丢包率中的至少一项。

结合第一方面的上述任一种可能实现方式,在第一方面的第四种可能实现方式中,所述计算所述当前选取的源Spine交换机与所述当前选取的目的Spine交换机所组成路径的代价,作为第二代价,包括:

从所述数据中心网络中,选取与所述源Spine交换机和所述目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;

从所述中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,分别计算由所述源Spine交换机、当前选取的中继Spine交换机以及所述目的Spine交换机组成的Fin间路径的代价,确定所述源Spine交换机与所述目的Spine交换机之间的至少两条Fin间路径的代价;

根据所述至少两条Fin间路径的代价,确定所述源Spine交换机与所述目的Spine交换机之间的优化Fin间路径以及所述优化Fin间路径对应的中继Spine交换机,并将所述优化Fin间路径的代价作为所述第二代价。

结合第一方面的上述任一种可能实现方式,在第一方面的第五种可能实现方式中,所述计算由所述源Spine交换机、当前选取的中继Spine交换机以及所述目的Spine交换机组成的Fin间路径的代价,包括:

根据所述源Spine交换机以及所述中继Spine交换机当前的运行状态参数,计算所述源Spine交换机与所述中继Spine交换机所组成路径的代价,作为第四代价;

根据所述中继Spine交换机以及所述目的Spine交换机当前的运行状态参数,计算所述中继Spine交换机与所述目的Spine交换机所组成路径的代价,作为第五代价;

将所述第四代价与所述第五代价中的最大值作为所述源Spine交换机、所述中继Spine交换机以及所述目的Spine交换机所组成的Fin间路径的代价。

结合第一方面的上述任一种可能实现方式,在第一方面的第六种可能实现方式中,所述计算所述目的Spine交换机与所述目的Leaf交换机所组成路径的代价,作为第三代价,包括:

根据所述目的Leaf交换机和所述目的Spine交换机当前的运行状态参数,计算所述第三代价,其中,所述运行状态参数包括带宽、时延、丢包率中的至少一项。

结合第一方面的上述任一种可能实现方式,在第一方面的第七种可能实现方式中,所述根据所述第一代价、所述第二代价和所述第三代价,计算由所述源Leaf交换机、所述源Spine交换机、所述目的Spine交换机与所述目的Leaf交换机组成的候选路径的代价,包括:

将所述第一代价、所述第二代价和所述第三代价中的最大值作为所述候选路径的代价。

结合第一方面的上述任一种可能实现方式,在第一方面的第八种可能实现方式中,所述根据所述至少两条候选路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的转发路径,包括:

确定所述至少两条候选路径中代价最小的候选路径,作为所述源Leaf交换机与所述目的Leaf交换机之间的转发路径。

结合第一方面的上述任一种可能实现方式,在第一方面的第九种可能实现方式中,所述数据中心网络包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机;

所述从所述源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从所述目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,包括:

从所述源Spine交换机集合中遍历地选取任意一个源Spine交换机,并按照预设约束条件,从所述目的Spine交换机集合中选取一个目的Spine交换机;

其中,所述预设约束条件为选取的目的Spine交换机与选取的源Spine交换机位于同一Spine交换机组。

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

如果所述源Leaf交换机所在的第一Fin平面与所述目的Leaf交换机所在的第二Fin平面为同一Fin平面,则确定所述源Leaf交换机与所述目的Leaf交换机之间的最短Fin内路径。

结合第一方面的上述任一种可能实现方式,在第一方面的第十一种可能实现方式中,所述确定所述源Leaf交换机与所述目的Leaf交换机之间的最短Fin内路径,包括:

从所述源Leaf交换机与所述目的Leaf交换机所在的Fin平面中,选取与所述源Leaf交换机和目的Leaf交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;

从所述中继Spine交换机集合中遍历地选取一个中继Spine交换机,分别计算由所述源Leaf交换机、当前选取的中继Spine交换机以及所述目的Leaf交换机组成的Fin内路径的代价,确定所述源Spine交换机与所述目的Spine交换机之间的至少两条Fin内路径的代价;

根据计算出的至少两条Fin内路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的最短Fin内路径。

结合第一方面的上述任一种可能实现方式,在第一方面的第十二种可能实现方式中,所述数据中心网络中的所有Spine交换机组成Spine交换机层,所述Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,在每个Spine交换机组内,每个Spine交换机和其他每个Spine交换机连接。

结合第一方面的上述任一种可能实现方式,在第一方面的第十三种可能实现方式中,所述数据中心网络中的所有Spine交换机组成Spine交换机层,所述Spine交换机层中的每个Spine交换机与其他每个Spine交换机连接。

结合第一方面的上述任一种可能实现方式,在第一方面的第十四种可能实现方式中,所述数据中心网络中的所有Spine交换机组成Spine交换机层,所述Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,Spine交换机层中的每个Spine交换机与所在Spine交换机组之外的每个Spine交换机连接,同一Spine交换机组内的任两个Spine交换机互不连接。

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

将已确定的任两个Spine交换机之间的优化Fin间路径以及所述优化Fin间路径对应的中继Spine交换机和代价存储于潜在转发路径数据库中。

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

将已确定的位于同一Fin平面上的任两个Leaf交换机之间的转发路径以及所述转发路径对应的中继Spine交换机和所述转发路径的代价存储于潜在转发路径数据库中。

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

将所述确定的转发路径存储于转发路径缓存数据库中。

第二方面,提供了一种数据中心网络的网络管理器,

所述数据中心网络包括至少两个Fin平面,每个Fin平面包括至少两个Spine交换机以及至少一个Leaf交换机;

对于每个Fin平面,当前Fin平面内的每个Leaf交换机与所述当前Fin平面内的至少两个Spine交换机连接,任两个Leaf交换机互不连接;

在任意两个Fin平面之间,其中一个Fin平面内的至少两个Spine交换机和另一个Fin平面内的至少一个Spine交换机连接;

所述网络管理器包括:

选取模块,用于对于给定的源Leaf交换机和目的Leaf交换机,如果所述源Leaf交换机所在的第一Fin平面与所述目的Leaf交换机所在的第二Fin平面为不同Fin平面,在所述第一Fin平面中,选取所述源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在所述第二Fin平面中,选取所述目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合;

计算模块,用于计算由所述源Leaf交换机、所述源Spine交换机集合中的任意一个源Spine交换机、所述目的Spine交换机集合中的任意一个目的Spine交换机与所述目的Leaf交换机组成的至少两条候选路径的代价;

路由选择模块,用于根据所述至少两条候选路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的转发路径。

结合第二方面,在第二方面的第一种可能实现方式中,所述计算模块用于从所述源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从所述目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,分别计算由所述源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与所述目的Leaf交换机组成的候选路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的至少两条候选路径的代价。

结合第二方面,在第二方面的第二种可能实现方式中,所述计算模块用于计算所述源Leaf交换机与所述当前选取的源Spine交换机所组成路径的代价,作为第一代价;计算所述当前选取的源Spine交换机与所述当前选取的目的Spine交换机所组成路径的代价,作为第二代价;计算所述当前选取的目的Spine交换机与所述目的Leaf交换机所组成路径的代价,作为第三代价;根据所述第一代价、所述第二代价和所述第三代价,计算由所述源Leaf交换机、所述当前选取的源Spine交换机、所述当前选取的目的Spine交换机与所述目的Leaf交换机组成的候选路径的代价。

结合第二方面的上述任一种可能实现方式,在第二方面的第三种可能实现方式中,所述计算模块用于根据所述源Leaf交换机和所述源Spine交换机当前的运行状态参数,计算所述第一代价,其中,所述运行状态参数包括带宽、时延、丢包率中的至少一项。

结合第二方面的上述任一种可能实现方式,在第二方面的第四种可能实现方式中,所述计算模块还用于从所述数据中心网络中,选取与所述源Spine交换机和所述目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;从所述中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,分别计算由所述源Spine交换机、当前选取的中继Spine交换机以及所述目的Spine交换机组成的Fin间路径的代价,确定所述源Spine交换机与所述目的Spine交换机之间的至少一条Fin间路径的代价;根据所述至少一条Fin间路径的代价,确定所述源Spine交换机与所述目的Spine交换机之间的优化Fin间路径以及所述优化Fin间路径对应的中继Spine交换机,并将所述优化Fin间路径的代价作为所述第二代价。

结合第二方面的上述任一种可能实现方式,在第二方面的第五种可能实现方式中,所述计算模块还用于根据所述源Spine交换机以及所述中继Spine交换机当前的运行状态参数,计算所述源Spine交换机与所述中继Spine交换机所组成路径的代价,作为第四代价;根据所述中继Spine交换机以及所述目的Spine交换机当前的运行状态参数,计算所述中继Spine交换机与所述目的Spine交换机所组成路径的代价,作为第五代价;将所述第四代价与所述第五代价中的最大值作为所述源Spine交换机、所述中继Spine交换机以及所述目的Spine交换机所组成的Fin间路径的代价。

结合第二方面的上述任一种可能实现方式,在第二方面的第六种可能实现方式中,所述计算模块用于根据所述目的Leaf交换机和所述目的Spine交换机当前的运行状态参数,计算所述第三代价,其中,所述运行状态参数包括带宽、时延、丢包率中的至少一项。

结合第二方面的上述任一种可能实现方式,在第二方面的第七种可能实现方式中,所述计算模块还用于将所述第一代价、所述第二代价和所述第三代价中的最大值作为所述候选路径的代价。

结合第二方面的上述任一种可能实现方式,在第二方面的第八种可能实现方式中,所述计算模块还用于确定所述至少两条候选路径中代价最小的候选路径,作为所述源Leaf交换机与所述目的Leaf交换机之间的转发路径。

结合第二方面的上述任一种可能实现方式,在第二方面的第九种可能实现方式中,所述数据中心网络包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机;

所述计算模块还用于从所述源Spine交换机集合中遍历地选取任意一个源Spine交换机,并按照预设约束条件,从所述目的Spine交换机集合中选取一个目的Spine交换机;

其中,所述预设约束条件为选取的目的Spine交换机与选取的源Spine交换机位于同一Spine交换机组。

结合第二方面的上述任一种可能实现方式,在第二方面的第十种可能实现方式中,所述计算模块还用于如果所述源Leaf交换机所在的第一Fin平面与所述目的Leaf交换机所在的第二Fin平面为同一Fin平面,则确定所述源Leaf交换机与所述目的Leaf交换机之间的最短Fin内路径。

结合第二方面的上述任一种可能实现方式,在第二方面的第十一种可能实现方式中,所述计算模块还用于从所述源Leaf交换机与所述目的Leaf交换机所在的Fin平面中,选取与所述源Leaf交换机和目的Leaf交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;从所述中继Spine交换机集合中遍历地选取一个中继Spine交换机,分别计算由所述源Leaf交换机、当前选取的中继Spine交换机以及所述目的Leaf交换机组成的Fin内路径的代价;根据从所述中继Spine交换机集合中选取的至少一个中继Spine交换机,确定所述源Spine交换机与所述目的Spine交换机之间的至少两条Fin内路径的代价;根据计算出的至少两条Fin内路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的最短Fin内路径。

结合第二方面的上述任一种可能实现方式,在第二方面的第十二种可能实现方式中,所述数据中心网络中的所有Spine交换机组成Spine交换机层,所述Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,在每个Spine交换机组内,每个Spine交换机和其他每个Spine交换机连接。

结合第二方面的上述任一种可能实现方式,在第二方面的第十三种可能实现方式中,所述数据中心网络中的所有Spine交换机组成Spine交换机层,所述Spine交换机层中的每个Spine交换机与其他每个Spine交换机连接。

结合第二方面的上述任一种可能实现方式,在第二方面的第十四种可能实现方式中,所述数据中心网络中的所有Spine交换机组成Spine交换机层,所述Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,Spine交换机层中的每个Spine交换机与所在Spine交换机组之外的每个Spine交换机连接,同一Spine交换机组内的任两个Spine交换机互不连接。

结合第二方面的上述任一种可能实现方式,在第二方面的第十五种可能实现方式中,所述装置还包括:

第一存储模块,用于将已确定的任两个Spine交换机之间的优化Fin间路径以及所述优化Fin间路径对应的中继Spine交换机和代价存储于潜在转发路径数据库中。

结合第二方面的上述任一种可能实现方式,在第二方面的第十六种可能实现方式中,所述装置还包括:

第二存储模块,用于将已确定的位于同一Fin平面上的任两个Leaf交换机之间的转发路径以及所述转发路径对应的中继Spine交换机和所述转发路径的代价存储于潜在转发路径数据库中。

结合第二方面的上述任一种可能实现方式,在第二方面的第十七种可能实现方式中,所述装置还包括:

第三存储模块,用于将所述确定的转发路径存储于转发路径缓存数据库中。

第三方面,提供了一种数据中心网络的网络管理器,

所述数据中心网络包括至少两个Fin平面,每个Fin平面包括至少两个Spine交换机以及至少一个Leaf交换机;

对于每个Fin平面,当前Fin平面内的每个Leaf交换机与所述当前Fin平面内的至少两个Spine交换机连接,任两个Leaf交换机互不连接;

在任意两个Fin平面之间,其中一个Fin平面内的至少两个Spine交换机和另一个Fin平面内的至少一个Spine交换机连接;

所述网络管理器包括:存储器和处理器,所述存储器与所述处理器连接,所述存储器存储有程序代码,所述处理器用于调用所述程序代码,执行以下操作:

对于给定的源Leaf交换机和目的Leaf交换机,如果所述源Leaf交换机所在的第一Fin平面与所述目的Leaf交换机所在的第二Fin平面为不同Fin平面,在所述第一Fin平面中选取所述源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在所述第二Fin平面中选取所述目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合;

计算由所述源Leaf交换机、所述源Spine交换机集合中的任意一个源Spine交换机、所述目的Spine交换机集合中的任意一个目的Spine交换机与所述目的Leaf交换机组成的至少两条候选路径的代价;

根据所述至少两条候选路径的代价,确定所述源Leaf交换机与所述目的Leaf交换机之间的转发路径。

本发明实施例提供的技术方案带来的有益效果是:

本发明实施例提供的方法及网络管理器,通过在给出的数据中心网络中,对任两个Leaf交换机进行路由选择时,采用计算代价的方式,从多条候选路径中快速确定转发路径,取代了传统的路由选择协议,减小了路由选择过程中的计算开销,大大提高了路由选择效率,避免了数据中心网络瘫痪的问题,提高了网络稳定性。

进一步地,在路由选择过程中采用分段计算的方式,计算源Leaf交换机与目的Leaf交换机之间的三段路径的代价,从而计算出候选路径的代价,从至少两条候选路径中选取出转发路径,进一步减小了计算开销,提高了路由选择效率。

进一步地,在路由选择的计算过程中引入了交换机当前的运行状态参数,将带宽、时延、丢包率等运行状态参数作为代价的度量值,进一步优化了选择的路径。

进一步地,在路由选择过程中采用分段计算的方式,计算源Spine交换机与目的Spine交换机之间的Fin间路径的代价,从多条Fin间路径中选取出优化Fin间路径,进一步减小了计算开销,提高了路由选择效率。

进一步地,按照预设约束条件来选取源Spine交换机和目的Spine交换机,减小了计算量,提高了路由选择效率。

进一步地,将已确定的位于不同Fin平面上的任两个Leaf交换机之间的转发路径以及转发路径对应的中继Spine交换机和转发路径的代价存储于潜在转发路径数据库中,将已确定的位于同一Fin平面上的任两个Leaf交换机之间的转发路径以及转发路径对应的中继Spine交换机和转发路径的代价存储于潜在转发路径数据库中,从而能够在路由选择时从潜在转发路径数据库中直接查询到所需的潜在转发路径,无需实时地进行计算,操作简便,提高了路由选择效率。

进一步地,将路由选择完成后确定的转发路径存储于转发路径缓存数据库中,以便在下一次对相同的源Leaf交换机和目的Leaf交换机进行路由选择时,直接从转发路径缓存数据库中获取转发路径,而无需实时计算转发路径,提高了路由选择效率,节省了计算资源。

附图说明

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

图1是本发明实施例提供的一种数据中心网络系统的结构示意图;

图2A是本发明实施例提供的数据中心网络的结构示意图;

图2B是本发明实施例提供的另一种数据中心网络的结构示意图;

图2C是本发明实施例提供的再一种数据中心网络的结构示意图;

图2D是本发明实施例提供的又一种数据中心网络的结构示意图;

图3A是本发明实施例提供的一种网络管理器的结构示意图;

图3B是本发明实施例提供的潜在转发路径数据库的数据格式示意图;

图3C是本发明实施例提供的另一种网络管理器的结构示意图;

图4A是本发明实施例提供的一种数据中心网络的路由选择方法的流程图;

图4B是本发明实施例提供的一种采用组内互连方式的数据中心网络的Spine交换机层示意图;

图4C是本发明实施例提供的一种采用全连接方式的数据中心网络的Spine交换机层示意图;

图4D是本发明实施例提供的一种采用非本组全连接方式的数据中心网络的Spine交换机层示意图;

图5A是本发明实施例提供的一种数据中心网络的路由选择方法的流程图;

图5B是本发明实施例提供的一种Fin内路径的示意图;

图6是本发明实施例提供的一种数据中心网络的路由选择方法的流程图;

图7是本发明实施例提供的一种数据中心网络的路由选择装置的结构示意图;

图8是本发明实施例提供的一种数据中心网络的网络管理器的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

为了便于对本发明进行具体说明,首先对本发明涉及的概念进行如下解释:

1、Leaf交换机:通常被配置在服务器机架的顶端,作为服务器机架的接入式交换机,也称作机架上(Top-of-Rack,ToR)交换机。

2、Spine交换机:对Leaf交换机起汇聚(Aggregation)作用的交换机。一般部署在Leaf交换机的上层,用来实现Leaf交换机之间报文路由或转发的功能。为了无阻塞的转发,Spine交换机和Leaf交换机一般采用Clos组网连接。

3、Clos组网连接:一种网络的连接方式,针对多层网络架构,即在每层中每个交换设备都和下一层的所有交换设备相连接。Clos网络连接可以做到无阻塞(Non-blocking)、可重构(Re-arrangeable)、以及可扩展(Scalable)。

4、网络管理器:对交换机实现管理控制的设备,它可以采用集中式的实现,如采用一台服务器来实现,也可以采用分布式的方式实现,如采用多台服务器来实现。

5、路径的代价:作为路径上的交换机在进行数据转发时的综合质量的衡量标准,可以用路径上交换机占用的带宽、交换机的时延或者丢包率等参数来度量。在路由选择过程中可以用于评价每条路径的优先级,路径的代价路径的代价越大,表示路径上的交换机在进行数据转发时的综合质量越差,路由选择时的优先级越低。进一步地,如果一条路径包括多段路径,则整条路径的代价取决于多段路径中代价最大的一段路径。

6、Fin间路径:以位于不同Fin平面的源Spine交换机和目的Spine交换机分别为起点和终点的路径,Fin间路径由源Spine交换机、目的Spine交换机以及中继Spine交换机组成。

7、优化Fin间路径:从源Spine交换机与目的Spine交换机之间的多条Fin间路径中选择的其中一条Fin间路径。进一步地,优化Fin间路径可以为源Spine交换机与目的Spine交换机之间的多条Fin间路径中代价最小的Fin间路径。

8、Fin内路径:以位于同一Fin平面的源Leaf交换机和目的Leaf交换机分别为起点和终点的路径,由源Leaf交换机、目的Leaf交换机以及该Fin平面上的中继Spine交换机组成。

9、源Leaf交换机与目的Leaf交换机之间的转发路径:从源Leaf交换机与目的Leaf交换机之间的多条路径中选择的其中一条路径。

如果源Leaf交换机与目的Leaf交换机位于同一Fin平面,源Leaf交换机与目的Leaf交换机之间的转发路径是指从源Leaf交换机与目的Leaf交换机之间的多条Fin内路径中选择的其中一条Fin内路径,由源Leaf交换机、中继Spine交换机和目的Leaf交换机组成。进一步地,可以为源Leaf交换机与目的Leaf交换机之间的多条Fin内路径中代价最小的Fin内路径。

而如果源Leaf交换机和目的Leaf交换机位于不同Fin平面,源Leaf交换机与目的Leaf交换机之间的候选路径由源Leaf交换机、源Spine交换机、中继Spine交换机、目的Spine交换机以及目的Leaf交换机组成,即候选路径包括以下三段路径:

A、源Leaf交换机与源Leaf交换机所在的Fin平面内的源Spine交换机之间的路径;

B、目的Leaf交换机与目的Leaf交换机所在的Fin平面内的目的Spine交换机之间的路径;

C、源Spine交换机与目的Spine交换机之间的优化Fin间路径。

源Leaf交换机与目的Leaf交换机之间的转发路径是指从源Leaf交换机与目的Leaf交换机之间的多条候选路径中选择的其中一条路径。进一步地,源Leaf交换机与目的Leaf交换机之间的转发路径可以为源Leaf交换机与目的Leaf交换机之间的多条候选路径中代价最小的路径。

图1是本发明实施例提供的一种数据中心网络系统的结构示意图。参见图1,该数据中心网络系统100包括:网络管理器110和数据中心网络130。

数据中心网络系统中存在至少一个数据中心网络管理器110(Data Center Network Manager,DCNM),至少一个网络管理器110通过网络120来对由Leaf交换机和Spine交换机组成的数据中心网络130进行管理。

其中的网络管理器110可以采用服务器(server)的形式实现,上面集成负责管理网络的应用App。每个Leaf交换机(如图1中的Leaf 1~Leaf 4)可以是一个机架上交换机(ToR Switch)(如图1中的131和132),该交换机可位于一个机架单元Rack中,该机架单元能够容纳一个或多个网络单元,如物理服务器(如图1中的140和150)。每个ToR交换机被配置用于路由或转发该机架单元中的物理服务器和其他网络单元之间的通信消息。每一个物理服务器(如:和ToR交换机131关联的物理服务器150,或者和ToR交换机132关联的物理服务器140)可以容纳一个或多个虚拟交换机(Virtual Switch)151以及一个或多个虚拟机(Virtual Machine)152。虚拟交换机以及虚拟机被创建并且运行在每个物理服务器上的虚拟层(Hypervisor)153,虚拟层153实现服务器上物理资源的虚拟化以及调度,供一个或者多个虚拟机使用。

每个虚拟交换机151可以被配置用来管理一个由虚拟机组成的虚拟机网络和/或子网中虚拟机之间的通信。每一个虚拟交换机151采用运行在物理服务器150的软件来实现。由此,虚拟交换机151能够实现物理交换机的功能。类似的,每一个虚拟机152采用运行在物理服务器150的软件来实现。虚拟机152被配置用于和其他的虚拟机通过网络架构(Fabric)130通信。对于数据中心系统100,可以存在任意数量的物理服务器,每个物理服务器可以容纳任意数量的虚拟交换机以及任意数量的虚拟机。为了简化描述,图1中包括一个物理服务器150以及与之关联的ToR交换机131,以及一个物理服务器150以及与之关联的ToR交换机132。在一个例子中,虚拟交换机151可以管理物理服务器150中的多个虚拟交换机之间的通信。

物理服务器150以及与之关联的ToR交换机131被放置于一个机架单元(Rack Unit,或者称为Rack)中,这一点未在图1中示出。其他的物理服务器也可以被容纳于机架中。ToR交换机131以及ToR交换机132负责对机架中的物理服务器(包括运行在物理服务器之上的虚拟机)作为发送方或者接收方的通信信息进行路由处理或者转发处理。ToR(Top-of-Rack)指的是交换机131和132,以及图1中的其他的Leaf交换机。ToR交换机131和132能够被用来提供机架中的物理服务器、虚拟机以及虚拟交换机通信的备份以及容错。由此,ToR交换机131和ToR交换机132是对等的两个交换机。这些ToR交换机(Leaf交换机)以及Spine交换机可以被配置用于和网络管理器DCNM通信,该网络管理器DCNM可以用于通过控制Spine交换机以及Leaf交换机而管理不同机架之间的ToR交换机的通信。

该网络管理器可以用于为该数据中心网络中的源Leaf交换机和目的Leaf交换机进行路由选择,确定该源Leaf交换机与该目的Leaf交换机之间的转发路径。该网络管理器还用于将确定的转发路径存储于路由表中,将路由表下发至该数据中心网络,该源Leaf交换机和该目的Leaf交换机即可根据该网络管理器确定的转发路径进行数据转发。

其中,该网络管理器可以为SDN控制器,该网络管理器与该数据中心网络之间建立安全通道,安全通道用于承载OpenFlow协议,通常是加密的传输层安全协议通道,也可以是直接用TCP(Transmission Control Protocol传输控制协议)传输。OpenFlow协议用来描述该网络管理器和交换机之间交互所用信息的标准,以及该网络管理器和交换机的接口标准,协议的核心部分是用于OpenFlow协议信息结构的集合。或者,该网络管理器还可以为虚拟机、服务器或者分布式集群等,本发明实施例对此不做限定。

下面将结合图2A-2D来分别介绍数据中心网络架构的改进。对于本领域技术人员可以理解,在具体的网络架设过程中,受限于架设条件以及其他因素,可能对本发明所提供的数据中心网络架构进行适应性的改动,因此,本发明所提供的实现方式不应该理解为对本发明保护范围的限制。

图2A是本发明实施例提供的一种数据中心网络的结构示意图,参见图2A,该数据中心网络如下:

1、该数据中心网络包括至少两个Fin(翅片)平面,每个Fin平面包括至少两个Spine(脊)交换机以及至少一个Leaf(叶)交换机;

2、对于每个Fin平面,当前Fin平面内的每个Leaf交换机与当前Fin平面内的至少两个Spine交换机连接;

3、在任意两个Fin平面之间,其中一个Fin平面内的至少一个Spine交换机和另一个Fin平面内的至少一个Spine交换机连接;

每个Fin平面包括两层交换机,位于上层的是Spine交换机集合,位于下层的是Leaf交换机集合。其中,Leaf交换机作为ToR交换机,用于连接物理服务器,类似于图1中的Leaf 2131所连接的物理服务器150和Leaf 4132所连接的物理服务器140。所有Fin平面的Spine交换机集合构成的一个逻辑层,称为Spine交换机层(Spine Switch Tier),类似的,所有Fin平面的Leaf交换机集合构成一个平面,成为Leaf交换机层(Leaf Switch Tier)。

该数据中心网络中每一个Fin平面包括至少两个Spine交换机以及至少一个Leaf交换机。在每个Fin平面内,每个Leaf交换机和该Fin平面内的至少两个Spine交换机相连,当与某个Leaf交换机相连的Spine交换机发生故障时,还存在其他无故障且与该Leaf交换机相连的Spine交换机实现通信数据和/或指令的转发。

较优的,为了实现数据的无阻塞转发,在每一个Fin平面内,每个Leaf交换机和每个Spine交换机均存在连接(即采用CLOS网络连接)。

需要说明的是,该数据中心网络架构包括至少两个Fin平面,每个Fin平面中的Leaf交换机和Spine交换机的数量以及它们之间的连接方式都是独立的。例如,Fin 1包括8个Spine交换机以及10个Leaf交换机,Fin 2包括6个Spine交换机以及9个Leaf交换机,Fin 1中的Spine交换机和Leaf交换机的连接采用每个Leaf交换机连接3个Spine交换机的方式,而Fin 2中的Spine交换机和Leaf交换机的连接采用CLOS网络连接,即每个Leaf交换机和每个Spine交换机相连。

需要说明的是,Leaf交换机下行连接物理服务器,上行连接Spine交换机。每个Fin平面要实现Leaf交换机的单点无阻塞通信(即Fin平面中的Leaf交换机不会发生数据转发过程中的拥塞),需要保证任意一个Leaf交换机的下行接入带宽不得大于其上行的带宽(如:可以通过网络参数的设置,以图1中的Leaf2131为例,其上行带宽为40Gbps,下行连接物理服务器150的带宽为30Gbps)。此外,受限于设备的物理端口数量,每个Fin平面内可以部署的Leaf交换机的数量取决于Spine交换机下行端口的数量,每个Fin平面内可以部署的Spine交换机的数量取决于Leaf交换机的上行端口的数量。

进一步地,在数据中心网络中的Spine交换机层中,Spine交换机之间也可以相互连接,实现不同Fin平面间的物理服务器之间的通信。跨Fin平面的Spine交换机之间一种必要的连接关系是(即:Spine交换机基本互连方式):在任意两个Fin平面之间,其中一个Fin平面内的至少一个Spine交换机和另一个Fin平面内的至少一个Spine交换机连接。这样就可保证任意两个Fin平面内的Leaf交换机所连接的物理服务器(物理机或者虚拟机)的通信消息,通过Spine交换机的转发能够到达对端。以图2A为例,在Spine交换机层中,对于任意两个Fin m以及Fin n,Spinemi和Spinenj连接,其中,m和n均为整数,m≠n,且1≤m≤Y,1≤n≤Y,Y为该数据中心网络的Fin平面的个数。

另外,为了满足上述数据中心网络与外部网络的通讯需求,将该数据中心网络中的某个Fin平面中的至少一个Spine交换机或者至少一个Leaf交换机作为边缘Edge交换机,通过边缘Edge交换机的端口连接外部网络。

需要说明的是,Spine交换机和Leaf交换机可以采用商业网络交换机,也可以采用专用集成电路(Application-Specific Integrated Circuit,ASIC)芯片来实现,对此,本发明实施例不加以限制。

图2B是本发明实施例提供的另一种数据中心网络的结构示意图,与图2A所示的数据中心网络的区别在于:跨Fin平面的Spine交换机之间采用组内互连方式。参见图2B,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机。而且,在每个Spine交换机组内,每个Spine交换机和其他每个Spine交换机连接。

进一步地,一个Fin平面中可能存在两个Spine交换机位于同一Spine交换机组。这样,需要分别建立这两个Spine交换机和该Spine交换机组内其他每个Spine交换机的连接。这种拓展方式实现了Fin平面内Spine交换机的备份,即当某一个Spine交换机存在故障而无法转发通信消息时,可以采用另外一个Spine交换机转发或路由该Fin平面内Leaf交换机所连接的服务器(物理机或者虚拟机)和其他Fin平面下Leaf交换机所连接的服务器之间的通信消息。

进一步地,该数据中心网络的Spine交换机层可以包括多个Spine交换机组。与一个Spine交换机组相比,多个Spine交换机组内均建立连接的方式能够增加不同Fin平面之间通信的链路,提高跨Fin平面通信的可靠性。

如图2B所示,对Spine交换机层所包括的Spine交换机按行进行分组,得到如下Z个Spine交换机组,分别是:Spine-G1、…、Spine-Gi、…、Spine-Gj、…、Spine-GZ,其中至少一个Spine交换机组内的任意两个Spine交换机连接。

图2C是本发明实施例提供的再一种数据中心网络的结构示意图,与图2A和图2B所示的数据中心网络的区别在于:Spine交换机层中的每个Spine交换机与其他每个Spine交换机连接,即Spine交换机之间采用全连接的方式组网。采用这种全连接的方式,能够实现Spine交换机之间的无阻塞信息传输。以图2C中的Spineyz为例,该Spineyz和Spine交换机层的其他每个Spine交换机均连接。

图2D是本发明实施例提供的又一种数据中心网络的结构示意图,与图2A、图2B和图2C所示的数据中心网络的区别在于:Spine交换机层中的每个Spine交换机与所在Spine交换机组之外的每个Spine交换机连接,而同一Spine交换机组内的任两个Spine交换机互不连接,即Spine交换机之间采用非本组全连接的方式组网。

与图2C所示的Spine交换机全连接的方式相比,Spine交换机非本组全互连的方式节省了每个Spine交换机连接所在组内其他Spine交换机所用的端口,利用这些节省的端口可用于连接新增的Leaf交换机和/或新增的Spine交换机,以此可实现网络规模的扩展。以图2D中的Spineyz为例,该Spineyz和Spine交换机层除Spineyz所在Fin平面y之外的其他的Spine交换机连接。

在图2A-图2D所示指定网络中心网络的基础上,提供了一种用于对指定网络中心网络进行路由选择的网络管理器。图3A是本发明实施例提供的一种网络管理器的结构示意图,参见图3A,该网络管理器包括:网络运行状态采集单元、网络运行状态数据库、临时路径计算单元、潜在转发路径数据库、实时路径计算单元、路径生成与执行下发单元。

其中,网络运行状态采集单元与网络运行状态数据库连接;网络运行状态数据库与临时路径计算单元连接;临时路径计算单元与潜在转发路径数据库连接,并与路径生成与执行下发单元连接;潜在转发路径数据库与实时路径计算单元连接;实时路径计算单元与路径生成与执行下发单元连接。

网络运行状态采集单元:与数据中心网络中的网元交互,周期性获取数据中心网络中各链路和各节点的运行状态参数,如带宽、时延、丢包率、抖动等。

网络运行状态数据库:用于记录数据中心网络的运行状态参数,由网络运行状态采集单元负责写入。

临时路径计算单元:根据网络运行状态数据库中记录的运行状态参数,计算位于任两个Spine交换机之间的Fin间路径、Fin间路径的代价以及该Fin间路径对应的中继Spine交换机,并写入潜在转发路径数据库。或者,还可以计算任两个Leaf交换机之间的转发路径、该转发路径的代价以及该转发路径对应的源Spine交换机、中继Spine交换机以及目的Spine交换机,并写入潜在转发路径数据库。

潜在转发路径数据库:用于记录临时路径计算单元计算的任两个Spine交换机之间的Fin间路径、Fin间路径的代价以及该Fin间路径对应的中继Spine交换机、任两个Leaf交换机之间的转发路径、该转发路径的代价以及该转发路径对应的源Spine交换机、中继Spine交换机以及目的Spine交换机。

以该数据中心网络包括3个Fin平面为例,该潜在转发路径数据库的数据格式可以如图3B所示,将3个Fin平面两两组合,任一个Fin平面作为src_fin,另一个Fin平面作为dst_fin,则可以有六种组合方式,该潜在转发路径数据库中分别存储了6种组合方式下,src_fin中的源Spine交换机与dst_fin中的目的Spine交换机之间的Fin间路径对应的中继Spine交换机和Fin间路径的代价。

其中,src_spine表示源Spine交换机,dst_spine表示目的Spine交换机,relay_spine表示源Spine交换机与目的Spine交换机之间的Fin间路径对应的中继Spine交换机,cost表示源Spine交换机与目的Spine交换机之间的Fin间路径的代价。

路径生成与执行下发单元:用于接收来自数据中心网络的路由选择请求,将选取请求发送给实时路径计算单元,由实时路径计算单元进行实际路由选择计算,根据实时路径计算单元的返回结果,构建数据中心网络的路由表,并向数据中心网络下发路由表,完成路由选择操作。

实时路径计算单元:接收来自路径生成与执行下发单元的路由选择请求,从潜在转发路径数据库,获取相应的转发路径列表,综合计算返回转发路径。如果是多路径请求,则返回多条转发路径。

参见图3C,在本发明实施例提供的另一实施例中,该网络管理器还可以包括转发路径缓存数据库,用于缓存任两个Leaf交换机之间的完整路径,以提高路由的计算性能。

路径生成与执行下发单元可以根据自定义的转发路径缓存策略,将需要缓存的路径请求发送给临时路径计算单元,由临时路径计算单元计算完成后,将转发路径存储在转发路径缓存数据库中。该转发路径缓存策略可以为最近使用最频繁策略或者其他策略,本发明实施例对此不做限定。

相应地,实时路径计算单元接收到来自路径生成与执行下发单元的路由选择请求时,可以先查询转发路径缓存数据库,若缓存命中则直接向路径生成与执行下发单元返回查询结果,若未命中,再实时计算转发路径。

上述网络管理器的模块划分清晰,便于进行多节点的增量部署,提高了扩展性能。

进一步地,上述实施例仅是以该网络管理器来进行路由选择为例,实际上,上述所有模块在实际部署时可以采用灵活部署的方式。

可选地,所有模块部署在同一个服务器或者虚拟机上,即该网络管理器为服务器或者虚拟机;或者,数据中心网络的网络规模较大时,由于网络运行状态采集单元需要与数据中心网络中几乎所有节点进行交互,因此处理负载较重,则可以将网络运行状态采集单元独立部署在一个实体上,而将其他模块部署在另一实体上,即该网络管理器包括网络运行状态采集实体和另一实体;或者,还可以将网络运行状态采集单元独立部署在一个独立实体上,将路径生成与执行下发单元部署在一个分布式集群上,而将剩余的模块部署在另一实体上,即该网络管理器包括网络运行状态采集实体、路径生成与执行下发的分布式集群以及另一实体。本发明实施例对网络管理器的部署方式不做限定。

基于上述模块,该网络管理器的路由选择流程可以包括:

1、网络运行状态采集单元周期性从数据中心网络的网元采集网络运行的实时状态参数,如带宽利用率、丢包率等等,并将采集的运行状态参数写入网络运行状态数据库中。

2、临时路径循环计算单元周期性地从网络运行状态数据库中,取出运行状态参数,并计算出任意两个Fin平面之间的N条Fin间路径,并写入潜在转发路径数据库中。若存在转发路径缓存数据库,临时路径循环计算单元还需计算出需要缓存的转发路径,并写入转发路径缓存数据库。

3、当数据中心网络有路由选择请求上送到控制平面时,该路由选择请求首先被送至路径生成与执行下发单元,由路径生成与执行下发单元将路由选择请求转交给实时路径计算单元,实时路径计算单元首先从转发路径缓存数据库查询该路由选择请求对应的路径,如命中,则实时路径计算单元直接返回结果给路径生成与执行下发单元,如未命中,实时路径计算单元将根据潜在转发路径数据库与网络状态数据库计算转发路径,并将计算结果返回给路径生成与执行下发单元,至此,路由选择完成。

在图2A-图2D所示的数据中心网络的基础上,本发明实施例提供了一种数据中心网络的路由选择方法,图4A是本发明实施例提供的一种数据中心网络的路由选择方法的流程图。该发明实施例的执行主体为网络管理器,本发明实施例以要进行路由选择的源Leaf交换机与目的Leaf交换机位于不同的Fin平面为例进行说明。参见图4A,该方法包括:

401、对于位于不同Fin平面的源Leaf交换机和目的Leaf交换机,在源Leaf交换机所在的第一Fin平面中,选取该源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,在目的Leaf交换机所在的第二Fin平面中,选取该目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合。

402、从该源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从该目的Spine交换机集合中遍历地选取任意一个目的Spine交换机。

位于不同Fin平面上的源Leaf交换机和目的Leaf交换机在进行数据转发时,源Leaf交换机需要经过源Leaf交换机所在Fin平面上的某一源Spine交换机、目的Leaf交换机所在Fin平面上的某一目的Spine交换机,到达目的Leaf交换机。因此,源Leaf交换机与目的Leaf交换机之间的路径包括Fin内路径和Fin间路径,Fin内路径是指源Leaf交换机与源Spine交换机之间的路径以及目的Spine交换机与目的Leaf交换机之间的路径,Fin间路径是指源Spine交换机与目的Spine交换机之间的路径。

由于该数据中心网络的Spine交换机层包括多个Spine交换机,在第一Fin平面内与源Leaf交换机连接的任一Spine交换机均可作为源Spine交换机,在第二Fin平面内与目的Leaf交换机连接的任一Spine交换机均可作为目的Spine交换机。因此源Leaf交换机和目的Leaf交换机之间的路径有很多种。

进一步地,为了保证跨Fin间交换无阻塞,源Spine交换机需要经过一个或多个中继Spine交换机,到达目的Spine交换机,因此,对于选定的源Spine交换机和目的Spine交换机,源Spine交换机和目的Spine交换机之间也有很多种Fin间路径,从而导致源Leaf交换机和目的Leaf交换机之间的路径也有很多种。

例如,针对于图2B所示的采用组内互连方式的数据中心网络,Spine交换机层可以如图4B所示,数据中心网络有Y个Fin平面,Z个Group(Spine交换机组),Spine交换机东西向只与Group内其它Spine交换机相连,南向接入N个Leaf交换机,源Leaf交换机A位于Fin 1内,目的Leaf交换机B位于Fin Y内,由A到B必须先经过源Fin 1内任意源Spine交换机1x(1≤x≤Z),再经过Group x内任意中继Spine交换机yx(1<y<Y),最后经过目的Fin Y内目的Spine交换机Yx。其中A到1x的转发路径有[1-11]~[1-1Z]共Z条,1x到yx的转发路径有[2-2x]~[2-(Y-1)x]共(Y-2)条,yz到Yx的转发路径只有1条,Yx到B的转发路径也只有1条,则A到B的转发路径共计Z×(Y-2)条。

针对于图2C所示的采用全连接方式的数据中心网络,Spine交换机层可以如图4C所示,数据中心网络有Y个Fin平面,Z个Group,Spine交换机东西向两两相连,南向接入N个Leaf交换机,源Leaf交换机A位于Fin 1内,目的Leaf交换机B位于Fin Y内,由A到B必须先经过源Fin 1内任意源Spine交换机1i(1≤i≤Z),再经过任意中继Spine交换机yj(1≤y≤Y,1≤j≤Z,y=1&&j≠i),最后经过目的Fin Y内任意目的Spine交换机Yz(1≤z≤Z,z≠j),其中A到1i的转发路径有[1-11]~[1-1Z]共Z条,1i到yj的转发路径有[2-11]~[2-YZ]([2-1i]本身除外)共(Y×Z-1)条,yj到Yz的转发路径有[3-Y1]~[3-YZ]共Z条,Yz到B的转发路径只有1条,则A到B的转发路径共计Z×(Y×Z-1)×Z条。

针对于图2D所示的采用非本组全连接方式的数据中心网络,Spine交换机层可以如图4D所示,数据中心网络有Y个Fin平面,Z个Group,Spine交换机东西向只与其它Group内Spine交换机相连,南向接入N个Leaf交换机,源Leaf交换机A位于Fin 1内,目的Leaf交换机B位于Fin Y内,由A到B必须先经过源Fin 1内任意源Spine交换机1x(1≤x≤Z),再经过任意中继Spine交换机yz(1≤y≤Y,1≤z≤Z,z≠x),最后经过目的Fin Y内目的Spine交换机Yx,其中A到1x的转发路径有[1-11]~[1-1Z]共Z条,1x到yz的转发路径有[2-11]~[2-YZ]([2-1x]~[2-Yx]除外)共[Y×(Z-1)]条,yz到Yx的转发路径只有1条,Yx到B的转发路径也只有1条,则A到B的转发路径共计Z×Y×(Z-1)条。

举例来说,假设Spine交换机的下行端口密度为96*40GE,Leaf交换机的上行端口密度为4*40GE,下行端口密度为48*10GE:

1、当采用组内互连方式的数据中心网络满配时,N=47,Y=49,Z=4,需要部署Spine交换机196台、Leaf交换机2303台,可以接入服务器49×47×47=108241台,跨Fin通信可供网络管理器选择的转发路径有188条;

2、当采用全连接方式的数据中心网络满配时,N=46,Y=12,Z=4,需要部署Spine交换机48台、Leaf交换机552台,可以接入服务器12×46×48=26496台,跨Fin通信可供网络管理器选择的转发路径有184条;

3、当采用非本组全连接方式的数据中心网络满配时,N=48,Y=16,Z=4,需要部署Spine交换机64台、Leaf交换机768台,可以接入服务器16×48×48=36864台,跨Fin通信可供网络管理器选择的转发路径有192条。

本发明实施例中,为了实现跨Fin通信,该网络管理器可以针对给定的位于不同Fin平面上的源Leaf交换机和目的Leaf交换机进行路由选择。

具体地,该网络管理器可以在源Leaf交换机所在的第一Fin平面中,选取该源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在目的Leaf交换机所在的第二Fin平面中,选取该目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合,从而将可能与源Leaf交换机和目的Leaf交换机组成路径的所有源Spine交换机和目的Spine交换机选取出来。组成源Spine交换机集合和目的Spine交换机集合后,该源Leaf交换机、该源Spine交换机集合中的任意一个源Spine交换机、该目的Spine交换机集合中的任意一个目的Spine交换机与该目的Leaf交换机即可组成一条候选路径,该网络管理器可以计算组成的候选路径的代价,从而能够从至少两条候选路径中选取源Leaf交换机和目的Leaf交换机之间的转发路径。

跨Fin通信过程中源Spine交换机、中继Spine交换机、目的Spine交换机的选择体现了充分的灵活性,随之而来的是路由路由选择的复杂性。在数据中心网络中,任一Leaf交换机都将面对[(Y-1)×N]个其它Fin内的Leaf交换机,要实现跨Fin通信的快速路由选择,网络管理器必须为每个Leaf交换机实时维护多条转发路径,而网络中存在(Y×N)个Leaf交换机。多路径维护依赖大量的信息收集以及路由计算,处理过程太长势必影响网络管理器路由决策的时效性,进而导致网络负载不均,甚至产生局部拥塞。

为了降低跨Fin通信过程中Spine交换机选择的灵活性,继而优化网络路由管理,减小计算量,可以适当增加预设约束条件:选取的源Spine交换机和目的Spine交换机必须属于同一Spine交换机组。那么,该网络管理器可以按照预设约束条件选取源Spine交换机和目的Spine交换机。即每次从源Spine交换机集合和目的Spine交换机集合中选取源Spine交换机和目的Spine交换机时,可以从源Spine交换机集合中选取一个源Spine交换机,从目的Spine交换机中选取与选取的源Spine交换机属于同一Spine交换机组的目的Spine交换机。

加入预设约束条件后,源Fin内路由选择保持不变,一旦选定源Spine交换机,目的Spine交换机也随源Spine交换机锁定,可以将选取源Leaf交换机和目的Leaf交换机的问题转化为选取Spine交换机组的问题,降低了路由选择的灵活性,大大减小了路由选择时的计算量。

403、根据该源Leaf交换机和当前选取的源Spine交换机当前的运行状态参数,计算该源Leaf交换机与该源Spine交换机所组成路径的代价,作为第一代价。

404、根据该目的Spine交换机和该目的Leaf交换机当前的运行状态参数,计算当前选取的目的Spine交换机与该目的Leaf交换机所组成路径的代价,作为第三代价。

选定源Spine交换机、目的Spine交换机后,源Leaf交换机、源Spine交换机、目的Spine交换机、目的Leaf交换机即可组成一条候选路径,该候选路径可以包括三段路径:

1、Fin内路径:该源Leaf交换机与该源Spine交换机之间的路径;

2、Fin间路径:该源Spine交换机与该目的Spine交换机之间的路径;

3、Fin内路径:该目的Spine交换机与该目的Leaf交换机之间的路径。

该网络管理器可以分别计算这三段路径的代价。进一步地,该网络管理器可以获取该源Leaf交换机、该源Spine交换机、该目的Spine交换机和该目的Leaf交换机当前的运行状态参数,根据获取到的运行状态参数来计算候选路径的代价。

对于该第一Fin平面内的Fin内路径来说,该网络管理器可以根据该源Leaf交换机和当前选取的源Spine交换机当前的运行状态参数,计算该源Leaf交换机与该源Spine交换机所组成路径的代价,作为第一代价。

对于该第二Fin平面内的Fin内路径来说,该网络管理器可以根据当前选取的目的Spine交换机和该目的Leaf交换机当前的运行状态参数,计算该目的Spine交换机与该目的Leaf交换机所组成路径的代价,作为第三代价。

其中,交换机的运行状态参数可以包括带宽、时延、丢包率中的至少一项,或者还可以包括其他运行状态参数,本发明实施例对此不做限定。

且,在根据任两个交换机当前的运行状态参数计算两个交换机所组成路径的代价时,该网络管理器可以根据对每项运行状态参数的需求,确定每项运行状态参数的权重,并获取这两个交换机当前的每项运行状态参数,按照每项运行状态参数的权重,对这两个交换机当前的每项运行状态参数进行加权求和计算,将计算得到的值作为这两个交换机所组成路径的代价。

另外,该网络管理器可以实时或者周期性地采集该数据中心网络中每个交换机的运行状态参数,存储在网络运行状态数据库中,当需要计算路径的代价时,再从网络运行状态数据库中提取运行状态参数。

例如,参见图3A和图3C,网络运行状态采集单元可以采集交换机的运行状态参数,存储在网络运行状态数据库中,临时路径计算单元可以从网络运行状态数据库中获取Leaf交换机和Spine交换机的运行状态参数。

本发明实施例通过引入交换机当前的运行状态参数,将带宽、时延、丢包率等运行状态参数作为代价的度量值,能够优化选择的路径。

另外,该网络管理器可以为源Leaf交换机与目的Leaf交换机实时维护Fin内路径代价表,该Fin内路径代价表中包括当前选取的源Spine交换机和目的Spine交换机,以及源Leaf交换机与源Spine交换机之间的Fin内路径的代价,目的Leaf交换机与目的Spine交换机之间的Fin内路径的代价,以及这两段路径的代价的较大值。在后续计算整段路径的代价时可以从该Fin内路径代价表中查询Fin内路径的代价,且每当某一交换机的运行状态发生变化时,该网络管理器可以根据变化后的运行状态参数,对该Fin内路径代价表进行更新。以选取的源Spine交换机和目的Spine交换机属于同一Spine交换机组(Group)为例,该代价表可以如下表1所示。

表1

405、从该数据中心网络的Spine交换机层中,选取该源Spine交换机与该目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合。

406、从该中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,根据该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机当前的运行状态参数,计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价。

本发明实施例中,针对于选定的源Spine交换机和目的Spine交换机,该网络管理器可以从该数据中心网络中,选取与该源Spine交换机和该目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合,从而能够将可能与该源Spine交换机和该目的Spine交换机组成路径的所有中继Spine交换机选取出来。

组成中继Spine交换机集合之后,该网络管理器可以每次从中继Spine交换机集合选取一个中继Spine交换机,选取之后,该源Spine交换机、当前选取的中继Spine交换机该目的Spine交换机即组成一条Fin间路径。该网络管理器可以计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价。

可选地,该网络管理器可以按照Fin间路径中的跳数,确定该Fin间路径的代价。或者,为了提高精确度,该网络管理器可以获取该源Spine交换机、该目的Spine交换机以及该中继Spine交换机当前的运行状态参数,根据获取到的运行状态参数,计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价。

Fin间路径包括以下两段路径:该源Spine交换机与该中继Spine交换机所组成的路径以及该中继Spine交换机与该目的Spine交换机所组成的路径。相应地,该步骤406可以包括以下步骤1-3:

1、根据该源Spine交换机以及该中继Spine交换机当前的运行状态参数,计算该源Spine交换机与该中继Spine交换机所组成路径的代价,作为第四代价。

2、根据该中继Spine交换机以及该目的Spine交换机当前的运行状态参数,计算该中继Spine交换机与该目的Spine交换机所组成路径的代价,作为第五代价。

3、计算该第四代价与该第五代价的的最大值,作为该源Spine交换机、该中继Spine交换机以及该目的Spine交换机所组成的Fin间路径的代价。

根据木桶理论,整条路径的代价取决于路径中代价最高的一段路径,因此,该网络管理器计算出第四代价和第五代价后,将第四代价和第五代价的最大值作为Fin间路径的代价。

参见图4B,从源Spine交换机集合和目的Spine交换机集合中,按照该预设约束条件选取Spine交换机1x和Spine交换机Yx,分别作为源Spine交换机和目的Spine交换机,并选取交换机yx作为中继Spine交换机,则Spine交换机1x、Spine交换机yx、Spine交换机Yx组成一条Fin间路径,该Fin间路径包括路径[2-yx]和路径[3],该网络管理器可以根据Spine交换机1x、Spine交换机yx、Spine交换机Yx当前的运行状态参数,计算路径[2-yx]的代价,作为第四代价,计算路径[3]的代价,作为第五代价,则该第四代价与该第五代价的最大值即为该Fin间路径的代价。

407、重复执行上述步骤406,根据从中继Spine交换机集合中选取的至少一个中继Spine交换机,确定由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价。根据确定的至少一条Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的优化Fin间路径以及该优化Fin间路径对应的中继Spine交换机,并将该优化Fin间路径的代价作为该第二代价。

针对于选定的源Spine交换机和目的Spine交换机,选取的中继Spine交换机不同时,源Spine交换机与目的Spine交换机之间的Fin间路径不同,源Leaf交换机与目的Leaf交换机之间的候选路径也不同。该网络管理器可以从该中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,重复执行步骤406,分别计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin间路径的代价;

每条Fin间路径的代价不同,该网络管理器计算出多条Fin间路径的代价后,可以根据多条Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的优化Fin间路径,并确定优化Fin间路径对应的中继Spine交换机,将优化Fin间路径的代价作为第二代价。

优选地,该网络管理器可以确定该多条Fin间路径中代价最小的Fin间路径,作为该源Spine交换机与该目的Spine交换机之间的优化Fin间路径。

之后,该网络管理器还可以将已确定的源Spine交换机与该目的Spine交换机之间的优化Fin间路径以及该优化Fin间路径对应的中继Spine交换机和该第二代价存储于潜在转发路径数据库中,以便在进行路由选择时能够在潜在转发路径数据库中查询到某两个Spine交换机之间的优化Fin间路径。其中,该潜在转发路径数据库的数据格式参见图3B所示,在此不再赘述。

另外,该网络管理器可以为源Spine交换机与目的Spine交换机实时维护Fin间路径代价表,该Fin间路径代价表中包括选取的源Spine交换机和目的Spine交换机以及中继Spine交换机,以及源Spine交换机与中继Spine交换机之间的路径的代价,中继Spine交换机与目的Spine交换机之间的路径的代价以及这两段路径的代价的最大值,即源Spine交换机和目的Spine交换机组成的Fin间路径的代价。在后续计算整段路径的代价时可以从该Fin间路径代价表中查询Fin间路径的代价,且每当某一交换机的运行状态发生变化时,该网络管理器可以根据变化后的运行状态参数,对该Fin间路径代价表进行更新。以选取的源Spine交换机和目的Spine交换机属于同一Spine交换机组(Group)为例,该代价表可以如下表2所示。

表2

408、根据该第一代价、该第二代价和该第三代价,计算由该源Leaf交换机、当前选取的Spine交换机、当前选取的目的Spine交换机与该目的Leaf交换机所组成的候选路径的代价。

三段路径的代价计算完成后,根据木桶理论,该网络管理器即可计算该第一代价、第二代价、第三代价的最大值,作为候选路径的代价。

409、重复执行上述步骤402至408,根据从选取的不同源Spine交换机和目的Spine交换机,确定该源Leaf交换机与该目的Leaf交换机之间的多条候选路径的代价。

上述步骤402至408仅是针对于一组选定的源Spine交换机和目的Spine交换机为例,实际上针对于确定的源Leaf交换机和目的Leaf交换机,在选取源Spine交换机和目的Spine交换机时有多种选取方式。且,从源Spine交换机集合和目的Spine交换机集合中选取的源Spine交换机或目的Spine交换机不同时,所组成的候选路径也不同。

因此,该网络管理器可以从该源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从该目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,重复执行上述步骤402至408,分别计算由该源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的至少两条候选路径的代价。

其中,该网络管理器每次可以从源Spine交换机集合中随机选取一个源Spine交换机,并从目的Spine交换机集合中随机选取一个目的Spine交换机,

或者按照Spine交换机的分布位置的先后顺序选取,本发明实施例对此不做限定。

410、根据该多条候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的转发路径。

可选地,该网络管理器确定多条候选路径的代价后,可以确定该多条候选路径中代价最小的候选路径,作为该源Leaf交换机与该目的Leaf交换机之间的转发路径。

411、当接收到对该源Leaf交换机和该目的Leaf交换机之间的路由选择请求时,查询已计算的源Leaf交换机与该目的Leaf交换机之间的转发路径,下发至数据中心网络的路由表中,使得该源Leaf交换机和该目的Leaf交换机根据该网络管理器确定的转发路径进行数据转发。

该路由选择请求可以包括该源Leaf交换机的地址和该目的Leaf交换机的地址,用于指示对源Leaf交换机和目的Leaf交换机进行路由选择。该网络管理器接收到该路由选择请求后,即可确定要进行路由选择的源Leaf交换机和目的Leaf交换机。其中,该路由选择请求可以由连接源Leaf交换机的服务器触发,或者由连接该目的Leaf交换机的服务器触发,本发明实施例对此不做限定。

也即是,当源服务器要与目的服务器进行通信时,向源服务器连接的源Leaf交换机发送通信请求,源Leaf交换机会向该网络管理器发送路由选择请求,以请求对源Leaf交换机和目的服务器连接的目的Leaf交换机进行路由选择,网络管理器基于该路由选择请求确定源Leaf交换机和目的Leaf交换机之间的转发路径,将该转发路径下发至路由表中,该转发路径上的交换机即可基于该路由表进行数据转发。

由于该网络管理器已预先确定好任两个Leaf交换机之间的转发路径,接收到路由选择请求时,即可查询该源Leaf交换机与该目的Leaf交换机之间的转发路径。后续过程中,该网络管理器即可将确定的转发路径更新至该数据中心网络的路由表中,向数据中心网络下发该路由表,该源Leaf交换机和该目的Leaf交换机即可根据该路由表确定转发路径,基于该转发路径进行数据转发。

参见图3A和图3C,实时路径计算单元确定转发路径后,发送给路径生成与执行下发单元,由路径生成与执行下发单元将确定的转发路径更新至该数据中心网络的路由表中,向数据中心网络下发该路由表。

综上所述,本发明实施例采用了分段计算的方式,将源Leaf交换机与目的Leaf交换机之间的路径划分为三段,并将三段路径中的Fin间路径按照中继Spine交换机划分为两段,则在源Spine交换机与目的Spine交换机位于同一Spine交换机组的约束条件下,源Leaf交换机与目的Leaf交换机之间的候选路径的代价为:

T_total=Max{T(leaf_src,spine_src_i),T(spine_src_i,spine_relay_i_j),

T(spine_relay_i_j,spine_dst_i),T(spine_dst_i,leaf_dst)}

其中,T_total表示源Leaf交换机与目的Leaf交换机之间的候选路径的代价,T(x,y)表示由交换机x和交换机y所组成路径的代价,leaf_src表示源Leaf交换机,spine_src_i表示源Leaf交换机所在Fin平面上的第i个Spine交换机组的Spine交换机,leaf_dst表示目的Leaf交换机,spine_dst_i表示目的Leaf交换机所在Fin平面上的第i个Spine交换机组的Spine交换机,spine_relay_i_j表示spine_src_i与spine_dst_i之间的第j个中继Spine交换机。0<i≤k,k为该数据中心网络中的Spine交换机组Spine交换机组的数目。

则源Leaf交换机与目的Leaf交换机之间的转发路径应当满足:

Tmin=Min{Max{T(leaf_src,spine_src_i),T(spine_src_i,spine_relay_i_j),

T(spine_relay_i_j,spine_dst_i),T(spine_dst_i,leaf_dst)}}

进一步地,为了简化计算,可令

T_spine_i=Max{T(spine_src_i,spine_relay_i_j),T(spine_relay_i_j,spine_dst_i)};

T_spine_i表示第i个Spine交换机组的两个Spine交换机之间的Fin间路径的代价。则源Leaf交换机与目的Leaf交换机之间的转发路径可以简化为:

Tmin=Min{Max{T(leaf_src,spine_src_i),T_spine_i,T(spine_dst_i,leaf_dst)}}。

参见上述转发路径的公式,该网络管理器可以直接计算出每个Spine交换机组下的代价,选取计算出的多个代价的最小值,从而将该最小值对应的路径作为转发路径。

另外,每当路由选择完成时,该网络管理器可以将本次确定的转发路径存储于转发路径缓存数据库中,并在存储预设时长后删除。那么,如果该网络管理器再次接收到对源Leaf交换机和目的Leaf交换机的路由选择请求时,可以先从转发路径缓存数据库中查询已确定的转发路径,若查询到对应的转发路径直接返回该转发路径即可,若未查询到对应的转发路径,再对源Leaf交换机和目的Leaf交换机进行路由选择。

需要说明的一点是,上述步骤401-410仅是针对一组选定的源Leaf交换机和目的Leaf交换机为例进行说明,实际上,为了确定位于不同Fin平面中的任两个Leaf交换机之间的转发路径,该网络管理器每次可以选取不同的源Leaf交换机和目的Leaf交换机,重复执行上述步骤401-410,从而确定该数据中心网络中位于不同Fin平面中的任两个Leaf交换机的转发路径以及该转发路径对应的源Spine交换机、中继Spine交换机、目的Spine交换机和代价。

之后,该网络管理器还可以将已确定的位于不同Fin平面中的任两个Leaf交换机的转发路径以及该转发路径对应的源Spine交换机、中继Spine交换机、目的Spine交换机和代价存储于潜在转发路径数据库中,以便在进行路由选择时能够在潜在转发路径数据库中查询到位于同一Fin平面的某两个Leaf交换机之间的最短Fin内路径。其中,该潜在转发路径数据库的数据格式参见图3B所示,在此不再赘述。

进一步地,该网络管理器还可以将位于不同Fin平面中的任两个Leaf交换机之间的多条路径,以及每条路径对应的源Spine交换机、中继Spine交换机、目的Spine交换机和代价存储于潜在转发路径数据库中。

由于该网络管理器已预先确定好位于不同Fin平面中的任两个Leaf交换机之间的转发路径,当接收到任一路由选择请求时,即可根据该路由选择请求确定需要进行路由选择的源Leaf交换机和目的Leaf交换机,查询该源Leaf交换机与该目的Leaf交换机之间的转发路径,将确定的转发路径更新至该数据中心网络的路由表中,向数据中心网络下发该路由表,该源Leaf交换机和该目的Leaf交换机即可根据该路由表确定转发路径,基于该转发路径进行数据转发。

需要说明的另一点是,上述步骤401-410仅是以先计算源Leaf交换机与目的Leaf交换机之间的转发路径,在接收到对源Leaf交换机与目的Leaf交换机的路由选择请求时下发该转发路径为例进行说明,通过预先计算的方式减小了路由选择过程的计算开销,提高了路由选择效率。而在实际应用中,该网络管理器还可以不预先计算转发路径,待接收到对源Leaf交换机与目的Leaf交换机的路由选择请求时,根据各个交换机当前的运行状态参数,实时地计算源Leaf交换机与目的Leaf交换机之间的转发路径,下发至数据中心网络的路由表中,以提高精确度。或者,由于选择Fin间路径的计算量较大,而选择Fin内路径的计算量较小,该网络管理器还可以先计算出任两个Spine交换机之间的优化Fin间路径,在接收到对源Leaf交换机与目的Leaf交换机的路由选择请求时,采用将Fin间路径与Fin路径拼接的方式,计算源Leaf交换机与目的Leaf交换机的候选路径的代价,从而确定转发路径,在保证路由选择精确度的情况下尽可能地减小实时计算开销,提高路由选择效率。本发明实施例对计算路径的过程与接收路由选择请求之间的时序关系不做限定。

本发明实施例提供的方法,通过在给出的数据中心网络中,对任两个Leaf交换机进行路由选择时,采用分段计算的方式计算候选路径的代价,从多条候选路径中快速确定转发路径。充分地利用了数据中心网络的结构化信息,用多项式和的最小值求解问题替代了传统的图论求转发路径问题,减小了路由选择过程中的计算开销,大大提高了路由选择效率,避免了数据中心网络瘫痪的问题,提高了网络稳定性。进一步地,在路由选择的计算过程中引入了交换机当前的运行状态参数,将带宽、时延、丢包率等运行状态参数作为代价的度量值,进一步优化了选择的路径。进一步地,通过根据缓存策略将确定的转发路径保存在转发路径缓存数据库中,提供了端到端的路径缓存,提高了路由选择的效率。

图5A是本发明实施例提供的一种数据中心网络的路由选择方法的流程图。该发明实施例的执行主体为网络管理器,本发明实施例以进行路由选择的源Leaf交换机与目的Leaf交换机位于相同的Fin平面为例进行说明。参见图5A,该方法包括:

501、对于位于相同Fin平面的源Leaf交换机和目的Leaf交换机,从该源Leaf交换机与该目的Leaf交换机所在的Fin平面中,选取与该源Leaf交换机和目的Leaf交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合。

502、从该中继Spine交换机集合中选取一个中继Spine交换机,计算由该源Leaf交换机、当前选取的中继Spine交换机以及该目的Leaf交换机组成的Fin内路径的代价。

由于位于同一Fin平面上的源Leaf交换机和目的Leaf交换机在进行数据转发时,需要经过Fin平面上的一个或多个中继Spine交换机。而Fin平面上有很多Spine交换机,导致源Leaf交换机和目的Leaf交换机之间的路径有很多种。

参见图5B,数据中心网络共有Z个Group,源Leaf交换机A与目的Leaf交换机B位于同一Fin平面,由A到B可以经过Fin y内任意Spine交换机yz(1≤z≤Z),A到B的转发路径有[1-y1]~[1-yZ],共计Z条。

为了确定位于同一Fin平面的任两个Leaf交换机之间的最短Fin内路径,对于该数据中心网络中的每个Fin平面来说,该网络管理器可以从该Fin平面中,选取源Leaf交换机和目的Leaf交换机,并选取与源Leaf交换机和目的Leaf交换机均连接的至少一个Spine交换机作为中继Spine交换机,将至少一个中继Spine交换机组成中继Spine交换机集合,从而将可能与源Leaf交换机和目的Leaf交换机组成路径的所有Spine交换机选取出来。

组成中继Spine交换机集合之后,该网络管理器每次可以从中继Spine交换机集合中选取一个中继Spine交换机,该源Leaf交换机、当前选取的中继Spine交换机和该目的Leaf交换机即可组成一条Fin内路径。该网络管理器可以计算由该源Leaf交换机、当前选取的中继Spine交换机以及该目的Leaf交换机组成的Fin内路径的代价。

可选的,该网络管理器可以按照Fin内路径中的跳数,确定该Fin内路径的代价。或者,为了提高精确度,该网络管理器可以获取该源Leaf交换机、该目的Leaf交换机以及该中继Spine交换机当前的运行状态参数,根据获取到的运行状态参数,计算由该源Leaf交换机、该目的Leaf交换机以及该中继Spine交换机组成的Fin内路径的代价。

其中,Leaf交换机的运行状态参数可以包括带宽、时延、丢包率中的至少一项,或者还可以包括其他运行状态参数,本发明实施例对此不做限定。该网络管理器可以实时或者周期性地采集该数据中心网络中每个交换机的运行状态参数,存储在网络运行状态数据库中,当需要计算任两个Leaf交换机之间的转发路径时,再从网络运行状态数据库中提取运行状态参数。

例如,参见图3A和图3C,网络运行状态采集单元可以采集交换机的运行状态参数,存储在网络运行状态数据库中,临时路径计算单元可以从网络运行状态数据库中获取Leaf交换机的运行状态参数。

Fin内路径包括以下两段路径:该源Leaf交换机与该中继Spine交换机所组成的路径以及该中继Spine交换机与该目的Leaf交换机所组成的路径。相应地,该步骤502可以包括以下步骤1-3:

1、根据该源Leaf交换机以及该中继Spine交换机当前的运行状态参数,计算该源Leaf交换机与该中继Spine交换机所组成路径的第六代价。

2、根据该中继Spine交换机以及该目的Leaf交换机当前的运行状态参数,计算该中继Spine交换机与该目的Leaf交换机所组成路径的第七代价。

3、计算该第六代价与该第七代价的最大值,作为Fin内路径的代价。

参见图5B,在Fin y中将Spine交换机yz作为源Leaf交换机A与目的Leaf交换机B的中继Spine交换机,则A、yz、B组成一条Fin内路径,该Fin内路径包括路径[1-yz]和路径[2],该网络管理器可以根据A、yz、B当前的运行状态参数,计算路径[1-yz]的代价,作为第六代价,计算路径[2]的代价,作为第七代价,则该第六代价与该第七代价的最大值即为该Fin内路径的代价。

503、重复执行上述步骤501至502,根据从该中继Spine交换机集合中选取的至少一个中继Spine交换机,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin内路径的代价。

针对于选定的源Leaf交换机和目的Leaf交换机,选取的中继Spine交换机不同时,组成的Fin内路径也不同。该网络管理器可以从该中继Spine交换机集合中遍历地选取一个中继Spine交换机,重复执行步骤501-502,分别计算由该源Leaf交换机、当前选取的中继Spine交换机以及该目的Leaf交换机组成的Fin内路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin内路径的代价。

504、根据计算出的至少两条Fin内路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

每条Fin内路径的代价不同,则该网络管理器可以根据多条Fin内路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径,并确定最短Fin内路径对应的中继Spine交换机和代价。

优选地,该网络管理器可以确定该多条Fin内路径中代价最小的Fin内路径,作为该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

505、当接收到对该源Leaf交换机和该目的Leaf交换机之间的路由选择请求时,查询已计算的源Leaf交换机与该目的Leaf交换机之间的转发路径,下发至数据中心网络的路由表中,使得该源Leaf交换机和该目的Leaf交换机根据该网络管理器确定的转发路径进行数据转发。

该步骤505与上述步骤411类似,区别仅在于步骤505中的路由选择请求所指示的源Leaf交换机和目的Leaf交换机位于同一Fin平面。

需要说明的是,上述步骤501-504仅是针对于一组选定的源Leaf交换机和目的Leaf交换机为例进行说明,实际上,为了确定位于同一Fin平面中的任两个Leaf交换机之间的最短Fin内路径,该网络管理器每次可以选取不同的源Leaf交换机和目的Leaf交换机,重复执行上述步骤501-504,从而确定该数据中心网络中的任两个Leaf交换机之间的最短Fin内路径以及该最短Fin内路径对应的中继Spine交换机和代价。

之后,该网络管理器还可以将已确定的任两个Leaf交换机之间的最短Fin内路径以及该最短Fin内路径对应的中继Spine交换机和代价存储于潜在转发路径数据库中,以便在进行路由选择时能够在潜在转发路径数据库中查询到位于同一Fin平面的某两个Leaf交换机之间的最短Fin内路径。其中,该潜在转发路径数据库的数据格式参见图3B所示,在此不再赘述。

需要说明的是,参见图3A和图3C,上述步骤501-504可以由网络管理器中的临时路径计算单元执行,临时路径计算单元可以将计算结果存储在潜在转发路径数据库中。

本发明实施例提供的方法,通过在给出的数据中心网络中,对任两个Leaf交换机进行路由选择时,采用分段计算的方式计算候选路径的代价,从多条候选路径中快速确定转发路径,取代了传统的路由选择协议,充分地利用了数据中心网络的结构化信息,减小了路由选择过程中的计算开销,大大提高了路由选择效率,避免了数据中心网络瘫痪的问题,提高了网络稳定性。进一步地,在路由选择的计算过程中引入了交换机当前的运行状态参数,将带宽、时延、丢包率等参数作为代价的度量值,进一步优化了选择的路径。进一步地,通过根据缓存策略将确定的转发路径保存在转发路径缓存数据库中,提供了端到端的路径缓存,提高了路由选择的效率。

需要说明的是,上述图4A所示的实施例与图5A所示的实施例分别为源Leaf交换机与目的Leaf交换机位于不同的Fin平面或者相同的Fin平面为例进行说明。而在实际应用中,为了保证无论源Leaf交换机与目的Leaf交换机位于不同的Fin平面还是相同的Fin平面均能够提高路由选择效率,该网络管理器可以执行上述步骤401-411和501-505,确定任两个Leaf交换机之间的转发路径。在后续接收到路由选择请求时直接确定转发路径即可,其具体路由选择过程在此不再赘述。

本发明实施例中,网络管理器实时监控数据中心网络中的所有链路,收集每条链路上的运行状态参数,然后刷新与链路相关的每条转发路径的代价。在进行路由选择时,考虑每条可达的转发路径的代价,从中选择代价最小的转发路径,通过对转发流进行有效疏导,实现流量在全网均匀分布,使得全局代价均匀增长,从而避免产生局部拥塞。

图6是本发明实施例提供的一种数据中心网络的路由选择方法的流程图。该发明实施例的执行主体为网络管理器。

参见图1,该数据中心网络包括至少两个Fin平面,每个Fin平面包括至少两个Spine交换机以及至少一个Leaf交换机;对于每个Fin平面,当前Fin平面内的每个Leaf交换机与该当前Fin平面内的至少两个Spine交换机连接;在任意两个Fin平面之间,其中一个Fin平面内的至少两个Spine交换机和另一个Fin平面内的至少一个Spine交换机连接。

参见图6,该方法包括:

601、对于给定的源Leaf交换机和目的Leaf交换机,如果该源Leaf交换机所在的第一Fin平面与该目的Leaf交换机所在的第二Fin平面为不同Fin平面,在该第一Fin平面中选取该源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在该第二Fin平面中选取该目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合。

602、计算由该源Leaf交换机、该源Spine交换机集合中的任意一个源Spine交换机、该目的Spine交换机集合中的任意一个目的Spine交换机与该目的Leaf交换机组成的至少两条候选路径的代价。

603、根据该至少两条候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的转发路径。

本发明实施例提供的方法,通过在给定的数据中心网络中,采用计算代价的方式,从多条候选路径中快速确定转发路径,取代了传统的路由选择协议,减小了路由选择过程中的计算开销,大大提高了路由选择效率,避免了数据中心网络瘫痪的问题,提高了网络稳定性。

在第一种可能实现方式中,该计算由该源Leaf交换机、该源Spine交换机集合中的任意一个源Spine交换机、该目的Spine交换机集合中的任意一个目的Spine交换机与该目的Leaf交换机组成的至少两条候选路径的代价,包括:

从该源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从该目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,分别计算由该源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的至少两条候选路径的代价。

在第二种可能实现方式中,该计算由该源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价,包括:

计算该源Leaf交换机与该当前选取的源Spine交换机所组成路径的代价,作为第一代价;

计算该当前选取的源Spine交换机与该当前选取的目的Spine交换机所组成路径的代价,作为第二代价;

计算该当前选取的目的Spine交换机与该目的Leaf交换机所组成路径的代价,作为第三代价;

根据该第一代价、该第二代价和该第三代价,计算由该源Leaf交换机、该当前选取的源Spine交换机、该当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价。

在第三种可能实现方式中,该计算该源Leaf交换机与该源Spine交换机所组成路径的代价,作为第一代价,包括:

根据该源Leaf交换机和该源Spine交换机当前的运行状态参数,计算该第一代价,其中,该运行状态参数包括带宽、时延、丢包率中的至少一项。

在第四种可能实现方式中,该计算该当前选取的源Spine交换机与该当前选取的目的Spine交换机所组成路径的代价,作为第二代价,包括:

从该数据中心网络中,选取与该源Spine交换机和该目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;

从该中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,分别计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin间路径的代价;

根据该至少两条Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的优化Fin间路径以及该优化Fin间路径对应的中继Spine交换机,并将该优化Fin间路径的代价作为该第二代价。

在第五种可能实现方式中,该计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价,包括:

根据该源Spine交换机以及该中继Spine交换机当前的运行状态参数,计算该源Spine交换机与该中继Spine交换机所组成路径的代价,作为第四代价;

根据该中继Spine交换机以及该目的Spine交换机当前的运行状态参数,计算该中继Spine交换机与该目的Spine交换机所组成路径的代价,作为第五代价;

将该第四代价与该第五代价中的最大值作为该源Spine交换机、该中继Spine交换机以及该目的Spine交换机所组成的Fin间路径的代价。

在第六种可能实现方式中,该计算该目的Spine交换机与该目的Leaf交换机所组成路径的代价,作为第三代价,包括:

根据该目的Leaf交换机和该目的Spine交换机当前的运行状态参数,计算该第三代价,其中,该运行状态参数包括带宽、时延、丢包率中的至少一项。

在第七种可能实现方式中,该根据该第一代价、该第二代价和该第三代价,计算由该源Leaf交换机、该源Spine交换机、该目的Spine交换机与该目的Leaf交换机组成的候选路径的代价,包括:

将该第一代价、该第二代价和该第三代价中的最大值作为该候选路径的代价。

在第八种可能实现方式中,该根据该至少两条候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的转发路径,包括:

确定该至少两条候选路径中代价最小的候选路径,作为该源Leaf交换机与该目的Leaf交换机之间的转发路径。

在第九种可能实现方式中,该数据中心网络包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机;

该从该源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从该目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,包括:

从该源Spine交换机集合中遍历地选取任意一个源Spine交换机,并按照预设约束条件,从该目的Spine交换机集合中选取一个目的Spine交换机;

其中,该预设约束条件为选取的目的Spine交换机与选取的源Spine交换机位于同一Spine交换机组。

在第十种可能实现方式中,该方法还包括:

如果该源Leaf交换机所在的第一Fin平面与该目的Leaf交换机所在的第二Fin平面为同一Fin平面,则确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

在第十一种可能实现方式中,该确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径,包括:

从该源Leaf交换机与该目的Leaf交换机所在的Fin平面中,选取与该源Leaf交换机和目的Leaf交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;

从该中继Spine交换机集合中遍历地选取一个中继Spine交换机,分别计算由该源Leaf交换机、当前选取的中继Spine交换机以及该目的Leaf交换机组成的Fin内路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin内路径的代价;

根据计算出的至少两条Fin内路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

在第十二种可能实现方式中,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,在每个Spine交换机组内,每个Spine交换机和其他每个Spine交换机连接。

在第十三种可能实现方式中,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层中的每个Spine交换机与其他每个Spine交换机连接。

在第十四种可能实现方式中,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,Spine交换机层中的每个Spine交换机与所在Spine交换机组之外的每个Spine交换机连接,同一Spine交换机组内的任两个Spine交换机互不连接。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

图7是本发明实施例提供的一种数据中心网络的网络管理器的结构示意图,该网络管理器用于对上述图2A-图2D所示的数据中心网络进行路由选择。参见图7,该网络管理器包括:

选取模块701,用于对于给定的源Leaf交换机和目的Leaf交换机,如果该源Leaf交换机所在的第一Fin平面与该目的Leaf交换机所在的第二Fin平面为不同Fin平面,在该第一Fin平面中,选取该源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在该第二Fin平面中,选取该目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合;

计算模块702,用于计算由该源Leaf交换机、该源Spine交换机集合中的任意一个源Spine交换机、该目的Spine交换机集合中的任意一个目的Spine交换机与该目的Leaf交换机组成的至少两条候选路径的代价;

路由选择模块703,用于根据该至少两条候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的转发路径。

本发明实施例提供的装置,通过在给出的数据中心网络中,采用计算代价的方式,从多条候选路径中快速确定转发路径,取代了传统的路由选择协议,减小了路由选择过程中的计算开销,大大提高了路由选择效率,避免了数据中心网络瘫痪的问题,提高了网络稳定性。

在第一种可能实现方式中,该计算模块702用于从该源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从该目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,分别计算由该源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的至少两条候选路径的代价。

在第二种可能实现方式中,该计算模块702用于计算该源Leaf交换机与该当前选取的源Spine交换机所组成路径的代价,作为第一代价;计算该当前选取的源Spine交换机与该当前选取的目的Spine交换机所组成路径的代价,作为第二代价;计算该当前选取的目的Spine交换机与该目的Leaf交换机所组成路径的代价,作为第三代价;根据该第一代价、该第二代价和该第三代价,计算由该源Leaf交换机、该当前选取的源Spine交换机、该当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价。

在第三种可能实现方式中,该计算模块702用于根据该源Leaf交换机和该源Spine交换机当前的运行状态参数,计算该第一代价,其中,该运行状态参数包括带宽、时延、丢包率中的至少一项。

在第四种可能实现方式中,该计算模块702还用于从该数据中心网络中,选取与该源Spine交换机和该目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;从该中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,分别计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin间路径的代价;根据该至少两条Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的优化Fin间路径以及该优化Fin间路径对应的中继Spine交换机,并将该优化Fin间路径的代价作为该第二代价。

在第五种可能实现方式中,该计算模块702还用于根据该源Spine交换机以及该中继Spine交换机当前的运行状态参数,计算该源Spine交换机与该中继Spine交换机所组成路径的代价,作为第四代价;根据该中继Spine交换机以及该目的Spine交换机当前的运行状态参数,计算该中继Spine交换机与该目的Spine交换机所组成路径的代价,作为第五代价;将该第四代价与该第五代价中的最大值作为该源Spine交换机、该中继Spine交换机以及该目的Spine交换机所组成的Fin间路径的代价。

在第六种可能实现方式中,该计算模块702用于根据该目的Leaf交换机和该目的Spine交换机当前的运行状态参数,计算该第三代价,其中,该运行状态参数包括带宽、时延、丢包率中的至少一项。

在第七种可能实现方式中,该计算模块702还用于将该第一代价、该第二代价和该第三代价中的最大值作为该候选路径的代价。

在第八种可能实现方式中,该计算模块702还用于确定该至少两条候选路径中代价最小的候选路径,作为该源Leaf交换机与该目的Leaf交换机之间的转发路径。

在第九种可能实现方式中,该数据中心网络包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机;

该计算模块702还用于从该源Spine交换机集合中遍历地选取任意一个源Spine交换机,并按照预设约束条件,从该目的Spine交换机集合中选取一个目的Spine交换机;

其中,该预设约束条件为选取的目的Spine交换机与选取的源Spine交换机位于同一Spine交换机组。

在第十种可能实现方式中,该计算模块702还用于如果该源Leaf交换机所在的第一Fin平面与该目的Leaf交换机所在的第二Fin平面为同一Fin平面,则确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

在第十一种可能实现方式中,该计算模块702还用于从该中继Spine交换机集合中遍历地选取一个中继Spine交换机,分别计算由该源Leaf交换机、当前选取的中继Spine交换机以及该目的Leaf交换机组成的Fin内路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin内路径的代价;根据计算出的至少两条Fin内路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

在第十二种可能实现方式中,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,在每个Spine交换机组内,每个Spine交换机和其他每个Spine交换机连接。

在第十三种可能实现方式中,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层中的每个Spine交换机与其他每个Spine交换机连接。

在第十四种可能实现方式中,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,Spine交换机层中的每个Spine交换机与所在Spine交换机组之外的每个Spine交换机连接,同一Spine交换机组内的任两个Spine交换机互不连接。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

需要说明的是:上述实施例提供的基于数据中心网络的路由选择装置在进行路由选择时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将网络管理器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的基于数据中心网络的路由选择装置与基于数据中心网络的路由选择方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图8是本发明实施例提供的一种数据中心网络的网络管理器的结构示意图,该网络管理器用于对上述图2A-图2D所示的数据中心网络进行路由选择。该网络管理器可以为与数据中心网络关联的SDN控制器、SDN控制器中的任一功能模块,或者分布式集群等。该网络管理器还可以包括为任一交换机上运行的代理程序和SDN控制器,SDN控制器与每个交换机上的代理程序关联,每个交换机上的代理程序获取对应交换机的当前的运行状态参数,并上传至SDN控制器,由SDN控制器根据每个交换机当前的运行状态参数以及数据中心网络的具体架构进行路由选择。

参见图8,包括:存储器801和处理器802,该存储器801与该处理器802连接,该存储器801存储有程序代码,该处理器802用于调用该程序代码,执行以下操作:

对于给定的源Leaf交换机和目的Leaf交换机,如果该源Leaf交换机所在的第一Fin平面与该目的Leaf交换机所在的第二Fin平面为不同Fin平面,在该第一Fin平面中选取该源Leaf交换机连接的至少一个源Spine交换机,组成源Spine交换机集合,并在该第二Fin平面中选取该目的Leaf交换机连接的至少一个目的Spine交换机,组成目的Spine交换机集合;

计算由该源Leaf交换机、该源Spine交换机集合中的任意一个源Spine交换机、该目的Spine交换机集合中的任意一个目的Spine交换机与该目的Leaf交换机组成的至少两条候选路径的代价;

根据该至少两条候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的转发路径。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

从该源Spine交换机集合遍历地选取任意一个源Spine交换机,以及从该目的Spine交换机集合中遍历地选取任意一个目的Spine交换机,分别计算由该源Leaf交换机、当前选取的源Spine交换机、当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的至少两条候选路径的代价。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

计算该源Leaf交换机与该当前选取的源Spine交换机所组成路径的代价,作为第一代价;

计算该当前选取的源Spine交换机与该当前选取的目的Spine交换机所组成路径的代价,作为第二代价;

计算该当前选取的目的Spine交换机与该目的Leaf交换机所组成路径的代价,作为第三代价;

根据该第一代价、该第二代价和该第三代价,计算由该源Leaf交换机、该当前选取的源Spine交换机、该当前选取的目的Spine交换机与该目的Leaf交换机组成的候选路径的代价。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

根据该源Leaf交换机和该源Spine交换机当前的运行状态参数,计算该第一代价,其中,该运行状态参数包括带宽、时延、丢包率中的至少一项。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

从该数据中心网络中,选取与该源Spine交换机和该目的Spine交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;

从该中继Spine交换机集合中遍历地选取任意一个中继Spine交换机,分别计算由该源Spine交换机、当前选取的中继Spine交换机以及该目的Spine交换机组成的Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin间路径的代价;

根据该至少两条Fin间路径的代价,确定该源Spine交换机与该目的Spine交换机之间的优化Fin间路径以及该优化Fin间路径对应的中继Spine交换机,并将该优化Fin间路径的代价作为该第二代价。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

根据该源Spine交换机以及该中继Spine交换机当前的运行状态参数,计算该源Spine交换机与该中继Spine交换机所组成路径的代价,作为第四代价;

根据该中继Spine交换机以及该目的Spine交换机当前的运行状态参数,计算该中继Spine交换机与该目的Spine交换机所组成路径的代价,作为第五代价;

将该第四代价与该第五代价中的最大值作为该源Spine交换机、该中继Spine交换机以及该目的Spine交换机所组成的Fin间路径的代价。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

根据该目的Leaf交换机和该目的Spine交换机当前的运行状态参数,计算该第三代价,其中,该运行状态参数包括带宽、时延、丢包率中的至少一项。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

将该第一代价、该第二代价和该第三代价中的最大值作为该候选路径的代价。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

确定该至少两条候选路径中代价最小的候选路径,作为该源Leaf交换机与该目的Leaf交换机之间的转发路径。

可选地,该数据中心网络包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机;

该处理器802还用于调用该程序代码,执行以下操作:

从该源Spine交换机集合中遍历地选取任意一个源Spine交换机,并按照预设约束条件,从该目的Spine交换机集合中选取一个目的Spine交换机;

其中,该预设约束条件为选取的目的Spine交换机与选取的源Spine交换机位于同一Spine交换机组。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

如果该源Leaf交换机所在的第一Fin平面与该目的Leaf交换机所在的第二Fin平面为同一Fin平面,则确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

可选地,该处理器802还用于调用该程序代码,执行以下操作:

从该源Leaf交换机与该目的Leaf交换机所在的Fin平面中,选取与该源Leaf交换机和目的Leaf交换机均连接的至少一个中继Spine交换机,组成中继Spine交换机集合;

从该中继Spine交换机集合中遍历地选取一个中继Spine交换机,分别计算由该源Leaf交换机、当前选取的中继Spine交换机以及该目的Leaf交换机组成的Fin内路径的代价,确定该源Spine交换机与该目的Spine交换机之间的至少两条Fin内路径的代价;

根据计算出的至少两条Fin内路径的代价,确定该源Leaf交换机与该目的Leaf交换机之间的最短Fin内路径。

可选地,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,在每个Spine交换机组内,每个Spine交换机和其他每个Spine交换机连接。

可选地,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层中的每个Spine交换机与其他每个Spine交换机连接。

可选地,该数据中心网络中的所有Spine交换机组成Spine交换机层,该Spine交换机层包括至少一个Spine交换机组,每个Spine交换机组包括每个Fin平面内的至少一个Spine交换机,Spine交换机层中的每个Spine交换机与所在Spine交换机组之外的每个Spine交换机连接,同一Spine交换机组内的任两个Spine交换机互不连接。

上述所有可选技术方案,可以采用任意结合形成本发明的可选实施例,在此不再一一赘述。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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