ルーティングプロトコルについて

ネスぺ対策として、ルーティングプロトコルについてまとめました。
自分の試験前の見直し用ですので、間違いがあったらご指摘ください。

 

目次

 


ルーティングとは

ネットワークレイヤでのパケットを送受信するための経路選択を行うこと。
ルーティング手法は以下の2パターンある。

  • 静的ルーティング(スタティックルーティング)
    • 手動でルーティング設定をする方法。
    • 任意の固定パスを作成することができるうえ、
      ルータの負荷が少ない。
    • 設定には手間がかかる。
      障害時の切り替えも手動で行う必要がある。
  • 動的ルーティング(ダイナミックルーティング)
    • ルーティングプロトコルを使って、ルータ間で動的にルーティング設定をする方法。
    • 大規模ネットワークでも設定の手間が少なく、最適経路を選択してくれる。
      また、障害時には自動で迂回経路に切り替えてくれる。
    • ルーティングプロトコルごとの特性や仕様を理解しないとうまく動かない可能性がある。

 

【AS,IGP,EGPについて】

ルーティングを制御する範囲をAS(Autonomous System;自律システム)と呼ぶ。ASは通信事業者やインターネットサービスプロバイダ(ISP)などがあり、IANAによって発行されるAS番号(2バイト/4バイト)で管理される。

また、AS内で使用されるルーティングプロトコルをIGP(Interor Gateway Protocol)と言い、AS間で使用されるルーティングプロトコルをEGP(Exteriot Gateway Protocol)と言う。

 

【ルーティングプロトコルについて】

ルーティングプロトコルとしてはRIP、RIPv2、OSPF、BGPがある。
また、ルーティングプロトコルの方式として、経路ベクトル型とリング状態型の2方式がある。

ルーティングプロトコル方式適用範囲下位プロトコル
RIP距離ベクトル型IGPUDP
OSPFリンク状態型IGPIP
BGP経路ベクトル型EGPTCP
  • 距離ベクトル型
    • ルータのホップ数をメトリックスとして扱う。
    • 経路ベクトルの場合は、ASの数をメトリックとして扱う。
  • リンク状態型
    • ネットワーク全体のリンク状態を見たうえで経路選択を行う。
    • 安定した経路を実現できる反面、ルータへの処理不可が高い。

 

以下では、ルーティングプロトコルについて特徴や気を付けるポイントなどをまとめる。

 

 

 

RIP

RIPとは?

ルータのホップ数を使って経路選択をするプロトコル。

参考:

 

特徴と注意事項

【特徴】

  • 経路選択方法が簡単のため、ルータの処理不可が少ない。

【注意事項】

  • 経路に障害が発生したときに、ルーティングループが発生する。
    • スプリットホライズン、ルートポイズニング、ポイズンリバース、ホールドダウンタイマー、トリガーアップデートなどの対策が必要。
  • 最大ホップ数が15であり、16以上のルータを中継することができない
  • OSFPにくらべて障害時の収束が遅い。
  • RIPのバージョン2として、RIP2がある。
    サブネットマスク対応、ルーティングアップデートをマルチキャストで送信、認証機能が追加された。

 

動作原理

【通常時】

  • ルーティングテーブルとして宛先ルートネクストホップインタフェースメトリックスをもっている。
  • ルーティングアップデートというパケットを30秒間隔ブロードキャストにてやり取りしている。
  • ルーティングアップデートにある経路情報のメトリックスに+1したものを自分のルーティングテーブルに登録する。

動作原理は以下を参照。

 

【障害発生時】

  • ルーティングループが発生しないように、スプリットホライズン、ルートポイズニング、ポイズンリバース、ホールドダウンタイマー、トリガーアップデートなどの対策を実装する。

各対策の詳細は以下を参照。

 

 

  

OSPF

OSPFとは?

システム全体のトポロジを得たうえで、リンク間の帯域幅に基づいて経路選択をするプロトコル。

参考:

 

特徴と注意事項

【特徴】

  • RIPと比較して、以下の長所がある。
    • 経路変更時の収束が速い
    • メトリックスの上限がない (RIPは15)
    • VLSM(サブネットマスク)対応している
    • 認証機能に対応している
    • 帯域幅に応じて経路選択をしてくれる
    • 同じコスト値の経路については負荷分散してくれる。
  • すべてのルータ間で経路情報が交換されるのではなく、DR(Designed Router;代表ルータ)BDR(Backup Designated Router;バックアップ代表ルータ)を中心に経路情報の交換が行われる。
    DRとBDRはHelloパケットにあるプライオリティ値で決まる。プライオリティ値は高いほうが優先される。
  • さらに、ルータの台数が増えた場合は、エリアに分けて、各エリア内でのみトポロジー情報を交換し合うようにすることでルータの処理負荷低減を行う。
  • 障害発生時はトリガーアップデートを送信して、隣接ルータへ通知する。
    トリガーアップデートを受信した隣接ルータはLDDBを更新する。

【注意事項】

  • OSPFでやり取りしているルータはHello Interval(デフォ10秒)とDead Interval(デフォ40秒)は一致させておくこと。
  • インターフェイスコストが100Mbps以上は1となってしまうため、1GbpsなどのギガビットEthernetを使う場合は、計算式を変更する必要がある。
  • ルータIDが重複しないようにする。
    障害発生時にルータIDが変わるような決め方だと、他のIDと重複する可能性がある。ループバック・インタフェースに設定するか、手動で設定すること。

動作原理

【OSPFの経路選択】

  1. 隣接ルータとネイバー関係を確立する
    • お互いにHelloパケットを送信し合い、2-Way状態を確立する。
    • Helloパケットはマルチキャストで送信される。
  2. ネットワーク全体を知るために、ネットワーク内のすべてのルータから情報を収集する
    • DD(Database Description)パケットを交換し合い、お互いのLSDB(Link State Database)に更新があるかどうか確認する。
    • 不足している/更新があった情報についてLSRパケットでLSA(Link State Advertisement;リンク状態広告)を要求。LSRパケットを受け取ったルータは自信のLSAをLSUパケットで応答する。
    • 上記手順によりすべてのルータ間でLSDBが一致する。
  3. LSDBからSPFツリーを作成
  4. SPFツリーから最短経路を計算し、ルーティングテーブルに登録
    • 最短経路はSPF(Shortest Path First)によってコストを用いて算出される。
    • コストは通信帯域によって決められており、小さいほうが良い。
  5. ネイバー関係のルータはお互いHelloパケットを送信しあう
    • Hello Interval(デフォ10秒)とDead Interval(デフォ40秒)により、障害を検知する。

動作原理は以下のサイト参照。

 

 

 

BGP

BGPとは?

AS間で利用されるルーティングプロトコル。
通過するASの数で経路選択をする。

参考:

以下の動画がEBGP+VRRPの構成のフローを説明していて分かりやすい。

BGP解説講座 その1 基本設計編 | YouTube

 

特徴と注意事項

【特徴】

  • BGPはAS番号をもとに経路選択を行う。
    AS番号はグローバルAS番号(16ビット分)とプライベートAS番号があり、グローバルAS番号はインターネットで一意に決めるため、ICANNに申請が必要。
  • BGPは外部のAS間で経路選択を行うEBGP(External BGP)とAS内部で経路選択を行うIBGP(Internal BGP)がある。

【注意事項】

  • BGPの最新バージョンはBGP4であり、IPv4対応しかしていない。IPv6対応したものをBGP4+という。

動作原理

【EBGPの経路選択】

  1. 各AS間にあるエッジルータでTCPセッションをはる。
    • BGPパケットのTTLを1とすることで、隣接するルータ間でのみEBGPピアを張れるようにしている。
  2. BGPの基本情報をOPENメッセージで交換する。
    • AS番号やルータID、BGPのバージョンをやり取りする
  3. UPDATEメッセージで経路情報を交換する。
    • 初回接続時は全経路情報を交換する。
    • ルーティングテーブルが更新した場合もUPDATEメッセージで通知する。
  4. KEEPALIVEメッセージを交換し合うことで生存確認を行う。

【IBGPの経路選択】

  1. AS内のすべてのBGPルータ間でTCPセッションをはる。
    • BGPパケットのTTLを255とすることで、 AS内のすべてのルータ間でIBGPピアを張れるようにしている。
  2. これ以降はEBGPを同じ。

※IBGPはすべてのルータ間でセッションを張ると、ルータ負荷が大きくなるため、ルートリフレクションを設定する。
ルートリフレクションはルートリフレクタとクライアントに分けて、ルートリフレクタがすべての更新情報を管理し、クライアントに通知するような構成でセッション数を減らすことができる。

 

 

 

関連情報

 

 

参考

以下の書籍やサイトをよく参考にしました。

 

以上!

Share

  • Add this entry to Hatena Bookmark

Follow Me