免费注册 查看新帖 |

Chinaunix

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

[网络管理] Tcpdump抓报方式不同造成丢包率迥异的问题! [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-11 15:22 |只看该作者 |倒序浏览
在一台安装Linux 内核版本为2.6.14 的浪潮服务器上,在1000M链路上用Tcpdump抓报时,若把数据包保存到文件则丢包率在5%左右,然而若直接把包的信息显示在屏幕上时丢包率大于50%!!请教这是问什么呢?谢谢

论坛徽章:
0
2 [报告]
发表于 2007-04-11 15:50 |只看该作者
到屏幕的话可能是占用CPU太高了

论坛徽章:
0
3 [报告]
发表于 2007-04-11 16:24 |只看该作者
tcpdump使用af_packet协议抓包,该协议把匹配的包发往套接字的接收队列,然后触发tcpdump去接收,即复制到用户层,并处理.

如果tcpdump来不急处理,队列满,packet协议就丢包.

因此丢包率和tcpdump处理包的速度有关。

显示显然比直接写文件费事多了,丢包概率大是正常的。

论坛徽章:
0
4 [报告]
发表于 2007-04-14 16:27 |只看该作者
屏幕是字符设备,写入是很慢的

注意,在linux中所有设备的操作都是当作文件来处理的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP