---
# System prepended metadata

title: 7章 ルーティングプロトコル（経路制御プロトコル）

---

# 7章 ルーティングプロトコル（経路制御プロトコル）

[画像: p269の図]

## 7.1 経路制御（ルーティング）とは
### 7.1.1 IPアドレスと経路制御
パケットを正しく宛先ホストへ届けるためには、ルーターが正しい方向へパケットを転送する必要がある。
この「正しい方向」へパケットを転送する処理を経路制御またはルーティングと呼ぶ。

### 7.1.2 スタティックルーティングとダイナミックルーティング
スタティックルーティングとダイナミックルーティングがある
- スタティックルーティング
    - 経路情報を手動で設定をする
    - 作業コストが高い、変更に弱い
- ダイナミックルーティング
    - 経路情報を自動で設定する
    - ルーティングプロトコルの設定が必要
        - プロトコルの種類によっては設定作業をする必要がある
        - RIPだと必要ない
    
    -> ルーターの障害などで迂回する必要がある時勝手に経路情報をアップデートしてくれる
    
### 7.1.3 ダイナミックルーティングの基礎
ダイナミックルーティングは隣り合うルーター間で自分が知っているネットワークの接続情報を教え合うことで行われる
情報がバケツリレー式に伝えられる

## 7.2 経路を制御する範囲
IPネットワークが発展してデカくなってきたので、ネットワーク全体を一括して管理することが難しくなった
そこで経路を制御する範囲によって以下２種類のルーティングプロトコルが利用されるようになった
- IGP: Interior Gateway Protocol
    - RIPやRIP2, OSPFなど
- EGP: Exterior Gateway Protocol
    - BGP（Border Gateway Protocol）


## 7.3 経路制御アルゴリズム（プロトコルではなくアルゴリズム）

### 7.3.1 距離ベクトル型
行き先のネットワークやホストをみて、距離が近い方向にパケットを渡す
- 処理は単純
- 構造が複雑になると経路制御情報が安定するまで２時間がかかる、経路にループが生じやすくなる

### 7.3.2 リンク状態型
各ルーターがネットワークの全体地図を共有していて、適切な行き先をしてしてパケットを渡す
- 安定した経路制御を行うことができる
- 経路制御表かを求める計算はかなり複雑

### 7.3.3 主なルーティングプロトコル
表の7.1を参照

## 7.4 RIP（Routing Information Protocol）
RIPは距離ベクトル型
現在はRIPの進化系のRIP2が使われているがRIP2に関しては後述

### 7.4.1 経路制御情報をブロードキャストする
RIPは30秒間隔で経路制御情報をネットワーク上にブロードキャストする。
6回（180秒）待っても来ない場合は接続が切れたと判断する
図7.6を参照

### 7.4.2 距離ベクトルにより経路を決定
距離の単位はホップ数（通過するルーターの数）
図7.7を参照

### 7.4.3 サブネットマスクを利用した場合のRIPの処理

### 7.4.4 RIPで経路が変更される時の処理
無限カウントの問題
図7.9参照

それの対応策
- 距離16を通信不能とする
- 経路情報を教えられたルーターには絵師彫られた経路情報を流さない

図7.10を参照

しかしループのあるネットワークだと解決できない

図7.11

それを解決するために
- ポイズンリバース：　経路が切れた時、距離16として流すことで通信不能であることを教える
- トリガーアップデート：30秒間隔だったが、30秒を待たずにすぐに教えること

の２つの方法を組み合わせると解決できる

しかしループが何重にもなる複雑な構造のネットワークの場合は経路情報が安定するまで時間がかかることがある
これらの問題を解決するためにOSPFなどの他のプロトコルを使用する必要がある

### 7.4.5 RIP2
- マルチキャスト使用
- サブネットマスク対応
- ルーティングドメイン
- 外部ルートタグ
- 認証キー


## 7.5 OSPF（Open Shortest Path First）
リンク状態型のルーティングプロトコル

特徴
- ループのあるネットワークでも安定した経路制御が行える
- サブネットマスクをサポートしているので可変長サブネットで構成されたネットワークの経路制御か可能
- ネットワークの論理的な領域を意味するエリアの概念を導入している
    - トラフィックが軽減できる
    - 不必要なルーティングプロトコルのやり取りを減少することができる

### 7.5.1 OSPFはリンク形状型のルーティングプロトコル
図7.13を参照

それぞれのルーターはネットワークのトポロジーを完全に把握していて
しかもコストが重み付けされていて、コストの合計値が低くなるような経路を選ぶようになっている
図7.14を参照

### 7.5.2 OSPFの基礎知識
全ての隣接ルータ間で情報交換がされるわけではなく、指名ルーターが決められ、そのルーターを中心に経路制御情報が交換される

RIP → ネットワークが接続されているかどうかを30秒に一回送るのでネットワークが圧迫する

OSPFでは５種類のパケットを用意している
表7.2を参照

### 7.5.3 OSPFの動作の概要

- HELLOプロトコル：10秒に一回HELLOパケットを送信→4回待っても返事がない時は接続が切れたと判断
- リンク状態更新パケット：他のルーターにネットワークの状態の変化を伝える
    伝える情報の種類は大きく以下の２種類
    - ネットワークLSA：そのネットワークにはどのルーターが接続されているかを示している
    - ルーターLSA：そのルーターにはどのネットワークに接続されているかを示している

    このような２種類の情報がOSPFによって送られてくると、リンク状態データベース（ネットワークの構造）を作成し、それを元に経路制御表を作成する
    経路制御表にはダイクストラ法によって最短経路が求められる
    
このようにして経路制御表が決定されるので、経路のループなどの問題が発生する可能性が小さくなる
しかし、ネットワークの規模が大きくなると、最短経路を求めるための計算処理が大きくなり、リソースが必要になる

### 7.5.4 階層化されたエリアに分けてきめ細かく管理

ネットワークが大きくなるとリンク状態を表す情報が大きくなり、経路制御情報の計算が大変になる
↓
エリアという、ネットワーク同士やホスト同士をまとめてグループしたものが用いられる

AS（自律システム）内には複数のエリアが存在できるが、必ず１つのバックボーンエリアがなければならず、
各エリアは必ずバックボーンエリアに接続されていなければならない

- 内部ルーター：エリア内のルーター
- エリア境界ルーター：エリアとバックボーンエリアを結ぶルーター
- バックボーンルーター：バックボーンエリアのみに接続されているルーター
- AS境界ルーター：外部と接続しているルーター

図7.16と図7.17

エリア内のルーターはエリア内のみのリンク状態（トポロジーデータベース）を持っていて、エリア外に関してはエリア境界ルーターからの距離しかわからない
これによって経路制御情報を減らし、処理の負荷を軽くすることができる

どうして全てのエリアがバックボーンエリアに接続されている必要がある？？？

図7.18があまり理解できない？？

## BGP（Border Gateway Protocol）

BGPはESP

### BGPとAS番号

BGPではインターネット全体をカバーするように経路制御をしなければならない
BGPでも最終的な経路制御表は
- ネットワークアドレス
- 次に配送すべきルータ

上記二組で表される
ただし、BGPでは通過するASの数を元に経路制御を行う

AS（Autonomous System）とは、ISPや地域ネットワークなど、組織を束ねるネットワーク集団のこと
それぞれの自律システムに対して16ビットのAS番号が割り当てられる
BGPではAS番号を使って経路制御が行われる

### 7.6.2 BGPは経路ベクトル

BGPスピーカー：BGPにより経路制御情報を交換するルーターのこと
BGPスピーカーはAS間でBGPの情報を交換するために情報を交換する全てのASと対応にBGPコネクションを確立する

BGPでは目的場所に到達するまでに通過するAS番号のリストが作られる
同じ宛先への経路が複数ある場合には通常、AS経路リストの短い方のルートが選択される

経路ごとのメトリック
- RIP：ルーターの数
- OSPF：サブネットごとにつけられたコスト
- BGP：AS

図7.20を参照

## 7.7 MPLS（Multi-Protocol Label Switching）
現在、IPパケットの転送には、ルーティングだけでなくラベルスイッチングという技術も利用されている。
ルーティングではIPアドレスに基づいて最長一致によりパケットの転送をするが、
ラベルスイッチングでは、それぞれのIPパケットに「ラベル」という別の値を設定し、そのラベルに基づいて転送する
その代表例がMPLS

図7.21を参照
図7.22を参照（IPルーティングとの違い）

### 7.7.1 MPLSネットワークの動作
LSR：MPLS機能に対応したルーターのこと
LER：外部のネットワークとの接続部分に当たるエッジのLSRのこと
LERでMPLSタグをパケットに付与したり剥がしたりする

図7.23

LSP：ラベルによって決まる道筋のこと
LSPを張る方法
- 各LSRが隣接するLSRにMPLSラベル情報を配布する
- ルーティングプロトコルにラベル情報を載せてやりとりをする

図7.24

### 7.7.2 MPLSの利点

利点は２つある
- 転送処理の高速化
    - 固定長のラベルを使用するため処理が単純になって転送処理のハードウェア化による高速化が可能
    - 処理するデータ量は少ない
    - IPv4でもIPv6でもその他のプロトコルでも変わりなく高速に転送処理が行える
- ラベルを用いて仮想的なパスを張り、その上でIPなどのパケットを使った通信ができる
    ベストエフォートサービスと呼ばれるIPネットワークでもMPLSを利用した
    - 品質の制御
    - 帯域保証
    - VPN
    
    などが提供できる