【図解】ルーティング・ループの確認方法,原因と対策,回避設計~null0インタフェースの活用~ | SEの道標
ルーティング

【図解】ルーティング・ループの確認方法,原因と対策,回避設計~null0インタフェースの活用~

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

ルーティング・ループとは、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 におけるルート集約のイメージを下記に示します。

コメント

タイトルとURLをコピーしました