なぜ RIP はポート 520 番を使うのに OSPF はポートを使わないのか?
ダイナミックルーティングで利用される RIP は UDP の 520 番ポートを使いますが、OSPF のポート番号ないということに関して疑問に思いなぜなのかを調べてみました。
この違いは、それぞれのプロトコルが 「OSI 参照モデルのどの階層の上に成り立っているか」 について理解する必要があります。
この記事では、ポート番号の役割から、RIP と OSPF の構造の違い、そしてそれぞれの仕組みについて解説します。
1. ポート番号は「L4」のためのもの
まず大前提として、ポート番号が何のためにあるのかを整理しましょう。
- ポート番号 (Layer 4): そのコンピュータの中の「どのアプリケーション」に渡すか
ポート番号は、トランスポート層のプロトコルである TCP や UDP のヘッダに含まれる情報です。
つまり、「TCP や UDP を利用しないプロトコルには、ポート番号という概念自体が存在しない」 のです。
データの受け渡しイメージ
L4(TCP/UDP)は、ポート番号を見て L7(アプリケーション)へデータを振り分けます。
2. RIP と OSPF の構造的な違い
RIP:アプリケーションのように振る舞う
RIP は UDP (User Datagram Protocol) の上で動作します。
「データを相手に届ける」という仕事の一部を UDP に任せているため、UDP ヘッダにある 520 番ポート を使用して RIP プロセスを識別します。
OSPF:IP 上で動作する
OSPF は TCP や UDP を使いません。IP (Internet Protocol) の上で直接動作します。
IP ヘッダには「次はどのプロトコルにデータを渡せばいいか」を示す プロトコル番号 というフィールドがあります。OSPF はここで識別されます。
| プロトコル | 下位プロトコル | 識別方法 | 番号 |
|---|---|---|---|
| RIP | UDP | ポート番号 | 520 |
| OSPF | IP | プロトコル番号 | 89 |
3. ダイナミックルーティングの比較
ここからは、両者のルーティングの仕組みの違いを深掘りします。
ダイナミックルーティングとは
ルーター同士が情報を交換し合い、「宛先ネットワークまでの最適なルート」 を自動で計算してルートテーブルを作成する仕組みです。この「最適」を判断する基準を メトリック と呼びます。
RIP (Routing Information Protocol)
- 型: ディスタンスベクタ型(距離ベクトル型)
- メトリック: ホップ数(経由するルーターの数)
-
仕組み:
- 「隣のルーター」に「自分の知っているルート情報(ルーティングテーブルそのもの)」を丸ごと渡します。
- 最大ホップ数が 15(16 は到達不能)のため、大規模ネットワークには向きません。
- 専用のデータベースを持たず、ルーティングテーブルで直接計算します。
OSPF (Open Shortest Path First)
- 型: リンクステート型
- メトリック: コスト(100Mbps / 帯域幅 で計算される値など)
-
仕組み:
- ネットワークトポロジを全員が共有します。
- LSDB (Link State Database) という専用のデータベースを作成するため、メモリや CPU への負荷が RIP より高くなります。
4. OSPF の詳細な動作フロー
OSPF は高機能な分、計算プロセスが複雑です。以下の手順で「最短経路」を導き出します。
① 情報交換 (LSA と LSDB)
OSPF では「ルート情報」ではなく LSA (Link State Advertisement) と呼ばれる「自分自身の接続情報(インターフェースの状態、IP、コスト)」を交換します。
各ルーターから集めた LSA を蓄積した場所が LSDB です。これにより、全ルーターがネットワークトポロジを共有します。
② パケットの種類と交換手順
LSDB を同期させるために、いくつかの専用パケットが使われます。
③ 最短経路の計算 (SPF)
完成した LSDB を元に、ダイクストラ法(SPF アルゴリズム) を実行します。
各ネットワークへの最短パス(コストの合計が最小になる道)を計算して、ルーティングテーブルに書き込みます。
5. まとめ
RIP と OSPF の違いは、単なる機能差だけでなく、プロトコルの「立ち位置」に由来しています。
| 特徴 | RIP | OSPF |
|---|---|---|
| トランスポート | UDP (Port 520) | IP (Protocol 89) ※ポートなし |
| ルーティング型 | ディスタンスベクタ型 | リンクステート型 |
| メトリック | ホップ数 | コスト (帯域幅ベース) |
| データベース | なし (ルートテーブルのみ) | あり (LSDB を保持) |
| アルゴリズム | ベルマンフォード法 | ダイクストラ法 (SPF) |
| メリット | 設定が簡単、軽い | 収束が早い、ループしにくい、大規模向き |
参考URL
Discussion