老司机午夜精品_国产精品高清免费在线_99热点高清无码中文字幕_在线观看国产成人AV天堂_中文字幕国产91


首頁 -> 登錄 -> 注冊 -> 回復主題 -> 發(fā)表主題
光行天下 -> 手機,電腦,網(wǎng)絡(luò)技術(shù)與資訊 -> TC服務器流量控制功能 [點此返回論壇查看本帖完整版本] [打印本頁]

860700672 2013-04-24 16:55

TC服務器流量控制功能

TC主要用于企業(yè)的,當然自己家也是可以用,不過我覺得沒有必要了,企業(yè)用網(wǎng)絡(luò)通常都會超過流量,或者流量不受控制,因此可以用TC來控制下服務器流量,下面就教教大家怎么做。 'py k  
  TC介紹 m<E7cY3mX  
  在linux中,TC有二種控制方法CBQ和HTB.HTB是設(shè)計用來替換CBQ的。它是一個層次式的過濾框架。 &m`  
  TC包括三個基本的構(gòu)成塊: 隊列規(guī)定qdisc(queueing discipline )、類(class)和分類器(Classifiers) 08Q:1 '  
  隊列(queueing discipline):用來實現(xiàn)控制網(wǎng)絡(luò)的收發(fā)速度。通過隊列,linux可以將網(wǎng)絡(luò)數(shù)據(jù)包緩存起來,然后根據(jù)用戶的設(shè)置,在盡量不中斷連接(如 TCP)的前提下來平滑網(wǎng)絡(luò)流量。需要注意的是,linux對接收隊列的控制不夠好,所以我們一般只用發(fā)送隊列,即“控發(fā)不控收”。它封裝了其他兩個主要 TC組件(類和分類器)。內(nèi)核如果需要通過某個網(wǎng)絡(luò)接口發(fā)送數(shù)據(jù)包,它都需要按照為這個接口配置的qdisc(排隊規(guī)則)把數(shù)據(jù)包加入隊列。然后,內(nèi)核會盡可能多地從qdisc里面取出數(shù)據(jù)包,把它們交給網(wǎng)絡(luò)適配器驅(qū)動模塊。 j[9 B,C4  
  最簡單的QDisc是pfifo它不對進入的數(shù)據(jù)包做任何的處理,數(shù)據(jù)包采用先入先出的方式通過隊列。不過,它會保存網(wǎng)絡(luò)接口一時無法處理的數(shù)據(jù)包。 p: o*=  
  隊列規(guī)則包括FIFO(先進先出),RED(隨機早期探測),SFQ(隨機公平隊列)和令牌桶(Token Bucket),類基隊列(CBQ),CBQ 是一種超級隊列,即它能夠包含其它隊列(甚至其它CBQ)。 .#X0P=  
  class用來表示控制策略。很顯然,很多時候,我們很可能要對不同的IP實行不同的流量控制策略,這時候我們就得用不同的class來表示不同的控制策略了。 &("?6%GC  
  filter用來將用戶劃入到具體的控制策略中(即不同的class中)。比如,現(xiàn)在,我們想對xxa,xxb兩個IP實行不同的控制策略(A,B),這時,我們可用filter將xxa劃入到控制策略A,將xxb劃入到控制策略B,filter劃分的標志位可用u32打標功能或IPtables的 set-mark(大多使用iptables來做標記)功能來實現(xiàn)。 &>-Cz%IV  
  目前,TC可以使用的過濾器有:fwmark分類器,u32分類器,基于路由的分類器和RSVP分類器(分別用于IPV6、IPV4)等;其中,fwmark分類器允許我們使用 Linux netfilter 代碼選擇流量,而u32分類器允許我們選擇基于 ANY 頭的流量 .需要注意的是,filter(過濾器)是在QDisc內(nèi)部,它們不能作為主體。 jV(IS D  
  數(shù)據(jù)包->iptables(在通過iptables時,iptables根據(jù)不同的ip來設(shè)置不同的mark)->TC(class)->TC(queue) #xmUND`@  
  應用  m ]\L1&  
  假設(shè)eth0位是服務器的外網(wǎng)網(wǎng)絡(luò)接口。 f*Kipgp  
  1)首先在eth0的qdiscA,qdiscA控制通過本機到外網(wǎng)的速度,因此是用來控制服務器流出速度的 ]n{2cPx5d  
  #tc qdisc add dev eth1 root handle 1:htb default 1 8]O|$8'"  
  添加 設(shè)置接口 最上層 句柄(做標記用) 標記 默認使用1的class fqcyCu7Ep  
  解釋如下:無論是隊列,還是class和filter都有ID之類的標志符,一般都有parent(父,上層的),注意ID具有接口本地性,不同的網(wǎng)絡(luò)接口可以有相同的ID.對于這里因為qdisc在頂部,所以parent無,用‘root’字樣來標識,ID用1:來標志 er53?z7zP.  
  ‘default 91′表示當某個ip流不滿足任何已設(shè)定的filter規(guī)則時,將自動歸入class 1中。更詳細的指令規(guī)則說明請參考手冊。 Y , P-@(  
  2)然后在qdisc下建立兩個class,來指定eth0控制通過本機到外網(wǎng)的速度 ?F-,4Ox{/  
  #tc class add dev eth0 parent 1:0 classid1:30 htb rate 2mbit ceil 4mbit prio 2 2dC)%]aLme  
  注:以上就是我們控制輸出服務器的速度,為2M,最大可以到4M L2 I/h`n"  
  rate: 是一個類保證得到的帶寬值。如果有不只一個類,請保證所有子類總和是小于或等于父類。 X **w RF  
  prio:用來指示借用帶寬時的競爭力,prio越小,優(yōu)先級越高,競爭力越強。 ^C(AMT  
k z#DBh!&  
查看本帖完整版本: [-- TC服務器流量控制功能 --] [-- top --]

Copyright © 2005-2025 光行天下 蜀ICP備06003254號-1 網(wǎng)站統(tǒng)計