為什么要有域名系統(tǒng)呢摩桶?
域名系統(tǒng)DNS(Domain Name System 區(qū)域名系統(tǒng))是互聯(lián)網(wǎng)使用的命名系統(tǒng)骡湖,用來把便于人們使用的機器名字轉換為IP地址匾荆。域名系統(tǒng)其實就是名字系統(tǒng)。為什么不叫名字系統(tǒng)闻葵,而叫域名系統(tǒng)情龄?這是在這種互聯(lián)網(wǎng)的命名系統(tǒng)中使用了許多的“域”迄汛,因此就出現(xiàn)了“域名”這個詞捍壤。“域名系統(tǒng)”很明確的指明這種系統(tǒng)是用在互聯(lián)網(wǎng)中的鞍爱。
許多應用層軟件經(jīng)常直接使用域名系統(tǒng)DNS鹃觉。雖然計算機的用戶只是間接而不是直接使用域名系統(tǒng),但是DNS卻為互聯(lián)網(wǎng)的各種網(wǎng)絡應用提供了核心服務睹逃。
用戶與互聯(lián)網(wǎng)上某臺某臺主機通信時盗扇,必須要知道對方的IP地址。然而沉填,用戶很難記住長達32位的二進制主機地址疗隶。即使是點分十進制的IP地址也并不容易記憶。但是在應用層便于用戶記憶各種網(wǎng)絡應用翼闹,連接在互聯(lián)網(wǎng)上的主機不僅有IP地址斑鼻,而且還有便于用戶記憶的主機名字。域名系統(tǒng)能夠把互聯(lián)網(wǎng)上的主機名字轉換為IP地址橄碾。
為什么機器在處理IP數(shù)據(jù)報時使用IP地址而不是域名地址呢卵沉?
這是因為IP地址的長度是固定的32位(如果是ipv6,那就是128位)法牲,而域名長度并不是固定的,機器處理起來比較困難琼掠。
域名系統(tǒng)的服務器是怎樣設置的呢拒垃?
從理論上講,整個互聯(lián)網(wǎng)可以只使用一個域名服務器瓷蛙,使它裝入互聯(lián)網(wǎng)上的所有的主機名悼瓮,并回答所有對IP地址的查詢。然而這種做法并不可取艰猬。因為互聯(lián)網(wǎng)規(guī)模很大横堡,這樣的域名服務器肯定會因過負荷而無法正常工作,而且一旦域名服務器出現(xiàn)故障冠桃,整個互聯(lián)網(wǎng)都會癱瘓命贴。因此,早在1983奶奶互聯(lián)網(wǎng)就開始采用層次樹狀結構的命名方法食听,并使用分布式的域名系統(tǒng)DNS.
互聯(lián)網(wǎng)的域名系統(tǒng)DNS被設計成一個聯(lián)機分布式數(shù)據(jù)庫系統(tǒng)胸蛛,并采用客戶服務器方式。DNS的大多數(shù)名字都在本地解析樱报,僅僅少量需要在互聯(lián)網(wǎng)上通信葬项,因此DNS系統(tǒng)的效率很高。由于DNS是分布式系統(tǒng)迹蛤,即使單個計算機出了問題民珍,也不會妨礙整個DNS系統(tǒng)的正常運行襟士。
域名的解析過程?
域名到IP地址的解析是由分布在互聯(lián)網(wǎng)上的許多域名服務器共同完成的嚷量。域名服務器程序在專設的節(jié)點上運行陋桂,而人們也常把運行域名服務器程序的機器稱作域名服務器。
域名到IP地址的解析過程的要點如下:當一個應用進程需要把主機名解析成IP地址時津肛,該應用程序就調用解析程序章喉,并成為DNS的一個客戶,把待解析的域名放在DNS請求報文中身坐,以UPD用戶數(shù)據(jù)報方式發(fā)給本地服務器秸脱。本地域名服務器在查找域名后,把對應的IP地址放到IP地址放在回答報文中返回部蛇。應用進程獲得目的主機的IP地址后即可進行通信摊唇。
若本地域名服務器不能回答請求,則此域名服務器就暫時稱為DNS中的另一個客戶涯鲁,并向其他域名服務器發(fā)出查詢請求巷查。這種過程直至找到能夠回答該請求的域名服務器為止。