流量管理 疏導為先

2022-10-05 05:42:12 字數 3989 閱讀 7600

隨著p2p類應用越來越強烈的加密趨勢,傳統的基於應用協議資料特徵的識別方式往往難以奏效,這就要求協議識別引擎能夠對流量行為進行綜合分析,根據統計特徵、連線相關性等方面表現出來的蛛絲馬跡判斷應用的型別。 

隨著教育資訊化程序的不斷加深,我國已建成規模龐大的教育網路,為高校提供了優越的接入條件。然而,日新月異的網際網路應用吞噬著越來越多的頻寬,校園網內終端接入數量也始終處於高速增長的態勢,對高校網路的運維提出了新的挑戰。在這種情況下,如何更合理地管理流量,為教科研任務提供更好的保障,成為各高校資訊中心負責人普遍關注的問題。

面對洪流,最好的做法是主動疏導,而絕非被動封堵。如今,通過流控產品對應用流量進行梳理的做法已被普遍接受。在不少高校,流控產品都成為網路出口必不可少的裝置,直接決定著網路頻寬的利用率及使用者應用體驗。經過長期跟蹤分析,筆者總結了一些流控產品在高校網路出口環境的評估經驗與部署建議。

協議識別走向立體化

眾所周知,流控產品的工作機制與防病毒閘道器、ips等安全產品類似,主要依靠應用協議的資料特徵對流量的應用歸屬進行判斷。它的核心是協議識別引擎,其衡量標準包括識別率、誤識別率、協議種類和效能等。許多使用者認為能夠識別的協議數量非常重要(廠商往往也樂於強調這一點),其實不然,流控產品在真實環境下的識別率才是最重要的指標。這就好比防病毒閘道器,某些產品在規格表中公布的病毒簽名數量只有幾萬條,但每乙個簽名都涵蓋了同一病毒家族的所有變種,實際查殺能力甚至能超越其他一些標稱內建數十萬簽名的產品。

隨著p2p 類應用越來越強烈的加密趨勢,傳統的基於應用協議資料特徵的識別方式往往難以奏效,這就要求協議識別引擎能夠對流量行為進行綜合分析,根據統計特徵、連線相關性等方面表現出來的蛛絲馬跡判斷應用的型別。一些流控產品已經提供了這種啟發式處理機制,可以與傳統方式相配合,實現更好的流量控制效果。但根據流量的行為特徵進行判斷,也會在一定程度上增加應用協議的誤識別率,極端情況下甚至會影響到網路的連通性。所以當無法保證準確識別時,流控產品要給使用者提供糾正的手段,或將部分功能作為可選項進行交付。

應用協議特徵的更新響應速度也是非常重要的評估指標,在爆發式增長的網際網路應用面前,業界所有廠商都不遺餘力地進行著越來越多的抓包、分析、測試、更新工作。這種模式未來到底能堅持多久,誰也無法給出準確答案。但從其他安全產品的發展歷程看,流控廠商也許要在技術實現機制或運營模式方面探索新的道路。

發展中的流控技術

流控產品本身就因流量控制的需求而生,發展至今已經比較成熟。但在不斷變化的應用需求面前,其功能與實現機制一直在進行調整,爭取更好的優化與管控效果。目前,流控的核心理念已從傳統的控制下行流量發展到對上行流量的控制。前者雖然易於實現,但僅對tcp流量有一定的效果(如調整tcp window)。對於udp流量來說,這種方式非但效果不明顯,且易產生流量差,對頻寬資源造成極大的浪費。考慮到目前占用頻寬比例最大的網路**和多數p2p**應用都以udp通訊為主,流控產品必須應具有通過控制上行流量來壓制下行流量的機制,從而減小流量差,提高頻寬利用率。

當頻寬資源緊張時,流控產品通常會採用丟包的方法來實現壓縮流量的目的。在資料報的丟棄機制方面,目前常見的有佇列與非佇列兩種。佇列方式相對比較傳統,流控引擎會將資料報放入佇列,然後由佇列排程器統一進行排程,許多開源軟體都採用了這種實現方法。這樣做的好處是網路波動小一些,特別是tcp流量會更加平緩,但對資源的占用相對較多,系統壓力會增大。如果沒有用到佇列,流控引擎一般會採用token bucket機制。當token不夠時,對當前資料報直接進行丟棄。其優點是系統壓力小,占用資源少,基本上無延遲。總體來看,兩種丟包機制各

有優劣,但對於高校網路出口這種流量較大的應用場景來說,非佇列模式顯然更為適用。

總體控制可以對網路流量進行巨集觀管理,但無法解決單點流量過大而引發的公平性問題。因此要達到更好的流量控制效果,必須採用點面結合的管理思路。這就要求流控產品在對出口流量進行整體梳理的同時,能夠提供針對ip/ip群組的控制能力,維護一定程度的公平。此外,頻寬保證/ 頻寬借用也是流控產品中比較常見的功能。根據以往的實施經驗來看,該功能在企業、網咖等出口頻寬較小的場景中具有很好的優化效果,在高校、運營商等大流量環境中效果並不明顯。

應用路由漸成主流

僅僅控制流量並不能完全解決問題,在條件允許的情況下,還需要主動疏導,以爭取更好的網路應用體驗。比較常見的做法是將p2p**、網路**等非關鍵應用的流量分配到高頻寬、低成本的線路上。這些應用的實現機制決定了即便是在質量欠佳的鏈路環境下,仍能達到讓人接受的效果。而**會議、遠端教學等關鍵應用的體驗必須有所保障,它們應享用最好的鏈路資源。綜上所述,應用路由已成為當今流控產品的標準功能之一,未來必將得到大範圍應用。高校中更是如此。

目前,流控產品通常有3種實現應用路

由的部署模式,分別為:

1. 針對不同應用,打上不同的dscp標記,路由器/防火牆根據dscp做策略路由;

2. 針對不同應用,實施不同的源位址nat,路由器/防火牆根據源位址做策略路由;

3. 取代路由器/防火牆做接入,直接針對不同應用做策略路由。

第一種方式實施起來比較簡單,但筆者在許多部署中發現,可根據dscp做策略路由的路由器/防火牆並不多。而基本上所有的路由器或防火牆都支援基於源位址的策略路由,所以第二種方式更通用一些(當然這個通用是以增加流控產品負載為前提的)。第三種實現方式最簡單,但對網路拓撲的改動比較大,裝置也要承擔最重的負載,目前在高校中比較少見。不過流控產品與路由器/ 防火牆的融合趨勢是比較明顯的,相信未來第三種部署模式的比例會逐漸增加。個別高校目前採用了為每條鏈路單獨配備流控產品的做法,這非但不能實現應用路由,對流量也缺乏整體感知與控制的能力,除非是極特殊的情況,否則不建議使用這種部署模式。

在啟用應用路由時,還有兩個重要的問題需要考慮。首先是不同運營商之間的互通問題,大的門戶或******都有自己的dns(cdn)負載均衡服務,通過不同運營商的dns 解析出來的位址肯定有所差異。如果目標位址是電信ip,但經過應用路由後流量指向聯通線路,那麼非但不會起到優化效果,反而會降低應用體驗。因此在很多情況下,應用路由需要搭配dns重定向功能,如果將流量甩向聯通的鏈路,就將dns 請求通過聯通的dns 伺服器解析,以獲得正常的訪問效果。

其次是應用連線的相關性問題。一些應用中,存在有單會話包含多條連線的情況,如果其中一部分連線走教育網,另一部分走其他運營商,輕則影響應用體驗,重則會中斷應用。這種情況對流控引擎提出了更高要求,只有輔以前面提到過的基於應用協議行為特徵的判斷機制,才能解決特徵完整性的問題。不過,應用路由的成功率也並不等同於對應用的識別率,某些應用是服務端先發資料,難以實現分流。所以廠商在分析、描述應用特徵時,也要預先考慮到應用路由的需要。

協作:1+1>2的優化效果

流控產品部署在高校網路出口,對出入校園網的所有流量進行管理與優化,地位不亞於路由器與核心交換機。程式設計客棧雖然流量管理是其主要職能,但如果能夠與其他裝置協作,將會起到更好的優化效果,使其價值最大化。

目前來看,最適合與流控產品進行搭配的當屬cache加速裝置。借助應用路由,流控產品可以將高校網路出口流量中的特定應用及內容進行重定向(例如檔案**或web**應用),指向cache加速裝置。此時它就相當於cache加速裝置的乙個客戶,對終端使用者而言是完全透明的。使用流控產品實現重定向和傳統的基於埠的重定向的乙個顯著區別是,前者可以根據精準的應用識別結果,只**cache加速裝置需要處理的流量,從而提公升了快取系統的利用率與命中率,同時降低i/o與檔案管理系統的壓力,使其更「專心」地去做業務相關的工作。

另乙個適合與流控產品協同工作的是審計系統。一般而言,審計系統需要通過交換機映象埠獲取資料。因為映象而來的是所有流量,審計系統必須在接收所有資料報的同時過濾掉不在業務範圍內的資料報,這一環節會占用不少的系統資源。流控產品可以利用其強大的協議識別能力,將需要審計的應用流量(如http,im等)有選擇地映象給審計系統,這樣就可以大大降低審計系統的壓力,避免由於效能導致的審計不完整問題。

實際上,幾乎所有作用於特定業務的序列或旁路裝置,都可以從流控產品的應用路由及應用流量映象功能中受益。一些高校曾經由於效能問題拒絕了waf或防病毒閘道器,經過分析,其效能瓶頸很大程度上是因為不必要的i/o處理所造成,而非安全業務。須要注意的是,應用路由及應用流量映象的功能在流控產品上還不是很普及,它們的實現機制也會為裝置帶來額外的負載,對效能的影響比較大。所以建議教師們在進行評估選型的時候,更多地依據實際環境中的測試結果做出判斷。

文:http://bbs.netzone.com/forum.php?mod=vie

本文標題: 流量管理 疏導為先

本文位址: /news/exp/48072.html

專案管理人為先

首先要明確一點軟體是 以人為本,以用為先 專案的管理從另乙個角度來講就是對人的管理,能否合理利用好人力資源是專案成敗的關鍵。對於人力資源的管理總結了以下幾點,請各位前輩批評指正 1 關於任務編排 任務編排要現實不能因為 一腔熱血 而誤導整個團隊,可先根據專案實施週期制定啟動計畫讓專案運轉起來,根據現...

istio http流量管理 2

金絲雀部署 在發布新版本時,部署的新版本並不對外開放,而選擇一小部分使用者為測試目標,這部分使用者對服務的訪問會指向特定的版本,通過對這些金絲雀使用者的使用情況的觀察,來確定新版本服務的發布效果,在確定結果之前,所有其他使用者都繼續使用原有版本。應用 驗證 應用 驗證 sleep v2,正常返回 驗...

使用訪問列表管理流量

訪問列表可以用於允許或拒絕包通過路由器 允許或拒絕telnet vty 訪問路由器 允許或拒絕來自路由器的telnet訪問,以及建立可以出發撥號到遠端站點的流量。訪問列表簡介 訪問列表基本上是一系列對包進行分類的條件。乙個最常用和最容易理解的使用訪問列表的情況是,實現安全策略時過濾不希望通過的包。資...