CN110505244B - 远程隧道访问技术网关以及服务器 - Google Patents
远程隧道访问技术网关以及服务器 Download PDFInfo
- Publication number
- CN110505244B CN110505244B CN201910887847.9A CN201910887847A CN110505244B CN 110505244 B CN110505244 B CN 110505244B CN 201910887847 A CN201910887847 A CN 201910887847A CN 110505244 B CN110505244 B CN 110505244B
- Authority
- CN
- China
- Prior art keywords
- module
- data packet
- network
- packet
- ring
- 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
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/22—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks comprising specially adapted graphical user interfaces [GUI]
-
- 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/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/103—Mapping addresses of different types across network layers, e.g. resolution of network layer into physical layer addresses or address resolution protocol [ARP]
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Small-Scale Networks (AREA)
Abstract
本申请涉及一种远程隧道访问技术网关以及服务器,网关中TCP/IP协议栈模块从外网接口接收网络数据包,将网络数据包解封装后获得IP数据包,并将IP数据包发送至VPN通信协议模块,通过VPN通信协议模块将IP数据包进行SSL/TLS综合解密后,将IP数据包发送至网络地址转换模块,通过网络地址转换模块对IP数据包进行地址转换后,将IP数据包输入PF_RING模块,通过PF_RING模块为地址转换后的IP数据包添加MAC头部后,将添加MAC头部后的IP数据包从内网接口第二网络接口输出。本申请通过使用高速网络包捕获技术PF_RING代替虚拟网卡,彻底去除了虚拟网卡读写的数据量限制,同时减少了网络数据包在系统协议栈中封装和解封装的操作次数,可以有效提高远程隧道访问技术网关的数据传输效率。
Description
技术领域
本申请涉及互联网技术领域,特别是涉及一种远程隧道访问技术网关以及服务器。
背景技术
随着互联网技术的发展,出现了VPN(Virtual Private Network,虚拟专用网络)技术,使用隧道技术和加密技术在公用网络中建立虚拟专用链路。相较于专用链路,VPN成本低,灵活性强,常被用于跨地域企业的内网互联。而隧道型SSL(Secure Sockets Layer,安全套接层)VPN是一种基于虚拟网卡技术和安全套接字层协议实现的网络层VPN,常采用开源的TUN/TAP实现。TUN/TAP每次是以一个以太网帧或者一个IP数据包为单位在用户空间和内核空间进行数据交换。
采用基于TUN/TAP技术与Libpcap函数库的SSL VPN网关在转发数据传输时,先通过TUN/TAP的字符设备驱动将数据传递至内核态,再由虚拟网卡驱动将数据包加入skb(Struct sk_buffer结构体)队列排队,再交由系统协议栈进行路由,最终发送至对端。
然而在这种方法下,数据从网卡到内核态再到用户态传输过程中存在频繁的系统调用,多次的内存拷贝,多次上下文切换的开销,导致了CPU耗费了大量时间在以上的过程中。且硬件中断频繁,引发的开销及性能损失十分昂贵,这使得系统处理网络数据的能力低下,在高速复杂的环境下性能不足,数据传输效率低。
发明内容
基于此,有必要针对SSL VPN网关处理网络数据的能力低下,在高速复杂的环境下性能不足,数据传输效率低问题,提供一种远程隧道访问技术网关。
一种远程隧道访问技术网关,包括TCP/IP(Transmission Control Protocol/Internet Protocol,传输控制协议/网际协议)协议栈模块、VPN通信协议模块、网络地址转换模块以及PF_RING模块;
所述TCP/IP协议栈模块从外网接口接收网络数据包,将所述网络数据包解封装后获得IP数据包,并将所述IP数据包发送至所述VPN通信协议模块,通过所述VPN通信协议模块将所述IP数据包进行SSL/TLS综合解密后,将所述综合解密后的IP数据包发送至所述网络地址转换模块,通过所述网络地址转换模块对所述IP数据包进行地址转换后,将所述地址转换后的IP数据包输入所述PF_RING模块,通过所述PF_RING模块为所述地址转换后的IP数据包添加MAC头部后,将所述添加MAC头部后的IP数据包从内网接口第二网络接口输出。
在其中一个实施例中,还用于:
所述PF_RING模块从内网接口获取IP数据包,为所述IP数据包去除MAC头部后,将所述去除MAC头部后的IP数据包输入所述网络地址转换模块,所述网络地址转换模块对所述IP数据包进行地址转换后,将所述地址转换后的IP数据包发送至所述VPN通信协议模块,所述VPN通信协议模块将所述IP数据包进行SSL/TLS综合加密后,将所述IP数据包发送至所述TCP/IP协议栈模块,所述TCP/IP协议栈模块将所述综合加密后的IP数据包封装后从外网接口输出。
在其中一个实施例中,还包括ARP模块,所述ARP模块与所述PF_RING模块连接,所述ARP模块用于查询ARP缓存中IP地址和MAC地址的对应关系、添加静态对应关系和删除静态对应关系。
在其中一个实施例中,所述ARP模块用于获取ARP请求,根据所述ARP请求对应IP数据包包头中的IP地址信息,获取所述IP数据包对应目标硬件地址信息。
在其中一个实施例中,所述PF_RING模块包括环形数据缓存区,所述环形数据缓存区用于接收并缓存IP数据包,并供外界程序从所述内网接口读取所述缓存中的IP数据包。
在其中一个实施例中,所述网络地址转换模块还用于解除所述IP数据包对应报文的外层封装,对所述数据帧内层负载进行地址转换。
在其中一个实施例中,所述网络地址转换模块还用于获取所述IP数据包对应报文的VPN连接信息。
在其中一个实施例中,还包括安全服务模块,所述安全服务模块与所述VPN通信模块连接,所述安全服务模块用于提供VPN的图形用户界面接口。
在其中一个实施例中,还包括配置管理模块,所述配置管理模块用于提供管理VPN的图形用户界面接口。
一种服务器,所述服务器包括上述任一项所述的远程隧道访问技术网关。
上述远程隧道访问技术网关以及服务器,TCP/IP协议栈模块从外网接口接收网络数据包,将网络数据包解封装后获得IP数据包,并将IP数据包发送至VPN通信协议模块,通过VPN通信协议模块将IP数据包进行SSL/TLS综合解密后,将综合解密后的IP数据包发送至网络地址转换模块,通过网络地址转换模块对IP数据包进行地址转换后,将地址转换后的IP数据包输入PF_RING模块,通过PF_RING模块为地址转换后的IP数据包添加MAC头部后,将添加MAC头部后的IP数据包从内网接口第二网络接口输出。本申请通过使用高速网络包捕获技术PF_RING代替虚拟网卡,彻底去除了虚拟网卡读写的数据量限制,同时减少了网络数据包在系统协议栈中封装和解封装的操作次数,可以有效提高远程隧道访问技术网关的数据传输效率。
附图说明
图1为一个实施例中远程隧道访问技术网关的结构框图;
图2为一个实施例中基于PF_RING的数据收发程序框架图;
图3为另一个实施例中远程隧道访问技术网关的结构框图;
图4为一个实施例中用户态地址转换处理示意图;
图5为又一个实施例中远程隧道访问技术网关的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供了一种远程隧道访问技术网关,包括:TCP/IP协议栈模块200、VPN通信协议模块400、网络地址转换模块600以及PF_RING模块800;
远程隧道访问技术网关即SSL VPN网关,是VPN网关中的一种。VPN的功能是:在公用网络上建立专用网络,进行加密通讯。在企业网络中有广泛应用。VPN网关通过对数据包的加密和数据包目标地址的转换实现远程访问。VPN可通过服务器、硬件、软件等多种方式实现。其中TCP/IP协议栈是一系列网络协议的总和,是构成网络通信的核心骨架,它定义了电子设备如何连入因特网,以及数据如何在它们之间进行传输。TCP/IP协议采用4层结构,分别是应用层、传输层、网络层和链路层,每一层都呼叫它的下一层所提供的协议来完成自己的需求。而VPN通信协议模块400就是用于对数据包进行加密的模块,而网络地址转换模块600则是用于实现对数据包目标地址进行转换的模块。而PF_RING模块800则是高速数据包捕捉模块,PF_RING是一种基于零拷贝思想的,并且在高速网络环境中无丢包的数据截取机制。PF_RING实现了一种新类型的套接字,该套接字被添加到内核并具有自己的缓存,用于将网关接收的数据包存储在环形缓冲区中。PF_RING为应用程序提供了一组用于用户空间调用的内核模块接口。首先PF_RING环在运行时以内核模块的形式动态加载到内核空间中,它有一个定制的套接字结构,具有一个环缓冲区。只要网关收到网络数据包,它就会将数据包复制到环形缓冲区中。由于PF_RING的缓冲区由与用户空间的内存映射通过相同的物理存储器实现,因此用户空间程序可以直接读取它,获取环形缓冲区的数据。即可以避免将数据从内核空间复制到用户空间,即零拷贝机制。此外,基于PF_RING协议族的socket优化了数据包捕获机制,该类型的使用了环状缓冲区,接收到的数据包缓存在环状缓冲区中。并且每一个socket拥有一个私有的环状缓冲区,该缓冲区生命周期起始与的创建,终止与socket的销毁。环状缓冲区的大小及其它相关属性用户应用程序可自行配置。PF_RING类型的socket与网卡绑定后,网卡要一直处于只读状态,网卡接收数据包后缓存在该socket对应的环状缓冲区中,如果环状缓冲区满,则丢弃该数据包(出现丢包)。用户空间的应用程序根据PF_RING类型的socket套接字描述符,获取其环状缓冲区的读指针,然后通过mmap来访问PF_RING的环状缓冲区。应用程序读取数据包以后移动缓冲区的读指针。内核将数据包拷贝进环状缓冲区的同时移动缓冲区的写指针。在整个处理过程中,并没有将接收到的数据包拷贝到内核,从而节省了大量操作时间和资源。PF_RING在高速捕包时可以把数据包分发到多个缓冲区,实现多线程处理,提高系统对数据包的并处理能力。
TCP/IP协议栈模块200从外网接口接收网络数据包,将网络数据包解封装后获得IP数据包,将IP数据包发送至VPN通信协议模块400,VPN通信协议模块400将IP数据包进行SSL/TLS综合解密后,将综合解密后的IP数据包发送至网络地址转换模块600,网络地址转换模块600对IP数据包进行地址转换后,将地址转换后的IP数据包输入PF_RING模块800,PF_RING模块800为IP数据包添加MAC头部后,将添加MAC头部后的IP数据包从内网接口输出。
具体的,对于外网数据流入内网的过程,外网数据首先流入TCP/IP协议栈模块200,TCP/IP协议栈模块200接收外网的网络数据包,并将接收的网络数据包解封装后处理生成IP数据包,首先外网数据包是通过SSL协议是采用SSL/TLS综合加密的方式来保障数据在传输过程的安全性能的。所以在通过网关将外网数据导入内网时,需要将IP数据包进行解密处理,解密过程需要通过VPN通信协议模块400进行。在IP数据包解密完成之后,VPN通信协议模块400会把IP数据包输入网络地址转换模块600进行地址转换,当内网中的一台主机希望访问外网主机时,由于内网主机使用内网IP地址,故不能直接和外网通信,此时,就需要网络地址转换模块600来帮助进行IP地址的转换。VPN客户端使用虚拟IP进行通信,可以看做内网,当VPN的客户端希望通过VPN网关访问外网主机时,就需要VPN网关提供网络地址转换服务的支持。在IP地址转换后,IP数据包输入PF_RING模块800,PF_RING的基本原理是把从网卡接受到的IP数据包存储在一个环状缓存中,该环状缓存提供两个接口:内网的应用程序可以通过其中一个进行读取数据包,网卡通过另一个接口写入数据包。PF_RING通过向内核中添加一种新的带缓存的socket来实现将网卡接收的数据包存储在一个环状缓存中,并因此得名PF_RING。通过PF_RING可以在数据接收并导入内网的过程中,将解密并经过地址转换的IP包加上MAC头部后,从内网口导出。
上述远程隧道访问技术网关,通过TCP/IP协议栈从第一网络接口接收数据帧,并将数据帧发送至VPN通信协议模块400,通过VPN通信协议模块400将数据帧发送至地址转换模块,通过网络地址转换模块600对数据帧进行地址转换后输入PF_RING模块800,通过PF_RING模块800将地址转换后的数据帧从第二网络接口输出。本申请通过使用高速网络包捕获技术PF_RING代替虚拟网卡,彻底去除了虚拟网卡读写的数据量限制,同时减少了网络数据包在系统协议栈中封装和解封装的操作次数,可以有效提高远程隧道访问技术网关的数据传输效率。
在其中一个实施例中,还包括:PF_RING模块800从内网接口获取IP数据包,为IP数据包去除MAC头部后,将去除MAC头部后的IP数据包输入网络地址转换模块600,网络地址转换模块600对IP数据包进行地址转换后,将地址转换后的IP数据包发送至VPN通信协议模块400,VPN通信协议模块400将IP数据包进行SSL/TLS综合加密后,将IP数据包发送至TCP/IP协议栈模块200,TCP/IP协议栈模块200将综合加密后的IP数据包封装后从外网接口输出。
具体的,IP数据包从内网口进入外网口的过程与IP数据包从外网口流入内网口的过程相反。首先内网带有MAC头部的IP数据包从内网口进入PF_RING模块800。PR_RING将IP数据包上的MAC头部去除后导入网络地址转换模块600,通过网络地址转换地址对IP数据包进行IP地址的转换,将IP数据包中内网的网络IP地址转换为外网的网络IP地址,以进行VPN数据通信,在转换IP地址完成后,IP数据包会进入VPN通信协议模块400,由VPN通信协议模块400为地址转换后的IP数据包进行加密处理,以保证数据在传输过程中的安全性,在加密完成后,将加密后的IP数据包输入TCP/IP协议栈模块200,对IP数据包进行最后的封装后,再将数据从外网口导出网关。
在其中一个实施例中,基于PF_RING的数据收发程序框架如图2所示。具体包括以下过程,1)数据接收线程。负责读取网卡接收到的数据,即终端和主站发来的数据,并根据分发策略把数据添加到相应待处理队列等待CPU处理。2)待处理队列。应用多个待处理队列的优点是可以软件模拟网卡多队列,实现并行处理,并可根据上层应用的实际需求自定义处理线程的数量十分灵活。3)数据包处理线程。从待处理队列读取数据,调用数据处理接口对数据包报头的解析和处理。如果没有数据将调用unsleep,防止过度消耗CPU资源。4)待发送队列。多线程同时向网卡同一TX队列发送数据会产生冲突,需要此队列最为发送数据的缓冲队列。在多消费者多生产者的情况下是安全的,所以其他非数据包处理线程线程也可以直接向该队列添加要发送的数据。5)发送数据线程。从待发送队列中读取需要发送的数据进行发送。
如图3所示,在其中一个实施例中,还包括ARP模块700,ARP模块700与PF_RING模块800连接,ARP模块700用于查询ARP缓存中IP地址和MAC地址的对应关系、添加静态对应关系和删除静态对应关系。在其中一个实施例中,ARP模块700用于获取ARP请求,根据ARP请求对应IP数据包包头中的IP地址信息,获取IP数据包对应目标硬件地址信息。
ARP是根据IP地址获取物理地址的一个TCP/IP协议。主机发送信息时将包含目标IP地址的ARP请求广播到局域网络上的所有主机,并接收返回消息,以此确定目标的物理地址;收到返回消息后将该IP地址和物理地址存入本机ARP缓存中并保留一定时间,下次请求时直接查询ARP缓存以节约资源。本实施例中的ARP模块700用于内部维护一个动态ARP表,用于对内网主机发出的ARP请求进行响应。因为在本申请的基于PF_RING的隧道型SSL VPN网关中,报文接收相对于使用虚拟网卡的网关直接绕开了TCP/IP协议栈模块200,此时可以通过ARP模块700在用户态实现保证一些正常传输的网络协议数据包的处理,提升网关的可用性能。
在其中一个实施例中,网络地址转换模块600还用于解除IP数据包对应报文的外层封装,对数据帧内层负载进行地址转换。
改进前的隧道型SSL VPN网关一般通过使用Iptables来完成网络地址的转换。Iptables的核心是内核中的Netfilter。
但在本基于PF_RING的隧道型SSL VPN网关中,报文接收后直接由用户态的SSLVPN网关进程进行处理,绕开了内核TCP/IP协议栈模块200,无法通过Iptables完成网络地址转换。因此需要在用户态实现网络地址转换。本申请通过使用<s_ip,s_port>表示从转换前的报文源地址,使用<nat_ip,nat_port>表示转换后的报文源地址。对于需要转发至内网的报文,将<s_ip,s_port>转换为<nat_ip,nat_port>然后调用PF_RING发送接口发送,对于转发至客户端的报文执行相反的操作。
在其中一个实施例中,网络地址转换模块600还用于获取IP数据包对应报文的VPN连接信息。
VPN网关中的用户态网络地址转换和普通网络地址转换有一些区别。一是,进行网络地址转换的不是外层的报文头部,在网络地址转换前需要先脱去报文的外层封装,将内层负载进行网络地址转换转换;二是,普通网络地址转换在转换由外网流向内网的报文时,需要确定内网地址,但VPN网关用户态网络地址转换不仅要确定内网地址,还需要确定报文目的地址对应的客户端的VPN连接信息,如密钥等。但这些区别也可以看做是独立于网络地址转换之外的处理,网络地址转换的核心过程并没有变,依然是映射关系的处理。通过网络地址转换模块600获取VPN连接信息,可以有效保证数据传输过程的安全性与有效性。具体的本申请中的用户态地址转换处理示意图可以参照图4。
如图5所示,在其中一个实施例中,还包括安全服务模块500,安全服务模块500与VPN通信模块连接,安全服务模块500用于提供VPN的图形用户界面接口。
安全服务模块500是直接提供给用户的VPN GUI接口,用户可以通过安全服务模块500提供的GUI对当前的SSL VPN网关中的VPN进行管理,进行修改VPN配置等操作。通过安全服务模块500可以为用户提供更加便捷的SSL VPN网关服务。
在其中一个实施例中,还包括配置管理模块,配置管理模块用于提供管理VPN的图形用户界面接口。配置管理模块可以为SSL VPN管理员提供的配置GUI配置的服务,配置管理模块可以对VPN通信协议模块400的连接地址、SSL VPN用户的账号信息、虚拟网络的地址范围、配置网络地址转换模块600用的端口范围等等进行管理。通过配置管理模块来对SSLVPN进行管理,可以进一步提高本申请的远程隧道访问技术网关的可用性。
一种远程隧道访问技术网关,包括TCP/IP协议栈模块200、VPN通信协议模块400、网络地址转换模块600、PF_RING模块800、ARP模块700、安全服务模块500以及配置管理模块;其中,数据通过网关从外网进入内网的过程包括,TCP/IP协议栈模块200从外网接口接收网络数据包,将网络数据包解封装后获得IP数据包,并将IP数据包发送至VPN通信协议模块400,通过VPN通信协议模块400将IP数据包进行SSL/TLS综合解密后,将综合解密后的IP数据包发送至网络地址转换模块600,通过网络地址转换模块600对IP数据包进行地址转换后,将地址转换后的IP数据包输入PF_RING模块800,通过PF_RING模块800为地址转换后的IP数据包添加MAC头部后,将添加MAC头部后的IP数据包从内网接口第二网络接口输出。数据通过网关从内网进出至外网的过程包括PF_RING模块800从内网接口获取IP数据包,为IP数据包去除MAC头部后,将去除MAC头部后的IP数据包输入网络地址转换模块600,网络地址转换模块600对IP数据包进行地址转换后,将地址转换后的IP数据包发送至VPN通信协议模块400,VPN通信协议模块400将IP数据包进行SSL/TLS综合加密后,将IP数据包发送至TCP/IP协议栈模块200,TCP/IP协议栈模块200将综合加密后的IP数据包封装后从外网接口输出。ARP模块700与PF_RING模块800连接,ARP模块700用于查询ARP缓存中IP地址和MAC地址的对应关系、添加静态对应关系和删除静态对应关系。此外ARP模块700用于获取ARP请求,根据ARP请求对应IP数据包包头中的IP地址信息,获取IP数据包对应目标硬件地址信息。PF_RING模块800包括环形数据缓存区,环形数据缓存区用于接收并缓存IP数据包,并供外界程序从内网接口读取缓存中的IP数据包。网络地址转换模块600还用于解除IP数据包对应报文的外层封装,对数据帧内层负载进行地址转换。网络地址转换模块600还用于获取IP数据包对应报文的VPN连接信息。安全服务模块500与VPN通信模块连接,安全服务模块500用于提供VPN的图形用户界面接口。配置管理模块用于提供管理VPN的图形用户界面接口。
一种服务器,服务器包括上述任一项的远程隧道访问技术网关。
上述服务器,TCP/IP协议栈模块200从外网接口接收网络数据包,将网络数据包解封装后获得IP数据包,并将IP数据包发送至VPN通信协议模块400,通过VPN通信协议模块400将IP数据包进行SSL/TLS综合解密后,将综合解密后的IP数据包发送至网络地址转换模块600,通过网络地址转换模块600对IP数据包进行地址转换后,将地址转换后的IP数据包输入PF_RING模块800,通过PF_RING模块800为地址转换后的IP数据包添加MAC头部后,将添加MAC头部后的IP数据包从内网接口第二网络接口输出。本申请通过使用高速网络包捕获技术PF_RING代替虚拟网卡,彻底去除了虚拟网卡读写的数据量限制,同时减少了网络数据包在系统协议栈中封装和解封装的操作次数,可以有效提高远程隧道访问技术网关的数据传输效率。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种远程隧道访问技术网关,包括TCP/IP协议栈模块、VPN通信协议模块、网络地址转换模块以及PF_RING模块;
所述TCP/IP协议栈模块从外网接口接收网络数据包,将所述网络数据包解封装后获得IP数据包,将所述IP数据包发送至所述VPN通信协议模块,所述VPN通信协议模块将所述IP数据包进行SSL/TLS综合解密后,将所述综合解密后的IP数据包发送至所述网络地址转换模块,所述网络地址转换模块对所述IP数据包进行地址转换后,将所述地址转换后的IP数据包输入所述PF_RING模块,所述PF_RING模块用于捕捉并缓存所述IP数据包,所述PF_RING模块为所述IP数据包添加MAC头部后,将所述添加MAC头部后的IP数据包从内网接口输出;
所述PF_RING模块还用于把所述IP数据包分发到多个缓冲区;
所述远程隧道访问技术网关还包括ARP模块,所述ARP模块与所述PF_RING模块连接,所述ARP模块用于查询ARP缓存中IP地址和MAC地址的对应关系、添加静态对应关系和删除静态对应关系。
2.根据权利要求1所述的远程隧道访问技术网关,其特征在于,还用于:
所述PF_RING模块从内网接口获取IP数据包,为所述IP数据包去除MAC头部后,将所述去除MAC头部后的IP数据包输入所述网络地址转换模块,所述网络地址转换模块对所述IP数据包进行地址转换后,将所述地址转换后的IP数据包发送至所述VPN通信协议模块,所述VPN通信协议模块将所述IP数据包进行SSL/TLS综合加密后,将所述IP数据包发送至所述TCP/IP协议栈模块,所述TCP/IP协议栈模块将所述综合加密后的IP数据包封装后从外网接口输出。
3.根据权利要求1所述的远程隧道访问技术网关,其特征在于,所述ARP模块用于维护动态ARP表。
4.根据权利要求1所述的远程隧道访问技术网关,其特征在于,所述ARP模块还用于获取ARP请求,根据所述ARP请求对应IP数据包包头中的IP地址信息,获取所述IP数据包对应目标硬件地址信息。
5.根据权利要求1所述的远程隧道访问技术网关,其特征在于,所述PF_RING模块包括环形数据缓存区,所述环形数据缓存区用于接收并缓存IP数据包,并供外界程序从所述内网接口读取所述缓存中的IP数据包。
6.根据权利要求1所述的远程隧道访问技术网关,其特征在于,所述网络地址转换模块还用于解除所述IP数据包对应报文的外层封装,对所述数据帧内层负载进行地址转换。
7.根据权利要求6所述的远程隧道访问技术网关,其特征在于,所述网络地址转换模块还用于获取所述IP数据包对应报文的VPN连接信息。
8.根据权利要求1所述的远程隧道访问技术网关,其特征在于,还包括安全服务模块,所述安全服务模块与所述VPN通信模块连接,所述安全服务模块用于提供VPN的图形用户界面接口。
9.根据权利要求1所述的远程隧道访问技术网关,其特征在于,还包括配置管理模块,所述配置管理模块用于提供管理VPN的图形用户界面接口。
10.一种服务器,其特征在于,所述服务器包括如权利要求1-9中任一项所述的远程隧道访问技术网关。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887847.9A CN110505244B (zh) | 2019-09-19 | 2019-09-19 | 远程隧道访问技术网关以及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910887847.9A CN110505244B (zh) | 2019-09-19 | 2019-09-19 | 远程隧道访问技术网关以及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110505244A CN110505244A (zh) | 2019-11-26 |
CN110505244B true CN110505244B (zh) | 2020-06-02 |
Family
ID=68592455
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910887847.9A Active CN110505244B (zh) | 2019-09-19 | 2019-09-19 | 远程隧道访问技术网关以及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110505244B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111314450B (zh) * | 2020-02-06 | 2022-08-02 | 恒生电子股份有限公司 | 数据的传输方法、装置、电子设备和计算机存储介质 |
CN113037706A (zh) * | 2021-01-22 | 2021-06-25 | 深圳可信计算技术有限公司 | 摄像头和服务器的数据加解密传送方法及数据传输系统 |
CN113438097B (zh) * | 2021-05-21 | 2022-08-23 | 翱捷科技股份有限公司 | 一种网络加速的实现方法及装置 |
CN113986811B (zh) * | 2021-09-23 | 2022-05-10 | 北京东方通网信科技有限公司 | 一种高性能内核态网络数据包加速方法 |
CN114710570B (zh) * | 2022-03-16 | 2023-08-25 | 深圳市风云实业有限公司 | 一种基于内核态协议栈的udp数据零拷贝传输方法 |
CN115442183B (zh) * | 2022-08-02 | 2024-01-02 | 天翼云科技有限公司 | 一种数据转发方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065125A (zh) * | 2010-11-18 | 2011-05-18 | 广州致远电子有限公司 | 一种嵌入式ssl vpn的实现方法 |
CN102664896A (zh) * | 2012-04-28 | 2012-09-12 | 郑州信大捷安信息技术股份有限公司 | 基于硬件加密的安全网络传输系统及传输方法 |
CN103617142A (zh) * | 2013-09-09 | 2014-03-05 | 南京邮电大学 | 一种基于pf_ring的高速网络数据采集方法 |
CN106506354A (zh) * | 2016-10-31 | 2017-03-15 | 杭州华三通信技术有限公司 | 一种报文传输方法和装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101764825B (zh) * | 2010-02-08 | 2012-12-19 | 成都市华为赛门铁克科技有限公司 | 虚拟专用网的数据传输方法、系统及终端、网关设备 |
CN101883119A (zh) * | 2010-07-09 | 2010-11-10 | 潘薇 | 利用“新型nat”实现路由网关设备防范arp病毒攻击的方法 |
US20160253046A1 (en) * | 2015-02-27 | 2016-09-01 | Cisco Technology, Inc. | Recording system state data and presenting a navigable graphical user interface |
US9735958B2 (en) * | 2015-05-19 | 2017-08-15 | Coinbase, Inc. | Key ceremony of a security system forming part of a host computer for cryptographic transactions |
CN106888145B (zh) * | 2017-03-17 | 2019-11-12 | 新华三技术有限公司 | 一种vpn资源访问方法及装置 |
-
2019
- 2019-09-19 CN CN201910887847.9A patent/CN110505244B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102065125A (zh) * | 2010-11-18 | 2011-05-18 | 广州致远电子有限公司 | 一种嵌入式ssl vpn的实现方法 |
CN102664896A (zh) * | 2012-04-28 | 2012-09-12 | 郑州信大捷安信息技术股份有限公司 | 基于硬件加密的安全网络传输系统及传输方法 |
CN103617142A (zh) * | 2013-09-09 | 2014-03-05 | 南京邮电大学 | 一种基于pf_ring的高速网络数据采集方法 |
CN106506354A (zh) * | 2016-10-31 | 2017-03-15 | 杭州华三通信技术有限公司 | 一种报文传输方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘宝辰.《基于千兆网卡的PF_RING功能的分析与设计》.《微型电脑应用》.2012,参见2.1.3. * |
Also Published As
Publication number | Publication date |
---|---|
CN110505244A (zh) | 2019-11-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110505244B (zh) | 远程隧道访问技术网关以及服务器 | |
US8996657B2 (en) | Systems and methods for multiplexing network channels | |
CN110022264B (zh) | 控制网络拥塞的方法、接入设备和计算机可读存储介质 | |
CN113326228B (zh) | 基于远程直接数据存储的报文转发方法、装置及设备 | |
US8984114B2 (en) | Dynamic session migration between network security gateways | |
US11888818B2 (en) | Multi-access interface for internet protocol security | |
JP5360233B2 (ja) | 負荷分散システム及びその方法 | |
US20170041226A1 (en) | Method and system for forwarding internet protocol (ip) data packets at a multiple wan network gateway | |
WO2022068756A1 (zh) | 基于微服务的服务网格系统及服务治理方法 | |
KR20070078347A (ko) | Ppp 멀티링크를 지원하는 시스템에서의 멀티캐스트트래픽 포워딩 장치 및 제어방법 | |
US9015438B2 (en) | System and method for achieving enhanced performance with multiple networking central processing unit (CPU) cores | |
CN112968965B (zh) | Nfv网络节点的元数据服务方法、服务器及存储介质 | |
WO2022111666A1 (zh) | 一种路由通告方法、装置及系统 | |
CN110086702B (zh) | 报文转发方法、装置、电子设备及机器可读存储介质 | |
CN111800340B (zh) | 数据包转发方法和装置 | |
CN113497767A (zh) | 传输数据的方法、装置、计算设备及存储介质 | |
CN114513485A (zh) | 获取映射规则的方法、装置、设备、系统及可读存储介质 | |
CN114826898A (zh) | 跨主机通信方法、装置、设备、系统及可读存储介质 | |
CN114327850A (zh) | 基于微服务的服务网格系统及服务治理方法 | |
US20220385625A1 (en) | Method for transmitting data in a network system as well as a network system | |
US20240163184A1 (en) | Lightweight container networking solution for resource constrained devices | |
US10938778B2 (en) | Route reply back interface for cloud internal communication | |
CN116939053A (zh) | 一种跨主机的容器间通信方法以及网络设备 | |
CN114928589A (zh) | 数据传输方法、数据传输装置、计算机可读介质及设备 | |
KR20210135259A (ko) | 통신 시스템에서의 공격 표면 축소 |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230802 Address after: 518000 building 501, 502, 601, 602, building D, wisdom Plaza, Qiaoxiang Road, Gaofa community, Shahe street, Nanshan District, Shenzhen City, Guangdong Province Patentee after: China Southern Power Grid Digital Platform Technology (Guangdong) Co.,Ltd. Address before: Room 1301, Chengtou building, No. 106, Fengze East Road, Nansha District, Guangzhou City, Guangdong Province Patentee before: Southern Power Grid Digital Grid Research Institute Co.,Ltd. |