一、域名的層級結構
根域名
域名的尾部都有一個根域名。www.baidu.com 真正的域名是 www.baidu.com.root,簡寫爲www.baidu.com.,又因爲根域名 .root 對於所有域名都是一樣的,所以平時是省略的。
子域名
mail.example.com和calendar.example.com是example.com的兩個子域,而example.com則是一級域名又稱爲頂級域.com的子域。
域名可分爲不同級別,從右到左依次是一級域名、二級域名、…、多級域名。
頂級域名又分爲兩類:一是國家頂級域名,例如中國是.cn,美國是.us,日本是.jp等;二是國際頂級域名,例如表示工商企業的 .com,表示網絡提供商的.net,表示頂級標杆、個人的.top,表示非盈利組織的.org等。
一般來說我們購買一個域名就是購買一個二級域名的管理權,有了這個管理權我們就可以隨意設置三級、四級域名了。
主機名
主機名就是域名前綴,比如 www.baidu.com 的 www 就是主機名。
一個域名只能對應一個IP,一個IP可以對應多個域名。
二、域名解析的過程
域名系統(DNS):用來將域名解析成ip地址,域名只是一個ip地址的別名。
與域名的分級結構對應,DNS 系統也是一個樹狀結構,不同級別的域名由不同的域名服務器來解析,整個過程是一個「層級式」的。層級式域名解析體系的第一層就是根域名服務器,全世界 IPv4 根域名服務器只有 13 臺(名字分別爲 A 至 M),1 個爲主根服務器在美國,其餘 12 個均爲輔根服務器,它們負責管理世界各國的域名信息。根服務器下面是頂級域名服務器,即相關國家域名管理機構的數據庫,如中國互聯網絡信息中心(CNNIC)。然後是再下一級的權威域名服務器和 ISP 的緩存服務器。
一個域名必須首先經過根數據庫的解析後,才能轉到頂級域名服務器進行解析。
三、分級查詢的實例
現在我們來看一個實際的例子。如果我們在瀏覽器中輸入 https://news.qq.com
,那瀏覽器會從接收到的 URL 中抽取出域名字段(news.qq.com),然後將它傳給 DNS 客戶端(操作系統提供)來解析。
本機 DNS 配置(就是 /etc/resolv.conf 文件,裏面指定了本地 DNS 服務器的地址,Windows 系統可能會有所不同):
$ cat /etc/resolv.conf
nameserver 202.106.0.20
nameserver 202.106.196.115
實際的流程裏面,本地 DNS 服務器相當於門衛大爺,根域名服務器相當於局長同志,其餘以此類推。客戶端與本地 DNS 服務器之間的查詢叫遞歸查詢,本地 DNS 服務器與其他域名服務器之間的查詢就叫迭代查詢。
四、域名記錄
域名服務器之所以能知道域名與 IP 地址的映射信息,是因爲我們在域名服務商那裏提交了域名記錄。購買了一個域名之後,我們需要在域名服務商那裏設置域名解析的記錄,域名服務商把這些記錄推送到權威域名服務器,這樣我們的域名才能正式生效。