TCP・UDPは,TCP/IPのトランスポート層で通信を制御する重要なプロトコルであり,基本情報技術者試験をはじめとする情報処理技術者試験で頻出となる内容です。トランスポート層では,ポート番号によるアプリケーションの識別や,通信の信頼性・効率を考慮したデータ転送が行われます。TCP・UDPの役割やしくみを正しく理解できていますか?
TCP・UDP=アプリケーション間の通信を制御するトランスポート層のプロトコル
このページでは,TCP・UDPについて,トランスポート層の役割,ポート番号,コネクション型/コネクションレス型の違い,TCPの3ウェイハンドシェイク,UDPの特徴などをシンプルにまとめています。ネットワーク通信の基礎となる重要な内容なので,確実に理解しておきましょう。
トランスポート層とは(役割と機能)
TCP/IPのトランスポート層は,OSI基本参照モデルのトランスポート層に相当します。役割は,ポート番号により通信をするアプリケーションを識別し,データの転送効率や信頼性を確保しながら,データ(セグメント)を送り届けることです。
※ トランスポート層のプロトコルにはTCPとUDPがあり,TCPにおけるデータをセグメント,UDPにおけるデータをデータグラムという
ポート番号とは(識別と利用)
ポート番号は,通信をするアプリケーションを識別するための番号で,16ビット(2進数16桁)のビット列です。
ウェルノウンポート番号とは(よく使われる番号)
ウェルノウンポート番号とは,インターネットでよく使われるアプリケーションのために予約されている0~1023までのポート番号のことをいいます。主に,次のようなものがあります。
| ポート番号 | プロトコル名 | TCP/UDP |
|---|---|---|
| 20 | FTP(データ転送) | TCP |
| 21 | FTP(制御) | TCP |
| 22 | SSH | TCP |
| 23 | Telnet | TCP |
| 25 | SMTP | TCP |
| 53 | DNS | TCP/UDP |
| 67 | DHCP(サーバー) | UDP |
| 68 | DHCP(クライアント) | UDP |
| 80 | HTTP | TCP |
| 110 | POP3 | TCP |
| 123 | NTP | UDP |
| 443 | HTTPS | TCP |
ポート番号の具体的な割り当てや通信の流れについては、「インターネットへの接続と通信の流れ(インターネットへの接続方法と通信の仕組み)」を参照してください。
コネクション型とコネクションレス型とは(違いと用途)
コネクション型では,送受信する双方で論理的な通信回線を作るため,信頼性の高い通信が実現できます。ただし,制御情報を付加するためオーバーヘッドが増え,伝送効率はよくありません。
コネクションレス型では,コネクションを確立せず,送信側が一方的にデータを送信します。受信側が正常に受け取っているかは確認せず次々とデータを送るため,大量のデータを高速に送信することができます。動画など,データが多少消失してもスムーズに再生することを優先する場合に利用されます。
広告
TCP(Transmission Control Protocol)とは(信頼性と接続の仕組み)
TCPは,コネクション型のプロトコルで,通信開始時には(ポート番号ごとに)3ウェイハンドシェイクによりコネクションを確立します。通信時にはデータの到達確認を行います(確認応答)が,受け取ったデータに過不足やエラーがあった場合には,必要に応じて送信元に再送します(再送制御)。また,分割して送信したデータを正しく並べ替える機能(順序制御)もあります。そのため,信頼性は確保できますが,通信速度は低下します。
3ウェイハンドシェイクによるコネクションの確立(接続確立のステップ)
TCPは,3ウェイハンドシェイクという方法でコネクションを確立します。
※ 3ウェイハンドシェイクにより確立されるコネクションは,ソフトウェアが仮想的に作成する双方向,全二重の通信路(バーチャルサーキット)である
UDP(User Datagram Protocol)とは(コネクションレスの特徴)
UDPは,コネクションレス型のプロトコルで,通信時には信頼性よりも効率を優先するため,データの到達確認は行いません。そのため,信頼性は劣りますが,通信速度は速いです。
まとめ
今回は,TCP・UDP(トランスポート層)についてシンプルにまとめてみました。トランスポート層は,ポート番号によって通信するアプリケーションを識別し,通信の信頼性や効率を制御する役割を持っています。TCPとUDPの特徴や違い,ポート番号の役割などを整理して理解することが,ネットワーク通信のしくみを理解するうえで重要です。繰り返し確認して,確実に理解しておきましょう。
- インターネットへの接続と通信の流れ
- OSI基本参照モデルとTCP/IPの基礎まとめ
- LAN(ネットワークインタフェース層)の基礎まとめ
- IP(インターネット層)の基礎まとめ
- アプリケーションプロトコル(アプリケーション層)の基礎まとめ
理解が進んだら,基本情報技術者試験の過去問題等にもチャレンジしてみてください。


