スプリットホライズン
ディスタンスベクタ型のルーティングプロトコルは、どうしてもネットワーク全体に経路情報が行き渡るのに時間がかかってしまいます。これをコンバージェンスの問題と言います。
正常な状態が恒久的に変化しないネットワークであれは、問題ないのですが、障害などでネットワーク構成が変化した場合に、ルーティングループの問題が発生します。
そもそも、なぜ、ルーティングループが発生するのでしょうか?
ルーティングループが発生する過程を見て行きます。
ネットワーク1の障害を検出した Router_A は、Router_B にネットワーク1への経路がなくなったことを通知します。

その後、間もなく、Router_D は、定期更新で、Router_D(自分)を経由すれば、ネットワーク1 に到達できるという情報(Router_D → Router_C → Router_A)をRouter_Bへ送ります。

Router_B はネットワーク1への経路がなくなったのではなく、Router_D を経由すれば、ネットワーク1 に到達できると勘違いしてしまいます。
そして、ネットワーク1へ到達できない経路情報であるにもかかわらず、Router_B は、Router_A に、この情報を通知してしまいます。

その結果、間違った経路情報を学習してしまうことで、ネットワーク上でループができあがってしまいます。

なぜ、ルーティングループが発生してしまったのか、気づきましたでしょうか?
Router_B は、ネットワーク1への経路情報を Router_A から教えてもらったにもかかわらず、Router_A に教えています。
Router_A に教えてもらったネットワーク1 への経路情報をあえて、教える必要があるのでしょうか?
Router_B が余計なことをしたばっかりに、ルーティングループが発生しています。
今回は、Router_B に注目しましたが、ネットワーク1への経路を Router_B から学習したのであれば、Router_D についても同様なことが言えます。
教えてもらった経路情報を教え返さなければ、この問題は、そもそも起こらなかったはずです。
スプリットホライズンとは、一言で説明すると
「教えてもらったことを教え返さない。」
ことです。
とても単純なメカニズムですが、この動作が効果的にルーティングループを防いでくれます。