一种基于DPDK的双协议栈实现系统及实现方法技术方案

技术编号:23561940 阅读:31 留言:0更新日期:2020-03-25 06:39
本发明专利技术提出了一种基于DPDK的双协议栈实现系统,包括:DPDK收发包单元,通过用户态以轮询收发包驱动模型的方式实现数据报文的快速收发;数据报文处理单元,对DPDK收发包单元收发的数据报文进行预处理,并根据数据报文的IP地址将数据报文分发至Linux内核协议栈或用户空间协议栈,以及对Linux内核协议栈或用户空间协议栈处理后的数据报文进行后处理,并将处理后的数据报文分发至DPDK收发包单元;所述应用程序I运行在所述用户空间协议栈中进行业务处理,所述应用程序II运行在所述Linux内核协议栈中进行业务处理。本发明专利技术能够有效提升数据报文的处理性能,并提升系统整体的安全性,满足不同复杂度的业务需求。

A dpdk based dual protocol stack implementation system and method

【技术实现步骤摘要】
一种基于DPDK的双协议栈实现系统及实现方法
本专利技术涉及通信
,尤其涉及一种基于DPDK的双协议栈实现系统及实现方法。
技术介绍
DPDK(数据平面开发工具包:DataPlaneDevelopmentKit)是一个开源的数据平面开发工具集,是Intel为了解决LinuxSMP环境下数据包处理性能问题而提供的一个用户空间下的高效数据包处理函数库和驱动集。DPDK通过环境抽象层的旁路OS运行环境、轮询模式的数据无中断收发、优化内存/缓冲区/队列管理、大页内存等多项技术,实现了SMP环境下的高性能数据包处理能力。传统的Linux内核协议栈具备功能复杂、通用性强的特点,但是对于一些网络专用设备,其网络数据处理性能无法满足爆发式增长的网络带宽要求,因此,如何在固定的硬件成本和不损失Linux内核协议栈强大的功能基础上有效地提升数据报文的处理性能是目前急需解决的问题。
技术实现思路
鉴于上述内容,有必要提供一种基于DPDK的双协议栈实现系统及实现方法,其能够在固定的硬件成本和不损失Linux内核协议栈强大的功能基础上有本文档来自技高网...

【技术保护点】
1.一种基于DPDK的双协议栈实现系统,其特征在于,包括:DPDK收发包单元、数据报文处理单元、用户空间协议栈、Linux内核协议栈、应用程序I和应用程序II;/n所述DPDK收发包单元,用于通过用户态以轮询收发包驱动模型的方式实现数据报文的快速收发;/n所述数据报文处理单元,用于对所述DPDK收发包单元收发的所述数据报文进行预处理,并根据所述数据报文的IP地址将所述数据报文分发至所述Linux内核协议栈或用户空间协议栈;以及用于对所述Linux内核协议栈或用户空间协议栈处理后的数据报文进行后处理,并将所述处理后的数据报文分发至所述DPDK收发包单元;/n所述应用程序I运行在所述用户空间协议栈...

【技术特征摘要】
1.一种基于DPDK的双协议栈实现系统,其特征在于,包括:DPDK收发包单元、数据报文处理单元、用户空间协议栈、Linux内核协议栈、应用程序I和应用程序II;
所述DPDK收发包单元,用于通过用户态以轮询收发包驱动模型的方式实现数据报文的快速收发;
所述数据报文处理单元,用于对所述DPDK收发包单元收发的所述数据报文进行预处理,并根据所述数据报文的IP地址将所述数据报文分发至所述Linux内核协议栈或用户空间协议栈;以及用于对所述Linux内核协议栈或用户空间协议栈处理后的数据报文进行后处理,并将所述处理后的数据报文分发至所述DPDK收发包单元;
所述应用程序I运行在所述用户空间协议栈中进行业务处理,所述应用程序II运行在所述Linux内核协议栈中进行业务处理。


2.根据权利要求1所述的双协议栈实现系统,其特征在于,所述数据报文处理单元还根据业务需求创建不同的module进行所述数据报文的预处理和后处理,所述module至少包括用于访问控制处理的ACLmodule、用于IP分片处理的IPFragmodule、用于SNAT处理的SNATmodule。


3.根据权利要求1所述的双协议栈实现系统,其特征在于,所述应用程序I包括用户自身开发的应用程序、与所述用户空间协议栈进行适配过的第三方应用程序和二次开发的应用程序;所述应用程序II包括第三方应用程序和二次开发的应用程序。


4.根据权利要求1所述的双协议栈实现系统,其特征在于,所述Linux内核协议栈与所述用户空间协议栈独立设置。


5.根据权利要求1所述的双协议栈实现系统,其特征在于,所述双协议栈实现系统还包括单物理网卡,用于所述DPDK收发包单元从所述单物理网卡接收数据报文以及将处理后的数据报文发送至所述单物理网卡。


6.根据权利要求1所述的双协议栈实现系统,其特征在于,所述的根据所述数据报文的IP地址将所述数据报文分发至所述Linux内核协议栈或用户空间协议栈具体包括:判断所述数据报文的IP地址是第一IP地址或第二IP地址,若是所述第一IP地址,则将所述数据报文分发至用户空间协议栈进行处理;若是所述第二IP地址,则将所述数据报文分发至Linux内核协议栈进行处理。


7.一种应用权利要求1-5任意一项所述双协议栈实现系统...

【专利技术属性】
技术研发人员:马骥冀博王小龙李昭熹孙晓鹏廖正赟雷宇龙
申请(专利权)人:郑州信大捷安信息技术股份有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1