模拟延迟传输简介
  netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽、传输延迟、丢包等等情况。使用 Linux 2.6 (或以上) 版本内核的很多发行版 Linux 都开启了该内核功能,比如 Fedora、Ubuntu、Redhat、OpenSuse、CentOS、Debian 等等。 tc 是Linux 系统中的一个工具,全名为 traffic control(流量控制)。tc 可以用来控制 netem 的工作模式,也就是说,如果想使用 netem ,需要至少两个条件,一个是内核中的 netem 功能被包含,另一个是要有 tc 。

需要注意的是:本文介绍的流控只能控制发包动作,不能控制收包动作,同时,它直接对物理接口生效,如果控制了物理的 eth0,那么逻辑网卡(比如 eth0:1)也会受到影响,反之,如果您在逻辑网卡上做控制,该控制可能是无效的。(注:虚拟机中的多个网卡可以在虚拟机中视为多个物理网卡)。

1.模拟网络延迟:
该命令将 eth0 网卡的传输设置为延迟 100 毫秒发送。

tc qdisc add dev eth0 root netem delay 100ms

带有波动性的延迟值:该命令将 eth0 网卡的传输设置为延迟 100ms ± 10ms (90 ~ 110 ms 之间的任意值)发送。

tc qdisc add dev eth0 root netem delay 100ms 10ms

还可以更进一步加强这种波动的随机性:该命令将 eth0 网卡的传输设置为 100ms ,同时,大约有 30% 的包会延迟 ± 10ms 发送。

tc qdisc add dev eth0 root netem delay 100ms 10ms 30%

2.模拟网络丢包:
该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包。

tc qdisc add dev eth0 root netem loss 1%

也可以设置丢包的成功率:该命令将 eth0 网卡的传输设置为随机丢掉 1% 的数据包,成功率为 30% 。

tc qdisc add dev eth0 root netem loss 1% 30%

3.删除网卡上面的相关配置:
将之前命令中的 add 改为 del 即可删除配置:

tc qdisc del dev eth0 XXXXXXXXXXX(自己加的配置)该命令将 删除 eth0 网卡的相关传输配置

4.模拟包重复:
该命令将 eth0 网卡的传输设置为随机产生 1% 的重复数据包 。

tc qdisc add dev eth0 root netem duplicate 1%

5.模拟数据包损坏:
该命令将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包。(内核版本需在 2.6.16 以上)

tc qdisc add dev eth0 root netem corrupt 0.2%

  1. 模拟数据包乱序:
    该命令将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟10 秒。

tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%

新版本中,如下命令也会在一定程度上打乱发包的次序:

tc qdisc add dev eth0 root netem delay 100ms 10ms

  1. 查看已经配置的网络条件:

tc qdisc show dev eth0

linux下使用tc工具模拟网络延迟和丢包相关推荐

  1. 【测试】linux tc命令|Linux模拟网络延迟、丢包等|traffic control(流量控制)

    目录 一.工具介绍 1.netem 2.tc 二.命令使用说明 1.模拟延迟传输 2.模拟网络丢包: 3.模拟包重复: 4.模拟数据包损坏: 5.模拟数据包乱序: 6.删除模拟配置: 更多高级用法 一 ...

  2. Linux Command tc 模拟网络延迟和丢包

    Linux Command tc 模拟网络延迟和丢包 文章目录 Linux Command tc 模拟网络延迟和丢包 1. 介绍 2. 规则 2.1 流量控制方式 2.2 流量控制处理对象 3. 操作 ...

  3. linux tcp 丢包命令_在Linux下实现测试TCP和UDP的丢包检测!

    在Linux下实现测试TCP和UDP的丢包检测! 疯狂の猿猴 • 2020 年 12 月 11 日 前言 本人平时基本上都是win,一下子转战到linux,有点不习惯! 因此做个记录,便于以后自己查阅 ...

  4. 弱网测试:使用netem模拟网络延迟、丢包、损坏、重复、和乱序等网络问题

    本文目录 1.延时---Delay 1.1.enp2s0 网卡上增加100ms延时 1.2.enp2s0 网卡上增加100ms ± 20ms的延时(80ms到120ms) 1.3.enp2s0 网卡上 ...

  5. 利用traffic control模拟网络延迟和丢包

    1. 模拟延迟和丢包语句介绍 # 设置延迟语句: 从 eno1.enp7s0f0 网口出去的包将延迟20ms tc qdisc add dev eno1 root netem delay 20ms t ...

  6. linux 下使用 tc 模拟网络延迟和丢包

    1 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...

  7. Linux下使用 tc 模拟网络延迟和丢包

    1.模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...

  8. Linux使用tc模拟网络延迟和丢包

    1 模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...

  9. 使用 tc 模拟网络延迟和丢包

    1.模拟延迟传输简介 netem 与 tc: netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带 ...

最新文章

  1. Vue开发入门看这篇文章就够了
  2. ETC带火车牌识别设备 多方企业狭路相逢
  3. Visual Stdio VS 错误 error : 0xC00000FD: Stack overflow. 更改堆栈空间解决栈溢出问题
  4. HTML 传输 字符转换 进制转换 15位 18位 时间戳 转换
  5. P3694-邦邦的大合唱站队【状压dp】
  6. poi动态创建文档_POI创建的文档具有不同条件的灵活样式
  7. 一、织物组织相关基本概念
  8. 如果你需要万圣节的图片素材来点缀你的节日活动,看这里就对了
  9. linux删除5天前文件和目录,Linux Shell命令定时删除指定目录下n天前的文件
  10. word 宏相关代码集合
  11. Dxgi中关于DXGI_MAPPED_RECT中Pitch与Width差异
  12. 20位顶级设计师的桌面环境
  13. 计算机指令执行过程详解
  14. Bzoj4556: [Tjoi2016Heoi2016]字符串
  15. 笔记本电脑外接显示器
  16. 运维知识讲解之电脑局域网服务器的密码设置和修改
  17. ASP.NET Core: 全新的ASP.NET !
  18. mysql碎片整理 提速_MySQL 优化:碎片整理
  19. linux移植中出现【can‘t open /dev/ttyO0: No such file or directory】解决方式
  20. Java基础学习(9)

热门文章

  1. C语言程序设计基础之联合
  2. 微信JS SDK开放,前端开发者“鸡冻”了!
  3. php安卓直播抓取,hls,android_安卓大部分浏览器播放HLS协议直播流会从头开始,hls,android,ffmpeg,m3u8 - phpStudy...
  4. matlab ode45求解齿轮动力学,Matlab拟合动力学参数遇到问题(ode45)
  5. 二分法采用五五分平均复杂度最小(相比四六分或三七分等)的定量证明方法
  6. opensplice dds v6.3.2_DDS生态社区带你解读|Filecoin创始人胡安:数据存储需求未来会增长3倍...
  7. PhpSpreadsheet 电子表格(excel) PHP处理笔记
  8. Linux笔记-解决iptables配置后,本机无法访问本机,本机无法访问其他主机问题
  9. Qt文档阅读笔记-DTLS server解析
  10. Spring Boot笔记-对dto数据传输对象及物联网公司主创建主键的认识