SDN控制器和交换机控制链路的保护倒换方法及装置与流程

文档序号:13168818阅读:644来源:国知局
SDN控制器和交换机控制链路的保护倒换方法及装置与流程

本发明实施例涉及网络技术领域,尤其涉及一种sdn控制器和交换机控制链路的保护倒换方法及装置。



背景技术:

软件定义网络(softwaredefinednetwork,sdn)是一种新型网络架构,是网络虚拟化的一种实现方式,其核心技术新型网络交换模型openflow通过将网络设备控制面与数据面分离开来,从而实现了网络流量的灵活控制。

目前,sdn网络架构包括sdn控制器和多台sdn交换机,sdn控制器通过物理连接与网络中的sdn交换机建立管理网络。sdn控制器和sdn交换机之间通过连接多条链路的方式,可以使sdn控制器和sdn交换机在一条链路断掉时采用其他链路进行控制和数据转发。现有技术中,sdn控制器和sdn交换机之间主要有两种控制链路连接保护方式,图1是第一种控制链路连接保护方式,具体为sdn控制器与全部sdn交换机之间都有两条控制链路来保证控制通道的连接,即主用控制链路和备用控制链路,图2是第二种控制链路连接保护方式,具体为任何一个sdn交换机都需要连接两个sdn控制器。按照上述这两种链路连接保护方式都可以实现在其中一个sdn交换机或者控制链路断掉时,均可以切换到另外一条备用控制链路或sdn控制器。

但是,上述两种链路连接保护方式都需要单独额外的配置控制链路,尤其是当增加sdn交换机数量时,还需要单独配置更多的控制链路;同时第二种链路连接保护方式中,在sdn控制器和sdn交换机连接时,还需要配置额外的sdn控制器。



技术实现要素:

本发明提供一种sdn控制器和交换机控制链路的保护倒换方法及装置,以实现快速倒换控制链路,且同时兼容多种链路保护连接方式。

第一方面,本发明实施例提供了一种sdn控制器和交换机控制链路的保护倒换方法,应用于软件定义网络sdn控制器,所述方法包括:

对第一sdn交换机的主用控制链路进行链路检测;

当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器按照所述sdn控制器、所述第一sdn交换机和至少一个除第一sdn交换机以外的其他交换机之间间接的网络拓扑结构建立的路由通道,且所述路由通道中的所述sdn控制器和所述第一sdn交换机之间包括至少一个除第一sdn交换机以外的其他sdn交换机。

第二方面,本发明实施例还提供了一种sdn控制器和交换机控制链路的保护倒换装置,执行上述任一所述的sdn控制器和交换机控制链路的保护倒换方法,所述装置包括:

控制链路检测模块,用于对第一sdn交换机的主用控制链路进行链路检测;

控制链路切换模块,用于当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器按照所述sdn控制器、所述第一sdn交换机和至少一个除第一sdn交换机以外的其他交换机之间间接的网络拓扑结构建立的路由通道,且所述路由通道中的所述sdn控制器和所述第一sdn交换机之间包括至少一个除第一sdn交换机以外的其他sdn交换机。

第三方面,本发明实施例还提供了一种计算机设备,该计算机设备包括:

一个或多个处理器;

存储装置,用于存储一个或多个程序,

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上所述的sdn控制器和交换机控制链路的保护倒换方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上所述的sdn控制器和交换机控制链路的保护倒换方法。

本发明实施例通过sdn控制器对第一sdn交换机的主用控制链路进行检测,并在第一sdn交换机的主用控制链路断开时,将sdn控制器与第一sdn交换机之间的控制链路切换到备用控制链路,解决控制链路连接线和控制器连接复杂的问题,实现sdn控制器和sdn交换机之间控制链路的快速倒换,且同时兼容多种链路保护连接方式的效果。

附图说明

图1为现有技术中的sdn控制器和交换机的控制链路的模型示意图;

图2为现有技术中的sdn控制器和交换机的控制链路的模型示意图;

图3是本发明实施例一中的sdn控制器和交换机控制链路的保护倒换方法的流程示意图;

图4是本发明实施例二中的sdn控制器和交换机控制链路的保护倒换方法的流程示意图;

图5是本发明实施例二中的双交换机的sdn控制器和交换机控制链路的模型示意图;

图6是本发明实施例二中的四个交换机的sdn控制器和交换机控制链路的模型示意图;

图7是本发明实施例三中的sdn控制器和交换机控制链路的保护倒换装置的结构示意图;

图8是本发明实施例四中的sdn控制器和交换机控制链路的保护倒换的计算机设备的结构示意图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图3为本发明实施例一提供的sdn控制器和交换机控制链路的保护倒换方法的流程示意图,本实施例可适用于sdn控制器和交换机控制链路的链路连接保护倒换情况,该方法可以由sdn控制器和交换机控制链路的保护倒换装置来执行。如图3所示,sdn控制器和交换机控制链路的保护倒换方法,包括:

步骤310、对第一sdn交换机的主用控制链路进行链路检测。

具体的,sdn控制器与第一sdn交换机连接时,sdn控制器可以对sdn控制器端口和第一sdn交换机之间的主用控制链路的链路连通状态进行检测。sdn控制器可以按照预先设定的时间间隔检测主用控制链路的链路连通状态,比如当设定时间间隔为3.3ms时,sdn控制器可以每3.3ms的时间间隔检测判断一次主用控制链路的连通状态。当sdn控制器检测到控制链路处于连通状态时,sdn控制器与sdn交换机之间才可以通过控制链路进行连接使用。其中,第一sdn交换机可以根据sdn控制器与哪个sdn交换机实现控制与转发功能来进行确定,当sdn控制器从全部的sdn交换机中选择其中的一个sdn交换机与sdn控制器连接实现控制与转发功能时,则可以将该被选择的sdn交换机作为第一sdn交换机,而其他与sdn控制器未实现控制与转发功能的sdn交换机作为非第一sdn交换机。

举例来说,当sdn控制器端口与n个sdn交换机(即sdn交换机1、sdn交换机2、……、sdn交换机n-1、sdn交换机n)中的sdn交换机1进行连接实现对sdn交换机1控制与转发功能时,可以将sdn交换机1作为第一sdn交换机,其他除sdn交换机1以外的sdn交换机作为非第一sdn交换机;而当sdn控制器端口与sdn交换机2进行连接实现对sdn交换机1控制与转发功能时,sdn控制器就将sdn交换机2作为第一sdn交换机,其他除sdn交换机2以外的sdn交换机作为非第一sdn交换机,而后续sdn控制器端口与其他任一sdn交换机连接时均可以这样设定,这里不再进行赘述。主用控制链路可以是sdn控制器控制sdn控制器端口与第一sdn交换机直接连接建立的路由通道,即sdn控制器端口与第一sdn交换机连接时不与除第一sdn交换机以外的任何sdn交换机直接或间接连接,简单来讲可以是sdn控制器端口与第一sdn交换机之间没有除第一sdn交换机以外的任何sdn交换机。

在本实施例的一个优选实施方式中,所述对第一sdn交换机的主用控制链路进行链路检测可以具体包括:通过双向转发侦测bfd协议对所述第一sdn交换机的主用控制链路进行链路检测。

bfd(bidirectionalforwardingdetection,双向转发侦测)是一个用于检测两个转发点之间故障的网络协议,可以提供毫秒级的检测,快速检测、监控网络中链路或者ip路由的转发连通状况,保证邻居之间能够快速检测到通信故障,从而快速建立起备用通道恢复通信。示例性的,可以通过双向发送bfd报文对第一sdn交换机的主用控制链路进行链路检测。

进一步的,在本实施例的一个优选实施方式中,通过双向转发侦测bfd协议对所述第一sdn交换机的主用控制链路进行链路检测可以具体为:

周期性地通过所述主用控制链路接收所述第一sdn交换机发送的bfd报文;若超过预设时间间隔未接收到所述第一sdn交换机发送的bfd报文,则确定所述第一sdn交换机的主用控制链路断开。

具体的,sdn控制器可以预先设置一个时间间隔,并按照预先设置的时间间隔通过sdn控制器与第一sdn交换机之间的主用控制链路接收第一sdn交换机发送的bfd报文;然后sdn控制器对接收第一sdn交换机发送的bfd报文的情况进行判断,如果在预先设置的时间间隔内无法接收第一sdn交换机发送的预设个数的bfd报文时,sdn控制器判断sdn控制器与第一sdn交换机之间的主用控制链路处于断开状态。例如当预先设置的时间间隔为3个发送周期且一个发送周期为1s时,如果sdn控制器在3.3ms发送周期的时间间隔内接收不到第一sdn交换机发送的5个bfd报文,则判断主用控制链路处于断开状态,如果接收到相应bfd报文,则判断主用控制链路处于连通状态,继续对控制链路的连通状态进行周期性检测判断。

步骤320、当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器按照所述sdn控制器、所述第一sdn交换机和至少一个除第一sdn交换机以外的其他交换机之间间接的网络拓扑结构建立的路由通道,且所述路由通道中的所述sdn控制器和所述第一sdn交换机之间包括至少一个除第一sdn交换机以外的其他sdn交换机。

具体的,通过步骤310对第一sdn交换机的主用控制链路的链路连通情况进行检测,当sdn控制器检测到sdn控制器端口与第一sdn交换机的主用控制链路处于断开状态时,sdn控制器可以将sdn控制器端口与sdn交换机之间的控制链路从主用控制链路切换到备用控制链路,即sdn控制器将流量从主用控制链路切换到备用控制链路。

在本实施例中,sdn控制器与任一sdn交换机之间可以不借助其他任何sdn交换机作为中间介质直接连接,也可以借助其他sdn交换机作为中间介质间接连接,而间接连接时选择作为中间介质的sdn交换机的个数可以根据需要进行设置。sdn控制器与sdn交换机之间直接和间接连接的关系组成了一个sdn控制器与sdn交换机连接的关系网,而这个关系网就是sdn控制器与sdn交换机之间的网络拓扑结构。网络拓扑就是网络形状,或者是它在物理上的连通性。构成网络的拓扑结构有很多种。网络拓扑结构是指用传输媒体互连各种设备的物理布局,就是用什么方式把网络中的计算机等设备连接起来。拓扑图给出网络服务器、工作站的网络配置和相互间的连接,它的结构主要有星型结构、环型结构、总线结构、分布式结构、树型结构、网状结构、蜂窝状结构等。在本发明实施例中的网络拓扑结构可以是sdn控制器与任一sdn交换机之间的一个之间直接或间接连接的网状结构。根据sdn控制器与任一sdn交换机之间的网络拓扑结构,可以建立第一sdn交换机的主用控制链路和第一sdn交换机的至少一条备用控制链路,其中,主用控制链路为sdn控制器与第一sdn交换机直接连接建立的路由通道链路,备用控制链路为sdn控制器通过至少一个除第一sdn交换机外的其他sdn交换机与所述第一sdn交换机和所述sdn控制器之间的网络拓扑结构建立的路由通道链路。举例来说,当假设sdn交换机1作为第一sdn交换机与sdn控制器连接时,通过sdn交换机2和sdn交换机3实现sdn控制器与第一sdn交换机连接的链路通道就可以作为sdn控制器与第一sdn交换机之间的一条备用控制链路,通过sdn交换机2或sdn交换机3任一实现sdn控制器与第一sdn交换机连接的链路通道也可以作为sdn控制器与第一sdn交换机之间的一条备用控制链路,在建立备用控制链路的过程中作为中间介质的sdn交换机2和sdn交换机3可以相互组合使用,也可以单独一个使用,当sdn控制器与第一sdn交换机间接连接中作为中间介质的sdn交换机具多个时,也可以将多个交换机组合使用或单个使用或两两结合使用等,具体组合方式可以根据备用链路的使用情况进行设置。

需要说明的是,图1为现有技术中的sdn控制器和交换机的控制链路的模型示意图,在图1中sdn交换机1与sdn交换机2之间可以存在物理连接主要是实现在sdn交换机1和sdn交换机2的信息转发功能。而在本实施例中,当sdn交换机1作为第一交换机时,sdn控制器与第一交换机的间接连接的备用控制链路不仅可以实现转发功能,还可以实现sdn控制器对第一sdn交换机的控制功能。

在本实施例的一个可选实施方式中,在当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路之前,还包括:

确定与所述第一sdn交换机之间的至少一条备用控制链路的优先级。

具体的,sdn控制器可以对sdn控制器与第一sdn交换机之间的备用控制链路进行优先级顺序设置,并确定至少一条备用控制链路的优先级。其中,sdn控制器可以根据备用控制链路中路由的跳数和路由的负载分担情况等设置备用控制链路的优先级顺序。示例性的,当路由负载分担较少的链路可以作为优先级较高的控制链路优先使用。sdn控制器还可以根据与第一sdn交换机临近的sdn交换机的使用情况确定采用临近交换机的备用控制链路的使用情况,进而设置备用链路的优先级顺序。

在本实施例的一个可选实施方式中,sdn控制器可以确定sdn控制器与相应的第一sdn交换机之间的所有备用控制链路的优先级顺序。其中,sdn控制器在设置备用控制链路的优先级时可以根据备用控制链路的路由的跳数和路由的负载分担情况进行设置,这里不再具体赘述。

在上述可选实施方式基础上,将所述当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路进一步优化为:

当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到优先级最高的备用控制链路。

具体的,sdn控制器可以实时的检测主用控制链路和备用控制链路的连通状态,若检测到主用控制链路断开时,将与第一sdn交换机之间的控制链路从主用控制链路切换到优先级最高的备用控制链路,进一步的若主用控制链路和优先级最高的备用控制链路均处于断开状态时,可以将与第一sdn交换机之间的控制链路从优先级最高的备用控制链路切换到除优先级最高的备用控制链路以外的剩余备用控制链路的优先级最高的备用控制链路。

本发明实施例提供的sdn控制器和交换机控制链路的保护倒换方法,通过对主用控制链路进行链路检测判断,当检测到主用控制链路断开时将控制链路从主用控制链路切换至备用控制链路,解决控制链路连接线和控制器连接复杂的问题,实现sdn控制器和sdn交换机之间控制链路的快速倒换,且同时兼容多种链路保护连接方式的效果。

在上述实施例的技术方案的基础上,在所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路之后增加了步骤:若检测到所述主用控制链路处于连通状态时,将与所述第一sdn交换机之间的控制链路切换到所述主用控制链路。具体的,当sdn控制器与第一sdn交换机之间的控制链路切换到备用控制链路之后,还可以通过sdn控制器对主用控制链路和备用控制链路的连通状态继续检测,若检测到主用控制链路恢复连通状态,则将sdn控制器与第一sdn交换机之间的控制链路从备用控制链路切换至主用控制链路。通过对主用控制链路的检测,并根据检测结果对sdn控制器与第一sdn交换机之间的控制链路进行切换,能够实现sdn控制器与第一sdn交换机之间的控制链路及时的从备用控制链路切换回主用控制链路,节约了备用控制链路的链路资源。

实施例二

图4为本发明实施例二提供的sdn控制器和交换机控制链路的保护倒换方法的流程示意图,本发明实施例在上述实施例一的基础上,在对第一sdn交换机的主用控制链路进行链路检测之前增加了步骤:确定所述sdn控制器、所述第一sdn交换机和所述至少一个除第一sdn交换机以外的其他交换机之间直接或间接的网络拓扑结构;根据所述网络拓扑结构,建立所述第一sdn交换机的主用控制链路和所述第一sdn交换机的至少一条备用控制链路;阻塞所述第一sdn交换机的备用控制链路;通过所述主用控制链路与所述第一sdn交换机建立传输控制协议tcp连接。如图4所示,sdn控制器和交换机控制链路的保护倒换方法,包括:

步骤410、确定所述sdn控制器、所述第一sdn交换机和所述至少一个除第一sdn交换机以外的其他交换机之间直接或间接的网络拓扑结构。

当sdn控制器与sdn交换机进行连接之前,可以先确定sdn控制器与sdn交换机之间的网络拓扑结构,包括sdn控制器与第一sdn交换机的网络拓扑结构和sdn控制器与至少一个除第一sdn交换机以外的其他交换机之间的网络拓扑结。具体的,sdn控制器可以通过packetout消息向所有与sdn控制器相连的sdn交换机发送lldp(linklayerdiscoveryprotocol,链路层发现协议)链路探测包,而sdn交换机接收到lldp链路探测包后可以向sdn交换机的各个端口发送lldp链路探测包,进一步的如果存在任一sdn交换机接收到发出的lldp链路探测包,就可以通过packetin消息将交换机之间的链路信息发送给sdn控制器。sdn控制器可以收集这些链路信息,并根据这些链路信息确定sdn控制器与sdn交换机之间的网络拓扑结构。

步骤420、根据所述网络拓扑结构,建立所述第一sdn交换机的主用控制链路和所述第一sdn交换机的至少一条备用控制链路。

根据步骤410确定的sdn控制器与第一sdn交换机和至少一个除第一sdn交换机以外的其他交换机之间的网络拓扑结构,建立sdn控制器与第一sdn交换机的主用控制链路和至少一条备用控制链路。在本实施例中,采用图5提供的具有两个sdn交换机的sdn控制器和交换机控制链路的模型进行详细说明。在软件定义网络特有的链路环境下,sdn交换机1和sdn交换机2和sdn控制器都会有一条直接连接的带内或带外控制链路,即每一个交换机都必须连接到一个控制器。

如图5所示,根据步骤410确定的网络拓扑结构,以sdn控制器为中心可以与多个sdn交换机的带内端口进行连接。举例来说,当sdn控制器将sdn交换机1作为第一sdn交换机时,可以通过sdn控制器的带内端口⑥和sdn交换机1的端口⑤将sdn控制器与sdn交换机1直接连接,建立sdn控制器与sdn交换机1之间直接连接的路由通道⑥→⑤作为主用控制链路;还可以通过sdn控制器的带内端口①、sdn交换机2的端口②、sdn交换机2的端口③和sdn交换机1的端口④将sdn控制器与sdn交换机1间接连接,建立sdn控制器与sdn交换机1之间间接连接的路由通道①→②→③→④作为sdn控制器与sdn交换机1的一条备用控制链路。同样的,当sdn控制器将sdn交换机2作为第一sdn交换机时,可以通过sdn控制器的带内端口①和sdn交换机2的端口②将sdn控制器与sdn交换机2直接连接,建立sdn控制器与sdn交换机2之间直接连接的路由通道①→②作为主用控制链路;还可以通过sdn控制器的带内端口⑥、sdn交换机1的端口⑤、sdn交换机1的端口④和sdn交换机2的端口③将sdn控制器与sdn交换机2间接连接,建立sdn控制器与sdn交换机2之间间接连接的路由通道①→②→③→④作为sdn控制器与sdn交换机2的一条备用控制链路。按照上述所述的控制链路的链路连接保护结构,在sdn交换机1或sdn交换机2作为第一sdn交换机时,均可以实现sdn控制器与第一sdn交换机的控制链路的快速倒换,且可以实现不需要在sdn控制器与第一sdn交换机之间增加新的连接线的备用控制链路。

需要说明的是,对于上述sdn控制器与sdn交换机的链路连接,由于sdn控制器可以同时连接两个sdn交换机的各自两个网口,同时处理网口的两路数据,包括两路控制报文和业务报文,因此sdn控制器和/或sdn交换机可以采用双网卡的设计。

步骤430、阻塞所述第一sdn交换机的备用控制链路。

一般情况下,当sdn控制器与sdn交换机之间的控制链路首先采用主用控制链路,因此为了保证sdn控制器与sdn交换机之间数据控制的正确性,在采用主用控制链路的情况下可以采用控制节点阻塞与备用链路直接相连的端口。举例来说,如图5所示,当sdn交换机1作为第一sdn交换机时,一般采用sdn控制器与sdn交换机1之间直接连接的路由通道⑥→⑤作为主用控制链路,此时由于sdn控制器与sdn交换机1之间仅有一条备用控制链路,因此采用控制节点阻塞sdn控制器与sdn交换机1之间通过间接连接的路由通道①→②→③→④建立的备用控制链路即可。

在本实施例的一个可选实施方式中,根据sdn控制器与sdn交换机的网络拓扑结构,建立第一sdn交换机的主用控制链路和第一sdn交换机的至少一条备用控制链路之后,可以启用第一sdn交换机的主用控制链路和阻塞全部的第一sdn交换机的备用控制链路。而当第一sdn交换机的主用控制链路的链路处于断开状态时,可以启用阻塞的第一sdn交换机的备用控制链路,并将sdn控制器端口与第一sdn交换机之间的控制链路切换到该启用的第一sdn交换机的备用控制链路上。需要说明的是,如何对备用控制链路进行启用和切换,可以根据上述实施方式中的启用和切换方式,例如根据备用控制链路的优先级,启用优先级最高的备用控制链路,并将sdn控制器与sdn交换机的控制链路切换到该优先级最高的备用控制链路。

步骤440、通过所述主用控制链路与所述第一sdn交换机建立传输控制协议tcp连接。

通过sdn控制器与第一sdn交换机之间的主用控制链路,在sdn控制器与第一sdn交换机之间建立传输控制协议tcp连接,并进行openflow的互通。其中,tcp(transmissioncontrolprotocol传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。openflow标准定义了控制器与交换机之间的交互协议,以及一组交换机操作。这个控制器—交换机协议运行在安全传输层协议(tls)或无保护tcp连接之上。控制器向交换机发送指令,控制数据包的转发方式,以及配置参数,如vlan优先级。交换机会在链路中断或出现未指定转发指令的数据包时,发送消息通知控制器。

步骤450、对第一sdn交换机的主用控制链路进行链路检测。

在本实施例的一个优选实施方式中,所述对第一sdn交换机的主用控制链路进行链路检测可以具体包括:通过双向转发侦测bfd协议对所述第一sdn交换机的主用控制链路进行链路检测。

进一步的,在本实施例的一个优选实施方式中,通过双向转发侦测bfd协议对所述第一sdn交换机的主用控制链路进行链路检测可以具体为:

周期性地通过所述主用控制链路接收所述第一sdn交换机发送的bfd报文;若超过预设时间间隔未接收到所述第一sdn交换机发送的bfd报文,则确定所述第一sdn交换机的主用控制链路断开。

步骤460、当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器按照所述sdn控制器、所述第一sdn交换机和至少一个除第一sdn交换机以外的其他交换机之间间接的网络拓扑结构建立的路由通道,且所述路由通道中的所述sdn控制器和所述第一sdn交换机之间包括至少一个除第一sdn交换机以外的其他sdn交换机。

需要说明的是,当第一sdn交换机之间的控制链路从主用控制链路切换到任一条备用控制链路之后,还可以通过切换后的备用控制链路使sdn控制器与第一sdn交换机之间建立传输控制协议tcp连接,并进行openflow的互通,具体如何实现tcp连接前面已经阐述,这里不再进行赘述。

在本实施例的一个优选实施方式中,在当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路之前,还包括:确定与所述第一sdn交换机之间的至少一条备用控制链路的优先级。

在上述实施例的优选实施方式基础上,将所述当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路进一步优化为:

当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到优先级最高的备用控制链路。

具体的,图6是本发明实施例二提供的四个交换机的sdn控制器和交换机控制链路的结构模型示意图,该控制链路的结构采用本发明任一实施方式的sdn控制器和交换机控制链路的保护倒换方法生成。在本实施例中,通过四个交换机的sdn控制器和交换机控制链路的保护倒换结构进行详细的阐述,其他多个sdn交换机的sdn控制器和交换机控制链路的保护倒换结构也在本发明实施例提供的sdn控制器和交换机控制链路的保护倒换方法保护范围之内。举例来说,如图6所示,sdn控制器与四个sdn交换机同时连接形成了sdn控制器和sdn交换机的网络拓扑结构,通过图6中的网络拓扑结构可以建立sdn控制器与sdn交换机的控制链路。当sdn控制器将sdn交换机1作为第一sdn交换机时,可以通过sdn控制器的带内端口⑥和sdn交换机1的端口⑤将sdn控制器与sdn交换机1直接连接,建立sdn控制器与sdn交换机1之间直接连接的路由通道⑥→⑤可以作为主用控制链路;然后可以通过sdn控制器的带内端口①、sdn交换机2的端口②、sdn交换机2的端口③和sdn交换机1的端口④建立sdn控制器与sdn交换机1之间间接连接的路由通道①→②→③→④可以作为sdn控制器与sdn交换机1的一条备用控制链路1。根据上述备用链路建立方式还可以建立其他备用控制链路,具体包括:备用控制链路2备用控制链路3备用控制链路4备用控制链路5等,对于sdn交换机1作为第一sdn交换机时的其他备用控制链路这里不再一一列出。如果sdn控制器与第一sdn交换机选择1:1的控制链路保护配置,则只需要保留主用控制链路(⑥→⑤)和备用控制链路1(①→②→③→④),就可以实现1:1的保护倒换设置,如果sdn控制器与第一sdn交换机选择1:3的控制链路保护配置,则可以按照控制链路的路由路径对备用控制链路进行筛选,保留备用控制链路中控制链路路由路径最短的备用控制链路1(①→②→③→④)、备用控制链路2和备用控制链路3以及主用控制链路(⑥→⑤),进而就可以实现1:3的保护倒换设置,进一步的可以实现sdn交换机的1:n保护倒换设置。优选的,当sdn交换机1作为第一sdn交换机时,sdn控制器可以根据具体情况对上述备用控制链路1、备用控制链路2和备用控制链路3设置优先级大小,比如设置备用控制链路的优先级大小顺序为备用控制链路1、备用控制链路2和备用控制链路3,其中,备用控制链路1优先级最大。另外,值得注意的是,上述备用控制链路1、备用控制链路2和备用控制链路3指的是sdn交换机1作为第一sdn交换机时的备用控制链路,当其他sdn交换机作为第一交换机按照本发明实施例的方法也可以提供相应的备用控制链路。通过三层路由的bfd检测对sdn控制器和sdn交换机之间的控制链路进行链路检测,即通过sdn控制器与sdn交换机定时发送bfd报文检测控制链路是否处于连通状态。若第一sdn交换机的主用控制链路断开时,将与第一sdn交换机之间的控制链路切换到优先级最高的备用控制链路,比如当备用控制链路1优先级最高时就切换到备用控制链路1。若检测到主用控制链路再次处于连通状态时,将与第一sdn交换机之间的控制链路切换到所述主用控制链路,比如当检测到主用控制链路连通时,将控制链路从备用控制链路1切换到主用控制链路。当主用控制链路和备用控制链路均无法连通时,将与第一sdn交换机之间的控制链路从备用控制链路或主用控制链路切换到备用控制链路2。

需要说明的是,对于图6提供的四个交换机的sdn控制器和交换机控制链路的结构,由于sdn控制器可以同时连接四个sdn交换机,因此,在本发明实施例中sdn控制器和/或sdn交换机可以采用设置四个网卡以实现sdn控制器端口与sdn交换机端口的连接。sdn控制器可以同时处理四路网口的管理报文和业务报文和通过端口区分流量

本发明实施例提供的sdn控制器和交换机控制链路的保护倒换方法,通过建立在sdn控制器和交换机之间确定了sdn控制器和交换机之间的拓扑结构和建立了主用控制链路和备用控制链路,采用主用控制链路在sdn控制器和交换机之间建立tcp连接,结合现有的sdn控制器和交换机网络结构,建立了新的网络控制链路的保护结构,可以实现sdn控制器和sdn交换机之间控制链路的快速倒换,达到保护控制链路网络布局的效果。

在上述实施例的技术方案的基础上,在所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路之后增加了步骤:若检测到所述主用控制链路处于连通状态时,将与所述第一sdn交换机之间的控制链路切换到所述主用控制链路,然后通过主用控制链路再建立tcp连接和进行openflow的互通。

实施例三

图7是本发明实施例三提供的sdn控制器和交换机控制链路的保护倒换装置的结构示意图;该装置执行上述任一实施例提供的sdn控制器和交换机控制链路的保护倒换方法,该装置可以采用软件和/或硬件的方式实现。如图7所示,sdn控制器和交换机控制链路的保护倒换装置,包括:

控制链路检测模块750,用于对第一sdn交换机的主用控制链路进行链路检测。

优选的,所述控制链路检测模块750包括:bfd协议检测单元,用于通过双向转发侦测bfd协议对所述第一sdn交换机的主用控制链路进行链路检测。

其中,bfd协议检测单元,具体用于周期性地通过所述主用控制链路接收所述第一sdn交换机发送的bfd报文;若超过预设时间间隔未接收到所述第一sdn交换机发送的bfd报文,则确定所述第一sdn交换机的主用控制链路断开。

控制链路切换模块760,用于当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器按照所述sdn控制器、所述第一sdn交换机和至少一个除第一sdn交换机以外的其他交换机之间间接的网络拓扑结构建立的路由通道,且所述路由通道中的所述sdn控制器和所述第一sdn交换机之间包括至少一个除第一sdn交换机以外的其他sdn交换机。

优选的,所述控制链路切换模块760包括:控制链路切换单元,用于当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到优先级最高的备用控制链路。

进一步的,所述sdn控制器和交换机控制链路的保护倒换装置,还包括:

拓扑结构确定模块710,用于确定所述sdn控制器、所述第一sdn交换机和所述至少一个除第一sdn交换机以外的其他交换机之间直接或间接的网络拓扑结构。

控制链路建立模块720,用于根据所述网络拓扑结构,建立所述第一sdn交换机的主用控制链路和所述第一sdn交换机的至少一条备用控制链路。

控制链路开关模块730,用于阻塞所述第一sdn交换机的备用控制链路。

tcp连接建立模块740,用于通过所述主用控制链路与所述第一sdn交换机建立传输控制协议tcp连接。

优选的,所述sdn控制器和交换机控制链路的保护倒换装置,还包括:

控制链路优先级设置模块,用于确定与所述第一sdn交换机之间的至少一条备用控制链路的优先级。

控制链路恢复模块,用于若检测到所述主用控制链路处于连通状态时,将与所述第一sdn交换机之间的控制链路切换到所述主用控制链路。

本发明实施例提供的sdn控制器和交换机控制链路的保护倒换装置,通过sdn控制器对第一sdn交换机的主用控制链路进行检测,并在第一sdn交换机的主用控制链路断开时,将sdn控制器与第一sdn交换机之间的控制链路切换到备用控制链路,解决控制链路连接线和控制器连接复杂的问题,实现sdn控制器和sdn交换机之间控制链路的快速倒换,且同时兼容多种链路保护连接方式的效果。

本发明实施例所提供的sdn控制器和交换机控制链路的保护倒换装置可执行本发明任意实施例所提供的sdn控制器和交换机控制链路的保护倒换方法,具备执行该方法相应的功能模块和有益效果。

实施例四

图8是本发明实施例四提供的sdn控制器和交换机控制链路的保护倒换的计算机设备的结构示意图。图8示出了适于用来实现本发明实施方式的示例性计算机设备812的框图。图8显示的计算机设备812仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。

如图8所示,计算机设备812以通用计算设备的形式表现。计算机设备812的组件可以包括但不限于:一个或者多个处理器816,系统存储器828,连接不同系统组件(包括系统存储器828和处理器816)的总线818。

总线818表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(isa)总线,微通道体系结构(mac)总线,增强型isa总线、视频电子标准协会(vesa)局域总线以及外围组件互连(pci)总线。

计算机设备812典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机设备812访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。

系统存储器828可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(ram)830和/或高速缓存存储器832。计算机设备812可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统834可以用于读写不可移动的、非易失性磁介质(图8未显示,通常称为“硬盘驱动器”)。尽管图8中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如cd-rom,dvd-rom或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线818相连。存储器828可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。

具有一组(至少一个)程序模块842的程序/实用工具840,可以存储在例如存储器828中,这样的程序模块842包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块842通常执行本发明所描述的实施例中的功能和/或方法。

计算机设备812也可以与一个或多个外部设备814(例如键盘、指向设备、显示器824等)通信,还可与一个或者多个使得用户能与计算机设备812交互的设备通信,和/或与使得该计算机设备812能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口822进行。并且,计算机设备812还可以通过网络适配器820与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器820通过总线818与计算机设备812的其它模块通信。应当明白,尽管图8中未示出,可以结合计算机设备812使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。

处理器816通过运行存储在系统存储器828中的程序,从而执行各种功能应用以及数据处理,例如实现本发明实施例所提供的sdn控制器和交换机控制链路的保护倒换方法,包括:

对第一sdn交换机的主用控制链路进行链路检测;

当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器通过至少一个除第一sdn交换机外的其他sdn交换机与所述第一sdn交换机和所述sdn控制器之间的网络拓扑结构建立的路由通道。

实施例五

本发明实施例五还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的sdn控制器和交换机控制链路的保护倒换方法,该方法包括:

对第一sdn交换机的主用控制链路进行链路检测;

当所述第一sdn交换机的主用控制链路断开时,将与所述第一sdn交换机之间的控制链路切换到任一条备用控制链路;所述备用控制链路为所述sdn控制器通过至少一个除第一sdn交换机外的其他sdn交换机与所述第一sdn交换机和所述sdn控制器之间的网络拓扑结构建立的路由通道。

本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。

计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。

计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。

可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如”c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

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