先用一句話來(lái)描述下“計(jì)算機(jī)網(wǎng)絡(luò)”:多臺(tái)計(jì)算機(jī)及其外部設(shè)備,通過(guò)通信線路的連接和軟件贺氓、協(xié)議的協(xié)調(diào)之下蔚叨,達(dá)到多臺(tái)計(jì)算機(jī)之間的資源共享(即為網(wǎng)絡(luò)的核心用途),本篇文章的邏輯性較強(qiáng)辙培,需要耐心閱讀蔑水。
計(jì)算機(jī)訪問(wèn)網(wǎng)站是通過(guò)IP地址來(lái)鎖定服務(wù)器的位置的。而之所以采用域名的方式扬蕊,是因?yàn)镮P地址的記憶比較困難搀别,而采用域名的方式更方便人的記憶。(在這里稍微拓展一下尾抑,計(jì)算機(jī)的計(jì)算和存儲(chǔ)是采用二進(jìn)制數(shù)的歇父,十進(jìn)制數(shù)主要是用于顯示給用戶看,而采用八進(jìn)制和十六進(jìn)制是用于對(duì)二進(jìn)制的簡(jiǎn)化再愈,縮短其長(zhǎng)度榜苫,所以查找存儲(chǔ)網(wǎng)站的資源服務(wù)器,是采用IP地址去訪問(wèn)的翎冲。)接著回來(lái)垂睬,域名的基本信息就不介紹了,說(shuō)一些域名的注意點(diǎn),如:百度的域名是baidu.com羔飞,百度的主域名是www.baidu.com,百度的子域名是www.XXX.baidu.com檐春,瀏覽器中輸入IP地址也能訪問(wèn)網(wǎng)址逻淌,只是不需要進(jìn)行解析流程了,如輸入202.108.22.5服務(wù)器地址疟暖,可直接訪問(wèn)百度網(wǎng)站卡儒。
進(jìn)入正題:域名解析流程(括號(hào)中內(nèi)容是作為擴(kuò)充部分)
計(jì)算機(jī)訪問(wèn)網(wǎng)站是按照一定的順序的:
(1)瀏覽器輸入域名之后,首先會(huì)訪問(wèn)系統(tǒng)的緩存俐巴,即hosts設(shè)置(格式為 IP+網(wǎng)址)骨望,可用txt格式打開(kāi)。對(duì)某個(gè)特定的域名指定去訪問(wèn)的IP地址欣舵,直接去這個(gè)IP地址上的服務(wù)器獲取頁(yè)面的資源擎鸠,通過(guò)TCP傳輸協(xié)議傳輸,顯示頁(yè)面缘圈。但是劣光,這種方式存在著安全問(wèn)題,黑客可通過(guò)篡改本機(jī)的hosts信息糟把,使某域名無(wú)法解析绢涡,也無(wú)法顯示頁(yè)面,出現(xiàn)404錯(cuò)誤遣疯,發(fā)生DNS劫持雄可;
(2)第二步,hosts文件中沒(méi)有定義該域名的服務(wù)器地址缠犀,就到瀏覽器的緩存中查詢(瀏覽器的緩存中會(huì)保存之前網(wǎng)頁(yè)的圖片等信息到本地数苫,再次訪問(wèn)該網(wǎng)站時(shí)加快加載速度。還有在TTL生存時(shí)間以及域名和IP地址的對(duì)映關(guān)系)域名對(duì)映的IP地址夭坪。如果有文判,就直接訪問(wèn)該IP地址指向的服務(wù)器;如果沒(méi)有室梅,就要開(kāi)始對(duì)域名進(jìn)行解析服務(wù)了戏仓,查詢DNS解析服務(wù)器中對(duì)映關(guān)系表。(描述:對(duì)TTL生存時(shí)間的設(shè)置亡鼠,如果太短赏殃,頻繁訪問(wèn)相同域名時(shí)要不斷進(jìn)行解析;如果太長(zhǎng)间涵,域名解析出的IP地址會(huì)變動(dòng)仁热。比如,百度的服務(wù)器勾哩,會(huì)在各個(gè)地方設(shè)置服務(wù)器群抗蠢,雖然其購(gòu)買的是靜態(tài)IP举哟,但為了能達(dá)到網(wǎng)站訪問(wèn)的負(fù)載均衡,所以訪問(wèn)百度時(shí)的IP地址會(huì)是變動(dòng)的迅矛。而這里的變動(dòng)不是我們?nèi)粘K佑|到的妨猩,個(gè)人計(jì)算機(jī)的動(dòng)態(tài)IP地址);
(3)第三步秽褒,之前兩步獲取的IP地址壶硅,都沒(méi)有采用到解析服務(wù),那么接下來(lái)就進(jìn)入解析環(huán)節(jié)了销斟。首先就有個(gè)問(wèn)題了庐椒,域名要進(jìn)行解析,它怎么判定是去哪里進(jìn)行解析的呢蚂踊,怎么找到解析服務(wù)器的呢约谈?上網(wǎng)的第一步是進(jìn)行連網(wǎng),而連網(wǎng)需要找到網(wǎng)絡(luò)提供商接入犁钟、開(kāi)通窗宇,由他們來(lái)提供解析、寬帶大小等特纤;或者在內(nèi)網(wǎng)學(xué)校军俊、公司內(nèi),是由學(xué)校捧存、公司提供解析服務(wù)的粪躬。這種解析服務(wù)都稱為L(zhǎng)DNS(本地DNS解析),如果LDNS中緩存中有該域名和IP地址的對(duì)映關(guān)系昔穴,直接返回IP地址镰官,解析成功。其工作原理跟緩存一致吗货,將該內(nèi)網(wǎng)區(qū)域內(nèi)訪問(wèn)過(guò)的域名和IP地址對(duì)映表緩存起來(lái)泳唠,其緩存的時(shí)間是按照TTL的時(shí)間值,解析時(shí)先進(jìn)行查詢宙搬,一般能達(dá)到80%的解析笨腥;
(4)第四步,如果在LDNS的服務(wù)器上沒(méi)有域名對(duì)映的IP地址勇垛,無(wú)法解析時(shí)脖母。LDNS服務(wù)器會(huì)發(fā)送UDP請(qǐng)求給根域名服務(wù)器(全球只有13臺(tái)根域名服務(wù)器,10臺(tái)美國(guó)闲孤,2臺(tái)歐洲谆级,1臺(tái)日本,根域名服務(wù)器里存儲(chǔ)的是地址,關(guān)于頂級(jí)域名的地址)肥照,根服務(wù)器根據(jù)域名的后綴返回LDNS頂級(jí)域名的服務(wù)器地址脚仔;
(5)第五步,LDNS域名服務(wù)器發(fā)UDP請(qǐng)求給相應(yīng)的頂級(jí)域名服務(wù)器舆绎,頂級(jí)域名服務(wù)器存有NS域名服務(wù)器的地址(NS:name service玻侥,可指定域名解析的服務(wù)器地址,通常為注冊(cè)域名的服務(wù)器地址)亿蒸;
(6)第六步,按照地址查到域名對(duì)映的NS記錄掌桩,NS記錄的格式是域名+解析服務(wù)器地址边锁,訪問(wèn)該解析服務(wù)器,從而可以知道該域名的IP地址波岛,同時(shí)返回TTL值茅坛;
(7)第七步,LDNS獲取到IP地址和TTL值之后则拷,會(huì)進(jìn)行緩存到LDNS上贡蓖;
(8)解析結(jié)果的IP返回給本機(jī),訪問(wèn)網(wǎng)站資源(按TCP傳輸)煌茬。
區(qū)分:
hosts:定義的IP地址是斥铺,存有網(wǎng)站資源(圖片、文字)的服務(wù)器坛善;
NS記錄:定義的IP地址是,域名解析的服務(wù)器地址眠屎;
A記錄:定義的IP地址是剔交,存有網(wǎng)站資源的服務(wù)器。
理解:
域名解析(DNS):是將域名解析成某個(gè)IP地址后改衩,訪問(wèn)所指向的服務(wù)器獲取資源岖常。
動(dòng)態(tài)域名解析(DDNS):是將固定的域名與動(dòng)態(tài)的IP地址相對(duì)應(yīng),如花生殼服務(wù)就提供動(dòng)態(tài)域名解析服務(wù)葫督。為個(gè)人和中小型企業(yè)提供動(dòng)態(tài)域名解析服務(wù)竭鞍,其網(wǎng)頁(yè)資源存儲(chǔ)的電腦,其分配的IP地址是動(dòng)態(tài)的橄镜,所以需要花生殼服務(wù)笼蛛,當(dāng)外網(wǎng)訪問(wèn)時(shí),會(huì)將電腦的IP地址發(fā)給花生殼服務(wù)器蛉鹿,分配出固定的IP地址給該電腦滨砍,達(dá)到動(dòng)態(tài)解析的目的。實(shí)現(xiàn)外網(wǎng)訪問(wèn)內(nèi)網(wǎng),適用于個(gè)人以及中小型企業(yè)惋戏,沒(méi)有購(gòu)買靜態(tài)域名的人群领追,需求還是很大的。而面對(duì)百度這樣的網(wǎng)站响逢,其解析baidu.com绒窑,并不是叫做動(dòng)態(tài)域名解析。