自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

DNS消息:如何閱讀查詢和響應(yīng)消息

系統(tǒng)
如果DNS服務(wù)器無法識別域名,它會將查詢傳遞給下一個DNS服務(wù)器。然后,在收到響應(yīng)后,將響應(yīng)傳遞給瀏覽器。有興趣了解DNS解析工作原理嗎?希望這篇文章可以幫助。

DNS消息相對簡單:瀏覽器查詢一個域名并獲取一個IP地址。

如果DNS服務(wù)器無法識別域名,它會將查詢傳遞給下一個DNS服務(wù)器。然后,在收到響應(yīng)后,將響應(yīng)傳遞給瀏覽器。

有興趣了解DNS解析工作原理嗎?希望這篇文章可以幫助。

查詢消息

這是查詢消息的結(jié)構(gòu)。

  • 事務(wù)ID:用于將響應(yīng)與查詢匹配
  • 標(biāo)志:指定所請求的操作和響應(yīng)代碼
  • 問題數(shù):查詢部分中的條目數(shù)
  • 答案RR數(shù):答案部分中的條目數(shù)(RR代表“資源記錄”)
  • 授權(quán)RR數(shù):授權(quán)部分中的條目數(shù)
  • 附加RR數(shù):附加部分中的條目數(shù)
  • 查詢:查詢數(shù)據(jù)

需要關(guān)注的是問題數(shù),答案RR和查詢。

以下是針對image.google.com的查詢消息的示例。

  • 問題數(shù):1表示此消息在查詢部分中有一個條目。?
  • 答案RR數(shù):0表示沒有答案。這是因為查詢消息只包含問題,沒有答案。

接下來,讓我們深入查詢的條目結(jié)構(gòu),僅包括3個部分。

  • 名稱:域名
  • 類型:DNS記錄類型(例如A,CNAME和MX)
  • 類:允許域名用于任意對象

通過查看示例,更容易理解結(jié)構(gòu)。

  • 名稱是請求的域名image.google.com。
  • 類型:A表示它是一個A記錄。A記錄是最基本和最常用的DNS記錄類型。
  • 類:IN是“互聯(lián)網(wǎng)”的縮寫。在瀏覽器上下文中沒有太大意義。

有趣的部分是消息如何編碼名稱字段。

使用.作為分隔符,示例域名可以分為3個組。

  • image
  • google
  • com

在藍色標(biāo)記的示例中,第一個字節(jié)是05,表示接下來的5個字節(jié)是域名的第1組。

在屏幕截圖中,字節(jié)以ASCII碼呈現(xiàn)。我們可以輕松將其解碼為字符。

  • 69 → i
  • 6d → m
  • 61 → a
  • 67 → g
  • 65 → e

我們得到了image。

按照相同的規(guī)則,我們可以找到域名的其余部分——google和com。

最后,在域名的末尾,00標(biāo)志著該部分的結(jié)束。

這就是查詢的全部內(nèi)容。通過查詢提供的所有必要信息,DNS服務(wù)器將發(fā)送一個響應(yīng)消息。

響應(yīng)消息

響應(yīng)消息與查詢消息共享相同的標(biāo)題和查詢部分,另外還有一個額外的答案部分。

為什么響應(yīng)消息包括原始的查詢部分?這是供參考的。我們將很快了解它。

以下是查詢image.google.com的響應(yīng)示例。

在消息中,我們在答案部分收到3個條目。因此,答案RRs設(shè)置為3。

  • 在第一個條目中,DNS服務(wù)器為初始查詢返回了一個CNAME images.google.com。
  • 然后,發(fā)送了一個新的查詢以獲取images.google.com,在第二個條目中返回了另一個CNAME images.1.google.com。
  • 最后,通過查詢images.1.google.com,客戶端在最后一個條目中收到了IP地址172.217.1.14。

除了查詢條目中找到的相同的3個部分外,答案條目還有3個額外的部分。

  • 存活時間(TTL):記錄可以存在的秒數(shù)
  • 數(shù)據(jù)長度:數(shù)據(jù)的長度
  • 數(shù)據(jù):返回的數(shù)據(jù),例如IP地址或CNAME

讓我們來看看名稱部分,它只有兩個字節(jié):c0 0c。

域名如何在兩個字節(jié)中編碼?

原來,這些字節(jié)是偏移量,指向查詢部分中編碼的域名。

c0是一個開始標(biāo)記,而0c是實際的偏移量,為12。

我們從消息的開始字節(jié)17(在屏幕截圖中以紅色標(biāo)記)開始數(shù)12個字節(jié)。最后,我們到達第13個字節(jié)05,這是image.google.com的開頭,用黃色標(biāo)記。

不復(fù)雜,對吧?接下來是一個復(fù)雜的例子。

在答案的第二個條目中,名稱偏移量為2e,即46個字節(jié)。

通過計算46個字節(jié),我們找到了前一個條目的CNAME中編碼的images。

  • 06 → 接下來的6個字節(jié)屬于同一組
  • 69 → i
  • 6d → m
  • 61 → a
  • 67 → g
  • 65 → e
  • 73 → s

在images的末尾,我們看到另一個偏移量引用c0 12。這是18個字節(jié)。

同樣,通過計算18個字節(jié),我們到達了綠色標(biāo)記的引用部分——在前一個條目的名稱中的google.com。

偏移量的想法是一個令人鼓舞的設(shè)計。有了它,消息可以節(jié)省大量空間。

最后,我們可以解碼最后一個答案條目中的地址。

  • ac → 172
  • d9 → 217
  • 01 → 1
  • 0e → 14

要點

  • DNS消息中需要注意的是問題數(shù)、答案RR數(shù)、查詢和答案。前兩者是計數(shù),而其他兩者是實際數(shù)據(jù)。
  • 通過理解名稱的編碼方式,您可以輕松地讀取消息的字節(jié)。
責(zé)任編輯:趙寧寧 來源: 小技術(shù)君
相關(guān)推薦

2019-07-19 07:56:13

消息隊列消息代理消息中間件

2009-08-26 09:09:57

Visual Stud

2024-04-25 14:27:32

順序消息事務(wù)消息

2022-12-22 10:03:18

消息集成

2018-08-06 15:33:02

網(wǎng)絡(luò)安全CISO投資

2021-03-08 10:19:59

MQ消息磁盤

2023-12-21 08:01:41

RocketMQ消息堆積

2022-03-31 08:26:44

RocketMQ消息排查

2020-10-26 09:19:11

線程池消息

2021-11-08 15:38:15

消息延遲堆積

2010-07-13 22:12:58

2017-03-20 09:50:35

消息隊列架構(gòu)消息

2017-10-11 15:08:28

消息隊列常見

2024-03-22 12:10:39

Redis消息隊列數(shù)據(jù)庫

2010-04-21 14:39:59

Unix消息隊列

2021-03-01 07:31:53

消息支付高可用

2013-03-11 10:11:21

Windows 8消息提醒

2025-01-10 08:20:00

MQ消息架構(gòu)

2020-08-26 07:17:19

通信

2010-07-14 17:16:35

SOAP協(xié)議
點贊
收藏

51CTO技術(shù)棧公眾號