Skip to main content

10. Operational Considerations (运营考虑)

DoH的运营考虑因素涉及客户端和服务器两方面。

服务器运营商的考虑:

DoH服务器通常需要处理比传统DNS服务器更多的连接开销,因为每个HTTPS连接都需要TLS握手。服务器运营商应该准备好处理这种增加的开销,并应该考虑使用TLS会话恢复和其他优化技术来减少开销。

DoH服务器可能会看到来自客户端的不同流量模式,特别是如果客户端使用HTTP/2连接多路复用。服务器应该设计为能够有效地处理这些模式。

DoH服务器运营商应该意识到,运行DoH服务器可能会使他们成为审查或监控的目标。在某些司法管辖区,可能需要遵守数据保留或监控要求。服务器运营商应该了解适用于他们的法律要求。

DoH服务器应该实施适当的监控和日志记录,以便能够诊断问题和识别攻击。但是,如第8节所述,日志记录应该在尊重用户隐私的情况下进行。

DoH服务器可能希望实施速率限制或其他形式的滥用预防。这在DoH环境中可能比在传统DNS中更复杂,因为客户端可能共享IP地址 (例如,在NAT后面) 或使用多个连接。

客户端运营商的考虑:

DoH客户端需要配置一个或多个DoH服务器。这种配置可以是手动的或自动的。自动配置机制 (例如通过DHCP) 仍在开发中,可能不是所有环境都可用。

DoH客户端应该考虑如何处理DoH服务器不可用的情况。选项包括回退到传统DNS、尝试备用DoH服务器或完全失败。正确的选择取决于应用程序和环境。

DoH客户端可能需要处理"分裂DNS"环境,其中某些域名应该通过本地DNS服务器解析,而其他域名应该通过DoH解析。这需要适当的配置和策略管理。

使用DoH可能会增加DNS查询的延迟,特别是对于需要建立新的HTTPS连接的第一个查询。客户端应该考虑使用持久连接和连接预建立等技术来减少这种延迟。

DoH客户端应该准备好处理HTTP重定向和其他HTTP功能。虽然重定向在DoH中是允许的,但客户端应该小心避免重定向循环和其他潜在问题。

网络运营商的考虑:

网络运营商应该意识到,DoH流量看起来像普通的HTTPS流量,可能难以识别和区分。这可能会影响网络监控和故障排除。

某些网络可能依赖于DNS进行策略实施,例如家长控制或恶意软件过滤。DoH的使用可能会绕过这些控制。网络运营商可能希望部署自己的DoH服务器或使用其他方法来实施策略。

企业网络可能希望控制其用户可以使用哪些DoH服务器。这可以通过网络策略、设备配置或其他机制来实现。

DoH可能会影响某些网络优化技术,例如DNS缓存代理。网络运营商应该考虑这些影响,并可能需要调整其基础设施。

内容分发网络 (CDN) 的考虑:

许多CDN依赖于基于DNS的地理定位来将用户定向到最近的服务器。当使用DoH时,DNS查询可能来自DoH服务器而不是最终用户,这可能会影响地理定位的准确性。

EDNS Client Subnet (ECS) [RFC7871] 可以与DoH一起使用来缓解这个问题,但这引入了隐私权衡。DoH服务器和客户端应该仔细考虑是否使用ECS以及如何使用。

互操作性考虑:

DoH客户端和服务器应该支持内容协商,以允许将来定义新的DNS传输格式。虽然"application/dns-message"是当前定义的格式,但将来可能会定义其他格式。

DoH实现应该与现有的DNS基础设施互操作。特别是,DoH服务器通常会将查询转发到传统的DNS解析器,并且应该能够正确处理来自这些解析器的响应。

DoH不要求使用DNSSEC,但DoH实现应该能够处理DNSSEC签名的响应,并应该正确传递DNSSEC验证状态。

过渡和部署考虑:

DoH的部署可能是渐进的。客户端和服务器应该设计为能够在DoH和传统DNS混合的环境中运行。

某些应用程序可能希望使用DoH,而其他应用程序可能希望使用传统DNS。操作系统和网络库应该提供机制来允许这种灵活性。

DoH的广泛部署可能需要对现有的DNS基础设施进行重大更改。运营商应该计划这些更改,并应该考虑如何管理过渡。