先週、米国などにおいてインターネットサービスの途絶が始まったのは、一部のTier1プロバイダーのインターネットルータのBorder Gateway Protocol(BGP)ルーティングテーブルが大きくなりすぎたことが原因であることが確実に分かっている。その結果、そうしたルータはインターネットのトラフィックを正しく制御できなくなった。
BGPは、インターネットで最も重要なプロトコルだ。BGPでは、各ルーティングドメインを自律システム(Autonomous System:AS)として指定している。BGPは最短の経路、つまりホスト間でASのホップ数が最小になる経路を探すために使われる。Tier1ネットワークは、Tier1のインターネットBGPルーティングテーブル全体にアクセスできる。通常、3大Tier1インターネットサービスプロバイダー(ISP)(Level 3、NTT、TeliaSonera)のようなTier1ネットワークは、Tier2のISPや末端ISPに10〜100Gbpsのインターネット接続を提供している。
このような高速接続を記録するために、トップレベルのルータは経路のマップを作成している。このマップは、3値連想メモリ(TCAM)という特殊なメモリに格納されている。ここまでは大丈夫だ。問題は、一部の古いルータのTCAMは、51万2000件の経路までしか処理できないということだ。ルータのTCAMリソースが不足すると、Ciscoが2014年5月に説明しているように、ネットワークはパフォーマンス低下や、ルーティングの不安定化、可用性の問題などに直面する。
上位ネットワークのトラフィックを監視するBGPMonによると、2587基の自律システムが機能停止していたという。これは「グローバルルーティングテーブルに追加された1万5000件の新しいプレフィックス」によって引き起こされた。BGPマップの総経路数は、50万件をわずかに下回るあたりで推移していたが、この数は、アップグレードされていないTier1のCisco製ルータで、TCAM容量の上限を超えるには十分な数だった。そしてこれが、インターネット全体に大混乱を引き起こすことになった。
BGPMonの計算によれば、ルータの上限を超えさせることになった、この1万5000件の新しいプレフィックスのほとんど全てが、Verizonに由来するものだった。ネットワークエンジニアでBGPMonの創設者であるAndree Toonk氏は「Verisonの内部で起こった何かが原因で、こうしたプレフィックスの集約がうまくゆかず、結果として、数多くの新しい経路がグローバルルーティングテーブルに追加された。これによって、ルーティングテーブルのプレフィックス数が一時的に51万5000件に達し、古いCiscoのルータに問題を発生させた」と書いている。
Toonk氏は、幸いなことに「Verizonはこの集約失敗の問題を素早く解決したので、現在は問題ない。しかしインターネットのルーティングテーブルは肥大化を続け、すぐに51万2000件の上限に再び到達するだろう」と述べている。
Verizonにこの件についてコメントを求めたが、この記事の公開時までに回答は得られていない。
This spike in new BGP routes from Verizon is what caused the Internet to hiccup on August 12.