DNS 與命名

DNS 名稱空間(DNS namespace)

想像一棵倒過來的巨大家族樹,包含網際網路上所有的名字。最頂端是一個無名的單一點,稱為根(root)。直接掛在根底下的是頂級網域——.com、.org、.net,以及像 .uk、.jp 這樣的國碼。掛在這些底下的是各組織註冊的名稱,例如 example.com,再底下掛著它們自己的子網域。DNS 名稱空間就是這整棵樹:所有可能的網域名稱完整而有組織的集合,排列得讓任何兩個名稱都不會撞在一起。

正是這種樹狀結構讓系統得以擴展。每個節點有一個短標籤,而一個網域名稱不過是從某節點往上到根、以點串起的路徑。關鍵在於:在任何一點之下分配名稱的權利都可以被授權出去:掌管 .com 的人決定誰拿到 example.com,掌管 example.com 的人決定 www.example.com 或 shop.example.com 代表什麼。所以沒有任何中央機構需要知道全世界每一個名字——它只需要知道「下一層由誰負責」。這種分枝、授權的結構,正是為什麼一個階層式名稱空間能容納數億個名字而不致混亂。

為什麼重要:名稱空間的形狀直接對應查詢與授權的運作方式。因為樹會分枝,查詢可以順著樹枝往下找到答案;因為授權沿著樹枝分配,這個資料庫能由數百萬個各自獨立的組織同時管理。一個微妙之處:名稱空間(名稱的邏輯樹)和儲存它的伺服器是兩回事。樹被切成一個個區域(zone),而區域才是真正的名稱伺服器所負責的東西——名稱空間是地圖,區域與伺服器則是這張地圖實際被保管的方式。

沿著樹往上走 shop.example.com 的路徑:shop 是 example 的子節點,example 是 com 的子節點,com 是根的子節點。每一步都是一個授權點——com 把 example.com 授權給它的擁有者,擁有者再在它底下定義 shop。

一棵樹,根在最上方;每個名稱都是從根往下的一條路徑。

根是真實存在的,但它本身沒有名字——它是每個完整名稱結尾的那個空標籤。www.example.com. 尾端的那個點,字面上就是指向那個根。

又稱
the domain name spaceDNS treeDNS 命名空間網域名稱樹