当前位置: 技术问答>linux和unix
怎样知道网卡接收到的帧的个数
来源: 互联网 发布时间:2017-03-28
本文导语: 如题,如果在大流量的情况下,可能会有丢帧的情况。我想知道,丢帧具体是哪里丢的。 网卡是采用中断方式工作的,来一个帧中断一次。我就是想问:怎么才能知道一段时间内网卡实际收到的帧的个数,即中...
如题,如果在大流量的情况下,可能会有丢帧的情况。我想知道,丢帧具体是哪里丢的。
网卡是采用中断方式工作的,来一个帧中断一次。我就是想问:怎么才能知道一段时间内网卡实际收到的帧的个数,即中断的次数。不知道我表达的清不清楚?
网卡是采用中断方式工作的,来一个帧中断一次。我就是想问:怎么才能知道一段时间内网卡实际收到的帧的个数,即中断的次数。不知道我表达的清不清楚?
|
通常的方法有:
(1) ifconfig工具也可以统计出包的收发情况的。
(2) 查看一下网卡的datasheet,很多网卡有统计丢包的计数寄存器的。
(3) 加入中断计数器,不知道你使用的什么架构,可以在内核里面开辟一小块内存,专门用来计算中断的次数,然后通过维护接口读取内存计算器的值。
(1) ifconfig工具也可以统计出包的收发情况的。
(2) 查看一下网卡的datasheet,很多网卡有统计丢包的计数寄存器的。
(3) 加入中断计数器,不知道你使用的什么架构,可以在内核里面开辟一小块内存,专门用来计算中断的次数,然后通过维护接口读取内存计算器的值。
|
用tcpdump抓包统计
或者用libpcap库自己实现
或者用libpcap库自己实现
|
有网卡源码的话很好办
|
每一个中断都对应一段汇编代码,叫做中断服务程序。
这个必须通过中断服务程序进行处理。有2个思路可以考虑:
1、中断服务程序是否调用上层的函数?那么上层的函数也可以计算出调用的次数。
2、自己写驱动~~
这个必须通过中断服务程序进行处理。有2个思路可以考虑:
1、中断服务程序是否调用上层的函数?那么上层的函数也可以计算出调用的次数。
2、自己写驱动~~
|
网卡收到的帧≠中断次数
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。