DNS域名系統

DNS域名系統

  • 一、什么是DNS?
  • 二、DNS的域名層級
    • 1. 根域
    • 2. 頂級域
    • 3. 二級域
    • 4. 三級域(子域)
    • 5. 主機名
  • 三、DNS服務器的分類
  • 四、DNS的解析過程
  • 五、DNS的記錄類型
  • 六、FQDN(完全限定域名)


一、什么是DNS?

DNS(Domain Name System,域名系統),是互聯網中用于將人類可讀的域名(如www.example.com)解析為機器可讀的IP地址(如192.0.2.1)的分布式數據庫系統,作用是將域名解析到ip地址

互聯網的 “地址簿

DNS系統的作用
正向解析:根據主機名稱(域名)查找對應的IP地址
反向解析:根據IP地址查找對應的主機域名

關鍵技術

  1. 緩存機制:減少重復查詢,提升速度
    DNS 服務器會將已查詢過的 “域名 - IP 映射” 暫存到緩存中(緩存時長由域名的 “TTL 值” 決定,通常為幾分鐘到幾小時)。下次同一域名查詢時,直接從緩存返回結果,無需重復向上級查詢,大幅縮短解析時間

  2. 負載均衡:避免單點壓力
    大型網站會有多臺服務器對應同一域名(不同 IP)。DNS 服務器可通過 “輪詢”“地域優先” 等策略,將不同用戶解析到就近或負載較低的服務器,既提升訪問速度,又避免單臺服務器過載

  3. 容錯與冗余:保障服務不中斷
    多節點部署:權威 DNS 服務器通常部署多個節點(如國內 + 海外),若某節點故障,其他節點可繼續提供服務;
    遞歸查詢重試:本地 DNS 服務器若查詢某上級服務器超時,會自動重試或切換到其他上級服務器,避免解析失敗


二、DNS的域名層級

核心設計是樹形層級結構,通過 “自上而下的層級劃分” 解決了互聯網中海量設備的域名與 IP 地址映射問題

1. 根域

沒有實際名稱,僅用.(句點)表示
例如完整域名www.example.com的 “全稱” 其實是www.example.com.,末尾的.即根域,日常使用中會省略

作用:根域不存儲具體的域名解析記錄,僅負責 “指引方向”—— 當本地 DNS 服務器無法解析某個域名時,會首先向根 DNS 服務器請求,根服務器會返回該域名對應的 “頂級域 DNS 服務器” 地址,引導解析流程向下一層級推進
全球共有 13 組根 DNS 服務器(用字母 A~M 標識)

2. 頂級域

根域的直接子節點,是域名中最靠右的部分。主要包括組織域(也稱為通用頂級域)和國家地區域

類型典型案例
組織域.com(商業)、.org(非營利)、.edu(教育)、.gov(政府)、.net(網絡服務)、.mil(軍事部門)、.int(國際組織)
國家地區域.cn(中國)、.us(美國)、.jp(日本)、.uk(英國)、.hk(中國香港)

3. 二級域

標識 “具體的組織、個人或服務”,是域名的 “身份標識”—— 例如baidu.com中的baidu直接對應百度公司,taobao.com中的taobao對應淘寶平臺

二級域的所有者可自主創建 / 刪除三級域(無需向注冊商申請),只需在該二級域的權威 DNS 服務器(主 DNS / 從 DNS)中添加對應的子域解析記錄即可

4. 三級域(子域)

用于區分二級域下的 “不同服務或部門”,實現資源的分類管理

部分場景中,“三級域” 與 “主機名” 可能重合,本質是簡化了層級劃分,不影響解析邏輯

5. 主機名

DNS 樹形結構的 “葉子節點”,是域名的最左側部分,直接對應 “具體的網絡設備”(如服務器、路由器、終端設備)

標識 “某個子域下的具體設備”,是域名解析的 “最終目標”


三、DNS服務器的分類

服務器類型核心功能數據來源
權威 DNS 服務器存儲某域名的官方解析記錄(最終答案),是 “域名解析的源頭” ,負責返回ip管理員手動配置(
緩存 DNS 服務器暫存 “已查詢過的解析結果”,加速重復查詢,不存官方記錄從其他服務器(權威 / 根 / 頂級域)查詢并緩存
主權威 DNS 服務器權威服務器的 “主節點”,直接存儲 / 修改解析記錄,是從服務器的 “數據源”管理員直接編輯
從權威 DNS 服務器權威服務器的 “備份節點”,通過區域傳輸(AXFR/IXFR),主服務器宕機后,它可替代提供解析同步主服務器記錄從主權威服務器同步
遞歸 DNS 服務器接收用戶查詢后,“替用戶查到底”(從根→頂級域→權威),返回最終結果逐層查詢并緩存

四、DNS的解析過程

以訪問www.qq.com為例

  1. 先查看本地緩存
    操作系統和瀏覽器會檢查本地 DNS 緩存,看是否已經緩存了該 FQDN 對應的 IP 地址。如果有,則直接使用緩存結果,解析過程結束

  2. 查看hosts文件配置的域名解析

  3. 向本地域名服務器進行遞歸查詢,先查看緩存,查看本地數據庫文件,是否有記錄,沒有再問根域名服務器

  4. 本地域名服務器采用迭代查詢,先向根域名服務器查詢,逐步向下查詢

    • 查詢根域名服務器:根域名服務器返回負責.com 頂級域的頂級域名服務器地址
    • 查詢頂級域名服務器:頂級域名服務器返回負責 qq.com 域的權威域名服務器地址
    • 查詢權威域名服務器:權威域名服務器返回 www.qq.com 對應的 IP 地址
  5. 客戶機緩存dns記錄

  6. 客戶機使用ip地址去訪問服務器


五、DNS的記錄類型

在這里插入圖片描述
在這里插入圖片描述


六、FQDN(完全限定域名)

FQDN(Fully Qualified Domain Name,完全限定域名)是 DNS 系統中用于精確定位網絡資源的完整域名格式,它包含從主機名到頂級域名的完整層級結構,能夠在全球范圍內唯一標識一個網絡節點

  • FQDN 是域名的完整形式,包括主機名和所有父域
  • DNS 解析 是將 FQDN 轉換為 IP 地址的過程,通過遞歸和迭代查詢實現
  • FQDN 解析是互聯網通信的基礎,確保用戶能夠通過易記的域名訪問網絡資源

在實際使用中,末尾的根域點號(.)通常可以省略,但在 DNS 配置中,點號表示根域,是 FQDN 的完整形式

FQDN 的解析過程是 DNS 系統的核心功能,它將 FQDN 轉換為對應的 IP 地址

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94881.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94881.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94881.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

虛擬內存和虛擬頁面

虛擬內存虛擬內存是現代操作系統提供的一種內存管理機制,它允許程序訪問比實際物理內存更大的地址空間。虛擬內存通過將程序的地址空間劃分為多個固定大小的塊(稱為頁面),并將這些頁面映射到物理內存或磁盤上的頁面文件中&#xf…

【2025年電賽E題】基于k230的矩形框識別鎖定1

文章目錄 概要 整體架構流程 技術名詞解釋 技術細節 1. 多閾值適配與目標識別邏輯 2. 動態ROI與狀態管理機制 3. 數據平滑與偏差計算 4. 硬件適配與UART通信 小結 靜態矩形框識別 動態矩形框追蹤 概要 本文分析的代碼是基于立創廬山派K230CanMV開發板的目標追蹤系統實現,主要…

c語言中的數組可以用int a[3]來創建。寫一次int就可以了,而java中要聲明兩次int類型像這樣:int[] arr = new int[3];

C 語言數組只需寫一次int,而 Java 需兩次int相關聲明,核心原因是兩種語言的數組本質定義、類型系統設計和內存管理邏輯完全不同,具體可拆解為兩點核心差異:一、C 語言:數組是 “內存塊的類型綁定”,一次聲明…

深度學習——詳細教學:神經元、神經網絡、感知機、激活函數、損失函數、優化算法(梯度下降)

神經網絡實戰: 深度學習——神經網絡簡單實踐(在乳腺癌數據集上的小型二分類示例)-CSDN博客https://blog.csdn.net/2302_78022640/article/details/150779819?spm1001.2014.3001.5502 深度學習——神經網絡(PyTorch 實現 MNIST…

Ubuntu 軟件安裝的五種方法

1、App Store 安裝 Ubuntu 里面有 一個App叫 “Ubuntu軟件” 2、Sudo apt-get install 安裝法 注意 使用apt工具安裝軟件,需要sudo,也就是root權限 例子 apt -get install git 會提示查看是否以root用戶運行,install-安裝sudo a…

Day15 (前端:JavaScript基礎階段)

接續上文:Day14——JavaScript 核心知識全解析:變量、類型與操作符深度探秘-CSDN博客 點關注不迷路喲。你的點贊、收藏,一鍵三連,是我持續更新的動力喲!!! 主頁:一位搞嵌入式的 genius-CSDN博…

在線旅游及旅行管理系統項目SQL注入

1.前言 之前在網上隨便逛逛的時候,發現一個有各種各樣的PHP項目的管理系統,隨便點進一個查看,發現還把mysql版本都寫出來了,而且還是PHP語言。 https://itsourcecode.com/free-projects/php-project/online-tours-and-travels-m…

Java網絡編程(UDP, TCP, HTTP)

1. OSI 七層網絡模型層級名稱核心功能協議示例數據單元7應用層提供用戶接口和網絡服務HTTP, FTP, SMTP, DNS報文6表示層數據格式轉換、加密/解密、壓縮/解壓SSL, JPEG, MPEG數據流5會話層建立、管理和終止會話連接NetBIOS, RPC會話數據4傳輸層端到端可靠傳輸、流量控制、差錯校…

【P2P】P2P主要技術及RELAY服務1:python實現

P2P 技術 P2P(點對點)網絡的核心是去中心化的網絡拓撲和通信協議。DP的應用相對較少,但可能出現在: 路由優化:在一些復雜的P2P網絡中,一個節點需要向另一個節點發送消息。為了找到一條延遲最低或跳數最少的路徑,可能會用到類似最短路徑的算法,而這類算法(如Bellman-F…

docker 安裝 redis 并設置 volumes 并修改 修改密碼(一)

在 Docker 中安裝 Redis 并設置volumes持久化數據,同時修改 Redis 密碼的完整步驟如下: 安裝 Docker 如果還沒有安裝 Docker,可以參考以下步驟安裝: 在 Alibaba Cloud Linux 上安裝 Docker # 更新系統 sudo yum update -y# 安裝 Docker 依賴 sudo yum install -y yum-util…

如何找出所有連接到本機指定端口的客戶端 IP

在日常運維或排查網絡問題時,我們常常需要知道:有哪些客戶端正在連接我的服務?連接數是否異常?是否存在惡意掃描或 DDoS 行為?本文將教你使用一條簡潔高效的 Linux 命令組合,統計連接到本機某個端口&#x…

java IDE安裝idea社區版步驟

IntelliJ IDEA 社區版(Community Edition)是一款功能強大且完全免費的集成開發環境,非常適合 Java 和 Kotlin 初學者或進行基礎開發2。我會為你提供詳細的安裝步驟。 🛠 IntelliJ IDEA 社區版安裝指南 📋 系統要求與…

Agent智能體

什么是 Agent? Agent 是一個智能體,可以接收用戶請求,利用大模型(LLM)的推理能力,自動決定: 自己回答還是調用外部工具(數據庫、API、腳本等) 最終把結果返回給用戶。 能…

【VSCode】使用VSCode打開md文件以及轉化為PDF

【VSCode】使用VSCode打開md文件以及轉化為PDF在 Visual Studio Code (VS Code) 中渲染 Markdown 并保存為 PDF,可以通過以下步驟實現。 首先安裝好 VSCode,可以參考下述鏈接 https://blog.csdn.net/weixin_43848614/article/details/148042035 安裝m…

蘋果ImageIO零日漏洞分析:攻擊背景與iOS零點擊漏洞歷史對比

蘋果公司已緊急發布全生態系統安全更新,修復編號為CVE-2025-43300的ImageIO框架高危零日漏洞(zero-day),該漏洞已被用于復雜的定向攻擊。這是蘋果在2025年修復的第七個零日漏洞,凸顯iOS和macOS設備面臨的威脅持續升級。…

面試 TOP101 遞歸/回溯專題題解匯總Java版(BM55 —— BM61)

8月刷題挑戰,多重好禮等你拿 遞歸/回溯 題號題目名稱核心思路時間復雜度空間復雜度代碼亮點牛客原題鏈接BM55沒有重復項數字的全排列使用回溯法生成所有排列O(n!)O(n)使用回溯法生成所有排列,邏輯清晰🔗 直達BM56有重復項數字的全排列使用回…

音頻相關數學知識

時域(Time domain)是描述數學函數或物理信號對時間的關系,如果聲音對應頻率正負波動,對應事件x軸為時間,y軸為振幅頻域信號在頻率方面特性,如射頻范圍正弦型函數可以用來虛擬音頻,正弦&#xff…

SAP-ABAP:SAP HANA 架構解析:主從(Scale-Out)與主備(High Availability)架構深度對比

SAP HANA 架構解析:主從(Scale-Out)與主備(High Availability)架構深度對比 一、架構概述 在SAP HANA數據庫系統中,兩種核心架構模式解決了不同的業務需求:主從架構(Scale-Out&#…

【Hadoop】HDFS 分布式存儲系統

Namenode是整個HDFS文件系統的前端,只有一個,管理數據塊映射信息,配置副本策略,處理客戶端的讀寫請求。Secondary namenode是namenode的熱備,當active namenode出現故障時,快速切換為新的active namenode。…

[特殊字符] 如何在自己的倉庫開發,同時保持同步原作者更新(超詳細教程)

在開源協作開發中,很多時候我們會遇到這樣一種情況: 👉 我們想基于一個開源項目繼續開發,代碼要推送到自己的倉庫里; 👉 但原作者可能還會更新,我們也希望能隨時把最新的改動同步過來。 本文以 …