TCP/IP編5

TCP/IP編1
TCP/IP編2
TCP/IP編3
TCP/IP編4
TCP/IP編5
TCP/IP編6
TCP/IP編7
TCP/IP編8
TCP/IP編9
TCP/IP番外編

サイトマップ

 

 

第六章 IPルーティング

6-1IPルーティングとは

ネットワーク上で、ソースホストから、宛先ホストにパケットが送られる場合は、パケットには、次のようなネットワーク層のヘッダー情報がセットされる。

ソース ネットワーク アドレス:ソースのネットワーク アドレスとホスト アドレスが含まれる。

宛先ネットワーク アドレス:宛先のネットワーク アドレスとホスト アドレスが含まれる。

ホップ カウント:ルーターを通過する回数の制限値。ネットワーク間でパケットが際限なく巡回、転送されるのを防ぐために使用される。

ルーティングとは宛先IPアドレスに基づいてパケットをフォワードする処理のこと。あるネットワークから別のネットワークにパケットをフォワードするための装置がルーターである。どこにパケットをフォワードするかの決定を行うために、ルーティング テーブルが使用される。TCP/IPの初期化時にデフォルトのルーティング テーブルのエントリが作られる。エントリの追加は、システム管理者が手動で行うか、ルーター間の通信によって自動的に行われる。

6-2、直接配信と間接配信

フォワードされたIPパケットは、最終的な宛先にフォワードされたのか、IPルーターにフォワードされたのかを判断して、それに応じた処理を行う。この2種類の配送方法をそれぞれ直接配信、間接配信という。

直接配送とは、IPノード(送信元もしくはルーター)が、直接接続されたネットワーク上にある最終宛先にパケットをフォワードすることをいう。

間接配送とは、最終宛先が直接接続されたネットワーク上にないため、IPノード(送信元もしくはルーター)が中間的なノード(IPルーター)にパケットをフォワードすることをいう。

6-3、ルーティング テーブル

ルーティング テーブルには、IPネットワークについての情報と、どのようにしてそこへパケットを送るべきか(直接か間接か)という情報が格納されている。TCP/IPプロトコルを持つノードはすべてルーティング テーブルを持っている。IPパケットをフォワードするとき、直接配送では、フォワードIPアドレスはIPパケット内の宛先IPアドレスとなる。間接配送では、ルーターのIPアドレスになる。

ルーティング テーブルを管理するには2つの方法がある。

手動管理:静的なルーターでは、自動的なリモート ネットワークIDの検出を行わないので、手動でルーティング テーブルを設定しなければならない。

自動管理:動的なルーターは、他のルーターとルーティング情報をやりとりして、自動的にルーティング テーブルを更新する。その際、RIP(Routing Information Protocol)やOSPF(Open Shortest Path First)のようなルーティング プロトコルが使用される。動的なルーターではリモート ネットワークIDを見つけることができ、ルーティング テーブルに自動的に登録される。

6-4、動的ルーティング

○距離ベクタ(distance vector)方式

ルーターはルーティング テーブル内のルーティング情報を定期的他のホストやルーターに通知している。その通知にはホップカウント(距離)と、ルートの方向(ベクタ)が含まれている。距離ベクタ ベースのルーティング プロトコルの構成は、ルーターのインターフェイス上で単に有効にするだけで利用できる。しかしあるネットワークIDへのルートが複数あると、それらはルーティング テーブル内で複数のエントリとして反映されるので、いくつものパスが存在するような大規模なネットワークでは、ルーティング テーブルのエントリが数百から千以上になる可能性がある。

○Link State方式

リンク状態ルーターはルーター間で交換されたルーティング情報のデータベースを構築し、そのデータベースを使ってルーティングテーブルに追加する最適なルートを計算する。それぞれのネットワークIDに対して、最適化されたルートが1つだけルーティング テーブルに格納されるので、ルーティング テーブルが小さくてすむ。しかしリンク状態ベースのルーティング プロトコルの実装では、十分な計画と構成が要求される。

6-5、静的ルーティング

○ROUTEコマンド

ROUTE [Command [IPアドレス] [サブネットマスク] [ゲートウェイ] ]

Command

PRINT:ルーティング テーブルのエントリの表示
ADD:ルーティング エントリの追加
DELETE:ルーティング エントリの削除
CHANGE:既存のルーティング エントリの修正

Bloombergなどの外部情報提供者とインターネット以外の専用線でやり取りする場合など、端末でROUTEによる静的ルーティングの設定が必要な場合がある。

○ROUTE静的ルーティング設定例

端末PC
IPアドレス:10.144.16.12
デフォルト ゲートウェイ:10.144.16.1

外部情報提供者サーバー
IPアドレス:200.116.55.8
サブネットマスク:255.255.255.0

専用線へのルーター
IPアドレス:10.144.16.50

端末PCでコマンドプロンプトを開き、以下のようにタイプする。

C:\>route add -p 200.116.55.8 mask 255.255.255.0 10.144.16.50

以上の設定をする前は外部情報提供者サーバーにアクセスしようとするとデフォルト ゲートウェイを参照してしまうのが、設定後は専用線へのルーターを参照するようになる。ちなみに[-p]をつけることでこの設定は永続的なものになる。

6-6、ルーティング処理

あるサブネット マスクを使っているIPアドレスからネットワークIDを取り出すために、IPでは「論理AND」と呼ばれる数学的な演算を使っている。AND演算の結果は、比較している2つのビットがともに1であれば結果は1になり、それ以外の場合結果は0になる。

例) IPアドレス129.56.189.41、サブネット マスク 255.255.240.0

両方の数字を2進表記に直して並べてみて、AND演算を行う。

10000001

00111000

10111101

00101001

IPアドレス

11111111

11111111

11110000

00000000

サブネット マスク

10000001

00111000

10110000

00000000

ネットワークID

ネットワークID :129.56.176.0

ルート決定処理の結果として、ルーティング テーブルの中から1つのルートが選ばれる。選ばれたルートによって、フォワード先のIPアドレス(次のホップのIPアドレス)とインターフェイスが決まる。ルート決定処理でルートを見つけることができなかった場合は、IPはルーティング エラーとなる。

○送信元ホストでのIP

  1. TTL(Time To Live)値を、デフォルトもしくはアプリケーションで指定された値に設定する。
  2. 宛先IPアドレスへの最適なルートをルーティング テーブルから調べる。
  3. 最適なルートに基づいて、パケットの送信に使われるフォワードするIPアドレスとインターフェイスを決定する。
  4. パケット、フォワードするIPアドレス、インターフェイスをARPに渡し、ARPはIPアドレスをMACアドレスに変換してパケットをフォワードする。

○ルーターでのIP

  1. 宛先IPアドレスがルーターでなければ、TTLを1だけ減らす。TTLが0になれば、ルーターはパケットを廃棄し、「ICMP時間超過―TTL超過」メッセージを送信元に送る。
  2. 宛先IPアドレスへの最適な経路をルーティング テーブルから調べる。ルートが見つからなければ、ルーターはパケットを廃棄し、「ICMP宛先到達不能―ネットワーク到達不能」メッセージを送信元に送る。
  3. 見つかった最適なルートに基づいて、フォワードするためのIPアドレスとインターフェイスを決める。
  4. パケット、送信先IPアドレス、インターフェイスをARPに渡し、ARPはIPアドレスをMACアドレスに変換してパケットをフォワードする。

○Tracertユーティリティ

目的のサーバまでのルーティング状況を見ることができる。インターネットに接続している状態でMS-DOSプロンプトを開き「tracert ホームページアドレスまたはドメイン名」と入力して「Enter」キーを押すと、指定したアドレスまでの通過ルーターを節目とするパケット通過時間が一覧表示される。

Tracert

 

お薦めの書籍