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

多令牌桶流量控制排隊算法的設計與實現

2010-07-27 06:40:04任春云沙啟鑫尚傳進劉玉海
中國新技術新產品 2010年1期

任春云 沙啟鑫 尚傳進 劉玉海

(1、中國海洋大學信息科學與工程學院,山東 青島 266100 2、阿爾卡特-朗訊青島研發中心,山東 青島 266100)

1 引言

隨著網絡應用的日益廣泛和一些新的網絡技術的出現,網絡流量控制和帶寬管理成了一個亟待解決的問題[1][2]。Linux的TC模塊提供了強大的流量控制功能[3][4],其中TBF就是一種很精確的流量控制方式,它對網絡和處理器的影響都很小[5]。但是tbf與其他流量控制算法一樣,要對連續網段內的每個IP分配固定帶寬,必須使用多條規則,否則就會共享帶寬。

2 tbf算法的工作原理

令牌桶過濾器(TBF)[4]是一個簡單的隊列規則:它只允許以不超過事先設定的速率到來的數據包通過,但可能允許短暫突發流量朝過設定值。它很精確,對于網絡和處理器的影響都很小。圖1揭示了令牌桶的基本原理

圖1 tbf原理示意圖

令牌桶的控制機制是基于令牌桶中是否存在令牌來指示什么時候可以發送流量。令牌桶中的每一個令牌都代表一個字節。如果令牌桶中存在足夠的令牌,則允許發送流量;而如果令牌桶中不存在足夠的令牌,則不允許發送流量,直到等到有足夠令牌。在linux中令牌桶過濾器是上述機制的一個擴展(一個雙重令牌桶)兩個個令牌桶背靠靠背設置,一個用來保證平均速率,另一個用來設置峰值速率。

3 etbf的工作原理

為了實現在局域網中對每臺機器平分帶寬,我們可以在一個class下建立多個速率相同的tbf隊列,但是這明顯存在兩個問題:a.每一個class下建多個隊列,隨著隊列數的增加系統系能會急劇下降,b.過多的隊列導致書寫的困難。為了解決這個問題,我們根據tbf的令牌桶原理發展了etbf,一個etbf隊列規則就可以為一個IP網段分配相同的帶寬。在etbf中我們根據IP地址的數目來確定令牌桶的個數,每個令牌桶對應一個令牌桶隊列來存儲數據報。當一個數據報到達時,根據源地址或者目的地址將此數據報放入對應的令牌桶隊列的末尾,如果沒有相匹配的則放入到默認序列中。下面將從etbf數據結構、數據報的出對入隊等方面介紹。

3.1 etbf的數據結構

我們把內核中tbf_sched_data數據結構擴展為 etbf_sched_data,etbf_sched_data 相對于tbf_sched_data增加五個變量

saddr,eaddr分別表示要控制的網段的開始和結束IP地址,flattr表示開始結束地址是源IP還是目的IP,subQueueList是一個鏈表,它的大小為subQueueListSize(等于eaddr減去saddr),鏈表中的每一個元素都是一令牌桶隊列結構

其中tokens,ptokens表示對應序列中的普通令牌桶和峰值令牌桶,subQueue用來存儲數據報。當一個數據報到達時根據IP分配到相應隊列結構體中subQueue成員末尾。

3.2 入隊處理

etbf_enqueue()函數進行入隊處理。首先,提取數據報中IP地址,若此IP地址在(saddreaddr)范圍內,根據IP將此數據報分配到sub-QueueList鏈表中相應的令牌桶對列中,如下所示:skb_queue_tail(&q->subQueueList[subQidx].subQueue,skb);如果不在,那么則將此數據報放入默認隊列中,默認隊列處理過程與tbf的處理過程相同

3.3 重入隊處理

etbf_requeue()函數將先前移除的報文放回到隊列中,處理的過程同入隊處理,所不同的是入隊是將數據報放在隊尾,而重入對是放到對頭,如下所示:skb_queue_head(&q->sub-QueueList[subQidx].subQueue,skb);

3.4 出隊處理

出隊函數etbf_dequeue(),是完成流量整形的關鍵所在。具體步驟如下:

①決定出隊序列,并執行出隊列操作以獲取數據報skb,并檢測skb的有效性。

若skb有效則執行下一步,否則繼續執行這一步,直到找到有數據報的令牌桶序列。如果所有隊列已經被遍歷,那么執行默認隊列出隊處理。

②若skb有效,則根據當前隊列的prokens和tokens及已用時間計算令牌的數量,若是有足夠令牌返回,否則再重入對。

3.5 etbf shell腳本書寫

etbf書寫格式如下:

4 實驗結果

我們選擇實驗環境如下一共十臺機器,一臺作為ftp服務器,一臺運行etbf流量控制程序(eth0上傳,eth1下載),其他八臺作為ftp客戶端下載(192.168.3.3-192.168.3.11)。

Linux為紅旗6.0,內核為2.6.24.4。運行于網關狀態下。

控制下行流量腳本如下

其中一個ip的控制效果圖2,其他ip的效果圖類似:

圖2 etbf下行效果控制圖

由圖可見,開始時沒有實施帶寬管理策略,ftp下載占用了大量的帶寬,且帶寬波動較大。在實施帶寬管理策略后,ftp服務占用的帶寬迅速降低,最終每一個IP占用的帶寬分別維持在351.6KB/s,(策略所實施的帶寬分別為3000kbps),且幾乎沒有波動。然后在撤銷了帶寬管理策略后,又恢復至原來狀態。實驗結果表明本文的etbf算法可以有效地限制每一個ip的帶寬,并且不存在帶寬共享問題,效果較好。

[2]陳蓓,蔡淮.基于Linux系統的IP服務質量(QoS)管理[J].計算機應用,2003,23,17~19.

[3]Bert Hubert.Linux Advanced Routing&Traffic Control HOWTO [DB/OL].http://lartc.org/ HOWTO/ cvs/ 2. 4routing/output/2.4routing.html,2002205201.

[4]Klaus Wehrle[等]2006 Linux網絡體系結構:Linux內核中網絡協議的設計與實現清華大學出版社,2006

主站蜘蛛池模板: 97综合久久| 国产成人亚洲精品无码电影| 国产激情在线视频| 好吊色国产欧美日韩免费观看| 国产69精品久久| 国产福利一区在线| 全部无卡免费的毛片在线看| 亚洲福利片无码最新在线播放| 亚洲三级a| 亚洲丝袜中文字幕| 免费看a级毛片| 日韩福利视频导航| 国产精品久久久久久久伊一| 99re视频在线| 国产高颜值露脸在线观看| 制服丝袜一区| 欧美日韩中文国产va另类| 亚洲日韩国产精品无码专区| 国产9191精品免费观看| 婷婷激情亚洲| 亚洲丝袜第一页| 国产精品亚洲专区一区| 成人午夜天| 亚洲精品va| 国内精品小视频在线| 一级毛片免费不卡在线| 国产特一级毛片| 国产精品无码作爱| 欧美日韩高清| 日韩a级片视频| 91黄色在线观看| 亚洲综合精品香蕉久久网| 天天做天天爱天天爽综合区| 久久99国产综合精品1| 免费国产黄线在线观看| 区国产精品搜索视频| 少妇露出福利视频| 国产福利2021最新在线观看| 国产黑人在线| 欧美日韩亚洲综合在线观看| 欧美日韩国产精品va| 亚洲无码37.| 天天躁夜夜躁狠狠躁图片| 国产美女在线观看| 欧美中文一区| 欧美a在线看| 综合五月天网| 岛国精品一区免费视频在线观看 | 欧美福利在线| 久99久热只有精品国产15| 婷婷六月综合| 欧美激情福利| 91九色视频网| 五月丁香在线视频| 精品欧美视频| 伊伊人成亚洲综合人网7777| 三区在线视频| 欧美丝袜高跟鞋一区二区| 色欲不卡无码一区二区| 国产激情影院| 午夜综合网| 中文字幕天无码久久精品视频免费| 国产91丝袜在线播放动漫 | 日韩亚洲综合在线| 成人看片欧美一区二区| 亚洲无线国产观看| 成人精品视频一区二区在线| 国产精品久久久久久久久| 无码人中文字幕| 欧美亚洲另类在线观看| 亚洲色图在线观看| 一个色综合久久| 亚洲综合色区在线播放2019| 日本一本正道综合久久dvd| 亚洲成av人无码综合在线观看| 香蕉网久久| 日日拍夜夜嗷嗷叫国产| 欧美午夜理伦三级在线观看| 久久久受www免费人成| 成年看免费观看视频拍拍| 欧美日一级片| 日韩国产综合精选|