1. 程式人生 > 其它 >DNS解析詳細過程是什麼?

DNS解析詳細過程是什麼?

技術標籤:計算機網路

轉載自:https://www.zhihu.com/question/23042131

網路通訊大部分是基於TCP/IP的,而TCP/IP是基於IP地址的,所以計算機在網路上進行通訊時只能識別如“202.96.134.133”之類的IP地址,而不能認識域名。我們無法記住10個以上IP地址的網站,所以我們訪問網站時,更多的是在瀏覽器位址列中輸入域名,就能看到所需要的頁面,這是因為有一個叫“DNS伺服器”的計算機自動把我們的域名“翻譯”成了相應的IP地址,然後調出IP地址所對應的網頁。

具體什麼是DNS?
DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網路服務命名系統,它用於TCP/IP網路,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。DNS就是這樣的一位“翻譯官”,它的基本工作原理可用下圖來表示。

DNS 的過程?

關於DNS的獲取流程:
DNS是應用層協議,事實上他是為其他應用層協議工作的,包括不限於HTTP和SMTP以及FTP,用於將使用者提供的主機名解析為ip地址。
具體過程如下:
①使用者主機上執行著DNS的客戶端,就是我們的PC機或者手機客戶端執行著DNS客戶端了
②瀏覽器將接收到的url中抽取出域名欄位,就是訪問的主機名,比如

http://www.baidu.com/

, 並將這個主機名傳送給DNS應用的客戶端
③DNS客戶機端向DNS伺服器端傳送一份查詢報文,報文中包含著要訪問的主機名欄位(中間包括一些列快取查詢以及分散式DNS叢集的工作)
④該DNS客戶機最終會收到一份回答報文,其中包含有該主機名對應的IP地址

⑤一旦該瀏覽器收到來自DNS的IP地址,就可以向該IP地址定位的HTTP伺服器發起TCP連線
DNS服務的體系架構是怎樣的?
DNS domain name system 主要作用就是將主機域名轉換為ip地址

拓展 TCP/IP 理解 (原文地址:https://blog.csdn.net/mumubumaopao/article/details/107860818

TCP/IP 的定義為傳輸控制協議/網路協議模型(Transmission Control Protocol/Internet Protocol)(不要被他長長的名字嚇到了,只是一個模型的官方名,大部分的時間我們都統稱為TCP/IP協議)。

這個模型描述了資料在網路傳輸的整個流程,可以簡單理解為【程式發起資料傳輸請求、通過埠將資料發出、通過網路傳遞、接受程式收到資料】這個流程的模型。在這個模型裡面用到了很多協議,但是TCP、IP協議在整個模型中佔比最為重要,所以整個模型以TCP/IP來命名。

資料鏈路層:
鏈路層負責將封裝完的資料幀在網路中(網線等各種傳輸介質)進行傳遞
網路層:
網路層負責接收來自鏈路層的資料,然後通過IP地址和MAC地址找到目標主機,然後將資料傳遞給對應的主機
傳輸層:
傳輸層負責接收來自網路層的資料,然後根據埠號將資料傳遞給目標埠,監聽該埠的程式即可收到該資料
應用層:
應用層的程式負責接收到資料後進行解析使用

為什麼要三次握手?

為了防止已失效的連線請求報文段突然又傳送到了服務端,因而產生錯誤。