概要
トランスポート層は、データが正しく送信され、受信されることを保証する役割を担うネットワーク層です。この記事では、トランスポート層の代表的なプロトコルであるTCPとUDPの違いと、それぞれの特性や使用例を解説します。
1. TCP(Transmission Control Protocol)
- 説明: TCPは、信頼性の高い接続型のプロトコルで、データの完全性や順序を保証し、エラーの検出と修正を行います。データが正しく送信されたか確認し、再送を行う機能があります。
-
特徴: 信頼性が高く、データ転送の順序が保証されるが、オーバーヘッドが大きい。
相手との接続(コネクション)を事前に確立し、通信相手ごとに通信の状態を管理する「コネクション型」と呼ばれる方式を採用している。
通信コスト(負荷)が高いという特徴がある。 - 用途: Webブラウジング(HTTP/HTTPS)、ファイル転送(FTP)、メール(SMTP)など。
2. UDP(User Datagram Protocol)
-
説明: UDPは、接続を確立せずにデータを送信する非接続型のプロトコルです。エラーチェックやデータ再送の機能がないため、軽量で高速ですが、データの信頼性が保証されません。
1つのパケットで情報をやりとりできるため、数多くの通信相手に対して短時間(TCPの約3分の1)で応答を返すことができる。 -
特徴: 軽量でリアルタイム性が高いが、データの損失や順序が保証されない。
相手との接続確立を行わずにデータを送信する「コネクションレス型」と呼ばれる方式を採用している。
送信者アドレスの偽装が容易であるため、DDoS攻撃という形で悪用される機会も生じている。 - 用途: 音声通話(VoIP)、動画ストリーミング、オンラインゲーム、ビデオ会議など。
総括
TCPとUDPは、それぞれ異なる特徴を持ち、使用する用途も異なります。TCPは信頼性を重視するアプリケーションに適し、UDPはリアルタイム性やスピードを重視するアプリケーションに適しています。どちらのプロトコルを使用するかは、ネットワークの要求に応じて選択することが重要です。