Lesson2では,IPパケットの構造について見ていこう。

 IPパケットは「IPヘッダー」と「データ部」という二つの部分で成り立っている。IPヘッダーが前に,データ部が後ろになる。

 IPヘッダーは,IPパケットを届けるために使われるさまざまな情報が入っている。データ部には,アプリケーションのデータが入れられる。Lesson1で説明した「荷物の中身」に相当するのが,このデータ部である。

場所を示すIPアドレス

 では,IPヘッダーにはどんな情報が詰まっているのだろうか。

 最も重要な情報は,二つのIPアドレスだ。その中でも,あて先IPアドレスが重要になる(図2-1)。

図2-1●IPパケットの中身
図2-1●IPパケットの中身
IPパケットは,IPヘッダーとデータ部から成り立っている。IPヘッダーには,IPアドレスなどの情報がある。データ部には,アプリケーションのデータが入れられている。
[画像のクリックで拡大表示]

 IPアドレスは,ネットワーク上のコンピュータの“位置”を示す情報である。各コンピュータにそれぞれ異なるIPアドレスが割り当てられる。IPヘッダーに含まれるあて先IPアドレスは,IPパケットを届ける相手のコンピュータを示す。ルーターはIPパケットの転送先を決めるときにこの情報を利用する。

 送信元IPアドレスは,IPパケットを送り出すコンピュータ自身のIPアドレスである。送信元IPアドレスはおもに,あて先のパソコンやサーバーが受け取ったIPパケットに対して返信するときに使われる。

 IPアドレスの長さは,IPv4とIPv6で異なる。IPv4は32ビット長,IPv6は128ビット長のアドレスを使う。IPv4ではアドレス数が足りなくなりそうなので,アドレス長を長くしてアドレス数を増やしたIPv6が開発されたのである

ヘッダー情報はいろいろある

 IPヘッダーには,IPアドレス以外にもさまざまな情報が含まれている。代表例を挙げると,「バージョン」,「TOS」,「パケット長」,「TTL」,「プロトコル」といった情報がある。これらの情報は,IPパケットを適切に転送したり,受信側でIPパケットを処理したりするときに使われる。

 これらがどのように利用されているのか,簡単にチェックしておこう。

 バージョンは,IPのバージョンを示す情報である。IPv4なら「4」,IPv6なら「6」となる。

 パケット長は,IPパケットの長さ(サイズ)を示す(図2-2)。これはIPヘッダーとデータ部の両方を含む全体のバイト数である

図2-2●IPヘッダーにある情報の意味や利用方法
図2-2●IPヘッダーにある情報の意味や利用方法
IPヘッダーにあるさまざまな情報は,IPパケットをあて先まで届けるためや,届けたあとの処理をうまく行うために使われる。
[画像のクリックで拡大表示]

 プロトコルは,IPの上位プロトコルを示す。ほとんどの場合,「TCP」と「UDP」のいずれかになる。TCPは,途中で失われたデータを再送することなどで,確実にデータを届ける役割を果たす。WebやメールはこのTCPを利用する。一方のUDPは,再送などの処理は行わずに,できるだけ遅延を少なくする。主にIP電話や映像配信などに使われている。

 TTLは「time to live」(生存時間)の略で,IPパケットが越えられるルーターの台数を示す値である。パソコンがIPパケットを送り出すときに32などの値に設定され,ルーターによってIPパケットが中継される度に1ずつ減らされる。TTLが「0」になったIPパケットはルーターで廃棄される。こうしたしくみによって,行き先が見つからないIPパケットがいつまでもネットワークを徘徊し,余分に帯域を消費することを防いでいる。

 TOSは,IPパケットのタイプを区別するための値である。通常はIPパケットを中継するときの優先度を示すために使われる。例えば,相手に届くのが遅れると音声品質を低下させるIP電話のパケットに高い優先度を付け,ルーターが優先して転送するようにする。