概要
2025年5月20日、BGPメッセージの不具合により大規模なインターネット障害が発生。 JunOSとArista EOSの組み合わせでBGPセッションが自動切断され、接続障害が発生。 原因は破損したBGP Prefix-SID属性のインターネット伝播。 主な関与ASや影響を受けたネットワークも特定。 BGPエラー処理の不備とベンダー間の実装差異が問題の本質。
2025年5月20日のBGP障害概要
- UTC 2025年5月20日午前7時、不正なBGPメッセージ伝播による大規模障害発生
- JunOSとArista EOS の組み合わせでBGPセッション自動切断、ルーティング不安定・一部ネットワークで接続断
- 問題のBGPアップデートは /16プレフィックス に対するもので、 BGP Prefix-SID属性 が付与されていた
- この属性は全データが 0x00で破損、インターネット向けBGPアップデートでは想定外
- IOS-XR/Nokia SR-OS はRFC7606準拠で正常にフィルタリング、問題なし
- JunOS は破損メッセージを転送、 Arista EOS は受信時にセッションリセット
- 多くのトランジットキャリアがJuniperハードウェアを利用、Arista EOS利用者の接続に影響
問題メッセージの発信元調査
- bgp.toolsアーカイブ分析により、複数のASが関与していたことが判明
- 属性がオリジンネットワークではなく、 中継キャリア で付与された可能性
- 主要な関与AS(全ての問題メッセージに出現)
- AS9304 (Hutchison Global Communications Limited)
- AS135338 (Starcloud Information Limited)
- AS151326 (DCConnect Communication Pte. Ltd.)
- AS138077 (PT Abhinawa Sumberdaya Asia)
- bgp.toolsのルート記録から、 AS135338またはAS9304 が属性付与の有力候補
- 属性付きアップデートで観測されたプレフィックス例
- 156.230.0.0/16
- 138.113.116.0/24
- 163.171.102.0/24
- 163.171.103.0/24
- 163.171.104.0/24
影響拡大の理由
- Hutchison/AS9304 が多くのIXに接続、IXのルートサーバー(bird)がBGP SID非対応
- フィルタされず多くのIXに配信、マルチテラビット規模で障害拡大
BGP Prefix-SID属性とは
- BGP Prefix-SID属性 はRFC8669で規定、主に 内部BGPセッション で利用
- ネットワーク内の経路制御用、インターネット全体へ伝播するものではない
- 外部BGPセッションを内部用として誤設定した場合などにリーク発生
影響を受けたネットワーク例
- 規模に対して大きな経路変動が観測されたネットワーク
- SpaceX Starlink (AS14593)
- Zscaler (AS62044 / AS53813)
- Bytedance (AS396986)
- Disney Worldwide Services (AS23344)
- Nagasaki Cable Media Inc (AS10000)
- Global Secure Layer (AS7578)
- UpCloud (AS202053)
- Netskope (AS55256)
- Teleguam Holdings (AS9246)
- bgp.toolsの通常時は毎秒2万〜3万メッセージ、障害時は 毎秒15万超 に急増
ベンダー間のBGPエラー処理問題
- 根本原因や真犯人は断定できないが、 インターネット全体に伝播 した事実が問題
- Juniper は自装置のセッションリセットは防ぐが、不正メッセージを他ピアに転送
- Arista EOSはエラー処理コードの不備でセッションリセット
- JunOSのBGPエラー耐性は全メッセージ部分を検査せず、結果として顧客側に障害を波及
まとめと今後の課題
- 障害は短時間だったが、影響範囲は広大
- IPベースサービスの拡大で、インターネット障害の社会的リスクが増大
- 例:TV放送停止や緊急通報不能などの重大な影響
- BGPエラー処理の実装不備や運用ミスが、現実世界の被害を引き起こすリスク
- bgp.toolsへのデータ提供で、今後の障害解析や防止に貢献可能
- 継続的な監視・情報共有・実装改善の必要性
参考
- bgp.tools
- RFC7606 “BGP error tolerance”
- RFC8669 “BGP Prefix-SID”