日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > CPP開發(fā)者
[導讀]上帝視角我們平時在訪問網站時,不使用IP地址,而是網站域名。但是抓包發(fā)現(xiàn):交互報文是以?IP地址進行的。那么IP地址是從哪來的呢?這是因為?DNS?把網站域名自動轉換為IP地址。報文交互抓包DNS出現(xiàn)TCP/IP是基于IP地址進行通信的,但是IP地址不太好記。于是出現(xiàn)了另一種方便...


上帝視角
我們平時在訪問網站時,不使用 IP 地址,而是網站域名。但是抓包發(fā)現(xiàn):交互報文是以?IP 地址進行的。那么 IP 地址是從哪來的呢?這是因為?DNS?把網站域名自動轉換為 IP 地址。

報文交互抓包

DNS 出現(xiàn)

TCP/IP 是基于 IP 地址進行通信的,但是 IP 地址不太好記。于是出現(xiàn)了另一種方便記憶的標識符,那就是主機名。為計算機配置主機名,在進行網絡通信時,直接使用主機名,而不用輸入一大串的 IP 地址。同時,系統(tǒng)通過一個叫?hosts?的文件,實現(xiàn)主機名轉換 IP 地址的功能。hosts 文件包括主機名和 IP 地址的對應關系。當需要通過主機名訪問主機時,它就會查看本地的 hosts 文件,從文件中找到相對應的 IP 地址,然后進行報文發(fā)送。如果在 hosts 文件中沒找到相關信息,則主機訪問失敗。

hosts 文件是主機的本地文件,優(yōu)點是查找響應速度快。它主要用來存儲一些本地網絡的主機名和 IP 地址的對應信息。這樣,主機在以主機名訪問本地網絡主機時,通過 hosts 文件可以迅速獲得相應的 IP 地址。

hosts文件
每臺主機的 hosts 文件都需要單獨手工更新。隨著網絡規(guī)模的不斷擴大、接入計算機的數(shù)量不斷增加,維護難度越來越大,每臺主機同步更新,幾乎是一件不可能完成的任務。

hosts維護難
為了解決 hosts 文件維護困難的問題,出現(xiàn)了?DNS 域名系統(tǒng),一個可以解決主機名和 IP 地址互相轉換的系統(tǒng)。無論網絡規(guī)模變得多么龐大,都能在一個小范圍內通過 DNS 進行管理。

DNS域名系統(tǒng)

DNS 介紹

DNS?,全稱?Domain Name System?。采用?client/server?模式,DNS client?發(fā)出查詢請求,DNS server?響應請求。DNS client?通過查詢?DNS server?獲得主機的 IP 地址,進而完成后續(xù)的 TCP/IP 通信過程。

DNS client/server
當 Windows 系統(tǒng)用戶使用?nslookup hostname/domainname?命令時,DNS 會自動查找注冊了主機名和 IP 地址的數(shù)據庫,并返回對應的 IP 地址。

nslookup命令演示

DNS 域名

先了解什么是域名,才能理解 DNS 。域名是為了識別主機名或機構的一種分層的名稱。因為單獨的一臺域名服務器是不可能知道所有域名信息,所以域名系統(tǒng)是一個分布式數(shù)據庫系統(tǒng),域名(主機名)到 IP 地址的解析可以由若干個域名服務器共同完成。每一個站點維護自己的信息數(shù)據庫,并運行一個服務器程序供互聯(lián)網上的客戶端查詢。DNS 提供了客戶端與服務器的通信協(xié)議,也提供了服務器之間交換信息的協(xié)議。由于是分布式系統(tǒng),即使單個服務器出現(xiàn)故障,也不會導致整個系統(tǒng)失效,消除了單點故障。

DNS 域名組成

DNS 域的本質是一種管理范圍的劃分,最大的域是根域,向下可以劃分為頂級域二級域三級域、四級域等。相對應的域名是根域名、頂級域名、二級域名、三級域名等。不同等級的域名使用點號分隔,級別最低的域名寫在最左邊,而級別最高的域名寫在最右邊。

DNS域
舉個栗子:網站域名?www.tsinghua.edu.cn?中,從右到左開始,cn?是頂級域名,代表中國,edu?是二級域名,代表教育機構,tsinghua?是三級域名,表示清華大學,www?則表示三級域名中的主機,并提供了 web 服務。

清華大學域名
除了?www?主機外,常見的主機還有?arch?、sem?、mail?,域名如下:

清華大學常見域名
每一級的域名都由英文字母數(shù)字組成,域名不區(qū)分大小寫,長度不能超過 63 字節(jié),一個完整的域名不能超過 255 個字節(jié)。根域名用 “?.?”(點)表示。目前我們看到的域名例子都是完全合格域名( FQDN ),FQDN?的完整格式是以點結尾的域名。接入互聯(lián)網的主機、服務器或其它網絡設備都可以擁有一個唯一的 FQDN 。與 FQDN 對應的,系統(tǒng)中的默認域名是非合格域名,會把當前的區(qū)域域名添加到尾部。例如,tsinghua 域內的主機上查找?mail?,本地解析器就會將這個名稱轉換為 FQDN ,即?mail.tsinghua.edu.cn?,然后解析出 IP 地址。

完全合格域名

DNS 域名空間

域名空間結構像是一棵倒過來的樹,也叫做樹形結構。根域名就是樹根( root ),用點號表示,往下是這棵樹的各層枝葉。根域名的下一層叫頂級域名,頂級域名包括三大類:

三大頂級域名
  • 國家頂級域名

    國家頂級域名采用 ISO3166 的規(guī)定。比如:.cn?表示中國,.us?表示美國,.uk表示英國等?,F(xiàn)在使用的國家頂級域名大約在 200個左右。

國家頂級域名
  • 國際頂級域名

    國際頂級域名采用?.int?。國際性的組織可以在?.int?下注冊。

  • 通用頂級域名

    通用頂級域名
    最早的頂級域名共有?6?個。分別為:

    .com?表示公司企業(yè),

    .net?表示網絡服務機構,

    .org?表示非盈利組織,

    .edu?表示教育機構(僅限美國),

    .gov?表示政府部門(僅限美國),

    .mil?表示軍事部門(僅限美國)。

    隨著互聯(lián)網用戶不斷增加,又增加了?7?個通用頂級域名。分別為:

    .aero?用于航空運輸業(yè),

    .biz?用于公司和企業(yè),

    .coop?用于合作團體,

    .info?用于各種情況,

    .museum?用于博物館,

    .name?用于個人,

    .pro?用于自由職業(yè)者。

頂級域名下面是二級域名。國家頂級域名下注冊的二級域名均由國家自行確定。我國二級域名分為類別域名行政域名兩大類,類別域名如:.com?,.edu?,.gov?等分別代表不同的機構;行政域名如:.bj?表示北京,.sh?表示上海,代表我國各省、自治區(qū)及直轄市等。

二級域名
二級域名下面是三級域名、四級域名等。命名樹上任何一個節(jié)點的域名就是從這個節(jié)點到最高層的域名串起來,中間以 “ . ” 分隔。

域名組成
在域名結構中,節(jié)點在所屬域中的主機名標識可以相同,但是域名必須不同。比如:清華大學和新浪公司下都有一臺主機的標識是?mail?,但是兩者的域名卻是不同的,前者為?mail.tsinghua.edu.cn?,而后者為?mail.sina.com.cn?。

主機名相同,域名不同

DNS 域名解析

域名轉換為對應的 IP 地址的過程叫做域名解析。在域名解析過程中,DNS client?的主機調用解析器( Resolver ),向?DNS server?發(fā)出請求,DNS server?完成域名解析。

域名解析
域名解析是按照 DNS 分層結構的特點,自頂向下進行的。但是如果每一個域名解析都從根域名服務器開始,那么根域名服務器有可能無法承載海量的流量。在實際應用中,大多數(shù)域名解析都是在本地域名服務器完成。通過合理設置本地域名服務器,由本地域名服務器負責大部分的域名解析請求,提高域名解析效率。

本地域名服務器

DNS 解析器

從應用程序的角度看,訪問 DNS 是通過一個叫解析器( Resolver )的應用程序來完成的。發(fā)送一個 TCP 或 UDP 數(shù)據包之前,解析器必須將域名(主機名)轉換為 IP 地址。一個解析器至少要注冊一個域名服務器的 IP 地址。通常,它至少包括本地域名服務器的 IP 地址。

解析器

DNS 域名服務器

DNS 域名空間的層次結構,允許不同的域名服務器管理域名空間的不同部分。域名服務器是指管理域名的主機及軟件,它可以管理所在分層的域。其所管理的分層叫做區(qū)域( zone )。一個 zone 是 DNS 域名空間的一棵子樹,它可以單獨管理而不受其它 zone 影響。每層都設有一個域名服務器。

域名服務器
根所設置的 DNS 叫做根域名服務器,它對 DNS 的檢索數(shù)據功能起著至關重要的作用。根域名服務器中注冊了頂級域名服務器的 IP 地址。如果想要新增一個一級域名,或者修改已有的頂級域名,就要在根域名服務器中進行新增或變更。

類似的,頂級域名服務器中注冊了二級域名服務器的 IP 地址。如果域名服務器下面沒有其它分層,就可以自由地指定主機名稱。如果想重新設置域名服務器的 IP 地址或修改域名,必須在上一層的域名服務器中進行修改。

域名和域名服務器都需要按照分層進行設置。如果域名服務器出現(xiàn)故障,那么針對這個域的 DNS 查詢就無法正常工作。因此,為了提高可用性,至少設置兩臺域名服務器。一旦第一臺域名服務器無法提供查詢時,就會自動轉到第二個甚至第三個域名服務器上進行。

DNS 域名服務器類型

  • 本地域名服務器

    互聯(lián)網接入服務運營商或者一個大的網絡機構,像公司、大學等都有一臺或多臺可以自行管理的域名服務器,這類域名服務器稱為本地域名服務器,也稱為默認域名服務器。本地域名服務器離客戶端較近。當一個 DNS客戶端發(fā)出 DNS 查詢時,首先送到本地域名服務器。如果本地域名服務器數(shù)據庫中有對應的域名信息,會將查詢的域名轉換為 IP 地址返回客戶端。如果沒有,它會以 DNS 客戶端的身份向根域名服務器進行查詢。根域名服務器收到本地域名服務器的查詢后,會返回相關域名服務器的 IP 地址,本地域名服務器再向相關域名服務器發(fā)送查詢請求。

本地域名服務器
  • 根域名服務器

    通常根域名服務器用來管理頂級域,本身并不對域名進行解析,但它知道相關域名服務器的 IP 地址。IPv4 根域名服務器全球有 13 臺,主機名分別為 A ~ M 。1 臺為主根服務器在美國,其余 12 個均為輔根服務器,其中 9 個在美國,2 個在歐洲,位于英國和瑞典,1 臺在亞洲,位于日本。所有的域名服務器都必須注冊根域名服務器的 IP 地址,因為 DNS 根據 IP 地址進行檢索時,需要按順序從根域名服務器開始。

根域名服務器
  • 授權域名服務器

    互聯(lián)網上的主機在域名服務器上進行注冊,這個域名服務器就是主機的授權域名服務器。通常,主機的授權域名服務器就是本地域名服務器。實際上,主機會有兩個授權域名服務器,防止單點故障。授權域名服務器上有注冊主機域名與 IP 地址的映射信息,當查詢注冊主機域名時,它會返回相應主機的 IP 地址。如果主機域名和 IP 地址需要進行變更,只需要在授權域名服務器處理即可,不用再向其它域名服務器進行申請或報告。

授權域名服務器
  • 主域名服務器

    主域名服務器是完成一個或多個區(qū)域域名解析工作的主要域名服務器,通常也是一個或多個區(qū)域的授權域名服務器。主域名服務器有區(qū)域內主機地址信息的源數(shù)據文件,并且是區(qū)域傳送中區(qū)域數(shù)據的唯一來源。

  • 輔助域名服務器

    輔助域名服務器可以協(xié)助主域名服務器提供域名查詢服務,在主機很多的情況下,可以有效分擔主域名服務器的壓力。輔助域名服務器也有冗余功能,當主域名服務器故障時,輔助域名服務器能夠在數(shù)據有效期內繼續(xù)為主機提供域名解析服務。

主/輔助域名服務器
一臺主域名服務器可以有多臺輔助域名服務器,一臺輔助域名服務器也可以是其它區(qū)域的主域名服務器。輔助域名服務器中包含區(qū)域內主機地址數(shù)據的授權信息,通過區(qū)域配置文件副本的方式存儲。輔助域名服務器也是區(qū)域的授權域名服務器,可以完成本區(qū)域內域名查詢的授權回答。

輔助域名服務器并不建立數(shù)據文件,它獲得區(qū)域數(shù)據的唯一途徑就是通過區(qū)域傳送的方式,從主域名服務器上獲得區(qū)域數(shù)據的最新副本。獲得數(shù)據副本的方式有兩種,第一種是輔助域名服務器定期主動獲得主域名服務器的副本,或更新副本中的數(shù)據。第二種是主域名服務器在區(qū)域數(shù)據發(fā)生變化時,及時通知輔助域名服務器更新副本中的數(shù)據。

DNS 域名完整解析過程

域名解析過程
DNS 客戶端進行域名 www.tsinghua.edu.cn 的解析過程如下:

  1. DNS 客戶端向本地域名服務器發(fā)送請求,查詢 www.tsinghua.edu.cn 主機的 IP 地址;

  2. 本地域名服務器查詢數(shù)據庫,發(fā)現(xiàn)沒有域名為 www.tsinghua.edu.cn 的主機,于是將請求發(fā)送給根域名服務器;

  3. 根域名服務器查詢數(shù)據庫,發(fā)現(xiàn)沒有這個主機域名記錄,但是根域名服務器知道 cn 域名服務器可以解析這個域名,于是將 cn 域名服務器的 IP 地址返回給本地域名服務器;

  4. 本地域名服務器向 cn 域名服務器查詢 www.tsinghua.edu.cn 主機的 IP 地址;

  5. cn 域名服務器查詢數(shù)據庫,也沒有相關記錄,但是知道 edu.cn 域名服務器可以解析這個域名,于是將 edu.cn 域名服務器的 IP 地址返回給本地域名服務器;

  6. 本地域名服務器再向 edu.cn 域名服務器查詢 www.tsinghua.edu.cn 主機 IP 地址;

  7. edu.cn 域名服務器查詢數(shù)據庫,也沒有相關記錄,但是知道 tsinghua.edu.cn 域名服務器可以解析這個域名,于是將 tsinghua.edu.cn 的域名服務器 IP 地址返回給本地域名服務器;

  8. 本地域名服務器向 tsinghua.edu.cn 域名服務器查詢 www.tsinghua.edu.cn 主機的 IP 地址;

  9. tsinghua.edu.cn 域名服務器查詢數(shù)據庫,發(fā)現(xiàn)有主機域名記錄,于是給本地域名服務器返回 www.tsinghua.edu.cn 對應的 IP 地址;

  10. 最后本地域名服務器將 www.tsinghua.edu.cn 的 IP 地址返回給客戶端,整個解析過程完成。

DNS 傳輸層協(xié)議

DNS 域名服務器使用的端口號是 53?,并且同時支持 UDP 和 TCP 協(xié)議。為什么同時使用兩種協(xié)議呢?

因為 DNS 響應報文中有一個刪減標志位,用 TC 表示。當響應報文使用?UDP 封裝,且報文長度大于?512 字節(jié)時,那么服務器只返回前 512 字節(jié),同時 TC 標志位置位,表示報文進行了刪減。當客戶端收到 TC 置位的響應報文后,將采用?TCP 封裝查詢請求。DNS 服務器返回的響應報文長度大于 512 字節(jié)。

TC標志位
UDP 報文最大長度是 512 字節(jié),最多可以包含 13 臺根域名服務器數(shù)據,因此 ipv4 根域名服務器只能限制在 13 個,且每個服務器使用單個字母命名,也是 IPv4 根服務器是從 A ~ M 命名的原因。

UDP最長報文
當輔助域名服務器啟動時,將從主域名服務器執(zhí)行區(qū)域傳送。正常運行過程中,輔助域名服務器也會定時向主域名服務器進行查詢,以便了解主域名服務器數(shù)據是否發(fā)送變化。如果有變化,將執(zhí)行一次區(qū)域傳送。因為區(qū)域傳送的數(shù)據多,所以傳送的數(shù)據采用?TCP 封裝。

TCP封裝
因此,UDP 用于 client 和 server 的查詢和響應,TCP 用于主從 server 之間的傳送。

DNS 查詢方式

DNS 域名解析包括兩種查詢( query )方式,一種是遞歸查詢,另一種是迭代查詢

遞歸查詢

DNS 服務器如果不能直接響應解析請求,它將繼續(xù)請求其它的 DNS 服務器,直到查詢域名解析的結果。查詢的結果可以是域名主機的 IP 地址,或者是域名無法解析。無論哪種結果,DNS 服務器都會將結果返回給客戶端。

舉個栗子:當本地域名服務器接收了客戶端的查詢請求,本地域名服務器將代表客戶端來找答案,而在本地域名服務器執(zhí)行工作時,客戶端只是等待,直到本地域名服務器將最終查詢結果返回客戶端。

遞歸查詢

迭代查詢

如果 DNS 服務器查不到相應記錄,會向客戶端返回一個可能知道結果的域名服務器 IP 地址,由客戶端繼續(xù)向新的服務器發(fā)送查詢請求。對域名服務器的迭代查詢,只得到一個提示,則繼續(xù)查詢。

舉個栗子:本地域名服務器發(fā)送請求到根域名服務器,根域名服務器并沒有相應記錄,它只是給本地域名服務器返回一個提示,引導本地域名服務器到另一臺域名服務器進行查詢。

迭代查詢
客戶端在查詢 IP 地址時,向本地域名服務器進行遞歸查詢。如果本地域名服務器的數(shù)據庫有相應數(shù)據,則直接返回相應數(shù)據。如果沒有,則本地域名服務器向根域名服務器進行迭代查詢。從根開始對這棵樹按照順序進行遍歷,直到找到指定的域名服務器,并由這個域名服務器返回相應的數(shù)據。客戶端和本地域名服務器會將收到的信息保存在緩存里,這樣可以減少每次查詢時的性能消耗。

DNS 反向查詢

在 DNS 查詢中,客戶端希望知道域名對應的 IP 地址,這種查詢稱為正向查詢。大部分的 DNS 查詢都是正向查詢。與正向查詢對應的,是反向查詢它允許 DNS 客戶端通過 IP 地址查找對應的域名。

DNS反向查詢
為實現(xiàn)反向查詢,在 DNS 標準中定義了特色域?in-addr.arpa?域,并保留在域名空間中,以便執(zhí)行反向查詢。為創(chuàng)建反向域名空間,in-addr.arpa 域中的子域是按照 IP 地址相反的順序構造的。

舉個栗子:www.tsinghua.edu.cn?的 IP 地址是?166.111.4.100?,那么在 in-addr.arpa 域中對應的節(jié)點就是?100.4.111.166?。

反向查詢

DNS 應用場景

靜態(tài)域名解析

域名解析分為動態(tài)域名解析靜態(tài)域名解析。在解析域名時,首先采用靜態(tài)域名解析,如果靜態(tài)解析不成功,再采用動態(tài)域名解析。

靜態(tài)域名解析是通過靜態(tài)域名解析表進行的,手動建立域名和 IP 地址之間的對應關系表,該表的作用類似于 Windows 操作系統(tǒng)下的?hosts 文件,可以將一些常用的域名放入表中。當 DNS client 需要域名所對應的 IP 地址時,即到靜態(tài)域名解析表中去查找指定的域名,從而獲得所對應的 IP 地址,提高域名解析的效率。

靜態(tài)域名解析

動態(tài)域名解析

動態(tài)域名解析需要專用的域名服務器( DNS server )運行域名解析服務器程序,提供從域名到 IP 地址的映射關系,負責接收客戶端( DNS client)提出的域名解析請求。

動態(tài)域名解析

DNS 代理

在使用了?DNS 代理( DNS proxy )功能的組網中,DNS client 將 DNS 請求報文直接發(fā)送給 DNS proxy 。DNS proxy 會先查找本地域名解析表,如果未查詢到對應的解析表項,會將 DNS 請求報文轉發(fā)給 DNS Server ,并在收到 DNS server 的應答報文后將其返回給 DNS client ,從而實現(xiàn)域名解析。

DNS代理
因此,當 DNS server 的地址發(fā)生變化時,只需改變 DNS proxy 上的配置,無需逐一改變局域網內每個 DNS client 的配置,從而簡化了網絡管理。

飲水思源:

DNS與BIND - Paul AlbitzTCP/IP詳解 卷1:協(xié)議 - Kevin R.Fall圖解TCP/IP - 竹下隆史路由交換技術 - 杭州華三通信技術有限公司

- EOF -

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統(tǒng) 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉