top level domain - com, edu, gov, mil, net, org, int (現在又多出許多 top domain 了如 isp, art 等)
2. Delegation (授權)
剛才提到每個 domain 都可因實際需求再細分成許多 sub domain. 上層的 domain 可以將其分出的某個 sub domain 的 domain name 與 IP mapping 交由另一部機器管理, 這個動作我們稱之為 delegation
3.Forward/Reverse(正解/反解)
在講到 domain name <-> IP mapping, 其實應該看成兩個命名空間:
一個是 domain name -> IP, 稱之為 forward mapping, 在這個命名空間中就是先分成前面提到的那些 top domain, 再細分 sub domain, 再細分...
比如說 winnie.corp.hp.com -> 15.16.192.152 代表在負責 corp.hp.com 這個 sub domain 的機器上, 可以查到其 mapping table 上有一筆記錄是 winnie -> 15.16.192.152.
一個是 IP -> domain name 稱為 reverse mapping. 在這個命名空間中, 所有的 IP 組成一個叫作 arpa.in-addr 的 top domain, 然後再依 IP 層層細分...
比如說 15.16.192.152 -> winnie.corp.hp.com 代表在負責 192.16.15.in-addr.arpa(注意是反過來寫, 因為 top domain 要在最後面) 這個 sub domain 的機器上, 可以查到其 mapping table 上有一筆記錄是 152 -> winnie.cop.hp.com
值得注意的是:
a. 負責 forward mapping 和 reverse mapping 的機器不一定是同一部
負責 corp.hp.com domain 與負責 192.16.15.in-addr.arpa 的機器不一定是同一部機器, 即使在同一部機器, 如果不注意的話, 兩邊的內容可能也會有不 match 的情形.
b. domain 與 ip subnet 並沒有一對一關係
舉例而言成大電機的 domain 是 ee.ncku.edu.tw, 但是因為成大電機內部機器數多的關係, 所用到的 IP subnet 有 140.116.72, 140.16.49, 140.116.163, 140.116.156, 140.116.227 共 5 組
Name Server
負責記錄 forward/reverse mapping 的機器會執行一個叫 name server 的軟體, 透過這個軟體回應來自其它機器對 domain name 或 IP 的查詢
1. zone & domain
上面提到基本上每個 domain交由一個機器來負責, 其實更精確地說應該是每個 zone 交由一個 name server 來負責, 所謂 zone 就是把一個 domain 扣掉分給下層負責的部份, 剩下來的就是 zone
2. Primary/Secondary
每個 zone 交由一部 name server負責的作法會有一個問題, 萬一這個 name server 當掉, 可能造成 INTERNET 上其它機器無法取得屬於這個 zone 的資料(就是 domain name 和 ip mapping). 為了避免這種情形, 我們可以把這個 zone 的資料同時交給多部 name server 負責.原本的這部稱為 primary name server, 其它的稱為 secondary name server. Secondary name server 會定期將 primary name server 上 zone 的資料拷貝一份下來備用.
對於上層的 name server 而言, 它只是設定某個 zone 同時 delegate 給一部以上的下層 dns server, 但是它並不去分辨誰是真正的 primary, 誰是 secondary. 它只是依據順序尋問, 當第一部負責某個 zone 的 dns server 當掉時, 它會依序找下一個負責的 dns server.
ps: primary/secondary 在新版 name server 程式中改稱為 master/slave