成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

扒一扒 DNS 的前世今生

網絡 網絡管理
簡單來說,DNS(域名系統)就是域名和各種數據之間的一個映射表。最常見的映射就是把像?chatgpt.com?這樣的域名轉換成電腦能懂的IP地址。

今天給大家科普一下關于DNS的相關知識,講一講一個網址背后發生的一些故事。

簡單來說,DNS(域名系統)就是域名和各種數據之間的一個映射表。最常見的映射就是把像 chatgpt.com 這樣的域名轉換成電腦能懂的IP地址。

當你把 chatgpt.com 敲進瀏覽器時,DNS 就會出馬,找到并返回這個域名綁定的 IP 地址:

圖片圖片

當然啦,這背后發生了很多事。在這篇文章里,我們就來扒一扒它到底是怎么運作的。

我希望這篇文章能比 ChatGPT 或者 DeepSeek 講得還好懂,要是連它們都能寫得比我好,那我就太失敗了!

好了,閑話少說,咱們開始吧。

DNS 誕生之前

在深入 DNS 之前,咱先看看它出現之前是啥情況。

在 80 年代現代互聯網出現之前,有個叫ARPAnet的玩意兒。它是當時第一個分組交換網絡,算是現代互聯網的老祖宗。

ARPAnet 用一個叫HOSTS.TXT的文件,把服務器的域名和網絡地址(也就是 IP 地址)對應起來。

這個文件大概長這樣:

# 官方 ARPANET 主機表 (hosts.txt)
# 格式:<IP 地址>    <主機名>    [別名]    # [注釋]

10.0.0.6    mit-ai        # MIT 人工智能實驗室
10.0.0.7    sri-nic       # SRI 網絡信息中心
10.0.0.11   ucla-seismo   # 加州大學洛杉磯分校 地震學系
10.0.0.13   berkeley      # 加州大學伯克利分校
10.0.0.14   stanford      # 斯坦福大學

# 別名 (可選項,跟在主機名后面)
10.0.0.6    mit           mit-ai

這個“主” HOSTS.TXT 文件就一份,由斯坦福研究所 (SRI) 獨家維護。這慢慢就出問題了,為啥呢?

  • 流量和服務器壓力山大:所有設備都得找 SRI 的服務器查名字,SRI 服務器快被壓垮了。
  • 名字撞車越來越頻繁:網絡變大了,大家想用的好名字就那些,沖突越來越多。
  • 文件變得巨胖:文件大小漲到了 100-200KB。現在看這點數據不算啥,但在 80 年代的基礎設施條件下,這已經是個大瓶頸了。

這些問題可太要命了,直接催生了 DNS 的誕生。

DNS登場

DNS 架構

DNS (域名系統)最好理解成一個分布式的和層次化的系統。

啥意思呢?

  • 分布式:意思是 DNS 運行在好多臺互相連接的服務器(也就是 DNS 服務器)上。
  • 層次化:DNS 組織成一個樹狀結構,上面的服務器管著下面的服務器。等會兒講到 DNS 區域時再細說。

DNS 記錄

現在我們知道了,DNS 就是一堆服務器按樹狀結構組織起來,互相通信。那這些服務器存啥呢?

DNS 服務器存的就是DNS 記錄。看個例子:

# DNS 記錄結構
# 域名              TTL(秒)  類別  類型     數據
example.com.        3600     IN    A       93.184.216.34
www.example.com.    3600     IN    CNAME   example.com.
example.com.        3600     IN    MX      10 mail.example.com.
mail.example.com.   3600     IN    A       93.184.216.50
example.com.        3600     IN    TXT     "hello world"

來詳細掰扯掰扯每個字段是啥意思:

  • 域名:就是互聯網上的域名,比如 chatgpt.com。注意結尾那個點 . 表示根域(通常可以省略)。
  • TTL:生存時間(單位秒)。意思是這個記錄你能在本地緩存多久,過期了就得去問權威服務器要新的。
  • 類別:這玩意兒基本總是IN,代表“互聯網” (Internet)。還有別的類,像CH或HS,但現在基本不用了。
  • 類型:代表這條記錄存的是哪類數據。最常見的類型有:

A:代表一個IPv4 地址。

AAAA:代表一個IPv6 地址。

CNAME:意思是規范名稱,就是給另一個域名起個別名。

MX:郵件交換器,指定誰來收這個域名的郵件(后面跟優先級,數字越小越優先)。

TXT:文本記錄,可以存任意文本(比如驗證信息、安全策略啥的)。

  • 數據:你要查的那個信息的真身。具體是啥完全取決于類型字段。

DNS 區域

還記得我們說 DNS 是個大樹嗎?

那么,一個 DNS 區域就可以代表整棵樹、樹的一個分支、或者樹里的一個節點。

在下面的示意圖里,我圈出了兩個分支,標為區域1和區域2。不過區域怎么劃分其實挺隨意的。

圖片圖片

關鍵點在于:位于一個區域根部的那個 DNS 服務器,負責管理它下面的所有服務器。比如,example.com 這個服務器就管著 hello 和 world(如果它們是子域的話)。

DNS 服務器

“DNS 服務器”這個詞用得很寬泛,這也是我學 DNS 時最暈乎的地方之一。

簡單說,任何運行 DNS 軟件的服務器都可以叫 DNS 服務器。但有四種核心角色你必須知道:

  1. 權威域名服務器:這些服務器存著它們負責的DNS 區域里所有域名的官方 DNS 記錄。比如 .com 的權威服務器就存著所有以 .com 結尾網站的記錄。
  2. 遞歸解析器:一個專門幫客戶(比如你的電腦)查找 DNS 信息的程序,還會把結果緩存起來。比如客戶說“我要訪問 www.example.com”,遞歸解析器就把復雜的查詢過程全包了,最后直接給你返回 example.com 的正確 IPv4 地址(A 記錄)。你的路由器或 ISP(像電信、聯通)提供的 DNS 服務器通常就干這個活。
  3. 緩存服務器:專門用來存之前查過的 DNS 結果,這樣下次再問就能飛快地給答案。
  4. 轉發器:它自己不去查,而是把收到的 DNS 查詢請求 轉給另一個能查的服務器(通常就是個遞歸解析器)去處理。

一臺物理上的 DNS 服務器可以同時干好幾樣活。比如,一個遞歸解析器通常也自帶緩存功能(也就是緩存服務器)。

DNS 查詢實例

術語講夠了,讓我們看個動圖(腦補一下)!看看這一切是怎么配合工作的,舉個栗子??:一個客戶端第一次查詢 hello.world.com 的 IP 地址(A 記錄)。

圖片圖片

請求內容是:A hello.world.com? (意思就是:hello.world.com 的 IP 是啥?)


注意:存根解析器(Stub Resolver)不算真正的 DNS 服務器,它就是你電腦操作系統里一個簡單的 DNS 客戶端,負責跟你配置的 DNS 服務器(通常是路由器或 ISP 的)對話。路由器這時通常就扮演轉發器的角色。

接下來,就要進行遞歸 DNS 查詢了。過程大概是這樣的:

  1. 客戶端問路由器/本地DNS:“嘿,hello.world.com 的 IP 是啥?” (本地沒緩存)。
  2. 本地DNS(遞歸解析器)開始干活:
  • 先看看自己緩存里有沒有,沒有。
  • 跑去問根域名服務器:“.com 該找誰管啊?”
  • 根服務器回復:“.com 的事歸這些 TLD 服務器(頂級域服務器)管,地址是 X.X.X.X”。
  1. 問 .com TLD 服務器:“world.com 該找誰管啊?”
  • .com TLD 服務器回復:“world.com 歸這些權威服務器管,地址是 Y.Y.Y.Y”。
  1. 問 world.com 權威服務器:“hello.world.com 的 IP 是啥?”
  • world.com 的權威服務器回復:“在這兒呢,hello.world.com 的 A 記錄是143.54.1.8”。
  1. 結果返回與緩存:
  • 遞歸解析器拿到最終答案 143.54.1.88,開心地把它返回給客戶端(一路經過路由器)。
  • 這個結果會一路被緩存:ISP 的解析器會緩存它,你的路由器(如果支持)也可能會緩存,你的電腦操作系統也會緩存。緩存多久?看記錄的 TTL 值,通常幾小時到幾天不等(比如 1 到 72 小時)。
  1. 連接建立:客戶端瀏覽器拿到 IP 地址 143.54.1.88,終于可以向這個地址發送 HTTP 請求加載網頁了。

圖片圖片

結語

DNS 這玩意兒挺繞的,倒不是因為它本身多難,而是因為要搞懂的東西實在有點多。

即使有了這些概念解釋和實例演示,我們也只是掀開了 DNS 世界的一角。它在現實世界中能干的事和帶來的影響,遠比我們這里講的要豐富和深遠得多。

責任編輯:武曉燕 來源: 程序員新世界
相關推薦

2018-07-30 15:49:12

2019-10-21 10:59:52

編程語言JavaC

2022-07-11 20:46:39

AQSJava

2019-09-10 07:29:44

2018-04-03 15:42:40

2023-01-30 22:10:12

BeanSpring容器

2019-02-25 22:46:39

2020-01-15 15:29:52

InnoDB數據硬盤

2023-04-10 23:05:54

NacosOpenFeignRibbon

2015-09-16 14:04:06

大數據巨頭

2015-10-15 13:38:39

2015-08-18 09:12:54

app推廣渠道

2019-01-03 11:09:19

2015-09-16 14:11:47

2015-09-21 10:07:31

2017-09-07 18:45:51

C#

2025-04-30 07:26:04

2022-09-30 09:40:39

智能汽車

2021-05-13 05:25:16

數據分析數分培訓大數據

2011-08-23 09:52:31

CSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 午夜免费观看体验区 | 精品av| 久久综合一区二区 | 成人在线视频免费观看 | 国产成人精品免高潮在线观看 | 久久精品亚洲精品国产欧美kt∨ | 四虎影视免费观看 | 国产精品大片 | 一区二区日韩精品 | 日韩欧美视频在线 | 久久成人免费观看 | 中文字幕一区二区三区四区不卡 | 国精日本亚洲欧州国产中文久久 | 91av在线免费 | 国产福利91精品一区二区三区 | 成人影院一区二区三区 | 91麻豆久久久 | 日韩欧美三区 | 国产精品区二区三区日本 | 国产精品海角社区在线观看 | 国产免费一区二区 | 欧美一区二区三区久久精品 | 欧美在线一区二区视频 | 91精品国产综合久久国产大片 | 99精品电影 | 国产精品一区三区 | 91欧美激情一区二区三区成人 | 国产jizz女人多喷水99 | 日韩视频精品在线 | 成人1区2区 | 欧美另类视频 | 神马久久久久久久久久 | 国产三级在线观看播放 | 亚洲欧美日韩精品久久亚洲区 | 色视频在线免费观看 | 亚洲国产视频一区二区 | 天天av天天好逼 | 伊人春色成人 | 久久久免费 | 99精品国产一区二区青青牛奶 | 亚洲情综合五月天 |