域名與DNS

IP地址是Internet主機的作為路由尋址用的數字型標識,人不容易記憶。因而產生了域名(domain name)這一種字符型標識。請求通過域名地址系統(domain name system, DNS)把域名映射到對應的IP地址,從而訪問目的機器。
以'www.google.com'為例,google為域名主體,最右邊的com稱為為頂級域名,www稱為網絡域名。

分類

域名分為國際域名(如.com、.org、.net)和國內域名(.gov、.cn)。在實際使用和功能上,國際域名與國內域名沒有任何區別,都是互聯網上的具有唯一性的標識。只是在最終管理機構上,國際域名由美國商業部授權的互聯網名稱與數字地址分配機構(The Internet Corporation for Assigned Names and Numbers)即ICANN負責注冊和管理;而國內域名則由中國互聯網絡管理中心(China Internet Network Information Center) 即CNNIC負責注冊和管理。

級別

  1. 頂級域名。一是國家頂級域名,200多個國家都按照ISO3166國家代碼分配了頂級域名,例如中國是cn,美國是us,日本是jp等;二是國際頂級域名,如.com、.org、.net。頂級域名是WIPO國際組織定義的,個數是明確固定的。
  2. 二級域名。二級域名是指頂級域名之下的域名,在國際頂級域名下,它是指域名注冊人的網上名稱,例如 ibm,yahoo,microsoft等。一般為企業和機構的名稱。
  3. 三級域名。三級域名用字母( A~Z,a~z,大小寫等)、數字(0~9)和連接符(-)組成, 各級域名之間用實點(.)連接,三級域名的長度不能超過20個字符。任何人都可申請注冊三級域名。

WHOIS數據庫

一個域名的所有者可以通過查詢WHOIS數據庫而被找到;對于大多數根域名服務器, 基本的WHOIS由ICANN維護,而WHOIS的細節則由控制那個域的域注冊機構維護。對于240多個國家代碼頂級域名(ccTLDs),通常由該域名權威注冊機構負責維護WHOIS。
簡單來說,whois就是一個用來查詢域名是否已經被注冊,以及注冊域名的詳細信息的數據庫(如域名所有人、域名注冊商、域名注冊日期和過期日期等),即通過whois來實現對域名信息的查詢。

常用域名

  • 「.com」company簡稱,表示公司企業。.com是目前國際最廣泛流行的通用域名格式,現全球用戶超過1.1億個。所有國際化公司都會注冊.com域名。
  • 「.net」Internet簡稱,是國際最廣泛流行的通用域名格式。一般用于從事Internet相關的網絡服務的機構或公司。
  • 「.org」organization簡稱,適用于各類組織機構,包括非盈利團體。
  • 「.cn」China簡稱,一般代表中國,由我國管理的國際頂級域名,是中國自己的互聯網標識。
  • 「.biz」business簡稱,代表著商業領域。
  • 「.name」、「.me」和「.bio」bio為biography(簡介)的縮寫,非常適合用于個人網站。
  • 「.io」Input/Output--Geek的代表。
    國外很多的極客、技術等網站很多以io域名結尾,比如:Google開發者大會-Google I/O,編程馬拉松-hackathon.io,GitHub Pages-github.io,Java著名框架-spring.io,輕博客框架-hexo.io,圖標字體庫和CSS框架-Font Awesome等等,無疑是開發者首選的新貴域名。

IO 被發掘之后賦予了更多含義:

  1. 1 和 0 (二進制世界, 當然是與計算機, IT科技界相關)
  2. true / false
  3. input / output

比較(針對個人):

  • .com、.net、.org是國際最廣泛流行的通用域名格式,但是比較好的名字都被別人占用了,價格基本都1W+。(貴,不推薦)

  • .cn需實名認證加備案審核。(麻煩,不推薦)

  • .io。一般個人買域名建站,大多數的開發人員搭建博客,作為Geek的代表,io域名為首選。價格一般在200-500¥左右,對于錢包有點緊的同學有點小貴。(推薦)
    ![Uploading purchase-zone_273919.png . . .]

  • .name、.me、.bio非常適用于個人網站,主要是價格便宜,每年在¥50左右。(推薦)

域名注冊

一般域名注冊服務商都會提供VPS(Virtual Private Server,虛擬專用服務器)和ECS(Elastic Compute Service,云服務器),如果需要你可以順便購買,現在大多數廠商個人入門服務器價格是300¥/年。
PS: 這里有個誤區,我之前在阿里云上購買完域名,然后系統提示我實名認證完去管局備案,但我的網站實際上放在GitHub上的,結果我一直等了快一個月備案成功才去解析域名。域名購買注冊完進行實名認證就可以進行解析使用了,如果你購買的是國內的主機服務器,如阿里云、騰訊云等,你的域名需要解析到該服務器實例公網IP的時候,根據國家法律規定你的域名就需要備案,整個備案流程從提交各種資料到拍照挺麻煩的,一般25天左右才能下來;但是你購買的是國外或香港的,或直接部署在GitHub Pages等,則不需要審核備案,但在大陸訪問的速度會慢,就需要你了解圖片訪問加速、頁面靜態化、CDN等相關知識去優化。
當然即使你的域名放在國外也可以備案-域名證書生成器

推薦幾個域名注冊服務商:

  1. 國內。
  1. 國外。
purchase-zone.png

大陸域名=實名認證(1天左右);大陸服務器=備案審核(20天左右)

域名解析(DNS)

DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。通過主機名,最終得到該主機名對應的IP地址的過程叫做域名解析(或主機名解析)。DNS協議運行在UDP協議之上,使用端口號53。

映射方式

域名到IP地址的映射有兩種方式:

  1. 靜態映射,每臺設備上都配置主機到IP地址的映射,各設備獨立維護自己的映射表,而且只供本設備使用,如Windows系統的hosts文件。
  2. 動態映射,建立一套域名解析系統(DNS),只在專門的DNS服務器上配置主機到IP地址的映射,網絡上需要使用主機名通信的設備,首先需要到DNS服務器查詢主機所對應的IP地址。

在解析域名時,可以首先采用靜態域名解析的方法,如果靜態域名解析不成功,再采用動態域名解析的方法。可以將一些常用的域名放入靜態域名解析表中,這樣可以大大提高域名解析效率。

DNS冗余

為保證服務的高可用性,DNS要求使用多臺名稱服務器冗余支持每個區域。
某個區域的資源記錄通過手動或自動方式更新到單個主名稱服務器(稱為主 DNS服務器)上,其它冗余名稱服務器(稱為輔 DNS 服務器)用作同一區域中主服務器的備份服務器,以防主服務器無法訪問或宕機。輔 DNS服務器定期與主 DNS 服務器通訊,確保它的區域信息保持最新。如果不是最新信息,輔DNS服務器就會從主服務器獲取最新區域數據文件的副本。這種將區域文件復制到多臺名稱服務器的過程稱為區域復制。

DNS-redundance.png

GitHub Pages綁定域名

我在阿里云上注冊了一個新域名:guodongdong.com.cn,把博客托管在GitHub Pages上:gordon0518.github.io?,F在我希望將guodongdong.com.cn映射到gordon0518.github.io。

  1. 創建CNAME文件夾。在個人博客倉庫根目錄中新建文件CNAME(大寫,沒有后綴),在該文件添加域名,如guodongdong.com.cn,該域名不能包含前綴信息,即不能添加http:\前綴。告訴Github Pages服務器你想指定的域名。Github讀取你的CNAME之后,Github服務器會設置guodongdong.com.cn為你的主域名,然后將gordon0518.github.io重定向到guodongdong.com.cn。
    如果你和我一樣使用的是Node.js系Hexo或Ruby系Jekyll來生成靜態博客文件,只需把CNAME放在blog根目錄下的source文件夾下即可,每次generate靜態文件時會自動放在public文件夾下。
    PS: 如果Github Pages服務器無法識別和解析你的域名,ping下域名和GitHub地址,如果都指向同一個IP地址,瀏覽器還是不能訪問,說明配置有問題,認真檢查下。
  2. 解析域名
    在所購買的域名服務商頁面解析自己的域名即可。搭建網站一般在記錄類型里選擇:
  • A記錄。將域名指向主機服務商提供的IPv4地址,如:59.110.137.229
  • CNAME記錄。將域名指向另一個域名,實現與被指向域名相同的訪問效果,如:gordon0518.github.io
aliyun-resolution.png
  1. 測試等待
    要全球解析生效,得等上一會了,也可以先ping一下自己的設置對不對。阿里云域名服務的工作原理是,在你更新了域名解析之后,首先是阿里的萬網云解析,然后傳播到各大運營商的DNS服務器,刷新DNS緩存,至此你的域名可以被訪問。
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,973評論 19 139
  • DNS(Domain Name System,域名系統),因特網上作為域名和IP地址相互映射的一個分布式數據庫,能...
    一直在努力hard閱讀 4,704評論 3 19
  • @@@時間 2013-12-24 14:50:00** 博客園-原創精華區 原文 http://www.cn...
    蘇文星閱讀 1,436評論 0 7
  • 14.1 引言 域名系統(DNS)是一種用于TCP/IP應用程序的分布式數據庫,它提供主機名字和IP地址之間的轉換...
    張芳濤閱讀 1,929評論 0 8
  • 域名(Domain Name),是由一串用 點 分隔的名字 組成的 Internet 上某一臺計算機或計算機組的名...
    茉上心弦閱讀 2,174評論 1 11