2017年8月25日に日本国内で発生した大規模な通信障害

ニュース解説 - 大規模ネット障害になっても不思議じゃない?「BGP」の仕組みとリスク:ITpro

「BGPでは他のネットワークから受け取った経路情報を基にルーティングするため、間違った情報や意図的に流された偽の情報であっても、それを信じて処理してしまう。今回障害が発生したNTTコミュニケーションズKDDIは、グーグルとピアリング接続していたとされる。コストが安くなるピアリング接続は通常優先されるため、たった1社の設定ミスだったが大規模な障害に発展してしまったのだろう。」



 米グーグルによるネットワークシステムの設定ミスが引き金になって、NTTコミュニケーションズKDDIなどのサービスに障害が発生した。独立したネットワークの集合体であるインターネットにおいて、どうしてグーグルの設定ミスが他社に波及したのか。その理由は、インターネットに使われるBGPの仕組みを知るとわかってくる。

 インターネットは、インターネットプロバイダーや通信サービス事業者、大学など、数万のネットワークが相互接続された巨大なネットワークである。

 グローバルIPアドレスドメイン名などの資源は、インターネットレジストリが管理するが、個々のネットワークはそれぞれの組織が独立して管理している。インターネットのように、個々のシステムが自律して管理を実行し、全体として機能するシステムを「自律分散システム」という。

対等な関係ならピアリングでつなぐ

 ネットワークが相互接続する形態には、「トランジット」と「ピアリング」がある。

 トランジットは、接続しているネットワークにパケットを転送してもらう形態。ユーザーのネットワークをインターネットにつなぐプロバイダーにおいては、中小規模のプロバイダーが大規模プロバイダーに接続する場合、この形態になることが多い。

 中小規模のプロバイダーと契約するユーザーのパケットは、そのプロバイダーのネットワーク内に宛先がなければ、大規模プロバイダーのネットワークに転送される。大規模プロバイダーでは、宛先に従ってルーティングを行い、パケットを宛先に届ける。トランジットでは、相手に「パケットを転送してもらう」ので、データ量などに応じて費用が発生する。

 一方のピアリングは、ネットワークの経路情報を互いにやり取りして、相手のネットワークに宛先があるときだけパケットを転送する接続形態。互いに同程度のデータ量をやり取りするのであれば、費用は通常発生しない。

 トランジットは接続しているネットワークに上下関係があり、ピアリングは対等関係になっていると考えるとわかりやすいだろう。

 一般的にプロバイダーは、より大手のプロバイダーとトランジット契約を結ぶ。そのプロバイダーは、より大規模なプロバイダーとトランジットで接続している。その階層の最上位にあるプロバイダーは、「Tier1」と呼ばれる。Tier1は、国際的なバックボーンを持つプロバイダーで、世界に数社しかない。

米グーグルは「ハイパージャイアント」

 10年ほど前までは、インターネットアクセスの多くはTier1のネットワークを経由していた。ところが近年では、その傾向に大きな変化が見られる。「ハイパージャイアント」が登場したからだ。

 ハイパージャイアントとは、米グーグルや米フェイスブックなどの大手コンテンツ事業者や米アカマイ・テクノロジーズのようなインターネットのコンテンツを効率的に配信するCDN事業者を指す。こういったハイパージャイアントに、プロバイダーがピアリングするようになったのだ。
インターネットは多数のネットワークで構成される“ネットワークのネットワーク”。以前は大手プロバイダーを中心にネットワークが相互接続されていたが、現在は米グーグルなどのコンテンツ事業者やCDN事業者のネットワークも大手プロバイダーと相互接続される。
f:id:nonbei:20170923043054j:plain

 それにより、プロバイダーはトランジットに支払う費用を抑えられる。さらに、コンテンツ事業者などに直接つながっているので、データの遅延を低減できるなど、通信品質を安定しやすくなる。Tier1を経由しないインターネットアクセスは今後も増えると予測される。

 インターネットを構成するプロバイダーやコンテンツ事業者の各ネットワークは、通常の企業ネットワークとそれほど変わらない構造を採っている。複数のルーターを使って構築され、ルーティングプロトコルを使って運用している。

 多くのプロバイダーではOSPFを採用している。一方、ハイパージャイアントなどは、独自に開発した通信プロトコルを使って運用している場合がある。


ネットワーク単位でルーティング

 ネットワークの集まりであるインターネットでは、個々のネットワーク内のルーティングは管理する組織によって異なるが、どの組織のネットワークを経由して宛先にパケットを届けるかのルーティングには、BGPを使っている。

 インターネットで使われているBGPでは、各組織のネットワークに「AS番号」と呼ぶ番号を振って識別している。ASとは、各組織が保有・運用する“自律した”ネットワーク。インターネットのサブネットワークといえる。

 例えば、プロバイダーのOCN(NTTコミュニケーションズ)のAS番号は4713、KDDIなら2516、ハイパージャイアントのグーグルなら15169である。

 AS番号は、グローバルIPアドレスドメイン名と同様、インターネット上で重複しないようにインターネットレジストリが管理している。

POPでつなぐプライベート接続とIXでつなぐパブリック接続

  各組織のネットワークがほかのネットワークと接続する方法には、プライベートとパブリックの2種類がある。

 プライベートは、事業者のルーターを収容した「POP」と呼ばれる設備同士を、専用線などでつなぐ方法だ。特定のASとだけつながる。専用線のコストなどがかかるが、通信の品質は確保される。
インターネットは事業者のネットワークをPOP同士またはIXを介してつなぐ。POPは事業者のネットワークにつながったルーターを収容した設備。IXは複数の事業者のネットワークを相互接続できるようにした設備。事業者のネットワークはASという一つのサブネットワークとして扱われる。
f:id:nonbei:20170923043146j:plain

 一方のパブリックは、「IX」と呼ばれる相互接続のためのポイント(設備)を介して、複数のネットワークと接続する方法である。IXには、複数の組織がネットワークを接続している。

 IX事業者に接続料を支払えば、そのIXと契約している別のネットワークと接続できる。IXとつなぐ回線は複数のネットワークとの接続で共有するので、混雑する場合がある。

経由するASの数で経路を判断する

 BGPでは、接続しているネットワーク同士が経路情報を交換して、ルーティングを実行する。交換される経路情報には、経由したAS番号 が 追加 されていく。
BGPでは経由するASの数で経路を判断する。ただ実際の運用では、パケットの転送には費用がかかるため、よりコストが安くなる経路を選ぶ場合が多い。
f:id:nonbei:20170923044017j:plain

 例えば、AS番号「50」のネットワークから経路情報が送られた場合、AS番号「20」のネットワークに届いた経路情報には「AS50」と書かれている。AS20のネットワークがこの経路情報を別のネットワークに送るときは、同じように「AS20」を追加する。つまり、経路情報には「AS50、AS20」と書かれている。

 こういった具合に、経路情報を受け取ったネットワークは、自分のAS番号を追加して別のネットワークに送る。

 BGPでは、記載されているAS番号の個数が少ない経路を、最適な経路と判断する。図に緑色で示した経路1の経路情報には「AS50、AS20」が、図に青色で示 した 経路2の 経路情報 には「AS50、AS40、A30」が記述されている。この場合、ASの個数が少ない経路1が選択される。

 ただし実際の運用では、AS番号の個数だけでは判断しないことが多い。前述したように、別のネットワークへのパケット転送には費用が発生する場合がある。そのような場合には管理者の判断で、AS番号の個数が多い経路を選択することがある。

ピアリング接続があると処理は複雑になる

 ここまで典型的なBGPの経路選択手順を示したが、実際はもっと複雑な処理を実行する。例えば、前述したピアリング接続があるときだ。

 ピアリングでは、AS番号を持つネットワーク同士が、互いのネットワーク内にあるコンピュータとの接続だけを行う。このため、互いに交換する経路情報は自身のネットワークに含まれるネットワーク情報だけだ。また、ピアリング接続したネットワークの経路情報は、別のネットワークに送らないようにする。

 BGPでは、「ローカル優先度」という数値を使って、管理者が優先する経路を設定できる。ローカル優先度は、高い数値のほうが優先される。

 例えばピアリング接続したネットワークがあるときは、ピアリング先のネットワークへの経路が優先されるように、ローカル優先度の数値を高く設定する。

 このように、BGPでは他のネットワークから受け取った経路情報を基にルーティングするため、間違った情報や意図的に流された偽の情報であっても、それを信じて処理してしまう。今回障害が発生したNTTコミュニケーションズKDDIは、グーグルとピアリング接続していたとされる。コストが安くなるピアリング接続は通常優先されるため、たった1社の設定ミスだったが大規模な障害に発展してしまったのだろう。




















ニュース解説 - 米グーグルの設定ミス、なぜ日本の大規模ネット障害を引き起こしたのか?:ITpro

ニュース解説 - OCNはとばっちり、米グーグルによる大規模ネット障害の真相:ITpro


インターネットって何だろう?|てくらぼ|パソナテック(PASONA TECH)