トランスポート層は、次のことを行うことでトランスポート関連サービスを提供します。

UDP と TCP は一般的なトランスポート層プロトコルです。

UDP データグラムと TCP セグメントには、データの前に追加されたヘッダーがあり、ここに送信元ポート番号と宛先ポート番号が含まれています。 これらのポート番号により、データを宛先コンピュータ上の適切なアプリケーションに振り向けることができます。

TCP は、宛先がデータを受信できる状態になったとわかるまで、ネットワークにデータを渡しません。 その後、TCP はデータ フローを管理し、宛先で受信されたという確認応答がないデータ セグメントを再送信します。 TCP は、ハンドシェイク、タイマー、確認応答メッセージ、動的なウィンドウ サイズ調整といったメカニズムを使用して、信頼性を実現します。 ただし、信頼性プロセスによって、ネットワークのオーバーヘッドは増大します。セグメント ヘッダーがずっと大きくなり、また送信元と宛先の間のトラフィックが増えるからです。

アプリケーション データをネットワーク上で迅速に配信する必要がある場合や、ネットワークの帯域幅が送信元と宛先の間で交換される制御メッセージのオーバーヘッドをサポートできない場合、開発者が選ぶトランスポート層プロトコルは UDP になるでしょう。 UDP は宛先でのデータグラムの受信を追跡したり確認応答を返したりせず、受信したデータグラムをそのままの順序でアプリケーション層に渡すだけです。また、消失したデータグラムを再送信することもありません。 ただし、これは必ずしも通信自体の信頼性が低いことを意味するわけではありません。これらの要件が該当するアプリケーションでは、アプリケーション層のプロトコルとサービスに、消失または遅延したデータグラムを処理するメカニズムが存在することもあるからです。

アプリケーション開発者は、アプリケーションの要件に最も適合したトランスポート層プロトコルを決定します。 他のどの層もデータ ネットワークの通信において一定の役割を果たすとともに、パフォーマンスに影響を及ぼすことに留意してください。