当前位置:  技术问答>linux和unix

怎样知道网卡接收到的帧的个数

    来源: 互联网  发布时间:2017-03-28

    本文导语:    如题,如果在大流量的情况下,可能会有丢帧的情况。我想知道,丢帧具体是哪里丢的。   网卡是采用中断方式工作的,来一个帧中断一次。我就是想问:怎么才能知道一段时间内网卡实际收到的帧的个数,即中...

  如题,如果在大流量的情况下,可能会有丢帧的情况。我想知道,丢帧具体是哪里丢的。
  网卡是采用中断方式工作的,来一个帧中断一次。我就是想问:怎么才能知道一段时间内网卡实际收到的帧的个数,即中断的次数。不知道我表达的清不清楚?

|
通常的方法有:
(1) ifconfig工具也可以统计出包的收发情况的。
(2) 查看一下网卡的datasheet,很多网卡有统计丢包的计数寄存器的。 
(3) 加入中断计数器,不知道你使用的什么架构,可以在内核里面开辟一小块内存,专门用来计算中断的次数,然后通过维护接口读取内存计算器的值。

|
用tcpdump抓包统计
或者用libpcap库自己实现

|
有网卡源码的话很好办

|
每一个中断都对应一段汇编代码,叫做中断服务程序。

这个必须通过中断服务程序进行处理。有2个思路可以考虑:

1、中断服务程序是否调用上层的函数?那么上层的函数也可以计算出调用的次数。
2、自己写驱动~~

|
网卡收到的帧≠中断次数

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。














站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,