ネットワークの仕組みを学ぶ上で「トランスポート層」は非常に重要な概念です。
OSI参照モデルの第4層として、エンドツーエンドの通信品質を担うこの層を理解することが、TCPやUDPの仕組みを深く理解する基礎となります。
本記事では、トランスポート層の機能・役割・OSI参照モデルでの位置づけ・TCP・UDP・データ伝送・セッション管理をわかりやすく解説していきます。
ネットワークを基礎から学びたい方・インフラエンジニア・ネットワークエンジニア・アプリケーション開発者の方にぜひ参考にしていただける内容です。
トランスポート層の仕組みを理解することで、TCPとUDPの使い分けやネットワークトラブルシューティングの理解が深まります。
アプリケーション開発においても、適切なプロトコル選択判断につながる重要な知識です。
トランスポート層とは何か?OSI参照モデルにおける役割と位置づけ
それではまず、トランスポート層の基本的な意味とOSI参照モデルでの役割について解説していきます。
トランスポート層(Transport Layer)とは、OSI参照モデルの第4層として、送信元から宛先まで「エンドツーエンド」の通信を管理し、データ伝送の信頼性・順序・フロー制御を提供する層です。
| 層番号 | 層名 | 主な役割 | 代表プロトコル |
|---|---|---|---|
| 第7層 | アプリケーション層 | アプリケーションのサービス提供 | HTTP・FTP・SMTP |
| 第6層 | プレゼンテーション層 | データ形式の変換・暗号化 | SSL/TLS |
| 第5層 | セッション層 | 通信セッションの管理 | NetBIOS・RPC |
| 第4層 | トランスポート層 | エンドツーエンドの通信品質管理 | TCP・UDP |
| 第3層 | ネットワーク層 | ルーティング・IPアドレス管理 | IP・ICMP |
| 第2層 | データリンク層 | 隣接ノード間の通信・MACアドレス | Ethernet |
| 第1層 | 物理層 | 電気・光信号の伝送 | ケーブル・無線 |
トランスポート層の最大の特徴は「エンドツーエンド」という点です。
ネットワーク層(IP)がルーター間の通信(ホップバイホップ)を担うのに対し、トランスポート層は通信の最終的な送信元アプリケーションと受信先アプリケーションの間の通信品質を管理します。
「どのアプリケーションに届けるか」を示すポート番号の管理もトランスポート層の重要な役割であり、同一のIPアドレスを持つサーバー上の複数のアプリケーション(HTTPとFTPなど)を区別するために使われます。
トランスポート層の主要機能:信頼性・フロー制御・輻輳制御
続いては、トランスポート層が提供する主要な機能について確認していきます。
トランスポート層は複数の重要な機能を提供しており、これらがTCPとUDPで異なる形で実装されています。
【トランスポート層の主要機能】
①セグメンテーション(分割と再組み立て)
アプリケーション層から受け取った大きなデータを、伝送に適した小さな単位(セグメント)に分割します。受信側では分割されたセグメントを正しい順序に並べ直して元のデータに復元します。
②コネクション管理
TCP では通信開始時に「3ウェイハンドシェイク」でコネクションを確立し、通信終了時に「4ウェイハンドシェイク」でコネクションを切断します。これによりデータ伝送の信頼性が確保されます。
③信頼性の確保(TCPのみ)
シーケンス番号と確認応答(ACK)を使って、データの到達確認と順序保証を行います。届かなかったデータは自動的に再送します。
④フロー制御(TCPのみ)
受信側のバッファが溢れないよう、送信速度を受信側の処理能力に合わせて調整します。
⑤輻輳制御(TCPのみ)
ネットワーク全体の混雑を検知して送信速度を落とし、ネットワーク全体のパフォーマンスを守ります。
TCPはこれらの機能をすべて提供する「信頼性重視のプロトコル」であり、UDPはこれらの機能を省略した「速度重視の軽量プロトコル」として位置づけられています。
TCPとUDPの比較:トランスポート層の2大プロトコル
続いては、トランスポート層の2大プロトコルであるTCPとUDPの比較について確認していきます。
| 比較項目 | TCP | UDP |
|---|---|---|
| コネクション | コネクション指向(接続確立が必要) | コネクションレス(接続不要) |
| 信頼性 | 高い(到達確認・再送あり) | 低い(到達確認なし) |
| 順序保証 | あり(シーケンス番号で管理) | なし |
| 速度 | 遅い(確認応答のオーバーヘッドあり) | 高速(オーバーヘッドなし) |
| ヘッダーサイズ | 20バイト以上 | 8バイト(固定) |
| 主な用途 | Web・メール・ファイル転送 | 動画ストリーミング・ゲーム・DNS |
TCPとUDPの使い分けの基本原則は「データの完全性が重要な場合はTCP、速度・リアルタイム性が重要な場合はUDP」です。
Webブラウジング・メール・ファイルダウンロードなどはデータが欠損してはいけないためTCPを使います。
一方、ビデオ通話・オンラインゲーム・DNSクエリなどは多少のデータ欠損より遅延なしが重要なためUDPを使います。
近年ではHTTP/3がUDPベースのQUICプロトコルを採用し、TCPの信頼性とUDPの速度を組み合わせた新世代の通信を実現しています。
HTTP/3とQUICの登場により、「信頼性はTCP・速度はUDP」という従来の二択を超えた新たな可能性がトランスポート層に生まれています。
ポート番号とセッション管理:トランスポート層の実践的な仕組み
続いては、ポート番号とセッション管理の実践的な仕組みについて確認していきます。
トランスポート層の実際の動作を理解する上でポート番号の仕組みは特に重要です。
【代表的なウェルノウンポート番号】
HTTP:ポート80
HTTPS:ポート443
FTP:ポート20(データ)・21(制御)
SSH:ポート22
SMTP:ポート25
DNS:ポート53(UDP)
MySQL:ポート3306
【TCPの3ウェイハンドシェイクの流れ】
①クライアント → SYN(接続要求)→ サーバー
②サーバー → SYN+ACK(接続受諾)→ クライアント
③クライアント → ACK(確認応答)→ サーバー
→ コネクション確立完了
3ウェイハンドシェイクはTCPの信頼性の基盤であり、この確立プロセスによって双方向の通信路が保証されます。
一方UDPはこのハンドシェイクがないため、最初のパケットをすぐに送信でき低レイテンシを実現できます。
ファイアウォール設定・セキュリティグループ・ネットワーク設計において、ポート番号の理解は欠かせない実践的な知識です。
まとめ
トランスポート層はOSI参照モデルの第4層として、エンドツーエンドの通信品質管理・ポート番号によるアプリケーション識別・セグメンテーションを担います。
TCPは信頼性・順序保証・フロー制御・輻輳制御を提供する信頼性重視のプロトコルであり、UDPは速度重視の軽量プロトコルです。
TCPの3ウェイハンドシェイクがコネクション確立の基盤であり、信頼性の高いデータ伝送を実現します。
HTTP/3とQUICの登場により、トランスポート層の進化は続いており、TCPとUDPの特性を組み合わせた新しい通信方式が普及しています。
トランスポート層の仕組みを正しく理解することが、ネットワーク設計・トラブルシューティング・アプリケーション開発の質を高める基礎となるでしょう。