GoogleがBGPでリークした情報の中身を見てみよう
2017年8月25日の大規模インターネット障害の続きです。
オレゴン大学がRouteViewsというサイトで、BGPフルルート情報を公開しています。 今回、Googleがリークしてしまった経路情報をRouteViewsで確認することができます。
RouteViewsで公開されているデータは、MRTというフォーマット(RFC 6396参照)で保存されているので、何らかのツールで解析する必要があります。
今回は、RIPE NCCが管理しているbgpdumpというツールを使いました。
RouteViewsのデータから、Googleによる誤設定データを最初に観測できるのは、3時17分37秒(UTC)のところです。 Verizon(AS 701)→Google(AS 15169)→Korea Telecom→Korea Internet Security Agency(韓国インターネット振興院)という経路を示すメッセージが保存されています。
TIME: 08/25/17 03:17:37 TYPE: BGP4MP/MESSAGE/Update FROM: 137.39.3.55 AS701 TO: 128.223.51.102 AS6447 ORIGIN: IGP ASPATH: 701 15169 4766 23599 NEXT_HOP: 137.39.3.55 ANNOUNCE 1.18.126.0/24
その後、大量にVerizon(AS 701)→Google(AS 15169)という経路が続きますが、OCN(AS 4713)に関してのメッセージのうちのひとつは、次のようになっています。
TIME: 08/25/17 03:17:41 TYPE: BGP4MP/MESSAGE/Update FROM: 137.39.3.55 AS701 TO: 128.223.51.102 AS6447 ORIGIN: IGP ASPATH: 701 15169 4713 NEXT_HOP: 137.39.3.55 ANNOUNCE 20.197.32.0/21 20.197.56.0/21 20.197.16.0/21 20.197.0.0/20 20.197.52.0/22 20.197.41.0/24 20.197.30.0/24 20.197.24.0/22 20.197.50.0/24 20.197.28.0/23 20.197.40.0/24 20.197.44.0/22 20.197.31.0/24 20.197.51.0/24 20.197.42.0/23 20.197.48.0/23
その後、03:17:43あたりに、Cogent(AS 286)→Verizon(AS 701)→Google(AS 15169)→OCN(AS 4713)というメッセージも観測できます。
さらにその後、03:17:53にも、Verizon(AS 701)→Google(AS 15169)→OCN(AS 4713)で細かい経路を大量に含むメッセージもあります。
2017年8月25日03:28頃に、AS 701からの大量のUpdateが記録されています。 その一例として以下のようなものがあります。 誤った経路と思われるVerizon(AS 701)→Google(AS 15169)→OCN(AS 4713)から、Verizon(AS 701)→NTT Communications(AS 2914)→OCN(AS 4713)となっています。
約10分ほどで、誤って広告された経路を訂正する内容がVerizonから広告されているのが観測されていることから、Google側で誤設定から8分以内に設定が修正されたという報道内容がデータからも確認できます。
TIME: 08/25/17 03:28:13 TYPE: BGP4MP/MESSAGE/Update FROM: 137.39.3.55 AS701 TO: 128.223.51.102 AS6447 ORIGIN: IGP ASPATH: 701 2914 4713 NEXT_HOP: 137.39.3.55 ANNOUNCE 20.197.32.0/21 20.197.56.0/21 20.197.16.0/21 20.197.0.0/20 20.197.52.0/22 20.197.41.0/24 20.197.30.0/24 20.197.24.0/22 20.197.50.0/24 20.197.28.0/23 20.197.40.0/24 20.197.44.0/22 20.197.31.0/24 20.197.51.0/24 20.197.42.0/23 20.197.48.0/23 27.114.0.0/17 58.88.0.0/13 60.32.0.0/12 61.4.172.0/22 61.4.163.0/24 61.4.160.0/24 61.4.162.0/24 61.4.168.0/22 61.4.154.0/23 61.4.164.0/22 61.4.161.0/24 61.4.152.0/23 61.4.156.0/22 61.28.192.0/24 61.113.0.0/16 61.112.0.0/16 61.118.0.0/16 61.199.0.0/16 61.119.0.0/16 61.114.112.0/21 61.114.120.0/21 61.126.0.0/15 61.207.0.0/16 61.214.0.0/16 61.208.0.0/16
Verizonからの広告が約10分ほどで行われたとしても、その内容を受け取ったBGPルータにおけるパケット転送用のテーブルが即座に書きかわるわけではありません。 経路収束(コンバージェンス)にかかる計算時間は、経路数が多ければ多いほど長くなりがちなので、経路が収束するまでに時間がかかってしまったために障害が発生してしまったという事例もありそうです。
他にも、生データからいろいろなことが読み取れそうです。ご興味のあるかたは、是非。
追記
RouteViewsのデータにあるタイムスタンプは実際の時刻と少しずれているのでご注意ください。 その後、修正されましたが、障害発生時のデータにおける時刻情報は5分ほど遅れています。 実際の時刻は+5分ぐらいです。
今回のBGP経路解析のついでに、Route Viewsに記録されているデータの一部にタイムスタンプのずれがあることを見つけたよ。目grepで違和感があったので、異なる記録情報から比較的同じ条件になるBGP UPDATEを比較して時刻差分の傾向を発見。先方に連絡したらビンゴでした。
— Yoshinobu Matsuzaki (@maz_zzz) 2017年8月29日
最近のエントリ
- 日本のIPv6採用状況が50%を超えている件について
- 「ピアリング戦記」の英訳版EPUBを無料配布します!
- IPv4アドレス移転の売買価格推移および移転組織ランキング100
- 例示用IPv6アドレス 3fff::/20 が新たに追加
- ShowNet 2024のL2L3
- ShowNet 2024 ローカル5G
過去記事