在Internet中,主機(jī)和路由器都有一個標(biāo)識符: IP地址,這是為了在網(wǎng)絡(luò)層服務(wù)(后面會單獨(dú)寫文章解釋)
和人對比,ip類似于人的身份證號
但是我們彼此稱呼的時候,張三 叫" />
詳解 Internet的目錄DNS協(xié)議
時間:2023-01-30 15:12:01 | 來源:建站知識
時間:2023-01-30 15:12:01 來源:建站知識
DNS體系介紹 為什么要有DNS DNS = Domain Name System 在Internet中,主機(jī)和路由器都有一個標(biāo)識符: IP地址,這是為了在網(wǎng)絡(luò)層服務(wù)(后面會單獨(dú)寫文章解釋)
和人對比,ip類似于人的身份證號
但是我們彼此稱呼的時候,張三 叫 李四 不可能叫他 511024XXXXXX身份證號吧,而是直呼名字,那在互聯(lián)網(wǎng)中,這些網(wǎng)絡(luò)設(shè)備,也可以擁有名字,這就是域名,也叫主機(jī)名
DNS 就負(fù)責(zé)建立 IP地址和主機(jī)名之間建立映射關(guān)系,負(fù)責(zé)兩者轉(zhuǎn)換。
DNS提供的功能 DNS是通過專門的服務(wù)器實現(xiàn)它的功能,稱為DNS服務(wù)器。 主機(jī)名到IP地址的轉(zhuǎn)換 主機(jī)別名 一個主機(jī)可以有一個規(guī)范主機(jī)名和多個主機(jī)別名 郵件服務(wù)器別名 負(fù)載分配 DNS實現(xiàn)冗余服務(wù)器:一個IP地址 集合可以對應(yīng)于同一個規(guī)范主機(jī)名。 (比如你訪問的http:// baidu.com ,訪問量巨大,不可能讓單一的主機(jī)來負(fù)責(zé)請求,一般是很多個主機(jī)映射到一個域名上面,負(fù)載均衡) DNS特點(diǎn) 分布式數(shù)據(jù)庫: 一個由分層 DNS服務(wù)器實現(xiàn)的分布式數(shù)據(jù)庫 應(yīng)用層協(xié)議:DNS服務(wù)器實現(xiàn)域名轉(zhuǎn)換 (域名/地址轉(zhuǎn)換)、 為什么不集中式DNS?
單點(diǎn)故障 導(dǎo)致DNS服務(wù)癱瘓 巨大訪問量 遠(yuǎn)距離集中式數(shù)據(jù)庫維護(hù) 不可擴(kuò)展! 分層結(jié)構(gòu):
客戶機(jī)怎樣決定主機(jī)名www.amazon.com的IP地址?
從后往前查詢 客戶機(jī)查詢根服務(wù)器得到com DNS服務(wù)器 客戶機(jī)查詢com DNS服務(wù)器得到amazon.comDNS服務(wù)器 客戶機(jī)查詢amazon.comDNS服務(wù)器得到 http://www. amazon.com 的IP地址 頂級域(TLD)服務(wù)器和權(quán)威 DNS服務(wù)器頂級域服務(wù)器
(top-level domain servers): 13個頂級域名服務(wù)器和鏡像服務(wù)器 一共全球 500多個 負(fù)責(zé)頂級域名 com, org, net, edu, etc, 和所有國家的頂級域名 uk, fr, ca, jp. Network solutions 公司維護(hù)com頂級域的TLD服務(wù)器 Educause 公司維護(hù)edu頂級域的 TLD服務(wù)器 權(quán)威DNS服務(wù)器
(authoritative DNS servers): 在因特網(wǎng)上具有公共可訪問主機(jī) (如Web服務(wù)器和郵件服務(wù)器)的每個組織機(jī)構(gòu)必須提供公共可訪問的DNS記錄,這些記錄將這些主機(jī)的名字映射為IP地址。 組織機(jī)構(gòu)的權(quán)威DNS服務(wù)器負(fù) 責(zé)保存這些DNS記錄。 多數(shù)大學(xué)和公司維護(hù)它們的基本權(quán)威DNS服務(wù)器 本地DNS服務(wù)器 相當(dāng)于一個本地代理 嚴(yán)格來說不屬于該服務(wù)器的層次結(jié)構(gòu) 每個ISP(如居民區(qū)ISP、公司、大學(xué))都有一 個本地DNS 也叫默認(rèn)服務(wù)器 當(dāng)主機(jī)發(fā)出DNS請求時,該請求被發(fā)往本地DNS服務(wù)器。 起著代理的作用,轉(zhuǎn)發(fā)請求到層次結(jié)構(gòu)中。 DNS工作原理 DNS 查詢方法 具體DNS查詢是如何實現(xiàn)的呢? 一般是如下兩種方法 遞歸查詢 (recursive query) 簡單來說就是:名字解析的負(fù)擔(dān)交給被查詢的名字服務(wù)器,它幫你查 被查詢的名字服務(wù)器負(fù)載重? 就像圖中root DNS server 迭代查詢(iterated query) 簡單來說:被查詢的名字服務(wù)器 回復(fù)可以被 查詢的名字服務(wù)器的IP地址,給你指路,并不幫你查詢 “我不知道它的名字,但是可以問 服務(wù)器” 可以看到這種情況,查詢都是本地DNS服務(wù)器,降低了root DNS server負(fù)擔(dān)。 DNS 緩存和權(quán)威DNS 記錄更新 本地DNS服務(wù)器緩存,加快訪問速度 一旦名字服務(wù)器獲得DNS映射, 它將緩存該映射到局部內(nèi)存 服務(wù)器在一定時間后將丟棄緩存的信息 本地DNS服務(wù)器可以緩存TLD服務(wù)器的IP地址 因此根DNS服務(wù)器不會被經(jīng)常訪問 權(quán)威DNS服務(wù)器記錄更新:IETF動態(tài)更新/通報機(jī)制 ? RFC 2136 DNS記錄 DNS: 存儲資源記錄(RR,Resource Records)的分布式數(shù)據(jù)庫
DNS記錄是以RP格式四元組方式存儲的
RR 格式: (name, value, type,ttl) Type=A(Adress) name = 主機(jī)名 value = IP地址 相當(dāng)于 一個域名指向一個ip地址
Type=CNAME(canonical) name = 主機(jī)別名 http://www. ibm.com 的真名為http:// servereast.backup2.ibm.com value = 真實的規(guī)范主機(jī)名 相當(dāng)于 一個域名指向另一個域名
( name server )
name = 域名(如http:// foo.com ) value = 該域權(quán)威名字服務(wù)器的主機(jī)名 相當(dāng)于指向了它的域名服務(wù)器
還有很多規(guī)則不在這里一一列舉 DNS協(xié)議、消息 DNS也有自己的查詢報文和應(yīng)答報文,但是格式是相同的
報文頭部 標(biāo)識符: 16位,查詢和應(yīng)答報文使 用相同的標(biāo)識符 標(biāo)志:有若干個標(biāo)志構(gòu)成,分別標(biāo) 識不同的功能 查詢/應(yīng)答-0/ 1 查詢希望是/非遞歸查詢-1/0 應(yīng)答可/否獲得(支持)遞歸查詢 -1/0 應(yīng)答是/否來自權(quán)威名字服務(wù)器 -1/ 0 如何在DNS數(shù)據(jù)庫中插入記錄 例子:剛剛創(chuàng)建一個“network”公司
如果你想在注冊登記機(jī)構(gòu)注冊你的域名http:// network.com ,則 需要提供你自己的基本權(quán)威DNS服務(wù)器和輔助權(quán)威DNS服務(wù)器的名字和IP地址 該注冊登記機(jī)構(gòu)將下列兩條資源記錄插入注冊機(jī)構(gòu)的DNS系統(tǒng)中: (network.com, dns1.network.com, NS)
(dns1.network.com, 212.212.212.1, A)
如果你想建立一個網(wǎng)站,則可以將網(wǎng)址http://www. network.com 以類型A的方式記錄到你的權(quán)威DNS服務(wù)器http:// dns1.network.com 中。 如果你想建一個郵件服務(wù)器,則可以將http:// mail.network.com 以類型MX的方式記錄到你的權(quán)威DNS服務(wù)器http:// dns1.network.com 中。 DNS安全問題 DDoS攻擊:對根域名服務(wù)器或頂級域名服務(wù)器發(fā)起拒絕服務(wù)攻擊,基于主機(jī)耗盡型的DNS查詢拒絕服務(wù)
重定向攻擊:中間人攻擊、DNS中毒攻擊(發(fā)送欺騙的域名解析結(jié)果給DNS服務(wù)器)
利用DNS實現(xiàn)DDoS攻擊: DNS反彈式拒絕服務(wù)攻擊(DNS reflector attacks,又稱DNS amplification attacks)。偽造客戶地址向大量的dns服務(wù)器發(fā)出請求,導(dǎo)致客戶無法訪問 dns服務(wù)器進(jìn)行域名解析。