python入門學習篇三十五
阿新 • • 發佈:2022-03-06
目的:將便於記錄的域名轉換成IP地址,該對映可以是一對一的或是多對一的
域名解析服務通過網路中的DNS伺服器完成,DNS伺服器中記錄域名到IP的對映。當我們通過域名訪問網路中的某臺主機時,先通過查詢DNS伺服器得到域名對應的IP地址,然後再使用IP地址訪問。
層次結構
下面是DNS伺服器的層次結構,根DNS伺服器記錄了每個頂級DNS伺服器(TLD伺服器),頂級DNS伺服器由頂級域名提供商提供,比如.com
、.org
、.jp
等。TLD伺服器難以記錄如此之多的域名和查詢訪問量,所以,各種接入網路的權威機構也需要提供DNS伺服器。
另外一種不在層次結構中的DNS伺服器是由ISP提供的本地DNS伺服器,它的作用是將你的DNS請求轉發到DNS伺服器層次結構中,可以理解為層次結構外部和內部的一個橋。
如上圖,你的電腦想訪問gaia.cs.umass.edu
,它會:
- 先向本地DNS伺服器發起請求,本地伺服器訪問根DNS伺服器。2. 根DNS伺服器注意到訪問到頂級域名是
.edu
,它會將.edu
的頂級域名伺服器的IP返回給本地DNS - 本地DNS再去訪問TLD伺服器,TLD伺服器負責找到域名
gaia.cs.umass.edu
的權威DNS伺服器 - 並把它返回給本地DNS伺服器,之後本地DNS伺服器再去它的權威DNS伺服器中請求
- 權威DNS伺服器將
gaia.cs.umass.edu
的IP返回給本地DNS伺服器,本地DNS再返回給你的主機。
還可能是這樣的:
快取
為了對映一個IP要走很多伺服器,這肯定會帶來網路延遲,所以DNS伺服器中會有快取。
當某個DNS伺服器向上級請求,並接到返回地址後,它會快取到本地,下次便不會再請求。一段時間後該快取會被清除。
DNS記錄
DNS記錄格式如下:
(Name, Value, Type, TTL)
-
A記錄:記錄域名到地址的對映,如
(bar.foo.cn, 145.37.93.126, A)
-
NS記錄:記錄域名到該域名權威域名解析伺服器的對映,如
(foo.cn, dns.foo.cn, NS)
-
CNAME記錄:記錄一個主機的規範主機名,如
(foo.com, relay1.foo.com, CNAME)
-
MX記錄:記錄一個主機的郵件伺服器的規範主機名,如
(foo.com, mail.foo.com, MX)