■ インターネットワークでのデータ転送
博士。
どうした、ネット君。
なんで、こんな長々と4つのアドレスについて話し合ってきたんでしたっけ?
(はぁ〜〜〜っ)
どうしたんですか、ため息なんかついて。
いやなに。世の無常というものを考えていたんだよ。
そうなんですか。
さすが博士。高尚ですね。
…。
いやもう、何も言うまい。君がそれで幸せならば。
はぁ。
ともかく。
レイヤ2・3でのカプセル化を思い出してもらおう。
[Figure24-01:カプセル化・レイヤ3〜2]
このカプセル化で必要な、イーサネットヘッダ、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アドレスで表記してみよう。
[Figure28-02:ネットワーク構成図・IPアドレスつき]
ははぁ。
ルータもハブやブリッジと同じようにポートをいくつか持っているんですね。
それで、各ポートに別のネットワークが接続している、と。
うむ。
ただし、ルータのポートは、ハブやブリッジのポートと違い、論理アドレスを持つのだ。
論理アドレスを持つ?
うむ。
先ほどの図のルータの部分をアップにしてみると、このようになる。
[Figure28-03:ルータのポート]
つまり、ルータの各ポートはそれぞれのネットワークに所属している形になるわけだ。
なんで、わざわざIPアドレスをつけたりするんです?
ハブやブリッジとは機能が大きく違うからだな。
ハブやブリッジは、流れている信号やフレームを間で制御するという形だったが、ルータはパケットを受け取って、送り出すデバイスなのだよ。
受け取って、送り出す?
うむ。
他ネットワークへのデータ転送を希望するホストは、ルータに送って、届けてもらうという形をとるので、アドレスが必要なのだよ。
ははぁ。
ルータを使わない場合、同じネットワーク内にしかデータは転送できないというルールがあったよな。
なので、ルータに届けるためには、ルータが同じネットワーク内にいなければならない。
[Figure28-04:ルータによる中継]
ルータにデータ転送するために、ルータが同じネットワークに所属する必要がある、と。
なので、ルータのポートにはIPアドレスが与えられるんですね。
■ ルータの動作
実際のルータの動作だが。
まず、ルータはルーティングテーブルというものを持っている。
るーてぃんぐてーぶる?
うむ。
最適なルートの地図だと思ってもらうとわかりやすい。
つまり、ルータが受け取ったパケットの宛先までの最適なルートが載っている地図だ。
最適なルートが載っている地図。
それで、ルータは宛先ネットワークまでのルートを決定するんですか?
そうだ。
この地図には、宛先ネットワークまでの距離、次に中継するルータ、そのルータへ繋がっている自分のポートなどが載っている。
宛先ネットワーク | 次のルータ | 距離 | ポート |
---|---|---|---|
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:ルーティングテーブル]
図の赤いルータのルーティングテーブルは上のような形になる。
中継ルータなし、距離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アドレスを持つ。
- ルータは経路を選択するためルーティングテーブルを持つ