CN112737932A - 一种基于dpdk实现高性能ipsce网关 - Google Patents

一种基于dpdk实现高性能ipsce网关 Download PDF

Info

Publication number
CN112737932A
CN112737932A CN202011559654.XA CN202011559654A CN112737932A CN 112737932 A CN112737932 A CN 112737932A CN 202011559654 A CN202011559654 A CN 202011559654A CN 112737932 A CN112737932 A CN 112737932A
Authority
CN
China
Prior art keywords
plane
ipsec
message
management
dpdk
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
CN202011559654.XA
Other languages
English (en)
Other versions
CN112737932B (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.)
Jiangsu Future Networks Innovation Institute
Original Assignee
Jiangsu Future Networks Innovation Institute
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 Jiangsu Future Networks Innovation Institute filed Critical Jiangsu Future Networks Innovation Institute
Priority to CN202011559654.XA priority Critical patent/CN112737932B/zh
Publication of CN112737932A publication Critical patent/CN112737932A/zh
Application granted granted Critical
Publication of CN112737932B publication Critical patent/CN112737932B/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/66Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
    • 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/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0485Networking architectures for enhanced packet encryption processing, e.g. offloading of IPsec packet processing or efficient security association look-up

Landscapes

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

Abstract

本发明提供了一种基于DPDK实现高性能IPSCE网关,其特征在于,包括管理平面、控制平面和转发平面三部分,所述管理平面是整个方案的用户管理入口,通过SOAP接口连接至控制平面;所述转发平面为整个方案的报文处理核心,负责报文的处理,通过RING连接至管理平面;所述管理平面为整个方案的管理核心,负责整个方案主要的复杂逻辑处理、协议处理、设备初始化和管理、模块初始化和管理,通过SOAP接口连接至管理平面,通过RING连接至转发平面。本发明通过使用DPDK提供的用户态网卡驱动,旁路LINUX内核协议栈收发报文,提高报文的收发效率;通过使用加速卡,提高对IPSEC报文的加解密性能;通过多核横向扩展,进一步提高IPSEC安全网关的性能。

Description

一种基于DPDK实现高性能IPSCE网关
技术领域
本发明涉及互联网领域,具体涉及一种基于DPDK实现高性能IPSCE网关。
背景技术
DPDK(Data Plane Development Kit,数据平面开发套件)由一套运行在用户空间的函数库与驱动组成,为数据平面提供高性能的数据收发和处理。IPSEC(InternetProtocol Security,互联网安全协议)是一个协议包,通过对IP协议的分组进行加密和认证来保护IP协议的网络传输协议族(一些相互关联的协议的集合)。
目前大多数IPSEC安全网关的实现基于LINUX系统,由于报文的多次拷贝(用户空间和内核空间)、IPSEC报文的加解密和校验、无法多核横向扩展等问题,导致IPSEC安全网的报文处理能力有限。
发明内容
本方案基于DPDK实现,既考虑到高性能要求,包括用户态网卡驱动、加速卡、转发和控制分离、转发平面可多核横向扩展等,也考虑到实现的难易程度,包括使用LINUX内核协议栈维护IPSEC隧道信息等,提供了一种基于DPDK实现高性能IPSCE网关。
为实现上述目的,本发明提供的具体技术方案如下:
一种基于DPDK实现高性能IPSCE网关,其特征在于,包括管理平面、控制平面和转发平面三部分,所述管理平面是整个方案的用户管理入口,通过SOAP接口连接至控制平面;所述转发平面为整个方案的报文处理核心,负责报文的处理,通过RING连接至管理平面。
所述管理平面主要为用户提供基于命令行和页面的管理功能,为用户提供数据平面信息的展示功能;所述平面信息包括隧道信息、流量信息、CPU使用率、内存使用率、接口状态等。
所述管理平面为整个方案的管理核心,负责整个方案主要的复杂逻辑处理、协议处理、设备初始化和管理、模块初始化和管理,通过SOAP接口连接至管理平面,通过RING连接至转发平面。
所述控制平面运作步骤如下:
步骤1.1:接收来自管理平面的配置信息,将其生效至控制平面和LINUX内核协议栈;
步骤1.2:通过KNI将从转发平面获取的IPSCE协议报文送入LINUX内核协议栈,同时通过KNI将从LINUX内核协议栈获取的IPSEC协议报文送入转发平面;用于LINUX内核协议栈strongswan维护IPSEC隧道信息;所述维护方式分为新建、删除和更新;
步骤1.3:通过NETLINK从LINUX内核协议栈中获取IPSEC隧道信息的变化,包括新建、删除和更新,将其同步至转发平面;
步骤1.4:将从转发平面和LINUX内核协议栈获取的信息上报给管理平面。
所述转发平面运作步骤如下:
步骤2.1:将从NIC接收IPSEC协议报文发送至控制平面,同时将从控制平面获取的IPSEC协议报文发送至NIC;
步骤2.2:从控制平面获取IPSEC隧道信息;
步骤2.3:完成IPSCE报文的校验、加密、解密、封装、解封装等;
步骤2.4:定时将流量信息上报至控制平面。
所述步骤2.1还包括:转发平面通过使用DPDK提供的用户态网卡驱动,旁路LINUX内核协议栈收发报文,提高报文的收发效率;所述步骤2.3还包括通过使用加速卡,提高对IPSEC报文的加解密性能;所述转发平面可多核横向扩展,进一步提高IPSEC安全网关的性能。
所述控制平面通过NETLINK从LINUX内核协议栈接收IPSEC隧道信息后,先对隧道信息进行加工处理,然后将其同步至转发平面,转发平面通过IPSEC隧道信息对报文进行处理。
所述转发平面从NIC接收的报文后,将报文分为三类:IPSEC协议报文、IPSEC数据报文和需要通过IPSEC隧道处理的报文;所述IPSEC协议报文发送到所述控制平面,所述控制平面通过KNI将报文发送至LINUX内核协议栈;所述IPSEC数据报文校验通过后,先送入加速卡进行解密,然后对其进行解封包操作,最后将报文通过NIC发送至内网用户;所述需要通过IPSEC隧道处理的报文,先封装IPSEC头,再送入加速卡进行报文的加密,然后添加校验头,最后通过NIC将IPSEC报文发往对端IPSEC安全网关。
所述控制平面通过KNI从LINUX内核协议栈接收IPSEC协议报文,然后发送至所述转发平面,所述转发平面通过NIC将IPSEC协议报文发送对端IPSEC安全网关。
本发明提供了一种高性能的IPSEC网关方案。通过使用DPDK提供的用户态网卡驱动,旁路LINUX内核协议栈收发报文,提高报文的收发效率;通过使用加速卡,提高对IPSEC报文的加解密性能;通过将复杂逻辑处理移至控制平面,使转发平面处理逻辑简化,增加转发平面的稳定性和报文处理性能;通过降低转发平面和控制平面的耦合性,同时转平面使用自己独占的数据结构和无锁处理,使转发平面可以接近线性的方式进行多核横向扩展,进一步提高IPSEC安全网关的性能;通过KNI使处于用户态网卡收发的ISPEC协议报文可以和LINUX内核协议栈交互,完成IPSEC隧道信息维护,将逻辑复杂性能要求不高的部分使用LINUX内核协议栈处理,通过NETLINK从内核获取IPSEC随到信息,降低实现复杂度。本方案可以使用通用的硬件平台,以相对简单的方式实现高性能的IPSEC网关。
本发明通过使用DPDK提供的用户态网卡驱动,旁路LINUX内核协议栈收发报文,提高报文的收发效率;通过使用加速卡,提高对IPSEC报文的加解密性能;通过多核横向扩展,进一步提高IPSEC安全网关的性能。
附图说明
图1为基于DPDK实现高性能IPSCE网关示意图;
图2 NETLINK消息处理流程图;
图3 NIC接收报文处理流程图;
图4 KNI接收报文处理流程图。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述,但并不以此作为对本申请保护范围的限定。
本方案基于DPDK实现,即考虑到高性能要求,包括用户态网卡驱动、加速卡、转发和控制分离、转发平面可多核横向扩展等,也考虑到实现的难易程度,包括使用LINUX内核协议栈维护IPSEC隧道信息等。实现方案如图1所示。
本方案由管理平面、控制平面和转发平面三部分组成。所述管理平面是整个方案的用户管理入口,通过SOAP接口连接至控制平面;所述转发平面为整个方案的报文处理核心,负责报文的处理,通过RING连接至管理平面。
所述管理平面主要为用户提供基于命令行和页面的管理功能,为用户提供数据平面信息的展示功能;所述平面信息包括隧道信息、流量信息、CPU使用率、内存使用率、接口状态等。
所述管理平面为整个方案的管理核心,负责整个方案主要的复杂逻辑处理、协议处理、设备初始化和管理、模块初始化和管理,通过SOAP接口连接至管理平面,通过RING连接至转发平面。
所述控制平面运作步骤如下:
步骤1.1:接收来自管理平面的配置信息,将其生效至控制平面和LINUX内核协议栈;
步骤1.2:通过KNI将从转发平面获取的IPSCE协议报文送入LINUX内核协议栈,同时通过KNI将从LINUX内核协议栈获取的IPSEC协议报文送入转发平面;用于LINUX内核协议栈strongswan维护IPSEC隧道信息;所述维护方式分为新建、删除和更新;
步骤1.3:通过NETLINK从LINUX内核协议栈中获取IPSEC隧道信息的变化,包括新建、删除和更新,将其同步至转发平面;
步骤1.4:将从转发平面和LINUX内核协议栈获取的信息上报给管理平面。
所述转发平面运作步骤如下:
步骤2.1:将从NIC接收IPSEC协议报文发送至控制平面,同时将从控制平面获取的IPSEC协议报文发送至NIC;
步骤2.2:从控制平面获取IPSEC隧道信息;
步骤2.3:完成IPSCE报文的校验、加密、解密、封装、解封装等;
步骤2.4:定时将流量信息上报至控制平面。
所述步骤2.1还包括:转发平面通过使用DPDK提供的用户态网卡驱动,旁路LINUX内核协议栈收发报文,提高报文的收发效率;所述步骤2.3还包括通过使用加速卡,提高对IPSEC报文的加解密性能;所述转发平面可多核横向扩展,进一步提高IPSEC安全网关的性能。
所述控制平面通过NETLINK从LINUX内核协议栈接收IPSEC隧道信息后,先对隧道信息进行加工处理,然后将其同步至转发平面,转发平面通过IPSEC隧道信息对报文进行处理。
对于NETLINK消息的处理流程如图2所示。控制平面通过NETLINK从LINUX内核协议栈接收IPSEC隧道信息后,先对隧道信息进行加工处理,然后将其同步至转发平面,转发平面通过IPSEC隧道信息对报文进行处理。
对于NIC接收的报文处理流程如图3所示。转发平面从NIC接收的报文后,将报文分为三类:IPSEC协议报文、IPSEC数据报文和需要通过IPSEC隧道处理的报文。IPSEC协议报文发送到控制平面,控制平面通过KNI将报文发送至LINUX内核协议栈。IPSEC数据报文校验通过后,先送入加速卡进行解密,然后对其进行解封包操作,最后将报文通过NIC发送至内网用户。需要通过IPSEC隧道处理的报文,先封装IPSEC头,再送入加速卡进行报文的加密,然后添加校验头,最后通过NIC将IPSEC报文发往对端IPSEC安全网关。
对于KNI接收的IPSEC协议报文流程如图4所示。控制平面通过KNI从LINUX内核协议栈接收IPSEC协议报文,然后发送至转发平面,转发平面通过NIC将IPSEC协议报文发送对端IPSEC安全网关。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (8)

1.一种基于DPDK实现高性能IPSCE网关,其特征在于,包括管理平面、控制平面和转发平面三部分,所述管理平面是整个方案的用户管理入口,通过SOAP接口连接至控制平面;所述转发平面为整个方案的报文处理核心,负责报文的处理,通过RING连接至管理平面。
2.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述管理平面主要为用户提供基于命令行和页面的管理功能,为用户提供数据平面信息的展示功能;所述平面信息包括隧道信息、流量信息、CPU使用率、内存使用率、接口状态等。
3.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述控制平面运作步骤如下:
步骤1.1:接收来自管理平面的配置信息,将其生效至控制平面和LINUX内核协议栈;
步骤1.2:通过KNI将从转发平面获取的IPSCE协议报文送入LINUX内核协议栈,同时通过KNI将从LINUX内核协议栈获取的IPSEC协议报文送入转发平面;用于LINUX内核协议栈strongswan维护IPSEC隧道信息;所述维护方式分为新建、删除和更新;
步骤1.3:通过NETLINK从LINUX内核协议栈中获取IPSEC隧道信息的变化,包括新建、删除和更新,将其同步至转发平面;
步骤1.4:将从转发平面和LINUX内核协议栈获取的信息上报给管理平面。
4.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述转发平面运作步骤如下:
步骤2.1:将从NIC接收IPSEC协议报文发送至控制平面,同时将从控制平面获取的IPSEC协议报文发送至NIC;
步骤2.2:从控制平面获取IPSEC隧道信息;
步骤2.3:完成IPSCE报文的校验、加密、解密、封装、解封装等;
步骤2.4:定时将流量信息上报至控制平面。
5.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述步骤2.1还包括:转发平面通过使用DPDK提供的用户态网卡驱动,旁路LINUX内核协议栈收发报文,提高报文的收发效率;所述步骤2.3还包括通过使用加速卡,提高对IPSEC报文的加解密性能;所述转发平面可多核横向扩展,进一步提高IPSEC安全网关的性能。
6.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述控制平面通过NETLINK从LINUX内核协议栈接收IPSEC隧道信息后,先对隧道信息进行加工处理,然后将其同步至转发平面,转发平面通过IPSEC隧道信息对报文进行处理。
7.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述转发平面从NIC接收的报文后,将报文分为三类:IPSEC协议报文、IPSEC数据报文和需要通过IPSEC隧道处理的报文;所述IPSEC协议报文发送到所述控制平面,所述控制平面通过KNI将报文发送至LINUX内核协议栈;所述IPSEC数据报文校验通过后,先送入加速卡进行解密,然后对其进行解封包操作,最后将报文通过NIC发送至内网用户;所述需要通过IPSEC隧道处理的报文,先封装IPSEC头,再送入加速卡进行报文的加密,然后添加校验头,最后通过NIC将IPSEC报文发往对端IPSEC安全网关。
8.根据权利要求1所述的基于DPDK实现高性能IPSCE网关,其特征在于,所述控制平面通过KNI从LINUX内核协议栈接收IPSEC协议报文,然后发送至所述转发平面,所述转发平面通过NIC将IPSEC协议报文发送对端IPSEC安全网关。
CN202011559654.XA 2020-12-25 2020-12-25 一种基于dpdk实现高性能ipsce网关 Active CN112737932B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011559654.XA CN112737932B (zh) 2020-12-25 2020-12-25 一种基于dpdk实现高性能ipsce网关

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011559654.XA CN112737932B (zh) 2020-12-25 2020-12-25 一种基于dpdk实现高性能ipsce网关

Publications (2)

Publication Number Publication Date
CN112737932A true CN112737932A (zh) 2021-04-30
CN112737932B CN112737932B (zh) 2023-04-07

Family

ID=75615839

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011559654.XA Active CN112737932B (zh) 2020-12-25 2020-12-25 一种基于dpdk实现高性能ipsce网关

Country Status (1)

Country Link
CN (1) CN112737932B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254976A (zh) * 2023-11-15 2023-12-19 杭州海康威视数字技术股份有限公司 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841026A (zh) * 2014-02-21 2014-06-04 烽火通信科技股份有限公司 一种路由器ip协议栈的vpn路由管理系统及方法
CN104270280A (zh) * 2014-09-02 2015-01-07 烽火通信科技股份有限公司 在路由器上实现LSP ping和tracert的系统及方法
CN106302199A (zh) * 2016-08-10 2017-01-04 成都广达新网科技股份有限公司 一种基于三层交换机设备的用户态协议栈实现方法及系统
CN107911237A (zh) * 2017-11-10 2018-04-13 南京邮电大学 一种基于dpdk的用户空间内数据包快速检测方法
CN108366018A (zh) * 2017-01-26 2018-08-03 普天信息技术有限公司 一种基于dpdk的网络数据包处理方法
CN111614631A (zh) * 2020-04-29 2020-09-01 江苏深网科技有限公司 一种用户态流水线架构防火墙系统
CN111934894A (zh) * 2019-05-13 2020-11-13 烽火通信科技股份有限公司 基于dpdk管理无线网络接口的方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103841026A (zh) * 2014-02-21 2014-06-04 烽火通信科技股份有限公司 一种路由器ip协议栈的vpn路由管理系统及方法
CN104270280A (zh) * 2014-09-02 2015-01-07 烽火通信科技股份有限公司 在路由器上实现LSP ping和tracert的系统及方法
CN106302199A (zh) * 2016-08-10 2017-01-04 成都广达新网科技股份有限公司 一种基于三层交换机设备的用户态协议栈实现方法及系统
CN108366018A (zh) * 2017-01-26 2018-08-03 普天信息技术有限公司 一种基于dpdk的网络数据包处理方法
CN107911237A (zh) * 2017-11-10 2018-04-13 南京邮电大学 一种基于dpdk的用户空间内数据包快速检测方法
CN111934894A (zh) * 2019-05-13 2020-11-13 烽火通信科技股份有限公司 基于dpdk管理无线网络接口的方法及系统
CN111614631A (zh) * 2020-04-29 2020-09-01 江苏深网科技有限公司 一种用户态流水线架构防火墙系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117254976A (zh) * 2023-11-15 2023-12-19 杭州海康威视数字技术股份有限公司 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备
CN117254976B (zh) * 2023-11-15 2024-03-19 杭州海康威视数字技术股份有限公司 基于VPP的国标IPsec VPN实现方法、装置、系统及电子设备

Also Published As

Publication number Publication date
CN112737932B (zh) 2023-04-07

Similar Documents

Publication Publication Date Title
US11683266B2 (en) Computational accelerator for storage operations
US9380134B2 (en) RoCE packet sequence acceleration
US7327762B2 (en) Packet data processing apparatus in packet data communication system
US6275588B1 (en) Apparatus and method for performing and controlling encryption/decryption for data to be transmitted on local area network
US20070223472A1 (en) Network processing apparatus, multiprocessor system and network protocol processing method
CN101409675A (zh) 网络分组净荷压缩
WO2022032984A1 (zh) 一种mqtt协议仿真方法及仿真设备
CN102143218B (zh) web接入云体系结构及接入方法
CN111262823B (zh) 一种安全网关及其数据处理方法
CN106656714A (zh) 一种基于EtherCAT总线的通信协议方法及系统
CN104468309A (zh) 一种低速smp与高速密码卡的高效适配方法
CN104219298A (zh) 集群系统及其数据备份的方法
CN112737932B (zh) 一种基于dpdk实现高性能ipsce网关
JP4426351B2 (ja) 仮想私設網機能と無線lan機能を有する複合ネットワーク装置具現方法
CN113660191A (zh) Fc-ae-1553协议桥接mil-std-1553和gjb1188b协议的通讯方法
WO2020233442A1 (zh) 区块链与网络系统、数据接收与发送方法及设备
JP2003050788A (ja) 高レベル・データ・リンク・コントローラから多数個のディジタル信号プロセッサ・コアに信号を分配するための装置と方法
CN102932458A (zh) 一种ppp协议的硬件加速系统及其实现方法
CN113810397B (zh) 协议数据的处理方法及装置
CN113612668A (zh) 一种桥接三种协议的通讯方法
CN110602225A (zh) 一种适用于工控环境的linux系统高效收发包方法
JPH11275102A (ja) 電力線によるネットワークシステム、データの伝送方法及び記録媒体
CN115529180B (zh) IPSec加解密卸载方法
JP3360727B2 (ja) パケット転送システム及びそれを用いたパケット転送方法
EP1049292A2 (en) System and method for network monitoring

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