ルーティング・ループの確認方法、原因と対策、回避設計

ルーティング・ループの確認方法

ルーティング・ループとは、IPパケットが、TTLが尽きるまでルータを2回以上通過する状態のことを言います。

ルーティング・ループの確認方法は2つあります。1つ目はtracertもしくはtracerouteを打って、同じIPアドレスからの応答があるのを確認する方法、 2つ目はPingを打って、以下のように"TTLが期限切れになりました"(英語表記の場合、"TTL Expired")が表示がされるのを確認する方法です。

上記のケースでは、200.200.200.200宛にPingを打ち、どこかでループが発生し、最終的に192.168.11.1のアドレスを持つNW機器でTTLが0になりICMP Time Exceeded が端末に戻ってきた、という状態です。

ルーティング・ループの原因

それなりのNWエンジニアであれば、目的の通信ができるようにルーティングを設定することは容易いですが、 それでもよく検討から漏れるのが、実際に機器に割り当てていないNWセグメント宛通信のルーティング・ループです。

例えば、以下のケースを考えます。

スポンサーリンク

A社に192.0.2.0/24というGlobl IPアドレスが割り当たっているが、未アサインのアドレス帯がある場合、 そのアドレス帯への通信があった場合にルーティング・ループが発生してしまいます

この問題に関する基本的な考え方は、ルート集約を行う際は、集約された中の未アサインアドレス帯への配慮が必要、ということです。 具体的な解決策としては、ルート集約の境界にある、ルート分割しているNW機器に、集約ルートのNullルートを作成することです。

上記のケースでは、ルート集約の境界はA社ルータ(ルート集約)とA社コアSW(ルート分割)であるため、A社コアSWに 集約ルートのNullルートである 【192.0.2.0/24 の NextHop = Null】を設定します。

スポンサーリンク

これにより、アサイン済の分割ルートに関してはロンゲストマッチにより正しくルーティングされ、未アサインのアドレス帯についてはNullルート により破棄されるため、ルーティング・ループは回避できます

ダイナミック・ルーティングにおけるルート集約は、集約するNW機器で集約Nullルートを自動生成し、それを配布しているため、 自動でルーティング・ループを回避していますが、StaticルートでNWを構成するときは注意が必要です。

参考までに、OSPFにおけるルート集約のイメージを下記に示します。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする