当前位置: 首页 > news >正文

【DNS系列】使用TCP传输

DNS ​默认使用UDP协议​(端口53)进行通信,但在以下场景中会切换到TCP协议​(端口53):

1. 响应数据过大(超过512字节)​

  • UDP限制:DNS的UDP协议默认限制单个数据包大小为512字节​。如果响应数据(如包含多条记录的查询结果)超过此限制,服务器会强制使用TCP。
  • 机制
    • 当UDP响应被截断(Truncated)时,客户端会重新发起TCP请求。
    • 例如:查询包含大量记录的域(如大型企业的子域名列表)。
[root@master ~]# dig cccccccccc.yunqi1215.asia txt @clare.dnspod.net  

;; Truncated, retrying in TCP mode. 

  

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> cccccccccc.yunqi1215.asia txt @clare.dnspod.net 

;; global options: +cmd 

;; Got answer: 

;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41590 

;; flags: qr aa rd; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 1 

;; WARNING: recursion requested but not available 

  

;; OPT PSEUDOSECTION: 

; EDNS: version: 0, flags:; udp: 4096 

;; QUESTION SECTION: 

;cccccccccc.yunqi1215.asia.     IN      TXT 

  

;; ANSWER SECTION: 

cccccccccc.yunqi1215.asia. 600  IN      TXT     "222222222222222222277777777777777777777777777777777777777777777777777777777777777777777777777777777777777777766666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666666sssssssssssssssssssssssssssssssssssssss" "ssssssssssssssssssssssssssssssssllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn" "nnnnnnnnnnfdpgkfbgfonbmgfpbmefpbp,pwr" 

  

;; AUTHORITY SECTION: 

yunqi1215.asia.         86400   IN      NS      clare.dnspod.net. 

yunqi1215.asia.         86400   IN      NS      sagitta.dnspod.net. 

  

;; Query time: 30 msec 

;; SERVER: 112.80.181.45#53(112.80.181.45) 

;; WHEN: 一 3月 25 14:32:44 CST 2024 

;; MSG SIZE  rcvd: 678 

2. 区域传输(Zone Transfer)​

  • 全量传输(AXFR)和增量传输(IXFR)​:主从DNS服务器之间的区域传输必须使用TCP
  • 原因
    • 区域文件通常较大(可能包含数千条记录),需要可靠传输。
    • TCP的流控、重传机制保证数据完整性。

3. 高可靠性场景

  • TCP的重传机制:在不可靠网络环境中,若UDP请求多次失败(如丢包),客户端可能改用TCP重试。
  • 应用场景:关键业务域名解析(如金融、政务系统)要求高可靠性。

相关文章:

  • HTTP重定向原理+实现
  • 个人网站部署
  • redis 清理缓存
  • [数据结构]排序之希尔排序( 缩小增量排序 )
  • 《C语言中“输入魔法师”:scanf函数的奥秘与技巧》
  • 每日一题力扣807.保持城市天际线c++
  • SpringBoot使用DeepSeek APi
  • 点云深度学习系列:PVRCNN——point-voxel融合的分割模型
  • HashiCorp Vault (凭据管理系统)和 PAM(特权访问管理系统)的应用场景对比
  • Linux 进程的一生(一):进程与线程的创建机制解析
  • Python 网络编程实战:5分钟实现多线程下载工具与 Web 服务器
  • Android SharedPreference 详解
  • 深入理解Linux进程管理:从基础到高级操作指南
  • GPU算力哪家好?GpuGeek推出高性能GPU云服务
  • 泛型、泛型上限、泛型下限、泛型通配符
  • java虚拟机(JVM)以及各种参数详解
  • 力扣-哈希表-844 比较含退格的字符串
  • 理解C语言中的extern关键字
  • 【机器人-基础知识】欧拉角、旋转矩阵和四元数
  • python爬虫碰到IP被封的情况,如何解决?
  • 解放日报:中国大模型企业的发展机遇已经到来
  • 澎湃读报丨解放日报9个版聚焦:上海,加快建成具有全球影响力的科技创新高地
  • 发挥全国劳模示范引领作用,加速汽车产业电智化转型
  • 自称“最美”通缉犯出狱当主播?央广网:三观怎能跟着“五官”跑
  • 财政部农业农村司司长吴奇修接受纪律审查和监察调查
  • 纪录电影《中国有戏:天幕计划》启动,有望太空播放