CN107026784A - 一种远程虚拟专网网关装置及实现方法 - Google Patents
一种远程虚拟专网网关装置及实现方法 Download PDFInfo
- Publication number
- CN107026784A CN107026784A CN201710442129.1A CN201710442129A CN107026784A CN 107026784 A CN107026784 A CN 107026784A CN 201710442129 A CN201710442129 A CN 201710442129A CN 107026784 A CN107026784 A CN 107026784A
- Authority
- CN
- China
- Prior art keywords
- gateway apparatus
- interface card
- network interface
- data packets
- raw data
- 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.)
- Pending
Links
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/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/164—Adaptation or special uses of UDP protocol
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/18—Multiprotocol handlers, e.g. single devices capable of handling multiple protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本发明公开了一种远程虚拟专网网关装置及实现方法,网关装置包括一个抓包网卡和一个转发网卡;抓包网卡,用于连接本地局域网,将捕获到的本地局域网中的原始数据包打包为UDP封装报文,并将UDP封装报文发送给转发网卡;转发网卡,用于连接互联网,并将接收到的本地局域网中的UDP封装报文发送给异地局域网网关装置的转发网卡;且接收异地局域网网关装置发来的UDP封装报文,将其解封为原始数据包,并由本地抓包网卡转发到本地局域网。本发明配置简单、不依赖运营商、支持多种协议和应用、部署简单,且不影响原有互联网通信,减少网络故障率。
Description
技术领域
本发明涉及虚拟专网领域,具体涉及一种远程虚拟专网网关装置及实现方法。
背景技术
各类机构(公司、学校、部门等)大多在异地建立了分支机构,各个分支机构也大多建设了IP内网并接入互联网。为了让这些分支机构的IP网络互联互通、统一管理,需要通过互联网把上述的异地分支机构或异地个体连接起来,形成一个虚拟的局域网,此时往往会使用到虚拟专网技术(Virtual Private Network VPN)。
目前常见的远程虚拟专网由三个部分组成。其一为上述的总部机构,称为服务器端或被接入端,一般会是一个专用局域网;第二部分是上述的分支机构,称为客户端或接入端,包括企业的分公司,学校的不同校区,出差或在家办公的个人等,一般也会是一个局域网;第三部分是通信网络(通常为互联网),接入端通过通信网络与被接入端的专用局域网互联互通,这样让身处异地的不同机构和个人可以虚拟地工作在同一个局域网之内。
目前常见的远程虚拟专网的实现方法有以下几种:
(1)传统的远程虚拟专网方式实现。接入端局域网络通过专用VPN网关设备,以隧道的方式(IPSec)与被接入端专用局域网的VPN网关建立连接,使得不同地区的局域网可以通过互联网进行IP子网之间的直接通信,实现类似于同一个专用局域网的互通互联能力;对于接入端的终端用户,通过VPN拨号软件,接入远程被接入端的VPN服务器,自身虚拟一个远程局域网的IP地址,来实现异地局域网办公。
(2)MPLS VPN方式实现。是一种基于MPLS技术的IP-VPN,在网络路由和交换设备上应用MPLS技术,利用传统路由技术的标记交换来实现虚拟专网。基本组件包含了通信运营商城域网的骨干网,骨干网边缘路由器(PE),用户网边缘路由器(CE),骨干网核心路由器(Prouter)和VPN路由转发实例(VRF)。其中的VPN路由转发实例是一个虚拟的路由表实例,它与公网的路由表完全隔离,不同的VRF之间也相互隔离。MPLS VPN的访问过程如下:首先用户发送数据包到与其局域网相连的用户网边缘路由器,CE在收到用户发来的数据包后,转发给骨干网边缘路由器,PE通过接收到的数据包的IP报文检查相应的VRF路由,根据路由查找MPLS转发表在报文头部打上输出标签,再根据下一跳的路由器接口来在MPLS转发表中查找对应的标签。这两个标签被合并到MPLS标签栈中,加入到VPN数据包的头部,PE再将打上标签的数据包转发给骨干网核心路由器,Prouter收到打好两个标签的数据包后,弹出栈顶标签,根据栈顶标签来决定转发的方向,将打上一个输出标签的数据包转发给目的PE,目的PE收到只剩一个输出标签的数据包后,根据栈顶标签来确定VRF,最终发送给目的局域网的用户网边缘路由器。从而实现了异地局域网互联互通。
(3)软件定义网络(SDN)控制器方式实现。SDN采用“控制器-交换机”的架构,将路由器和交换机的控制部分和转发部分分离。SDN对数据包的控制主要体现在对包头的处理,将处理后的转发信息以流表的方式下发给网络中的转发设备,从而达到对数据包流向的控制。SDN VPN的核心思想是通过控制器的全局把控,来对每个机构的相关网络配上标签,再将通过标签产生的路由转发策略下发到交换机中,这样交换机在收到相关标签的数据包后,就会知道这是处于一个局域网中的数据包转发。这样用户就通过SDN控制器的配置到达了在同一局域网内工作的目的。
上述的方法各有优点,都可以达到虚拟专网服务的要求,但是也有不足的地方:
(1)配置和维护复杂。随着VPN技术的不断发展,公众对于VPN的便利性的要求越来越高,特别是局域网中的终端用户。由于终端用户具有的移动性,其更加要求VPN可以快速部署客户端,并且动态地建立连接。虽然传统的虚拟专网方式结构简单,便于实现。但是其需要进行额外的配置。因为远程访问的实现是通过VPN网关以隧道方式实现的,所以本地局域网内的所有终端设备都需要将自己的默认网关设置为VPN网关的地址,一旦VPN网关设备更换地址,就要将所有的本地终端设备的默认网关进行一次修改,大大降低了灵活性。对于单独的终端用户来说,则需要额外安装VPN拨号软件,为了满足终端用户的多样性,需要开发多版本的VPN拨号软件,增加了使用和维护的成本。同时,对VPN网关设备的配置和维护也是较为复杂的专业化工作。
(2)需要配置的设备和终端较多。MPLS VPN方式的虚拟专网,可以为IP网络提供面向连接的服务,提供高质量且可靠的VPN服务,既可以满足一点对多点,也可以满足多点对多点的数据传输,利用了路由器的高速转发和较大的网络带宽,满足了企业对于网络应用的要求。但是其与传统虚拟专网方式相同,有额外的设置需求。接入端局域网中的用户同样需要把自己的默认网关设置成用户网边缘路由器的地址,一旦用户网边缘路由器的地址进行更新,那么局域网中的终端用户将对设备的默认网关进行重新的设置,显然会造成不便。另外,MPLS VPN方式中的骨干网边缘和核心的路由器会而产生额外的运算或开销,因为要对标签进行计算与处理,骨干网中的路由器都会额外维护一张虚拟的路由转发表(VRF),并在收到VPN数据包后进行标签的计算、查询、入栈、出栈等操作后再进行转发,增加了网络设备的负担。特别是骨干网中的核心路由器,往往会成为性能的瓶颈,这样便加大了网络中的开销与设备的维护。并且由于MPLS标签是在IP标签之前增加的一层,因此在网络配置时给网络工程师带来了相当大的工作量,配置复杂,维护运营困难。最后,因为MPLS VPN方法对网络骨干网的工作方式和设备都有进行了更改,所以它的实现必须依赖于通信运营商进行设备和技术上的支持,无法仅仅通过企业内部的协调来完成虚拟专网的搭建和访问。
(3)未获得现有互联网设备的支持。SDN VPN通过其控制集中的优势,可以更加简便地完成VPN网络的配置。但是,SDN VPN设备的普及速度慢,大多数情况只能在小范围内实行单个控制器的VPN访问,一旦进行远距离的访问,那么SDN网络与传统网络之间的接合将会对VPN的访问造成阻碍。
(4)容易造成网络故障。现有VPN解决方案中,VPN网关设备要么成为本地局域网的默认网关,要么下发相关流表到交换机,这些都是对网络流量的一种控制。换句话说,每种方法都对本地局域网的通信产生了影响。一旦VPN相关的设备发生了故障,将不仅仅影响到VPN的访问,还会让本地局域网对互联网的访问过程造成故障。
因此,目前尚未有一种远程虚拟专网的方案,能够在实现VPN服务的同时,减少额外的配置和对本地网络通信的影响,并且依赖于现有的互联网来实现,实现设备即插即用。
发明内容
针对现有技术中的上述不足,本发明提供的一种远程虚拟专网网关装置及实现方法能够在实现VPN服务的同时,减少额外的配置和对本地网络通信的影响,并且实现设备即插即用。
为了达到上述发明目的,本发明采用的技术方案为:
提供一种远程虚拟专网网关装置,其包括一个抓包网卡和一个转发网卡;
抓包网卡,其连接本地局域网,用于捕获到的本地局域网中的原始数据包打包为UDP封装报文,并将UDP封装报文发送给转发网卡;
转发网卡,其连接互联网,用于将接收到的本地局域网中的UDP封装报文发送给异地局域网网关装置的转发网卡;且接收异地局域网网关装置发来的UDP封装报文,将其解封为原始数据包,并由本地抓包网卡转发到本地局域网。
进一步地,网关装置包括MAC地址信息表和网关装置IP地址列表;
MAC地址信息表,用于记录位于异地局域网的各个终端MAC地址与其所在局域网网关装置IP地址之间的映射信息,其记录格式为二元组MACINFO(MAC,GATEWAY_IP);
网关装置IP地址列表,用于记录本机以外的其他所有网关装置的IP地址,其格式为一元组GWIPLIST(GATEWAY_IP)。
提供一种远程虚拟专网的实现方法,其包括以下步骤:
S1、在同一机构的不同异地局域网分别部署一个网关装置,并建立MAC地址信息表和网关装置IP地址列表;抓包网卡捕获本地局域网中的原始数据包,并检查原始数据包中的目标MAC地址信息;
S2、抓包网卡根据目标MAC地址信息将原始数据包打包为UDP封装报文并发送至本地转发网卡;
S3、本地转发网卡将接收的UDP封装报文转发给异地局域网中的网关装置;
S4、异地网关装置中的转发网卡将接收的UDP封装报文解封为原始数据包并发送至与其位于同一局域网中的抓包网卡;
S5、异地网关装置中的抓包网卡接收到解封后的原始数据包,将该原始数据包发送至该局域网中对应的终端。
进一步地,步骤S2的具体实现方式为:
若目标MAC地址全为0xFF,则判定为广播地址,将原始数据包封装到UDP报文,并发送至本地转发网卡;
若目标MAC地址不是广播地址,则根据目标MAC地址在MAC地址信息表中进行查询,若有记录条件相符,则将原始数据包封装到UDP报文,并发送至本地转发网卡;若无符合条件的记录,则舍弃该原始数据包。
进一步地,步骤S3的具体实现方式为:
若目标MAC地址为广播地址,则将该原始数据包发送给网关装置IP地址列表中已经记录的所有异地网关装置;
若目标MAC地址不是广播地址且有记录与其条件相符,则以该记录中的GATEWAY_IP为目标地址,将该原始数据包封装到UDP报文的有效载荷中,形成UDP封装报文,通过转发网卡发送给该GATEWAY_IP。
进一步地,异地网关装置在完成接收原始数据包后,还进行更新MAC地址信息表。
进一步地,更新MAC地址信息表的方法为:
网关装置取出原始数据包中的源MAC地址,同时取出UDP封装报文中的源IP地址,形成二元组(MAC,GATEWAY_IP),将该二元组添加到MAC地址信息表中,如果MAC地址信息表中已经存在具有相同MAC的记录,则删除原记录并添加新记录。
本发明的有益效果为:
(1)透明化运行,配置简单。将本发明所设计的网关装置连接到局域网后,由于其抓包网卡并未配置IP地址,未绑定IP协议,因此对局域网中的终端来说,该设备是完全透明的,局域网中的终端不需要了解网关装置的任何信息,更不需要将网关装置IP地址配置成为终端设备的默认网关;在与异地终端通信的过程中,本地终端也完全感觉不到“本地”和“异地”的差异,通信双方如同工作在同一个本地局域网。
(2)不依赖于运营商。除去了传统方案中对于互联网通信运营商的额外要求,本发明中的UDP封装报文可在普通的公共互联网无限制传输,不需要运营商对其任何设备或系统进行额外配置。
(3)支持多种协议和应用。本发明捕获并转发所有类型的数据包,让基于不同协议的应用都可以在处于异地的局域网络中顺利通信,例如源局域网内的广播报文(ARP请求报文和DHCP报文等)都可以原封不动的传输到目的局域网络中去。不同地区的局域网终端均可不受限制、不进行任何配置地相互通信,真正意义上实现了让异地局域网用户工作在同一个虚拟局域网络的目标。
(4)部署简单。仅需在各个局域网中增加一台网关装置,实现即插即用,局域网络中的原有设备、终端用户均不受影响。
(5)不影响原有互联网通信,减少故障率。对本地局域网络之间的网络通信,以及本地局域网络对互联网的访问不会造成影响,而传统的虚拟专网设备需要接管局域网和互联网之间的所有流量,容易造成单点故障。
附图说明
图1为本发明在局域网中的布置原理图。
具体实施方式
下面对本发明的具体实施方式进行描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
如图1所示,每个该远程虚拟专网网关装置均包括相互连接的一个抓包网卡和一个转发网卡;
抓包网卡,用于捕获本地局域网中的原始数据包,根据原始数据包中的目标MAC地址和所有局域网的各个终端MAC地址与其所在局域网网关装置IP地址之间的映射信息,将原始数据包发送至本地局域网的其他终端或打包为UDP封装报文并发送至本地转发网卡;
转发网卡,用于根据其他所有网关装置的IP地址,将本地抓包网卡所发送的UDP封装报文通过互联网发送至异地局域网网关装置的转发网卡,并将从异地局域网转发网卡发送过来的UDP封装报文解封为原始数据包,将解封的原始数据包发送至本地抓包网卡。
本发明的技术方案包括如下几个步骤:
(1)部署网关装置:
将本发明的网关装置布置在源局域网络和目的局域网络中的任意位置,该网关装置包含一块未绑定IP协议的抓包网卡,用于连接到本地局域网;一块配置了正常IP地址的转发网卡,用于连接到互联网;该网关装置记录并维护两张记录表,其一为“MAC地址信息表”,用于记录并维护位于异地局域网的各个终端MAC地址与其所在局域网网关装置IP地址之间的映射信息,其记录格式为二元组MACINFO(MAC,GATEWAY_IP);其二为“网关装置IP地址列表”,用于记录本机以外的其他所有网关装置的IP地址,其格式为一元组GWIPLIST(GATEWAY_IP),该列表在网关装置安装部署时,由管理人员手动添加和维护;
网关装置的具体部署步骤为:
(1-1)在同一机构的不同异地局域网分别部署一台网关设备,将其抓包网卡连接到本地局域网中,不配置IP地址,不绑定IP协议;将其转发网卡连接到互联网,配置可正常通信的互联网IP地址;
(1-2)对网关设备进行配置,对其“MAC地址信息表”进行清空操作,对其“网关装置IP地址列表”进行添加操作,将同一机构的其他网关设备IP地址添加到“网关装置IP地址列表”。
(2)捕获局域网中的原始数据包:
网关装置中的抓包网卡,对本地局域网中的数据包进行捕获,获得本地局域网的原始数据包;捕获的原始数据包通常包括两类:广播报文,正常的IP通信报文;捕获的原始数据包带有源MAC地址、目标MAC地址、协议类型、协议载荷等信息;捕获原始数据包的具体方法为:将网卡设置为混杂模式并接收所有到达网卡的以太网帧,该方法为业内常见方法,本发明不做赘述。
(3)将原始数据包封装为UDP封装报文,通过互联网发送给其他网关装置:
在步骤(2)中捕获到本地局域网的原始数据包后,检查该数据包中的目标MAC地址信息,按照不同情况进行分别处理:
(3-1)若目标MAC地址是广播地址(全为0xFF),则将该数据包(称为“原始数据包”)封装到UDP报文的有效载荷中(称为“UDP封装报文”),发送给“网关装置IP地址列表”中已经记录的所有异地网关装置;
(3-2)若目标MAC地址不是广播地址,则以目标MAC地址为检索条件,检索“MAC地址信息表”,如果找到“MAC地址信息表”中某一条记录的MAC地址与检索条件相符,则以该记录中的GATEWAY_IP为目标地址,将该原始数据包封装到UDP报文的有效载荷中,形成“UDP封装报文”,通过转发网卡发送给该GATEWAY_IP;如果未找到符合条件的记录,则丢弃该原始数据包。
(4)接收互联网传来的UDP封装报文,解封并转发到本地局域网:
在步骤(3)中转发网卡发送出的UDP封装报文,通过互联网的转发,会到达异地的目的局域网络网关装置,目的局域网络网关装置通过其转发网卡接收到该UDP封装报文后,将UDP封装报文解封,取出其中的载荷内容(原始数据包),然后执行以下两个子步骤:
(4-1)将解封后的原始数据包,通过抓包网卡发送到本地局域网(目的局域网络);
(4-2)取出原始数据包中的源MAC地址,同时取出UDP封装报文中的源IP地址,形成二元组(MAC,GATEWAY_IP),其中MAC为原始数据包中的源MAC地址,GATEWAY_IP为UDP封装报文的源IP地址,将该二元组添加到“MAC地址信息表”中,如果“MAC地址信息表”中已经存在具有相同MAC的记录,则删除原记录并添加新记录。
经过上述步骤,源局域网络中的原始数据包可以被转发到目标局域网络,目标局域网络中的原始数据包也可以通过相同方式转发到源局域网络,从而实现两个异地局域网络之间的互通。由于原始数据包中包含了终端之间通信的真实源IP地址和真实目标IP地址,因此通信过程并未经历与传统互联网通信类似的NAT地址转换过程,实现了虚拟的远程局域网直接互联互通。同时,在对原始数据包进行转发的过程中,仅仅转发了广播报文和能够明确找到目标MAC地址记录的报文,所以不会造成本地局域网内部通信报文向其他异地局域网的无效转发,避免了冗余流量。
在本发明的一个实施例中,将本发明的网关装置布置在源局域网络和目的局域网络中的任意位置,该网关装置包含一块未绑定IP协议的抓包网卡,用于连接到本地局域网;一块配置了正常IP地址的转发网卡,用于连接到互联网;同一机构的不同网关装置预先记录其它所有位于异地局域网络中的网关装置的IP地址,记录在网关装置内的“网关装置IP地址列表”中。
某机构共有3个不同的异地局域网,分别为局域网A、局域网B、局域网C,其中的终端IP地址均为同一IP子网内部(192.168.1.0/24),分别在三个局域网中部署一台网关装置A、B、C,其抓包网卡连接到各自的本地局域网,其转发网卡连接到互联网并配置可通信的IP地址,分别为GWIP_A、GWIP_B、GWIP_C,三台网关设备的“MAC地址信息表”初始记录为空,并且分别在各自的“网关装置IP地址列表”中记录其他网关装置列表的IP地址;例如网关装置A部署在局域网A中,其转发网卡IP地址为GWIP_A,其“MAC地址信息表”不包含任何记录,其“网关装置IP地址列表”包含两条记录,分别为:GWIP_B和GWIP_C。
位于局域网A中的终端A(其MAC地址为MAC_A,IP地址为192.168.1.A)向位于局域网C中的终端C(其MAC地址为MAC_C,IP地址为192.168.1.C)发起直接通信,根据TCP/IP协议规范,其应当首先向本地局域网发出ARP广播报文,请求获得终端C的MAC地址,该ARP广播报文被网关装置A中的抓包网卡捕获,称为原始数据包,原始数据包带有源MAC地址、目标MAC地址、协议类型、协议载荷等信息,根据ARP广播的特性,可知该原始数据包的源MAC地址为MAC_A,目标MAC地址为广播地址。
网关装置A捕获到本地局域网的原始数据包后,检查该数据包中的目标MAC地址信息,按照不同情况进行分别处理。在本实施例中,第一个原始数据包的目标MAC地址是广播地址(全为0xFF),则将该原始数据包封装到UDP报文的有效载荷中,成为UDP封装报文,发送给“网关装置IP地址列表”中已经记录的所有异地网关装置,本实施例中,该UDP封装报文通过网关装置A的转发网卡分别发送给网关装置B和网关装置C;
网关装置A转发网卡发送出的UDP封装报文,通过互联网的转发,会到达异地的网关装置B和网关装置C,网关装置B和网关装置C各自通过其转发网卡接收到该UDP封装报文后,将UDP封装报文解封,取出其中的载荷内容(原始数据包),然后执行以下两个子步骤:
一、将解封后的原始数据包,通过抓包网卡发送到本地局域网。在本实施例中,该原始数据包(ARP广播包)被转发到局域网B和局域网C,使得局域网C中的终端C能够接收到该ARP广播报文。
二、网关装置B和网关装置C取出原始数据包中的源MAC地址,同时取出UDP封装报文中的源IP地址,形成二元组(MAC,GATEWAY_IP),其中MAC为原始数据包中的源MAC地址,GATEWAY_IP为UDP封装报文的源IP地址,将该二元组添加到“MAC地址信息表”中,如果“MAC地址信息表”中已经存在具有相同MAC的记录,则删除原记录并添加新记录。在本实施例中,二元组(MAC,GATEWAY_IP)中的MAC字段值为MAC_A,GATEWAY_IP字段值为GWIP_A,由此,网关装置B和网关装置C的“MAC地址信息表”各自增加一条记录,内容为二元组(MAC_A,GWIP_A)。
终端A发出的ARP广播报文被终端C接收到,按照ARP协议规范,终端C对该ARP广播报文进行应答,向终端用户A发送ARP应答报文。该应答报文的源MAC地址为终端用户C的MAC地址(即MAC_C),目标MAC地址为终端用户A的MAC地址(即MAC_A)。该应答报文的原始数据包被本地网关装置C的抓包网卡捕获,网关装置C提取该数据包中的目标MAC地址(即MAC_A),以目标MAC地址为检索条件,检索“MAC地址信息表”。由于网关装置C的“MAC地址信息表”已经在前述步骤(4-2)中添加了记录(MAC-A,GWIP_A),因此可检索出该记录,网关装置C随即以该记录中的GATEWAY_IP(即GWIP_A,网关装置A的IP地址)为目标地址,将捕获的该原始数据包打包为UDP封装报文,通过转发网卡,发送给网关装置A。
网关装置A收到由网关装置C发来的UDP封装报文,解封后获得ARP应答报文,再将ARP应答报文发送到本地局域网络,终端A收到ARP响应报文后,两个异地的终端(终端A和终端C)就相互知晓了对方的MAC地址。同时,网关装置A提取UDP封装报文中的信息,在MAC地址信息表中增加一条记录,本实施例中的新增记录为(MAC_C,GWIP_C)。
终端A在获得终端C的MAC地址后,会向其发起正常的IP通信,即:以MAC_A为源MAC地址,以MAC_C为目标MAC地址,发送IP数据包;终端C也会以自身的MAC地址(MAC_C)为源MAC地址,以MAC_A为目标MAC地址,向终端A发送IP数据包。根据以太网通信原理,其中终端A发送给终端C的原始数据包会被网关装置A捕获,终端C发送给终端A的原始数据包也会被网关装置C捕获,网关装置A和C会根据报文的目标MAC地址,查找各自的“MAC地址信息表”,实现各自的封装、向外转发、解封、向内转发过程,从而为终端A和终端C提供了数据包转发服务,实现了处于异地的终端A和B工作在同一个虚拟局域网内的目的。
为表述方便,本发明对虚拟专网服务使用过程中的相关术语进行定义:
(1)源局域网络:特指在一次虚拟专网服务中的客户端所处的本地局域网络,向其它处于异地的相关局域网络发送自己网络内部的数据包。
(2)目的局域网络:特指在一次虚拟专网服务中的服务器端所处的本地局域网络,接收来自其它异地的相关局域网络发送的数据包。在实际使用当中,源局域网络与目的局域网络身份往往是变化的,主要根据其在本次虚拟专网服务中所扮演的角色来进行判断。
(3)网关装置:特指用于实现本发明虚拟专网方案的网关设备,包含一块未绑定IP协议的抓包网卡,用于连接到本地局域网;一块配置了正常IP地址的转发网卡,用于连接到互联网。
(4)源局域网络网关装置(本地网关装置):特指在一次虚拟专网通信过程中处于源局域网络中的网关装置,对本地局域网的流量数据进行捕获,封装处理之后通过互联网传送转发到目的局域网络网关装置。
(5)目的局域网络网关装置(异地网关装置):特指在一次虚拟专网通信过程中处于目的局域网络中的网关装置,对互联网中的有关数据包进行接收,解封处理之后转发到本地局域网络中去。
(6)抓包网卡:处于网关装置中,连接的是本地的局域网络,不配置IP地址,也不绑定IP协议,对本地局域网中的所有流量进行捕获,并且对转发网卡收到的数据包进行本地局域网内的转发。
(7)转发网卡:处于网关装置中,连接的是互联网,预先记录了所有网关装置的IP地址,对其余异地局域网络中用户终端的MAC地址进行记录,对抓包网卡捕获的数据包进行封装,根据数据包中的目标MAC地址信息确定目的局域网网关装置地址,通过互联网将封装后的数据包发送给目的局域网网关装置。该网卡同时接收来自其他网关装置发来的封装数据包,进行解封处理后交给抓包网卡向局域网转发。
(8)原始数据包:特指网关装置抓包网卡捕获和发送的原始网络帧,其格式符合IEEE802.3标准以太网帧格式,包含源MAC地址、目标MAC地址、协议类型、载荷等内容。
(9)UDP封装报文:特指网关装置转发网卡之间发送和接收的UDP报文,其格式为标准的IPv4协议报文,包含IP头部、UDP头部、UDP载荷等内容,其中UDP载荷部分的填充内容为原始数据包,即:原始数据包作为UDP的有效载荷,被封装到UDP报文中,供网关装置的转发网卡发送和接收。
(10)MAC地址信息表:网关装置中,用于记录并维护位于异地局域网的各个终端MAC地址与其所在局域网网关装置IP地址映射信息。该表记录了来自其余异地局域网的用户终端的MAC地址与对应网关装置的对应关系,其格式为二元组MACINFO(MAC,GATEWAY_IP),其中,MAC记录了一个异地局域网用户终端的MAC地址,GATEWAY_IP记录了该用户终端所在局域网的网关装置IP地址。MAC地址信息表的目的是减少转发网卡转发封装后数据包的开销,避免转发网卡将封装后的数据包转发给所有的异地网关装置。
(11)网关装置IP地址列表:网关装置中,用于记录并维护除本机以外的其他所有网关装置IP地址的列表。该列表记录了同一机构各个异地局域网中的所有网关装置IP地址,每个网关装置中保存一份列表,其格式为一元组GWIPLIST(GATEWAY_IP)。
本发明技术方案与传统虚拟专网技术方案比较,优势在于:
(1)透明化运行,配置简单。将本发明所设计的网关装置连接到局域网后,由于其抓包网卡并未配置IP地址,未绑定IP协议,因此对局域网中的终端来说,该设备是完全透明的,局域网中的终端不需要了解网关装置的任何信息,更不需要将网关装置IP地址配置成为终端设备的默认网关;在与异地终端通信的过程中,本地终端也完全感觉不到“本地”和“异地”的差异,通信双方如同工作在同一个本地局域网。
(2)不依赖于运营商。除去了传统方案中对于互联网通信运营商的额外要求,本发明中的UDP封装报文可在普通的公共互联网无限制传输,不需要运营商对其任何设备或系统进行额外配置。
(3)支持多种协议和应用。本发明捕获并转发所有类型的数据包,让基于不同协议的应用都可以在处于异地的局域网络中顺利通信,例如源局域网内的广播报文(ARP请求报文和DHCP报文等)都可以原封不动的传输到目的局域网络中去。不同地区的局域网终端均可不受限制、不进行任何配置地相互通信,真正意义上实现了让异地局域网用户工作在同一个虚拟局域网络的目标。
(4)部署简单。仅需在各个局域网中增加一台网关装置,实现即插即用,局域网络中的原有设备、终端用户均不受影响。
(5)不影响原有互联网通信,减少故障率。对本地局域网络之间的网络通信,以及本地局域网络对互联网的访问不会造成影响,而传统的虚拟专网设备需要接管局域网和互联网之间的所有流量,容易造成单点故障。
Claims (7)
1.一种远程虚拟专网网关装置,其特征在于:包括一个抓包网卡和一个转发网卡;
所述抓包网卡,其连接本地局域网,用于将捕获到的本地局域网中的原始数据包打包为UDP封装报文,并将UDP封装报文发送给所述转发网卡;
所述转发网卡,其连接互联网,用于将接收到的本地局域网中的所述UDP封装报文发送给异地局域网网关装置的转发网卡;且接收异地局域网网关装置发来的UDP封装报文,将其解封为原始数据包,并由本地抓包网卡转发到本地局域网。
2.根据权利要求1所述的远程虚拟专网网关装置,其特征在于:所述网关装置包括MAC地址信息表和网关装置IP地址列表;
所述MAC地址信息表,用于记录位于异地局域网的各个终端MAC地址与其所在局域网网关装置IP地址之间的映射信息,其记录格式为二元组MACINFO(MAC,GATEWAY_IP);
所述网关装置IP地址列表,用于记录本机以外的其他所有网关装置的IP地址,其格式为一元组GWIPLIST(GATEWAY_IP)。
3.一种远程虚拟专网的实现方法,其特征在于:包括以下步骤:
S1、在同一机构的不同异地局域网分别部署一个网关装置,并建立MAC地址信息表和网关装置IP地址列表;抓包网卡捕获本地局域网中的原始数据包,并检查原始数据包中的目标MAC地址信息;
S2、抓包网卡根据目标MAC地址信息将原始数据包打包为UDP封装报文并发送至本地转发网卡;
S3、本地转发网卡将接收的UDP封装报文转发给异地局域网中的网关装置;
S4、异地网关装置中的转发网卡将接收的UDP封装报文解封为原始数据包并发送至与其位于同一局域网中的抓包网卡;
S5、异地网关装置中的抓包网卡接收到解封后的原始数据包,将该原始数据包发送至该局域网中对应的终端。
4.根据权利要求3所述的远程虚拟专网的实现方法,其特征在于:步骤S2的具体实现方式为:
若目标MAC地址全为0xFF,则判定为广播地址,将原始数据包封装到UDP报文,并发送至本地转发网卡;
若目标MAC地址不是广播地址,则根据目标MAC地址在MAC地址信息表中进行查询,若有记录条件相符,则将原始数据包封装到UDP报文,并发送至本地转发网卡;若无符合条件的记录,则舍弃该原始数据包。
5.根据权利要求4所述的远程虚拟专网的实现方法,其特征在于:步骤S3的具体实现方式为:
若目标MAC地址为广播地址,则将该原始数据包发送给网关装置IP地址列表中已经记录的所有异地网关装置;
若目标MAC地址不是广播地址且有记录与其条件相符,则以该记录中的GATEWAY_IP为目标地址,将该原始数据包封装到UDP报文的有效载荷中,形成UDP封装报文,通过转发网卡发送给该GATEWAY_IP。
6.根据权利要求5所述的远程虚拟专网的实现方法,其特征在于:异地网关装置在完成接收原始数据包后,还进行更新MAC地址信息表。
7.根据权利要求6所述的远程虚拟专网的实现方法,其特征在于:更新MAC地址信息表的方法为:
网关装置取出原始数据包中的源MAC地址,同时取出UDP封装报文中的源IP地址,形成二元组(MAC,GATEWAY_IP),将该二元组添加到MAC地址信息表中,如果MAC地址信息表中已经存在具有相同MAC的记录,则删除原记录并添加新记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710442129.1A CN107026784A (zh) | 2017-06-13 | 2017-06-13 | 一种远程虚拟专网网关装置及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710442129.1A CN107026784A (zh) | 2017-06-13 | 2017-06-13 | 一种远程虚拟专网网关装置及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107026784A true CN107026784A (zh) | 2017-08-08 |
Family
ID=59531376
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710442129.1A Pending CN107026784A (zh) | 2017-06-13 | 2017-06-13 | 一种远程虚拟专网网关装置及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107026784A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809797A (zh) * | 2018-07-26 | 2018-11-13 | 哈尔滨工业大学(威海) | 一种vpn控制装置,定义vpn实现系统及方法 |
CN108965061A (zh) * | 2018-08-03 | 2018-12-07 | 上海欣诺通信技术股份有限公司 | 数据包捕获设备及方法、还原设备及方法、系统和介质 |
CN110011927A (zh) * | 2019-03-19 | 2019-07-12 | 西安交通大学 | 一种基于sdn网络的流量捕获方法与系统 |
CN110943939A (zh) * | 2019-12-13 | 2020-03-31 | 北京劲群科技有限公司 | 一种网卡单元、分布式网络交换机架构与组网方法 |
CN111147382A (zh) * | 2019-12-31 | 2020-05-12 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN111464666A (zh) * | 2020-03-11 | 2020-07-28 | 北京吉芯网安技术有限公司 | 通信方法、装置、存储介质及处理器 |
CN111786873A (zh) * | 2020-07-13 | 2020-10-16 | 浙江捷创方舟数字技术有限公司 | 支持plc冗余的远程控制方法、系统及网关 |
CN111884916A (zh) * | 2020-07-24 | 2020-11-03 | 杭州希益丰新业科技有限公司 | 一种基于多网口计算机实现透明传输的代理网关系统 |
CN113098774A (zh) * | 2021-03-25 | 2021-07-09 | 北京金山云网络技术有限公司 | 一种报文转发方法及装置 |
CN116805916A (zh) * | 2023-08-23 | 2023-09-26 | 明阳时创(北京)科技有限公司 | 一种基于IPv6的异地局域网通信方法及系统 |
WO2024001753A1 (zh) * | 2022-06-27 | 2024-01-04 | 中移(杭州)信息技术有限公司 | 一种网络穿透系统的启动方法及报文收发方法、通信设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102281180A (zh) * | 2011-07-14 | 2011-12-14 | 冶金自动化研究设计院 | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 |
CN102694738A (zh) * | 2012-06-15 | 2012-09-26 | 北京傲天动联技术有限公司 | 在虚拟专用网网关转发报文的方法以及虚拟专用网网关 |
CN102739506A (zh) * | 2011-04-13 | 2012-10-17 | 李小林 | 对vpn通信进行透传的方法 |
-
2017
- 2017-06-13 CN CN201710442129.1A patent/CN107026784A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102739506A (zh) * | 2011-04-13 | 2012-10-17 | 李小林 | 对vpn通信进行透传的方法 |
CN102281180A (zh) * | 2011-07-14 | 2011-12-14 | 冶金自动化研究设计院 | 应用于不同局域网的终端相互通讯的虚拟网卡通讯装置 |
CN102694738A (zh) * | 2012-06-15 | 2012-09-26 | 北京傲天动联技术有限公司 | 在虚拟专用网网关转发报文的方法以及虚拟专用网网关 |
Non-Patent Citations (1)
Title |
---|
王宇杰等: "IPv6环境下ND协议的安全威胁及防御对策研究", 《铁路计算机应用》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108809797B (zh) * | 2018-07-26 | 2020-09-08 | 哈尔滨工业大学(威海) | 一种vpn控制装置,软件定义vpn实现系统及方法 |
CN108809797A (zh) * | 2018-07-26 | 2018-11-13 | 哈尔滨工业大学(威海) | 一种vpn控制装置,定义vpn实现系统及方法 |
CN108965061A (zh) * | 2018-08-03 | 2018-12-07 | 上海欣诺通信技术股份有限公司 | 数据包捕获设备及方法、还原设备及方法、系统和介质 |
CN108965061B (zh) * | 2018-08-03 | 2024-02-02 | 上海欣诺通信技术股份有限公司 | 数据包捕获设备及方法、还原设备及方法、系统和介质 |
CN110011927A (zh) * | 2019-03-19 | 2019-07-12 | 西安交通大学 | 一种基于sdn网络的流量捕获方法与系统 |
CN110943939A (zh) * | 2019-12-13 | 2020-03-31 | 北京劲群科技有限公司 | 一种网卡单元、分布式网络交换机架构与组网方法 |
CN110943939B (zh) * | 2019-12-13 | 2021-10-22 | 北京劲群科技有限公司 | 一种网卡单元、分布式网络交换机系统与组网方法 |
CN111147382B (zh) * | 2019-12-31 | 2021-09-21 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN111147382A (zh) * | 2019-12-31 | 2020-05-12 | 杭州迪普科技股份有限公司 | 报文转发方法和装置 |
CN111464666B (zh) * | 2020-03-11 | 2022-08-09 | 贺雪峰 | 通信方法、装置、存储介质及处理器 |
CN111464666A (zh) * | 2020-03-11 | 2020-07-28 | 北京吉芯网安技术有限公司 | 通信方法、装置、存储介质及处理器 |
CN111786873A (zh) * | 2020-07-13 | 2020-10-16 | 浙江捷创方舟数字技术有限公司 | 支持plc冗余的远程控制方法、系统及网关 |
CN111884916A (zh) * | 2020-07-24 | 2020-11-03 | 杭州希益丰新业科技有限公司 | 一种基于多网口计算机实现透明传输的代理网关系统 |
CN113098774A (zh) * | 2021-03-25 | 2021-07-09 | 北京金山云网络技术有限公司 | 一种报文转发方法及装置 |
CN113098774B (zh) * | 2021-03-25 | 2023-01-03 | 北京金山云网络技术有限公司 | 一种报文转发方法及装置 |
WO2024001753A1 (zh) * | 2022-06-27 | 2024-01-04 | 中移(杭州)信息技术有限公司 | 一种网络穿透系统的启动方法及报文收发方法、通信设备 |
CN116805916A (zh) * | 2023-08-23 | 2023-09-26 | 明阳时创(北京)科技有限公司 | 一种基于IPv6的异地局域网通信方法及系统 |
CN116805916B (zh) * | 2023-08-23 | 2023-11-17 | 明阳时创(北京)科技有限公司 | 一种基于IPv6的异地局域网通信方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107026784A (zh) | 一种远程虚拟专网网关装置及实现方法 | |
EP3747167B1 (en) | Multi-cloud vpc routing and registration | |
CN106936777B (zh) | 基于OpenFlow的云计算分布式网络实现方法、系统 | |
CN104869042B (zh) | 报文转发方法和装置 | |
US10009267B2 (en) | Method and system for controlling an underlying physical network by a software defined network | |
CN102025591B (zh) | 虚拟专用网络的实现方法及系统 | |
CN103650427B (zh) | 用于在互联网协议网络上路由以太网分组的集中式系统 | |
CN105359465B (zh) | 用于扩展跨多个数据中心站点的虚拟可扩展局域网段的方法和装置 | |
US7702808B2 (en) | Multi-cast enabled address resolution protocol (ME-ARP) | |
CN103391296B (zh) | 一种控制器、转发器及通道建立方法和系统 | |
CN107770062A (zh) | 一种数据包发送方法、装置及网络架构 | |
CN100473040C (zh) | 一种虚拟专用网络的实现方法 | |
CN100555999C (zh) | 一种实现边缘到边缘伪线仿真的方法和装置 | |
WO2008092357A1 (fr) | Procédé et dispositif pour établir un tunnel pseudocâblé et transmettre un message à l'aide de celui-ci | |
CN102025589A (zh) | 虚拟专用网络的实现方法及系统 | |
CN110290093A (zh) | Sd-wan网络架构及组网方法、报文转发方法 | |
CN106302199A (zh) | 一种基于三层交换机设备的用户态协议栈实现方法及系统 | |
CN102170385A (zh) | 一种以太树业务中以太网帧的发送方法和运营商边缘设备 | |
CN107135133A (zh) | 多家庭pbb‑evpn网络中的水平分割数据包转发 | |
CN105591873B (zh) | 一种虚拟机隔离方法和装置 | |
CN107070789A (zh) | 主动‑主动pbb‑evpn冗余的流量黑洞避免和快速融合 | |
CN103944818A (zh) | 一种多归接入叠加网络中报文处理的方法和系统 | |
CN105917617B (zh) | 针对校园网中的线路速率性能的单跳叠加架构 | |
CN102546349B (zh) | 一种报文转发方法和设备 | |
CN104869013A (zh) | 一种基于sdn的网关配置方法及sdn控制器 |
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 |