学习内容DPDK

来源:互联网 发布:淘宝怎么设置不包邮 编辑:程序博客网 时间:2024/06/18 03:20

DPDK是inter推出的性能不错的捕捉网卡数据的驱动程序,只是从网卡上读取数据,供用户层程序分析网络数据。

开源软件:suricata,网络数据包处理软件可以使用DPDK,且实现了协议栈功能,包括各种协议解析及重组,直至传送到应用层的用户程序。

=================================

1. 流表管理
 流:每一个数据包就是一个数据流
 流表:将相关数据流的关键信息保存到内存中比如链表,称为流表,系统对关键信息生成hash值,通过hash表实现快速查。
       每个关键信息对应的hash项在流表中作为一项存储,流表项超时时回收该项的空间以后使用。

2. 数据流重组
 重组:在TCP传输层的重组而非IP层的分片重组,TCP传输层的数据可能是乱序的,因此需要对收到的数据包
       按照tcp协议中的序号及确认序号进行重组,供应用成程序使用。UDP不需要重组,非可靠协议。

==================================

1. 网卡收包模块
2. 协议解码模块(获得5元组等报文数据)
3. 流表管理模块(根据5元组创建或者更新流数据在流表中的状态)
4. DETECT:按照规则文件对数据包进行特征匹配,DETECT位置根据需求而定,比如需要处理ICMP协议内容就需要在IP层协议解码后处理,
           如果需要处理端口相关的内容则需要在TCP、UDP协议解码后再进行DETECT处理。
5. 数据流重组:传输层中TCP协议根据序号及确认序号进行数据重组,之后给应用层程序使用。
6. 应用层解析
7. 输出(日志、文件)

==================================

 

0 0