NTT東日本/西日本のひかり電話サービスやフレッツ・サービスはトラブルが続く。その都度、原因を明らかにしてきたが、5月15日に発生したNTT東日本のBフレッツのトラブルについてはその原因の説明に納得できなかった。「IP伝送装置のパッケージ交換をきっかけに、ルート再計算の負荷が増え、14都道県のフレッツ網がダウン」。装置が故障するのはよくあること。それに伴うルート再計算で大半のフレッツ網がダウンするとは・・・。やはり、その真相は単純ではなかった。

14都道府県のフレッツ・サービスなどがダウン

 5月15日20時、NTT東日本は18時44分ごろから「フレッツ・サービス」および「ひかり電話」の一部ユーザーがサービスを利用できなくなっていると発表した。神奈川、千葉、埼玉を除く東日本のサービス・エリア14都道県でサービスが利用できなくなった。東京は23区以外の一部のユーザーに影響が出た。

 その後、IP伝送装置をリセットすることで、順次ネットワークは復旧していき、16日午前1時30分に全面的に復旧した。その間、影響を受けたのは、フレッツ・サービスが285万契約、ひかり電話サービスが59万契約、フレッツ・ADSLが約150万契約、フレッツ・ISDNが約16万契約だという。

 16日夕方にNTT東日本が記者会見を開き、謝罪とともに今回のトラブルの原因について説明した。会見での説明を要約すると以下のようになる。

 東京・蔵前にある1台のIP伝送装置が故障。部品を交換するため待機系のルーターに切り替えたところ、各IP伝送装置がルート変更の再計算を始め、その負荷が高すぎてIP伝送装置が次々に停止していった。

 これはこれで筋は通っているのであるが、部品交換やそれに伴うルート再計算は日常的に発生する処理である。当然、これまでもあったはず。なぜ今回、大きなトラブルとなったのか・・・。

ルーターは転送経路を選ぶのが役割

 ルート計算というのは、IPネットワークでは欠かせない処理である。

 ルーターは、IPパケットに記されているIPアドレスをもとに相手先まで運ぶのが役割である。といっても、そのIPアドレスのパケットをどこに運べばいいのかという情報がないと仕事ができない。そのため、ルーターはルーティング・テーブルという情報を持っている(図1)。

図1●ルーターはルーティング・テーブルに基づきパケットを転送

 ルーティング・テーブルは簡単にいえば、「あて先IPアドレスが属するサブネット」とそのパケットを「出力するルーターのポート」の対応表である。これをもとにルーターは、受け取ったIPパケットを適切なルーターに引き渡す。各ルーターがこの処理を次々に実行することで、相手先にパケットが届けられる。

 このルーティング・テーブルの情報は、ある程度以上の規模のネットワークになると、自動的に設定する方法を使う。そのため、RIP(Routing Information Protocol)やOSPF(Open Shortest Path First)、BGP-4(Border Gateway Protocol-4)などのルーティング・プロトコルがある。ルーターはこれらのルーティング・プロトコルを使い、それぞれにつながるネットワークの情報を交換し、それをもとに経路を計算する。

 ルート計算を実行するのは、基本的にネットワーク構成が変わったときである。ネットワークを構築したとき、ルーターを追加したりダウンしたりしたときなどに、ルーティング情報をやりとりしてルートの計算をする。NTT東日本が蔵前のパッケージ交換したときに、このルート計算が発生し、これでフレッツ網がダウンしたという。

 しかし、ルーターが故障したりルーターを追加したりすることは日常的なこと。そのたびにネットワークがダウンしたのではサービスなど提供してられない。大手インターネット・プロバイダも、「ルート計算の負荷を考慮してあるはず。それにオペレータが使用するようなルーターは、IPパケットを転送するためのCPUとルート計算のためのCPUが別々に実装されているなど信頼性が高い。通常のオペレーションのなかで、ルート計算の負荷くらいで、ネットワークのほぼ全体がダウンすることは考えにくい」(インターネットイニシアティブ ネットワークサービス本部本部長の島上純一氏)と首をかしげる。ただし、IIJのルーターが数百台であるのに対し、NTT東日本は約4000台と格段に多い点は「我々の知らない世界」ということであるが。

 また、14都道県までトラブルが広がったことも疑問の声が上がった。「通常、なにか問題が発生しても、影響を局所的にとどめる構成を採っているはず」(KDDIコア技術統括本部ネットワーク技術本部ネットワーク計画部ネットワーク計画グループリーダー 課長の宮岡 俊高氏)。影響を局所化するというのは、ネットワークをある単位で分割して運用管理し、その間でやりとりされる「あやしいパケット、ありえなさそうなパケットを止めてトラブルの拡大を防ぐ」(IIJの島上氏)ことである。つまり、「ネットワークをフラットに作っていたのか」という驚きさえ聞こえてくる。NTT東日本のフレッツ網ではなにが起こったのか、疑問はつのるばかりであった。

レイヤー2スイッチ網を使ってリング・ネットワークを構成

 NTTのフレッツ網は、加入者系と中継系の二つで構成されている。中継系はリング型のネットワークで、5月15日のトラブルはこの中継系で発生した(図2)。IP伝送装置というのはフレッツ網用に専用に開発されたレイヤー2スイッチである。この中継系ネットワークに、収容ビル装置を通じて各ユーザーを集めてつないでいる。

図2●フレッツ網の構成
中継系のリング型ネットワークでトラブルが発生した。

 IPネットワークは通常、ルーターを使って、メッシュ状のネットワークを組むのが定石である。しかし、NTT東日本では0AB~J番号のひかり電話サービスを提供するため、「伝送遅延を抑えるなど、品質を確保する必要があり、レイヤー2スイッチによるリング型ネットワークを構築した」(NTT東日本 コンシューマ事業推進本部 ブロードバンドサービス部担当部長の河野 真之氏)。一般に、レイヤー3/4まで処理するよりも、レイヤー2と低いレイヤーにとどめたほうが高速転送が可能になる。リング型ネットワークの伝送路およびIP伝送装置はそれぞれ2重化されている。

 トラブルのきっかけは、部品交換のため、それまでつながっていたIP伝送装置を待機系の装置に切り替えたことである。当然、ルーティング情報のやりとり、ルート再計算という処理が始まった。フレッツ網ではIP伝送装置間のルーティング・プロトコルに、処理負荷が比較的軽いBGP-4に近いものを使っているが、それでもネットワークがダウンした。