適切な宛先アプリケーションへのデータ配信
最終的に、フレームは宛先エンド デバイスで受信されます。 宛先デバイスのスタックを上に移動しながら、データのカプセル化解除と再構築が行われます。 データはネットワーク アクセス層、ネットワーク層、トランスポート層と順に上っていき、最後にアプリケーション層で処理されます。 ところで、デバイスはどのようにして適切なアプリケーション プロセスを識別できるのでしょうか。
図に示すように、トランスポート層では、PDU ヘッダーに含まれる情報に基づいて、宛先ホスト デバイス上でデータを処理する特定のプロセスまたはサービスを特定します。 ホストは、それがインターネット上のクライアントである場合も、サーバである場合も、複数のアプリケーションを同時に実行できます。 PC を使用するユーザは、通常、電子メール クライアント、Web ブラウザ、インスタント メッセージ プログラム、ストリーミング メディア、ゲームなどを同時に実行しています。 これらの個別に実行されるプログラムは、いずれも独立したプロセスです。
Web ページを表示すると、少なくとも 1 つのネットワーク プロセスが起動されます。 ハイパーリンクをクリックすると、Web ブラウザは Web サーバと通信します。 同時に、バックグラウンドでは、電子メール クライアントが電子メールを送受信し、仕事仲間や友人がインスタント メッセージを送信している可能性があります。
ここで、ネットワーク インターフェイスが 1 つしかないコンピュータを考えてみましょう。 このコンピュータ上で動作するアプリケーションによって作成されるすべてのデータ ストリームは、1 個のインターフェイスを介して出入りしますが、インスタント メッセージがワープロ文書の途中にいきなり出現したり、電子メールがゲームのインターフェイスに表示されたりすることはありません。
これは、送信元ホストと宛先ホストで実行している個々のプロセスが相互に通信するためです。 個々のアプリケーションまたはサービスは、レイヤ 4 においてポート番号で表されます。 デバイス間の一義的なダイアログは、通信する 2 つのアプリケーションを表すレイヤ 4 の送信元ポート番号および宛先ポート番号のペアで識別されます。 データがホストに到達すると、ポート番号が調べられて、データの正しい宛先であるアプリケーションまたはプロセスが特定されます。