tc/traffic control 网络控制工具
第一个例子
- 增加延时
tc qdsic add dev enp0s3 root netem delay 200ms
qdisc : queuing discipline, 当内核需要发送包到某个接口时,它是被送到
qdis配置的队列,然后 内核尽可能去从队列去获取最多的包,然后发送给网络驱动root 表示树行的第一个节点,会影响之后的其他规则
netem 网络模拟, 允许添加延时,丢包率,重复包和其他外向数据
delay 这个命令可以延时
- 在添加规则前
netbeez.net$ ping google.com
PING google.com (172.217.6.78) 56(84) bytes of data.
64 bytes from sfo07s17-in-f78.1e100.net (172.217.6.78):
icmp_seq=1 ttl=53 time=11.9 ms
64 bytes from sfo07s17-in-f78.1e100.net (172.217.6.78):
icmp_seq=2 ttl=53 time=12.0 ms
添加规则后
netbeez.net$ ping google.com
PING google.com (172.217.5.110) 56(84) bytes of data.
64 bytes from sfo03s07-in-f14.1e100.net (172.217.5.110):
icmp_seq=1 ttl=53 time=213 ms
64 bytes from sfo03s07-in-f14.1e100.net (172.217.5.110):
icmp_seq=2 ttl=53 time=210 ms
可见增加的延时和配置的规则近一致
命令解释
查看规则:
tc qdisc show dev enp0s3
删除所有规则
tc qdisc delete dev enp0s3
添加丢包规则
tc qdisc add dec enp0s3 root netem loss 10%
出口网速限制
tc qdisc add dev enp0s3 root tbf rate 1mbit burst 32kbit latency 400ms
tc 通过 class, filter 进行规则匹配
添加一条限速规则
tc qdisc add dev enp0s3 root handle 1: htb r2q 1
tc class add dev enp0s3 parent 1 : classid 1:1 htb rate 10Mbit //rate 表示限制速率
tc filter add dev enp0s3 parent 1: protocol ip prio 16 u32 match ip dst 192.168.4.5 //dst 表示接收方,支持mask
最后,可以通过iperf 进行测试
tc/traffic control 网络控制工具的更多相关文章
- linux下使用tc(Traffic Control) 流量控制命令模拟网络延迟和丢包
目录 TC案例 TC常用命令 TC安装 TC原理介绍 TC规则 TC操作原理 TC命名规则 TC单位 TC命令 TC案例 如何使用tc模拟网络延迟和丢包 修改网络延时: sudo tc qdisc ...
- Linux TC(Traffic Control)框架原理解析
近日的工作多多少少和Linux的流控有点关系.自打几年前知道有TC这么一个玩意儿而且多多少少理解了它的原理之后,我就没有再动过它,由于我不喜欢TC命令行,实在是太繁琐了.iptables命令行也比較繁 ...
- Linux TC (traffic control)
在着手学习TC采用如下单位来描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/ ...
- 使用Kernel NetEm和tc模拟复杂网络环境
关键词:netem(Network Emulator).tc(Traffic Control). 大部分局域网环境良好,但是产品实际网络环境可能千差万别,为了对产品进行各种情况测试就需要模拟网络环境. ...
- Linux网络流量控制工具—Netem
第一篇:概念篇 Netem 是 Linux 2.6 及以上内核版本提供的一个网络模拟功能模块.该功能模块可以用来在性能良好的局域网中,模拟出复杂的互联网传输性能,诸如低带宽.传输延迟.丢包等等情况.使 ...
- 【RL-TCPnet网络教程】第24章 RL-TCPnet之网络控制报文协议ICMP
第24章 RL-TCPnet之网络控制报文协议ICMP 本章节为大家讲解ICMP(Internet Control Message Protocol,网络控制报文协议),通过前面章节对TCP和 ...
- 阅读Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks
Deep Packet Inspection based Application-Aware Traffic Control for Software Defined Networks Globlec ...
- ping(网络诊断工具)
ping(网络诊断工具) Ping是Windows下的一个命令,在Unix和Linux下也有这个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用"ping"命令可 ...
- Netperf网络性能测试工具详解教程
本文下载链接: [学习笔记]Netperf网络性能测试工具.pdf 一.Netperf工具简介 1.什么是Netperf ? (1)Netperf是由惠普公司开发的一种网络性能测量工具,主要针对基于T ...
随机推荐
- ABP which was not registered.
ABP 错误: 'AoLongData.Finances.FinanceService' is waiting for the following dependencies:- Service 'Ab ...
- 关于Wasserstein GAN的一些笔记
这篇笔记基于上一篇<关于GAN的一些笔记>. 1 GAN的缺陷 由于 $P_G$ 和 $P_{data}$ 它们实际上是 high-dim space 中的 low-dim manifol ...
- spring boot 生命周期初探
1.MytestApplication package com.gomepay; import org.springframework.boot.Banner; import org.springfr ...
- Fiddler 自动响应
使用目的:提前设置接口返回规则 便于前端联调 不用每次断点修改数据 操作:
- python刷LeetCode:26. 删除排序数组中的重复项
难度等级:简单 题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外 ...
- java.lang.SecurityException: Permission denied (missing INTERNET permission?)
ndroid app里试图用HttpUrlConnection获取网络连接,忘记在AndroidManifest清单文件里声明需要用到Internet的权限,运行时报此错误. 解决方法 在Androi ...
- i春秋-web-爆破-1
题目内容:flag就在某六位变量中. 题目 include "flag.php"; $a = @$_REQUEST['hello']; if(!preg_match('/^\w*$ ...
- 查看docker的挂载目录
docker inspect container_name | grep Mounts -A 20docker inspect container_id | grep Mounts -A 20
- day68-CSS-float浮动,clear清除浮动,overflow溢出
1. float 浮动 1.1 在 CSS 中,任何元素都可以浮动. 1.2 浮动元素会生成一个块级框,而不论它本身是何种元素.内联标签设置浮动,就变成了块级标签. 1.3 关于浮动的两个特点: 浮动 ...
- ElasticSearch的9200和9300端口的区别
9200用于外部通讯,基于http协议,程序与es的通信使用9200端口. 9300jar之间就是通过tcp协议通信,遵循tcp协议,es集群中的节点之间也通过9300端口进行通信.