一文看懂:網址,URL,域名,IP 地址,DNS,域名解析

今天給大家梳理一篇關於網址、URL、IP 地址、域名、DNS、域名解析的白話長文,並以簡單的提問 - 解答形式讓讀者更加深刻理解網址、URL、IP 地址、域名、DNS、域名解析,希望有助於讀者的學習,面試和工作!

一、一個疑問

在指出這個問題之前,首先我們要清楚以下幾點:

那麼瞭解上述內容之後,我們以兩臺主機最簡單的通信方式——上網爲例,爲大家說明這個疑問是什麼!

21 世紀的每個人應該都熟悉網上衝浪 (不知道還有沒有人用這個詞) 的過程,我們上網的實質就是獲取網址對應主機上的數據並在用戶主機上進行展示(瀏覽器上),那麼我們就該懷疑一個問題:

互聯網中的任意兩臺主機通信是依靠 IP 地址進行的,而我們上網只是輸入的網址,並不是 IP 地址,怎麼就能找到對方主機並獲取它的數據呢?

一個疑問

因此,勢必存在某種機制,將網址解析成爲了 IP 地址,再通過 IP 地址進行通信! 這個機制也是貫穿本文所有技術知識的主線!

二、網址

1. 網址是什麼?

網址,也叫做域名,又稱 URL,是互聯網用戶用來標識主機的名字,該名字具有唯一性,層次性,字面意義可以表示主機的賬號、功能、性質、所屬的地區或組織,便於所有互聯網用戶記憶與使用!

URL,即 Uniform Resource Locator,統一資源定位符,用於指明互聯網主機的服務器及具體的網頁位置,URL 的構成策略與示例如下:

URL 構成與示例

**特點:**網址命名遵循互聯網域名規則,且易於管理,包括分配,確認、回收,同時與主機 IP 地址進行綁定,在用戶訪問域名時能夠高效的將網址映射到 IP 地址 (高效由域名服務器保證,詳見後文)。

網址

2. 網址的出現解決了什麼問題?

網址 / 域名 / URL 的出現解決了以下兩個問題:

IP 地址記憶困難

3. 網址的結構組成

上面提到的主機名稱,也就是網址 / 域名的命名遵循了一定規則,這個規則便是由互聯網中的 “名字管理機構” 來制定的,即域名系統 DNS。這裏先介紹下網址的組成:

互聯網中的某臺主機域名由其所屬各級域名及其自身名字共同組成 (即由子域名構成),級別從左到右依增加,最右邊爲頂級域名,最左邊爲主機自己的名字,各級子域名使用“.” 隔開,常見的格式如下:

主機名.機構名.網絡名.頂級域名

中科大域名組成

下面將詳細介紹上圖提到的域名系統 DNS,包括 DNS 誕生解決了什麼問題,域名發展史,域名層級,部分頂層域名對象,域名服務器,域名解析過程與 IP 技術拓展!

三、DNS 域名系統

1. DNS 是什麼?

DNS,英文全寫爲 Domain Name System,中文意思爲域名系統,是互聯網中提供域名與 IP 地址互相映射的分佈式數據庫。

2. DNS 發展史

DNS 發展史

3. DNS 解決了什麼問題?

前文已經提到 DNS 域名系統是互聯網中的主機域名管理系統,充當 “管理員” 的角色! DNS 在誕生之前(ARPANET 時期),互聯網中的每臺主機都是用一個文件來紀錄所有的主機名及其 IP 地址,這個文件就是 hosts.txt (現在是 hosts 文件,無後綴),所有主機都必須定期從相應站點來更新該文件,用於同步互聯網中主機的新增、變更、消失。

hosts 文件內容

可以想象,隨着互聯網中的主機數量增加,hosts 文件必將越來越大,在維護更新方面的難度更是激增,主機名更是頻繁發生衝突,爲了解決這個問題,1983 年 DNS 域名系統問世。

搜索公衆號 Linux 中文社區後臺回覆 “私房菜”,獲取一份驚喜禮包。

DNS 解決了什麼問題

4. DNS 域名層次結構

DNS 是一個分層的樹形結構,各層由域構成,域的意義如下:

DNS 的域名樹由根域,頂級域,二級域及其子域構成,其結構圖與示例如下:

域名結構

下面逐一介紹各級域:

通用頂級域名

前文中已經提到域名的出現是爲了解決用戶記憶困難的問題,實際在互聯網中並不能使用域名進行主機間的通信,而仍然需要使用 IP 地址進行數據交互,所以 DNS 系統在提供域名功能的同時更大的作用是能夠高效的將域名解析映射到對應主機的 IP 地址。這就是即將爲大家介紹的域名服務器的作用。

5. 域名服務器

域名服務器構成了 DNS 中的分佈式網絡系統,其功能主要是爲內外主機提供域名與 IP 地址的互相解析映射服務。域名服務器分佈在互聯網的各子網中,每個域名服務器負責管理連接到本子網的所有主機,併爲其提供服務,服務內容爲:

客戶機應用程序將目標主機域名發送給其所屬子網的域名服務器,域名服務器給該客戶機返回對應的目標主機 IP 地址; 若本子網中的域名服務器無法查詢到目標主機域名的 IP,則根據 DNS 的標準 IP 地址解析流程提供進一步的查詢服務,該過程將在下文 “域名解析過程” 中詳細介紹。

四、域名解析過程

通過域名獲取對應 IP 地址的過程叫做域名解析,參與域名解析過程最重要的單元就是域名服務器,域名服務器的體系結構如下:

域名服務器的結構

☆本地域名服務器,不在上圖的域名服務器體系中,但在域名解析中扮演重要的角色。每主機發出的 DNS 域名查詢請求首先都會發送到本地域名服務器。本地域名服務器可以設立在個人,大學,公司等各種範圍內,又叫做首選 DNS(很熟悉吧),就是我們計算機網絡連接中的首選 DNS:

本地 DNS 服務器

一張圖看懂域名解析全過程:

域名解析詳細過程

上圖以用戶訪問頭條網站爲例,簡明扼要的爲大家講述了用戶輸入網址到獲取 IP 地址的全過程,下面我們來詳細解釋該過程:

總結

本文以通俗易懂的語言結合實際問題詳細闡述了網址、域名、IP 地址、URL、域名服務器、域名解析等相關技術原理,並配置了細緻的示意圖,讓內容更易於讀者理解、記憶。希望有利於讀者的學習、工作!

噓!剛剛發現了一個山寨版某庫....

可怕!公司部署了一個東西,悄悄盯着你 ···

發小被綠,我竭盡所學黑科技,動用雲控捉姦尋找證據….

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/-siIQ9K3OhiqoganFStDig