hello,大家好,今天給大家分享下DNS(Domain Name Service)域名解析服務。
額,為啥有的時候,我的電腦能登錄QQ,但是就是沒辦法訪問網頁了,打不開……,這是為啥呢?
對的,這可能與我們今天要聊的DNS有關,因為在DNS設置錯誤或者在所設置的DNS服務器不提供服務(被攻擊或者服務掛了)時,會導致解析失敗。
什麼解析失敗?我們為什麼需要解析?
我們大部分人通過瀏覽器訪問網站,只知道是通過域名去訪問的,例如:在瀏覽器地址欄中輸入www.baidu.com、www.taobao.com等訪問對應的網站獲取服務,但其實不知光是靠域名是無法訪問的。因為我們電腦或終端實際是通過IP地址去訪問目標網站的。那怎樣得到這個IP地址呢?這就是DNS域名解析服務負責乾的事,它存儲了一張域名和IP地址的對應關係表。當我們第一次訪問網頁時(電腦無DNS緩存和沒有配置本地hosts文件時),我們的電腦或手機會向DNS服務器請求獲取對應域名的IP地址,從而來正常訪問我們需要的網站,獲取我們想要的資源和信息。
簡單點,因為IP地址不便於記憶,所以才有了域名,而域名需要通過我們的DNS服務做解析,我們大部分人不用關心DNS的處理過程,這個事情交給電腦或者手機等終端幫我們處理了。
我再來給大家看下DNS一次完整的查詢請求所經歷的過程:
圖1-1 DNS解析處理過程
- Client(電腦或手機等終端設備)一旦希望以主機名與對方主機通信(百度或淘寶等提供網站服務的服務器),此時就需要名稱解析,其會先查本地的hosts文件;
- 如果host文件中沒有對應的名稱和地址的對應關係,則客戶端會查DNS服務的本地緩存;
- 如果本地DNS服務的緩存沒有命中,則客戶端會向客戶端所指向的DNS服務器(可能是緩存DNS服務器,也可能是負責具體解析的某DNS主名稱服務器)發送查詢請求,此時的請求是遞歸請求(recursion請求);
- DNS服務器收到請求後,如果客戶端請求的就是自己負責的域名,則直接查詢數據庫,並返回答案;
- 如果客戶端請求的不是自己負責解析的域,則先找服務器自己的緩存,如果緩存沒命中,則基於迭代的方式先找根域,然後再找頂級域,然後找二級域,一步一步完成查詢請求,並最終(找到百度或淘寶域名所對應的IP地址)返回答案給客戶端。
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/234791.html
微信掃一掃
支付寶掃一掃