最近突然发现一个奇怪的现象,访问国内网站(墙内,不走代理)的时候网页加载都好慢,有些网站比如腾讯云通常要等几十秒甚至一分钟才加载出来,但是访问一些国外网站(走代理)就很快。
而且总体上的感觉是没有例外,国内网站访问都很慢。
理论上来说不应该是国内网络连接延迟要更小一些吗?于是我使用 curl 测试了百度和谷歌的连接延迟,发现真的是这样,如下图
这是不使用代理访问 baidu
这是通过代理访问 baidu (export ALL_PROXY=socks5://127.0.0.1:7890
)
通过代理访问谷歌的情况与上面相似,就不贴图了。
可以发现使用代理(我用的是 clashx )访问百度的的时候耗费在 time_appconnect 上时间会少很多,这部分时间是进行 SSL 握手的时间。好奇为什么使用代理的时候会更快一点?
我的一个想法是可能因为家里网络没有公网 ipv4 地址(有 ipv6 ,但是可能与之无关)导致的。打开代理的时候相当于有了公网 ip (?)
1
churchmice 2022-10-22 20:19:24 +08:00 via Android 1
必然不是,一个 nat 能增加多少延迟。你还是看看 DNS 解析吧以及路由追踪吧,看看是不是绕了一大圈
|
2
miaomiao888 2022-10-22 20:20:54 +08:00 2
可能部分地区 IPV6 不稳定而系统通常又优先 IPV6 访问,所以。。。
|
3
dunn 2022-10-22 20:34:36 +08:00 via iPhone 1
大概率 dns 问题
|
4
geekvcn 2022-10-22 20:36:30 +08:00 via Android 1
我上海用南京电信 IP 的 EDNS 解析百度到南京电信的 IP ,直接解析就是广东电信的 IP ,用北京电信 EDNS 解析的是北京电信 IP 。建议你用 DNSPOD 或者阿里 DNS ,加 EDNS
|
5
geekvcn 2022-10-22 20:37:33 +08:00 via Android 1
我打开百度总计 46ms 包括 DNS 解析
|
6
Chandleric OP 感谢大家,查了一下确实是 DNS 的问题。不知道什么时候把第一个 DNS 服务器配置成了 cloudflare 的 1.1.1.1 ,改成 114.114.114.114 就感觉不到延迟了
|
7
newtoheart2dirk 2022-10-22 21:51:00 +08:00
使移动吗
|
8
systemcall 2022-10-22 21:54:35 +08:00
大概率还是 DNS 的问题
现在很多代理,都会同时向多个 DNS 服务器进行请求,之后按照一定的规则来选择结果。这种 DNS 服务器,如果是运行在 OpenWRT 的话,倒是有很多选择 当然你如果说 Ping 之类的话,那一般是因为代理软件劫持了 ICMP |
10
Chandleric OP @newtoheart2dirk 电信
|
11
xiaoke 2022-10-23 07:47:36 +08:00 via Android
@Chandleric 是 clash 里的 dns 配置吗
|
12
S179276SP 2022-10-23 10:34:26 +08:00
多年以前,移动访问国外比一些国内网站快。。。
|
13
Chandleric OP @xiaoke 不是,是电脑自己的 dns 配置。
|
14
raycheung 2022-10-25 00:30:00 +08:00 via iPhone
@Chandleric 还是优选 223.5.5.5 和 119.29.29.29 吧
|