探测转发路径的方法、设备及网络系统与流程

文档序号:11180551阅读:559来源:国知局
探测转发路径的方法、设备及网络系统与流程

本发明涉及网络技术领域,特别涉及一种探测转发路径的方法、设备及网络系统。



背景技术:

数据中心网络通常包括多个交换机,多个交换机之间相互连接,构成了多条路径。这些交换机中的部分交换机可以作为入口交换机来发送报文,部分交换机可以作为出口交换机来接收报文,而部分交换机仅能作为中间交换机,对接收到的报文进行转发。而针对特定的入口交换机与出口交换机,对于一条数据流,该入口交换机与出口交换机之间实际的转发路径仅有一条,当入口交换机要向出口交换机发送报文时,报文会经过该转发路径上的至少一个中间交换机,到达该出口交换机。

现有技术中,为了便于对数据中心网络进行管理,通常需要探测入口交换机与出口交换机之间的转发路径,探测方法可以包括下述步骤:

1)控制器向入口交换机发送探测报文,该探测报文携带五元组,该五元组包括源ip地址、源端口、目的ip地址、目的端口和传输层协议。且,该控制器向数据中心网络中的所有交换机下发访问控制列表(accesscontrollist,acl)匹配规则,acl匹配规则包括该五元组,且acl匹配规则用于使每个交换机若接收到的报文中携带的五元组与acl匹配规则中的五元组匹配,则向控制器发送匹配成功消息。

2)入口交换机在接收到该探测报文后,会按照探测报文中的五元组转发该探测报文,则该探测报文会经过该入口交换机与出口交换机之间的转发路径上的中间交换机,到达出口交换机。在此过程中,转发路径上的中间交换机就会接收到该探测报文,并根据该acl匹配规则确定该探测报文中携带的五元组与acl匹配规则中的五元组匹配,此时转发路径上的中间交换机会向控制器发送匹配成功消息。而不在该转发路径上的中间交换机不会接收到该探测报文,也 不会向该控制器发送匹配成功消息。

3)控制器接收到至少一个中间交换机发送的匹配成功消息,即可确定发送匹配成功消息的中间交换机即为转发路径上的中间交换机,则根据该至少一个中间交换机以及该数据中心网络的网络拓扑结构即可确定入口交换机与出口交换机之间的转发路径。

但是,在上述探测过程中,需要为每条被探测的数据流在每个中间交换机上配置acl规则,并且需要转发路径上的所有中间交换机均执行向控制器发送匹配成功消息的操作,占用较多的设备资源,实现过程复杂。



技术实现要素:

为了解决现有技术的问题,本发明实施例提供了一种探测转发路径的方法、设备及网络系统。所述技术方案如下:

第一方面,提供了一种探测转发路径的方法,所述方法包括:

控制器向入口交换机发送n个探测报文,每个探测报文携带一个中间交换机标识,所述n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,每个中间交换机标识用于唯一标识一个中间交换机;

所述控制器接收出口交换机发送的至少一个添加第一标记后的探测报文,获取所述至少一个添加第一标记后的探测报文中携带的中间交换机标识;

所述控制器根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定所述入口交换机与所述出口交换机之间的转发路径。

结合第一方面,在第一方面的第一种可能实现方式中,控制器向入口交换机发送n个探测报文之前,所述方法还包括:

所述控制器向每个中间交换机下发第一匹配规则,所述第一匹配规则用于规定如果一个中间交换机接收到的探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识相同,则所述中间交换机为所述接收到的探测报文添加第一标记,所述第一标记用于指示出口交换机将添加第一标记后的探测报文发送给所述控制器。

结合第一方面的上述任一种可能实现方式,在第一方面的第二种可能实现方式中,所述第一匹配规则为acl匹配规则。

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

为所述网络拓扑结构中的所有中间交换机分配不同的中间交换机标识。

第二方面,提供了一种探测转发路径的方法,所述方法包括:

中间交换机接收来自入口交换机的探测报文,所述探测报文携带一个中间交换机标识;

所述中间交换机判断所述探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识是否相同;

如果所述探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识相同,则所述中间交换机为所述探测报文添加第一标记,转发添加第一标记后的探测报文,使得出口交换机接收到所述添加第一标记后的探测报文,向控制器发送所述添加第一标记后的探测报文。

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

所述中间交换机获取第一匹配规则,所述第一匹配规则用于规定如果一个中间交换机接收到的探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识相同,则所述中间交换机为所述接收到的探测报文添加第一标记,所述第一标记用于指示出口交换机将添加第一标记后的探测报文发送给所述控制器。

结合第二方面的上述任一种可能实现方式,在第二方面的第二种可能实现方式中,所述第一标记为预设优先级,所述为所述探测报文添加第一标记,包括:

将所述探测报文中携带的优先级修改为所述预设优先级,以为所述探测报文添加所述第一标记。

第三方面,提供了一种探测转发路径的方法,所述方法包括:

出口交换机接收来自入口交换机的探测报文,所述探测报文携带一个中间交换机标识;

所述出口交换机判断所述探测报文是否为添加第一标记后的探测报文;

如果确定所述探测报文为添加第一标记后的探测报文,所述出口交换机向控制器发送所述添加第一标记后的探测报文,使得所述控制器接收所述出口交 换机发送的至少一个添加第一标记后的探测报文,根据所述至少一个添加第一标记后的探测报文中携带的中间交换机标识和预存的网络拓扑结构,确定所述入口交换机与所述出口交换机之间的转发路径。

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

所述出口交换机获取第二匹配规则,所述第二匹配规则用于规定如果所述出口交换机接收到的探测报文为添加第一标记后的探测报文,则所述出口交换机将所述添加第一标记后的探测报文发送给所述控制器。

结合第三方面,在第三方面的第二种可能实现方式中,所述第一标记为预设优先级,所述出口交换机判断所述探测报文是否为添加第一标记后的探测报文包括:

所述出口交换机判断所述探测报文中携带的优先级是否为所述预设优先级。

第四方面,提供了一种控制器,所述控制器包括:

发送模块,用于向入口交换机发送n个探测报文,每个探测报文携带一个中间交换机标识,所述n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,每个中间交换机标识用于唯一标识一个中间交换机;

接收模块,用于接收出口交换机发送的至少一个添加第一标记后的探测报文,获取所述至少一个添加第一标记后的探测报文中携带的中间交换机标识;

确定模块,用于根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定所述入口交换机与所述出口交换机之间的转发路径。

所述第四方面的控制器用于执行所述第一方面以及第一方面各实施方式中的方法。

第五方面,提供了一种中间交换机,所述中间交换机包括:

接收模块,用于接收来自入口交换机的探测报文,所述探测报文携带一个中间交换机标识;

判断模块,用于判断所述探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识是否相同;

添加第一标记模块,用于如果确定所述探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识相同,则为所述探测报文添加第一标记;

发送模块,用于转发添加第一标记后的探测报文,使得出口交换机接收到所述添加第一标记后的探测报文,向控制器发送所述添加第一标记后的探测报文。

所述第五方面的中间交换机用于执行所述第二方面以及第二方面各实施方式中的方法。

第六方面,提供了一种出口交换机,所述出口交换机包括:

接收模块,用于接收来自入口交换机的探测报文,所述探测报文携带一个中间交换机标识;

判断模块,用于判断所述探测报文是否为添加第一标记后的探测报文;

发送模块,用于如果确定所述探测报文为添加第一标记后的探测报文,则向控制器发送所述添加第一标记后的探测报文,使得所述控制器接收所述出口交换机发送的至少一个添加第一标记后的探测报文,根据所述至少一个添加第一标记后的探测报文中携带的中间交换机标识和预存的网络拓扑结构,确定所述入口交换机与所述出口交换机之间的转发路径。

所述第四方面的出口交换机用于执行所述第三方面以及第三方面各实施方式中的方法。

第七方面,提供了一种网络系统,其特征在于,所述网络系统包括:控制器、入口交换机、中间交换机和出口交换机;

所述控制器,用于向所述入口交换机发送n个探测报文,每个探测报文携带一个中间交换机标识,所述n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,每个中间交换机标识用于唯一标识一个中间交换机;

所述入口交换机,用于当接收到所述控制器发送的探测报文时,转发所述探测报文;

所述中间交换机,用于接收来自所述入口交换机的探测报文;判断所述探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识是否相同;如果所述探测报文中携带的中间交换机标识与所述中间交换机的中间交换机标识相同,则所述中间交换机为所述探测报文添加第一标记,转发添加第一标记后的探测报文;

所述出口交换机,用于接收来自所述入口交换机的探测报文;判断所述探测报文是否为添加第一标记后的探测报文;如果确定所述探测报文为添加第一标记后的探测报文,则所述出口交换机向所述控制器发送所述添加第一标记后的探测报文;

所述控制器,用于接收所述出口交换机发送的添加第一标记后的探测报文,获取所述至少一个添加第一标记后的探测报文中携带的中间交换机标识;根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定所述入口交换机与所述出口交换机之间的转发路径。

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

通过控制器向入口交换机发送n个探测报文,每个探测报文携带一个中间交换机标识,所述n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,每个中间交换机标识用于唯一标识一个中间交换机,使得入口交换机转发至少一个探测报文,入口交换机与出口交换机之间的转发路径上的中间交换机在确定接收到的探测报文中的中间交换机标识与本端的中间交换机标识相同时,为接收到的探测报文添加第一标记后再转发,则仅需出口交换机将接收到的添加第一标记后的探测报文上报控制器,控制器即可根据该至少一个添加第一标记后的探测报文中携带的中间交换机标识以及预存的网络拓扑结构,确定该入口交换机与该出口交换机之间的转发路径,而无需转发路径上的所有中间交换机均执行向控制器发送匹配成功消息的操作,节省了占用的设备资源,简化了实现过程,减小了中间交换机的压力,提高了灵活性。

进一步地,通过控制器向每个中间交换机下发第一匹配规则,使得每个中间交换机可以按照该第一匹配规则将接收到的每个探测报文中携带的中间交换机标识与该中间交换机的中间交换机标识进行匹配,提高了匹配的精确度,通过转发路径上的中间交换机在匹配成功时为接收到的探测报文添加第一标记,便于控制器根据添加第一标记后的探测报文确定转发路径上的中间交换机,扩展了确定转发路径上的中间交换机的方式,提高了灵活性。

进一步地,通过获取与网络拓扑结构中的中间交换机的数目相等的数据报文,并根据每个中间交换机的中间交换机标识,确定与每个数据报文对应的中间交换机标识,使得探测报文中携带的中间交换机标识可以与中间交换机的中 间交换机标识一一对应,便于准确探测转发路径上的中间交换机,而不会发生遗漏,提高了探测转发路径的准确度;

进一步地,通过将探测报文中携带的优先级修改为预设优先级,以为探测报文添加第一标记,使得无需对探测报文进行较大修改即可对探测报文进行第一标记,操作简便,提高了标记效率,提高了灵活性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍。

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

图2是本发明实施例提供的另一种网络系统的结构示意图;

图3是本发明实施例提供的一种控制器的结构示意图;

图4是本发明实施例提供的一种中间交换机的结构示意图;

图5是本发明实施例提供的一种出口交换机的结构示意图;

图6是本发明实施例提供的一种探测转发路径的方法流程图。

具体实施方式

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

图1是本发明实施例提供的一种网络系统的结构示意图。参见图1,该网络系统100包括:控制器和数据中心网络。该数据中心网络中包括多个相互连接的交换机,这些交换机中的部分交换机可以作为入口交换机来发送报文,部分交换机可以作为出口交换机来接收报文,而部分交换机仅能作为中间交换机,转发接收到的报文。

以数据中心网络中的入口交换机101、至少一个中间交换机102、出口交换机103为例,参见图1,该入口交换机101与该出口交换机103之间可以连接多个中间交换机102,从而构成多条路径,而对于特定的数据流,即对于确定的五元组,该入口交换机101与该出口交换机103之间实际的转发路径仅有一条,当入口交换机101要向出口交换机103发送报文时,报文会经过该转发路径上的中间交换机102,到达该出口交换机103,而不会经过数据中心网络中的其他 中间交换机102。

该控制器104用于向入口交换机101发送n个探测报文,每个探测报文携带一个中间交换机标识,n等于该数据中心网络中的中间交换机的数目且不同的探测报文携带的中间交换机标识不同。

该入口交换机101用于接收该控制器104发送的n个探测报文,转发该n个探测报文。

该中间交换机102用于接收来自入口交换机101的探测报文;判断该探测报文中携带的中间交换机标识与该中间交换机102的中间交换机标识是否相同;如果该探测报文中携带的中间交换机标识与该中间交换机102的中间交换机标识相同,则为该探测报文添加第一标记,转发添加第一标记后的探测报文。

出口交换机103用于接收来自入口交换机101的探测报文;判断该探测报文是否为添加第一标记后的探测报文;如果确定该探测报文为添加第一标记后的探测报文,则向控制器104发送该添加第一标记后的探测报文。

控制器104还用于接收该出口交换机103发送的至少一个添加第一标记后的探测报文,获取该至少一个添加第一标记后的探测报文中携带的中间交换机标识;根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定该入口交换机101与该出口交换机103之间的转发路径。

进一步地,该网络系统还可以包括:underlay网络和overlay网络。其中,underlay网络是指数据中心网络中的底层物理网络,overlay网络是指数据中心网络中叠加在底层物理网络之上的虚拟网络。

实际应用中,underlay网络通常由一系列交换机按照spine/leaf(叶/脊)方式组成fabric(物理网络组织结构)。

例如,该underlay网络可以包括至少一个leaf交换机、至少一个spine交换机以及至少一个core交换机。其中,leaf交换机通常被配置在服务器机架的顶端,作为服务器机架的接入式交换机,也称作架顶(top-of-rack,tor)交换机,也即是可以作为入口交换机或者出口交换机;spine交换机是指对leaf交换机起汇聚(aggregation)作用的交换机,一般部署在leaf交换机的上层,用来实现leaf交换机之间报文路由或转发的功能,也即是作为中间交换机;core交换机为核心层交换机,是整个网络的中心交换机,用于连接和汇聚spine交换机,也可作 为中间交换机。

且,该至少一个leaf交换机和该至少一个spine交换机之间相互连接,该至少一个spine交换机和该至少一个core交换机之间相互连接,因此,任意两个leaf交换机之间可以构成多条路径。

而针对特定的两个leaf交换机,当五元组确定后,该特定的两个leaf交换机之间实际的转发路径仅有一条,当该特定的两个leaf交换机中的一个leaf交换机要向另一个leaf交换机发送报文时,报文会经过该转发路径上的spine交换机,或者该转发路径上的spine交换机和core交换机,到达另一个leaf交换机。

图2是本发明实施例提供的另一种网络系统的结构示意图,参见图2,以数据中心网络为underlay网络为例,该网络系统200包括控制器和underlay网络,该underlay网络包括:虚拟机(英文:virtualmachine,简称:vm)1和vm2,leaf1和leaf2,spine1、spine2、spine3和spine4,core1、core2、core3和core4,以及控制器201。

其中,vm1接入leaf1,vm2接入leaf2,vm1和vm2之间可以通过各自接入的leaf交换机实现通信。且,由图3所示的各个交换机的连接关系可以明显获知leaf1和leaf2之间的多个spine交换机和多个core交换机构成了多条路径,而当五元组确定后,leaf1和leaf2之间实际的转发路径仅有一条,因此,当leaf1要向leaf2交换机发送报文时,报文只会经过spine1、spine2、spine3和spine4中位于实际转发路径上的那个spine交换机,再经过该实际转发路径上的至少一个spine交换机和至少一个core交换机,到达leaf2。

为了探测leaf1与leaf2之间的转发路径,本发明实施例中,控制器201可以向leaf1发送至少一个探测报文,leaf1与leaf2之间的转发路径上的中间交换机为接收到的探测报文添加第一标记。而leaf2接收到添加第一标记的探测报文后,可以向控制器201发送添加第一标记的探测报文,则控制器201即可根据接收到的添加第一标记的探测报文中的中间交换机标识和预存的网络拓扑结构,确定leaf1与leaf2之间的转发路径。

另外,该数据中心网络还可以包括overlay网络,overlay网络是指建立在underlay网络之上的虚拟网络,例如可以为虚拟可扩展局域网(virtualextensiblelocalareanetwork,vxlan)等。因此,优选地,该数据中心网络可以为vxlan-overlay网络。

图3是本发明实施例提供的一种控制器的结构示意图,参见图3,该控制器包括:接收器301、发射器302、存储器303和处理器304,该接收器301、该发射器302和该存储器303分别与该处理器304连接,该存储器303存储有程序代码,该处理器304用于调用该程序代码,执行以下操作:

通过发射器302,向入口交换机发送n个探测报文,每个探测报文携带一个中间交换机标识,n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,每个中间交换机标识用于唯一标识一个中间交换机;

通过接收器301,接收出口交换机发送的至少一个添加第一标记后的探测报文,获取至少一个添加第一标记后的探测报文中携带的中间交换机标识;

根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定该入口交换机与该出口交换机之间的转发路径。

基于图2所示的underlay网络,该控制器可以为图2中的控制器201,为了探测leaf1与leaf2之间的转发路径,该控制器201可以向leaf1发送n个探测报文,使得入口交换机转发该n个探测报文,其中,每个探测报文携带一个中间交换机标识(中间交换机包括图2中的全部leaf交换机和core交换机)且不同的探测报文携带的中间交换机标识不同,使得leaf1与leaf2之间的转发路径上的中间交换机若确定接收到的探测报文中的中间交换机标识与对应中间交换机的中间交换机标识相同,则为接收到的探测报文添加第一标记。之后,该控制器201可以根据leaf2上报的添加第一标记后的探测报文获取到至少一个中间交换机标识,并根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定leaf1与leaf2之间的转发路径。

进一步地,发射器302可以包括发送模块,该发送模块可以用于向入口交换机发送n个探测报文。该接收器301可以包括接收模块,该接收模块可以用于接收出口交换机发送的至少一个添加第一标记后的探测报文。该处理器304可以包括确定模块,该确定模块可以用于根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定入口交换机与出口交换机之间的转发路径。

可选地,该处理器304还可以包括下发模块,该下发模块用于向每个中间交换机下发第一匹配规则,第一匹配规则用于规定如果一个中间交换机接收到的探测报文中携带的中间交换机标识与中间交换机的中间交换机标识相同,则 中间交换机为接收到的探测报文添加第一标记,第一标记用于指示出口交换机将添加第一标记后的探测报文发送给控制器。

图4是本发明实施例提供的一种中间交换机的结构示意图,参见图4,该中间交换机包括:收发器401、存储器402和处理器403。该收发器401和该存储器402分别与该处理器403连接,该存储器402存储有程序代码,该处理器403用于调用该程序代码,执行以下操作:

通过收发器401,接收来自入口交换机的探测报文,探测报文携带一个中间交换机标识;

判断探测报文中携带的中间交换机标识与中间交换机的中间交换机标识是否相同;

如果探测报文中携带的中间交换机标识与中间交换机的中间交换机标识相同,则为探测报文添加第一标记,转发添加第一标记后的探测报文,使得出口交换机接收到添加第一标记后的探测报文,向控制器发送添加第一标记后的探测报文。

基于图2所示的underlay网络,该中间交换机可以为图2中的spine交换机和core交换机。例如,若leaf1与leaf2之间的转发路径上的中间交换机为spine1、core2和spine3,则spine1、core2和spine3中的任一交换机接收到来自leaf1的探测报文后,将判断该探测报文中携带的中间交换机标识与本端中间交换机的中间交换机标识是否相同,若相同,则为该探测报文添加第一标记,并转发添加第一标记后的探测报文。而不在该转发路径上的中间交换机不会接收到该探测报文,也不会为该探测报文添加第一标记。

进一步地,该收发器401可以包括接收模块,该接收模块可以用于接收来自入口交换机的探测报文。该处理器403可以包括判断模块和添加第一标记模块,该判断模块用于判断探测报文中携带的中间交换机标识与中间交换机的中间交换机标识是否相同。该添加第一标记模块用于如果确定探测报文中携带的中间交换机标识与中间交换机的中间交换机标识相同,则为探测报文添加第一标记。该收发器401可以包括发送模块,该发送模块可以用于转发添加第一标记后的探测报文。

可选地,该处理器403还可以包括获取模块,该获取模块用于获取第一匹 配规则,第一匹配规则用于规定如果一个中间交换机接收到的探测报文中携带的中间交换机标识与中间交换机的中间交换机标识相同,则中间交换机为接收到的探测报文添加第一标记,第一标记用于指示出口交换机将添加第一标记后的探测报文发送给控制器。

可选地,第一标记为预设优先级,添加第一标记模块还用于将探测报文中携带的优先级修改为预设优先级,以为探测报文添加第一标记。

图5是本发明实施例提供的一种出口交换机的结构示意图,参见图5,该出口交换机包括:收发器501、存储器502和处理器503。该收发器501和该存储器502分别与该处理器503连接,该存储器502存储有程序代码,该处理器503用于调用该程序代码,执行以下操作:

通过收发器501,接收来自入口交换机的探测报文,探测报文携带一个中间交换机标识;

判断探测报文是否为添加第一标记后的探测报文;

如果确定探测报文为添加第一标记后的探测报文,向控制器发送添加第一标记后的探测报文,使得控制器接收出口交换机发送的至少一个添加第一标记后的探测报文,根据至少一个添加第一标记后的探测报文中携带的中间交换机标识和预存的网络拓扑结构,确定入口交换机与出口交换机之间的转发路径。

基于图2所示的underlay网络,该出口交换机可以为图2中的leaf交换机。如,该入口交换机为leaf1,出口交换机为leaf2,控制器为控制器201,则leaf2可以接收到来自leaf1的至少一个探测报文,对于接收到的每个探测报文,leaf2可以判断该探测报文是否为添加第一标记后的探测报文,如果确定该探测报文为添加第一标记后的探测报文,则向控制器201发送该添加第一标记后的探测报文。

进一步地,该收发器501可以包括接收模块,该接收模块可以用于接收来自入口交换机的探测报文。该处理器503可以包括判断模块,该判断模块用于判断探测报文是否为添加第一标记后的探测报文。该收发器501可以包括发送模块,该发送模块可以用于如果确定探测报文为添加第一标记后的探测报文,则向控制器发送添加第一标记后的探测报文。

可选地,该处理器503还可以包括获取模块,该获取模块用于获取第二匹 配规则,第二匹配规则用于规定如果出口交换机接收到的探测报文为添加第一标记后的探测报文,则出口交换机将添加第一标记后的探测报文发送给控制器。

可选地,第一标记为预设优先级,判断模块,还用于判断探测报文中携带的优先级是否为预设优先级。

图6是本发明实施例提供的一种探测转发路径的方法流程图,如图6所示,该探测转发路径的方法的交互主体为控制器、入口交换机、中间交换机和出口交换机,包括以下步骤:

601、控制器向入口交换机发送n个探测报文。

本发明实施例中,将数据中心网络中用于转发报文的交换机称之为中间交换机,实际应用中,对于给定的入口交换机和出口交换机,入口交换机和出口交换机之间通常配置多个中间交换机,该多个中间交换机相互连接,从而在入口交换机与出口交换机之间构成多条路径。但是,实际上,该入口交换机与该出口交换机之间针对特定的五元组的转发路径仅有一条,为了便于对数据中心网络进行管理,需要对入口交换机与出口交换机之间的转发路径进行探测。

而考虑到可以为该数据中心网络中的每个中间交换机配置不同的中间交换机标识,中间交换机标识可以用于确定唯一的中间交换机,而从入口交换机发送至出口交换机的报文只会经过入口交换机与出口交换机之间的转发路径上的中间交换机,到达该出口交换机,而不会经过其他的中间交换机。因此,为了对转发路径上的中间交换机进行追踪以探测该转发路径,可以使中间交换机转发探测报文,并使探测报文携带中间交换机标识,使接收到探测报文的中间交换机在确定该探测报文中携带的中间交换机标识与本端的中间交换机标识相同时,对探测报文进行标记,那么,添加标记后的探测报文携带的中间交换机标识所指示的中间交换机即为转发路径上的中间交换机,而未添加标记的探测报文携带的中间交换机标识所指示的中间交换机即为不在转发路径上的中间交换机,根据转发路径上的中间交换机即可探测出该转发路径。

为此,本发明实施例中,该控制器可以根据数据中心网络中的中间交换机以及每个中间交换机的中间交换机标识,获取n个探测报文,并向入口交换机发送该n个探测报文,以便该入口交换机向出口交换机发送该n个探测报文。那么,该n个探测报文从入口交换机发送至出口交换机的过程中,均会经过该 入口交换机与该出口交换机之间的转发路径上的多个中间交换机,到达该出口交换机。

其中,该n个探测报文中的每个探测报文携带一个中间交换机标识,所述n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,也即是,该n个探测报文携带的中间交换机标识与数据中心网络中的每个中间交换机的中间交换机标识一一对应。

例如,基于图2,该underlay网络中包括8个中间交换机,中间交换机标识switchid分别为switch1~switch8。相应地,该控制器可以向入口交换机发送8个探测报文,该8个探测报文分别携带switch1~switch8。

其中,每个中间交换机标识用于唯一标识一个中间交换机,中间交换机标识可以为中间交换机的ip地址或者设备编号等,本发明实施例对此不做限定。

在该步骤601之前,为了便于确定转发路径上的中间交换机,该控制器可以预先为数据中心网络中的所有中间交换机分配不同的中间交换机标识。例如,该控制器可以预先确定中间交换机标识的范围,根据数据中心网络中包括的中间交换机数目,从该范围内依次为每个中间交换机选取一个中间交换机标识,并保证不同的中间交换机的中间交换机标识不同。分配完成之后,该控制器可以通过与数据中心网络之间的接口,向每个中间交换机下发对应的中间交换机标识。

其中,该控制器可以采用预设分配算法为多个中间交换机分别分配中间交换机标识,该预设分配算法可以为hash(哈希)算法、消息鉴权码(messageauthenticationcode)算法或者其他算法等,在分配过程中,可以从switchid为1~65535的范围内进行选取。另外,该控制器可以通过如netconf的管理接口,向每个中间交换机下发对应的switchid,将对应的switchid配置到每个中间交换机上,本发明实施例对此均不做限定。

另外,为了保证探测报文能够成功从入口交换机发送至出口交换机,每个探测报文还可以携带入口交换机的设备信息和出口交换机的设备信息。其中,入口交换机的设备信息可以包括入口交换机的ip地址、端口、介质访问控制(mediaaccesscontrol,mac)地址、设备编号和交换机标识等,当然也可以包括入口交换机其他的设备信息,出口交换机的设备信息可以包括出口交换机的ip地址、端口、mac地址、设备编号和交换机标识等,当然也可以包括出口交 换机其他的设备信息,本发明实施例对此均不做限定。

在一种可能的实现方式中,该控制器在向待探测的入口交换机发送n个探测报文之前,可以先获取待探测的入口交换机的设备信息和待探测的出口交换机的设备信息,并获取n个数据报文,且该n个数据报文的数目与该数据中心网络的网络拓扑结构中的中间交换机的数目相等。之后,该控制器可以根据每个中间交换机的中间交换机标识,确定与每个数据报文对应的中间交换机标识,并根据与每个数据报文对应的中间交换机标识、该入口交换机的设备信息和该出口交换机的设备信息,对该n个数据报文中的每个数据报文进行封装,得到该n个探测报文。

例如,该控制器可以根据待探测的入口交换机和出口交换机获取五元组,该五元组包括源ip地址(入口交换机的ip地址)、源端口(入口交换机的端口)、目的ip地址(出口交换机的ip地址)、目的端口(出口交换机的端口)和传输层协议,并获取该n个数据报文。之后,该控制器可以根据与每个数据报文对应的中间交换机标识和该五元组,对该n个数据报文中的每个数据报文进行封装,得到该n个探测报文,则每个探测报文中即可携带对应的中间交换机标识以及该五元组。

其中,以vxlan网络为例,在采用vxlan技术对该n个数据报文进行封装时,会为每个数据报文添加一个外层头,得到n个vxlan探测报文。而在对每个数据报文进行封装的过程中,该控制器可以从外层头保留的字段中扩展一个标识字段,该标识字段可以用于携带获取的中间交换机标识。例如,vxlan所封装的外层头中包括24bit的保留字段,则可以使用其中的16bit作为标识字段,来携带中间交换机标识。如此,可以合理利用封装报文的保留字段,提高了资源利用率。

602、该入口交换机接收该控制器发送的n个探测报文,转发该n个探测报文。

例如,该入口交换机可以获取该n个探测报文中每个探测报文携带的五元组,根据该五元组转发该n个探测报文。

需要说明的是,本发明实施例仅是以入口交换机接收控制器发送的探测报文为例,而实际应用中,该入口交换机还可以通过对数据报文进行封装得到探测报文。

603、转发路径上的任一中间交换机接收来自入口交换机的探测报文,判断该探测报文中携带的中间交换机标识与该中间交换机的中间交换机标识是否相同。

入口交换机转发该至少一个探测报文后,则该转发路径上的任一中间交换机将接收到来自该入口交换机的至少一个探测报文,还可以按照该至少一个探测报文中携带的出口交换机的设备信息进行转发。

而为了便于后续控制器确定接收到探测报文的中间交换机,当转发路径上的任一中间交换机接收到探测报文时,对于接收到的每个探测报文,不会直接转发,会先判断该探测报文中携带的中间交换机标识与该任一中间交换机的中间交换机标识是否相同。

604、如果该探测报文中携带的中间交换机标识与该中间交换机的中间交换机标识相同,则该中间交换机为该探测报文添加第一标记,将添加第一标记后的探测报文转发至转发路径上的下一中间交换机,由下一中间交换机继续执行上述步骤603-604,直至将至少一个探测报文转发至出口交换机。

在另一种可能的实现方式中,如果该探测报文中携带的中间交换机标识与该中间交换机的中间交换机标识不同,该中间交换机将不执行为该探测报文添加第一标记的操作,仅将该探测报文转发至转发路径上的下一中间交换机,由下一中间交换机继续执行上述步骤603-604,直至将至少一个探测报文转发至出口交换机。

需要说明的是,本发明实施例仅是以该入口交换机与该出口交换机的转发路径上包括多个中间交换机为例进行说明,而实际应用中,如果该转发路径上只包括一个中间交换机,该中间交换机的下一交换机即为出口交换机,则该中间交换机为该探测报文添加第一标记后,即可直接将添加第一标记后的探测报文转发至出口交换机。

本发明实施例中,在步骤603-604之前,该控制器可以向该数据中心网络中的每个中间交换机下发第一匹配规则,其中,该第一匹配规则用于规定如果一个中间交换机接收到的探测报文中携带的中间交换机标识与对应中间交换机的中间交换机标识相同,则该中间交换机为该接收到的探测报文添加第一标记,该第一标记用于指示出口交换机将添加第一标记后的探测报文发送给控制器。则转发路径上的每个中间交换机接收到探测报文时,即可根据该第一匹配规则 执行步骤603-604。

例如,该控制器可以向数据中心网络中的所有交换机分别下发acl匹配规则,该acl匹配规则包括对应中间交换机的中间交换机标识,且该acl匹配规则用于对每个交换机规定:若接收到的探测报文中携带的中间交换机标识与acl匹配规则中的中间交换机标识匹配,则为该接收到的探测报文添加第一标记。则该数据中心网络中的每个中间交换机可以获取该控制器下发的第一匹配规则,在接收到来自入口交换机的n探测报文中的任一探测报文时,即可根据获取到的第一匹配规则对接收到的探测报文中携带的中间交换机进行匹配。

605、出口交换机接收来自该入口交换机的探测报文,判断该探测报文是否为添加第一标记后的探测报文,如果确定该探测报文为添加第一标记后的探测报文,则向控制器发送该添加第一标记后的探测报文。

在步骤605之前,该控制器还可以向出口交换机下发第二匹配规则,则该出口交换机即可获取该第二匹配规则,根据该第二匹配规则对接收到的探测报文进行匹配。其中,该第二匹配规则用于规定如果该出口交换机接收到的探测报文为添加第一标记后的探测报文,则该出口交换机将该添加第一标记后的探测报文发送给控制器。

其中,在一种可能的实现方式中,探测报文中可以携带优先级,而该第一标记可以为预设优先级,则转发路径上的中间交换机确定接收到的探测报文中携带的中间交换机标识与该中间交换机的中间交换机标识相同时,可以将接收到的探测报文中携带的优先级修改为预设优先级,以为该探测报文添加第一标记。相应地,该出口交换机接收来自该入口交换机的n个探测报文过程中,对于接收到的每个探测报文,可以先判断该探测报文中携带的优先级是否为该预设优先级,如果确定该探测报文中携带的优先级为预设优先级,即可确定该接收到的探测报文为添加第一标记后的探测报文。

进一步地,该出口交换机可以通过acl技术匹配携带预设优先级的探测报文,也即是,该出口交换机可以获取接收到的每个探测报文中携带的优先级,并将获取到的优先级与预设优先级进行匹配,若匹配成功,即可确定该接收到的探测报文为添加第一标记后的探测报文。其中,该预设优先级可以为5、6、9等,本发明实施例对此不做限定。且为了保证探测准确率,每个探测报文初始的优先级均与该预设优先级不同。

例如,以该预设优先级为6为例,转发路径上的任一中间交换机当确定接收到的探测报文中的中间交换机标识与对应中间交换机的中间交换机标识相同时,即可将该探测报文携带中携带的优先级修改为6,并进行转发。该出口交换机接收到来自该入口交换机的至少一个探测报文时,对于接收到的每个探测报文,可以通过acl技术匹配携带的优先级为6的探测报文,并将优先级为6的探测报文上报控制器。

606、控制器接收该出口交换机发送的至少一个添加第一标记后的探测报文,获取该至少一个添加第一标记后的探测报文中携带的中间交换机标识。

607、控制器根据获取到的至少一个中间交换机标识和预存的网络拓扑结构,确定该入口交换机与该出口交换机之间的转发路径。

如果某一探测报文为添加第一标记后的探测报文,表示该探测报文经过了所携带的中间交换机标识所指示的中间交换机,即该中间交换机为转发路径上的中间交换机,因此,该控制器可以获取该至少一个添加第一标记后的探测报文中携带的中间交换机标识,可以根据该获取到的至少一个中间交换机标识确定位于转发路径上的至少一个中间交换机。之后,该控制器即可根据预存的网络拓扑结构确定该至少一个中间交换机在该网络拓扑结构中的位置以及相互之间的连接关系,从而确定出该入口交换机与该出口交换机之间的转发路径。

例如,参见图2,基于601的举例,leaf1与leaf2之间的转发路径上的中间交换机为spine1、core2和spine3,则spine1、core2和spine3中的任一中间交换机可以接收到来自入口交换机的8个探测报文,对于接收到的每个探测报文,将判断该探测报文携带的switchid与所述中间交换机的switchid是否相同,若相同,将为该探测报文添加第一标记,以便标识所述中间交换机位于转发路径上,并转发添加第一标记后的探测报文。那么,8个探测报文中将会有3个添加第一标记后的探测报文,且这3个添加第一标记后的探测报文所携带的中间交换机标识即为spine1、core2和spine3的中间交换机标识。该出口交换机接收到8个探测报文后,可以将3个添加第一标记后的探测报文上报至控制器。该控制器即可根据该3个添加第一标记后的探测报文,获取到该3个添加第一标记后的探测报文中携带的switchid,进而可以根据获取到的switchid确定出该转发路径上的中间交换机包括spine1、core2和spine3。之后,该控制器可以根据预存的网络拓扑结构确定出leaf1与leaf2之间的转发路径为:leaf1 -spine1-core2-spine3-leaf2。

需要说明的是,本发明实施例仅是以给定的入口交换机和出口交换机为例,来说明探测入口交换机与出口交换机之间的转发路径的方法,而在实际应用中,可以采用上述方法探测任一入口交换机与任一出口交换机之间的转发路径,在此不再赘述。

综上所述,本发明实施例提供的探测转发路径的方法,通过控制器向入口交换机发送n个探测报文,每个探测报文携带一个中间交换机标识,所述n等于中间交换机的数目且不同的探测报文携带的中间交换机标识不同,每个中间交换机标识用于唯一标识一个中间交换机,使得入口交换机转发n个探测报文,入口交换机与出口交换机之间的转发路径上的中间交换机在确定接收到的探测报文中的中间交换机标识与本端的中间交换机标识相同时,为接收到的探测报文添加第一标记后再转发,则仅需出口交换机将接收到的添加第一标记后的探测报文上报控制器,控制器即可根据至少一个添加第一标记后的探测报文中携带的中间交换机标识以及预存的网络拓扑结构,确定该入口交换机与该出口交换机之间的转发路径,而无需转发路径上的所有中间交换机均执行向控制器发送匹配成功消息的操作,节省了占用的设备资源,简化了实现过程,减小了中间交换机的压力,提高了灵活性。而且,依赖于数据平面中的中间交换机来添加第一标记的机制,避免了每个中间交换机上报匹配成功消息的操作,降低了对中间交换机的中央处理器(centralprocessingunit,cpu)的冲击,而且节省了网络资源。

另外,通过本发明实施例提供的方法,控制器仅需向数据中心网络中的所有交换机配置一次中间交换机标识,即可探测不同的入口交换机和出口交换机之间的转发路径,而无需针对不同的入口交换机和出口交换机向所有交换机配置不同的基于五元组的acl匹配规则,简化了控制器的操作流程,节省了控制器资源,提高了探测效率。进一步地,每个中间交换机仅需对探测报文中携带的中间交换机标识进行匹配,而无需匹配五元组,简化了匹配内容,提高了匹配效率,减小了中间交换机的压力。

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

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

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