CN109561054A - 一种数据传输方法、控制器及接入设备 - Google Patents

一种数据传输方法、控制器及接入设备 Download PDF

Info

Publication number
CN109561054A
CN109561054A CN201710883851.9A CN201710883851A CN109561054A CN 109561054 A CN109561054 A CN 109561054A CN 201710883851 A CN201710883851 A CN 201710883851A CN 109561054 A CN109561054 A CN 109561054A
Authority
CN
China
Prior art keywords
controller
access device
port
access
request
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
Application number
CN201710883851.9A
Other languages
English (en)
Other versions
CN109561054B (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 CN201710883851.9A priority Critical patent/CN109561054B/zh
Publication of CN109561054A publication Critical patent/CN109561054A/zh
Application granted granted Critical
Publication of CN109561054B publication Critical patent/CN109561054B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/16Implementing security features at a particular protocol layer
    • H04L63/168Implementing security features at a particular protocol layer above the transport layer

Abstract

一种数据传输方法、控制器及接入设备,用以解决现有技术中控制器处理能力有限导致对用户的请求延时处理,造成用户不能及时访问接入设备的问题。接入设备接收Stelnet连接请求后通过服务器向负载量最小的控制器发送SSH反向隧道建立请求;所述控制器通过服务器向接入设备发送SSH反向隧道建立响应,将侦听端口号、所述控制器的IP地址、接入设备的标识和Stelnet端口的端口号的对应关系存储到数据库;并通过所述控制器上所述侦听端口号对应的侦听端口接收到包含所述接入设备的标识的访问请求后,将所述访问请求通过所述侦听端口转发至所述接入设备的Stelnet端口。

Description

一种数据传输方法、控制器及接入设备
技术领域
本申请涉及通信技术领域,尤其涉及一种数据传输方法、控制器及接入设备。
背景技术
随着通信技术的不断发展,云技术应运而生,云端可以提供很多控制器资源,以使用户可以租用云端的控制器来管理自身使用的接入设备,实现用户基于安全远程终端协议(secure telnet,Stelnet)访问自身使用的接入设备。
在实际中,许多用户会租用同一个控制器来管理自身使用的多个接入设备,一个用户基于Stelnet访问一个接入设备的过程通常为:用户通过客户端触发租用的所述控制器向待访问的接入设备发送Stelnet连接请求;所述接入设备收到所述Stelnet连接请求后,向所述控制器发送安全外壳(secure shell,SSH)反向隧道建立请求,其中所述SSH反向隧道为所述控制器和所述接入设备之间数据传输的安全通道;所述接入设备在所述SSH反向隧道建立成功后,将控制器上分配的侦听端口和自身的Stelnet端口做映射,以使用户后续通过所述客户端连接所述控制器的侦听端口,将需要发送给所述接入设备的数据转发至所述接入设备的Stelnet端口。
但是,在多个用户均通过租用的同一个控制器执行上述过程时,由于该控制器的处理能力有限,可能会对部分用户的请求延时处理,导致用户不能及时访问自身使用的接入设备,而影响用户体验。
发明内容
本申请提供一种数据传输方法、控制器及接入设备,用以解决现有技术中控制器处理能力有限导致对用户的请求延时处理,造成用户不能及时访问自身使用的接入设备而影响用户体验的问题。
第一方面,本申请提供了一种数据传输方法,应用于控制器集群场景,该数据传输方法包括:
第一接入设备接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,以使所述服务器将所述SSH反向隧道建立请求转发给负载量最小的第二控制器;然后所述第二控制器通过所述服务器向所述第一接入设备发送SSH反向隧道建立响应,并将第一侦听端口号、所述第二控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库;所述第二控制器通过所述第二控制器上所述第一侦听端口号对应的第一侦听端口接收到包括所述第一接入设备的标识的第一访问请求后,将所述第一访问请求通过所述第一侦听端口转发至所述第一接入设备的Stelnet端口。
通过上述方法,由于服务器会将接入设备发送的SSH反向隧道建立请求发送给负载量最小的控制器,以使所述负载量最小的控制器和所述接入设备之间建立SSH反向隧道,这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
在一个可能的设计中,所述第一接入设备在接收到所述SSH反向隧道建立响应之后,将所述第一侦听端口号和所述第一接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系。这样所述第一接入设备在后续过程中可以根据保存的所述绑定关系,将需要向用户回应的响应消息通过所述绑定关系中的Stelnet端口发送至所述第一侦听端口。
在一个可能的设计中,所述第二控制器通过所述第一侦听端口接收所述第一访问请求,具体方法可以为:所述第二控制器通过所述第一侦听端口接收所述第二控制器的代理(proxy)服务转发的所述第一访问请求;或者所述第二控制器通过所述第一侦听端口接收第三控制器转发的所述第一访问请求。
通过上述方法,所述第二控制器可以准确地接收到所述第一访问请求,以使后续将所述第一访问请求转发给所述第一接入设备。
在一个可能的设计中,所述第二控制器通过所述第一侦听端口接收所述第二控制器的代理服务转发的所述第一访问请求之前,所述方法还包括:所述第二控制器通过所述第二控制器的代理服务接收来自客户端的所述第一访问请求,根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。
通过上述方法,所述第二控制器可以确定与所述第一接入设备建立SSH反向隧道的控制器为自身,以使所述第二控制器可以通过所述第二控制器的代理服务转发所述第一访问请求至所述第二控制器的所述第一侦听端口,进而使所述第二控制器通过所述第一侦听端口将所述第一访问请求转发至所述第一接入设备的Stelnet端口。
在一个可能的设计中,所述第二控制器可以接收用户访问所述第一接入设备之外的其他接入设备的访问请求,例如所述第二控制器通过所述第二控制器的代理服务接收到包含第二接入设备的标识的第二访问请求,并根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址,当确定所述第二目标控制器的IP地址与所述第二控制器的IP地址不同时,将所述第二访问请求转发至第四控制器上所述第二侦听端口号对应的第二侦听端口,所述第四控制器的IP地址为所述第二目标控制器的IP地址,以使所述第四控制器通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
通过的上述方法,用户访问任一个接入设备时,均可以通过任一个控制器查询到与该接入设备建立SSH反向隧道的控制器,以使查询到的所述控制器响应用户的访问请求。
在一个可能的设计中,任一个控制器可以通过代理服务接收用户的访问请求。这样可以减少控制器对外界暴露的端口号,进而可以提高数据传输的安全性。
在一个可能的设计中,所述数据库可以为独立于所述控制器集群单独存在的数据库,所述控制器集群均可以访问所述数据库;所述数据库还可以部署在所述控制器集群中的任意一个控制器中,所述控制器集群中的每个控制器均可以访问该控制器中的所述数据库;所述数据库还可以为所述控制器集群中每个控制器中的数据库,所述控制器集群中的数据库实时进行数据同步,即所述控制器集群中每个控制器的数据库中存储的内容完全相同。
第二方面,本申请还提供了一种用于数据传输的接入设备,该接入设备具有实现上述方法实例中第一接入设备行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述接入设备的结构中包括接收单元和发送单元,还可以包括处理单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在一种可能的设计中,所述接入设备的结构中包括通信接口和处理器,还可以包括存储器,所述通信接口用于接收和发送数据;所述处理器被配置为支持所述接入设备执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述接入设备必要的程序指令和数据。
第三方面,本申请还提供了一种用于数据传输的服务器,该服务器具有实现上述方法实例中服务器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述服务器的结构中包括接收单元、处理单元和发送单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在一种可能的设计中,所述服务器的结构中包括通信接口、处理器和存储器,所述通信接口用于接收和发送数据;所述处理器被配置为支持所述服务器执行上述方法中相应的功能。所述存储器与所述处理器耦合,其保存所述服务器必要的程序指令和数据。
第四方面,本申请还提供了一种用于数据传输的控制器,所述控制器应用于控制器集群场景,该控制器具有实现上述方法实例中第二控制器行为的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,所述控制器的结构中包括接收单元、发送单元和处理单元,这些单元可以执行上述方法示例中的相应功能,具体参见方法示例中的详细描述,此处不做赘述。
在一种可能的设计中,所述控制器的结构中包括通信接口、处理器和存储器,所述通信接口用于接收和发送数据;所述处理器被配置为支持上述控制器执行上述方法中第二控制器相应的功能。所述存储器与所述处理器耦合,其保存所述控制器必要的程序指令和数据。
第五方面,本申请还提供了一种数据传输系统,所述系统包括控制器集群、多个接入设备和服务器,其中:
第一接入设备,用于在接收到所述控制器集群中的第一控制器发送的Stelnet连接请求后,向所述服务器发送SSH反向隧道建立请求,所述Stelnet连接请求中包括第一侦听端口号和所述第一接入设备的Stelnet端口的端口号;所述SSH反向隧道建立请求中包括所述第一接入设备的标识、所述第一侦听端口号和所述第一接入设备的Stelnet端口的端口号;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述服务器,用于在接收到所述第一接入设备发送的SSH反向隧道建立请求后,在所述控制器集群中确定负载量最小的第二控制器,并将所述SSH反向隧道建立请求转发给所述第二控制器;
所述第二控制器,用于接收到所述服务器发送的所述SSH反向隧道建立请求后,向所述服务器发送SSH反向隧道建立响应,并将所述第一侦听端口号、所述第二控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第二控制器维护所述第二控制器与所述第一接入设备之间的SSH反向隧道;
所述服务器,还用于在接收到所述第二控制器发送的所述SSH反向隧道建立响应后,将所述SSH反向隧道建立响应发送给所述第一接入设备;
所述第二控制器,还用于通过所述第二控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口,所述第一访问请求中包括所述第一接入设备的标识。
在一个可能的设计中,所述第二控制器,在通过所述第一侦听端口接收所述第一访问请求时,具体用于:
通过所述第一侦听端口接收所述第二控制器的代理服务转发的所述第一访问请求;或者
通过所述第一侦听端口接收第三控制器转发的所述第一访问请求。
在一个可能的设计中,所述第二控制器,还用于通过所述第一侦听端口接收所述第二控制器的代理服务转发的所述第一访问请求之前,通过所述第二控制器代理服务接收来自客户端的所述第一访问请求,并根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第二控制器的IP地址相同。
在一个可能的设计中,所述第二控制器,还用于通过所述第二控制器的代理服务接收第二访问请求,所述第二访问请求中包括第二接入设备的标识;根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;当确定所述第二目标控制器的IP地址与所述第二控制器的IP地址不同时,将所第二述访问请求转发至第四控制器上所述第二侦听端口号对应的第二侦听端口,所述第四控制器的IP地址为所述第二目标控制器的IP地址,以使所述第四控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
在一个可能的设计中,所述第一接入设备,还用于在接收到所述服务器发送的所述SSH反向隧道建立响应后,将所述第一侦听端口号和所述第一接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述第一接入设备根据所述绑定关系返回响应消息。
第六方面,本申请还提供了一种计算机存储介质,所述计算机存储介质中存储有计算机可执行指令,所述计算机可执行指令在被所述计算机调用时用于使所述计算机执行上述任一种方法。
第七方面,本申请还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一种方法。
第八方面,本申请还提供了一种芯片,所述芯片与存储器相连,用于读取并执行所述存储器中存储的程序指令,以实现上述任一种方法。
附图说明
图1为本申请提供的一种网络架构图;
图2为本申请提供的一种数据传输方法的流程图;
图3为本申请提供的一种数据传输方法的示例的流程图;
图4为本申请提供的一种用于数据传输的接入设备的结构示意图;
图5为本申请提供的一种用于数据传输的服务器的结构示意图;
图6为本申请提供的一种用于数据传输的控制器的结构示意图;
图7为本申请提供的一种用于数据传输的接入设备的结构图;
图8为本申请提供的一种用于数据传输的服务器的结构图;
图9为本申请提供的一种用于数据传输的控制器的结构图。
具体实施方式
下面将结合附图对本申请作进一步地详细描述。
本申请实施例提供一种数据传输、控制器及接入设备,用以解决现有技术中控制器处理能力有限导致对用户的请求延时处理,造成用户不能及时访问自身使用的接入设备而影响用户体验的问题。其中,本申请所述方法和装置基于同一发明构思,由于方法及装置解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
以下,对本申请中的部分用语进行解释说明,以便于本领域技术人员理解。
1)、本发明实施例中的控制器可以是敏捷控制器(agile controller,AC)、无线局域网络(Wireless Local Area Networks,WLAN)中的接入控制器(access controller,AC)、软件定义网络(software defined network,SDN)控制器等。物理上可以由服务器、主机等实现。
2)、本发明实施例中的服务器,是指在服务器或主机上实现的Linux虚拟服务器(Linux Virtual Server,LVS)。
3)、本申请实施例中的“多个”,是指两个或两个以上。
4)、在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
为了更加清晰地描述本申请实施例的技术方案,下面结合附图,对本申请实施例提供的数据传输、控制器及接入设备进行详细说明。
图1示出了本申请实施例提供的数据传输方法适用的一种可能的网络架构,所述网络架构包括多个客户端、控制器集群、服务器和多个接入设备,其中:
所述多个客户端,分别为不同用户连接所述多个控制器的终端。不同用户可以通过自身的客户端连接所述控制器集群,进而通过所述控制器集群访问自身使用的接入设备。例如,图1中所述的客户端A、客户端B和客户端C分别为用户A、用户B、用户C所属,即所述用户A可以通过所述客户端A连接所述控制器集群,同理,所述用户B可以通过所述客户端B连接所述控制器集群,所述用户C可以通过所述客户端C连接所述控制器集群。
所述控制器集群,包括多个控制器,用于管理所述多个接入设备,具体的,用户可以通过所述控制器集群向自身使用的接入设备发送数据。
可选的,所述控制器集群中可以设置一个主控制器。所述主控制器可以是在所述控制器集群中随机指定的,或者也可以是所述控制器集群中性能较强的,或者也可以是所述控制器集群中因特网协议(internet protocol,IP)地址最大的或最小的。所述主控制器用于接收用户通过客户端发来的针对该用户的一个接入设备的Stelnet连接指令后,随机在所述控制器集群中选择一个控制器向所述用户的所述接入设备发送Stelnet连接请求;此外,所述主控制器还用于接收用户通过客户端发来的对自身的一个接入设备的访问请求后,在所述控制器集群中选择负载量最小的控制器,以使选择的所述控制器在数据库中查询与所述接入设备建立了SSH反向隧道的控制器的IP地址以及侦听端口号,并将所述访问请求转发至查询到的控制器的IP地址对应的控制器上侦听端口号对应的侦听端口。
例如,图1中的控制器A、控制器B和控制器C为所述控制器集群中的多个控制器,假设所述控制器A为主控制器。当用户向所述控制器集群发送针对一个接入设备的Stelnet连接指令后,所述控制器A接收到所述Stelnet连接指令,然后随机选择所述控制器B向所述用户针对的所述接入设备发送Stelnet连接请求。当然,在此过程中,所述控制器A也可以直接选择自身执行上述所述控制器B的操作,本申请对此不作限定。
另外,当用户向所述控制器集群发送需要访问一个接入设备的访问请求时,所述控制器A接收到所述访问请求后,所述控制器A确定负载量最小的控制器为所述控制器C,然后可以将所述访问请求先转发至所述控制器C的代理(proxy)服务上;之后所述控制器C在数据库中查询与所述接入设备对应的侦听端口号和控制器的IP地址,最后所述控制器C将所述访问请求转发至查询到的所述控制器的IP地址对应的控制器的侦听端口。这样,所述用户向所述接入设备发送的数据就可以通过查询到的所述控制器上的侦听端口,转发给所述接入设备。当然,在此过程中,所述控制器C查询到的所述控制器可能为所述控制器C自身。
所述服务器,用于向所述控制器集群或向所述多个接入设备转发消息。具体的,当所述多个接入设备中的任意一个接入设备接收到Stelnet连接请求后,向所述服务器发送所述SSH反向隧道建立请求;然后,所述服务器在所述控制器集群中确定负载量最小的控制器,并将所述SSH反向隧道建立请求转发给负载量最小的所述控制器;之后所述服务器接收负载量最小的所述控制器返回的SSH反向隧道建立响应,并将所述SSH反向隧道建立响应发送给所述接入设备。
所述多个接入设备,如图1中的接入设备A、接入设备B和接入设备C,为所述多个用户分别使用的接入设备,可以但不限于为通信网络中的接入点(access point,AP)。
基于图1中所示的网络架构,一种可选的实施方式中,控制器集群、服务器和多个接入设备组成数据传输系统,具体地:
所述接入设备A,用于在接收到所述控制器集群中的控制器A发送的Stelnet连接请求后,向所述服务器发送SSH反向隧道建立请求,所述Stelnet连接请求中包括第一侦听端口号和所述接入设备A的Stelnet端口的端口号;所述SSH反向隧道建立请求中包括所述接入设备A的标识、所述第一侦听端口号和所述接入设备A的Stelnet端口的端口号;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述服务器,用于在接收到所述接入设备A发送的SSH反向隧道建立请求后,在所述控制器集群中确定负载量最小的控制器B,并将所述SSH反向隧道建立请求转发给所述控制器B;
所述控制器B,用于接收到所述服务器发送的所述SSH反向隧道建立请求后,向所述服务器发送SSH反向隧道建立响应,并将所述第一侦听端口号、所述控制器B的IP地址、所述接入设备A的标识和所述接入设备A的Stelnet端口的端口号的对应关系存储到数据库中,以使所述控制器B维护所述控制器B与所述接入设备A之间的SSH反向隧道;
所述服务器,还用于在接收到所述控制器B发送的所述SSH反向隧道建立响应后,将所述SSH反向隧道建立响应发送给所述接入设备A;
所述控制器B,还用于通过所述控制器B上所述第一侦听端口号对应的第一侦听端口接收第一访问请求后,将所述第一访问请求通过所述第一侦听端口,转发至所述接入设备A的Stelnet端口,所述第一访问请求中包括所述接入设备A的标识。
在一种可选的实施方式中,所述控制器B,在通过所述第一侦听端口接收所述第一访问请求时,具体用于:
通过所述第一侦听端口接收所述控制器B的代理服务转发的所述第一访问请求;或者
通过所述第一侦听端口接收控制器C转发的所述第一访问请求。
在一种可选的实施方式中,所述控制器B,还用于通过所述第一侦听端口接收所述控制器B的代理服务转发的所述第一访问请求之前,通过所述控制器B的代理服务接收来自客户端的所述第一访问请求,并根据所述接入设备A的标识查询所述数据库,获取与所述接入设备A的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述控制器B的IP地址相同。
在一种可选的实施方式中,所述控制器B,还用于通过所述控制器B的代理服务接收第二访问请求,所述第二访问请求中包括接入设备B的标识;根据所述接入设备B的标识查询所述数据库,获取与所述接入设备B的标识对应的第二侦听端口号和第二控制器的IP地址;当确定所述第二目标控制器的IP地址与所述控制器B的IP地址不同时,将所述第二访问请求转发至所述控制器C上所述第二侦听端口号对应的第二侦听端口,所述控制器C的IP地址为所述第二目标控制器的IP地址,以使所述控制器C将所述第二访问请求通过所述第二侦听端口转发至所述接入设备B的Stelnet端口。
在一种可选的实施方式中,所述接入设备A,还用于在接收到所述服务器发送的所述SSH反向隧道建立响应后,将所述第一侦听端口号和所述接入设备A的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述接入设备A根据所述绑定关系返回响应消息。这样所述接入设备A在后续过程中可以根据保存的所述绑定关系,将需要向用户回应的响应消息通过Stelnet端口发送至所述第一侦听端口。
通过上述网络架构,由于所述服务器会将接入设备发送的SSH反向隧道建立请求发送给所述控制器集群中负载量最小的控制器,以使所述负载量最小的控制器和所述接入设备之间建立SSH反向隧道,这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
本申请实施例提供了一种数据传输方法,适用于如图1所示的网络架构。参阅图2所示,该方法的具体流程包括:
步骤201、客户端向控制器集群发送Stelnet连接指令,所述控制器集群包括多个控制器。
其中,所述Stelnet连接指令中包括第一接入设备的标识,所述第一接入设备为用户当前需要访问的一个接入设备。
具体的,当用户需要访问自身使用的任意一个接入设备时,会通过自身的客户端向所述控制器集群发送Stelnet连接指令,以使所述控制器集群中的一个控制器接收到所述Stelnet连接指令后,执行步骤202。
通常情况下,对于客户端来说,所述控制器集群表现为一个整体,所述客户端不清楚所述控制器集群中具体包括多少个控制器,客户端只能识别到所述控制器集群的公共IP地址,因此,用户通过自身的客户端向所述控制器集群发送Stelnet连接指令时,具体的,用户会通过所述客户端上的浏览器访问所述控制器集群的所述公共IP地址,进而用户可以看到所述控制器集群管理的自身使用的多个接入设备的界面,然后,用户点击需要访问的任一接入设备的Stelnet连接按钮,即完成所述客户端向所述控制器集群发送Stelnet连接指令。
在一种可选的实施方式中,所述控制器集群中设置一个主控制器,用于接收用户通过客户端发送的信息,再从所述控制器集群中选择第一控制器,将接收到的信息转发给所述第一控制器,由所述第一控制器去执行后续流程。所述主控制器可以选择所述控制器集群中负载量最小的控制器作为所述第一控制器。该负载量最小的控制器可以为所述主控制器本身,也即,所述第一控器可以为所述主控制器。
在另一种可选的实施方式中,所述控制器集群中的多个控制器随机接收并处理用户通过客户端发送的信息,则收到所述Stelnet连接指令的控制器即为所述第一控制器。
步骤202、所述控制器集群中的第一控制器向所述第一接入设备发送Stelnet连接请求。所述Stelnet连接请求中包括第一侦听端口号和所述第一接入设备的Stelnet端口的端口号;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号。
在一种可选的实施方式中,所述第一控制器可以通过网络配置协议(networkconfiguration protocol,NETCONF)报文携带所述Stelnet连接请求,将所述Stelnet连接请求发送给所述第一接入设备。
所述控制器集群维护着一个侦听端口池,所述侦听端口池中记录所述控制器集群中所有控制器用于实现SSH转发的所有侦听端口号。具体的,所述控制器集群还记录着每个侦听端口号对应的状态,其中,当任一个侦听端口号被使用(即已经有一个控制器使用这个侦听端口号与一个接入设备建立了SSH反向隧道)后,所述控制器集群会记录该侦听端口号的状态为已使用;而对未被使用的任一个侦听端口号,所述控制器集群会记录该侦听端口号的状态为空闲,或者不记录任何状态以表示该侦听端口号的状态为空闲。并且所述控制器集群还记录着所述控制器集群管理的多个接入设备中每个接入设备的Stelnet端口的端口号。所以,在所述第一控制器接收到所述Stelnet连接指令后,识别到用户需要与所述第一接入设备建立Stelnet连接,此时,所述第一控制器会在所述侦听端口池中选择状态为空闲的一个侦听端口号(在本实施例中即为所述第一侦听端口号),以及确定所述第一接入设备的Stelnet端口,并将所述第一侦听端口号和所述Stelnet端口的端口号包含在所述Stelnet连接请求中,发送给所述第一接入设备。具体实现中所述Stelnet端口的端口号可以为22,所述第一侦听端口号可以为62000。
步骤203、所述第一接入设备接收到所述Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,所述SSH反向隧道建立请求中包括所述第一接入设备的标识、所述Stelnet端口的端口号和所述第一侦听端口号。可选的,所述第一接入设备的标识具体可以为所述第一接入设备的序列号、第一接入设备名称等。
具体的,所述第一接入设备从所述Stelnet连接请求中获取所述第一侦听端口号和所述Stelnet端口的端口号,然后将所述第一侦听端口号和所述Stelnet端口的端口号放在所述SSH反向隧道建立请求中。
步骤204、所述服务器在所述控制器集群中确定负载量最小的第二控制器,并将所述SSH反向隧道建立请求转发给所述第二控制器。所述服务器通过将所述第一接入设备发送的所述SSH反向隧道建立请求转发给负载量最小的所述第二控制器,可以使所述第二控制器及时响应用户访问所述第一接入设备的请求,以使用户可以及时访问自身使用的第一接入设备,从而可以提高用户体验。
其中,所述服务器在执行步骤204时,要先确定所述控制器集群中每个控制器的负载量,并筛选出负载量最小的所述第二控制器。在一个可选的实施方式中,所述服务器筛选出的负载量最小的控制器可能有一个,也可能有多个,具体的,当只有一个时,所述服务器直接将筛选出的所述控制器作为所述第二控制器;当有多个时,所述服务器在筛选出的多个控制器中随机选择一个作为所述第二控制器。
在一种可选的实施方式中,所述第一控制器和所述第二控制器可以为同一控制器,或者所述第一控制器和所述第二控制器也可以为不同控制器。具体的,当所述服务器确定的负载量最小的控制器为所述第一控制器时,所述第一控制器和所述第二控制器为同一控制器;当所述服务器确定的负载量最小的控制器不为所述第一控制器时,所述第一控制器和所述第二控制器为不同控制器。
步骤205、所述第二控制器向所述服务器发送SSH反向隧道建立响应。
实际中,所述第二控制器在执行步骤205的同时,所述第二控制器启动侦听所述第二控制器上所述第一侦听端口号对应的第一侦听端口,以侦听是否有发送至所述第一侦听端口的用户针对所述第一接入设备的访问请求。
步骤206、所述第二控制器将所述第一侦听端口号、所述第二控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第二控制器维护所述第二控制器与所述第一接入设备之间的SSH反向隧道。
通过步骤206,可以使后续用户访问所述第一接入设备时,通过所述控制器集群中的任意一个控制器查询所述数据库,获取与所述第一接入设备建立了SSH反向隧道的控制器的IP地址和侦听端口号,并将用户针对所述第一接入设备的访问请求转发至所述IP地址对应的控制器上所述侦听端口号对应的侦听端口,以使所述IP地址对应的控制器将所述访问请求转发至所述第一接入设备的Stelnet端口,进而实现用户向所述接入设备发送数据。
在一种可选的实施方式中,所述数据库可以为独立于所述控制器集群单独存在的数据库,所述控制器集群中的每个控制器均可以访问所述数据库;所述数据库还可以部署在所述控制器集群中的任意一个控制器中,所述控制器集群中的每个控制器均可以访问该控制器中的所述数据库;所述数据库还可以为所述控制器集群中每个控制器中的数据库,所述控制器集群(所述多个控制器)中的数据库实时进行数据同步,即所述多个控制器中的数据库中存储的内容完全相同。
通常情况下,所述第二控制器在执行步骤206之前,还可以与所述第一接入设备之间进行双向证书认证并确定认证成功,以提高数据传输的安全性。
步骤207、所述服务器将所述SSH反向隧道建立响应发送给所述第一接入设备。
可选的,所述第一接入设备在接收到所述SSH反向隧道建立响应之后,将所述第一侦听端口号和所述第一接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系。这样所述第一接入设备在后续过程中可以根据保存的所述绑定关系,将需要向用户回应的响应消息根据所述绑定关系,通过所述Stelnet端口发送至所述第一侦听端口号对应的所述第一侦听端口。
步骤208、所述客户端向所述控制器集群发送第一访问请求,所述第一访问请求中包括所述第一接入设备的标识。其中,所述第一访问请求中包含需要发送给所述第一接入设备的数据。
在一种可选的实施方式中,所述控制器集群中的主控制器的代理服务接收到所述客户端发送的所述第一访问请求,然后在所述控制器集群中选择负载量最小的控制器,并将所述访问请求转发至选择的负载量最小的所述控制器的代理服务上。在本申请中,所述主控制器选择所述第二控制器或者第三控制器,并将所述第一访问请求转发至所述第二控制器的proxy服务或者所述第三控制器的代理服务。
在另一种可选的实施方式中,由步骤201中的描述可知,所述控制器集群中的多个控制器随机接收并处理用户通过客户端发送的信息,即所述控制器集群中的多个控制器随机接收所述第一访问请求,即在本申请,随机接收到所述第一访问请求的可能为所述第二控制器或者所述第三控制器。
可选的,当所述控制器集群中的所述主控制器将所述第一访问请求转发给所述第二控制器,或者所述第二控制器通过所述第二控制器的代理服务直接接收到来自客户端的所述第一访问请求时,所述第二控制器通过所述第二控制器的代理服务将所述第一访问请求转发至所述第二控制器的所述第一侦听端口,以使所述第二控制器执行步骤209;或者
当所述控制器集群中的所述主控制器将所述第一访问请求转发至所述第三控制器,或者所述第三控制器通过所述第三控制器的代理服务直接接收到来自客户端的所述第一访问请求时,所述第三控制器将所述第一访问请求转发至所述第二控制器的所述第一侦听端口,以使所述第二控制器执行步骤209。其中,所述第三控制器同样通过代理服务转发所述第一访问请求至所述第二控制器的所述第一侦听端口。
可选的,由于所述第二控制器执行了步骤206,因此在上述描述中,不论是所述第二控制器还是所述第三控制器在接收到所述第一访问请求后,都需要先根据所述第一访问请求中的所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一侦听端口号和第一目标控制器的IP地址,即确定与所述第一接入设备建立了SSH反向隧道的第一目标控制器。之后具体的,当是所述第二控制器通过所述代理服务接收到所述第一访问请求的情况下,所述第二控制器当确定所述第一目标控制器的IP地址与所述第二控制器的IP地址相同时,才能实现所述第二控制器通过代理服务将所述第一访问请求转发至所述第二控制器上所述第一侦听端口;当是所述第三控制器接收到所述第一访问请求的情况下,所述第三控制器当确定所述第一目标控制器的IP地址为所述第二控制器的IP地址时,才能实现所述第三控制器将所述第一访问请求转发至所述第二控制器上所述第一侦听端口。
上述过程在具体实现时,当所述第三控制器查询到所述第二控制器上所述第一侦听端口与所述第一接入设备建立的SSH反向隧道时,所述第三控制器的代理服务会发起与所述第二控制器上所述第一侦听端口之间的SSH连接的建立流程,所述SSH连接为传输控制协议(transmission control protocol,TCP)长连接;当所述SSH连接建立成功后,所述第三控制器通过所述第三控制器的代理服务直接将所述第一访问请求通过所述SSH连接透传到所述第二控制器上所述第一侦听端口,以使所述第二控制器将所述第一访问请求通过所述第一侦听端口转发至所述第一接入设备的Stelnet端口。
当所述第二控制器查询到所述第二控制器上所述第一侦听端口与所述第一接入设备建立的SSH反向隧道时,所述第二控制器直接内部通过代理服务将所述第一访问请求转发至所述第二控制器上所述第一侦听端口。
在一种可选的实施方式中,所述控制器集群中的每个控制器均为相同的设备,为了减少所述控制器集群对外暴露的端口号,可以在所述控制器集群中的每个控制器中均设置代理服务,且每个控制器中的代理服务具有相同的服务功能,以使所述控制器集群只需对外公开代理服务,用户需要访问所述第一接入设备时,可以通过所述客户端访问所述控制器集群的所述公共IP地址以及所述代理服务,从而实现向所述控制器集群发送访问请求,后续通过主控制器的代理服务将所述访问请求转发至需要处理所述访问请求的控制器。这样,可以避免现有技术中将与多个接入设备的Stelnet端口对应的多个侦听端口号暴露给外界,从而可以提高数据传输的安全性。
具体实现中,所述控制器集群还可能接收到该用户访问所述第一接入设备之外的其他接入设备的访问请求,或者还可能接收到其他用户访问自身使用的接入设备的访问请求,其处理过程同上,彼此相互独立。
例如,所述控制器集群接收到所述第二访问请求,所述第二访问请求中包括第二接入设备的标识,此时,可能是所述控制器集群中的所述第二控制器通过所述第二控制器的代理服务接收到所述第二访问请求;然后,所述第二控制器根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;并当确定所述第二目标控制器的IP地址与所述第二控制器的IP地址不同时,将所述第二访问请求转发至第四控制器上所述第二侦听端口号对应的第二侦听端口,所述第四控制器的IP地址为所述第二目标控制器的IP地址,以使所述第四控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
步骤209、所述第二控制器通过所述第二控制器上所述第一侦听端口号对应的第一侦听端口接收所述第一访问请求。
步骤210、所述第二控制器将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。
具体的,由于在所述第二控制器与所述第一接入设备之间建立了SSH反向隧道后,所述第二控制器一直维护着所述SSH反向隧道,即在所述第二控制器的所述第一侦听端口和所述第一接入设备的Stelnet端口之间一直保持着TCP长连接,所以第二控制器在上述步骤209中接收到所述第一访问请求后,可以直接将所述访问请求通过所述TCP长连接从所述第一侦听端口透传到所述第一接入设备的Stelnet端口。
这样,可以使用户将需要发送给所述第一接入设备的数据,通过所述第一侦听端口转发至所述第一接入设备中的Stelnet端口,以使所述第一接入设备接收到所述用户需要发送的数据,完成数据传输。
采用本申请实施例提供的数据传输方法,接入设备接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,以使所述服务器将所述SSH反向隧道建立请求转发给负载量最小的第二控制器;然后所述第二控制器通过所述服务器向所述接入设备发送SSH反向隧道建立响应,并将第一侦听端口号、所述第二控制器的IP地址、所述接入设备的标识和所述接入设备的Stelnet端口的端口号的对应关系存储到数据库;所述第二控制器通过所述第二控制器上所述第一侦听端口号对应的第一侦听端口接收到包含所述接入设备的标识的访问请求后,将所述访问请求通过所述第一侦听端口转发至所述接入设备的Stelnet端口。在该方法中,由于服务器会将接入设备发送的SSH反向隧道建立请求发送给负载量最小的控制器,以使所述负载量最小的控制器和所述接入设备之间建立SSH反向隧道,这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
基于以上实施例,本申请实施例还提供了一种数据传输方法的示例,该示例可以应用于如图1所示的网络架构。本实施例中的服务器以LVS为例、所述控制器集群中的侦听端口池中状态为空闲的一个侦听端口号以62000为例、Stelnet端口的端口号以22为例进行说明。参阅图3所示,该示例的具体流程包括:
步骤301、用户通过客户端向控制器集群发送Stelnet连接指令,所述Stelnet连接指令包括所述用户需要访问的接入设备的标识。
步骤302、所述控制器集群中的控制器A向所述接入设备发送Stelnet连接请求。所述Stelnet连接请求中包括侦听端口号62000和所述接入设备的Stelnet端口的端口号22。
可选的,所述控制器集群中的主控制器将所述Stelnet连接指令转发给所述控制器集群中的控制器A,即所述控制器A接收到所述Stelnet连接指令。
步骤303、所述接入设备接收到所述Stelnet连接请求后,向LVS发送SSH反向隧道建立请求,所述SSH反向隧道建立请求中包括所述接入设备的标识、侦听端口号62000和所述接入设备的Stelnet端口的端口号22。
步骤304、所述LVS将所述SSH反向隧道建立请求转发给控制器B,其中控制器B为所述LVS在所述控制器集群中确定的负载量最小的控制器。
步骤305、所述控制器B向所述LVS发送SSH反向隧道建立响应。
步骤306、所述控制器B将所述侦听端口号62000、所述控制器B的IP地址、所述接入设备的标识和所述Stelnet端口的端口号22的对应关系存储到数据库中。
步骤307、所述LVS将所述SSH反向隧道建立响应发送给所述接入设备。
步骤308、所述用户通过所述客户端向所述控制器集群发送访问请求,所述控制器集群中的控制器C通过代理服务接收到所述访问请求,所述访问请求中包括所述接入设备的标识。
可选的,所述控制器集群中的主控制器将所述访问请求转发至所述控制器集群中的所述控制C的代理服务,以使所述控制器C接收到所述访问请求。
步骤309、所述控制器集群中的所述控制器C根据所述接入设备的标识查询所述数据库,获取与所述接入设备的标识对应的侦听端口号62000和目标控制器的IP地址,并确定所述目标控制器的IP地址为所述控制器B的IP地址。
步骤310、所述控制器C通过代理服务将所述访问请求转发至所述控制器B上所述侦听端口号62000对应的侦听端口。
步骤311、所述控制器B将所述访问请求通过所述控制器B上所述侦听端口号62000对应的侦听端口转发至所述接入设备的Stelnet端口22。
基于上述示例,通过本发明实施例提供的数据传输方法,由于LVS会将接入设备发送的SSH反向隧道建立请求发送给负载量最小的控制器B,以使所述负载量最小的控制器B和所述接入设备之间建立SSH反向隧道,这样后续会由负载量最小的控制器B处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
基于以上实施例,本申请实施例还提供了一种用于数据传输的接入设备,该接入设备应用于如图1所示的网络架构,用于实现如图2所示的数据传输方法中第一接入设备的功能。参阅图4所示,该接入设备400包括:接收单元401和发送单元402,其中:
所述接收单元401,用于接收第一控制器发送的Stelnet连接请求,所述Stelnet连接请求中包括第一侦听端口号和所述接入设备的Stelnet端口的端口号;所述第一侦听端口号为控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述发送单元402,用于在所述接收单元401接收到所述Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,所述SSH反向隧道建立请求中包括所述接入设备400的标识、所述接入设备400的Stelnet端口的端口号和所述第一侦听端口号;
所述接收单元401,还用于接收所述服务器转发的SSH反向隧道建立响应,所述SSH反向隧道建立响应由第二控制器发送给所述服务器,以建立所述第二控制器与所述接入设备之间的SSH反向隧道,所述第二控制器为所述控制器集群中负载量最小的控制器;以及
通过所述接入设备400的Stelnet端口,接收所述第二控制器转发的访问请求。
可选的,所述接入设备400,还包括:
处理单元403,用于在所述接收单元401接收所述服务器转发的所述SSH反向隧道建立响应之后,将所述第一侦听端口号和所述接入设备400的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述接入设备400根据所述绑定关系返回响应消息。
采用本申请实施例提供的接入设备,接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,以使所述服务器将所述SSH反向隧道建立请求转发给负载量最小的第二控制器;然后接收所述第二控制器通过所述服务器返回的SSH反向隧道建立响应,后续会由负载量最小的第二控制器处理用户访问所述接入设备的请求,以使所述接入设备通过所述接入设备的Stelnet端口,接收所述第二控制器转发的访问请求。这样可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
基于以上实施例,本申请实施例还提供了一种用于数据传输的服务器,该服务器应用于如图1所示的网络架构,用于实现如图2所示的数据传输方法中服务器的功能。参阅图5所示,该服务器500包括:接收单元501、处理单元502和发送单元503,其中:
所述接收单元501,用于接收接入设备发送的SSH反向隧道建立请求,所述SSH反向隧道建立请求中包括所述接入设备的标识、侦听端口号和所述接入设备的Stelnet端口的端口号,所述接入设备为接收到第一控制器发送的Stelnet连接请求的接入设备;所述侦听端口号为控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述处理单元502,用于在所述控制器集群中确定负载量最小的第二控制器;
所述发送单元503,用于所述处理单元502在所述控制器集群中确定负载量最小的所述第二控制器后,将所述SSH反向隧道建立请求转发给所述第二控制器;
所述接收单元501,还用于接收所述第二控制器发送的SSH反向隧道建立响应;
所述发送单元502,还用于在所述接收单元501接收所述SSH反向隧道建立响应后,将所述SSH反向隧道建立响应发送给所述接入设备。
采用本申请实施例提供的服务器,将接入设备发来的SSH反向隧道建立请求转发给负载量最小的控制器,以使负载量最小的所述控制器将侦听端口号、所述控制器的IP地址、所述接入设备的标识和所述接入设备的Stelnet端口的端口号的对应关系存储到数据库中。这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的设备,可以提高用户体验。
基于以上实施例,本申请实施例还提供了一种用于数据传输的控制器,该控制器为第一控制器,该第一控制器应用于如图1所示的网络架构,用于实现如图2所示的数据传输方法中第二控制器的功能。参阅图6所示,该控制器600包括:接收单元601、发送单元602和处理单元603,其中:
所述接收单元601,用于接收服务器转发的SSH反向隧道建立请求,所述SSH反向隧道建立请求来自第一接入设备,所述SSH反向隧道建立请求中包括第一接入设备的标识、第一侦听端口号和所述第一接入设备的Stelnet端口的端口号,所述第一控制器为控制器集群中负载量最小的控制器;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述发送单元602,用于所述接收单元601接收到所述SSH反向隧道建立请求后,向所述服务器发送SSH反向隧道建立响应,以使所述服务器将所述SSH反向隧道建立响应转发给所述第一接入设备;
所述处理单元603,用于将所述第一侦听端口号、所述第一控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第一控制器维护所述第一控制器与所述第一接入设备之间的SSH反向隧道;
所述接收单元601,还用于通过所述第一控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,所述第一访问请求中包括所述第一接入设备的标识;
所述发送单元602,还用于将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。
在一种可选的实施方式中,所述接收单元601,在通过所述第一侦听端口接收所述第一访问请求时,具体用于:
通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求;或者
通过所述第一侦听端口接收第二控制器转发的所述第一访问请求。
可选的,所述接收单元,还用于:
在通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求之前,通过所述第一控制器的代理服务接收来自客户端的所述第一访问请求;
所述处理单元,还用于:
根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。
可选的,所述接收单元601,还用于:
通过所述第一控制器的代理服务接收第二访问请求,所述第二访问请求中包括第二接入设备的标识;
所述处理单元603,还用于:
根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;并确定所述第二目标控制器的IP地址与所述第一控制器的IP地址不同;
所述发送单元602,还用于:
将所述第二访问请求转发至第三控制器上所述第二侦听端口号对应的第二侦听端口,所述第三控制器的IP地址为所述第二目标控制器的IP地址,以使所述第三控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
采用本申请实施例提供的控制器,接收到服务器转发的第一接入设备的SSH反向隧道建立请求后,通过所述服务器向所述第一接入设备发送SSH反向隧道建立响应;所述控制器将第一侦听端口号、所述控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库;所述控制器通过所述控制器上所述第一侦听端口号对应的第一侦听端口接收到包含所述第一接入设备的第一访问请求后,将所述第一访问请求通过所述第一侦听端口转发至所述第一接入设备的Stelnet端口。这样,由于所述控制器为负载量最小的控制器,后续用户对第一接入设备的访问均会由负载量最小的控制器处理用户访问该第一接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
基于以上实施例,本申请实施例还提供了一种用于数据传输的接入设备,所述接入设备应用于如图1所示的网络架构,用于实现如图2所示的数据传输方法中第一接入设备的功能。参阅图7所示,所述接入设备700包括:通信接口701和处理器702,可选的还包括存储器703,其中:
所述处理器702可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。
所述处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
所述通信接口701、所述处理器702以及所述存储器703之间相互连接。可选的,所述通信接口701、所述处理器702以及所述存储器703通过总线704相互连接;所述总线704可以包括地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器703可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory,也称闪存),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);所述存储器703还可以包括上述种类的存储器的组合。
所述接入设备700在实现如图2所示的数据传输方法时:
所述通信接口701,用于接收和发送数据;
所述处理器702,用于通过所述通信接口701接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求;所述Stelnet连接请求中包括第一侦听端口号和所述接入设备的Stelnet端口的端口号;所述SSH反向隧道建立请求中包括所述接入设备的标识、所述接入设备的Stelnet端口的端口号和所述第一侦听端口号;所述第一侦听端口号为控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
通过所述通信接口701接收所述服务器转发的SSH反向隧道建立响应,所述SSH反向隧道建立响应由第二控制器发送给所述服务器,以建立所述第二控制器与所述接入设备之间的SSH反向隧道,所述第二控制器为所述控制器集群中负载量最小的控制器;
通过所述接入设备的Stelnet端口,接收所述第二控制器转发的访问请求。
可选的,所述处理器701还用于:
在通过所述通信接口701接收到所述服务器转发的SSH反向隧道建立响应之后,将所述第一侦听端口号和所述接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述接入设备根据所述绑定关系返回响应消息。
可选的,所述存储器703,用于保存所述绑定关系。
可选地,所述存储器703,还用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。所述处理器702执行所述存储器703所存放的应用程序,实现上述功能,从而实现如图2所示的数据传输方法。
采用本申请实施例提供的接入设备,接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,以使所述服务器将所述SSH反向隧道建立请求转发给负载量最小的第二控制器;然后接收所述第二控制器通过所述服务器返回的SSH反向隧道建立响应,后续会由负载量最小的第二控制器处理用户访问所述接入设备的请求,以使所述接入设备通过所述接入设备的Stelnet端口,接收所述第二控制器转发的访问请求。这样可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
基于以上实施例,本申请实施例还提供了一种用于数据传输的服务器,所述服务器应用于如图1所示的网络架构,用于实现如图2所示的数据传输方法中服务器的功能。参阅图8所示,所述服务器800包括:通信接口801、处理器802以及存储器803,其中:
所述处理器802,可以是CPU,NP或者CPU和NP的组合。所述处理器802还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
所述通信接口801、所述处理器802以及所述存储器803之间相互连接。可选的,所述通信接口801、所述处理器802以及所述存储器803通过总线804相互连接;所述总线804可以包括地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器803可以包括易失性存储器,例如RAM;所述存储器803也可以包括非易失性存储器,例如闪存,HDD或SSD;所述存储器803还可以包括上述种类的存储器的组合。
所述服务器800在实现如图2所示的数据传输方法时:
所述通信接口801,用于接收和发送数据;
所述处理器802,用于通过所述通信接口801接收接入设备发送的SSH反向隧道建立请求,所述SSH反向隧道建立请求中包括所述接入设备的标识、侦听端口号和所述接入设备的Stelnet端口的端口号,所述接入设备为接收到第一控制器发送的Stelnet连接请求的接入设备;所述侦听端口号为控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
在所述控制器集群中确定负载量最小的第二控制器,并通过所述通信接口801将所述SSH反向隧道建立请求转发给所述第二控制器;
通过所述通信接口801接收所述第二控制器发送的SSH反向隧道建立响应,并通过所述通信接口801将所述SSH反向隧道建立响应发送给所述接入设备。
所述存储器803,可用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。所述处理器802执行所述存储器803所存放的应用程序,实现上述功能,从而实现如图2所示的数据传输方法。
采用本申请实施例提供的服务器,将接入设备发来的SSH反向隧道建立请求转发给负载量最小的控制器,以使负载量最小的所述控制器将侦听端口号、所述控制器的IP地址、所述接入设备的标识和所述接入设备的Stelnet端口的端口号的对应关系存储到数据库中。这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
基于以上实施例,本申请实施例还提供了一种用于数据传输的控制器,该控制器为第一控制器,所述第一控制器应用于如图1所示的网络架构,用于实现如图2所示的数据传输方法中第二控制器的功能。参阅图9所示,所述控制器900包括:通信接口901、处理器902以及存储器903,其中:
所述处理器902,可以是CPU,NP或者CPU和NP的组合。所述处理器902还可以进一步包括硬件芯片。上述硬件芯片可以是ASIC,PLD或其组合。上述PLD可以是CPLD,FPGA,GAL或其任意组合。
所述通信接口901、所述处理器902以及所述存储器903之间相互连接。可选的,所述通信接口901、所述处理器902以及所述存储器903通过总线904相互连接;所述总线904可以包括地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
所述存储器903可以包括易失性存储器,例如RAM;所述存储器903也可以包括非易失性存储器,例如闪存,HDD或SSD;所述存储器903还可以包括上述种类的存储器的组合。
所述第一控制器900在实现如图2所示的数据传输方法时:
所述通信接口901,用于接收和发送数据;
所述处理器902,用于通过所述通信接口901接收服务器转发的SSH反向隧道建立请求,所述SSH反向隧道建立请求来自第一接入设备,所述SSH反向隧道建立请求中包括所述第一接入设备的标识、第一侦听端口号和所述第一接入设备的Stelnet端口的端口号,所述第一控制器为控制器集群中负载量最小的控制器;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
通过所述通信接口901向所述服务器发送SSH反向隧道建立响应,以使所述服务器将所述SSH反向隧道建立响应转发给所述第一接入设备;并将所述第一侦听端口号、所述第一控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第一控制器维护所述第一控制器与所述第一接入设备之间的SSH反向隧道;
通过所述第一控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,所述第一访问请求中包括所述第一接入设备的标识;
将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。
可选的,通过所述第一侦听端口接收第一访问请求时,具体用于:
通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求;或者
通过所述第一侦听端口接收第二控制器转发的所述第一访问请求。
可选的,所述处理器902,还用于:
在通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求之前,通过所述第一控制器的代理服务接收来自客户端的所述第一访问请求;
根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。
可选的,所述处理器902,还用于:
通过所述第一控制器的代理服务接收第二访问请求,所述第二访问请求中包括第二接入设备的标识;
根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;并确定所述第二目标控制器的IP地址与所述第一控制器的IP地址不同;
将所述第二访问请求转发至第三控制器上所述第二侦听端口号对应的第二侦听端口,所述第三控制器的IP地址为所述第二目标控制器的IP地址,以使所述第三控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
所述存储器903,可用于存放程序等。具体地,程序可以包括程序代码,该程序代码包括计算机操作指令。所述处理器902执行所述存储器903所存放的应用程序,实现上述功能,从而实现如图2所示的数据传输方法。
采用本申请实施例提供的制器,接收到服务器转发的第一接入设备的SSH反向隧道建立请求后,通过所述服务器向所述第一接入设备发送SSH反向隧道建立响应;所述控制器将第一侦听端口号、所述控制器的IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库;所述控制器通过所述控制器上所述第一侦听端口号对应的第一侦听端口接收到包含所述第一接入设备的第一访问请求后,将所述第一访问请求通过所述第一侦听端口转发至所述第一接入设备的Stelnet端口。这样,由于所述控制器为负载量最小的控制器,后续用户对第一接入设备的访问均会由负载量最小的控制器处理用户访问该第一接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
综上所述,通过本申请实施例提供一种数据传输方法、控制器及接入设备,接入设备接收到第一控制器发送的Stelnet连接请求后,向服务器发送SSH反向隧道建立请求,以使所述服务器将所述SSH反向隧道建立请求转发给负载量最小的第二控制器;然后所述第二控制器通过所述服务器向所述接入设备发送SSH反向隧道建立响应,并将第一侦听端口号、所述第二控制器的IP地址、所述接入设备的标识和所述接入设备的Stelnet端口的端口号的对应关系存储到数据库;所述第二控制器通过所述第二控制器上所述第一侦听端口号对应的第一侦听端口接收到包含所述接入设备的标识的访问请求后,将所述访问请求通过所述第一侦听端口转发至所述接入设备的Stelnet端口。在该方法中,由于服务器会将接入设备发送的SSH反向隧道建立请求发送给负载量最小的控制器,以使所述负载量最小的控制器和所述接入设备之间建立SSH反向隧道,这样后续会由负载量最小的控制器处理用户访问所述接入设备的请求,进而可以使用户及时访问到自身使用的接入设备,可以提高用户体验。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请实施例的范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (12)

1.一种数据传输方法,其特征在于,所述数据传输方法应用于控制器集群场景,所述数据传输方法包括:
第一控制器接收服务器转发的安全外壳SSH反向隧道建立请求,所述SSH反向隧道建立请求来自第一接入设备,所述SSH反向隧道建立请求中包括所述第一接入设备的标识、第一侦听端口号和所述第一接入设备的安全远程终端协议Stelnet端口的端口号,所述第一控制器为所述控制器集群中负载量最小的控制器;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述第一控制器向所述服务器发送SSH反向隧道建立响应,以使所述服务器将所述SSH反向隧道建立响应转发给所述第一接入设备;
所述第一控制器将所述第一侦听端口号、所述第一控制器的因特网协议IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第一控制器维护所述第一控制器与所述第一接入设备之间的SSH反向隧道;
所述第一控制器通过所述第一控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,所述第一访问请求中包括所述第一接入设备的标识;
所述第一控制器将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。
2.如权利要求1所述的方法,其特征在于,所述第一控制器通过所述第一侦听端口号对应的所述第一侦听端口接收所述第一访问请求,包括:
所述第一控制器通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求;或者
所述第一控制器通过所述第一侦听端口接收第二控制器转发的所述第一访问请求。
3.如权利要求2所述的方法,其特征在于,所述第一控制器通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求之前,所述方法还包括:
所述第一控制器通过所述第一控制器的代理服务接收来自客户端的所述第一访问请求,根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
所述第一控制器通过所述第一控制器的代理服务接收第二访问请求,所述第二访问请求中包括第二接入设备的标识;
所述第一控制器根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;
当确定所述第二目标控制器的IP地址与所述第一控制器的IP地址不同时,所述第一控制器将所述第二访问请求转发至第三控制器上所述第二侦听端口号对应的第二侦听端口,所述第三控制器的IP地址为所述第二目标控制器的IP地址,以使所述第三控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
5.一种数据传输方法,其特征在于,所述数据传输方法应用于控制器集群场景,所述数据传输方法包括:
接入设备接收到第一控制器发送的安全远程终端协议Stelnet连接请求后,向服务器发送安全外壳SSH反向隧道建立请求,所述Stelnet连接请求中包括第一侦听端口号和所述接入设备的Stelnet端口的端口号;所述SSH反向隧道建立请求中包括所述接入设备的标识、所述接入设备的Stelnet端口的端口号和所述第一侦听端口号;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
所述接入设备接收所述服务器转发的SSH反向隧道建立响应,所述SSH反向隧道建立响应由第二控制器发送给所述服务器,以建立所述第二控制器与所述接入设备之间的SSH反向隧道,所述第二控制器为所述控制器集群中负载量最小的控制器;
所述接入设备通过所述接入设备的Stelnet端口,接收所述第二控制器转发的访问请求。
6.如权利要求5所述的方法,其特征在于,所述接入设备接收所述服务器转发的SSH反向隧道建立响应之后,所述方法还包括:
所述接入设备将所述第一侦听端口号和所述接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述接入设备根据所述绑定关系返回响应消息。
7.一种用于数据传输的控制器,所述控制器为第一控制器,其特征在于,所述第一控制器应用于控制器集群场景,所述第一控制器包括:
接收单元,用于接收服务器转发的安全外壳SSH反向隧道建立请求,所述SSH反向隧道建立请求来自第一接入设备,所述SSH反向隧道建立请求中包括所述第一接入设备的标识、第一侦听端口号和所述第一接入设备的安全远程终端协议Stelnet端口的端口号,所述第一控制器为所述控制器集群中负载量最小的控制器;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
发送单元,用于向所述服务器发送SSH反向隧道建立响应,以使所述服务器将所述SSH反向隧道建立响应转发给所述第一接入设备;
处理单元,用于将所述第一侦听端口号、所述第一控制器的因特网协议IP地址、所述第一接入设备的标识和所述第一接入设备的Stelnet端口的端口号的对应关系存储到数据库中,以使所述第一控制器维护所述第一控制器与所述第一接入设备之间的SSH反向隧道;
所述接收单元,还用于通过所述第一控制器上所述第一侦听端口号对应的第一侦听端口接收第一访问请求,所述第一访问请求中包括所述第一接入设备的标识;
所述发送单元,还用于将所述第一访问请求通过所述第一侦听端口,转发至所述第一接入设备的Stelnet端口。
8.如权利要求7所述的控制器,其特征在于,所述接收单元,在通过所述第一侦听端口接收所述第一访问请求时,具体用于:
通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求;或者
通过所述第一侦听端口接收第二控制器转发的所述第一访问请求。
9.如权利要求8所述的控制器,其特征在于,
所述接收单元,还用于:
在通过所述第一侦听端口接收所述第一控制器的代理服务转发的所述第一访问请求之前,通过所述第一控制器的代理服务接收来自客户端的所述第一访问请求;
所述处理单元,还用于:
根据所述第一接入设备的标识查询所述数据库,获取与所述第一接入设备的标识对应的第一目标控制器的IP地址和所述第一侦听端口号,并确定所述第一目标控制器的IP地址与所述第一控制器的IP地址相同。
10.如权利要求7-9任一项所述的控制器,其特征在于,
所述接收单元,还用于:
通过所述第一控制器的代理服务接收第二访问请求,所述第二访问请求中包括第二接入设备的标识;
所述处理单元,还用于:
根据所述第二接入设备的标识查询所述数据库,获取与所述第二接入设备的标识对应的第二侦听端口号和第二目标控制器的IP地址;并确定所述第二目标控制器的IP地址与所述第一控制器的IP地址不同;
所述发送单元,还用于:
将所述第二访问请求转发至第三控制器上所述第二侦听端口号对应的第二侦听端口,所述第三控制器的IP地址为所述第二目标控制器的IP地址,以使所述第三控制器将所述第二访问请求通过所述第二侦听端口转发至所述第二接入设备的Stelnet端口。
11.一种用于数据传输的接入设备,其特征在于,所述接入设备应用于控制器集群场景,所述接入设备包括:
接收单元,用于接收第一控制器发送的安全远程终端协议Stelnet连接请求,所述Stelnet连接请求中包括第一侦听端口号和所述接入设备的Stelnet端口的端口号;所述第一侦听端口号为所述控制器集群的侦听端口池中状态为空闲的一个侦听端口号;
发送单元,用于在所述接收单元接收到所述Stelnet连接请求后,向服务器发送安全外壳SSH反向隧道建立请求,所述SSH反向隧道建立请求中包括所述接入设备的标识、所述接入设备的Stelnet端口的端口号和所述第一侦听端口号;
所述接收单元,还用于接收所述服务器转发的SSH反向隧道建立响应,所述SSH反向隧道建立响应由第二控制器发送给所述服务器,以建立所述第二控制器与所述接入设备之间的SSH反向隧道,所述第二控制器为所述控制器集群中负载量最小的控制器;以及
通过所述接入设备的Stelnet端口,接收所述第二控制器转发的访问请求。
12.如权利要求11所述的接入设备,其特征在于,所述接入设备还包括:
处理单元,用于在所述接收单元接收所述服务器转发的SSH反向隧道建立响应之后,将所述第一侦听端口号和所述接入设备的Stelnet端口的端口号形成绑定关系,并保存所述绑定关系,以使所述接入设备根据所述绑定关系返回响应消息。
CN201710883851.9A 2017-09-26 2017-09-26 一种数据传输方法、控制器及接入设备 Active CN109561054B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710883851.9A CN109561054B (zh) 2017-09-26 2017-09-26 一种数据传输方法、控制器及接入设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710883851.9A CN109561054B (zh) 2017-09-26 2017-09-26 一种数据传输方法、控制器及接入设备

Publications (2)

Publication Number Publication Date
CN109561054A true CN109561054A (zh) 2019-04-02
CN109561054B CN109561054B (zh) 2020-12-01

Family

ID=65863144

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710883851.9A Active CN109561054B (zh) 2017-09-26 2017-09-26 一种数据传输方法、控制器及接入设备

Country Status (1)

Country Link
CN (1) CN109561054B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110161870A (zh) * 2019-05-16 2019-08-23 中科物栖(北京)科技有限责任公司 一种物联网设备控制方法及系统
CN113806447A (zh) * 2021-09-24 2021-12-17 深信服科技股份有限公司 一种数据同步方法、装置、设备及介质
CN114006788A (zh) * 2020-11-30 2022-02-01 易识科技(广东)有限责任公司 一种建立双向隧道的控制方法及系统
WO2023143275A1 (zh) * 2022-01-30 2023-08-03 阿里巴巴(中国)有限公司 数据处理方法和系统
CN117714513A (zh) * 2024-02-06 2024-03-15 北京云驰未来科技有限公司 一种基于云端服务器对目标设备进行控制的方法及系统
CN117714513B (zh) * 2024-02-06 2024-04-26 北京云驰未来科技有限公司 一种基于云端服务器对目标设备进行控制的方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932459A (zh) * 2012-11-05 2013-02-13 广州杰赛科技股份有限公司 一种虚拟机的安全控制方法
CN104243210A (zh) * 2014-09-17 2014-12-24 湖北盛天网络技术股份有限公司 远程访问路由器管理页面的方法和系统
CN104618400A (zh) * 2015-03-09 2015-05-13 深圳市茁壮网络股份有限公司 一种局域网的访问方法及装置
US20150295890A1 (en) * 2014-04-15 2015-10-15 Calix, Inc. System and method for secure network communications
CN105007312A (zh) * 2015-07-03 2015-10-28 叶秀兰 一种云计算服务器自适应负载均衡控制方法及控制系统
CN106790636A (zh) * 2017-01-09 2017-05-31 上海承蓝科技股份有限公司 一种云计算服务器集群的均衡负载系统及方法
CN107094119A (zh) * 2017-07-07 2017-08-25 广州市品高软件股份有限公司 一种基于云计算和sdn网络的负载均衡控制方法及系统
CN107181720A (zh) * 2016-03-11 2017-09-19 中兴通讯股份有限公司 一种软件定义网路sdn安全通信的方法及装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102932459A (zh) * 2012-11-05 2013-02-13 广州杰赛科技股份有限公司 一种虚拟机的安全控制方法
US20150295890A1 (en) * 2014-04-15 2015-10-15 Calix, Inc. System and method for secure network communications
CN104243210A (zh) * 2014-09-17 2014-12-24 湖北盛天网络技术股份有限公司 远程访问路由器管理页面的方法和系统
CN104618400A (zh) * 2015-03-09 2015-05-13 深圳市茁壮网络股份有限公司 一种局域网的访问方法及装置
CN105007312A (zh) * 2015-07-03 2015-10-28 叶秀兰 一种云计算服务器自适应负载均衡控制方法及控制系统
CN107181720A (zh) * 2016-03-11 2017-09-19 中兴通讯股份有限公司 一种软件定义网路sdn安全通信的方法及装置
CN106790636A (zh) * 2017-01-09 2017-05-31 上海承蓝科技股份有限公司 一种云计算服务器集群的均衡负载系统及方法
CN107094119A (zh) * 2017-07-07 2017-08-25 广州市品高软件股份有限公司 一种基于云计算和sdn网络的负载均衡控制方法及系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110161870A (zh) * 2019-05-16 2019-08-23 中科物栖(北京)科技有限责任公司 一种物联网设备控制方法及系统
CN114006788A (zh) * 2020-11-30 2022-02-01 易识科技(广东)有限责任公司 一种建立双向隧道的控制方法及系统
CN113806447A (zh) * 2021-09-24 2021-12-17 深信服科技股份有限公司 一种数据同步方法、装置、设备及介质
WO2023143275A1 (zh) * 2022-01-30 2023-08-03 阿里巴巴(中国)有限公司 数据处理方法和系统
CN117714513A (zh) * 2024-02-06 2024-03-15 北京云驰未来科技有限公司 一种基于云端服务器对目标设备进行控制的方法及系统
CN117714513B (zh) * 2024-02-06 2024-04-26 北京云驰未来科技有限公司 一种基于云端服务器对目标设备进行控制的方法及系统

Also Published As

Publication number Publication date
CN109561054B (zh) 2020-12-01

Similar Documents

Publication Publication Date Title
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
CN107347205B (zh) 一种网络切片选择方法、装置及系统
CN109561054A (zh) 一种数据传输方法、控制器及接入设备
CN107592237B (zh) 一种混合云的资源监控方法及系统
CN104811392B (zh) 用于处理网络中的资源访问请求的方法和系统
CN104980494B (zh) 一种具有本地缓存的云存储下载共享平台及方法
CN109818997A (zh) 一种负载均衡方法、系统及存储介质
CN108156013A (zh) 一种页面服务容灾方法、装置及电子设备
CN108933829A (zh) 一种负载均衡方法及装置
CN109085999A (zh) 数据处理方法及处理系统
CN110716787A (zh) 容器地址设置方法、设备和计算机可读存储介质
CN108055314A (zh) 一种集群系统的管理方法与集群系统
CN108683722A (zh) 一种数据传输的方法、esb平台及客户端
CN109639796A (zh) 一种负载均衡实现方法、装置、设备及可读存储介质
CN109561165A (zh) 域名系统配置方法及相关装置
CN104582011B (zh) 一种用于将移动终端连接至网络的方法和装置
CN109729139A (zh) 访问请求转发方法、装置、设备及可读存储介质
CN106648838B (zh) 一种资源池管理的配置方法及装置
CN107959702B (zh) 路由方法和装置
CN107547675A (zh) 一种用户设备迁移方法和装置
CN105357239A (zh) 提供服务的方法和装置、获取服务的方法及装置
CN105681266B (zh) 一种多媒体电话MMTel的通讯集群方法及装置
CN109600436A (zh) 一种分布式iscsi服务实现方法、系统及相关装置
CN103973747A (zh) 一种获取内容的方法和装置
CN112448978B (zh) 数据管理方法及系统

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