Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2367628
  • 博文数量: 145
  • 博客积分: 8668
  • 博客等级: 中将
  • 技术积分: 3922
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-09 21:21
个人简介

work hard

文章分类

全部博文(145)

文章存档

2016年(1)

2015年(1)

2014年(1)

2013年(12)

2012年(3)

2011年(9)

2010年(34)

2009年(55)

2008年(20)

2007年(9)

分类: 网络与安全

2011-02-23 16:08:32

Linux 中使用 tc 进行流量管理。具体命令的使用请参考 tc 的 man 手册。
本文简单记录一下使用 tc 模拟延时和丢包的命令。

1. 延时
(1)设置延时
  1. # tc qdisc add dev eth0 root netem delay 30ms
上面的命令实现了给 eth0 口发包时添加 30ms 的延时。

(2)显示延时的设置
  1. # tc qdisc show
结果如下:
  1. [root@Kernel-Test test]# tc qdisc show
  2. qdisc pfifo_fast 0: dev eth1 root bands 3 priomap 1 2 2 2 1 2 0 0 1 1 1 1 1 1 1 1
  3. qdisc netem 8003: dev eth0 root limit 1000 delay 30.0ms
(3)修改延时
  1. # tc qdisc change dev eth0 root netem delay 40ms
(4)删除延时的配置
  1. # tc qdisc del dev eth0 root netem delay 40ms
2. 丢包
设置丢包命令如下:
  1. # tc qdisc add dev eth0 root netem loss 10%
如果你是通过 SSH 登陆设备进行配置丢包的话,配置完这条命令就会感觉到机器访问时有点一卡一卡的。这说明,设备已经开始丢包了,可以通过具体抓包查看。

其他诸如修改、查看、删除的命令,都可以参考上面延时的设置。

最后一点需要注意的是,这两个命令应该都是控制的网卡出口的流量。如果想控制网卡入口的流量,应该是需要确认内核是否明确支持了,如果不支持的话,就需要修改内核配置文件,并重新编译内核。

参考链接:
阅读(9702) | 评论(0) | 转发(2) |
给主人留下些什么吧!~~