トランスポート層とは
トランスポート層は、
コンピュータネットワークにおいて、データ伝送を担う重要な階層です。TCP/IPモデルでは第4層、
OSI参照モデルでは第4層に位置づけられます。主な役割は、
アプリケーション層からのデータを受け取り、ネットワーク層に適切な形式で送信することです。また、受信したデータを
アプリケーション層に届ける役割も担っています。この層は、データ伝送の信頼性や効率性を向上させるために、様々なプロトコルやサービスを提供します。
TCP/IPモデルとOSI参照モデルにおけるトランスポート層の違い
トランスポート層の定義は、TCP/IPモデルと
OSI参照モデルでわずかに異なります。TCP/IPモデルでは、トランスポート層は
アプリケーション層と
インターネット層の間に位置し、データ転送の制御を行います。一方、
OSI参照モデルでは、トランスポート層はセッション層とネットワーク層の間に位置し、より広範な役割を担います。この記事では、主にTCP/IPモデルにおけるトランスポート層について解説しますが、
OSI参照モデルにおけるトランスポート層の定義についても触れます。
トランスポートプロトコル
トランスポート層では、様々なプロトコルが使用されます。代表的なプロトコルとして、TCP(
Transmission Control Protocol)とUDP(User Datagram Protocol)があります。
TCPは、コネクション型のプロトコルであり、信頼性の高いデータ伝送を提供します。データ送信前にコネクションを確立し、データの順序保証、エラー検出、再送制御などを行います。HTTPやメール転送など、信頼性が重要なアプリケーションでよく利用されます。TCPは、データの分割と再構成、
輻輳制御などの機能も提供し、ネットワークの効率的な利用を支援します。
UDP(User Datagram Protocol)
UDPは、コネクションレス型のプロトコルであり、TCPに比べてシンプルで高速なデータ伝送が可能です。データの順序保証や再送制御は行わず、アプリケーション側でエラー処理を行う必要があります。UDPは、リアルタイム性が重要なアプリケーション、例えばIP-TV、IP電話、
オンラインゲームなどでよく利用されます。マルチキャストやブロードキャストなどの一斉送信にも適しています。
その他のプロトコル
DCCP(
Datagram Congestion Control Protocol)やSCTP(
Stream Control Transmission Protocol)などのプロトコルも存在します。DCCPは、UDPのように高速なデータ伝送を行いながら、
輻輳制御を提供するプロトコルです。SCTPは、信頼性の高いデータ伝送を提供しつつ、複数のストリームをサポートするプロトコルです。
トランスポート層のサービス
トランスポート層は、以下のような様々なサービスを提供しています。アプリケーションはこれらのサービスを必要に応じて利用します。
コネクション型サービス
ネットワーク層がコネクションレスサービスしか提供しない場合でも、トランスポート層はコネクション指向サービスを提供できます。これは、データの流れを管理し、信頼性のある通信を確保する上で重要です。
配送順序の保証
ネットワーク層では、データパケットの配送順序が保証されない場合があります。トランスポート層は、各パケットに番号を付与し、受信側で並び替えることで、データの順序を保証します。
信頼できるデータ伝送
トランスポート層は、データの損失や破損を検出し、必要に応じて再送することで、信頼性の高いデータ伝送を実現します。チェックサムなどの誤り検出コードを利用し、データが破損していないかを確認します。また、受信側から送信側へ肯定応答(ACK)メッセージを送り、データの受信を検証します。
フロー制御
受信側の処理能力を超えないように、データ送信速度を調整するフロー制御機能を提供します。これにより、受信側のバッファメモリのオーバーフローを防ぎ、安定した通信を実現します。
ネットワークの
輻輳状態を回避するための
輻輳制御機能を提供します。スロースタートなどのメカニズムを利用して、送信速度を調整し、ネットワークの過負荷を防止します。
バイト指向型
トランスポート層は、パケット単位ではなく、バイト単位のデータストリームとして通信を扱えるようにします。これにより、データの取り扱いが容易になります。
ポート番号
トランスポート層は、ポート番号を利用して、同一の
コンピュータ上で動作する複数のアプリケーションを識別します。これにより、複数のアプリケーションが同時にネットワークを利用できます。
トランスポートプロトコルの比較
プロトコル | コネクション型 | 信頼性 | 速度 | 使用例 |
---|
:- | :-: | :--: | :-: | :-------- |
TCP | 〇 | 高い | 低速 | Webブラウジング、メール、ファイル転送 |
UDP | × | 低い | 高速 | ストリーミング、オンラインゲーム、VoIP |
まとめ
トランスポート層は、ネットワーク通信において、データの信頼性や効率性を向上させるための重要な役割を担っています。TCPとUDPは、それぞれ異なる特徴を持ち、アプリケーションの要件に応じて使い分けられます。トランスポート層が提供する各種サービスは、ネットワークの安定的な運用に不可欠です。
関連項目
エンドツーエンド原理
通信プロトコル
コンピュータネットワーク
外部リンク
How The Transport Layer Works