第一个例子

  1. 增加延时
tc qdsic add dev enp0s3 root netem delay 200ms
  • qdisc : queuing discipline, 当内核需要发送包到某个接口时,它是被送到qdis 配置的队列,然后 内核尽可能去从队列去获取最多的包,然后发送给网络驱动

  • root 表示树行的第一个节点,会影响之后的其他规则

  • netem 网络模拟, 允许添加延时,丢包率,重复包和其他外向数据

  • delay 这个命令可以延时

    1. 在添加规则前
    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
    1. 添加规则后

      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 网络控制工具的更多相关文章

  1. linux下使用tc(Traffic Control) 流量控制命令模拟网络延迟和丢包

    目录 TC案例 TC常用命令 TC安装 TC原理介绍 TC规则 TC操作原理 TC命名规则 TC单位 TC命令 TC案例 如何使用tc模拟网络延迟和丢包 修改网络延时:  sudo tc qdisc  ...

  2. Linux TC(Traffic Control)框架原理解析

    近日的工作多多少少和Linux的流控有点关系.自打几年前知道有TC这么一个玩意儿而且多多少少理解了它的原理之后,我就没有再动过它,由于我不喜欢TC命令行,实在是太繁琐了.iptables命令行也比較繁 ...

  3. Linux TC (traffic control)

    在着手学习TC采用如下单位来描述带宽: mbps = 1024 kbps = 1024 * 1024 bps => byte/s mbit = 1024 kbit => kilo bit/ ...

  4. 使用Kernel NetEm和tc模拟复杂网络环境

    关键词:netem(Network Emulator).tc(Traffic Control). 大部分局域网环境良好,但是产品实际网络环境可能千差万别,为了对产品进行各种情况测试就需要模拟网络环境. ...

  5. Linux网络流量控制工具—Netem

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

  6. 【RL-TCPnet网络教程】第24章 RL-TCPnet之网络控制报文协议ICMP

    第24章     RL-TCPnet之网络控制报文协议ICMP 本章节为大家讲解ICMP(Internet Control Message Protocol,网络控制报文协议),通过前面章节对TCP和 ...

  7. 阅读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 ...

  8. ping(网络诊断工具)

    ping(网络诊断工具) Ping是Windows下的一个命令,在Unix和Linux下也有这个命令.ping也属于一个通信协议,是TCP/IP协议的一部分.利用"ping"命令可 ...

  9. Netperf网络性能测试工具详解教程

    本文下载链接: [学习笔记]Netperf网络性能测试工具.pdf 一.Netperf工具简介 1.什么是Netperf ? (1)Netperf是由惠普公司开发的一种网络性能测量工具,主要针对基于T ...

随机推荐

  1. idea新建java项目

    盘符下新建一个目录: 打开idea: Open -> 新建的目录: 右击目录 -> new -> module: 填写模块名 -> finish: file -> pro ...

  2. LIS是什么?【质量控制】

    继续[LIS是什么?]中提到的[质量控制]. Ⅱ.质量控制要求非常专业,现在只说一说个人理解,以下仅为LIS检验中部分理解,实际上实验室质量控制还包含的报告时效,实验室温度.湿度等等一系列内容,是一个 ...

  3. Django回顾之_03_Model属性及后端配置

    1. Django ORM O(objects):类和对象. R(Relation):关系,关系数据库中的表格. M(Mapping):映射. Django ORM框架的功能: a) 建立模型类和表之 ...

  4. cf 1241 E. Paint the Tree(DP)

    题意: 有一颗树,n个点,边有边权. 有无限多种颜色,每个点可以同时染上k种颜色,如果一条边的两个端点 拥有至少一种相同的颜色,那么说这条边是“饱和的”. 问:所有“饱和边”的权值和最大为多少,只需要 ...

  5. redis主从复制原理与优化-高可用

    一 什么是主从复制 机器故障:容量瓶颈:QPS瓶颈 一主一从,一主多从 做读写分离 做数据副本 扩展数据性能 一个maskter可以有多个slave 一个slave只能有一个master 数据流向是单 ...

  6. AD软件将PCB中的元器件旋转45度

  7. 直击JDD | 徐雷:智能化零售,以技术为驱动力的突破路径

    "京东零售已经成为一家典型的以技术驱动为主的零售公司".在11月19日召开的 2019京东全球科技探索者大会上,京东零售集团CEO徐雷首次阐释了京东零售的智能化零售路径. 徐雷指出 ...

  8. python-IDE使用

    集成开发工具 集成开发环境(IDE,Integrated Development Environment ) VIM 经典的linux下的文本编辑器,只有小白和的牛会用这个 Emacs linux文本 ...

  9. 吴裕雄--天生自然C++语言学习笔记:C++简介

    C++ 是一种中级语言,它是由 Bjarne Stroustrup 于 年在贝尔实验室开始设计开发的.C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言.C++ 可运行于多种平台上,如 ...

  10. 吴裕雄--天生自然 JAVASCRIPT开发学习: 表单

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script> ...