DNS/mDNS/DoH/DoT 等DNS協議概括


DNS

端口53 最常用的DNS協議,明文傳輸(大部分情況使用UDP,少數情況為TCP)
用於域名-IP地址解析
用編程語言表示功能為:
ip_addr DNS(domain)
返回類型 函數名(入參)

123.58.180.8 DNS(163.com)

可通過 cmd 命令向當前網卡配置的 DNS 服務器查詢

安全性:垃圾級別,參見:用winpcap實現局域網DNS欺騙之一(基礎知識)

DNSCrypt

DNS加密版本

mDNS

端口5353 DNS 的多播版
不需要服務器,客戶機域名以.local結尾。每一台客戶端都自動向局域網廣播 mDNS 數據包,支持 mDNS 的目標客戶端即可處理並返回 ip 地址。
這對於基於DHCP自動分配IP地址的局域網設備是非常高效有用的,畢竟原始的 DNS 協議可沒有打算支持局域網。

其中蘋果的Bonjour就是mDNS的一個實現,此外Android 4.1之后也加入了對mDNS協議的支持。
Windows默認不開啟,開啟方法(二選一):

  1. 原生開啟支持 https://superuser.com/questions/1330027/how-to-enable-mdns-on-windows-10-build-17134
  2. 通過第三方軟件支持 Bonjour Print Services
    mDNS-思否
  3. raspberrypi.local 為什么可以ping通以及ssh登錄?它是如何被解析的?又如何改變?

DNS 透傳版

由 DNS 衍生出的透傳版本,大部分都是加密的,實質是把 DNS 數據放在對應的加密網絡協議包里透傳:

事實上你想 Dns-Over-QQ Dns-Over-Email 都可以,但以下是有事實標准或 RFC 文檔標准的

[DoQ] DNS over QUIC 端口x無統一規定標准端口
[DoH] DNS over HTTPS 端口443
[DoT] DNS over TLS 端口853
參考:https://developers.google.cn/speed/public-dns/docs/secure-transports

參考資料

各協議所在位置圖解,TCP和UDP處於平等地位。

另有基於 UDP 改進的傳輸層協議 QUIC,自帶加密和可靠性,但由於基於現有 UDP 改進,因此需占用 UDP 端口。另外 QUIC 也作為 HTTP3 版本所要求使用的傳輸層協議。

注:TCP和UDP端口並不沖突,因為計算機網絡包五元組{源IP,目標IP,源端口,目標端口,傳輸層協議類型}只要有一個不同就不沖突。

網絡包數據幀圖,參見:通信數據挖掘學習筆記(一)——網絡協議 + 報文抓包-VoidOc-zhihu

QUIC協議-cnblogs千里之外
HTTP/3 原理實戰-騰訊-zhihu


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM