
最近突然发现一个奇怪的现象,访问国内网站(墙内,不走代理)的时候网页加载都好慢,有些网站比如腾讯云通常要等几十秒甚至一分钟才加载出来,但是访问一些国外网站(走代理)就很快。
而且总体上的感觉是没有例外,国内网站访问都很慢。
理论上来说不应该是国内网络连接延迟要更小一些吗?于是我使用 curl 测试了百度和谷歌的连接延迟,发现真的是这样,如下图
这是不使用代理访问 baidu

这是通过代理访问 baidu (export ALL_PROXY=socks5://127.0.0.1:7890)

通过代理访问谷歌的情况与上面相似,就不贴图了。
可以发现使用代理(我用的是 clashx )访问百度的的时候耗费在 time_appconnect 上时间会少很多,这部分时间是进行 SSL 握手的时间。好奇为什么使用代理的时候会更快一点?
我的一个想法是可能因为家里网络没有公网 ipv4 地址(有 ipv6 ,但是可能与之无关)导致的。打开代理的时候相当于有了公网 ip (?)
1 churchmice 2022 年 10 月 22 日 via Android 必然不是,一个 nat 能增加多少延迟。你还是看看 DNS 解析吧以及路由追踪吧,看看是不是绕了一大圈 |
2 miaomiao888 2022 年 10 月 22 日 可能部分地区 IPV6 不稳定而系统通常又优先 IPV6 访问,所以。。。 |
3 dunn 2022 年 10 月 22 日 via iPhone 大概率 dns 问题 |
4 geekvcn 2022 年 10 月 22 日 via Android 我上海用南京电信 IP 的 EDNS 解析百度到南京电信的 IP ,直接解析就是广东电信的 IP ,用北京电信 EDNS 解析的是北京电信 IP 。建议你用 DNSPOD 或者阿里 DNS ,加 EDNS |
5 geekvcn 2022 年 10 月 22 日 via Android 我打开百度总计 46ms 包括 DNS 解析 |
6 Chandleric OP 感谢大家,查了一下确实是 DNS 的问题。不知道什么时候把第一个 DNS 服务器配置成了 cloudflare 的 1.1.1.1 ,改成 114.114.114.114 就感觉不到延迟了 |
7 newtoheart2dirk 2022 年 10 月 22 日 使移动吗 |
8 systemcall 2022 年 10 月 22 日 大概率还是 DNS 的问题 现在很多代理,都会同时向多个 DNS 服务器进行请求,之后按照一定的规则来选择结果。这种 DNS 服务器,如果是运行在 OpenWRT 的话,倒是有很多选择 当然你如果说 Ping 之类的话,那一般是因为代理软件劫持了 ICMP |
10 Chandleric OP @newtoheart2dirk 电信 |
11 xiaoke 2022 年 10 月 23 日 via Android @Chandleric 是 clash 里的 dns 配置吗 |
12 S179276SP 2022 年 10 月 23 日 多年以前,移动访问国外比一些国内网站快。。。 |
13 Chandleric OP @xiaoke 不是,是电脑自己的 dns 配置。 |
14 raycheung 2022 年 10 月 25 日 via iPhone @Chandleric 还是优选 223.5.5.5 和 119.29.29.29 吧 |