Home 技術記事 Edgioの新しいShakeAlertにより、ネットワークイベントの可視性が向上
Applications

Edgioの新しいShakeAlertにより、ネットワークイベントの可視性が向上

About The Author

Outline

Edgioの新しいShakeAlertにより、ネットワークイベントの可視性が向上

大規模でグローバルに分散したネットワークを運用する場合、ハードウェア障害、プロバイダーの停止、およびその他の動作の変化は定期的に発生します。 そのため、トラブルの兆候が発生したときにアラームを発するシステムは、人間のオペレーターや自動化されたシステムに警告を発し、迅速な是正措置を可能にします。 この目的のために、私たちはShakeAlertを開発しまし た。これは、公開されている外部データを基に構築されたアラートシステムで、インターネットの突然の変化を警告します。

ShakeAlertは、CDNから発信されるパスのパブリックコレクタから観察されるBGP(Border Gateway Protocol)アップデートのストリームを監視します。 更新の量が急激に増加すると、ShakeAlertはShakeと呼ばれるアラームを生成し 、インターネットのルーティング動作、特に外部ネットワークがトラフィックをCDNにルーティングする方法に変化がある可能性を示します。 これらのアップデートの内容を使用して、ShakeAlertはさらに、影響を受ける可能性のあるPOP(Points-of-Presence)、プロバイダー、およびプレフィックスの推定値を提供します。

このシステムは、アメリカ地質調査所の地震早期警報システムに因んで名付けられた 。 このシステムは、より速く動いているが破壊的ではないP波を検出し、より破壊的なS波が到着する前に住民に警告することで機能する。 ここでは、BGPのコントロールプレーン信号を、データプレーンおよびエンドユーザトラフィックの変更に関する早期警告信号として考えます。

背景

インターネット上の自律システム(AS)間のルーティングを容易にするために、ネットワークはBGPを介してルートを持つプレフィックスを通信します。 この通信の一部として、プレフィックスの到達可能性が変更されると、ネットワークは、影響を受けるプレフィックスとネットワークがそれらに到達するために使用するパスを示すアナウンスメントと呼ばれる一連のアナウンスメントを送信します。

インターネットの通常の運用では、ルーティングテーブルを更新する際に、ネットワーク間で何千ものメッセージが交換されます。 たとえば、ネットワーク障害、ネットワーク間の新しい接続、または計画的なメンテナンスの結果として、これらのルートが変更されるたびに、新しいメッセージセットが交換される可能性があります。 これには、オリジンネットワークによって生成された変更(新しいIPブロックのアナウンスなど)や、オリジンから下流で発生した変更(トランジットプロバイダーの接続の変更など)が含まれます

これらのメッセージは必然的にインターネットの現在の状態についての多くの洞察を提供し、ネットワーク間の接続の利益と損失を明らかにします。 この情報を利用するために、多くの 1 はルートコレクタと呼ばれるサービスを実行してい ます。ルートコレクタは、多くのネットワークとピアリングし、収集されたアップデートメッセージを一般に公開します。

接続が変更されると、アップストリームネットワークはBGPアップデートを送信し、最終的にBGPコレクタに送信します。

これらの行動の感覚を発達させるために、いくつかの初期観察を検討します。 一握りの異なるネットワークの更新フィードを検討します。 ここでは、2つの大規模CDNネットワーク(CDN A、CDN B)、1つのコンテンツネットワーク(コンテンツ)、2つの大規模ISP(ISP A、ISP B)、および1つのDNSルートレターについて検討します。 各タイプのネットワークは、異なる目的のために設計されており、異なるピアリングポリシーを備えている可能性があります。 各ネットワークについて、アップデートを1分間のバケットにグループ化し、2021年1月の各バケット内の1時間のメッセージ数を考慮します。

上の図は、その期間中の各アップデートビンのサイズをプロットしたものです。 ここでは、大規模な展開を特徴とし、多くのピアやプロバイダーがほぼ全体で最も多くの更新を生成し、コンテンツネットワークは比較的遅れています。 ISPとルートレターは、生成されるアップデートが大幅に少なくなります。 このような大きさの劇的な違いは、ネットワークの構造、ピア、およびアーキテクチャが、対応するメッセージ量に大きな影響を与える可能性があることを示しています。 したがって、次のセクションで説明するように、パラメータの変更に柔軟に対応できるようにする必要があります。

シェイクアラートシステム

ShakeAlertは、RIPE NCCのルーティング情報システム(RIS) 2 の一部である21ルートコレクタからのライブフィードをリッスンします 。 データはこれらのフィードから到着し、1分間の時間ビンにグループ化されます。 次に、各ビンのアップデート数をカウントし、異常値検出アルゴリズムを使用して、最近の他の数分間と比較して、異常に大量のアップデートがあるかどうかを判断します。 そのようなビンが観察された場合、シェイクを生成します

これを目的として、ShakeAlertは最後のwビンに表示された更新の数のスライドウィンドウを維持し 、wビンより古い更新に関する情報を保存しないようにし ます。 ShakeAlertがwビンの履歴を構築し、w+1番目のビンが完了すると 、この新しいビンのカウント(b w + 1)が前のウィンドウのカウントと比較され ます。 いくつかの潜在的な異常検出メカニズム(例えば、変更されたzスコアと標準偏差の推定、静的しきい値、およびさまざまな変化検出技術)を使用することができますが 、私たちは密度ベースの検出 3 4を使用しています。

密度ベースのアノマリー検出を行うために、半径Rと隣接数kを考える 。 新しい時間ビン bw + 1は 、最後のw分間に他のビンがk個未満で、半径R内のカウントが新しいビンのカウントを中心にしている場合に、外れ値となり ます。 正式には、任意の外れ値は最後のw分間にk個のビンb iよりも少なく 、|b w + 1|–|b i|Rとなる <。 私達は、そのような外れ値をシェイクアラート、または単にシェイクと呼び、これらのシェイクの更新カウントをサイズとして参照し ます。

ShakeAlertの全体的な検出プロセス

私たちの仮説の根底にあるのは、大規模で破壊的なインターネットルーティングの変化がこれらのイベントの最大のものを生成するということです。大量のトラフィックを伝送するルートは、多くのダウンストリームネットワークとコレクタによって受信される可能性が高いです。 ただし、基本的には、多くの変更にはこのカテゴリには該当しない大きな更新数が含まれます。 たとえば、定期的に予定されているメンテナンスでは、Anycastのアナウンスを撤回します。

ビン内のアップデートの内容をさらに観察して、ネットワークイベントの性質に関する詳細を明らかにすることができます。 アップデート内のプレフィックスを使用して、対応するネットワーク変更によって影響を受ける可能性のあるPoPおよびAnycastリージョンを判別できます。 アップデート全体で観察されたパスをさらに調査し、影響を受ける可能性が最も高いアップストリームネットワークを推定できます。 最後に、インバウンドCDNトラフィックに対するアラートの重要性に基づいてアラートの重要性を判断できます。

CDNの導入では、ウィンドウwの360分とk/5を使用している ため、一般的に観察される1時間ごとの動作に関するアラートを回避できます。 また、Rをウィンドウで観察されるビンサイズの5パーセンタイルと95パーセンタイルの間の距離とする 。 運用コンテキストを増やすために、アップデートで確認されたプレフィックスとパスに基づいて、BinをPOP固有の時系列にさらに細分化し、各Binに個別に警告します。 最後に、ネットワークの観測に基づいて最小アラートサイズを設定するなど、いくつかの特定の調整を検討します。

ShakeAlertの動作

次に、野生で揺れがどのように現れるかを示す簡単な例を考えます。 2022年9月の上記の例では、特定のCDN PoPに焦点を当て、Y軸に沿った更新数と線形スケールが以前の図よりもはるかに小さいことに注目しています。 この間、更新カウントはほぼ0になり、突然増加し、12:14にはるかに大きな更新カウントが生成され、12:20に2回目のスパイクが発生しました。どちらも揺れを引き起こしました。 これらの更新は、プロバイダーへの接続の予期しない中断によって発生しました。

評価

この揺れが興味深い事象を表しているかどうかを測定するために、以下のような分析を行う。 2022年の夏に30 Daysで生成された各揺れについて、対応するサイトの内部メトリックを調べて、揺れから10分以内に異常な動作が観察されたかどうかを判断します。 異常については、次のことを考慮します。 ルータのリセット(ルータが再起動した、またはオフラインになったなど)、プロバイダーリンク上のBGP状態の変更(プロバイダーBGPセッションが確立済み状態から終了したなど)、サイトからアナウンスされたアナウンスの変更、対応するサイトと少なくとも5つの他のサイト間で検出されたパケット損失。

上の図は、これらのイベントの30日数の内訳を示しています。 ここでは、すべてのバケツが少なくとも60%の揺れに対応するイベントを持っており、平均80%の揺れには一致するイベントがあったことがわかります。 これらの知見は、最大の揺れが交通に影響を与える重要な事象と一致していることを確認している。 しかし、彼らはさらに、日常的なメンテナンスから急性故障まで、そのような揺れを引き起こす可能性のあるイベントの幅を強調しています。

結論

ShakeAlertは、すでに豊富なCDNモニタリングを新たな視認性で提供し ます。 外部ソースからデータを取得することで、インターネットの動作について根本的に異なる洞察を提供することがわかっています。 システムに関する現在進行中の作業では、アラートの精度を向上させ、自動化された是正措置を可能にするために、データをさらに内部監視と組み合わせる方法を模索しています。

研究チーム、ネットワーク信頼性エンジニアリングチーム、およびこの作業を可能にしたすべての社内エンジニアリングチームに感謝します。 さらに、Emile Aben、Stephen Strowes、Mingwei Zhangなど、ルーティングデータに関する多くの外部専門家に有益なフィードバックとディスカッションを提供していただきました。

1 ( ルートビュー、RISなど)

2 システムは基本的に任意のコレクタを使用できます。 ここでは、WebSocketインターフェイスの柔軟性により、RISに焦点を当てます。

3 M. Gupta, J. Gao, C. C. Aggarwal, and J. Han. 時系列データの外れ値検出:調査。 『知識とデータ工学に関するIEEEトランザクション』、2014年。

4 T. Kitabatake, R. Fontugne, and H. Esaki. BLT:BGPアップデートメッセージをマイニングするための分類および分類ツール。 処理中 Infocom’18、2018年に発表されました。