DNS的全稱是Domain Name System。它擔任把FQDN(就是以\".\"分隔結束的姓名)翻譯成一個IP。開始的DNS體系運用的是一個巨大的hosts.txt文件(很吃驚,用 這個就好使了?),可是一段時刻今后,開發這就不得不必數據庫來替代hosts.txt文件,終究開展到了現在的分布式數據庫。
DNS體系是一個巨大的樹,最上方有一個無名樹根,下一層是arpa,com,edu,gov,int,mil,us, cn。等等,其間arpa,是域名反解析樹的頂端;而com,edu,等域名原本只用在美國(這就是技能特權?。墒乾F在簡直全世界通用;而us, cn,等叫做國家域。這個樹里邊的域名并不是統一辦理的,網絡信息中心(NIS)擔任分配尖端域合派遣其他擬定地區域的授權組織。
一個獨立辦理的DNS子樹叫做zone,最常見的區域就是二級域名,比方說.com.cn。咱們還能夠把這個二級域名給劃分紅更小的區域,比方說sina.com.cn。DNS體系是一個分布式的數據庫,當一個數據庫發現自己并沒有某查詢所需求的數據的時分,它將把查詢轉發出去,而轉發的目的地通常是根服務器,根服 務器從上至下層層轉發查詢,直到找到方針停止。DNS還有一個特色就是運用高速緩存,DNS把查詢過的數據緩存在某處,以便于下次查詢時運用。
DNS協議
DNS報文界說了一個既能夠查詢也能夠呼應的報文格式。對各個字段簡略解說如下:
最前面的16個bit僅有的標明了問題號碼,用于查詢端差異自己的查詢。
緊接著的16個bit又能夠做進一步的細分,標明了報文的性質和一些細節,比方說是查詢報文仍是呼應報文,需求遞歸查詢與否(一般服務器都支撐遞歸查詢,并且不需求任何設置,BIND就是這樣)
查詢問題后邊有查詢類型,包含A,NS,CNAME,PTR,HINFO,MX,假如了解BIND的話,就知道在zong的配置文件里邊,每一條記載都記載了各自的類型,比方A就是IP地址,NS就是姓名服務器。
呼應報文能夠回復多個IP,也就是說,域名能夠和多個IP地址對應,并且有許多CNAME。
反向查詢
正向查詢指的是經過域名得到IP的查詢,而反向查詢就是經過IP得到域名。例如用host指令,host ip就能夠得到服務器的域名,host domainName 就得到IP。
略微知道一點數據結構的人都能意識到,在正向查詢的域里邊做反向查詢,其做法只要遍歷整個數據調集----關于DNS來說,那就是遍歷整個數據庫, 這將帶來巨大的擔負,所以DNS采取了另一種方法,運用另一棵子樹來保護IP-〉域名的對應表。
這個子樹的根節點是in-addr.arpa,而一個IP 例如192.168.11.2)所具有的DNS地址就是 2.11.168.192.in-addr.arpa(ip倒置)。在DNS體系里邊,一個反向地址對應一個PTR紀錄(對應A紀錄),所以反向查詢又名 做指針(PTR)查詢。
其他問題的評論DNS服務器高速緩存
BIND9默許是作為一個高速緩存服務器,其將一切的查詢都轉交到根服務器去,然后得到成果并放在本地的緩沖區,以加速查詢速度。假如有愛好能夠裝置一個BIND9來測驗一下。而自己界說的zone則能夠規則其在緩存中的時刻,一般是1天(就是配置文件中的1D)。
用UDP仍是TCP
DNS服務器支撐TCP和UDP兩種協議的查詢方法,并且端口都是53。而大多數的查詢都是UDP查詢的,一般需求TCP查詢的有兩種狀況:
當查詢數據多大以至于產生了數據切斷(TC標志為1),這時,需求使用TCP的分片才能來進行數據傳輸(看TCP的相關章節)。
當主(master)服務器和輔(slave)服務器之間通訊,輔服務器要拿到主服務器的zone信息的時分。 關鍵詞: 域名查詢系統|轉載請注明來源地址:蜘蛛池出租 http://m.gzxyxkj.cn/
專注于SEO培訓,快速排名黑帽SEO https://www.heimao.wiki