ルーティングループの問題

 ディスタンスベクタ型のルーティングプロトコルは、コンバージェンス(収束)の問題があります。収束するまでの間、ネットワークの状態が不安定になります。

その結果、ルーティングループが発生する問題が出てきます。

例えば、どんな具合にルーティングループが発生するのか下図を使って、解説していきます。

 ネットワーク1で障害が発生したとします。障害を検出した Router_A は、Router_B にネットワーク1 への経路がなくなったことを通知します。

※Router_C にも通知しますが、ここでは、分かり易くするために、あえて省略します。

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

 Router_B はネットワーク1への経路がなくなったのではなく、Router_D を経由すれば、ネットワーク1 に到達できると勘違いしてしまいます。

 そして、ネットワーク1へ到達できない経路情報であるにもかかわらず、Router_Bは、Router_Aに、この情報を通知してしまいます。

 その結果、間違った経路情報を学習してしまうことで、ネットワーク上でループができあがってしまいます。この状態のことを「ルーティングループ」と呼んでいます。

 ルーティングループが出来上がると、いつまでネットワーク1 宛てのパケットがネットワーク上をグルグルと回り続け、回線の帯域幅を圧迫してしまうことになります。いずれ、回線は、パンクしてしまいます。

 これが、ディスタンスベクタの最も大きな弱点となります。このルーティングループを回避する仕組みとして、パケットには、生存時間(TTL)が用意されており、生存時間を超過したパケットは、破棄されるようになっていて、いつまでもパケットが迷子になって巡回し続けるという状況を解決しています。

 また、ディスタンスベクタ型のルーティングプロトコル側にも、経由できるルータの数に制限が設けられています。例えば、RIPでは、最大ホップ数が15となっており、16は「到達できない」と定義されています。

チャンネルの紹介