三層交換機之令牌桶和漏桶


令牌桶算法和漏桶算法是網絡流量整形(Traffic Shaping)和速率限制(Rate Limiting)中最常使用的兩種算法。

令牌桶(Token Bucket)工作原理

令牌桶的工作原理是,系統以一定的速率(CIR)往令牌桶中放入令牌,當桶中的令牌數達到令牌桶容量(CBS)時,則后續放入的令牌被丟棄。當系統持續收到報文分組時,每個報文分組需要向令牌桶請求一個或者多個(根據報文長度決定)令牌,只有獲取到足夠的令牌(如果該分組報文需要3個令牌,而令牌桶中只剩余2個令牌,則條件不滿足,獲取令牌失敗),該報文才能進入QoS隊列轉發,此時,令牌桶中的令牌總數會隨之減少。

令牌桶區別於漏桶的地方在於,它在限制平均傳輸速率的同時,還允許一定程度的突發流量,而漏桶則強行限制傳輸速率。

令牌桶分為單速率三色桶(srTCM)和雙速率三色桶(trTCM)兩種,目前的主流是trTCM。

令牌桶在色盲模式和色敏模式下的表現有細微的差異。

令牌桶本身只存儲令牌,不存儲報文分組,它只是為報文分組染色,不直接執行報文丟棄動作,QoS根據染色的結果來進行報文轉發或者丟棄。

漏桶(Leaky Bucket)工作原理

 

漏桶的工作原理是,當系統持續收到分組報文時,報文首先都被放入漏桶中,漏桶以固定的速率輸出報文,如果系統收到的流量存在突發,超過漏桶深度,則直接溢出。

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

應用場景

令牌桶:

  • Storm Control 風暴控制(又稱為包抑制)
  • Traffic Policing 流量監管,進行入端口流量限速

漏桶:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM