DNS使用TCP和UDP的端口号53
DNS在兩種情況下使用TCP
1.如果用wireshark、sniffer或古老些的tcpdump抓包分析,會發現幾乎所有的情況都是在使用UDP,使用TCP的情況非常罕見。其實當解析器發出一個request后,返回的response中的tc刪節標志比特位被置1時,說明反饋報文因為超長而有刪節。這是因為UDP的報文最大長度為512字節。解析器發現后,將使用TCP重發request,TCP允許報文長度超過512字節。既然TCP能將data stream分成多個segment,它就能用更多的segment來傳送任意長度的數據。
UDP報文的最大長度為512字節,而TCP則允許報文長度超過512字節。當DNS查詢超過512字節時,協議的TC標志出現刪除標志,這時則使用TCP發送。通常傳統的UDP報文一般不會大于512字節。
2.另外一種情況是,DNS在進行區域傳輸的時候使用TCP協議,其它時候則使用UDP協議。
DNS的規范規定了2種類型的DNS服務器,一個叫主DNS服務器,一個叫輔助DNS服務器。在一個區中主DNS服務器從自己本機的數據文件中讀取該區的DNS數據信息,而輔助DNS服務器則從區的主DNS服務器中讀取該區的DNS數據信息。當一個輔助DNS服務器啟動時,它需要與主DNS服務器通信,并加載數據信息,這就叫做區傳送(zone transfer)。
輔域名服務器會定時(一般時3小時)向主域名服務器進行查詢以便了解數據是否有變動。如有變動,則會執行一次區域傳送,進行數據同步。區域傳送將使用TCP而不是UDP,一是因為數據同步傳送的數據量比一個請求和應答的數據量要多得多;二是因為TCP是一種可靠的連接,保證了數據的準確性。
DNS更多情況下使用UDP
客戶端向DNS服務器查詢域名,一般返回的內容都不超過512字節,用UDP傳輸即可。不用經過TCP三次握手,這樣DNS服務器負載更低,響應更快。雖然從理論上說,客戶端也可以指定向DNS服務器查詢的時候使用TCP,但事實上,很多DNS服務器進行配置的時候,僅支持UDP查詢包。
總結
以上是生活随笔為你收集整理的DNS使用TCP和UDP的端口号53的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html游戏怎么运行,怎么让代码运行
- 下一篇: 【艾思软件】定制开发小程序需要费用明细