• <menu id="w4s2y"></menu>
    <optgroup id="w4s2y"><code id="w4s2y"></code></optgroup>
    <menu id="w4s2y"><tt id="w4s2y"></tt></menu>
  • <input id="w4s2y"></input>
    <menu id="w4s2y"><u id="w4s2y"></u></menu>
  • <input id="w4s2y"></input>
    <input id="w4s2y"><u id="w4s2y"></u></input>
  • <menu id="w4s2y"><u id="w4s2y"></u></menu>
  • 百度云

    新聞詳情

    為您提供行業資訊、活動公告、產品發布,以及匯聚前沿的云計算技術

    當前位置: > 信息中心 > 新聞中心 > 正文
    09
    202029

    CDN的原理及工作場景

    • 時間:2020-09-29 16:57
    • 閱讀:121

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

    簡單來說,CDN就是為了網絡內容訪問速度“更快“而生的。那么如今的網絡本身四通八達,為什么還需要CDN呢?

    一、為什么需要CDN?

    舉個簡單的例子,假設我們忽略網絡傳輸的損耗、設備延時,網絡傳輸速度接近光速,是30萬公里每秒,從東京到美國硅谷的距離大概為1萬公里,也就是說,如果你的服務器在東京,你上傳了一張很小的圖片,美國用戶訪問至少需要60毫秒。而且,這只是理論數據,現實世界中,網絡環境是十分復雜的,跨地域、跨運營商、網絡擁塞、抖動等問題,都會積少成多,使得延時成倍增加,還有可能訪問失敗,最終影響訪問體驗。

    CDN的出現,正是為了解決這個問題。我們將這張圖片分發并緩存在美國的CDN節點之上,美國用戶就無需從東京獲取數據,直接從就近的美國本地CDN節點獲取到圖片,這大大節省了傳輸時間,提升訪問效率。CDN的節點通常會遍布全球,源站的文件會被被緩存到世界各地,這樣全球用戶都可以實現快速訪問。

    它有點像分布于各地的倉儲物流點,很多品牌會預先在倉儲物流點儲備一些爆款商品(靜態文件使用CDN進行緩存),當用戶從電商平臺下單購買貨物的時候(用戶發起請求),平臺根據用戶的收獲地址就近匹配到最近的倉儲物流點并直接進行派貨(就近分發),讓用戶以最快的速度拿到快遞包裹(分發的內容)。我們可以用實際的生活經驗來做個對比,如果從江浙滬包郵區寄給杭州的用戶,一般第二天就能到,如果是從北京、深圳發貨,一般需要2-3天!

    這就是CDN的緣起。簡單來說,它就是一個分布式的緩存服務器,主要作用就是盡可能減少資源在轉發、傳輸、鏈路抖動等情況下的時延,保障信息的連貫與極速。當下,我們生活在互聯網世界,視頻和直播在數據上有巨大的吞吐量,CDN扮演著護航者和加速者的角色,更快速、穩定地將信息觸達每一個用戶。

    二、CDN的工作原理

    下面,我們來進一步了解下CDN的工作原理。首先,關于CDN的那些名詞,需要掃個盲

    Origin Server源站:做 CDN之前的客戶真正的服務器。

    User:訪問者,也就是要訪問網站的網民。

    Last Mile:最后一公里,也就是網民到他所訪問到的 CDN 服務器之間的路徑。

    域名:域名是Internet網絡上的一個服務器或一個網絡系統的名字,全世界,沒有重復的域名。

    CNAME記錄:它是一個別名記錄( Canonical Name );當 DNS 系統在查詢 CNAME 左面的名稱的時候,都會轉向 CNAME 右面的名稱再進行查詢,一直追蹤到最后的 PTR 或 A 名稱,成功查詢后才會做出回應,否則失敗。

    CNAME域名:CDN的域名加速需要用到CNAME記錄,在阿里云控制臺配置完成CDN加速后,您會得到一個加速后的域名,稱之為CNAME域名(該域名一定是.kunlun.com), 用戶需要將自己的域名作CNAME指向這個.kunlun.com的域名后,域名解析的工作就正式轉向阿里云,該域名所有的請求都將轉向阿里云CDN的節點。

    DNS:DNS即Domain Name System,是域名解析服務的意思。它在互聯網的作用是:把域名轉換成為網絡可以識別的ip地址。人們習慣記憶域名,但機器間互相只認IP地址,域名與IP地址之間是一一對應的,它們之間的轉換工作稱為域名解析,域名解析需要由專門的域名解析服務器來完成,整個過程是自動進行的。比如:上網時輸入的www.baidu.com會自動轉換成為220.181.112.143

    邊緣節點:也稱CDN節點、Cache節點等;是相對于網絡的復雜結構而提出的一個概念,指距離最終用戶接入具有較少的中間環節的網絡節點,對最終接入用戶有較好的響應能力和連接速度。其作用是將訪問量較大的網頁內容和對象保存在服務器前端的專用cache設備上,以此來提高網站訪問的速度和質量。

    Cache:cache高速緩沖存儲器一種特殊的存儲器子系統,其中復制了頻繁使用的數據以利于快速訪問。存儲器的高速緩沖存儲器存儲了頻繁訪問的RAM位置的內容及這些數據項的存儲地址。當處理器引用存儲器中的某地址時,高速緩沖存儲器便檢查是否存有該地址。如果存有該地址,則將數據返回處理器;如果沒有保存該地址,則進行常規的存儲器訪問。因為高速緩沖存儲器總是比主RAM存儲器速度快,所以當RAM的訪問速度低于微處理器的速度時,常使用高速緩沖存儲器。、

    接下來是CDN的工作原理,最簡單的CDN網絡由一個DNS服務器和幾臺緩存服務器組成,如下圖所示:

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

    ②CDN的DNS服務器將CDN的全局負載均衡設備IP地址返回用戶。

    ③用戶向CDN的全局負載均衡設備發起內容URL訪問請求。

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

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

    ⑥全局負載均衡設備把服務器的IP地址返回給用戶。

    ⑦用戶向緩存服務器發起請求,緩存服務器響應用戶請求,將用戶所需內容傳送到用戶終端。如果這臺緩存服務器上并沒有用戶想要的內容,而區域均衡設備依然將它分配給了用戶,那么這臺服務器就要向它的上一級緩存服務器請求內容,直至追溯到網站的源服務器將內容拉到本地。

    三、CDN可以應用在哪些場景?

    1、網站與應用加速

    網站或者應用中大量靜態資源的加速分發,如各類型圖片、html、css、js文件等,可以通過CDN緩存到邊緣節點上,當用戶訪問即可就近獲取。網站內容也存在相當一部分動態內容,比如電子商務、游戲和企業應用類網站,會存在很多如.aspx、.asp、.jsp、.php等為后綴的動態請求加速。通常緩存對靜態內容支持得較好,而當面臨動態內容請求的時候,一般會回源,源站再將內容傳節點,進而傳給用戶,傳輸鏈路步驟增多,這勢必會影響傳輸質量與效率。所以針對動態內容,CDN也提出了新的加速方法,就是利用智能選路、傳輸協議優化等算法尋找最快的傳輸路徑,自動躲避擁堵和不穩定線路,以此來提升回源效率,實現動、靜混合網站的加速效果保障。

    2、視頻、大文件下載分發加速

    CDN可以針對各類文件、在線點播視頻提供下載、分發加速,比如mp4、flv視頻文件或者單個文件大小在20M以上的安裝包等文件,CDN可以搭配對象存儲OSS使用,提升回源速度,節約近2/3回源帶寬成本。

    3、直播加速

    在體育或者游戲賽事直播中,通常成千上萬的用戶瞬間涌入,直播平臺要承擔高并發訪問,一旦帶寬不足,用戶的觀看就會產生卡頓、延時、評論刷不出來、連麥不成功,甚至最后直播直接癱瘓,用戶無法觀看。CDN結合彈性伸縮服務,及時調整服務器帶寬,應對突發訪問流量。可以為直播分發提供流暢的播放下行鏈路,借助負載均衡系統將將主播端采集的音視頻數據推送到接近用戶的數千個邊緣節點,當觀眾端發起請求,就可以就近取得資源,減少網絡抖動風險,增加直播鏈路穩定性和流暢性。

    4、移動應用加速

    CDN可以為移動APP更新文件(apk文件)分發,移動APP內圖片、頁面、短視頻、UGC等內容的優化提供加速分發效果。提供httpDNS服務,避免DNS劫持并獲得實時精確的DNS解析結果,有效縮短用戶訪問時間,提升用戶體驗。


    熱門新聞資訊
    咨詢
    QQ
    客服
    7x24小時客服電話

    客服電話 400-678-0612
    微信

    關注官方微信
    領取千元優惠券

    地址