ルーティング・ループの確認方法
ルーティング・ループとは、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 0 ルーティングである 【192.0.2.0/24 の NextHop = Null 0】を設定します。
これにより、アサイン済の分割ルートに関してはロンゲストマッチにより正しくルーティングされ、未アサインのアドレス帯については Null ルート により破棄されるため、ルーティング・ループは回避できます。
ダイナミック・ルーティングにおけるルート集約は、集約する NW 機器で集約 Null ルートを自動生成し、それを配布しているため、自動でルーティング・ループを回避していますが、Static ルートで NW を構成するときは注意が必要です。
参考までに、OSPF におけるルート集約のイメージを下記に示します。
コメント