DNS伺服器的原理

來源:互聯網
上載者:User

DNS伺服器的原理

DNS (Domain Name System) 網域名稱系統的簡寫
它是一種基於tcp/upd的服務,同時監聽在TCP和UPD的53號連接埠。剛開始,網路剛誕生的時候,只有很少的電腦接入網路,而隨著個人PC的發展,網路成爆炸性增長,單純的IP地址很難記憶,所有有了DNS服務,它可以將ip對應為容易記憶的英文字元,也就是我們現在使用的網址。全球有13台根伺服器,而亞洲只有一台位於日本。
為了正常化地址的使用,出現了國際名稱地址分配機構,它將網域名稱劃分為幾個等級(簡單說明)
                                 .         根DNS伺服器用符號點表示     
         .com            .net             .org              .cn              .tw        頂層網域

ibm.com                                                                                               次層網域

所以我們通常的網址例如www.ibm.com其實是www.ibm.com. 最後面的一個點指向根伺服器。

(一)DNS伺服器其實就是存放網域名稱和IP對應的資料庫檔案,那麼它的查詢類型有哪些?分為兩種
1. 遞迴查詢
2. 迭代查詢

遞迴查詢,如果A查詢不到ibm.com,伺服器A會向下一個伺服器B查詢,直到找到答案返回
迭代查詢,如果A沒有ibm.com,但是知道B有,就發送給PC,讓它去找B

我們的電腦在網域名稱解析時一般採用兩種結合的方式,前半段遞迴(本地),後半段迭代(非本地)

(二)DNS伺服器的解析是雙向的:
NAME----->ip :  正向解析,根據主機名稱尋找到對應的IP
ip------>FQDN: 反響解析,根據ip尋找到對應的網域名稱

DNS伺服器裡記錄這些解析的資訊主要通過一些記錄類型來實現:
FQDN --->  IP :  A         A表示對應的是IP地址
IP -----> FQDN :   PTR   (pointer)       表示對應的是網域名稱
DOMAIN ----->SERVER :  NS       (Name Server)     網域名稱伺服器的名字
DOMAIN------> MTA   : MX (Mail eXchanger)     記錄郵箱地址,郵件交換器
aliase-----> jerry   :   CNAME       解析一個別名的正式名稱    
SOA (Start Of Authority)   一般標明一個網域名稱的主網域名稱伺服器

(三)DNS伺服器類型:
本地從伺服器
本地主伺服器

主伺服器----輔助名稱伺服器
一般來講,從服務是隔一段時間和其他伺服器同步,但是它也有通知的責任,只要它的資料發生變化,它就會通知其他從伺服器,不管其他從伺服器是否變化都會和它同步

(四)什麼是域,地區
DNS的解析需要定義一個域,而這個域下有兩個子領域,他們都用來名稱解析,名稱解析分為兩類,一個是正向,一個是反向,需要分別定義:
正向需要一個單獨的資料檔案

反向需要一個單獨的資料檔案

所以說地區是物理概念,它和物理檔案一一對應。而域是邏輯概念,它指名了一處“地方”。

# 一個域包含了一個正向地區和反向地區,但是地區裡也可以開闢出域,.com裡有ibm.com域和地區彼此間沒有對應關係,並非一定只有兩個地區,如果一個域裡面劃分出多個域,就不止有兩個地區

地區傳送類型
     axfr    完全地區傳送-------->傳送地區內的所有解析資訊
     ixfr     部分地區傳送-------->只傳輸變化的內容

如果有一個網域名稱新增或者移過來,那麼這個資訊的修改是有主伺服器來做的,而從伺服器每隔一段時間會和主伺服器同步資訊或者說傳送資訊,這種傳送叫地區傳送

(五)DNS伺服器響應用戶端請求解析流程

                                                                

請求-----> 本地的/etc/hosts                                             # 如果host檔案裡有解析,那麼返回host檔案的解析結果,沒有下一步        

----> 本地DNS緩衝                                                          
# 尋找本地的DNS緩衝,如果有,返回結果,沒有下一步

----> 找第一台dns伺服器 ---->尋找緩衝                        # 尋找自己定義的第一個DNS伺服器,DNS伺服器尋找緩衝,如果有,返回結果,如有沒有,下一步

----> 看看是不是自己負責的域-------> 返回結果           # 第二個DNS正好負責改域,返回結果
                                       ↓             是                                   
                                    不是                                                # 第二個自己定義的DNS ,沒有結果,直接去找根伺服器再一步一步往下級網域名稱找
                                       ↓

                            找根DNS伺服器                                    

# 通過根伺服器一步一步往下找的答案返回為權威答案,而緩衝返回的都是非權威答案 

說明:                         
/etc/host 可以實現網域名稱重新導向,因為它被優先使用

緩衝名稱伺服器的目的是為了: 加速,節約頻寬 ,它不負責管理地區

**轉寄站: 僅僅幫使用者的請求轉寄的其他伺服器上,實現內外防火牆之間DNS伺服器轉寄資料

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.