■ ルーティング
さて、ネット君。
ルータはネットワークを繋ぐデバイスだな。
はい。ネットワークとネットワークの最適ルートを選択して繋いでくれるんでしたね。
うむ。
つまり、大小さまざまなネットワークの集合体であるインターネットというものは、ルータが世界中を接続している形になっている。
世界中のネットワークを接続するのに、ルータが中継している形になってるわけですよね。
そうだ。
ルータこそがネットワークの基幹のデバイスだ。
なるほど。
ルータの動作を知ることは、ネットワーク間でどのようにパケットが転送されるを理解するということだ。
ふむふむ。了解です。
まず、他のネットワークへデータを転送したいと思ったホストはどうするのだったかね?
え〜っと。
[Figure29-03:デフォルトゲートウェイ]
デフォルトゲートウェイにパケットを転送するんですよね。
前回のムービーをわざわざ持ち出してくるとは。
まあいい。受け取ったルータはどうする?
宛先アドレスを見て、ルータはルーティングします。
そのまま読むな。
はぅっ。
ともかく。
ルーティングを行うわけだが、どうやってだ?
どうやって、って。
最適なルートを選択することが、ルーティングだったはずだ。
では、それはどのようにして行う?
え〜っと。
地図を見る、かな。
うむ。
地図、つまりルーティングテーブルを参照し、宛先へのルートを決定するわけだな。
ルートが載ってる表がルーティングテーブルでしたよね。
■ ルーティングテーブル
さて、ルーティングテーブルがどのようなものか、というのは以前にもでてきたな。
宛先ネットワーク | 次のルータ | 距離 | ポート |
---|---|---|---|
192.168.1.0 | 210.81.36.1 | 3 | 1番ポート |
91.0.0.0 | 210.81.36.1 | 6 | 1番ポート |
172.36.0.0 | 130.82.10.1 | 2 | 2番ポート |
221.194.38.0 | なし | 0 | 3番ポート |
[Figure28-05:ルーティングテーブル]
中央の赤いルータのルーティングテーブルはこのようになる。
宛先と、中継地点と、距離と、宛先への出口がその内容ですね。
うむ。
以前も話した通り、ルータは宛先ネットワークを決定する。
いちいち何番ネットワークの何番ホストまでは考えない。
宛先のネットワークに届けば、そこからはイーサネットとかIEEE802.5が宛先ホストまで届けるからですね。
そうだ。例では、ルータはバスターミナルという話をしたな。
それぞれの停留所(ホスト)までは、バスターミナルでは考えないということだ。
宛先の停留所がある、その路線を考えるってことですね。
そうなる。
さて、もうちょっと細かくルータの動作を見てみよう。
はい。
■ 宛先ネットワーク
ルータは他ネットワークパケットを受け取ると、宛先IPアドレスから宛先ネットワークを決定する。
どうやってだ?
どうやって、と言われても。
…今日は質問が多いですね。
うむ。
聞くだけなら、ネット君でなくてよいからな。それこそ人形でもいい。
いや、人形の方が減らず口を叩かないだけマシかもな。
うううぅ。
では、人形よりマシであるところを証明してみたまえ。
どうやって、宛先IPアドレスから宛先ネットワークを決定する?
ええ〜っと。
ヒントをやろう。宛先のネットワークアドレスがわかればいいわけだ。ネットワークアドレスというのは、ホスト部がすべて0のIPアドレスだったよな。
つまり、どこまでがネットワーク番号かわかればいいということになる。
…。
…。サブネットマスク!!
うむ、そうだ。
やりぃ。
ルータは、宛先IPアドレスとサブネットマスクから宛先ネットワークアドレスを決定する。
考え方はこうだ。
[Figure30-01:宛先ネットワークアドレスの決定]
窓を作って、かぶせる。
見える部分と見えない部分…。
ネット君。
サブネットマスクの「マスク」はどういう意味だ?
マスクですか?
「仮面」ですよね。
そう、仮面だ。仮面というのは、目と口以外は隠して見えなくなるだろう?
サブネット「マスク」も、ビットが0の部分は見えなく隠してしまうのだよ。
ははぁ。
だから「マスク」なんですね。
うむ。
このように、ルータは宛先IPアドレスとサブネットマスクから宛先ネットワークアドレスを決定する。
なるほど。
宛先ネットワークアドレスがわかったところで、宛先ネットワークアドレスとルーティングテーブル比較して、ルートを探し出す。
テーブルの中から、一致するエントリを探すんですね。
うむ。
ルートを決定し、対応するポートからパケットを送り出す。
これがルータの動作だ。
[Figure30-02:ルータの動作]
ちなみにルーティングテーブルに宛先ネットワークがない場合、どうなるんです?
その場合、宛先不明としてパケットを破棄する。
スイッチとは違う点だな。
スイッチは、宛先がわからない場合、すべてのポートから送り出してしまうんでしたよね。
■ ルーティングテーブルの例
では、実際にルーティングテーブルを見てもらおう。
おぉ。博士、ルータを持ってらっしゃるんですね。
持っていることは持っているが、ブロードバンドルータなのでコレといったルーティングテーブルを表示できないのだよ。
よって、今回はパソコンを使う。
パソコン?
パソコンはルータではないですよ?
それはもっともな疑問だ。
だが、パソコンのネットワーク機能は、パソコン内部を1つのネットワークとみなしている。
そうなんですか?
うむ。
つまり、パソコン内部というネットワークと、パソコン外部のネットワーク。この2つを繋げるルータが必要、となるわけだ。
ははぁ。
じゃあ、パソコン内部にルータがあるってことですか?
まぁ、そう考えてもらうのが一番手っ取り早いかな。
では、コマンドプロンプトで、>route printと打ってみたまえ。
- c:\> 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アドレスとサブネットマスクの組み合わせで、宛先ネットワークを決定する。
- ルーティングテーブルに載ってない宛先へのパケットは破棄される。
- パソコンにもルーティングテーブルが存在する。