田 鵬
(吉林建筑大學網絡信息中心,長春 130118)
計算機網絡中的數據包是經過多個網絡節(jié)點的交換設備和路由設備實現(xiàn)交換和傳輸.對于各網絡節(jié)點,當數據包的轉入速率大于該節(jié)點數據包的轉出速率時,在該節(jié)點處就會產生擁塞.當數據包轉入節(jié)點時,首先進入緩存空間排隊,如果存儲空間不足以保存這些數據包,其中的一部分就會丟失.當發(fā)送該數據包的數據源設備發(fā)現(xiàn)數據包傳輸超時,就會重傳此數據包,導致更多的數據包進入緩存排隊和丟失,數據包的重復率也隨之大幅增加[1].造成擁塞的因素很多:①當數據包流從高速鏈路進入路由器,由低速鏈路傳送出去時,就可能產生擁塞;②大量數據包同時從多個接口進入路由器而由一個接口轉發(fā)出去時,就可能產生擁塞;③處理器速度過慢,數據包轉發(fā)速率低下也可能會產生擁塞.總之,轉入數據多而轉出數據少,就會產生網絡擁塞,造成局域網絡的癱瘓.
當大量數據包發(fā)送至網絡節(jié)點單元時,首先進入存儲空間排隊,如果沒有足夠的存儲空間來緩存報文,有些報文就會丟失.報文的丟失又可能導致發(fā)送該報文的主機或路由器因超時而重傳,再度擁塞、再度重傳,嚴重時甚至會產生網絡擁塞崩潰,整個局域網絡陷入癱瘓.所以需要采用一些控制策略對網絡擁塞進行管理.當擁塞發(fā)生時,節(jié)點交換設備(路由器、交換機等)采取一定策略對數據包進行調度,決定哪些數據包可優(yōu)先發(fā)送、哪些數據包可以丟棄,這些策略就稱為擁塞管理策略.策略一般分為4種:先入先出隊列FIFO;優(yōu)先權隊列方式PQ;定制隊列CQ和加權公平隊列WFQ.這4種擁塞管理策略能在一定程度上滿足不同業(yè)務對不同服務質量的需求.
先入先出隊列FIFO(First-In,F(xiàn)irst-Out Queueing),數據包的發(fā)送順序依賴于其到達的時間.使用FIFO時,數據包從接口的發(fā)送順序依賴于數據包抵達這個接口的順序,此時報文的入隊順序和報文的出隊順序相同.FIFO提供了基本的存儲轉發(fā)能力,但這種轉發(fā)模式是簡單粗暴的,不區(qū)分數據包類型、級別或權值,唯一的依據就是排隊順序.
優(yōu)先權隊列方式PQ(Priority Queueing),可根據報文頭中的多個域信息,如報文長度、源地址、目的地址及數據流入的接口等靈活地指定報文進入的優(yōu)先隊列,一般為4個等級的隊列.屬于高等級優(yōu)先隊列的數據包可比低等級低的數據包優(yōu)先發(fā)送,它確保了重要信息工作的優(yōu)先執(zhí)行,確保了最重要的數據能得到最快速地處理.
定制隊列CQ(Custom Queueing),可以根據用戶的需求,將流量按TCP/UDP端口號、ACL、接口類型等進行分類,然后為每種流量分配一定比例的帶寬.當網絡擁塞發(fā)生時,可以保證例如語音數據等對延遲有較高要求的數據流量得到可靠的服務.帶寬分配的比例并不是一成不變的,當流量不足以達到預留帶寬時,其他流量可以自動地占用這些預留帶寬,使資源得到了更有效的利用.對于速率較低的接口,為其定制隊列就能確保通過該接口的數據流也能在一定程度上得到網絡服務.
加權公平隊列WFQ(Weighted Fair Queueing),提供了動態(tài)的、公平的排隊方式,它基于優(yōu)先級或者權重來區(qū)別流量,并根據會話的情況來決定每種會話可以占用帶寬的大小,保證了所有通信都能根據分配給它的權重而受到公平地對待.WFQ對流量進行分類的依據有:源地址、目的地址、源端口、目的端口號及協(xié)議的類型等.這是一種更為公平和智能的網絡擁塞控制策略.
對擁塞的管理一般采用排隊技術.當擁塞發(fā)生時,數據包在路由器出口處按一定的策略排隊;在調度時,按照一定的策略來決定數據包發(fā)送的次序[2-4].
圖1 先入先出隊列示意圖
先進先出隊列FIFO,如圖1所示.數據包按照到達網絡節(jié)點的先后順序進入FIFO隊列,出隊列的順序嚴格依據進隊列的順序.不對數據包進行數據類別、源地址或者權值的分類,所有要從接口發(fā)送的報文,按照到達的先后順序進入接口的FIFO隊列尾部,而接口在發(fā)送報文時,從FIFO隊列的頭部,依次發(fā)送報文.所有的報文在發(fā)送過程中,沒有任何區(qū)別,進隊列順序是轉發(fā)順序的唯一依據,也不保證報文發(fā)送的質量.因此,惡性的應用可能會占用所有的網絡資源,嚴重影響關鍵業(yè)務數據的傳送.在網絡節(jié)點形成惡性競爭,不利于網絡資料的公平調用.
圖2 優(yōu)先隊列示意圖
PQ使用了4個隊列,優(yōu)先級分別是high,medium,normal,low(如圖2所示).在報文到達接口后,首先按照網絡協(xié)議、數據流入接口、報文長短、源地址、目的地址、TCP/UDP端口號、是否匹配ACL等規(guī)則進行分類并指定其優(yōu)先級別,分別對應PQ的4個隊列,然后按照報文所屬的優(yōu)先級別讓報文進入相應的隊列的尾部.報文發(fā)送時,根據隊列優(yōu)先級的不同,首先發(fā)送所有優(yōu)先級高的隊列,然后再發(fā)送低優(yōu)先級隊列中的報文.這樣就確保了在使用PQ的網絡單元處,重要的數據能得到最快速的處理,較高優(yōu)先級隊列的報文有非常低的時延,報文的丟失率和通過率這兩個性能指標在網絡擁塞時有了一定程度的保障.可將關鍵業(yè)務如ERP等數據包放入較高優(yōu)先級的隊列,而將非關鍵業(yè)務如E-Mail等對實時性要求不高的數據包放入較低優(yōu)先級的隊列.關鍵業(yè)務的數據包在處理關鍵業(yè)務數據的空閑間隙被發(fā)送,這樣既保證了關鍵業(yè)務優(yōu)先,又充分運用了網絡資源.但由此帶來的問題是:較低優(yōu)先級隊列中的數據包可能會因較高優(yōu)先級隊列中數據包的存在而長期被堵塞在發(fā)送接口報文隊列中.而數據包的優(yōu)先級別需要人工設定,很難做到讓所有網絡用戶都滿意,產生難以協(xié)調的網絡應用矛盾.
CQ策略相當于在PQ4個隊列的基礎上數量增加至17個隊列,并給予這些隊列一定比例的帶寬.如圖3所示,定制CQ隊列按照一定的策略將數據包分成若干類,對應于CQ的17個隊列,數據包到達節(jié)點后首先進行類別劃分,然后按照先進先出的策略進入相應的CQ隊列.PQ僅有4個隊列,隊列所對應的數據包類別較少,較高優(yōu)先級的數據包具有絕對的優(yōu)先權,當有大量的較高優(yōu)先級數據包需要傳送時,會占用全部帶寬,低優(yōu)先級數據包智能等待甚至被丟棄.相比之下,CQ共有17個隊列,0號隊列為系統(tǒng)隊列,優(yōu)先調度;1~16號隊列為用戶隊列,根據輪詢調度和帶寬配額將16個隊列中的數據包分期分批的轉發(fā)出去.用戶可以配置隊列間占用帶寬的比例關系以及報文的入隊策略.這樣就可讓不同業(yè)務的數據包獲得不同的帶寬,既可保證關鍵業(yè)務能獲得較多的帶寬,又不至于使非關鍵業(yè)務總也得不到帶寬.
圖3 定制隊列示意圖
圖4 加權公平隊列示意圖
加權公平隊列WFQ,目標是確保擁塞發(fā)生時剩余的流能夠獲得足夠的帶寬,并對延遲作出限制,使其能夠滿足最低要求.在保證帶寬公平和低延遲的基礎上體現(xiàn)權值,權值大小依賴于權值分配方法.權值的分配可以依據IP優(yōu)先級、服務時間、弱時性等調度算法.如圖4所示,加權公平隊列對數據包按流進行分類.相同源IP地址、目的IP地址、源端口號、目的端口號、協(xié)議號、服務類型的數據包屬于同一個流,每一個流被分配到一個隊列,隊列的數目可在16至4096個之間預先配置.在出隊的時候,WFQ按流的權值為每個流分配應占有出口的帶寬.權值的數值越小,所得的帶寬越少;權值的數值越大,所得的帶寬也就越多.即保證了相同優(yōu)先級業(yè)務之間的公平,又體現(xiàn)了不同優(yōu)先級業(yè)務之間的權值,這種機制可以防止因帶寬不足而引起的網絡資源分配不公平的問題.
擁塞管理策略FIFO,PQ,CQ,WFQ都有各自的優(yōu)點和缺點,必須充分認識各種策略的優(yōu)缺點(見表1).
表1 擁塞管理策略優(yōu)缺點對比
通過各種策略優(yōu)缺點的對比可以發(fā)現(xiàn),沒有完美的擁塞管理策略,只有適合本網絡特征的策略才是最好的.必須充分考慮本地網絡的出口帶寬情況、網絡應用需求情況、硬件設備配置情況等多方面因素,才能制定出最優(yōu)的擁塞管理策略.對于網絡出口帶寬較富裕的局域網可以考慮使用FIFO控制策略;對于出口帶寬有限、硬件配置一般,又有特殊需求的網絡可以采用CQ控制策略;對于組織機構嚴密、具有重要數據流的網絡可以采用PQ控制策略;對于綜合性能要求較高,以公平用網為主旨的網絡可以采用WFQ控制策略.總之,擁塞控制策略的制定首先要滿足局域網絡的實際使用需求,然后結合局域網絡的出口和硬件配置情況選擇最優(yōu)的控制策略.
[1]杜光輝,張宇敬.網絡擁塞控制策略的研究[J].科技資訊,2010(25):14-14.
[2]宋麗華,王海濤,曹海兵.基于性能服務的高速網絡運輸層擁塞控制解決方案[J].解放軍理工大學學報(自然科學版),2012,13(3):259-265.
[3]姚寶軍,郭景峰.一種基于OSPF的QoS路由算法研究[J].河北師范大學學報(自然科學版),2010,34(6):649-655.
[4]卜佑軍,朱 珂,賀 煒,汪斌強.基于網絡效用最大化的多路徑網絡擁塞控制研究[J].數學的實踐與認識,2013,43(20):141-149.