蔣 杰
(咪咕視訊科技有限公司,上海 201206)
在收看互聯網視頻節目的過程中,終端用戶都或多或少地遇到過播放等待、視頻卡頓等現象,根本原因是視頻內容無法及時和完整下載至本地播放器所致。目前解決上述問題的技術手段是:分布式內容分發網(CDN,Content Delivery Network)。[1]
CDN的基本技術原理是在IP承載網的不同網絡位置設置服務節點,負責緩存內容資源并為最終用戶提供資源服務。CDN通過將服務能力向終端用戶下移,同時將滿足用戶需求復用率最高的資源預先緩存至服務節點,從而使用戶請求服務時可避免內容源服務的負荷超載和終端-服務端的不合理訪問路徑。
1.1.1 基于PULL的內容資源分發機制
基于PULL的內容資源分發機制是被動型資源分發機制[2],CDN對內容資源的獲取目標和獲取時間都是被動根據用戶的請求而確定。如圖1所示。

圖1 基于PULL的內容資源分發機制功能流程
其流程如下:用戶終端訪問互聯網業務時,由CDN調度節點根據用戶網絡位置,綜合分析調度規則后計算出特定CDN服務節點,并告知用戶終端服務器位置;由于CDN服務節點被設置為基于PULL 的內容資源分發機制,故服務節點無預存對應內容資源,需向內容資源原始存放的服務節點發起資源獲取的PULL請求;內容資源源節點響應CDN服務節點的回源請求后,提供對應內容資源;CDN服務節點獲取內容資源后,為用戶提供服務。
1.1.2 基于PUSH的內容資源分發機制
基于PUSH的內容資源分發機制是主動型資源分發機制[2],這里的主動包括兩個層面:內容資源的主動預分發;用戶請求、CDN服務節點和內容資源實現主動匹配。如圖2所示。
通過特定的業務模型選定內容資源和CDN服務節點,并完成該內容資源的主動預分發;CDN調度節點根據用戶服務請求,綜合分析內容資源分布情況和調度規則,主動匹配出包含所需內容資源的特定CDN服務節點為用戶提供服務。其流程如下:內容資源源始節點根據業務模型,例如資源熱度期望模型、資源熱度趨勢模型和資源受眾預測模型等選定內容資源和CDN服務節點進行預先分發;用戶終端訪問互聯網業務時,由CDN調度節點根據用戶網絡位置和服務請求,綜合分析內容資源分布情況和調度規則,計算出特定CDN服務節點,并告知用戶終端服務器位置;CDN服務節點匹配本地緩存資源后,為用戶提供服務。

圖2 基于PUSH的內容資源分發機制功能流程

圖3 CDN典型業務流程時序圖
如圖3所示,終端訪問門戶頁面請求視頻資源,門戶根據請求內容生成CDN服務URL,并告知終端;終端使用CDN服務URL向CDN調度節點查詢。CDN調度節點根據終端網絡信息、請求資源信息和CDN節點狀態信息等數據,確定為該終端服務的最佳CDN節點,并將該節點位置信息作為調度結果告知終端;終端根據調度結果向目標CDN服務節點發起視頻資源播放請求;CDN服務節點根據終端請求匹配本地緩存的內容資源文件。如本地匹配成功,說明該內容資源已緩存,則直接為終端提供相應的資源文件;如本地匹配失敗,說明該內容資源未緩存,則向預定的內容資源源站請求相應的資源文件。待內容資源源站成功返回資源文件后,CDN服務節點再將該資源文件向終端提供。
CDN技術提供的就近服務能力,可極大縮減互聯網視頻請求端與視頻服務端的網絡路徑長度,規避視頻大流量數據傳輸所可能遇到的傳輸質量劣化環。
完整的請求重定向技術涉及“定向策略判斷” 和“重定向生效”兩個環節。定向策略判斷主要以各類可評判服務端和請求端之間訪問交互質量優劣的客觀條件算法為主。常用算法模型有網絡就近性判斷、資源命中性判斷和服務可用性判斷等,以及多個算法組合評定。但最常用的還是網絡就近性判斷,可最大限度規避跨省、跨運營商導致的網絡質量劣化,同時匹配結果的可預測性較理想。重定向生效就是將“定向策略判斷”的結果實施生效,將終端請求導向至目標的服務節點,主要有“基于DNS位置判斷重定向”和“基于IP位置判斷重定向”兩種技術。
2.1.1 基于DNS位置判斷重定向

圖4 基于DNS位置判斷重定向流程圖
涉及路由調度的域名會配置在支持智能調度的權威名稱DNS中,本地LDNS會通過遞歸的方式將域名的解析請求轉發至權威名稱DNS(圖4中②)。權威名稱DNS根據調度策略已預配置多條ACNAME解析記錄,可根據LDNS的網絡位置,按匹配邏輯對應至某條解析記錄(圖4中③)。
2.1.2 基于IP位置判定重定向

圖5 基于IP位置判斷重定向流程圖
圖5 中,當用戶終端的互聯網視頻播放地址訪問域名為video.4k.cn時,該域名會默認指向GSLB。GSLB首先會通過TCP/IP連接信息獲得請求終端的IP,并在靜態最近調度列表中查找該IP所屬的網段是否存在。如存在數據緩存,則該次請求即被快速判斷出對應策略的CDN服務節點IP,并返回給客戶端。如沒有緩存記錄,則GSLB會通過動態查詢的方式,按預設策略算法計算出一個CDN服務節點IP,并返回給客戶端。返回方式就是http 302機制。請求客戶端會將識別302反饋結果,并以反饋IP為目標重新發起訪問請求。通過GSLB的智能判斷和302機制,就可實現不同地區+運營商的終端請求訪問至網絡距離最近的服務節點。
2.1.3 重定向技術的總結
基于DNS位置的重定向機制應用最廣泛,主要是其使用簡單,公共資源、商業化服務也比較成熟。而對于業務定制性要求強的的應用場景,基于IP位置的重定向機制就是不可或缺了。特別是現在一些運營商的流量計費政策是通過流量網關按域名對應不同流量池,部分互聯網視頻服務提供商就會利用GSLB 的302跳轉機制,將不同等級的用戶請求替換為不同的域名,實現諸如視頻流量定向減免的營銷政策。
2.2.1 負載均衡技術原理
由于CDN節點一般是服務器集群。為獲得綜合性能最優,就需要應用負載均衡技術避免單臺服務器超負荷引發故障,而其他服務器則相對空閑的情況。因為單臺服務器在處理高負荷的運算任務時會在處理能力、吞吐能力等方面形成嚴重的性能瓶頸。在這種情況下,CDN服務器集群通過負載均衡技術就是解決相關問題的有效手段。
2.2.2 負載均衡技術的實現方式
目前,有許多不同的負載均衡技術用以滿足不同的應用需求,如以軟為主/硬件為主的負載均衡實現方式。軟件負載均衡解決方案,是指在一臺或多臺服務器相應的操作系統上,安裝一個或多個附加軟件來實現負載均衡,如LVS負載均衡等。硬件負載均衡解決方案,是直接在服務器和外部網絡間安裝負載均衡設備,這種設備通常被稱為負載均衡器。一般而言,硬件負載均衡在功能、性能上優于軟件方式,不過成本昂貴。
本文認為,在網絡帶寬仍不充裕的情況下,為了實現網絡視頻的流暢播放,需要借助CDN機制的端到端資源加速服務,主動規避傳輸網絡中存在的不利因素,降低對傳輸網絡的客觀條件依賴性。■