1. 在dns伺服器中從ip地址到域名的解析,使用什麼域
域名系統,在TCP/IP 網路中有非常重要的地位,能夠提供域名與IP地址的解析服務,而不用去記住能夠被機器直接讀取的IP數串。通過域名,最終得到該域名對應的IP地址的過程叫做域名解析。DNS協議運行在UDP協議之上,使用埠53號DNS域名空間中,樹的最大深度不得超過127層,樹種每個節點最長可以存儲63個字元。2、域和域名DNS樹的每一個完全合格域名(FQDN)標識。FQDN能准確表示出其對於DNS域樹根的位置,也就是節點到DNS樹根的完整表述方式。例如:google為com域的子域,其表示方法為googgle.com,而www為google域中的子域,可以使用www.google.com表示。注意:FQDN有嚴格的命名限制,長度不能超過256位元組,只允許使用字元a-z,0-9,A-Z和減號(-)。.號只允許在域名標志之間和域名結尾使用。域名不區分大小寫,從最頂層到下層,可以分成:根域、頂級域、二級域、子域。互聯網的域名空間最頂層的是根域(root),記錄這Interne的重要DNS信息,有Internet域名注冊授權機構管理,該機構把域名空間各部分的管理責任分配給鏈接到Internet的各個組織。全球有13個根域伺服器:1個為主根域伺服器,在美國;其餘12個為輔助根域伺服器,其中9個在美國;歐洲2個,分別在英國和瑞迪;亞洲一個,在日本。3、域名的分類和等級域名可以分為3中類型的頂級域分別是:組織域:採用3個字元表示,表示組織的主要功能和活動,比如com為商業機構組織,e為教育機構組織,gov為政府機構組織,mil為軍事機構組織,net為網路機構組織,org為非盈利機構組織,int為國際機構組織。地址域:採用兩個字元的國家或地區代號,如cn表示中國,jp表示日本、hk表示香港,kr表示韓國,us表示美國。反向域:特殊域,名字為in-addr.arpa,用於將IP地址映射到名字(反向查詢)二、DNS相關概念1、DNS伺服器運行DNS伺服器程序的計算機,存儲DNS資料庫信息。2、DNS緩存DNS伺服器在解析客戶機的域名請求時,如果本地沒有該域名的記錄,則會詢問其它DNS伺服器,當其它域名將解析結果返回給DNS伺服器是,DNS將對應的記錄保存在本地,生成DNS緩存,當下一次客戶機再次請求是,DNS伺服器則可以直接使用緩存中的DNS記錄。3、DNS查詢方式:遞歸查詢和迭代查詢遞歸查詢:當客戶機向DNS伺服器發起域名解析請求時,DNS伺服器首先查看自己本機的DNS記錄,如果沒有則會想其它DNS伺服器發起解析請求。迭代查詢:當客戶機向DNS伺服器發起域名解析請求是,DNS伺服器不會給客戶機解析地址,而是告訴客戶機另外一台DNS伺服器,客戶即再向這台伺服器發起地址解析請求。4、正向解析和反向解析正向解析:指域名解析到IP地址的解析過程。反向解析:指IP地址解析到域名的解析過程。5、DNS資源記錄1)SOA資源記錄每個區在區的開始都包含了一個起始授權記錄(Start of Authority Record),簡稱SOA記錄SOA定義了域的全局參數,進行整個域的管理設置。一個區域文件只允許存在唯一的SOA記錄。2)NS資源記錄NS(Name Server)記錄是域名伺服器記錄,用來指定該域名由哪個DNS伺服器來進行解析,每個區在區根處至少包含一個NS記錄。3)A資源記錄地址(A)資源記錄把FQDN映射到IP地址。因為有次記錄,所以DNS伺服器能解析FQDN域名對應的IP地址。4)PTR資源記錄相對於A記錄,指針(PTR)記錄把IP地址映射到FQDN。用於反向查詢,通過IP地址,找到域名。5)CNAME資源記錄別名記錄(CNAME)資源記錄創建特定FQDN的別名。用戶可以使用CNAME記錄來隱藏用戶網路的實現細節,使鏈接的客戶機無法知道真正的域名。6)MX資源記錄郵件交換(MX)資源記錄,為DNS域名指定郵件交換伺服器。三、DNS伺服器安裝及相關配置文件1、安裝DNSBIND 簡介:BIND 全稱為Berkeley Internet Name Domain(伯克利網際網路名稱域系統),BIND 主要有三個版本:BIND4、BIND8、BIND9。BIND8版本:融合了許多提高效率、穩定性和安全性的技術,而BIND9 增加了一些超前的理念:IPv6支持、密鑰加密、多處理器支持、線程安全操作、增量區傳送等等。安裝命令:[root@xuegod ~]# yum -y install bind bind-chroot bind-utils安裝包的作用:bind.x86_64 32:9.9.4-73.el7_6 #DNS服務的主程序包bind-chroot.x86_64 32:9.9.4-73.el7_6 #提高安全性#bind-chroot是bind的一個功能,使bind可以在一個chroot 的模式下運行,也就是說,bind運行時的/(根)目錄,並不是系統真正的/(根)目錄,只是系統中的一個子目錄而已,這樣做的目的是為了提高安全性,因為在chroot的模式下,bind可以訪問的范圍僅限於這個子目錄的范圍里,無法進一步提升,進入到系統的其他目錄中。bind-utils-9.9.4-50.el7.x86_64.rpm #該包為客戶端工具,系統默認已經安裝的了,它用於搜索域名指令。2、DNS伺服器相關配置文件[root@xuegod ~]# ls /etc/named.conf -l-rw-r----- 1 root named 1808 1月 30 01:23 /etc/named.confnamed.conf是BIND的核心配置文件,它包含了BIND的基本配置,但其並不包括區域數據/var/name/目錄為DNS資料庫文件存放目錄,每一個域文件都放在這里3、啟動伺服器[root@xuegod ~]# systemctl start named[root@xuegod ~]# systemctl enable namedCreated symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.[root@xuegod ~]# netstat -antup | grep 53tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3501/named4、服務的使用方法在客戶端上配置好DNS伺服器地址[root@xuegod140 ~]# vim /etc/resolv.conf[root@xuegod140 ~]# cat /etc/resolv.confGenerated by NetworkManagernameserver 192.168.1.130resolv.conf文件,添加DNS,此文件的生效范圍是全局的,即是所有網卡都可以生效。修改網卡添加的DNS,此方法添加DNS僅對當前網卡生效。DNS1=192.168.1.1305、配置文件詳解要求:配置DNS伺服器解析:xuegod.cn[root@xuegod etc]# cp /etc/named.conf /etc/named.conf.bakDNS配置文件整體分為三段:options:對全局生效zone:針對某個區域生效type:指定區域類型type主要分為六種Master:主DNS伺服器,擁有區域數據文件,並對此區域提供管理梳理Slave:輔助DNS伺服器,擁有主DNS伺服器的區域數據文件的副本,輔助DNS伺服器會從主DNS伺服器同步所有區域數據Stub:stub區域和slave類似,但其只復制主DNS伺服器上的NS記錄,而不像slave復制DNS伺服器的所有數據Forward:一個forward zone是每個區域的配置轉發的主要部分。一個zone語句中的type forward可以包括一個forward和/或forwarders子句,它會在區域名稱給定的域中查詢。如果沒有forwarders語句或者forwarder是空表,那麼這個域就不會轉發,消除了options語句中有關轉發的配置Hint:根域名伺服器的初始化組指定使用線索區域hint zone,當伺服器啟動時,它使用跟線索來查找根域名伺服器,並找到最近的根域名伺服器列表四、實戰-為公司搭建一個DNS伺服器1、配置正向解析區域修改配置文件,授權DNS伺服器管理xuegod.cn區域,並把該區域的區域文件命名為xuegod.cnoptions {listen-on port 53 { any; }; #把原來的127.0.0.1改為any。listen-on-v6 port 53 { any; }; #把原來的::1,改為any。directory 「/var/named」;mp-file 「/var/named/data/cache_mp.db」;statistics-file 「/var/named/data/named_stats.txt」;memstatistics-file 「/var/named/data/named_mem_stats.txt」;allow-query { any; }; #把原來的localhost,改為any。recursion yes;dnssec-enable yes;dnssec-validation yes;dnssec-lookaside auto; #加入此項。1234512345zone 「xuegod.cn」 IN { #把原來的 . 改為xuegod.cn。type master; #把原來的hint,改為master。file 「xuegod.cn.zone」; #把原來的named.ca,改為xuegod.cn.zone。};include 「/etc/named.rfc1912.zones」;include 「/etc/named.root.key」;2、創建zone文件[root@xuegod etc]# cd /var/named #進入zone工作目錄[root@xuegod named]# ll -d named.localhost-rw-r----- 1 root named 152 6月 21 2007 named.localhost[root@xuegod named]# cp -a named.localhost xuegod.cn.zone#-a參數,復制後的文件保留源文件許可權[root@xuegod named]# ll -d xuegod.cn.zone-rw-r----- 1 root named 152 6月 21 2007 xuegod.cn.zone[root@xuegod named]# vim xuegod.cn.zone[root@xuegod named]# cat xuegod.cn.zone$TTL 1Dxuegod.cn. IN SOA dns.xuegod.cn. root.xuegod.cn. (0 ; serial #系列1D ; refresh #刷新1H ; retry #重試1W ; expire #到期3H ) ; minimum #最低限度xuegod.cn. NS dns.xuegod.cn. #NS資源記錄dns.xuegod.cn. A 192.168.1.130 #A資源記錄www.xuegod.cn.A 192.168.1.130 #A資源記錄www1.xeugod.cn. CNAMEwww.xuegod.cn.#CNAME記錄3、重啟DNS服務:[root@xuegod named]# systemctl restart named4、修改客戶機的DNS記錄[root@xuegod140 ~]# vim /etc/resolv.conf[root@xuegod140 ~]# cat /etc/resolv.confGenerated by NetworkManagernameserver 192.168.1.1305、刪除網卡配置文件的DNS記錄[root@xuegod140 ~]# cd /etc[root@xuegod140 etc]# vim /etc/sysconfig/network-scripts/ifcfg-ens33[root@xuegod140 etc]# cat !$ | grep DNS1 #刪除DNS1的行cat /etc/sysconfig/network-scripts/ifcfg-ens33 | grep DNS16、測試結果:[root@xuegod140 etc]# pingwww.xuegod.cnPINGwww.xuegod.cn(192.168.1.130) 56(84) bytes of data.64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.216 ms64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.359 ms[root@xuegod140 etc]# ping www1.xuegod.cnPINGwww.xuegod.cn(192.168.1.130) 56(84) bytes of data.64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.216 ms64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.255 ms[root@xuegod140 etc]# ping dns.xuegod.cnPING dns.xuegod.cn (192.168.1.130) 56(84) bytes of data.64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=1 ttl=64 time=0.170 ms64 bytes from 192.168.1.130 (192.168.1.130): icmp_seq=2 ttl=64 time=0.294 ms總結:實驗容易錯誤點1)區文件的許可權,需要注意,這里直接使用cp -a參數拷貝,保留文件的許可權和屬組、屬主2)服務端的防火牆必須要關閉,如果不關閉,就要放通DNS53號埠3)客戶端指定DNS地址時,resolv文件需要表示全局生效,本地網卡修改表示當前網卡生效4)可以的話最好關閉NetworkManager7、zone配置文件的參數說明$TTL 1D:設置有效地址解析記錄的默認緩存時間,默認為1天也就是1D。xuegod.cn. IN SOA dns. xuegod.cn. root. xuegod.cn.#原來的@表示當前的域xuegod.cn.,為方便大家記憶,在此直接寫成xuegod.cn.#設置SOA記錄為:dns.xuegod.cn.#在此配置文件中寫域名時,都把根 . 也需要寫上。#域管理郵箱root.xuegod.cn. 由於@有其他含義,所以用「.」代替@。0 :更新序列號,用於標示資料庫的變換,可以在10位以內,如果存在輔助DNS區域,建議每次更新完資料庫,手動加1。1D :刷新時間,從域名伺服器更新該地址資料庫文件的間隔時間,默認為1天。1H :重試延時,從域名伺服器更新地址資料庫失敗以後,等待多長時間,默認為1小時。1W :到期,失效時間,超過該時間仍無法更新地址資料庫,則不再嘗試,默認為一周。3H :設置無效地址解析記錄(該資料庫中不存在的地址)默認緩存時間。設置無效記錄,最少緩存時間為3小時。NS @ :域名伺服器記錄,用於設置當前域的DNS伺服器的域名地址,A 127.0.0.1: 設置域名伺服器的A記錄,地址為ipv4的地址127.0.0.1,可以設置成192.168.100.102AAAA ::1:設置域名伺服器的A記錄,地址為ipv6的地址。資源記錄參數詳解:CNAME 資源記錄別名(CNAME)資源記錄用於為某個主機指定一個別名CNAME 資源記錄語法格式:別名 CNAME 主機名www1.xuegod.cn. CNAMEwww.xuegod.cn.MX 資源記錄MX(郵件交換器)資源記錄提供郵件傳遞信息。該記錄會指定區域內的郵件伺服器名稱。MX 資源記錄語法格式:mail A 192.168.1.63MX 192.168.1.63PTR 資源記錄指針(PTR)資源記錄。該記錄與A 記錄相反,用於查詢IP 地址與主機名的對應關系。根區域是一個較為特殊的區域,記錄列出全球根域名伺服器信息,域名通常用「.」表示,如表 5-1 所示。在這里插入圖片描述五、實戰-DNS遞歸查詢和搭建DNS轉發伺服器1、使用DNS遞歸查詢修改配置文件:[root@xuegod130 etc]# vim /etc/named.conf #修改DNS配置文件,修改如下內容。options {listen-on port 53 { any ; }; #把原來的127.0.0.1改為any。listen-on-v6 port 53 { any; }; #把原來的::1,改為any。directory 「/var/named」;mp-file 「/var/named/data/cache_mp.db」;statistics-file 「/var/named/data/named_stats.txt」;memstatistics-file 「/var/named/data/named_mem_stats.txt」;allow-query { any; }; #把原來的localhost,改為any。recursion yes; #默認是支持遞歸查詢。#dnssec-enable yes;#dnssec-validation yes;#dnssec-lookaside auto;只需要把以上三條內容注釋了,其它內容不用改,這樣客戶端才能通過這個DNS進行遞歸查詢,把dns加密通訊功能關閉,才可以和根伺服器時行迭代查詢。:2、重啟DNS服務,使配置文件生效:[root@xuegod63 ~]# systemctl restart named3、在xuego140主機上進行測試:[root@localhost network-scripts]# pingwww..comPINGwww.a.shifen.com(61.135.169.105) 56(84) bytes of data.64 bytes from 61.135.169.105: icmp_seq=1 ttl=55 time=318 ms64 bytes from 61.135.169.105: icmp_seq=3 ttl=55 time=147 ms4、 搭建DNS轉發伺服器[root@xuegod130 ~]# vim /etc/named.confoptions {listen-on port 53 { any; }; #把原來的127.0.0.1改為any。listen-on-v6 port 53 { any; }; #把原來的::1,改為any。directory 「/var/named」;mp-file 「/var/named/data/cache_mp.db」;statistics-file 「/var/named/data/named_stats.txt」;memstatistics-file 「/var/named/data/named_mem_stats.txt」;allow-query { any; }; #把原來的localhost,改為any。recursion yes; #允許遞歸查詢#dnssec-enable yes; #注釋以下三行。#dnssec-validation yes;#dnssec-lookaside auto;zone 「xuegod.cn」 IN {#type master; #注釋此項type forward; #添加此項,類型為轉發。#file 「xuegod.cn.zone」; #注釋此項forward only ; #僅執行轉發操作,only:僅轉發,first:先查找本地zone,再轉發。forwarders { 8.8.8.8; }; #指定轉發查詢請求的DNS伺服器列表。};重啟DNS服務,使配置文件生效:[root@xuegod63 ~]# systemctl restart named在xuegod140主機上進行測試:[root@localhost network-scripts]# pingwww..comPINGwww.a.shifen.com(61.135.169.105) 56(84) bytes of data.64 bytes from 61.135.169.105: icmp_seq=1 ttl=55 time=318 ms64 bytes from 61.135.169.105: icmp_seq=3 ttl=55 time=147 ms六、實戰-搭建DNS主從伺服器1、搭建一個主DNS伺服器A,配置內容如下[root@xuegod63 ~]# vim /etc/named.confoptions {listen-on port 53 { any; }; #把原來的127.0.0.1改為any。listen-on-v6 port 53 { any; }; #把原來的::1,改為any。directory 「/var/named」;mp-file 「/var/named/data/cache_mp.db」;statistics-file 「/var/named/data/named_stats.txt」;memstatistics-file 「/var/named/data/named_mem_stats.txt」;allow-query { any; }; #把原來的localhost,改為any。recursion yes;#dnssec-enable yes;#dnssec-validation yes;#dnssec-lookaside auto;zone 「xuegod.cn」 IN {type master; #指定類型為master。file 「xuegod.cn.zone」; #指定為xuegod.cn.zone。allow-transfer { 192.168.1.0/24; }; #指定允許哪個網段的從DNS伺服器,可以同步主DNS伺服器zone文件,不寫默認為所有。};include 「/etc/named.rfc1912.zones」;重啟DNS服務,使配置文件生效:[root@xuegod63 ~]# systemctl restart named2、從DNS伺服器的配置要求:主從系統時間一定要保持一致。
2. DNS有哪兩種域名解析方式簡述這兩種方式區別和特點。
DNS的兩種域名解析方式:分布域名解析;集中式域名解析
區別及特點:
1、分布域名解析
是指分在客戶端上維護一個靜態的文本文件,其中包含主機名和IP地址的映射。隨著網路規模的擴大,分布式解析度的有效性越來越低。
2、集中式域名解析
要求網路中有多台DNS伺服器,負責維護域名/IP地址映射資料庫。客戶端從指定的伺服器獲取域名的地址信息。一旦客戶端指定的DNS伺服器不包含相應的數據,DNS伺服器就會在網路中進行遞歸查詢,並獲取其他伺服器上的地址信息。
(2)dns伺服器是如何解析域名的擴展閱讀
1、域名解析過程:
當應用過程需要將一個主機域名映射為IP地址時,就調用域名解析函數,解析函數將待轉換的域名放在DNS請求中,以UDP報文方式發給本地域名伺服器。
本地的域名伺服器查到域名後,將對應的IP地址放在應答報文中返回。同時域名伺服器還必須具有連向其他伺服器的信息以支持不能解析時的轉發。
若域名伺服器不能回答該請求,則此域名伺服器就暫成為DNS中的另一個客戶,向根域名伺服器發出請求解析,根域名伺服器一定能找到下面的所有二級域名的域名伺服器,這樣以此類推,一直向下解析,直到查詢到所請求的域名。
2、域名解析流程:
域名-DNS(域名解析伺服器)-網站空間。
Internet上的計算機是通過IP地址來定位的,給出一個IP地址,就可以找到Internet上的某台主機。而因為IP地址難於記憶,又發明了域名來代替IP地址。但通過域名並不能直接找到要訪問的主機,中間要加一個從域名查找IP地址的過程,這個過程就是域名解析。
域名注冊後,注冊商為域名提供免費的靜態解析服務。一般的域名注冊商不提供動態解析服務,如果需要用動態解析服務,需要向動態域名服務商支付域名動態解析服務費。
3. 什麼是域名解析怎麼樣的一個步驟
域名解析是把域名指向網站空間IP,讓人們通過注冊的域名可以方便地訪問到網站一種服務。IP地址是網路上標識站點的數字地址,為了方便記憶,採用域名來代替IP地址標識站點地址。域名解析就是域名到IP地址的轉換過程。域名的解析工作由DNS伺服器完成。
域名解析也叫域名指向、伺服器設置、域名配置以及反向IP登記等等。說得簡單點就是將好記的域名解析成IP,服務由DNS伺服器完成,是把域名解析到一個IP地址,然後在此IP地址的主機上將一個子目錄與域名綁定。
1、旁歷蘆A記錄解析
記錄類型選擇「A」;記錄值填寫空間商提供的主運帶機IP地址;MX優先順序不需要設置;TTL設置默認的3600即可。
2、CNAME記錄解析
CNAME類型解析設置的方法和爛枝A記錄類型基本是一樣的,其中將記錄類型修改為「CNAME」,並且記錄值填寫伺服器主機地址即可。
3、MX記錄解析
MX記錄解析是做郵箱解析使用的。記錄類型選擇MX,線路類型選擇通用或者同時添加三條線路類型為電信、網通、教育網的記錄;記錄值填寫郵局商提供的伺服器IP地址或別名地址;TTL設置默認的3600即可,MX優先順序填寫郵局提供商要求的數據,或是默認10,有多條MX記錄的時候,優先順序要設置不一樣的數據。
第一步:登陸域名控制面板後找到「解析」按鈕點擊進入解析管理;
第二步:在解析面板里填寫想做解析的方案,A記錄、MX等,上圖有詳細說明。填寫完後點擊添加記錄即可完成域名解析設置。
4. DNS原理總結及其解析過程詳解
域名系統DNS(Domain Name System)是網際網路使用的命名系統,用來把便於人們使用的機器名字轉換成為IP地址。域名系統其實就是名字系統。為什麼不叫「名字」而叫「域名」呢?這是因為在這種網際網路的命名系統中使用了許多的「域(domain)」,因此就出現了「域名」這個名詞。「域名系統」明確地指明這種系統是應用在網際網路中。
我們都知道,IP地址是由32位的二進制數字組成的。用戶與網際網路上某台主機通信時,顯然不願意使用很難記憶的長達32位的二進制主機地址。即使是點分十進制IP地址也並不太容易記憶。相反,大家願意使用比較容易記憶的主機名字。但是,機器在處理IP數據報時,並不是使用域名而是使用IP地址。這是因為IP地址長度固定,而域名的長度不固定,機器處理起來比較困難。
因為網際網路規模很大,所以整個網際網路只使用一個域名伺服器是不可行的。因此,早在1983年網際網路開始採用層次樹狀結構的命名方法,並使用分布式的域名系統DNS。並採用客戶伺服器方式。DNS使大多數名字都在本地解析(resolve),僅有少量解析需要在網際網路上通信,因此DNS系統的效率很高。由於DNS是分布式系統,即使單個計算機除了故障,也不會妨礙整個DNS系統的正常運行。
域名到IP地址的解析是由分布在網際網路上的許多域名伺服器程序共同完成的。域名伺服器程序在專設的結點上運行,而人們也常把運行域名伺服器程序的機器稱為域名伺服器。
域名到IP地址的解析過程的要點如下:當某一個應用需要把主機名解析為IP地址時,該應用進程就調用解析程序,並稱為DNS的一個客戶,把待解析的域名放在DNS請求報文中,以UDP用戶數據報方式發給本地域名伺服器。本地域名伺服器在查找域名後,把對應的IP地址放在回答報文中返回。應用程序獲得目的主機的IP地址後即可進行通信。
若本地域名伺服器不能回答該請求,則此域名伺服器就暫時稱為DNS的另一個客戶,並向其他域名伺服器發出查詢請求。這種過程直至找到能夠回答該請求的域名伺服器為止。此過程在後面作進一步討論。
由於網際網路的用戶數量較多,所以網際網路在命名時採用的是層次樹狀結構的命名方法。任何一個連接在網際網路上的主機或路由器,都有一個唯一的層次結構的名字,即域名(domain name)。這里,「域」(domain)是名字空間中一個可被管理的劃分。
從語法上講,每一個域名都是有標號(label)序列組成,而各標號之間用點(小數點)隔開。
這是中央電視台用於手法電子郵件的計算機的域名,它由三個標號組成,其中標號com是頂級域名,標號cctv是二級域名,標號mail是三級域名。
DNS規定,域名中的標號都有英文和數字組成,每一個標號不超過63個字元(為了記憶方便,一般不會超過12個字元),也不區分大小寫字母。標號中除連字元(-)外不能使用其他的標點符號。級別最低的域名寫在最左邊,而級別最高的字元寫在最右邊。由多個標號組成的完整域名總共不超過255個字元。DNS既不規定一個域名需要包含多少個下級域名,也不規定每一級域名代表什麼意思。各級域名由其上一級的域名管理機構管理,而最高的頂級域名則由ICANN進行管理。用這種方法可使每一個域名在整個互聯網范圍內是唯一的,並且也容易設計出一種查找域名的機制。
域名只是邏輯概念,並不代表計算機所在的物理地點。據2006年12月統計,現在頂級域名TLD(Top Level Domain)已有265個,分為三大類:
如果採用上述的樹狀結構,每一個節點都採用一個域名伺服器,這樣會使得域名伺服器的數量太多,使域名伺服器系統的運行效率降低。所以在DNS中,採用劃分區的方法來解決。
一個伺服器所負責管轄(或有許可權)的范圍叫做區(zone)。各單位根據具體情況來劃分自己管轄范圍的區。但在一個區中的所有節點必須是能夠連通的。每一個區設置相應的許可權域名伺服器,用來保存該區中的所有主機到域名IP地址的映射。總之,DNS伺服器的管轄范圍不是以「域」為單位,而是以「區」為單位。區是DNS伺服器實際管轄的范圍。區 <= 域。
下圖是區的不同劃分方法的舉例。假定abc公司有下屬部門x和y,部門x下面有分三個分布們u,v,w,而y下面還有下屬部門t。圖a表示abc公司只設一個區abc.com。這是,區abc.com和域abc.com指的是同一件事。但圖b表示abc公司劃分為兩個區:abc.com和y.abc.com。這兩個區都隸屬於域abc.com,都各設置了相應的許可權域名伺服器。不難看出,區是域的子集。
下圖是以上圖b中abc公司劃分的兩個區為例,給出了DNS域名伺服器樹狀結構圖。這種DNS域名伺服器樹狀結構圖可以更准確地反映出DNS的分布式結構。圖中的每一個域名伺服器都能夠部分域名到IP地址的解析。當某個DNS伺服器不能進行域名到IP地址的轉換時,它就會設法找網際網路上別的域名伺服器進行解析。
從下圖可以看出,網際網路上的DNS伺服器也是按照層次安排的。每一個域名伺服器只對域名體系中的一部分進行管轄。根據域名伺服器所起的作用,可以把域名伺服器劃分為下面四種不同的類型。
根域名伺服器:最高層次的域名伺服器,也是最重要的域名伺服器。所有的根域名伺服器都知道所有的頂級域名伺服器的域名和IP地址。不管是哪一個本地域名伺服器,若要對網際網路上任何一個域名進行解析,只要自己無法解析,就首先求助根域名伺服器。所以根域名伺服器是最重要的域名伺服器。假定所有的根域名伺服器都癱瘓了,那麼整個DNS系統就無法工作。需要注意的是,在很多情況下,根域名伺服器並不直接把待查詢的域名直接解析出IP地址,而是告訴本地域名伺服器下一步應當找哪一個頂級域名伺服器進行查詢。
頂級域名伺服器:負責管理在該頂級域名伺服器注冊的二級域名。
許可權域名伺服器:負責一個「區」的域名伺服器。
本地域名伺服器:本地伺服器不屬於下圖的域名伺服器的層次結構,但是它對域名系統非常重要。當一個主機發出DNS查詢請求時,這個查詢請求報文就發送給本地域名伺服器。
注意:
下面舉一個例子演示整個查詢過程: