美文网首页
linux网络环境模拟测试

linux网络环境模拟测试

作者: 静行vchh | 来源:发表于2017-11-12 15:44 被阅读0次

今天工作中,碰到了一个项目,需要模拟服务器弱网环境测试,所以查找一番,自己整理记录如下。

工具简介

这次的linux的网络模拟,使用Linux Traffic Control (tc)的扩展 Network Emulation (netem)来完成。
一般来说,Linux 2.6 (或以上) 版本内核,已经内置了这个工具,供大家使用。

需要注意的是:

  • 此方法只能控制发包动作,不能控制收包动作。
  • 命令直接对物理接口生效,如果控制了物理的eth0,那么逻辑网卡(比如eth0:1)也会受到影响;反之,如果您在逻辑网卡上做控制,该控制可能是无效的。(注:虚拟机中的多个网卡可以在虚拟机中视为多个物理网卡)

工具使用

首先获取机子的网卡信息,如eth0或者em0之类的。然后通过执行命令来监控和改变网卡状态,达到的模拟的效果。命令可能需要root权限或sudo来执行。

模拟网络延迟

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

  • 100ms为固定延迟
  • 10ms为随机值(可以省略)
  • 100ms为随机概率(可以省略)

语句语义为:将eth0加入到监控中,并将每个包都延迟100ms,有10%的几率有±10ms的浮动。(注:再次修改需要修改命令为tc qdisc change dev eth0 root netem delay 100ms 10ms 10%)

模拟网络丢包

tc qdisc change dev eth0 root netem loss 20% 50%

  • 20%为丢包比率
  • 50%为相关概率(可以省略)

语句语义为:将eth0的丢包率改为20%,后一个包有丢弃有50%的几率和前一个包相关。

模拟网络包错误
  1. 模拟包重复:
    tc qdisc add dev eth0 root netem duplicate 1%
    语句语义为:将 eth0 网卡的传输设置为随机产生 1% 的重复数据包 。
  2. 模拟数据包损坏:
    tc qdisc add dev eth0 root netem corrupt 0.2%
    语句语义为:将 eth0 网卡的传输设置为随机产生 0.2% 的损坏的数据包 。 (内核版本需在 2.6.16 以上)
  3. 模拟数据包乱序:
    tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%
    语句语义为:将 eth0 网卡的传输设置为:有 25% 的数据包(50%相关)会被立即发送,其他的延迟10 秒。
取消网络模拟

取消网络模拟,相当于取消监控该网卡,使用命令:
sudo tc qdisc del dev eth0 root netem


点到即止

相关文章

  • linux网络环境模拟测试

    今天工作中,碰到了一个项目,需要模拟服务器弱网环境测试,所以查找一番,自己整理记录如下。 工具简介 这次的linu...

  • linux.network.vxlan

    Linux Vxlan网络隧道互通环境模拟 使用CentOS Linux Bridge搭建Vxlan环境 通过na...

  • windows上使用iperf测试两台主机间的带宽

    Iperf是一个网络性能测试工具,目前支持linux、windows、macOS操作系统,可以用于测试网络tcp、...

  • 网络环境模拟:Network Link Conditioner

    需要调试网络不好的境况!在Mac环境下的网络环境模拟,可使用官方提供的工具:Network Link Condit...

  • Linux网络测试命令

    1. ping命令 piing [选项] ip或域名 #探测指定ip或域名的网络状态 选项: -c 次数: 指定p...

  • Windows、WSL 与 Linux 的性能对比

    Phoronix 网站发布了关于 Windows、WSL 和 Linux 的性能基准测试结果。测试的内容包括网络性...

  • 网络测速工具

    一、Speedtest测试外网网速 Speedtest是用来测试网络性能的开源软件,在Linux下面安装Speed...

  • 一次主从延迟排查

    MySQL: 5.7.25-log隔壁部门的同学发现主从发生了延迟,让我协助处理下。以下测试是本地环境模拟。 目录...

  • linux常见命令

    一、使用过的linux命令记录 二、linux连接超时解决方案 1、先测试网络是否连得通。 ping 远程I...

  • linux中网络配置

    一.查看ip 二.png 测试主机之间网络连通 三.linux配置网络环境 `修改配置文件后,要重启网络服务才能生效

网友评论

      本文标题:linux网络环境模拟测试

      本文链接:https://www.haomeiwen.com/subject/vgfimxtx.html