【DNS】domain named system
域名決議系統,即相當于對www.baidu.com的類似的域名進行決議,對于人而言,記憶一些域名相比于記憶一些Ip地址來說簡單的多,而對于計算機而言,特別是web網路瀏覽器或者路由器而言,由于ip本身就是32位的資料,這就使得計算機在處理這些資料上特別的方便和快捷,對于瀏覽器而言,當鍵入一個域名的時候,一般是不能進行訪問的,一般需要特定的DNS決議系統進行域名到IP地址之間的一個轉換,這樣web瀏覽器才能給指定的IP地址發送http的報文進行資料之間的交換,在當下網路的分布情況而言,本質上是資料交換的網路,而圍繞著資料交換這一個主題便產生了許許多多的問題,
DNS服務器的分類:
- TLD服務器(也叫頂級域名服務器),從www.baidu.com的地址結構來看,.com 就是頂級域,由此往下便產生了二級域名,由此可見子域名是一個相對的概念,
- 本地域名服務器:在web網頁要訪問www.baidu.com的域名的地址的行程的時候,行程要獲取www.baidu.com的IP地址,首先行程先給本地域名服務器發送一個DNS請求報文,然后本地DNS查找當前的DNS快取,如果在快取中查找到,則直接回傳IP地址給當前行程進行查詢,可以指出的是本地DNS服務器并不在DNS分布式結構之下,但又是DNS服務器結構中不可或缺的一部分,
- 權威DNS服務器
當有新的域名注冊的時候,你需要提供給域名注冊商兩個DNS記錄,一個是NS型別的,一個A型別的,就www.baidu.com而言(討論中忽略):
【關于DNS決議程序的產生】
假設現在有兩臺主機分別是A:a.ssd.edu和B:b.ssc.dfx.前者想要獲得后者的IP地址的時候,主要有以下步驟:
- A首先發送B的域名給本地的DNS服務器,如果本地服務器的DNS快取中有則回傳給用戶一個IP地址(這個時候的客戶是行程)
- 如果A的DNS快取中沒有的時候,本地服務器發送域名給.edu根DNS服務器,這個時候的客戶變成了A的主機,由上面敘述的那樣,根域名服務器快取中如果有則回傳IP,否則回傳的是ssd.eduDNS服務器的地址,然后進行對sss.edu服務器的訪問回傳需要的A的IP.
- 然后根據所回傳的IP地址進行與對應主機進行連接,
【remark】
上述的DNS決議程序僅僅局限在兩個主機之間的決議,下面考慮整個網路中的DNS決議程序,
就TLD服務器而言,全球共由240多個服務器站點,但這不是說TLD服務器就只有240多個,當然可以建立許多的鏡像服務器進行資料的交換,還有許多由國家分類的TLD域名,例如中國就是.cn,美國就是.us.\
【關于注冊域名的問題】
在互聯網上要想申請一個域名,必須在域名注冊商哪里進行注冊,然后進行上傳到由域名注冊商所維護的TLD服務器中,然后才可以與其他人進行資料的交換,
【DEF】給出關于資源記錄的概念
在所有的DNS服務器中存盤的實際上是RR(資源記錄),資源記錄決定著和IP地址之間的映射關系,并且回傳給客戶,
一條資源記錄通常由(name, value type TTL);
其中TTL是決定資源能否在DNS服務器中存盤多少的時間,因為DNS服務器是一個物理存盤,由你的接入網路的ISP進行維護,當然是由限制的存盤,所以到一定時間就需要初始化,TTL就決定了初始化的時間,
- 關于資源記錄的分類的問題(主要是看type欄位的分類)
當type=A的時候name 代表的是主機名,value代表的是IP地址(和name進行匹配的)
當type=NS的時候,name代表的是是一個域,而value代表的如何獲取該域中的主機IP的權威服務器的主機名(然后由這個主機名進行回傳一個A記錄,就得到了客戶所需要的IP地址)
還有CNAME和MX的分類,不做討論
【IN summary】
用宏觀的角度觀察在計算機網路中的DNS決議系統的時候,想想一張全球的表,當你在訪問一個網站的時候,被這些網站上的精彩資訊所吸引,單在這背后,還有遠比瀏覽網頁更吸引眼球的復雜事情正在發生,

就像上圖一樣,帶著英文字母的代表的就是TLD服務器,當你要訪問一個網站的時候,就類似于上面討論的程序發送DNS請求——>回傳主機IP,但是每天有數不勝數的DNS請求被互聯網的各個部分以復雜的程序進行處理,復雜意味著肯定會有疏忽,當然就產生了漏洞,也就是DNS攻擊的產生:
一般來說就是偽造域名
發送大量的DNS請求讓服務器進行癱瘓
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/3790.html
標籤:其他
下一篇:字符陣列和字串
