Googleのネットワーク構成を調べてみた

2009/9/1-2

Googleのネットワーク構成を調べてみました。 まあ、まずは最初に図を見て下さい。

以下、図を作った方法、その他もうちょっと深い推測です。 なお、ここに書いている内容は、公開された情報から勝手に推測しているだけなので、正しくない可能性があります。 あらかじめご了承下さい。

AS番号を調べる

まず、最初に「Google」という文字列が含まれるAS番号(ASN)を探しました。 Googleはアメリカの会社なので、まずは何も考えずにARINのwhoisで「google」と打ち込んで結果を見ます。

何か色々出てきます。


Google Inc. (AS15169) GOOGLE    15169  
Google Inc. (AS36039) GOOGLE    36039  
Google Inc. (AS36040) GOOGLE    36040  
Google Inc. (AS15169) GOOGLE    15169  
Google Inc. (AS36039) GOOGLE    36039  
Google Inc. (AS36040) GOOGLE    36040  
Google Incorporated (AS36384) GOOGLE-IT    36384  
Google Incorporated (AS36385) GOOGLE-IT    36385  

で、次はこれらのASがどこと繋がっているのかを調べるためにUCLA Cyclopsに各AS番号を入れてみます。 すると、レコードがあるのが以下の二つのASだけということがわかります。


15169 Google Inc.
36384 GOOGLE-IT Google Incorporated

他のAS番号をどのように使っているのか、もしくは既に使っていないのかは、良くわかりませんが今回はこれ以上の調査方法を思いつかなかったので忘れることにしました。

さらに、「本当にこれだけ?」というのを調べるためにAS番号一覧を提供してくれているWebページで「google」という単語を調べてみました (何故これをするかというと、ヨーロッパなどの情報が漏れる可能性があるからです)。 すると、GOOGLEWIFIというASがあるのがわかります。 恐らく「Google WiFi for Mountain View」だろうと思います。


36492 GOOGLEWIFI

BGPフルルートを使って調べる

Cyclopsで出て来るBGP peering情報だけである程度の図は書けますが、何となくそれでは物足りなかったので、オレゴン大学が公開しているBGPフルルート情報を使ってみました。

Route Views Project

「GoogleってスタブASだろうなぁ」と漠然と考えながらも「念のため」RouteViewsで公開されている情報を見て行くと、実はGoogleの主要ASであるAS15169はトランジットを提供していることがわかりました。

最初は多少意外でしたが、提供先ASを見て納得できました。 AS15169がトランジットを提供しているのは、YouTube、DoubleClick、Postini、Google-IT、GOOGLE-CORP-APAC-AS-APでした。

YouTube、DoubleClick、PostiniはGoogleが買収した企業です。 Google-ITが何であるかは良くわかりませんでしたが、AS15169としか接続されていないスタブで冗長化されて無さそうなところを見ると、恐らく内部利用で一般公開されていないネットワークではないかと推測してみました。 GOOGLE-CORP-APAC-AS-APは「AS number for Google Corporate Network in APAC」とあるので、アジア太平洋地域用の「何か」だと思います。

AS15169がトランジットを提供しているのは全てGoogle関連企業なので、組織全体という視点で見るとGoogle全体はスタブ的ですが、Google関連ASは全てスタブではないかと最初は思っていたので、個人的には「へぇ」と思いました。

経路を図にしてみる

で、まずは、もう一度接続関係のおさらいとして最初に示した図を見て下さい。 そのうえで、次はそれぞれのGoogle関連ASのトラフィックがどう流れているのかを推測してみます。

なお、今回利用したデータはRouteViewsが提供している2009年8月31日時点の経路情報だけです。 より正確な構造を知るためには、複数の観測地点からBGP full routeデータを取得して考察すべきです。 そのため、ここに掲載している予想図は結構いい加減なのでご注意下さい。

DoubleClick

まず、最初にDoubleClickです。 DoubleClickの買収は2007年4月に発表されましたが、色々と揉めて買収が完了したのが2008年に入ってからのようです。

DoubleClickのAS6432への経路は、1204個の経路がGoogle(AS15169)を経由しないもので、283個の経路がGoogleを経由するものです。 Googleを経由しない経路の方が多いようです。

Google経由がバックアップ用かどうかなどは、複数の経路を見比べてどれが優先されるかなどを考えるべきなのでしょうが、面倒なので数だけ表示した図にしてみました。 さらにもう一点注意しなければならないのが、経路の数とトラフィック量とは切り離して考えなければならない点です。 経路はアドレスブロックに対しての物ですし、実際のユーザは各種ASによって数が全然違うので、経路が多いからといってトラフィックが多いわけではありません。

なお、この後の図は全部同様の方針で作っています。 結構いい加減なので参考程度として下さい。

Postini

PostiniはメールやWebのセキュリティ企業です。 GoogleがPostiniの買収を発表したのは2007年7月です。

Postiniへの経路はGoogle(AS15169)経由とそうではないもので大体半々ぐらいのようです。 1割弱ぐらいGoogle経由が多いという感じですかね。

GOOGLE-CORP-APAC-AS-AP

AS45566は何に利用されているのか良くわかりませんでしたが、経路の数もあまり多く無いようです。

YouTube

YouTube関連ASとしては、YouTubeとYouTube-EU(ヨーロッパ)の2つがありました。

まずは、AS36561のYouTubeですが、こちらへの経路の多くはGoogle(AS15169)経由の方が多いようです。

YouTubeを経由してYouTube-EUへ行く経路は全て(Google => YouTube => YouTube-EU)といった形になっているようです。 経路の数としては、Googleを経由しない経路の方が多いようです。

何処にあるの?

「www.google.co.jp」は、どこにあるのでしょうか? まず、最初にtracerouteすることにしました。

すると、最終的なホストまで30msec強のRTTでした。 RTTが30msec強というのは、恐らく「日本国内にある」ということを示しています。

光の早さは1秒間で地球を7周半できます。 逆に考えると、地球を1周するのに133.3333msecかかります。 そこからざっくり考えると30msecというのは地球を1/4周強するぐらいの距離です。 ただ、光ファイバを通過する速度は1秒間で地球を7周半する速度よりも遅いですし、スイッチやルータを通過するので純粋に光の速度では通信ができません。 また、地球の1/4強の距離ではアメリカに行って帰って来る距離としては短過ぎます。

ということで、恐らくwww.google.co.jpの実体として反応を返している機器は日本国内にあると推測されます。 ただ、Googleが抱える膨大なデータ全てを抱えられる巨大なデータセンターが日本にあるようには思えないので、今あるのは恐らくGoogle独自のCDNなんだろうと推測しました。 あくまで私個人の妄想というレベルの推測ですが。。。

それは良いとして、tracerouteの結果を見て行くと、私が契約しているISPのASから出てすぐにGoogleのISPに入っています。 これは、どこのISPも経由しないでいきなりGoogleへとパケットが飛んでいるということです。 ということは、私が契約しているISPとGoogleは恐らくピアリングをしています。

ただ、その情報はRouteViewsには出てきません。 その他、知人数人にGoogleへのtracerouteをしてもらったところ、それぞれのISPが直接Googleに繋がっているということがわかりました。 そして、それらのISPもRouteViewsには見えない形になっていました。 このように各種ISPとの接続があるにも関わらず外部からは経路として見えないので、IX経由もしくは直接1対1のプライベートピアリングをしているのではないかと推測してみました。

Googleが参加しているIX

IXに参加している組織を公開しているPeeringDB.comというサイトを見てみました。 トップページでユーザ名とパスワードの入力を求められますが、ゲストアカウント用のユーザ名とパスワードが記述されているので、誰でも情報を閲覧できます。

そこで、Googleに関して調べると、Googleが非常に多くのIXに参加しているのがわかります。 「Public Peering Exchange Points」と記述されている項目では、世界中45カ所の名称が列挙されています。

そのうち、日本国内のものは以下の3カ所です。

  • DIX-IE
  • JPIX
  • Equinix Tokyo

また、「Private Peering Facilities」の項目では「Equinix Tokyo (TY2)」が記述されています。

ここでまた「www.google.co.jpの実体はどこだろう」という話に戻ります。 Googleのように大規模になると、可能な限り回線を早くしたいはずだと妄想しました。 さらに、それらのIXに最も近いか、もしくはIXそのものなデータセンターはどこだろうか?と妄想は続きます。

TechCrunch:Googleデータセンター全分布図」という記事があって、日本のGoogleデータセンターも掲載されているように見えるのですが、マーカーが指しているのが東京の初台で、あまりそこにあるとも思えません。 何か、適当に東京のどこかにマーカを突き立てているだけのように思えます。 ということで、これとは別に「どこにあるのだろう?」という事を妄想してみました。

Equinixは平和島と品川にあるそうです(参考)。 DIX-IEは2003年3月時点のプレスリリースでは国内6カ所にあるそうです。 JPIXは国内7カ所にスイッチがあるようです(参考)。

これらを見ると、Equinix内かDIX-IEとJPIXが入っているComSpaceあたりにありそうかもと推測してみましたが、実際どこにあるのかは知りません。

で、日本国内の各種ISPとの接続ですが、PeeringDBに情報が無いのでIX経由ではなく直接Googleと各種ISPが専用に回線を引いてプライベートピアルングか、PeeringDBにISPの情報が掲載されていないだけかなぁと推測してみました。 ただ、どちらにせよ、「日本国内の何処にCDN機能があるのか?」次第で色々違うのだろうと思います。

でも、ここら辺は、もう完全に手がかり無しで妄想しているだけなので、全然信憑性はありません。 「妄想だけで書くな!」と怒られそうですが。。。すみません。。。

GoogleによるIPv6への取り組み凄い

PeeringDB.comを見ると、GoogleによるIXでのIPv6利用がわかります。 全ての参加組織を見たわけではないので本当かどうかはわかりませんが、PeeringDBで公開されている中では、一番多くIPv6でIXに接続しているのではないでしょうか?

以下、GoogleがIPv6でIXに接続している箇所です。

  • AMS-IX
  • Any2 LAX and SJC
  • BigApe
  • DE-CIX
  • DIX-IE
  • Equinix Ashburn
  • Equinix Chicago
  • Equinix San Jose
  • Equinix Singapore
  • Equinix Sydney
  • Equinix Tokyo
  • HKIX
  • INEX
  • INXS
  • JPIX
  • LAIIX
  • LINX Brocade LAN
  • NOTA
  • NYIIX
  • PacificWave
  • PAIX Atlanta
  • PAIX New York
  • PAIX Palo Alto
  • PAIX Seattle
  • PaNAP
  • PIPE Networks Sydney
  • SIX
  • TorIX
  • WAIX

GoogleがIPv6への取り組みに対して、かなり本気だというのがわかります。 凄いですね。

最後に

以上、このような感じで公開された情報を手がかりに、色々と妄想してみました。 これが当たってるかどうかは、恐らく誰も教えてくれない気がしています。

実際のGoogle構成がどうなっているかどうか、という話よりも「ここら辺を調べると、こういう情報がわかるのかも」というような点が「面白い」と思って頂ければ幸いです。

いや、というより、私も勉強しながら書いているので、もうちょっと色々調べると新しい何かが発見できるかも知れません。

関連

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

YouTubeチャンネルやってます!