用WINPCAP计算的网络上包的速率问题?

Jieding 2008-10-10 10:44:34
想要计算网络上每一个数据包的速率,按照这样的思路:

使用的是WINPCAP的接口,在PCAP_LOOP上每次收到一个包的时候,在回调函数中取出他的时间戳,下次再收到包再取出时间戳,用两次时间戳之差来表示收到一个包的时延,再用截取的包长度除以时延就得到每个包的速率。


问题:我用的是非功过10M容量的以太网,但是按照上面方法计算出来的包速率竟然有的能达到300M多,有个别的还能到700到800M的速率,这是怎么回事?

补充:如果利用WINPCAP提供的统计功能,也就是按照时间来统计并得到网络速率的话,一般能到8M-9M,不会超过10M,算是正确,但是用我上面的方法为什么不对呢?
...全文
192 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
snollow 2009-12-25
  • 打赏
  • 举报
回复
byte和bit的区别
CathySun118 2008-11-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 qq_sugar 的回复:]
你应该计算指定时间内收到报文的流量吧,你统计1s中你收到报文的总量是多少?

两个包的时间戳都是在本地生成的啊,指最底层收到这个报文时的时间,和网络传输没有关系的吧,晕倒!
[/Quote]
赞同
huooouh 2008-10-14
  • 打赏
  • 举报
回复
包是放在一个缓存里面的,你的算法只能算出缓存出来的速率。
只有算重的平均速率才可以的。
qq_sugar 2008-10-13
  • 打赏
  • 举报
回复
你应该计算指定时间内收到报文的流量吧,你统计1s中你收到报文的总量是多少?

两个包的时间戳都是在本地生成的啊,指最底层收到这个报文时的时间,和网络传输没有关系的吧,晕倒!

4,356

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧