■ はじめに
経路制御 / ルーティング についてまとめる
目次
【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