【ネスペ対策】【RIP/OSPF/BGP】ルーティングプロトコルの全体像について整理する

はじめに

お世話になります、hosochinです
今回はIPAのネットワークスペシャリスト対策ってことでルーティングについてです
ここでは主なルーティングプロトコルである「RIP」「OSPF」「BGP」らへんについて、ごっちゃになっちゃってる人向けに(僕のことです)整理したいと思います

キーワードから全体像を把握する

まずは全体像について僕の理解をメモっときます

ルーティング

ルーティングは主に「静的ルーティング」「動的ルーティング」に分けられます

種別ルーティング方法メリットデメリット
静的ルーティングルータなどに固定的に経路情報を設定する・設計した人の意図どおり経路選択される・大規模の場合、管理者の負担が大きい
・障害時なども管理者が手作業で対応する必要がある
動的ルーティングルーティングプロトコル(RIP, RIP2, OSPF, BGPなど)がやってくれる・自動で経路選択してくれる
・障害時に自動で経路変更してくれる
・ルータの負荷が増える

動的ルーティングの主なプロトコル

動的ルーティングは主に「IGP」「EGP」に分けられます
IGP = Interior Gateway Protocol
EGP = Exterior Gateway Protocol
ですね

種別特徴主なプロトコル
IGPAS内で経路情報を交換し合うプロトコルRIP, RIP2, OSPF
EGPAS間で経路情報を交換し合うプロトコルBGP

AS = Autonomous System : 自律システムのことで、同じルーティングポリシーの下で動作するルータの集合体のことです
例えば地域ネットワークや大きなISP(インターネットサービスプロバイダ)が挙げられます
IGPAS(ISP)の中で経路情報を交換し合うプロトコル
EGPは異なるAS(ISP)の経路情報を交換し合うプロトコル
となります

IGP

AS内で経路情報を交換し合うプロトコルです
経路制御のアルゴリズムには様々な方法がありますが、ネスペで問われる範囲で言うと主に2つで、
距離ベクトル型リンク状態型があります

種別特徴メリットデメリット主なプロトコル
距離ベクトル型・ルーター間ではネットワークの向きと距離の情報が交換される・計算処理はリンク状態型に比べシンプルなため比較的軽量・ネットワークの構造が複雑になると、経路制御情報が安定するまでに時間がかかる
・個々の回線速度が考慮されないため、結果的に最適な経路とならない場合がある
RIP, RIP2
リンク状態型・各ルータがネットワーク全体の接続状態を保持する・ネットワークが複雑になっても各ルーターは正しい経路選択ができる・複雑なネットワークであれば各ルータでこなす計算も複雑になるため、高いCPU能力と多くのメモリ資源が必要になるOSPF

RIP

RIP = Routing Information Protocolは距離ベクトル型であるため、「方向」「距離」によって最適経路を計算します
・方向 = 情報を伝える隣接ルータのIPアドレスである「ネクストホップ」
・距離 = 通過するルータの数である「ホップ数」
宛先までに通過するルータ数 = ホップ数が少ない経路が最適経路として計算されます
RIPは定期的にネットワーク上にUDPブロードキャストによる経路情報を交換します
この経路制御情報の送信間隔は30秒間隔で、ホップ数は最大15となっています(16を超える場合はネットワークに到達不能と判断します)
ただ、途中の経路が冗長構成になっている場合にルーティングループを引き起こす可能性があります
また、RIPはクラスを見て判断するためサブネットマスクを利用した構成の場合は注意が必要です

RIP2

RIPの改善バージョンになります
RIPに比べて主に以下の機能が追加されました

  • マルチキャスト
    • RIPはブロードキャストで経路情報を交換していましたが、RIP2ではマルチキャストを使用します
      トラフィックの軽減と、関係のないルータに与える影響を軽減します
  • サブネットマスクの対応
    • RIPではクラスの概念がありましたが、RIP2ではクラスレスでサブネットを見て判断できるようになりました
  • 認証
    • 認証の通ったパケットのみを受容することができるためセキュリティ面が向上します

OSPF

OSPF = Open Shortest Path First はリンク状態型のルーティングプロトコルです
RIPに対して以下のメリットが挙げられます

  • サブネットマスクに対応
  • エリアの概念の導入
    • ネットワークをエリアに分けることで不必要なルーティングプロトコルのやりとりを減少させ、トラフィックを軽減できます
  • コストの概念の導入
    • 各ルータごとの回線速度をコストとして管理することで、より最適な経路選択が可能になりました
  • ルーティングループの解消
    • 各ルータがネットワークの全体の接続情報を保持することで、ルーティングループが発生しないようになります

OSPFの動作イメージ

以下にOSPFの経路情報交換の動作イメージを示します

1. HELLOパケットによるネイバー関係の確立

隣接ルーターにHELLOパケットを送信しネイバー関係を確立・維持します

2. ルータ同士でLSAの交換

LSA = Link State Advertisement と呼ばれる情報を交換することで経路情報を把握します
LSAにはルーターID, リンク数, コストなどの情報が含まれます
また、ルータにもそれぞれ種類があり、ルータの種類に応じてLSAにも種類があります

ルータの種別概要
代表ルータ
DR = Designated Router
・エリア内に1つずつ選出された代表となるルータ
・リンク情報を全てのルータと交換する
エリア境界ルータ
ABR = Area Border Router
・エリアの境界にあるルータ
AS境界ルータ
ASBR = AS Boundary Router
・ASの境界にあるルータ

3. 各ルータがLSAを元に経路制御表を作成する

EGP

AS間で経路情報を交換し合うプロトコルです
主なプロトコルとしてBGPがあります

BGP

BGP = Border Gateway Protocol経路ベクトル型のプロトコルです
BGPでは通過するASの数をもとに経路制御を行います
RIPの距離ベクトル型と似ていますが、RIPの場合はホップ数のみを保持していて、BGPでは経由するASを全て保持している点で違います
このためBGPではループが発生しません
BGPのキーワードとして「BGPスピーカー」「EBGP」「IBGP」があります

BGPスピーカー

BGPによって経路制御情報を交換するルータ

EBGPとIBGP

  • EBGP = External BGP
    • AS間でBGPによる経路制御情報を交換する
  • IBGP = Internal BGP
    • AS内部でBGPによる経路制御情報を交換する
    • 異なるAS間を接続するためにはAS内でもBGPを動作させる必要がある
    • そのためのルーティングプロトコルがIBGP