5 域名
目錄
為什么要域名
十六進制 的MAC地址-->十進制的4位數字,IP地址-->好記的名字,域名
1 域名的形式
- 有層次的結構,是一串用“.”分隔的多個單詞
- 最右邊的被稱為“頂級域名”,然后是“二級域名”,層級關系向左依次降低。
- 最左邊的是主機名,通常用來表明主機的用途,比如“www”表示提供萬維網服務、“mail”表示提供郵件服務
- 名字的關鍵是要讓我們容易記憶
- DNS 會把域名轉換為相應的IP地址
- 域名的本質:名字空間系統
- 使用多級域名就可以劃分出不同的國家、地區、組織、公司、部門,每個域名都是獨一無二的,可以作為一種身份的標識。
- XML 里使用URI作為名字空間,也是間接使用里域名
2 域名的解析
- 域名解析:域名轉換為IP地址的過程,叫做域名解析
- DNS,域名解析系統
- DNS 是一個三層、樹狀、分布式服務
- 根域名服務器(Root DNS Server):管理頂級域名服務器,返回“com”“net”“cn”等頂級域名服務器的 IP 地址,有13組。
- 頂級域名服務器(Top-level DNS Server):管理各自域名下的權威域名服務器,比如 com 頂級域名服務器可以返回 apple.com 域名服務器的 IP 地址
- 權威域名服務器(Authoritative DNS Server):管理自己域名下主機的 IP 地址,比如 apple.com 權威域名服務器可以返回 www.apple.com 的 IP 地址。
- 如何查詢:自頂向下查詢,域名從右到左
舉例:訪問“www.apple.com”進行的三次查詢- 訪問根域名服務器,它會告訴你“com”頂級域名服務器的地址;
- 訪問“com”頂級域名服務器,它再告訴你“apple.com”域名服務器的地址;
- 最后訪問“apple.com”域名服務器,就得到了“www.apple.com”的地址
- 如何減輕域名解析的壓力--緩存
- 方法1:大公司、網絡運營商建立自己的DNS服務器(非權威域名服務器),作為用戶DNS查詢的代理,代替用戶訪問核心DNS系統。緩存之前的查詢結果,無需再次向跟服務器發起查詢。
- 方法2:操作系統對DNS解析結果做緩存。
- 方法3:操作系統的“主機映射文件”,如 “/etc/hosts”,如果操作系統在緩存中找不到DNS記錄就會找這個文件
3 域名的新玩法
-
玩法1:重定向
- 對外服務的域名不變,IP地址隨意變動,如果主機需要遷移直接更改DNS的記錄,使得域名指向其他機器。
-
玩法2:搭建內部使用的DNS作為名字服務器
- 開發的內部服務使用域名標記,發起網絡通信是不必寫IP地址,直接使用域名。
-
玩法3:基于域名實現負載均衡
- 域名解析可以返回多個IP地址,所以一個域名可以對應多臺主機,客戶端收到多個IP地址后,自己使用輪詢算法依次向服務器發起請求,實現負載均衡。
- 域名解析可以配置內部使用的策略,返回離客戶端最近的主機,或者返回當前服務質量最好的主機,這樣DNS端把請求分發到不同的服務器,實現負載均衡。
-
不好的玩法4:域名屏蔽和域名劫持
- 域名屏蔽:對域名直接不解析,返回錯誤
- 域名劫持:訪問A,DNS給了B
4 注意事項
- 域名總長度在 253個字符內,每一級域名長度不超過 63個字符
- 域名大小寫不敏感
- 域名過長或層級過多,與初衷違背,難記
5 問題
1 如果在瀏覽器地址欄隨便輸入一個不存在的域名,它的DNS 解析過程是什么樣的?
- 檢查本地dns緩存是否存在解析"www.不存在.com"域名的ip
- 如果沒有找到,繼續查找本地 hosts 文件內是否有對應的固定記錄
- 如果hosts中還是沒有那就根據本地網卡被分配的 dns server ip 來進行解析,dns server ip 一般是“非官方”的ip,比如谷歌的“8.8.8.8”,本身它也會對查找的域名解析結果進行緩存,如果它沒有緩存或者緩存失效,則先去頂級域名服務器“com”去查找“不存在.com”的域名服務器ip,結果發現不存在,于是直接返回告訴瀏覽器域名解析錯誤,當然這兩次查找過程是基于udp協議。
總結:瀏覽器緩存-》操作系統緩存-》hosts-》dns
2 如果因為某些原因,DNS失效或者出錯,會出現什么后果?
訪問不了,客戶度直接報錯“Failed host lookup”。
浙公網安備 33010602011771號