999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于AP ESSID的智能流量控制方法

2012-06-25 07:02:44王德勁
電視技術 2012年7期
關鍵詞:分類

王德勁,杜 仲

(1.光纖通信技術和網絡國家重點試驗實,湖北 武漢 430074;2.武漢郵電科學研究院,湖北 武漢 430074)

無線局域網運用越來越廣泛,保證網絡的穩定性和網絡帶寬的有效利用十分重要。AP作為用戶通過無線網絡接入Internet的橋接器,透傳二層數據包。Ebtables是以太網橋防火墻,工作在數據鏈路層,可用來過濾數據鏈路層數據包。本文基于Linux操作系統,利用Ebtalbes二層打標功能,結合開源工具TC filter對數據包進行分類,再利用分類的隊列對數據包進行整形,構建了一個可以從數據鏈路層進行流量控制的系統。

1 Linux流量控制原理

Linux操作系統的TC(Traffic Control)工具用于Linux內核的流量控制,主要通過在輸出端口建立一個隊列來實現。一般只限制網卡發送的數據包,而不限制接收的數據包,即“控發不控收”。

Linux流量控制方式包括整形、調度、策略、丟棄和標記[1]。整形就是通過延遲隊列中的數據包的發送使其發送速率控制在一個固定的水平以下。而調度是對隊列中數據包的發送順序進行排列或重排。先入先出隊列(FIFO)是最常見的調度器。決策器能計算并限制某個特定隊列的流量,當網絡流量超過預設值時,決策器就開始采取某種預設的操作,從而將流量限制在某個范圍。決策器最直接的操作是丟棄數據包。標記是一種對數據包進行一些修改的操作。

流量的處理由3種對象控制,即排隊規則(qdisc)、類(class)和過濾器(filter)。隊列用來控制網絡的收發速度,通過隊列,Linux可以將網絡數據包緩存起來,然后根據用戶的設置,在盡量不中斷連接(如TCP)的前提下來平滑網絡流量。qdisc分為可分類的和不可分類的,可分類的qdisc包括CBQ(基于類的隊列)、分層的令牌桶(HTB)和基于優先級的隊列(PRIO),其中HTB是本系統所采用的排隊類型。類存在于可分類的qdisc之下,不同的類別中可以包含更深入的qdisc,即子類,通過這些細分的qdisc還可以為進入隊列的數據包進一步排隊。通過設置各種類別數據包的離隊次序,qdisc還可以為網絡數據流設置優先級。過濾器是Linux流量控制系統中最復雜的對象,它是連接各個流量控制核心組件的紐帶。過濾器最簡單和最常見的用法就是對數據包進行分類。

HTB是基于令牌、桶以及分層的思想。令牌就像通行證,數據包只有在擁有令牌的情況下才能出隊。系統以一定的速率產生令牌并填到桶中,直到桶滿為止。這種思想的優點在于,如果令牌產生的數量大于其被消耗的數量,令牌將會被積累起來,這樣不僅能保證在較長一段時間內網絡流量在限定值以下,又能處理大速率的突發數據傳輸[1]。分層是通過類實現的,類可以有子類。通過層次共享,當子類流量超過了某個值時,可以向其父類租借令牌,如果直接父類不能滿足,則繼續向上借用,直到子類借到需要的令牌或達到根節點為止[2]。HTB租借模型如圖1所示。

圖1 HTB租借模型

在HTB租借模型中,父節點下的兄弟節點確保速率必須得到保證,葉子節點或子分類必須向其父對象歸還借用的令牌,層層向上直到根分類。

2 Linux流量控制在AP中的實現

AP是無線局域網中的橋接器,在硬件平臺上,給它配置一塊ETH網卡和一塊WiFi網卡。AP通過ETH卡的eth0口與有線網相連。一塊WiFi卡可以創建多個虛AP(用athn表示,n可以是0到MAX_ATH之間的任一數值,MAX_ATH為能創建的最大虛AP個數),每個虛AP對應一個ESSID,用于被STA關聯。eth0和athn之間通過建立一個橋接器(這里用br0表示)橋接在一起。

只要給出合法的參數,流量控制系統就能對ESSID的上下行流量都進行有效的控制。上行流中,數據先進入athn,然后上橋br0,再由br0轉入有線口eth0發送出去。下行流則相反,數據先經過eth0,進入br0,然后再通過無線口athn發送出去。整個過程,數據都在二層傳輸,因此要對數據包進行過濾和標記,需要使用以太網防火墻工具Ebtables,流量控制工具TC才能根據標記對數據包進行整形。Linux內核2.6版以上都內置了 Ebtables和iproute2(iproute2包含了TC工具)。

2.1 Ebtables數據處理

Ebtables的配置包括表、鏈和規則。表是內置且固定的,共有filter,nat和broute這3種。filter用于對數據包進行過濾,nat用于地址轉換,broute決定數據包是在數據鏈路層轉發還是在網絡層轉發,默認是在數據鏈路層轉發。表包含鏈,broute有 BROUTING鏈;filter有 FORWARD,INPUT和 OUTPUT 鏈;nat有 PREROUTING,OUTPUT和POSTROUTING鏈[3]。一般對數據作標記是在filter的FORWARD進行。每條鏈中有一系列規則,每個規則定義了一些過濾選項。進入鏈中的數據包都會匹配這些項,一但匹配成功就會執行對應的操作,最常用的操作是ACCEPT和DROP,即接收匹配的數據包,丟棄不匹配的。

2.2 程序實現

流量控制功能以接口的方式實現,接口需要輸入“struct qos{char essid[128];int ratev;int ceilv;int priv;};”結構的一個數組和“int num”表示數組元素個數的兩個參數,num的最大值為MAX_ATH。對于一個essid,ratev為系統為其確保的帶寬,ceilv為其最高可占用帶寬,priv為其搶占帶寬的能力,priv數值越小搶占能力越強。

程序主要分為兩步,第一步將ESSID映射為athn,第二步對相應的網口實施整形操作。在上行流中,需要在athn口標記數據包,然后在eth0口對數據包進行整形。在下行流中則相反。由于上下行流量控制算法思想類似,這里只給出上行流量控制程序流程圖,如圖2所示。

圖2 上行流量控制程序流程圖

3 性能分析

為AP板燒寫Linux 2.6版內核和簡單流量控制測試程序。搭建的測試網絡需要一臺普通PC、兩臺筆記本計算機(STA1和STA2)和一個AP。在AP的ath0和ath1口分別建立ESSID:TC_TEST1,TC_TEST2。ath0,ath1 都通過br0 與eth0橋接在一起。STA1與TC_TEST1通過無線關聯(稱為pair1),STA2與TC_TEST2關聯(稱為pair2)。PC與AP的eth0口通過有線直接相連。為方便測試,在測試過程中將通過eth0的上行流量始終限制為800 bit/s。采用chariot作為網絡吞吐量測試工具,測試時間為1 min。

在未作任何其他流量限制前,上行吞吐量變化曲線如圖3所示。由圖可知,兩者的曲線除了在最開始的一小段時間內有點變化外,后面都重疊在一起且幾乎是平線。出現這種現象的原因是,eth0口的上行流量被限制在800 bit/s,且兩條流量的優先級是一樣的。

圖3 無流控下的上行吞吐量

在簡單測試程序中,給流量控制接口傳入參數“struct essid_qos[]={{TC_TEST1,200,600,1},{TC_TEST2,200,600,2}},num=2”。對流量進行限速后,吞吐量曲線出現了明顯的變化,如圖4所示。此時pair1的曲線要高于 pair2,chariot計算出 pair1的吞吐量平均值為0.387 Mbit/s,pair2 的為0.376 Mbit/s。造成這種差異性,是因為雖然系統給TC_TEST1和TC_TEST2分配的確保帶寬和最高可占用帶寬都一樣,但是給TC_TEST1設置的優先級要高于TC_TEST2,即TC_TEST1帶寬搶占能力更強。

圖4 限速后的上行吞吐量

從圖4可以看出,兩曲線的形狀具有互補性,即當兩線同時達到某個不高的峰時,它們會同時下降,且pair2下降得更快。這種現象以及上面給出的pair1和pair2的吞吐量平均值反映了帶寬的共享問題。在程序中,給TC_TEST1和TC_TEST2提供的確保帶寬都為200 bit/s,但實際上,它們的均值超過了這個數字,說明都向父類租借了一部分帶寬。而父類的總空閑帶寬是一定的,當它把這部分帶寬租借給了其中一個,就無法同時滿足另一個,出現了吞吐量曲線互補的現象。通過命令行可以查看帶寬的租借情況,圖5顯示的是TC_TEST1的帶寬租借情況。lended表示向外借出了多少數據包數,borrowed表示從外借入了多少數據包數。

C_TEST1帶寬租借情況(截圖)

4 小結

由實驗數據和分析可知,采用Linux流量控制工具Ebtables和TC能有效控制無線接入點中ESSID的上下行流量。在無線帶寬有限的前提下,不僅能夠防止ESSID用戶之間發生的帶寬爭奪,保證帶寬分配的公平性,還可以將用戶分成不同的類別等級,給特權用戶較多的帶寬,同時限制普通用戶的帶寬。也可以做到在某類用戶不使用帶寬時,將空閑的帶寬租借給其他用戶,這樣能夠達到充分利用有限資源的目的。

[1]MARTIN A.Brown traffic control howto[EB/OL].[2011-08-22].http://tldp.org/HOWTO/Traffic-Control-HOWTO/index.html.

[2]Manual:HTB.[EB/OL].[2011-08-22].http://wiki.mikrotik.com/wiki/Manual:HTB.

[3]Ebtables/iptables interaction on a Linux-based bridge[EB/OL].[2011-08-20].http://ebtables.sourceforge.net/br_fw_ia/br_fw_ia.html.

猜你喜歡
分類
2021年本刊分類總目錄
分類算一算
垃圾分類的困惑你有嗎
大眾健康(2021年6期)2021-06-08 19:30:06
星星的分類
我給資源分分類
垃圾分類,你準備好了嗎
學生天地(2019年32期)2019-08-25 08:55:22
分類討論求坐標
數據分析中的分類討論
按需分類
教你一招:數的分類
主站蜘蛛池模板: 91九色国产在线| 免费观看国产小粉嫩喷水| 成人精品在线观看| 欧美高清国产| 欧美在线免费| 色婷婷丁香| 欧美日本不卡| 久久综合色88| 国产剧情国内精品原创| 波多野结衣一区二区三区四区| AV网站中文| 伊人精品成人久久综合| 国产精品漂亮美女在线观看| 精品人妻AV区| 成人综合网址| 欧美性色综合网| 伊人国产无码高清视频| 婷婷99视频精品全部在线观看| 国产小视频网站| 114级毛片免费观看| 超级碰免费视频91| 国产美女人喷水在线观看| 中国一级毛片免费观看| 亚洲一区二区精品无码久久久| 在线色国产| 亚洲熟妇AV日韩熟妇在线| 视频一区视频二区日韩专区| A级全黄试看30分钟小视频| 色综合中文| 免费看av在线网站网址| 亚洲不卡网| 中文字幕永久在线看| 国产97视频在线| 国产99热| 日韩欧美视频第一区在线观看| 成人噜噜噜视频在线观看| 日本一区中文字幕最新在线| 波多野结衣在线一区二区| 中文纯内无码H| 91蜜芽尤物福利在线观看| 国产1区2区在线观看| 欧美一区精品| 中文字幕欧美日韩| 国产精品不卡永久免费| 国产www网站| 婷婷午夜影院| 久久亚洲综合伊人| а∨天堂一区中文字幕| 国产精品女人呻吟在线观看| 国产91导航| 无码国产偷倩在线播放老年人| 国产成人免费观看在线视频| 五月婷婷中文字幕| 中文字幕不卡免费高清视频| 青草91视频免费观看| 特级毛片8级毛片免费观看| 国产a在视频线精品视频下载| 日韩精品一区二区三区免费在线观看| 国产精品林美惠子在线观看| 暴力调教一区二区三区| 国产亚卅精品无码| 国产v欧美v日韩v综合精品| 呦视频在线一区二区三区| 免费A∨中文乱码专区| 99热这里只有精品5| 日韩a级毛片| 99爱在线| 老司机午夜精品网站在线观看| 最新日本中文字幕| 亚洲国产成人超福利久久精品| 无码乱人伦一区二区亚洲一| 国产无码在线调教| 国产一区二区三区在线观看免费| 久久免费视频6| 大陆精大陆国产国语精品1024| 欧洲av毛片| 黑色丝袜高跟国产在线91| 在线看片中文字幕| 久久精品无码国产一区二区三区| 日韩国产精品无码一区二区三区| 久久久久久国产精品mv| 亚洲国产日韩欧美在线|