tft每日頭條

 > 生活

 > cdn内容分發安全性

cdn内容分發安全性

生活 更新时间:2024-09-01 23:19:36
CDN簡介

CDN的全稱是Content Delivery Network,即内容分發網絡。CDN是構建在現有網絡基礎之上的智能虛拟網絡,依靠部署在各地的邊緣服務器,通過中心平台的負載均衡、内容分發、調度等功能模塊,使用戶就近獲取所需内容,降低網絡擁塞,提高用戶訪問響應速度和命中率。CDN的關鍵技術主要有内容存儲和分發技術。

簡而言之,就是将數據部署在各地的服務器中,通過負載均衡技術,讓用戶就近獲取服務器中的數據。

CDN原理

CDN的基本原理是廣泛采用各種緩存服務器,将這些緩存服務器分布到用戶訪問相對集中的地區或網絡中,在用戶訪問網站時,利用全局負載技術将用戶的訪問指向距離最近的工作正常的緩存服務器上,由緩存服務器直接響應用戶請求。

全局負載均衡主要用于在多個區域擁有自己服務器的站點,為了使全球用戶隻以一個IP地址或域名就能訪問到離自己最近的服務器,從而獲得最快的訪問速度。

CDN的基本思路是盡可能避開互聯網上有可能影響數據傳輸速度和穩定性的瓶頸和環節,使内容傳輸的更快、更穩定。通過在網絡各處放置節點服務器所構成的在現有的互聯網基礎之上的一層智能虛拟網絡,CDN系統能夠實時地根據網絡流量和各節點的連接、負載狀況以及到用戶的距離和響應時間等綜合信息将用戶的請求重新導向離用戶最近的服務節點上。其目的是使用戶可就近取得所需内容,解決 Internet網絡擁擠的狀況,提高用戶訪問網站的響應速度。

cdn内容分發安全性(全局負載均衡與CDN内容分發)1

CDN功能

歸納起來,CDN具有以下主要功能:

  1. 節省骨幹網帶寬,減少帶寬需求量;
  2. 提供服務器端加速,解決由于用戶訪問量大造成的服務器過載問題;
  3. 服務商能使用Web Cache技術在本地緩存用戶訪問過的Web頁面和對象,實現相同對象的訪問無須占用主幹的出口帶寬,并提高用戶訪問因特網頁面的相應時間的需求;
  4. 能克服網站分布不均的問題,并且能降低網站自身建設和維護成本;
  5. 降低“通信風暴”的影響,提高網絡訪問的穩定性。
CDN服務模式

簡單地說,内容分發網絡(CDN)是一個經策略性部署的整體系統,包括分布式存儲、負載均衡、網絡請求的重定向和内容管理4個要件,而内容管理和全局的網絡流量管理(Traffic Management)是CDN的核心所在。通過用戶就近性和服務器負載的判斷,CDN确保内容以一種極為高效的方式為用戶的請求提供服務。總的來說,内容服務基于緩存服務器,也稱作代理緩存(Surrogate),它位于網絡的邊緣,距用戶僅有"一跳"(Single Hop)之遙。

同時,代理緩存是内容提供商源服務器(通常位于CDN服務提供商的數據中心)的一個透明鏡像。這樣的架構使得CDN服務提供商能夠代表他們客戶,即内容供應商,向最終用戶提供盡可能好的體驗,而這些用戶是不能容忍請求響應時間有任何延遲的。

全局負載均衡

全局負載均衡(Global Server Load Balance, GSLB),全局負載均衡是指對分别放置在不同的地理位置的服務器群間作負載均衡。服務器負載均衡是指對本地的服務器群做負載均衡。主要用于在多個區域擁有自己服務器的站點,為了使全球用戶隻以一個IP地址或域名就能訪問到離自己最近的服務器,從而獲得最快的訪問速度。

服務器群選擇

對于全局負載均衡而言,其核心就是服務器群的選擇。對于某個特定的客戶,應該将其定向到哪一個服務群?應該使用什麼标準來進行這種選擇?一般情況下,主要考慮兩個因素:臨近程度和負載大小。

臨近機制主要考察服務器群與用戶之間的物理距離。選擇地理位置最接近用戶的服務器集群,可以減少服務響應到達用戶所經過的中轉次數,從而降低中轉節點對服務質量的影響。常見的有兩種方式,一種是靜态配置,例如根據靜态的IP地址配置表進行IP地址到服務器群的映射。另一種方式是動态的檢測,例如實時地探測到目标IP的距離(可以采用到達目标IP經過的跳數作為度量單位),然後比較探測結果進行選擇。

負載機制比較各個服務器群的負載,确定由哪一個服務器群來響應請求。在全局負載均衡中,考察的是服務器群的負載,而不是單個服務器的負載,因此,需要更多地考慮普遍的問題,比如,需要考慮站點的最大連接數、站點的平均響應時間、服務質量等。

常見的GSLB實現方式有三種: DNS輪詢、HTTP重定向、IP欺騙(又稱三角傳輸)。這三種實現方式都是在用戶通過域名來訪問目标服務器時,由GSLB設備進行智能決策,将用戶引導到一個最佳的服務IP。

基于DNS的GSLB

用戶訪問某個網站時,需要首先通過域名解析服務(DNS)獲得網站的IP。域名解析通常不是一次性完成的,常常需要查詢若幹不同的域名服務器才能找到對應的IP。如下圖所示,用戶首先在本地配置一個本地DNS服務器地址,本地DNS服務器收到DNS請求後若不能解析,會将請求轉發給更高一級的DNS服務器直到找到域名對應的IP或确定域名不存在。

cdn内容分發安全性(全局負載均衡與CDN内容分發)2

對于加入了GSLB的情況,一個GSLB設備(可能是一個4層交換機)會最終代替DNS服務器完成域名解析。下圖展示兩種流程的不同。

cdn内容分發安全性(全局負載均衡與CDN内容分發)3

基于DNS的GSLB優缺點

優點是:實現簡單、實施容易、成本低。

缺點是:當GSLB設備采用“用戶就近訪問”的原則作為選擇最優服務器的策略時,會存在判斷不準的現象。原因是在這種策略下,GSLB設備是根據用戶IP地址和内容服務器IP地址比較來判斷其就近性的,但由于DNS響應是通過本地DNS服務器到達用戶的,GSLB設備實際上隻能得到用戶的本地DNS服務器地址,若用戶指定的DNS服務器IP不能正确代表用戶的實際位置,就會出現判斷不準的現象。

基于HTTP重定向的GSLB

為了解決基于DNS實現方式判斷不準的問題,又出現了基于HTTP重定向的GSLB。這種方案中GSLB使用HTTP重定向技術,将用戶訪問重定向到最合适的服務器上。

cdn内容分發安全性(全局負載均衡與CDN内容分發)4

使用基于HTTP重定向方案,首先在DNS中将GSLB設備的IP地址登記為域名的A記錄(即域名對應的IP)。如上圖所示,用戶首先通過DNS得到GSLB設備的IP地址,此時用戶以為這就是站點服務器的IP,并向其發送HTTP請求。GSLB設備收到HTTP請求後使用一定策略選擇一個最合适的服務器,然後GSLB設備向用戶發送一個HTTP重定向指令(HTTP302),并附上選出的服務器的IP地址。最後,用戶根據重定向IP訪問站點的服務器。

基于HTTP重定向的GSLB優缺點

優點:由于直接向用戶發送HTTP重定向指令,可以得到用戶的真實IP,從而解決了判斷不準确的問題。

缺點是隻能為HTTP訪問重定向。

基于IP欺騙的GSLB

HTTP重定向方案解決了判斷不準确的問題,但隻能針對HTTP協議應用使用。對于HTTP協議以外的訪問,就需要使用基于IP欺騙(又稱三角傳輸)的GSLB。

cdn内容分發安全性(全局負載均衡與CDN内容分發)5

基于IP欺騙的方案同樣需要首先将GSLB設備的IP地址在DNS中登記為域名的A記錄,這樣用戶對該域名的請求包都會先發送到GSLB設備。如上圖所示,GSLB設備首次收到服務請求包後,會選擇一個最合适的服務器,并将服務請求包發送到該服務器。服務器在向用戶發送響應包時,将其原IP地址字段改為GSLB設備的IP,發送給用戶。

這樣,整個過程對用戶來說,感覺到的隻是GSLB設備在為其提供服務,并不知道其中經曆這樣一個三角傳輸的過程。而且這種方案可以對所有類型的訪問如HTTP、FTP等進行重定向,但其速度和效率相對比前兩種方案要差一點,因為用戶所有的訪問請求都通過三個點才能響應,經曆了更多的路徑和處理,所以其主要作為HTTP重定向方案的補充方案在同一GSLB設備中實現。

服務器群選擇策略

上文中介紹的三種方案,解決了如何将用戶引導到指定服務器群的問題,而在此之前首先需要使用某種方式選出最适合用戶的服務器群,也就是GSLB在選擇服務器群時所采用的策略。接下來介紹一些常用的GSLB策略。

1)地理區域或用戶自定義區域:将若幹條IP地址前綴劃分一個區域内。根據用戶本地DNS的IP地址,将特定IP範圍的用戶優先分配到某個通過健康檢查的站點。

2)IP地址權重:可以為DNS應答中的每個IP地址分配權重,權重決定與其他候選IP相比分配到該IP的流量比例。

3)往返時間(Round Trip Time, RTT):RTT策略是基于區域之外最常用的策略。有兩種模式的RTT測量:Active RTT測量與Passive RTT測量。在實際部署中,由于網絡限制和性能原因,Active RTT往往無法使用,Passive RTT更實用一些。


a) Active RTT 測量:

當GSLB Controller收到來自LDNS的DNS請求時,GSLB Controller會通知所有站點負載均衡設備對該LDNS進行RTT測量。根據采集到的RTT值,GSLB Controller會選擇RTT值最小的站點的VIP返回給LDNS。

由于Active RTT采用DNS Query或ICMP進行RTT測量,在有些網絡中可能會被安全策略所過濾而無法工作。

Active RTT測量會産生額外的DNS Query或ICMP流量,在有些網絡中用戶不希望有太多類似的非用戶流量。

b) Passive RTT測量:

Passive RTT測量指從内容站點收到一個用戶發出連接請求(發送TCN SYN)到接收到用戶的确認(收到TCP ACK)所經曆的時間。而不是簡單地PING的響應時間,可以更精确地衡量訪問最快的站點。

Passive RTT測量不會主動去進行測量,也不會産生額外的數據流量,而是在用戶向返回的VIP建立連接時進行采集。

Passive RTT的測量值真正反映了用戶的上網感受,在運營商網絡中也不會産生額外流量。也不會受到其他運營商或網絡的安全策略的影響。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved