CN105208072A - 虚拟交换机的远程控制方法及装置 - Google Patents
虚拟交换机的远程控制方法及装置 Download PDFInfo
- Publication number
- CN105208072A CN105208072A CN201510479116.2A CN201510479116A CN105208072A CN 105208072 A CN105208072 A CN 105208072A CN 201510479116 A CN201510479116 A CN 201510479116A CN 105208072 A CN105208072 A CN 105208072A
- Authority
- CN
- China
- Prior art keywords
- virtual switch
- port
- connection
- listening
- client
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种虚拟交换机的远程控制方法及装置,所述方法包括:云管理平台通过第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;通过第二监听端口与客户端建立连接,并基于该连接接收所述客户端发送的在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;查询映射关系获取与接收到的目的虚拟交换机的IP地址对应的连接,并通过该连接将第三监听端口的端口号转发给目的虚拟交换机,以使得目的虚拟交换基于第三监听端口的端口号向客户端发起建立控制连接,并通过建立完成的控制连接接收客户端发出的远程控制指令。本申请可以提高网络的安全性。
Description
技术领域
本申请涉及通信领域,尤其涉及一种虚拟交换机的远程控制方法及装置。
背景技术
越来越多的云管理平台通过在Hypervisor上部署vSwitch(虚拟交换机),来面向底层的虚拟机资源提供交换服务。通过vSwitch可以很完善的支持OpenFlow协议,而且vSwitch通常会面向用户提供客户端工具,用户通过该客户端工具,可以对Hypervisor上的vSwitch进行远程控制。
在现有实现中,用户通过vSwitch面向用户提供的客户端工具对Hypervisor上的vSwitch进行远程控制时,通常是通过在vSwitch的Daemon(守护进程)上启用端口监听服务,通过监听Hypervisor上的端口与客户端建立连接,然后基于建立的该连接来实现远程控制。
可见,vSwitch与客户端之间连接的建立依赖于监听Hypervisor上的端口,因此在连接建立的过程中,Hypervisor上的防火墙则需要放开端口监听限制,可能会带来安全上的隐患。
发明内容
本申请提出一种虚拟交换机的远程控制方法,应用于云管理平台,所述云管理平台预先启用了第一监听端口和第二监听端口,其中所述第一监听端口用于接收虚拟交换机发起的连接建立请求,所述第二监听端口用于接收客户端发起的连接建立请求,该方法包括:
通过所述第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;
通过所述第二监听端口与客户端建立连接,并基于该连接接收所述客户端发送的在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;
查询所述映射关系获取与接收到的所述目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,以使得所述目的虚拟交换基于所述第三监听端口的端口号向所述客户端发起建立控制连接,并通过建立完成的控制连接接收所述客户端发出的远程控制指令。
可选的,所述第一监听端口与所述虚拟交换机之间的连接均为长连接;所述长连接在其对应的虚拟交换机的生命周期内一直保持为连接状态。
可选的,所述方法还包括:
当任一虚拟交换机与所述第一监听端口之间的连接断开后,根据该虚拟交换机在预设时间间隔内重新发起的连接建立请求,重新建立该连接。
本申请还提出一种虚拟交换机的远程控制方法,应用于客户端,该方法包括:
当接收到用户输入的针对目的虚拟交换机的远程控制指令时,在本地启动端口监听服务;
当所述端口监听服务启动完成后,与所述云管理平台预先启用的第二监听端口建立连接,并通过该连接将所述端口监听服务启用的第三监听端口的端口号以及目的虚拟交换机的IP地址发送给所述云管理平台,以使得所述云管理平台将所述第三监听端口的端口号转发给所述目的虚拟交换机;
基于所述第三监听端口接收到的所述目的虚拟交换机发起的控制连接建立请求建立与所述目的虚拟交换机之间的控制连接,将所述远程控制指令通过该控制连接发送给所述目的虚拟交换机。
可选的,所述方法还包括:
当所述远程控制指令通过所述控制连接发送给所述目的虚拟交换机,并且接收到所述目的虚拟交换机的执行结果后,关闭已启动的所述端口监听服务,并释放所述第三监听端口与所述目的虚拟交换机之间的控制连接。
本申请还提出一种虚拟交换机的远程控制装置,应用于云管理平台,所述云管理平台预先启用了第一监听端口和第二监听端口,其中所述第一监听端口用于接收虚拟交换机发起的连接建立请求,所述第二监听端口用于接收客户端发起的连接建立请求,该装置包括:
建立模块,用于通过所述第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;
接收模块,用于通过所述第二监听端口与客户端建立连接,并基于该连接接收所述客户端发送的在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;
转发模块,用于查询所述映射关系获取与接收到的所述目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,以使得所述目的虚拟交换基于所述第三监听端口的端口号向所述客户端发起建立控制连接,并通过建立完成的控制连接接收所述客户端发出的远程控制指令。
可选的,所述第一监听端口与所述虚拟交换机之间的连接均为长连接;所述长连接在其对应的虚拟交换机的生命周期内一直保持为连接状态。
可选的,所述建立模块进一步用于:
当任一虚拟交换机与所述第一监听端口之间的连接断开后,根据该虚拟交换机在预设时间间隔内重新发起的连接建立请求,重新建立该连接。
本申请还提出一种虚拟交换机的远程控制装置,应用于客户端,该装置包括:
启动模块,用于在接收到用户输入的针对目的虚拟交换机的远程控制指令时,在本地启动端口监听服务;
第一发送模块,用于在所述端口监听服务启动完成后,与所述云管理平台预先启用的第二监听端口建立连接,并通过该连接将所述端口监听服务启用的第三监听端口的端口号以及目的虚拟交换机的IP地址发送给所述云管理平台,以使得所述云管理平台将所述第三监听端口的端口号转发给所述目的虚拟交换机;
第二发送模块,用于基于所述第三监听端口接收到的所述目的虚拟交换机发起的控制连接建立请求建立与所述目的虚拟交换机之间的控制连接,将所述远程控制指令通过该控制连接发送给所述目的虚拟交换机。
可选的,所述装置还包括:
关闭模块,用于在所述远程控制指令基于所述控制连接发送给所述目的虚拟交换机后,关闭已启动的所述端口监听服务,并释放所述第三监听端口与所述目的虚拟交换机之间的控制连接。
本申请中,通过云管理平台基于启用的第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;基于启用的第二监听端口与客户端建立连接,客户端通过该连接向云管理平台发送在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;云管理平台接收到客户端发送的第三监听端口的端口号以及目的虚拟交换机的IP地址后,查询映射关系获取与接收到的目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,由目的虚拟交换基于该第三监听端口的端口号向所述客户端发起建立控制连接,当控制连接建立完成后,客户端通过该控制连接向目的虚拟交换机发送远程控制指令,对目的虚拟交换机进行远程控制。由于客户端与目的虚拟交换机之间建立控制连接时,不再需要在目的虚拟交换机上启用端口监听服务,而且控制连接的建立是由目的虚拟交换机从防火墙内部主动发起的,因此不再需要开放Hypervisor的端口监听限制,以及修改目的虚拟交换机一侧防火墙的防护规则,从而提高了网络的安全性。
附图说明
图1是本申请一实施例提供的一种云管理平台组网图;
图2是本申请一实施例提供的一种虚拟交换机的远程控制方法的流程图;
图3是本申请一实施例提供的一种虚拟交换机的远程控制装置的逻辑框图;
图4是本申请一实施例提供的承载所述虚拟交换机的远程控制装置的服务器或者服务器集群的硬件结构图;
图5是本申请一实施例提供的一种虚拟交换机的远程控制装置的逻辑框图;
图6是本申请一实施例提供的承载所述虚拟交换机的远程控制装置的云管理平台本地的服务器或者第三方主机的硬件结构图。
具体实施方式
在现有实现中,用户在使用虚拟交换机面向用户提供的客户端工具对目的虚拟交换机进行远程控制时,通常需要在目的虚拟交换机上启动端口监听服务来完成。
在现有的云管理平台组网中,云管理平台为了更加灵活的对现有的虚拟机资源进行灵活管理和部署,通常需要通过在各虚拟机的Hypervisor层中安装vSwitchDaemon来分别部署vSwitch(可以理解为通过在Hypervisor层中安装vSwitchDaemon来模拟出相应的vSwitch),来面向底层的虚拟机资源提供交换服务。
当vSwitch部署完成后,可以在vSwitchDaemon上启动端口监听服务,通过SwitchDaemon来监听Hypervisor层中的监听端口,来处理客户端的连接建立请求。客户端在向vSwitch发起建立连接时,可以将该监听端口作为目的端口,与vSwitchDaemon进行一次TCP的三次握手,当三次握手后,连接建立完成,客户端将用户发起的远程控制指令通过该连接发送给vSwitchDaemon,vSwitchDaemon在处理完成后将处理结果通过该连接返回给客户端,至此针对目的vSwitch的一次远程控制交互完成。
在以上技术方案中,一方面,由于需要在vSwitchDaemon上启动端口监听服务,因此Hypervisor必须允许vSwitchDaemon可以监听其端口,然而大多数Hypervisor默认会存在端口监听限制,因此给vSwitchDaemon开启端口监听服务带来了困难。另一方面,由于需要在vSwitchDaemon上启动端口监听服务,因此Hypervisor的防火墙必须放行将上述监听端口作为目的端口的所有报文,因此不得不对Hypervisor的防火墙的防护规则进行修改。
针对上述的第一方面,可以通过降低Hypervisor的安全等级来放开端口监听限制,然而放开端口监听限制,会存在一定的安全隐患,可能会导致一些恶意程序在Hypervisor上创建服务。针对上述的第二方面,由于修改防火墙的防护规则通常比较繁琐,因此非常不利于对组网中的虚拟机资源进行自动化部署和管理。
为解决上述问题,本申请提出一种虚拟交换机的远程控制方法,通过在云管理平台预先启用第一监听端口和第二监听端口,云管理平台基于启用的第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;基于启用的第二监听端口与客户端建立连接,客户端通过该连接向云管理平台发送在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;云管理平台接收到客户端发送的第三监听端口的端口号以及目的虚拟交换机的IP地址后,查询映射关系获取与接收到的目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,由目的虚拟交换基于该第三监听端口的端口号向所述客户端发起建立控制连接,当控制连接建立完成后,客户端通过该控制连接向目的虚拟交换机发送远程控制指令,对目的虚拟交换机进行远程控制。由于客户端与目的虚拟交换机之间建立控制连接时,不再需要在目的虚拟交换机上启用端口监听服务,而且控制连接的建立是由目的虚拟交换机从防火墙内部主动发起的,因此不再需要开放Hypervisor的端口监听限制,以及修改目的虚拟交换机一侧防火墙的防护规则,从而提高了网络的安全性。
下面通过具体实施例并结合具体的应用场景对本申请进行描述。
请参考图1,图1是本申请一实施例提供的一种虚拟交换机的远程控制方法,该方法的执行主体可以为云管理平台和客户端,其中,云管理平台可以是服务器或者服务器集群;客户端可以是安装在云管理平台本地的服务器或者第三方主机上的面向用户提供针对目的虚拟交换机进行远程控制的客户端程序;所述云管理平台预先启用了第一监听端口和第二监听端口,所述第一监听端口用于接收虚拟交换机发起的连接建立请求,所述第二监听端口用于接收客户端发起的连接建立请求。
云管理平台和客户端相互配合,执行以下方法:
步骤101,云管理平台通过第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;步骤102,云管理平台通过所述第二监听端口与客户端建立连接,客户端基于该连接向云管理平台发送在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;
步骤103,当云管理平台接收到客户端发送的第三监听端口的端口号以及目的虚拟交换机的IP地址后,查询所述映射关系获取与接收到的目的虚拟交换机的IP地址对应的连接,并通过该连接将第三监听端口的端口号转发给目的虚拟交换机,以使得目的虚拟交换基于所述第三监听端口的端口号向所述客户端发起建立控制连接,客户端通过建立完成的控制连接向该目的虚拟交换机发送远程控制指令,对该目的虚拟交换机进行远程控制。
在本实施例中,Hypervisor上的vSwitchDaemon可以不再启动端口监听服务,取而代之的是,可以在云管理平台上开启一个代理服务。
该代理服务可以包括预先启用两个可用于监听的端口;例如,云管理平台可以从可用的端口资源中指定两个可用于监听的端口,分别作为第一监听端口和第二监听端口。该第一监听端口可以用于接收vSwitch发起的连接建立请求,该第二监听端口可以用于接收客户端发起的连接建立请求。
其中,出于安全性考虑,该第一监听端口的端口号可以作为各vSwitch的配置信息提前静态配置在各Hypervisor上;该第二监听端口的端口号也可以作为客户端的配置信息提前静态配置在用户一侧的客户端上。当然,在实际应用中,对于安全性较高的组网环境,云管理平台在启用了第一监听端口和第二监听端口后,也可以分别与已经部署完成的各vSwitch以及客户端进行报文交互,通过报文交互的方式将启用的第一监听端口和第二监听端口的端口号分别通告给各vSwitch以及客户端。
在vSwitch一侧,当云管理平台将vSwitch分别部署到各Hypervisor上,并且各Hypervisor上vSwitchDaemon均安装并且启动完成后,此时各vSwitch可以根据预先配置的第一监听端口的端口号,主动向云管理平台发起TCP连接,当云管理平台通过监听第一监听端口,接收到各vSwitch发起的TCP连接建立请求后,可以通过TCP的三次握手分别与各vSwitch建立TCP连接。当与各vSwitch之间的TCP连接建立完成后,云管理平台可以在本地保存建立完成的每个TCP连接与对端vSwitch的IP地址(即该vSwitch所属Hypervisor的IP地址)之间的映射关系。
其中,值得说明的是,云管理平台和vSwitch之间建立的TCP连接均为长连接,该长连接在其对应的vSwitch的生命周期内一直保持为连接状态。当任一vSwitch与云管理平台之间的TCP连接由于拥塞、故障或者其它原因断开后,该vSwitch可以在预设的时间间隔内(例如每10秒),重新向云管理平台的第一监听端口发起TCP连接建立请求,直到该TCP连接重新建立完成。通过这种方式,可以保证云服务平台与各vSwitch之间的TCP连接不发生中断。
在客户端一侧,用户可以通过在客户端中编辑对应的远程控制命令,对云管理平台部署完成的各vSwitch中的任意一台目的vSwitch进行远程控制。例如,客户端可以将云管理平台部署完成的各vSwitch的名称以及IP地址以列表的形式在客户端的可视化用户界面中向用户呈现,用户可以在该列表中选择对应的目的vSwitch,然后通过编辑对应的远程控制命令对选择的该目的vSwitch进行远程控制。当客户端接收到用户输入的远程控制命令时,可以在本地启动端口监听服务,并绑定一个第三监听端口。其中,该第三监听端口可以不是指定端口。
例如,客户端在本地启动端口监听服务时,可以向操作系统申请一个监听端口,操作系统可以从系统中当前的可用端口中为客户端随机分配一个端口,客户端得到该端口后,可以在该端口上启动监听服务,后续客户端可以通过监听该端口,来接收目的vSwitch发起的控制连接建立请求。
当客户端在本地启动了端口监听服务,并绑定了第三监听端口后,可以根据预先配置的第二监听端口的端口号,主动向云管理平台发起TCP连接,当云管理平台通过监听第二监听端口,接收到客户端发起的TCP连接建立请求后,可以通过TCP的三次握手与客户端建立TCP连接。当与客户端之间的TCP连接建立完成后,客户端可以通过建立完成的该TCP连接将绑定的第三监听端口的端口号,以及用户想要进行远程控制的目的vSwitch的IP地址发送给云管理平台。
当云管理平台收到客户端发送的第三监听端口的端口号以及上述目的vSwitch的IP地址后,可以通过查询本地保存的上述映射关系来获得与该目的vSwitch对应的长连接。当查询到与该目的vSwitch对应的长连接后,可以将接收到的第三监听端口的端口号通过该查询到的长连接发送到该目的vSwitch。
当该目的vSwitch收到云管理平台发送的第三监听端口的端口号后,可以根据该第三监听端口的端口号主动向客户端发起TCP连接,当客户端通过监听该第三监听端口接收到目的vSwitch发起的TCP连接的建立请求后,通过三次握手与该目的vSwitch建立TCP连接,此时该建立完成的TCP连接即为客户端与目的vSwitch之间的控制连接,客户端可以将用户编辑完成的远程控制指令通过该控制连接发送到目的vSwitch上。目的vSwitch在收到该远程控制指令后,执行该指令,并将执行结果通过该控制连接返回给客户端,由客户端通过用户可视化界面向用户呈现。
当客户端将用户编辑的远程控制指令发送给目的vSwitch,并且接收到目的vSwitch的执行结果后,此时如果用户与目的vSwitch之间的远程交互完成,客户端可以将已启动的所述端口监听服务关闭,停止针对所述第三监听端口继续进行监听,并对该第三监听端口与目的vSwitch之间建立的控制连接进行释放。其中,当用户需要通过客户端对其它的目的vSwitch进行远程控制时,可以重复执行以上过程,不再赘述。
通过以上描述可知,客户端与目的vSwitch在建立连接的过程中,目的vSwitch不再启动端口监听服务,而是由客户端来启动端口监听服务,并将绑定的监听端口的端口号,通过云管理平台的代理服务转发给目的vSwitch。从而,目的vSwitch可以根据接收到的客户端绑定的监听端口的端口号,从防火墙内部主动的向客户端发起建立控制连接,由于该控制连接的发起方位于防火墙内部,因此在建立控制连接的过程中,建立控制连接的过程中产生的交互报文可以正常的通过防火墙,而不需要对防火墙的防护规则进行修改。而且,由于目的vSwitch不再启动端口监听服务,因此也不再需要开放Hypervisor的端口监听限制。可见,通过这种方式,可以提高组网的安全性。
以下通过一个具体的应用实例对以上实施例的技术方案进行描述。
请参见图2,图2为本实施例示出的一种云管理平台组网图。
如图2所示,假设云管理平台在组网中分别部署了vSwitch1和vSwitch2。
云管理平台上开启的代理服务中,预先启用的两个监听端口的端口号分别为62121和62122,分别记为Port1和Port2。Port1用于接收vSwitch1和vSwitch2发起的连接请求;Port2用于接收客户端发起的连接请求。
客户端上启用端口监听服务后,绑定的监听端口为Port3。
在vSwitch一侧:
vSwitch1和vSwitch2根据配置的Port1的端口号62121主动向云管理平台发起TCP连接,云管理平台通过监听端口号62121接收到vSwitch1和vSwitch2发起的TCP连接建立请求后,分别与vSwitch1和vSwitch2进行三次握手建立TCP连接C1和C2;其中连接C1和C2保持为长连接。
同时,云管理平台在本地建立连接C1和vSwitch1的IP地址,以及连接C2与vSwitch2的IP地址之间的映射关系。
在客户端一侧:
一方面,客户端启动端口监听服务,并绑定监听端口Port3。
另一方面,客户端根据配置的Port2的端口号62122主动向云管理平台发起TCP连接,云管理平台通过监听端口号62122接收到客户端发起的TCP连接建立请求后,与客户端进行三次握手建立TCP连接C3。
客户端可以将vSwitch1和vSwitch2的名称和IP地址以列表的形式在可视化用户界面中向用户呈现,用户可以在该列表中选择目的vSwitch进行远程控制。假设用户选择对vSwitch1进行远程控制,客户端可以将绑定的监听端口Port3的端口号,以及vSwitch1的IP地址通过连接C3发送给云管理平台。
云管理平台收到vSwitch1的IP地址和Port3的端口号后,首先根据vSwitch1的IP地址在已经建立的映射关系中查找出vSwitch1对应的长连接C1,然后将Port3的端口号通过长连接C1发送给vSwitch1。
vSwitch1收到Port3的端口号后,可以根据该端口号主动向客户端发起建立控制连接C4,由于vSwitch1位于防火墙内部,因此在发起建立控制连接C4的过程中产生的交互报文可以正常的通过防火墙,而不需要修改防护规则。
当该控制连接C4建立完成后,客户端可以将用户编辑的远程控制指令通过该控制连接C4发送给vSwitch1,vSwitch1收到该远程控制指令后,可以执行该指令,并将执行结果通过该控制连接C4返回给客户端。自此,用户与vSwitch1的一次远程控制交互完成。
在以上实施例中,通过在云管理平台预先启用第一监听端口和第二监听端口,云管理平台基于启用的第一监听端口分别与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;基于启用的第二监听端口与客户端建立连接,客户端通过该连接向云管理平台发送在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;云管理平台接收到客户端发送的第三监听端口的端口号以及目的虚拟交换机的IP地址后,查询映射关系获取与接收到的目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,由目的虚拟交换基于该第三监听端口的端口号向所述客户端发起建立控制连接,当控制连接建立完成后,客户端通过该控制连接向目的虚拟交换机发送远程控制指令,对目的虚拟交换机进行远程控制。由于客户端与目的虚拟交换机之间建立控制连接时,不再需要在目的虚拟交换机上启用端口监听服务,而且控制连接的建立是由目的虚拟交换机从防火墙内部主动发起的,因此不再需要开放Hypervisor的端口监听限制,以及修改目的虚拟交换机一侧防火墙的防护规则,从而提高了网络的安全性。
与上述方法实施例相对应,本申请还提供了装置的实施例。
请参见图3,本申请提出一种虚拟交换机的远程控制装置30,应用于云管理平台,该云管理平台可以是服务器或者服务器集群;所述云管理平台预先启用了第一监听端口和第二监听端口,其中所述第一监听端口用于接收虚拟交换机发起的连接建立请求,所述第二监听端口用于接收客户端发起的连接建立请求;其中,请参见图4,作为承载所述虚拟交换机的远程控制装置30的服务器或服务器集群所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述虚拟交换机的远程控制装置30通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置30包括:
建立模块301,用于通过所述第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;
接收模块302,用于通过所述第二监听端口与客户端建立连接,并基于该连接接收所述客户端发送的在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;
转发模块303,用于查询所述映射关系获取与接收到的所述目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,以使得所述目的虚拟交换基于所述第三监听端口的端口号向所述客户端发起建立控制连接,并通过建立完成的控制连接接收所述客户端发出的远程控制指令。
在本实施例中,所述第一监听端口与所述虚拟交换机之间的连接均为长连接;所述长连接在其对应的虚拟交换机的生命周期内一直保持为连接状态。
在本实施例中,所述建立模块301进一步用于:
当任一虚拟交换机与所述第一监听端口之间的连接断开后,根据该虚拟交换机在预设时间间隔内重新发起的连接建立请求,重新建立该连接。
请参见图5,本申请提出一种虚拟交换机的远程控制装置50,应用于客户端,该客户端可以是安装在云管理平台本地的服务器或者第三方主机上的面向用户提供针对目的虚拟交换机进行远程控制的客户端程序;其中,请参见图6,作为承载所述虚拟交换机的远程控制装置50的服务器或本地主机所涉及的硬件架构中,通常包括CPU、内存、非易失性存储器、网络接口以及内部总线等;以软件实现为例,所述虚拟交换机的远程控制装置30通常可以理解为加载在内存中的计算机程序,通过CPU运行之后形成的软硬件相结合的逻辑装置,所述装置50包括:
启动模块501,用于在接收到用户输入的针对目的虚拟交换机的远程控制指令时,在本地启动端口监听服务;
第一发送模块502,用于在所述端口监听服务启动完成后,与所述云管理平台预先启用的第二监听端口建立连接,并通过该连接将所述端口监听服务启用的第三监听端口的端口号以及目的虚拟交换机的IP地址发送给所述云管理平台,以使得所述云管理平台将所述第三监听端口的端口号转发给所述目的虚拟交换机;
第二发送模块503,用于基于所述第三监听端口接收到的所述目的虚拟交换机发起的控制连接建立请求建立与所述目的虚拟交换机之间的控制连接,将所述远程控制指令通过该控制连接发送给所述目的虚拟交换机。
在本实施例中,所述装置50还包括:
关闭模块504,用于在所述远程控制指令基于所述控制连接发送给所述目的虚拟交换机后,关闭已启动的所述端口监听服务,并释放所述第三监听端口与所述目的虚拟交换机之间的控制连接。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种虚拟交换机的远程控制方法,应用于云管理平台,所述云管理平台预先启用了第一监听端口和第二监听端口,其中所述第一监听端口用于接收虚拟交换机发起的连接建立请求,所述第二监听端口用于接收客户端发起的连接建立请求,其特征在于,该方法包括:
通过所述第一监听端口与目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;
通过所述第二监听端口与客户端建立连接,并基于该连接接收所述客户端发送的在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;
查询所述映射关系获取与接收到的所述目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,以使得所述目的虚拟交换基于所述第三监听端口的端口号向所述客户端发起建立控制连接,并通过建立完成的控制连接接收所述客户端发出的远程控制指令。
2.根据权利要求1所述的方法,其特征在于,所述第一监听端口与所述虚拟交换机之间的连接均为长连接;所述长连接在其对应的虚拟交换机的生命周期内一直保持为连接状态。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当任一虚拟交换机与所述第一监听端口之间的连接断开后,根据该虚拟交换机在预设时间间隔内重新发起的连接建立请求,重新建立该连接。
4.一种虚拟交换机的远程控制方法,应用于客户端,其特征在于,该方法包括:
当接收到用户输入的针对目的虚拟交换机的远程控制指令时,在本地启动端口监听服务;
当所述端口监听服务启动完成后,与所述云管理平台预先启用的第二监听端口建立连接,并通过该连接将所述端口监听服务启用的第三监听端口的端口号以及目的虚拟交换机的IP地址发送给所述云管理平台,以使得所述云管理平台将所述第三监听端口的端口号转发给所述目的虚拟交换机;
基于所述第三监听端口接收到的所述目的虚拟交换机发起的控制连接建立请求建立与所述目的虚拟交换机之间的控制连接,将所述远程控制指令通过该控制连接发送给所述目的虚拟交换机。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述远程控制指令通过所述控制连接发送给所述目的虚拟交换机,并且接收到所述目的虚拟交换机的执行结果后,关闭已启动的所述端口监听服务,并释放所述第三监听端口与所述目的虚拟交换机之间的控制连接。
6.一种虚拟交换机的远程控制装置,应用于云管理平台,所述云管理平台预先启用了第一监听端口和第二监听端口,其中所述第一监听端口用于接收虚拟交换机发起的连接建立请求,所述第二监听端口用于接收客户端发起的连接建立请求,其特征在于,该装置包括:
建立模块,用于通过所述第一监听端口目的虚拟交换机建立连接,并在本地保存建立的连接与所述目的虚拟交换机的IP地址之间的映射关系;
接收模块,用于通过所述第二监听端口与客户端建立连接,并基于该连接接收所述客户端发送的在其本地启用的第三监听端口的端口号以及目的虚拟交换机的IP地址;
转发模块,用于查询所述映射关系获取与接收到的所述目的虚拟交换机的IP地址对应的连接,并通过该连接将所述第三监听端口的端口号转发给所述目的虚拟交换机,以使得所述目的虚拟交换基于所述第三监听端口的端口号向所述客户端发起建立控制连接,并通过建立完成的控制连接接收所述客户端发出的远程控制指令。
7.根据权利要求6所述的装置,其特征在于,所述第一监听端口与所述虚拟交换机之间的连接均为长连接;所述长连接在其对应的虚拟交换机的生命周期内一直保持为连接状态。
8.根据权利要求6所述的装置,其特征在于,所述建立模块进一步用于:
当任一虚拟交换机与所述第一监听端口之间的连接断开后,根据该虚拟交换机在预设时间间隔内重新发起的连接建立请求,重新建立该连接。
9.一种虚拟交换机的远程控制装置,应用于客户端,其特征在于,该装置包括:
启动模块,用于在接收到用户输入的针对目的虚拟交换机的远程控制指令时,在本地启动端口监听服务;
第一发送模块,用于在所述端口监听服务启动完成后,与所述云管理平台预先启用的第二监听端口建立连接,并通过该连接将所述端口监听服务启用的第三监听端口的端口号以及目的虚拟交换机的IP地址发送给所述云管理平台,以使得所述云管理平台将所述第三监听端口的端口号转发给所述目的虚拟交换机;
第二发送模块,用于基于所述第三监听端口接收到的所述目的虚拟交换机发起的控制连接建立请求建立与所述目的虚拟交换机之间的控制连接,将所述远程控制指令通过该控制连接发送给所述目的虚拟交换机。
10.根据权利要求9所述的装置,其特征在于,所述装置还包括:
关闭模块,用于在所述远程控制指令基于所述控制连接发送给所述目的虚拟交换机后,关闭已启动的所述端口监听服务,并释放所述第三监听端口与所述目的虚拟交换机之间的控制连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510479116.2A CN105208072B (zh) | 2015-08-06 | 2015-08-06 | 虚拟交换机的远程控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510479116.2A CN105208072B (zh) | 2015-08-06 | 2015-08-06 | 虚拟交换机的远程控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105208072A true CN105208072A (zh) | 2015-12-30 |
CN105208072B CN105208072B (zh) | 2019-09-06 |
Family
ID=54955498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510479116.2A Active CN105208072B (zh) | 2015-08-06 | 2015-08-06 | 虚拟交换机的远程控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105208072B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112913196A (zh) * | 2018-10-30 | 2021-06-04 | 慧与发展有限责任合伙企业 | 用云服务的虚拟ip地址的软件定义的广域网上行链路选择 |
CN116074227A (zh) * | 2022-11-09 | 2023-05-05 | 国网重庆市电力公司电力科学研究院 | 一种基于虚拟化平台的多电力系统测试方法 |
WO2024067882A1 (en) * | 2022-09-29 | 2024-04-04 | Wuhan United Imaging Healthcare Co., Ltd. | Methods, systems, and devices for data transmission |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104588A (zh) * | 2009-12-18 | 2011-06-22 | 国基电子(上海)有限公司 | 多媒体终端适配器及其远程连接的方法 |
CN102833323A (zh) * | 2012-08-14 | 2012-12-19 | 新浪网技术(中国)有限公司 | 服务器远程控制受控终端的方法和系统 |
CN103888511A (zh) * | 2014-02-20 | 2014-06-25 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种基于动态代理的远程访问控制方法 |
CN104811478A (zh) * | 2015-03-27 | 2015-07-29 | 上海斐讯数据通信技术有限公司 | 无线终端设备的远程控制系统及远程控制方法 |
-
2015
- 2015-08-06 CN CN201510479116.2A patent/CN105208072B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102104588A (zh) * | 2009-12-18 | 2011-06-22 | 国基电子(上海)有限公司 | 多媒体终端适配器及其远程连接的方法 |
CN102833323A (zh) * | 2012-08-14 | 2012-12-19 | 新浪网技术(中国)有限公司 | 服务器远程控制受控终端的方法和系统 |
CN103888511A (zh) * | 2014-02-20 | 2014-06-25 | 北京哈工大计算机网络与信息安全技术研究中心 | 一种基于动态代理的远程访问控制方法 |
CN104811478A (zh) * | 2015-03-27 | 2015-07-29 | 上海斐讯数据通信技术有限公司 | 无线终端设备的远程控制系统及远程控制方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112913196A (zh) * | 2018-10-30 | 2021-06-04 | 慧与发展有限责任合伙企业 | 用云服务的虚拟ip地址的软件定义的广域网上行链路选择 |
CN112913196B (zh) * | 2018-10-30 | 2023-06-06 | 慧与发展有限责任合伙企业 | 用云服务的虚拟ip地址的软件定义的广域网上行链路选择 |
WO2024067882A1 (en) * | 2022-09-29 | 2024-04-04 | Wuhan United Imaging Healthcare Co., Ltd. | Methods, systems, and devices for data transmission |
CN116074227A (zh) * | 2022-11-09 | 2023-05-05 | 国网重庆市电力公司电力科学研究院 | 一种基于虚拟化平台的多电力系统测试方法 |
CN116074227B (zh) * | 2022-11-09 | 2024-05-14 | 国网重庆市电力公司电力科学研究院 | 一种基于虚拟化平台的多电力系统测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105208072B (zh) | 2019-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10802906B2 (en) | Monitoring method and apparatus of server, and storage medium | |
US11075821B2 (en) | Method and apparatus for managing field device based on cloud server | |
CN109474936B (zh) | 应用于多个lora网关之间的物联网通讯方法及系统 | |
CN107544841B (zh) | 虚拟机热迁移方法和系统 | |
US20180210752A1 (en) | Accelerator virtualization method and apparatus, and centralized resource manager | |
US20140177471A1 (en) | Virtual network prototyping environment | |
GB2462160A (en) | A distributed server system includes a table indicating communication relationships between various service programs | |
EP3261299A1 (en) | Method and apparatus for establishing network service instance | |
CN104580029A (zh) | 地址分配方法及装置 | |
CN105208072A (zh) | 虚拟交换机的远程控制方法及装置 | |
KR102017631B1 (ko) | 데이터 통신을 위한 단말 장치 및 방법 | |
CN105827496A (zh) | 管理pe设备的方法及装置 | |
US11288086B2 (en) | Network system, management method and apparatus thereof, and server | |
CN112667293B (zh) | 一种部署操作系统的方法、装置及存储介质 | |
CN103138961B (zh) | 服务器控制方法、被控服务器及中心控制服务器 | |
CN112954770A (zh) | 设备绑定方法和装置、存储介质及电子设备 | |
KR101883712B1 (ko) | 네트워크 기능 가상화 시스템을 운용하는 방법, 장치 및 컴퓨터 프로그램 | |
US11924300B2 (en) | Methods for controlling a multi-access edge computing network | |
CN104468696A (zh) | 用以进行点对点连接的方法、服务器与装置 | |
US11604670B2 (en) | Virtual machine live migration method, apparatus, and system | |
KR20150088462A (ko) | 클라우드 환경에서 네트워크 장치의 연동 방법 및 장치 | |
CN104811345A (zh) | 一种互联网业务拨测方法、相关设备及系统 | |
CN109962788B (zh) | 多控制器调度方法、装置和系统及计算机可读存储介质 | |
CN110602192A (zh) | 一种扩展存储集群系统网络通信能力的方法 | |
CN107819707B (zh) | 数据处理的方法、装置、物理机、虚拟交换机与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |