Anycast 和 CDN 选点:同一地址为什么落到不同机房
很多大型网站用 Anycast:同一个地址由多地同时宣告,网络会把你带到它认为合适的一处。内容分发网络再在边缘机房放缓存。你用刺猬VPN换出口,起点变了,被带到的机房也会变。于是同一域名有时很快、有时绕远,语言和版权提示也会跟着边缘所在的地区变。
这不是线路「选错协议」。先分清是名字解析到了哪里,再看连接实际落到哪一跳。下面用普通的查看方法说明原理,不写干扰他人网络或伪造地址的做法。
三个层次不要看成一个机房
地址数字没变,不代表机房没变。Anycast 的特点就是多地共用地址。只比对地址是否相同,得不出「还是不是原来那一站」的结论。
| 对比项 | 权威名字 | Anycast 地址 | 边缘缓存 |
|---|---|---|---|
| 你看到的 | 域名 | 一串相同的数字地址 | 某个城市的机房 |
| 谁决定 | 域名系统 | 路由宣告 | 厂商的调度 |
| 换出口后 | 可能仍是同一个名字 | 仍可能是同一地址 | 落到的机房会变 |
| 延迟变了 | 不一定是名字变了 | 路径变了 | 缓存远近变了 |
| 地区页变了 | 不一定 | 不一定 | 经常是边缘认为你在别处 |
| 该查 | 解析结果 | 路径 | 响应里的机房线索 |
换出口之后怎么核对
- 第一步:先把线路准备好。安装刺猬VPN,自定义用户名和密码注册,不需要邮箱和手机号。免费节点永久免费、不限流量、不限速。选定一个节点并保持连接,再做后面的对照。全程 HTTPS+AES 加密传输。
- 第二步:记下当前节点所在国家。不要边测试边换。
- 第三步:在这个出口下打开目标站,看语言、版权提示和速度是否符合预期。把结果写下来。
- 第四步:查看这个域名现在解析到的地址,并看连接经过的路径。路径后几跳反复变化,说明还没稳定落到一处。
- 第五步:换一个同国家的节点,重复同一次打开和路径查看。同国家仍差很多,再考虑换国家。
- 第六步:若只有地区页错、页面却很快,多半是边缘按出口国家给了那一版内容。要看目标国家的版本,出口就放在那个国家,而不是追求数值上更近的别国机房。
- 第七步:解析结果和你期望的国家不一致时,先确认没有泄露到另一套解析。解析走了别处,后面的选点都会偏。
- 第八步:报文过大导致的中途失败,不要和选点混在同一次测试里改。选点稳定后,再单独看路径是否在某一跳丢包。
- 第九步:手机和电脑分开记。两台设备如果出口不同,机房不同是正常的。中国大陆区 App Store 不提供 VPN 类应用,安装客户端需外区 Apple ID,在 App Store 搜索「Hedge VPN」,见 iOS 安装教程。
按现象排查
每次只换一个出口,把国家和现象记在一起。
- 同一地址延迟差很多:Anycast 落到了另一处。换同国家的另一个节点对照,不要先改域名。
- 语言和版权突然变成别国:边缘按当前出口给内容。把出口放到你要的国家。
- 早上快、晚上慢:机房负载或国际出口拥挤。换一个同国家节点看是否只是这一处忙。
- 只有某一个域名慢:那个域名的调度和别人不同。不要用别的网站的速度代表它。
- 解析到了意外的地址:解析路径不对。先查解析是否泄露,再查选点。
- 路径在某一跳结束:后面不通。这是可达性问题,不是缓存远近。
- 换国家后证书名仍正确:证书按域名签发,不按机房。证书正常不能证明机房没变。
- 关闭线路后恢复成另一种语言:说明刚才的语言来自出口。这是对照,不是故障。
- 两台设备结果相反:出口节点不同。把它们连到同一个节点再比。
什么情况下该换出口
免费节点适合做一次对照。日常固定国家用时长套餐,期间不限流量、不限速。刺猬VPN自身不对账号设速率上限。实际速度还受国际出口和目标站影响。实际可用性取决于当前网络环境。
| 对比项 | 固定目标国家 | 只挑延迟数字 | 测试时来回换 |
|---|---|---|---|
| 要看该国内容 | 出口放在该国 | 可能落到别国边缘 | 内容会来回变 |
| 只求打开 | 先固定再评估 | 数字低不一定是目标站 | 无法对比 |
| 解析 | 同一套解析再测 | 解析变了数字没意义 | 结果不可比 |
| 速率 | 时长套餐不限流量、不限速 | 不限速不等于选到近处 | 与套餐无关 |
| 适合 | 日常使用 | 同国家里换一处试试 | 不适合下结论 |
| 记录 | 国家、地址、语言 | 还要记下国家 | 没有记录 |
对照时只改一个因素
第一轮:同一个节点,打开网站,记下语言和是否完整加载。第二轮:只换同国家的另一个节点。第三轮才换国家。三轮一起做,你不知道是解析变了还是机房变了。
电脑和手机要连同一个节点再比。手机若走了蜂窝而电脑走无线,出口可能根本不同。
目标站自己的地区切换按钮,和边缘自动判断是两套。按钮能改语言时,先用按钮,不必为了一个语言选项换国家。
业务若要求数据落在特定区域,那是服务商账户里的区域设置,不是你这边换一个出口就能搬迁的。出口只影响你这次连接被引到哪里。
和解析、路径工具的分工
名字是不是从预期的解析出去的,见 DNS 泄露是怎么回事。路径每一跳怎么看,见 路由跟踪和连通性检查。
本文只说明同一地址为什么会落到不同机房。解析不对先看前一篇,路径在哪一跳断开看后一篇。刺猬VPN提供断线保护和按域名的智能分流,没有按某个软件单独勾选的列表。
常见报错速查表
| 现象 | 原因 | 解决办法 |
|---|---|---|
| 同地址延迟差很多 | 落到另一处机房 | 同国家换一个节点对照 |
| 语言变成别国 | 边缘按出口给内容 | 出口改到目标国家 |
| 时快时慢 | 该处拥挤或出口忙 | 同国家再换一处 |
| 只有一个域名慢 | 该站调度不同 | 不要用别的站代表它 |
| 地址和预期不符 | 解析路径不对 | 先查解析 |
| 路径中途结束 | 后面不可达 | 按路径单独查 |
| 两台设备相反 | 出口不是同一个 | 连到同一节点再比 |
高频问答
- 问:Anycast 是不是一定最近?答:它按路由和厂商策略选,不一定是地理上最近,也不一定是你想要的国家版本。
- 问:地址一样是不是同一台机器?答:不是。多地可以共用一个地址。
- 问:换节点能指定某个城市的机房吗?答:不能点名某一台机器。你只能改自己的出口,让调度重新选。
- 问:证书变了说明被劫持吗?答:先看证书里的名字是不是这个网站。名字对而语言变了,多半是另一处边缘。
- 问:智能分流会改变选点吗?答:分流决定哪些域名走隧道。走隧道的域名按出口选点,不走的按本地网络选点。
- 问:怎样才算测完?答:同一节点下重复打开两次,结果接近,再换下一个节点。实际可用性取决于当前网络环境。
内容地区和延迟不要绑在一起优化
要看某个国家的页面,就把出口放在那个国家,即使另一国的延迟数字更低。数字更低却给了错误的版权页,对这次访问没有用。
只是打不开或极慢,才在同一国家里换节点,看是不是落到了拥挤的一处。换国家会同时改变内容版本,不能用来证明「更快」。
记录至少包括出口国家、解析到的地址、页面语言。缺一项,下次无法对比。
网站更新调度之后,昨天的快节点今天可能变慢。以当天的对照为准,不要把旧笔记当成永久名单。
临场再核对
对照表只留四列:出口国家、解析到的地址、页面语言、是否完整打开。少一列,下次就不能比。同一节点连续打开两次,两次接近,才换下一个节点。同国家的第二个节点如果语言相同只是快慢不同,就留快的那一个,不要改国家。语言变了,说明内容版本变了,即使延迟数字更好,也不要为了数字留下错误的版本。证书名字正确只能说明你还在这个域名上,不能说明机房没变。路径后几跳如果每次都不同,等它稳定再记录,不要把摇摆的一次写成结论。解析如果走了别的出口,先把解析纠正,再谈边缘远近。否则你是在比两套名字。手机和电脑必须显示同一个节点再比。一个走蜂窝、一个走无线,结果相反是正常的。目标网站自己的语言按钮能改界面时,先用按钮。按钮改不了的版权限制,才需要把出口放到那个国家。数据存放在哪个区域,以服务商账户里的设置为准,换出口搬不走已经存在的数据。昨天快的节点今天可能慢,以当天的两轮对照为准,不要把旧名单当成固定路由。智能分流打开时,没走隧道的域名仍按本地网络选点,不要把它们的语言变化算到出口头上。一次测试只访问你关心的那个域名。同时开很多站点,会把不同调度混在一起。记下时间,忙时和闲时分开比。闲时很快、忙时变慢,而语言没变,就只是拥挤。语言变了才是选点变了。路径里出现你不认识的中间网络时,不要据此判断被劫持,先看最终页面的证书名字和内容是否正确。证书和内容都对,只是绕了路,就换同国家的另一个出口再测。绕路仍在,而另一个出口正常,就留正常的那个。不要在同一次里既换出口又改本地的解析设置。记录用完就停,把结论写成一句:留在哪个国家的哪类节点。下一回从这句开始,而不是从头怀疑整个网络。如果两次对照的语言和完整度都稳定,就把这个出口留作默认,只在它连续失败时再换。
先固定出口再读结果
Anycast 和内容分发会把同一地址送到不同机房。换出口等于换起点。先固定节点,记下语言和路径,再决定要不要换国家。
刺猬VPN采用 HTTPS+AES 加密传输,注册不需要邮箱和手机号。免费节点适合做对照,时长套餐在有效期内不限流量、不限速。客户端支持断线保护和智能分流。实际速度受出口、路径和目标站影响,实际可用性取决于当前网络环境。
开始使用刺猬VPN:免费节点即刻体验,全球会员线路
刺猬VPN提供永久免费节点,不限流量;无需邮箱,自定义用户名即可匿名注册。一个账号支持多设备同时在线,实际可用性取决于当前网络环境。