網域名稱系統(DNS)知識課程

網域名稱管理系統是如何工作 (How DNS Works)

第 4 課 : DNS 的實際工作程序


其實, DNS 的實際工作系統比我們先前的介紹稍為複雜一些, 不過原理是完全一樣的. 也可以解決我們在第 3 課提出的問題.

DNS 的實際工作系統如下圖:

how dns works flow chart

DNS 的 工 作 程 序 如 下 :

  1. 當你需要連接互聯網上的某台電腦 (例如: MyGreatName.com), 你只需在你的電腦輸入該台電腦的網域名稱 (MyGreatName.com), 你的電腦便會跑去預先設定的網域名稱伺服器 (一般是你 ISP 的網域名稱伺服器), 查詢該台電腦的網路地址.
  2. 如果你 ISP 的網域名稱伺服器有 MyGreatName.com 的網路地址, 它會立即傳回 MyGreatName.com 的網路地址給你的電腦.
  3. 我們假設你 ISP 的網域名稱伺服器沒有 MyGreatName.com 的網路地址. 這時, ISP 網域名稱伺服器會立即向 DNS 系統中的根網域名稱伺服器 (Root Name Servers) 查詢存放 MyGreatName.com 的網域名稱伺服器的網路地址.

    你可能會問 : "ISP 網域名稱伺服器如何知道向那些根網域名稱伺服器查詢 ?"

    原來所有網域名稱伺服器都會從 interNIC 的 FTP 伺服器下傳並安裝一個名叫 "named.cache" 或 "named.root" 的檔案, 這個檔案有互聯網上所有根網域名稱伺服器的網路地址. 以下是 2001 年 5 月 檔案 named.cache 的全部內容:

    ; This file holds the information on root name servers
    ; needed to initialize cache of Internet domain name
    ; servers (e.g. reference this file in the
    ; "cache . " configuration file of BIND domain
    : name servers).
    ;
    ; This file is made available by InterNIC registration
    ; services under anonymous FTP as
    ; file /domain/named.root
    ; on server FTP.RS.INTERNIC.NET
    ; -OR- under Gopher at RS.INTERNIC.NET
    ; under menu InterNIC Registration Services (NSI)
    ; submenu InterNIC Registration Archives
    ; file named.root
    ;
    ; last update: Aug 22, 1997
    ; related version of root zone: 1997082200
    ;
    ;
    ; formerly NS.INTERNIC.NET
    ;
    . 3600000 IN NS A.ROOT-SERVERS.NET.
    A.ROOT-SERVERS.NET. 3600000 A 198.41.0.4
    ;
    ; formerly NS1.ISI.EDU
    ;
    . 3600000 NS B.ROOT-SERVERS.NET.
    B.ROOT-SERVERS.NET. 3600000 A 128.9.0.107
    ;
    ; formerly C.PSI.NET
    ;
    . 3600000 NS C.ROOT-SERVERS.NET.
    C.ROOT-SERVERS.NET. 3600000 A 192.33.4.12
    ;
    ; formerly TERP.UMD.EDU
    ;
    . 3600000 NS D.ROOT-SERVERS.NET.
    D.ROOT-SERVERS.NET. 3600000 A 128.8.10.90
    ;
    ; formerly NS.NASA.GOV
    ;
    . 3600000 NS E.ROOT-SERVERS.NET.
    E.ROOT-SERVERS.NET. 3600000 A 192.203.230.10
    ;
    ; formerly NS.ISC.ORG
    ;
    . 3600000 NS F.ROOT-SERVERS.NET.
    F.ROOT-SERVERS.NET. 3600000 A 192.5.5.241
    ;
    ; formerly NS.NIC.DDN.MIL
    ;
    . 3600000 NS G.ROOT-SERVERS.NET.
    G.ROOT-SERVERS.NET. 3600000 A 192.112.36.4
    ;
    ; formerly AOS.ARL.ARMY.MIL
    ;
    . 3600000 NS H.ROOT-SERVERS.NET.
    H.ROOT-SERVERS.NET. 3600000 A 128.63.2.53
    ;
    ; formerly NIC.NORDU.NET
    ;
    . 3600000 NS I.ROOT-SERVERS.NET.
    I.ROOT-SERVERS.NET. 3600000 A 192.36.148.17
    ;
    ; temporarily housed at NSI (InterNIC)
    ;
    . 3600000 NS J.ROOT-SERVERS.NET.
    J.ROOT-SERVERS.NET. 3600000 A 198.41.0.10
    ;
    ; housed in LINX, operated by RIPE NCC
    ;
    . 3600000 NS K.ROOT-SERVERS.NET.
    K.ROOT-SERVERS.NET. 3600000 A 193.0.14.129
    ;
    ; temporarily housed at ISI (IANA)
    ;
    . 3600000 NS L.ROOT-SERVERS.NET.
    L.ROOT-SERVERS.NET. 3600000 A 198.32.64.12
    ;
    ; housed in Japan, operated by WIDE
    ;
    . 3600000 NS M.ROOT-SERVERS.NET.
    M.ROOT-SERVERS.NET. 3600000 A 202.12.27.33
    ; End of File

    從 named.cache 檔案可以知道,互聯網上有13個根網域名稱伺服器 (A.ROOT-SERVERS.NET., B.ROOT-SERVERS.NET., ...., M.ROOT-SERVERS.NET.) 分佈各地.

    根網域名稱伺服器知道所有辦理高層網域名稱 (top-level domains, 例如 : .com, .org, .net, .com.hk, 等 等 ..) 的網域名稱伺服器的網路地址.

    所以, 當 ISP 網域名稱伺服器沒有 MyGreatName.com 的網路地址的資料時, 它會跟據 named.cache 檔案根網域名稱伺服器的網路地址查詢, 如果第一個根網域名稱伺服器壞了或沒有回應, 它會向第二個根網域名稱伺服器查詢.

  4. 根網域名稱伺服器告訴 ISP 網域名稱伺服器, 辦理 MyGreatName.com 的網域名稱伺服器的網路地址是 212.69.192.10 (Primary Name Server) 及 212.69.192.11 (Secondary Name Server).

    從這裡可以知道, 為什麼你在註冊新網域名稱需要呈交二個網域名稱伺服器的資料.

  5. ISP 網域名稱伺服器有了辦理 MyGreatName.com 的網域名稱伺服器的網路地址, 便可以聯絡辦理 MyGreatName.com 的網域名稱伺服器, 辦理 MyGreatName.com 的網域名稱伺服器於是查看資料, 確實了 MyGreatName.com 的資料無誤, 便將MyGreatName.com 的網路地址 (212.69.204.148) 告訴 ISP 網域名稱伺服器.
  6. ISP 網域名稱伺服器有了 MyGreatName.com 的網路地址, 便告訴你的電腦 MyGreatName.com 的網路地址.
  7. 你的電腦現在有了 MyGreatName.com 的網路地址, 便可以連絡上 MyGreatName.com 了.

從整體 DNS 來看, 你可能發覺 :

網域名稱管理系統是如何工作 (完)

2002年3月 網域名稱知識

網域名稱系統 DNS