發布日期:2022-07-15 點擊率:27
在核心和邊緣網絡中,服務水平協議(SLA)通過提供差異性服務,創造了獲取收入的新方式。為了實現有差別的服務,網絡需要復雜的流量管理機制,而這只能由軟/硬件的混合型方案來實現。
作為一套規范,服務質量(QoS)允許電信服務提供商、商業企業和個人電信用戶接受可預期的服務等級,而衡量服務等級的標準包括帶寬(吞吐量)、延時(等待時間)和延時變化(抖動)等。流量管理是QoS的一個關鍵組成部分,而且也是衡量通信網絡設備效率的一個關鍵因素。
但是,并不是所有類型的通信流都要求相同的QoS。語音流不需要很高的帶寬,對數據包的隨機丟失也不敏感,但它對延時和抖動非常敏感。另一方面,基于文件傳輸協議(FTP)的通信流需要很高的帶寬,對隨機包丟失非常敏感,不過對延時和抖動就沒那么敏感。為了獲得最高的網絡效率,數據包應該先被分成幾類,然后組合到不同的通信流中,再根據SLA協議按照有差別的服務類型進行傳送。
SLA提供了為數據類或通信流指定處理策略的機制。例如,服務提供商可以提供三種級別的服務:“白金”服務、“黃金”服務和“白銀”服務。“白金”服務提供有保證的帶寬和延時。“黃金”服務保證送達,而“白銀”等級只提供盡力而為的服務,不保證帶寬。一旦網絡發生擁塞,服務等級為“白銀”的包會被丟棄,而“白金”數據包享有最高優先級的服務。要實現這樣的SLA,網絡需要高效的流量管理功能,例如隊列調度技術和鏈路分段交錯機制,而且所有這些都必須在線速度下執行。
此外,盡管大多數市場在流量管理上具有共同的需求,但邊緣網絡具有其自己獨特的需求。例如,由于配線柜對空間大小有限制,所以邊緣網絡對設備的尺寸和功耗有嚴格的約束條件。
這迫使網絡處理器供應商把更多的流量管理功能與傳統的網絡處理功能(如數據分類)集成在一起。
在網絡處理器中集成流量管理功能還具有降低系統總成本的優勢,因為這樣做減小了板面積和功耗。低功耗意味著低散熱,從而降低了冷卻成本,并增強了系統可靠性。這允許邊緣網絡的交換機/路由器在不犧牲性能的前提下降低成本。
在通信處理器上實現流量管理功能的方法基本有三種:純軟件、純硬件和混合解決方案。這三種方案在性能(速度)、易編程性、可擴展性和成本等方面各有優劣。
在純軟件方案中,所有的算法均由軟件實現。處理器提供一些基礎的操作,例如鎖定/解鎖和互斥(mutexe)等。采用這種方法,網絡設備的系統設計者必須用軟件實現算法以及所有相關的資源模塊,如隊列和表格。盡管這類架構似乎具有很高的靈活性,但事實上完全用軟件實現的隊列處理機制只適用于最低速的路由器,因為它們的低通信量不會對軟件的執行速度造成壓力。
因為流量管理涉及到同時檢查上千個隊列的狀態及它們的相關參數,所以它只能由硬件來有效實現。當用軟件方法連續檢查上千個單獨的隊列時,這會導致低劣的性能和復雜的編程,甚至使提供的QoS等級出錯。
另一種極端情況是,純硬件方案完全由硬件來實現隊列算法。通常,這類解決方案是可配置的,但不具有可編程性。雖然純硬件方案適合于一定范圍的應用,但它不適用于同時涉及IP和ATM的多服務網絡。在大型IP網絡中,服務提供商經常改變隊列調度規則,以區別于競爭對手,他們還通過創造性地分配和管理帶寬來尋找獲取收入的新途徑。
軟硬件混合解決方案
混合解決方案不僅具備軟件方案的可編程性,而且還保持了ASIC解決方案的速度優勢,因為它用硬件實現了某些特定模塊。在這種類型的架構中,關鍵的功能模塊是由硬件實現的。輔助流量管理的硬件元件包括:一個用于ATM分段和重組的16位或32位CRC單元、一個支持差異性服務計量、監察(policing)和速率整形功能的定時器、一個用于QoS塊監察和阻塞管理的運算單元以及若干調度器、隊列管理器和實現整形算法的分級端口管理器。
到達輸入接口的數據包首先被分類成不同的通信流。分類的標準可以是協議類型、源地址、源和目的端口或者組織類型。屬于同一通信流的所有數據包接受相同的流量處理方式。隊列邏輯由管理鏈路表、頭指針和尾指針等隊列資源模塊的硬件元件來實現。
在這樣的混合架構中,阻塞管理功能由緩沖管理器來實現,它與隊列邏輯合作以決定接收或丟棄某一數據包。RED或WRED等包丟棄算法可以由軟件實現,這些軟件在緩沖管理器的計算引擎上運行,并產生一個結果,用以指示應該讓數據包進入隊列還是丟棄它。
在這類配置中,調度引擎用來實現協助隊列調度的硬件元件。大型多服務邊緣和核心網絡要求交換機/路由器供應商提供各種隊列調度方法的組合,以允許它們在阻塞期間準確地仲裁輸出帶寬。調度架構應該在性能、靈活性和易編程性之間尋求正確的平衡。
為了創建既允許靈活的帶寬管理,同時仍能滿足性能需求的調度器引擎,一種可能的選擇是為其架構設計一種分級的調度機制。在這種方案中,大型管道被連續地細分成若干較小的管道,每個小型管道具有其自己的調度策略。這允許路由器設計者實現流量級的調度控制,并實現多種隊列調度功能的組合。
在這種方案中,路由器設計者能用硬件實現一個調度決策樹,同時允許用軟件實現有關如何處理樹的下一級分支的策略。在多層分級調度樹的每一個狀態,都有面向下一個狀態的多對一映射。例如,多個隊列與一個調度器相關,多個邏輯端口與一個端口管理器相關等。選擇過程將在一個預定用于發送數據包的輸出接口開始啟動。然后,調度策略將為所選的輸出端口選擇一個端口管理器。因為多個邏輯端口可以映射到一個端口管理器,所以系統要用調度策略來選擇由哪個邏輯端口發送數據包。這個過程將一直持續到選定一個用于發送的隊列為止。
最佳效率
這種混合方案的一個優點是能實現不同隊列調度策略的組合,以達到最佳的帶寬效率。例如,速率可控的PRR方案能夠與DWRR方案組合在一起,以確保高優先級隊列在低優先級隊列之前得到服務,只要高優先級隊列沒有超過為它們分配的帶寬。
設計混合流量管理系統時需要考慮的一個關鍵問題是編程模型的架構。編程模型必須確保路由器設計者得到正確的工具,同時保持易編程性。編程模型架構包括兩個方面的問題:一是為線速度路徑編程的語言問題,二是控制平面的編程接口問題。
為減小給線速度路徑編程的軟件復雜度,大多數網絡處理器供應商支持高級編程語言。另一種選擇是微代碼指令。采用高級語言,如經過優化的C,能夠更好地表達問題,而且易于維護代碼。設計此類語言的目的是將硬件的實現抽象化,這意味著盡可能隱藏硬件的細節,同時保持可編程性。之所以要隱藏硬件的細節,是因為當新一代的硬件問世時,這可以把應用軟件的移植工作降至最少。
動態服務供應還意味著流量管理解決方案應該能夠由控制平面軟件通過編程來配置。例如,當創造出新的服務種類時,網絡需要在運行過程中創建新的通信流。定義的應用編程接口(API)必須允許創建隊列或調度器等功能結構,同時還能從控制平面軟件中抽象出網絡處理器的硬件架構。當硬件隨時間而不斷發展時,這允許交換機/路由器供應商保留他們的軟件投資。
作者:Vinoj Kumar
產品架構師
杰爾系統公司