Tail-Drop

Tail-Drop:尾部丟棄,佇列填滿後丟棄後續的分組。

基本介紹

  • 外文名:Tail-Drop
  • 釋義:丟棄後續的分組
  • 相關:FIFO 
  • 特點:優先權排隊
相關信息,作用原理,

相關信息

在介紹Drop Tail之前,我們先介紹兩種傳統的包的調度策略-決定包的傳送順序。
FIFO (First In First Out,先進先出)是一種經典的包調度策略,它的最大優點在於實施起來簡單。FIFO又叫“先到先服務”(FCFS),即第一個到達路由器數據包首先被 傳輸。FIFO的問題在於在排隊的時候沒有考慮包的重要程度,對FIFO排隊的一個簡單改進是優先權排隊。基本思想是給每個數據包分配一個優先權標誌。這 個優先權標誌可以放在IP數據包內。路由器則執行多個FIFO排隊。一個佇列對應一個優先權。路由器在排隊的時候總是給優先權高的佇列先排隊。在同一優先 級佇列中,數據包仍按FIFO排隊。
公平排隊算法(Fair Queue FQ)是FIFO的一種改進。FIFO排隊的主要問題是無法區分不同的數據流。由於整個TCP擁塞控制是在源端執行,而FIFO排隊不提供約束所有數據 源遵守擁塞控制的機制,這就有可能讓行為不良的數據流強占大量頻寬。在Internet環境中,某個套用不使用TCP協定是完全可能的。結果,它可以繞開 端到端的擁塞控制機制,向路由器任意傳送自己的數據包,從而引起其它套用的包被丟棄。FQ算法則解決了這個問題。在FQ算法中,路由器對每個輸出線路有一 個排隊佇列。路由器按“輪詢”方式處理包。當一條線路閒時,路由器就來回掃描所有佇列,依次將每隊每一個包發出。當某個流的數據包到達過快時,其佇列就會 很快占滿,屬於這個流的新到的數據包就會被丟棄。採用這種方式,每個數據流就不可能犧牲其它數據流而多占資源。另外,FQ算法並沒有告知源端路由器狀態的 機制,也就是說,FQ仍然要依賴於端到端的擁塞控制機制。它只是將數據流分隔,使不遵守擁塞控制機制的數據流不至於影響其它流。所以它在沒有犧牲統計復用 的情況下提供了公平性,與端到端的擁塞控制機制也可以較好地協同。

作用原理

傳統的佇列長度管理機制是“去尾”( Drop Tail )。它有點類似於FIFO(先入先出)的存儲方式。Drop Tail最大的優點是原理簡單。當路由器佇列長度達到最大值時,通過丟包來指示擁塞,先到達路由器的分組首先被傳輸。由於路由器快取有限,如果包到達時緩 存已滿,那么路由器就丟棄該分組。一旦發生丟包,傳送端立即被告知網路擁塞,從而調整傳送速率。這種做法不考慮被丟棄包的重要程度。
Drop Tail仍是目前Internet使用最為廣泛的分組排隊、丟棄的方式。這種方式將擁塞控制的責任都推給網路邊緣。所以TCP假定網路中的路由器對擁塞控制不起任何作用,而獨自承擔檢測和回響擁塞的全部責任。
基於Drop Tail的一種改進算法是優先權排隊。它的基本思路是將每個分組分配一個優先權標誌。路由器則執行多個佇列排隊。一個佇列對應一個優先權。路由器總是優先傳輸非空的最高優先權佇列。在同一優先權佇列中,分組仍按Drop Tail方式管理。
優先權排隊的主要問題是最高優先權佇列能“搶占”其它所有的佇列。只要高優先權佇列非空,低優先權佇列就得不到服務。所以,不能允許用戶不受控地指定高優 先級。同時,Drop Tail無法“識別”面向連線TCP流,所以對它們的公平性較差,對上層TCP快速恢復的效率也很低。
除了這些,它在具體實施過程中也存在著很多其它的弊端。如;若緩衝器很長,則每個分組所經歷的延遲就會增大:而若緩衝器很短的話,又不能夠適應突發性數據流;另外,全局同步的發生又將直接導致吞吐率的減小,等等。所有這些都可能引起網路崩潰。

相關詞條

熱門詞條

聯絡我們