一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于IPv6的分布式隧道互联网关的制作方法

2021-10-24 04:43:00 来源:中国专利 TAG:互联 分布式 网关 隧道 计算机信息

一种基于ipv6的分布式隧道互联网关
技术领域
1.本发明涉及计算机信息技术领域,尤其涉及的是,一种基于ipv6的分布式隧道互联网关。


背景技术:

2.随着技术的发展,计算机信息技术领域更新换代速度越来越快,目前已经开始普及5g网络及ipv6协议的快速发展应用。
3.ipv6是英文“internet protocol version 6”(互联网协议第6版)的缩写,是互联网工程任务组(ietf)设计的用于替代ipv4的下一代ip协议,其地址数量号称可以为全世界的每一粒沙子编上一个地址。
4.由于ipv4最大的问题在于网络地址资源不足,严重制约了互联网的应用和发展。ipv6的使用,不仅能解决网络地址资源数量的问题,而且也解决了多种接入设备连入互联网的障碍。
5.互联网数字分配机构(iana)在2016年已向国际互联网工程任务组(ietf)提出建议,要求新制定的国际互联网标准只支持ipv6,不再兼容ipv4。
6.目前的现有技术中,网络上很多设备位于局域网当中没有公网ip,它们经过nat网关设备通过nat转换访问外网,nat网关设备为来自内网的ip报文分配公网ip,对源ip进行nat转换后转发到外网,nat网关设备只允许内网的报文主动访问外网,而来自外网的报文无法直接通过nat网关设备直接访问到内网的机器。如果一个拥有公网ip的中心端,需要主动对大量隐藏在nat后面的设备进行连接访问,这样的应用场景,无法通过传统的网络模式来实现,需要借助于本文描述的分布式隧道网关进行通信。


技术实现要素:

7.本发明提供一种基于ipv6的分布式隧道互联网关,将中心端与众多nat后面的边缘设备节点打通成ip层平面网络,使中心端可以主动通过ip层网络连接各个nat后面的设备节点,适应复杂的网络环境,只要数据中心端网络可达,即可与边缘端互联互通。
8.本发明的技术方案如下:
9.一种基于ipv6的分布式隧道互联网关,使用quic协议以及linux tun虚拟网卡,包括中心端网关和边缘节点端网关两部分,边缘端网关程序通过中心端网关的公网ip与中心端网关进行数据连接,在中心端和边缘端分别建立tun虚拟网卡并配置ipv6私网地址,虚拟网卡分别作为中心端的网关和边缘端的网关,发往网关的报文通过用户态网关程序建立的quic隧道传递到对端的网关,从而达到中心端和边缘端ipv6网络互通,其中,中心端网关设备配有公网ip,允许各边缘节点主动连接;边缘节点端设备无法从外网主动连接,而是由边缘端网关程序通过中心端网关的公网ip主动连接中心端网关的网关程序。
10.同时,本发明提供一种基于ipv6的分布式隧道互联网关的使用方法,包括步骤:
11.s1,中心端网关程序启动,创建在本机linux tun类型的虚拟网卡veth

a,并在该
虚拟网卡上配置ipv6私网地址ip

a,ip

a作为中心端ipv6数据包的网关,ip

a同网段的路由指向ip

a,即发往ip

a同网段的数据包都进入虚拟网卡veth

a;
12.s2,边缘端网关程序启动时,主动通过中心端的公网ip连接中心端网关,进行协商握手,从中心端获取分配给本机的ipv6私网地址ip

b,在本机创建linux tun类型的虚拟网卡veth

b,将获取的ipv6私网地址ip

b配置到该虚拟网卡;ip

b作为边缘端ipv6数据包的网关,ip

b同网段的路由指向ip

b;同时边缘端网关程序与中心端网关程序建立一条quic协议的连接,用于后续转发报文;
13.s3,经过s2步骤,此时中心端网关和边缘端网关程序之间已建立一条quic通道,并分别创建一ipv6虚拟网卡,中心端和边缘端的虚拟网卡ip分别为ip

a,ip

b,两个ip在同一ipv6网段,后续中心端和边缘端通过这两个ipv6的ip互相通信。
14.在上述技术方案中,当中心端网关需要连接访问边缘端网关时,中心端网关发送报文的目的ip是边缘端网关的ip地址即ip

b,该报文通过匹配路由表进入中心端虚拟网卡veth

a,进入tcp/ip协议栈,中心端网关程序通过tun网卡字符驱动从tcp/ip协议栈中读取该数据包,网关程序根据报文的目的ip地址查询到与该边缘端之间的quic连接,将该数据包通过quic连接发送到边缘端;
15.边缘端网关程序通过与中心端之间的quic连接接收到数据包,查询到数据包的目的ip即ip

b是本机虚拟网卡veth

b的ip,网关程序将该数据包通过tun网卡字符驱动发送到本机tcp/ip协议栈,tcp/ip协议栈会将该数据包转发到veth

b,边缘端即从veth

b收到中心端发来的数据包。
16.在上述技术方案中,当边缘端网关的数据包发往中心端网关时,边缘端网关发送报文的目的ip是中心端网关的ip地址即ip

a,该报文通过匹配路由表进入边缘端虚拟网卡veth

b,进入tcp/ip协议栈,边缘端网关程序通过tun网卡字符驱动从tcp/ip协议栈中读取该数据包,网关程序根据报文的目的ip地址查询到与中心端网关之间的quic连接,将该数据包通过quic连接发送到中心端网关;
17.中心端网关程序通过与边缘端之间的quic连接接收到数据包,查询到数据包的目的ip即ip

a是本机虚拟网卡veth

a的ip,网关程序将该数据包通过tun网卡字符驱动发送到本机tcp/ip协议栈,tcp/ip协议栈会将该数据包转发到veth

a,中心端即从veth

a收到边缘端发来的数据包。
18.作为上述技术方案的优选,步骤s1中,创建在本机linux tun类型的虚拟网卡veth

a,该类型网卡将linux内核协议栈的ip报文转发到用户态,用户态程序即网关程序可以从中收发原始ip报文。
19.采用上述方案,本发明提出了一种基于ipv6的分布式隧道互联网关,本发明独创性及优点如下:
20.1.该网关将通信双方打通为ip层平面网络,将不同机房的设备模拟在同一局域网,可通过ipv6地址直接通信。
21.2.通信双方使用quic协议传输ipv6报文,quic协议使用udp实现拥塞控制和可靠性保证,能兼顾报文传输的性能和可靠性。
22.3.通信双方使用quic协议的加密特性,加密传输数据,保证通信安全性。
23.4.适应复杂的网络环境,只要数据中心端网络可达,即可与边缘端互联互通。
24.5.良好的扩展性,单个中心端可并发连接10万以上的边缘设备节点。
附图说明
25.图1为本发明的一种基于ipv6的分布式隧道互联网关的结构示意图。
具体实施方式
26.为了便于理解本发明,下面结合附图和具体实施例,对本发明进行更详细的说明。但是,本发明可以采用许多不同的形式来实现,并不限于本说明书所描述的实施例。
27.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施例的目的,不是用于限制本发明。
28.该系统主要涉及两种关键技术,quic协议以及linux tun虚拟网卡。
29.quic是一种基于udp的应用层数据传输协议,在该系统中用于原始网络报文在中心和边缘之间进行传输。
30.linux tun虚拟网卡是linux内核提供的一种网络报文处理机制,为用户态程序提供了原始网络数据包的接收和发送能力。用户态程序通过tun网卡字符驱动/dev/net/tun接口读写虚拟网卡的数据报文。
31.nat(network address translation网络地址转换协议),nat

pt(network address translator

protocol translator)附带协议转换器的网络地址转换器,nat网关是一种支持nat(network address translation)协议或napt(network address port translation)协议的网关,可以将私有网络中的内网ip地址和公网ip地址进行转换,实现私有网络访问internet的功能。
32.如图1所示,该系统包括两部分,中心端网关和边缘节点端网关。中心端网关设备配有公网ip,允许各边缘节点主动连接;边缘节点端设备无法从外网主动连接。该系统工作流程如下:
33.1.中心端网关程序启动后,创建在本机linux tun类型的虚拟网卡veth

a(该类型网卡可以将linux内核协议栈的ip报文转发到用户态,用户态程序即网关程序可以从中收发原始ip报文)并在该虚拟网卡上配置ipv6私网地址ip

a,ip

a作为中心端ipv6数据包的网关,ip

a同网段的路由指向ip

a,即发往ip

a同网段的数据包都进入虚拟网卡veth

a。
34.2.边缘端网关程序启动时,主动通过中心端的公网ip连接中心端网关程序,进行协商握手,从中心端获取分配给本机的ipv6私网地址ip

b,在本机创建linux tun类型的虚拟网卡veth

b,将获取的ipv6私网地址ip

b配置到该虚拟网卡。ip

b作为边缘端ipv6数据包的网关,ip

b同网段的路由指向ip

b。同时边缘端网关程序与中心端网关程序建立一条quic协议的连接,用于后续转发报文。
35.3.此时中心端和边缘端网关程序之间已建立一条quic通道,并分别创建一ipv6虚拟网卡,中心端和边缘端的虚拟网卡ip分别为ip

a,ip

b,两个ip在同一ipv6网段,后续中心端和边缘端通过这两个ipv6的ip互相通信。
36.4.当中心端需要连接访问边缘端时,中心端发送报文的目的ip是边缘端的ip地址即ip

b,该报文通过匹配路由表进入中心端虚拟网卡veth

a,进入tcp/ip协议栈,中心端网
关程序通过tun网卡字符驱动从tcp/ip协议栈中读取该数据包,网关程序根据报文的目的ip地址查询到与该边缘端之间的quic连接,将该数据包通过quic连接发送到边缘端。
37.5.边缘端网关程序通过与中心端之间的quic连接接收到数据包,查询到数据包的目的ip即ip

b是本机虚拟网卡veth

b的ip,网关程序将该数据包通过tun网卡字符驱动发送到本机tcp/ip协议栈,tcp/ip协议栈会将该数据包转发到veth

b,边缘端即从veth

b收到中心端发来的数据包。
38.6.反之亦然,当边缘端的数据包发往中心端时,边缘端发送报文的目的ip是中心端的ip地址即ip

a,该报文通过匹配路由表进入边缘端虚拟网卡veth

b,进入tcp/ip协议栈,边缘端网关程序通过tun网卡字符驱动从tcp/ip协议栈中读取该数据包,网关程序根据报文的目的ip地址查询到与中心端之间的quic连接,将该数据包通过quic连接发送到中心端。
39.7.中心端网关程序通过与边缘端之间的quic连接接收到数据包,查询到数据包的目的ip即ip

a是本机虚拟网卡veth

a的ip,网关程序将该数据包通过tun网卡字符驱动发送到本机tcp/ip协议栈,tcp/ip协议栈会将该数据包转发到veth

a,中心端即从veth

a收到边缘端发来的数据包。达到中心端和边缘端之间ip

a和ip

b互通的效果。
40.该系统在中心端和边缘端分别建立tun虚拟网卡并配置ipv6私网地址,虚拟网卡分别作为中心端和边缘端的网关,发往网关的报文通过用户态网关程序建立的quic隧道传递到对端的网关,从而达到中心端和边缘端ipv6网络互通的效果。
41.需要说明的是,上述各技术特征继续相互组合,形成未在上面列举的各种实施例,均视为本发明说明书记载的范围;并且,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,而所有这些改进和变换都应属于本发明所附权利要求的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜