小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

TCP/IP詳解學(xué)習(xí)筆記(8)-DNS域名系統(tǒng)

 chenc_lib 2014-05-06

前面已經(jīng)提到了訪問一臺機(jī)器要靠IP地址和MAC地址,其中,MAC地址可以通過ARP協(xié)議得到,所以這對用戶是透明的,但是IP地址就不行,無論如何用戶都需要用一個指定的IP來訪問一臺計算機(jī),而IP地址又非常不好記,于是就出現(xiàn)了DNS系統(tǒng)

1.DNS系統(tǒng)介紹

DNS的全稱是Domain Name System。它負(fù)責(zé)把FQDN(就是以"."分隔結(jié)尾的名字)翻譯成一個IP。最初的DNS系統(tǒng)使用的是一個巨大的hosts.txt文件(很吃驚,用 這個就好使了?),可是一段時間以后,開發(fā)這就不得不用數(shù)據(jù)庫來代替hosts.txt文件,最終發(fā)展到了現(xiàn)在的分布式數(shù)據(jù)庫。

從書中的143頁可以看到,DNS系統(tǒng)是一個巨大的樹,最上方有一個無名樹根,下一層是arpa,com,edu,gov,int,mil,us, cn。等等,其中arpa,是域名反解析樹的頂端;而com,edu,等域名本來只用在美國(這就是技術(shù)特權(quán)?。乾F(xiàn)在幾乎全世界通用;而us, cn,等叫做國家域。這個樹里面的域名并不是統(tǒng)一管理的,網(wǎng)絡(luò)信息中心(NIS)負(fù)責(zé)分配頂級域合委派其他制定地區(qū)域的授權(quán)機(jī)構(gòu)。

一個獨立管理的DNS子樹叫做zone,最常見的區(qū)域就是二級域名,比如說.com.cn。我們還可以把這個二級域名給劃分成更小的區(qū)域,比如說sina.com.cn。

DNS系統(tǒng)是一個分布式的數(shù)據(jù)庫,當(dāng)一個數(shù)據(jù)庫發(fā)現(xiàn)自己并沒有某查詢所需要的數(shù)據(jù)的時候,它將把查詢轉(zhuǎn)發(fā)出去,而轉(zhuǎn)發(fā)的目的地通常是根服務(wù)器,根服 務(wù)器從上至下層層轉(zhuǎn)發(fā)查詢,直到找到目標(biāo)為止。DNS還有一個特點就是使用高速緩存,DNS把查詢過的數(shù)據(jù)緩存在某處,以便于下次查詢時使用。

2.DNS協(xié)議

DNS報文定義了一個既可以查詢也可以響應(yīng)的報文格式。具體格式可以看P145頁。對各個字段簡單解釋如下

  1. 最前面的16個bit唯一的標(biāo)示了問題號碼,用于查詢端區(qū)別自己的查詢。
  2. 緊接著的16個bit又可以做進(jìn)一步的細(xì)分,標(biāo)示了報文的性質(zhì)和一些細(xì)節(jié),比如說是查詢報文還是響應(yīng)報文,需要遞歸查詢與否(一般服務(wù)器都支持遞歸查詢,而且不需要任何設(shè)置,BIND就是這樣)
  3. 查詢問題后面有查詢類型,包括A,NS,CNAME,PTR,HINFO,MX,如果熟悉BIND的話,就知道在zong的配置文件里面,每一條記錄都記載了各自的類型,比如A就是IP地址,NS就是名字服務(wù)器。
  4. 響應(yīng)報文可以回復(fù)多個IP,也就是說,域名可以和多個IP地址對應(yīng),并且有很多CNAME。

3.反向查詢

正向查詢指的是通過域名得到IP的查詢,而反向查詢就是通過IP得到域名。例如用host命令,host ip就可以得到服務(wù)器的域名,host domainName 就得到IP。

稍微知道一點數(shù)據(jù)結(jié)構(gòu)的人都能意識到,在正向查詢的域里面做反向查詢,其做法只有遍歷整個數(shù)據(jù)集合----對于DNS來說,那就是遍歷整個數(shù)據(jù)庫, 這將帶來巨大的負(fù)擔(dān),所以DNS采取了另一種方法,使用另一棵子樹來維護(hù)IP-〉域名的對應(yīng)表。這個子樹的根節(jié)點是in-addr.arpa,而一個IP 例如192.168.11.2)所具有的DNS地址就是 2.11.168.192.in-addr.arpa(ip倒置)。在DNS系統(tǒng)里面,一個反向地址對應(yīng)一個PTR紀(jì)錄(對應(yīng)A紀(jì)錄),所以反向查詢又叫 做指針(PTR)查詢。

4.其他問題的討論

4.1.DNS服務(wù)器高速緩存

BIND9默認(rèn)是作為一個高速緩存服務(wù)器,其將所有的查詢都轉(zhuǎn)交到根服務(wù)器去,然后得到結(jié)果并放在本地的緩沖區(qū),以加快查詢速度。如果有興趣可以安裝一個BIND9來嘗試一下。而自己定義的zone則可以規(guī)定其在緩存中的時間,一般是1天(就是配置文件中的1D)。

4.2.用UDP還是TCP

DNS服務(wù)器支持TCP和UDP兩種協(xié)議的查詢方式,而且端口都是53。而大多數(shù)的查詢都是UDP查詢的,一般需要TCP查詢的有兩種情況:

  1. 當(dāng)查詢數(shù)據(jù)多大以至于產(chǎn)生了數(shù)據(jù)截斷(TC標(biāo)志為1),這時,需要利用TCP的分片能力來進(jìn)行數(shù)據(jù)傳輸(看TCP的相關(guān)章節(jié))。
  2. 當(dāng)主(master)服務(wù)器和輔(slave)服務(wù)器之間通信,輔服務(wù)器要拿到主服務(wù)器的zone信息的時候。

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多