日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

DNS无法解析IP_计算机网络-DNS

發(fā)布時間:2025/3/12 编程问答 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 DNS无法解析IP_计算机网络-DNS 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

DNS

DNS,英文全稱Domain Name System,也就是域名系統(tǒng)。它的作用是:用于解析用戶訪問域名的對應(yīng)IP地址

DNS解析

當我們輸入一個URL,我們的計算機首當其沖就會施展第一道魔法:DNS解析。

做這一步的目的是:為了找到我們輸入的域名的對應(yīng)IP地址,如https://www.baidu.com是域名,他對應(yīng)的ip地址可能是36.152.44.95。

注意:我們在互聯(lián)網(wǎng)上的資源最終都是以ip地址的形式來進行定位的,我們?nèi)粘]斎氲挠蛎皇菫榱朔奖愦蠹矣洃洝.吘瓜啾扔?6.152.44.95這一串數(shù)字的ip地址,我們更容易記得www.baidu.com這種域名形式。

那么,我們的DNS是如何查找到我們輸入域名的對應(yīng)IP呢?我們還是以我們在瀏覽器輸入www.baidu.com為例,它的流程是這樣的:

加速DNS解析:CDN

通過上面的DNS解析過程我們可以看到,DNS解析是一個復(fù)雜的過程,用戶想要請求到域名對應(yīng)的IP地址需要經(jīng)過一層又一層的環(huán)節(jié),所以這個過程是很漫長的。還有一個問題是:我們的一個域名www.baidu.com一般都會存在多個ip對應(yīng),一個ip對應(yīng)一臺服務(wù)器,那么用戶請求的時候應(yīng)該分散到各個服務(wù)器上(應(yīng)該根據(jù)服務(wù)器的遠近和服務(wù)器的狀況進行請求,而不是大家都只請求同一臺服務(wù)器)。

為了解決這些問題,一個名為CDN(Content Delivery Network:內(nèi)容分發(fā)網(wǎng)絡(luò))的解決方案出現(xiàn)了,簡單來講CDN就是一種加速DNS尋址過程的一種手段,CDN的主要由CDN節(jié)點調(diào)度和CDN節(jié)點更新兩部分組成。

CDN節(jié)點調(diào)度

我們之前說到,一個理想的方式是:可以讓用戶訪問到最合適自己的服務(wù)器(服務(wù)器距離近且健康)。CDN的節(jié)點調(diào)度系統(tǒng)就可以幫我們分配節(jié)點完成這樣的需求:CDN調(diào)度系統(tǒng)會把最合適的CDN節(jié)點分配給我們,分配的方式主要靠以下兩種手段:

  • dns調(diào)度:根據(jù)ldns(本地dns)的位置進行節(jié)點就近分配
    • 優(yōu)點:只需一次請求,無需轉(zhuǎn)發(fā)二次請求
    • 缺點:準確性無法保障,用戶的ldns位置可能與實際位置不符(比如:北京聯(lián)通用戶使用深圳電信的LDNS)
    • 適用場景:小文件傳輸(尋址開銷小)
  • http調(diào)度:分析用戶ip,然后通過302轉(zhuǎn)發(fā)到就近的CDN節(jié)點
    • 優(yōu)點:準確性相比于dns要高
    • 缺點:由于通過302轉(zhuǎn)發(fā),所以會請求兩次
    • 適用場景:大文件傳輸(尋址開銷大,但是可以找到更高效的節(jié)點)

    通過這些CDN調(diào)度優(yōu)化,我們就可以尋找到最適合自己的CDN節(jié)點,優(yōu)化頁面的傳輸過程

    CDN節(jié)點更新

    之前我們有說:CDN調(diào)度系統(tǒng)是把最合適的CDN節(jié)點分配給我們,那么CDN節(jié)點里面的內(nèi)容是從何而來呢?當新內(nèi)容更新的時候CDN節(jié)點里的內(nèi)容如何更新?這就要說到我們的第二個點:CDN節(jié)點更新

    CDN節(jié)點更新的方式主要有兩種:

  • 服務(wù)端主動推送:服務(wù)端主動下發(fā)內(nèi)容
  • 問題:服務(wù)端推送不及時可能存在404情況
  • 客戶端被動查詢:客戶端請求時檢查節(jié)點,如果節(jié)點無內(nèi)容/內(nèi)容已過期,則請求新的資源內(nèi)容并存在對應(yīng)的CDN節(jié)點上
  • 優(yōu)化手段

    除了CDN這種優(yōu)化手段,我們在每個網(wǎng)頁上面也有對應(yīng)的DNS優(yōu)化手段,由于DNS本身是一個比較漫長的過程,所以我們的主要優(yōu)化目標是減少DNS的請求數(shù)量和提前進行DNS的查詢和鏈接。

    減少DNS的請求數(shù)量

    由于每個域名都需要進行DNS解析的過程,所以減少域名的請求,那就可以減少DNS解析的次數(shù),這樣就可以完成對應(yīng)的DNS優(yōu)化了。

    聰明的小朋友可能會疑惑,這么說的話我們只需要把所有資源都放在同一域名下不是最優(yōu)方案了嗎?那為什么我看好多網(wǎng)站的資源還要分好多域名呢?

    其實這是因為我們的域名并發(fā)請求是有數(shù)量限制的,比如說:如果瀏覽器在同一域名下請求資源,一次最多請求5個資源。那么如果我們要總共請求15個資源,就只能分三批先請求5個,再請求5個,最后再請求5個。關(guān)于瀏覽器具體一次能請求多少并發(fā)資源,經(jīng)測試:Chrome瀏覽器的最大并發(fā)數(shù)為6個。想要了解其他瀏覽器的并發(fā)數(shù),可以看這里。

    提前進行DNS解析

    提前進行DNS解析有兩種手段:

  • dns提前加載
  • 提前進行dns解析:<link rel="dns-prefetch" href="//atanx.alicdn.com">
  • 禁用(防止dns解析濫用):<meta http-equiv="x-dns-prefetch-control" content="off">
  • 鏈接提前建立
    <link rel="preconnect" href="//example.com">
    <link rel="preconnect" href="//cdn.example.com" crossorigin>
  • 我們也可以通過prefetch和prerender提前加載將要跳轉(zhuǎn)的頁面資源

    總結(jié)

    以上是生活随笔為你收集整理的DNS无法解析IP_计算机网络-DNS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。