このページの本文へ

試してわかるルーティング第6回

サブネット間のルーティングを知ろう

ルーティングテーブルからパケットの経路を決める手順とは?

2011年03月08日 08時00分更新

文● 伊藤玄蕃

  • この記事をはてなブックマークに追加
  • 本文印刷

前回は、異なるネットワーク間を結ぶルーティングの基本をルーティングテーブルの例示で紹介した。続いては、このルーティングテーブルを使って、パケットの経路を決定する手順を見てみよう。

ルータ選択の仕組み

 パケットの経路を決める際には、ルーティングテーブルの上から順に、Netmask(サブネットマスク)を使って通信相手のネットワークアドレスを計算する。そのアドレスがNetwork Destination(宛先ネットワーク)と一致すれば、経路の候補とする。すべての行でこの処理を行なった結果、経路の候補が1つしかなければ、その経路が選択される。候補が複数あれば、各行の「Metric」の値を比較して、もっとも小さな値を持つ行を選択する。

画面1 ルーティングテーブルの見方(再掲載)

 また、直接通信を行なう際にも、ルーティングテーブルが利用される。通信相手が同じネットワークに属していれば、必ずローカルルートにマッチする。前回も掲載した画面1の例では3行目だ。その行の情報を読み取ると、Gatewayの値はInterfaceの値と一致している(=Gatewayは自分自身である)ため、送信元の端末は「これは直接通信でつながる相手だ」と判断するのである。

最後はデフォルト
ゲートウェイへ

 ところで、画面1のルーティングテーブルをよく見ると、3行目のローカルルートのほかには、特定のネットワークアドレスを宛先とした行がない。しかし、この状態でもインターネットや組織内の別のネットワーク(サブネット)との通信は問題なく行なわれている。その理由は、1行目の「デフォルトルート」にある。

 前述の通り、デフォルトルートのサブネットマスクは「0.0.0.0」である。そのため、通信相手のIPアドレスとの論理積(=通信相手のネットワークアドレス)を計算すると、必ず「0.0.0.0」となり、NetworkDestinationと一致する。すなわち、通信相手のIPアドレスがどんな値であっても、デフォルトルートはその相手への「経路の候補」になる。そのため、通信相手の属するネットワークがルーティングテーブルに未登録の場合、経路にはデフォルトルートが選択される。また、ほかに経路の候補があった場合でも、設定された「Metric」の値がもっとも小さければデフォルトルートが選択される。

 このデフォルトルートのGatewayに指定されたルータのことを、「デフォルトゲートウェイ」と呼ぶ。もう一度画面1を見てほしい。経路の最後に「DefaultGateway」という行がある。ここにもデフォルトゲートウェイのIPアドレスが表示される。パケットの送信元端末から見て、デフォルトゲートウェイは「パケットの宛先が見つからないときは、とりあえずデフォルトゲートウェイに送っておけば、あとは勝手にやっておいてくれるだろう」という立場である。

 そのため、デフォルトゲートウェイには、SOHOなど自分のネットワーク内にルータが1つしかなければそのルータを、複数のルータがあればバックボーンにもっとも近いルータのIPアドレスを、手動またはDHCPによって設定する。手動の場合、Windows XPでは「インターネットプロトコル(TCP/IP)のプロパティ」画面の「デフォルトゲートウェイ」の項目に設定する(画面2)。

画面2 デフォルトゲートウェイの設定

実際の通信手順

 それでは、図1のネットワークを例にして、サブネット間の通信がどのように行なわれるかを説明する。このネットワークは、2つのサブネットを1台のルータで接続した構成である。LAN1に属するPCも、LAN2に属するPCも、すべてルータAがデフォルトゲートウェイに設定されている。このネットワークで、PC1からPC4に向けてデータを送信する場合を考えてみよう。

図1 ネットワークの構成

 まず、PC1は自らのルーティングテーブルを参照し、PC4向けのパケットの送出方法を決定する。PC4は自分とは異なるネットワークに属しているため、デフォルトゲートウェイであるルータAへ向けてパケットを送り出す。このとき、PC1とルータAとの間の通信は前パートで述べた直接通信と同じ手順を踏む。

 すなわち、PC1はルータAのIPアドレスしか知らないため、まずARPを使ってルータAからMACアドレスを教えてもらい(図2の①~②)、それからルータAに向けてPC4向けのデータパケットを送出する(図2の③)。

図2 実際のパケットのやりとり

 PC4向けのパケットを受け取ったルータAも、自身に登録しているルーティングテーブルを参照し、PC4向けのパケットの送出方法を決定する(表1)。

表1 ルータAのルーティングテーブル

 その結果、PC4はルータAに直接つなげられたLAN2にあるため、IPアドレスが172.20.175.241のインターフェイスからPC4へ向けてパケットを送り出す。こちらも直接通信であるから、まずARPによってPC4のMACアドレスを知り(図2の④~⑤)、それからPC4へ向けてデータパケットを送出する(図2の⑥)。

 ●

 以上のように、もっとも基本的なルーティングであるサブネット間の通信は、ARPによるアドレス解決を組み合わせて実現している。ところが実際のネットワークは、ルータが複数ありそれらが接続し合っている。したがって、ルーティングの動作も複雑になる。次回からは、実際のルータを試しながらその仕組みを解説していく。

カテゴリートップへ

この連載の記事
ピックアップ