CN110971498B - 通信方法、通信装置、电子设备及存储介质 - Google Patents
通信方法、通信装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110971498B CN110971498B CN201811156113.5A CN201811156113A CN110971498B CN 110971498 B CN110971498 B CN 110971498B CN 201811156113 A CN201811156113 A CN 201811156113A CN 110971498 B CN110971498 B CN 110971498B
- Authority
- CN
- China
- Prior art keywords
- communication
- server
- virtual private
- data packet
- communication protocol
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4633—Interconnection of networks using encapsulation techniques, e.g. tunneling
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0407—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the identity of one or more communicating identities is hidden
- H04L63/0421—Anonymous communication, i.e. the party's identifiers are hidden from the other party or parties, e.g. using an anonymizer
-
- 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/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
- H04L63/0478—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload applying multiple layers of encryption, e.g. nested tunnels or encrypting the content with a first key and then with at least a second key
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明的实施例提供了一种通信方法、通信装置、电子设备以及存储介质,涉及通信技术领域。该方法包括:基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道;通过虚拟专用服务器接收终端设备经由通信隧道发送的数据包,所述数据包中包含预设跳点路径,该预设跳点路径包括多个虚拟专用服务器;基于第二通信协议通过预设跳点路径上的虚拟专用服务器将所述数据包转发给与第一通信协议对应的虚拟专用网络服务器;通过虚拟专用网络服务器将所述数据包转发至目标服务器。本发明实施例的技术方案能够控制数据包的通信链路的路径,从而能够实现稳定匿名通信,并且能够提高通信的安全性。
Description
技术领域
本发明涉及通信技术领域,具体而言,涉及一种通信方法、通信装置、电子设备以及计算机可读存储介质。
背景技术
随着互联网技术的发展,网络安全的重要性越来越突出,匿名通信技术成为人们关注的重点。
目前,在一种匿名通信技术方案中,采用洋葱路由技术进行匿名通信,在洋葱路由的网络中,数据被一层层地加密包装成像洋葱一样的数据包,并经由一些被称为洋葱路由器的网络节点转发,每经过一个洋葱路由器会将数据包的最外层解密,到达目的网络节点时得到数据明文。然而,在该技术方案中,仅能通过洋葱路由的网络进行数据传输,难以控制数据流量的传输路径。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本发明背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
本发明实施例的目的在于提供一种通信方法、通信装置、电子设备以及计算机可读存储介质,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
根据本发明实施例的第一方面,提供了一种通信方法,包括:基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道;通过所述虚拟专用服务器接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径,所述预设跳点路径包括多个虚拟专用服务器;基于第二通信协议通过所述预设跳点路径上的虚拟专用服务器将所述数据包转发给与所述第一通信协议对应的虚拟专用网络服务器;通过所述虚拟专用网络服务器将所述数据包转发至目标服务器。
在本发明的一种示例性实施例中,基于前述方案,所述第一通信协议为OpenConnect协议,所述第二通信协议为Socks5协议。
在本发明的一种示例性实施例中,基于前述方案,基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道,包括:接收终端设备发送的通信链路建立请求;从所述通信链路建立请求中提取对应的虚拟专用服务器的网络地址和端口号;基于所述网络地址和端口号建立所述终端设备与所述虚拟专用服务器之间的通信隧道。
在本发明的一种示例性实施例中,基于前述方案,基于第二通信协议通过所述预设跳点路径上的虚拟专用服务器将所述数据包转发给与所述第一通信协议对应的虚拟专用网络服务器,包括:启动所述预设跳点路径上的虚拟专用服务器上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器。
在本发明的一种示例性实施例中,基于前述方案,基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器,包括:获取与所述预设跳点路径上的虚拟专用服务器对应的端口号;基于所述端口号通过所述第二通信协议依次经由所述虚拟专用服务器将所述数据包转发至与所述第一通信协议对应的虚拟专用网络服务器。
在本发明的一种示例性实施例中,基于前述方案,通过所述虚拟专用网络服务器将所述数据包转发至目标服务器,包括:通过所述虚拟专用网络服务器解析所述数据包,将解析后的数据包发送至目标服务器。
在本发明的一种示例性实施例中,基于前述方案,所述第一通信协议采用SSL加密运算进行加密,所述第二通信协议采用AES加密运算进行加密。
根据本发明实施例的第二方面,提供一种通信方法,包括:基于第一通信协议建立与虚拟专用服务器之间的通信隧道;通过所述通信隧道向所述虚拟专用服务器发送包含预设跳点路径数据包,以使所述虚拟专用服务器基于第二通信协议通过所述预设跳点路径将所述数据包转发至目标服务器;其中,所述预设跳点路径包括多个虚拟专用服务器。
根据本发明实施例的第三方面,提供一种通信装置,包括:隧道建立单元,用于基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道;接收单元,用于通过所述虚拟专用服务器接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径;第一转发单元,用于基于第二通信协议通过所述预设跳点路径上的所述虚拟专用服务器将所述数据包转发给与所述第一通信协议对应的虚拟专用网络服务器;第二转发单元,用于通过所述虚拟专用网络服务器将所述数据包转发至目标服务器。
根据本发明实施例的第四方面,提供一种通信装置,包括:隧道建立单元,用于基于第一通信协议建立与虚拟专用服务器之间的通信隧道;数据发送单元,用于通过所述通信隧道向所述虚拟专用服务器发送包含预设跳点路径数据包,以使所述虚拟专用服务器基于第二通信协议通过所述预设跳点路径将所述数据包转发至目标服务器;其中,所述预设跳点路径包括多个虚拟专用服务器。
根据本发明实施例的第五方面,提供一种电子设备,包括:处理器;以及存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如上述第一方面或第二方面所述的通信方法。
根据本发明实施例的第六方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面或第二方面所述的通信方法。
在本发明的一些实施例所提供的技术方案中,一方面,通过第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道,能够通过所述通信隧道在终端设备与虚拟专用服务器之间进行通信;另一方面,接收终端设备经由该通信隧道发送的数据包,基于第二通信协议通过预设跳点路径上的虚拟专用服务器将数据包转发至对应的虚拟专用网络服务器,能够通过预设跳点路径控制数据包的通信链路的路径,从而能够控制数据流量的走向,实现稳定匿名通信;再一方面,通过两种通信协议实现双层加密,提高了通信的安全性。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了根据本发明的一些实施例的通信方法的流程示意图;
图2示出了根据本发明的示例性实施例的移动终端与虚拟专用服务器进行通信的示意图;
图3示出了根据本发明的示例性实施例的移动终端与虚拟专用服务器进行通信的示意图;
图4示出了根据本发明的一示例性实施例的通信装置的示意框图;
图5示出了适于用来实现本发明实施例的电子设备的计算机系统的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本发明将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本发明的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本发明的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
图1示出了根据本发明的一些实施例的通信方法的流程示意图。该通信方法应用于服务器,该服务器上部署有多个虚拟专用服务器。
参照图1所示,在步骤S110中,基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道。
在示例实施例中,第一通信协议为OpenConnect协议或者AnyConnect协议。终端设备可以包括安装有Windows操作系统的设备、安装有Android操作系统的设备、安装有Mac操作系统的设备、安装有Linux操作系统的设备或者安装有iOS操作系统的设备等。在终端设备上部署有Openconnect服务以及Socks服务的客户端。在终端设备处启动Openconnect服务以及Socks服务之后,向服务器发送通信链路建立请求。
VPS(Virtual Private Server,虚拟专用服务器)是一项服务器虚拟化技术,将一部服务器分割成多个虚拟专用服务器的优质服务。每个VPS上独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。
在示例实施例中,VPS上部署有VPN(Virtual Private Network,虚拟专用网络)服务器例如ocserv(OpenConnect VPN Server),并且部署有与第一通信协议对应的服务例如OpenConnect服务以及Socks5服务。
进一步地,在示例实施例中,可以接收终端设备发送的通信链路建立请求;从该通信链路建立请求中提取对应的VPS的网络地址即IP地址和端口号,基于该网络地址和端口号建立终端设备与VPS之间的通信隧道,该通信隧道为VPN隧道。
在步骤S120中,通过所述VPS接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径,所述预设跳点路径包括多个虚拟专用服务器。
在示例实施例中,建立了终端设备与VPS之间的通信隧道后,终端设备可以经由该通信隧道向VPS发送数据,该数据包含预设跳点路径例如多个VPS组成的预设跳点路径。例如,终端设备上点击浏览器上目标网页时,经由该通信隧道向VPS发送数据包,该数据包中包含预设跳点路径,例如VPS2->VPS3->VPS4即从VPS2跳转至VPS3,再从VPS3跳转至VPS4。
在步骤S130中,基于第二通信协议通过所述预设跳点路径上的VPS将所述数据包转发给与所述第一通信协议对应的VPN服务器。
在示例实施例中,第二通信协议为Socks5协议。Socks5协议是一个代理协议,Socks5服务器在使用TCP/IP协议通信的终端设备和服务器之间扮演一个中介角色,使得内部网中的终端设备变得能够访问互联网中的服务器,或者使通讯更加安全。Socks5服务器将内部网中的终端设备发送来的请求消息转发给真正的目标服务器,模拟了一个前端客户端的行为。
在示例实施例中,可以通过预设跳点路径上的VPS上部署的Socks5服务器将数据包转发给预设跳点路径上的最后一个VPS上的VPN服务器,该VPN服务器为与第一通信协议对应的VPN服务器,例如,第一通信协议为OpenConnect协议时,该VPN服务器为ocserv服务器。
在步骤S140中,通过所述VPN服务器处理所述数据包,以向所述终端设备返回响应消息。
在示例实施例中,由于该VPN服务器为与第一通信协议对应的服务器,因此,该VPN服务器能够处理该数据包,将该数据包发送给终端设备要访问的目标服务器,该目标服务器能够对该数据包进行响应,返回相应的响应消息。例如,在终端设备要访问目标服务器上的某一网站时,该目标服务器返回该网站的页面信息。
根据图1的示例实施例中的通信方法,一方面,通过第一通信协议建立终端设备与VPS之间的通信隧道,能够通过所述通信隧道在终端设备与VPS之间进行通信;另一方面,接收终端设备经由该通信隧道发送的数据包,基于第二通信协议通过预设跳点路径上的VPS将数据包转发至对应的VPN服务器,能够通过预设跳点路径控制数据包的通信链路的路径,从而能够控制数据流量的走向,实现稳定匿名通信;再一方面,通过两种通信协议实现双层加密,提高了通信的安全性。
进一步地,在一些实施例中,在通过预设跳点路径上的VPS将数据包转发给与所述第一通信协议对应的VPN服务器之前,启动预设跳点路径上的VPS上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将数据包经由预设跳点路径转发至与第一通信协议对应的VPN服务器。由于全部采用了TCP协议进行转发,提高了识别难度,方便添加流量混淆、协议混淆等功能,进一步提高了通信安全性。
此外,在示例实施例中,在第一通信协议为OpenConnect协议,第二通信协议为Socks5协议时,第一通信协议采用SSL加密运算的方式进行加密,第二通信协议采用AES对称加密的方式进行加密,并且采用256位流加密。结合第一通信协议和第二通信协议进行双层加密,提高了通信的安全性。
图2示出了根据本发明的示例性实施例的移动终端与VPS服务器进行通信的示意图。
参照图2所示,该通信系统包括终端设备210、链路控制模块220以及VPS服务器230。其中,终端设备210上部署有OpenConnect客户端以及Socks5客户端,链路控制模块220用于基于终端设备210发送的链路指定消息启动VPS服务器230上对应的TCP流量中转服务。VPS服务器230上部署有Socks5服务、OpenConnect服务、TCP中转服务以及链路客户端,链路客户端用于启动VPS服务器上对应的服务。
下面,对终端设备210、链路控制模块220以及VPS服务器230之间的交互过程进行详细的描述。
在步骤S21中,终端设备210向链路控制模块220发送链路指定消息,以及接收链路控制模块220返回的需要连接的IP地址和端口号。该链路指定消息中包含预定跳点路径例如VPS1->VPS2->VPS3->VPS4。
在步骤S22中,链路控制模块220将链路指定消息发送至VPS服务器上部署的链路客户端。
在步骤S23中,通过链路客户端启动VPS1至VPS4上的TCP中转服务,该TCP中转服务基于端口进行转发。
在步骤S24中,终端设备210启动OpenConnect服务以及Socks5服务,连接与链路控制模块220返回的IP地址和端口号对应的VPS,即与对应的VPS建立VPN通信隧道。
在步骤S25中,VPS服务器230启动Socks5服务,将终端设备210通过OpenConnect协议发送的数据包转发给与OpenConnect协议对应的VPN服务器。
图3示出了根据本发明的示例性实施例的移动终端与VPS服务器进行通信的示意图。
参照图3所示,在步骤S31中,终端设备210将包含预定跳点路径的链路指定消息发送至链路控制模块220,该预定跳点路径为VPS2->VPS3->VPS4。
在步骤S32中,终端设备210接收链路控制模块220返回的待连接的VPS的IP地址和端口号。
在步骤S33中,链路控制模块220将链路指定消息发送到对应的VPS服务器,以使VPS服务器启动TCP流量中转服务。
在步骤S34中,终端设备210启动Socks5客户端与OpenConnect客户端,并启动OpenConnect客户端连接OpenConnect服务器即ocserv服务器。
在步骤S35中,启动VPS服务器上部署的TCP流量中转服务,VPS服务器上部署的Socks5服务器监听本地端口,在接收到终端设备210上的客户端发送的数据包时,根据预定跳点路径将接收的数据包转发到对应的VPS的端口。例如,在图3中,VPS2监听10001端口,将接收的数据包转发到VPS3的10003端口;VPS3监听VPS2的10002端口;将接收的数据包转发到VPS4的9999端口,VPS上部署的Socks5服务器监听9999端口,在监听到接收到Socks5客户端发送的数据包时,解析该数据包,并把解析后的数据包转发到OpenConnect服务器即ocserv服务器,通过ocserv服务器将数据包转发到终端设备真正要访问的目标服务器。
此外,在本发明的实施例中,还提供了一种通信方法,该通信方法应用终端设备侧,终端设备可以包括安装有Windows操作系统的设备、安装有Android操作系统的设备、安装有Mac操作系统的设备、安装有Linux操作系统的设备或者安装有iOS操作系统的设备等。在终端设备上部署有Openconnect服务以及Socks服务的客户端。
该通信方法包括:基于第一通信协议建立与虚拟专用服务器之间的通信隧道;通过所述通信隧道向所述虚拟专用服务器发送包含预设跳点路径数据包,以使所述虚拟专用服务器基于第二通信协议通过所述预设跳点路径将所述数据包转发至目标服务器;其中,所述预设跳点路径包括多个虚拟专用服务器。其中,第一通信协议为OpenConnect协议,所述第二通信协议为Socks5协议。由于该通信方法的各步骤的具体实现在上述实施例中已进行了描述,在此不再赘述。
此外,在本发明的实施例中,还提供了一种通信装置。参照图4所示,该通信装置400包括:隧道建立单元410、接收单元420、第一转发单元430以及第二转发单元440。其中,隧道建立单元410用于基于第一通信协议建立终端设备与虚拟专用服务器VPS之间的通信隧道;接收单元420用于通过所述VPS接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径;第一转发单元430用于基于第二通信协议通过所述预设跳点路径上的所述虚拟专用服务器将所述数据包转发给与所述第一通信协议对应的虚拟专用网络服务器;第二转发单元440用于通过所述虚拟专用网络服务器将所述数据包转发至目标服务器。
在本发明的一种示例性实施例中,所述第一通信协议为OpenConnect协议,所述第二通信协议为Socks5协议。
在本发明的一种示例性实施例中,基于前述方案,隧道建立单元410包括:请求接收单元,用于接收终端设备发送的通信链路建立请求;提取单元,用于从所述通信链路建立请求中提取对应的虚拟专用服务器的网络地址和端口号;建立单元,用于基于所述网络地址和端口号建立所述终端设备与所述虚拟专用服务器之间的通信隧道。
在本发明的一种示例性实施例中,基于前述方案,第一转发单元430被配置为:启动所述预设跳点路径上的VPS上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器。
在本发明的一种示例性实施例中,基于前述方案,第一转发单元430还被配置为:获取与所述预设跳点路径上的VPS对应的端口号;基于所述端口号通过所述第二通信协议依次经由所述VPS将所述数据包转发至与所述第一通信协议对应的虚拟专用网络服务器。
在本发明的一种示例性实施例中,基于前述方案,第二转发单元440被配置为:通过所述虚拟专用网络服务器解析所述数据包,将解析后的数据包发送至目标服务器。
在本发明的一种示例性实施例中,基于前述方案,所述第一通信协议采用SSL加密运算进行加密,所述第二通信协议采用AES加密运算进行加密。
由于本发明的示例实施例的通信装置400的各个功能模块与上述通信方法的示例实施例的步骤对应,因此在此不再赘述。
此外,在本发明的实施例中,还提供了一种通信装置,包括:隧道建立单元,用于基于第一通信协议建立与虚拟专用服务器之间的通信隧道;数据发送单元,用于通过所述通信隧道向所述虚拟专用服务器发送包含预设跳点路径数据包,以使所述虚拟专用服务器基于第二通信协议通过所述预设跳点路径将所述数据包转发至目标服务器;其中,所述预设跳点路径包括多个虚拟专用服务器。由于本发明的示例实施例的通信装置的各个功能模块与上述通信方法的示例实施例的步骤对应,因此在此不再赘述。
在本发明的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
下面参考图5,其示出了适于用来实现本发明实施例的电子设备的计算机系统500的结构示意图。图5示出的电子设备的计算机系统500仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算机系统500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储部分508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有系统操作所需的各种程序和数据。CPU501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
以下部件连接至I/O接口505:包括键盘、鼠标等的输入部分506;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分507;包括硬盘等的存储部分508;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分509。通信部分509经由诸如因特网的网络执行通信处理。驱动器510也根据需要连接至I/O接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需要被安装入存储部分508。
特别地,根据本发明的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本发明的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。在该计算机程序被中央处理单元(CPU)501执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本发明所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的通信方法。
例如,所述电子设备可以实现如图1中所示的:步骤S110,基于第一通信协议建立终端设备与虚拟专用服务器VPS之间的通信隧道;步骤S120,通过所述VPS接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径,所述预设跳点路径包括多个VPS;步骤S130,基于第二通信协议通过所述预设跳点路径上的VPS将所述数据包转发给与所述第一通信协议对应的虚拟专用网络服务器;步骤S140,通过所述虚拟专用网络服务器将所述数据包转发至目标服务器。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备或装置的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本发明的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本发明实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本申请旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
Claims (11)
1.一种通信方法,其特征在于,包括:
基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道;
通过所述虚拟专用服务器接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径,所述预设跳点路径包括多个虚拟专用服务器;
启动所述预设跳点路径上的虚拟专用服务器上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器;
通过所述虚拟专用网络服务器将所述数据包转发至目标服务器。
2.根据权利要求1所述的通信方法,其特征在于,所述第一通信协议为OpenConnect协议,所述第二通信协议为Socks5协议。
3.根据权利要求1所述的通信方法,其特征在于,基于第一通信协议建立终端设备与虚拟专用服务器之间的通信隧道,包括:
接收终端设备发送的通信链路建立请求;
从所述通信链路建立请求中提取对应的虚拟专用服务器的网络地址和端口号;
基于所述网络地址和端口号建立所述终端设备与所述虚拟专用服务器之间的通信隧道。
4.根据权利要求1所述的通信方法,其特征在于,基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器,包括:
获取与所述预设跳点路径上的虚拟专用服务器对应的端口号;
基于所述端口号通过所述第二通信协议依次经由所述虚拟专用服务器将所述数据包转发至与所述第一通信协议对应的虚拟专用网络服务器。
5.根据权利要求1所述的通信方法,其特征在于,通过所述虚拟专用网络服务器将所述数据包转发至目标服务器,包括:
通过所述虚拟专用网络服务器解析所述数据包,将解析后的数据包发送至目标服务器。
6.根据权利要求1至5中任一项所述的通信方法,其特征在于,所述第一通信协议采用SSL加密运算进行加密,所述第二通信协议采用AES加密运算进行加密。
7.一种通信方法,其特征在于,包括:
基于第一通信协议建立与虚拟专用服务器之间的通信隧道;
通过所述通信隧道向所述虚拟专用服务器发送包含预设跳点路径数据包,以使所述虚拟专用服务器基于第二通信协议通过所述预设跳点路径将所述数据包转发至目标服务器;包括,启动所述预设跳点路径上的虚拟专用服务器上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器;
其中,所述预设跳点路径包括多个虚拟专用服务器。
8.一种通信装置,其特征在于,包括:
隧道建立单元,用于基于第一通信协议建立终端设备与虚拟专用服务器虚拟专用服务器之间的通信隧道;
接收单元,用于通过所述虚拟专用服务器接收所述终端设备经由所述通信隧道发送的数据包,所述数据包中包含预设跳点路径;
第一转发单元,用于启动所述预设跳点路径上的虚拟专用服务器上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器;
第二转发单元,用于通过所述虚拟专用网络服务器将所述数据包转发至目标服务器。
9.一种通信装置,其特征在于,包括:
隧道建立单元,用于基于第一通信协议建立与虚拟专用服务器之间的通信隧道;
数据发送单元,用于通过所述通信隧道向所述虚拟专用服务器发送包含预设跳点路径数据包,以使所述虚拟专用服务器基于第二通信协议通过所述预设跳点路径将所述数据包转发至目标服务器;包括:启动所述预设跳点路径上的虚拟专用服务器上部署的TCP中转服务;通过所述TCP中转服务基于第二通信协议将所述数据包经由所述预设跳点路径转发至与所述第一通信协议对应的虚拟专用网络服务器;
其中,所述预设跳点路径包括多个虚拟专用服务器。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时实现如权利要求1至7中任一项所述的通信方法。
11.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的通信方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811156113.5A CN110971498B (zh) | 2018-09-30 | 2018-09-30 | 通信方法、通信装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811156113.5A CN110971498B (zh) | 2018-09-30 | 2018-09-30 | 通信方法、通信装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110971498A CN110971498A (zh) | 2020-04-07 |
CN110971498B true CN110971498B (zh) | 2022-09-30 |
Family
ID=70028757
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811156113.5A Active CN110971498B (zh) | 2018-09-30 | 2018-09-30 | 通信方法、通信装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110971498B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112667359B (zh) * | 2020-12-30 | 2024-01-30 | 深圳市科思科技股份有限公司 | 数据透传方法、电子设备及存储介质 |
CN114268499B (zh) * | 2021-12-23 | 2024-03-12 | 北京天融信网络安全技术有限公司 | 数据传输方法、装置、系统、设备和存储介质 |
CN114257455A (zh) * | 2021-12-28 | 2022-03-29 | 北京爱学习博乐教育科技有限公司 | 企业vpn使用动态密码连接的方法及系统 |
CN114867077B (zh) * | 2022-04-12 | 2023-11-07 | 中国电信股份有限公司 | 多跳路由实现方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917725A (zh) * | 2014-03-11 | 2015-09-16 | 上海卓岚信息科技有限公司 | 一种跨nat的串口服务器与网络设备的通信方法及系统 |
CN106713320A (zh) * | 2016-12-23 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 终端数据传输的方法和装置 |
CN107040445A (zh) * | 2017-03-13 | 2017-08-11 | 安徽新华博信息技术股份有限公司 | 一种多跳vpn隧道的实现方法 |
CN108063712A (zh) * | 2016-11-09 | 2018-05-22 | 北京国双科技有限公司 | 一种网络请求的发送方法及装置 |
CN108370377A (zh) * | 2015-12-11 | 2018-08-03 | 微软技术许可有限责任公司 | 虚拟专用网络聚合 |
-
2018
- 2018-09-30 CN CN201811156113.5A patent/CN110971498B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917725A (zh) * | 2014-03-11 | 2015-09-16 | 上海卓岚信息科技有限公司 | 一种跨nat的串口服务器与网络设备的通信方法及系统 |
CN108370377A (zh) * | 2015-12-11 | 2018-08-03 | 微软技术许可有限责任公司 | 虚拟专用网络聚合 |
CN108063712A (zh) * | 2016-11-09 | 2018-05-22 | 北京国双科技有限公司 | 一种网络请求的发送方法及装置 |
CN106713320A (zh) * | 2016-12-23 | 2017-05-24 | 腾讯科技(深圳)有限公司 | 终端数据传输的方法和装置 |
CN107040445A (zh) * | 2017-03-13 | 2017-08-11 | 安徽新华博信息技术股份有限公司 | 一种多跳vpn隧道的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110971498A (zh) | 2020-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110971498B (zh) | 通信方法、通信装置、电子设备及存储介质 | |
CN113132201B (zh) | 一种vpc之间的通信方法及装置 | |
AU2014236926B2 (en) | Software-defined multinetwork bridge | |
US10250646B2 (en) | Method and device for establishing channel | |
CN107113342B (zh) | 使用软件定义网络的中继优化 | |
CN104506670B (zh) | 建立网游连接的方法、设备及系统 | |
EP3101849A1 (en) | Flow table entry generation method and device | |
US20160226815A1 (en) | System and method for communicating in an ssl vpn | |
US10454880B2 (en) | IP packet processing method and apparatus, and network system | |
US20140269728A1 (en) | Processing data packets using a policy based network path | |
EP3790239B1 (en) | Network access method and device for edge router | |
US9350711B2 (en) | Data transmission method, system, and apparatus | |
EP2760174A1 (en) | Virtual private cloud access authentication method and related apparatus | |
TW201229779A (en) | Providing virtual networks using multi-tenant relays | |
CN102148767A (zh) | 一种基于nat的数据路由方法及其装置 | |
CN112187491B (zh) | 服务器的管理方法、装置和设备 | |
US20170054688A1 (en) | Avc bi-directional correlation using an overlay fabric header | |
CN106464596A (zh) | 开放流通信方法、系统、控制器和业务网关 | |
WO2014206354A1 (zh) | 一种流量工程标签交换路径的建立方法、设备和系统 | |
Caviglione et al. | A deep analysis on future web technologies and protocols over broadband GEO satellite networks | |
CN113472625B (zh) | 基于移动互联网的透明桥接方法、系统、设备及存储介质 | |
TW201125335A (en) | Method for address translator traversal in 3GPP networks | |
CN114518909A (zh) | 基于api网关的授权信息配置方法、装置、设备和存储介质 | |
CN110995730B (zh) | 数据传输方法、装置、代理服务器和代理服务器集群 | |
CN113542431A (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 |