日本を揺るがしたGoogleミス

GoogleのBGP設定ミスが、8月25日に日本全国で起きたインターネット障害朝日新聞の報道IMPRESSの報道日経BPの報道の原因でした。

何が起きていたのか

Gooleから、約5万のBGP経路情報が、NTTなどの外部へも流れ出したことが原因でした。

これらの経路は、外部に広報せず、Google網内だけで使用する情報です。
それが設定ミスで外部に流出しました。

外部へ広報するルートは、NTT-COMのOCN(AS4713)を例にとると114.144.0.0/12で集約されたルートして存在しています。

集約された本来のルートに加え、114.154.133.0/24 といったより細かい単位の、Google網内だけ使用していた経路情報が、外部のピアに流れだしました。

Google網内では、Google検索、Youtube、Google Drive、Google Computeなどの様々なサービスがあるため、サービスに応じた最適ルートを選択するために集約されたルートを細かく分解して優先度を上げて使用している。
Google内部だけで使用されている高優先度の分解されたルート情報が外部にも広報されてしまいました。

新たに広報された、この細かい経路情報は、集約されたルートよりLOCAL_PREFが高かったために、本来の集約されたルートより優先されました。

BGPの経路情報の優先順位

  1. ネクストホップへのIGPルートを持っていない経路は無視
  2. weightパラメータを持つルータは、weightパラメータ値が最大の経路を優先選択
  3. LOCAL_PREFの値が最も高い経路を優先選択
    (今回、Googleから流れた長いサブネットマスクのLOCAL_PREFが高く優先された)
  4. AS_PATHのリストの長さが最も短い経路を優先選択
  5. ORIGIN属性のタイプが最も低い経路を優先選択(IGP<EGP<INCOMPLETE)
  6. ルートが同じASが複数ならMULTI_EXIT_DISC属性の低い経路を優先
  7. iBGPよりもeBGPで取得した経路を優先
  8. ネクストホップへIGPで最も近い経路を優先
  9. ルータIDが最も低いピアから学習した経路を優先

流出したルートは、外部から見ると、帯域が狭く混雑していたり、遅延が大きくTCPの速度が出ないルートだったり、場合によってはACL等で規制されていたりしたために、インターネットの通信が不安定になりました。

Googleからの流れた新たな経路が約5万と多かったことに加え、集約されていた経路を分割し細分化する経路であったために、新たなルートを受け取ったISPのルータへの負荷は急上昇したもようです。

そのため、一部ISPでBGP経路情報大量更新によるルータ過負荷で機能停止状態になり、Googleからの経路情報が流出が止まった後も、経路情報が残り、障害時間を長くしたようです。

また、 一部ISPでBGP経路情報大量更新によるバグ顕在化でNW機能不全が続き、さらに障害が長時間になったケースもあるようです。

対策

BGPに関する各種情報をモニターして、怪しい情報が流れ始めたら、そこからの経路情報を遮断することが、現在とれる対策です。

誤って経路情報が外に流れ出した12:22直後から、@BGPstreamにはGoogleからのBGP経路情報が怪しいとの情報があがっていました。
このような情報を収集し、対処する体制を持つことは、トラブル原因特定と早期解決にも有効です。

フルルートの更新に耐えられる処理能力を持ったルータを使うことも必須です。

未対処のバグのある古いファームを使わないことも必要です。

大規模ルート更新に耐えられる設備でないと、BGPハイジャックや、今回のようなケースへの対処が困難になります。

時間経緯

  • 8/25 12:22 PM
    Googleから新たなBGP経路が誤って流れはじめる
    Twitterの@BGPstreamにはGoogleがらみのBGP経路ハイジャックなどのアラート情報があがりはじめる
  • 8/25 12:33 PM
    Googleからの経路情報の誤情報が止まる
  • 8/25 13:00 PM 頃
    一部のピアで残ったままだった誤情報が消える
    以降BGP経路情報は復旧
    一部ISPでBGP経路情報大量更新による過負荷やバグ顕在化でNW機能不全が続く
  • 8/25夕刻
    一連の障害が回復し通信が安定したことの確認が終わり、各社復旧報が出る 8/25

日本への影響が大きかった理由

GoogleからのBGP経路情報は、日本限定ではなく、世界規模で起きていまいた。

しかし、深刻な栄養が出たのは日本でした。

Googleから誤って流出した経路の数でみるとOCN(NTT-COM)向けが多かったことが、日本への影響が大きかった最大の原因です。


Google-Veriozon間に誤って流れた経路情報数
誤って
流れた
経路数
AS番号 企業
24834 AS4713 OCN - NTT Communications Corporation
7715 AS7029 Windstream Communications Inc
4650 AS8151 Uninet S.A. de C.V.
2852 AS1659 Taiwan Academic Network (TANet) Information Center
1746 AS3209 Vodafone GmbH
1315 AS2519 ARTERIA Networks Corporation
1218 AS28573 CLARO S.A.
614 AS9394 China TieTong Telecommunications Corporation
560 AS12715 Orange Espagne S.A.U.
506 AS27747 TelecentroS.A.
463 AS16814 NSSS.A.
430 AS12066 TRICOM
428 AS45510 TELCOINABOX PTY LTD
404 AS11830 Instituto Costarricense de Electricidad y Telecom.
369 AS39651 Com Hem AB
357 AS6400 Compañía Dominicana de Teléfonos, C. por A. - CODETEL
316 AS10318 CABLEVISION S.A.
280 AS5615 KPN B.V.
225 AS4181 TDS TELECOM
224 AS43205 Bulsatcom EAD
221 AS17908 Tata Communications
183 AS395105 HYTEC-7779
179 AS45194 Syscon Infoway Pvt. Ltd.
166 AS9676 SaveCom Internation Inc.
164 AS4764 Wideband Networks Pty Ltd, Transit AS
152 AS18106 Viewqwest Pte Ltd
140 AS45069 China tietong Shandong net
131 AS10481 Prima S.A.
128 AS13445 Cisco Webex LLC
126 AS13156 Cabovisao, televisao por cabovisao, sa


日本のISPが使っているルータのBGP処理能力や、BGPハイジャックなどに備えてたBGP経路情報モニター&異常対処体制の脆弱さも副次的な原因にあるかもしれません。

最近のブログ記事

SORACOM,HLR持ちeSIM対応
SORACOMが自前のHLRを持ち、自…
準天頂衛星4機体制に
h2{ font-size:12…
Windows 10 mobile終了
Windows 10 mobileの新機…
カスタム検索

月別 アーカイブ