CN105471613B - 一种临时通道的建立方法、设备和系统 - Google Patents

一种临时通道的建立方法、设备和系统 Download PDF

Info

Publication number
CN105471613B
CN105471613B CN201410459568.XA CN201410459568A CN105471613B CN 105471613 B CN105471613 B CN 105471613B CN 201410459568 A CN201410459568 A CN 201410459568A CN 105471613 B CN105471613 B CN 105471613B
Authority
CN
China
Prior art keywords
switch
controller
channel
temporary
control channel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201410459568.XA
Other languages
English (en)
Other versions
CN105471613A (zh
Inventor
肖敏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CN201410459568.XA priority Critical patent/CN105471613B/zh
Priority to PCT/CN2014/094643 priority patent/WO2016037443A1/zh
Publication of CN105471613A publication Critical patent/CN105471613A/zh
Application granted granted Critical
Publication of CN105471613B publication Critical patent/CN105471613B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/342Signalling channels for network management communication between virtual entities, e.g. orchestrators, SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication
    • H04L41/344Out-of-band transfers

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例公开了一种临时通道的建立方法、设备和系统,该方法可以包括:控制器通过查询消息确定第一交换机具备建立临时通道能力之后,当所述控制器检测到第一控制通道发生故障时,所述控制器根据预设的临时通道建立策略选取第二交换机;所述控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;所述控制器接收到由所述第二交换机转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机进行通信交互。

Description

一种临时通道的建立方法、设备和系统
技术领域
本发明涉及软件定义网络(SDN,Software Defined Network)技术,尤其涉及一种临时通道的建立方法、设备和系统。
背景技术
OpenFlow网络采用控制平面与转发平面相分离的架构。OpenFlow网络的控制平面由OpenFlow控制器来实现,OpenFlow网络的转发平面由OpenFlow交换机来实现;OpenFlow控制器通过控制通道向OpenFlow交换机下发流表,从而达到控制数据转发的目的,实现了数据转发和路由控制的分离。
目前,OpenFlow控制器既可以通过带外(Out-of-Band)OpenFlow通道与OpenFlow交换机建立带外连接;也可以通过带内(In-Band)OpenFlow通道与OpenFlow交换机建立带内连接。其中,带外OpenFlow通道指的是OpenFlow控制器与OpenFlow交换机通过独立于OpenFlow数据平面的直连物理链路或传统路由/交换网络相连,作为专属控制通道;带内OpenFlow通道指的是OpenFlow控制器与OpenFlow交换机通过OpenFlow数据平面中OpenFlow交换机组成的数据转发网络相连。
为了提高控制通道的可靠性,目前业界通常基于OpenFlow控制器冗余的思想对OpenFlow通道进行保护,比如,在一个OpenFlow网络中同时部署两台OpenFlow控制器,一台是带外OpenFlow控制器,另一台是带内OpenFlow控制器,带外OpenFlow控制器通过带外连接与OpenFlow交换机建立带外OpenFlow通道后,配置OpenFlow交换机与带内OpenFlow控制器之间的带内连接并建立带内OpenFlow通道,带外OpenFlow控制器与带内OpenFlow控制器之间以及带外OpenFlow通道与带内OpenFlow通道之间互为备份。
但是,基于冗余思想的OpenFlow通道保护方案,需要为每个OpenFlow交换机部署冗余的OpenFlow控制器,因此会造成网络部署的成本较高。
发明内容
为解决上述技术问题,本发明实施例期望提供一种临时通道的建立方法、设备和系统,减少网络部署的成本。
本发明的技术方案是这样实现的:
第一方面,本发明实施例提供了一种临时通道的建立方法,所述方法包括:
控制器通过查询消息确定第一交换机具备建立临时通道能力之后,当所述控制器检测到第一控制通道发生故障时,所述控制器根据预设的临时通道建立策略选取第二交换机,其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道,所述第二交换机与所述第一交换机相邻连接;
所述控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述控制器接收到由所述第二交换机转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机进行通信交互,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机。
进一步地,所述控制器通过查询消息确定第一交换机具备建立临时通道能力,包括:
所述控制器通过所述第一控制通道向所述第一交换机发送查询消息,其中,所述查询消息用于查询所述第一交换机是否具备建立临时通道能力;
所述控制器接收所述第一交换机通过所述第一控制通道返回的查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
当所述查询响应消息指示所述第一交换机具备建立临时通道能力时,所述控制器确定所述第一交换机具备建立临时通道能力。
进一步地,所述控制器根据预设的临时通道建立策略选取第二交换机,包括:
所述控制器根据与自身相连的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与所述控制器之间控制通道的带宽和占用情况以及各交换机与所述控制器之间控制通道的性能按照预设的选取规则从与所述第一交换机相邻连接的交换机中选取第二交换机。
进一步地,所述控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机,包括:
所述控制器通过第二控制通道向所述第二交换机发送第一Packet_out消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道,所述第一Packet_out消息封装了所述临时通道建立请求消息,且所述第一Packet_out消息用于指示所述第二交换机将所述临时通道建立请求消息转发至所述第一交换机。
进一步地,所述控制器接收到由所述第二交换机转发的临时通道建立响应消息,包括:
所述控制器通过第二控制通道接收由所述第二交换机发送的第一Packet_in消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道;所述第一Packet_in消息中封装了所述第二交换机从所述第一交换机接收的所述临时通道建立响应消息;
所述控制器将所述第一Packet_in消息进行解封装,获取得到所述临时通道建立响应消息。
进一步地,所述临时通道具体包括:第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
进一步地,所述方法还包括:
在所述控制器通过所述临时通道与所述第一交换机进行通信交互的过程中,当所述控制器检测到所述第一控制通道恢复正常时,所述控制器将自身与所述第一交换机进行通信交互的所述临时通道切换至所述第一控制通道。
第二方面,本发明实施例提供了一种临时通道的建立方法,所述方法包括:
第一交换机在接收到由控制器通过第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
所述第一交换机向所述控制器发送查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
当所述第一交换机具备建立临时通道能力,且所述第一交换机检测到所述第一控制通道发生故障时,所述第一交换机接收所述控制器通过第二交换机转发的临时通道建立请求消息;其中,所述第二交换机由所述控制器根据预设的临时通道建立策略选取,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述第一交换机通过所述第二交换机转发临时通道建立响应消息至所述控制器,并通过所述临时通道与所述控制器进行通信交互。
进一步地,所述第一交换机判断自身是否具备建立临时通道的能力,包括:
当所述第一交换机具备OpenFlow交换机规范定义的LOCAL端口,且所述第一交换机已配置了将所述控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且所述第一交换机具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,所述第一交换机确定自身具备建立临时通道的能力。
进一步地,所述第一交换机接收所述控制器通过所述第二交换机转发的临时通道建立请求消息,包括:
所述第一交换机接收由所述第二交换机根据第一Packet_out消息指示的端口发送的所述临时通道建立请求消息;其中,所述第一Packet_out消息封装了所述临时通道建立请求消息;所述临时通道建立请求消息由所述第二交换机通过第二控制通道从所述控制器接收所述第一Packet_out消息之后,对所述第一Packet_out消息进行解封装获取得到;所述第二控制通道为所述控制器与所述第二交换机之间的控制通道。
进一步地,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
第三方面,本发明实施例提供了一种控制器,所述控制器包括:确定单元、检测单元、选取单元、发送单元、接收单元和交互单元,其中,
所述确定单元,用于通过查询消息确定第一交换机具备建立临时通道能力;
所述检测单元,用于检测第一控制通道发生故障,且当检测到所述第一控制通道发生故障时,触发所述选取单元;其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
所述选取单元,用于,当所述检测单元检测到所述第一控制通道发生故障时,根据预设的临时通道建立策略选取第二交换机,其中,所述第二交换机与所述第一交换机相邻连接;
所述发送单元,用于通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述接收单元,用于接收由所述第二交换机转发的临时通道建立响应消息,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机;
所述交互单元,用于当所述接收单元接收到所述临时通道建立响应消息之后,通过所述临时通道与所述第一交换机进行通信交互。
进一步地,所述确定单元,用于:
通过所述第一控制通道向所述第一交换机发送查询消息,其中,所述查询消息用于查询所述第一交换机是否具备建立临时通道能力;以及,
接收所述第一交换机通过所述第一控制通道返回的查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;以及,
当所述查询响应消息指示所述第一交换机具备建立临时通道能力时,所述控制器确定所述第一交换机具备建立临时通道能力。
进一步地,所述选取单元,用于根据与所述控制器相连的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与所述控制器之间控制通道的带宽和占用情况以及各交换机与所述控制器之间控制通道的性能按照预设的选取规则从与所述第一交换机相邻连接的交换机中选取第二交换机。
进一步地,所述发送单元,用于通过第二控制通道向所述第二交换机发送第一Packet_out消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道,所述第一Packet_out消息封装了所述临时通道建立请求消息,且所述第一Packet_out消息用于指示所述第二交换机将所述临时通道建立请求消息转发至所述第一交换机。
进一步地,所述接收单元,用于通过第二控制通道接收由所述第二交换机发送的第一Packet_in消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道;所述第一Packet_in消息中封装了所述第二交换机从所述第一交换机接收的所述临时通道建立响应消息;以及,
将所述第一Packet_in消息进行解封装,获取得到所述临时通道建立响应消息。
进一步地,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
进一步地,所述检测单元还用于:当所述交互单元通过所述临时通道与所述第一交换机进行通信交互的过程中,对所述第一控制通道进行检测;
所述控制器还包括切换单元,用于当所述检测单元检测到所述第一控制通道恢复正常时,将所述交互单元与所述第一交换机进行通信交互的所述临时通道切换至所述第一控制通道。
第四方面,本发明实施例提供了一种第一交换机,所述第一交换机包括接收单元、判断单元、发送单元、检测单元和交互单元,其中,
所述接收单元,用于接收由控制器通过第一控制通道发送的查询消息,其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
所述判断单元,用于在所述接收单元接收到由控制器通过第一控制通道发送的查询消息之后,判断所述第一交换机自身是否具备建立临时通道的能力;
所述发送单元,用于向所述控制器发送查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
所述检测单元,用于检测所述第一控制通道是否发生故障,当检测到所述第一控制通道发生故障时,触发所述接收单元;
所述接收单元,还用于当所述检测单元检测到所述第一控制通道发生故障时,接收所述控制器通过第二交换机转发的临时通道建立请求消息;其中,所述第二交换机由所述控制器根据预设的临时通道建立策略选取,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述发送单元,还用于通过所述第二交换机转发临时通道建立响应消息至所述控制器;
所述交互单元,用于通过所述临时通道与所述控制器进行通信交互。
进一步地,所述判断单元,用于当所述第一交换机具备OpenFlow交换机规范定义的LOCAL端口,且所述第一交换机已配置了将所述控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且所述第一交换机具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,确定所述第一交换机具备建立临时通道的能力。
进一步地,所述接收单元,用于接收由所述第二交换机根据第一Packet_out消息指示的端口发送的所述临时通道建立请求消息;其中,所述第一Packet_out消息封装了所述临时通道建立请求消息;所述临时通道建立请求消息由所述第二交换机通过第二控制通道从所述控制器接收所述第一Packet_out消息之后,对所述第一Packet_out消息进行解封装获取得到;所述第二控制通道为所述控制器与所述第二交换机之间的控制通道。
进一步地,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
第五方面,本发明实施例提供了一种临时通道的建立系统,所述系统包括:控制器、第一交换机和第二交换机,其中,
所述控制器,用于:
通过查询消息确定第一交换机具备建立临时通道能力之后,当所述控制器检测到第一控制通道发生故障时,所述控制器根据预设的临时通道建立策略选取第二交换机,其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道,所述第二交换机与所述第一交换机相邻连接;
以及,通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
以及,接收到由所述第二交换机转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机进行通信交互,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机;
所述第一交换机,用于:
在接收到由所述控制器通过所述第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;
以及,向所述控制器发送所述查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
以及,当所述第一交换机具备建立临时通道能力,且所述第一交换机检测到自身与所述控制器之间的控制通道发生故障时,接收所述控制器通过所述第二交换机转发的临时通道建立请求消息;
以及,通过所述第二交换机转发临时通道建立响应消息至所述控制器,并通过所述临时通道与所述控制器进行通信交互。
本发明实施例提供了一种临时通道的建立方法、设备和系统,控制器通过选取通道故障交换机相邻的最优交换机,建立控制器与通道故障交换机之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
附图说明
图1为本发明实施例提供的一种OpenFlow网络组件架构示意图;
图2为本发明实施例提供的一种临时通道的建立方法流程示意图;
图3为本发明实施例提供的控制器通过查询消息确定第一交换机具备建立临时通道能力的流程示意图;
图4为本发明实施例提供的另一种临时通道的建立方法流程示意图;
图5为本发明实施例提供的一种详细的临时通道的建立方法流程示意图;
图6为本发明实施例提供的一种控制器的结构示意图;
图7为本发明实施例提供的另一种控制器的结构示意图;
图8为本发明实施例提供的一种第一交换机的结构示意图;
图9为本发明实施里提供的一种临时通道的建立系统的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
为了能够清楚地对本发明实施例的技术方案进行描述,参见图1,其示出了本发明实施例提供的一种OpenFlow网络组件架构,本领域技术人员可以理解的,本发明技术方案可以无需创造性劳动地应用在其他类似的场景中,后续不再赘述。在如图1所示的场景中,OpenFlow控制器对OpenFlow交换机1、OpenFlow交换机2、OpenFlow交换机3和OpenFlow交换机4进行控制,各自的控制通道由空心粗箭头所示,而各控制通道既可以是带外OpenFlow通道,也可以是带内OpenFlow通道;而OpenFlow交换机1、OpenFlow交换机2、OpenFlow交换机3和OpenFlow交换机4两两之间分别有数据转发链路,由图中细实箭头所示。在本发明实施例中,仅以OpenFlow交换机3作为第一交换机为例进行说明。
参见图2,其示出了本发明实施例提供的一种临时通道的建立方法流程,该方法可以应用于控制器中,该方法可以包括:
S201:控制器通过查询消息确定第一交换机具备建立临时通道能力之后,当控制器检测到第一控制通道发生故障时,控制器根据预设的临时通道建立策略选取第二交换机;
示例性地,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道,具体可以是带内OpenFlow通道或者带外OpenFlow通道;所述第二交换机与所述第一交换机相邻连接;
示例性地,参见图3,控制器通过查询消息确定第一交换机具备建立临时通道能力,具体可以包括S301至S303:
S301:控制器通过第一控制通道向所述第一交换机发送查询消息;
进一步地,所述查询消息用于查询所述第一交换机是否具备建立临时通道能力;需要说明的是,由于查询消息是控制器了解各交换机是否具备建立临时通道能力的起始事件,因此,优选地,控制器可以在网络架构时,当控制器与交换机之间的控制通道建立成功之后,立即向交换机发送查询消息,用来查询交换机是否支持建立临时通道。
S302:控制器接收所述第一交换机通过所述第一控制通道返回的查询响应消息;
进一步地,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
S303:当所述查询响应消息指示所述第一交换机具备建立临时通道能力时,所述控制器确定所述第一交换机具备建立临时通道能力。
例如在本实施例中,OpenFlow控制器通过第一控制通道向OpenFlow交换机3发送查询消息,并通过第一控制通道接收OpenFlow交换机3返回的查询响应消息,以及根据查询响应消息确定OpenFlow交换机3具备建立了临时通道能力。
示例性地,控制器根据预设的临时通道建立策略选取第二交换机,具体可以包括:
所述控制器根据与自身相连的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与所述控制器之间控制通道的带宽和占用情况以及各交换机与所述控制器之间控制通道的性能按照预设的选取规则从与所述第一交换机相邻连接的交换机中选取第二交换机;
例如,在本实施例中,OpenFlow控制器可以根据当前网络环境下的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与OpenFlow控制器之间控制通道的带宽和占用情况以及各交换机与OpenFlow控制器之间控制通道的性能从与OpenFlow交换机3相邻连接的OpenFlow交换机1、OpenFlow交换机2、OpenFlow交换机4中进行最优选择,从而选取OpenFlow交换机2作为第二交换机。
S202:控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;
示例性地,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
优选地,控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机,包括:
所述控制器通过第二控制通道向所述第二交换机发送第一Packet_out消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道,所述第一Packet_out消息封装了所述临时通道建立请求消息,且所述第一Packet_out消息用于指示所述第二交换机将所述临时通道建立请求消息转发至所述第一交换机;具体地,所述临时通道可以包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路;
在本实施例中,OpenFlow控制器通过与OpenFlow交换机2之间的控制通道向OpenFlow交换机2发送封装了所述临时通道建立请求消息的第一Packet_out消息,且所述第一Packet_out消息用于指示OpenFlow交换机2将所述临时通道建立请求消息通过OpenFlow交换机2与OpenFlow交换机3之间的数据转发链路转发至OpenFlow交换机3;所述临时通道建立请求消息用于向OpenFlow交换机3请求建立OpenFlow控制器与OpenFlow交换机3之间的临时通道。由此可以看出,OpenFlow控制器与OpenFlow交换机3之间临时通道可以包括:OpenFlow控制器与OpenFlow交换机2之间控制通道以及OpenFlow交换机2与OpenFlow交换机3之间的数据转发链路,由此可以得知,OpenFlow控制器与OpenFlow交换机3之间临时通道也就是一条OpenFlow控制器与OpenFlow交换机3之间的带内OpenFlow通道。
S203:控制器接收到由所述第二交换机转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机进行通信交互;
示例性地,所述控制器接收到由所述第二交换机转发的临时通道建立响应消息,包括:
所述控制器通过第二控制通道接收由所述第二交换机发送的第一Packet_in消息;以及,
所述控制器将所述第一Packet_in消息进行解封装,获取得到所述临时通道建立响应消息。
其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道;所述第一Packet_in消息中封装了所述第二交换机从所述第一交换机接收的所述临时通道建立响应消息。
示例性地,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机,在本实施例中,所述临时通道建立响应消息就是OpenFlow交换机3通过OpenFlow交换机2与OpenFlow交换机3之间的数据转发链路发送至OpenFlow交换机2;OpenFlow交换机2在接收到所述临时通道建立响应消息之后,将所述临时通道建立响应消息封装于第一Packet_in消息中,并将第一Packet_in消息通过第二控制通道传输至控制器。
示例性地,除了上述S201至S203以外,该方法还可以包括:
在所述控制器通过所述临时通道与所述第一交换机进行通信交互的过程中,当所述控制器检测到所述第一控制通道恢复正常时,所述控制器将自身与所述第一交换机进行通信交互的所述临时通道切换至所述第一控制通道。
本发明实施例提供了一种临时通道的建立方法,控制器通过选取通道故障交换机相邻的最优交换机,建立控制器与通道故障交换机之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
基于图2所示实施例相同的技术构思,参见图4,其示出了本发明实施例提供的另一种临时通道的建立方法流程,该方法可以应用于第一交换机中,该方法可以包括:
S401:第一交换机在接收到由控制器通过第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;
示例性地,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
需要说明的是,由于查询消息是控制器了解各交换机是否具备建立临时通道能力的起始事件,因此,优选地,在网络架构时,当控制器与交换机之间的控制通道建立成功之后,交换机会马上接收到控制器发送的查询消息,用来查询交换机是否支持建立临时通道。
示例性地,所述第一交换机判断自身是否具备建立临时通道的能力,包括:
当所述第一交换机具备OpenFlow交换机规范定义的LOCAL端口,且所述第一交换机已配置了将所述控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且所述第一交换机具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,所述第一交换机确定自身具备建立临时通道的能力。
S402:第一交换机向控制器发送查询响应消息;
示例性地,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
S403:当第一交换机具备建立临时通道能力,且第一交换机检测到第一控制通道发生故障时,第一交换机接收控制器通过第二交换机转发的临时通道建立请求消息;
示例性地,所述第二交换机由所述控制器根据预设的临时通道建立策略选取,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
示例性地,所述第一交换机接收所述控制器通过所述第二交换机转发的临时通道建立请求消息,包括:
所述第一交换机接收由所述第二交换机根据第一Packet_out消息指示的端口发送的所述临时通道建立请求消息;其中,所述第一Packet_out消息封装了所述临时通道建立请求消息;所述临时通道建立请求消息由所述第二交换机通过第二控制通道从所述控制器接收所述第一Packet_out消息之后,对所述第一Packet_out消息进行解封装获取得到;所述第二控制通道为所述控制器与所述第二交换机之间的控制通道。具体地,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
S404:第一交换机通过第二交换机转发临时通道建立响应消息至控制器,并通过所述临时通道与控制器进行通信交互。
本发明实施例提供了一种临时通道的建立方法,控制器通过选取通道故障交换机相邻的最优交换机,建立控制器与通道故障交换机之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
在图2至图4所述的技术方案的基础上,结合图1所示的应用场景,参见图5,其示出了本发明实施例提供的一种详细的临时通道的建立方法流程;在本实施例中,特别以OpenFlow交换机3为第一交换机为例进行说明,可以理解的,也可以将本实施例应用于OpenFlow交换机1、OpenFlow交换机2和OpenFlow交换机4上,本发明实施例对此不作任何限定。该方法可以包括:
S501:OpenFlow控制器通过自身与OpenFlow交换机3之间的第一控制通道向OpenFlow交换机3发送查询消息;
需要说明的是,OpenFlow控制器与OpenFlow交换机3之间的第一控制通道可以是带内OpenFlow通道也可以是带外OpenFlow通道,本实施例对此不作具体限定。
示例性地,查询消息用于查询OpenFlow交换机3是否具备建立临时通道能力;需要说明的是,由于查询消息是OpenFlow控制器了解各OpenFlow交换机是否具备建立临时通道能力的起始事件,因此,优选地,OpenFlow控制器可以在网络架构时,当OpenFlow控制器与OpenFlow交换机3之间的控制通道建立成功之后,立即向OpenFlow交换机3发送查询消息,用来查询OpenFlow交换机3是否支持建立临时通道。可以理解的,OpenFlow控制器也可以向OpenFlow交换机1、OpenFlow交换机2和OpenFlow交换机4通过各自的控制通道发送查询消息,以使得OpenFlow控制器了解各OpenFlow交换机是否具备建立临时通道能力。
S502:OpenFlow交换机3在接收到由OpenFlow控制器通过第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;
示例性地,在本实施例中,OpenFlow交换机3判断自身是否具备建立临时通道的能力,包括:
当OpenFlow交换机3具备OpenFlow交换机规范定义的LOCAL端口,且OpenFlow交换机3已配置了将OpenFlow控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且OpenFlow交换机3具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,OpenFlow交换机3确定自身具备建立临时通道的能力;否则,OpenFlow交换机3确定自身不具备建立临时通道的能力。
与OpenFlow交换机3相类似的,OpenFlow交换机1、OpenFlow交换机2和OpenFlow交换机4也可以根据上述方式确定自身是否具备建立临时通道的能力。
S503:OpenFlow交换机3通过第一控制通道向OpenFlow控制器发送查询响应消息;
示例性地,所述查询响应消息用于指示OpenFlow交换机3是否具备建立临时通道能力;
可以理解的,只有OpenFlow交换机具备建立临时通道能力,OpenFlow控制器才可以在OpenFlow交换机与OpenFlow控制器之间的控制通道发生故障时,与OpenFlow交换机之间建立临时通道;而OpenFlow交换机不具备建立临时通道能力的话,当OpenFlow交换机与OpenFlow控制器之间的控制通道发生故障时,OpenFlow控制器不会与OpenFlow交换机之间建立临时通道。
在本实施例中,设定OpenFlow交换机3具备建立临时通道能力,因此,本实施例还继续包括以下步骤:
S504:OpenFlow控制器通过查询消息确定OpenFlow交换机3具备建立临时通道能力之后,当OpenFlow控制器检测到与OpenFlow交换机3之间的控制通道发生故障时,OpenFlow控制器根据预设的临时通道建立策略选取第二交换机;
需要说明的是,根据OpenFlow协议规定:OpenFlow控制器与OpenFlow交换机之间可以通过周期性互发Echo消息的方式来对OpenFlow控制通道进行监测。
示例性地,OpenFlow控制器根据预设的临时通道建立策略选取第二交换机,具体可以包括:OpenFlow控制器根据与自身相连的各OpenFlow交换机的网络拓扑结构、所述各OpenFlow交换机之间的链路带宽和占用情况、各OpenFlow交换机之间链路性能、各OpenFlow交换机与OpenFlow控制器之间控制通道的带宽和占用情况以及各OpenFlow交换机与OpenFlow控制器之间控制通道的性能按照预设的选取规则,比如剩余链路带宽最大、链路占用最小、链路性能最优、控制通道性能最优等规则,从与OpenFlow交换机3相邻连接的OpenFlow交换机中选取第二交换机;具体在本实施例中,第二交换机可以为OpenFlow交换机2。
S505:OpenFlow控制器将封装了临时通道建立请求消息的第一Packet_out消息通过第二控制通道发送至OpenFlow交换机2;
具体地,Packet_out消息是一种OpenFlow协议消息,由OpenFlow控制器向OpenFlow交换机发送;在Packet_out消息中封装了OpenFlow控制器要求OpenFlow交换机处理的报文并指定了OpenFlow交换机对所封装报文的处理方式。在本实施例中,第一Packet_out消息中可以指示OpenFlow交换机2把第一Packet_out消息中封装的临时通道建立请求消息从与OpenFlow交换机3相连的端口输出,以使得OpenFlow交换机2转发其中所封装的临时通道建立请求消息至OpenFlow交换机3。
在本实施例中,第二控制通道既可以是带内OpenFlow通道,也可以是带外OpenFlow通道,本实施例对此不作具体限定。
S506:OpenFlow交换机2将临时通道建立请求消息发送至OpenFlow交换机3;
示例性地,由于OpenFlow交换机2与OpenFlow交换机3之前通过数据转发链路连接,因此,OpenFlow交换机2会根据从OpenFlow控制器接收的第一Packet_out消息的指示通过数据转发链路将第一Packet_out消息中的临时通道建立请求消息发送至OpenFlow交换机3。
S507:OpenFlow交换机3将临时通道建立响应消息发送至OpenFlow交换机2;
示例性地,OpenFlow交换机3也能够对第一控制通道进行检测,当检测到第一控制通道出现故障的时候,OpenFlow交换机3将会等待由OpenFlow控制器发送过来的临时通道建立请求消息;因此,OpenFlow交换机3在从OpenFlow交换机2接收到临时通道建立请求消息之后,生成临时通道建立响应消息,并将临时通道建立响应消息发送至OpenFlow交换机2。
示例性地,由于OpenFlow交换机3从OpenFlow交换机2接收到临时通道建立请求消息,说明OpenFlow控制器已经将OpenFlow交换机2选定为临时通道的中转节点。
具体在本实施例中,OpenFlow交换机3中预先保存了匹配字段为“源IP地址=控制器IP”的流表,因此,当OpenFlow交换机3接收到源IP地址为OpenFlow控制器IP地址的临时通道建立请求消息之后,会匹配该流表成功并执行相应的流表指令,本实施例中执行的流表指令为“执行动作{从LOCAL端口输出}”,即匹配流表成功的临时通道建立请求消息会被从LOCAL端口输出到OpenFlow交换机3的本地网络协议栈进行处理。由于OpenFlow协议是基于TCP连接运行的,所以临时通道建立请求消息就是TCP连接建立请求消息,而具备建立临时通道能力的OpenFlow交换机3的本地网络协议栈肯定支持TCP协议,于是从LOCAL端口接收到OpenFlow交换机2转发的临时通道建立请求消息后,向OpenFlow交换机2回复以OpenFlow控制器IP地址为目的IP地址的临时通道建立响应消息,也就是TCP连接建立响应消息。
S508:OpenFlow交换机2将临时通道建立响应消息封装在第一Packet_in消息中,并通过第二控制通道将第一Packet_in消息发送至OpenFlow控制器;
具体地,Packet_in消息是一种OpenFlow协议消息,由OpenFlow交换机向OpenFlow控制器发送;Packet_in消息中封装了OpenFlow交换机希望OpenFlow控制器处理的报文,OpenFlow交换机接收到的报文无法成功匹配流表时缺省应封装在Packet_in消息中发往OpenFlow控制器进行处理。示例性地,OpenFlow交换机2接收到从OpenFlow交换机3发送过来的临时通道建立响应消息后,由于OpenFlow交换机2上已配置的流表无法对临时通道建立响应消息匹配成功,所以OpenFlow交换机2会把临时通道建立响应消息封装到第一Packet_in消息中发往OpenFlow控制器,从而,OpenFlow控制器把第一Packet_in消息解封装后即得到了始发自OpenFlow交换机3的临时通道建立响应消息。
经过上述过程,OpenFlow控制器与OpenFlow交换机3就建立起了以OpenFlow交换机2为中转节点的临时通道,从而达到恢复OpenFlow控制器与OpenFlow交换机3之间发生故障的第一控制通道的目的。
在临时通道建立后,OpenFlow控制器与OpenFlow交换机3之间就可以通过这个临时通道进行OpenFlow协议消息的交互。可以理解的,临时通道可以由第二控制通道以及OpenFlow交换机2与OpenFlow交换机3之间的数据转发链路组成。
还需要说明的是,由于临时通道是建立在已有的控制通道的基础之上的,因此,临时通道不可避免的会具有开销和延迟较大的缺陷,所以,在所述控制器通过所述临时通道与所述第一交换机进行通信交互的过程中,当OpenFlow控制器检测到第一控制通道恢复正常时,OpenFlow控制器会将自身与OpenFlow交换机3进行通信交互的临时通道切换至所述第一控制通道,并且关闭该临时通道。
从上述OpenFlow控制器与OpenFlow交换机3之间建立临时通道的流程可以看出,这种临时通道的建立无需像现有技术一样预先建立备用OpenFlow通道,而是由OpenFlow控制器通过预先查询获知网络中哪些OpenFlow交换机支持建立临时通道,然后在OpenFlow控制器检测到其与支持建立临时通道的交换机之间的控制通道发生故障后,根据其掌握的实时网络状况从多条可用的最短路径中选择一条最优路径来建立临时通道,具有简单易部署且灵活性很高的优点。
本发明实施例提供了一种临时通道的建立方法,控制器通过选取通道故障交换机相邻的最优交换机,建立控制器与通道故障交换机之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
基于与上述实施例相同的技术构思,参见图6,其示出了本发明实施例提供的一种控制器60,该控制器60可以包括:确定单元601、检测单元602、选取单元603、发送单元604、接收单元605和交互单元606,其中,
所述确定单元601,用于通过查询消息确定第一交换机具备建立临时通道能力;
所述检测单元602,用于检测第一控制通道发生故障,且当检测到所述第一控制通道发生故障时,触发选取单元603;其中,所述第一控制通道为所述控制器60与所述第一交换机之间的控制通道;
所述选取单元603,用于当所述检测单元602检测到所述第一控制通道发生故障时,根据预设的临时通道建立策略选取第二交换机,其中,所述第二交换机与所述第一交换机相邻连接;
所述发送单元604,用于通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器60与所述第一交换机之间的临时通道,所述临时通道为所述控制器60与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述接收单元605,用于接收由所述第二交换机转发的临时通道建立响应消息,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机;
所述交互单元606,用于当所述接收单元605接收到所述临时通道建立响应消息之后,通过所述临时通道与所述第一交换机进行通信交互。
示例性地,所述确定单元601,用于:
通过所述第一控制通道向所述第一交换机发送查询消息,其中,所述查询消息用于查询所述第一交换机是否具备建立临时通道能力;以及,
接收所述第一交换机通过所述第一控制通道返回的查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;以及,
当所述查询响应消息指示所述第一交换机具备建立临时通道能力时,确定所述第一交换机具备建立临时通道能力。
示例性地,所述选取单元603,用于根据与所述控制器60相连的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与所述控制器60之间控制通道的带宽和占用情况以及各交换机与所述控制器60之间控制通道的性能按照预设的选取规则从与所述第一交换机相邻连接的交换机中选取第二交换机。
示例性地,所述发送单元604,用于通过第二控制通道向所述第二交换机发送第一Packet_out消息,其中,所述第二控制通道为所述控制器60与所述第二交换机之间的控制通道,所述第一Packet_out消息封装了所述临时通道建立请求消息,且所述第一Packet_out消息用于指示所述第二交换机将所述临时通道建立请求消息转发至所述第一交换机。具体的,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
示例性地,所述接收单元605,用于通过第二控制通道接收由所述第二交换机发送的第一Packet_in消息,其中,所述第二控制通道为所述控制器60与所述第二交换机之间的控制通道;所述第一Packet_in消息中封装了所述第二交换机从所述第一交换机接收的所述临时通道建立响应消息;以及,
将所述第一Packet_in消息进行解封装,获取得到所述临时通道建立响应消息。
示例性地,所述检测单元602还用于:当所述交互单元606通过所述临时通道与所述第一交换机进行通信交互的过程中,对所述第一控制通道进行检测;
另外,参见图7,所述控制器60还包括切换单元607,用于当所述检测单元602检测到所述第一控制通道恢复正常时,将所述交互单元与所述第一交换机进行通信交互的所述临时通道切换至所述第一控制通道。
本发明实施例提供了一种控制器60,控制器60通过选取通道故障交换机相邻的最优交换机,建立控制器60与通道故障交换机之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
参见图8,其示出了本发明实施例提供的一种第一交换机80,可以包括:接收单元801、判断单元802、发送单元803、检测单元804和交互单元805,其中,
所述接收单元801,用于接收由控制器通过第一控制通道发送的查询消息,其中,所述第一控制通道为所述控制器与所述第一交换机80之间的控制通道;
所述判断单元802,用于在所述接收单元801接收到由控制器通过第一控制通道发送的查询消息之后,判断所述第一交换机80自身是否具备建立临时通道的能力;
所述发送单元803,用于向所述控制器发送查询响应消息,所述查询响应消息用于指示所述第一交换机80是否具备建立临时通道能力;
所述检测单元804,用于检测所述第一控制通道是否发生故障,当检测到所述第一控制通道发生故障时,触发所述接收单元801;
所述接收单元801,还用于当所述检测单元804检测到所述第一控制通道发生故障时,接收所述控制器通过第二交换机转发的临时通道建立请求消息;其中,所述第二交换机由所述控制器根据预设的临时通道建立策略选取,所述临时通道建立请求消息用于向所述第一交换机80请求建立所述控制器与所述第一交换机80之间的临时通道,所述临时通道为所述控制器与所述第一交换机80之间且以所述第二交换机为中转节点的通道;
所述发送单元803,还用于通过所述第二交换机转发临时通道建立响应消息至所述控制器;
所述交互单元805,用于通过所述临时通道与所述控制器进行通信交互。
示例性地,所述判断单元802,用于当所述第一交换机80具备OpenFlow交换机规范定义的LOCAL端口,且所述第一交换机80已配置了将所述控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且所述第一交换机80具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,确定所述第一交换机80具备建立临时通道的能力。
示例性地,所述接收单元801,用于接收由所述第二交换机根据第一Packet_out消息指示的端口发送的所述临时通道建立请求消息;其中,所述第一Packet_out消息封装了所述临时通道建立请求消息;所述临时通道建立请求消息由所述第二交换机通过第二控制通道从所述控制器接收所述第一Packet_out消息之后,对所述第一Packet_out消息进行解封装获取得到;所述第二控制通道为所述控制器与所述第二交换机之间的控制通道。具体地,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机80之间的数据转发链路。
本发明实施例提供了一种第一交换机80,控制器通过选取第一交换机80相邻的最优交换机,建立控制器与第一交换机80之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
参见图9,其示出了本发明实施里提供的一种临时通道的建立系统90,所述系统90可以包括:控制器60、第一交换机80和第二交换机100,其中,
所述控制器60,用于:
通过查询消息确定第一交换机80具备建立临时通道能力之后,当所述控制器60检测到第一控制通道发生故障时,所述控制器60根据预设的临时通道建立策略选取第二交换机100,其中,所述第一控制通道为所述控制器60与所述第一交换机80之间的控制通道,所述第二交换机100与所述第一交换机80相邻连接;
以及,通过所述第二交换机100转发临时通道建立请求消息至第一交换机80;其中,所述临时通道建立请求消息用于向所述第一交换机80请求建立所述控制器60与所述第一交换机80之间的临时通道,所述临时通道为所述控制器60与所述第一交换机80之间且以所述第二交换机100为中转节点的通道;
以及,接收到由所述第二交换机100转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机80进行通信交互,其中,所述临时通道建立响应消息由所述第一交换机80发送给所述第二交换机100;
所述第一交换机80,用于:
在接收到由所述控制器60通过所述第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;
以及,向所述控制器60发送所述查询响应消息,所述查询响应消息用于指示所述第一交换机80是否具备建立临时通道能力;
以及,当所述第一交换机80具备建立临时通道能力,且所述第一交换机80检测到自身与所述控制器60之间的控制通道发生故障时,接收所述控制器60通过所述第二交换机100转发的临时通道建立请求消息;
以及,通过所述第二交换机100转发临时通道建立响应消息至所述控制器60,并通过所述临时通道与所述控制器60进行通信交互。
本发明实施例提供了一种临时通道的建立系统90,控制器60通过选取第一交换机80相邻的最优第二交换机100,建立控制器60与第一交换机80之间的临时通道,从而无需为每个交换机都设置一个冗余的控制器作为备份,因此,可以减少网络部署的成本。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (23)

1.一种临时通道的建立方法,其特征在于,所述方法包括:
控制器通过查询消息确定第一交换机具备建立临时通道能力之后,当所述控制器检测到第一控制通道发生故障时,所述控制器根据预设的临时通道建立策略选取第二交换机,其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道,所述第二交换机与所述第一交换机相邻连接;
所述控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述控制器接收到由所述第二交换机转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机进行通信交互,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机。
2.根据权利要求1所述的方法,其特征在于,所述控制器通过查询消息确定第一交换机具备建立临时通道能力,包括:
所述控制器通过所述第一控制通道向所述第一交换机发送查询消息,其中,所述查询消息用于查询所述第一交换机是否具备建立临时通道能力;
所述控制器接收所述第一交换机通过所述第一控制通道返回的查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
当所述查询响应消息指示所述第一交换机具备建立临时通道能力时,所述控制器确定所述第一交换机具备建立临时通道能力。
3.根据权利要求1所述的方法,其特征在于,所述控制器根据预设的临时通道建立策略选取第二交换机,包括:
所述控制器根据与自身相连的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与所述控制器之间控制通道的带宽和占用情况以及各交换机与所述控制器之间控制通道的性能按照预设的选取规则从与所述第一交换机相邻连接的交换机中选取第二交换机。
4.根据权利要求1所述的方法,其特征在于,所述控制器通过所述第二交换机转发临时通道建立请求消息至所述第一交换机,包括:
所述控制器通过第二控制通道向所述第二交换机发送第一Packet_out消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道,所述第一Packet_out消息封装了所述临时通道建立请求消息,且所述第一Packet_out消息用于指示所述第二交换机将所述临时通道建立请求消息转发至所述第一交换机。
5.根据权利要求1所述的方法,其特征在于,所述控制器接收到由所述第二交换机转发的临时通道建立响应消息,包括:
所述控制器通过第二控制通道接收由所述第二交换机发送的第一Packet_in消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道;所述第一Packet_in消息中封装了所述第二交换机从所述第一交换机接收的所述临时通道建立响应消息;
所述控制器将所述第一Packet_in消息进行解封装,获取得到所述临时通道建立响应消息。
6.根据权利要求4或5所述的方法,其特征在于,所述临时通道具体包括:第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述控制器通过所述临时通道与所述第一交换机进行通信交互的过程中,当所述控制器检测到所述第一控制通道恢复正常时,所述控制器将自身与所述第一交换机进行通信交互的所述临时通道切换至所述第一控制通道。
8.一种临时通道的建立方法,其特征在于,所述方法包括:
第一交换机在接收到由控制器通过第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
所述第一交换机向所述控制器发送查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
当所述第一交换机具备建立临时通道能力,且所述第一交换机检测到所述第一控制通道发生故障时,所述第一交换机接收所述控制器通过第二交换机转发的临时通道建立请求消息;其中,所述第二交换机由所述控制器根据预设的临时通道建立策略选取,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述第一交换机通过所述第二交换机转发临时通道建立响应消息至所述控制器,并通过所述临时通道与所述控制器进行通信交互。
9.根据权利要求8所述的方法,其特征在于,所述第一交换机判断自身是否具备建立临时通道的能力,包括:
当所述第一交换机具备OpenFlow交换机规范定义的LOCAL端口,且所述第一交换机已配置了将所述控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且所述第一交换机具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,所述第一交换机确定自身具备建立临时通道的能力。
10.根据权利要求8所述的方法,其特征在于,所述第一交换机接收所述控制器通过所述第二交换机转发的临时通道建立请求消息,包括:
所述第一交换机接收由所述第二交换机根据第一Packet_out消息指示的端口发送的所述临时通道建立请求消息;其中,所述第一Packet_out消息封装了所述临时通道建立请求消息;所述临时通道建立请求消息由所述第二交换机通过第二控制通道从所述控制器接收所述第一Packet_out消息之后,对所述第一Packet_out消息进行解封装获取得到;所述第二控制通道为所述控制器与所述第二交换机之间的控制通道。
11.根据权利要求10所述的方法,其特征在于,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
12.一种控制器,其特征在于,所述控制器包括:确定单元、检测单元、选取单元、发送单元、接收单元和交互单元,其中,
所述确定单元,用于通过查询消息确定第一交换机具备建立临时通道能力;
所述检测单元,用于检测第一控制通道是否发生故障,且当检测到所述第一控制通道发生故障时,触发所述选取单元;其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
所述选取单元,用于,当所述检测单元检测到所述第一控制通道发生故障时,根据预设的临时通道建立策略选取第二交换机,其中,所述第二交换机与所述第一交换机相邻连接;
所述发送单元,用于通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述接收单元,用于接收由所述第二交换机转发的临时通道建立响应消息,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机;
所述交互单元,用于当所述接收单元接收到所述临时通道建立响应消息之后,通过所述临时通道与所述第一交换机进行通信交互。
13.根据权利要求12所述的控制器,其特征在于,所述确定单元,用于:
通过所述第一控制通道向所述第一交换机发送查询消息,其中,所述查询消息用于查询所述第一交换机是否具备建立临时通道能力;以及,
接收所述第一交换机通过所述第一控制通道返回的查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;以及,
当所述查询响应消息指示所述第一交换机具备建立临时通道能力时,所述控制器确定所述第一交换机具备建立临时通道能力。
14.根据权利要求12所述的控制器,其特征在于,所述选取单元,用于根据与所述控制器相连的各交换机的网络拓扑结构、所述各交换机之间的链路带宽和占用情况、各交换机之间链路性能、各交换机与所述控制器之间控制通道的带宽和占用情况以及各交换机与所述控制器之间控制通道的性能按照预设的选取规则从与所述第一交换机相邻连接的交换机中选取第二交换机。
15.根据权利要求12所述的控制器,其特征在于,所述发送单元,用于通过第二控制通道向所述第二交换机发送第一Packet_out消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道,所述第一Packet_out消息封装了所述临时通道建立请求消息,且所述第一Packet_out消息用于指示所述第二交换机将所述临时通道建立请求消息转发至所述第一交换机。
16.根据权利要求12所述的控制器,其特征在于,所述接收单元,用于通过第二控制通道接收由所述第二交换机发送的第一Packet_in消息,其中,所述第二控制通道为所述控制器与所述第二交换机之间的控制通道;所述第一Packet_in消息中封装了所述第二交换机从所述第一交换机接收的所述临时通道建立响应消息;以及,
将所述第一Packet_in消息进行解封装,获取得到所述临时通道建立响应消息。
17.根据权利要求15或16所述的控制器,其特征在于,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
18.根据权利要求12所述的控制器,其特征在于,
所述检测单元还用于:当所述交互单元通过所述临时通道与所述第一交换机进行通信交互的过程中,对所述第一控制通道进行检测;
所述控制器还包括切换单元,用于当所述检测单元检测到所述第一控制通道恢复正常时,将所述交互单元与所述第一交换机进行通信交互的所述临时通道切换至所述第一控制通道。
19.一种第一交换机,其特征在于,所述第一交换机包括接收单元、判断单元、发送单元、检测单元和交互单元,其中,
所述接收单元,用于接收由控制器通过第一控制通道发送的查询消息,其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道;
所述判断单元,用于在所述接收单元接收到由控制器通过第一控制通道发送的查询消息之后,判断所述第一交换机自身是否具备建立临时通道的能力;
所述发送单元,用于向所述控制器发送查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
所述检测单元,用于检测所述第一控制通道是否发生故障,当检测到所述第一控制通道发生故障时,触发所述接收单元;
所述接收单元,还用于当所述检测单元检测到所述第一控制通道发生故障时,接收所述控制器通过第二交换机转发的临时通道建立请求消息;其中,所述第二交换机由所述控制器根据预设的临时通道建立策略选取,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
所述发送单元,还用于通过所述第二交换机转发临时通道建立响应消息至所述控制器;
所述交互单元,用于通过所述临时通道与所述控制器进行通信交互。
20.根据权利要求19所述的第一交换机,其特征在于,所述判断单元,用于当所述第一交换机具备OpenFlow交换机规范定义的LOCAL端口,且所述第一交换机已配置了将所述控制器发送的OpenFlow协议消息从所述LOCAL端口输出的流表,且所述第一交换机具备将所述LOCAL端口输出的所述OpenFlow协议消息传输至本地OpenFlow协议栈进行处理的能力时,确定所述第一交换机具备建立临时通道的能力。
21.根据权利要求19所述的第一交换机,其特征在于,所述接收单元,用于接收由所述第二交换机根据第一Packet_out消息指示的端口发送的所述临时通道建立请求消息;其中,所述第一Packet_out消息封装了所述临时通道建立请求消息;所述临时通道建立请求消息由所述第二交换机通过第二控制通道从所述控制器接收所述第一Packet_out消息之后,对所述第一Packet_out消息进行解封装获取得到;所述第二控制通道为所述控制器与所述第二交换机之间的控制通道。
22.根据权利要求21所述的第一交换机,其特征在于,所述临时通道具体包括:所述第二控制通道以及所述第二交换机与所述第一交换机之间的数据转发链路。
23.一种临时通道的建立系统,其特征在于,所述系统包括:控制器、第一交换机和第二交换机,其中,
所述控制器,用于:
通过查询消息确定第一交换机具备建立临时通道能力之后,当所述控制器检测到第一控制通道发生故障时,所述控制器根据预设的临时通道建立策略选取第二交换机,其中,所述第一控制通道为所述控制器与所述第一交换机之间的控制通道,所述第二交换机与所述第一交换机相邻连接;
以及,通过所述第二交换机转发临时通道建立请求消息至所述第一交换机;其中,所述临时通道建立请求消息用于向所述第一交换机请求建立所述控制器与所述第一交换机之间的临时通道,所述临时通道为所述控制器与所述第一交换机之间且以所述第二交换机为中转节点的通道;
以及,接收到由所述第二交换机转发的临时通道建立响应消息后,通过所述临时通道与所述第一交换机进行通信交互,其中,所述临时通道建立响应消息由所述第一交换机发送给所述第二交换机;
所述第一交换机,用于:
在接收到由所述控制器通过所述第一控制通道发送的查询消息之后,判断自身是否具备建立临时通道的能力;
以及,向所述控制器发送所述查询响应消息,所述查询响应消息用于指示所述第一交换机是否具备建立临时通道能力;
以及,当所述第一交换机具备建立临时通道能力,且所述第一交换机检测到自身与所述控制器之间的控制通道发生故障时,接收所述控制器通过所述第二交换机转发的临时通道建立请求消息;
以及,通过所述第二交换机转发临时通道建立响应消息至所述控制器,并通过所述临时通道与所述控制器进行通信交互。
CN201410459568.XA 2014-09-10 2014-09-10 一种临时通道的建立方法、设备和系统 Expired - Fee Related CN105471613B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410459568.XA CN105471613B (zh) 2014-09-10 2014-09-10 一种临时通道的建立方法、设备和系统
PCT/CN2014/094643 WO2016037443A1 (zh) 2014-09-10 2014-12-23 一种临时通道的建立方法、设备、系统和计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410459568.XA CN105471613B (zh) 2014-09-10 2014-09-10 一种临时通道的建立方法、设备和系统

Publications (2)

Publication Number Publication Date
CN105471613A CN105471613A (zh) 2016-04-06
CN105471613B true CN105471613B (zh) 2020-03-10

Family

ID=55458307

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410459568.XA Expired - Fee Related CN105471613B (zh) 2014-09-10 2014-09-10 一种临时通道的建立方法、设备和系统

Country Status (2)

Country Link
CN (1) CN105471613B (zh)
WO (1) WO2016037443A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106254279B (zh) * 2016-07-19 2019-06-21 广州市品高软件股份有限公司 一种基于sdn的虚拟网元设备的自动迁移系统及管理方法
CN108243047B (zh) * 2016-12-27 2023-01-10 中兴通讯股份有限公司 一种业务切换方法、装置及业务切换系统
CN109327318B (zh) * 2017-07-31 2021-09-28 上海层峰网络科技有限公司 一种sdn管理网络架构和建立sdn管理网络的方法
CN107465611A (zh) * 2017-09-05 2017-12-12 北京东土科技股份有限公司 Sdn控制器和交换机控制链路的保护倒换方法及装置
CN111886833B (zh) * 2018-01-12 2023-07-11 瑞典爱立信有限公司 重定向控制信道消息的方法和用于实现该方法的设备
CN108923537B (zh) * 2018-07-14 2020-07-07 东方电子股份有限公司 基于链路转接的智能变电站维护方法
CN113472900B (zh) * 2021-09-01 2022-02-22 阿里云计算有限公司 报文处理方法、设备、存储介质及计算机程序产品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102905294A (zh) * 2012-09-28 2013-01-30 杭州华三通信技术有限公司 一种lwapp链路的备份方法和设备
CN103067277A (zh) * 2013-01-06 2013-04-24 华为技术有限公司 建立控制通道的方法、转发设备和控制设备
KR20140072343A (ko) * 2012-12-03 2014-06-13 한국전자통신연구원 Sdn 망의 장애 대처 방법
CN103929333A (zh) * 2014-05-08 2014-07-16 陈桂芳 一种sdn控制器资源池的实现方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10147748A1 (de) * 2001-09-27 2003-04-17 Siemens Ag Verfahren und Vorrichtung zur Anpassung von Label-Switched-Pfaden in Paketnetzen
JP4209758B2 (ja) * 2003-11-20 2009-01-14 富士通株式会社 迂回通信経路設計方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102905294A (zh) * 2012-09-28 2013-01-30 杭州华三通信技术有限公司 一种lwapp链路的备份方法和设备
KR20140072343A (ko) * 2012-12-03 2014-06-13 한국전자통신연구원 Sdn 망의 장애 대처 방법
CN103067277A (zh) * 2013-01-06 2013-04-24 华为技术有限公司 建立控制通道的方法、转发设备和控制设备
CN103929333A (zh) * 2014-05-08 2014-07-16 陈桂芳 一种sdn控制器资源池的实现方法

Also Published As

Publication number Publication date
CN105471613A (zh) 2016-04-06
WO2016037443A1 (zh) 2016-03-17

Similar Documents

Publication Publication Date Title
CN105471613B (zh) 一种临时通道的建立方法、设备和系统
CN107846342B (zh) 一种vxlan报文的转发方法、设备及系统
Sharma et al. OpenFlow: Meeting carrier-grade recovery requirements
EP3082309B1 (en) Sdn controller, data centre system and router connection method
EP3171555A1 (en) Fault detection method for virtual router redundancy protocol and router device
EP3110082B1 (en) Processing method and device for graceful restart of open flow switch, and open flow controller
WO2012000234A1 (zh) 链路间快速切换的方法、装置和系统
CN105915400A (zh) 一种数据流切换方法及系统
CN107005469B (zh) 一种路由的方法、相关设备及系统
WO2015024527A1 (en) Controlling forwarding devices in software defined networks
CN104283738A (zh) 一种链路检测方法及设备
US8711686B2 (en) Packet transmission system and fault recovery method
WO2012068996A1 (zh) 链路状态检测方法和装置
CN113328916B (zh) Bfd检测模式的切换方法、装置及设备
CN112448877A (zh) 一种sbfd会话的建立方法、设备及系统
CN110661702A (zh) 一种链路备份的方法、装置及计算机可读存储介质
CN105656776B (zh) 一种伪线双归保护切换系统、方法和装置
EP3038296B1 (en) Pool element status information synchronization method, pool register and pool element
CN108989204B (zh) 一种链路状态确定方法及设备
CN102739462B (zh) 一种测试报文的发送方法以及装置
WO2015154423A1 (zh) 跨域业务处理方法、装置及系统
JP2019009638A (ja) 無線通信装置、システム及び方法
CN107547347B (zh) 基于vni的路径调整方法和装置
US20080069106A1 (en) Communication apparatus
EP3232617B1 (en) Protection switching method and system, and nodes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20200310

Termination date: 20200910

CF01 Termination of patent right due to non-payment of annual fee