ルータID
OSPFやBGPで、それぞれのルータを区別するために使う32ビットの識別子。IPv4アドレスと同じ形で表すが、必ずしも通信に使えるアドレスではない。OSPFではLSAを発信したルータの識別などに使う。
イマシルちゃんの解説
OSPFやBGPでは、ルータを見分けるための番号としてルータIDを使うんだ。
特にOSPFでは、接続情報を共有するときに「その情報を作ったのはどのルータか」を区別する必要があるよ。
例えば 10.0.0.1 のようにIPv4アドレスと同じ形で表すけれど、これはルータを識別するための番号なの。
実際にそのアドレスへ通信できるとは限らないんだ。
同じ番号が重なると情報を区別できなくなるから、管理者が固定値を設定したり、物理的な回線が落ちても変わりにくいループバックインタフェースのアドレスを使ったりするよ。
この解説はわかりやすかったですか?
より深い解説
定義
ルータIDは、OSPFのLSAの作成者や、BGPのピアを識別するために使う32ビットの識別子である。IPv4アドレスと同じ形式(例:10.255.0.1)で表すが、アドレスとして通信に使うためのものではなく、名前(ID)である。OSPFv3(IPv6)でも、ルータIDは32ビットのままである。
明示的な設定と自動選択
ルータIDは管理者が値を指定できる。指定しない場合の選択規則は、プロトコルや製品によって異なる。次はCisco IOS系のOSPFなどで使われる選択の例である。
| 優先順位 | ルータIDになるもの |
|---|---|
| 1 | 管理者が明示的に設定した値 |
| 2 | ループバックインタフェースのIPアドレスのうち、最も大きいもの |
| 3 | 動作している物理インタフェースのIPアドレスのうち、最も大きいもの |
物理インタフェースから自動選択すると、プロセスの起動時などの状態によって選ばれる値が変わる場合がある。ただし、そのポートが落ちた瞬間に必ず変更されるわけではない。固定した値を明示的に設定しておけば、識別子を管理しやすい。値を変更する際の反映時点や、隣接関係を作り直す必要の有無も実装に従う。
ループバックインタフェース
ルータのループバックインタフェースは、ソフトウェア上に作る論理インタフェースであり、特定の物理回線のリンク状態に依存しない。装置自体の停止や管理上の無効化までなくなるわけではない。127.0.0.1のループバックアドレスとは別のもので、通常のIPアドレス(多くは/32)を割り当てる。
| 用途 | 内容 |
|---|---|
| ルータID | OSPF、BGPのルータの識別 |
| 管理用のアドレス | 到達経路を持つ相手からの遠隔ログインや監視 |
| BGPの接続元 | iBGPなどで接続元に設定し、物理回線とは独立したアドレスを使う |
アドレスを作成しただけで、他の装置に経路が自動的に伝わるわけではない。OSPFの広告対象へ含めたり静的経路を設定したりして到達性を確保する。代替経路があれば物理回線の障害後も同じアドレスへ到達できるが、切替えに時間がかかればBGPセッションが終了する場合もある。
重複に注意
ルータIDがネットワークの中で重複すると、OSPFでは、2台のルータのLSAが同じものとして扱われ、経路の計算が乱れる。設計の段階で、ルータごとに重ならないループバックアドレスを割り当てておく。