免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1640 | 回复: 0
打印 上一主题 下一主题

基于零拷贝的网络数据包捕获技术简述 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-21 14:04 |只看该作者 |倒序浏览

所谓零拷贝是指在某节点的报文收发过程中不会出现任何内存间的拷贝,发送时数据包由应用程序的用户缓冲区直接经过网络接口到达外部网络,接收时网络接口直接将数据包送入用户缓冲区。这是“真正的零拷贝(True Zero Copy)”。

如图1零拷贝工作流程图所示,图形的上部为传统的捕包模块,下部为采用零拷贝技术的捕包模块。零拷贝技术通过操作系统给网卡和用户区开了一段共用内存,网卡接收到的数据都被写到这段共用内存中,在这段内存区中存在着接收环和发送环,接收环存储着从网卡上接收来的数据,发送环存储着要通过网卡进行发送的用户数据。因为这段内存是网卡和用户区共用的,所以只要网卡接收到数据,用户程序就可以直接对这些数据进行访问和操作。同样的只要用户区程序有网络数据要发送,就可以由网卡程序直接发送。这减少了不必要的系统数据调用,减少了中断,使CPU能够有更多的时间来处理其它事情。
零拷贝具有很高的性能,我们将Libpcap捕包模块与零拷贝技术进行试验对比,得出下表的性能对比图,其中网卡为Intel 845系列千兆光纤网卡。

包都是传统的Libpcap系统的5倍以上,该技术极大地提高了系统的数据处理能力,使得CPU能够有更多的宝贵时间来处理其他的高级应用。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/106533/showart_2099950.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP