組成部分
CDN是一種組合技術,其中包括源站、快取伺服器、智慧型DNS、客戶端等幾個重要部分。
源站
源站指發布內容的原始站點。添加、刪除和更改網站的檔案,都是在源站上進行的;另外快取伺服器所抓取的對象也全部來自於源站。
快取伺服器
快取伺服器是直接提供給用戶訪問的站點資源,有一台或數台伺服器組成;當用戶發起訪問時,他的訪問請求被智慧型DNS定位到離他較近的快取伺服器。如果用戶所請求的內容剛好在快取裡面,則直接把內容返還給用戶;如果訪問所需的內容沒有被快取,則快取伺服器向鄰近的快取伺服器或直接向源站抓取內容,然後再返還給用戶。
智慧型DNS
智慧型DNS是整個CDN技術的核心,它主要根據用戶的來源,將其訪問請求指向離用戶比較近的快取伺服器,如把廣州電信的用戶請求指向到廣州電信IDC機房中的快取伺服器。通過智慧型DNS解析,讓用戶訪問同服務商下的伺服器,消除國內南北網路互相訪問慢的問題,達到加速作用。智慧型DNS的出現,顛覆了傳統的一個域名對應一個鏡像的做法,讓用戶更加便捷的去訪問網站。
客戶端
客戶端或稱用戶端即發起訪問的普通用戶,一般的訪問方式是瀏覽器。這裡就不再做詳細說明。
實現原理
下面,我們以一個示圖來展現一下CDN技術中各組件之間的關係及實現用戶訪問源站點的流程。
以上示圖展現了兩種非常典型的訪問形式,基本上能反映整個CDN技術的原理。
形式A
形式A:當“A網用戶”訪問被CDN加速的站點 時,從本地的DNS查詢域名,最終可能在全局智慧型DNS伺服器得到所訪問域名所對應的IP位址,即圖所示:A網的快取伺服器的IP;接著A網用戶的瀏覽器向A網的快取伺服器發起訪問請求,非常幸運的是所需的默認頁面檔案正好被快取在A網的快取伺服器里,於是快取伺服器立即返還數據,完成一次訪問請求。
形式B:當B網用戶訪問被CDN加速的站點時,從本地的DNS查詢域名,最終可能在全局智慧型DNS伺服器得到所訪問域名所對應的IP位址,即圖7所示:B網的快取伺服器的IP;接著B網用戶瀏覽器向B網的快取伺服器發起訪問請求,但是快取伺服器並沒有快取默認頁面檔案,它需要先從源站獲取得到這個對象,快取並把內容返還給B網用戶。B網快取伺服器通過內部DNS知道源站在位置。