Zero Configuration 網路協定 網域名稱 DNS

對映IP位址簡化管理 網域名稱系統原理大剖析

2017-02-02
雖然很多人都知道何謂網址,可能大多數人也聽過DNS,但是詳細的技術內容可能就很少人知道,因此本文將要介紹負責運作網址與IP位址相關資料的DNS背景知識。
對於網路管理人員來說,對於伺服器或用戶端電腦的位置,大部分都採用IP這個方式來辨別,仔細地說,這也是透過網路協定第三層的方式來定位出這些伺服器的位置。

在很多網路協定的設定中,IP位置被大量地使用。這裡所要說明則是以比較邏輯性的方式來定位伺服器,也就是俗稱的網址,例如www.google.com。

對一般用戶來說,他們根本不需要記下提供Google服務的IP位置,畢竟這並不是很容易記住的方式,而網域名稱的設計就可以解決這個問題。

另外,可能由於一些原因,會導致網路規劃需要變動,而讓提供相關服務的伺服器IP位置受到改變,若不想因此影響到外部使用者,以網域名稱的方式在用戶與IP位址中間做一層包裝,是一個很大的優點。

網域名稱發展歷史簡述

DNS的全名是Domain Name System,中文普遍稱為網域名稱系統,DNS運作於網路七層內的Application Layer之中。DNS的設計讓難以記下的IP位址能夠提供一個比較容易背誦的位址給使用者,例如www.example.com、www.google.com等等,而這樣的對應關係與管理方式就是由DNS來負責。一旦所對應的IP位址受到改變,DNS會很快地更新其對應關係,讓使用者不受到任何影響。

這個需求一開始來自於史丹佛研究機構(Stanford Research Institute,SRI),原本他們維護著一個hosts.txt的文字文件,用於記錄網址與IP位址的對應,但由於數量隨著時間逐漸擴大,因此導致DNS需求的產生。到1983年,Paul Mockapetris在加州大學設計出DNS。同一年,IETF(Internet Engineering Task Force)將這些設計邊寫到RFC 882與RFC 883之中。

1984年,柏克萊大學幾位學生根據其架構寫出了BIND Server(Berkeley Internet Name Domain Server)。到了1987年,在原本的設計上新增了許多延伸性設計,而最新設計則是被記錄在RFC 1034與RFC 1035文件內。

了解網域名稱的命名規則

若以「網址」來說,可能太泛稱,因為「網址」包含網域名稱(像是www.google.com),也包含頁面的名稱(例如index.html),還有包含後面的Query String(例如?user=kaichih)等等,整個包含起來稱為URI。而因為DNS主要是運作於網域名稱的部分,所以此篇文章會圍繞在網域名稱這個部分來探討。

一般網址中的網域名稱(Domain Name)會有www.google.com或是www.yahoo.com這般的形式,其實這些語法結構有它的規則,而這些規則都被記錄在RFC 1035、RFC 1123與RFC 2181文件內。

一般來說,網域名稱包含幾個部分,每個部分稱為標籤(Label),所有標籤都接續連在一起,而每個標籤由逗號區隔。若以www.google.com為例的話,www和google以及com都是標籤。越右邊的標籤用於表示比較大的範圍,例如com就代表公司行號(Company)。其餘比較耳熟能詳的還有org,表示組織(Organization)。而往左邊一個標籤,google就是代表所有公司行號中的Google這家公司。而再往左邊的www,則代表google.com的子領域。因此,這個網域名稱有三層,有些網域名稱有更多層,例如www.google.com.tw,事實上可以更多層,最多可以允許127層。

而每一個標籤則最多可以包含63個字母,不過整個完整的網域名稱不可以超過253個字母。而也不是所有的字母都可以被使用在標籤之中,目前的規定是只能使用ASCII字母表中部分的字母:小寫與大寫的英文字母(a到z與A到Z),還有數字0到9,以及連字符號(Hyphen)。

這樣的字母集合規則,也被稱為LDH(Letters-Digits-Hyphen)規則。雖然英文的大小寫都可以使用,但是網域名稱是不區分英文字母大小寫。另外,連字符號不可能用於開始的第一個字母。

剖析DNS的運作方式

關於DNS的運作方式,以下分成五部分來加以說明。

可信賴的名稱伺服器

這裡所指的「可信賴的名稱伺服器」(Authoritative Name Server)是針對部分會給予值得信賴之回應(Answer)的名稱伺服器。所謂值得信賴的回應,可能是由管理員直接設定好的資料,也就是不是經由從其他名稱伺服器透過一般DNS查詢而取得的,也就是說,這些資料都是經由管理員設定好的第一手資料,或是經由動態DNS的方式取得。


追蹤我們Featrue us

本站使用cookie及相關技術分析來改善使用者體驗。瞭解更多

我知道了!