最近剛好跟朋友有聊到 1.1.1.1
,然後就有提到我不推薦使用 1.1.1.1
的原因。
主要是因為 Cloudflare 以隱私的理由所以不打算支援 EDNS Client Subnet (ECS),而 ECS 這項技術可以把 client 的 subnet 資訊帶給 DNS server,讓 DNS server 可以配出更精準的伺服器,而關於 Cloudflare 不支援的這點,可以在「1.1.1.1 supports ECS?」這邊看到一些討論。
這個問題在 Akamai 這種超大 CDN,在同一個地區的各 ISP 都有伺服器的情況下特別明顯。
以我家第四台的 cable 線路來說 (我的備用線路),是走亞太 (APOL) 的線路出去,如果從自己的 ISP 查 www.akamai.com 的位置,可以查到 23.76.81.151
,用 mtr 可以發現是走到 EBIX (也是亞太) 裡面的伺服器:
gslin@rpi3p [~] [13:35] host www.akamai.com
www.akamai.com is an alias for www.akamai.comv2.edgekey.net.
www.akamai.comv2.edgekey.net is an alias for e1699.dscx.akamaiedge.net.
e1699.dscx.akamaiedge.net has address 23.76.81.151
e1699.dscx.akamaiedge.net has IPv6 address 2600:1417:76:594::6a3
e1699.dscx.akamaiedge.net has IPv6 address 2600:1417:76:58a::6a3
gslin@rpi3p [~] [13:35] mtr -w 23.76.81.151
Start: 2020-04-05T13:35:49+0000
HOST: rpi3p Loss% Snt Last Avg Best Wrst StDev
1.|-- unknown 0.0% 10 0.5 0.5 0.4 0.6 0.0
2.|-- NK219-91-13-254.adsl.dynamic.apol.com.tw 0.0% 10 7.8 8.2 6.1 11.9 1.7
3.|-- 10.251.11.6 0.0% 10 19.3 25.6 19.3 33.5 4.7
4.|-- 10.251.231.5 0.0% 10 25.4 23.4 19.8 29.1 3.7
5.|-- 10.251.231.1 0.0% 10 8.0 10.7 5.7 24.0 5.7
6.|-- 10.251.230.34 0.0% 10 26.6 20.6 5.9 110.0 32.1
7.|-- 10.251.230.29 0.0% 10 58.4 35.4 6.6 81.2 30.9
8.|-- 202-178-245-162.cm.static.apol.com.tw 0.0% 10 9.5 18.4 7.4 78.5 21.3
9.|-- 203-79-250-201.static.apol.com.tw 0.0% 10 8.5 8.2 6.4 9.8 1.0
10.|-- 211.76.96.191 0.0% 10 7.2 10.2 6.7 15.6 2.7
11.|-- 203-79-254-10.ebix.net.tw 0.0% 10 2226. 3802. 2226. 6017. 1314.6
12.|-- a23-76-81-151.deploy.static.akamaitechnologies.com 0.0% 10 6.4 9.4 6.3 16.4 3.3
但如果從 1.1.1.1
查,會查到在中華電信內的 Akamai 伺服器,於是在尖峰時間反而變得很慢:
gslin@rpi3p [~] [13:36] host www.akamai.com 1.1.1.1
Using domain server:
Name: 1.1.1.1
Address: 1.1.1.1#53
Aliases:
www.akamai.com is an alias for www.akamai.comv2.edgekey.net.
www.akamai.comv2.edgekey.net is an alias for e1699.dscx.akamaiedge.net.
e1699.dscx.akamaiedge.net has address 23.48.142.132
e1699.dscx.akamaiedge.net has IPv6 address 2001:b034:1:1ea7::6a3
e1699.dscx.akamaiedge.net has IPv6 address 2001:b034:1:1e9f::6a3
gslin@rpi3p [~] [13:39] mtr -w 23.48.142.132
Start: 2020-04-05T13:39:42+0000
HOST: rpi3p Loss% Snt Last Avg Best Wrst StDev
1.|-- unknown 0.0% 10 0.4 0.5 0.4 0.6 0.1
2.|-- NK219-91-13-254.adsl.dynamic.apol.com.tw 0.0% 10 8.7 17.0 6.1 81.2 22.8
3.|-- 10.251.11.6 0.0% 10 26.7 24.6 21.4 29.3 2.8
4.|-- 10.251.231.5 0.0% 10 26.8 29.9 16.8 88.6 21.0
5.|-- 10.251.231.1 0.0% 10 7.2 8.3 6.8 12.7 1.8
6.|-- 10.251.230.34 0.0% 10 10.3 8.9 5.9 11.0 1.6
7.|-- 10.251.230.29 0.0% 10 6.3 10.1 5.4 31.7 7.8
8.|-- 202-178-245-162.cm.static.apol.com.tw 0.0% 10 8.8 9.1 7.3 13.2 1.8
9.|-- 203-79-250-209.static.apol.com.tw 0.0% 10 10.0 8.6 6.3 10.8 1.5
10.|-- 211.76.96.67 0.0% 10 7.9 9.0 4.0 12.4 2.6
11.|-- 109-84-21-113-static.chief.net.tw 0.0% 10 18.3 11.7 7.0 25.1 5.7
12.|-- 21-252-123-103-static.chief.net.tw 0.0% 10 9.4 10.0 7.7 15.0 2.2
13.|-- 203-75-228-5.HINET-IP.hinet.net 0.0% 10 10.1 10.8 7.0 21.2 4.3
14.|-- r4209-s2.hinet.net 0.0% 10 9.4 10.5 6.3 17.9 3.7
15.|-- tpdt-3012.hinet.net 0.0% 10 92.0 61.6 11.1 141.6 53.8
16.|-- tpdt-3301.hinet.net 0.0% 10 42.9 38.8 7.3 100.8 33.6
17.|-- a23-48-142-132.deploy.static.akamaitechnologies.com 0.0% 10 8.2 15.5 8.2 46.6 12.4
跨 ISP 的線路品質通常都沒有同一個 ISP 內來的好,但因為沒有 EDNS Client Subnet (ECS) 的資訊,所以只能導去當地 (地理上) 預設的點,latency 應該還是夠低,但頻寬就未必足夠了。
用 8.8.8.8
會好一點,但目前最建議的還是用 ISP 自家的 DNS resolver,當 ISP 的 DNS Resolver 不支援 EDNS Client Subnet 時,CDN 也還是會正確讀到 ISP 的資訊,配到的伺服器的頻寬就不會太差...