由于IP地址不容易為人們記住、使用,因此出現(xiàn)了域名,而在進(jìn)行網(wǎng)絡(luò)通信時(shí),IP地址又是必不可少的信息,因此,DNS(域名解析服務(wù))便應(yīng)運(yùn)而生,其大體流程如下:
- 查看瀏覽器緩存,如存在域名對(duì)應(yīng)的IP(此前解析過),則結(jié)束;
- 查看本地host文件,windows操作系統(tǒng)中的C:\Windows\System32\drivers\etc\hosts文件可提前設(shè)置相關(guān)域名的解析,若存在IP匹配當(dāng)前域名,則結(jié)束;
至此,本地相關(guān)操作結(jié)束,如未能解析,則需要到DNS服務(wù)器上進(jìn)行查詢 - 用戶向本地DNS服務(wù)器發(fā)起請(qǐng)求,每個(gè)完整的內(nèi)網(wǎng)通常都會(huì)配置本地DNS服務(wù)器,例如用戶是在學(xué)?;蚬ぷ鲉挝唤尤牖ヂ?lián)網(wǎng),那么用戶的本地DNS服務(wù)器肯定在學(xué)?;蚬ぷ鲉挝焕锩?。它們一般都會(huì)緩存域名解析結(jié)果,當(dāng)然緩存時(shí)間是受到域名的失效時(shí)間控制的。大約80%的域名解析到這里就結(jié)束了,后續(xù)的DNS迭代和遞歸也是由本地DNS服務(wù)器負(fù)責(zé);
- 向根DNS服務(wù)器請(qǐng)求解析;
- 根DNS服務(wù)器返回給本地DNS域名服務(wù)器一個(gè)頂級(jí)DNS服務(wù)器地址,它是國(guó)際頂級(jí)域名服務(wù)器,如.com、.cn、.org等,全球只有13臺(tái)左右;
- 本地DNS服務(wù)器再向上一步獲得的頂級(jí)DNS服務(wù)器發(fā)送解析請(qǐng)求;
- 接受請(qǐng)求的頂級(jí)DNS服務(wù)器查找并返回此域名對(duì)應(yīng)的Name Server域名服務(wù)器的地址,這個(gè)Name Server服務(wù)器就是我要訪問的網(wǎng)站域名提供商的服務(wù)器,其實(shí)該域名的解析任務(wù)就是由域名提供商的服務(wù)器來(lái)完成;
- Name Server服務(wù)器會(huì)查詢存儲(chǔ)的域名和IP的映射關(guān)系表,再把查詢出來(lái)的域名和IP地址等等信息,連同一個(gè)TTL值返回給本地DNS服務(wù)器;
- 返回該域名對(duì)應(yīng)的IP和TTL值,本地DNS服務(wù)器會(huì)緩存這個(gè)域名和IP的對(duì)應(yīng)關(guān)系,緩存時(shí)間由TTL值控制;
- 把解析的結(jié)果返回給本地電腦,本地電腦根據(jù)TTL值緩存在本地系統(tǒng)緩存中,域名解析過程結(jié)束在實(shí)際的DNS解析過程中,可能還不止這10步,如Name Server可能有很多級(jí),或者有一個(gè)GTM來(lái)負(fù)載均衡控制,這都有可能會(huì)影響域名解析過程。