3 Minutes NetWorking
No.20

3MinutesNetWorking

第20回レイヤ3 インターネット・プロトコル

■ TCP/IP

インター博士

レイヤ3といえば、IPだ。

ネット助手

いきなり決めつけてきますね。
で、なんですいぷって?

インター博士

ほほぅ。やるな、ネット君。
私もネットワークを教えて長いが、IPを「イプ」と読んだ人間は初めてだ。

ネット助手

えへへ。

インター博士

褒めてねぇ

ネット助手

はぅっ。

インター博士

そのまま、アイ・ピーと読む。
前にTCP/IPというものの話をしたな、それの後ろ側だ。

ネット助手

てぃーしーぴーあいーぴー。
…プロトコルの説明で確かに聞き覚えが…。

インター博士

まぁいい。ネット君の記憶探索に付き合っていては日が暮れてしまう。
TCP/IPはインターネットで使用されているプロトコルだ。 インターネットの普及につれ、いまはLANやWANでもこれが使用されているデファクトスタンダードなプロトコルだ。

ネット助手

でふぁくとすたんだーど、というと事実上の世界標準って意味でしたっけ。
つまり普通はTCP/IPが使われている、と。

インター博士

そうだ。
TCP/IPは「TCP/IP」という名前のプロトコルではなく、「TCP」と「IP」という代表的なプロトコルの名前で、実際は複数のプロトコルから成り立っている

ネット助手

ははぁ。

インター博士

TCP/IPでは、レイヤ3はIPが受け持つ。

ネット助手

レイヤ2とかレイヤ1は?

インター博士

レイヤ2やレイヤ1は実際の接続によりかわる。
WANならば、各種回線やPPP。LANならばUTPやイーサネットになる。

ネット助手

なるほど。
TCP/IPならば、IPってことは、他の場合はどうなるんです?

■ レイヤ3プロトコル

インター博士

他の場合と言われてもな。実際はほとんどIPなのだが。

ネット助手

でも、TCP/IP以外にもあるんですよね?せっかくだから教えてくださいよ。
よっ、博学で知られるインター博士っ!!

インター博士

ん?
はは、ははははははっ。博学? そうか博学で知られてるのか。

ネット助手

えぇ、そりゃもう。
巷は大騒ぎさっ、って感じですよ。

インター博士

うむ。うむうむうむ。
よしよし、教えてしんぜよう。

ネット助手

(おだてに弱かったのか…)

インター博士

TCP/IP以外でよく知られているのは、IPX/SPXAppleTalkがある。

ネット助手

あいぴーえっくす・えすぴーえっくす。
あっぷるとーく。

インター博士

IPX/SPXはTCP/IPと同じように、代表的なプロトコルの名前2つのことだ。
レイヤ3はIPXが受け持つ。

ネット助手

TCP/IPとは違って、前側のIPXがレイヤ3なんですね。

インター博士

AppleTalkの場合、DDPがレイヤ3だ。
IPX/SPXはまぁTCP/IPと似てる部分が多いが、AppleTalkは発想がちょっと違う。

ネット助手

まぁ、Apple社の考えることですからね

インター博士

そうだな。
触らぬ○○にたたりなしと言っておこう。気が向いたら説明することもあるかもしれんが。

ネット助手

はい。

インター博士

これらレイヤ3プロトコルが、パケットの転送を受け持つ。
まず、論理アドレスを決定する

ネット助手

前回でてきた階層型のアドレスですね。

インター博士

そうだ。論理アドレスで宛先の特定を行う。
そして、経路を設定する

ネット助手

宛先までのどのルートを通るかを決定する、と。

インター博士

うむ。
なかなかいい感じの合いの手だ。

ネット助手

へへへ。

インター博士

で、実際の転送なわけだ。
実際の転送はベストエフォートになる。

ネット助手

べすとえふぉーと?
君臨すれども統治せず」でしたっけ?

インター博士

誰がイギリス王室の理念を説明しろと言った。
努力はするが保障はしない」という送信方式だ。

ネット助手

そう。それそれ。

インター博士

いい加減だな、君は。
ともかく、送ったら送りっぱなし。事前に「送りますよ」「いいですよ」という連絡もなしで送るのでコネクション・レス型通信と呼ばれる。

ネット助手

ん〜っと。疑問なんですけど、博士。

インター博士

なんだ?

ネット助手

レイヤ3プロトコルでパケットの転送をするっておっしゃいましたけど。
レイヤ2でやったイーサネットによるフレームの転送ってのとどう違うんですか? パケットの転送と、フレームの転送。2つを行うように聞こえますけど?

インター博士

う〜む。
そう聞こえたらなら、教え方のミスかな。

ネット助手

うわ、博士が間違いを認めてるっ。
何か良くないことの前兆かっ?

インター博士

何を失礼なことをほざいとる。私とて間違いを認めることもある。
つまりだな。こういうことだ。

[Figure20-01:フレームの転送・パケットの転送]

インター博士

忘れたのか? カプセル化だ。
実際は、レイヤ2のイーサネットもしくはWANプロトコルによって直接に接続されている相手に転送し、その正体はビット列、つまり電気信号だ。

ネット助手

そういえばそうでしたね。

インター博士

レイヤ3の転送というのは、論理的な転送だ。
電話のダイヤルを回して自分が相手につなげたと感じていても、実際にはNTTの交換機がそれを行っているわけだ。ネットワーク・モデルを忘れるな

ネット助手

そうか。
レイヤ毎に役割があるんでしたよね。実際にレイヤ3が転送するわけではないですね。

インター博士

そうだな。OSI参照モデルの説明だけでは実際の転送はわかりづらいかもな。
すべてのレイヤの説明が終わったら、それをまとめてもう一度実際に合わせて説明することにしよう。

ネット助手

お願いします。

■ IPヘッダ

インター博士

さて、ちょうどカプセル化の説明がでたので、パケットの説明をしよう。
IPは以下のようにカプセル化する。

20〜60バイト0〜65,515バイト
IPヘッダセグメント・データ

[Table20-01:IPパケット]

ネット助手

え〜っと、セグメントの先頭にIPヘッダをつけるだけですか?

インター博士

そうだ。
フレームは前後にヘッダとトレーラをつけたが、IPパケットはヘッダのみだ。

ネット助手

へへぇ。

インター博士

IPヘッダは20バイト(160ビット)で、オプションを最大40バイト(320ビット)つけることが可能だ。

ビット数名前説明
4バージョンIPのバージョン
4ヘッダ長IPヘッダの長さ
8サービスタイプ上位プロトコルによって割り当てられた重要度
16データ長IPヘッダとセグメント・データを合わせた長さ
16ID大きいデータを分割した際につける識別番号
3フラグ分割する際に使用するフラグ
13フラグメント・オフセット分割を繋ぎあわせる時に使う
8TTLパケットの生存時間。無限ループを防ぐ
8プロトコル使用している上位プロトコルの番号
16ヘッダ・チェックサムIPヘッダのエラーチェック
32送信元IPアドレス送信元の論理アドレス
32宛先IPアドレス宛先の論理アドレス
0〜オプションなくてもよい(最大40バイト)

[Table20-02:IPヘッダ]

インター博士

32ビット毎に背景色を変えてみた。
重要なのは、送信元と宛先IPアドレスがある、という点だ。

ネット助手

他は重要ではないんですか?

インター博士

そういうわけではない。
TTLなどはよく話題にあがるな。

ネット助手

ははぁ。

インター博士

さすがに全部の意味を覚えろ、とは言わないが。
IPパケットには、宛先と送信元のアドレスがあるということは忘れないように。

ネット助手

了解です。

インター博士

次回はその論理アドレス。特にIPアドレスについて説明する。

ネット助手

いぇっさ〜。
3分間ネットワーキングでした〜♪

IP
[Internet Protocol]
複数のプロトコルから…
このように1つの思想のもとにまとめられた複数のプロトコル群のことを、スタック[protocol stack]もしくはスイート[protocol suite]と呼ぶ。
代表例はもちろん、TCP/IPプロトコル・スイート。
PPP
[point to point protocol]
電話回線を使用してインターネットに接続される時に使われるプロトコル。
一般公衆電話、ISDNなどで使われる。ADSLの場合は、PPPoEになる。
IPX/SPX
ノベル[Novell]社が開発したネットウェア[Netware]で使われているプロトコル・スイート。
かつてはかなり普及したが、現在はTCP/IPに押されて使われなくなりつつある。
ネットウェアもTCP/IPに対応させてるし。
AppleTalk
アップル[apple]社がマッキントッシュ[Macintosh]でのネットワークに使用するプロトコル・スイート。
御存知の通り、ソフト・ハード一体型であるMacは何もしなくてもAppleTalkでのネットワークが可能。
IPX
[Intenetwrok Packet Exchange]
DDP
[Datagram Delivery Protocol]
コネクション・レス型通信
[connectionless]
仮想回線を接続しない通信方式。接続する方式はコネクション型[connection-oriented]。
IPパケット
[IP packet]
IPでカプセル化されたパケット。IPXならIPXパケット。
TTL
[Time To Live]
生存時間。
パケットがネットワークで存在できる時間。これがあることにより宛先不明のパケットが永遠にネットワーク内を巡回することを防ぐ。
特にtracerouteはTTLを上手く利用している。
最大40バイト
ただし、4バイト単位で付加しますのでIPヘッダは20バイト+4の倍数バイトになります。
ネット助手ネット君の今日のポイント
  • インターネットではTCP/IPを使う
  • TCP/IPは複数のプロトコルの集合体である。
  • レイヤ3のデータ転送を行うのはIPである。
  • IPは論理アドレスの設定、経路の設定、データ転送を行う。
  • IPはコネクション・レス型通信である。
  • IPのカプセル化にはセグメントにIPヘッダをつける。
  • IPヘッダには送信元と宛先のアドレスがある。

3 Minutes NetWorking No.20

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