3 Minutes NetWorking
No.30

3Minutes NetWorking

第30回レイヤ3 ルーティングテーブル

■ ルーティング

インター博士

さて、ネット君。
ルータはネットワークを繋ぐデバイスだな。

ネット助手

はい。ネットワークとネットワークの最適ルートを選択して繋いでくれるんでしたね。

インター博士

うむ。
つまり、大小さまざまなネットワークの集合体であるインターネットというものは、ルータが世界中を接続している形になっている。

ネット助手

世界中のネットワークを接続するのに、ルータが中継している形になってるわけですよね。

インター博士

そうだ。
ルータこそがネットワークの基幹のデバイスだ。

ネット助手

なるほど。

インター博士

ルータの動作を知ることは、ネットワーク間でどのようにパケットが転送されるを理解するということだ。

ネット助手

ふむふむ。了解です。

インター博士

まず、他のネットワークへデータを転送したいと思ったホストはどうするのだったかね?

ネット助手

え〜っと。

[Figure29-03:デフォルトゲートウェイ]

ネット助手

デフォルトゲートウェイにパケットを転送するんですよね。

インター博士

前回のムービーをわざわざ持ち出してくるとは。
まあいい。受け取ったルータはどうする?

ネット助手

宛先アドレスを見て、ルータはルーティングします。

インター博士

そのまま読むな

ネット助手

はぅっ。

インター博士

ともかく。
ルーティングを行うわけだが、どうやってだ?

ネット助手

どうやって、って。

インター博士

最適なルートを選択することが、ルーティングだったはずだ。
では、それはどのようにして行う?

ネット助手

え〜っと。
地図を見る、かな。

インター博士

うむ。
地図、つまりルーティングテーブルを参照し、宛先へのルートを決定するわけだな。

ネット助手

ルートが載ってる表がルーティングテーブルでしたよね。

■ ルーティングテーブル

インター博士

さて、ルーティングテーブルがどのようなものか、というのは以前にもでてきたな。

ルーティングテーブル・例
宛先ネットワーク次のルータ距離ポート
192.168.1.0210.81.36.131番ポート
91.0.0.0210.81.36.161番ポート
172.36.0.0130.82.10.122番ポート
221.194.38.0なし03番ポート

[Figure28-05:ルーティングテーブル]

インター博士

中央の赤いルータのルーティングテーブルはこのようになる。

ネット助手

宛先と、中継地点と、距離と、宛先への出口がその内容ですね。

インター博士

うむ。
以前も話した通り、ルータは宛先ネットワークを決定する。
いちいち何番ネットワークの何番ホストまでは考えない。

ネット助手

宛先のネットワークに届けば、そこからはイーサネットとかIEEE802.5が宛先ホストまで届けるからですね。

インター博士

そうだ。例では、ルータはバスターミナルという話をしたな。
それぞれの停留所(ホスト)までは、バスターミナルでは考えないということだ。

ネット助手

宛先の停留所がある、その路線を考えるってことですね。

インター博士

そうなる。
さて、もうちょっと細かくルータの動作を見てみよう。

ネット助手

はい。

■ 宛先ネットワーク

インター博士

ルータは他ネットワークパケットを受け取ると、宛先IPアドレスから宛先ネットワークを決定する
どうやってだ?

ネット助手

どうやって、と言われても。
…今日は質問が多いですね。

インター博士

うむ。
聞くだけなら、ネット君でなくてよいからな。それこそ人形でもいい
いや、人形の方が減らず口を叩かないだけマシかもな。

ネット助手

うううぅ。

インター博士

では、人形よりマシであるところを証明してみたまえ。
どうやって、宛先IPアドレスから宛先ネットワークを決定する?

ネット助手

ええ〜っと。

インター博士

ヒントをやろう。宛先のネットワークアドレスがわかればいいわけだ。ネットワークアドレスというのは、ホスト部がすべて0のIPアドレスだったよな。
つまり、どこまでがネットワーク番号かわかればいいということになる。

ネット助手

…。
…。サブネットマスク!!

インター博士

うむ、そうだ。

ネット助手

やりぃ。

インター博士

ルータは、宛先IPアドレスとサブネットマスクから宛先ネットワークアドレスを決定する
考え方はこうだ。

[Figure30-01:宛先ネットワークアドレスの決定]

ネット助手

窓を作って、かぶせる。
見える部分と見えない部分…。

インター博士

ネット君。
サブネットマスクの「マスク」はどういう意味だ?

ネット助手

マスクですか?
「仮面」ですよね。

インター博士

そう、仮面だ。仮面というのは、目と口以外は隠して見えなくなるだろう?
サブネット「マスク」も、ビットが0の部分は見えなく隠してしまうのだよ。

ネット助手

ははぁ。
だから「マスク」なんですね。

インター博士

うむ。
このように、ルータは宛先IPアドレスとサブネットマスクから宛先ネットワークアドレスを決定する

ネット助手

なるほど。

インター博士

宛先ネットワークアドレスがわかったところで、宛先ネットワークアドレスとルーティングテーブル比較して、ルートを探し出す

ネット助手

テーブルの中から、一致するエントリを探すんですね。

インター博士

うむ。
ルートを決定し、対応するポートからパケットを送り出す
これがルータの動作だ。

[Figure30-02:ルータの動作]

ネット助手

ちなみにルーティングテーブルに宛先ネットワークがない場合、どうなるんです?

インター博士

その場合、宛先不明としてパケットを破棄する
スイッチとは違う点だな。

ネット助手

スイッチは、宛先がわからない場合、すべてのポートから送り出してしまうんでしたよね。

■ ルーティングテーブルの例

インター博士

では、実際にルーティングテーブルを見てもらおう。

ネット助手

おぉ。博士、ルータを持ってらっしゃるんですね。

インター博士

持っていることは持っているが、ブロードバンドルータなのでコレといったルーティングテーブルを表示できないのだよ。
よって、今回はパソコンを使う。

ネット助手

パソコン?
パソコンはルータではないですよ?

インター博士

それはもっともな疑問だ。
だが、パソコンのネットワーク機能は、パソコン内部を1つのネットワークとみなしている

ネット助手

そうなんですか?

インター博士

うむ。
つまり、パソコン内部というネットワークと、パソコン外部のネットワーク。この2つを繋げるルータが必要、となるわけだ。

ネット助手

ははぁ。
じゃあ、パソコン内部にルータがあるってことですか?

インター博士

まぁ、そう考えてもらうのが一番手っ取り早いかな。
では、コマンドプロンプトで、>route printと打ってみたまえ。

  • c:\> route print

route print結果

[Figure30-03:route print結果] 

インター博士

これだけ見せてもわかりづらいな。
以下のようなネットワークになっていると思いたまえ。

パソコン内部ネットワーク

[Figure30-04:パソコン内部ネットワーク]

ネット助手

ははぁ。
パソコン内部にある、ルータのルーティングテーブルがさっきの画像ですか。

インター博士

そうだ。
このルーティングテーブルを順番に見ていこう。

ルーティングテーブル

[Figure30-05:ルーティングテーブル]

インター博士

この部分が、実際のルーティングテーブルの部分だ。
左から、宛先ネットワークサブネットマスクゲートウェイインタフェース(ポート)メトリック(距離)となる。

ネット助手

ゲートウェイってのは、デフォルトゲートウェイのことですか?

インター博士

デフォルトゲートウェイも含む、パケットをどこに送るかの宛先だな。
異なるネットワークが宛先の場合、デフォルトゲートウェイがここに入る。

ネット助手

ははぁ。

インター博士

まず、テーブルの2行目と4行目。

ループバックアドレス

[Figure30-06:ループバックアドレス]

インター博士

127.0.0.0はパソコン内部のネットワークのアドレスだ。
ループバックアドレスという。

ネット助手

るーぷばっくあどれす。

インター博士

つまり自分自身だな。
よって、127.0.0.0(SM 255.0.0.0.)ネットワークと、192.168.0.2つまり自分のIPアドレスが宛先のパケットは、127.0.0.1のポート、つまり内側に向かって送り出される

ネット助手

宛先が、127.0.0.0の内部ネットワーク。192.168.0.2の自分自身は、ゲートウェイ127.0.0.1。ポート127.0.0.1。
内側に向かって送り出されてますね、確かに。

インター博士

うむ。
次は3、5、7行目を見てもらおう。

ローカルネットワーク

[Figure30-07:ローカルネットワーク]

インター博士

まず3行目。
これは、宛先ネットワークが、パソコンの所属するネットワークの場合だ。192.168.0.0(SM 255.255.255.0)だからな。

ネット助手

え〜っと、パケットの送り先であるゲートウェイは192.168.0.2。
自分自身ですけど?

インター博士

まぁこれは、特に決められていない、とでも考えてもらおう。
出口となるポートは、192.168.0.2、つまり自分のNICだ。

ネット助手

送り先が特に決められていない?
あぁ、そうか同じネットワーク内ですものね。ルータを経由しなくても届きますからね。

インター博士

そういうことだ。
5行目は、宛先192.168.0.255。さて、これはなんだった?

ネット助手

え〜っと。自分が所属するネットワークが192.168.0.0で。
ホストが255だから…ブロードキャスト!!

インター博士

そうだ。
192.168.0.0ネットワーク内すべてのホストだ。これもNICから送り出される。

ネット助手

ふむふむ。
7行目の255.255.255.255はなんです?

インター博士

DHCPなどで使われる、これもブロードキャストだ。
これも5行目同様、NICから送り出される。

ネット助手

つまりこの3行は、同一ネットワーク宛のルートですね。

インター博士

そうだ。
そして、問題は1行目だ。

デフォルトルート

[Figure30-08:デフォルトルート]

ネット助手

宛先ネットワーク0.0.0.0、サブネットマスク0.0.0.0
なんですか、これ?

インター博士

これは、すべてのネットワークという意味だ。

ネット助手

すべてのネットワーク?

インター博士

うむ。
ルーティングテーブルの他の行に当てはまらないものは、すべてこれを使う

ネット助手

ルーティングテーブルの他の行に当てはまらないものは、すべてこれを使う?
例えば、172.16.1.1宛のパケットを送信する時とかですか?

インター博士

そうだ。
エントリの内容を見てみたまえ。

ネット助手

出口のポートは、192.168.0.2のNIC。
宛先は192.168.0.1。デフォルトゲートウェイ宛になってます。

インター博士

うむ。
他のネットワークへパケットを送りたい場合、デフォルトゲートウェイを使うのだったな。

ネット助手

えぇ。前回そう教えていただきました。

インター博士

さて、1行目以外の行をもう一度見てみよう。
これらはパソコン内部ネットワーク、もしくは所属するネットワークが宛先だろ?

ネット助手

えぇ、えぇそうです。
…。あっ!!

インター博士

気がついたか。
他の行に当てはまらない、ということは所属するネットワーク以外のネットワークという意味だ。

ネット助手

なので、デフォルトゲートウェイに転送するという、内容になってるんですね。

インター博士

うむ。
これをデフォルトルートという。

ネット助手

でふぉるとるーと。

インター博士

うむ。
このように、ルーティングテーブルというのは構成されているのだ。わかったかな?

ネット助手

あの〜6行目の224.0.0.0はなんですか?

インター博士

それは、マルチキャストアドレスだ。
いずれ機会を見て、その話はするので今は知らなくてもいい。

ネット助手

そういうもんですか。

インター博士

そういうものだ。
さて、今回はここまでにしておこう。

ネット助手

はい。

インター博士

まだまだルータの話は続くぞ。

ネット助手

了解。
3分間ネットワーキングでした〜♪

ルーティングテーブル
[routing table]
経路表。
製品により多少の差はありますが、基本的な構成要素は表の形になります。
宛先IPアドレスと…
実際は、宛先IPアドレスのビット列と、サブネットマスクのAND演算という形で行われます。
ブロードバンドルータ
[broadband router]
CATV、ADSL等のインターネット接続環境で使用されるルータ。
単一のLAN(ネットワーク)と、プロバイダを繋ぐように作られているため、ルーティングテーブルは最小限なものしか持っていない。
設定ツールでは表示できないものが多い。
コマンドプロンプト
[command prompt]
Win9x系ならば、DOSプロンプトを使います。
画像
同様のルーティングテーブルは、>netstat -rでも表示可能です。
SM
サブネットマスク[Subnet Mask]の略
デフォルトルート
[default route]
ルーティングテーブル内に、当てはまるルートがない場合、使用するルート。
詳しくは先の回で。
マルチキャストアドレス
[multicast address]
ネットワーク内の特定の複数ホスト宛アドレス。
ネット助手ネット君の今日のポイント
  • ルータはルーティングテーブルを参照し、宛先へのルートを決定する。
  • ルーティングテーブルには、宛先ネットワーク、次の中継ルータ、距離、送信ポートが記載されている。
  • 宛先IPアドレスとサブネットマスクの組み合わせで、宛先ネットワークを決定する。
  • ルーティングテーブルに載ってない宛先へのパケットは破棄される。
  • パソコンにもルーティングテーブルが存在する。

3 Minutes NetWorking No.30

管理人:aji-ssz(at)selene.is.dream.jp