2021 年 10 月 4 日に Facebook が 6 時間にわたって停止したため 、何が起こっているのかを知るために人々が奔走しました。答えの一部は、ボーダー ゲートウェイ プロトコル (BGP) と呼ばれるインターネットの不可欠な部分にあります。
そもそも BGP とは何ですか?
最近の記事では、BGP を説明するためにいくつかの非常に適切な比喩が使用されています。人々はこれを 、航空管制官 から絶えず進化するインターネットの地図に至るまで、あらゆるものに例えてきました。 「インターネットのダクトテープ」とさえ呼ばれています。そして、彼らは大丈夫です。
BGP は、サーバーに到達するためにどのようなパスを通過する必要があるかをデータ要求に伝えるプロトコルです。たとえば、Facebook にログインするか、アプリを開いてフィードを取得する場合、BGP はデータ パケットを最速のルートに沿って導き、Facebook のサーバーからデータを取得します。
Cloudflareは、リクエストが目的のサーバーに到達するために最速かつ最も効率的なルートを選択するという点で、BGPを「 インターネットの郵便サービス 」と表現しています。 BGP は、データが通過できるすべての利用可能なルートを調べて、最適と判断したルートを選択します。
多くの場合、これは、インターネット全体を構成する自律システムを介してデータをルーティングすることを意味します。 BGP は、どのシステムが相互に通信しているかを判断し、それらの間の最速パスに沿ってデータを送信し、データが適切な宛先に到着できるようにします。
郵便局の比喩を続けると、インターネット上の各自律システムは郵便局の支店のようなものです。あなたの街に何千もの郵便受けがあるとしても、すべての郵便物は配達される前に郵便局を通過する必要があります。
インターネット上の自律システムの例は次のとおりです。
- Comcast、AT&T、Verizon などのインターネット サービス プロバイダー (ISP)。
- フェイスブックのような会社
- 政府や大学などのその他の大規模組織
The Vergeに寄稿したミッチェル・クラーク氏は、BGPを 絶えず更新される地図 と自律システムをその地図上の島に例えています。インターネット上には「島」が多すぎて、それぞれの間に橋を架けることができないため、BGP は橋がすでにどこにあるかを示します。
実際には、BGP には 2 つのタイプがあります。
- 外部 BGP (eBGP) : インターネット全体で使用されるプロトコル。郵便局のたとえで言えば、これは国際配送に似ています。
- 内部 BGP (iBGP) : 自律システムが独自のネットワーク内でデータをルーティングするために使用することを選択できる内部 BGP プロトコル。これは、さまざまな国の郵便サービスに似ています。
より広範なインターネットの eBGP にアクセスするために iBGP をセットアップする必要はありませんが、大手ハイテク企業などの一部の自律システムは、内部トラフィックのルーティングにとにかく iBGP を使用します。
BGP と DNS はどのように連携しますか?
BGP はインターネット上でのデータ ルーティングを可能にし、インターネットを結び付ける接着剤、つまりダクトテープの役割を果たします。 BGP の仕組みの 1 つは、データの実行可能なルートをアドバタイズすることです。 BGP が動作を停止すると、これらのルートが見つからなくなり、インターネットから消えてしまうため、データの行き場がなくなります。
それはFacebookで起こったことの一部です。 Facebook のインフラストラクチャ担当副社長 Santosh Janardhan 氏は、障害のメカニズムを説明する ブログ投稿 で次のように述べています。
「当社の小規模な施設で実行される仕事の 1 つは、DNS クエリに応答することです。DNS はインターネットのアドレス帳であり、ブラウザに入力する単純な Web 名を特定のサーバー IP アドレスに変換できるようにします。これらの変換クエリには、有名な IP アドレス自体を占有する当社の権威ネーム サーバーが、ボーダー ゲートウェイ プロトコル (BGP) と呼ばれる別のプロトコルを介してインターネットの残りの部分にアドバタイズされます。」
言い換えれば、インターネットの ドメイン ネーム システム (DNS) プロトコルはアドレスのリストのように機能し、BGP はそれらの家に郵便物を届ける郵便サービスです。住所はあっても家までの道順がわからない場合、郵便物は配達されません。
ジャナルダンはこう続けます。
「…DNS サーバー自体がデータ センターと通信できない場合、DNS サーバーはこれらの BGP アドバタイズメントを無効にします。これは、ネットワーク接続が異常であることを示しているためです。最近の停止では、バックボーン全体が運用から削除され、これらの場所は自らが異常であると宣言されました。その結果、DNS サーバーはまだ動作していたにもかかわらずアクセスできなくなり、インターネットの他の部分が当社のサーバーを見つけることができなくなりました。」
BGP がインターネットを混乱させる仕組み
インターネットの地図上でデータがたどるルートには、複数の要因が影響する可能性があります。一部のプロバイダーはシステムへのアクセスに料金を請求するため、コストは 1 つになる場合があります。インターネット自体の性質の変化もまた別の要因です。
自律システムや Web サイトは、インターネットのマップから移動したり、完全に削除されたりする可能性があります。サービス プロバイダーを変更または追加することもできます。たとえば、大学が ISP を Comcast から AT&T に切り替えることが考えられます。 BGP は、データが通過できるルートを定期的に更新して、ルートが最新の状態に保たれるようにし、リクエストが行き止まりの Wile E. Coyote スタイルに陥らないようにする必要があります。
自律システムは、BGP アップデートを常に問題なく実行します。しかし、間違った方向に進むと、非常に間違った方向に進む可能性があります。 Clark 氏は記事の中で、BGP はシステムからシステムへと迅速に拡散するように設計されているため、エラーが Facebook で見たよう な波及効果をもたらす可能性があると説明しています。
バグの修正
Cloudflare によると、トルコの ISP TTNet による 2004 年の不適切な BGP アップデートにより、一時的に TTNet がインターネット上のすべてのトラフィックの最適な宛先として宣伝されました。その結果、問題が解決されるまで丸 1 日接続の問題が発生しました。
このようなインシデントは、BGP の特定の弱点を示しています。つまり、インターネット全体を構成する自律システムは、BGP がデータの最適なルートであると通知するものを暗黙的に信頼してしまうということです。不具合は頻繁に発生するものではありませんが、BGP をより安全にする必要性を主張する人もいます。ただし、この規模のアップデートでは、インターネット上のすべての自律システムを一度にアップデートする必要があります。これは、控えめに言っても、プロトコルに大きな変更を実装するのは困難であることを意味します。
BGP は 、インターネットを機能させる いくつかの要素の 1 つにすぎません。その基礎を理解することは、将来の機能停止やその他の問題に対処し、理解するのに役立ちます。





