計算機網絡——DNS

一、什么是DNS?

DNS(Domain Name System,域名系統)?是互聯網的核心服務,負責將人類可讀的域名(如?www.baidu.com)轉換為機器可識別的?IP地址(如?14.119.104.254)。它像一本全球分布式“電話簿”,讓用戶無需記憶復雜數字即可訪問網站。

關鍵特性:

  • 分層設計:域名結構分層次管理(如?.com?→?baidu?→?www)。

  • 分布式存儲:全球數萬臺DNS服務器協同工作,無單點故障。

  • 高效緩存:減少重復查詢,提升解析速度。


二、為什么要有DNS?

沒有DNS的世界會怎樣?

  1. 訪問網站需輸入IP地址
    用戶需記憶?14.119.104.254?而非?www.baidu.com

  2. IP變更導致服務中斷
    若服務器IP更換,所有用戶必須手動更新。

  3. 無法支持復雜服務
    單IP無法托管多個網站(如虛擬主機)。

DNS的四大價值

痛點DNS解決方案
記憶難度高通過域名提供易記的別名
IP動態變化域名與IP動態綁定,自動更新
服務擴展性差支持負載均衡、CDN調度等高級功能
網絡流量集中分布式架構緩解單點壓力

三、域名的構成

1. 域名結構(從右到左)

以?www.baidu.com?為例:

  • 根域(Root Domain):隱式的?.(通常省略,如?com.)。

  • 頂級域(TLD).com(商業機構)、.org(非盈利組織)、.cn(國家代碼)。

  • 二級域(SLD)baidu(注冊的網站名稱)。

  • 子域(Subdomain)www(常見的子域,表示Web服務)。

2. 域名樹狀圖

根域(.)
└── 頂級域(com)└── 二級域(baidu)├── 子域(www)└── 子域(mail)

四、DNS服務器的分類

類型作用示例
根DNS服務器提供頂級域服務器的IP地址全球13組根服務器(a.root-servers.net)
頂級域DNS服務器管理特定頂級域(如?.com)的權威服務器gtld-servers.net
權威DNS服務器存儲具體域名的IP映射記錄ns1.baidu.com(百度官方DNS)
遞歸DNS服務器代表用戶完成完整查詢過程的緩存服務器8.8.8.8(Google Public DNS)

五、DNS客戶端

1. 客戶端的作用

  • 發起查詢:向遞歸DNS服務器發送域名解析請求。

  • 緩存管理:臨時存儲解析結果(通過TTL控制緩存時間)。

2. 客戶端配置

Windows
# 查看當前DNS服務器
ipconfig /all
Linux
# 修改DNS配置(/etc/resolv.conf)
nameserver 114.114.114.114

六、DNS中繼(Forwarder)

1. 什么是DNS中繼?

企業或ISP部署的本地DNS服務器,將外部查詢請求轉發至上游服務器,實現:

  • 緩存加速:減少外網查詢延遲。

  • 內容過濾:屏蔽惡意域名。

  • 流量管控:限制員工訪問特定網站。

2. 中繼 vs. 遞歸服務器

對比項DNS中繼遞歸DNS服務器
查詢方式轉發請求至上游服務器自行完成全鏈路查詢
典型場景企業內網、學校機房公共DNS服務(如Cloudflare)
緩存策略依賴上游響應自主緩存所有層級結果

七、域名解析過程

1. 遞歸查詢(客戶端視角)

mermaid

sequenceDiagramparticipant 用戶participant 遞歸DNSparticipant 根DNSparticipant 頂級域DNSparticipant 權威DNS用戶->>遞歸DNS: 查詢 www.baidu.com遞歸DNS->>根DNS: 詢問 .com 的頂級域服務器根DNS-->>遞歸DNS: 返回 .com 服務器IP遞歸DNS->>頂級域DNS: 詢問 baidu.com 的權威服務器頂級域DNS-->>遞歸DNS: 返回 baidu.com 的權威服務器IP遞歸DNS->>權威DNS: 查詢 www.baidu.com 的IP權威DNS-->>遞歸DNS: 返回 14.119.104.254遞歸DNS-->>用戶: 返回最終IP

2. 迭代查詢(服務器視角)

  1. 本地DNS詢問根服務器 → 獲取?.com?服務器地址。

  2. 詢問?.com?服務器 → 獲取?baidu.com?權威服務器地址。

  3. 詢問?baidu.com?服務器 → 獲取?www?子域的IP。

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

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

相關文章

SQLark 實戰 | 如何從Excel、csv、txt等外部文件進行數據導入

數據導入導出是應用開發者在平時開發中最常用的操作之一,SQLark 里提供了方便的圖形化界面來完成導入導出。本文先和大家分享如何從 Excel、csv、txt 等外部文件導入數據到數據庫表中。 👉 前往 SQLark 官網:www.sqlark.com 下載全功能免費版…

docker無法正常拉取鏡像問題的解決

目錄 1.前言 2.解決方案 1.前言 安裝docker后拉取鏡像,遇見了如下問題: Error response from daemon: Get "https://registry-1.docker.io/v2/": net/http: request canceled while waiting for connection (Client.Timeout exceeded whil…

k8s系統學習路徑

學習 Kubernetes(K8s)需要循序漸進,結合理論知識和實踐操作。以下是學習 Kubernetes 的推薦步驟: 1. 先決條件 ? 掌握容器基礎:先學習 Docker,理解容器化概念(鏡像、容器、倉庫)、…

@RequestParam、@RequestBody、@PathVariable

1. RequestParam RequestParam:get請求時如果用不到它的3個屬性,可以省略;其他請求如果是通過param傳送數據,必須使用該注釋 要點: 可用于任何類型的請求(get請求數據在請求行中, post請求數據…

麒麟系統利用pycharm生成deb文件

在麒麟系統(Kylin OS)上使用 PyCharm 進行 Python 開發并生成 .deb 可安裝軟件包,可以按照以下步驟進行操作: 1. 準備工作 安裝 PyCharm:確保已經在麒麟系統上安裝了 PyCharm,可以使用官方提供的安裝包進…

微信小程序接入DeepSeek模型(火山方舟),并在視圖中流式輸出

引言: DeepSeek,作為一款先進的自然語言處理模型,以其強大的文本理解和生成能力著稱。它能夠處理復雜的文本信息,進行深度推理,并快速給出準確的回應。DeepSeek模型支持流式處理,這意味著它可以邊計算邊輸…

釘釘(excel)能讓表格中不是‘北京’的字符串自動加亮顯示(方便查看)以及隔行填充嚴顏色是斑馬色(方便查看)嘛

在釘釘在線表格中,雖然功能相對Excel有所簡化,但仍然可以通過條件格式實現對特定內容的高亮顯示。以下是具體步驟: 一、在釘釘在線表格中設置條件格式 1. 打開釘釘在線表格 登錄釘釘,進入“釘釘在線表格”應用。 打開你需要操作…

Windows根據文件名批量在文件夾里查找文件并復制出來,用WPF實現的詳細步驟

項目前言 在日常工作和生活中,我們常常會遇到需要從大量文件中根據文件名批量查找特定文件并復制到指定位置的情況。手動一個個查找和復制文件不僅效率低下,還容易出錯。使用 Windows Presentation Foundation (WPF) 可以創建一個用戶友好的圖形界面應用…

PHP語法基礎

PHP語法基礎 一,變量 在PHP中,變量是存儲數據的容器,其靈活性和動態類型系統是PHP的核心特性之一。以下是PHP變量的詳細解析,涵蓋聲明、作用域、類型轉換及最佳實踐: 1. 變量基礎 聲明與命名規則 無需顯式聲明類型&…

Java 并發編程——BIO NIO AIO 概念

參考 Java 并發編程——BIO NIO AIO 概念 阻塞與非阻塞、同步與異步概念 系統調用、緩存、物理設備阻塞與非阻塞同步與異步 四種主要的 IO 模型 同步阻塞 IO同步非阻塞 IOIO 多路復用異步 IO select,poll,epoll 系統調用命令

探索Maas平臺與阿里 QWQ 技術:AI調參的魔法世界

摘要:本文介紹了藍耘 Maas 平臺在人工智能領域的表現及其核心優勢,包括強大的模型支持、高效的資源調度和友好的操作界面。文章還探討了藍耘 Maas 平臺與阿里 QWQ 技術的融合亮點及應用拓展實例,并提供了調參實戰指南,最后對藍耘 …

Python 實現大文件的高并發下載

項目背景 基于一個 scrapy-redis 搭建的分布式系統,所有item都通過重寫 pipeline 存儲到 redis 的 list 中。這里我通過代碼演示如何基于線程池 協程實現對 item 的中文件下載。 Item 結構 目的是為了下載 item 中 attachments 保存的附件內容。 {"crawl_tim…

MySQL與Canal、RabbitMQ集成指南

MySQL 部分 1. 查看是否開啟 binlog MySQL 8 默認開啟 binlog。可以通過以下命令查看是否開啟: SHOW VARIABLES LIKE log_bin;如果返回結果為 ON,則表示 binlog 已開啟。 Variable_nameValuelog_binON 2. 若未開啟 binlog,則需手動配置 …

X86 RouterOS 7.18 設置筆記十:上海電信IPTV使用msd_lite實現組播轉單撥

X86 j4125 4網口小主機折騰筆記五:PVE安裝ROS RouterOS X86 RouterOS 7.18 設置筆記一:基礎設置 X86 RouterOS 7.18 設置筆記二:網絡基礎設置(IPV4) X86 RouterOS 7.18 設置筆記三:防火墻設置(IPV4) X86 RouterOS 7.18 設置筆記四…

Select 選擇器選項位置偏移的解決方案

Select 選擇器選項位置偏移的解決方案 在使用 Select 組件時,可能會遇到下拉選項位置偏移的問題。這通常由 CSS 樣式、組件 渲染方式 或 父級元素的影響 造成。以下是詳細的排查步驟和解決方案。 一、常見原因 position: relative; 或 overflow: hidden; 影響下拉菜…

LeetCode 解題思路 17(Hot 100)

解題思路: 找到鏈表中點: 使用快慢指針法,快指針每次移動兩步,慢指針每次移動一步。當快指針到達末尾時,慢指針指向中點。遞歸分割與排序: 將鏈表從中點處分割為左右兩個子鏈表,分別對這兩個子…

數學建模歷程之初見

第一次接觸數學建模是在上大學前,當時只是聽過。起源于我在大學的老鄉群里聊天,由于當時年輕有點傻,說的話太多了,什么都問哈哈哈哈哈。 后來有個學長從老鄉群里加我,問我怎么話那么多,你們懂當時對我幼小…

Python 科學計算與機器學習入門:NumPy + Scikit-Learn 實戰指南

Langchain系列文章目錄 01-玩轉LangChain:從模型調用到Prompt模板與輸出解析的完整指南 02-玩轉 LangChain Memory 模塊:四種記憶類型詳解及應用場景全覆蓋 03-全面掌握 LangChain:從核心鏈條構建到動態任務分配的實戰指南 04-玩轉 LangChai…

「自動駕駛背后的數學:從傳感器數據到控制指令的函數嵌套」—— 揭秘人工智能中的線性函數、ReLU 與復合函數

引言 自動駕駛技術是人工智能領域的一個重要應用,其核心在于如何將傳感器數據轉化為車輛控制指令。這一過程涉及大量的數學知識,包括線性函數、激活函數(如 ReLU)以及復合函數的嵌套使用。本文將深入探討自動駕駛中的數學原理&am…

詳解SQL數據定義功能

數據定義 1. 數據庫模式(Schema)的定義與刪除定義模式刪除模式 2. 基本表的定義、修改與刪除定義表約束1. NOT NULL 約束2. DEFAULT 約束3. UNIQUE 約束4. PRIMARY KEY 約束多列主鍵示例: 5. FOREIGN KEY 約束6. CHECK 約束7. AUTO_INCREMENT…