隨著P2P類應用越來越強烈的加密趨勢,傳統的基于應用協議數據特征的識別方式往往難以奏效,這就要求協議識別引擎能夠對流量行為進行綜合分析,根據統計特征、連接相關性等方面表現出來的蛛絲馬跡判斷應用的類型。
隨著教育信息化進程的不斷加深,我國已建成規模龐大的教育網絡,為高校提供了優越的接入條件。然而,日新月異的互聯網應用吞噬著越來越多的帶寬,校園網內終端接入數量也始終處于高速增長的態勢,對高校網絡的運維提出了新的挑戰。在這種情況下,如何更合理地管理流量,為教科研任務提供更好的保障,成為各高校信息中心負責人普遍關注的問題。
面對洪流,最好的做法是主動疏導,而絕非被動封堵。如今,通過流控產品對應用流量進行梳理的做法已被普遍接受。在不少高校,流控產品都成為網絡出口必不可少的設備,直接決定著網絡帶寬的利用率及用戶應用體驗。經過長期跟蹤分析,筆者總結了一些流控產品在高校網絡出口環境的評估經驗與部署建議。
協議識別走向立體化
眾所周知,流控產品的工作機制與防病毒網關、IPS等安全產品類似,主要依靠應用協議的數據特征對流量的應用歸屬進行判斷。它的核心是協議識別引擎,其衡量標準包括識別率、誤識別率、協議種類和性能等。許多用戶認為能夠識別的協議數量非常重要(廠商往往也樂于強調這一點),其實不然,流控產品在真實環境下的識別率才是最重要的指標。這就好比防病毒網關,某些產品在規格表中公布的病毒簽名數量只有幾萬條,但每一個簽名都涵蓋了同一病毒家族的所有變種,實際查殺能力甚至能超越其他一些標稱內置數十萬簽名的產品。
隨著P2P 類應用越來越強烈的加密趨勢,傳統的基于應用協議數據特征的識別方式往往難以奏效,這就要求協議識別引擎能夠對流量行為進行綜合分析,根據統計特征、連接相關性等方面表現出來的蛛絲馬跡判斷應用的類型。一些流控產品已經提供了這種啟發式處理機制,可以與傳統方式相配合,實現更好的流量控制效果。但根據流量的行為特征進行判斷,也會在一定程度上增加應用協議的誤識別率,極端情況下甚至會影響到網絡的連通性。所以當無法保證準確識別時,流控產品要給用戶提供糾正的手段,或將部分功能作為可選項進行交付。
應用協議特征的更新響應速度也是非常重要的評估指標,在爆發式增長的互聯網應用面前,業界所有廠商都不遺余力地進行著越來越多的抓包、分析、測試、更新工作。這種模式未來到底能堅持多久,誰也無法給出準確答案。但從其他安全產品的發展歷程看,流控廠商也許要在技術實現機制或運營模式方面探索新的道路。
發展中的流控技術
流控產品本身就因流量控制的需求而生,發展至今已經比較成熟。但在不斷變化的應用需求面前,其功能與實現機制一直在進行調整,爭取更好的優化與管控效果。目前,流控的核心理念已從傳統的控制下行流量發展到對上行流量的控制。前者雖然易于實現,但僅對TCP流量有一定的效果(如調整TCP Window)。對于UDP流量來說,這種方式非但效果不明顯,且易產生流量差,對帶寬資源造成極大的浪費。考慮到目前占用帶寬比例最大的網絡視頻和多數 P2P下載應用都以UDP通訊為主,流控產品必須應具有通過控制上行流量來壓制下行流量的機制,從而減小流量差,提高帶寬利用率。
當帶寬資源緊張時,流控產品通常會采用丟包的方法來實現壓縮流量的目的。在數據包的丟棄機制方面,目前常見的有隊列與非隊列兩種。隊列方式相對比較傳統,流控引擎會將數據包放入隊列,然后由隊列調度器統一進行調度,許多開源軟件都采用了這種實現方法。這樣做的好處是網絡波動小一些,特別是TCP流量會更加平緩,但對資源的占用相對較多,系統壓力會增大。如果沒有用到隊列,流控引擎一般會采用TOKEN BUCKET機制。當TOKEN不夠時,對當前數據包直接進行丟棄。其優點是系統壓力小,占用資源少,基本上無延遲。總體來看,兩種丟包機制各
有優劣,但對于高校網絡出口這種流量較大的應用場景來說,非隊列模式顯然更為適用。
總體控制可以對網絡流量進行宏觀管理,但無法解決單點流量過大而引發的公平性問題。因此要達到更好的流量控制效果,必須采用點面結合的管理思路。這就要求流控產品在對出口流量進行整體梳理的同時,能夠提供針對IP/IP群組的控制能力,維護一定程度的公平。此外,帶寬保證/ 帶寬借用也是流控產品中比較常見的功能。根據以往的實施經驗來看,該功能在企業、網吧等出口帶寬較小的場景中具有很好的優化效果,在高校、運營商等大流量環境中效果并不明顯。
應用路由漸成主流