专用DNS的CDN工作流程
域名系統的前世。
域名系統之所以產生,是因為用戶在198.26.92.33點10進制的IP地址訪問互聯網主機時記不住。因此,早在ARPANET(美國國防部高級研究計劃署開發的世界上第一個運營的封包交換網絡)時代,就在hosts文件中配置了主機名稱與IP地址的對應關系。
隨后,隨著主機在互聯網上的爆炸和增長,計算機科學家保羅·莫卡派喬斯設計了域名系統,即DomainNameSystem。DNS強調域的概念是在線分布式數據庫系統,采用客戶端-服務器模式。
現在在自己的電腦上,還是可以通過配置hosts對應IP地址來訪問所需的網頁。
域名是什么樣的?
(1)中國媒體大學官方網站域名:cuc.edu.cn。
(2)華為官頁域名:huawei.com。
IPV6反向解析域名:ip6.apra。
可見域名的結構是分層的:…三級域名.二級域名.頂級域名,具體見下圖。
頂級域名主要分為三類:
(1)國家頂級域名nTLD(NationalTop-LevelDomain):例如,cn用China表示中國,us用TheUnitedStates表示美國。
(2)通用頂級域名gTLD(genericTop-LevelDomain):例如,com代表商業機構,org代表Organizations代表非營利組織。
(3)基礎結構域名(infrastructuredomain):這樣的域名很少見,例如ipv6.arpa,用于域名反向解析為IPV6地址。
域名服務器。
從域名到IP地址的分析需要調用域名服務器程序,運行域名分析程序的服務器稱為域名服務器。域名服務器管轄域名,非常強大,可以根據區域管理。區域最大時等于域。請參見下圖。
域名服務器分為四類:
(1)根域名服務器。了解所有頂級域名服務器的域名和IP地址。如果本地域名服務器無法解析域名,需要幫助根域名服務器,根域名服務器會告訴下一步要找哪個頂級域名服務器。從a.root-servers.net到m.root-servers.net。
根域名服務器有13個不同的IP地址(不代表只有13個域名服務器,而是13個設備,里面有很多域名服務器)。
(2)頂級域名服務器。管理所有二級域名服務器的域名和知識產權地址。
(3)權限域務器。管理下一級域名服務器的域名和IP地址。
(4)本地域名服務器。當主機發送DNS查詢請求時,首先要通過本地域名服務器進行查詢,每個因特網服務提供商ISP或大學或企業都可以擁有本地域名服務器,通常可以在PC上設置,Windows設置見下圖。
如何分析域名?
一般情況下,主機向本地域名服務器采用遞歸查詢(recursivequery),即主機向本地域名服務器詢問,當本地域名服務器不知道時,繼續作為DNS客戶向根域名服務器發送查詢請求報文,而不是讓主機進行下一步的查詢。一般情況下,本地域名服務器采用迭代查詢(iterativequery),這意味著根域名服務器返回到本地域名服務器需要查詢的IP地址,或告訴本地域名服務器下一步要向哪一個頂級域名服務器查詢,或者報錯不能查詢到所需的IP地址,具體情況如下圖,以查詢ww.cuc.edu.cn域名為例。
總共有10個步驟使用10個UDP用戶數據報告的報告,本地域名服務器進行4次迭代查詢后,從dns.cuc.edu.cn中獲得www.cuc.edu.cn的IP地址(1)用戶主機向本地域名服務器遞歸查詢。
(2)本地域名服務器采用迭代查詢,首先選擇根域名服務器d.root-servers.net查詢。
(3)根域名服務器d.root-servers.net告訴本地域名服務器,下次應該查詢的頂級域名服務器cn的地址x.dns.cn和相應的IP地址。
(4)本地域名服務器選擇頂級域名服務器e.dns.cn進行查詢。
(5)頂級域名服務器e.dns.cn告訴本地域名服務器,權限域名服務器edu.cn的域名地址x.edu.cn(很多,以下dig中的ns.cernet.net是中國教育和科研計算機網絡的域名服務器地址)和相應的IP地址。
(6)本地域名服務器選擇權限域名服務器dns.edu.cn查詢。
(7)權限域名服務器dns.edu.cn告訴本地域名服務器,權限域名服務器cuc.edu.cn的域名地址bdns.cuc.edu.cn、bdns2.cuc.edu.cn、pdns.cuc.edu.cn以及相應的IP地址。
(8)本地域名服務器選擇權限域名服務器bdns.cuc.edu.cn查詢。
(9)權限域名服務器bdns.cuc.edu.cn告訴本地域名服務器www.cuc.edu.cnIP地址。
(10)本地域名服務器告訴主機www.cuc.edu.cnIP地址。
安裝dig.exe后,在Windows中使用digww.cuc.edu.cn+trace命令行查詢解析過程如下:
另外一個DNS查詢方式:主機和本地域名服務器都是遞歸查詢,如下圖所示。
英文CDN全名ContentDelivery。
Network,也就是內容分發網絡。CDN建立在現有網絡之上,將網站內容分發到最接近用戶的邊緣節點。例如,假設廣州用戶想訪問的服務器在北京。使用CDN技術后,用戶不需要爬山,而是通過各種網絡直接訪問廣州的CDN邊緣節點。
常規DNS解析訪問。
使用CDN后的訪問。
(1)用戶將域名www.huawei.com提交給本地域名服務器進行查詢。
(2)本地域名服務器反復查詢huawei.com域名服務器返回CNAME解析的地址www.huawei.com.akadns.net。
(3)本地域名服務器迭代查詢www.huawei.com.akadns.net通過dig+trace命令跟蹤發現,再次從CNAME到www.huawei.com.lxdns.com,具體原因尚不深入,暫時認為此www.huawei.com.lxdns.com是真正的CDNS域名服務器地址;本地域名服務器再次迭代查詢ww.huawei.com.lxdns.com的IP地址。
(4)通過DNS全球負載平衡和區域負載平衡等一系列智能安排,分配CDN節點,確定www.huawei.com.lxdns.comIP地址。
全球負載平衡設備根據用戶的IP地址和用戶要求的內容URL,選擇用戶所區域的區域負載平衡設備。
區域負載平衡設備將為用戶選擇合適的緩存服務器提供服務。選擇的依據包括:根據用戶的知識產權地址,判斷哪個服務器離用戶最近;根據用戶要求的URL中攜帶的內容名稱,判斷哪個服務器上有用戶需要的內容;查詢每個服務器的當前負載情況,判斷哪個服務器還有服務能力。基于以上條件的綜合分析,區域負載平衡設備將全球負載平衡設備的IP地址。
(5)返回CDNserver的IP地址。
(6)返回CDN域名www.huawei.com.lxdns.comIP地址。
(7)返回www.huawei.com對應的CDN域名www.huawei.com.lxdns.comIP地址(8)用戶訪問與www.huawei.com.lxdns.comIP地址對應的CDNserver(CDN節點),如果有緩存,則直接返回到步驟11。否則,步驟9回源,步驟10,步驟11,返回數據。
靜態加速是指對網頁中的靜態資源(包括html文件、CSS文件、js文件、圖片、flash動畫等)進行CDN節點緩存,使用戶在訪問網頁中的靜態資源時,可以獲得CDN邊緣節點緩存;當訪問網頁中的動態資源,如asp、php、jsp等時,可以從源站中獲取,從而實現動態分離,從而達到加速的目的。動態分離的優點是用戶訪問網站時,靜態資源直接從最近的CDN節點緩存中獲取(具體架構見使用CDN后的訪問,以訪問www.huawei.com為例),減少用戶訪問靜態資源的時間,減少源站服務器的帶寬壓力和靜態資源訪問壓力。
動態加速是指在CDN的DNS分析中,通過動態鏈路探測,監控網絡環境的變化,監控各地的網絡延遲,找到最穩定、最高效、最快的路徑,恢復動態資源,實現動態資源(如asp、php、jsp等)的加速。
總結
以上是生活随笔為你收集整理的专用DNS的CDN工作流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CDN加速服务有什么功能和作用?
- 下一篇: 10(low-e)+12A+10+12A