一种使用DPDK和密码卡实现高性能链路加密的方法与流程


一种使用dpdk和密码卡实现高性能链路加密的方法
技术领域
1.本发明涉及一种计算机网络通讯传输加密系统和技术,尤其涉及链路透明加密技术、dpdk应用技术。


背景技术:



2.针对网络传输数据进行加密是非常常见的信息安全需求,应用范围极广,常用的技术包括ipsecvpn和sslvpn等系统。这两种网络加密协议原理是将原始网络数据包整个加密(包含ip数据包头信息或二层数据包头mac地址信息),然后按照vpn系统的路由设置重新添加一个包头(包括新的mac地址和ip地址),将新的加密包发送给对方vpn系统,对方vpn系统解密后,还原出原始数据包。这样的解决方案要求必须事先为vpn系统分配ip地址,并要求应用系统将其默认网关或目的网络的路由信息指向vpn系统,同时需要在vpn系统之间设置较为复杂的隧道规则信息,对用户的专业技术有一定要求。在许多实际网络加密需求场景中,客户操作人员经常不具备太多网络知识基础和vpn系统使用经验,导致vpn配置和应用效率很低,且容易因配置错误出现安全隐患。
3.基于上述原因,链路层透明加密系统应运而生,它通常表现为全透明网络设备,无需操作员为其配置ip地址、mac地址、路由信息以及隧道规则。工作原理不再是将网络数据包整个加密,而是保留原始数据包的包头信息不变,仅仅将载荷内容进行加密,然后将加密后的数据再传到网络中。这样做的优点是:数据包原本是怎么流转的(包括如何路由和寻址),加密后仍然能够按照原网络路径进行流转,因为网路设备在转发数据包时是按照包头的地址信息进行判断和处理的,透明加密后改变的仅仅是载荷内容,并未改变包头地址信息。如此一来,操作员部署链路加密系统的工作量和难度都大幅降低,只需要将系统串接在网络中,数据穿过链路加密系统时就可以自动完成加密或解密,非常方便。
4.目前绝大多数链路加密系统都是采用专用fpga主板或通用计算机集成fpga网卡实现,这需要专门设计硬件板卡和使用专用的fpga语言开发,软硬件技术门槛较高,设计和生产成本较高,且性能容易达到瓶颈。
5.dpdk(data plane development kit,数据平面开发套件)是由intel等多家公司开发,主要基于linux系统运行,用于快速数据包处理的函数库与驱动集合,可以极大提高数据处理性能和吞吐量,提高数据平面应用程序的工作效率。


技术实现要素:



6.针对现有fpga链路加密技术存在的不足,本发明提供了一种使用dpdk和密码卡实现高性能链路加密的方法,基于通用计算机系统平台、通用网卡以及通用pci-e密码卡,开发应用层链路加密软件,集成dpdk高性能数据平面开发套件,共同实现高性能链路加密系统。
7.为实现上述目的,本发明提供如下技术方案:一种使用dpdk和密码卡实现高性能链路加密的方法,其特征在于,所述方法至少
包含链路加密软件模块、dpdk框架、cryptodev、密码卡调用接口、pci-e密码卡、网卡;所述链路加密软件模块通过所述dpdk框架接收来自所述网卡指定网口接收的数据包;所述链路加密软件模块解析数据包结构,保持链路层数据包头不变,将载荷数据进行加密(加密的方法见后续流程);所述链路加密软件模块调用符合所述dpdk框架接口标准的所述cryptodev密码引擎,该引擎集成了所述密码卡调用接口,能够使用所述pci-e密码卡提供的硬件密码算法加速功能;数据包的载荷部分加密完毕后,所述链路加密软件模块即可将数据包从指定的发送网口传输到网络中,完成链路加密功能;链路解密过程与链路加密过程相似,接收和发送的网口正好相反,同时加密算法改为解密算法。
8.根据一个优选的实施方式,所述的使用dpdk和密码卡实现高性能链路加密的方法,其特征在于,方法不仅支持在二层进行链路加密与解密,也支持三层ip协议和四层tcp和udp协议;基本原理相似,都是将所需包头保持不变,而将有效载荷数据部分进行加密或解密。
9.综上所述,本发明与现有技术相比具有以下有益效果:(1).无需设计、生产专用fpga主板或fpga网卡等硬件板卡,只需要使用通用的计算机硬件平台、通用网卡、通用pci-e密码卡(即密码算法加速卡),大幅降低了开发周期、成本,以及批量生产的成本;(2).无需使用专用fpga语言开发链路加密固件程序,只需要在通用计算机平台上使用常见的c语言进行开发即可,大幅降低了开发难度和招聘专用人才的高昂成本;同时基于c语言在应用层开发软件,开发效率更高,灵活度更高,可以实现更加复杂的协议处理机制,集成更多第三方功能代码,无需担忧fpga芯片捉襟见肘的存储空间;(3).充分应用了dpdk高性能数据平面开发套件,能够使高带宽海量网络数据绕开操作系统内核中断机制,直接转发到应用层软件代码中,进行高性能数据处理,大幅提升了网络数据加密的效率;将此技术应用到链路加密系统,能进一步提高链路加密的实时性和吞吐带宽;(4).本方法可以在dpdk的cryptodev加密引擎上集成多块pci-e密码卡,实现超高数据带宽的负载均衡调用,满足更高性能的链路加密机设计需求。
附图说明
10.图1为本发明使用dpdk和密码卡实现高性能链路加密的方法的示意图。
11.图2为本发明使用dpdk和多个pci-e密码卡、多个网口实现多路高性能链路加密的方法的示意图。
具体实施方式
12.下面结合附图1和具体实施例对本发明的技术方案做进一步的说明。
13.一种使用dpdk和密码卡实现高性能链路加密的方法,其特征在于:所述方法包含链路加密软件模块(101)、dpdk框架(102)、cryptodev(103)、密码卡调用接口(104)、pci-e
密码卡(105)、网卡(106);所述链路加密软件模块(101)通过所述dpdk框架(102)接收来自所述网卡(106)指定网口接收的数据包;所述链路加密软件模块(101)解析数据包结构,保持链路层数据包头不变,将载荷数据进行加密(加密的方法见后续流程);所述链路加密软件模块(101)调用符合所述dpdk框架(102)接口标准的所述cryptodev(103)密码引擎,该引擎集成了所述密码卡调用接口(104),能够使用所述pci-e密码卡(105)提供的硬件密码算法加速功能;数据包的载荷部分加密完毕后,所述链路加密软件模块(101)即可将数据包从指定的发送网口传输到网络中,完成链路加密功能;链路解密过程与链路加密过程相似,接收和发送的网口正好相反,同时加密算法改为解密算法。
14.实施例1:参见图1所示,系统包含链路加密软件模块(101)、dpdk框架(102)、cryptodev(103)、密码卡调用接口(104)、pci-e密码卡(105)、网卡(106);所述链路加密软件模块(101)通过所述dpdk框架(102)接收来自所述网卡(106)指定网口接收的数据包;所述链路加密软件模块(101)解析数据包结构,保持链路层数据包头不变,将载荷数据进行加密(加密的方法见后续流程);所述链路加密软件模块(101)调用符合所述dpdk框架(102)接口标准的所述cryptodev(103)密码引擎,该引擎集成了所述密码卡调用接口(104),能够使用所述pci-e密码卡(105)提供的硬件密码算法加速功能;数据包的载荷部分加密完毕后,所述链路加密软件模块(101)即可将数据包从指定的发送网口传输到网络中,完成链路加密功能;链路解密过程与链路加密过程相似,接收和发送的网口正好相反,同时加密算法改为解密算法。
15.实施例2:参见图2,与实施例1相似,但使用了多个pci-e密码卡和多个网卡,提供多路链路加密,同时内部采用多密码卡进行负载均衡,共同实现多路高性能链路加密。
16.需要注意的是,上述具体实施方式是示例性的,本领域技术人员可以在本发明公开内容的启发下想出类似解决方案,以及对本发明的各项权利进行非实质性改变;而这些解决方案和改变也都属于本发明的公开范围并落入本发明的保护范围之内。本领域技术人员应该明白,本发明说明书及其附图均为说明性而并非构成对权利要求的限制。本发明的保护范围由权利要求及其等同物限定。

技术特征:


1.一种使用dpdk和密码卡实现高性能链路加密的方法,其特征在于:所述方法包含链路加密软件模块(101)、dpdk框架(102)、cryptodev(103)、密码卡调用接口(104)、pci-e密码卡(105)、网卡(106);所述链路加密软件模块(101)通过所述dpdk框架(102)接收来自所述网卡(106)指定网口接收的数据包;所述链路加密软件模块(101)解析数据包结构,保持链路层数据包头不变,将载荷数据进行加密(加密的方法见后续流程);所述链路加密软件模块(101)调用符合所述dpdk框架(102)接口标准的所述cryptodev(103)密码引擎,该引擎集成了所述密码卡调用接口(104),能够使用所述pci-e密码卡(105)提供的硬件密码算法加速功能;数据包的载荷部分加密完毕后,所述链路加密软件模块(101)即可将数据包从指定的发送网口传输到网络中,完成链路加密功能;链路解密过程与链路加密过程相似,接收和发送的网口正好相反,同时加密算法改为解密算法。2.根据权利要求1所述的使用dpdk和密码卡实现高性能链路加密的方法,其特征在于,方法不仅支持在二层进行链路加密与解密,也支持三层ip协议和四层tcp和udp协议;基本原理相似,都是将所需包头保持不变,而将有效载荷数据部分进行加密或解密。3.根据权利要求1所述的使用dpdk和密码卡实现高性能链路加密的方法,其特征在于,可能包含多个所述pci-e密码卡(105)以实现更高带宽数据并发处理能力;同时可能包含多个所述网卡(106),可实现更多网络接口收发以满足多路链路加密服务能力。

技术总结


本发明公开了一种使用DPDK和密码卡实现高性能链路加密的方法。以往链路加密系统通常采用FPGA网卡实现,这需要专门设计硬件板卡和使用专用的FPGA语言开发,且性能容易达到瓶颈。本方法采用DPDK高性能数据平面开发套件和通用PCI-E密码卡,结合应用层链路加密软件共同实现高性能链路加密系统。本方法可以利用通用计算机系统、通用网卡和通用PCI-E密码卡实现高性能链路加密系统,不再需要专用FPGA芯片、板卡和专用语言开发的固件程序,大幅降低技术难度、研发成本和生产成本。研发成本和生产成本。研发成本和生产成本。


技术研发人员:

张建国 王春来 高玉平 王赛

受保护的技术使用者:

北京国领科技有限公司

技术研发日:

2022.08.08

技术公布日:

2022/11/18

本文发布于:2024-09-20 12:21:01,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/6647.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:链路   所述   密码   数据包
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议