CN106936608B - 一种建立ssh连接的方法、相关设备及*** - Google Patents

一种建立ssh连接的方法、相关设备及*** Download PDF

Info

Publication number
CN106936608B
CN106936608B CN201511019498.7A CN201511019498A CN106936608B CN 106936608 B CN106936608 B CN 106936608B CN 201511019498 A CN201511019498 A CN 201511019498A CN 106936608 B CN106936608 B CN 106936608B
Authority
CN
China
Prior art keywords
controller
negotiation
ssh connection
forwarding
ssh
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.)
Active
Application number
CN201511019498.7A
Other languages
English (en)
Other versions
CN106936608A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201511019498.7A priority Critical patent/CN106936608B/zh
Publication of CN106936608A publication Critical patent/CN106936608A/zh
Application granted granted Critical
Publication of CN106936608B publication Critical patent/CN106936608B/zh
Active 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/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Communication Control (AREA)

Abstract

本发明实施例公开了一种建立安全外壳协议SSH连接的方法,相关设备及***。主控制器接收集群控制器发送的转发设备标识和备控制器标识,集群控制器用于管理集群中的控制器;主控制器与转发设备标识指示的转发设备通过SSH协商得到协商参数,基于协商参数与转发设备建立SSH连接;主控制器将协商参数发送给备控制器标识指示的备控制器,所述协商参数用于使备控制器在主控制器与转发设备建立的SSH连接断开后,与转发设备建立新的SSH连接。采用本发明,能够提高转发设备在与主控制器建立的SSH连接断开后,与备控制器建立新的SSH连接的效率。

Description

一种建立SSH连接的方法、相关设备及***
技术领域
本发明涉及计算机技术领域,尤其涉及一种建立安全外壳协议(英文:SecureShell,SSH)连接的方法、相关设备及***。
背景技术
软件定义网络(英文:software-defined networking,SDN)是一种新型网络,其核心是将底层网络分成控制层与转发层,由控制层的控制器为转发层的转发设备配置业务(如vlan配置等)。当SDN中如果出现控制器软件故障、控制器和转发设备之间的通信链路故障、控制器所在数据中心机房断电等状况而致使转发设备和控制器之间预先建立的SSH连接断开时,会导致该转发设备的业务无法被配置。
为了解决上述问题,现有技术提供了一种SDN网络架构,如图1所示,该网络架构中包括集群控制器300、控制器311~314和转发设备321~323。其中,集群控制器300分别与控制器311~314通信连接,每个转发设备接入到SDN网络时都会向集群控制器300注册,由集群控制器从控制器311~314中为该转发设备选择一个控制器作为该转发设备的主控制器,选择另一个控制器作为该转发设备的备控制器。转发设备与主控制器建立通信连接(如图中实线所示),但不与备控制器建立通信连接(如图中虚线所示)。举例来说,当转发设备321接入到该SDN网络时会向集群控制器300注册,集群控制器300为转发设备321分配控制器311以作为转发设备321的主控制器,并为转发设备321分配控制器312以作为转发设备321的备控制器。集群控制器300指示控制器311与转发设备321建立SSH连接,但是,集群控制器300并不指示控制器312与转发设备321建立SSH连接。在控制器311与转发设备321建立SSH连接时,控制器311与转发设备321通过SSH协商来确定双方进行通信所需要的协商参数,并与转发设备321基于所述协商参数建立SSH连接,其中,协商参数包括版本号、数据加密算法、D-H秘钥等参数。
建立完SSH连接后,控制器311便可为转发设备321配置业务。此后,集群控制器300实时对主控制器311与转发设备321之间的SSH连接进行监控,判断该SSH连接是否断开,若断开,则集群控制器300向控制器312发送通知消息,通知控制器312与转发设备321建立新的SSH连接以接替原先的控制器311来为转发设备321配置业务。在控制器312与转发设备321建立新的SSH连接时,控制器312与转发设备321通过SSH协商来确定双方进行通信所需要的协商参数,并与转发设备321基于所述协商参数来建立SSH连接。SSH连接建立完毕后,控制器312即可为转发设备321配置业务。
现有技术的缺陷在于,当主控制器与转发设备之间的SSH连接断开后,该转发设备的备控制器需要与该转发设备再次进行SSH协商才能够建立新的SSH连接,且SSH协商过程耗时较长,导致该备控制器与该转发设备建立SSH连接的效率不高。
发明内容
本发明实施例公开了一种建立SSH连接的方法、相关设备及***,能够提高转发设备在与主控制器建立的SSH连接断开后,与备控制器建立新的SSH连接的效率。
第一方面,本发明实施例提供了一种建立安全外壳协议SSH连接的方法,该方法包括:
主控制器接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;
所述主控制器与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接;
所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述主控制器与所述转发设备建立的SSH连接断开后与所述转发设备建立新的SSH连接;备控制器与转发设备建立SSH时,需要先建立传输控制协议/因特网互联协议(英文:Transmission Control Protocol/Internet Protocol,TCP/IP)连接,也即是说,SSH连接的请求方需要知道被请求方的IP地址,被请求方的IP地址可以由集群控制器或者主控制器提前发送给请求方。
通过执行上述步骤,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第一方面,在第一方面的第一种可能的实现方式中,所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器包括:
所述主控制器将所述转发设备标识和所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在接收到所述集群控制器检测出所述主控制器与所述转发设备建立的SSH连接断开后发送的重连消息之后,根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
结合第一方面,在第一方面的第二种可能的实现方式中,所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器包括:
所述主控制器判断所述主控制器与所述转发设备建立的SSH连接是否断开;
若断开,则所述主控制器向所述备控制器标识指示的备控制器发送包含所述转发设备标识和所述协商参数的重连消息,以指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
结合第一方面,在第一方面的第三种可能的实现方式中,所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器包括:
所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器;
所述主控制器判断所述主控制器与所述转发设备建立的SSH连接是否断开;
若断开,则所述主控制器向所述集群控制器发送断开提示消息,以使所述集群控制器向所述备控制器发送包含所述转发设备标识的重连消息,其中,所述重连消息用于指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
结合第一方面,在第一方面的第四种可能的实现方式中,所述主控制器接收集群控制器发送的转发设备标识和备控制器标识之后,所述方法还包括:
所述主控制器向所述转发设备发送所述备控制器标识,以使所述转发设备在判断出所述SSH连接断开后,根据所述备控制器标识和所述协商参数与所述备控制器建立新的SSH连接。
第二方面,本发明实施例提供一种建立安全外壳协议SSH连接的方法,该方法包括:
备控制器接收主控制器发送的协商参数,其中,所述协商参数由所述主控制器与所述主控制器管理的转发设备通过SSH协商得到;
所述备控制器在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接。
通过执行上述步骤,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第二方面,在第二方面的第一种可能的实现方式中,所述与所述转发设备基于所述协商参数建立新的SSH连接包括:
所述备控制器接收所述主控制器或者集群控制器在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后发送的重连消息,其中,所述集群控制器用于管理集群中所有的控制器,所述重连消息包含所述转发设备的转发设备标识;
所述备控制器根据所述转发设备标识向所述转发设备发送指示消息,以与所述转发设备基于所述协商参数建立新的SSH连接。
结合第二方面,在第二方面的第二种可能的实现方式中,所述与所述转发设备基于所述协商参数建立新的SSH连接包括:
所述备控制器接收所述转发设备在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,发送的用于请求基于所述协商参数建立新的SSH连接的请求消息;
所述备控制器与所述转发设备基于所述协商参数建立新的SSH连接。
第三方面,本发明实施例提供一种建立安全外壳协议SSH连接的方法,该方法包括:
转发设备与集群控制器分配给所述转发设备的主控制器通过SSH协商得到协商参数,基于所述协商参数与所述主控制器建立SSH连接,所述集群控制器用于管理集群中的控制器,其中,所述主控制器用于向所述集群控制器为所述转发设备分配的备控制器发送所述协商参数;
所述转发设备在所述转发设备与所述主控制器建立的SSH连接断开后,与所述备控制器基于所述协商参数建立新的SSH连接。
通过执行上述步骤,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第三方面,在第三方面的第一种可能的实现方式中,所述与所述备控制器基于所述协商参数建立新的SSH连接包括:
所述转发设备接收所述主控制器发送的所述备控制器的备控制器标识,所述备控制器标识由所述集群控制器发送给所述主控制器;
所述转发设备判断所述转发设备与所述主控制器建立的SSH连接是否断开;
若断开,则所述转发设备根据所述备控制器标识向所述备控制器发送请求消息,以与所述备控制器基于所述协商参数建立新的SSH连接。
结合第三方面,在第三方面的第二种可能的实现方式中,所述与所述备控制器基于所述协商参数建立新的SSH连接包括:
所述转发设备接收所述备控制器发送的指示消息,所述指示消息为所述备控制器在所述转发设备与所述主控制器建立的SSH连接断开后发送的用于指示基于所述协商参数建立新的SSH连接的消息;
所述转发设备根据所述指示消息与所述备控制器基于所述协商参数建立新的SSH连接。
第四方面,本发明实施例提供一种控制器,该控制器为主控制器,所述主控制器包括输入组件、输出组件、存储器和处理器,所述处理器调用所述存储器中的建立SSH连接的程序,用于执行如下操作:
通过所述输入组件接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;
与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接;
通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述处理器与所述转发设备建立的SSH连接断开后与所述转发设备建立新的SSH连接。
通过执行上述操作,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第四方面,在第四方面的第一种可能的实现方式中,所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器,用于通过所述输出组件将所述转发设备标识和所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在接收到所述集群控制器检测出所述处理器与所述转发设备建立的SSH连接断开后发送的重连消息之后,根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
结合第四方面,在第四方面的第二种可能的实现方式中,所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器,用于判断所述处理器与所述转发设备建立的SSH连接是否断开;
所述处理器,还用于在判断出所述处理器与所述转发设备建立的SSH连接断开后,通过所述输出组件向所述备控制器标识指示的备控制器发送包含所述转发设备标识和所述协商参数的重连消息,以指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
结合第四方面,在第四方面的第三种可能的实现方式中,所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器;
所述处理器,还用于判断所述处理器与所述转发设备建立的SSH连接是否断开;
所述处理器,还用于在判断出所述处理器与所述转发设备建立的SSH连接断开后,通过所述输出组件向所述集群控制器发送断开提示消息,以使所述集群控制器向所述备控制器发送包含所述转发设备标识的重连消息,其中,所述重连消息用于指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
结合第四方面,在第四方面的第四种可能的实现方式中,所述处理器还用于:
在通过所述输入组件接收集群控制器发送的转发设备标识和备控制器标识之后,通过所述输出组件向所述转发设备发送所述备控制器标识,以使所述转发设备在判断出所述SSH连接断开后,根据所述备控制器标识和所述协商参数与所述备控制器建立新的SSH连接。
第五方面,本发明实施例提供一种控制器,所述控制器为备控制器,所述备控制器包括输入组件、存储器和处理器,所述处理器调用所述存储器中的建立SSH连接的程序,用于执行如下操作:
通过所述输入组件接收主控制器发送的协商参数,其中,所述协商参数由所述主控制器与所述主控制器管理的转发设备通过SSH协商得到;
在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接。
通过执行上述操作,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第五方面,在第五方面的第一种可能的实现方式中,所述控制器还包括输出组件;所述处理器,用于与所述转发设备基于所述协商参数建立新的SSH连接,具体为:
所述处理器,用于通过所述输入组件接收所述主控制器或者集群控制器在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后发送的重连消息,其中,所述集群控制器用于管理集群中所有的控制器,所述重连消息包含所述转发设备的转发设备标识;
所述处理器,还用于根据所述转发设备标识通过所述输出组件向所述转发设备发送指示消息,以与所述转发设备基于所述协商参数建立新的SSH连接。
结合第五方面,在第五方面的第二种可能的实现方式中,所述处理器,用于与所述转发设备基于所述协商参数建立新的SSH连接,具体为:
所述处理器,用于通过所述输入组件接收所述转发设备在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,发送的用于请求基于所述协商参数建立新的SSH连接的请求消息;
所述处理器,还用于与所述转发设备基于所述协商参数建立新的SSH连接。
第六方面,本发明实施例提供一种转发设备,该转发设备包括存储器和处理器,所述处理器调用所述存储器中的建立SSH连接的程序,用于执行如下操作:
与集群控制器分配给所述转发设备的主控制器通过SSH协商得到协商参数,基于所述协商参数与所述主控制器建立SSH连接,所述集群控制器用于管理集群中的控制器,其中,所述主控制器用于向所述集群控制器为所述转发设备分配的备控制器发送所述协商参数;
在所述处理器与所述主控制器建立的SSH连接断开后,与所述备控制器基于所述协商参数建立新的SSH连接。
通过执行上述操作,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第六方面,在第六方面的第一种可能的实现方式中,所述转发设备还包括所述输入组件和输出组件;所述处理器,用于与所述备控制器基于所述协商参数建立新的SSH连接,具体为:
所述处理器,用于通过所述输入组件接收所述主控制器发送的所述备控制器的备控制器标识,所述备控制器标识由所述集群控制器发送给所述主控制器;
所述处理器,还用于判断所述处理器与所述主控制器建立的SSH连接是否断开;
所述处理器,还用于在判断出所述处理器与所述主控制器建立的SSH连接断开后,根据所述备控制器标识通过所述输出组件向所述备控制器发送请求消息,以与所述备控制器基于所述协商参数建立新的SSH连接。
结合第六方面,在第六方面的第二种可能的实现方式中,所述处理器,用于与所述备控制器基于所述协商参数建立新的SSH连接,具体为:
所述处理器,用于通过所述输入组件接收所述备控制器发送的指示消息,所述指示消息为所述备控制器在所述处理器与所述主控制器建立的SSH连接断开后发送的用于指示基于所述协商参数建立新的SSH连接的消息;
所述处理器,还用于根据所述指示消息与所述备控制器基于所述协商参数建立新的SSH连接。
第七方面,本发明实施例提供一种控制器,所述控制器包括用于执行本发明实施例第一方面任一实现方式的部分或全部步骤的功能单元。
第八方面,本发明实施例提供一种控制器,所述控制器包括用于执行本发明实施例第二方面任一实现方式的部分或全部步骤的功能单元。
第九方面,本发明实施例提供一种转发设备,所述转发设备包括用于执行本发明实施例第三方面任一实现方式的部分或全部步骤的功能单元。
第十方面,本发明实施例提供一种软件定义网络SDN***,包括主控制器、备控制器和转发设备,其中:
所述主控制器,用于接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;与所述转发设备标识指示的所述转发设备通过SSH协商得到协商参数;基于所述协商参数与所述转发设备建立SSH连接,并将所述协商参数发送给所述备控制器标识指示的备控制器;
所述备控制器,用于接收所述主控制器发送的协商参数,并在所述主控制器与所述转发设备建立的SSH连接断开后请求与所述转发设备基于所述协商参数建立新的SSH连接;
所述转发设备,用于接收所述备控制器发送的请求,并根据所述请求与所述备控制器基于所述协商参数建立新的SSH连接。
通过执行上述操作,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
结合第十方面,在第十方面的第一种可能的实现方式中,
所述主控制器为第四方面的任一可能的实现方式中描述的控制器,或者第七方面的任一可能的实现方式中描述的控制器;
所述备控制器为第五方面的任一可能的实现方式中描述的控制器,或者第八方面的任一可能的实现方式中描述的控制器;
所述转发设备为第六方面的任一可能的实现方式中描述的控制器,或者第九方面的任一可能的实现方式中描述的控制器。
在一些可能的实现方式中,所述备控制器发送的所述指示消息或者所述转发设备发送的所述重连消息包含所述主控制器与所述转发设备建立的SSH连接的会话标识,用于指示所述转发设备或者所述备控制器基于所述主控制器与所述转发设备建立SSH连接时生成的协商参数建立新的SSH连接。
通过实施本发明实施例,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1是现有技术中的一种SDN网络架构示意图;
图2是本发明实施例中控制器与转发设备建立SSH连接的流程示意图;
图3是本发明实施例提供的一种建立SSH连接的方法的流程示意图;
图4是本发明实施例提供的又一种建立SSH连接的方法的流程示意图;
图5是本发明实施例提供的又一种建立SSH连接的方法的流程示意图;
图6是本发明实施例提供的又一种建立SSH连接的方法的流程示意图;
图7是本发明实施例提供的又一种建立SSH连接的方法的流程示意图;
图8是本发明实施例提供的一种控制器的结构示意图;
图9是本发明实施例提供的又一种控制器的结构示意图;
图10是本发明实施例提供的一种转发设备的结构示意图;
图11是本发明实施例提供的又一种控制器的结构示意图;
图12是本发明实施例提供的又一种控制器的结构示意图;
图13是本发明实施例提供的又一种转发设备的结构示意图;
图14是本发明实施例提供的一种SDN***的结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚地描述,首先通过图2来详细描述本发明实施例中控制器(可以是主控制器或者备控制器)和转发设备之间建立SSH连接时如何进行SSH协商,然后通过图3~7来描述本发明在主控制器与转发设备之间的SSH连接断开后,如何简化SSH协商过程来提高备控制器与该转发设备建立新的SSH连接的效率。
请参见图2,图2为控制器与转发设备进行SSH协商来建立SSH连接的流程示意图,该流程的详细描述如下:
步骤一:版本协商,控制器与转发设备之间建立传输控制协议/因特网互联协议(英文:Transmission Control Protocol/Internet Protocol,TCP/IP)连接,建立完TCP/IP连接后,控制器向转发设备发送自己的SSH版本信息,转发设备接收到控制器发送的SSH版本信息后,从自身可使用的SSH版本中选择一款与控制器的SSH版本相匹配的SSH版本,并将相匹配的SSH版本的版本号通知控制器。
步骤二:算法协商,控制器和转发设备分别向对方发送的自己支持的不同密码需求的加密算法,双方在获知彼此支持的加密算法后,选择彼此都支持的加密算法用于后续加密。
步骤三:秘钥交换,转发设备向控制器发送秘钥交换请求,告知开始秘钥交换;随后控制器和转发设备通过交互得到公私钥,生成控制器与转发设备进行会话的会话标识(session_id)。
通常情况下,SDN构架中存在多个控制器和多个转发设备,因此也会存在多个SSH连接,建立SSH连接的过程中生成的唯一session_id可以用来标识SSH连接,以使各个SSH连接彼此区别开来。
步骤四:用户认证,转发设备向控制器发送认证报文,然后转发设备接收控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商。
至此,控制器与转发设备之间的SSH协商过程完成,建立了SSH连接,控制器与转发设备可以基于该SSH连接进行通信。
请参见图3,图3是本发明实施例提供的一种建立SSH连接的方法的流程示意图,描述了主控制器与转发设备通过图2所示流程建立的SSH连接断开后,备控制器与该转发设备基于该主控制器与该转发设备通过SSH协商得到的协商参数建立新的SSH连接的方案,该方案具体包括如下步骤:
步骤S501:主控制器接收集群控制器发送的转发设备标识和备控制器标识。
具体地,集群控制器用于管理集群中的控制器,且集群控制器中存储有集群控制器管理的SDN网络中的控制器的标识(identifier,ID)以及转发设备的标识(如IP地址等)。
转发设备上线时,集群控制器为所述转发设备从集群控制器管理的控制器中选择其中一个控制器所述转发设备的主控制器,以及选择另一个控制器作为所述转发设备的备控制器,并将所述转发设备的标识和备控制器的标识通过集群控制器和主控制器之间的通信连接发送给该主控制器。相应地,该主控制器接收集群控制器发送的该转发设备标识和该备控制器标识。
集群控制器、主控制器和备控制器两两之间的通信属于集群节点间的通信,其常用的通信机制包括消息队列通信,在通过消息队列的机制进行通信时,发起通信的一方需要知道对方的控制器标识(如ID号)。通常情况下,转发设备注册到集群控制器时才会与集群控制器进行通信,后续不再与集群控制进行通信。主控制器(或备控制器)与转发设备之间的通信可以由转发设备发起,也可以由主控制器(或备控制器)发起,不管是哪一方发起,发起方都需要知道对方的IP地址(可能还需要端口号)以用来建立TCP/IP连接,TCP/IP连接是建立SSH连接过程中交互消息(或报文)的基础。
步骤S502:所述主控制器与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接。
具体地,主控制器和转发设备进行SSH协商的过程即执行图2所示的的过程。协商过程所产生的协商参数包括通过步骤一协商得到的版本号、通过步骤二协商得到的各种算法(如数据加密算法,数据完整性保护算法,秘钥交换算法,数据压缩算法,数字签名和认证的主机公钥算法等)或者算法对应的索引以及通过步骤三协商得到的秘钥(包括会话标识)。协商完成后该主控制器和该转发设备均具有该协商参数,该主控制器与该转发设备基于该协商参数建立SSH连接,以便该主控制器为该转发设备配置业务。
步骤S503:所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述主控制器与所述转发设备建立的SSH连接断开后与所述转发设备建立新的SSH连接。
具体地,上述主控制器将上述协商参数发送给上述备控制器标识指示的备控制器,例如,该备控制器标识包含控制器ID号35,那么主控制器将该协商参数发送给控制器集群中ID号为35的控制器,相应地,该备控制器接收主控制器发送的该协商参数。之后,如果该主控制器与该转发设备之间建立的SSH连接断开了,则该备控制器直接基于该协商参数与该转发设备建立新的SSH连接,而不需要执行上述步骤一、步骤二和步骤三来生成协商参数。由于备控制器与转发设备都有了相应的协商参数,因此可视为备控制器与转发设备之间已经进行了用户认证,所以还可以省去步骤四。需要说明的是,如果由该备控制器发起建立SSH连接,则该备控制器需要知道该转发设备的IP地址;如果由该转发设备发起建立SSH连接,则该转发设备需要知道该备控制器的IP地址;备控制器或者转发设备需要知道的IP地址可以来源于该集群控制器或者该主控制器。
步骤S503中备控制器与上述转发设备基于已有的协商参数建立新的SSH连接的方式有多种,现通过图4~7的实施例对其中一些方式进行介绍。
请参见图4,图4为本发明实施例提供的又一种建立SSH连接的方法流程示意图,其中包括步骤S601~S609;该方法由上述集群控制器来检测SSH连接是否断开,并在SSH连接断开后由上述备控制器主动向上述转发设备发起新的SSH连接,各个步骤的详细描述如下。
步骤S601~S604可以对应参照步骤S501~S502的相关描述,此处不再赘述。
步骤S605:该主控制器将该协商参数发送给该备控制器;该协商参数除了包括上述步骤一、步骤二和步骤三种的相关参数外,还可以包括该转发设备的IP地址和端口号。
步骤S606:该集群控制器在该主控制器与该转发设备之间的SSH连接建立后就开始对该SSH连接进行监控,判断SSH连接是否断开。SSH连接断开包括两种情况,一种情况是该主控制器出现故障完全无法工作,另一种情况是该主控制器除了与该转发设备的SSH连接故障外,其他功能依旧正常。但是无论哪种情况,集群控制器均可以检测或计算出是哪个(或哪些)SSH连接断开了。
步骤S607:当该集群控制器检测出该主控制器与该转发设备之间的SSH连接断开时,向该备控制器发送重连消息,相应地,该备控制器接收集群控制器发送的重连消息,根据该重连消息至少可以获得以下信息:1、SSH连接已经断开,需要基于该SSH连接的协商参数建立新的SSH连接;2、该断开的SSH连接为该主控制器与该转发设备之间的SSH连接,具体可以通过在该重连消息中封装该转发设备的转发设备标识,或者该主控制器的主控制器信息,或者该转发设备的转发设备标识和该主控制器的主控制器信息,或者该断开的SSH连接的协商参数中的会话标识(session_id),或者其他能够对SSH连接进行标识的信息来达到这一目的。
步骤S608:该备控制器在步骤S605中已经获取到了该主控制器与该转发设备之间的SSH连接的协商参数,也即是说该备控制器和该转发设备均具备了相应地协商参数,并且该备控制器通过步骤S607中的重连消息也确认了该主控制器与该转发设备之间的SSH连接断开了,所以该备控制器向该转发设备发送指示该转发设备基于上述协商参数与自身建立新的SSH连接的指示消息。
在步骤S605中的协商参数和步骤S607中的断开提示消息中至少有一项包含了该转发设备的转发设备标识(包括IP地址),因此该备控制器可以基于该转发设备标识与该转发设备成功建立TCP/IP连接;并在TCP/IP连接建立后向该转发设备发送报文(可以根据需要自定该报文的名称),该报文包含指示部分和限定部分,该指示部分用于指示该转发设备基于已有的SSH连接的协商参数与该备控制器建立SSH连接,该限定部分用于指示该转发设备具体使用哪个SSH连接的协商参数。
表1所示结构为该报文的一种呈现形式,可命名为SSH_MSG_REUSE_KEX报文SSH_MSG_REUSE_KEX中包含的内容如表1所示:
head length session_id
表1
表1中的字段“length”用来定义字段“session_id”的长度;“session_id”中封装了上述主控制器与上述转发设备之间的SSH连接的协商参数中的session_id;在改进的协议中,报文SSH_MSG_REUSE_KEX的“head”字段的值可以为35,用于指示报文的接收方基于字段“session_id”中的session_id所属的协商参数与报文的发送方建立SSH连接。
步骤S609:该转发设备接收该备控制器发送的报文,对该报文进行解析,得出需要基于与该主控制器之间的SSH连接的协商参数与该备控制器建立SSH连接;此时,该转发设备可以向该备控制器发送一个确认的报文,也可以不发送确认的报文,直接基于该协商参数中的版本号、加密算法、秘钥等与该备控制器进行通信。
请参见图5,图5为本发明实施例提供的又一种建立SSH连接的方法流程示意图,其中包含步骤S701~S708;该方法由上述主控制器来检测SSH连接是否断开,并在SSH连接断开后由备控制器主动请求建立新的SSH连接,各个步骤的详细描述如下。
步骤S701~S704可以对应参照步骤S601~S604的相关描述,此处不再赘述。
步骤S705:该主控制器实时检测自身与该转发设备之间的SSH连接是否断开,在本实施例中,即使该主控制器与该转发设备的SSH连接断开了,该主控制器的其他功能还是正常的,仍然能够检测出该断开情况。
步骤S706:当该主控制器判断出自身与该转发设备之间的SSH连接断开后,向该备控制器发送重连消息,该重连消息包含该主控制器与该转发设备协商得到的协商参数,该重连消息用于指示该备控制器基于该协商参数与该转发设备建立新的SSH连接。该重连消息的详细描述可以参照步骤S607。
步骤S707和S708可以分别参照S608和S609的描述,此处不再赘述。
请参见图6,图6为本发明实施例提供的又一种建立SSH连接的方法流程示意图,其中包括步骤S801~S809;该方法由上述主控制器来检测SSH连接是否断开,并在SSH连接断开后由备控制器主动请求建立新的SSH连接,各个步骤的详细描述如下。
步骤S801~S805可以参照步骤S601~S605,此处不再赘述。
步骤S806与S705相同,此处不再赘述。
步骤S807:当该主控制器检测出自身与该转发设备之间的SSH连接已经断开后,将该SSH连接断开的情况通过断开提示消息发送给集群控制器,相应地,该集群控制器接收该主控制器发送的断开提示消息。
步骤S808:集群控制器根据该断开提示消息得出该转发设备对应的备控制器,然后向该备控制器发送重连消息,以指示备控制器基于上述协商参数与上述转发设备建立新的SSH连接,进一步地,可以参照步骤S607,此处不再赘述。
步骤S809与S608相同,步骤S810与S809相同,此处不再赘述。
请参见图7,图7为本发明实施例提供的又一种建立SSH连接的方法流程示意图,其中包含步骤S901~S909;该方法由上述转发设备来检测SSH连接是否断开,并在SSH连接断开后由该转发设备主动请求建立新的SSH连接,各个步骤的详细描述如下。
步骤S901~S905可以参照步骤S601~S605,此处不再赘述。
步骤S906:主控制器将备控制器的备控制器标识发送给该转发设备,相应地,该转发设备接收该主控制器发送的备控制器消息,该备控制器标识包含备控制器的IP地址,这样一来,该转发设备就知道哪个控制器是自己的备控制器。
步骤S907:该转发设备检测自身与该主控制器之间的SSH连接是否已经断开。
步骤S908:若检测到该SSH连接断开,该转发设备向该备控制器发送请求消息,请求该备控制器基于主控制器发送的协商参数与所述转发设备建立新的SSH连接。
步骤S909和S609相同,此处不再赘述。
上述详细阐述了本发明实施例的方法,为了便于更好地实施本发明实施例的上述方案,下面参照图8~13描述本发明实施例的相关装置。
请参见图8,图8是本发明实施例提供的一种控制器80,所述控制器80为主控制器,该主控制器包括输入组件801、输出组件802、存储器803和处理器804(处理器804的数量可以一个或多个,图8中以一个处理器为例),在本发明的一些实施例中,输入组件801、输出组件802、存储器803和处理器804可通过总线或者其它方式连接,其中,图8中以通过总线连接为例。所述处理器804调用所述存储器803中的建立SSH连接的程序,用于执行如下操作:
通过所述输入组件801接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;
与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接;
通过所述输出组件802将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述处理器804与所述转发设备建立的SSH连接断开后与所述转发设备建立新的SSH连接。
通过运行建立SSH连接的程序代码,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
在一种可选的方案中,所述处理器804,用于通过所述输出组件802将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器804,用于通过所述输出组件802将所述转发设备标识和所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在接收到所述集群控制器检测出所述处理器804与所述转发设备建立的SSH连接断开后发送的重连消息之后,根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
在一种可选的方案中,所述处理器804,用于通过所述输出组件802将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器804,用于判断所述处理器804与所述转发设备建立的SSH连接是否断开;
所述处理器804,还用于在判断出所述处理器804与所述转发设备建立的SSH连接断开后,通过所述输出组件802向所述备控制器标识指示的备控制器发送包含所述转发设备标识和所述协商参数的重连消息,以指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
在又一种可选的方案中,所述处理器804,用于通过所述输出组件802将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器804,用于通过所述输出组件802将所述协商参数发送给所述备控制器标识指示的备控制器;
所述处理器804,还用于判断所述处理器804与所述转发设备建立的SSH连接是否断开;
所述处理器804,还用于在判断出所述处理器804与所述转发设备建立的SSH连接断开后,通过所述输出组件802向所述集群控制器发送断开提示消息,以使所述集群控制器向所述备控制器发送包含所述转发设备标识的重连消息,其中,所述重连消息用于指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
在又一种可选的方案中,所述处理器804还用于:在通过所述输入组件接收集群控制器发送的转发设备标识和备控制器标识之后,通过所述输出组件802向所述转发设备发送所述备控制器标识,以使所述转发设备在判断出所述SSH连接断开后,根据所述备控制器标识和所述协商参数与所述备控制器建立新的SSH连接。
需要说明的是,控制器80的具体实现还可以对应参照图3所示的方法实施例的相关描述。
请参见图9,图9是本发明实施例提供的又一种控制器90,所述控制器90为备控制器,该备控制器包括输入组件901、存储器903和处理器904(处理器904的数量可以一个或多个,图9中以一个处理器为例),在本发明的一些实施例中,输入组件901、存储器903和处理器904可通过总线或者其它方式连接,其中,图9中以通过总线连接为例。所述处理器804调用所述存储器803中的建立SSH连接的程序,用于执行如下操作:
通过所述输入组件901接收主控制器发送的协商参数,其中,所述协商参数由所述主控制器与所述主控制器管理的转发设备通过SSH协商得到;
在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接。
通过运行建立SSH连接的程序代码,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
在一种可选的方案中,所述控制器还包括输出组件902;所述处理器904,用于与所述转发设备基于所述协商参数建立新的SSH连接,具体为:
所述处理器904,用于通过所述输入组件901接收所述主控制器或者集群控制器在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后发送的重连消息,其中,所述集群控制器用于管理集群中所有的控制器,所述重连消息包含所述转发设备的转发设备标识;
所述处理器904,还用于根据所述转发设备标识通过所述输出组件902向所述转发设备发送指示消息,以与所述转发设备基于所述协商参数建立新的SSH连接。
在又一种可选的方案中,所述处理器904,用于在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接,具体为:
所述处理器904,用于通过所述输入组件901接收所述转发设备在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,发送的用于请求基于所述协商参数建立新的SSH连接的请求消息;
所述处理器904,还用于与所述转发设备基于所述协商参数建立新的SSH连接。
需要说明的是,控制器90的具体实现还可以对应参照图3所示的方法实施例的相关描述。
请参见图10,图10是本发明实施例提供的一种转发设备100,所述转发设备100包括存储器1003和处理器1004(处理器1004的数量可以一个或多个,图10中以一个处理器为例),在本发明的一些实施例中,存储器1003和处理器1004可通过总线或者其它方式连接,其中,图10中以通过总线连接为例。所述处理器1004调用所述存储器1003中的建立SSH连接的程序,用于执行如下操作:
与集群控制器分配给所述转发设备100的主控制器通过SSH协商得到协商参数,基于所述协商参数与所述主控制器建立SSH连接,所述集群控制器用于管理集群中的控制器,其中,所述主控制器用于向所述集群控制器为所述转发设备100分配的备控制器发送所述协商参数;
在所述处理器1004与所述主控制器建立的SSH连接断开后,与所述备控制器基于所述协商参数建立新的SSH连接。
通过运行建立SSH连接的程序代码,主控制器将与转发设备100建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备100在该主控制器与该转发设备100之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备100建立新的SSH连接的效率。
在一种可选的方案中,所述转发设备100还包括所述输入组件1001和输出组件1002;所述处理器1004,用于与所述备控制器基于所述协商参数建立新的SSH连接,具体为:
所述处理器1004,用于通过所述输入组件1001接收所述主控制器发送的所述备控制器的备控制器标识,所述备控制器标识由所述集群控制器发送给所述主控制器;
所述处理器1004,还用于判断所述处理器1004与所述主控制器建立的SSH连接是否断开;
所述处理器1004,还用于在判断出所述处理器1004与所述主控制器建立的SSH连接断开后,根据所述备控制器标识通过所述输出组件1002向所述备控制器发送请求消息,以与所述备控制器基于所述协商参数建立新的SSH连接。
在又一种可选的方案中,所述处理器1004,用于与所述备控制器基于所述协商参数建立新的SSH连接,具体为:
所述处理器1004,用于通过所述输入组件1001接收所述备控制器发送的指示消息,所述指示消息为所述备控制器在所述处理器1004与所述主控制器建立的SSH连接断开后发送的用于指示基于所述协商参数建立新的SSH连接的消息;
所述处理器1004,还用于根据所述指示消息与所述备控制器基于所述协商参数建立新的SSH连接。
需要说明的是,转发设备100的具体实现还可以对应参照图3所示的方法实施例的相关描述。
请参见图11,图11是本发明实施例提供的又一种控制器110,该控制器110为主控制器,该控制器110包括接收单元1101、协商单元1102和第一发送单元1103,其中,各个单元的详细描述如下:
接收单元1101用于接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;
协商单元1102用于与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接;
第一发送单元1103用于将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述主控制器与所述转发设备建立的SSH连接断开后与所述转发设备建立新的SSH连接。
通过运行本发明实施的主控制器,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
在一种可选的方案中,所述第一发送单元1103具体用于:将所述转发设备标识和所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在接收到所述集群控制器检测出所述主控制器与所述转发设备建立的SSH连接断开后发送的重连消息之后,根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
在又一种可选的方案中,所述第一发送单元1103包括第一判断子单元和第一发送子单元,判断子单元和发送子单元的详细描述如下:
第一判断子单元,用于判断所述主控制器与所述转发设备建立的SSH连接是否断开;
第一发送子单元,用于在所述第一判断子单元的判断结果为是时,向所述备控制器标识指示的备控制器发送包含所述转发设备标识和所述协商参数的重连消息,以指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
在又一种可选的方案中,所述第一发送单元1103包括第二发送子单元、第二判断子单元和第三发送子单元,各个子单元的详细描述如下:
第二发送子单元,用于将所述协商参数发送给所述备控制器标识指示的备控制器;
第二判断子单元,用于判断所述主控制器与所述转发设备建立的SSH连接是否断开;
第三发送子单元,用于在所述第二判断子单元的判断结果为是时,向所述集群控制器发送断开提示消息,以使所述集群控制器向所述备控制器发送包含所述转发设备标识的重连消息,其中,所述重连消息用于指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
在又一种可选的方案中,所述控制器还包括第二发送单元,该第二发送单元用于,在所述接收单元1101接收集群控制器发送的转发设备标识和备控制器标识之后,向所述转发设备发送所述备控制器标识,以使所述转发设备在判断出所述SSH连接断开后,根据所述备控制器标识和所述协商参数与所述备控制器建立新的SSH连接。
需要说明的是,控制器110的具体实现还可以对应参照图3所示的方法实施例的相关描述。
请参见图12,图12是本发明实施例提供的又一种控制器120,该控制器120为备控制器,该控制器120包括接收单元1201和建立单元1202,接收单元1201和建立单元1202的详细描述如下:
接收单元1201,用于接收主控制器发送的协商参数,其中,所述协商参数由所述主控制器与所述主控制器管理的转发设备通过SSH协商得到;
建立单元1202,用于在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接。
通过运行本发明实施例中的备控制器,备控制器接收主控制器发送的该主控制器与转发设备建立SSH连接时产生的协商,并与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
在一种可选的方案中,所述建立单元1202包括第一接收子单元和发送子单元,接收子单元和发送子单元的详细描述如下:
第一接收子单元,用于接收所述主控制器或者集群控制器在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后发送的重连消息,其中,所述集群控制器用于管理集群中所有的控制器,所述重连消息包含所述转发设备的转发设备标识;
发送子单元,用于根据所述转发设备标识向所述转发设备发送指示消息,以与所述转发设备基于所述协商参数建立新的SSH连接。
在又一种可选的方案中,所述建立单元1202包括第二接收子单元和建立子单元,第二接收子单元和建立子单元的详细描述如下:
第二接收子单元,用于接收所述转发设备在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,发送的用于请求基于所述协商参数建立新的SSH连接的请求消息;
建立子单元,用于根据所述请求消息与所述转发设备基于所述协商参数建立新的SSH连接。
需要说明的是,控制器120的具体实现还可以对应参照图3所示的方法实施例的相关描述。
请参见图13,图13是本发明实施例提供的一种转发设备130,该转发设备130包括协商单元1301和建立单元1302,协商单元1301和建立单元1302的详细描述如下:
协商单元1301,用于与集群控制器分配给所述转发设备的主控制器通过SSH协商得到协商参数,基于所述协商参数与所述主控制器建立SSH连接,所述集群控制器用于管理集群中的控制器,其中,所述主控制器用于向所述集群控制器为所述转发设备分配的备控制器发送所述协商参数;
建立单元1302,用于在所述转发设备与所述主控制器建立的SSH连接断开后,与所述备控制器基于所述协商参数建立新的SSH连接。
通过运行本发明实施例中的转发设备,该转发设备在主控制器将该主控制器与转发设备建立SSH连接时产生的协商参数发送给备控制器后,在与该主控制器之间的SSH连接断开时,直接与备控制器基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高与该备控制器建立新的SSH连接的效率。
在一种可选的方案中,所述建立单元1302包括第一接收子单元、判断子单元和发送子单元,各个子单元的详细描述如下:
第一接收子单元,用于接收所述主控制器发送的所述备控制器的备控制器标识,所述备控制器标识由所述集群控制器发送给所述主控制器;
判断子单元,用于判断所述转发设备与所述主控制器建立的SSH连接是否断开;
发送子单元,用于在所述判断子单元的判断结果为是时,根据所述备控制器标识向所述备控制器发送请求消息,以与所述备控制器基于所述协商参数建立新的SSH连接。
在又一种可选的方案中,所述建立单元1302包括第二接收子单元和建立子单元,第二发送子单元和建立子单元的详细描述如下:
第二接收子单元,用于接收所述备控制器发送的指示消息,所述指示消息为所述备控制器在所述转发设备与所述主控制器建立的SSH连接断开后发送的用于指示基于所述协商参数建立新的SSH连接的消息;
建立子单元,用于根据所述重连消息与所述备控制器基于所述协商参数建立新的SSH连接。
需要说明的是,转发设备80的具体实现还可以对应参照图3所示的方法实施例的相关描述。
上述详细阐述了本发明实施例的方法和装置,为了便于更好地实施本发明实施例的上述方案,下面参照图14描述本发明实施例的***。
请参见图14,图14是本发明实施例提供的一种软件定义网络SDN***140,该***包括主控制器1401、备控制器1402和转发设备1403,其中:
所述主控制器1401用于接收集群控制器发送的转发设备1403标识和备控制器1402标识,所述集群控制器用于管理集群中的控制器;与所述转发设备1403标识指示的所述转发设备1403通过SSH协商得到协商参数;基于所述协商参数与所述转发设备1403建立SSH连接,并将所述协商参数发送给所述备控制器1402标识指示的备控制器1402;
所述备控制器1402,用于接收所述主控制器1401发送的协商参数,并在所述主控制器1401与所述转发设备1403建立的SSH连接断开后请求与所述转发设备1403基于所述协商参数建立新的SSH连接;
所述转发设备1403,用于接收所述备控制器1402发送的请求,并根据所述请求与所述备控制器1402基于所述协商参数建立新的SSH连接。
通过运行建立SSH连接的程序代码,主控制器1401将与转发设备1403建立SSH连接时产生的协商参数发送给备控制器1402,该备控制器1402与该转发设备1403在该主控制器1401与该转发设备1403之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器1402与该转发设备1403建立新的SSH连接的效率。
在一种可选的方案中,上述主控制器1401可以为图8所示实施例中的控制器80,或者图11所示实施例中的控制器110;上述备控制器1402可以为图9所示实施例中的控制器90,或者图12所示实施例中的控制器120;上述转发设备1402可以为图10所示实施例中的转发设备90,或者图13所示实施例中的转发设备130。
综上所述,通过实施本发明实施例,主控制器将与转发设备建立SSH连接时产生的协商参数发送给备控制器,该备控制器与该转发设备在该主控制器与该转发设备之间的SSH连接断开后,直接基于该协商参数建立新的SSH连接而无需重新协商出协商参数,提高了该备控制器与该转发设备建立新的SSH连接的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-only memory,ROM)或随机存储记忆体(random accessmemory,RAM)等。
以上所揭露的仅为本发明一种较佳实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。

Claims (16)

1.一种建立安全外壳协议SSH连接的方法,其特征在于,包括:
主控制器接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;
所述主控制器与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接;
所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述主控制器与所述转发设备建立的SSH连接断开后,与所述转发设备建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接。
2.根据权利要求1所述的方法,其特征在于,所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器包括:
所述主控制器判断所述主控制器与所述转发设备建立的SSH连接是否断开;
若断开,则所述主控制器向所述备控制器标识指示的备控制器发送包含所述转发设备标识和所述协商参数的重连消息,以指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
3.根据权利要求1所述的方法,其特征在于,所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器包括:
所述主控制器将所述协商参数发送给所述备控制器标识指示的备控制器;
所述主控制器判断所述主控制器与所述转发设备建立的SSH连接是否断开;
若断开,则所述主控制器向所述集群控制器发送断开提示消息,以使所述集群控制器向所述备控制器发送包含所述转发设备标识的重连消息,其中,所述重连消息用于指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
4.一种建立安全外壳协议SSH连接的方法,其特征在于,包括:
备控制器接收主控制器发送的协商参数,其中,所述协商参数由所述主控制器与所述主控制器管理的转发设备通过SSH协商得到;
所述备控制器在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接。
5.根据权利要求4所述的方法,其特征在于,所述与所述转发设备基于所述协商参数建立新的SSH连接包括:
所述备控制器接收所述主控制器在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后发送的重连消息,其中,所述重连消息包含所述转发设备的转发设备标识;
所述备控制器根据所述转发设备标识向所述转发设备发送指示消息,以与所述转发设备基于所述协商参数建立新的SSH连接。
6.一种建立安全外壳协议SSH连接的方法,其特征在于,包括:
转发设备与集群控制器分配给所述转发设备的主控制器通过SSH协商得到协商参数,基于所述协商参数与所述主控制器建立SSH连接,所述集群控制器用于管理集群中的控制器,其中,所述主控制器用于向所述集群控制器为所述转发设备分配的备控制器发送所述协商参数;
所述转发设备在所述转发设备与所述主控制器建立的SSH连接断开后,与所述备控制器基于所述协商参数建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接。
7.根据权利要求6所述的方法,其特征在于,所述与所述备控制器基于所述协商参数建立新的SSH连接包括:
所述转发设备接收所述备控制器发送的指示消息,所述指示消息为所述备控制器在所述转发设备与所述主控制器建立的SSH连接断开后发送的用于指示基于所述协商参数建立新的SSH连接的消息;
所述转发设备根据所述指示消息与所述备控制器基于所述协商参数建立新的SSH连接。
8.一种控制器,其特征在于,所述控制器为主控制器,所述主控制器包括输入组件、输出组件、存储器和处理器,所述处理器调用所述存储器中的建立SSH连接的程序,用于执行如下操作:
通过所述输入组件接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;
与所述转发设备标识指示的转发设备通过SSH协商得到协商参数,基于所述协商参数与所述转发设备建立SSH连接;
通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,所述协商参数用于使所述备控制器在所述处理器与所述转发设备建立的SSH连接断开后与所述转发设备建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接。
9.根据权利要求8所述的控制器,其特征在于,所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器,用于判断所述处理器与所述转发设备建立的SSH连接是否断开;
所述处理器,还用于在判断出所述处理器与所述转发设备建立的SSH连接断开后,通过所述输出组件向所述备控制器标识指示的备控制器发送包含所述转发设备标识和所述协商参数的重连消息,以指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
10.根据权利要求8所述的控制器,其特征在于,所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器,具体为:
所述处理器,用于通过所述输出组件将所述协商参数发送给所述备控制器标识指示的备控制器;
所述处理器,还用于判断所述处理器与所述转发设备建立的SSH连接是否断开;
所述处理器,还用于在判断出所述处理器与所述转发设备建立的SSH连接断开后,通过所述输出组件向所述集群控制器发送断开提示消息,以使所述集群控制器向所述备控制器发送包含所述转发设备标识的重连消息,其中,所述重连消息用于指示所述备控制器根据所述转发设备标识和所述协商参数与所述转发设备建立新的SSH连接。
11.一种控制器,其特征在于,所述控制器为备控制器,所述备控制器包括输入组件、存储器和处理器,所述处理器调用所述存储器中的建立SSH连接的程序,用于执行如下操作:
通过所述输入组件接收主控制器发送的协商参数,其中,所述协商参数由所述主控制器与所述主控制器管理的转发设备通过SSH协商得到;
在所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后,与所述转发设备基于所述协商参数建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接。
12.根据权利要求11所述的控制器,其特征在于,所述控制器还包括输出组件;所述处理器,用于与所述转发设备基于所述协商参数建立新的SSH连接,具体为:
所述处理器,用于通过所述输入组件接收所述主控制器在判断出所述主控制器基于所述协商参数与所述转发设备建立的SSH连接断开后发送的重连消息,其中,所述重连消息包含所述转发设备的转发设备标识;
所述处理器,还用于根据所述转发设备标识通过所述输出组件向所述转发设备发送指示消息,以与所述转发设备基于所述协商参数建立新的SSH连接。
13.一种转发设备,其特征在于,所述转发设备包括存储器和处理器,所述处理器调用所述存储器中的建立SSH连接的程序,用于执行如下操作:
与集群控制器分配给所述转发设备的主控制器通过SSH协商得到协商参数,基于所述协商参数与所述主控制器建立SSH连接,所述集群控制器用于管理集群中的控制器,其中,所述主控制器用于向所述集群控制器为所述转发设备分配的备控制器发送所述协商参数;
在所述处理器与所述主控制器建立的SSH连接断开后,与所述备控制器基于所述协商参数建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接。
14.根据权利要求13所述的转发设备,其特征在于,所述处理器,用于与所述备控制器基于所述协商参数建立新的SSH连接,具体为:
所述处理器,用于通过输入组件接收所述备控制器发送的指示消息,所述指示消息为所述备控制器在所述处理器与所述主控制器建立的SSH连接断开后发送的用于指示基于所述协商参数建立新的SSH连接的消息;
所述处理器,还用于根据所述指示消息与所述备控制器基于所述协商参数建立新的SSH连接。
15.一种软件定义网络SDN***,其特征在于,包括主控制器、备控制器和转发设备,其中:
所述主控制器,用于接收集群控制器发送的转发设备标识和备控制器标识,所述集群控制器用于管理集群中的控制器;与所述转发设备标识指示的所述转发设备通过SSH协商得到协商参数;基于所述协商参数与所述转发设备建立SSH连接,并将所述协商参数发送给所述备控制器标识指示的备控制器;
所述备控制器,用于接收所述主控制器发送的协商参数,并在所述主控制器与所述转发设备建立的SSH连接断开后请求与所述转发设备基于所述协商参数建立新的SSH连接;
其中,上述协商参数包括版本协商、算法协商、秘钥交换过程中得到的参数,建立新的SSH连接的方式包括:在备控制器和转发设备都有协商参数的情况下,转发设备向备控制器发送认证报文,然后转发设备接收备控制器发送的认证方式列表,并从所述认证方式列表中选择一种或多种认证方式;最后该备控制器基于该转发设备选择的认证方式对该转发设备进行认证,如果认证通过则完成SSH协商,从而建立了SSH连接;
所述转发设备,用于接收所述备控制器发送的请求,并根据所述请求与所述备控制器基于所述协商参数建立新的SSH连接。
16.根据权利要求15所述的***,其特征在于:
所述主控制器为权利要求8~10任一项所述控制器;
所述备控制器为权利要求11~12任一项所述控制器;
所述转发设备为权利要求13~14任一项所述转发设备。
CN201511019498.7A 2015-12-29 2015-12-29 一种建立ssh连接的方法、相关设备及*** Active CN106936608B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511019498.7A CN106936608B (zh) 2015-12-29 2015-12-29 一种建立ssh连接的方法、相关设备及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511019498.7A CN106936608B (zh) 2015-12-29 2015-12-29 一种建立ssh连接的方法、相关设备及***

Publications (2)

Publication Number Publication Date
CN106936608A CN106936608A (zh) 2017-07-07
CN106936608B true CN106936608B (zh) 2020-09-18

Family

ID=59441028

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511019498.7A Active CN106936608B (zh) 2015-12-29 2015-12-29 一种建立ssh连接的方法、相关设备及***

Country Status (1)

Country Link
CN (1) CN106936608B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110611658B (zh) * 2019-08-20 2020-10-09 烽火通信科技股份有限公司 一种基于sd-wan的设备认证方法及***
CN113472662B (zh) * 2021-07-09 2022-10-04 武汉绿色网络信息服务有限责任公司 路径重分配方法和网络业务***
CN113596116B (zh) * 2021-07-13 2024-02-06 成都安恒信息技术有限公司 一种运维审计***ssh会话恢复的方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1402949A (zh) * 1999-11-29 2003-03-12 诺基亚有限公司 移动台在无线网络子***间切换期间的算法参数的传送
CN1980162A (zh) * 2005-12-08 2007-06-13 华为技术有限公司 一种在无线通信网中终端重入网络的方法及***
CN101583144A (zh) * 2009-07-07 2009-11-18 杭州华三通信技术有限公司 无线控制器业务信息的备份方法和设备
CN103618621A (zh) * 2013-11-21 2014-03-05 华为技术有限公司 一种软件定义网络sdn的自动配置方法、设备及***
CN103747535A (zh) * 2013-12-10 2014-04-23 福建星网锐捷网络有限公司 一种capwap控制通道的恢复方法、装置及***
CN104092774A (zh) * 2014-07-23 2014-10-08 杭州华三通信技术有限公司 软件定义网络连接建立控制方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1402949A (zh) * 1999-11-29 2003-03-12 诺基亚有限公司 移动台在无线网络子***间切换期间的算法参数的传送
CN1980162A (zh) * 2005-12-08 2007-06-13 华为技术有限公司 一种在无线通信网中终端重入网络的方法及***
CN101583144A (zh) * 2009-07-07 2009-11-18 杭州华三通信技术有限公司 无线控制器业务信息的备份方法和设备
CN103618621A (zh) * 2013-11-21 2014-03-05 华为技术有限公司 一种软件定义网络sdn的自动配置方法、设备及***
CN103747535A (zh) * 2013-12-10 2014-04-23 福建星网锐捷网络有限公司 一种capwap控制通道的恢复方法、装置及***
CN104092774A (zh) * 2014-07-23 2014-10-08 杭州华三通信技术有限公司 软件定义网络连接建立控制方法及装置

Also Published As

Publication number Publication date
CN106936608A (zh) 2017-07-07

Similar Documents

Publication Publication Date Title
US10051666B2 (en) Peer to peer networking and sharing systems and methods
CN110225054B (zh) 远程协助连接建立方法、装置、服务器及存储介质
US11140162B2 (en) Response method and system in virtual network computing authentication, and proxy server
JP5010608B2 (ja) リモートリソースとの安全な対話型接続の生成
US9130935B2 (en) System and method for providing access credentials
JP6280641B2 (ja) アカウントログイン方法、デバイス及びシステム
JP2014514624A5 (zh)
CN107800743B (zh) 云桌面***、云管理***和相关设备
US20130227660A1 (en) Registration server, gateway apparatus and method for providing a secret value to devices
CN106936608B (zh) 一种建立ssh连接的方法、相关设备及***
US20130138824A1 (en) Method for establishing connection between communication apparatuses, communication apparatus, and server apparatus
CN107078946A (zh) 业务流处理策略的处理方法、装置和***
CN110741613A (zh) 一种加密数据流的识别方法、设备、存储介质及***
CN102045379B (zh) 一种进行ip存储的方法、***和存储设备
JP6548445B2 (ja) 通信装置、通信方法及びプログラム
WO2012130048A1 (zh) 设备管理***中对网关进行初始化的方法及装置
WO2016050133A1 (zh) 一种认证凭证更替的方法及装置
WO2014187241A1 (zh) 控制无线网络直连群组中无线设备断开的方法及无线设备
CN107454178B (zh) 数据传输方法及装置
CN109379378A (zh) 互联网短信的发送方法、装置、服务器、***及存储介质
CN115643297A (zh) 链路建立方法、装置、非易失性存储介质和计算机设备
EP3562194B1 (en) Method for identifying at least one network slice configuration of a mobile network, communication system, and automation system
CN109962962B (zh) 一种套接字socket连接的方法及设备
KR101785385B1 (ko) 네트워크 경로를 관리하는 방법 및 이를 수행하는 네트워크 엔티티
US20160344717A1 (en) Communicating between a cluster and a node external to the cluster

Legal Events

Date Code Title Description
PB01 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