Personal tools

Views

YouTube ダウンと経路問題

written by ultraviolet on

アメリカ時間で2月24日に YouTube がダウンした件は、Wall Street Journal が パキスタンが YouTube を検閲しようとして失敗したため と報道してます。
まあこれはこれで間違ってはいないんですが、Ars Technica の記事 Insecure routing redirects YouTube to Pakistan がかなり詳細に解説してくれてるので、こっちを紹介しませう。

どこぞのサイトへのアクセスを検閲・遮断したい場合、やり方は何通りかあります。DNS で間違ったアドレスを返す手もありますが、まあメジャーなのは

  • ゲートウェイで特定アドレス宛のパケットをフィルタして廃棄する
  • 嘘の経路情報を公告して特定アドレス宛のパケットを間違ったところに配送する

前者だと、特定のゲートウェイを通るパケットのみを遮断できます。必ず一箇所のゲートウェイを通るならそこだけフィルタを入れればいいので話が早いんですが、まあたいていは経路が何通りもあって、全部フィルタで塞ぐのは面倒です。そこでパキスタンは後者の方法を取りました。

普通だと、YouTube のアドレス宛のパケットが届くとルータはそいつをアメリカ方面に転送し、最終的に YouTube のサーバに届きます。各ルータは、どのパケットだったらどっち方面に転送すればいいか、という経路情報のテーブルを持っていて、その情報に従って転送します。
で、世界中の全てのサーバ・ルータのアドレス一個一個について完全な経路情報を持たせて、それで一斉に Internet を立ち上げれば完璧なんですが、そんなことをしていてはテーブルが莫大になってルータのメモリに入りきらないし、全てのアドレスについて完全な情報を集めるなんて土台無理だし、だいたい日々新しいサーバやルータが追加されてるからすぐ時代遅れになってしまうし、というわけで、Internet では「ルータ同士が自律的に情報を交換して正しい経路情報を作り出す」という分散システム的手法が使われてます。例えば、新しい会社が Internet を引いてルータやサーバを追加したら、そのルータは「xxx.yyy.zzz.vvv~www までのアドレスはこっちに投げて」という経路公告を流します。その公告が順繰りに流れてって、受け取ったルータは「そのアドレス宛のが来たらそっちに投げよう」と学習する。

ここで問題になるのは、Youtube のアドレス、具体的には 208.65.153.0/24 というアドレスブロックなんですが、「208.65.153.0/24 のアドレスはパキスタンに投げて」という公告が来たときどうするか、という話です。
パキスタン政府は、パキスタン国内に限ってこの公告を流そうとしたみたいです。そうすると、パキスタン国内のルータは全部この公告を信じて、YouTube 宛てのパケットを全部パキスタン国内のある1台のルータに向かわせようとする。その1台のルータは受け取ったパケットを全部捨てるような設定(ブラックホール)になってるので、パケットは全て捨てられて、YouTube には一個も届かない、と。パキスタン政府にとって素晴らしい話ですな。
ところがどうも、この経路公告が、パキスタン国内に止まらず全世界中に流れ出してしまった模様。もちろん本物の YouTube データセンタからも 208.65.152.0/22 っつう経路公告は流されてます。ところが、ロンゲストマッチという法則に従うと /22 よりも /24 の方が勝つ。世界中のルータがパキスタンからの公告の方を信じてしまい、みんなパキスタンに送ってしまったと。

この問題は古くから知られてます。ルータは基本的に全部の経路公告を信じてしまう。私がまだ大学生だった頃にも、「あるニューヨークのルータが熱でイカれて自分のことを西海岸にあるルータだと信じ込んでその経路情報を流した」というろくでもない原因で全米のネットワークが大混乱したという事件があったそうです(後で本で読んだ)。
「Internet は自律分散なので核攻撃にも耐えられるロバストなネットワークだ」なんてことはよく言われますけど、やっぱり物事には一長一短があって、確かに核攻撃には強いけど、一方詐欺にはころっと騙されてしまうんぢゃよね。ある意味、匿名性問題に通じるものがある。

この問題からネットワークを守るための正しい手法は、「経路フィルタを正しく書く」てものです。YouTube のアドレスを名乗る公告がパキスタンから流れてきたら、そんな怪しげなもんはフィルタで落とすんぢゃよ。しかし YouTube とパキスタンは今回有名になったからいいけど、どうフィルタ設定していいかわからない経路の方が圧倒的だよなあ。

Ars Technica にはもう一つ、困った手法も書かれています。それは「公告するアドレスブロックを小さくする」というもの。さっき /22 より /24 の方が強いって書いたけど、ロンゲストマッチだと細切れの広告の方が強いんですよ。例えば、/22 のブロックを1個公告するよりも、/24 のブロックを4個公告する方が、偽経路公告の被害に遭う確率が下がる。今回の事件をきっかけに、みんな細切れで経路公告を出すようになるんじゃないか、と Ars Technica の Iljitsch van Beijnum は予想してます。
やめちくりー。それやられると、ただでさえ問題になってる経路数爆発がひどいことになる。メモリ不足で落ちるルータ続出。だいたい何のために CIDR を導入したと思っとるんぢゃ。しかし確かにあり得る話だなあ。くわばらくわばら。

ところで今月は、2月11日に Blackberry で大規模障害、2月15日に Amazon S3 の障害、今週がこの YouTube 問題、おまけに bloglines までおかしい と、あちこちで障害出まくってます。ここらで一発「ネットサービスの安定性」とか題したエントリを書けば500被はてブぐらい軽く行ってdukeを逆転できるんぢゃないかと思いつつも、気力が無い…

Postedit on 2008/02/27

Ars Technica の記事には IRR の話も出てきまっせ。

There are routing databases around the world where network operators can register their IP address blocks for the purpose of generating filters automatically, but since everyone has to register their own address blocks, and many people don’t, the filters generated from these databases often do more harm than good.

世界中のネットワーク管理者が自分とこのアドレスブロックを登録するデータベースというのも存在する。その目指すところは経路フィルタを自動生成できるようにというものだ。しかしこのデータベースには全管理者がアドレスブロックを登録する必要があるのに、実際には多くの管理者が登録していない。その結果、このデータベースを元に生成したフィルタは、むしろ面倒を引き起こしてしまう。

むーん。まあ仕方ない。これを契機に IRR がもっと注目を集めて前進すると良いよなあ。


One Response to “YouTube ダウンと経路問題”

  1. pingback from YouTube ダウンと経路問題 | 次なるもの

    [...] YouTube ダウンと経路問題Topic: 未分類| original article [...]

Leave Your Reply

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

  • Languages

  • Recent Posts

  • Archives

  • Categories

  • Themes

  • Subscriptions

  • Meta

  • Social Services

    Flickr  Picasa  movapic  Photobucket  Zooomr  YouTube  Ustream  Vimeo  scribd  SlideShare  Hatena Bookmarks  Diigo  Commons Marker  Google Reader  StumbleUpon  Digg  Reddit  Hatena Diary  Rauru Blog  WordPress  Blogger  LiveJorunal  Livedoor Blog  posterous  Tumblr  Clipp  Twitter  Plurk  LogPi  identi.ca  Disqus  IntenseDebate  TypePad  Last.fm  GoodReads  LibraryThing  Booklog  amazon wish list  Polyvore  pupe  Upcoming  Wakoopa  yelp  Dopplr  Foursquare  ロケタッチ  GetGlue  Hatena Mono  Kiva  ohloh  MySpace  Windows Live Space  LinkedIn  Facebook  Google+  Plaxo  Netvibes  FriendFeed  backtype  klout  MyBlogLog  socialtunes  kotonoha  2manji  Himitsuku  iddy  mixi  the interviews