@
mrzx 基本上是这个思路。
问题主要发生在向各个域的权威 DNS 查询这一步,得到的主机 IP 地址是否准确。[ 实际上,真实的响应并没有变化,只不过路上有错误的响应进行了抢答,由于解析原理是接受第一个返回的响应( UDP,无验证),所以实际上接受了一个错误的响应内容。]
这种干扰主要针对权威 DNS 设置在国外的网站。那么,对于这种情况,UDP 包走加密通道,就不会有错误的应答进行干扰。
由于国内的网站,权威 DNS 基本上都在国内,因此对其的查询,是直连的,从 DNS 看来,源 IP 来自你的 ISP,所以权威 DNS 如果有设置针对不同来源响应不同 IP 的话,能够给到准确的 IP,有时候,这些 IP 是第三方 CDN 的。
已有的一些方法,向权威 DNS 查询的时候,源 IP 都已经不是本来的(例如各种公共 DNS 作为源向权威 DNS 查询,再例如用 name list 区分一部分域通过 TCP,用另外的主机发起 UDP 查询)。这类方法,对于 CDN 并不能很好适配。
这样说不知是否解释得有条理一些。若还有疑问可以进一步讨论。