このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

ルーティングテーブル(routing table)

  • =経路表
  • =経路制御表
  • IPの経路制御は、これがルーティングテーブルがすでに存在しているのかが前提になっている。
  • IPで通信を行うノードは、ルーティングテーブルを持っている。
    • これはルーターのような中継ノードだけではなく、エンドノードであるホストも同じである。
  • すべてのTCP/IPソフトはルーティングテーブルを持つ。
  • TCP/IPソフトはいつでもループバックアドレスを持つということは、LANに繋がったPCは2つのサブネットに繋がっていることになる。
    • 1つ目は127.xxx.xxx.xxxのサブネット、2つ目はLANのサブネットである。
    • どちらのサブネットにIPパケットを送るかは、宛先IPアドレスで決める。
      • 大抵の場合はLAN側に送ることになる。
  • TCP/IPソフトはIPパケットの当面の届け先も決めなければならない。
    • ARP要求を誰に出すかという作業である。相手が自分のサブネットにいれば、その相手にARP要求を投げる。サブネットにいないときはデフォルトゲートウェイが当面の届け先となる。
    • つまり、TCP/IPソフトは宛先IPアドレスが決まった段階で、どのサブネットの誰にパケットを届けるかを判断しなければならない。
      • TCP/IPソフトはこの送出先の判断基準をまとめたデータベースを持つ。これがルーティングテーブルである。
  • 通信を行うコンピュータやルーターなどのIPを実装している機器に備わっている。
  • 通信を行う際にはルーティングテーブルを参照して経路制御が行われる。
  • ルーティングテーブルから経路情報を入手すれば、目的の相手がどこにいるのかがわかる。しかし、経路がわかっただけでは、パケットを送り出すことはできない。
    • LANではMACフレームにパケットを格納して運ぶため、MACフレームの宛先であるMACアドレスを指定する必要がある。
      • そこで、IPアドレスとMACアドレスの対応を記録しているARPテーブルが使用される。ARPではLANに所属するすべてのコンピュータに向けてARP要求パケットを送信して、指定するIPアドレスを持つNICのMACアドレスを特定する。

[例]

 このネットワークのルーターPが持っているルーティングテーブルは次になる。

ネットワーク(セグメント)ゲートウェイ(ルーター)
192.168.1.0/24(直接)
192.168.2.0/24(直接)
192.168.3.0/24192.168.2.2
192.168.4.0/24(直接)
192.168.5.0/24192.168.4.2
192.168.6.0/24192.168.2.3

 ルーターPはこのルーティングテーブルを参照し、やってきたデータをどこに送るかを決定する。

 「(直接)」となっている項目は、個のルーターが直接接続されているLANに宛先ホストがあるため、転送が不要なセグメントである。 ◇

Windowsマシンのルーティングテーブル

  • WindowsではTCP/IPの設定項目にデフォルトゲートウェイの設定項目がある。
    • この設定がそのままルーティングテーブルに反映される。
  • コマンドプロンプトで"route print"と入力することで、ルーティングテーブルが表示される。

ルーティングテーブルの項目

ネットワーク宛先(Network Destination)とネットマスク(Netmask)

  • 送り先のIPアドレス範囲を示す。
    • IPアドレスとサブネットマスクの組み合わせで表現する。
  • IPアドレス「0.0.0.0」、サブネットマスク「0.0.0.0」はネットワーク全体を示す。
    • デフォルトルートという。
    • ルーティングテーブルの一番上に表示されるはず。

ゲートウェイ(Gateway)

  • 経路情報
  • パケットの中継を依頼するIPアドレスを示す。

インタフェース(Interface)

  • パケットを送り出す出口を示す。
  • Ethernetポートを示す。

メトリック(Metric)

  • 経路がどのくらい遠いかを示すパラメータ。
  • 同じ経路が複数ある場合の優先順位を示す値。
  • 小さい値のほうがより近い経路と判定される。
  • 宛先に到達するまでに経由するルーターの段数。
  • 1が最小で、数が多いほど遠くなる。

[例]Windows7

C:\>route print
===========================================================================
インターフェイス一覧
 10...44 37 e6 0a ca 81 ......Intel(R) 82578DC Gigabit Network Connection
 17...00 50 56 c0 00 01 ......VMware Virtual Ethernet Adapter for VMnet1
 18...00 50 56 c0 00 08 ......VMware Virtual Ethernet Adapter for VMnet8
  1...........................Software Loopback Interface 1
 11...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter
 12...00 00 00 00 00 00 00 e0 Microsoft 6to4 Adapter
 13...00 00 00 00 00 00 00 e0 Teredo Tunneling Pseudo-Interface
 15...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #2
 16...00 00 00 00 00 00 00 e0 Microsoft ISATAP Adapter #3
===========================================================================

IPv4 ルート テーブル
===========================================================================
アクティブ ルート:
ネットワーク宛先        ネットマスク          ゲートウェイ       インターフェイス  メトリック
          0.0.0.0          0.0.0.0      192.168.1.1     192.168.1.13    276
        127.0.0.0        255.0.0.0            リンク上         127.0.0.1    306 ←
        127.0.0.1  255.255.255.255            リンク上         127.0.0.1    306 ←
  127.255.255.255  255.255.255.255            リンク上         127.0.0.1    306
      192.168.1.0    255.255.255.0            リンク上      192.168.1.13    276 ←
     192.168.1.13  255.255.255.255            リンク上      192.168.1.13    276 ←
    192.168.1.255  255.255.255.255            リンク上      192.168.1.13    276
    192.168.171.0    255.255.255.0            リンク上     192.168.171.1    276
    192.168.171.1  255.255.255.255            リンク上     192.168.171.1    276
  192.168.171.255  255.255.255.255            リンク上     192.168.171.1    276
    192.168.219.0    255.255.255.0            リンク上     192.168.219.1    276
    192.168.219.1  255.255.255.255            リンク上     192.168.219.1    276
  192.168.219.255  255.255.255.255            リンク上     192.168.219.1    276
        224.0.0.0        240.0.0.0            リンク上         127.0.0.1    306
        224.0.0.0        240.0.0.0            リンク上      192.168.1.13    276 ←
        224.0.0.0        240.0.0.0            リンク上     192.168.171.1    276
        224.0.0.0        240.0.0.0            リンク上     192.168.219.1    276
  255.255.255.255  255.255.255.255            リンク上         127.0.0.1    306
  255.255.255.255  255.255.255.255            リンク上      192.168.1.13    276 ←
  255.255.255.255  255.255.255.255            リンク上     192.168.171.1    276
  255.255.255.255  255.255.255.255            リンク上     192.168.219.1    276
===========================================================================
固定ルート:
  ネットワーク アドレス          ネットマスク  ゲートウェイ アドレス  メトリック

          0.0.0.0          0.0.0.0      192.168.1.1     既定
===========================================================================

IPv6 ルート テーブル
===========================================================================
アクティブ ルート:
 If メトリック ネットワーク宛先      ゲートウェイ
 10    276 ::/0                     fe80::212:e2ff:fe10:a058
  1    306 ::1/128                  リンク上
 10     28 2408:50:9fff:98d::/64    リンク上
 10    276 2408:50:9fff:98d:99e0:3b49:aa5:3deb/128
                                    リンク上
 10    276 2408:50:9fff:98d:c522:71f1:3c80:dfcc/128
                                    リンク上
 10    276 fe80::/64                リンク上
 17    276 fe80::/64                リンク上
 18    276 fe80::/64                リンク上
 18    276 fe80::3041:b6d0:c764:d511/128
                                    リンク上
 17    276 fe80::94a4:aae1:546:362c/128
                                    リンク上
 10    276 fe80::99e0:3b49:aa5:3deb/128
                                    リンク上
  1    306 ff00::/8                 リンク上
 10    276 ff00::/8                 リンク上
 17    276 ff00::/8                 リンク上
 18    276 ff00::/8                 リンク上
===========================================================================
固定ルート:
  なし
    • 「0.0.0.0/0」はネットワーク全体を示す。
    • ここではデフォルトゲートウェイの経路を示す。
    • 宛先IPアドレスがテーブル内に見つからなかった場合、デフォルトゲートウェイに送る。
    • 「128.0.0.0/8」は自分自身を示す特別なアドレスブロックである。
      • ループバックアドレスと呼ばれる。
    • 個のアドレス宛てのパケットはネットワークへ渡さず自分自身で受け取る。
    • IPマルチキャスト用に割り当てられたアドレス。
    • IPネット全体を対象とする特別なブロードキャストアドレス。

ルーティングテーブルの作成方法

 ルーティングテーブルの作成方法はIPの規格上は定められていない。

種類

手動・自動による分類

  • スタティックルーティング(static routing)
    • ルーティングテーブルを手動で作成する方法。
    • コマンドなどを入力して手作業でルーティングテーブルを作成する。
    • ダイナミックルーティングを使うまでもない、ルーターが数台くらいの小規模なネットワークの場合や、特定の経路を明示的に指定したい場合に使われる手法である。
    • ネットワーク管理者が手入力でルーティングテーブルを設定する。
  • ダイナミックルーティング(dynamic routing)
    • ルーティングテーブルを自動で作成する方法。
    • ノード間で情報をやり取りして自動的にルーティングテーブルを作成する。
      • このときにノード間での情報のやり取りに使われるプロトコルのことを経路制御プロトコルと呼ぶ。
    • レイヤ3スイッチやルーターが自動的にルーティングテーブルを学習する。

 スタティックルーティングの分類は以下の通りである。

  • スタティック経路
    • 宛先ごとの経路情報をルーティングテーブルに個別に手入力する。
  • ダイレクト経路
    • 直接繋がっているVLANに割り当てたネットワークアドレスをレイヤ3スイッチが経路として自動的に登録する。

末端にあるホスト

ルーティングテーブルを表示する

Windowsの場合

 コマンドプロンプトで次のコマンドを入力する。

> route print

[補講]WindowsVista以降ではデフォルトでIPv6がインストールされているため、ルーティングテーブルもIPv4用とIPv6用の両方が表示される。

 IPv4用のルーティングテーブルは、IPv4ルートテーブルの箇所に表示される。 ◇

UNIXの場合

netstat -nr

ルーティングテーブルに手動でルートを追加・削除する

Windowsの場合

[例]192.168.3.0/24というセグメントへのパケットは、192.168.1.1(デフォルトゲートウェイ)に転送するルートを追加する場合は次を入力する。

> route -p add 192.168.3.0 mask 255.255.255.0 192.168.1.1

 削除する場合は次を入力する。

> route delete 192.168.3.0

参考文献

  • 『Windows7ネットワーク逆引き大全』
  • 『IP&ICMP』
  • 『Lepton先生の「ネットワーク技術」勉強会』
  • 『絶対わかる!ネットワーク設計超入門 増補改訂版』