<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          DNS域名解析系統(tǒng)

          共 2628字,需瀏覽 6分鐘

           ·

          2021-05-19 16:12

          前言

          前兩篇記錄了一下UDP、廣播和多播的相關(guān)筆記。

          那么我們在打開TCP連接或者用UDP發(fā)送一個(gè)數(shù)據(jù)報(bào)之前,接收方往往是一個(gè)域名,例如xxx.com,此時(shí)需要將這個(gè)域名轉(zhuǎn)換成IP地址,那么怎么進(jìn)行轉(zhuǎn)換的呢???

          就是通過這個(gè)DNS域名系統(tǒng)進(jìn)行轉(zhuǎn)換。

          今天就來記錄一下DNS域名系統(tǒng)。

          DNS域名系統(tǒng)

          DNS域名系統(tǒng)(Domain Name System) 是一種用于TCP/IP應(yīng)用程序的分布式數(shù)據(jù)庫,提供主機(jī)名字和IP地址之間的轉(zhuǎn)換及有關(guān)電子郵件的選路信息。

          DNS提供了允許服務(wù)器和客戶程序相互通信的協(xié)議。

          從應(yīng)用的角度上看,對DNS的訪問是通過一個(gè)地址解析器來完成的。

          解析器通過一個(gè)或多個(gè)名字服務(wù)器來完成主機(jī)名和IP的相互轉(zhuǎn)換。

          在一個(gè)應(yīng)用程序請求TCP打開一個(gè)連接或使用UDP發(fā)送給一個(gè)數(shù)據(jù)報(bào)之前,必須將一個(gè)主機(jī)名轉(zhuǎn)換成IP地址。

          每個(gè)節(jié)點(diǎn)的標(biāo)識(shí)最長63字符,不區(qū)分大小寫,任何一個(gè)節(jié)點(diǎn)的域名就是將該節(jié)點(diǎn)到最高層的域名串連起來,用“.”分割。

          以“.”結(jié)尾的域名被稱為絕對域名或完全合格的域名FQDN,例如:sun.tuc.noao.edu.

          如果非“.”結(jié)尾,則認(rèn)為該域名是不完全的。如果不完整的域名由兩個(gè)或兩個(gè)以上的標(biāo)號(hào)組成,則認(rèn)為它是完整的,或者在該域名的右邊加上一個(gè)局部后綴,例如,域名sun加上局部后綴  .tuc.noao.edu.  成為完整的。

          「頂級(jí)域名被分成三個(gè)部分:」

          (1)arpa是用作地址到名字轉(zhuǎn)換的特殊域

          (2)7個(gè)3字符長的普通域

          (3)所有2字符長的域被稱為國家域,或地理域

          描述
          com商業(yè)組織
          edu教育機(jī)構(gòu)
          gov其它美國政府部門
          int國際組織
          mil美國軍事網(wǎng)點(diǎn)
          net網(wǎng)絡(luò)
          org其它組織

          我們?nèi)粘D芙佑|到的就是以com結(jié)尾的域名

          比如學(xué)校的就是這樣

          至于后面的“.cn”域名表示的是我國頂級(jí)域名

          DNS服務(wù)器

          • 根DNS服務(wù)器:返回頂級(jí)域DNS服務(wù)器的IP地址
          • 頂級(jí)域DNS服務(wù)器:返回權(quán)威DNS服務(wù)器的IP地址
          • 權(quán)威DNS服務(wù)器:返回相應(yīng)主機(jī)的IP地址

          DNS解析流程

          為了提高DNS的解析性能,很多網(wǎng)絡(luò)都會(huì)就近部署DNS緩存服務(wù)器。

          1. 瀏覽器訪問www.xxx.com,發(fā)一個(gè)DNS請求,詢問對應(yīng)的IP是啥,并發(fā)給本地域名服務(wù)器(本地DNS)。

            「何為本地NDS?」 如果通過DHCP配置,本地DNS由網(wǎng)絡(luò)服務(wù)商(ISP),如電信、移動(dòng)等自動(dòng)分配,通常就在網(wǎng)絡(luò)服務(wù)商的某個(gè)機(jī)房。

          2. 本地DNS收到請求,本地DNS緩存著一張域名和IP對應(yīng)的表,如果找到則直接返回IP地址。如果沒有,本地DNS會(huì)去詢問根域名服務(wù)器對應(yīng)的IP地址是啥,根域名服務(wù)器是最高層次的,不直接用于域名解析,當(dāng)能說明可去哪解析。

          3. 根DNS收到本地DNS請求后,發(fā)現(xiàn)后綴是.com,返回頂級(jí)域名服務(wù)器的地址

          4. 本地DNS隨即請求頂級(jí)域名服務(wù)器查詢對應(yīng)的IP,頂級(jí)域名服務(wù)器管理者二級(jí)域名,比如baidu.com,所以它返回權(quán)威DNS服務(wù)器的地址。

          5. 本地DNS拿到權(quán)威DNS服務(wù)器地址,請求獲取對應(yīng)的IP,權(quán)威DNS服務(wù)器查詢后將對應(yīng)的IP地址返回給本地DNS

          6. 本地DNS再將IP地址返回客戶端,客戶端和目標(biāo)建立連接。

          「本地設(shè)置域名和IP轉(zhuǎn)換」

          在linux機(jī)器上通過在文件“/etc/hosts”中配置域名對應(yīng)的IP地址

          「設(shè)置DNS域名服務(wù)器」

          需要在“/etc/resolv.conf”文件中配置

          添加如下內(nèi)容

          nameserver 114.114.114.114

          負(fù)載均衡

          根據(jù)域名查詢IP是一次DNS遞歸查詢過程。本地DNS全權(quán)處理。在此過程中,DNS除了可以通過名稱映射IP地址,還可以做另一件事,就是負(fù)載均衡。

          DNS可以做內(nèi)部負(fù)載均衡,域名和IP具有一對多的關(guān)系,配置域名比直接配置IP更具有靈活性。

          DNS可以做全局負(fù)載均衡,高可用、就近訪問

          例如:DNS 訪問數(shù)據(jù)中心中對象存儲(chǔ)上的靜態(tài)資源

          假設(shè)全國有多個(gè)數(shù)據(jù)中心,托管在多個(gè)運(yùn)營商,每個(gè)數(shù)據(jù)中心三個(gè)可用區(qū)(Available Zone)。對象存儲(chǔ)通過跨可用區(qū)部署,實(shí)現(xiàn)高可用性。在每個(gè)數(shù)據(jù)中心中,都至少部署兩個(gè)內(nèi)部負(fù)載均衡器,內(nèi)部負(fù)載均衡器后面對接多個(gè)對象存儲(chǔ)的前置服務(wù)器(Proxy-server)。

          對于復(fù)雜的應(yīng)用、跨地域跨運(yùn)營商的大型應(yīng)用,則需要更加復(fù)雜的全局負(fù)載均衡機(jī)制,這就是全局負(fù)載均衡器(GSLB,Global Server Load Balance)。

          權(quán)威DNS服務(wù)器中,一般通過配置CNAME的方式,給域名起一個(gè)別名,例如:www.vip.baidu.com,然后告訴本地DNS服務(wù)器,讓它請求GSLB解析這個(gè)域名,GSLB就可以在解析這個(gè)域名的過程中,通過自身策略實(shí)現(xiàn)負(fù)載均衡。

          圖中畫了兩層的 GSLB,是因?yàn)榉诌\(yùn)營商和地域。不同運(yùn)營商的客戶,可以訪問相同運(yùn)營商機(jī)房中的資源,這樣不跨運(yùn)營商訪問,有利于提高吞吐量,減少時(shí)延。

          1. 第一層 GSLB,通過查看請求它的本地 DNS 服務(wù)器所在的運(yùn)營商,就知道用戶所在的運(yùn)營商。假設(shè)是移動(dòng),通過 CNAME 的方式,通過另一個(gè)別名 object.yd.yourcompany.com,告訴本地 DNS 服務(wù)器去請求第二層的 GSLB。
          2. 第二層 GSLB,通過查看請求它的本地 DNS 服務(wù)器所在的地址,就知道用戶所在的地理位置,然后將距離用戶位置比較近的 Region 里面,六個(gè)內(nèi)部負(fù)載均衡(SLB,Server Load Balancer)的地址,返回給本地 DNS 服務(wù)器。
          3. 本地 DNS 服務(wù)器將結(jié)果返回給本地 DNS 解析器。
          4. 本地 DNS 解析器將結(jié)果緩存后,返回給客戶端。
          5. 客戶端開始訪問屬于相同運(yùn)營商的距離較近的 Region 1 中的對象存儲(chǔ),當(dāng)然客戶端得到了六個(gè) IP 地址,它可以通過負(fù)載均衡的方式,隨機(jī)或者輪詢選擇一個(gè)可用區(qū)進(jìn)行訪問。對象存儲(chǔ)一般會(huì)有三個(gè)備份,從而可以實(shí)現(xiàn)對存儲(chǔ)讀寫的負(fù)載均衡。

          往期推薦:

          廣播與多播

          UDP是什么東西???

          路由協(xié)議

          網(wǎng)關(guān)和路由

          CV工程師用不到的鏈路層知識(shí)點(diǎn)

          星巴克氣氛組電腦是如何獲取IP的

          瀏覽器發(fā)起HTTP請求后經(jīng)歷了什么?

          推薦一個(gè)生產(chǎn)環(huán)境問題排查利器

          MySQL系列文章

          k8s全系列文章匯總


          瀏覽 61
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  久久嫩操 | 五月丁香婷婷综合在线 | 仓井空一区二区三区 | 熊猫成人网站 | 国产精品久久久久久中文字 |