【ネットワーク】【プロトコル】経路制御 ~ルーティング~

ルーティング

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

 * IPネットワークにおいて経路情報を管理する手法

 [1] スタティック・ルーティング(静的経路制御)
   => 経路情報を各ルータ内に手動で設定する手法

 [2] ダイナミック・ルーティング (動的経路制御) 
   => ルーティング・プロトコルを用いてルータが経路情報を自動的に学習する手法

ルーティングのポイント

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

関連する用語

デフォルトゲートウェイ

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

関連するコマンド

route : ルーティングテーブルを確認

 * 以下のコマンドで、現在のルーティングテーブルを確認できる
  + Windows
   => 「route PRINT」
  + Linux
   => 「route」

 * 詳細は以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/36257284.html

tracert(traceroute) : 宛先までの経路を調べる

 * 以下のコマンドで、宛先までの経路を調べることができる
  + Windows
   => 「tracert」
  + Linux
   => 「traceroute」

 * 詳細は以下の関連記事を参照のこと。
http://blogs.yahoo.co.jp/dk521123/31982842.html

ルーティング・プロトコル

 * 大きく分けて、以下の2種類
  1) IGP(Interior Gateway Protocol。内部。)
   => 同じ組織に属するルータ同士がやり取りするためのプロトコル
   => 代表的なプロトコルは以下の通り。
   [1-1] RIP(Routing Information Protocol)
   [1-2] OSPF(Open Shortest Path First)

  2) EGP(Exterior Gateway Protocol。外部。)
   => 異なる組織に属するルータ同士がやり取りするためのプロトコル
   => 代表的なプロトコルは以下の通り。
   [2-1] BGP(Border Gateway Protocol)

[1-1] RIP(Routing Information Protocol)

http://www.atmarkit.co.jp/ait/articles/0202/23/news003.html
 * ルータ間で経路情報を相互に交換するためのプロトコル
 * 小~中規模の組織内で利用
 * 目的地までのルータ数(ホップ数。メトリック)を重視してルーティングテーブルを作成する
 * UDPを使用(UDPは以下の関連記事を参照のこと)
http://blogs.yahoo.co.jp/dk521123/31343326.html
 ※注意
 * 管理できるホップ数は、15まで。(そういう意味で「小~中規模」向き?)
 * ルータ間の転送速度やトラフィック量は考慮されていない
RIP2
 * RIPで未使用だったフィールドに、サブネットワークマスクフィールドとネクストホップアドレスフィールドを
   割り当てることによって、クラスレスルーティングプロトコルを機能追加
 * RIPと比較して、認証機能が追加

[1-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-1] BGP(Border Gateway Protocol)

BGP
 * 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

補足:関連用語

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

 * 宛先となるホストまでパケット送信する際に、最適な経路を決定すること
 * ネットワーク上のコンピュータが通信できるように、ルータがパケットを中継すること

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

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

 【構成】
   (1) 宛先ネットワーク
     => ルータが把握しているネットワークのIPアドレスサブネットマスク
   (例「192.168.23.0/24」)
   (2) ネクストホップアドレス
     => (1) のネットワークに届けるための次の経路先(ルータ)のIPアドレスサブネットマスク
   (例「222.232.10.0/28」)
   (3) メトリック(判断基準)
     => 経路の最適度を表す数字
     => 値が少ないほど優れた経路
   (例「1」)
   (4) 出力インターフェース
     => 次の転送先のデータリンク情報
   (例「Ethernet」「FDDI」)
   (5) 経路の情報源
     => 手動登録かどのルーティングプロトコルで登録されたかを示す
   (6) 経過時間
     => 経路が登録されてからの経過時間

メトリック

 * 経路選択の判断基準

クラスフルとクラスレス

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

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

 * 各組織が管理下で保有・運用されているルータや小規模なネットワークの集合
AS番号
 * ASを識別するための番号

関連記事

インターネット層 ~ IP ~

http://blogs.yahoo.co.jp/dk521123/34546170.html

IPアドレス

http://blogs.yahoo.co.jp/dk521123/34607639.html

Linux】【コマンド】 ネットワーク系のコマンド

http://blogs.yahoo.co.jp/dk521123/36257284.html