Netflix CDN 网络服务显示我的客户端 IP(VPN)是位于加利福尼亚州弗里蒙特的不同 IP,而不是我在新加坡的实际 IP。为什么会这样?

Netflix CDN 网络服务显示我的客户端 IP(VPN)是位于加利福尼亚州弗里蒙特的不同 IP,而不是我在新加坡的实际 IP。为什么会这样?

背景:我通过付费 VPN 服务使用 Netflix。有些地方可以使用 Netflix,有些地方则不行。

我使用 fast.com 测试速度,它直接使用 Netflix 的 CDN。连接 VPN 时,速度较低,介于 500kbit 和 5mbit 之间,未连接 VPN 时,我的全线速度为 50mbit。运行测试后查看 fast.com 的“详细信息”部分,它显示“客户端 Fremont,美国 65.19.150.235 服务器 Open Connect,Netflix”,这很奇怪,因为我的原始 IP 在印度尼西亚,我的 VPN IP 在新加坡,那里也有 Netflix 服务器。

我查看了访问 fast.com 时提出的请求,并阅读了此博客https://netflixtechblog.com/building-fast-com-4857fe0f8adb

并确定 JSON Web 服务http://api.fast.com/netflix/speedtest/v2?https=false&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=5用于查找要使用的服务器。此服务的输出为:

“客户端”:{“asn”:“6939”,“isp”:null,“位置”:{“国家”:“美国”,“城市”:“弗里蒙特”},“ip”:“65.19.150.235”},“目标”:

然后是一堆位于加利福尼亚地区的 Netflix 服务器的 URL(如果 Netflix 认为我在加利福尼亚,那么这是有道理的)

我对 api.fast.com 进行了 tracert:

Tracing route to api.fast.com [92.249.36.200]
over a maximum of 30 hops:

  1    34 ms    36 ms    42 ms  unn-89-187-163-207.cdn77.com [89.187.163.207]
  2   155 ms    43 ms    44 ms  unn-89-187-163-222.cdn77.com [89.187.163.222]
  3    43 ms    44 ms    48 ms  ae18.singapore2.sin.seabone.net [93.186.133.177]
  4   193 ms   257 ms   185 ms  hu0-7-0-0.franco72.fra.seabone.net [195.22.211.39]
  5     *      195 ms   194 ms  retn.franco72.fra.seabone.net [195.22.214.85]
  6   218 ms   293 ms   305 ms  ae0-3.RT.SRV.DRO.NL.retn.net [87.245.232.44]
  7   333 ms   407 ms   406 ms  GW-Serverius.retn.net [87.245.246.61]
  8   303 ms   318 ms   304 ms  185.8.179.38
  9   404 ms   306 ms   305 ms  5.178.67.31
 10   412 ms   316 ms   394 ms  172.16.75.2
 11   363 ms   356 ms   406 ms  92.249.36.200

这看起来很正常。

我还尝试断开 VPN,单击 api.fast.com Web 服务,复制第一个 CDN 服务器的 IP,重新连接到我的新加坡 VPN,然后跟踪到该服务器。结果显示只有 4 个跳数和几十毫秒,而如果连接到加利福尼亚 CDN,则有数百毫秒的跳数。

所以问题的本质是,Netflix 网络服务声称我在加利福尼亚,并通过加利福尼亚 CDN 为我提供路由,这对我来说非常慢,因为它是从印度尼西亚 -> 新加坡 -> 加利福尼亚。

Netflix 确实可以工作,但比特率较低。

所以问题是,这个 65.19.150.235 IP 可能来自哪里?无论我使用哪个 VPN 地址(来自同一提供商),这似乎都是 VPN 提供商在做的事情。但我说不准。当我请求时,标头http://api.fast.com/netflix/speedtest/v2?https=false&token=YXNkZmFzZGxmbnNkYWZoYXNkZmhrYWxm&urlCount=5看起来完全正常,tracert 没有迹象表明到 api.fast.com 的路由经过的是加利福尼亚附近的任何地方。有人能给出一个合理的解释吗,因为如果没有连接 VPN,他们的 Web 服务返回的“客户端 IP 地址”就是我的实际 IP。

答案1

VPN IP 确实在新加坡,这意味着 VPN 工作正常。在这种情况下,问题肯定出在 Netflix 的 Open Connect 网络上,因此您应该联系他们的支持人员。

借助 Open Connect,Netflix 决定不使用拥有庞大数据中心的大型 ISP 的服务,而是使用互联网连接点 (IXP) 构建自己的 CDN 网络。这些是较小的数据中心,通常由第三方运营,为城市和市政当局而不是整个地区提供服务。Netflix 在这里使用的物理设备存储容量高达 280 TB,因此每个 IXP 都远远不能容纳 Netflix 的全部内容。

这种架构是出于财务考虑,主要是因为大型 ISP 的成本太高。

Netflix 的工作方式是选择最适合您的 IXP。如果您请求的视频不存在于您的 IXP 上,Netflix 将选择另一个有该视频的 IXP。Netflix 还将根据 IXP 中的可用带宽及其当前工作负载进行选择,以免任何一个 IXP 负担过重。

考虑到所有这些事实,这意味着 Open Connect 在您的情况下选择了错误的 IXP。我真的猜不出原因,也许新加坡负担过重或没有您的视频,或者这只是一个 Open Connect 错误。

我唯一能建议的是联系 SurfShark 支持。您也可以尝试选择其他国家/地区具有足够带宽的 VPN 服务器(印度尼西亚),以期避免出现此问题。

参考:


我找到了博客 测试:Surfshark 可在美国和其他 13 个国家/地区使用 Netflix – 2020 年更新,我发现了一段有趣的文字:

Surfshark 可以访问哪些 Netflix 库?

我联系了 Surfshark 的客户支持团队,并确认该服务可以访问 14 个 Netflix 库。

由此我得出结论,VPN 供应商需要与 Netflix 签订合同才能访问特定的 IXP。在撰写本文时,SurfShark 已与 14 个这样的 IXP 签订了合同。

我不知道 Netflix 和 SurfShark 目前的关系状况,但我认为您的测试证实,目前无论您连接到哪个 VPN 服务器,SurfShark 似乎都必须通过美国访问 Netflix。一种解释是,目前他们与 Netflix 的合同仅限于美国的 IXP。

不可否认,仅基于一篇博客文章就有很多理论,但它确实解释了你所看到的内容。

相关内容