BGPフルルートは必要か?GREEの事例

2014/7/30-1

「インターネットに接続された全てのネットワークへの経路」であるBGPのフルルート(Full Route)を「ネットワークエンジニアの夢」と表現するネットワークエンジニアもいます。INTEROP Tokyo 2014のShowNetでも、あえてフルルートを受け取らないAS運用がテーマのひとつでした。

さて、そんなフルルートですが、「それって本当に必要なの?夢とかロマンとか感情的な話じゃなくて、現実問題として必要なの?」といった方向性の議論がコンテンツ事業者などの間で増えつつあります。

今回は、2年前にフルルート運用から脱却したグリー株式会社インフラストラクチャ本部の黒河内倫氏に、何故フルルートの運用をやめたのかや、それによって何が変わったのかを伺いました。

フルルートを捨てる決断を促した障害

GREEがフルルートを捨てる決断をしたのは、2年前、2012年の夏に発生した障害が原因でした。当時GREEでは、8台のBGPルータを運用していました。eBGPの冗長性確保のため複数の回線を収容しており、それぞれのBGPルータでフルメッシュ構成のiBGPで接続されていたそうです。

2年前にトランジット側で障害が発生し、BGPの経路切り替えに時間がかかり、CPUが100%機器が高負荷になってしまったことで、大きな障害になってしまいました。

障害が発生してしまった理由

2年前にBGPルータで発生した状態は、当時のGREEが事実上BGPでの経路切り替えを行えないことを示すものでした。本来であれば、トランジット側で障害が発生したとしても、特に大きな問題が発生せずに経路が切り替わらなければならないような事例でした。

2012年の夏に発生した障害の要因とされているのが、以下の3点です。

  • ハードウェアの処理能力不足
  • 経路数の増加
  • iBGPピアリングの多さ

当時、最終的には経路が切り替わったのですが、その際にCPUが100%に張り付いてしまうことで通信断が発生したのは、BGPを行っている機器の処理能力不足が原因でした。インターネットにおける経路数の増加、すなわちフルルートと言われる経路の規模増大がGREEで使われていた機器の処理能力を超えてしまっていたのです。

次に、経路数の増加ですが、インターネットの経路数は、インターネットの誕生から現在まで常に増え続けています。最近は、インターネットの普及だけではなく、IPv4アドレス在庫枯渇による個々のネットワーク規模が縮小することで経路の数が増加しているという要因も加わっています。


www.cidr-report.orgより

www.cidr-report.orgで公開されているフルルートの経路数を見てみると、2008年頃には約25万経路だったものが、今は50万経路を超えているのがわかります。経路数の増加は今なお続いており、どこまで増えるのかは現時点では、まだ不明であると思えます。

2012年夏に起きた障害要因の3つ目とされる、iBGPピアリングの数ですが、「そこまで多いわけではないのですが、要因のひとつではありました」とのことでした。

コンテンツ事業者がBGPルータを購入しにくい理由

取材していて私が疑問に思ったのは、「BGPルータをパワーアップさせるのでは駄目なのだろうか?」という点です。フルルートの規模が大きくなってBGPルータとして利用している機器の処理能力を超えてしまったのであれば、それをパワーアップさせれば良さそうだとも思えます。

黒河内氏によると、「BGPルータはコンテンツ事業者にとって購入しにくい商品なのです」とのことでした。

BGPを主目的とするルータは物理ポート数が少ないのです。大規模な通信事業者が利用する高価な、いわゆる「キャリアクラス」と呼ばれるBGPルータであれば、非常に多くの物理ポートがついたスロットを刺せますが、主に日本国内のユーザを対象としたコンテンツ事業者であるGREEにとってはオーバースペックであるとのことでした。

物理ポート数が問題になるのは、BGPルータに直接多くのサブネットを繋ぐような構成で運用が行われているためです。データセンター内にあるToR(Top of Rack)スイッチとBGPルータが直接繋がるような構成になっているとのことでした。物理ポート数が少ないBGPルータを利用しようと思うと、BGPルータとは別に物理ポートが多いスイッチを導入する必要があるのですが、そういった構成は選択しませんでした。

その選択をしなかった理由のひとつとして、「スピード感が必要だった」ことが大きかったようです。同時、トランジット側で再度障害が発生すれば同様の状況に陥ることが明確でした。しかし、全く新しい機器を導入するには「検証 → 発注 → 納品 → メンテナンス調整」が必要となり、時間がかかってしまいます。そういった状況もあり、新しくハードウェアを購入するという選択肢は採用されませんでした。

「フルルートを捨てる」という選択

2012年に選択された対応は、BGPルータが扱う経路数を削減するといったものでした。

GREEのビジネスモデル上、同社ASに対するアクセスの99%がモバイル網からです。日本国内モバイルキャリア3社との通信が、GREEへのアクセスの99%なのです。要は、日本国内モバイルキャリア3社との通信に極端に偏ったトラフィックを扱うという運用だったわけです。

フルルートを持つというのは、世界中の全てのネットワークへの経路を持つということですが、GREEにとってはフルルートは特に必要なものとは言えない状況です。たとえば、地球の裏側に到達するための経路を持っていたとしても、GREEはそれを使うことはなかったのです。

そういった背景もあり、GREEは、日本国内モバイルキャリア3社のパーシャルルート(Partial Route)と、デフォルトルート(Default Route)だけをトランジット提供者から受け取ることによって経路数を削減するという選択をしました。この変更によってGREEのBGPルータが扱う経路数が劇的に減少しました。2012年夏の障害当時40万経路だったものが、パーシャルルート+デフォルトルートに変えたことによって約2600経路まで減りました。2014現在は、さらに経路数が減って約1800になっているとのことでした。

フルルートをやめたことによって、ハイスペック機器にリプレースすることなく、運用し続けられているそうです。

フルルートをやめたことによる障害(ただし1件のみ)

黒河内氏は「フルルート運用をやめるのは、ぶっちゃけ、現場の抵抗がかなりありました」と当時を振り返りますが、それによる障害は1件を除いて特に無いそうです。

その障害は、GREEが接続しているデータセンター側内でのネットワーク構成変更に伴うものでした。次の図のようにデータセンター側にあるDC 1とDC 2、DC 2とDC 3の内部接続が廃止されました。



図はGREE提供

「障害後の構成」の図にあるように、データセンター内での内部接続が廃止された後に、データセンター側から本来の/26の経路とともに、「バックアップ用」として/24の経路が送られました。このとき、ISP 2側に送られている192.0.2.192/26 の経路は、ISP 2からのデフォルト経路(0.0.0.0)になってしまうので、192.0.2.192/26の経路をGREEは受け取らず、IX経由の192.0.2.0/24だけを受け取ります。このため、192.0.2.192/26との通信ができなくなってしまったのです。

私の感想としては、この1件の障害はデータセンター事業者が本来は出すべきではない到達性を実現できない経路を出してしまっているのが問題であると思いました。もちろん、GREEがフルルート運用をしていれば正常時には障害が表には出ないでしょうが、何らかの障害が発生したときに問題が出そうな設定だったのではないかと思います。

当時のデータセンター事業者側の言い分は「GREEがフルルートじゃないとは思わなかった」だったそうです。そういったこともあり、「グリーAS55394がFull route運用ではないことをどこかに明言したほうが良いと思った」ので、JANOGなどでフルルート運用をやめたことを発表しているとのことでした。

最後に

BGPは、インターネットを構成する根幹とも言える技術であり、インターネットに接続されたネットワークを網羅するフルルートなくして、今のインターネットは成り立ちません。

しかし、インターネットに接続する全ての事業者が各自でフルルートを運用する必要があるのか?という論点も当然のごとく存在し得ます。これまでは、フルルートと言われる経路の総数がそこまで多くなかったこともあり、それを運用するという選択が自然に行われてきたと言えますが、IPv4アドレス在庫枯渇問題などによって経路数が増えている現状を見て、「そろそろ無理かも」といった判断が増えつつあるのかも知れません。

現段階では様子見のコンテンツ事業者も多く、「フルルートを捨てる」という選択は一般的なものであるとも言えません。しかし、そういった選択肢を模索するコンテンツ事業者が増えつつあるため、数年後には、GREEと同じような運用形態が増える可能性が高いと予想している今日この頃です。

最近のエントリ

過去記事

過去記事一覧

IPv6基礎検定

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