スプリットホライズン (スプリットホライズン) とは | 意味や読み方など丁寧でわかりやすい用語解説

作成日: 更新日:

スプリットホライズン (スプリットホライズン) の読み方

日本語表記

スプリットホライズン (スプリットホライズン)

英語表記

Split Horizon (スプリットホライズン)

スプリットホライズン (スプリットホライズン) の意味や用語解説

スプリットホライズンは、コンピュータネットワークにおいて、ルーティングプロトコルが引き起こす可能性のあるルーティングループを防ぐための基本的なメカニズムの一つである。ルーティングループとは、ネットワーク上のデータパケットが目的地に到達することなく、複数のルータ間を永久に循環してしまう状態を指し、ネットワークの帯域幅を無駄に消費し、深刻な通信障害を引き起こす原因となる。スプリットホライズンはこの問題を防ぐために、特定の経路情報が発信元に送り返されないようにする単純ながら効果的なルールとして機能する。主に距離ベクトル型ルーティングプロトコル、例えばRIP(Routing Information Protocol)やEIGRP(Enhanced Interior Gateway Routing Protocol)の一部で採用されている。 ルーティングプロトコルは、ネットワーク内のルータが互いに経路情報を交換し、どのネットワークに到達するためにどのルータを経由すればよいかを学習するための仕組みである。この情報交換を通じて、各ルータは自身のルーティングテーブル(経路情報の一覧表)を構築し、受信したデータパケットを適切な宛先へ転送する。しかし、ネットワークの障害発生時など、経路情報が適切に更新されない状況下では、ルーティングループが発生するリスクが高まる。例えば、あるルータがネットワークAへの到達経路を隣接するルータBから学習したとする。このルータBへの経路が唯一の経路である場合、もしルータAがルータBに対し、ネットワークAへの到達経路は自分を経由すると教えてしまうと、ルータBは元の情報をルータAから再学習し、結果としてネットワークAへ向かうパケットがルータAとルータBの間を永久に往復してしまうことになる。これがルーティングループの典型的な例である。 スプリットホライズンはこの問題を回避するために、「あるインターフェースから学習した経路情報は、そのインターフェースからは再広告しない」という原則を適用する。具体的に説明すると、ルータAが自身のインターフェースXから、隣接するルータBからネットワークNへの経路情報を受信したとする。このとき、ルータAはその学習したネットワークNへの経路情報を、インターフェースXを通じてルータBへ再び送信することはない。これにより、ルータBが自身の送信した経路情報をルータAから再学習し、ループを形成する事態を未然に防ぐことができる。 より具体的なシナリオでこの動作を考える。ルータR1、R2、R3が一直線上に接続されているとする。R1はネットワークXに直接接続されており、その情報をR2に広告する。R2はR1からネットワークXへの経路情報(例えば、ホップ数1)を受け取り、自身のルーティングテーブルに記録する。次に、R2はR1から受け取ったネットワークXへの経路情報をR3に広告する。R3はR2からネットワークXへの経路情報(ホップ数2)を受け取り、ルーティングテーブルに記録する。この時点で、R1はネットワークXへの経路を知っており、R2はR1経由でXへ、R3はR2経由でXへ到達できる状態である。ここで、もしスプリットホライズンが適用されていなければ、R2はR1から学習したネットワークXへの経路情報をR1にも広告してしまう可能性がある。R1がこの広告を受け取ると、R1自身の直接接続経路よりホップ数が多いR2経由の経路を無視するものの、もしR1がネットワークXへの直接接続を失った場合、R2からの「R2経由でXに到達可能」という情報を使ってしまうかもしれない。するとR1からR2、そしてR2からR1へとパケットが循環し、ルーティングループが発生してしまう。 スプリットホライズンはこのループを防ぐために、R2がR1からネットワークXへの経路情報を学習したインターフェース(R1との接続インターフェース)からは、そのネットワークXへの経路情報をR1に送り返すことを禁止する。同様に、R3がR2からネットワークXへの経路情報を学習したインターフェースからは、その経路情報をR2に送り返すことはない。これにより、経路情報がネットワーク上を一方向に流れ、逆流してループを形成するのを防ぐことができる。 スプリットホライズンのメリットは、その実装のシンプルさと、ルーティングループ防止に対する効果の高さにある。特別な計算や複雑なアルゴリズムを必要とせず、経路情報の広告ルールを一つ追加するだけで、多くのルーティングループの問題を解決できる。しかし、デメリットも存在する。それは、特定のネットワーク構成、特に非ブロードキャスト型マルチアクセス(NBMA)ネットワーク(例えばフレームリレーやATMなど、複数のルータが一点で接続され、互いに直接通信できない構成)において、スプリットホライズンが原因で経路情報が伝播せず、ルーティングがうまくいかないケースがある点である。このような環境では、スプリットホライズンを無効にする必要があったり、ポイズンリバースのような別のループ防止メカニズムと組み合わせて使用したり、あるいは異なるルーティングプロトコルやネットワーク設計を採用したりする必要がある。 スプリットホライズンはルーティングループ防止の基本的な手段であるが、それだけで全てのループ問題を解決できるわけではない。より堅牢なルーティングプロトコルでは、ポイズンリバース(無効な経路情報を「無限大」のメトリックで広告することで、他のルータにその経路が使えないことを強制的に伝え、古い経路情報を上書きさせるメカニズム)や、ホールドダウンタイマー(経路がダウンしたと判断された際、一定期間その経路情報を信用せず、新しい情報が入ってきてもすぐに更新しないことで、不安定な経路情報の伝播を防ぐメカニズム)といった追加のループ防止メカニズムと組み合わせて運用されることが多い。これらのメカニズムと合わせて理解することで、ネットワークがどのように経路情報を管理し、安定した通信を維持しているかについての理解が深まるだろう。システムエンジニアを目指す上で、このようなルーティングの基本原理を理解することは、ネットワーク設計やトラブルシューティングにおいて非常に重要である。

スプリットホライズン (スプリットホライズン) とは | 意味や読み方など丁寧でわかりやすい用語解説