Loopback Interface を使う理由【interface Loopback0】
Loopback interface についてまとめます。かなり重要な存在ですが、初級者向けの参考書では簡単に言及されるだけで、あまり重要性が強調されていないように思います。ネットワークの勉強を始めた頃は、「何に使うんだろう?」と疑問に思っていたので、過去の自分に教えるつもりで書いていきます。
Loopback Interface の特徴
Loopback interface は次のような特徴があります。
- デバイス上に仮想的に作成するインターフェイス。
- デバイスが正常に稼働している限りDown しない。(明示的に shut させることは可能)
- Loopback Interface は同一デバイス上に複数作成できる。(Loopback0, Loopback1,...)
Loopback Interface はデバイス上に仮想的に作られるので、物理的なインターフェイスの状態に依存して状態が変化することはありません。
Loopback Interface が利用されるケース
Loopback Interface は次のような場合に利用されます。
3.は Router ID が変更になるとトポロジーの再計算が必要になることが理由です。これに関してはよく取り上げらるので、ここでは、1. と 2. に関して解説していきます。
1. ネットワークにおいて特定のデバイスを指定する
例えば、次のようなネットワークで、RT1 から RT3 に対して GRE Tunnel を張ることを想定します。
まず、各 RT で Loopback Interface を設定していない場合を考えます。RT1 は Tunnel を張る相手として、 RT3 のアドレスを指定する必要があります。RT3 は2つの物理 Interface を持っていますが、Tunnel の宛先として指定できるアドレスは 1つだけです。RT1 で Tunnel の宛先アドレスとして RT3 Gi 0/1 を指定していた場合、RT3 の Gi0/1 が落ちると、RT4経由で RT1 と RT3 は疎通できるのにもかかわらず、Tunnel は Downしてしまいます。
ここで利用されるのが、Loopback Interface です。Loopback Interface は上記で説明したように、デバイスが正常に動作している限りDown することはありません。このため、Tunnel の宛先として Loopback Interface のアドレスを指定した場合、RT1からRT3への経路が存在すれば Tunnel Interface は Down しません。
ここで挙げた GRE はあくまで 1例です。Loopback は様々な場面で利用されます。Tunnel を張る際に使用されることが多いので、GRE を例に説明しました。
2. 管理/運用上、わかりやすいネットワークを構築する
次のようなネットワークでRT1 の OSPF Neighbor を確認してみます。
全ての RT は OSPF area 0 に所属しており、RT1 は RT2 , RT4 と OSPF ネイバーを確立しています。全ての RT には loopback interface も router id も設定していません。この場合、RT1上で OSPF ネイバーは次のようになります。
RT1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 172.16.2.1 0 FULL/ - 00:00:38 10.0.0.14 GigabitEthernet0/2 ! RT4 192.168.1.1 0 FULL/ - 00:00:35 10.0.0.2 GigabitEthernet0/1 ! RT2
ここで表示されている Neighbor ID は対向の RT2 と RT4 の 一番大きなインターフェイスの IP アドレスとなっています。このような場合、Neighbor ID だけを見てどの RT と OSPF Neighbor になっているのか、運用者から見て一目で認識できません。「それほど問題か?」と思うかもしれませんが、わかりにくいネットワークは、変更やトラブルが発生した際に対応に時間がかかります。
loopback interface を設定すると、Neighbor ID は各 RT の Loopback Interface に設定されているアドレスが優先して使用されます。各 RT のLoopback Interface のアドレスさえわかっていれば、RT1上で OSPF ネイバーを確認した際に、RT2, RT4 とネイバーを確立していることがすぐにわかります。(Router ID を設定する方法もあります。)
RT1#show ip ospf neighbor Neighbor ID Pri State Dead Time Address Interface 1.1.1.4 0 FULL/ - 00:00:34 10.0.0.14 GigabitEthernet0/2 1.1.1.2 0 FULL/ - 00:00:34 10.0.0.2 GigabitEthernet0/1
*1:これに関しては、経験上の主観が入っていると思います。