LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

面試官:DNS解析都整不明白,敢說你懂網絡?我:嚶嚶嚶!

freeflydom
2024年12月19日 10:24 本文熱度 540

一、寫在開頭

在OSI七層協議模型中應用層是距離我們最近,且日后開發使用到最多的一層,在上一篇博文中我們已經學習了應用層中的HTTP協議,在本文中我們再一起來學一下DNS。啥?DNS不是很了解?那還不快往下看!

?

其實早幾年和一個朋友聊天,當時,他是一個網絡條線的技術經理,向我吐槽說,現在來面試的很多都是學不好編程語言的,轉來搞網絡了,結果問一個DNS,他都整不明白,就這還好意思干網絡?我當時嚇得不敢說話,因為我自己對于網絡編程也是那種淺嘗輒止的心態,生怕他回頭問我一個問題,哈哈。

?

二、DNS的定義

DNS(Domain Name System)域名管理系統,是當用戶使用瀏覽器訪問網址之后,使用的第一個重要協議。DNS 要解決的是域名和 IP 地址的映射問題。




DNS是一個聯機的分布式數據庫系統,它具有分布式、層次化、模塊化等特點,它屬于應用層的協議,基于UDP傳輸,端口為53。


三、DNS服務器類別

我們上面說到DNS具有層次化結構,而這個層次化主要體現在它的服務器部署之上,DNS的域名層次結構是一棵樹,從「根域名服務器」「頂級域名服務器」「權威域名服務器」,再到「本地域名服務器」,而我們所有遇到的DNS服務器,都囊括在這四類之中。

  • 「根域名DNS服務器」:是為提供TLD服務器的IP地址,目前世界上僅有13組根服務器,我國境內仍然沒有,不過后來任播應用后,DNS分解出1089個根域名服務器節點,而在我國便有了26個根域名服務器節點。

  • 「頂級域名服務器(TLD服務器)」:頂級域名指的域名的后綴,像com、org、net等都是,不同國家也有自己的域名,如uk、ca、fr這些,我國的是cn。而頂級域名系統則是提供權威DNS服務器IP地址的。

  • 「權威域名DNS服務器」:所有在因特網上具有公共可訪問主機的組織機構,必須提供可訪問的DNS記錄,而這些記錄里則保存著域名與IP映射等信息,而這些記錄則存儲在權威DNS服務器上。

  • 「本地域名服務器」:每個 ISP(互聯網服務提供商)都有一個自己的本地 DNS 服務器。當主機發出 DNS 請求時,該請求被發往本地 DNS 服務器,它起著代理的作用,并將該請求轉發到 DNS 層次結構中。

那么了解了DNS的底層服務器結構,它們是如何合作的,或者說是通過怎樣的機制,達到解析域名,響應到對應的IP上的呢?繼續往下看!

四、DNS的解析過程

開局先上一張圖:





現在假設我們用瀏覽器去訪問“ www.baidu.com.cn” 的IP地址,那么DNS解析系統的整個解析過程大致可以分為如下這幾步:


  1. 第一步:客戶端向本地DNS服務器發送DNS請求報文,報文中包含域名 www.baidu.com.cn ,若本地DNS中有相應的記錄,直接反饋客戶端,若沒有則訪問根DNS服務器,繼續處理請求;

  2. 第二步:本地DNS服務器向根域名服務器發送請求,根域名服務器是域名系統的最頂層,它負責管理所有頂級域名(如.com、.net、.org以及國家和地區代碼如.cn)。根域名服務器會返回所查詢域(在這個例子中是“.cn”域)的主域名服務器的地址;

  3. 第三步:本地DNS在接收到根服務器返回的地址后,便向cn頂級域名服務器發送請求,一般到這里是有可能找到了對應的域名映射的IP地址的,但若還沒有,它會查詢自己的記錄以找到“.com.cn”域的主域名服務器(權威DNS服務器)地址返回;

  4. 第四步:本地DNS服務器只得繼續向權威DNS服務器發去請求,終于,www.baidu.com.cn已經向權威域名DNS備案過了,在這里找到了它對應的記錄,便把記錄返回給本地DNS;

  5. 第五步:本地dns服務器將收到的返回地址發給客戶端,同時寫入自己的緩存,以便下次查詢;

「需要注意的是:」 從請求主機到本地 DNS 服務器的查詢是遞歸的,其余的查詢時迭代的;當找不到相應記錄,會返回空結果,而不是超時信息。

五、DNS報文格式

DNS報文格式是DNS協議中用于客戶端和服務器之間通信的一種結構化數據格式。DNS報文主要分為兩種:查詢報文和回答報文,它們具有相同的格式。




DNS(Domain Name System,域名系統)報文是在域名解析過程中,DNS客戶端和DNS服務器之間傳輸的消息,其報文格式主要包括以下幾個部分:


「我們可以將其分成三個部分來看:」

報文頭部

  • 「標識」:16位的標識符,用于標識該DNS報文,客戶端發送請求時會生成一個隨機的標識,服務器在響應時會使用相同的標識,以便客戶端能夠將響應與請求對應起來。

  • 「標志」:16位的標志字段,包含多個標志位,用于表示報文的類型、操作碼、響應狀態等信息。例如,QR位表示是查詢報文(0)還是響應報文(1);OPCODE位表示操作碼,通常為標準查詢(0)等。

  • 「問題數量」:16位的字段,指明報文中包含的問題記錄數量。

  • 「回答數量」:16位的字段,指明報文中包含的回答記錄數量。

  • 「權威機構數量」:16位的字段,指明報文中包含的權威機構記錄數量。

  • 「附加信息數量」:16位的字段,指明報文中包含的附加信息記錄數量。

問題部分

  • 「查詢名稱」:可變長度字段,包含要查詢的域名,域名采用一種特殊的編碼方式,將域名的各個部分以標簽的形式表示,每個標簽前面有一個字節表示該標簽的長度,最后以一個字節的0結束。

  • 「查詢類型」:16位的字段,指定查詢的資源記錄類型,如A記錄(表示主機地址)、NS記錄(表示域名服務器)、CNAME記錄(表示別名)等。

  • 「查詢類」:通常為1,表示Internet類。

回答部分、權威機構部分和附加信息部分

這三個部分的格式基本相同,每個部分都可以包含多個資源記錄,每個資源記錄的格式如下:

  • 「域名」:與問題部分的查詢名稱格式相同,通常是被查詢域名或相關域名。

  • 「類型」:16位的字段,與問題部分的查詢類型相對應,表示該資源記錄的類型。

  • 「類」:通常為1,表示Internet類。

  • 「生存時間」:32位的字段,以秒為單位,表示該資源記錄在緩存中的有效時間。

  • 「資源數據長度」:16位的字段,指明后面的資源數據的長度。

  • 「資源數據」:可變長度字段,包含與該資源記錄類型相關的具體數據,如A記錄的IP地址、NS記錄的域名服務器名稱等。

轉自https://www.cnblogs.com/JavaBuild/p/18613789


該文章在 2024/12/19 10:26:01 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
久久国产精品国产精品 | 欧美亚洲色综久久精品国产 | 日本亚洲另类专区 | 亚洲国产另类久久久精品女同 | 日韩美女黄大片在线观看 | 在线视频国产网址你懂的 |