CDN問題答疑

DNS(域名系統)簡介

網域名稱系統(英文✘↟₪·:Domain Name System☁╃↟,縮寫✘↟₪·:DNS)是網際網路的一項服務◕₪◕。它作為將域名和IP地址相互對映的一個分散式資料庫☁╃↟,能夠使人更方便地訪問網際網路◕₪◕。DNS使用TCP和UDP埠53◕₪◕。當前☁╃↟,對於每一級域名長度的限制是63個字元☁╃↟,域名總長度則不能超過253個字元◕₪◕。

開始時☁╃↟,域名的字元僅限於ASCII字元的一個子集◕₪◕。2008年☁╃↟,ICANN透過一項決議☁╃↟,允許使用其它語言作為網際網路頂級域名的字元◕₪◕。使用基於Punycode碼的IDNA系統☁╃↟,可以將Unicode字串對映為有效的DNS字符集◕₪◕。因此☁╃↟,諸如“x.中國”☁││、“x.臺灣”的域名可以在位址列直接輸入並訪問☁╃↟,而不需要安裝外掛◕₪◕。但是☁╃↟,由於英語的廣泛使用☁╃↟,使用其他語言字元作為域名會產生多種問題☁╃↟,例如難以輸入☁╃↟,難以在國際推廣等◕₪◕。

歷史

DNS最早於1983年由保羅·莫卡派喬斯(Paul Mockapetris)發明;原始的技術規範在882號因特網標準草案(RFC 882)中釋出◕₪◕。1987年釋出的第1034和1035號草案修正了DNS技術規範☁╃↟,並廢除了之前的第882和883號草案◕₪◕。在此之後對因特網標準草案的修改基本上沒有涉及到DNS技術規範部分的改動◕₪◕。

早期的域名必須以英文句號“.”結尾☁╃↟,當用戶訪問www.wikipedia.org的HTTP服務時必須在位址列中輸入✘↟₪·:http://www.wikipedia.org.☁╃↟,這樣DNS才能夠進行域名解析◕₪◕。如今DNS伺服器已經可以自動補上結尾的句號◕₪◕。

記錄型別

DNS系統中☁╃↟,常見的資源記錄型別有✘↟₪·:

  1. 主機記錄(A記錄)✘↟₪·:RFC 1035定義☁╃↟,A記錄是用於名稱解析的重要記錄☁╃↟,它將特定的主機名對映到對應主機的IP地址上◕₪◕。
  2. 別名記錄(CNAME記錄): RFC 1035定義☁╃↟,CNAME記錄用於將某個別名指向到某個A記錄上☁╃↟,這樣就不需要再為某個新名字另外建立一條新的A記錄◕₪◕。
  3. IPv6主機記錄(AAAA記錄): RFC 3596定義☁╃↟,與A記錄對應☁╃↟,用於將特定的主機名對映到一個主機的IPv6地址◕₪◕。
  4. 服務位置記錄(SRV記錄): RFC 2782定義☁╃↟,用於定義提供特定服務的伺服器的位置☁╃↟,如主機(hostname)☁╃↟,埠(port number)等◕₪◕。
  5. NAPTR記錄✘↟₪·:RFC 3403定義☁╃↟,它提供了正則表示式方式去對映一個域名◕₪◕。NAPTR記錄非常著名的一個應用是用於ENUM查詢◕₪◕。

技術實現

概述

DNS透過允許一個名稱伺服器把他的一部分名稱服務(眾所周知的zone)“委託”給子伺服器而實現了一種層次結構的名稱空間◕₪◕。此外☁╃↟,DNS還提供了一些額外的資訊☁╃↟,例如系統別名☁││、聯絡資訊以及哪一個主機正在充當系統組或域的郵件樞紐◕₪◕。

任何一個使用IP的計算機網路可以使用DNS來實現他自己的私有名稱系統◕₪◕。儘管如此☁╃↟,當提到在公共的Internet DNS系統上實現的域名時☁╃↟,術語“域名”是最常使用的◕₪◕。

這是基於504個全球範圍的“根域名伺服器”(分成13組☁╃↟,分別編號為A至M)◕₪◕。從這504個根伺服器開始☁╃↟,餘下的Internet DNS名稱空間被委託給其他的DNS伺服器☁╃↟,這些伺服器提供DNS名稱空間中的特定部分◕₪◕。

軟體

DNS系統是由各式各樣的DNS軟體所驅動的☁╃↟,例如✘↟₪·:

  1. BIND(Berkeley Internet Name Domain)☁╃↟,使用最廣的DNS軟體
  2. DJBDNS(英語✘↟₪·:djbdns)(Dan J Bernstein's DNS implementation)
  3. MaraDNS(英語✘↟₪·:MaraDNS)
  4. Name Server Daemon(英語✘↟₪·:NSD)(Name Server Daemon)
  5. PowerDNS(英語✘↟₪·:PowerDNS)
  6. Dnsmasq

國際化域名

Punycode是一個根據RFC 3492標準而制定的編碼系統☁╃↟,主要用於把域名從地方語言所採用的Unicode編碼轉換成為可用於DNS系統的編碼◕₪◕。而該編碼是根據域名相異字表(由IANA制定)☁╃↟,Punycode可以防止所謂的IDN欺騙◕₪◕。

域名解析

舉一個例子☁╃↟,zh.wikipedia.org作為一個域名就和IP地址208.80.154.225相對應◕₪◕。DNS就像是一個自動的電話號碼簿☁╃↟,我們可以直接撥打wikipedia的名字來代替電話號碼(IP地址)◕₪◕。DNS在我們直接呼叫網站的名字以後就會將像zh.wikipedia.org一樣便於人類使用的名字轉化成像208.80.154.225一樣便於機器識別的IP地址◕₪◕。

DNS查詢有兩種方式✘↟₪·:遞迴和迭代◕₪◕。DNS客戶端設定使用的DNS伺服器一般都是遞迴伺服器☁╃↟,它負責全權處理客戶端的DNS查詢請求☁╃↟,直到返回最終結果◕₪◕。而DNS伺服器之間一般採用迭代查詢方式◕₪◕。

以查詢zh.wikipedia.org為例✘↟₪·:

客戶端傳送查詢報文"query zh.wikipedia.org"至DNS伺服器☁╃↟,DNS伺服器首先檢查自身快取☁╃↟,如果存在記錄則直接返回結果◕₪◕。

如果記錄老化或不存在☁╃↟,則

DNS伺服器向根域名伺服器傳送查詢報文"query zh.wikipedia.org"☁╃↟,根域名伺服器返回.org域的權威域名伺服器地址☁╃↟,這一級首先會返回的是頂級域名的權威域名伺服器◕₪◕。

DNS伺服器向.org域的權威域名伺服器傳送查詢報文"query zh.wikipedia.org"☁╃↟,得到.wikipedia.org域的權威域名伺服器地址◕₪◕。

DNS伺服器向.wikipedia.org域的權威域名伺服器傳送查詢報文"query zh.wikipedia.org"☁╃↟,得到主機zh的A記錄☁╃↟,存入自身快取並返回給客戶端◕₪◕。

WHOIS(域名資料庫查詢)

一個域名的所有者可以透過查詢WHOIS資料庫而被找到;對於大多數根域名伺服器☁╃↟,基本的WHOIS由ICANN維護☁╃↟,而WHOIS的細節則由控制那個域的域註冊機構維護◕₪◕。

對於240多個國家程式碼頂級域名(ccTLDs)☁╃↟,通常由該域名權威註冊機構負責維護WHOIS◕₪◕。例如中國網際網路絡資訊中心(China Internet Network Information Center)負責.CN域名的WHOIS維護☁╃↟,香港網際網路註冊管理有限公司(Hong Kong Internet Registration Corporation Limited)負責.HK域名的WHOIS維護☁╃↟,臺灣網路資訊中心(Taiwan Network Information Center)負責.TW域名的WHOIS維護◕₪◕。

其他

此外☁╃↟,一些駭客透過偽造DNS伺服器將使用者引向錯誤網站☁╃↟,以達到竊取使用者隱私資訊的目的◕₪◕。這種DNS伺服器大約有68000臺◕₪◕。

狼人无码精华AV午夜精品,扒开双腿疯狂进出爽爽爽hh,国产国语在线播放视频,精品无码日韩一区二区三区不卡