パケットとは?| ネットワークパケットの定義

インターネットで送信されるすべてのデータは、パケットと呼ばれる小さなセグメントに分割されます。

学習目的

この記事を読み終えると、以下のことができるようになります。

  • ネットワークパケットの仕組みを学ぶ
  • パケットスイッチングの仕組みを理解する
  • パケットヘッダとトレーラの定義

関連コンテンツ


さらに詳しく知りたいとお考えですか?

是非、Cloudflareが毎月お届けする「theNET」を購読して、インターネットで最も人気のある洞察をまとめた情報を入手してください!

当社がお客様の個人データをどのように収集し処理するかについては、Cloudflareのプライバシーポリシーをご確認ください。

記事のリンクをコピーする

パケットとは?

ネットワーキングにおいて、パケットとは大きなメッセージの小さなセグメントのことです。インターネットのようなコンピュータネットワーク*上で送信されるデータは、パケットに分割されます。これらのパケットは、受信したコンピュータやデバイスによって再結合されます。

仮に、アリスはボブに手紙を書いていますが、ボブの郵便受けは小さなインデックスカード程度の大きさの封筒しか入らない場合を考えます。アリスは、通常の用紙に手紙を書いて郵便受けに入れる代わりに、手紙の内容をそれぞれ数語の短いセクションに区切り、インデックスカードに書き出します。そして、そのカード群をボブに渡し、ボブはメッセージ全体を読むためにカードを順番に並べていきます。

これは、インターネットでのパケットの仕組みに似ています。例えば、ユーザーが画像を読み込む必要があるとします。画像ファイルは、Webサーバーからユーザーのコンピュータまで一つのデータで届くわけではありません。代わりに、データのパケットに分解され、インターネット上でワイヤー、ケーブル、電波を介して送信され、ユーザーのコンピューターで元の写真に再度組み立てられます。

*ネットワークとは、2つ以上のコンピュータが接続されたグループのことです。インターネットは、世界中の複数のネットワークが相互に接続されたネットワークのネットワークです。

なぜパケットを使うのか?

理論的には、ファイルやデータを小さな情報パケットに分割することなく、インターネット上で送信することは可能です。1台のコンピューターが他のコンピューターにデータを送る場合、ビット(コンピューターが解釈できる電気のパルスとして伝達される情報の小さな単位)を長い連続したラインの形で分割せずに送ることができます。

しかし、2台以上のコンピューターが絡むと、このような方法はすぐに実用的ではなくなってしまいます。2台のコンピューター間で長いビットのラインが電線を通過している間、3台目のコンピューターは同じ電線を使った情報の送信ができず、順番を待たなければいけない現象が発生します。

このアプローチとは対照的に、インターネットは「パケットスイッチング」ネットワークを採用しています。パケットスイッチングとは、ネットワーク機器がパケットを相互に独立して処理する機能のことです。また、これはすべてが到着するまで同じ宛先に対して異なるネットワーク経路を使用できることを意味します。(それぞれのパケットが異なる経路を通ったとしても、正しい順序で最終目的地に到着する必要があるプロトコルもあります)。

パケットスイッチングにより、複数のコンピューターからのパケットは、同じ配線上を基本的にどのような順番でも移動することができます。これにより、同じネットワーク機器で複数の接続を同時に行うことができます。その結果、かつては数台しかなかったインターネット上で、数十億台の機器が同時にデータをやり取りできるようになったのです。

パケットヘッダとは?

パケットヘッダとは、パケットの内容、発信元、宛先に関する情報を提供する「ラベル」のようなものです。

アリスが一連のインデックスカードをボブに送るとき、そのカードに書かれた単語だけでは、ボブが手紙を正しく読むための文脈としては不十分です。アリスは、ボブが読む順番を間違えないように、インデックスカードの順番を示す必要があります。また、自分が手紙を出している間にボブが他の人からメッセージを受け取った場合に備えて、それぞれの手紙が自分からのものであることも示す必要があります。そこでアリスは、それぞれのインデックスカードの一番上(実際のメッセージの言葉の上)に、この情報を書き加えます。最初のカードには「アリスからの手紙、1/20」と書き、2枚目には「アリスからの手紙、2/20」と書き、同じように続けます。

アリスは、ボブがカードを紛失したり、混ぜたりしないように、カードに小さなヘッダ部分を作成しました。同様に、すべてのネットワークパケットにはヘッダが含まれており、パケットを受信した機器は、そのパケットの送信元、目的、処理方法を知ることができます。

パケットは、ヘッダとペイロードの2つの部分から構成されています。ヘッダには、パケットの送信元や送信先のIPアドレス(コンピューターの住所のようなもの)などの情報が含まれています。ペイロードは、実際のデータです。写真の例に戻ると、画像を構成する何千ものパケットにはそれぞれペイロードがあり、ペイロードには画像の小さな断片が入っています。

パケットのヘッダはどこで付加されるか?

実際には、パケットには複数のヘッダがあり、各ヘッダはネットワークプロセスの異なる部分で使用されます。パケットヘッダは、特定の種類のネットワークプロトコルによって付加されます。

プロトコルとは、どのコンピュータでもデータを解釈できるようにデータをフォーマットするための規格化された方法です。インターネットはさまざまなプロトコルで成り立っています。これらのプロトコルの中には、そのプロトコルに関連する情報をパケットに付加するものがあります。少なくとも、インターネットを通過するほとんどのパケットには、Transmission Control Protocol(TCP)のヘッダと、Internet Protocol(IP)のヘッダが含まれます。

パケットトレイラーおよびフッタとは?

パケットのヘッダは、各パケットの先頭に置かれます。ルーター、スイッチ、コンピューターなど、パケットを処理したり受信したりするものは、まずヘッダーを見ます。また、パケットは最後にトレイラーやフッターを持つこともできます。ヘッダーと同様に、これらもパケットに関する追加情報を含んでいます。

パケットにトレイラーやフッターを付加するのは特定のネットワークプロトコルだけで、ほとんどのプロトコルはヘッダーのみを付加します。ESP(IPsecスイートの一部)は、パケットにトレイラーを付加するネットワーク層プロトコルの一例です。

IPパケットとは?

IP(Internet Protocol)は、ルーティングに関係するネットワーク層のプロトコルです。これは、パケットを正しい宛先に確実に届けるために使用されます。

パケットは、使用しているプロトコルによって定義されることがあります。IPヘッダを持つパケットは「IPパケット」と呼ばれます。IPヘッダーには、パケットがどこから来たのか(送信元IPアドレス)、どこへ行くのか(送信先IPアドレス)、パケットの大きさ、ネットワークルーターがパケットをドロップするまで転送を継続する時間、などの重要な情報が含まれています。また、パケットをフラグメント化できるかどうかを示したり、フラグメント化されたパケットの再構成に関する情報を含んでいる場合もあります。

パケットとデータグラムの対比

「データグラム」とは、パケット交換方式のネットワークで送信されるデータの断片のことです。データグラムには、送信元から送信先までのルーティングを実行するのに十分な情報が含まれています。この定義では、IPパケットはデータグラムの一例です。基本的に、データグラムは「パケット」の代替用語です。

ネットワークトラフィックとは?悪意のあるネットワークトラフィックとは?

ネットワークトラフィックとは、道路を走る車やトラックを指す自動車の交通量と同じように、ネットワークを通過するパケット量を指す言葉です。

しかし、すべてのパケットが良いもの、有用なものであるとは限らず、すべてのネットワークトラフィックが安全であるとは限りません。攻撃者は、悪意のあるネットワークトラフィック(ネットワークを危険にさらしたり、圧倒したりするように設計されたデータパケット)を生成することができます。これは、分散サービス妨害(DDoS)攻撃脆弱性の悪用など、さまざまなサイバー攻撃の形態をとります。

Cloudflareは、悪意のあるネットワークトラフィックから保護するいくつかの製品を提供しています。例えば、Cloudflare Magic Transitは、Cloudflareのグローバルクラウドネットワークのパワーをオンプレミス、ハイブリッドクラウドのインフラに拡張することで、ネットワーク層のDDoS攻撃から企業のネットワークを保護します。