tc和netem模拟动态网络

        Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块。该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能。例如:低带宽、传输延迟、丢包等等情况。

        TC 是 Linux 系统中的一个用户态工具,全名为 Traffic Control (流量控制)。TC 可以用来控制 Netem 模块的工作模式,也就是说如果想使用 Netem 需要至少两个条件,一是内核中的 Netem 模块被启用,另一个是要有对应的用户态工具 TC 。

        举例:增删改网络参数,delay和loss可以合并设置(如下),也可以分开设置

# 延迟 300ms ± 100ms, 丢包率 5%
sudo tc qdisc add dev eth0 root netem delay 300ms 100ms loss 5%
sudo tc qdisc del dev eth0 root netem delay 300ms 100ms loss 5%
sudo tc qdisc change dev eth0 root netem delay 300ms 100ms loss 5%

 参考:Linux 模拟网络丢包和延迟命令_fuyuande的博客-CSDN博客_linux网络延时命令