SpeedData

bgp_monitoring

BGP監視

BGPとは

BGP(Border Gateway Protocol)とは、インターネット上のルーティングプロトコルで、AS(Autonomous System: 自律システム)単位で経路情報を広告します。
この到達可能性情報を交換し、トラフィックを効率的に誘導します。
ルートは世界中で絶えず発表されたり、削除されたりしています。

新しい自治システム(AS)が設立されると、その最初のアクションの1つとして、自分が所有するネットワークに向かう新しいルートがあることを近隣ASにアナウンスします。
逆に、あるプリフィックスが削除されると、そのルートはインターネット上から取り除かれます。

BGP監視とは

BGP監視は、BGPで各ASが広告した経路情報を監視し、自社のサーバが所属しているASまでの到達可能性情報を可視化します。
ルートの伝搬、IPおよび自律システム番号(ASN)の不一致、BGPアナウンスメントなどによる接続問題のトラブルシューティングに役立ちます。

BGPには主に2つの用途があります。

外部ボーダーゲートウェイプロトコル(eBGP)
一般に公開されている(インターネット上の)自律システム間のルーティングに使用される
内部ボーダーゲートウェイプロトコル(iBGP)
内部ネットワーク間のルーティングに使用される

このサービスではeBGPのみを監視します。

BGPは非常に脆弱なプロトコルであり、ルートのリークやハイジャックが発生しやすいため、BGPの監視は非常に重要です。
誤った設定や悪意のあるソースによって、偽のルーティング情報が広く伝搬し、インターネット上に波及する可能性があるからです。
アプリやサービスを構築するためにクラウドを利用することが一般的になり、やり取りが複雑になってきたため、BGPを監視することがこれまで以上に重要になってきました。

BGP監視は、世界中に配置されたCatchpointの監視ノードと完全なBGPテーブルを共有している数百の自治システム(AS)ピアからのアナウンス済みプリフィックス(eBGP)を監視することができます。
BGPのIPv4は現在サポートされており、IPv6のサポートは開発中です。

用語

自律システム(AS)
単一の組織または団体の管理下にある、接続されたIPルーティングプリフィックスのグループ。
Peer
特定の地理的場所でBGPテーブルを共有するAS。同一のASであっても、地理的に異なる地域に複数のピアが存在することがあります。
(例: 英国のCogentと米国のCogent)
Prefix
BGPを介してASからアナウンスされるIPv4またはIPv6アドレスのブロックを表すサブネット。
ルート
Prefixと、発表されたアドレスブロックに到達するためにトラフィックが通過しなければならない特定のASを示すAS番号のパスを組み合わせたもの。
IPv4のBGPプリフィックスは以下のようになります。
206.24.14.0/24 701 1239 42.
レジストリ
5つの地域インターネットレジストリ(RIR)があります。
RIRとは、世界の各地域におけるインターネット番号資源の分配と登録を管理する組織です。
AFRINIC
アフリカのネットワーク情報センターで、アフリカを対象としています。
ARIN
American Registry for Internet Numbersの略で、南極、カナダ、カリブ地域、米国を管轄しています。
APNIC
東アジア、オセアニア、南アジア、東南アジアを管轄するアジア太平洋ネットワーク情報センター。
LACNIC
The Latin America and Caribbean Network Information Centre の略で、その他のカリブ地域とラテンアメリカ全体を対象としています。
RIPE NCC
ヨーロッパ、中央アジア、ロシア、西アジアを管轄するRéseaux IP Européensネットワークコーディネーションセンター。

仕組み

Catchpointは、以下の組織とデータを共有しているピアからBGPデータを収集しています。

RIPE NCCのRouting Information Service (RIS)
欧州のインターネットレジストラであるRIPE NCCの公開データソース
Route Views Project
オレゴン大学を拠点とする公共のデータソース(大学のプロジェクトとしては最も古いもの)で、15分ごとにデータを公開しています。
Catchpoint
Catchpoint独自のデータソースで、Catchpointが独自のBGP接続を確立し、リアルタイムで完全なBGPテーブルを導き出しています。

監視対象のプリフィックスに基づいて、Catchpointは以下の情報を導き出します。

AS
BGPテーブルを共有しているエンティティの実際の組織と自律システム番号(ASN)
レジストリ
相手のASが登録しているインターネットレジストリ
地理的な情報
大陸
BGP テーブルを共有するルーターが地理的に配置されている大陸
BGPテーブルを共有するルーターが地理的に位置する国
オリジン
プリフィックスの到達性情報を発表しているAS
隣接
オリジンASの隣接、または次のパスの隣接

実装

実装は、簡単で、BGP監視したいサーバやネットワークのプリフィックスと、アラートの送付先メールアドレスを登録します。

BGP監視の設定

データ

ダッシュボード

正常な状態だと、以下のように表示されます。

正常な場合

可用性に問題が発生すると、以下のように、何%の可用性のダウンかによって、色が塗り分けられて、一目でどこの地域に問題が生じているかを判別することができます。

問題が発生している場合

スマートボード

Smartboardは、特定のテストにおける重要な問題や傾向を一度に表示します。
ページ上のフィルターやウィジェットを利用することで、パフォーマンスが最も変化している場所、ダウンタイムの原因、影響を受けている人、問題を抱えているサービスなどを簡単に把握することができます。

BGP監視では、スマートボードを使って特定のプリフィックスのデータを時系列で分析することができます。
主なコンテンツモジュールは5つあります。

概要

可用性とルーティングイベント(アナウンスメントと撤退)が、ルーティングイベントの時系列タイムラインとともに表示されます。

BGPスマートボード ― 概要

グラフ上のスパイク(グラフが尖っている箇所)は、アナウンスや引き出しの数が増加していることを表しており、ルーティングに問題があることを示しています。
タイムラインの下にある赤いバーは、この期間中に少なくとも1つのピアからルートが利用できなかったことを示しています。
濃淡をつけることで、過去の期間に発生したルーティングイベントの数を比較することができます。

BGPデータのソース

以下のパラメータを使用してBGPデータをフィルタリングできます。

BGPスマートボード ― データソース

宛先データ

BGPデータを以下の条件でフィルタリングすることができます。

Answer

返されたプリフィックスの回答でフィルタリングすることができます。
これは、質問されたプリフィックスと完全に一致する場合もあれば、複数のサブネットが存在する場合に一致する場合もあります。
現在のところ、返されるサブネットの最大数は10に制限されています。

BGPグラフ

全てのBGPピアから観測された特定のプリフィックスへのパスを表示します。
デフォルトでは、オリジンが右に、ピアデータが左に表示されます。
デフォルトでは、パスが折りたたまれて、プリフィックス、オリジン、View Byの順に表示されます。

BGPスマートボード - BGPグラフ

アラート/レポート機能

シンプルなアラート

テストの失敗

与えられたプリフィックスに対するパスをシステムが見つけられない場合にアラートが発生します。

アラートのトリガーピアの閾値
なし
テスト実行数
パスを含む状態からパスがない状態に初めて変化したとき、または少なくとも1時間に1回(1時間以内にパスがない状態になった場合)、システムはその状態を確認します。
ピア
指定されたプリフィックスに対してパスがないユニークなピアの数を調べます。

高度なアラート

可用性: テスト

プリフィックスの稼働率(特定のプリフィックスへのパスが存在した時間の割合)に基づいてアラートが表示されます。

※既知の制限事項:
このシステムでは現在、プリフィックスに変更があったイベントのみをアラートの対象としています。
そのため、変更があったかどうかにかかわらず、1分ごとにシステムを監視するスマートボードの情報と一致しない可能性があります。

アラートのトリガーピアの閾値
  • 特定の値
  • トレーリング値
ピア間の平均
時間閾値の全てのピアのデータを調べます。
ピア
ピアごとに可用性のメトリクスを調べ、トリガーに違反するピアの数を指定できます。

可用性:ダウンタイム率

プリフィックスのダウンタイム率に基づくアラート。

※既知の制限事項
システムは現在、警告のためにプリフィックスに変更があったイベントのみを確認しています。
これは、変更があったかどうかに関わらず、1分ごとにシステムを見るスマートボードで得られる情報と一致しない可能性があることを意味します。

アラートのトリガーピアの閾値
  • 特定の値
  • トレーリング値
ピア間の平均
時間閾値の全てのピアのデータを調べます。
ピア
ピアごとにダウンタイム指標を見て、トリガーに違反するピアの数を指定できます。

AS番号: オリジンAS

プリフィックスのオリジンが一致しない場合、または指定されたASNのリストに一致する場合に警告を出す

※既知の制限事項
システムは現在、警告のためにプリフィックスに変更があったイベントのみを確認しています。
これは、変更があったかどうかに関わらず、1分ごとにシステムを見るスマートボードで得られる情報と一致しない可能性があることを意味します。

アラートのトリガーピアの閾値
  • 等しい
  • 等しくない
Runs
パッチの状態が変更された個々のイベントを調べます。
ピア
各ピアとパッチの状態が変化したイベントを調べます。

AS番号: パスAS

AS番号: オリジンの隣接

プリフィックスがアナウンスされたオリジンの隣接が一致しない場合、または指定されたASNリストに一致する場合に警告を出す

※既知の制限事項
システムは現在、警告のためにプリフィックスに変更があったイベントのみを確認しています。
これは、変更があったかどうかに関わらず、1分ごとにシステムを見るスマートボードで得られる情報と一致しない可能性があることを意味します。

アラートのトリガーピアの閾値
  • 等しい
  • 等しくない
Runs
パッチの状態が変更された個々のイベントを調べます。
ピア
各ピアとパッチの状態が変化したイベントを調べます。

プリフィックス 8.8.8.0/24を監視しているとします。
隣接がAS "3356 "または "6939 "ではない場合、アラートにアラートを出すように設定したとします。
ピアが以下を含む回答を示すルートを提供したとします。

この場合、"6461 "はアラートで設定した隣接ASと一致しないため、アラートがトリガーされます。

AS番号: プリフィックスの不一致

システムは、指定されたプリフィックスが「具体的に」発表されることを期待しています。
より具体的なプリフィックスは、ミスマッチとみなされます。
つまり、プリフィックスが「/23」の場合、それに対するアナウンスを期待しており、「/24」のアナウンスはミスマッチとみなされアラートが発行されます。

※既知の制限事項
システムは現在、警告のためにプリフィックスに変更があったイベントのみを確認しています。
これは、変更があったかどうかに関わらず、1分ごとにシステムを見るスマートボードで得られる情報と一致しない可能性があることを意味します。

アラートのトリガーピアの閾値
  • 等しい
  • 等しくない
Runs
パッチの状態が変更された個々のイベントを調べます。
ピア
各ピアとパッチの状態が変化したイベントを調べます。

プリフィックスは8.8.8.0/23を監視しているとします。
ピアは、以下を含む回答を示すルートを提供したとします。

この場合、プリフィックスがマッチしないので、アラートが発行されます。