基于零拷贝的网络数据包捕获技术简述
2011-07-25 09:47
471 查看
基于零拷贝的网络数据包捕获技术简述
所谓零拷贝是指在某节点的报文收发过程中不会出现任何内存间的拷贝,发送时数据包由应用程序的用户缓冲区直接经过网络接口到达外部网络,接收时网络接口直接将数据包送入用户缓冲区。这是“真正的零拷贝(True Zero Copy)”。
如图1零拷贝工作流程图所示,图形的上部为传统的捕包模块,下部为采用零拷贝技术的捕包模块。零拷贝技术通过操作系统给网卡和用户区开了一段共用内存,网卡接收到的数据都被写到这段共用内存中,在这段内存区中存在着接收环和发送环,接收环存储着从网卡上接收来的数据,发送环存储着要通过网卡进行发送的用户数据。因为这段内存是网卡和用户区共用的,所以只要网卡接收到数据,用户程序就可以直接对这些数据进行访问和操作。同样的只要用户区程序有网络数据要发送,就可以由网卡程序直接发送。这减少了不必要的系统数据调用,减少了中断,使CPU能够有更多的时间来处理其它事情。
零拷贝具有很高的性能,我们将Libpcap捕包模块与零拷贝技术进行试验对比,得出下表的性能对比图,其中网卡为Intel 845系列千兆光纤网卡。
包都是传统的Libpcap系统的5倍以上,该技术极大地提高了系统的数据处理能力,使得CPU能够有更多的宝贵时间来处理其他的高级应用。
原文地址 http://blog.csdn.net/efan_linux/archive/2009/09/27/4600892.aspx TAG network sniffer libpcap http://blogold.chinaunix.net/u3/106533/showart_2099950.html
所谓零拷贝是指在某节点的报文收发过程中不会出现任何内存间的拷贝,发送时数据包由应用程序的用户缓冲区直接经过网络接口到达外部网络,接收时网络接口直接将数据包送入用户缓冲区。这是“真正的零拷贝(True Zero Copy)”。
如图1零拷贝工作流程图所示,图形的上部为传统的捕包模块,下部为采用零拷贝技术的捕包模块。零拷贝技术通过操作系统给网卡和用户区开了一段共用内存,网卡接收到的数据都被写到这段共用内存中,在这段内存区中存在着接收环和发送环,接收环存储着从网卡上接收来的数据,发送环存储着要通过网卡进行发送的用户数据。因为这段内存是网卡和用户区共用的,所以只要网卡接收到数据,用户程序就可以直接对这些数据进行访问和操作。同样的只要用户区程序有网络数据要发送,就可以由网卡程序直接发送。这减少了不必要的系统数据调用,减少了中断,使CPU能够有更多的时间来处理其它事情。
零拷贝具有很高的性能,我们将Libpcap捕包模块与零拷贝技术进行试验对比,得出下表的性能对比图,其中网卡为Intel 845系列千兆光纤网卡。
包都是传统的Libpcap系统的5倍以上,该技术极大地提高了系统的数据处理能力,使得CPU能够有更多的宝贵时间来处理其他的高级应用。
原文地址 http://blog.csdn.net/efan_linux/archive/2009/09/27/4600892.aspx TAG network sniffer libpcap http://blogold.chinaunix.net/u3/106533/showart_2099950.html
相关文章推荐
- 基于零拷贝的网络数据包捕获技术简述
- Linux平台下基于Libpcap的网络数据包捕获(一)
- [置顶] 基于iOS的网络音视频实时传输系统(二)- 捕获音视频数据
- 基于VC++2010和web service技术的网络教学软件研究与实践(毕业论文开题报告)
- 基于Web的网络管理技术简介
- 基于可信计算技术的网络构建方案调研
- 基于Web的网络管理技术简介
- 一步一步尝试在MFC下开发基于winpcap的数据包捕获和分析软件.(开发总结,建议先看)
- 基于tcpdump的Android智能移动终端数据包捕获完整解决方案
- 基于深度学习神经网络等机器学习技术实现一个医学辅助诊断的专家系统原型
- 基于Web的网络管理技术简介
- SafeNet为亚马逊网络服务客户提供基于云的数据保护技术
- 基于Hadoop 的分布式网络爬虫技术学习笔记
- 【转】基于 tcpdump for Android 的智能移动终端数据包捕获完整解决方案
- 基于Web的网络管理技术简介
- 基于深度学习的图像语义分割技术概述之背景与深度网络架构
- 基于深层神经网络的命名实体识别技术
- 基于网络技术的研究性学习
- 基于HBASE的数据包捕获、存储、回溯工具