CN114157534A - 一种基于分布式的多支流vpn通信、系统、存储介质 - Google Patents

一种基于分布式的多支流vpn通信、系统、存储介质 Download PDF

Info

Publication number
CN114157534A
CN114157534A CN202111525215.1A CN202111525215A CN114157534A CN 114157534 A CN114157534 A CN 114157534A CN 202111525215 A CN202111525215 A CN 202111525215A CN 114157534 A CN114157534 A CN 114157534A
Authority
CN
China
Prior art keywords
terminal
vpn
link
layer
communication
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
CN202111525215.1A
Other languages
English (en)
Other versions
CN114157534B (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.)
DELTA NETWORKS (XIAMEN) Ltd
Original Assignee
DELTA NETWORKS (XIAMEN) 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 DELTA NETWORKS (XIAMEN) Ltd filed Critical DELTA NETWORKS (XIAMEN) Ltd
Priority to CN202111525215.1A priority Critical patent/CN114157534B/zh
Publication of CN114157534A publication Critical patent/CN114157534A/zh
Application granted granted Critical
Publication of CN114157534B publication Critical patent/CN114157534B/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
    • 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/4641Virtual LANs, VLANs, e.g. virtual private networks [VPN]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明涉及一种基于分布式的多支流VPN通信方法、系统、存储介质,包含以下步骤:探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量;响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流;将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。多支流通信和VPN层相结合,保证点对点通信链路不受单点故障影响,保证充分利用网络冗余带宽,保证某个通信链路段出故障时能做冗余切换而丝毫不出现通信断链。

Description

一种基于分布式的多支流VPN通信、系统、存储介质
技术领域
本发明涉及VPN通信领域,具体指有一种基于分布式的多支流VPN通信、系统、存储介质。
背景技术
分布式服务器是指数据不存储在单一的服务器,而是分别部署在不同的节点。其可以通过点对点传输进行通信,以点对点的连接方式,把各个服务器连接起来。在基于分布式服务器的跨区域machine-to-machine通信应用中,如何利用和选择两点之间的通信链路往往对通信质量起决定作用。
然而,在当前跨区域点对点通信应用中,即使知道网络出现问题,由于网络连接基本上是动态选路,容易出现单点故障问题,而且由于各种因素,客户端在跨服务器之间的通信经常出现长时间不能得到恢复的问题。在网络单点故障诊断的过程中,往往是通信链路中间节点的服务器出现故障,客户端通信发生通信超时,再选择其它服务器重新连接,特别对于需要低延时高可用的应用,用户体验非常不友好,经常出现客户端到服务器通信链路没问题,但是客户端经由服务器再到客户端的通信却得不到保障,进而影响到整个系统服务的稳定性,系统运营与技术支持人员非常被动。
针对上述的现有技术存在的问题设计一种基于分布式的多支流VPN通信、系统、存储介质是本发明研究的目的。
发明内容
针对上述现有技术存在的问题,本发明在于提供一种基于分布式的多支流VPN通信、系统、存储介质,能够有效解决上述现有技术存在的问题。
本发明的技术方案是:
一种基于分布式的多支流VPN通信方法,包含以下步骤:
探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量;
响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流;
将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。
进一步地,所述计算不同的中转服务器之间的链路通信质量包括:
根据网络丢包和/或时延情况,计算不同的中转服务器之间的链路通信质量。
进一步地,所述根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径包括:
以各个所述中转服务器为节点,以所述链路通信质量为连接相应的节点的权重,建立表示链路通信质量的第一有向图;
第一终端和第二终端分别探测各个所述中转服务器,计算第一终端到各个所述中转服务器的链路通信质量,计算第二终端到各个中转服务器的链路通信质量;
根据第一终端到各个所述中转服务器的链路通信质量、第二终端到各个中转服务器的链路通信质量拓展所述第一有向图得到第二有向图;
根据所述第二有向图寻找所述第一终端到所述第二终端之间通信质量最好的多个路径。
进一步地,所述将多个所述支流的传输方式实现为二层链路的VPN层。
进一步地,所述将多个所述支流的传输方式实现为二层链路的VPN层包括:
所述第一终端依赖于第一客户端组件,所述第二终端依赖于第二客户端组件,各个所述中转服务器依赖于服务端组件,所述第一客户端组件和所述第二客户端组件均提供相应的接口给上层调用。
进一步地,所述客户端组件至少包括虚拟网络接口模块、多支流收发模块,所述服务端组件至少包括支流选择模块。
进一步地,将多个所述支流的传输方式实现为VPN层包括:
所述客户端组件通过相应的所述虚拟网络接口模块接收和/或发送上层数据;
将所述上层数据转发至所述多支流收发模块;
通过所述多支流收发模块和相应的所述中转服务器建立连接;
通过多个所述支流组成二层VPN链路,进而实现为VPN层。
进一步地,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信包括:
将所述数据分解为链路层数据包并转发至所述VPN层;
所述VPN层对所述链路层数据包分发至多个所述支流至对端。
进一步提供一种基于分布式的多支流VPN通信系统,包括以下模块:
链路通信质量计算模块,用于探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量;
多支流建立模块,用于响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流;
通信模块,用于将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。
进一步提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现所述的一种基于分布式的多支流VPN通信方法。
因此,本发明提供以下的效果和/或优点:
本发明提供的方法,通过选择通信质量最好的多个路径建立起多个支流,将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现基于分布式服务器多支流冗余的点对点通信,改变了传统单支流通信的工作模式,通过实现为多支流通信和VPN层相结合,保证点对点通信链路不受单点故障影响,保证充分利用网络冗余带宽,保证某个通信链路段出故障时能做冗余切换而丝毫不出现通信断链。多支流冗余技术与VPN技术的结合,使本专利的应用灵活性大大提高,方便与各种应用层软件的结合。
本发明提供的方法通过建立有向图,实现发送和接受端之间数据流的最优多个路径传输。通过与VPN技术的结合,大大简化了多支流传输技术与现有技术的结合难度,可实现现有通讯软件与本技术的无缝整合。
本发明基于分布式的中转服务器,其是分布式架构,支持服务器动态部署扩容,服务器加入或离开不会影响当前通信链路。
应当明白,本发明的上文的概述和下面的详细说明是示例性和解释性的,并且意在提供对如要求保护的本发明的进一步的解释。
附图说明
图1为本发明的流程示意图。
图2为本发明的第一有向图示意图。
具体实施方式
为了便于本领域技术人员理解,现将实施例结合附图对本发明作进一步详细描述:应了解到,在本实施例中所提及的步骤,除特别说明其顺序的,均可依实际需要调其前后顺序,甚至可同时或部分同时执行,
参考图1,一种基于分布式的多支流VPN通信方法,包含以下步骤:
步骤1,在云端中搭建多个中转服务器S{i}(S1、S2、S3…、Si),中转服务器能够实现网闸的功能,确保在两个物理隔离的网络间就是定期交换预先设定好的数据;探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量。通常服务器之间主要是通信延时和丢包率,在其他实施例中也可以是其他方法探测通信质量,在此不做限定。通过此步骤,获取到了中转服务器S1到中转服务器S2、中转服务器S1到中转服务器S3…中转服务器Sn到中转服务器Sn-1的各个中转服务器之间的链路通信质量。
步骤2,响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流。
在第一终端和第二终端加入通信之后,从不同的中转服务器、第一终端和第二终端之间寻找链路通信质量最好的多个路径,建立多个支流。在本实施例中,多个支流的数量可以是2-10,本实施例具体为3个支流。此时,我们建立了3个支流,用于第一终端和第二终端之间的通信。同一设备中的不同支流可以配置为通过不同物理层建立,例如同时通过以太网口、WiFi,4G建立与对端的通讯支流,从而实现不同物理层带宽的聚合,大大提高网络数据吞吐量。在其他实施例中也可以是2个支流、4个支流…10个支流。
在一个典型的通信过程中,假设第一终端和第二终端都不处在公网而是在私网中,而第一终端和第二终端通信依赖于第一终端和第二终端之间的中转服务器,第一终端和第二终端通信的质量取决于第一终端到中转服务器A、中转服务器B之间、第二终端到中转服务器B这3个通信链路段的通信质量。
步骤3,将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。
当第一终端和第二终端两终端间需要进行TCP或UDP通讯时,发送端的数据有可能经过不同支流到达对端,此时对数据做汇聚到同一个传输层的数据流中,以实现与应用层软件的无缝对接。为此,本专利提出将多支流传输方式与VPN技术相结合。其中,若第一终端向第二终端发送数据,则第一终端定义为发送端,第二终端定义为接收端或对端。本步骤将多支流传输方式实现为VPN层,在VPN层实现第一终端和第二终端间的多支流传输。并且利用操作系统在网络层及传输层自带的封包重组与排序功能,使多支流传输方式可以很好地与现有系统结合,简化系统复杂性,完成多支流传输,保证了数据链路的冗余,避免了单链路故障。通过多支流与VPN技术的结合,大大简化了多支流传输技术与现有技术的结合难度,可实现现有通讯软件与本实施例的无缝整合。
现有技术基本是由第一终端动态选择一个即时最佳服务器Sa,由第二终端动态选择一个即时最佳服务器Sb,建立一条第一终端到第二终端之间的通信链路。其中服务器Sa和Sb有可能是同一台,也有可能不是同一台,具体要根据部署情况来定。服务器S{i}集合确实能协助第一终端和第二终端做数据中转,但是在第一终端到S{i}、S{i}之间、第二终端到S{i}这3个通信链路段都可能存在网络抖动,只要其中一个通信链路段不稳定或失效,则第一终端到第二终端的通信就会大受影响,轻则出现高延时或丢包,重则断线重连进而导致业务中断。
进一步地,所述计算不同的中转服务器之间的链路通信质量包括:
根据网络丢包和/或时延情况,计算不同的中转服务器之间的链路通信质量。网络丢包是我们在使用ping对目站进行询问时,数据包由于各种原因在信道中丢失的现象,网络时延,指的是数据包在网络上传输所花费的时间。本实施例通过网络丢包和/或时延情况,即可简单、快速地判断链路通信质量。
下面介绍寻找所述第一终端到所述第二终端之间通信质量最好的多个路径的方法。
进一步地,所述根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径包括:
步骤2.1,以各个所述中转服务器为节点,以所述链路通信质量为连接相应的节点的权重,建立表示链路通信质量的第一有向图;
本实施例中,以各个中转服务器为节点,W为连接节点的权重,根据所述不同的中转服务器之间的链路通信质量,例如图2中S{i}表示中转服务器,W表示中转服务器S到另一个中转服务器S的权重,为了便于表示,图中只画出了部分权重。建立表示通讯质量的第一有向图,如图2所示。
步骤2.2,第一终端和第二终端分别探测各个所述中转服务器,计算第一终端到各个所述中转服务器的链路通信质量,计算第二终端到各个中转服务器的链路通信质量。
当第一终端和第二终端接入中转服务器后,分别计算到各个中转服务器的链路质量,其中用Wai表示第一终端到各个所述中转服务器的链路通信质量,Wbi表示第一终端到各个所述中转服务器的链路通信质量。
步骤2.3,根据第一终端到各个所述中转服务器的链路通信质量、第二终端到各个中转服务器的链路通信质量拓展所述第一有向图得到第二有向图;并根据Wai和Wbi拓展有向图P。
步骤2.4,根据所述第二有向图寻找所述第一终端到所述第二终端之间通信质量最好的多个路径。
此时,第一终端可以作为发送终端、第二终端可以作为接收终端,第一终端也可以作为接收终端、第二终端可以作为发送终端。若第一终端作为发送终端、第二终端作为接收终端,则以第一终端出发,根据所述第二有向图找出从第一终端到第二终端的通讯质量最好的3个路径,对应建立起3个支流,用于第一终端到第二终端的通讯。若第一终端作为发送终端、第二终端作为接收终端,则原理与上述类似。
接下来,介绍多支流传输实现为VPN的方法。
进一步地,所述将多个所述支流的传输方式实现为二层链路的VPN层,从而第一终端和第二终端之间可以收发以太网二层报文
进一步地,所述将多个所述支流的传输方式实现为二层链路的VPN层包括:
所述第一终端依赖于第一客户端组件ClientA,所述第二终端依赖于第二客户端组件ClientB,各个所述中转服务器依赖于服务端组件Server API,所述第一客户端组件ClientA和所述第二客户端组件ClientB均提供相应的接口给上层调用。
进一步地,所述客户端组件至少包括虚拟网络接口模块、多支流收发模块,所述服务端组件至少包括支流选择模块。
真实的网络接口连在实际的物理链路上,自然有正常的收发报文,并且一般通过中断进行通知。本实施例中,对于虚拟网络接口模块来说,其内核带有设计好的框架,只要进行适当的接口调用,内核就会把数据包传递给你创建的虚拟网络接口,可以实现虚拟网络,也就是VPN,ClientA或ClientB内部都依赖该虚拟网络接口模块收发上层数据,并把数据转发到内部的多支流收发模块。
多支流收发模块基于TCP或UDP协议和各中转服务器建立连接并完成认证后,分别查询服务端组件Server API,选择从第一终端到第二终端通讯质量最好的3个路径,分别在第一终端到第二终端之间建立起3个支流(TCP或者UDP),这些支流组成了实际的二层VPN承载链路。对于应用层和传输层来说,只需要调用客户端组件API收发数据,使用方式和普通socketapi收发数据没有任何区别。
因此,将多个所述支流的传输方式实现为VPN层可以通过以下步骤实现:
步骤3.1,所述客户端组件通过相应的所述虚拟网络接口模块接收和/或发送上层数据;
步骤3.2,将所述上层数据转发至所述多支流收发模块;
步骤3.3,通过所述多支流收发模块和相应的所述中转服务器建立连接;
步骤3.4,通过多个所述支流组成二层VPN链路,进而实现为VPN层。
进一步地,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信包括:
步骤3.5,将所述数据分解为链路层数据包并转发至所述VPN层。
当数据需要从第一终端发送到第二终端时,第一终端的操作系统会将数据流分解为链路层数据包交给VPN层。数据包到达数据链路层后加上数据链路层的协议头和协议尾就构成了一个数据帧。在每个帧的前部加上一个帧头部,在帧的结尾处加上一个帧尾部,把网络层的数据包作为帧的数据部分,就构成了一个完整帧。操作系统将此完整的帧交给VPN层。
步骤3.6,所述VPN层对所述链路层数据包分发至多个所述支流至对端。分发至多个支流可以通过以下步骤实现:
步骤3.6.1,对K个支流,将每个支流链路质量归一化为正整数Wi(i=1,2,..,K),令
Figure BDA0003410100520000101
步骤3.6.2,生成一个在0和W之间的随机正整数x,如果
Figure BDA0003410100520000102
Figure BDA0003410100520000103
则选择支流i用于传输。
通过上述步骤,即可简单地实现对每个支流链路质量做一个初步的判断并归一化为正整数,再生成随机正整数,判断该随机正整数的区间范围,进而简单地在多个支流中选择链路质量更好的支流发送更多的数据,选择链路质量更低的支流发送更少的数据。
实施例二
一种基于分布式的多支流VPN通信系统,包括以下模块:
链路通信质量计算模块,用于探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量;
多支流建立模块,用于响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流;
通信模块,用于将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。
本实施例的工作模式与实施例一基本相同,在此不再赘述。
实施例三
进一步提供一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现实施例一所述的一种基于分布式的多支流VPN通信方法。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
应当注意的是,在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的部件或步骤。位于部件之前的单词“一”或“一个”不排除存在多个这样的部件。本发明可以借助于包括有若干不同部件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不应理解为必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

Claims (10)

1.一种基于分布式的多支流VPN通信方法,其特征在于:包含以下步骤:
探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量;
响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流;
将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。
2.根据权利要求1所述的一种基于分布式的多支流VPN通信方法,其特征在于:所述计算不同的中转服务器之间的链路通信质量包括:
根据网络丢包和/或时延情况,计算不同的中转服务器之间的链路通信质量。
3.根据权利要求2所述的一种基于分布式的多支流VPN通信方法,其特征在于:所述根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径包括:
以各个所述中转服务器为节点,以所述链路通信质量为连接相应的节点的权重,建立表示链路通信质量的第一有向图;
第一终端和第二终端分别探测各个所述中转服务器,计算第一终端到各个所述中转服务器的链路通信质量,计算第二终端到各个中转服务器的链路通信质量;
根据第一终端到各个所述中转服务器的链路通信质量、第二终端到各个中转服务器的链路通信质量拓展所述第一有向图得到第二有向图;
根据所述第二有向图寻找所述第一终端到所述第二终端之间通信质量最好的多个路径。
4.根据权利要求1所述的一种基于分布式的多支流VPN通信方法,其特征在于:所述将多个所述支流的传输方式实现为二层链路的VPN层。
5.根据权利要求4所述的一种基于分布式的多支流VPN通信方法,其特征在于:所述将多个所述支流的传输方式实现为二层链路的VPN层包括:
所述第一终端依赖于第一客户端组件,所述第二终端依赖于第二客户端组件,各个所述中转服务器依赖于服务端组件,所述第一客户端组件和所述第二客户端组件均提供相应的接口给上层调用。
6.根据权利要求5所述的一种基于分布式的多支流VPN通信方法,其特征在于:所述客户端组件至少包括虚拟网络接口模块、多支流收发模块,所述服务端组件至少包括支流选择模块。
7.根据权利要求6所述的一种基于分布式的多支流VPN通信方法,其特征在于:将多个所述支流的传输方式实现为VPN层包括:
所述客户端组件通过相应的所述虚拟网络接口模块接收和/或发送上层数据;
将所述上层数据转发至所述多支流收发模块;
通过所述多支流收发模块和相应的所述中转服务器建立连接;
通过多个所述支流组成二层VPN链路,进而实现为VPN层。
8.根据权利要求7所述的一种基于分布式的多支流VPN通信方法,其特征在于:在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信包括:
将所述数据分解为链路层数据包并转发至所述VPN层;
所述VPN层对所述链路层数据包分发至多个所述支流至对端。
9.一种基于分布式的多支流VPN通信系统,其特征在于:包括以下模块:
链路通信质量计算模块,用于探测各个中转服务器的通信质量,计算不同的中转服务器之间的链路通信质量;
多支流建立模块,用于响应于第一终端和第二终端加入通信,根据所述不同的中转服务器之间的链路通信质量寻找所述第一终端到所述第二终端之间通信质量最好的多个路径,建立多个支流;
通信模块,用于将多个所述支流的传输方式实现为VPN层,在所述VPN层传输链路层数据包,实现在所述第一终端和所述第二终端之间通信。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的一种基于分布式的多支流VPN通信方法。
CN202111525215.1A 2021-12-14 2021-12-14 一种基于分布式的多支流vpn通信、系统、存储介质 Active CN114157534B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111525215.1A CN114157534B (zh) 2021-12-14 2021-12-14 一种基于分布式的多支流vpn通信、系统、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111525215.1A CN114157534B (zh) 2021-12-14 2021-12-14 一种基于分布式的多支流vpn通信、系统、存储介质

Publications (2)

Publication Number Publication Date
CN114157534A true CN114157534A (zh) 2022-03-08
CN114157534B CN114157534B (zh) 2023-04-25

Family

ID=80450958

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111525215.1A Active CN114157534B (zh) 2021-12-14 2021-12-14 一种基于分布式的多支流vpn通信、系统、存储介质

Country Status (1)

Country Link
CN (1) CN114157534B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050185647A1 (en) * 2003-11-11 2005-08-25 Rao Goutham P. System, apparatus and method for establishing a secured communications link to form a virtual private network at a network protocol layer other than at which packets are filtered
CN106302213A (zh) * 2016-08-02 2017-01-04 无锡天脉聚源传媒科技有限公司 一种数据传输的方法及装置
WO2018098633A1 (zh) * 2016-11-29 2018-06-07 深圳前海达闼云端智能科技有限公司 数据传输方法、数据传输装置、电子设备和计算机程序产品
CN113708979A (zh) * 2021-09-29 2021-11-26 深圳市腾讯网域计算机网络有限公司 网络加速的方法和装置
CN113726648A (zh) * 2021-08-27 2021-11-30 中国电信股份有限公司 多路径通信方法、装置、电子设备及计算机可读介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050185647A1 (en) * 2003-11-11 2005-08-25 Rao Goutham P. System, apparatus and method for establishing a secured communications link to form a virtual private network at a network protocol layer other than at which packets are filtered
CN106302213A (zh) * 2016-08-02 2017-01-04 无锡天脉聚源传媒科技有限公司 一种数据传输的方法及装置
WO2018098633A1 (zh) * 2016-11-29 2018-06-07 深圳前海达闼云端智能科技有限公司 数据传输方法、数据传输装置、电子设备和计算机程序产品
CN113726648A (zh) * 2021-08-27 2021-11-30 中国电信股份有限公司 多路径通信方法、装置、电子设备及计算机可读介质
CN113708979A (zh) * 2021-09-29 2021-11-26 深圳市腾讯网域计算机网络有限公司 网络加速的方法和装置

Also Published As

Publication number Publication date
CN114157534B (zh) 2023-04-25

Similar Documents

Publication Publication Date Title
US9681356B2 (en) Data forwarding in hybrid mesh networks
US9438385B2 (en) Data stream division to increase data transmission rates
US8570857B2 (en) Resilient IP ring protocol and architecture
AU2013315239B2 (en) Data stream division to increase data transmission rates
CN100531143C (zh) 一种媒体流转发方法和媒体服务器
US8416776B2 (en) Communication channel building device and N-tree building method
CN110351024A (zh) 数据传输方法和装置
US20080285436A1 (en) Methods, systems, and computer program products for providing site redundancy in a geo-diverse communications network
KR20080011168A (ko) 메시 네트워크에서의 멀티캐스트를 위한 라우팅 프로토콜
US10666769B2 (en) Network system and method for establishing data link by using relay node
KR20080026541A (ko) 다중매체 광역 통신 네트워크
KR102344346B1 (ko) 패킷 전송 방법 및 장치
CN113572691B (zh) 一种基于时间脉冲源的混合路由协议的实现方法
CN112688869A (zh) 一种弱网环境下基于动态路由算法的数据可靠传递方法
JP2005143001A (ja) 通信端末および通信ネットワーク
Firdhous Multicasting over overlay networks a critical review
CN114157534B (zh) 一种基于分布式的多支流vpn通信、系统、存储介质
Mamidi et al. Dynamic multi-hop switch handoffs in software defined wireless mesh networks
CN108934084B (zh) 无线网格网络的节点及建立无线网格网络的方法
JP3965202B1 (ja) ネットワーク通信機器およびリング型ネットワーク用通信プログラム。
CN113872670A (zh) 一种适用于低轨网络的控制器位置生成及扩散方法
US7870292B2 (en) Network node and associated methodology of expanding a network topology through peer selection
Huang et al. Construction of an efficient ring-tree-based Peer-to-Peer streaming platform
KR101381807B1 (ko) 무선 애드혹 네트워크 시스템 및 다중 경로 설정 방법
CN108737263B (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