Loopback Interface を使う理由【interface Loopback0】

Loopback interface についてまとめます。かなり重要な存在ですが、初級者向けの参考書では簡単に言及されるだけで、あまり重要性が強調されていないように思います。ネットワークの勉強を始めた頃は、「何に使うんだろう?」と疑問に思っていたので、過去の自分に教えるつもりで書いていきます。

Loopback Interface の特徴

Loopback interface は次のような特徴があります。

  • デバイス上に仮想的に作成するインターフェイス。
  • デバイスが正常に稼働している限りDown しない。(明示的に shut させることは可能)
  • Loopback Interface は同一デバイス上に複数作成できる。(Loopback0, Loopback1,…)

Loopback Interface はデバイス上に仮想的に作られるので、物理的なインターフェイスの状態に依存して状態が変化することはありません。

Loopback Interface が利用されるケース

Loopback Interface は次のような場合に利用されます。

  1. ネットワークにおいて特定のデバイスを指定する。
  2. 管理/運用上、わかりやすいネットワークを構築する。*1
  3. ルーティングテーブルを安定させる。

3.は Router ID が変更になるとトポロジーの再計算が必要になることが理由です。これに関してはよく取り上げらるので、ここでは、1. と 2. に関して解説していきます。

1. ネットワークにおいて特定のデバイスを指定する

例えば、次のようなネットワークで、RT1 から RT3 に対して GRE Tunnel を張ることを想定します。

f:id:naoki029:20190120194400p:plain

まず、各 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してしまいます。

f:id:naoki029:20190120194413p:plain

ここで利用されるのが、Loopback Interface です。Loopback Interface は上記で説明したように、デバイスが正常に動作している限りDown することはありません。このため、Tunnel の宛先として Loopback Interface のアドレスを指定した場合、RT1からRT3への経路が存在すれば Tunnel Interface は Down しません。

f:id:naoki029:20190120194442p:plain

ここで挙げた GRE はあくまで 1例です。Loopback は様々な場面で利用されます。Tunnel を張る際に使用されることが多いので、GRE を例に説明しました。

2. 管理/運用上、わかりやすいネットワークを構築する

次のようなネットワークでRT1 の OSPF Neighbor を確認してみます。

f:id:naoki029:20190120194455p:plain

全ての 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 を設定する方法もあります。)

f:id:naoki029:20190120194515p:plain

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:これに関しては、経験上の主観が入っていると思います。