DoH和DoT选择
DNS-over-TLS (DoT)
是一种通过TLS(传输层安全)协议加密DNS查询和响应的技术。它旨在提供更高的隐私性和安全性,防止DNS数据在客户端和递归解析器之间的传输过程中被窃听或篡改。使用DoT时,DNS查询通常通过端口853发送,这个端口是专门为DoT服务预留的。
DNS-over-HTTPS (DoH)
也是用来加密DNS查询和响应的一种技术,但它使用的是HTTPS协议来封装DNS请求。这使得DNS查询看起来就像普通的HTTPS流量一样,可以与其它网页流量混在一起,增加了拦截和审查的难度。DoH的通信一般通过标准的HTTPS端口443进行。
两者的区别主要在于:
- 协议基础:DoT基于TLS直接加密DNS流量,而DoH则将DNS查询封装在HTTPS请求中。
- 端口使用:DoT通常使用专门的端口853,而DoH使用的是HTTPS常用的端口443。
- 网络管理影响:由于DoH流量难以与其他HTTPS流量区分开来,这对企业或组织的网络管理提出了挑战,因为传统的基于端口的过滤规则不再有效。而DoT由于使用了专用端口,更易于管理和控制。
- 部署和兼容性:DoT可能更容易集成到现有的DNS基础设施中,因为它只是为DNS添加了一个安全层。DoH可能需要对应用程序进行更多的更改,以支持通过HTTPS发送DNS查询。
- 两者的目的都是为了提高DNS的安全性和隐私保护,但它们实现的方法不同,并且各有优缺点,在不同的场景下可能会选择不同的方案。
如何选择
选择使用DNS-over-TLS (DoT) 或 DNS-over-HTTPS (DoH) 取决于多种因素,包括但不限于您的网络环境、隐私需求、安全性考虑以及对网络管理的影响。以下是一些可以帮助您做出决定的因素:
隐私和安全:
如果您的主要关注点是隐私保护,并希望确保DNS查询不被中间人攻击或窥探,那么两种协议都提供了强大的加密保障。
DoH由于其流量与普通HTTPS流量难以区分,可能提供更高的隐私保护,特别是在公共网络或存在审查的环境中。
网络管理和控制:
对于企业网络或需要严格控制内部网络流量的情况,DoT可能是一个更好的选择。因为DoT使用专用端口(通常是853),使得网络管理员可以更容易地监控和管理这些流量。
DoH可能会使网络管理更加复杂,因为它通常通过端口443传输,这与Web流量相同,增加了过滤和管理的难度。
性能考量:
从性能角度来看,DoT和DoH都会引入一定的延迟,这是因为TLS握手过程所需的时间。然而,实际影响取决于具体的实现和其他因素,比如网络状况等。一般而言,DoT和DoH之间的性能差异并不显著。
兼容性和支持:
检查您的设备、操作系统和应用程序是否支持DoT或DoH。一些较新的操作系统和浏览器已经开始内置对这两种协议的支持,但并非所有服务和软件都支持它们。
确保您的DNS解析器也支持所选的协议。不是所有的DNS服务提供商都同时支持DoT和DoH。
政策和法规:
在某些地区,可能存在特定的法律法规影响您对DoT或DoH的选择。例如,某些国家或组织可能有规定要求保留DNS日志或者阻止访问某些类型的内容,这时需要考虑合规性问题。
性能区别
DNS-over-TLS (DoT) 和 DNS-over-HTTPS (DoH) 在性能上的区别主要体现在几个方面,包括加密开销、网络条件下的响应时间、页面加载时间和对网络环境的适应性。以下是两者的性能对比:
加密开销:
两者都使用TLS加密,因此在理论上它们引入的加密和解密开销是相似的。不过,实际开销可能会因为实现细节的不同而有所变化。
查询响应时间:
根据研究,DoT和DoH相较于未加密的传统DNS(如DO53)确实会有一些额外的延迟,这是因为TLS握手过程增加了时间成本。
在良好网络条件下,DoT和DoH的查询响应时间可能相差不大,但在受损或高延迟网络环境中,DoH由于其基于HTTP/2的特性,可以更好地利用多路复用等特性,这可能会使其表现优于DoT。
页面加载时间:
DoH的一个优势在于它通常与浏览器优化紧密集成,例如Firefox和Chrome等现代浏览器支持DoH,并且可以通过异步查询等方式减少对页面加载时间的影响。
研究表明,在某些情况下,尤其是在有损网络条件下,DoH可以在页面加载时间内提供更好的表现,因为它不会被同步查询所阻塞。而DoT的表现则更加依赖于底层TCP连接的稳定性和效率。
网络环境适应性:
在正常网络条件下,Do53(传统的非加密DNS)往往具有最快的响应时间,但随着网络状况恶化,DoT和DoH的优势变得更加明显,特别是在存在丢包或高延迟的情况下,它们能够更有效地处理这些问题。
DoH由于通过HTTPS端口443传输,更容易穿越防火墙和NAT设备,减少了因端口封锁带来的问题;而DoT使用的专用端口853可能更容易受到运营商或网络管理员的限制。
长期性能:
随着时间推移和技术进步,TLS握手过程变得越来越高效,比如0-RTT(零往返时间恢复)等机制的应用,这些改进同样适用于DoT和DoH,有助于降低加密带来的延迟。
DoT | DoH | |
---|---|---|
默认使用端口 | 853 | 443 |
传输层协议 | TCP | TCP |
身份认证与加密 | TLS | TLS |
隐蔽性 | 容易被防火墙拦截 | 与HTTPS端口相同,可混入HTTP请求 |
特点 | 于TCP与应用层之间,无需HTTPS应用层之上的架构 | 需要URL支持 |
配置描述文件下载
描述文件下载