$$$$
マルチホップとは?
マルチホップ(Multi-hop)は、BGP(Border Gateway Protocol)などのルーティングプロトコルにおいて、ピア(隣接ルーター)が直接接続されていない場合でも、複数の中継ルーターを経由してピアリング(ピア接続)を確立するための設定です。
通常、BGPピアリングは直接接続された隣接ルーター間で行われます。しかし、ループバックインタフェースを使用する場合、ピアリングルーター同士が物理的に直接接続されていないことが多く、そのためにマルチホップの設定が必要になります。
なぜマルチホップが必要なのか?
ループバックインタフェースを使ってBGPピアリングを行う場合、以下の理由でマルチホップ設定が必要になります:
- ループバックアドレスは仮想的なアドレスであり、通常は物理インタフェースに直接関連付けられていません。そのため、直接接続されていない場合でもループバックアドレス同士で通信を確立する必要があります。
- ピアリングルーターが複数の中継点(ホップ)を経由する場合、BGPセッションを確立するために、パケットが中継ルーターを通過できるようにする必要があります。
マルチホップ設定の具体例
ここでは、2つのルーター(ルーターAとルーターB)が間接的に接続されており、ループバックインタフェースを使用してBGPピアリングを確立する場合の設定例を示します。
ネットワーク図
[ルーターA]
└─ 192.168.12.1 (物理インタフェース)
└─ 10.0.0.1 (ループバックA)
[ルーターC]
└─ 192.168.12.2 (物理インタフェース)
└─ 10.0.0.3 (ループバックC)
[ルーターB]
└─ 192.168.23.2 (物理インタフェース)
└─ 10.0.0.2 (ループバックB)
- ルーターA と ルーターC は物理的に接続されています。
- ルーターC と ルーターB も物理的に接続されています。
- ループバックインタフェースを使用して、ルーターA と ルーターB が間接的にピアリングします。
ルーターAの設定例(Cisco IOSの場合)
router bgp 65001
neighbor 10.0.0.2 remote-as 65002
neighbor 10.0.0.2 update-source Loopback0
neighbor 10.0.0.2 ebgp-multihop 2
設定のポイント
- neighbor 10.0.0.2 remote-as 65002
- ピアとなるルーターBのループバックアドレス(10.0.0.2)とそのAS番号を指定します。
- neighbor 10.0.0.2 update-source Loopback0
- BGPセッションの送信元としてループバックインタフェース(ここではLoopback0)を使用するよう指定します。これにより、ピアリングセッションはループバックアドレスから行われます。
- neighbor 10.0.0.2 ebgp-multihop 2
- マルチホップの設定です。ここでは、ルーターAからルーターBまでに2ホップ(ルーターCを経由する)を許可しています。これにより、物理的に直接接続されていないルーター同士でもBGPセッションを確立できます。
ルーターBの設定例(Cisco IOSの場合)
router bgp 65002
neighbor 10.0.0.1 remote-as 65001
neighbor 10.0.0.1 update-source Loopback0
neighbor 10.0.0.1 ebgp-multihop 2
補足:マルチホップの値について
- ebgp-multihop の値は、ピアリングを確立するために必要な最大ホップ数を指定します。上記の例では、2ホップを設定していますが、ネットワーク構成に応じて適切な値を設定してください。
- 通常、eBGP(外部BGP)ではデフォルトで1ホップのみが許可されていますが、マルチホップ設定を行うことで、複数の中継ルーターを経由してピアリングが可能になります。
マルチホップ設定の手順まとめ
- ループバックインタフェースの設定
- 両方のルーター(ピアリングを行うルーター)にループバックインタフェースを設定し、それぞれに固定のIPアドレスを割り当てます。
- 物理インタフェースの接続確認
- 中継ルーター(例:ルーターC)を介して、ルーターAとルーターBが相互に到達可能であることを確認します。
ping
コマンドなどを使用して通信が可能かテストします。
- BGP設定の実施
- 各ルーターでBGPプロセスを開始し、ピアとなるルーターのループバックアドレスをネイバーとして設定します。
- update-source をループバックインタフェースに設定し、ピアリングセッションの送信元アドレスをループバックアドレスにします。
- ebgp-multihop を設定し、必要なホップ数を指定します。
- セッションの確立確認
- BGPセッションが確立されているかを確認します。
show ip bgp summary
などのコマンドを使用して、ネイバーの状態をチェックします。
図解:マルチホップピアリングの流れ
ルーターA(Loopback: 10.0.0.1)
|
| 192.168.12.1
|
ルーターC(Loopback: 10.0.0.3)
|
| 192.168.23.2
|
ルーターB(Loopback: 10.0.0.2)
- ルーターA から ルーターC へパケットが送信されます。
- ルーターC は ルーターB にパケットを中継します。
- ルーターB は最終的にパケットを受信し、BGPセッションが確立されます。
このように、マルチホップ設定を行うことで、直接接続されていないルーター同士でもBGPピアリングを確立し、安定したルーティング情報の交換が可能になります。
まとめ
- マルチホップは、複数の中継ルーターを経由してピアリングを確立するための設定です。
- ループバックインタフェースを使用することで、物理インタフェースの障害に影響されずに安定したBGPセッションを維持できます。
- ebgp-multihop の設定を適切に行うことで、間接的に接続されたルーター間でもBGPピアリングが可能になります。