59、深入探究 DNS QNAME 最小化技术

深入探究 DNS QNAME 最小化技术

1. QNAME 最小化技术的整体发展趋势

QNAME 最小化(qmin)技术在 DNS 系统中扮演着重要角色,有助于提升用户隐私和减少不必要的查询信息泄露。从整体趋势来看,支持 QNAME 最小化的解析器的相对采用率仍在上升。尽管在早期研究中,只有一小部分解析器使用 qmin,但如今大部分解析器已支持该技术。

以 2020 年为例,qmin 技术的采用率出现了突然的增长。从 DNSThought 观察到的启用 qmin 的解析器的十大自治系统编号(ASN)来看,自 2020 年 1 月起,谷歌成为启用 qmin 解析器最多的 ASN。

不过,DNSThought 用于测量 qmin 采用率的 RIPE Atlas 探针使用的是 a.b.qnamemin - test.internet.nl 区域,未采用利用通配符标签来减轻缓存委派影响的改进方法。这可能导致一些解析器因之前转发请求的缓存最小化查询,而在 DNSThought 中被误判为启用了 qmin。为此,通过与 NLnet Labs 合作,设置了一个新区域,用于采用改进方法测量开放解析器对 qmin 的采用情况。

2. 开放解析器对 QNAME 最小化的采用情况
2.1 测量方法

早期 De Vries 等人的研究使用了来自 Rapid7 的 800 万个地址列表,通过扫描互联网上响应 UDP 端口 53 的服务器生成该列表。为了对开放解析器是否启用 qmin 进行分类,向 NLnet Labs 控制的区域发送 TXT 资源记录(RR)请求。分类流程如下:

graph TD;
    A[发送查询到解析器] --> B{解析器响应?};
    B -- 是 --> C{响应是否有错误?};
    B -- 否 --> D[超时];
    C -- 否 --> E{是否为正确答案?};
    C -- 是 --> F[错误响应];
    E -- 是 --> G[分类为 HOORAY 或 NO];
    E -- 否 --> H[错误答案];

在本次研究中,由于后期对 Rapid7 列表的访问受限,使用了 2022 年 2 月的列表,该列表包含 600 万个地址。2022 年 4 月,利用亚马逊网络服务(AWS)的 EC2 实例,从北弗吉尼亚、东京和法兰克福三个地理位置发送查询,每个解析器发送 100 个查询,以获取更多数据点。

为克服之前系统中解析器可能缓存测试委派信息,导致后续测试结果偏向 qmin 的问题,开发了自定义权威服务器。该服务器允许根据查询合成自定义查询名称和委派信息,通过通配符标签发送唯一查询名称,避免缓存委派的影响。例如,从东京发送的第一次查询 a.tokyo - 00.qnamemintest.net ,qmin 解析器会向 ns1 查询 tokyo - 00.qnamemintest.net ns1 可将解析器引导至 ns2 ;后续从东京发送的查询 tokyo - 01.qnamemintest.net 不会在缓存中找到。

2.2 测量结果
年份 地理位置 #解析器 #查询数 响应率 无错误率 正确响应率 qmin 占比
2018 荷兰 8M 8M 64% 32% 72% 1.6%
2022 北弗吉尼亚 6M 600M 70.82% 19.46% 78.12% 16.43%
2022 东京 6M 600M 70.71% 19.45% 78.32% 16.42%
2022 法兰克福 6M 600M 70.78% 19.45% 78.21% 16.42%

从这些结果可以看出:
- 从 2018 年到 2022 年,最小化查询的占比从 1.6% 增加到约 16%,表明开放解析器对 qmin 的使用有显著增长。
- 不同地理位置的测量结果偏差较小。
- 2022 年 2 月 Rapid7 扫描的地址数量比 2018 年减少了 25%,但非超时查询的占比从 64% 增加到近 71%。
- 无错误响应的占比从 32% 下降到约 19%,且超过 90% 的错误为 REFUSED,可能是因为部分解析器配置为仅处理指定子网内客户端的查询。
- 正确 TXT 响应的占比从 72% 增加到 78%。

2.3 冲突解析器情况

早期研究对每个解析器仅发送一个查询并分类,而本次研究对 Rapid7 列表中的每个地址发送 100 个查询,揭示了更多信息。首先过滤掉未给出单个正确 TXT RR 响应的解析器(527 万个),这些解析器的响应包含超时、错误和不正确的 TXT RR。不正确的 TXT 响应包括无内容、验证令牌、域名过期或禁用通知以及诸如 “txt”、“this is a txt record” 等回复。

剩余的 73 万个解析器至少有一个正确答案,其中 87.3% 对 80 - 100 个查询正确响应,其余 10 万个解析器对 1 - 79 个查询正确响应。部分解析器在 100 个查询中,既回复 “HOORAY” 又回复 “NO”,被称为冲突解析器。

年份 #解析器 qmin 占比 非 qmin 占比 冲突解析器占比
2018 8M 0.2%(18.8k) 13.7%(1.1M) N/A
2022 6M 1.3%(80.2k) 8.9%(539.3k) 2%(120.8k)

冲突解析器中正确回复的最小数量为 2 个(一个 “HOORAY” 和一个 “NO”),此时 qmin 占比为 50%。当发送 100 个查询时,“HOORAY” 和 “NO” 响应的比例范围从 1:99 到 99:1。分析显示,约 10.9 万个冲突解析器中,73.4%(8 万个)的 qmin 占比小于 50%,7.4%(约 8000 个)的 qmin 占比大于 90%。

从地理位置来看,冲突解析器占比前十的国家为:
| 国家 | 占比 |
| ---- | ---- |
| 中国 | 26.8% |
| 俄罗斯 | 11.4% |
| 美国 | 5.5% |
| 巴西 | 4.5% |
| 印度尼西亚 | 3.6% |
| 澳大利亚 | 3.4% |
| 乌克兰 | 3.0% |
| 伊朗 | 2.4% |
| 波兰 | 2.3% |
| 南非 | 2.1% |

在 2022 年 4 月首次测量后的五个月(2022 年 9 月),33.1% 的 qmin 启用解析器、38.2% 的非 qmin 解析器和 35.5% 的冲突解析器不再响应,各类型解析器在丢失率上无显著差异。

2.4 意外的谷歌公共 DNS 解析器

从图中可见,自 2020 年以来谷歌 ASN 的 qmin 启用解析器迅速增加,但在开放解析器的主动测量中,谷歌公共 DNS 解析器(8.8.8.8 和 8.8.4.4)被分类为未启用 qmin。通过使用三个不同区域 a.b.qnamemin - test.nlnetlabs.nl a.b.qnamemin - test.internet.nl a.b.qnamemintest.net 进行额外查询,只有 a.b.qnamemin - test.internet.nl 对谷歌公共 DNS 解析器的查询回复 “HOORAY”。

与 NLnet Labs 沟通得知,谷歌在 2020 年 5 月表示已实现 qmin,但有深度限制,仅在处理根和顶级域名(TLD)时发送最小化标签,对二级域名(如 co.uk)不进行最小化处理。未来谷歌希望将其扩展到公共后缀加一个标签。因此,谷歌公共 DNS 在 DNSThought 中未显示为最小化查询,为此, a.b.qnamemin - test.internet.nl 对其深度限制设置了例外,以反映其在一定程度上进行了查询最小化。这引发了关于在性能和隐私方面,查询最小化的适当程度的思考。

3. 被动测量下的 QNAME 最小化情况
3.1 测量方法

为了在被动数据集中识别最小化查询和启用 qmin 的解析器,采用了与之前研究类似但有所扩展和改进的方法。
- 识别最小化查询 :将根域名下包含一个标签、 .nl 域名下包含两个标签的查询视为最小化查询。为避免谷歌 Chrome 浏览器对不存在的单标签域名查询的影响,过滤掉这些查询,只考虑针对现有域名的查询。对于 DNS - OARC 收集的 DITL 数据(无 DNS 响应),验证每个单标签查询的标签是否属于注册顶级域名;对于 .nl 数据集(包含查询和响应),过滤出产生 NOERROR 响应码的查询。
- 识别启用 qmin 的解析器 :以之前识别为支持 qmin 的解析器流量为基础,同时考虑到冲突解析器的情况,降低识别错误率。还引入瑞典 ccTLD .se 的数据,减少荷兰观测点可能带来的偏差。仅纳入在每个 ccTLD 当天至少有 10 次观测查询的解析器。启用 qmin 的解析器最小化查询的份额中位数超过 90%,与未启用 qmin 的解析器形成鲜明对比(未启用的解析器最小化查询份额小于 20%)。将向二级域名服务器发送至少 77.2% 最小化查询的解析器分类为启用 qmin 的解析器,该阈值高于非 qmin 解析器最小化查询的 95% 分位数和冲突解析器的 75% 分位数,可减少错误分类。

3.2 测量结果
  • 整体趋势 :自 2019 年以来,从 TLD 的角度看,qmin 采用率有显著提升。图显示了发送到 K - Root 服务器和三个 .nl 权威名称服务器的查询中最小化查询的份额。在 .nl 域名下,最小化查询的比例从 2019 年的 43% 上升到现在的 64%,且无论是否过滤不存在域名的查询,采用率都在上升,偶尔的下降可能由爬虫或配置错误等随机事件导致。但在根域名下情况较为复杂。
  • 不存在域名的影响 :如果考虑根域名下所有域名的查询,qmin 采用率在过去几年甚至有所下降,2017 年 35.2% 的查询为最小化查询,到 2021 年降至 28.3%。过滤掉不存在域名的查询后,根域名下最小化查询的比例从 2017 年的 0.4% 上升到 2021 年的 2.7%。2021 年,单标签查询数量从 42% 降至 28%,这与 2020 年 11 月 Android 版新 Chromium 版本的推出相关,此后随机子域名查询功能被禁用,根服务器运营商也注意到了这一变化,说明早期研究数据受 Chrome 行为影响较大。
  • qmin 采用的详细情况
    • 按国家划分 :2021 年根流量存在明显的本地差异,例如不丹的 K - Root 站点有 17.8% 的查询为最小化查询,而塔吉克斯坦的站点仅为 0.1%。以 2022 年 10 月 4 日 .nl 名称服务器收集的数据为例,将每个 IP 地址映射到其对应的国家和自治系统(AS)。当天观测到来自 236 个国家和 38469 个 AS 的 140 万个唯一 IP 地址的 29 亿次查询。仅考虑来自至少 100 个唯一 IP 地址的国家,发现也门的最小化查询份额最高,主要由大型提供商推动,该国 10% 的解析器启用了 qmin,但这些解析器承担了该国大部分查询。不过,这些国家在 .nl 的总流量中占比很小。而 .nl 接收查询最多的国家中,最小化查询份额差异较大,如中国为 1%,英国为 59.5%,启用 qmin 的解析器份额也以英国最高,其次是荷兰。具体数据如下表:
      | 国家 | .nl 查询份额 | 最小化查询 | 启用 qmin 的解析器 |
      | ---- | ---- | ---- | ---- |
      | 美国 | 35.3% | 32.3% | 19.2% |
      | 荷兰 | 20.6% | 41.6% | 28.9% |
      | 德国 | 9.2% | 14.4% | 25.8% |
      | 中国 | 4.6% | 1.0% | 4.4% |
      | 英国 | 3.2% | 59.5% | 30.9% |
      | 也门 | 0.01% | 89.2% | 10.0% |
      | 阿富汗 | 0.01% | 85.7% | 19.5% |
      | 伊拉克 | 0.01% | 84.5% | 45.3% |
      | 贝宁 | 0.01% | 82.2% | 22.0% |
      | 芬兰 | 1.0% | 81.9% | 33.6% |
    • 按网络划分 :在一个国家内,不同网络之间也存在显著差异。以荷兰为例,关注互联网服务提供商(ISP)网络。数据集中有 23 个属于 ISP 且从至少 10 个不同地址发送查询的网络,其中不到一半(10 个网络,43.5%)大部分时间通过启用 qmin 的解析器发送查询。例如,Freedom Internet(AS 206238)和 T - mobile Netherlands(AS 13127)似乎启用了 qmin,而前运营商 KPN(ASes 1136、8737 和 15879)的解析器最小化查询份额仅为 0.3%。
  • qmin 与其他互联网标准的关系 :启用 qmin 的解析器对“现代”互联网标准和 DNS 最佳实践的支持度更高。比较通过 IPv6 向 .nl 名称服务器发送查询、支持 DNSSEC(通过设置查询中的 DO 标志)、指示 EDNS(0) 缓冲区大小为 1232 字节的解析器与不遵循这些最佳实践的解析器。结果显示,遵循这些最佳实践的解析器大多也支持 qmin,这些解析器占数据集所有解析器的 3.7%;而不遵循任何这些最佳实践的解析器中,只有少数启用了 qmin(占 4.8%);最大的一组解析器支持 DNSSEC,但使用传统 IPv4 并设置不同的缓冲区大小,其中 16.4% 发送最小化查询(占所有解析器的 63%)。具体数据如下表:
    | 标准支持情况 | IPv6 | DNSSEC | 推荐缓冲区大小 | 全部 |
    | ---- | ---- | ---- | ---- | ---- |
    | ✓ | 35.5% | 26.4% | 48.4% | 54.4% |
    | ✕ | 18.7% | 8.1% | 18.6% | 6.4% |
  • qmin 的不足之处 :早期研究已表明,启用 qmin 的解析器偶尔会向 .nl TLD 权威服务器发送包含三个或更多标签的查询。对 .nl .se 的观察证实了这一发现。忽略 .nl 权威的域名和记录查询后,77% 的启用 qmin 解析器偶尔会发送包含两个以上标签的查询,其中 55.1% 的情况会出现这种现象。

综上所述,QNAME 最小化技术在 DNS 系统中的采用率总体呈上升趋势,但在不同地理位置、网络和解析器之间存在显著差异。同时,该技术在实际应用中还存在一些不足之处,需要进一步优化和改进。在性能和隐私方面,查询最小化的适当程度也需要进一步探讨和明确。

【四轴飞行器】非线性三自由度四轴飞行器模拟器研究(Matlab代码实现)内容概要:本文围绕非线性三自由度四轴飞行器模拟器的研究展开,重点介绍了基于Matlab的建模与仿真方法。通过对四轴飞行器的动力学特性进行分析,构建了非线性状态空间模型,并实现了姿态与位置的动态模拟。研究涵盖了飞行器运动方程的建立、控制系统设计及数值仿真验证等环节,突出非线性系统的精确建模与仿真优势,有助于深入理解飞行器在复杂工况下的行为特征。此外,文中还提到了多种配套技术如PID控制、状态估计与路径规划等,展示了Matlab在航空航天仿真中的综合应用能力。; 适合人群:具备一定自动控制理论基础和Matlab编程能力的高校学生、科研人员及从事无人机系统开发的工程技术人员,尤其适合研究生及以上层次的研究者。; 使用场景及目标:①用于四轴飞行器控制系统的设计与验证,支持算法快速原型开发;②作为教学工具帮助理解非线性动力学系统建模与仿真过程;③支撑科研项目中对飞行器姿态控制、轨迹跟踪等问题的深入研究; 阅读建议:建议读者结合文中提供的Matlab代码进行实践操作,重点关注动力学建模与控制模块的实现细节,同时可延伸学习文档中提及的PID控制、状态估计等相关技术内容,以全面提升系统仿真与分析能力。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值