DNS及DNS域名解析流程

文章目錄

  • 什么是DNS域名解析
  • DNS服務器
  • DNS域名解析流程

什么是DNS域名解析

我們首先要了解域名和IP地址的區別。IP地址是互聯網上計算機唯一的邏輯地址,通過IP地址實現不同計算機之間的相互通信,每臺聯網計算機都需要通過IP地址來互相聯系和分別。
但由于IP地址是由一串容易混淆的數字串構成,人們很難記憶所有計算機的IP地址,這樣對于我們日常工作生活訪問不同網站是很困難的。基于這種背景,人們在IP地址的基礎上又發展出了一種更易識別的符號化標識,這種標識由人們自行選擇的字母和數字構成,相比IP地址更易被識別和記憶,逐漸代替IP地址成為互聯網用戶進行訪問互聯的主要入口。這種符號化標識就是域名
域名雖然更易被用戶所接受和使用,但計算機只能識別純數字構成的IP地址,不能直接讀取域名。因此要想達到訪問效果,就需要將域名翻譯成IP地址。而DNS域名解析承擔的就是這種翻譯效果。
DNS(Domain Name System)域名管理系統,是當用戶使用瀏覽器訪問網址之后,使用的第一個重要協議。DNS 要解決的是域名和 IP 地址的映射問題

DNS服務器

DNS 服務器自底向上可以依次分為以下幾個層級(所有 DNS 服務器都屬于以下四個類別之一):

  • 根 DNS 服務器。根 DNS 服務器提供 TLD 服務器的 IP 地址。目前世界上只有 13 組根服務器,我國境內目前仍沒有根服務器。
  • 頂級域 DNS 服務器(TLD 服務器)。頂級域是指域名的后綴,如com、org、net和edu等。國家也有自己的頂級域,如uk、fr和ca。TLD 服務器提供了權威 DNS 服務器的 IP 地址。
  • 權威 DNS 服務器。在因特網上具有公共可訪問主機的每個組織機構必須提供公共可訪問的 DNS 記錄,這些記錄將這些主機的名字映射為 IP 地址。
  • 本地 DNS 服務器。每個 ISP(互聯網服務提供商)都有一個自己的本地 DNS 服務器。當主機發出 DNS 請求時,該請求被發往本地 DNS 服務器,它起著代理的作用,并將該請求轉發到 DNS 層次結構中。嚴格說來,不屬于 DNS 層級結構。
    世界上并不是只有 13 臺根服務器,這是很多人普遍的誤解,網上很多文章也是這么寫的。實際上,現在根服務器數量遠遠超過這個數量。最初確實是為 DNS 根服務器分配了 13 個 IP 地址,每個 IP 地址對應一個不同的根 DNS 服務器。然而,由于互聯網的快速發展和增長,這個原始的架構變得不太適應當前的需求。為了提高 DNS 的可靠性、安全性和性能,目前這 13 個 IP 地址中的每一個都有多個服務器,截止到 2023 年底,所有根服務器之和達到了 600 多臺,未來還會繼續增加

DNS域名解析流程

DNS 的查詢解析過程分為兩種模式:

  • 迭代
  • 遞歸

下圖是實踐中常采用的方式,從請求主機到本地 DNS 服務器的查詢是遞歸的,其余的查詢是迭代的。
在這里插入圖片描述
現在,主機cis.poly.edu想知道gaia.cs.umass.edu的 IP 地址。假設主機cis.poly.edu的本地 DNS 服務器為dns.poly.edu,并且gaia.cs.umass.edu的權威 DNS 服務器為dns.cs.umass.edu。

  1. 首先,主機cis.poly.edu向本地 DNS 服務器dns.poly.edu發送一個 DNS
    請求,該查詢報文包含被轉換的域名gaia.cs.umass.edu。

  2. 本地 DNS 服務器dns.poly.edu檢查本機緩存,發現并無記錄,也不知道gaia.cs.umass.edu的 IP地址該在何處,不得不向根服務器發送請求。

  3. 根服務器注意到請求報文中含有edu頂級域,因此告訴本地 DNS,你可以向edu的 TLD DNS 發送請求,因為目標域名的 IP
    地址很可能在那里。

  4. 本地 DNS 獲取到了edu的 TLD DNS 服務器地址,向其發送請求,詢問gaia.cs.umass.edu的 IP 地址。

  5. edu的 TLD DNS 服務器仍不清楚請求域名的 IP 地址,但是它注意到該域名有umass.edu前綴,因此返回告知本地
    DNS,umass.edu的權威服務器可能記錄了目標域名的 IP 地址。

  6. 這一次,本地 DNS 將請求發送給權威 DNS 服務器dns.cs.umass.edu。

  7. 終于,由于gaia.cs.umass.edu向權威 DNS 服務器備案過,在這里有它的 IP 地址記錄,權威 DNS 成功地將 IP
    地址返回給本地 DNS。

  8. 最后,本地 DNS 獲取到了目標域名的 IP 地址,將其返回給請求主機。

除了迭代式查詢,還有一種遞歸式查詢如下圖,具體過程和上述類似,只是順序有所不同。

除了迭代式查詢,還有一種遞歸式查詢如下圖,具體過程和上述類似,只是順序有所不同
在這里插入圖片描述

另外,DNS 的緩存位于本地 DNS 服務器。由于全世界的根服務器甚少,只有 600 多臺,分為 13 組,且頂級域的數量也在一個可數的范圍內,因此本地 DNS 通常已經緩存了很多 TLD DNS 服務器,所以在實際查找過程中,無需訪問根服務器。根服務器通常是被跳過的,不請求的。這樣可以提高 DNS 查詢的效率和速度,減少對根服務器和 TLD 服務器的負擔。

參考鏈接:https://javaguide.cn/cs-basics/network/dns.html

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

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

相關文章

用 STM32 的 SYSTICK 定時器與端口復用重映射玩轉嵌入式開發

目錄 1. SYSTICK 定時器的基本功:時間管理大師 1.1 SYSTICK 的核心寄存器與工作原理 1.2 配置 SYSTICK 的正確姿勢 1.3 實戰:用 SYSTICK 實現精準延時 1.4 小技巧:SYSTICK 的低功耗優化 2. SYSTICK 中斷:讓你的程序“活”起來 2.1 配置 SYSTICK 中斷 2.2 實戰:用 S…

Sa-Token:輕量級Java權限認證框架使用指南

一、Sa-Token簡介 Sa-Token 是一個專注于權限認證的輕量級 Java 框架,旨在簡化登錄認證、權限控制等功能的實現。其核心功能包括: 登錄認證:通過 Token 機制管理用戶會話,支持單點登錄(SSO)。權限認證&am…

動態 vs 靜態住宅代理,哪種更適合廣告投手?

在廣告投放行業,無論你是跑Facebook、Google Ads,還是做TikTok、原生廣告,代理IP幾乎是繞不開的話題。而選擇動態住宅代理還是靜態住宅代理,對廣告賬戶的穩定性、投放質量甚至生命周期都有直接影響。本篇文章將結合IPFoxy代理&…

命題是一種清晰、確定的表達。通過學習命題,來幫助你更清晰地表達自己的思想。

文章目錄 引言 I 命題的特點 可以判斷真偽 同一性 II 有效溝通的小技巧 多用陳述句,少用感嘆句和疑問句。 在表述意思時,多用名詞,少用代詞;多用具體的名詞,少用抽象的名詞,避免造成不必要的歧義。 正確找托詞 引言 要進行有效的邏輯推理,第一步是把我們的想法,我們要…

IPV6地址與IPV4有什么區別?

作為互聯網協議的迭代版本,IPV6(Internet Protocol Version 6)與IPV4(Internet Protocol Version 4)在設計理念和功能特性上存在顯著差異。本文將簡要解析兩者的核心區別,幫助讀者理解IPV6的優勢與必要性。…

python 什么時候應該用函數式編程,什么時候應該用面向對象?

在 Python 這個多范式語言中,選擇使用函數式編程(Functional Programming, FP)還是面向對象編程(OOP)并非一個非黑即白的選擇,而更像是在一個工具箱中為特定的任務挑選最合適的工具。 我們可以用一個比喻來…

【設計模式】迭代器模式 (游標(Cursor)模式)

迭代器模式(Iterator Pattern)詳解一、迭代器模式簡介 迭代器模式(Iterator Pattern) 是一種 行為型設計模式(對象行為型模式),它提供了一種方法來順序訪問一個聚合對象中的各個元素&#xff0c…

docker安裝 Elasticsearch、Kibana、IK 分詞器

Elasticsearch 1.拉去鏡像 docker pull elasticsearch:8.12.2 docker pull kibana:8.12.22.創建掛載目錄 mkdir /root/elasticsearch3.不掛載啟動 docker run -d \ --restartalways \ --name fusion_elasticsearch \ --network fusion_network \ -p 9200:9200 \ -p …

Java面試寶典:Spring專題二

一、介紹下Spring中的事務 1.Spring事務的本質與價值 Spring事務本質是基于AOP的聲明式事務封裝,通過代理機制在目標方法前后注入事務管理邏輯(開啟、提交/回滾)。其核心價值在于: 業務解耦:將事務控制從業務代碼剝離,通過配置或注解管理(如@Transactional)。 統一抽…

DGMR壓縮技術:讓大規模視覺Transformer模型體積減半而性能不減

Transformer架構展現出卓越的擴展特性,其性能隨模型容量增長而持續提升。大規模模型在獲得優異性能的同時,也帶來了顯著的計算和存儲開銷。深入分析主流Transformer架構發現,多層感知器(MLP)模塊占據了模型參數的主要部…

JavaWeb學習打卡14(JSP內置對象及作用域)

JSP 中9 大內置對象PageContext // 用來存東西Request // 用來存東西ResponseSession // 用來存東西Application (ServletContext) // 用來存東西config (ServletConfig)outpage…

濤思數據參與起草中國工業互聯網研究院《工業數據庫規范》全系列標準

最近,《工業數據庫規范》系列團體標準正式發布。該標準由中國工業互聯網研究院牽頭,中國移動通信聯合會發布,共分為三部分—— 第1部分:云數據庫第2部分:實時數據庫第3部分:時序數據庫 濤思數據作為三項標…

使用exceljs導出luckysheet表格 純前端 支持離線使用

一.技術 exceljs,luckysheet 二.實現 參考網上博文exceljs對導出lucksheet表格的實現,發現存在一些問題并給予修復: 1.字體顏色、字號,加粗等適配的問題. 2.單元格對齊方式不生效; 3.單元格邊框無法繪制; 4.單元格邊框顏色及線型錯亂; 5.單元格列…

從0到1學習c++ 命名空間

也是好久沒寫博客了,主播這半年一直在忙別的領域,在磁力驅動領域干了一年,最好發現自己對這個領域并不是很感興趣,做這個領域多半都是為了發文章,現在閑下來了,主播終于也是過上好日子了,主播又…

大模型提示詞漏洞攻防測試:技術分析與實踐指南

引言 隨著ChatGPT、Claude、Gemini等大型語言模型(LLMs)的廣泛應用,它們已經成為現代AI系統的核心組件,被整合到各種產品和服務中。這些模型通過提示。Prompts)與用戶進行交互,而提示詞作為人類與AI溝通的橋梁,其安全性變得尤為重…

Golang實現 - 實現只有表頭的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打開時,指定列的單元格會顯示下拉選項

該版本完全兼容最新版 excelize 庫 (v2.7),實現了只有表頭的 Excel 模板,并在指定列添加了下拉框功能。生成的 Excel 文件在打開時,指定列的單元格會顯示下拉選擇箭頭。代碼如下:package mainimport ("fmt""log&qu…

全連接隊列

監聽套接字使用socket接口創建一個套接字,然后bind給套接字綁定地址,最后listen將套接字設置為監聽套接字。監聽套接字以前理解是三元組標識,后面看了netstat,覺得應該是五元組,只不過它這個五元組是{協議,…

JavaWeb-JSP

JSP JSP就是模板引擎 Template,因為看到的jsp是模板不變的,如果想讓頁面發生改變,就是自己添加java代碼改變頁面。有Java代碼,Tomcat服務器就會對jsp模板進行解析,解析完之后就是Servlet(java類&#xff09…

大模型中常說的Token到底是什么?和Cookie和Session有什么區別?一文講清

什么是Token(令牌)Acesss Token是訪問資源接口(API)時所需要的資源憑證。簡單token的組成:uid(用戶唯一的身份標識)、time(當前時間的時間戳)、sign(簽名,token的前幾位以哈希算法壓縮成的一定長…

RAGFlow:檢索增強生成技術的高效實現與深度探索

在當今信息爆炸的時代,如何從海量的數據中快速、準確地獲取并利用有價值的信息,成為了眾多領域面臨的關鍵挑戰。檢索增強生成(Retrieval-Augmented Generation, RAG)技術應運而生,它將信息檢索與大型語言模型&#xff…