V2EX 07月23日 08:42
[宽带症候群] QType 65 (HTTPS) 的封锁导致苹果设备 App 和网页访问异常缓慢
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

本文深入探讨了iOS/macOS系统在应用QUIC(H3)协议时,因QType 65(HTTPS DNS Lookup)查询处理不当引发的潜在问题。当DNS服务器返回非预期的响应(如SERVFAIL、REFUSED或超时)时,苹果系统未能有效回落至HTTP/1.1,导致应用和网页访问速度变慢甚至出错。部分DNS过滤和代理软件的激进策略,以及网络监控中的简单粗暴拦截,都加剧了这一问题。文章指出,禁用QUIC或确保QType 65查询获得正确响应是解决此类网络卡顿的关键,并提及了苹果自带DoH及Limit IP Address Tracking设置可能带来的影响。

🚀 **QUIC协议的DNS查询机制与兼容性问题**:iOS/macOS系统广泛应用QUIC(H3)协议,其HTTPS DNS Lookup(QType 65)是实现协议升级的关键。然而,当DNS服务器返回除NOERROR或SOA之外的错误信息(如SERVFAIL、REFUSED或超时)时,苹果系统未能正确处理,导致应用无法回落至HTTP/1.1,进而引发访问速度缓慢或错误。

🚫 **第三方软件对QType 65查询的干预**:部分DNS过滤软件和基于Rule-based的代理软件,在处理QType 65请求时采用简单粗暴的阻止方式(如SERVFAIL),而非标准的SOA或REFUSED。这种不兼容的处理方式,加上苹果系统对非预期响应的不当处理,是导致网络性能下降的直接原因。

🛡️ **网络监控与安全策略的负面影响**:一些公司出于监控员工行为或安全考虑,采取一刀切的策略,直接阻止QUIC或拦截QType 65查询。这种做法,无论是有意还是无意,都会阻碍原本可以正常工作的应用和网站,因为它们在等待无响应的请求,最终只能超时回落,严重时甚至导致网络体验极差。

💡 **解决网络卡顿的潜在方案**:对于桌面用户,可以在浏览器设置中禁用QUIC以避免QType 65查询。对于iOS/macOS用户,确保QType 65查询能获得正确的DNS响应是关键。同时,文中也提到苹果自带的DoH和“Limit IP Address Tracking”设置可能对网络连接产生影响,用户可根据情况进行调整。

iOS / macOS 已经将 H3 即 QUIC HTTPS 应用到基本上系统各个组件,而第三方 App 调用系统 API 时会在发起 A 或 AAAA 请求后再次发送一个 QType 65 请求,即 HTTPS DNS Lookup ,一般情况下 H3 需要从 http/1.1 或 H2 升级,而服务器是否允许升级除了 Header 外还可以通过 QType 65 查询的方式,因为 QUIC 流量本质是无状态的 UDP ,难以被深度包检测,所以有些用户使用干净的 DNS 访问 Facebook 的时候能够通过未被硬阻断 TCPMUX 的 H2 或 QUIC 的 H3 无墙访问,最近一年大陆已经不再劫持 QType 65 查询,但是很多 DNS 过滤软件和手机上复杂的 Rule-based 代理软件等各自处理 DNS 请求的方式和回应的方式均不一致,苹果在 DNS 服务器返回错误内容的时候也没有正确处理,这可能可以解释为什么有些人将 DNS 模式改为 Fake IP 后比一般模式下使用更快。

某些 DNS 过滤软件和代理软件在某些用户定义的规则下将 QType 65 请求阻止,而且阻止的方式不是通过 SOA 或者 REFUSED ,而是 SERVFAIL ,问题就出在这里,苹果只认 QType 65 回复 NOERROR 或者 SOA ,其它情况下如 QType 65 超时,REFUSED 或者 SERVFAIL ,很多情况下不会回落到 http/1.1 ,这就会导致某些情况下 App 或者访问的网页龟速,甚至直接出错,这种激进或头脑简单的策略并不能防止中间人,某些公司网络内为了监控员工行为会一刀切阻止 QUIC ,更有甚者直接拦截 QType 65 ,这会导致很多本来没有被阻止的 App 或网站访问异常缓慢,因为应用始终在等待服务器回应,而策略一般是丢包,回应根本不存在,最后只会超时被迫回落,这是最好的情况,最差的情况是很多 assets 在正在尝试升级 H3 的请求队列之后,这会导致网络看上去非常卡。

包括 SSR++ 在内的 OpenWrt 插件也仍然在采用简单粗暴的 DROP ,这会导致客户端超时响应,在很多情况下尤其是 IM 类 App 内卡顿严重。

https://github.com/fw876/helloworld/blob/8ab6c0141bcb9abe757e6327157e9057389b642d/luci-app-ssr-plus/root/usr/bin/ssr-rules#L241

有些苹果用户也许没有注意到这个现象,这是因为苹果有个自带的 DoH ,这个 DoH 在大陆没有被封,有时候这个 DoH 线路龟速会引起其它问题,它在 WiFi 和蜂窝网络中的设置叫做 Limit IP Address Tracking ,这个选项是默认启用的,如果能够连上你的出口会变成 Anycast 最近的 Akamai 出口的 DNS ,对于广移来说是香港,不知道是否 Apple 全权控制。

对于桌面用户,可以前往如 chrome://flags/#enable-quic 禁用 QUIC 则可以避免浏览器发起 QType 65 查询然后尝试升级 H3 。

开启 QUIC 的应用会发出 QType 65 请求



只有回复 NOERROR / SOA 苹果才能正确处理





大陆不再劫持 QType 65



向伊朗不存在的 DNS 服务器发起 QType 65 查询反而被 GFW 注入返回了 A 记录

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

QUIC H3 DNS QType 65 iOS macOS 网络性能
相关文章