再帰的ルーティングとは
ルーティングの NextHop アドレスは基本的には自身の Connected ルートのセグメントの中から指定します。
ただし、NextHop を異なるセグメントにしても正しくルーティングされるケースがあります。
しかも、存在しない IP アドレスを NextHop にしていても正しくルーティングされることさえあります。
これは、再帰的ルーティングが動作しているためです。
例えば、以下の構成の R1 において、192.168.10.0/24 への NextHop として 172.16.12.2 を指定しなければならないところを、172.16.23.1 としてしまったとします。
この場合、172.16.23.1 は自身の Connected には無い (そもそも存在すらしない) ですが、この NW アドレスへの Static ルートを書いていますので、それを参照します。
つまり、192.168.10.0/24 への NextHop は 172.16.23.1 、172.16.23.0/24 への NextHop は 172.16.12.2 と再帰的にルーティングテーブルを探し、結果的に以下を得ます。
このようにルーティングテーブルを再帰的に探すルータの動作を再帰的ルーティング と呼びます。
再帰的ルーティングの使い道
再帰的ルーティングじゃないとできない実装はおそらくありませんが、「使うとしたらこのように使える」というものを 1 つ示します。
これは運用負荷を低減するテクニックですが、例えば下図の NW 構成で、SW1 が障害時には SW2 へルートを切り替えるケースを考えます。
この場合、サーバファームのセグメントが複数にわたる場合、通常は全てのセグメントについてルーティング変更が必要になります。
しかし、図のようにサーバファームへのルーティングを SW3 の IP アドレスにしておけば、障害時に SW3 へのルートを 1 つ切り替えれば、サーバファームの全てのルートを切り替えることができます。
例では 3 セグメントですが、これが 20~30 セグメントとかになると、便利になるでしょう。
コメント