文/毛守焱
隨著P2P類應用越來越強烈的加密趨勢,傳統(tǒng)的基于應用協(xié)議數(shù)據(jù)特征的識別方式往往難以奏效,這就要求協(xié)議識別引擎能夠?qū)α髁啃袨檫M行綜合分析,根據(jù)統(tǒng)計特征、連接相關性等方面表現(xiàn)出來的蛛絲馬跡判斷應用的類型。
面對洪流,最好的做法是主動疏導,而絕非被動封堵。如今,通過流控產(chǎn)品對應用流量進行梳理的做法已被普遍接受。
隨著教育信息化進程的不斷加深,我國已建成規(guī)模龐大的教育網(wǎng)絡,為高校提供了優(yōu)越的接入條件。然而,日新月異的互聯(lián)網(wǎng)應用吞噬著越來越多的帶寬,校園網(wǎng)內(nèi)終端接入數(shù)量也始終處于高速增長的態(tài)勢,對高校網(wǎng)絡的運維提出了新的挑戰(zhàn)。在這種情況下,如何更合理地管理流量,為教科研任務提供更好的保障,成為各高校信息中心負責人普遍關注的問題。
面對洪流,最好的做法是主動疏導,而絕非被動封堵。如今,通過流控產(chǎn)品對應用流量進行梳理的做法已被普遍接受。在不少高校,流控產(chǎn)品都成為網(wǎng)絡出口必不可少的設備,直接決定著網(wǎng)絡帶寬的利用率及用戶應用體驗。經(jīng)過長期跟蹤分析,筆者總結了一些流控產(chǎn)品在高校網(wǎng)絡出口環(huán)境的評估經(jīng)驗與部署建議。
眾所周知,流控產(chǎn)品的工作機制與防病毒網(wǎng)關、IPS等安全產(chǎn)品類似,主要依靠應用協(xié)議的數(shù)據(jù)特征對流量的應用歸屬進行判斷。它的核心是協(xié)議識別引擎,其衡量標準包括識別率、誤識別率、協(xié)議種類和性能等。許多用戶認為能夠識別的協(xié)議數(shù)量非常重要(廠商往往也樂于強調(diào)這一點),其實不然,流控產(chǎn)品在真實環(huán)境下的識別率才是最重要的指標。這就好比防病毒網(wǎng)關,某些產(chǎn)品在規(guī)格表中公布的病毒簽名數(shù)量只有幾萬條,但每一個簽名都涵蓋了同一病毒家族的所有變種,實際查殺能力甚至能超越其他一些標稱內(nèi)置數(shù)十萬簽名的產(chǎn)品。
隨著P2P類應用越來越強烈的加密趨勢,傳統(tǒng)的基于應用協(xié)議數(shù)據(jù)特征的識別方式往往難以奏效,這就要求協(xié)議識別引擎能夠?qū)α髁啃袨檫M行綜合分析,根據(jù)統(tǒng)計特征、連接相關性等方面表現(xiàn)出來的蛛絲馬跡判斷應用的類型。一些流控產(chǎn)品已經(jīng)提供了這種啟發(fā)式處理機制,可以與傳統(tǒng)方式相配合,實現(xiàn)更好的流量控制效果。但根據(jù)流量的行為特征進行判斷,也會在一定程度上增加應用協(xié)議的誤識別率,極端情況下甚至會影響到網(wǎng)絡的連通性。所以當無法保證準確識別時,流控產(chǎn)品要給用戶提供糾正的手段,或?qū)⒉糠止δ茏鳛榭蛇x項進行交付。
應用協(xié)議特征的更新響應速度也是非常重要的評估指標,在爆發(fā)式增長的互聯(lián)網(wǎng)應用面前,業(yè)界所有廠商都不遺余力地進行著越來越多的抓包、分析、測試、更新工作。這種模式未來到底能堅持多久,誰也無法給出準確答案。但從其他安全產(chǎn)品的發(fā)展歷程看,流控廠商也許要在技術實現(xiàn)機制或運營模式方面探索新的道路。
流控產(chǎn)品本身就因流量控制的需求而生,發(fā)展至今已經(jīng)比較成熟。但在不斷變化的應用需求面前,其功能與實現(xiàn)機制一直在進行調(diào)整,爭取更好的優(yōu)化與管控效果。目前,流控的核心理念已從傳統(tǒng)的控制下行流量發(fā)展到對上行流量的控制。前者雖然易于實現(xiàn),但僅對TCP流量有一定的效果(如調(diào)整TCP Window)。對于UDP流量來說,這種方式非但效果不明顯,且易產(chǎn)生流量差,對帶寬資源造成極大的浪費??紤]到目前占用帶寬比例最大的網(wǎng)絡視頻和多數(shù)P2P下載應用都以UDP通訊為主,流控產(chǎn)品必須應具有通過控制上行流量來壓制下行流量的機制,從而減小流量差,提高帶寬利用率。
當帶寬資源緊張時,流控產(chǎn)品通常會采用丟包的方法來實現(xiàn)壓縮流量的目的。在數(shù)據(jù)包的丟棄機制方面,目前常見的有隊列與非隊列兩種。隊列方式相對比較傳統(tǒng),流控引擎會將數(shù)據(jù)包放入隊列,然后由隊列調(diào)度器統(tǒng)一進行調(diào)度,許多開源軟件都采用了這種實現(xiàn)方法。這樣做的好處是網(wǎng)絡波動小一些,特別是TCP流量會更加平緩,但對資源的占用相對較多,系統(tǒng)壓力會增大。如果沒有用到隊列,流控引擎一般會采用TOKEN BUCKET機制。當TOKEN不夠時,對當前數(shù)據(jù)包直接進行丟棄。其優(yōu)點是系統(tǒng)壓力小,占用資源少,基本上無延遲??傮w來看,兩種丟包機制各有優(yōu)劣,但對于高校網(wǎng)絡出口這種流量較大的應用場景來說,非隊列模式顯然更為適用。
總體控制可以對網(wǎng)絡流量進行宏觀管理,但無法解決單點流量過大而引發(fā)的公平性問題。因此要達到更好的流量控制效果,必須采用點面結合的管理思路。這就要求流控產(chǎn)品在對出口流量進行整體梳理的同時,能夠提供針對IP/IP群組的控制能力,維護一定程度的公平。此外,帶寬保證/帶寬借用也是流控產(chǎn)品中比較常見的功能。根據(jù)以往的實施經(jīng)驗來看,該功能在企業(yè)、網(wǎng)吧等出口帶寬較小的場景中具有很好的優(yōu)化效果,在高校、運營商等大流量環(huán)境中效果并不明顯。
僅僅控制流量并不能完全解決問題,在條件允許的情況下,還需要主動疏導,以爭取更好的網(wǎng)絡應用體驗。比較常見的做法是將P2P下載、網(wǎng)絡視頻等非關鍵應用的流量分配到高帶寬、低成本的線路上。這些應用的實現(xiàn)機制決定了即便是在質(zhì)量欠佳的鏈路環(huán)境下,仍能達到讓人接受的效果。而視頻會議、遠程教學等關鍵應用的體驗必須有所保障,它們應享用最好的鏈路資源。綜上所述,應用路由已成為當今流控產(chǎn)品的標準功能之一,未來必將得到大范圍應用。高校中更是如此。
目前,流控產(chǎn)品通常有3種實現(xiàn)應用路由的部署模式,分別為:
1. 針對不同應用,打上不同的DSCP標記,路由器/防火墻根據(jù)DSCP做策略路由;
2. 針對不同應用,實施不同的源地址NAT,路由器/防火墻根據(jù)源地址做策略路由;
3. 取代路由器/防火墻做接入,直接針對不同應用做策略路由。
第一種方式實施起來比較簡單,但筆者在許多部署中發(fā)現(xiàn),可根據(jù)DSCP做策略路由的路由器/防火墻并不多。而基本上所有的路由器或防火墻都支持基于源地址的策略路由,所以第二種方式更通用一些(當然這個通用是以增加流控產(chǎn)品負載為前提的)。第三種實現(xiàn)方式最簡單,但對網(wǎng)絡拓撲的改動比較大,設備也要承擔最重的負載,目前在高校中比較少見。不過流控產(chǎn)品與路由器/防火墻的融合趨勢是比較明顯的,相信未來第三種部署模式的比例會逐漸增加。個別高校目前采用了為每條鏈路單獨配備流控產(chǎn)品的做法,這非但不能實現(xiàn)應用路由,對流量也缺乏整體感知與控制的能力,除非是極特殊的情況,否則不建議使用這種部署模式。
在啟用應用路由時,還有兩個重要的問題需要考慮。首先是不同運營商之間的互通問題,大的門戶或在線視頻網(wǎng)站都有自己的DNS(CDN)負載均衡服務,通過不同運營商的DNS解析出來的地址肯定有所差異。如果目標地址是電信IP,但經(jīng)過應用路由后流量指向聯(lián)通線路,那么非但不會起到優(yōu)化效果,反而會降低應用體驗。因此在很多情況下,應用路由需要搭配DNS重定向功能,如果將流量甩向聯(lián)通的鏈路,就將DNS請求通過聯(lián)通的DNS服務器解析,以獲得正常的訪問效果。
其次是應用連接的相關性問題。一些應用中,存在有單會話包含多條連接的情況,如果其中一部分連接走教育網(wǎng),另一部分走其他運營商,輕則影響應用體驗,重則會中斷應用。這種情況對流控引擎提出了更高要求,只有輔以前面提到過的基于應用協(xié)議行為特征的判斷機制,才能解決特征完整性的問題。不過,應用路由的成功率也并不等同于對應用的識別率,某些應用是服務端先發(fā)數(shù)據(jù),難以實現(xiàn)分流。所以廠商在分析、描述應用特征時,也要預先考慮到應用路由的需要。
流控產(chǎn)品部署在高校網(wǎng)絡出口,對出入校園網(wǎng)的所有流量進行管理與優(yōu)化,地位不亞于路由器與核心交換機。雖然流量管理是其主要職能,但如果能夠與其他設備協(xié)作,將會起到更好的優(yōu)化效果,使其價值最大化。
目前來看,最適合與流控產(chǎn)品進行搭配的當屬Cache加速設備。借助應用路由,流控產(chǎn)品可以將高校網(wǎng)絡出口流量中的特定應用及內(nèi)容進行重定向(例如文件下載或Web視頻應用),指向Cache加速設備。此時它就相當于Cache加速設備的一個客戶,對終端用戶而言是完全透明的。使用流控產(chǎn)品實現(xiàn)重定向和傳統(tǒng)的基于端口的重定向的一個顯著區(qū)別是,前者可以根據(jù)精準的應用識別結果,只轉(zhuǎn)發(fā)Cache加速設備需要處理的流量,從而提升了緩存系統(tǒng)的利用率與命中率,同時降低I/O與文件管理系統(tǒng)的壓力,使其更“專心”地去做業(yè)務相關的工作。
另一個適合與流控產(chǎn)品協(xié)同工作的是審計系統(tǒng)。一般而言,審計系統(tǒng)需要通過交換機鏡像端口獲取數(shù)據(jù)。因為鏡像而來的是所有流量,審計系統(tǒng)必須在接收所有數(shù)據(jù)包的同時過濾掉不在業(yè)務范圍內(nèi)的數(shù)據(jù)包,這一環(huán)節(jié)會占用不少的系統(tǒng)資源。流控產(chǎn)品可以利用其強大的協(xié)議識別能力,將需要審計的應用流量(如HTTP,IM等)有選擇地鏡像給審計系統(tǒng),這樣就可以大大降低審計系統(tǒng)的壓力,避免由于性能導致的審計不完整問題。
實際上,幾乎所有作用于特定業(yè)務的串行或旁路設備,都可以從流控產(chǎn)品的應用路由及應用流量鏡像功能中受益。一些高校曾經(jīng)由于性能問題拒絕了WAF或防病毒網(wǎng)關,經(jīng)過分析,其性能瓶頸很大程度上是因為不必要的I/O處理所造成,而非安全業(yè)務。須要注意的是,應用路由及應用流量鏡像的功能在流控產(chǎn)品上還不是很普及,它們的實現(xiàn)機制也會為設備帶來額外的負載,對性能的影響比較大。所以建議教師們在進行評估選型的時候,更多地依據(jù)實際環(huán)境中的測試結果做出判斷。