您的位置:首页 > 其它

学习内容DPDK

2016-06-02 15:03 267 查看
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. 输出(日志、文件)

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

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: