使用tc命令模拟linux网络延迟环境
tc(Traffic Control)是 Linux 中用于流量控制和网络模拟的强大工具。你可以使用它来模拟网络延迟、带宽限制、数据包丢失等。
以下是一个使用 tc 模拟网络延迟的基本步骤:
1.查看当前的 qdisc(队列规则)和 filter(过滤器)
首先,确保你的网络接口没有设置任何 qdisc。你可以使用以下命令查看:
tc qdisc show dev <interface>
其中 <interface> 是你的网络接口名称,如 eth0。
2. 设置根 qdisc
为了应用 tc 规则,你需要在网络接口上设置一个 qdisc。最常用的 qdisc 是 handleroot,但在这里我们将使用 htb(层次化令牌桶)作为示例,因为它允许我们设置更复杂的规则(尽管对于简单的延迟模拟,这并不是必需的)。
tc qdisc add dev <interface> root handle 1: htb
3. 添加延迟规则
现在,你可以添加一个延迟规则。假设你想为所有从 <interface> 发送的数据包添加 100ms 的延迟:
tc qdisc add dev <interface> parent 1:1 netem delay 100ms
注意:上面的命令中,1:1 是一个子 qdisc 的句柄。在 htb qdisc 下,我们通常使用这种子 qdisc 来应用特定的规则。但是,对于简单的延迟模拟,你也可以直接使用 root qdisc,即:
tc qdisc change dev <interface> root netem delay 100ms

4. 验证设置
你可以使用 ping 或其他网络工具来验证延迟是否已应用。
5. 删除规则
当你完成模拟并希望删除这些规则时,可以使用以下命令:
tc qdisc del dev <interface> root
这将删除网络接口上的所有 qdisc 和相关的规则。

6. 注意
tc 规则在重启或网络接口重新加载后将失效。如果你希望这些规则在重启后仍然生效,你可能需要考虑将它们添加到启动脚本或 systemd 服务中。但是,请注意,这样做可能会影响生产环境的网络性能。始终在测试环境中验证你的更改。
使用tc命令模拟linux网络延迟环境的更多相关文章
- 在Window平台是模拟Linux的Shell环境
在Linux平台模拟Linux的shell环境,可以通过一个软件实现:Cygwin(点击进入官网下载好即可),如下图(选择对应的版本进行下载): 安装: 1. 双击运行下载的安装包(选择从网络安装), ...
- linux 虚拟机模拟配置网络路由环境-简版
前言:网络路由不管是平常在家里,还是在公司中,都是必需配置的,所以还是非常重要的,今天小编就给大家做个配置网络路由配置的小实验,仅供大家参考. 一.首先,来简单介绍一下网络路由. 1. 网络路由: ...
- 查看linux接口进出口流量的命令;linux 网络监控;流量监控
1.nload,左右键切换网卡 2.sudo iftop 3.sudo iptraf 按连接/端口查看流量 4.sudo nethogs: 按进程查看流量占用 5.ss: 连接查看工具 6.dstat ...
- 使用Kernel NetEm和tc模拟复杂网络环境
关键词:netem(Network Emulator).tc(Traffic Control). 大部分局域网环境良好,但是产品实际网络环境可能千差万别,为了对产品进行各种情况测试就需要模拟网络环境. ...
- 理解 Linux 网络栈(2):非虚拟化Linux 环境中的 Segmentation Offloading 技术
本系列文章总结 Linux 网络栈,包括: (1)Linux 网络协议栈总结 (2)非虚拟化Linux环境中的网络分段卸载技术 GSO/TSO/UFO/LRO/GRO (3)QEMU/KVM + Vx ...
- Linux资源监控命令/工具(网络)
1.手动/自动设定与启动/关闭IP参数:ifconfig,ifup,ifdown 这三个指令的用途都是在启动网络接口,不过,ifup与ifdown仅能就/etc/sysconfig/netw ...
- Windows上模拟Linux环境的软件Cygwin
Windows上模拟Linux环境的软件Cygwin 2010-10-11 15:19 我要评论(0) 字号:T|T Cygwin是一个用于在Windows上 模拟Linux环境的软件.它可 ...
- Linux模拟控制网络时延
之前以为可以使用Linux自带的工具模拟控制网络时延,所以上网找了一些资料.后来发现,找到的资料目前只支持在一个网卡上模拟发送报文的时延,而不能设置有差别的网络时延,或者说当要模拟的向A发送的时延与要 ...
- Fiddler13模拟弱网络环境测试
前言现在的Android软件,基本上都会有网络请求,有些APP需要频繁的传输数据时对于网络请求的稳定性和在特殊网络条件下的兼容性有要求,但是我们在测试的时候又很难模拟那种弱网络差网络的情况,今天就给大 ...
- Linux网络命令与脚本使用
作为系统管理员,经常需要诊断和解决网络问题,而配置.监控与保护网络有助于发现问题并在事情范围扩大前得意解决,并且网络的性能与安全也是管理与诊断网络的重要部分.这里总结一下常用与Linux网络管理的命令 ...
随机推荐
- 知识图谱在RAG中的应用探讨
在这篇文章中,我们来详细探讨知识图谱(KG)在RAG流程中的具体应用场景. 缘起 关于知识图谱在现在的RAG中能发挥出什么样的作用,之前看了360 刘焕勇的一个分享,简单的提了使用知识图谱增强大模型的 ...
- BTC的数据结构
区块链是一个个block所构成的链,或者链表状的数据结构,在比特币中或者区块链中,一个重要的组成部分是哈希指针 指针 在程序运行过程中,需要用到数据.最简单的是直接获取数据,但当数据本身较大,需要占用 ...
- Apollo在有赞的实践
Apollo在有赞的实践 原创 有赞技术 有赞coder 2020-02-14 .. 作者:俞柯 & 张正 团队:有赞云 一. 背景和Apollo简介 在集中式开发时代,配置文件基本足够用了, ...
- CentOS 防火墙配置实战精要
防火墙是服务器最重要的安全屏障,正确的操作对应用也是非常非常关键,本文参考了一些实战经验并经过实验验证,集众家之长做了简单的归纳整理,希望能帮助你更好地操作防火墙. 设置CentOS防火墙开放端口 在 ...
- 【笔记】rocketMQ了解
记录rocketMQ 忘了从哪儿保存的图了 原图链接:https://www.jianshu.com/p/2838890f3284
- 第 6章 Python 应对反爬虫策略
第 6章 Python 应对反爬虫策略 爬取一个网站的基本步骤 (1)分析请求:URL 规则.请求头规则.请求参数规则. (2)模拟请求:通过 Requests 库或 urllib 库来模拟请求. ( ...
- P10160 [DTCPC 2024] Ultra 题解
[题目描述] 给你一个 \(01\) 序列,你可以进行如下操作若干次(或零次): 将序列中形如 \(101\cdots01\) 的一个子串(即 \(1(01)^k\),\(k\ge 1\))替换成等长 ...
- 这是阿里技术专家对 SRE 和稳定性保障的理解
简介: 在技术工作中,对于产品/基础技术研发和 SRE 两种角色,通常会有基于「是否侧重编码」的理解.对于产品研发转做 SRE ,经常会产生是否要「脱离编码工作」的看法,或者认为是否要「偏离对产品/基 ...
- Fluid 0.5 版本发布:开启数据集缓存在线弹性扩缩容之路
简介: 为了解决大数据.AI 等数据密集型应用在云原生场景下,面临的异构数据源访问复杂.存算分离 I/O 速度慢.场景感知弱调度低效等痛点问题,南京大学PASALab.阿里巴巴.Alluxio 在 2 ...
- 参与 Apache 顶级开源项目的 N 种方式,Apache Dubbo Samples SIG 成立!
简介: 一说到参与开源项目贡献,一般大家的反应都是代码级别的贡献,总觉得我的代码被社区合并了,我才算一个贡献者,这是一个常见的错误认知.其实,在一个开源社区中有非常多的角色是 non-code con ...