【ネットワーク】経路制御 / ルーティング

■ はじめに

経路制御 / ルーティング についてまとめる

目次

【1】経路制御 (ルーティング)
 1)ルーティング概要
 2)ルーティングのポイント
 3)経路情報を管理する手法
【2】経路制御表 (ルーティングテーブル)
 1)宛先ネットワーク
 2)ネクストホップアドレス (next hop address)
 3)メトリック (判断基準)
 4)出力インターフェース
 5)経路の情報源
 6)経過時間
【3】ルーティング・プロトコル
 0)前提知識:AS (Autonomous System; 自律システム)
 1)IGP (Interior Gateway Protocol)
 2)EGP (Exterior Gateway Protocol)
【4】関連用語
 1)クラスフルとクラスレス
 2)デフォルトゲートウェイ

【1】経路制御 (ルーティング)

* ルータが宛先IPアドレスにパケットを転送すること

1)ルーティング概要

ルータは、経路制御表 (ルーティングテーブル ※1)を持っており
このルーティングテーブルを元にパケットのルーティングを行う

※1:経路制御表 (ルーティングテーブル)

* 後述「【2】経路制御表 (ルーティングテーブル)」を参照

2)ルーティングのポイント

* ルーティングテーブルと宛先IPアドレスに基づいて、データを転送する
* ルーティングテーブルに存在しないネットワーク宛てのデータは、破棄
* スタティックルートまたはルーティングプロトコル(※1)によって
 直接接続されていないネットワークのルート情報を
 ルーティングテーブルに登録する

※1:スタティックルート/ルーティングプロトコル

後述「3)経路情報を管理する手法」を参照

http://news.mynavi.jp/series/netkiki/003/

3)経路情報を管理する手法

http://www.atmarkit.co.jp/ait/articles/0111/06/news002.html

より

[1] スタティック・ルーティング(静的経路制御)

* 経路情報を各ルータ内に手動で設定する手法

[2] ダイナミック・ルーティング (動的経路制御)

* ルーティング・プロトコルを用いてルータが
 経路情報を自動的に学習する手法

【2】経路制御表 (ルーティングテーブル)

* 受信したパケットをどこへ転送するべきかを決定するための
 宛先ルートの一覧情報

ルーティングテーブルの構成

1)宛先ネットワーク
2)ネクストホップアドレス
3)メトリック (判断基準)
4)出力インターフェース
5)経路の情報源
6)経過時間

1)宛先ネットワーク

* ルータが把握しているネットワークのIPアドレスとサブネットマスク

* 192.168.23.0/24

2)ネクストホップアドレス (next hop address)

* 宛先ネットワークに届けるために、
 次の経路先(ルータ)のIPアドレスとサブネットマスク
 => 到達するためのお隣さん情報的な感じ

cf. hop = 跳び回る、(短期間)旅行をする

* 222.232.10.0/28

3)メトリック (判断基準)

* 経路の最適度を表す数字
* 値が少ないほど優れた経路

* 1

4)出力インターフェース

* 次の転送先のデータリンク情報

* Ethernet
* FDDI

5)経路の情報源

* 手動登録かどのルーティングプロトコルで登録されたかを示す

6)経過時間

* 経路が登録されてからの経過時間

【3】ルーティング・プロトコル

* 大きく分けて、以下の2種類
 1)IGP (Interior Gateway Protocol)
 2)EGP (Exterior Gateway Protocol)
# 分類 プロトコル
1 IGP IPv4: RIP,OSPF,IS-IS,EIGRP, IPv6: RIPng, OSPFv3, IS-IS for IPv6, EIGRP for IPv6
2 EGP BGP

0)前提知識:AS (Autonomous System)

IGP / EGP の説明に入る前に、前提知識として、
AS (Autonomous System)を説明する

AS (Autonomous System; 自律システム)

* 各組織が管理下で保有・運用されているルータや
 小規模なネットワークの集合

cf. Autonomous = 自律的、自主的な、自立した

AS番号

* ASを識別するための番号

1)IGP (Interior Gateway Protocol)

* 同じ組織に属するルータ同士がやり取りするためのプロトコル
 => AS (Autonomous System) 内で使用するためのプロトコル

* 主に、企業内ネットワークで使用

* 代表的なプロトコルは以下の通り。
 [1] RIP (Routing Information Protocol)
 [2] OSPF (Open Shortest Path First)

[1] RIP (Routing Information Protocol)
http://www.atmarkit.co.jp/ait/articles/0202/23/news003.html

* ルータ間で経路情報を相互に交換するためのプロトコル
* 小~中規模の組織内で利用
* 目的地までのルータ数(ホップ数。メトリック)を重視して
 ルーティングテーブルを作成する

※注意

* 管理できるホップ数は、15まで。(そういう意味で「小~中規模」向き?)
* ルータ間の転送速度やトラフィック量は考慮されていない

RIP2

* RIPで未使用だったフィールドに、
 サブネットワークマスクフィールドとネクストホップアドレスフィールドを
 割り当てることによって、クラスレスルーティングプロトコルを機能追加
* RIPと比較して、認証機能が追加

[2] OSPF (Open Shortest Path First)
http://www.atmarkit.co.jp/ait/articles/0203/28/news001.html

* 中~大規模の組織内で利用(AS(Autonomous System)の内部で使われる)
* 転送速度などを考慮して、目的地までの速さを重視して
 ルーティングテーブルを作成する
* 経路を決めるのに、コスト(主にインターフェイスの帯域幅 ※)の
 低い経路情報が最適経路として使用
* クラスレスルーティングプロトコル
* リンクステート型のルーティングプロトコルである
* エリアの概念がある

インターフェイス帯域幅

* 以下のような感じ。
  + 10Base-T   => 100
  + 100Base-TX => 10
  + 1000Base-T => 1

* A~Eは、各ノードで、数字は、ノード間のコスト
* ノード A とノード E の間は,経路 A-D-E が優先される

         10
      A───────B
    │\      │\
    │ \     │ \
    │  \    │  \
    │10  \20  │20  \30
    │    \  │    \
    │     \ │     \
    │      \│      \
    C───────D───────E
        20      10

RIP1 / RIP2 / OSPF の違い
http://www.atmarkit.co.jp/ait/articles/0203/28/news001.html

RIP1 RIP2 OSPF
経路情報の送信 定期的(全経路) 定期的(全経路) 変更時(差分のみ)
最適経路 ホップ数 ホップ数 コスト値
VLSM(※1) 未対応 対応 対応
認証 未対応 対応 対応

※1 VLSM(Variable Length Subnet Masking)

* 可変長サブネットマスク

2)EGP (Exterior Gateway Protocol)

* 異なる組織に属するルータ同士がやり取りするためのプロトコル
 => AS (Autonomous System) 同士をつなぐためのプロトコル

* 主に、サービスプロバイダのネットワークで使用。

* 代表的なプロトコルは以下の通り。
  [1] BGP (Border Gateway Protocol)

[1] BGP (Border Gateway Protocol)

* AS間の経路交換のために作られたプロトコル
* 目的地までのルータ数(ホップ数)を重視して
 ルーティングテーブルを作成する
* BGPの経路情報には、あて先に到達するまでに経由した
 AS番号のリスト(ASパス)が含まれている
* クラスレスルーティングプロトコル

【BGP-4】

* BGPのバージョン4を意味する
* 今日の日本国内のプロバイダー同士のルーティングにおいては
 BGP-4が標準的に用いられる

BGPの仕組み

* BGPは、2台のルータ間でTCP(ポート番号179)による接続を行い、
 互いの知っているすべての経路情報
 (それぞれのASで受信している経路、およびローカル経路)を交換する
   (ASパスを参照して、そのリストの中に自身のAS番号が含まれていた場合、
    その経路を受け取らないようにすることで経路ループを回避)

* 以降は、KEEPALIVEメッセージによる対向ルータの生存確認を行い、
 ルーティング・テーブルが更新(追加/削除)された場合には、
 その経路の差分情報のみを交換
   (受信できなかった場合には、エラーを通知するとともに、BGPセッションを切断)

参考文献
http://www.atmarkit.co.jp/ait/articles/0112/06/news002.html
https://www.nic.ad.jp/ja/newsletter/No35/0800.html
http://www.infraexpert.com/study/rp5.htm
http://www.itbook.info/study/p13.html
http://ja.wikipedia.org/wiki/Border_Gateway_Protocol

【4】関連用語

1)クラスフルとクラスレス

クラスフル ルーティング プロトコル

* サブネットマスク情報を加えないルーティングプロトコル
 ※現在ではあまり使われていない

クラスレス ルーティング プロトコル

* サブネットマスクを含めているルーティングプロトコル

2)デフォルトゲートウェイ

* 外部ネットワークにアクセスする際に全パケットが通過する出入口

関連記事

【ネットワーク】OSI参照モデル
https://dk521123.hatenablog.com/entry/2015/02/14/232500
【ネットワーク】TCP / IP
https://dk521123.hatenablog.com/entry/2022/12/10/000000
【ネットワーク】インターネット層 ~ IP ~
https://dk521123.hatenablog.com/entry/2015/02/02/215603
【ネットワーク】リンク層
https://dk521123.hatenablog.com/entry/2015/02/05/000813
ping / tracert (traceroute)
https://dk521123.hatenablog.com/entry/2013/07/12/231426
ネットワーク系コマンド ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2016/07/27/214633