zoukankan      html  css  js  c++  java
  • Linux模拟控制网络时延

    之前以为可以使用Linux自带的工具模拟控制网络时延,所以上网找了一些资料。后来发现,找到的资料目前只支持在一个网卡上模拟发送报文的时延,而不能 设置有差别的网络时延,或者说当要模拟的向A发送的时延与要模拟的向B发送的时延不一致时,Linux的tc功能就无能为力了。记录一下在网上查到的有用 的资料:

    1. TC带宽管理规则排版最好的链接:http://www.tuicool.com/articles/7zYzey
    2. TC 命令的man手册:http://wenku.baidu.com /link?url=o0CPVzuBDLJMt0_7Qph1T7TtdFOzu7O-apIpvaWbIYMz8ZWqBneGqI8LGtLdqpuKHbUoZ-eXcguONVJ9ruTQN1JuV6xC0b-okqu7b7Ro-oW
    3. TC详细说明及应用实例:http://wenku.baidu.com/view/f02078db50e2524de5187e45.html
    4. TC控制网络时延:http://blog.csdn.net/blade2001/article/details/7163316


    ------------------------------------------------------------
    后来仔细回顾资料,发现TC控制网络时延的netem关键字不在man手册中,然后发现控制网络时延的不是原生的tc功能,而是tc调用了netem模块。 在netem官网 http://www.linuxfoundation.org/collaborate/workgroups/networking/netem#Delaying_only_some_traffic 发现了控制某个ip的网络时延的shell命令,亲测可用。

    ------------------------------------------------------------


    在10.10.10.133,10.10.10.134,10.10.10.135上配置的:

    tc qdisc add dev ib0 root handle 1: prio
    tc qdisc add dev ib0 parent 1:3 handle 30: tbf rate 1000mbit burst 100mbit latency 1000ms mtu 100kbit
    tc qdisc add dev ib0 parent 30:1 handle 31: netem delay 9.4ms
    tc filter add dev ib0 protocol ip parent 1:0 prio 3 u32 match ip dst 10.10.10.136/32 flowid 1:3
    tc filter add dev ib0 protocol ip parent 1:0 prio 3 u32 match ip dst 10.10.10.137/32 flowid 1:3
    tc filter add dev ib0 protocol ip parent 1:0 prio 3 u32 match ip dst 10.10.10.138/32 flowid 1:3


    在10.10.10.136,10.10.10.137,10.10.10.138上配置的:

    tc qdisc add dev ib0 root handle 1: prio
    tc qdisc add dev ib0 parent 1:3 handle 30: tbf rate 1000mbit burst 100mbit latency 1000ms mtu 100kbit
    tc qdisc add dev ib0 parent 30:1 handle 31: netem delay 9.4ms
    tc filter add dev ib0 protocol ip parent 1:0 prio 3 u32 match ip dst 10.10.10.133/32 flowid 1:3
    tc filter add dev ib0 protocol ip parent 1:0 prio 3 u32 match ip dst 10.10.10.134/32 flowid 1:3
    tc filter add dev ib0 protocol ip parent 1:0 prio 3 u32 match ip dst 10.10.10.135/32 flowid 1:3


    查看:
    tc -s qdisc ls dev ib0

    删除:
    tc qdisc del dev ib0 root handle 1: prio

  • 相关阅读:
    集训队日常训练20180518-DIV1
    集训队日常训练20180513-DIV1
    python类的使用与多文件组织
    性能指标
    python调用.so
    动态链接库的使用
    python读写xml文件
    使用python读取文本中结构化数据
    python画图
    numpy及scipy的使用
  • 原文地址:https://www.cnblogs.com/winstonet/p/6916213.html
Copyright © 2011-2022 走看看