DNS是如何解析的?

2021-10-20 18:59:42 字數 986 閱讀 6530

dns:domain name system,負責將使用者請求的網域名稱解析為對應機器的ip位址。眾所周知,網際網路上的每一台機器的身份是由ip位址標識的,而我們想要與任何一台機器進行通訊都必須知道它的ip位址,然而,由於ip位址對人類來說難於記憶,因此就產生了網域名稱。就拿www.baidu.com來說,相信我們對於這個網域名稱都再熟悉不過了,但是如果讓你記憶對應的ip位址,這個一定很痛苦。而網際網路上的網域名稱數量又極其龐大,將這些記錄全都存在使用者本地也是不現實的,而且也很難做到實時同步,因此就產生了dns網域名稱系統。

如圖所示,當client想要查詢example.com對應的ip位址時,路由器會將這條dns查詢請求**給isps提供的本地網域名稱伺服器或者是使用者自己指定的公共網域名稱伺服器(比如google public dns、dynamic dns、opendns等等),由於這個網域名稱伺服器負責接下來遞迴地向根網域名稱伺服器、一級網域名稱伺服器、二級網域名稱伺服器進行查詢,因此這個網域名稱伺服器也被稱為遞迴解析器。

具體來講

實際案例

1.dig工具從遞迴解析器中抓取到了13個根網域名稱伺服器(以及對應的ip,圖中未顯示)

2. 接下來遞迴解析器又從其中乙個根網域名稱伺服器中獲取到了對應的一級網域名稱伺服器

3.遞迴解析器接著向其中的乙個一級網域名稱伺服器發起查詢,查到了對應的二級網域名稱伺服器

4.然後從其中乙個二級網域名稱伺服器中查詢到了www.baidu.com對應的cname記錄以及該別名對應的ip位址。

5.最後,遞迴解析器將該ip位址發給客戶端

以上就是dns解析的大致流程。

Spring 是如何解析 標籤的?

上回 spring ioc 容器初始化 2 說到了 spring 如何解析我們定義的 標籤,跟進了一層又一層,跋山涉水,最終來到了 beandefinitionparserdelegate parsebeandefinitionelement 方法。不過這個方法只是表面,並未深入解析 中的 clas...

nginx是如何解析php檔案的(PHP FPM)

我們先來了解下nginx,想要了解nginx我們先來看下面這兩個概念 正向 翻牆訪問谷歌 對於人來說可以感知到,但伺服器感知不到,我們叫他正向 伺服器。而nginx就是乙個高效能的http和反向 伺服器,也是乙個imap pop3 smtp伺服器 nginx解析php檔案實際上是通過乙個叫做 php...

如何解析超長的protobuf

在呼叫protobuf的parsefromstring str 方法時,預設情況下,如果str的長度 64mb,會返回失敗。這裡給出了解釋,主要是出於安全因素的考慮。可以通過settotalbyteslimit方法去除這個限制 google protobuf message req google p...