一种高可用的分布式组网方法及系统技术方案

技术编号:37118747 阅读:20 留言:0更新日期:2023-04-01 05:13
本发明专利技术公开了一种高可用的分布式组网方法及系统,涉及计算机网络技术领域。包括以下步骤:在高速主干网上设置多个vpnServer,组成核心转发网络;组网客户端登录服务平台,获取vpnServer列表,并测试各个vpnServer响应速度,自动连接速度最快的vpnServer;所述组网客户端通过所述核心转发网络上的vpnServer进行数据通信。本发明专利技术使用分布式技术重构目前广泛使用的单中心组网软件架构,使其避免单点故障以及速度得到极大提升,使组网高可用。使组网高可用。使组网高可用。

【技术实现步骤摘要】
一种高可用的分布式组网方法及系统


[0001]本专利技术涉及计算机网络
,更具体的说是涉及一种高可用的分布式组网方法及系统。

技术介绍

[0002]市面上有各类组网产品,其中使用较广泛的是开源项目OpenVPN或基于OpenVPN开发的项目,此类方案是经典的C/S单中心架构,多个客户端连接同一个服务器,服务器负责控制组网和转发数据。这样的架构简单有效,但是面临不少问题:1、存在明显的单点故障,中心服务器宕机导致整个虚拟网络失效;2、高延时。例如一个全国性企业,分公司遍布各大重要城市,中心服务器放在上海,这时深圳分公司访问广州分公司时,流量需要绕到上海再回来,延时显然高了很多。因此,对本领域技术人员来说,如何克服上述缺陷使组网高可用是亟待解决的问题。

技术实现思路

[0003]有鉴于此,本专利技术提供了一种高可用的分布式组网方法及系统,以解决
技术介绍
中提出的问题。
[0004]为了实现上述目的,本专利技术采用如下技术方案:一种高可用的分布式组网方法,具体步骤包括如下:
[0005]在高速主干网上设置多个vpnServer,组成核心转发网络;
[0006]组网客户端登录服务平台,获取vpnServer列表,并测试各个vpnServer响应速度,自动连接速度最快的vpnServer;
[0007]所述组网客户端通过所述核心转发网络上的vpnServer进行数据通信。
[0008]可选的,所述组网客户端之间的通信过程为:
[0009]第一组网客户端将网络包封装并发送给第一vpnServer;
[0010]所述第一vpnServer根据路由信息将所述网络包转发给第二vpnServer;
[0011]所述第二vpnServer根据路由信息将所述网络包发送给第二组网客户端。
[0012]可选的,同一虚拟网络上的组网客户端之间通过虚拟网卡socket通信收发数据。
[0013]可选的,每个所述vpnServer加入所述核心转发网络时均会分配给一个ID;每个所述组网客户端连接所述vpnServer时,也会分配一个对应所述vpnServer范围内的唯一ID。
[0014]可选的,每个所述组网客户端均知道整个虚拟网络全部成员的forwardID,当第一组网客户端向所述第二组网客户端发送IP报文时,仅需在通信协议里填写所述第二组网客户端的forwardID,发送至所述vpnServer即可。
[0015]可选的,所述第一vpnServer接收所述IP报文,获取forwardID,进一步解析获得vpnServerID,若vpnServerID属于所述第一vpnServer,则直接转发给所述第二组网客户端;若vpnServerID属于第二vpnServer,则将所述IP报文转发给所述第二vpnServer。
[0016]可选的,所述网络包中包括IP包和路由信息。
[0017]另一方面,提供一种高可用的分布式组网系统,利用一种高可用的分布式组网方法进行组网,包括核心转发网络、组网客户端;其中,
[0018]所述核心转发网络由高速主干网上设置的多个vpnServer组成;
[0019]所述组网客户端与所述核心转发网络相连,所述组网客户端登录服务平台,获取vpnServer列表,并测试各个vpnServer响应速度,自动连接速度最快的vpnServer;
[0020]所述组网客户端通过所述核心转发网络上的vpnServer进行数据通信。
[0021]经由上述的技术方案可知,与现有技术相比,本专利技术公开提供了一种高可用的分布式组网方法及系统,具有以下有益的技术效果:使用分布式技术重构目前广泛使用的单中心组网软件架构,使其避免单点故障以及速度得到极大提升,使组网高可用。
附图说明
[0022]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
[0023]图1为本专利技术的方法流程图;
[0024]图2为本专利技术的数据流图;
[0025]图3为本专利技术的组网客户端发送网络包流程图;
[0026]图4为本专利技术的vpnServer路由网络包流程图;
[0027]图5为本专利技术的组网客户端接收网络包流程图;
[0028]图6为本专利技术的组网结构图。
具体实施方式
[0029]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0030]本专利技术实施例公开了一种高可用的分布式组网方法,如图1所示,具体步骤包括如下:
[0031]S1、在高速主干网上设置多个vpnServer,组成核心转发网络;
[0032]S2、组网客户端登录服务平台,获取vpnServer列表,并测试各个vpnServer响应速度,自动连接速度最快的vpnServer;
[0033]S3、组网客户端通过核心转发网络上的vpnServer进行数据通信。
[0034]以深圳PC1(vpn ip 192.168.255.1)ping硅谷PC1(vpn ip 192.168.255.5)为例,配置图2的数据流图进行说明。
[0035]组网客户端连接vpnServer:登录服务平台后,通过API获取属于自己vpnServer列表(这样可为不同服务等级用户提供不同服务质量)。测试各个vpnServer响应速度,然后自动连接最快的。当前vpnServer如果宕机了,会自动连接其它速度最快的vpnServer。
[0036]组网客户端之间的通信过程为:
[0037]第一组网客户端将网络包封装并发送给第一vpnServer;
[0038]第一vpnServer根据路由信息将网络包转发给第二vpnServer;
[0039]第二vpnServer根据路由信息将网络包发送给第二组网客户端。
[0040]如图3所示,组网客户端发送网络包的具体过程为:
[0041]1)虚拟网络成员192.168.255.1上的应用往另外一个成员192.168.255.6发送数据,直接使用socket通信;
[0042]2)操作系统根据系统路由,发现目的地是192.168.255.*的网络包都交给192.168.255.1(虚拟网卡地址)处理;
[0043]3)从虚拟网卡出口的网络包都经过SNAT处理写入字符设备/dev/net/tun,模拟网卡发送数据;
[0044]4)组网客户端程序读取虚拟网卡的发送数据(即读取/dev/n本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种高可用的分布式组网方法,其特征在于,具体步骤包括如下:在高速主干网上设置多个vpnServer,组成核心转发网络;组网客户端登录服务平台,获取vpnServer列表,并测试各个vpnServer响应速度,自动连接速度最快的vpnServer;所述组网客户端通过所述核心转发网络上的vpnServer进行数据通信。2.根据权利要求1所述的一种高可用的分布式组网方法,其特征在于,所述组网客户端之间的通信过程为:第一组网客户端将网络包封装并发送给第一vpnServer;所述第一vpnServer根据路由信息将所述网络包转发给第二vpnServer;所述第二vpnServer根据路由信息将所述网络包发送给第二组网客户端。3.根据权利要求1所述的一种高可用的分布式组网方法,其特征在于,同一虚拟网络上的组网客户端之间通过虚拟网卡socket通信收发数据。4.根据权利要求1所述的一种高可用的分布式组网方法,其特征在于,每个所述vpnServer加入所述核心转发网络时均会分配给一个ID;每个所述组网客户端连接所述vpnServer时,也会分配一个对应所述vpnServer范围内的唯一ID。5.根据权利要求2所述的一种高可用的分布式组网方法,其特征在于,每个所述组网客户端均知道整个虚拟网络全部成员的fo...

【专利技术属性】
技术研发人员:黄皓东张小峰
申请(专利权)人:上海贝锐信息科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1