流量×××---令牌桶和漏桶算法

 流量×××

流量×××(traffic shaping)典型作用是限制流出某一網絡的某一連接的流量與突發,使這類報文以比較均勻的速度向外發送。流量×××通常使用緩衝區和令牌桶來完成,當報文的發送速度過快時,首先在緩衝區進行緩存,在令牌桶的控制下再均勻地發送這些被緩衝的文。

流量×××的核心算法有以下兩種,具體採用的技術爲GTS(Generic Traffic Shaping),通用流量×××:

漏桶算法(Leaky Bucket)

漏桶算法是網絡世界中流量×××(Traffic Shaping)或速率限制(Rate Limiting)時經常使用的一種算法,它的主要目的是控制數據注入到網絡的速率,平滑網絡上的突發流量。漏桶算法提供了一種機制,通過它,突發流量可以被×××以便爲網絡提供一個穩定的流量。

令牌桶算法(Token Bucket)

有時人們將漏桶算法與令牌桶算法錯誤地混淆在一起。而實際上,這兩種算法具有截然不同的特性並且爲截然不同的目的而使用。它們之間最主要的差別在於:漏桶算法能夠強行限制數據的傳輸速率,而令牌桶算法能夠在限制數據的平均傳輸速率的同時還允許某種程度的突發傳輸。

在某些情況下,漏桶算法不能夠有效地使用網絡資源。因爲漏桶的漏出速率是固定的參數,所以即使網絡中不存在資源衝突(沒有發生擁塞),漏桶算法也不能使某一個單獨的流突發到端口速率。因此,漏桶算法對於存在突發特性的流量來說缺乏效率。而令牌桶算法則能夠滿足這些具有突發特性的流量。通常,漏桶算法與令牌桶算法可以結合起來爲網絡流量提供更大的控制。

GTS

GTS可以對不規則或不符合預定流量特性的流量進行×××,使得網絡上下游之間的帶寬匹配。GTS與CAR一樣均採用了令牌桶技術來控制流量,但主要區別在於:利用CAR進行報文流量控制時對不符合流量特性的報文進行丟棄,而GTS對於不符合流量特性的報文則是進行緩衝減少了報文的丟棄,同時滿足報文的流量特性。

GTS可以對接口上指定的報文流或所有報文進行×××當報文到來的時候,首先對報文進行分類如果報文不需要進行GTS處理,就繼續發送不經過令牌桶的處理;如果報文需要進行 GTS處理,則與令牌桶中的令牌進行比較。

令牌桶按用戶設定的速度向桶中放置令牌,如果令牌桶中有足夠的令牌可以用來發送報文,則報文直接被繼續發送下去,同時令牌桶中的令牌量按報文的長度做相應的減少,當令牌桶中的令牌少到報文不能再發送時,報文將被緩存入GTS隊列中。

當GTS隊列中有報文的時候,GTS按一定的週期從隊列中取出報文進行發送。 每次發送都會與令牌桶中的令牌數作比較。直到令牌桶中的令牌數減少到隊列中的報文不能 再發送或是隊列中的報文全部發送完畢爲止。

幀中繼流量×××(FRTS)

在以下4種情況下使用FRTS:1中心高速,分支低速的時候。2單條物理線路承載到不同目的地的衆多VC。3若FR發生了擁塞,想讓路由器將數據流攔住(Throttle)。4需要在同一條FR的VC上傳輸多種協議(IP、SNA)的數據流,並希望每種數據流都能佔到一定BW。

FR中的FECN和BECN用於暗示網絡上發生了擁塞,當收到帶有BECN標記的數據包時,FR 流量×××(FRTS)將動態的對流量進行×××。注意:FRTS只能使用在FR的PVC和SVC上。其中有一種自適應的FRTS,在每個Tc間隔內,進程將檢查是否從幀中繼網絡中收到BECN,如果在一個Tc間隔收到BECN,那麼傳送速率降低25%直到降到CIR的一半爲止。當且僅當16個Tc內沒收到BECN,通訊速率恢復到CIR。

FRTS配置步驟

1)建立一個MAP-CLASS,名字區分大小寫。

2)定義流量×××的方法,比如設置平均速率和最高速率。

3)在接口上封裝FRAME-RELAY。

4)在端口上應用MAP-CLASS 5,開啓流量×××,一般用於源端接口。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章