1. 程式人生 > 其它 >python入門學習篇三十五

python入門學習篇三十五

目的:將便於記錄的域名轉換成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,它會:

  1. 先向本地DNS伺服器發起請求,本地伺服器訪問根DNS伺服器。2. 根DNS伺服器注意到訪問到頂級域名是.edu,它會將.edu的頂級域名伺服器的IP返回給本地DNS
  2. 本地DNS再去訪問TLD伺服器,TLD伺服器負責找到域名gaia.cs.umass.edu的權威DNS伺服器
  3. 並把它返回給本地DNS伺服器,之後本地DNS伺服器再去它的權威DNS伺服器中請求
  4. 權威DNS伺服器將gaia.cs.umass.edu的IP返回給本地DNS伺服器,本地DNS再返回給你的主機。

還可能是這樣的:

快取

為了對映一個IP要走很多伺服器,這肯定會帶來網路延遲,所以DNS伺服器中會有快取。

當某個DNS伺服器向上級請求,並接到返回地址後,它會快取到本地,下次便不會再請求。一段時間後該快取會被清除。

DNS記錄

DNS記錄格式如下:

(Name, Value, Type, TTL)
  1. A記錄:記錄域名到地址的對映,如(bar.foo.cn, 145.37.93.126, A)
  2. NS記錄:記錄域名到該域名權威域名解析伺服器的對映,如(foo.cn, dns.foo.cn, NS)
  3. CNAME記錄:記錄一個主機的規範主機名,如(foo.com, relay1.foo.com, CNAME)
  4. MX記錄:記錄一個主機的郵件伺服器的規範主機名,如(foo.com, mail.foo.com, MX)