亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Linux的流量控制研究及應(yīng)用

        2018-07-07 07:16:56駱華杰鄭仕龍
        關(guān)鍵詞:分類

        ◆駱華杰 陳 洋 鄭仕龍

        ?

        基于Linux的流量控制研究及應(yīng)用

        ◆駱華杰 陳 洋 鄭仕龍

        (中國(guó)電子科集團(tuán)公司第三十研究所 四川 610041)

        本文分析了流量控制的幾種功能,介紹了Linux系統(tǒng)下的流量控制模塊(TC),討論了 T C的隊(duì)隊(duì)規(guī)定、 分類和過(guò)濾器三個(gè)關(guān)鍵組件的相關(guān)細(xì)節(jié),并針對(duì)Linux流量控制的機(jī)制在分類時(shí)若處理不當(dāng)會(huì)降低帶寬的缺點(diǎn),結(jié)合具體實(shí)例,提出了一種流量控制設(shè)計(jì)。

        Linux;TC;隊(duì)列;過(guò)濾器

        0 引言

        當(dāng)今時(shí)代,為提高辦事效率,政府、學(xué)校、企業(yè)等機(jī)構(gòu)依托于互聯(lián)網(wǎng)開(kāi)展各種業(yè)務(wù),隨著交互數(shù)據(jù)量的迅猛增加,如何保障主流業(yè)務(wù)占用絕大部分帶寬、對(duì)非主流業(yè)務(wù)進(jìn)行流量控制是一個(gè)值得研究的問(wèn)題。流量控制能夠?qū)W(wǎng)絡(luò)帶寬進(jìn)行合理分配和規(guī)劃,比如根據(jù)不同的QoS劃分不同的流量類型,還可以允許帶寬合理借用,針對(duì)不種的流量執(zhí)行不同的流量控制策略,這樣可實(shí)現(xiàn)有限帶寬下網(wǎng)絡(luò)的最優(yōu)利用。

        Linux作為當(dāng)前網(wǎng)絡(luò)設(shè)備中應(yīng)用最廣泛的操作系統(tǒng),其自帶的流量控制模塊TC也正在越來(lái)越多的被研究和使用。本文利用流量控制模塊TC對(duì)數(shù)據(jù)包進(jìn)行應(yīng)用層協(xié)議識(shí)別、分類,設(shè)計(jì)了一個(gè)高效的流量控制系統(tǒng)。

        1 流量控制原理

        1.1 Linux流量控制模型

        Linux的流量控制模型如圖1所示,該模型基于Linux網(wǎng)橋模式,使用TC對(duì)內(nèi)網(wǎng)傳輸?shù)臄?shù)據(jù)進(jìn)行識(shí)別和標(biāo)記完成流量控制。

        圖 1 Linux流量控制模型

        1.2 流量控制模塊TC

        Linux內(nèi)核發(fā)展到現(xiàn)在,其流量控制模塊TC已經(jīng)比較成熟穩(wěn)定。TC的三個(gè)組件:隊(duì)列規(guī)定(Qdisc)、過(guò)濾器(Filter)、類(Class)。

        (1)隊(duì)列規(guī)定

        每個(gè)網(wǎng)卡都與一個(gè)隊(duì)列規(guī)定(Qdisc)相聯(lián)系,當(dāng)有報(bào)文分組需要從網(wǎng)卡發(fā)送出去,會(huì)把該報(bào)文分組添加到該網(wǎng)卡對(duì)應(yīng)的隊(duì)列規(guī)定中,并由該隊(duì)列規(guī)定決定報(bào)文分組的發(fā)送順序。故流量控制只能在隊(duì)列規(guī)定中進(jìn)行。

        隊(duì)列規(guī)定分為兩種:無(wú)類隊(duì)列規(guī)定(Classless Qdisc)和分類隊(duì)列規(guī)定(Classful Qdisc)。

        無(wú)類隊(duì)列規(guī)定比較簡(jiǎn)單,能夠接收數(shù)據(jù)包和重新編排、 延遲或丟棄數(shù)據(jù)包??捎米鲗?duì)網(wǎng)卡的流量進(jìn)行整形, 不細(xì)分各種情況, 屬于粗放型的流量管理。常見(jiàn)的無(wú)類隊(duì)列規(guī)定有先進(jìn)先出 (pfifo_fast)、隨機(jī)公平隊(duì)列 (SFQ)、令牌桶過(guò)濾器(TBF)。

        分類隊(duì)列規(guī)定的概念中又延伸出類 (Class) 和過(guò)濾器(Filter)兩個(gè)組件,在類和過(guò)濾器的支持下,Linux可以根據(jù)數(shù)據(jù)包的類型、優(yōu)先級(jí)別、端口等來(lái)區(qū)分不同類型的流量,然后通過(guò)不同的規(guī)則來(lái)控制數(shù)據(jù)包的發(fā)送,從而實(shí)現(xiàn)對(duì)流量的控制。

        (2)三種常見(jiàn)的分類隊(duì)列規(guī)定

        ①優(yōu)先級(jí)隊(duì)列(PRIO Qdisc,PRIO)

        PRIO 隊(duì)列規(guī)定僅根據(jù)配置的過(guò)濾器把流量進(jìn)一步細(xì)分,不進(jìn)行流量整形。PRIO 隊(duì)列規(guī)定是pfifo_fast 的一種衍生物,區(qū)別在于每個(gè)波段都是一個(gè)單獨(dú)的類,非簡(jiǎn)單的FIFO。

        PRIO 隊(duì)列規(guī)定中有數(shù)據(jù)包進(jìn)入,它將根據(jù)你給定的過(guò)濾器設(shè)置選擇一個(gè)類。

        PRIO 隊(duì)列規(guī)定實(shí)現(xiàn)對(duì)流量進(jìn)行優(yōu)先級(jí)管理很容易, 發(fā)送完高優(yōu)先級(jí)類別的數(shù)據(jù)包, 才會(huì)發(fā)送低優(yōu)先級(jí)類別的數(shù)據(jù)包。

        ②基于類的隊(duì)列(Class Based Queueing,CBQ)

        CBQ既具有帶寬優(yōu)先級(jí)管理的能力, 又具有固定帶寬的能力,實(shí)現(xiàn)了一個(gè)豐富的共享連接的類別層次。CBQ確保一定的傳輸速率下,根據(jù)對(duì)流量特征處理數(shù)據(jù)包,在接收數(shù)據(jù)包時(shí)根據(jù)IP協(xié)議頭、 IP地址、應(yīng)用程序或協(xié)議、URL或其它參數(shù)等進(jìn)行分類。

        ③分層的令牌桶(HierarchicalTokenBuchet,HTB)

        HTB的分層機(jī)制較好地滿足這樣一種情況:在帶寬固定的情況下實(shí)現(xiàn)對(duì)每個(gè)類別的帶寬分配,且允許特定的類可以突破帶寬上限,占用其它類的空閑帶寬,對(duì)于要在具有固定連接速率的鏈路上實(shí)現(xiàn)帶寬管理非常方便。

        從以上一些概念及其相關(guān)內(nèi)容的描述不難看出,分類隊(duì)列規(guī)定不僅可以看作是一個(gè)分類器,可以使流量得到分類;而且也可以看作是一個(gè)整形器,因?yàn)樗鼘?shí)際上也起了限制帶寬的整形作用。

        在分類隊(duì)列規(guī)定中,分類器負(fù)責(zé)流量大小及分類,過(guò)濾器為分類選擇適當(dāng)?shù)臄?shù)據(jù)包。

        (3)過(guò)濾器

        過(guò)濾器應(yīng)用于分類隊(duì)列中。一個(gè)過(guò)濾器根據(jù)源IP地址、端口、目地IP、端口、協(xié)議類型、TOS 字段等參數(shù)對(duì)進(jìn)入隊(duì)列的數(shù)據(jù)包分類。常用的過(guò)濾器有種:fw、u32、route等。

        fw 依據(jù)防火墻如何對(duì)這個(gè)數(shù)據(jù)包做標(biāo)記進(jìn)行判斷。

        u32依據(jù)數(shù)據(jù)包中的各個(gè)字段進(jìn)行判斷,如源IP 地址等。

        route依據(jù)數(shù)據(jù)包將被哪條路由進(jìn)行路由來(lái)判斷。

        過(guò)濾器中提供可設(shè)置的參數(shù)一般有protocol、parent、prio、handle。其中protocol和parent是必要參數(shù)。protocol指示過(guò)濾器接受的協(xié)議,parent用來(lái)指示附帶在哪個(gè)已經(jīng)存在的句柄上。

        prio指的是分類器的優(yōu)先權(quán)值。優(yōu)先權(quán)值低的優(yōu)先。

        Handle是過(guò)濾器句柄的描述。對(duì)于不同過(guò)濾器,它的意義不同。

        2 分類隊(duì)列的操作實(shí)現(xiàn)

        2.1 為網(wǎng)絡(luò)物理設(shè)備如以太網(wǎng)卡eth1創(chuàng)建一個(gè)隊(duì)列

        命令格式:tc qdisc add dev DEV parent qdisk-id|root handle qdisc-id qdisc qdisc specific parameters

        例如需要為網(wǎng)卡eth1配置一個(gè)HTB隊(duì)列,使用下列命令:

        tc qdisc add dev eth1 root handle 1:htb

        其中,“add”示意要添加一個(gè)隊(duì)列,“dev eth1”示意要操作的網(wǎng)卡為eth1。”root”示意為網(wǎng)卡eth1添加的是一個(gè)根隊(duì)列?!癶andle 1:”示意該隊(duì)列的句柄為1:。“htb”示意該隊(duì)列為HTB隊(duì)列。

        2.2 在某一隊(duì)列上建立分類

        命令格式:tc class add dev DEV parent qdisc-id

        Classid class-id qdisc qdisc specific parameters

        例如為根隊(duì)列1創(chuàng)建1:10、1:20、1:30三個(gè)類別,它們分別占用55、35和10Mbit的帶寬。

        tc class add dev eth1 parent 1:classid 1:10 htb rate 55Mbit ceil 55Mbit

        tc class add dev eth1 parent 1:classid 1:20 htb rate 35Mbit ceil 35Mbit

        tc class add dev eth1 parent 1:classid 1:30 htb rate 10Mbit ceil 10Mbit

        其中“parent 1:”示意類別的父親為根隊(duì)列1:?!癱lassid 1:10”示意創(chuàng)建一個(gè)標(biāo)識(shí)為1:10的類別,“rate 55Mbit”示意系統(tǒng)將為該類別確保帶寬55Mbit,“ceil 55Mbit”示意該類別的最高可占用帶寬為55Mbit。

        2.3 為每一分類建立一個(gè)過(guò)濾器

        命令格式:tc filter add dev DEV protocol protocolname [parent qdisc-id|root] prio priority filtertype [filtertype specific parameters] flowid flow-id

        例如分別將WWW、E-mail、FTP三種流量分配到上述三個(gè)類別1:10、1:20、1:30中。創(chuàng)建三個(gè)過(guò)濾器的命令如下:

        tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:10

        tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 25 0xffff flowid 1:20

        tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 21 0xffff flowid 1:30

        其中,“protocol ip”示意該過(guò)濾器應(yīng)該檢查報(bào)文分組的協(xié)議字段?!皃rio 1”示意它們報(bào)文處理的優(yōu)先級(jí)是相同的,對(duì)于不同優(yōu)先級(jí)的過(guò)濾器,系統(tǒng)將按照從小到大的優(yōu)先級(jí)順序來(lái)執(zhí)行過(guò)濾器,對(duì)于相同的優(yōu)先級(jí),系統(tǒng)將按照命令的先后順序執(zhí)行。這幾個(gè)過(guò)濾器還用到了u32選擇器(命令中u32后面的部分)來(lái)匹配不同的數(shù)據(jù)流。以第一個(gè)命令為例,判斷的是dport字段,若該字段與0xffff進(jìn)行與操作的結(jié)果是80,則“flowid 1:10”表示將把該數(shù)據(jù)流分配給類別1:10。

        3 企業(yè)級(jí)流量控制的實(shí)例

        某中小型企業(yè)的出口(網(wǎng)卡eth1)有100Mbit/s的帶寬,分配給WWW、E-mail和FTP三種數(shù)據(jù)流量,其中的FTP獨(dú)立分配10Mbit/s的帶寬。另一方面,WWW分配55Mbit/s的帶寬,E-mail分配35Mbit/s的帶寬。同時(shí),它們又共享90Mbit/s的帶寬。

        圖 2 業(yè)務(wù)帶寬需求圖

        首先我們來(lái)了解HTB的特性:某一個(gè)類別中的所有子類別,均可共享該父類別所擁有的帶寬,而且每個(gè)子類別各自申請(qǐng)的帶寬能得到保證。當(dāng)某個(gè)數(shù)據(jù)流的實(shí)際使用帶寬小于配額時(shí),剩余的帶寬可以被其它的數(shù)據(jù)流借走。入股該數(shù)據(jù)流的數(shù)據(jù)量增大,則被借走的帶寬部分將收回,用來(lái)保證該數(shù)據(jù)流的帶寬配額。

        (1)在根隊(duì)列1中創(chuàng)建根類別1:5、根類別1:6,其中根類別1:5對(duì)應(yīng)FTP數(shù)據(jù)流,根類別1:6對(duì)應(yīng)90Mbit帶寬數(shù)據(jù)流。

        tc qdisc add dev eth1 root handle 1:htb default 21

        tc class add dev eth1 parent 1: classid 1:5 htb rate 10Mbit ceil 10Mbit

        tc class add dev eth1 parent 1: classid 1:6 htb rate 90Mbit ceil 90Mbit

        (2)在根類別1:6中,分別為WWW、E-mail數(shù)據(jù)流創(chuàng)建子類別1:61、子類別1:62。

        tc class add dev eth1 parent 1:6 classid 1:61 htb rate 55Mbit ceil 90Mbit

        tc class add dev eth1 parent 1:6 classid 1:62 htb rate 35Mbit ceil 90Mbit

        (3)分別為FTP、WWW、E-mail數(shù)據(jù)流創(chuàng)建過(guò)濾器。

        tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:61

        tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 25 0xffff flowid 1:62

        tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dport 21 0xffff flowid 1:5

        本實(shí)例中,類別1:6包含類別1:61和類別1:62兩個(gè)子類別,故子類別1:61和類別1:62可共享分配90Mbit的帶寬,且子類別1:61的帶寬至少55Mbit,子類別1:62的帶寬至少35Mbit。因此我們可以看出,要構(gòu)建更加復(fù)雜的多層次類別樹,實(shí)現(xiàn)更加靈活的帶寬,共享和獨(dú)占模式達(dá)到企業(yè)級(jí)的帶寬管理目的,利用HTB類別和子類的包含關(guān)系可以實(shí)現(xiàn)。

        4 結(jié)束語(yǔ)

        網(wǎng)絡(luò)流量管控問(wèn)題讓許多網(wǎng)絡(luò)管理者感到困擾, 如何根據(jù)實(shí)際業(yè)務(wù)制定靈活的網(wǎng)絡(luò)流量方案是當(dāng)今網(wǎng)絡(luò)管理者必須思考的課題。通過(guò)實(shí)踐證明通過(guò) Linux平臺(tái)下的流量控制模塊TC可以實(shí)現(xiàn)網(wǎng)絡(luò)流量的有效管控,提升用戶的網(wǎng)絡(luò)服務(wù)體驗(yàn)。

        [1]蔡文郁,金心宇,張昱.基于 Linux 的網(wǎng)絡(luò)流量控制機(jī)制[D].浙江:浙江大學(xué),2006.

        [2]郭正球.基于Linux下TC的網(wǎng)絡(luò)流量管理[D].湖南:長(zhǎng)沙航空職業(yè)技術(shù)學(xué)院,2010.

        [3]高旸,聶永鋒.一種基于Linux下TC的流量控制管理架構(gòu)[D].重慶:重慶郵電學(xué)院,2006.

        [4]周序生,陽(yáng)愛(ài)民,孫星明等.TC控制器在校園網(wǎng)絡(luò)帶寬管理中的應(yīng)用[D].湖南:株洲工學(xué)院,2004.

        猜你喜歡
        分類
        2021年本刊分類總目錄
        分類算一算
        垃圾分類的困惑你有嗎
        大眾健康(2021年6期)2021-06-08 19:30:06
        星星的分類
        我給資源分分類
        垃圾分類,你準(zhǔn)備好了嗎
        分類討論求坐標(biāo)
        數(shù)據(jù)分析中的分類討論
        按需分類
        教你一招:數(shù)的分類
        久久久噜噜噜久久| 青青草视频在线播放81| 色婷婷一区二区三区久久亚洲 | 国产日韩精品一区二区在线观看播放| 国产精品久久久看三级| 婷婷色婷婷开心五月四| 精品淑女少妇av久久免费| 99视频全部免费精品全部四虎| 日本高清中文字幕二区在线| 中国少妇久久一区二区三区| 99爱在线精品免费观看| 国产一级农村无码| aa视频在线观看播放免费| 久久av粉嫩一区二区| 三年中文在线观看免费大全| 亚洲成a人片在线| 日本无吗一区二区视频| 开心五月天第四色婷婷| 亚洲精品suv精品一区二区| 国产V日韩V亚洲欧美久久| 一区二区三区精品亚洲视频| 老熟女富婆激情刺激对白| 婷婷色中文字幕综合在线| 久久国产乱子精品免费女| 日本国产一区二区在线| 后入到高潮免费观看| 亚洲男人av香蕉爽爽爽爽| 久久精品国产亚洲av桥本有菜| 亚洲第一幕一区二区三区在线观看| 天天做天天爱天天综合网2021| 午夜三级网| 国产成人av一区二区三| 精品亚洲a∨无码一区二区三区| 在线亚洲人成电影网站色www| 午夜在线观看有码无码| 亚洲天堂一区二区偷拍| 一本一本久久aa综合精品| 在线观看网址你懂的| 亚洲一区二区三区在线高清中文| 亚洲av首页在线| 亚洲视频在线看|