ネットワーク

ルーティングプロトコルの仕組みを学ぼう!(RIPやOSPFなど)

ネットワークを語るのに欠かせないパケットの行き先を決めるルーティングですが、結構プロトコルの種類があるので、今回はルーティングプロトコルの種類を調べてみました!

ルーティングとは?

先ずはルーティングって何?ってことからです!

ネットワークの世界において、異なるネットワーク(セグメントが違うネットワーク)間の中継を行うのはずばり「ルータ(L3スイッチ」です。

ルータに届いたIPパケットは、ルータが宛先のIPアドレスを見て、適切なネットワーク(ネクストホップ)にIPパケットを転送します。この処理のことを「ルーティング」と言います。そして、転送先を決めるために参照にする情報がルーティングテーブルとなります。

 

ルーティングテーブルとは?

ルータが転送先を決めるために使うルーティングテーブルを作る方法ですが、大きく二つ、「スタティックルーティング」と「ダイナミックルーティング」のパターンがあります。

  • スタティックルーティング静的(手動)で固定的にルーティングテーブルを設定する方法
  • ダイナミックルーティング動的(自動)にルーティングテーブルを作成する方法

小さな範囲のLAN内などにおいてはスタティックルーティングを使って経路を設定しますが、大規模なLANやWANにおいて、一つずつ手動でルーティング情報を作っていくのはとても大変です。

そのため、ダイナミックルーティングを使うのですが、自動的にルーティングテーブルを作るため「ルーティングプロトコル」を動作させて、他のルータからルーティングに必要な情報を取得する仕組みになっています。

ルーティングの例

 

ルーティングプロトコルとは?

改めて「ルーティングプロトコル」とは、ルータ同士で自分が知っているネットワークの情報を教え合うことで、ルーティングテーブルを作成するための方法のことです。

このルーティングプロトコルですが、経路を制御する範囲アルゴリズムによって様々な種類があります。種類は後ほど説明しますが、プロトコルの基本的な仕組みを見てみましょう!

AS、IGP、EGPって何?

ルーティングのルールを決めた後に、それを適用して運用する範囲を「AS(Autonomous System)」と呼びます。ASは単一の管理主体が保有・運用する範囲なので、ISPや地域ネットワークなどが該当します。

そして、ASの内外で利用するルーティングプロトコルがそれぞれあります。

  • IGP(Interior Gateway Protocol):AS内で利用されるルーティングプロトコル
  • EGP(Exterior Gateway Protocol):AS間で利用されるルーティングプロトコル

外と中でそれぞれのプロトコルが違うのですが、イメージを以下に図で作ってみました。

ASとIGP、EGPの範囲

経路制御のアルゴリズム!

経路を制御するためのアルゴリズムの中で代表的なものは「距離ベクトル型」と「リンクステート型」の二つがあります。

距離ベクトル型

距離(メトリックとも呼びます)と方向によって目的のネットワークへの経路を決定する方法です。距離には、通過するルータの数(ホップ数)などが用いられます。

簡単に設定できることがメリットなのですが、デメリットとして、ルーティング情報が安定するまでの時間が掛かることが挙げられます。

横文字で「ディスタンスベクタ型」なんて呼び方もします。

リンクステート型

ルータがネットワーク全体のリンク状態を理解してルーティングテーブルを作成する方法です。各ルータが対象範囲内のすべてのルータに関する情報を保持し、各ルータの情報が同じになれば、正しい経路制御が行われるようになります。

メリットはネットワークが大きく、複雑になったとしても、正しい経路情報を保持することができ、安定した経路制御を実現できます。デメリットは計算が複雑になるため、ルータやL3スイッチに高い処理能力(CPU能力)や大きなメモリ領域が必要となる点です。

 

ルーティングプロトコルの種類!

ルーティングプロトコルの種類ですが、現在利用されているものは、次の表のようなものがあります。

ルーティングプロトコル方式範囲レイヤー
RIP距離ベクトル型IGPUDP
RIPv2距離ベクトル型IGPUDP
OSPFリンクステート型IGPIP
BGP経路ベクトル型EGPTCP

それぞれ用途によって使い分けていく必要があります。

細かい違いに関しては以下のサイトが参考になります!

SEの道標(【ダイナミック・ルーティング】〜RIPとOSPFの違いや使い分け、BGPの使いどころ〜)

 

まとめ

今回はルーティングの意味とルーティングプロトコルの仕組みや種類に関して調べてみました!スタティックルーティングに比べるとダイナミックルーティングは凄い仕組みですね!この仕組みによって、世の中のネットワークの制御が行われているのですね。

因みにルータとL3スイッチのにおけるルーティングの違いですが、多くのプロトコルに対応し、主にソフトウェアで処理を行うものがルータで、イーサネットを中心に対応し、主にハードウェアで処理を行うものがL3スイッチとなります。

ルーティングプロトコルの詳細に関しては別の機会に記載してみたいと思います。

以上です!

-ネットワーク