DNS(域名系統)提供的服務以及工作機制
DNS原理及其解析過程
精彩剖析
網路通訊大部分是基於TCP/IP的,而TCP/IP是基於IP地址的,所以計算機在網路上進行通訊時只能識別如“202.96.134.133”之類的IP地址,而不能認識域名。我們無法記住10個以上IP地址的網站,所以我們訪問網站時,更多的是在瀏覽器位址列中輸入域名,就能看到所需要的頁面,這是因為有一個叫“DNS伺服器”的計算機自動把我們的域名“翻譯”成了相應的IP地址,然後調出IP地址所對應的網頁。
什麼是DNS?
DNS( Domain Name System)是“域名系統”的英文縮寫,是一種組織成域層次結構的計算機和網路服務命名系統,它用於TCP/IP網路,它所提供的服務是用來將主機名和域名轉換為IP地址的工作。DNS就是這樣的一位“翻譯官”,它的基本工作原理可用下圖來表示。
DNS域名稱
域名系統作為一個層次結構和分散式資料庫,包含各種型別的資料,包括主機名和域名。DNS資料庫中的名稱形成一個分層樹狀結構稱為域名稱空間。域名包含單個標籤分隔點,例如:im.qq.com。
完全限定的域名 (FQDN) 唯一地標識在 DNS 分層樹中的主機的位置,通過指定的路徑中點分隔從根引用的主機的名稱列表。 下圖顯示與主機稱為 im 內 qq.com DNS 樹的示例。 主機的 FQDN 是 im.qq.com。
DNS 域的名稱層次結構
DNS域名稱空間的組織方式
按其功能名稱空間中用來描述 DNS 域名稱的五個類別的介紹詳見下表中,以及與每個名稱型別的示例。
DNS 和 Internet 域
網際網路域名系統由名稱註冊機構負責維護分配由組織和國家/地區的頂級域在 Internet 上進行管理。 這些域名按照國際標準 3166。 一些很多現有縮寫,保留以供組織中,以及兩個字母和三個字母的國家/地區使用的縮寫使用下表所示。一些常見的DNS域名稱如下圖:
資源記錄
DNS 資料庫中包含的資源記錄 (RR)。 每個 RR 標識資料庫中的特定資源。我們在建立DNS伺服器時,經常會用到SOA,NS,A之類的記錄,在維護DNS伺服器時,會用到MX,CNAME記錄。
常見的RR見下圖:
Dns服務的工作過程
當 DNS 客戶機需要查詢程式中使用的名稱時,它會查詢本地DNS 伺服器來解析該名稱。客戶機發送的每條查詢訊息都包括3條資訊,以指定伺服器應回答的問題。
● 指定的 DNS 域名,表示為完全合格的域名 (FQDN) 。
● 指定的查詢型別,它可根據型別指定資源記錄,或作為查詢操作的專門型別。
● DNS域名的指定類別。
對於DNS 伺服器,它始終應指定為 Internet 類別。例如,指定的名稱可以是計算機的完全合格的域名,如im.qq.com,並且指定的查詢型別用於通過該名稱搜尋地址資源記錄。
DNS 查詢以各種不同的方式進行解析。客戶機有時也可通過使用從以前查詢獲得的快取資訊就地應答查詢。DNS 伺服器可使用其自身的資源記錄資訊快取來應答查詢,也可代表請求客戶機來查詢或聯絡其他 DNS 伺服器,以完全解析該名稱,並隨後將應答返回至客戶機。這個過程稱為遞迴。
另外,客戶機自己也可嘗試聯絡其他的 DNS 伺服器來解析名稱。如果客戶機這麼做,它會使用基於伺服器應答的獨立和附加的查詢,該過程稱作迭代,即DNS伺服器之間的互動查詢就是迭代查詢。
DNS 查詢的過程如下圖所示。
1、在瀏覽器中輸入www.qq.com域名,作業系統會先檢查自己本地的hosts檔案是否有這個網址對映關係,如果有,就先呼叫這個IP地址對映,完成域名解析。
2、如果hosts裡沒有這個域名的對映,則查詢本地DNS解析器快取,是否有這個網址對映關係,如果有,直接返回,完成域名解析。
3、如果hosts與本地DNS解析器快取都沒有相應的網址對映關係,首先會找TCP/ip引數中設定的首選DNS伺服器,在此我們叫它本地DNS伺服器,此伺服器收到查詢時,如果要查詢的域名,包含在本地配置區域資源中,則返回解析結果給客戶機,完成域名解析,此解析具有權威性。
4、如果要查詢的域名,不由本地DNS伺服器區域解析,但該伺服器已快取了此網址對映關係,則呼叫這個IP地址對映,完成域名解析,此解析不具有權威性。
5、如果本地DNS伺服器本地區域檔案與快取解析都失效,則根據本地DNS伺服器的設定(是否設定轉發器)進行查詢,如果未用轉發模式,本地DNS就把請求發至13臺根DNS,根DNS伺服器收到請求後會判斷這個域名(.com)是誰來授權管理,並會返回一個負責該頂級域名伺服器的一個IP。本地DNS伺服器收到IP資訊後,將會聯絡負責.com域的這臺伺服器。這臺負責.com域的伺服器收到請求後,如果自己無法解析,它就會找一個管理.com域的下一級DNS伺服器地址(qq.com)給本地DNS伺服器。當本地DNS伺服器收到這個地址後,就會找qq.com域伺服器,重複上面的動作,進行查詢,直至找到www.qq.com主機。
6、如果用的是轉發模式,此DNS伺服器就會把請求轉發至上一級DNS伺服器,由上一級伺服器進行解析,上一級伺服器如果不能解析,或找根DNS或把轉請求轉至上上級,以此迴圈。不管是本地DNS伺服器用是是轉發,還是根提示,最後都是把結果返回給本地DNS伺服器,由此DNS伺服器再返回給客戶機。
從客戶端到本地DNS伺服器是屬於遞迴查詢,而DNS伺服器之間就是的互動查詢就是迭代查詢。
附錄:
本地DNS配置轉發與未配置轉發資料包分析
新建一DNS,具體怎麼建我這裡就不再描述了,見我的上一篇博文《在Win2003中安裝bind【部署智慧DNS】》
1、DNS伺服器不設轉發
在192.168.145.228伺服器上安裝上wireshark軟體,並開啟它,設定資料包為UDP過濾,在192.168.145.12客戶機上用nslookup命令查詢一下www.sohu.com,馬上可以看到本地DNS伺服器直接查全球13臺根域中的某幾臺,然後一步步解析,通過遞代的方式,直到找到www.sohu.com對應的IP為220.181.118.87。
本地DNS伺服器得到www.sohu.com的IP後,它把這個IP返回給192.168.145.12客戶機,完成解析。
2、DNS伺服器設定轉發
因www.sohu.com域名在第一步的驗證中使用過,有快取,為了不受上步實驗干擾,我們在客戶機上192.168.145.12上nslookup www.baidu.com。從圖上看,本地DNS把請求轉發至192.168.133.10伺服器,133.10伺服器把得到的IP返回給本地DNS,然後本地DNS再把IP告訴DNS客戶機,完成解析。
相關推薦
DNS(域名系統)提供的服務以及工作機制
DNS原理及其解析過程精彩剖析 網路通訊大部分是基於TCP/IP的,而TCP/IP是基於IP地址的,所以計算機在網路上進行通訊時只能識別如“202.96.134.133”之類的IP地址,而不能認識域名。我們無法記住10個以上IP地址的網站,所以我們訪問網站
Linux下DNS域名解析的服務以及配置(企業級)
DNS域名解析的配置 正向解析 在服務端 1.編輯named服務配置檔案vim /etc/named.conf 刪除指向114.114.114.114那行 2.編輯配置檔案vim /etc/named.rfc1912.zones 這個檔案是/etc/named.conf的附
DNS域名系統,簡單描述其工作原理。
DNS域名系統:當DNS客戶機需要在程式中使用名稱時,它會查詢DNS伺服器來解析該名稱。客戶機發送的每條查詢資訊包括三條資訊:包括:指定的DNS域名,指定的查詢型別,DNS域名的指定類別。基於UDP服務,埠53. 該應用
DNS域名系統
redhat在服務端安裝named服務首次開啟時需要在所在主機輸入隨機字符查看named服務所使用的端口查看端口後發現此時服務之開啟了本機回送地址所以無法使用 配置named服務配置文件vim /etc/named.conf ###named服務主配置文件修改配置文件options { li
TCP/IP詳解學習筆記(8)-DNS域名系統
dns 支持 設置 類型 hosts name 安裝 報文 定義 前面已經提到了訪問一臺機器要靠IP地址和MAC地址,其中,MAC地址可以通過ARP協議得到,所以這對用戶是透明的,但是IP地址就不行,無論如何用戶都需要用一個指定的IP來訪問一臺計算機,而IP地址又非常不好記
DNS域名解析————主從服務器
Linux DNS域名解析服務 1、在第一臺Linux虛擬機中,進行DNS主域名服務器設置,並驗證; 2、在第二臺Linux虛擬機中,設置DNS從域名服務器,並進行驗證;DNS域名解析————主從服務器
DNS(域名系統),互聯網的翻譯官
域名 .com orien window 查找 報文 打包 auto 難度 前言DNS身為TCP/IP協議族的“高層”(第7層,頂層),專職互聯網的翻譯任務,是一位出色的“翻譯官”。本文將和大家一起接近、了解這位我們每天都要接觸多次的翻譯專家。 基本概念DNS(Domain
TCP/IP學習筆記(9) --DNS域名系統
前面已經提到了訪問一臺機器要靠IP地址和MAC地址,其中,MAC地址可以通過ARP協議得到,所以這對使用者是透明的,但是IP地址就不行,無論如何使用者都需要用一個指定的IP來訪問一臺計算機,而IP地址又非常不好記,於是就出現了DNS系統。 DNS系統介紹 DNS的全稱
TCP/IP協議--09 DNS域名系統
一臺機器要靠IP地址和MAC地址,其中,MAC地址可以通過ARP協議得到,所以這對使用者是透明的,但是IP地址就不行,無論如何使用者都需要用一個指定的IP來訪問一臺計算機,而IP地址又非常不好記,於是就出現了DNS系統。 DNS系統介紹 DNS的全稱是Domain Name System。它
DNS域名系統分析
簡介 DNS(Domain Name System)即域名系統也常叫做域名解析協議,是全球資訊網上作為域名和IP地址相互對映的一個分散式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。通過域名,最終得
DNS(域名系統)配置錯誤
google瀏覽器打不開網頁,qq能登上,但是就是打不開網頁,最後發現是DNS(域名系統)配置錯誤。 解決辦法: 先看一下win7的配置 1.點選左下角的 開始,開啟 控制面板,檢視方式為 類別,進入 網路和Inte
TCP/IP學習筆記(9)-DNS域名系統
前面已經提到了訪問一臺機器要靠IP地址和MAC地址,其中,MAC地址可以通過ARP協議得到,所以這對使用者是透明的,但是IP地址就不行,無論如何使用者都需要用一個指定的IP來訪問一臺計算機,而IP地址又非常不好記,於是就出現了DNS系統。 DNS系統介紹 DN
【DNS域名系統】關於支援域名訪問的小筆記
前言 最近在專案中,遇到需要將訪問外系統的地址,從IP+埠的模式,變更為域名+埠的模式,由於之前對域名訪問了解不多,從網上學習一下,如下做一些小筆記,以便於自己後續溫故知新 正文 首先,我們要弄清楚什麼是DNS,域名解析這些名詞: DNS,顧名思義,就是
應用層之DNS域名系統
1.概述 在因特網中,識別一臺主機有兩種方式,通過主機名或者IP地址。人們喜歡便於記憶的主機名標識方式,而路由器則喜歡定長的、有著層次結構的IP地址。為了折衷這些不同的偏好,我們需要一種能進行主機名到IP地址轉換的目錄服務,這就是DNS域名系統的主要任務。
DNS(域名系統)
DNS(Domain Name System,域名系統),全球資訊網上作為域名和IP地址相互對映的一個分散式資料庫,能夠使使用者更方便的訪問網際網路,而不用去記住能夠被機器直接讀取的IP數串。通過域名,最終得到該域名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議執行在UDP協議之上,使用埠號
DNS 域名系統
也許您感覺很煩瑣,為什麼不成立一個問路系統,比如114查號,114問路系統儲存了世界上所有名字到經緯度的對應關係。那麼您考慮一下,如果114系統由於查詢量過大而癱瘓呢?或者中毒而無法提供服務呢?等等這些問題會延誤世界人民查詢名字到地址的對應關係。您可能會說,那在世界上建立1000個問路系統,比如電話號從1
DNS 域名系統 (Domain Name System)
DNS 域名系統 (Domain Name System) 許多應用層軟體經常直接使用域名系統 DNS (Domain Name System),但計算機的使用者只是間接而不是直接使用域名系
應用層協議:DNS域名系統
域名系統概述 域名系統(DNS)是一種用於TCP/IP應用程式中的分散式系統,它提供主機名字和IP地址之間的轉換以及有關電子郵件的選路資訊。這裡提到的分散式是指在Internet上的單個站點不能擁有所有的資訊。每個站點(如大學中的系,校園,公司,或者公司中的部
計算機網路之——DNS域名系統
當主機的某一個應用程式需要將主機名字轉換為IP地址時,該應用程式呼叫解析程式,稱為DNS的一個客戶,把待解析的域名放在DNS請求報文當中,以UDP使用者資料報的形式發給本地域名伺服器(使用UDP是為了減少開銷)。本地域名伺服器在查詢到域名後,把對應的IP地址放在回答報文中返回。應用程式獲得目的主機的IP地址後
Spring環境下Mybatis的配置以及工作機制
MyBatis 是一款一流的支援自定義SQL、儲存過程和高階對映的持久化框架。MyBatis 能夠使用簡單的XML 格式或者註解進行來配置,能夠對映基本資料元素、Map 介面和POJO(普通java 物件)到資料庫中的記錄。所有的MyBatis 應用都以SqlSession