DNS解析流程

来源:http://www.cnblogs.com/0x12345678/archive/2016/10/07/5933531.html
-Advertisement-
Play Games

DNS簡單來說就是進行功能變數名稱和IP的轉換,那該如何轉換呢?既然要轉換,肯定有轉換表,那表應該存 哪個伺服器上,怎樣去請求功能變數名稱伺服器來進行轉換,所以,這個轉換的過程都是什麼。而面試的時 經常會有這道題:當在瀏覽器輸入網址按下回車之後,到瀏覽器回顯網頁,詳細描述一下中間發生了神馬? 一般來說,在windo ...


DNS簡單來說就是進行功能變數名稱和IP的轉換,那該如何轉換呢?既然要轉換,肯定有轉換表,那表應該存
哪個伺服器上,怎樣去請求功能變數名稱伺服器來進行轉換,所以,這個轉換的過程都是什麼。而面試的時
經常會有這道題:當在瀏覽器輸入網址按下回車之後,到瀏覽器回顯網頁,詳細描述一下中間發生了神馬?

一般來說,在windows裡面的網路配置可以設置DNS地址,比如谷歌的8.8.8.8
如果沒有手動設置的話,可能就是運營商提供的ISPDNS功能變數名稱解析。那這種伺服器該屬於哪一層?
一般來說,功能變數名稱解析伺服器分為兩種:
一種是只負責緩存的解析伺服器:如谷歌的8.8.8.8,還有運營商提供的ISPDNS解析。
一種是專門負責某個域的解析,com域的伺服器,org域的伺服器等等。

當在瀏覽器敲下回車,
本機-->瀏覽器查看本地緩存
本機-->查看本地的host文件
本機-->本地的DNS緩存
本機-->ISPDNS ISPDNS首先會在緩存中查找是否之前有相同的記錄
ISPDNS-->根功能變數名稱伺服器 ISPDNS會去請求根功能變數名稱伺服器,而全球有13個IP
根功能變數名稱伺服器-->ISPDNS 根功能變數名稱伺服器會返回對應頂級功能變數名稱的NS記錄,比如com的功能變數名稱
ISPDNS-->com域的伺服器 請求com域的權威伺服器
com域的伺服器-->ISPDNS com域的伺服器就會發送IP給ISPDNS
ISPDNS-->本機 ISPDNS伺服器就發送給本地。

在功能變數名稱設置中,有多種解析方式,最常用的就是A記錄,還有CNAME
A就是一個功能變數名稱一個IP,這裡的功能變數名稱屬於二級功能變數名稱
而CNAME是一個功能變數名稱指向另一功能變數名稱,百度就是這樣,如下所示:
先解析www.baidu.com得到www.a.shifen.com.
然後解析www.a.shifen.com.

[root@linux ~]# dig www.baidu.com
...
www.baidu.com.      571 IN  CNAME   www.a.shifen.com.
www.a.shifen.com.   229 IN  A   61.135.169.125
www.a.shifen.com.   229 IN  A   61.135.169.121
...

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 原文: http://www.2cto.com/kf/201512/455888.html http://blog.csdn.net/yangqingqo/article/details/48371123 http://inthecheesefactory.com/blog/things-you-n ...
  • 遇到這個問題 網上找到的解決辦法: 方法一:就是上面說的通過計算出來ListView或者GridView中的子列高度和 進行顯示:public void setListViewHeightBasedOnChildren(ListView listView) { ListAdapter listAda ...
  • self.mManager = [[CMMotionManager alloc]init]; self.mManager.deviceMotionUpdateInterval = 0.5; if (self.mManager.gyroAvailable) { [self.mManager start ...
  • 在前面的文章中,已經實現了“設置中心”第一欄的功能以及佈局 本文地址:http://www.cnblogs.com/wuyudong/p/5936016.html,轉載請註明出處。 自定義屬性聲明 接下來實現其他欄的佈局和功能,由於它們之間的功能和佈局類似,只是屬性名稱不同。所以本文在自定義控制項的基 ...
  • TCP : Transmission Control Protocol,傳輸控制協議,類似於打電話 UDP : User Datagram Protocol,用戶數據報協議,類似於寫信 IP : Internet Protocol互聯網協議,是上述兩種協議的底層協議 IP地址(IP Address) ...
  • 模型: 1. 初始化並打開有名信號量:sem_open() 創建/獲得無名信號量:sem_init() 操作信號量:sem_wait()/sem_trywait()/sem_timedwait()/sem_post()/sem_getvalue() 退出有名信號量:sem_close() 銷毀有名信 ...
  • 模型: 1. 創建/獲取消息隊列fd :mq_open() 設置/獲取消息隊列屬性 :mq_get() 發送/接收消息 :mq_send()/mq_receive() 脫接消息隊列 :mq_close() 刪除消息隊列 :mq_unlink() 頭文件 POSIX mq VS Sys V mq的優勢 ...
  • 模型 1. 創建/獲取共用記憶體fd :shm_open() 2. 創建者調整文件大小 :ftruncate() 3. 映射fd到記憶體 :mmap() 4. 去映射fd :munmap() 5. 刪除共用記憶體 :shm_unlink() 頭文件 shm_open oflag Access Mode: ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...