DNS伺服器 和CDN
阿新 • • 發佈:2018-11-08
整個網頁請求的流程如下:
我們先在瀏覽器輸入域名,然後通過DNS(Domain Name System) 域名解析系統解析出來域名的對應的IP,然後傳送請求得到響應返回給客戶端,整個流程如下:
那我們先了解一下DNS
一:什麼叫DNS
DNS(Domain Name Server,域名伺服器)是進行域名(domain name)和與之相對應的IP地址 (IP address)轉換的伺服器。DNS中儲存了一張域名(domain name)和與之相對應的IP地址 (IP address)的表,以解析訊息的域名。 域名是Internet上某一臺計算機或計算機組的名稱,用於在資料傳輸時標識計算機的電子方位(有時也指地理位置)。域名是由一串用點分隔的名字組成的,通常包含組織名,而且始終包括兩到三個字母的字尾,以指明組織的型別或該域所在的國家或地區。 DNS是計算機
二:DNS的工作原理
DNS分為傳統的網路訪問形式為:
由上圖可見,使用者訪問未使用CDN快取網站的過程為:
- 使用者向瀏覽器提供要訪問的域名;
- 瀏覽器呼叫域名解析函式庫對域名進行解析,以得到此域名對應的IP地址;
- 瀏覽器使用所得到的IP地址,域名的服務主機發出資料訪問請求;
- 瀏覽器根據域名主機返回的資料顯示網頁的內容。
通過以上四個步驟,瀏覽器完成從使用者處接收使用者要訪問的域名到從域名服務主機處獲取資料的整個過程。CDN網路是在使用者和伺服器之間增加Cache層,如何將使用者的請求引導到Cache上獲得源伺服器的資料,主要是通過接管DNS實現,下面讓我們看看訪問使用CDN快取後的網站的過程:
CDN客戶使用CDN的方法:
對於CDN客戶來說,不需要改動網站架構,只需要修改自己的DNS解析,設定一個CNAME指向CDN服務商即可。原理在下面會解釋
通過上圖,我們可以瞭解到,使用了CDN快取後的網站的訪問過程變為:
- 使用者向瀏覽器提供要訪問的域名;
- 瀏覽器呼叫域名解析庫對域名進行解析,由於CDN對域名解析過程進行了調整,所以解析函式庫得到的是該域名對應的CNAME記錄(由於現在已經是使用了CDN服務,CNAME為CDN服務商域名),為了得到實際IP地址,瀏覽器需要再次對獲得的CNAME域名進行解析以得到實際的IP地址;在此過程中,使用的全域性負載均衡DNS解析,如根據地理位置資訊解析對應的IP地址,使得使用者能就近訪問。(CDN服務來提供最近的機器)
- 此次解析得到CDN快取伺服器的IP地址,瀏覽器在得到實際的IP地址以後,向快取伺服器發出訪問請求;
- 快取伺服器根據瀏覽器提供的要訪問的域名,通過Cache內部專用DNS解析得到此域名的實際IP地址,再由快取伺服器向此實際IP地址提交訪問請求;
- 快取伺服器從實際IP地址得得到內容以後,一方面在本地進行儲存,以備以後使用,二方面把獲取的資料返回給客戶端,完成資料服務過程;
- 客戶端得到由快取伺服器返回的資料以後顯示出來並完成整個瀏覽的資料請求過程。
概念解析:
CNAME(Canonical Name)指別名記錄也被稱為規範名字,CNAME可以理解為對域名設定別名。比如一個域名www.domain.com,設定一個CNAME指向它,由於www.domain.com與一個ip進行繫結,如果設定多個CNAME指向它,以後修改CNAME指向的伺服器時,只需要修改一個www.domain.com對應的ip即可。詳細可以參考dns一些名詞解釋,