2009年11月18日

DNS概念(1)

DNS的起因是IP很難記憶,但是網路上又是利用IP來做為routing的依據,所以勢必要有其他方式,即使是把name對應到IP的方式全部記憶到主機檔案,比方說/etc/hosts,也要面對效能不彰的問題,更嚴重的是,他無法有彈性的架構,比方說今天世界上多了一台機器,你怎麼知道他ip多少呢?
所以DNS就針對這樣的問題發展了出來,一套可以由名稱對應到IP的機制,並且是分散式的架構,一方面可以解決效能的問題,另外一方面可以增加彈性,甚至更多的應用,比方說多個名稱對應到同一個IP
每個DNS伺服器有若干個資料庫,每個資料庫中都充滿了RR (Resource Record),重要的RR簡單列表如下
Domain Record
  • SOA:Start Of Authority
  • NS:Name Server
  • MX:Mail Exchange
Host Record
  • A:Address (IPv4)
  • AAAA:Address (IPv6)
  • CNAME:Alias
  • PTR:Pointer
在進入DNS Server運作之前,要先理解Domain Name的架構。Domain Name是一個樹狀的架構,最上層為root,下面每一層為sub-domain,同樣的,每一層的下層為之sub-domain。
常見的domain name型態有
  • Root是top level domain (TLD)
  • General TLD : .com, .org, .net, …
  • Country TLD : .tw, .ca, .us, …
Domain Name的解讀,由dot (.)分開,也就是由後(root)往前,前面的部分為後面的sub-domain,一個完整的名稱稱為Fully Qualified Domain Name (FQDN),比方說www.kimo.com.,要注意最後面的一個點,雖然一般我們使用的時候並不打出來。接著,在理論上,DN並不允許重複的名稱
圖片來自Oreilly的書籍DNS & Bind

沒有留言: