做了這麼久IT,DNS懂了嗎?
文章目錄
1.什麼是DNS?
DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網路服務命名系統,它用於TCP/IP網路,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。DNS就是這樣的一位“翻譯官”,它的基本工作原理可用下圖來表示。
2.為什麼有DNS?
要知道全世界聯網的電腦都會有一個IP地址用來確定電腦身份,就如同博主的身份證一樣,不過非常難記。而電腦之間相互通訊都是通過IP來互動的,所以不知道要訪問電腦的IP地址還是不行滴。這時候域名就應運而生,域名可以理解為IP的別名,和博主的姓名是一個性質,是不是很好記。那電腦又是怎麼知道域名和IP之間的關係呢?這時候就需要DNS伺服器了,可以理解DNS伺服器裡面存放全世界的域名和IP的繫結關係,前提是域名都是申請且備案過的。這時候電腦就能通過DNS伺服器將域名轉換成IP地址啦
3.DNS介紹
DNS解析分為兩種方式:
①正向解析:將域名解析為IP地址
②逆向解析:將IP地址解析為域名。
不過最經常使用的當然是正向解析,比如將域名為:www.qq.com輸入到瀏覽器中,DNS伺服器作為中間人會將域名:www.qq.com解析為與www.qq.com對映的IP地址,從而完成訪問網址的目的。
下面我們就來測試下訪問一個域名,看計算機是否能識別到IP地址。(ping www.dianjilingqu.com)
4.DNS的分散式結構
5.DNS解析過程
DNS解析過程分為遞迴查詢和迭代查詢。
遞迴查詢:客戶端只發一次請求,要求對方給出最終結果。
迭代查詢:客戶端發出一次請求,對方如果沒有授權回答,它就會返回一個能解答這個查詢的其它名稱伺服器列表,客戶端會再向返回的列表中發出請求,直到找到最終負責所查域名的名稱伺服器,從它得到最終結果。
以www.baidu.com為例
DNS工作原理:
在主機向本地DNS伺服器傳送域名解析的請求時,如果本地伺服器快取內有該域名和IP的對映關係,那麼本地伺服器就會將該IP地址返回給主機。 反之如果在本地伺服器無快取的情況下,本地伺服器找不到有該域名對映的IP地址,那麼本地的DNS伺服器就會以DNS客戶端的身份向根伺服器傳送請求。DNS本地伺服器通過根域名伺服器找到管理.com(頂級域)這個域的DNS伺服器,本地DNS伺服器再通過管理.com這個域的DNS伺服器,找到能管理baidu.com(二級域)的DNS伺服器,再通過管理baidu.com(二級域)的DNS伺服器找到www.baidu.com的主機地址然後就能通過IP地址訪問到百度的網址啦。
PS:
遞迴:通俗點就是我要(客戶端)到學校找我兒子張三但是不知道在哪個班(IP)。首先問學校保安(本地DNS)知不知道我兒子張三,保安如果知道就會告訴我兒子張三在5班,我直接去5班找到我兒子。
迭代:反之如果學校保安不知道我兒子張三在哪個班?保安就會以我的身份去問校長,校長給保安一個地址讓保安問教導主任。找到教導主任後,教導主任會給保安個地址,讓保安去問班主任 。找到班主任,班主任給保安說張三在5班。最後保安把張三在5班告訴我,我就去5班找到我兒子張三啦。