李相前 胥俊丞
【摘要】 Cache技術在互聯網上的積極應用,能有效豐富本地的熱點內容,提升用戶的體驗,節省網絡帶寬,帶來可觀效益。本文分析了各種重定向方式的特點及應用場景,著重對Web Cache和P2P Cache的一體化部署方式進行探討。
【關鍵詞】 Web Cache P2P Cache 重定向 綜合
一、前言
Cache,緩存,作為一種速度匹配技術,是一項優秀的傳統技術,在PC系統中,它部署在高速CPU和低速DRAM內存之間,有效的解決了高速CPU和低速DRAM內存間速度匹配的問題,提高了PC整體系統性能和性價比。在較慢的外圍設備和內存的數據交換中,比如顯示系統、磁盤系統中,也必不可少的需要使用Cache技術。推而廣之,凡是在傳輸速度有較大差異的兩者之間,都可以考慮利用Cache的速度匹配技術。
在互聯網時代、尤其是移動互聯網時代,用戶的高速訪問需求與內容緩慢的差異越來越大,矛盾也越來越明顯。對運營商來說,可以采用多種手段來緩解矛盾,比如網絡的增容、IDC SP/CP的引入、CDN(Content DistributionNetwork)的搭建,以及Cache的部署。網絡增容和IDC SP/CP引入是解決用戶高速訪問需求的根本之道,CDN和Cache是在現有的內容、網絡基礎上做的改善,CDN內容分發需要與內容源SP/CP協商部署,而Cache具有封閉性,部署快、投資小、見效快,更具時效性。本文著重探討下電信運營商綜合互聯網緩存平臺的部署。
二、互聯網Cache的基本原理
用戶的上網體驗是用戶和運營商共同關注的重點,互聯網Cache系統就是解決用戶上網體驗差的手段之一,其搭建在電信運營商本地的IP承載網上,作為互聯網與電信運營商網絡間的緩沖帶,有效吸納互聯網通道上的熱點流量,減少電信運營商網間和網內的流量壓力,加快網絡訪問速度,提高用戶互聯網體驗,降低對互聯互通鏈路的依賴。其本質是一次外網訪問,多次內網服務;本地命中,加快響應。
三、互聯網Cache的分類
依據Cache的內容,互聯網Cache可分為Web Cache和P2P Cache,兩則側重點不同,如表1所示。
電信運營商可以根據用戶需求和業務情況,選擇性的部署Web Cache和P2P Cache,比如在全國層面部署Web Cache,在省內部署P2P Cache,兩者聯動提供服務。對某些省,Web Cache和P2P Cache都有需要,有必要探索一套一體化的緩存方案,采用統一的部署方式,同時實現Web Cache和P2P Cache。
四、綜合互聯網Cache部署探討
4.1互聯網Cache部署原則
互聯網Cache系統的承載于IP承載網絡之上,須遵循透明和可維護等基本部署原則。透明原則要求系統部署不需要現網做改動,系統的工作與故障均不影響現有網絡和業務,對用戶提供無感知服務。可維護原則要求配置簡單、操作簡便、系統可維護可管理。
4.2互聯網Cache系統構成
按照模塊化的設計思路,互聯網Cache系統可劃分為重定向子系統(RSS)、調度子系統(DSS)、緩存子系統(CSS)、管理子系統(MSS)等部分,現簡單描述各個模塊的功能及相互關聯。
重定向子系統(RSS),將內網用戶發送到外網的請求進行深度的分析,重定向到內網調度子系統(DSS),達到阻礙內網用戶訪問外網的目的,包括流量采集分析模塊、重定向模塊。其中,流量采集分析模塊,采集互聯網出口的流量,進行深度包解析(DPI),從中解析出用戶請求(HTTP、P2P、FLV等),為重定向提供數據支持;流量采集分析模塊必須支持基于L3/L4信息、基于L7應用層特征、基于會話特征等方式的協議識別能力,支持的主流的數據協議類型,并能擴展新的數據協議。重定向模塊,主要進行用戶請求的重定向處理,引導用戶優先獲得本地流量,從源頭控制外部流量。
調度子系統(DSS),是整個Cache系統的調度控制中心,通常會運用負載均衡、緩存記錄搜索、熱點內容管理調度等技術,對部署的多臺緩存子系統(CSS)設備進行有效的負載管理,引導用戶和已經存在緩存設備中的緩存數據進行數據交互,增加緩存設備的命中率。
緩存子系統(CSS),是整個系統的資源倉庫,運用自動緩存技術,構建自動緩存模塊,實現數據的高效存儲、查詢等。調度子系統(DSS)將用戶需要的資源請求送到緩存子系統,用戶在下載時可優先從緩存子系統里面獲取想要的資源,而不用連接到外部網絡。
根據資源的特性,可分為WEB緩存子系統和P2P緩存子系統。其中WEB緩存子系統主要自動緩存熱點網站資源、下載重復度較高的HTTP下載資源、以及HTTP類在線視頻熱點資源;P2P緩存子系統根據用戶需求自動緩存P2P文件共享類和視頻播放類資源。
管理子系統(MSS),實現網絡、系統、業務的管理功能,用以提供Cache系統各功能實體的性能監測和參數配置等功能。
4.3重定向技術的選擇
重定向子系統是整個互聯網Cache系統的關鍵,而重定向子系統設計的重點在于重定向技術的選擇,重定向技術決定了業務疏導流程和設備部署方式。
重定向技術作用是完成用戶請求路徑的轉折,通過深度解析用戶請求,將用戶請求引到Cache系統,由本地的Cache系統向用戶提供服務。常用的重定向技術有DNS重定向、HTTP重定向、HTTP策略路由、DNS策略路由、P2P重路由等。
DNS重定向方式基本原理:在出口鏈路上進行旁路分光,重定向子系統DPI模塊做DNS報文解析,并將解析出的DNS(53端口)請求報文復制給負載均衡設備。負載均衡設備對請求的域名進行判斷,如果是預先設定好的熱點網站的DNS請求,就把請求的網站域名地址解析為Cache系統的IP地址,并回復給用戶。如果用戶訪問非設定好的熱點網站,將通過正常DNS流程返回源服務器的IP地址。外網DNS服務器也會回復DNS解析結果給用戶或Local DNS服務器,Local DNS服務器以先收到的DNS 請求的IP地址解析為準。
HTTP重定向方式基本原理:在出口鏈路上進行旁路分光,重定向子系統對出口流量進行深度分析和識別,分析出用戶的HTTP(端口80/8080)請求流量,當檢索到Cache系統里已經存在用戶所需的數據資源時,發送HTTP302重定向報文給用戶,以攔截用戶訪問外網的請求,并將其重定向到Cache系統,由Cache系統將本地資源響應給用戶;若Cache系統內無用戶所需資源并且未達到熱度閾值,則不對用戶請求進行任何操作,用戶按照原來的路徑向外網獲取資源;若Cache系統內無用戶所需資源但達到熱度閾值,則向用戶發送HTTP302重定向報文,由Cache系統服務器代理用戶取得資源并同時提供給用戶。
HTTP策略重路由方式基本原理: Cache系統旁掛在出口路由器上,在路由器上配置策略路由,通過路由器ACL列表區分Web業務80/8080等端口,將用戶上行的80/8080端口的HTTP流量全部導入到Cache系統,由Cache系統根據設定的規則實現資源的入站和出站。
P2P重路由方式基本原理:P2P Cache的重定向是針對 P2P用戶的Get_Peer請求,偽造Response包,將Cache IP返回給用戶。通過深度數據包識別(DPI)對出口流量進行深度分析和識別,將內網Peer向外網Tracker發起的種子文件請求報文進行攔截,緩存子系統對請求報文進行分析,若符合重定向條件,則偽造外網Tracker返回一個包含緩存子系統Cache服務器的Peer List,內網Cache系統類似一個超級Peer節點,實現用戶重定向到內網,主要有緩存系統滿足用戶的請求。
對基于域名的網站訪問,DNS重定向監聽基于53號端口的DNS請求報文,結合預先設置的白名單,能有效實現對熱點網站和本地特定網站的緩存和下載,但對基于IP地址的訪問,DNS重定向方式無能為力。
HTTP重定向和HTTP策略路由都是對基于80/8080端口的HTTP報文進行處理,HTTP重定向是采用出口鏈路旁路分光,利用DPI自動進行處理,HTTP策略路由需要在IP城域網核心路由進行手工配置策略路由,需占用IP城域網核心路由器資源,我們認為IP城域網核心路由器的資源是比較寶貴的,而且在核心路由器上手工操作增加了誤操作風險,不符合透明部署原則。
P2P重定向主要是針對P2P技術的特殊性,P2P協議多種多樣,獨立于DNS系統,沒有統一的標準,通常不采用固定的和相同的通信端口號,并且更新較快,但各種P2P應用的報文在傳輸層協議上存在一定的特征,如BT報文中存在“BitTorrent protocol”字段,KaZaa使用的FastTrack協議在報文中存在“GET.\hash”字段,eDonkev報文中存在“E30C5”字段等,P2P重定向利用DPI識別出P2P報文,對P2P請求報文進行重定向。

綜合評估,建議選取DNS重定向+HTTP重定向+P2P重路由,統一采用旁路分光方式部署于出口鏈路,三者相互補充,共同實現綜合的、一體化的互聯網內容緩存,部署示意如圖1。
4.4系統業務流程
綜合互聯網緩存平臺對出口鏈路流量進行深度分析,識別出用戶訪問外網的DNS請求、HTTP請求以及P2P下載請求,并分別做相應的處理。
4.4.1 WEB緩存工作流程
對于訪問特定網站的DNS請求,采用DNS重定向方式,具體業務工作流程如下:
1)用戶發起DNS查詢請求,重定向子系統中流量分析模塊通過流量深度分析識別出用戶的DNS查詢請求,并將請求送至DNS重定向模塊;
2)若請求的目標URL為WebCache系統緩存的特定網站資源,重定向子系統將WebCache系統的IP地址通過DNS響應消息回送給用戶;否則,Cache系統不做處理,由源網站響應用戶請求;
3)用戶直接向WebCache系統發起HTTP請求;
4)WebCache系統的負載均衡設備接收到用戶請求,并將請求分發到某臺WebCache服務器;
5)如果該WebCache服務器存儲有用戶請求的內容,則由WebCache系統直接向用戶回復相關請求內容;
6)如果該WebCache服務器沒有保存用戶請求內容,則由WebCache系統代理用戶向源網站請求內容,請求被路由至負載均衡設備;
7)負載均衡設備將用戶請求轉發至源網站;
8)源網站返回用戶請求的內容,報文路由至負載均衡設備;
9)負載均衡設備將Web內容轉發給WebCache服務器;
10)WebCache服務器在本地存儲一份內容副本,并將數據發送給用戶
對于HTTP類的大文件下載和流媒體資源訪問請求,采用HTTP重定向方式,具體業務工作流程如下:
1)重定向子系統流量分析模塊識別出用戶的HTTP請求(DNS重定向后,Cache系統代理的HTTP請求除外),并將請求送至HTTP重定向模塊;
2)HTTP重定向解析用戶HTTP請求,并將用戶請求發送至調度子系統,由調度子系統匹配查詢本地Cache系統資源情況;
3)對于本地Cache系統沒有緩存相應資源,并且未達到緩存資源熱度,則不做重定向處理,直接放行,由源網站提供資源;
4)對于本地Cache系統沒有緩存相應資源,并且已達到緩存資源熱度,則調度子系統根據Cache服務器使用情況指定Cache服務器;
5)重定向子系統向用戶發HTTP302重定向,定向到本地Cache服務器;
6)Cache服務器代理用戶向源站請求內容;
7)源站將內容返回到Cache服務器;
8)Cache服務器將內容緩存到本地,并向用戶提供資源;
9)對于本地Cache系統緩存有相應資源,調度子系統返回存有相應資源的Cache服務器;
10)重定向子系統向用戶發HTTP302重定向,定向到本地Cache服務器;
11)本地Cache服務器提供資源服務。
4.4.2 P2P緩存工作流程
P2P類下載和訪問的請求,采用P2P重路由,具體業務流程如下:
1)重定向子系統流量分析模塊識別出用戶的P2P請求,并將請求送至P2P重定向模塊;
2)P2P重定向模塊解析用戶請求,并將用戶請求發送至調度子系統,由調度子系統匹配查詢本地Cache系統資源情況;
3)對于本地Cache系統沒有緩存相應資源,并且未達到緩存資源熱度,則不做重定向處理,直接放行,由Internet提供資源;
4)對于本地Cache系統沒有緩存相應資源,并且已達到緩存資源熱度,則調度子系統根據Cache服務器使用情況指定Cache服務器;
5)重定向子系統向用戶發重定向報文,定向到本地Cache服務器;
6)Cache服務器代理用戶向Internet tracker服務器請求內容;
7)Internet tracker返回給cache服務器Peer List,Cache服務器發起下載請求,并下載相應資源;
8)重定向子系統對Peer List進行處理,將Cache服務器的IP地址和內網用戶的IP地址加入Peer List,并返回給用戶;
9)用戶發起下載請求,由本地Cache服務器和內網用戶提供下載服務;
10)對于本地Cache系統已緩存相應資源,重定向子系統向用戶發重定向報文,并將Peer List(Cache服務器的IP地址和內網用戶的IP地址)返回給用戶;
11)用戶發起下載請求,由本地Cache服務器和內網用戶提供下載服務。
4.5系統評估探討
綜合互聯網緩存平臺的實際運營效果,可根據流量流向的特性進行評估,流入流量主要是資源進站,流出流量是為本地用戶提供資源。
我們取兩個指標,便可直觀的評估系統的運營效果:節省流量=流出流量-流入流量;增益比=節省流量/流入流量。本系統2011年在某移動省份運營商部署以來,增益比維持在8左右,效果良好。
五、結束語
本文探討的統一互聯網緩存平臺,采用統一的部署方式,實現全業務的緩存,部署簡單,見效快,適用于各大中小城域網內部署。
統一互聯網緩存平臺,采用軟件的方式,統一調度疏導互聯網資源訪問,其暗在的思想與目前主流的SDN/NFV(軟件定義網絡/網絡功能虛擬化)思想不謀而合,在未來網絡演進中必將繼續延續其生命力。