図 パケットはヘッダーが付いたデータの固まり
図 パケットはヘッダーが付いたデータの固まり
[画像のクリックで拡大表示]

 パケットとは,ヘッダーが付いたデータの固まりのことである。ネットワークで運びたい「情報」(データ本体)と制御情報などを格納した「ヘッダー」の二つを組み合わせたひと固まりの小さなデータを指す(図)。

 この定義を満たす形の通信データは,すべてパケットと呼べる。つまり,一口にパケットといっても,IPパケットやDNSパケット,イーサネット・パケット,音声パケットといった種類がある。IPパケットならIPヘッダーとIPで運びたい情報を,DNSパケットならDNSヘッダーと問い合わせなどのメッセージを,音声パケットなら再生に必要な情報などを格納したヘッダーと音声データをそれぞれ組み合わせた固まりとなる。

 単にパケットと呼ぶ場合,一般にはIPパケットのことを指すことが多い。ただ,実はIPパケットも便宜上そう呼んでいるだけ。規格(RFC791)では,単に「データグラム」と表記されている。なお,実際のパケットは,図に示したようにIPパケットのデータ部分にTCPパケットが入り,そのデータ部分にさらにHTTPパケットが入るといった入れ子構造になっている。「HTTPパケット」と呼んでも通信相手と実際にやりとりしているのはIPパケットにほかならない。

 パケットと同じような意味を持つ言葉として「フレーム」がある。フレームとは,構造や骨組みといった意味の単語で,主にイーサネットなどの物理的な回線でやりとりするデータを指す言葉だ。こちらも定義としては,運びたいデータ本体とヘッダーを組み合わせた小さな固まりで,パケットと何ら変わりない。

 ただし,フレームの場合,物理的な回線でやりとりするパケットなので,伝送エラーが起こっていないかを確認するために,パケットの後ろにエラー検証用のデータなどが付くことが多い。こうしたパケットの最後尾に付く制御情報を「トレイラ」と呼ぶ。トレイラとは英語で「引きずるもの」などを意味する言葉だ。

 なお,パケットやフレームで運ぶデータ本体のことを,ペイロードと呼ぶことがある。ペイロードとは,「有効積載量」という意味である。ついでにヘッダーに含まれる情報の呼び方も知っておこう。何かの情報が入っているひと続きのビット列を「フィールド」,フィールドのうち,ある機能が有効か無効かだけを表すビットのことを「フラグ」と呼ぶ。そのほか,長さ調整用の詰め物である「パディング」もある。