理論上、音楽ビデオや電子メール メッセージなどの単一の通信は、連続した 1 つの巨大なビット ストリームとして送信元から宛先にネットワーク経由で送信できます。 実際に、この方法でメッセージを送信すると、データ転送が実行されている間は、他のデバイスが同じネットワーク上でメッセージを送受信できません。 このように大規模なデータ ストリームは大幅な遅延を引き起こします。 また、メッセージの送信中に、相互接続されたネットワーク インフラストラクチャのリンクでエラーが発生すると、メッセージはすべて消失し、最初から送信しなおす必要があります。
そこで効果的な方法があります。データを小さく管理しやすい大きさに分割して送信するという方法です。 このようにデータ ストリームを小さく分割する処理は、セグメント化と呼ばれます。 メッセージのセグメント化には、主に 2 つの利点があります。
- 個々に独立している小さなパーツを送信元から宛先に送信することで、ネットワーク上で複数の異なる会話をインターリーブ(不連続に配置)することが可能になります。 複数の異なる会話のパーツをネットワーク上でひとまとめにしてインターリーブするプロセスを多重化と呼びます。 図 1 の各ボタンをクリックし、[再生] ボタンをクリックして、セグメント化と多重化のアニメーションを表示してください。
- セグメント化を行うと、ネットワーク通信の信頼性が向上します。 各メッセージの個々のパーツが、送信元から宛先までネットワーク上の同じパスを通る必要はありません。 特定のパスでデータ トラフィックとの輻輳やエラーが発生した場合は、別のパスを使用して宛先に転送できます。 メッセージの一部が宛先に到達していない場合は、必要な部分のみを再送信するだけで済みます。
セグメント化と多重化を使用してネットワーク経由でメッセージを送信する方法の欠点は、プロセスが複雑になることです。 100 ページの手紙を送るときに、1 ページずつ 1 つの封筒に入れなければならないという状況を想像してください。 100 枚の封筒に宛名を書いて、ラベルを付けて、送付して、受け取って、封を開けるというのは、手紙を送る側にとっても、手紙を受け取る側にとっても、時間のかかる作業です。
図 2 に示すように、ネットワーク通信では、メッセージの各セグメントは、同様のプロセスを介して正しい宛先に到達し、宛先側で元のメッセージの内容に再度組み立てられる必要があります。
メッセージの各単位が宛先に確実に届くように、ネットワーク全体でさまざまなデバイスが関与しています。