ルーティングテーブル【routing table】

広告

広告

ルーティングテーブル とは

最終更新
2004-04-25T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/nw/routing/rooting_table.html#routingt

経路制御表、又は単に経路表と呼ばれることもあります。「ARP の話」や「ネットワーク層」で簡単に触れましたが、ここではもう少し詳しく初めから解説しようと思います。

ネットワークの世界では、パケットを他の端末に届けようとする際に、伝言ゲームのようなことが行われます。例えば、Webサイトを見るときはどうでしょう。目の前の端末からブラウザにURLを入力した際に、ブラウザは次のようなリクエストを作成します。

「私(A)宛にあなた(B)の○○というファイルを転送して下さい」

このようなリクエスト(パケット)が、端末Aから端末Bに送られるのですが、ここで伝言ゲームが始まります。まず、端末Aはルータにこのリクエストを送信します。リクエストを受け取ったルータは、更に別のルータにそのリクエストを送信し、更にそのルータは別のルータにリクエストを送信し、と、端末Bにリクエストが届くまでに何個もの端末を中継するのが当たり前です。このパケットを次から次へと渡して行く過程を伝言ゲームに見立てているのですが、通常の伝言ゲームと少し違う点があります。それは、伝言ゲームに関係ないものまで多数参加していると言うことです。最初にリクエストを受け取ったルータは、LANにもWANにも繋がっているでしょう。また、LANに繋がっている端末は、端末Aだけではなく、複数の端末がルータ配下に繋がっている場合がほとんどだと思います。ルータは受け取ったリクエスト(IPパケット)を見て、次は誰に渡すかを判断しなければなりません(もっと正確に言えば、誰に渡せば一番効率的か)。そのために使われるのがルーティングテーブルと呼ばれるものです。

ここまで読んで頂いた方は、「ルーティングテーブルルータ内にあるメモリー領域」と勘違いされるかもしれませんが、ルーティングテーブルは、端末(パソコン)内にもあるのです。IPヘッダを作成する際に、IPは宛先アドレスと送信元アドレスをヘッダ内に書き込みます。宛先アドレスは、ネットワーク層より上位層(ほとんどの場合応用層)で確定されますので、そのアドレスを書き込むのですが、送信元アドレスはどうでしょう。当然、その端末に割り当てられたアドレスが書き込まれるのですが、ここが落とし穴となっています。LANアダプタ等の通信用インターフェースが一つだけの場合は、無条件にそのインターフェースのアドレスを送信元アドレスとして割り振れば良いでしょうが、端末には通常、複数のインターフェースが搭載されています。LANアダプタが複数ささっている端末もあれば、モデムカードが搭載されている端末もあるでしょう。このような場合には、どのIPアドレスを送信元として使用するかをまず判断してやる必要が出てきます(つまりは、どのインターフェースを使って通信を行うか、ということです)。この判断の際に使われるのもルーティングテーブルとなっています。

補足として付け加えますと、実は上の二つの例(ルータの例と端末の例)は同じことを表しています。ルータを、通信用インターフェースを複数搭載した端末と思って下さい。要は、送信元となるか、中継点となるかの違いはあるにしろ、「どのインターフェースを使って、次にどこにパケットを送るのか」という、ルーティングテーブルの使用目的は同じなのです。(詳しくは「ルータの話」で解説します。)

ルーティングテーブル

最終更新
2004-04-25T00:00:00+09:00
この記事のURI参照
http://www.7key.jp/nw/routing/rooting_table.html#routingtable

では、実際にルーティングテーブルがどのようなものか見てみましょう。ご使用の端末がWindowsならば、「Windows2000でのRouteコマンド」も参考にして下さい。以下の表のようなものが表示されるはずです。

C:\>route print
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x1000003 ...00 0c 6e 3c 16 d2 ...Intel 8255x-based Integrated Fast Ethernet
===========================================================================
===========================================================================
Active Routes:
Network Destination        Netmask          Gateway       Interface  Metric
          0.0.0.0          0.0.0.0      192.168.1.1   192.168.1.100       1 -1
      192.168.1.0    255.255.255.0    192.168.1.100   192.168.1.100       1 -2
    192.168.1.100  255.255.255.255        127.0.0.1       127.0.0.1       1 -3
  192.255.255.255  255.255.255.255    192.168.1.100   192.168.1.100       1 -4
        127.0.0.0        255.0.0.0        127.0.0.1       127.0.0.1       1 -5
        224.0.0.0        224.0.0.0    192.168.1.100   192.168.1.100       1 -6
  255.255.255.255  255.255.255.255    192.168.1.100   192.168.1.100       1 -7
Default Gateway:       192.168.1.1
===========================================================================
Persistent Routes:
  None

まず、宛先アドレスとして指定されているIPアドレスが、ルーティングテーブルの左端の欄(NetworkDestination)のどこに該当するかを探します。例えば、「192.168.1.101」という宛先にパケットを送る場合、「192.168.1.0」というIPネットワークに所属しますので、上から2行目に該当することになります。該当する行が見つかったならば、次に左から3番目(Gateway)と左から4番目(Interface)の行を調べます。GatewayはそのIPアドレスを持つルータにパケットを渡せば、そのルータが目的の端末までパケットを中継してくれることを表します。また、Interfaceは、そのインターフェースからパケットを送信することを表します。もしこのGatewayとInterfaceが同じアドレスだったならば、ルータを介さず直接パケットを届けることになります。ここで、一行目を見て下さい。宛先IPアドレスとサブネットマスクが「0.0.0.0」で表されています。これは「他に該当する行がない場合は、この行が有効」ということを表しています。この一行目のことを「デフォルト経路」、一行目のGatewayのことを「デフォルトゲートウェイ」と呼びます。このデフォルトゲートウェイを設定することにより、全ての経路をルーティングテーブルに登録しておく必要がなくなるのです。

補足知識

ルーティングテーブルのことを「経路制御表」「経路表」「FIB」【Forwarding Information Base】とも言います。

広告

Copyright (C) 2003-2004 七鍵 key@do.ai 初版:2004年04月25日 最終更新:2004年04月25日