CDN基本工作過程 (轉)

水中花world發表於2018-05-23

  使用CDN會極大地簡化網站的系統維護工作量,網站維護人員只需將網站內容注入CDN的系統,通過CDN部署在各個物理位置的伺服器進行全網分發,就可以實現跨運營商、跨地域的使用者覆蓋。由於CDN將內容推送到網路邊緣,大量的使用者訪問被分散在網路邊緣,不再構成網站出口、互聯互通點的資源擠佔,也不再需要跨越長距離IP路由了。

  CDN是如何工作的呢?讓我們先看看沒有CDN服務時,一個網站是如何向使用者提供服務的。

  今天我們看到的網站系統基本上都是基於B/S架構的。B/S架構,即Browser-Server(瀏覽器 伺服器)架構,是對傳統C/S架構的一種變化或者改進架構。在這種架構下,使用者只需使用通用瀏覽器,主要業務邏輯在伺服器端實現。B/S架構,主要是利用了不斷成熟的WWW瀏覽器技術,結合瀏覽器的多種Script語言(VBScript、JavaScript等)和ActiveX等技術,在通用瀏覽器上實現了C/S架構下需要複雜的軟體才能實現的強大功能。

  使用者通過瀏覽器等方式訪問網站的過程如圖1-2所示。

這裡寫圖片描述

①使用者在自己的瀏覽器中輸入要訪問的網站域名。

②瀏覽器向本地DNS伺服器請求對該域名的解析。

③本地DNS伺服器中如果快取有這個域名的解析結果,則直接響應使用者的解析請求。

④本地DNS伺服器中如果沒有關於這個域名的解析結果的快取,則以遞迴方式向整個DNS系統請求解析,獲得應答後將結果反饋給瀏覽器。

⑤瀏覽器得到域名解析結果,就是該域名相應的服務裝置的IP地址。

⑥瀏覽器向伺服器請求內容。

⑦伺服器將使用者請求內容傳送給瀏覽器。

  在網站和使用者之間加入CDN以後,使用者不會有任何與原來不同的感覺。最簡單的CDN網路有一個DNS伺服器和幾臺快取伺服器就可以執行了。一個典型的CDN使用者訪問排程流程如圖1-3所示。

這裡寫圖片描述

①當使用者點選網站頁面上的內容URL,經過本地DNS系統解析,DNS系統會最終將域名的解析權交給CNAME指向的CDN專用DNS伺服器。

②CDN的DNS伺服器將CDN的全域性負載均衡裝置IP地址返回使用者。

③使用者向CDN的全域性負載均衡裝置發起內容URL訪問請求。

④CDN全域性負載均衡裝置根據使用者IP地址,以及使用者請求的內容URL,選擇一臺使用者所屬區域的區域負載均衡裝置,告訴使用者向這臺裝置發起請求。

⑤區域負載均衡裝置會為使用者選擇一臺合適的快取伺服器提供服務,選擇的依據包括:根據使用者IP地址,判斷哪一臺伺服器距使用者最近;根據使用者所請求的URL中攜帶的內容名稱,判斷哪一臺伺服器上有使用者所需內容;查詢各個伺服器當前的負載情況,判斷哪一臺伺服器尚有服務能力。基於以上這些條件的綜合分析之後,區域負載均衡裝置會向全域性負載均衡裝置返回一臺快取伺服器的IP地址。

⑥全域性負載均衡裝置把伺服器的IP地址返回給使用者。

⑦使用者向快取伺服器發起請求,快取伺服器響應使用者請求,將使用者所需內容傳送到使用者終端。如果這臺快取伺服器上並沒有使用者想要的內容,而區域均衡裝置依然將它分配給了使用者,那麼這臺伺服器就要向它的上一級快取伺服器請求內容,直至追溯到網站的源伺服器將內容拉到本地。

  DNS伺服器根據使用者IP地址,將域名解析成相應節點的快取伺服器IP地址,實現使用者就近訪問。使用CDN服務的網站,只需將其域名解析權交給CDN的GSLB裝置,將需要分發的內容注入CDN,就可以實現內容加速了。

轉載地址:http://book.51cto.com/art/201205/338756.htm

相關文章