アプリケーション プロセスはサーバ上で実行されます。 1 つのサーバで複数のアプリケーション プロセスが同時に実行されることもあります。 これらのプロセスは、クライアントが情報や他のサービスを要求する通信を開始するまで待機します。

サーバで実行される各アプリケーション プロセスは、それぞれ特定のポート番号を使用するように(デフォルトで、またはシステム管理者によって手入力で)設定されます。 1 つのサーバで、同じトランスポート層サービス内において同じポート番号に 2 つのサービスを割り当てることはできません。 Web サーバ アプリケーションとファイル転送アプリケーションを実行するホストで、この両方のアプリケーションを同じポート(たとえば、TCP ポート 8080)を使用するように設定することはできません。 特定のポートに割り当てられているアクティブなサーバ アプリケーションは、開かれていると見なされます。つまり、トランスポート層はそのポートに宛てられたセグメントを受け入れて処理するということです。 正しいソケットに宛てたクライアント要求が到着すると、その要求は受け入れられ、該当するサーバ アプリケーションにデータが渡されます。 サーバ上には、開かれているポートが同時にいくつも存在できます。ただし、アクティブな各サーバ アプリケーションに 1 つずつです。 サーバが Web サーバや FTP サーバなど、複数のサービスを同時に提供するというのは普通のことです。

サーバでのセキュリティを高める 1 つの方法は、サーバ アクセスを一部のポートに制限することです。具体的には、権限のある要求元のみがアクセスできるサービスとアプリケーションに割り当てられたポートに限定するということです。

図 1 ~ 5 で、TCP クライアント/サーバ動作における送信元ポートと宛先ポートの一般的な割り当てを確認してください。