论坛风格切换切换到宽版
  • 656阅读
  • 1回复

[问题求助]【轉貼】流量控制系列手冊:tc [复制链接]

上一主题 下一主题
离线lun0412.
 
发帖
2057
C币
-132078
威望
382
贡献值
1
银元
-2
铜钱
4590
人人网人气币
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2009-05-01
來源http://lartc.org/     健康

名字
  tc - 顯示/.維護流量控制設置 --- 印刷
摘要
tc qdisc [ add | chan.ge. | replace | l.ink ] dev DEV [ parent qdisc-id | root ] [ handle qdisc-.id ] qdisc [ qdisc specific parameters ] 投资

tc class [ add | change | repl.ace ] dev DEV parent qdisc-id [ classid class-id ] qdi.sc .[ qdisc specific parameters ] <性病>

tc f.ilter [ add | ch.ange | replace ] dev DEV [ parent qdisc-id | root ] protocol protocol prio priority filtertype .[. filtertype specific parameters ] flowid flow-id --------------彩票

tc [-s | -.d ] qdisc show .[ dev DEV ] .

tc [-s | -d ] class show .dev DEV tc filter s.how dev DEV .


簡介
Tc用於Linux內核的流量控制。流量..控制包括以下幾種方式: .

SHAPING(限制)
當流量被限制,它的傳輸速率就.被.控制在某個值以下。限制值可以大大小於有效頻寬,這樣可以平滑突發資料流量,使網路更為.穩定。shaping(限制)只適用於向外的流量。 外贸

SC.HEDULING(調度) .
通過調度資料包的傳輸,可以在頻寬範圍內,按照優.先級分配頻寬。SCHEDULING(調度)也只適於向外.的流量。 <性病>

POLICING(策略)
SHAPING用於.處理向外的流量,而POLICIING(策略)用於處理接收到的資料。. 外贸

DROPPING(丟棄)
如.果流量超過某個設定的.頻寬,就丟棄資料包,不管是向內還是向外。            鲜花

流量的處理由三.種對象控制,它們是:qdisc(排隊規則)、class(類別)和filter(過濾器)。. <性病>

QDISC(排隊規則)
QDisc(排隊規則)是queueing discipline的簡寫,它是理解流.量控制(traffic control)的基礎。無論何時,內核.如果需要通過某.個網.路接口送出資料包,它都需要按照為這個接口配置的qdisc(排隊規則)把資料包加入隊列。然後,內核會盡可能多地從qdisc裡面取出資料包,把它們交給網路適配器驅動模塊。 (        游戏          )
最.簡單的Q.Disc是pfifo它不對進入的資料包做任何的處理,資料包採用先入先出的方式通過隊列。不過,它會保存網路接口一時無法處理的資料包。 (        游戏          )


CLASS(類)
某些QDisc(排隊規則)可以包含一些類別,不同的類別中可以包含更深入的QDisc(排隊規則.),通過這些細分的QDisc還可以為進入的.隊列的資料包.排隊。通過設置各種類別資料包的離隊次序,QDisc可以為設置網路資料流量的優先級。     健康

FILTER(過濾器)
filter(過濾器)用於為資料包分類,決定它們按照何種QDisc進入隊列。無論何時資料包進入一個劃分子類的類別中,都需要進行分類。分類的方法可以有多種,使用filet.er(過濾器)就是其中之一。使用filter.(過濾器)分類時.,內核會調用附屬.於這個類(class)的所有過濾器,直到返回一個判決。如果沒有判決返.回,就作進一步的處理,而處理方式和QDISC有關。 健康
需要注意的是,filter(過濾器)是在QDisc內部,它.們不能作為主.體。 .


CL.ASSLESS QDisc(不可分類QDisc). 虚拟主机
無類別QDISC包括:
[p|b]fifo
使用最簡單的qdisc,純粹的先進先出。只有一個參數:limit,.用來設置隊列的.長度,pfifo是以.資料包的個數為單位;bfifo是以位元組數為單位。              汽车
pfifo_fast
在編譯內核時,.如果打開了高級路由器(Advan.ced Ro.uter)編譯選項,pfifo_fast就是系統的標準QDISC。它.的隊列包括三個波段(band)。在每個波段裡面,使用先進先出規則。而三個波段(band)的優先級也不相同,band 0的優先級最高,band. 2的最低。如果band裡面有.資料包,系統就不會處理band 1裡面的資料包,band 1和band 2之間也是一樣。資料包是按照服務類型(Type of Service,TOS)被分配多三個波段(band)裡面的。 电脑
red
re.d是Random Early Detection(隨機早期探測)的簡寫。如果使用這種QDISC,當頻寬的佔用接近於規定的頻寬時,系統會隨.機地丟棄一些資料包。它非常適合高頻寬應用.。 .
sfq
sfq是Stochastic Fai.rness Qu.eueing的簡寫。它按照會話(session--對應於每個TCP連接或者UDP.流)為流量進行排序,然後循環送出每個會話的資料包。 .
tbf
tbf是Token Buck.et Filter的簡寫,適合於把.流速降低到某個值。     外汇
不可分類QDisc的配置
如果沒有可分類QDisc,不.可分類QDisc只能附屬於設備的根.。它們的用法如下: .
tc qdisc a.dd dev D.EV root QDISC QDISC-PARAMETERS .

要刪除一個不可分類QDisc,需要使用如下.命令: .

tc qdisc de.l d.ev DEV root (广告)

一個網路接.口上如果沒有設置QDis.c,pfifo_fast就作為預設的QDisc。 投资


CLASSFUL QDISC(.分類QDisc) 电脑
可分類的QDisc包括:
CBQ
CBQ是Class Based Queueing(基於類.別排隊)的縮寫。它實現了一個豐富的.連接共.享類.別結構,既有限制(shaping)頻寬的能力,也具有頻寬優先級管理的能力。頻寬限制是通過計算連接的空閒時間完成的。空閒時間的計算標準是資料包離隊事件的頻率和下層連接(資料鏈路層)的頻寬。 .
HTB
HTB是Hierarchy Token Bucket的縮寫。通過在實踐基礎上的改進,它實.現.了一個豐富的連接共享類別體系。使用HTB可以很容易地保證每個類別的頻寬,雖然它也允許特定的類可以突破頻寬上限,佔用別的類的頻寬。HTB可以.通過TBF(To.ken Bucket Filter)實現頻寬限制,也能夠劃分類別的優先級。 .
PRIO
PRIO QDisc不能限制頻寬,因為屬於不同類別的資料包是順序離隊的。使用PRIO QDisc可以很.容易對流量進行優先級管理,只有屬於高優先級類別的資料包全部送出完畢,才會送出屬於低優先級類別的資料包。為了方便管理,.需.要使用iptable.s或者ipchains處理資料包的服務類型(Type Of Service,ToS)。            鲜花
操作原理
類(Class)組成一個樹,每個類都只有一個父類,而一個類可以有多個子類。某些QDisc(例如.:CBQ和HTB)允許在運行時動態添加類,而其它的QDisc(例如:PRIO).不允.許動態建立類。 学习
允許動態添加類的.QDisc可以.有零個或者多個子類,由它們為資料包排隊。 .

此外.,每個類都有一個葉子QDisc,預設情況下,這個葉子QDisc使用pfifo的方式排隊,.我們也可以使用其它類型的QDisc代替這個預設的QDisc。而且,這個葉子葉子QDisc有可以分類,不過每個子類只能有一.個葉子QDisc。 虚拟主机

當一.個資料包進入一個分類QDisc,它會被歸入某個子類。我們可以使用以下三種方式為資料包歸類,不過不是所有的QDisc都能.夠使用這三種方式。 外贸

tc過濾器.(tc filter) .
如果過濾器附屬於一個類,相關的指令就會對它們進行查詢。過濾器能夠匹配資料包頭所有的域,也可以匹配由ipchains或者ipt.a.bles做的標記。 学习
服務類型(Type of Service). 电脑
某些QDisc有基.於服務類型(Type of Serv.ice,ToS)的內置的規則為資料包分類。 --------------彩票
skb->priority
使用者空間的.應用程.序可以使用SO_PRIORITY選項在skb->priority域設置一個類的ID。 电影
樹的每個節點都可以有.自己的過濾器,但是高層的過濾器也可以直接用於其.子類。 投资
如果資料包沒有被成功歸類,就會被排到這個類的葉子QDisc的.隊中。相關細節在各個QDisc.的手冊頁中。 投资


命名規則
所有的QDis.c、類和過濾器都有.ID。ID可以手工設置,也可以有內核自動分配。 外贸
ID由一個主序號和一個從序號組成,兩個數字用一個.冒.號分開。 电影


QDISC
一個QDisc會被分配一個主序號,叫做句柄(.h.andle),然後把從序號作為類的命名空間。句柄採用象10:一樣的表達方式。習慣.上,需要為有子類的QDisc顯式地分配一個句柄。              电子

類(CLASS)
在同一個QDisc裡面的類分享這個QDisc的主序號,但是每個類都有自己的從序號,叫做類識別符(classid)。類識別符只.與父QDisc有關,和父類無關。類.的命名習慣和QD.isc的相同。 投资

過濾器(FILTER)
過濾器的ID有三部分,只有在對過濾器進行散列組織才會用到。詳.情請參考.tc-filters手冊頁。           婚庆
單位
tc命令的所有參數都.可以使用浮點數,可能會涉及到以下計數.單位。 --- 印刷
頻寬或者流速單位:

kbps
千位元組/秒
mbps
兆位元組/秒
kbit
KBits/秒
mbit
MBits/秒
bps或者一個無單位數字
位元組數/秒
資料的數量單位:

kb或者k
千位元組
mb或者m
兆位元組
mbit
兆bit
kbit
千bit
b或者一個無單位數字
位元組數
時間的計量單位:
s、sec或者secs

ms、msec或者mse.cs 电脑
分鐘
us、usec、usecs.或者一個無單位數字 电影
微秒

TC命令
tc可以使用以下命令對QD.isc.、類和過濾器進行操作: .
add
在一個節點裡加入.一個QDisc、類或者過濾器。添加時,需要傳遞一個祖先作為參數,傳遞參數時既可以使用ID也可以直接傳遞設備的根。如果要建立一個QDisc或者過濾器,可以使用句柄(handl.e)來命名;如果要建立一個類,可以使用類識別符(cla.ssid)來命名。. .

remove
刪除.有某個句柄(.handle)指定的QDisc,根QDisc(root)也可以刪除。被刪除.QDisc上的所有子類以及附屬於各個類的過濾器都會被自動刪除。     美容

change
以替代的方式修改某些條目。除了句柄(handle)和祖先不能修改以外,c.hange命令的語.法和add命令相同。換.句話說,change命令不能一定節點的位置。 .

replace
對一個現有節點進行近於.原子操作.的刪除/添加。如果節點不存在,這個命令就會建立節點。 .

link
只適用於DQisc,替代一個現.有的節點。 (        游戏          )

歷史
tc由Alexey N. Kuznetsov編寫,從L.i.nux 2.2版開始並入Linux內核。 .
SEE ALSO
tc-cbq.(.8)、tc-htb(8)、tc-sfq(.8)、tc-red(8)、tc-tbf(8)、tc-pfifo(8)、tc-bfifo(8)、tc-pfifo_fast(8)、tc-filters(8) .

作者
本手冊頁由.bert hubert(ahu@ds9a..nl)負責維護。 外贸

中文版翻譯:nixe0n(nixeon@lin.u.xaid.com.cn)             电子

[ 本帖最后由 枫影谁用.了 于 2007-9-12 08:26. 编辑 ]--- 印刷

评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线yy12345678.
发帖
1953
C币
-61089
威望
319
贡献值
1
银元
-5
铜钱
4298
人人网人气币
0
只看该作者 沙发  发表于: 2010-04-13
这个帖子得顶。太好了。
快速回复
限100 字节
如果您提交过一次失败了,可以用”恢复数据”来恢复帖子内容
 
上一个 下一个