[发明专利]基于Intel DPDK的网络数据包并行处理方法有效
申请号: | 201610064205.5 | 申请日: | 2016-01-29 |
公开(公告)号: | CN105577567B | 公开(公告)日: | 2018-11-02 |
发明(设计)人: | 黄益彬;金倩倩;纪元;韦小刚;邓进;张骞;陈功胜;纪鹏;宋述停;王强 | 申请(专利权)人: | 国家电网公司;南京南瑞集团公司;南京南瑞信息通信科技有限公司;国网山西省电力公司 |
主分类号: | H04L12/861 | 分类号: | H04L12/861;H04L12/911;H04L12/26;H04L12/24 |
代理公司: | 南京纵横知识产权代理有限公司 32224 | 代理人: | 董建林 |
地址: | 100031 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 intel dpdk 网络 数据包 并行 处理 方法 | ||
1.基于Intel DPDK的网络数据包并行处理方法,其特征在于:包括以下步骤,
步骤一,构建Intel DPDK运行环境;
步骤一中,构建Intel DPDK运行环境的过程为,
A1)启动配置;
包括设置Linux内核启动参数和设置huge page内存;
A2)加载Linux系统UIO驱动框架模块,加载Intel网卡 UIO内核驱动模块;
其中,驱动采用Poll模式来获取网卡数据包;
A3)绑定当前物理网口到Intel UIO驱动,使得当前物理网口脱离Linux内核网络协议栈;
A4) 加载hugetlbfs文件系统,利用hugetlbfs文件实现对huge page内存映射操作;
A5)获取Linux系统信息;
Linux系统信息包括CPU颗粒数、内存通道及容量、每颗CPU的核心数以及DPDK可使用的网络接口;
步骤二,创建内存池,创建用于接收网络数据包的RX内存环和用于发送网络数据包的TX内存环;
所述内存池为创建在huge page内存中若干内存块,内存块部分空间用于存储内存块自身信息,其余空间用于存储网络数据包;
步骤三,设置网络数据包调度策略,准备进行网络数据包调度;
网络数据包调度策略包括,
a、按VLAN号分配:根据网络数据包中的VLAN号,将接收到的网络数据包分配给工作线程进行处理;
b、按地址分配:根据网络数据包的源地址和目的地址,识别出通信双方,保证同一源地址和目的地址的网络数据包被分配到同一工作线程;
c、按流分配:根据网络数据包的源地址、目的地址、源端口、目的端口及传输协议,识别出会话数据流,保证同一会话数据流被分配到同一工作线程;
步骤四,创建多个工作线程,进行网络数据包的并行处理。
2.根据权利要求1所述的基于Intel DPDK的网络数据包并行处理方法,其特征在于:内存环采用无锁结构设计,内存环中存储的是网络数据包所在内存块的指针地址。
3.根据权利要求1所述的基于Intel DPDK的网络数据包并行处理方法,其特征在于:当Intel网卡硬件支持RSS时,网络数据包调度为硬件调度;当Intel网卡硬件不支持RSS时,网络数据包调度为软件调度。
4.根据权利要求1所述的基于Intel DPDK的网络数据包并行处理方法,其特征在于:工作线程与CPU核一对一绑定,每一个工作线程都分配有一个RX内存环和一个TX内存环,同一网络数据包的处理均在同一个工作线程中完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家电网公司;南京南瑞集团公司;南京南瑞信息通信科技有限公司;国网山西省电力公司,未经国家电网公司;南京南瑞集团公司;南京南瑞信息通信科技有限公司;国网山西省电力公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610064205.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:包络检测装置以及相关的通信装置
- 下一篇:带有可封闭公鲁尔接头的医用连接器