【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://www.mzph.cn/news/897687.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go Ebiten小游戏开发:俄罗斯方块

在这篇文章中&#xff0c;我们将一起开发一个简单的俄罗斯方块游戏&#xff0c;使用Go语言和Ebiten游戏库。Ebiten是一个轻量级的游戏库&#xff0c;适合快速开发2D游戏。我们将逐步构建游戏的基本功能&#xff0c;包括游戏逻辑、图形绘制和用户输入处理。 项目结构 我们的项…

MySQL中IN关键字与EXIST关键字的比较

文章目录 **功能等价性分析****执行计划分析**&#xff1a; **1. EXISTS 的工作原理****步骤拆解**&#xff1a; **2. 为什么需要“利用索引快速定位”&#xff1f;****索引作用示例**&#xff1a; **3. 与 IN 子查询的对比****IN 的工作方式**&#xff1a;**关键差异**&#x…

## DeepSeek写水果记忆配对手机小游戏

DeepSeek写水果记忆配对手机小游戏 提问 根据提的要求&#xff0c;让DeepSeek整理的需求&#xff0c;进行提问&#xff0c;内容如下&#xff1a; 请生成一个包含以下功能的可运行移动端水果记忆配对小游戏H5文件&#xff1a; 要求 可以重新开始游戏 可以暂停游戏 卡片里的水果…

【含文档+PPT+源码】基于Django框架的乡村绿色农产品交易平台的设计与实现

项目介绍 本课程演示的是一款基于Django框架的乡村绿色农产品交易平台的设计与实现&#xff0c;主要针对计算机相关专业的正在做毕设的学生与需要项目实战练习的 Python学习者。 1.包含&#xff1a;项目源码、项目文档、数据库脚本、软件工具等所有资料 2.带你从零开始部署运…

idea超级AI插件,让 AI 为 Java 工程师

引言​ 用户可在界面中直接通过输入自然语言的形式描述接口的需求&#xff0c;系统通过输入的需求自动分析关键的功能点有哪些&#xff0c;并对不确定方案的需求提供多种选择&#xff0c;以及对需求上下文进行补充&#xff0c;用户修改确定需求后&#xff0c;系统会根据需求设…

@RestControllerAdvice注解

RestControllerAdvice RestControllerAdvice 是 Spring Framework&#xff08;3.2&#xff09;和 Spring Boot 中用于全局处理控制器层异常和统一响应格式的注解。它结合了 ControllerAdvice 和 ResponseBody 的功能&#xff0c;能够拦截控制器方法抛出的异常&#xff0c;并以 …

ActiveMQ监听器在MQ重启后不再监听问题

应用的监听器注解 JmsListener(destination "TopicName",containerFactory "FactoryName")工厂代码 BeanJmsListenerContainerFactory<?> FactoryName(ConnectionFactory connectionFactory){SimpleJmsListenerContainerFactory factory new S…

大白话 Vue 中的keep - alive组件,它的作用是什么?在什么场景下使用?

大白话 Vue 中的keep - alive组件&#xff0c;它的作用是什么&#xff1f;在什么场景下使用&#xff1f; 什么是 keep-alive 组件 在 Vue 里&#xff0c;keep-alive 是一个内置组件&#xff0c;它就像是一个“保存盒”&#xff0c;能把组件实例保存起来&#xff0c;而不是每次…

考研复试c语言常见问答题汇总2

11. 关键字和一般标识符有什么不同&#xff1f; C语言中关键字与一般标识符区别&#xff1a; 定义&#xff1a;关键字是C语言预定义的特殊单词&#xff08;如int、for&#xff09;&#xff0c;有固定含义&#xff1b;标识符是自定义的名称&#xff08;如变量名、函数名&#xf…

Scala编程_实现Rational的基本操作

在Scala中实现一个简单的有理数&#xff08;Rational&#xff09;类&#xff0c;并对其进行加法、比较等基本操作. 有理数的定义 有理数是可以表示为两个整数的比值的数&#xff0c;通常形式为 n / d&#xff0c;其中 n 是分子&#xff0c;d 是分母。为了确保我们的有理数始终…

若依框架-给sys_user表添加新字段并获取当前登录用户的该字段值

目录 添加字段 修改SysUser类 修改SysUserMapper.xml 修改user.js 前端获取字段值 添加字段 若依框架的sys_user表是没有age字段的&#xff0c;但由于业务需求&#xff0c;我需要新添加一个age字段&#xff1a; 修改SysUser类 添加age字段后&#xff0c;要在SysUser类 …

霍夫变换法是基于传统视觉特征的道路车道线检测算法中的一种经典方法

霍夫变换法是基于传统视觉特征的道路车道线检测算法中的一种经典方法&#xff0c;以下是对它的详细介绍&#xff1a; 基本原理 霍夫变换的基本思想是将图像空间中的点映射到参数空间中&#xff0c;通过在参数空间中寻找峰值来确定图像中特定形状的参数。在车道线检测中&#…

【论文笔记】Best Practices and Lessons Learned on Synthetic Data for Language Models

论文信息 论文标题&#xff1a;Best Practices and Lessons Learned on Synthetic Data for Language Models 作者信息&#xff1a; Ruibo Liu, Jerry Wei, Fangyu Liu, Chenglei Si, Yanzhe Zhang, Jinmeng Rao, Steven Zheng, Daiyi Peng, Diyi Yang, Denny Zhou1 and Andre…

Android调试工具之ADB

Android Debug Bridge ADB介绍**一、ADB下载****二、ADB安装****三、ADB基础使用命令** ADB介绍 ADB&#xff08;Android Debug Bridge&#xff09;是Android开发与调试的必备工具&#xff0c;掌握它能极大提升开发效率。 一、ADB下载 Windows版本&#xff1a;https://dl.goo…

第三篇《RMAN 备份与恢复指南:保障数据库安全》(RMAN)

《Oracle 数据迁移与备份系列》 第三篇&#xff1a;《RMAN 备份与恢复指南&#xff1a;保障数据库安全》&#xff08;RMAN&#xff09; 1.概述 RMAN&#xff08;Recovery Manager&#xff09; 是 Oracle 数据库内置的专用备份与恢复工具&#xff0c;提供高效、安全的物理级数…

【测试框架篇】单元测试框架pytest(4):assert断言详解

一、前言 用例三要素之一就是对预期结果的断言。 何为断言&#xff1f;简单来说就是实际结果和期望结果去对比&#xff0c;符合预期就测试pass&#xff0c;不符合预期那就测试 failed。断言内容就是你要的预期结果。断言包含对接口响应内容做断言、也包含对落DB的数据做断言。…

什么是大模型微调?

在大模型&#xff08;如GPT、BERT、LLaMA等&#xff09;广泛应用的今天&#xff0c;“微调”&#xff08;Fine-Tuning&#xff09;已成为释放模型潜力的关键技术。它通过针对特定任务调整预训练模型&#xff0c;使其从“通才”变为“专才”。本文将从概念、原理到实践&#xff…

C# Channel

核心概念创建Channel无界通道有界通道FullMode选项 生产者-消费者模式生产者写入数据消费者读取数据 完整示例高级配置优化选项&#xff1a;取消操作&#xff1a;通过 CancellationToken 取消读写。 错误处理适用场景Channel的类型创建Channel写入和读取消息使用场景示例代码注…

基于Spring Boot的牙科诊所管理系统的设计与实现(LW+源码+讲解)

专注于大学生项目实战开发,讲解,毕业答疑辅导&#xff0c;欢迎高校老师/同行前辈交流合作✌。 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、小程序、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、安卓app、大数据、物联网、机器学习等设计与开发。 主要内容&#xff1a;…

upload-labs-靶场(1-19关)通关攻略

文件上传漏洞是指由于程序员再开发时&#xff0c;未对用户上传的文件进行严格的验证和过滤&#xff0c;而导致用户可以上传可执行的动态脚本文件 Pass-01&#xff08;前端验证绕过&#xff09; 上传111.php文件&#xff0c;发现弹窗显示不允许&#xff0c;并给出白名单文件类…