linux TxBytes RxBytes 探究
测试平台 :NXP LS1043A ARM64
内核版本:
两台设备通过网口eth2 对接。设备1发包,设备2收包,观察两设备 TX RX 包数、字节数。
1、准备数据包
流量仪设置包长1024, 抓取从流量仪发包,wireshark显示length = 1020字节。
1020 bytes on wire,并不是1024,可能流量仪的问题? 先用1020包长吧!
2、设备1 发包:
包数 22964 * 包长1020 = 23423280 bytes
抓包同时 使用 tcpdump 观察:
1020 – 14 = 1006 ,这14字节应该是就是 源地址,目的MAC地址,应该是tcpdump 显示的长度未包括这14字节。
3、设备2 收包:
收到:包数 22964 * (1020 – 14) = 23101784
少的14字节应该是就是源地址,目的MAC地址没有计算进RX bytes
使用tcpdump 查看收包情况
驱动里实际计数情况:
4、结论
关于 TX RX Packets 不管收发,只要没有发生丢包,发端,收端都是一致的。
关于 TX RX Bytes 设备发包时,会将 源、目的MAC地址等14字节的信息计算上,而收包时,不会在 RxBytes上体现。
这也就能解释了 ,使用内核转发时,eth8收包,eth7发包,使用 sar -n DEV 1 1 命令查看网速,
txpck/s rxpck/s 收发速率是对得上的,但是rxKB/s 比 txKB/s 少很多,是什么原因呢?来计算一下
rxKB/s 相比于 txKB/s ,每个包会少计算 14Bytes的MAC地址信息,
(收包速度 267926 )* 14 / 1024 = 3663KB
3663KB + rxKB/s 12035 = 15698 txKB/s
5、X86 CPU 在该情况下 收包情况
X86收包 RxBytes = 包数 22964* (1020 + 4 )= 23515136
看来 X86下 收包的是会将 14字节的 MAC地址信息,还有4字节的其它信息 记录到 RxBytes.
linux TxBytes RxBytes 探究相关推荐
- linux cma机制探究
Linux cma机制探究 cma的作用 cma,全称(contiguous memory allocation),在内存初始化时预留一块连续内存,可以在内存碎片化严重时通过调用dma_allo ...
- Java内存溢出故障案例及Linux内存机制探究
文章目录 Java内存溢出故障案例及Linux内存机制探究 OOM Killer触发机制分析 如何避免系统触发OOM Killer 这部分内容属于demo案例分享,解决线上运维问题,思路是最重要的 J ...
- Linux进程地址空间探究
我们知道,在32位机器上linux操作系统中的进程的地址空间大小是4G,其中0-3G是用户空间,3G-4G是内核空间.其实,这个4G的地址空间是不存在的,也就是我们所说的虚拟内存空间. 那虚拟内存空间 ...
- 纯干货!Linux网络内核探究
Linux内核参数调优 目录 Linux内核参数调优 Linux虚拟文件系统 /proc文件系统目录分类: 内核参数配置方式 临时配置内核参数有两种方式: 永久配置内核参数方式: 网络内核参数优化 常 ...
- Linux Cache 机制探究
http://www.cnblogs.com/talking/archive/2011/04/18/2020274.html 转载于:https://www.cnblogs.com/li-hao/ar ...
- 万字长文带你探究 Docker 容器化技术背后的黑科技
公众号关注 「奇妙的 Linux 世界」 设为「星标」,每天带你玩转 Linux ! 容器的优势 传统模式的部署,直接将多个应用运行在物理服务器上,如果其中一个应用占用了大部分资源,可能会导致其他应用 ...
- linux服务器运维实战记录,linux运维好书推荐《高性能Linux服务器运维实战》
本书整体分为4个篇幅,以Linux运维平台下的开源应用软件为中心,涉及Linux运维的各个方面,主要从系统基础运维(命令.shell编程).系统性能调优.智能运维监控平台构建.运维实战案例四个方面展开 ...
- C语言 之建立静态链接库
下面说一下建立静态链接库的方法 各个C语言编程软件都有它的方法,比如建立一个工程来共享文件,这就比较容易和简单了,现在我们选择使用难一点的linux系统,探究在linux系统下的建立静态链接库的方法. ...
- C语言编译构建系统,C语言 之建立静态链接库
下面说一下建立静态链接库的方法 各个C语言编程软件都有它的方法,比如建立一个工程来共享文件,这就比较容易和简单了,现在我们选择使用难一点的linux系统,探究在linux系统下的建立静态链接库的方法. ...
最新文章
- 76 道 Oracle Goldengate 面试问题
- 深度学习搞CV?图像数据不足咋办?看这里!
- c++并发编程实战_Java 并发编程实战:JAVA中断线程几种基本方法
- xilinx sdk在Debug模式下根据地址在内存里观察值
- PPT设计的数据图表化表现
- Codeforces 263E Rhombus (看题解)
- Directx游戏中嵌入IE浏览器实现过程
- Android计算器横屏,如何将华为手机的计算器横屏转换成竖屏
- Icpc 焦作站现场赛 E 题解
- UIWebView、UITextView 和UILable 设置行间距
- 射频和无线技术入门--传统技术--7
- python读写文件的语句_用Python读写文件指南
- 360与腾讯骂战升级
- 物联网与大数据技术-1
- python如何查看函数参数_如何找到Python函数的参数数?
- JAVA基础之二维数组三维数组及应用
- 我的公众号 - 豆芽儿 软件研发人才生长社区
- 三维设计过程的规范性 丨技术文章
- Blender图解教程:借用雕刻工具来建Lowpoly模型
- 一款强大的浏览器翻译插件 - 沉浸式的翻译