Google 如何绕过 IP 路由?

Jad*_*ias 6 networking dns routing ip

Google Public DNS Performance Benefits页面,他们声称

在 Google 公共 DNS 中,我们实施了多种方法来加快 DNS 查找时间。其中一些方法是相当标准的;其他是实验性的:

  • 为接近所有用户提供全球覆盖。

但是,如果我们对它们的 IP 地址8.8.8.88.8.4.4 进行地理定位,我们会看到它们是从山景城提供的。

从巴西测量他们的延迟我发现

  • 我的 ISP 的 DNS 在 13 毫秒内回复
  • Google 的 DNS 在 20 毫秒内回复
  • 旧金山的OpenDNS平均响应时间为 130 毫秒

这怎么可能?如果 IP 路由方案通向加利福尼亚,他们如何从巴西的服务器应答?

小智 7

根据ARIN 的WHOIS 信息,这些地址仅位于山景城一家公司 (Google Inc.) 所有。但是它们是从 Google 决定宣布到达该范围的路线的任何位置提供的。

对于他们的 DNS 服务器,Google 正在使用anycast,并且实际上可以将相同的地址路由到几个不同的位置:

在互联网上,任播通常是通过使用BGP从互联网上的许多不同地方同时宣布相同的目的IP地址范围来实现的

这是该路由的 BGP 条目:

BGP routing table entry for 8.8.8.0/24, version 50533132
Paths: (18 available, best #12, table Default-IP-Routing-Table)
  Not advertised to any peer
  7018 15169, (received & used)
    12.123.137.124 from 12.123.137.124 (12.123.137.124)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:37232
  7018 15169, (received & used)
    12.123.139.124 from 12.123.139.124 (12.123.139.124)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:34011
  7018 15169, (received & used)
    12.123.145.124 from 12.123.145.124 (12.123.145.124)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:33051
  7018 15169, (received & used)
    12.123.21.243 from 12.123.21.243 (12.123.21.243)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:39343
  7018 15169, (received & used)
    12.123.13.241 from 12.123.13.241 (12.123.13.241)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:32112
  7018 15169, (received & used)
    12.123.9.241 from 12.123.9.241 (12.123.9.241)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:38001
  7018 15169, (received & used)
    12.123.133.124 from 12.123.133.124 (12.123.133.124)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:36244
  7018 15169, (received & used)
    12.123.5.240 from 12.123.5.240 (12.123.5.240)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:34011
  7018 15169, (received & used)
    12.123.134.124 from 12.123.134.124 (12.123.134.124)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:36244
  7018 15169, (received & used)
    12.123.142.124 from 12.123.142.124 (12.123.142.124)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:33051
  7018 15169, (received & used)
    12.123.17.244 from 12.123.17.244 (12.123.17.244)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:36244
  7018 15169, (received & used)
    12.123.1.236 from 12.123.1.236 (12.123.1.236)
      Origin IGP, localpref 100, valid, external, best
      Community: 7018:2500 7018:37232
  7018 15169, (received & used)
    12.123.37.250 from 12.123.37.250 (12.123.37.250)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:36244
  7018 15169, (received & used)
    12.123.45.252 from 12.123.45.252 (12.123.45.252)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:32112
  7018 15169, (received & used)
    12.123.33.249 from 12.123.33.249 (12.123.33.249)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:39220
  7018 15169, (received & used)
    12.123.25.245 from 12.123.25.245 (12.123.25.245)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:34011
  7018 15169, (received & used)
    12.123.41.250 from 12.123.41.250 (12.123.41.250)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:37232
  7018 15169, (received & used)
    12.123.29.249 from 12.123.29.249 (12.123.29.249)
      Origin IGP, localpref 100, valid, external
      Community: 7018:2500 7018:33051
Run Code Online (Sandbox Code Playgroud)