1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      TC模塊限速實例

      一、網(wǎng)絡(luò)拓撲

      創(chuàng)新互聯(lián)主要從事做網(wǎng)站、成都做網(wǎng)站、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)普陀,10多年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575

      TC模塊限速實例

      二、環(huán)境介紹

      服務(wù)器系統(tǒng)是centos6.5,內(nèi)核:2.6.32-431.el6.x86_64

      Server:兩張網(wǎng)卡eth0:10.0.0.100

               eth2:192.168.0.1

      PC:一張網(wǎng)卡eth0:192.168.0.10,gw:192.168.0.1

      三、tc介紹

      在linux中,tc有二種控制方法CBQ和HTB。HTB是設(shè)計用來替換CBQ的,HTB比CBQ更加靈活,但是CPU開銷也更大,通常高速的鏈路會使用CBQ,一般而言HTB使用的更加廣泛我們對tc中的HTB的規(guī)則本質(zhì)上是一個樹形結(jié)構(gòu),包括三個基本的構(gòu)成塊:隊列規(guī)定qdisc(queueing discipline) ,類(class)和分類器(Classifiers).

      qdisc 隊列規(guī)則(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ū)動模塊.

      最簡單的QDisc是pfifo它不對進入的數(shù)據(jù)包做任何的處理,數(shù)據(jù)包采用先入先出的方式通過隊列.不過,它會保存網(wǎng)絡(luò)接口一時無法處理的數(shù)據(jù)包.常有的隊列規(guī)則包括FIFO先進先出,RED隨機早期探測,SFQ隨機公平隊列和令牌桶Token Bucket,類基隊列CBQ,CBQ是一種超級隊列,即它能夠包含其它隊列,甚至其它CBQ.

      Class類

      class 用來表示控制策略.很顯然,很多時候,我們很可能要對不同的IP實行不同的流量控制策略,這時候我們就得用不同的class來表示不同的控制策略了.

      Filter規(guī)則

          filter 用來將用戶劃入到具體的控制策略中(即不同的class中).比如,現(xiàn)在,我們想對xxa,xxb兩個IP實行不同的控制策略(A,B),這時,我們可用filter將xxa劃入到控制策略A,將xxb劃入到控制策略B,filter劃分的標志位可用u32打標功能或IPtables的set-mark (大多使用iptables來做標記)功能來實現(xiàn).目前,tc可以使用的過濾器有:fwmark分類器,u32分類器,基于路由的分類器和RSVP分類器(分別用于IPV6、IPV4)等;其中,fwmark分類器允許我們使用Linux netfilter代碼選擇流量,而u32分類器允許我們選擇基于ANY頭的流量.需要注意的是,filter (過濾器)是在QDisc內(nèi)部,它們不能作為主體.

      實施步驟

      主要是建立隊列、分類、過濾器三步。

      1 給物理設(shè)備建立一個隊列qdisc

      2 在相關(guān)隊列上建立分類,一般是在該qdisc上建立一個根分類,然后在此根分類上建立子類。

      3 為每一個分類建立基于路由的過濾器,并把過濾規(guī)則與特定的路由結(jié)合。一般只需要針對根分類提供一個過濾器,然后為每個子類提供路由映射。

      四、實施

      Server端

      sed -i 's#net.ipv4.ip_forward = 0#net.ipv4.ip_forward = 1#g' /etc/sysctl.conf

      sysctl -p

      做nat命令如下:

      iptables -F

      iptables -t nat -F

      iptables -t nat -A POSTROUTING -s 192.168.0.0/24 -o eth0 -j SNAT --to 10.0.0.100

      為流量控制做基于fw過濾器的標記

      iptables -t mangle -I PREROUTING-o eth0 -s 192.168.0.0/24 -j MARK --set-mark 0x11

      上傳速率做流量控制

      tc 只能控制網(wǎng)卡發(fā)送包的速率,所以上傳速率的限制要在eth0上做

      刪除舊有隊列

      tc qdisc del dev eth0 root2>/dev/null

      加一個根隊列

      tc qdisc add dev eth0 root handle1:0 htb default60

      加一個根類

      tcclass add dev eth0 parent 1:0 classid 1:1 htb rate 100Mbit ceil 100Mbit prio 0

      加一個子類用于內(nèi)網(wǎng)速率限制為10Mbit

      tcclass add dev eth0 parent 1:1 classid 1:11 htb rate 10Mbit ceil 10Mbit prio 1 burst 96kbit

      設(shè)置隊列規(guī)則  

      tc qdisc add dev eth0 parent 1:11 handle 111:0 sfq perturb 10

      將隊列和fw過濾器映射起來 其中hand 0x11 的0x11是開始用iptables 做的標記

      tc filter add dev eth0 parent 1:0 protocol ip prio 1 handle 0x11 fw classid 1:11                                                

      做下載限制,過濾器是用u32 

      tc qdisc del dev eth2 root 2>/dev/null
      根隊列

      tc qdisc add dev eth1 root handle2:0 htb default30
      根類

      tcclass add dev eth1 parent2:0 classid2:1 htb rate 10Mbit ceil 10Mbit prio 0
      子類
      tcclass add deveth1 parent2:1 classid2:11 htb rate 1Mbit ceil 1Mbit prio 1

      設(shè)置隊列規(guī)則

      tc qdisc add deveth1 parent2:11 sfq perturb 10

      tc filter add dev eth2 parent 2:0 protocol ip prio 2 u32 match ip dst 192.168.0.0/24 flowid 2:11

      用以下命令監(jiān)視流量

      tc -s qdisc ls dev eth0 
      tc -s qdisc ls dev eth2 
      tc -s class ls dev eth0 
      tc -s class ls dev eth2 

      參考:

      http://lartc.org/howto/lartc.qdisc.classful.html

      https://blog.csdn.net/eydwyz/article/details/53320612


      文章名稱:TC模塊限速實例
      網(wǎng)頁URL:http://ef60e0e.cn/article/gegsge.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        砚山县| 苏尼特右旗| 甘洛县| 交城县| 化德县| 杨浦区| 深圳市| 自治县| 仁布县| 巨鹿县| 九龙坡区| 潜江市| 定日县| 阿拉尔市| 南木林县| 房产| 潢川县| 云龙县| 江安县| 垫江县| 江油市| 宜宾县| 沁阳市| 苏尼特右旗| 万荣县| 佳木斯市| 长岭县| 湛江市| 轮台县| 潮州市| 麟游县| 庆安县| 河津市| 永嘉县| 福建省| 梓潼县| 德昌县| 明光市| 蒲江县| 新乡县| 嵊州市|