Lesson2では,IPパケットの構造について見ていこう。
IPパケットは「IPヘッダー」と「データ部」という二つの部分で成り立っている。IPヘッダーが前に,データ部が後ろになる。
IPヘッダーは,IPパケットを届けるために使われるさまざまな情報が入っている。データ部には,アプリケーションのデータが入れられる。Lesson1で説明した「荷物の中身」に相当するのが,このデータ部である。
場所を示すIPアドレス
では,IPヘッダーにはどんな情報が詰まっているのだろうか。
最も重要な情報は,二つのIPアドレスだ。その中でも,あて先IPアドレスが重要になる(図2-1)。
図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ヘッダーにある情報の意味や利用方法 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電話のパケットに高い優先度を付け,ルーターが優先して転送するようにする。