本地區域網路設計/IEEE 802 區域網中的服務質量
在流量轉發中,當有限的資源導致提供的流量超過網路的處理能力,進而導致擁塞時,服務質量就變得至關重要。
通常,區域網是過度配置的,因為擴充套件網路比實施服務質量要便宜得多。在最壞的情況下,通道佔用率僅為可用頻寬的 30%-40% 。因此,由於沒有擁塞,似乎不需要服務質量。
在某些可能的情況下可能會出現問題
- 骨幹網沒有很好地配置: 在骨幹網中具有緩衝區過小的網橋可能會導致微型擁塞在上行鏈路上出現,這些擁塞不是持續的,而是由於客戶端流量的極端突發性而變得頻繁且短暫(微型);
- 從多個客戶端向單個伺服器傳輸資料: 作為單個接入點到伺服器的網橋,其緩衝區過小,可能會導致持續的擁塞,因為多個客戶端同時訪問;
- 從快速伺服器向慢速客戶端傳輸資料: 慢速客戶端(在鏈路速度、CPU 能力等方面)可能會導致臨時擁塞在客戶端本身出現,因為它無法處理來自快速伺服器的流量。
服務質量是一個潛在的良好功能,但也有禁忌,使其必要性並不那麼強:服務質量只是解決網路效率問題的眾多問題之一,而且它帶來的改進往往不被終端使用者感知。
IEEE 802.1p 標準定義了 8 個服務等級,稱為優先順序等級,每個等級都被分配到不同的(邏輯)佇列。
幀可以在 VLAN 標籤的“優先順序程式碼點”(PCP)欄位中標記特定服務等級:
虛擬區域網#幀標記。[1] 該標準還提供了選擇所需優先順序排程演算法的能力:迴圈輪詢、加權迴圈輪詢、加權公平佇列。
最好讓源在應用層進行標記,因為只有源確切地知道流量型別(語音流量或資料流量),但大多數使用者會將所有資料包宣告為高優先順序,因為他們不會誠實。因此,標記需要由受提供商控制的接入網橋執行。然而,對於網橋來說,識別流量型別非常困難,這使得網橋變得非常昂貴,因為它需要上升到應用層,並且可能無法處理加密流量。因此,可以從兩個方面簡化網橋的區分
- 按埠標記: PC 連線到一個埠,電話連線到另一個埠,因此網橋可以根據輸入埠標記流量;
- 邊緣裝置標記: PC 連線到電話,電話連線到網橋。所有來自 PC 的流量都經過電話,電話將流量標記為資料流量,而它將自己的流量標記為語音流量。
該標準建議每個優先順序級別應該分配給哪種型別的流量(例如,6 = 語音流量),但允許更改這些關聯。這可能導致不同供應商之間出現互操作性問題。
802.3x 標準在乙太網層實現了流量控制,除了 TCP 層現有的流量控制之外:對於給定的鏈路,如果下游節點(網橋或主機)的緩衝區已滿,它可以向鏈路另一端的上游節點發送暫停資料包,要求其停止該鏈路上的資料傳輸一段時間,稱為暫停時間,以“暫停量”表示(1 量 = 傳輸 512 位所需的時間)。因此,上游節點會將暫停時間內到達的資料包儲存到其輸出緩衝區中,並在下游節點的輸入緩衝區準備好接收其他資料包時傳送它們。這樣,資料包不再因緩衝區擁塞而丟失。
存在兩種流量控制模式
- 非對稱模式: 只有一個節點發送暫停資料包,另一個節點只接收資料包並停止傳輸;
- 對稱模式: 鏈路兩端的節點都可以傳送和接收暫停資料包。
每個節點都可以配置流量控制模式,但自動協商階段必須確定實際配置,以確保在鏈路兩端的節點上選擇的模式一致。

在骨幹網中傳送暫停資料包可能出現問題:具有已滿緩衝區的網橋只能停止與之直接連線的鏈路上的流量,但如果上游路徑中的中間網橋由於緩衝區更大而沒有感覺有必要傳送暫停資料包,則它無法“停止”傳送過多資料包的主機。直到接入網橋反過來向相關主機發送暫停資料包,網路才會對所有其他不負責此問題的主機出現阻塞。因此,由非接入網橋傳送的暫停資料包沒有能力選擇要降低速度的超額流量以減慢相關主機,但它們會影響來自所有主機的資訊。
這就是建議在骨幹網中停用流量控制,僅在接入網橋和主機之間使用暫停資料包的原因。通常選擇非對稱流量控制模式,其中只有主機可以傳送暫停資料包:通常,接入網橋的緩衝區足夠大,許多商用網橋接受來自主機的暫停資料包,阻止相關埠上的資料傳輸,但它們不能傳送資料包。
但是,傳送暫停資料包對主機也可能存在問題,因為它可能在作業系統的核心中觸發死鎖:慢速主機的 CPU 忙於處理來自 NIC 介面的資料包,以至於無法找到時間傳送暫停資料包。因此,資料包會在 RAM 中累積,導致 RAM 飽和。
- ↑ 存在兩個用於服務質量的標記欄位,一個在資料鏈路層,另一個在網路層:
- “優先順序程式碼點”(PCP)欄位,由 IEEE 802.1p 標準使用,位於乙太網幀的報頭中;
- “區分服務程式碼點”(DSCP),由區分服務(DiffServ)架構使用,位於 IP 資料包的報頭中,特別是 IPv4 報頭的“服務型別”欄位和 IPv6 報頭的“優先順序”欄位中。