发布于2019/12/29更新于2024/7/5
接上一篇“访问经Cloudflare CDN代理站点后的线路是什么”。阅读了Anycast,也一同看了Cloudflare CEO针对Anycast所写的“A Brief Primer on Anycast”这篇日志,才对Anycast有点点懂。也就是说,之前记录有人提到为了使用Cloudflare并且自选IP什么的,实际是没什么太大意义的。
在ping.pe做了一次对logs.yuliu.me的ping/mtr测试,结果如下:

从上面的结果可以看到:
- 从全球不同地点访问同一Cloudflare的Anycast IP,会经由不同线路;Cloudflare会就近为接入访问提供服务。如:
- 从日本东京访问,则接入Cloudflare在日本东京的数据中心:
- 第5行“203.190.230.72”。
- 从新加坡访问,则接入Cloudflare在新加坡的数据中心:
- 第3行“27.111.228.132”。
- 从日本东京访问,则接入Cloudflare在日本东京的数据中心:
- 从中国国内访问同一Cloudflare的Anycast IP,基本都会绕道美国(因为中国网络存在特殊性,主要是网络监管和ICP备案等):
- 中国电信线路会经过CHINANET中国电信骨干网,接入美国节点。如从北京腾讯云的访问:
- 第11行“202.97.12.62”位于北京;
- 第12行“202.97.59.134”位于美国加州洛杉矶(Flagfox的Geotool仍然会显示中国,因为是属于中国电信运营的IP,实际地理位置在美国加州洛杉矶,可查询IPIP的IP库,下同);
- 第14行“218.30.54.214”位于美国加州洛杉矶。
- 中国联通线路会经过CHINA169中国联通骨干网,接入美国节点。如从江苏联通的访问:
- 第9行“219.158.113.133”位于上海;
- 第10行“219.158.116.238”位于美国加州圣何塞;
- 第12行“173.205.51.142”位于美国加州圣何塞,最终由Cloudflare在GTT圣何塞的数据中心接入。
- 中国移动线路会经过中国移动在香港的节点,进而接入新加坡节点。如从江苏移动的访问:
- 第10行“221.183.55.49”查询位置位于上海(运营商为广东移动);
- 第11行“223.120.22.10”查询位置位于广州(运营商为Level 30, Tower 1,及中国移动国际有限公司/CMI-INT-HK)
- 第12行“223.120.2.85”查询位置位于香港(运营商为Level 30, Tower 1,及中国移动国际有限公司/CMI-INT-HK)
- 第18行“116.51.31.126”位于新加坡,最终由Cloudflare在NTT新加坡的数据中心接入。
- 中国电信线路会经过CHINANET中国电信骨干网,接入美国节点。如从北京腾讯云的访问:
在本机做一个从教育网访问的测试:
C:>tracert 104.28.0.38 通过最多 30 个跃点跟踪到 104.28.0.38 的路由 1 1 ms 1 ms 1 ms 10.103.240.1 2 1 ms 1 ms 1 ms 10.1.30.1 3 * 1 ms * 10.1.1.1 4 * 1 ms * 10.0.4.21 5 1 ms <1 毫秒 <1 毫秒 10.0.3.13 6 <1 毫秒 * 1 ms 10.0.3.9 7 19 ms 25 ms 1 ms 172.16.3.129 8 2 ms 3 ms 2 ms 202.112.42.1 9 1 ms 2 ms 2 ms 101.4.113.66 10 1 ms 1 ms 1 ms 101.4.112.97 11 3 ms 3 ms 3 ms 101.4.114.174 12 3 ms 3 ms 2 ms 101.4.117.102 13 246 ms 245 ms 242 ms 101.4.117.214 14 238 ms 245 ms 243 ms ix-xe-9-1-5-0.tcore1.lvw-los-angeles.as6453.net [66.110.59.181] 15 244 ms * 240 ms if-ae-30-2.tcore1.eql-los-angeles.as6453.net [206.82.129.18] 16 221 ms 238 ms 244 ms 206.82.129.227 17 242 ms 242 ms 244 ms 104.28.0.38 跟踪完成。
结果中:
- 第12条“101.4.117.102”查询位置位于北京,属于中国教育网;
- 第13跳“101.4.117.214”查询位置位于美国加州洛杉矶,属于中国教育网;
- 第16跳“206.82.129.227”查询位置位于美国加州洛杉矶,属于Tata通信(美国)公司。
教育网这个路由有意思……
这么看来,通过中国电信和中国联通的访问都会经过相应的骨干网、经由Cloudflare在美国圣何塞或洛杉矶的节点接入访问;通过中国移动的访问会经由中移香港节点、从Cloudflare在新加坡的节点接入访问;通过中国教育网的访问会经过相应的骨干网、经由Cloudflare在美国洛杉矶的节点接入访问。不过前几天我有测试从中国移动访问,显示是从Cloudflare在香港的数据中心接入访问的,但也有时候会从美国加州洛杉矶接入。当然,造成这种变化的原因也应该是Anycast,即因线路状况(当然也跟站点使用的套餐有关,毕竟花钱的优先对待)等因素动态路由。
因此,什么Cloudflare自选IP,是没什么太大的实际意义的。不过,通过使用CNAME代理站点,也有一些好处;“自选IP”而使用Cloudflare“高等级”的IP,似乎也是有不同结果的。