張 勍,肖衛東,盛 煜,馮 毅(.中國聯通網絡技術研究院,北京00048;.國防大學聯合勤務學院,北京00858)
隨著移動通信網絡從3G演進到4G再到即將到來的5G[1-2],移動網絡的數據業務承載能力呈現指數級增長,與此同時,智能終端無論是顯示能力還是計算能力也都保持著跳躍式的發展,因此移動互聯網業務進入了快速發展期,多樣化的業務尤其是大帶寬數據業務層出不窮,而移動互聯網業務又對網絡提出了更高的要求,不只是更大的帶寬,還有更低的業務時延。傳統的CDN系統[3-6]起源于以固網為承載網的互聯網需求,利用分布式的節點將集中化的業務內容分散在更靠近用戶的位置,一方面降低用戶訪問業務的時延,另一方面降低對業務源服務器的訪問帶寬需求。傳統CDN技術中,為了降低移動互聯網業務的訪問時延,下沉至最靠近用戶的位置即核心網P-GW位置,然而該位置并不能滿足業務時延需求,因此將CDN節點下沉至移動網絡邊緣,即下沉到移動接入網內部將成為必然。本文在分析了傳統CDN系統組成后,詳細介紹了移動接入網中CDN下沉系統架構,進而給出了2種CDN下沉系統部署方案,最后分析了移動接入網中CDN下沉技術的具體應用場景。

圖1 CDN下沉系統架構
CDN系統[7-10]是在用戶和業務服務器之間增加高速緩存,通過DNS引流的方式牽引用戶的業務請求,使用戶直接向距離用戶更近的高速緩存請求數據,從而減少業務響應的延時,并降低業務服務器的訪問壓力。
CDN系統在功能上是由存儲分發系統和負載均衡系統[11-12]組成。存儲分發系統主要用于響應用戶的業務請求,將業務數據提供給用戶,向源業務服務器獲取業務內容數據,并存儲業務內容數據。存儲分發系統的基本工作單元為高速緩存設備。此外,存儲分發系統還需上報各個緩存設備的信息,如存儲的內容信息、當前的負載情況、響應情況等,以便負載均衡系統能夠據此向用戶反饋最優的響應。負載均衡系統主要用于完成調度和響應判斷,即判斷針對用戶的請求反饋何種響應,給出用戶實際訪問的高速緩存設備地址。負載均衡系統的基本工作單元即為調度器。大型CDN系統的負載均衡系統通常分為全局負載均衡和本地負載均衡2個部分,其中全局負載均衡用于針對存儲分發節點級別做出最優判斷,判斷的主要原則是用戶就近;本地負載均衡則用于針對存儲分發設備級別即在節點內做出最優判斷,判斷的主要原則是節點的服務性能與效率。
CDN系統在物理上是由邊緣層和中心層組成。邊緣層部署了邊緣存儲分發設備和本地負載均衡設備,分布部署在物理上的網絡邊緣位置。中心層則部署了中心存儲分發設備和全局負載均衡設備,集中部署在中心,距離用戶較遠。當邊緣層未命中用戶請求數據時,將向中心層的存儲分發設備發出請求。
移動接入網中的CDN下沉系統,是將傳統CDN系統中的邊緣層與移動網絡融合,進一步下移至移動接入網內部,1個或1組邊緣節點直接為1組基站下的移動網絡用戶服務,從而進一步縮短用戶移動互聯網業務時延。
移動接入網中的CDN下沉系統需要配置移動邊緣服務器和邊緣CDN內容存儲器,如圖1所示。移動邊緣服務器實現DNS或IP解析功能與路由選擇功能,其中DNS或IP解析功能用于識別用戶的業務請求,路由選擇功能用于判斷是否需要調用下沉到邊緣的CDN服務,以及將使用服務的用戶請求指向邊緣CDN內容存儲器。移動邊緣服務器可以單獨配置,也可與移動邊緣計算服務器合設。邊緣CDN內容存儲器主要實現業務數據存儲功能,當邊緣CDN內容存儲器與外部網絡CDN或源業務服務器直接互通時,需在移動邊緣服務器與邊緣CDN內容存儲器之間配置防火墻,以保障移動網絡內部安全;而當邊緣CDN內容存儲器只與移動邊緣服務器互通時,物理上邊緣CDN內容存儲器可與移動邊緣服務器合設。
移動接入網中的CDN下沉系統部署方案,根據移動邊緣CDN節點是否接受全局負載均衡設備的調度,分為簡易部署方案和全局部署方案2種。
簡易部署方案,移動邊緣CDN節點只提供最基本的CDN業務服務,只需具備與上一級CDN節點或源業務服務器的數據互通通道,不接受全局負載均衡設備的調度,一方面由移動邊緣服務器提供DNS包識別及域名或IP地址解析功能,并能夠完成邊緣CDN流量統計和計費統計功能;另一方面由邊緣CDN內容存儲設備提供業務數據的存儲功能,并能夠主動或被動獲取上一級CDN節點或業務服務器的數據。
全局部署方案,移動邊緣CDN節點提供完整的CDN節點功能,在支持上述簡易部署方案移動邊緣CDN節點功能的前提下,還需接受全局負載均衡設備的統一調度。根據移動邊緣CDN節點由運營商部署和與CDN廠商共享部署的差異,全局負載均衡設備可由運營商統一的對外能力開放平臺承載,也可直接使用CDN廠商的全局負載均衡設備。
傳統CDN業務訪問流程[13-14]中,當用戶發起業務請求后,通常先由本地DNS服務器或網站DNS服務器對用戶請求進行解析,解析結果指向CDN系統的全局負載均衡設備,再由全局負載均衡設備選擇為用戶服務的CDN節點,并將地址發送給用戶,進而用戶向CDN節點發出請求并得到響應數據。
在移動邊緣CDN節點的簡易部署方案中,若商務模式上邊緣CDN的部署是與外部CDN廠商合作完成,邊緣CDN節點可部分按照上述傳統CDN業務訪問流程中DNS解析的過程實現,即當本地DNS服務器向用戶反饋指向CDN系統的全局負載均衡設備的域名、CNAME或IP地址后,邊緣CDN節點識別指向全局負載均衡的標識,確定為合作CDN廠商的全局負載均衡設備,則向用戶反饋邊緣CDN內容存儲設備的IP地址。具體業務流程如圖2所示。

圖2 簡易部署方案(CDN廠商合作)業務流程
與CDN廠商合作的簡易部署方案業務流程如下。
a)用戶向瀏覽器輸入域名www.abc.com,瀏覽器向本地DNS服務器發起DNS請求。
b)若本地DNS服務器中沒有該域名的緩存記錄,則向該網站的DNS服務器請求。
c)網站的DNS域名解析器設置了CNAME,指向了CDN網絡中的全局負載均衡器,地址為www.abc.com.cdn.com,并將解析信息發送給本地DNS服務器。
d)本地DNS域名解析服務器將該信息反饋給用戶。
e)用戶重新向DNS發起對www.abc.com.cdn.com域名的解析請求。
f)移動邊緣服務器識別用戶發出的DNS請求后,識別并判斷該域名對應的業務是否由該邊緣CDN節點提供CDN下沉服務,若判斷結果肯定,則移動邊緣服務器向該用戶發出DNS域名解析消息,該消息可以為1個指定的IP地址。
g)用戶向移動邊緣服務器反饋的IP地址請求數據。
h)邊緣CDN節點將存儲的該請求對應的業務數據發送給用戶。
若商務模式上邊緣CDN的部署直接與業務源廠商合作,則邊緣CDN節點可進一步簡化DNS解析過程,即邊緣CDN節點直接存儲支持使用邊緣CDN服務的源DNS列表,當接收到用戶發出的初始業務請求后,直接判斷和反饋邊緣CDN內容存儲設備的IP地址,可進一步降低DNS解析時延。具體業務流程如圖3所示。
與業務源廠商合作的簡易部署方案的業務流程如下。
a)用戶向瀏覽器輸入域名www.abc.com,瀏覽器就該域名發起DNS請求。
b)移動邊緣服務器通過識別用戶發出的DNS請求,并識別域名信息,判斷該用戶及該業務是否可以享受本節點提供的CDN下沉服務,若判斷結果為由該邊緣CDN節點提供服務,移動邊緣服務器向該用戶發出DNS域名解析消息,該消息可以為1個指定的IP地址。
c)用戶向移動邊緣服務器反饋的IP地址請求數據。
d)邊緣CDN節點判斷是否存儲了該用戶請求的業務內容,若未存儲則向上一級CDN節點或業務服務器請求該數據。
e)邊緣CDN節點接受上一級業務節點推送的業務數據。
f)邊緣CDN節點將業務數據發送給用戶,同時將業務數據存儲在邊緣CDN內容存儲器中。

圖3 簡易部署方案(業務源廠商合作)業務流程

圖4 全局部署方案業務流程
簡易部署方案雖然業務流程簡單,部署上互通接口配置簡單,但也存在只能實現“一點對多點”服務的弊端,即一個移動邊緣CDN節點只能固定的為一組基站服務,且移動邊緣CDN節點與移動接入網外的CDN節點也完全割裂,不能進行統一調度。當移動邊緣CDN節點部署的數量較少時,可以使用簡易部署方案實現快速部署,但當移動邊緣CDN節點部署數量較多時,就存在整體效率不足的問題。
全局部署方案則是將邊緣CDN節點融入整體的CDN體系中,接受全局負載均衡器的統一調度,尤其當邊緣CDN節點之間以及與移動接入網外的CDN節點間負載不均衡時,可以實現最優的調度效率和服務效益。全局部署方案的業務流程如圖4所示。
全局部署方案的業務流程如下。
a)用戶向瀏覽器輸入域名www.abc.com,瀏覽器向本地DNS服務器發起DNS請求。
b)若本地DNS服務器中沒有該域名的緩存記錄,則向該網站的DNS服務器請求。
c)網站的DNS域名解析器設置了CNAME,指向了CDN網絡中的全局負載均衡器,地址為www.abc.com.cdn.com,并將解析信息發送給本地DNS服務器。
d)本地DNS域名解析服務器將該信息反饋給用戶。
e)用戶重新向DNS發起對www.abc.com.cdn.com域名的解析請求。
f)本地DNS服務器向CDN系統的全局負載均衡器請求域名解析。
g)全局負載均衡器中存儲了多條配置記錄,根據每個記錄指向不同的CDN節點,這些CDN節點中包括邊緣CDN節點,也包括位于P-GW后端的CDN節點,負載均衡器根據各節點反饋的狀態信息,判斷是否為該用戶下發指向邊緣CDN節點的記錄,判斷結果肯定,則將指定的CNAME域名或IP地址下發給本地DNS服務器。
h)本地DNS服務器將該域名信息或IP地址信息返回給用戶。
i)用戶向該IP地址或域名信息對應的IP地址請求數據。
j)邊緣服務器識別出該IP地址指向自身的CDN下沉服務,進而進行邊緣CDN節點內的負載均衡,選取該節點中最優緩存服務器為該用戶提供服務,由于是第一次訪問,緩存服務器并未存儲對應的業務數據,邊緣CDN節點根據瀏覽器提供的要訪問的域名,通過內部專用DNS解析得到此域名的源IP地址或上一級CDN節點的IP地址,再由緩存服務器向此實際IP地址提交訪問請求,取得數據后邊緣CDN節點緩存該內容。
k)邊緣CDN節點選定的緩存服務器將業務數據返回給用戶。
移動接入網中的CDN下沉技術,將CDN節點從移動接入網外進一步下沉至接入網內,從而直接降低移動用戶訪問業務的時延。
在部署區域上,考慮到命中率問題,一般盡量將邊緣CDN節點部署在業務熱點且訪問內容較為集中的區域,可以獲得較高的部署收益,例如校園、工業園區的宿舍區,部分寬帶入戶率低的居民區(例如城中村)等。
在業務類型上,主要服務于網頁、視頻、應用和文件下載等靜態內容,也可結合其他邊緣計算能力服務于動態內容??紤]到與傳統CDN不同,通常一個邊緣CDN節點服務的用戶數更少,因此業務命中率也極大地影響了服務效率和部署效益,因此,可優先考慮服務于熱點點播視頻、熱點應用或手機系統安裝、更新包等內容。
此外,邊緣CDN節點還可承載部分特定計算能力以進一步降低用戶業務時延,例如可由CDN節點配置專用SSL加速硬件完成SSL應用的加密和解密運算工作,并建立認證通道完成數據傳輸;也可由CDN節點實現網頁中flash或圖片等內容的壓縮,進而減少數據傳輸量,加快業務內容傳輸速度。
本文從介紹傳統CDN系統的功能組成和物理組成出發,提出了將CDN節點下沉到移動接入網中的系統架構,并分析了部署復雜度低的簡易部署方案和邊緣CDN節點受全局負載均衡器調度的全局部署方案的特點和實現方案,給出了與CDN廠商合作和與業務源廠商合作2種模式下簡易部署及全局部署的具體業務流程,最后給出了CDN下沉技術從部署區域和業務類型等角度出發的主要應用場景。