DNS基本概念和相關命令


  1、基本概念:

  1)域名系統(DNS)是一種用於TCP/IP應用程序的分布式數據庫,它提供主機名字和IP地址之間的轉換及有關電子郵件的選路信息

  DNS最常用的版本(包括解析器和名字服務器)是BIND——伯克利Internet域名服務器。該服務器稱作named。

  2)DNS的層次組織

  

  命名標志中一律不區分大小寫。命名樹上任何一個結點的域名就是將從該結點到最高層的域名串聯起來,中間使用“.”分割,如上圖的sun.tuc.noao.edu.。

  頂級域中有7個3字符長的普通域/組織域,還有2字符長的國家域。

  3)區域(zone)與主/輔名字服務器

  一個獨立管理的DNS子樹稱為一個區域(如一個二級域)。

  網絡信息中心NIC負責分配頂級域和委派其他指定地區域的授權機構。一旦一個區域的授權機構被委派后,由它負責向該區域提供多個名字服務器。當一個新系統加入到一個區域中時,該區域的DNS管理者為該新系統申請一個域名和一個IP,並將它們加到名字服務器的數據庫中。

  一個名字服務器負責一個或多個區域。一個區域的管理者必須為該區域提供一個主名字服務器和至少一個輔名字服務器。主、輔名字服務器必須是獨立和冗余的,以便當某個名字服務器發生故障時不會影響該區域的名字服務。

  主、輔名字服務器的主要區別在於:主名字服務器從磁盤文件中調入該區域的所有信息(有新主機加入一個區域時,區域管理者將其名字和IP等加入到主名字服務器的一個磁盤文件中,然后通知該服務器重新調入配置文件);而輔名字服務器則從主服務器調入所有信息(該過程稱為區域傳送zone transfer。通常是每隔3小時向主名字服務器詢問是否有新數據)。區域傳送使用TCP。

  4)DNS的分布特性:當一個名字服務器沒有請求的信息時,它必須與其他的名字服務器聯系。

  該(主)名字服務器可能不知道如何同其他名字服務器聯系,但它必須知道根名字服務器的IP(根服務器知道所有二級域中每個授權名字服務器的名字和IP),並與它們聯系,而根服務器再告訴該服務器與另一個名字服務器聯系。根服務器列表可以查看ftp.rs.internic.net。

  5)TCP or UDP

  DNS對UDP和TCP都使用53端口。DNS主要使用UDP,無論是名字解析器還是名字服務器都必須自己處理超時和重傳。由於DNS查詢和響應通常經過廣域網,分組丟失率和往返時間的不確定性比局域網上更大,所以對於DNS客戶程序,一個好的超時和重傳程序就顯得更為重要了。

  6)DNS報文相關字段:

  (1)資源記錄RR。常用值:

  A:一個A記錄定義了一個IP地址,它存儲32bit的二進制數;PTR:指針記錄用於指針查詢(IP地址->域名);CNAME:“規范名字”;HINFO:主機信息,包括說明主機CPU和操作系統的兩個字符串(可能沒有提供,或者不是最新);MX:郵件交換記錄(一些使用場合:一個沒有連到Internet的站點能將一個連到Internet的站點作為它的郵件交換器。它們能夠用一種交替的方式交換到達的郵件,而通常使用UUCP協議;MX記錄提供一種將無法到達其目的主機的郵件傳送到一個替代主機的方式);NS:名字服務器記錄。它說明一個域的授權名字服務器。

  (2)標志字段。常用值:

  QR(1bit):0表示查詢報文,1表示響應報文。

  AA(1bit):授權回答(authoritative answer)。該名字服務器是授權於該域的(其回答在該域內是可相信的)。

  RD(1bit):期望遞歸(recursion desired)。1表示遞歸查詢,即如果目標DNS服務器無法解析主機名,則它將向其他DNS服務器繼續查詢,如此遞歸直到獲得結果並返回給客戶端。而0表示迭代查詢,即如果目標DNS服務器沒有一個授權回答,則它將返回一個能解答該查詢的其他名字服務器的列表。

  RA(1bit):可用遞歸。如果名字服務器支持遞歸查詢,則在響應中將該比特設置為1。大多數名字服務器都提供遞歸查詢,除了某些根服務器。

  7)DNS的一個基本特性是使用超高速緩存。

 

  2、dig(domain information groper,域信息搜索器):DNS lookup utility。

  1)dig用於向DNS名字服務器查詢域信息。它通常擁有比其他查詢工具更多的功能。

  2)常用選項:-f:批處理模式,從文件中讀取一系列查詢請求(每行一個);-t:設置查詢類型(如區域傳送為AXFR默認是A)。參考上文的RR;-x:反向查詢(地址->名字);-4:使用IPv4;-6:使用IPv6;-c:設置查詢類(class)。通常為IN,指互聯網地址。

  另外,通過${HOME}/.digrc可以設置特定於每個用戶的dig默認選項。這些選項在命令行參數之前被應用。

  3)使用示例:

  (1)查詢www.baidu.com的MX記錄:dig -t MX www.baidu.com,或dig www.baidu.com MX,或指定名字服務器dig @localhost www.baidu.com MX(除非顯式指定,否則dig會嘗試詢問/etc/resolv.conf中指定的所有服務器。若找不到可用的服務器地址,dig會發送查詢請求給本地主機)。

  (2)在命令行上使用POP訪問163郵箱:

  dig -t A pop.163.com。以下是部分輸出:

;; ANSWER SECTION:
pop.163.com.		85978	IN	CNAME	pop3.163.idns.yeah.net.
pop3.163.idns.yeah.net.	1372	IN	A	220.181.12.101

  telnet 220.181.12.101 110。以下是部分輸出:

Trying 220.181.12.101...
Connected to 220.181.12.101.
Escape character is '^]'.
+OK Welcome to coremail Mail Pop3 Server (163coms[726cd87d72d896a1ac393507346040fas])

  之后就可以輸入POP命令與服務器交互了。

 

  3、host:DNS lookup utility。

  1)host是一個簡單的DNS查詢工具,通常用於主機名字與IP地址的相互轉換。

  2)常用選項:-a:等效於設置-v選項並指定查詢類型為ANY;-c:設置查詢類。默認為IN(Internet);-d/-v:詳盡輸出;-r:指定迭代查詢(清除RD位);-T:使用TCP進行查詢(默認使用UDP)。一般用在區域傳送時;-4:使用IPv4;-6:使用IPv6;-t:設置查詢類型;-R:指定查詢時UDP的重試次數(默認為1);-W/-w:指定等待應答的時間。-W設置等待的秒數,-w則指定永遠等待應答;-l:為指定區域執行區域傳送。

 

 

 

 

  參考資料:

  《TCP/IP詳解 卷1:協議》

 

 

不斷學習中。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM