最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

9 個步驟,DNS 訪問原理了解的明明白白

2023-03-10 20:37 作者:弱電智能化設(shè)計  | 我要投稿

又到了招聘季了,前兩天遇到一個面試的小伙伴,他說面試官和他聊得很投機(jī),無意中談到了DNS請求的過程。他一時語塞隨便應(yīng)付了兩句,雖然對方?jīng)]有追問的意思,但最后面試結(jié)果也并不理想。本著邊面試邊學(xué)習(xí)的態(tài)度,我們來看看DNS請求的過程中涉及到的定義和原理。


DNS 的含義和結(jié)構(gòu)

眾所周知,在互聯(lián)網(wǎng)中是用IP來標(biāo)識一臺服務(wù)器的。IP地址雖然能夠代表一臺設(shè)備,但是由于記憶起來比較困難,所以將其替換成一個能夠理解和識別的名字,這個名字我們稱作為域名。例如:www.51cto.com 就是一個域名,在域名后面會定義一個IP地址用來指向網(wǎng)站服務(wù)器。那么問題來了,誰來做這個從域名到IP地址的對應(yīng)呢?答案是通過DNS來實現(xiàn)。

DNS 是域名系統(tǒng)(Domain Name System,縮寫:DNS)是互聯(lián)網(wǎng)的一項服務(wù)。它將域名和IP地址相互映射的一個分布式數(shù)據(jù)庫,在數(shù)據(jù)庫中保存域名與IP的對照關(guān)系,從而使人更方便地訪問互聯(lián)網(wǎng)。

DNS解析是分布式存儲的,從結(jié)構(gòu)上來說最頂層是,根域名服務(wù)器(ROOT DNS Server),存儲260個頂級域名服務(wù)器的IP地址。對于Ipv4來說全球有13個根域名服務(wù)器,它儲存了每個域(如.com .net .cn)的解析和域名服務(wù)器的地址信息。簡單的說,根域名服務(wù)器就是存放頂級域名服務(wù)器地址的。

頂級域名又稱一級域名,頂級域名可以分為三類,即gTLD、ccTLD和New gTLD:

gTLD:國際頂級域名(generic top-level domains,gTLD),例如:.com/.net/.org等都屬于gTLD;

ccTLD:國家和地區(qū)頂級域名(country code top-level domains,簡稱ccTLD),例如:中國是.cn域名,日本是.jp域名;

New gTLD:新頂級域名(New gTLD),例如:.xyz/.top/.red/.help等新頂級域名。
頂級域名服務(wù)器就是根據(jù)上面三類保存域名IP對應(yīng)數(shù)據(jù)的。

在頂級域名服務(wù)器下面一級就是,本地域名服務(wù)器(Local DNS)一般是運營商的DNS,主要作用就是代理用戶進(jìn)行域名分析的。

如圖1 所示,DNS域名服務(wù)器分為三級,從上到下分別是根域名服務(wù)器(Root DNS Server)、頂級域名服務(wù)器(gTLD、ccTLD、New gTLD)、本地域名服務(wù)器(Local DNS Server)。

圖1 DNS 分層結(jié)構(gòu)


DNS解析原理

說完DNS的結(jié)構(gòu),再來談?wù)勂溥\行原理。通過用戶訪問網(wǎng)頁的過程,來描述DNS解析以及獲取URL到IP映射的整個過程。其中過程比較復(fù)雜,會存在信息的來回傳遞。畫圖的過程中我們會簡化信息來回傳遞的線段,重點放在信息傳遞的路徑,通過9步來詮釋DNS解析過程。

圖2 用戶請求以及DNS解析的全過程

1、用戶請求通過瀏覽器輸入要訪問網(wǎng)站的地址,例如:www.51cto.com。瀏覽器會在自己的緩存中查找URL對應(yīng)IP地址。如果之前訪問過,保存了這個URL對應(yīng)IP地址的緩存,那么就直接訪問IP地址。如果沒有緩存,進(jìn)入到第2步。

2、通過計算機(jī)本地的Host文件配置,可以設(shè)置URL和IP地址的映射關(guān)系。比如windows下是通過C:\windwos\system32\driver\etc\hosts文件來設(shè)置的,linux中則是/etc/named.confg文件。這里查找本地的Host文件,看是有IP地址的緩存。如果在文件中依舊沒有找到映射關(guān)系,進(jìn)入第3步。

3、請求Local DNS Server,通過本地運營商獲取URL和IP的映射關(guān)系。如果在校園網(wǎng),DNS服務(wù)器就在學(xué)校,如果是小區(qū)網(wǎng)絡(luò),DNS服務(wù)器是運營商提供的??傊@個服務(wù)器在物理位置上離發(fā)起請求的計算機(jī)比較近。Local DNS Server緩存了大量的DNS解析結(jié)果。由于它的性能較好,物理上的距離又比較近,它通常會在很短的時間內(nèi)返回指定域名的解析結(jié)果。80%的DNS解析需求在這一步就滿足了。如果在這一步還是沒有完成DNS解析,進(jìn)入第4步

4、通過Root DNS Server進(jìn)行解析,ROOT DNS Server會根據(jù)請求的URL 返回給Local DNS Server頂級域名服務(wù)器的地址。例如:查詢的是”.com”的域名,就查詢 gTL對應(yīng)的域名服務(wù)器的地址。

5、返回頂級域名服務(wù)器的地址以后,訪問對應(yīng)的頂級域名服務(wù)器(gTLD、ccTLD、New gTLD),并且返回Name Server服務(wù)器地址。這個Name Server就是網(wǎng)站注冊的域名服務(wù)器,上面包含了網(wǎng)站URL和IP的對應(yīng)信息。例如你在某個域名服務(wù)提供商申請的域名,這個域名就由他們的服務(wù)器來解析。這個Name Server是由域名提供商維護(hù)的。

6、Name Server會把指定域名的A記錄或者CNAME返回給Local DNS Server,并且設(shè)置一個TTL。

A (Address) 記錄是用來指定主機(jī)名(或域名)對應(yīng)的IP地址記錄。用戶可以將該域名下的網(wǎng)站服務(wù)器指向到自己的web server上。同時也可以設(shè)置您域名的二級域名。

CNAME:別名記錄。這種記錄允許您將多個名字映射到另外一個域名。通常用于同時提供WWW和MAIL服務(wù)的計算機(jī)。例如,有一臺計算機(jī)名為“host.mydomain.com”(A記錄)。它同時提供WWW和MAIL服務(wù),為了便于用戶訪問服務(wù)。服務(wù)商從方便維護(hù)的角度,一般也建議用戶使用CNAME記錄綁定域名的。如果主機(jī)使用了雙線IP,顯然使用CNAME也要方便一些。

TTL(Time To Live):也就是設(shè)置這個DNS解析在Local DNS Server上面的過期時間。超過了這個過期時間,URL和IP的映射就會被刪除,需要獲取還要請求Name Server。

7、如果此時獲取的是A記錄,那么就可以直接訪問網(wǎng)站的IP了。但是通常來說大型的網(wǎng)站都會返回CNAME,然后將其傳給GTM Server。

GTM(Global Traffic Manager的簡寫)即全局流量管理,基于網(wǎng)宿智能DNS、分布式監(jiān)控體系,實現(xiàn)實時故障切換及全球負(fù)載均衡,保障應(yīng)用服務(wù)的持續(xù)高可用性。傳給GTM的目的就是希望通過GTM的負(fù)載均衡機(jī)制,幫助用戶找到最適合自己的服務(wù)器IP。

也就是離自己最近,性能最好,服務(wù)器狀態(tài)最健康的。而且大多數(shù)的網(wǎng)站會做CDN緩存,此時就更需要使用GTM幫你找到網(wǎng)絡(luò)節(jié)點中適合你的CDN緩存服務(wù)器。

8、找到CDN緩存服務(wù)器以后,可以直接從服務(wù)器上面獲取一些靜態(tài)資源,例如:HTML、CSS、JS和圖片。但是一些動態(tài)資源,例如商品信息,訂單信息,需要通過第9步。

9、對于沒有緩存的動態(tài)資源需要從應(yīng)用服務(wù)器獲取,在應(yīng)用服務(wù)器與互聯(lián)網(wǎng)之間通常有一層負(fù)載均衡器負(fù)責(zé)反向代理。有它路由到應(yīng)用服務(wù)器上。


總結(jié)

DNS服務(wù)器是用來做URL與IP地址解析的,幫助用戶找到要訪問服務(wù)器的IP。從DNS服務(wù)器的結(jié)構(gòu)來說大致分為三層:根域名服務(wù)器,頂級域名服務(wù)器,本地域名服務(wù)器。

申請域名的供應(yīng)商會提供Name Server作為DNS解析。從用戶訪問一個網(wǎng)站出發(fā),經(jīng)過瀏覽器,本地Host文件、Local DNS Server、Root DNS Server、頂級域名服務(wù)器(gTLD、ccTLD、New gTLD)、Name Server、GTM、CDN、Application Server。共經(jīng)歷了九個步驟。



9 個步驟,DNS 訪問原理了解的明明白白的評論 (共 條)

分享到微博請遵守國家法律
大名县| 太白县| 九寨沟县| 和政县| 浑源县| 沙湾县| 青阳县| 方正县| 奎屯市| 崇阳县| 四川省| 晋江市| 随州市| 定州市| 商都县| 武隆县| 白沙| 漳平市| 山东省| 合阳县| 于田县| 灵宝市| 阿瓦提县| 安徽省| 海盐县| 乐业县| 新邵县| 仁布县| 昭通市| 台南县| 澄江县| 托里县| 长宁区| 全椒县| 邮箱| 武川县| 仁布县| 莱西市| 扎鲁特旗| 依安县| 勐海县|