■ 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/SPXとAppleTalkがある。
あいぴーえっくす・えすぴーえっくす。
あっぷるとーく。
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ヘッダとセグメント・データを合わせた長さ |
16 | ID | 大きいデータを分割した際につける識別番号 |
3 | フラグ | 分割する際に使用するフラグ |
13 | フラグメント・オフセット | 分割を繋ぎあわせる時に使う |
8 | TTL | パケットの生存時間。無限ループを防ぐ |
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ヘッダには送信元と宛先のアドレスがある。