パケットとフレーム

パケット解析は、ネットワーク上に流れている実データのパケットをキャプチャして、それを解析することです。では、その「パケット」とは何でしょう。

通信相手にデータを送信する際、大きなデータをそのままひとつなぎで送ると、ネットワークに負荷がかかり、時間もかかります。そのため、大きなデータをそのまま流すのではなく、パケットと呼ばれる小さな単位に分割して送信します。

パケットとは

パケットとは、運びたい「情報」(データ本体)と制御情報などを格納した「ヘッダ」の二つを組み合わせたひと塊の小さなデータという意味です。
この定義を満たす形の通信データは、すべてパケットと呼ばれます。

ネットワーク上には様々な通信のパケットが流れていますが、パケットごとにヘッダを付けて送り出すことによって、どのコンピュータ間の通信なのかをヘッダを見て判断することができます。

パケットの種類

パケットと言っても、単にパケットと言うケースもあれば、IPパケットやDNSパケット、イーサネットパケット、音声パケットのように、ほかの言葉とセットになっているケースもあります。

パケット構造と種類

これは、パケットをどの階層で見るかで呼び方に違いがでているだけです。
IPパケットのデータ部分にTCPパケットが入り、そのデータ部分にさらにHTTPパケットが入るといった具合に、入れ子構造になっています。

ただ単にパケットと呼ぶ場合、たいていIPパケットのことを指しています。

フレームとは

パケットと同じような意味合いで使われる「フレーム」という用語もあります。

フレームを英語で直訳すると、構造や骨組みといった意味で、ネットワークの世界では、主にイーサネットなどの物理的な回線でやりとりするデータを指す用語として使われます。

こちらも定義としては、パケット同様、運びたいデータ本体とヘッダを組み合わせた小さな塊のことです。

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

フレームは上述のとおり、物理的な回線でやりとりするデータを指す用語であるため、ネットワークインターフェース層で見たときのデータを「フレーム」と表現し、インターネット層以上の階層では「パケット」と表現されます。

また、上図に出てくる「MACフレーム」とは、イーサネット通信で流れるフレームのことを示します。(単に「フレーム」と呼ばれたり、「イーサネットフレーム」と呼ばれたりもします。)

なお、パケットやフレームで運ぶデータ本体のことをペイロードと呼ぶことがあります。