Linux中如何实现TC(Traffic Control)流量控制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2913个文字,预计阅读时间需要12分钟。
在初步接触Linux tc(Traffic Control)时,我了解到需要对数据包添加延迟。为了实现这一目的,我使用了tc中的netem功能。添加简单延迟的操作非常简单,只需一条命令即可搞定:`$ tc qdisc add dev eth0 root netem delay 100ms`。
前段时间在做一些测试的时候接触到了Linux tc,因为需要对数据包添加延迟,用到了tc中的netem。添加简单的延迟非常简单,像这样一条命令就搞定了:$ tc qdisc add dev eth0 root netem delay 1s,你甚至不需要完全理解命令中参数的含义。但是当你想做一些更加特殊的限制的时候,(比如只对某个特定的ip端口添加延迟、或者只对入站的流量添加延迟),事情就变得有些棘手了,简单的百度貌似已经满足不了要求了。你不得不了解TC中的一些基本概念,以及tc[2]命令中相关参数的含义。
本文正是带你了解这些TC中的基本概念,并通过一个实际例子,将这些概念与tc命令联系起来。
本博客已迁移至CatBro's Blog,那是我自己搭建的个人博客,欢迎关注。本文链接
示例命令考虑到这是一个科普向的介绍,这里只举了一个最简单的例子,但是基本上包含了重要的概念。本文的期望是,让读者在阅读后可以完全理解下面的例子,并且知道如何根据自身的需求编写自己的命令。
本文共计2913个文字,预计阅读时间需要12分钟。
在初步接触Linux tc(Traffic Control)时,我了解到需要对数据包添加延迟。为了实现这一目的,我使用了tc中的netem功能。添加简单延迟的操作非常简单,只需一条命令即可搞定:`$ tc qdisc add dev eth0 root netem delay 100ms`。
前段时间在做一些测试的时候接触到了Linux tc,因为需要对数据包添加延迟,用到了tc中的netem。添加简单的延迟非常简单,像这样一条命令就搞定了:$ tc qdisc add dev eth0 root netem delay 1s,你甚至不需要完全理解命令中参数的含义。但是当你想做一些更加特殊的限制的时候,(比如只对某个特定的ip端口添加延迟、或者只对入站的流量添加延迟),事情就变得有些棘手了,简单的百度貌似已经满足不了要求了。你不得不了解TC中的一些基本概念,以及tc[2]命令中相关参数的含义。
本文正是带你了解这些TC中的基本概念,并通过一个实际例子,将这些概念与tc命令联系起来。
本博客已迁移至CatBro's Blog,那是我自己搭建的个人博客,欢迎关注。本文链接
示例命令考虑到这是一个科普向的介绍,这里只举了一个最简单的例子,但是基本上包含了重要的概念。本文的期望是,让读者在阅读后可以完全理解下面的例子,并且知道如何根据自身的需求编写自己的命令。

