自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

不再懼怕DNS面試題:大牛用1張大圖,9個(gè)步驟輕松應(yīng)對(duì)

原創(chuàng)
網(wǎng)絡(luò) 網(wǎng)絡(luò)管理 開發(fā)工具
又到了招聘季了,前兩天遇到一個(gè)面試的小伙伴,他說面試官和他聊得很投機(jī),無意中談到了DNS請(qǐng)求的過程。他一時(shí)語塞隨便應(yīng)付了兩句,雖然對(duì)方?jīng)]有追問的意思,但最后面試結(jié)果也并不理想。

[[319621]]

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

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

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

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

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

在根域名服務(wù)器下一級(jí)就是,頂級(jí)域名服務(wù)器。例如.com的域名服務(wù)器,存儲(chǔ)的是一些一級(jí)域名的權(quán)威DNS服務(wù)器地址(如toutiao.com的DNS)。

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

  • gTLD:國際頂級(jí)域名(generic top-level domains,gTLD),例如:.com/.net/.org等都屬于gTLD;
  • ccTLD:國家和地區(qū)頂級(jí)域名(country code top-level domains,簡稱ccTLD),例如:中國是.cn域名,日本是.jp域名;
  • New gTLD:新頂級(jí)域名(New gTLD),例如:.xyz/.top/.red/.help等新頂級(jí)域名。

頂級(jí)域名服務(wù)器就是根據(jù)上面三類保存域名IP對(duì)應(yīng)數(shù)據(jù)的。

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

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

不再懼怕DNS面試題:大牛用1張大圖,9個(gè)步驟輕松應(yīng)對(duì)

DNS解析原理

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

不再懼怕DNS面試題:大牛用1張大圖,9個(gè)步驟輕松應(yīng)對(duì)

圖2 用戶請(qǐng)求以及DNS解析的全過程

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

②通過計(jì)算機(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步。

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

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

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

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

  • A (Address) 記錄是用來指定主機(jī)名(或域名)對(duì)應(yīng)的IP地址記錄。用戶可以將該域名下的網(wǎng)站服務(wù)器指向到自己的web server上。同時(shí)也可以設(shè)置您域名的二級(jí)域名。
  • CNAME:別名記錄。這種記錄允許您將多個(gè)名字映射到另外一個(gè)域名。通常用于同時(shí)提供WWW和MAIL服務(wù)的計(jì)算機(jī)。例如,有一臺(tái)計(jì)算機(jī)名為“host.mydomain.com”(A記錄)。它同時(shí)提供WWW和MAIL服務(wù),為了便于用戶訪問服務(wù)。服務(wù)商從方便維護(hù)的角度,一般也建議用戶使用CNAME記錄綁定域名的。如果主機(jī)使用了雙線IP,顯然使用CNAME也要方便一些。
  • TTL(Time To Live):也就是設(shè)置這個(gè)DNS解析在Local DNS Server上面的過期時(shí)間。超過了這個(gè)過期時(shí)間,URL和IP的映射就會(huì)被刪除,需要獲取還要請(qǐng)求Name Server。

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

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

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

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

⑨對(duì)于沒有緩存的動(dòng)態(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ù)器,頂級(jí)域名服務(wù)器,本地域名服務(wù)器。

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

作者:崔皓

簡介:十六年開發(fā)和架構(gòu)經(jīng)驗(yàn),曾擔(dān)任過惠普武漢交付中心技術(shù)專家,需求分析師,項(xiàng)目經(jīng)理,后在創(chuàng)業(yè)公司擔(dān)任技術(shù)/產(chǎn)品經(jīng)理。善于學(xué)習(xí),樂于分享。目前專注于技術(shù)架構(gòu)與研發(fā)管理。

【51CTO原創(chuàng)稿件,合作站點(diǎn)轉(zhuǎn)載請(qǐng)注明原文作者和出處為51CTO.com】

 

責(zé)任編輯:武曉燕 來源: 51CTO技術(shù)棧
相關(guān)推薦

2025-02-26 07:58:41

2020-09-21 09:36:05

機(jī)器學(xué)習(xí)人工智能計(jì)算機(jī)

2022-01-24 20:40:55

JavastreamLambda

2015-08-14 14:31:57

Java初始化面試題

2019-09-10 10:48:10

RedisJava面試題

2020-06-04 14:40:40

面試題Vue前端

2023-11-13 07:37:36

JS面試題線程

2010-08-30 20:51:15

名企面試題

2021-05-08 14:20:27

Redis面試數(shù)據(jù)庫

2011-03-24 13:27:37

SQL

2017-08-29 14:12:16

Java面試題

2015-08-27 09:27:34

JavaScript面試題

2014-12-02 10:02:30

2011-04-19 09:33:15

面試題

2009-06-06 18:34:05

java面試題

2009-06-06 18:36:02

java面試題

2019-03-23 20:00:04

面試react.js前端

2021-06-02 12:12:46

DevOps面試Linux

2011-07-18 15:08:19

SQL存儲(chǔ)過程

2015-09-02 09:32:56

java線程面試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)