3 Minutes NetWorking
No.28

3Minutes NetWorking

第28回レイヤ3 ルータ

■ インターネットワークでのデータ転送

ネット助手

博士。

インター博士

どうした、ネット君。

ネット助手

なんで、こんな長々と4つのアドレスについて話し合ってきたんでしたっけ?

インター博士

(はぁ〜〜〜っ)

ネット助手

どうしたんですか、ため息なんかついて。

インター博士

いやなに。世の無常というものを考えていたんだよ

ネット助手

そうなんですか。
さすが博士。高尚ですね。

インター博士

…。
いやもう、何も言うまい。君がそれで幸せならば

ネット助手

はぁ。

インター博士

ともかく。
レイヤ2・3でのカプセル化を思い出してもらおう。

[Figure24-01:カプセル化・レイヤ3〜2]

インター博士

このカプセル化で必要な、イーサネットヘッダ、IPヘッダは以下の通りだ。

IP IPヘッダ

イーサネット イーサネットヘッダ

[Figure24-02:ヘッダ・レイヤ3〜2]

インター博士

この通り、宛先IP・MACアドレス、送信元IP・MACアドレスの4つが必要だ。
データ転送をしたいと思うならば、これら4つのアドレスが必須ということだな。

ネット助手

そうそう、そうでした。

インター博士

ほほぅ、思い出したか。
では聞くが、何故IPアドレスのみ、またはMACアドレスのみではいけないのかね?

ネット助手

え〜っと、それは。
役割が違うからです、よね?

インター博士

どう違うのかね?

ネット助手

え〜〜〜〜っと。
MACアドレスは、「何処の・誰」という情報がないから大きなネットワークでは使いにくい。
そのため、複数のネットワークを繋ぐような場合は論理アドレスを使う。

インター博士

うむ。まあよしとしよう。
実際、複数のネットワークを繋がない単一LANのみならば、MACアドレスだけでもデータ転送は可能だ。

ネット助手

そうなんですか?

インター博士

NetBEUIというプロトコルがある。これはMACアドレスだけを使用してデータ転送を行うプロトコルだ。
ただし、やはり大規模なネットワークには向かない

ネット助手

そうですよね。
MACアドレスだけだと、名前だけで世界中から人を探し出すようなものですものね。

インター博士

そうだ。
なので、複数のネットワークを繋ぐインターネットワークでのデータ転送には、論理アドレスが必要ということだ。

ネット助手

…。
じゃあ、IPアドレスだけあれば、MACアドレスはいらないんじゃ?

インター博士

ううむ。確かにそう思えることもある。
PPPなどではMACアドレスは使われないわけだしな。
ただ、LANのような環境の場合、レイヤ2での制御にどうしてもMACアドレスが必要だ。

ネット助手

レイヤ2での制御?

インター博士

うむ。CSMA/CDやトークンパッシングのようなメディアアクセス制御だな。
レイヤ3のどのプロトコルでもパケット転送を使えるように、レイヤ2でのメディアアクセス制御をMACアドレスで行っているのだよ。

ネット助手

ん、ん〜っと。
CSMA/CDでも、トークンパッシングでも、どちらをつかってもIPでデータ転送を行うには関係ない、ってことですか?

インター博士

そう。そのため、レイヤ2の物理アドレスで制御をしておく必要がある。そうすればIPはインターネットワークでの転送だけを考えればすむ。
そのような役割の分担こそが、ネットワーク・モデルだったろう?

ネット助手

ははぁ。
そういえば、そうでしたね。

■ ルーティング

インター博士

インターネットワークでのデータ転送に必要なことはなんだった?

ネット助手

なんだった、って。
論理アドレスを使うこと、ですか?

インター博士

ふむ、聞き方が悪かったな。
例えば、鉄道ネットワークで、大阪から東京まで人(パケット)を運ぶ際に考える必要があるのは?

ネット助手

鉄道の場合?
どの路線を使うってことですか?
…あぁ。そうか経路選択ですね。

インター博士

うむ、よかった。第19回読み直せと怒鳴りつけるところだった。
つまり、どのネットワークを経由してパケットを届けるかというルーティングをする必要がある。

ネット助手

ルートを決めるから、ルーティングでしたよね。

経路選択

[Figure19-02:経路選択]

インター博士

例えば、Xネットワークの「あ」からYネットワークの「い」まで、何番の道を通り、どのネットワークを経由していくか。
これがわからないことには、データを伝送できない

ネット助手

上の図で言えば。
道1→A→道4→C→道8→F→道12→Y。
道1→A→道4→C→道7→D→道10→E→道11→Y、とかいくつか考えられますよね。

インター博士

うむ。電気信号ごときに、どの道を通っていくのがよいか選択できるわけないだろう?
なので、ルータがルートを決定する

ネット助手

ルート[route]を決定するから、ルータ[router]ですか。

インター博士

そうだ。
前にも説明したが、ルータがルートを決定することにより、ネットワークは相互にデータ転送が可能になる

ネット助手

ルータがなければ、異なるネットワーク間はデータ転送できないでしたっけ。

■ ルータによるネットワークの接続

インター博士

そうだ。
ルータを使った簡単な接続図を示そう。

ネットワーク構成図

[Figure28-01:ネットワーク構成図]

インター博士

ルータはこのように、ネットワークを接続する。
せっかくだから、IPアドレスで表記してみよう。

ネットワーク構成図・IPアドレスつき

[Figure28-02:ネットワーク構成図・IPアドレスつき]

ネット助手

ははぁ。
ルータもハブやブリッジと同じようにポートをいくつか持っているんですね。
それで、各ポートに別のネットワークが接続している、と。

インター博士

うむ。
ただし、ルータのポートは、ハブやブリッジのポートと違い、論理アドレスを持つのだ。

ネット助手

論理アドレスを持つ?

インター博士

うむ。
先ほどの図のルータの部分をアップにしてみると、このようになる。

ルータのポート

[Figure28-03:ルータのポート]

インター博士

つまり、ルータの各ポートはそれぞれのネットワークに所属している形になるわけだ。

ネット助手

なんで、わざわざIPアドレスをつけたりするんです?

インター博士

ハブやブリッジとは機能が大きく違うからだな。
ハブやブリッジは、流れている信号やフレームを間で制御するという形だったが、ルータはパケットを受け取って、送り出すデバイスなのだよ。

ネット助手

受け取って、送り出す?

インター博士

うむ。
他ネットワークへのデータ転送を希望するホストは、ルータに送って、届けてもらうという形をとるので、アドレスが必要なのだよ。

ネット助手

ははぁ。

インター博士

ルータを使わない場合、同じネットワーク内にしかデータは転送できないというルールがあったよな。
なので、ルータに届けるためには、ルータが同じネットワーク内にいなければならない。

[Figure28-04:ルータによる中継]

ネット助手

ルータにデータ転送するために、ルータが同じネットワークに所属する必要がある、と。
なので、ルータのポートにはIPアドレスが与えられるんですね。

■ ルータの動作

インター博士

実際のルータの動作だが。
まず、ルータはルーティングテーブルというものを持っている。

ネット助手

るーてぃんぐてーぶる?

インター博士

うむ。
最適なルートの地図だと思ってもらうとわかりやすい。
つまり、ルータが受け取ったパケットの宛先までの最適なルートが載っている地図だ。

ネット助手

最適なルートが載っている地図。
それで、ルータは宛先ネットワークまでのルートを決定するんですか?

インター博士

そうだ。
この地図には、宛先ネットワークまでの距離、次に中継するルータ、そのルータへ繋がっている自分のポートなどが載っている。

ネットワーク構成図
宛先ネットワーク次のルータ距離ポート
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:ルーティングテーブル]

インター博士

図の赤いルータのルーティングテーブルは上のような形になる。

ネット助手

中継ルータなし、距離0ってのは、自分とすぐ繋がっているネットワークってことですね。

インター博士

うむ。ルータはこのテーブルにしたがって、受け取ったパケットを宛先まで送る。
つまり、ルーティングテーブルこそがルータの要なのだよ。

ネット助手

ははぁ。
どのルートを使って届けるか、を調べるための地図ですからそりゃ重要でしょうね。

インター博士

では、簡単にルータの動作を説明しよう。

ネット助手

はい。

  • 1. ホストから、パケットを受け取る。
インター博士

まぁ、これはいいな。

ネット助手

ホストは、他のネットワークへ送りたいから、ルータへパケットを送るんですね。

  • 2. パケットの宛先IPアドレスから、宛先ネットワークを決定する。
インター博士

先ほどのルーティングテーブルを見てわかるとおり、ルーティングテーブルにはネットワークアドレスしか載っていない

ネット助手

そういえば、そうですね。

インター博士

いちいち、「○ネットワークの▲ホストへのルート」と記憶するのは大変なので、「○ネットワークへのルート」とテーブルには載せているわけだ。
宛先ネットワークへ届けるのがルータの役割で、宛先のホストまで届けはしない。

ネット助手

え?でもならどうやって宛先ホストまで届けるんですか?

インター博士

そのネットワークのLANの制御方式による。イーサネットやIEEE802.5でホストまで届けるのだよ。
レイヤ3とレイヤ2の役割の違いだな。

ネット助手

ははぁ。

  • 3. ルーティングテーブルを参照し、宛先ネットワークまでのルートを決定する。
インター博士

ルーティングテーブルには最適なルートが載っている。
それにしたがって、宛先までのルートを決定するわけだ。

  • 4. 決定されたルートに従って、決められたポートからパケットを送信する。
インター博士

もしも宛先が遠くにあるならば、間に存在するルータがそのパケットを受け取って、またルーティングをする。
このように、次々にルータを中継していって、宛先ネットワークに届く形になる。

ネット助手

は〜。

■ ルータの動作・例え話

インター博士

そうだな、例えて言うならばルータはバスターミナルになるな。

ネット助手

バスターミナル?

インター博士

例えばA市Y町に住むネット君が、C市X町に行きたいとする。
ネット君は自分の住んでいるY町からA市バスターミナルに行く。
(ルータへパケットを送る)

ネット助手

はい、バスターミナルに行きました。

インター博士

A市バスターミナルの案内所(ルーティングテーブル)に聞くと、「C市に行くには、一度B市へ行ってください、B市行きは3番乗り場(ポート)になります」、と案内される。

ネット助手

3番乗り場からバスに乗って(ポートから送信)、B市へ行きます。

インター博士

B市のバスターミナルの案内所では「C市行きは1番乗り場です」と言われて、1番乗り場からC市行きバスに乗る。

ネット助手

そうすると、C市のバスターミナルにつきますよね。

インター博士

C市バスターミナルでは、「X町へ行くには5番乗り場からでるバスに乗ってください。あとはバスの運転手の指示(レイヤ2アクセス制御方式)に従ってください」と言われる。

ネット助手

5番乗り場からバスに乗って、運ちゃんの指示どおりX町の停留所で降りる。

インター博士

と、こんな感じだ。
感じはつかめると思うが?

バスターミナルの例

[Figure28-06:バスターミナルの例]

ネット助手

ははぁ。
なんとなくは理解しました。

インター博士

うむ。
ルータは非常に重要なので、しばらくルータの話を続ける。

ネット助手

長いですね、レイヤ3。

インター博士

インターネットワークでは、レイヤ3が重要なのだよ。

ネット助手

なるほど。

インター博士

では、また次回。

ネット助手

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

君がそれで…
でも先生って仕事はコレじゃすまないんですよねぇ。
NetBEUI
[NetBIOS Extended User Interface]
NetBIOSをベースに、その機能を拡張したプロトコル。
単一LAN内のみならばTCP/IPよりも効率がよいが、論理アドレスによるルーティングが不可能なため、小規模の使用にとどまる。
読みは「ネットビューイ」。
PPP
[Point to Point Protocol]
ポイントツーポイントでの接続、一般的にはモデム・TAを使ったダイアルアップ回線に使用されるプロトコル。
ポート
ルータでは、インタフェース[interface]とも言います。
ルータとネットワークの接続点のこと。
ルーティングテーブル
[routing table]
経路表。
ネット助手ネット君の今日のポイント
  • インターネットワークでは論理アドレスが必要。
  • どのネットワークを経由していくか、という経路選択がないとインターネットワークでのデータ転送はできない。
  • ルータが経路選択を行う。
  • ルータのポート(インタフェース)は、ホストからのデータを受け取るため、同じネットワークに所属する。
  • ルータのポート(インタフェース)は、IPアドレスを持つ。
  • ルータは経路を選択するためルーティングテーブルを持つ

3 Minutes NetWorking No.28

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