【HarmonyOs學習日志(14)】計算機網絡之域名系統DNS

域名系統DNS

域名系統DNS——從域名解析出IP地址

文章目錄

    • 域名系統DNS
      • 概述
        • 域名到IP地址的解析
      • 互聯網的域名結構
        • 命名標準
      • 域名服務器
        • 域名的解析過程

概述

域名系統DNS(Domain Name System)是互聯網使用的命名系統,用來把便于人們使用的機器名字轉換為IP地址。

互聯網的域名系統DNS被設計為一個聯機分布式數據庫系統,并采用客戶服務器方式。DNS使大多數名字都在本地進行解析,僅少量解析需要在互聯網上通信,因此DNS系統的效率很高。由于DNS是分布式系統,即使單個計算機出了故障了,也不會妨礙整個DNS系統的正常運行。

域名到IP地址的解析

域名到IP地址的解析是由分布在互連網上的許多域名服務器程序(可簡稱為域名服務器)共同完成的。域名服務器程序在專設的節點上運行,而人們也常把運行域名服務器程序的機器稱為域名服務器

解析要點如下:

  • 當某一個應用進程需要把主機名解析為IP地址時,該應用進程就調用解析程序,并成為DNS的一個客戶。
  • 該進程把待解析的域名放在DNS請求報文中,以UDP用戶數據報方式發給本地域名服務器(使用UDP是為了減少開銷)。
  • 本地域名服務器在查找域名后,把對應的IP地址放在回答報文中返回。應用進程獲得目的主機的IP地址后即可進行通信

。若本地域名服務器不能回答該請求,則此域名服務器就暫時成為DNS中的另一個客戶,并向其他域名服務器發出查詢請求。這種過程直至找到能夠回答該請求的域名服務器為止。

互聯網的域名結構

互聯網采用層次樹狀結構的命名方法,采用這種命名方法,任何一個連接在互聯網上的主機或路由器都有一個唯一的層次結構的名字,即域名(domain name)。這里,是名字空間中一個可被管理的劃分。

域還可以劃分為子域,而子域還可繼續劃分為子域的子域,這樣就形成了頂級域、二級域、三級域,等等。

從語法上講,每一個域名都由標號(label)序列組成,而各標號之間用點隔開(請注意,這里所說的“點”是英語中的句號“.“)

在這里插入圖片描述

其中com是頂級域名,cctv是二級域名,標號mail是三級域名。

命名標準
  • 域名中的標號都由英文字母和數字組成,每一個標號不超過63個字符(為了記憶方便,最好不要超過12個字符)
  • 不區分大小寫字母
  • 標號中除連字符(-)外不能使用其他的標點符號。
  • 級別最低的域名寫在最左邊,而級別最高的頂級域名則寫在最右邊。
  • 有多個標號組成的完整域名總共不超過255個字符。

DNS既不規定一個域名需要包含多少個下級域名,也不規定每一級的域名代表什么意思。各級域名由其上一級的域名管理機構管理,而最高的頂級域名則由ICANN進行管理。用這種方法可使每一個域名在整個互聯網范圍是唯一的,并且也容易設計出一種查找域名的機制。

需要注意的是,域名只是個邏輯概念,并不代表計算機所在的物理地點。

在頂級域名中則分為:國家頂級域名,通用頂級域名,反向域名

國家頂級域名中國:cn, 美國:us,英國uk…
通用頂級域名com公司企業,edu教育機構,gov政府部門,int國際組織,mil軍事部門 ,net網絡,org非盈利組織…
反向域名arpa,用于PTR查詢(IP地址轉換為域名)

用域名樹來表示互連網的域名系統是最清楚的,如圖

在這里插入圖片描述

在最上面的是,但沒有對應的名字。根下面一級的節點就是最高一級的頂級域名。頂級域名往下可劃分子域(依次向下劃分)。域名樹的樹葉就是單臺計算機的名字,它不能再繼續往下劃分子域了。

域名服務器

具體實現域名系統則是使用分布在各地的域名服務器。

一個服務器所負責管轄的(或有權限的)范圍叫做區(zone)。各單位根據具體情況來劃分自己管轄范圍的區。但在一個區中的所有節點必須是能夠連通的。每一個區設置相應的權限域名服務器,用來保存該區中的所有主機的域名到IP地址的映射。

區是DNS服務器實際管轄的范圍。區可能等于或小于域,但一定不能大于域。(區是域的子集)

在這里插入圖片描述

在這里插入圖片描述

如圖中每一個域名服務器都能夠進行部分域名到IP地址的解析。當某個DNS服務器不能進行域名到IP地址的轉換時,他就設法找互聯網上別的域名服務器進行解析。同時不難看出,互聯網上的DNS域名服務器也是按照層次安排的。每一個域名服務器都只對域名體系中的一部分進行管轄。根據域名服務器所起的作用,可以把域名服務器劃分為以下四種不同的類型:

  • 根域名服務器:根域名服務器是最高層次的域名服務器,也是最重要的域名服務器。
  • 頂級域名服務器:這些域名服務器負責管理在該頂級域名服務器注冊的所有二級域名。
  • 權限域名服務器:負責一個區的域名服務器。
  • 本地域名服務器:本地域名服務器并不屬于如上圖所示的域名服務器層次結構,但它對域名系統非常重要。

注:一個域名服務器所負責的范圍,或者說有管理權限的范圍,就稱為 區域 (Zone)
關于分層, 需要注意的是:

  • 每個層的域名上都有自己的域名服務器,最頂層的是根域名服務器
  • 每一級域名服務器都知道下級域名服務器的IP地址
  • 為了容災, 每一級至少設置兩個或以上的域名服務器
域名的解析過程
  1. 客戶端發起請求:當用戶在瀏覽器中輸入域名時,客戶端(如電腦、手機等)會向本地 DNS 服務器發送查詢請求,請求解析該域名對應的 IP 地址。
  2. 本地 DNS 緩存查詢:本地 DNS 服務器首先會檢查自身的緩存,看是否已經有該域名的緩存記錄。如果有,直接返回對應的 IP 地址,解析過程結束。
  3. 本地 DNS 服務器查詢:如果本地 DNS 服務器緩存中沒有該域名的記錄,它會向根 DNS 服務器發送查詢請求。
  4. 根 DNS 服務器響應:根 DNS 服務器收到請求后,會告知本地 DNS 服務器負責該域名頂級域名(如.com、.org 等)的權威 DNS 服務器的地址。
  5. 查詢頂級域名服務器:本地 DNS 服務器根據根 DNS 服務器提供的地址,向對應的頂級域名服務器發送查詢請求。
  6. 頂級域名服務器響應:頂級域名服務器會告知本地 DNS 服務器負責該域名二級域名(如 example.com 中的 example)的權威 DNS 服務器的地址。
  7. 查詢權威 DNS 服務器:本地 DNS 服務器繼續向二級域名的權威 DNS 服務器發送查詢請求。
  8. 權威 DNS 服務器響應:權威 DNS 服務器查詢到該域名對應的 IP 地址后,將其返回給本地 DNS 服務器。
  9. 本地 DNS 服務器緩存并響應:本地 DNS 服務器將查詢到的 IP 地址緩存起來,并返回給客戶端。
  10. 客戶端與目標服務器通信:客戶端獲得 IP 地址后,就可以使用該 IP 地址與目標服務器進行通信。

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

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

相關文章

【Python】pandas庫---數據分析

大學畢業那年,你成了社會底層群眾里,受教育程度最高的一批人。 前言 這是我自己學習Python的第四篇博客總結。后期我會繼續把Python學習筆記開源至博客上。 上一期筆記有關Python的NumPy數據分析,沒看過的同學可以去看看:【Pyt…

【人工智能學習之HDGCN18關鍵點修改】

【人工智能學習之HDGCN18關鍵點修改】 訓練部分修改部分 訓練部分 請參考文章:【人工智能學習之HDGCN訓練自己的數據集】 修改部分 參考源碼中25關鍵點的區域劃分,我們將18關鍵點劃分為: 頭部: 鼻子左眼和左耳右眼和右耳 上肢…

ARCGIS國土超級工具集1.2更新說明

ARCGIS國土超級工具集V1.2版本,功能已增加至47 個。在V1.1的基礎上修復了若干使用時發現的BUG,新增了"矢量分割工具"菜單,同時增加及更新了了若干功能,新工具使用說明如下: 一、勘測定界工具欄更新界址點成果…

華為OD --- 流浪地球

華為OD --- 流浪地球 題目獨立實現基本思路代碼實現 其他答案實現思路代碼實現 題目 獨立實現 基本思路 1、首先把題目給出的啟動機器初始化成數組, 2、用for循環模擬每隔1s更新這個初始化數組的前后兩個機器. (源碼中的updateTimeCount函數) 3、for循環每次循環后會檢查當前…

DataOps驅動數據集成創新:Apache DolphinScheduler SeaTunnel on Amazon Web Services

引言 在數字化轉型的浪潮中,數據已成為企業最寶貴的資產之一。DataOps作為一種文化、流程和實踐的集合,旨在提高數據管道的質量和效率,從而加速數據從源頭到消費的過程。白鯨開源科技,作為DataOps領域的領先開源原生公司&#xf…

【硬件IIC】stm32單片機利用硬件IIC驅動OLED屏幕

之前操作OLED屏幕都是用GPIO模擬IIC去驅動,最近打算用硬件IIC去驅動,于是寫下這個demo,在這個過程中遇到一點小坑,記錄一下,本文章非小白教程,所以只突出踩到的坑點,文章中涉及到的OLED也是網上資料寫爛的&…

python如何自動加空格

首先,需要進行打開的一個pycharm的軟件,可進行雙擊的打開該軟件。 可以看到的是在當前的打開的文件中,格式相對較亂一下。格式不對會格式錯誤。 然后點擊菜單欄中的“code”。 在彈出的下拉菜單中選擇“reformat code”選項。 可以看到的是在…

【開源免費】基于SpringBoot+Vue.JS網上訂餐系統(JAVA畢業設計)

本文項目編號 T 018 ,文末自助獲取源碼 \color{red}{T018,文末自助獲取源碼} T018,文末自助獲取源碼 目錄 一、系統介紹二、演示錄屏三、啟動教程四、功能截圖五、文案資料5.1 選題背景5.2 國內外研究現狀5.3 可行性分析 六、核心代碼6.1 新…

串口通信和SPI通信詳解

0、背景 在現代嵌入式系統中,通信是不同模塊之間交換數據的核心。串口通信和 SPI(串行外設接口)是兩種常見的通信方式,它們各自有獨特的優勢和適用場景。 1、串口通信 1.1、串口通信概念 串口通信是一種常見的異步串行通信協議…

javase-17、API.數學相關

一、Math類 Math類提供了大量的靜態方法來便于我們實現數學計算,如求絕對值、取最大或最小值等。 https://doc.qzxdp.cn/jdk/17/zh/api/java.base/java/lang/Math.html 所在模塊:java.base所在包: java.lang static double abs(double a)…

答題考試系統v1.6.1高級版源碼分享+uniapp+搭建測試環境

一.系統介紹 一款基于FastAdminThinkPHPUniapp開發的小程序答題考試系統,支持多種試題類型、多種試題難度、練題、考試、補考模式,提供全部前后臺無加密源代碼,支持私有化部署 二.測試環境 系統環境:CentOS、 運行環境&#x…

淺談倉頡語言的優劣

倉頡語言,作為華為自研的新一代編程語言,以其高效、安全、現代化的特點,引起了廣泛的關注。 倉頡語言的優勢 高效并發 倉頡語言的一大亮點是其輕松并發的能力。它實現了輕量化用戶態線程和并發對象庫,使得高效并發變得輕松。倉頡…

Sass系統數據隔離的三種方式

1.完全獨立的數據庫 為每一個租戶單獨部署一個數據庫 優點:達到了真正的按租戶進行隔離,不同租戶之間相互沒有影響,可以針對一些特殊租戶例如大客戶做一些定制化的開發,計費相對簡單,按照資源使用進行計費。 缺點&…

FFmpeg 主要結構體剖析

FFmpeg 探索之旅 FFmpeg 主要結構體剖析 FFmpeg 探索之旅前言1、AVFormatContext2、AVCodecContext3、AVCodec4、AVStream5、AVPacket6、AVFrame7、AVCodecParameters7、SwsContext8、AVIOContext9、AVRational 總結 前言 嘿,各位小伙伴!在如今這個多媒…

經典電荷泵/Charge pump——1998.JSSC

電路結構 工作原理 M3 and M4 are the series switches, and M5, M6 switch to the highest voltage. If M5 and M6 are missing, having a large capacitor is of absolute necessity, because must always stay between 2 Vin and 2Vin - Uj to avoid switching on the vert…

Swin transformer 論文閱讀記錄 代碼分析

該篇文章,是我解析 Swin transformer 論文原理(結合pytorch版本代碼)所記,圖片來源于源paper或其他相應博客。 代碼也非原始代碼,而是從代碼里摘出來的片段,配上簡單數據,以便理解。 當然&…

GPT-Omni 與 Mini-Omni2:創新與性能的結合

近年來,隨著人工智能技術的飛速發展,各種模型和平臺應運而生,以滿足從個人用戶到企業級應用的多樣化需求。在這一領域,GPT-Omni 和 Mini-Omni2 是兩款備受矚目的技術產品,它們憑借獨特的設計和強大的功能,在…

龍迅#LT7911E適用于EDP/DP/TPYE-C轉MIPIDSI應用,支持圖像處理功能,內置I2C,主應用副屏顯示,投屏領域!

1. 描述 LT7911E 是一款高性能 eDP 轉 MIPI D-PHY 轉換器,旨在將 eDP 源連接到 MIPI 顯示面板。 LT7911E 集成了一個符合 eDP1.4 標準的接收器,支持 1.62Gbps 至 5.67Gbps 的輸入數據,以 270Mbps 的遞增步長,以及一個 2 端口 D…

C語言——實現求出最大值

問題描述&#xff1a;利用C語言自定義函數求出一維數組里邊最大的數字 //利用函數找最大數#include<stdio.h>int search(int s[9]) //查找函數 {int i , max s[0] , max_xia 0;for(i0;i<9;i){if(s[i] > max){max_xia i;max s[max_xia];}}return max; } in…

解鎖 draw.io 流程圖制作工具Docker私有化部署(2/2)

一、draw.io 流程圖制作工具簡介 &#xff08;一&#xff09;基礎介紹 draw.io 是一款備受青睞的開源流程圖軟件&#xff0c;它有著諸多優點。首先&#xff0c;其界面十分整潔有序&#xff0c;完全沒有廣告的干擾&#xff0c;并且所有功能都是免費向用戶開放的&#xff0c;這一…