仅支持 IPv6 的世界中 DNS 的准备情况及 DNS 解析器的 TTL 违规问题
1. 仅支持 IPv6 的世界中 DNS 研究的未来方向与局限性
在评估 DNS 区域对 IPv6 的准备情况时,仅测试 AAAA 记录的存在是不够的,而应测量这些区域是否可通过 IPv6 解析,这同样适用于电子邮件设置和网站。在网络测量 IPv6 采用情况时,鉴于 DNS 的集中化现象,需要考虑并量化单个运营商的影响,区分少数巨头造成的影响和整个互联网的普遍行为,同时识别并排除可能暂时出现的异常情况。
研究存在一定局限性。由于数据集依赖 DNS 缓存未命中情况,会遗漏在给定月份未被请求或未被监测到的域名,且使用月度汇总数据可能掩盖短期的配置错误。为解决这些问题,使用权威顶级域名区域文件的额外真实数据来支持有关配置错误的主要发现。
使用的 Alexa 列表存在已知局限性,因此将其聚类为不同的排名层级,以减少高层级的波动。研究仅评估区域的配置状态,而非实际解析情况,例如“无效委托”等其他原因不在研究范围内。无法确定所测量的区域是否实际解析,也无法评估观察到的 DNS 问题对其他协议(如 HTTPS)的影响。为解决被动数据源的局限性,进行了主动测量,验证了被动测量结果,并提供了有关区域权威 DNS 服务器实际可达性的更多见解。
主动测量也有局限性。一是测量仅从单个视角进行,由于内容分发网络(CDN)通过 DNS 进行负载均衡,这可能导致视角特定性,但配置错误在运营商内部可能是一致的,且 DNS 基础设施相对 A 和 AAAA 记录而言动态性较低。二是测量仅局限于 Alexa 排名前 100 万的网站及相关域名,这样做是为了减少对互联网生态系统的影响。
2. 相关研究工作
相关研究大致分为两类:一是关于 IPv6 采用和准备情况的研究,二是关于 DNS 及 DNS 配置错误的研究。
在 IPv6 采用和准备情况方面,随着 IPv4 地址空间耗尽,IPv6 采用一直是研究热点。2014 年 Czyz 等人进行了关于 IPv6 采用的初步研究,采用多视角方法并涵盖 DNS,但本研究聚焦于其研究结束后的时间段,且考虑了完整的解析路径,而他们仅调查了 net. 和 com. 中的 AAAA 胶水记录。Foremski 等人和 Plonka 与 Berger 的工作研究了边缘的 IPv6 采用情况,与本研究正交。近年来,不同研究人员从国家和域名特定视角研究 IPv6 采用情况。
在 DNS 及 DNS 配置错误研究方面,DNS 作为互联网核心组件,过去几十年一直是研究对象,包括新协议特性的采用研究。这些研究使用各种主动和被动数据集来研究 DNS 的运营方面。Sommese 等人研究了父级和子级 NS 集的不一致性,Akiwate 等人研究了无效委托,但他们要么不考虑 DNS 委托的 IP 部分,要么明确聚焦于 IPv4。Izhikevich 等人提出的 ZDNS 工具针对 IPv4 设计,不支持通过 IPv6 查询权威名称服务器,因此本研究使用自行实现的支持 IPv6 解析的 DNS 解析方法进行主动 DNS 测量。
3. 研究总结与结论
本研究在仅支持 IPv6 的环境下对 IPv6 委托中断的根本原因进行了被动 DNS 测量。尽管随着时间推移,可通过 IPv4 和 IPv6 解析的区域数量不断增加,但在 2022 年 8 月,仍有 44.9%的区域无法通过 IPv6 解析,最常见的失败情况是区域或其父级的 NS 记录无法解析。建议运营商在整个委托链上明确监控 IPv6。
通过主动测量对结果进行了专门验证,验证结果广泛证实了被动测量的结果,并强调了不能仅依赖特定记录的存在,因为 DNS 中列出 IPv6 地址的名称服务器可能实际上没有响应。
计划随研究提供测量方法的开源实现,以及简化版的测量工具链,使运营商能够明确检查给定区域或完全限定域名(FQDN)是否可通过 IPv6 解析,同时将主动测量结果作为开放数据提供。未来工作建议系统地扩展主动测量活动,以评估网站及所有网络资产的可解析性。通过主动测量,可以明确解析主机名,对委托链进行主动检查,验证所有权威名称服务器的响应,发现区域与其父级之间以及 NS 集内部的不一致性。推测由于广泛使用子域名作为网络资产,观察到的 IPv6 可解析性降低可能对网络的 IPv6 就绪性产生重大影响,即使用无法通过 IPv6 解析的域名上的资产的网站不具备 IPv6 就绪性。
4. DNS 解析器的 TTL 违规问题
DNS 提供可扩展的名称解析服务,通过广泛使用缓存来提高弹性和性能,每个 DNS 记录包含一个生存时间(TTL)值,指定该记录在被丢弃前可被缓存的时长,该值由 DNS 权威服务器分配。DNS 消费者(如 DNS 解析器)可在 TTL 期间缓存 DNS 响应,以便未来请求可在本地完成,无需向权威服务器发送额外查询。
由于 DNS 的弹性和效率,它已从简单地提供人类可读名称与网络级 IP 地址之间的映射,发展到为其他协议提供安全特性(如电子邮件协议的 MTA - STS、TLSA 和 BIMI)或通过委托控制来提高性能。
测量全球 DNS 解析器如何管理 TTL 仍然困难,因为通常需要全球多个节点的合作。研究提出了一种使用 HTTP/S 代理服务来测量违反 TTL 的解析器的方法,覆盖了 9500 个自治系统(AS)中的超过 27000 个解析器。在通过至少五个不同视角可测量的 8524 个解析器中,发现 8.74%的解析器会任意延长 TTL,这可能会降低至少 38%使用 CDN 的热门网站的性能。此外,44.1%的 DNSSEC 验证解析器在 RRSIG 过期后仍从缓存中错误地提供 DNSSEC 签名响应。
5. 关键要点总结
| 研究内容 | 关键要点 |
|---|---|
| IPv6 环境下 DNS 研究 |
- 评估 DNS 区域 IPv6 准备情况需考虑实际解析
- 研究存在数据和测量视角等局限性 - 主动测量可补充被动测量结果 |
| 相关研究 |
- IPv6 采用研究视角多样
- DNS 及配置错误研究方法和工具各有特点 |
| 研究结论与展望 |
- 2022 年 8 月部分区域 IPv6 解析存在问题
- 建议运营商监控 IPv6 - 未来扩展主动测量评估网络资产可解析性 |
| DNS 解析器 TTL 违规 |
- DNS 利用 TTL 缓存提高性能
- 部分解析器存在 TTL 违规情况影响网站性能 |
6. 研究流程与逻辑 mermaid 图
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始研究]):::startend --> B(评估 DNS 区域 IPv6 准备情况):::process
B --> C{使用 AAAA 记录评估?}:::decision
C -->|否| D(测量区域是否可 IPv6 解析):::process
C -->|是| E(发现评估不充分):::process
D --> F(考虑运营商影响及异常情况):::process
F --> G(发现研究局限性):::process
G --> H(进行主动测量):::process
H --> I(验证被动测量结果):::process
I --> J(总结 IPv6 解析问题及建议):::process
J --> K(展望未来扩展主动测量):::process
A --> L(研究 DNS 解析器 TTL 管理):::process
L --> M(发现测量困难):::process
M --> N(提出 HTTP/S 代理测量方法):::process
N --> O(发现解析器 TTL 违规情况):::process
O --> P(分析违规影响网站性能):::process
P --> Q([研究结束]):::startend
K --> Q
以上总结了在仅支持 IPv6 的世界中 DNS 的准备情况研究以及 DNS 解析器的 TTL 违规问题研究,涵盖了研究方法、发现、结论和未来展望等方面,为相关领域的进一步研究和实践提供了有价值的参考。
仅支持 IPv6 的世界中 DNS 的准备情况及 DNS 解析器的 TTL 违规问题
7. DNS 解析器 TTL 违规的影响分析
DNS 解析器 TTL 违规会带来多方面的影响,下面从性能和安全两个维度进行详细分析。
7.1 对网站性能的影响
当解析器任意延长 TTL 时,会导致缓存的 DNS 记录在超出合理时间后仍被使用。对于使用 CDN 的网站来说,CDN 会根据用户的地理位置和网络状况动态分配最优的节点来提供服务。如果解析器延长 TTL,可能会使客户端长时间连接到并非最优的 CDN 节点,从而导致响应时间增加、下载速度变慢等问题。例如,用户在访问一个视频网站时,由于解析器延长 TTL,客户端一直连接到距离较远的 CDN 节点,视频加载缓慢,影响用户体验。
| 影响方面 | 具体表现 |
|---|---|
| 响应时间 | 增加,用户等待页面加载的时间变长 |
| 下载速度 | 变慢,文件和资源的下载耗时增加 |
| 用户体验 | 变差,可能导致用户流失 |
7.2 对 DNSSEC 安全的影响
44.1%的 DNSSEC 验证解析器在 RRSIG 过期后仍从缓存中错误地提供 DNSSEC 签名响应,这严重威胁到了 DNSSEC 的安全性。DNSSEC 的目的是防止 DNS 欺骗和中间人攻击,通过数字签名来验证 DNS 响应的真实性和完整性。当 RRSIG 过期后,签名的有效性不再得到保证,解析器继续提供过期签名的响应,可能会使客户端接受被篡改的 DNS 信息,从而遭受攻击。
8. 应对 DNS 解析器 TTL 违规的建议
为了应对 DNS 解析器 TTL 违规问题,可以从解析器管理和网站运营两个方面采取措施。
8.1 解析器管理方面
- 严格遵守 TTL 规则 :解析器应严格按照 DNS 记录的 TTL 值进行缓存管理,在 TTL 过期后及时向权威服务器重新查询,确保缓存的记录始终是最新的。
- 加强监控和审计 :对解析器的缓存行为进行实时监控和审计,及时发现并纠正 TTL 违规的情况。可以设置警报机制,当发现解析器延长 TTL 或在 RRSIG 过期后仍提供签名响应时,及时通知管理员进行处理。
8.2 网站运营方面
- 合理设置 TTL 值 :网站管理员在配置 DNS 记录时,应根据网站的更新频率和稳定性合理设置 TTL 值。对于更新频繁的网站,可以适当缩短 TTL 值,以确保客户端能够及时获取最新的 DNS 信息;对于相对稳定的网站,可以适当延长 TTL 值,以减少对权威服务器的查询压力。
- 采用多解析器策略 :网站可以配置多个解析器,当一个解析器出现 TTL 违规问题时,客户端可以自动切换到其他解析器进行查询,提高网站的可用性和稳定性。
9. 研究的整体流程图
graph LR
classDef startend fill:#F5EBFF,stroke:#BE8FED,stroke-width:2px;
classDef process fill:#E5F6FF,stroke:#73A6FF,stroke-width:2px;
classDef decision fill:#FFF6CC,stroke:#FFBC52,stroke-width:2px;
A([开始研究]):::startend --> B(IPv6 环境下 DNS 研究):::process
B --> C(相关研究调研):::process
C --> D(研究 DNS 解析器 TTL 违规):::process
D --> E(分析 TTL 违规影响):::process
E --> F(提出应对建议):::process
F --> G(总结研究成果):::process
G --> H([研究结束]):::startend
10. 总结
本次研究围绕仅支持 IPv6 的世界中 DNS 的准备情况以及 DNS 解析器的 TTL 违规问题展开。在 IPv6 环境下的 DNS 研究中,发现评估 DNS 区域对 IPv6 的准备情况需要综合考虑实际解析情况,同时研究存在数据和测量视角等局限性,主动测量可以有效补充被动测量的结果。在 DNS 解析器 TTL 违规方面,部分解析器存在任意延长 TTL 和在 RRSIG 过期后仍提供签名响应的问题,这对网站性能和 DNSSEC 安全造成了负面影响。通过采取解析器管理和网站运营方面的应对措施,可以有效降低 TTL 违规带来的风险。未来的研究可以进一步扩展主动测量的范围,深入研究 DNS 在复杂网络环境下的性能和安全性问题。
超级会员免费看
3062

被折叠的 条评论
为什么被折叠?



