TCPとUDPを理解する
TCPとUDPはどちらもトランスポート層のプロトコルだが、信頼性・順序保証・再送・オーバヘッドの考え方が異なる。用途に応じた使い分けを理解する。
この単元で学ぶこと
- TCPの意味と役割を説明できる
- UDPの意味と役割を説明できる
- 3ウェイハンドシェイクの意味と役割を説明できる
- TCPとUDPの機能差をアプリケーション要件へ対応付けられる
本文解説
TCPはコネクション型で、順序制御、確認応答、再送、フロー制御などにより信頼性を高める。UDPはコネクションレス型で、これらの機能を最小限にして低オーバヘッドで送る。
TCP コネクション型で信頼性の高いバイトストリーム通信を提供する。 順序制御・確認応答・再送などを行う。
UDP コネクションレス型で小さなヘッダと簡素な制御を持つ。 配送保証や順序保証は基本的に行わない。
3ウェイハンドシェイク TCP接続確立でSYN、SYN/ACK、ACKを交換する手順。 通信前に双方の状態を同期する。
ポート番号 ホスト内の通信先アプリケーションを識別する番号。 TCPとUDPはそれぞれポート空間を持つ。
再送制御 ACKが得られない場合などにデータを再送するTCPの仕組み。 信頼性向上と引換えに遅延や処理量が増える場合がある。
信頼性・順序・再送が必要ならTCP、低遅延・単純さ・アプリ側制御を重視するならUDPを候補にする。
DNSの一般的な問い合わせはUDPを利用することが多いが、大きな応答やゾーン転送などではTCPが使われる場合もある。
図解
重要ポイント
- TCP: コネクション型で信頼性の高いバイトストリーム通信を提供する。
- UDP: コネクションレス型で小さなヘッダと簡素な制御を持つ。
- 3ウェイハンドシェイク: TCP接続確立でSYN、SYN/ACK、ACKを交換する手順。
- ポート番号: ホスト内の通信先アプリケーションを識別する番号。
- TCPは高機能、UDPは簡素という違いを、用途要件と結び付ける。
間違えやすい点
- UDPなら絶対にパケットが届かないと考えない。
- TCPだから遅延が常に大きいと断定しない。
- ポート番号とIPアドレスの役割を混同しない。
用語解説
- TCP
- コネクション型で信頼性の高いバイトストリーム通信を提供する。
- UDP
- コネクションレス型で小さなヘッダと簡素な制御を持つ。
- 3ウェイハンドシェイク
- TCP接続確立でSYN、SYN/ACK、ACKを交換する手順。
- ポート番号
- ホスト内の通信先アプリケーションを識別する番号。
- 再送制御
- ACKが得られない場合などにデータを再送するTCPの仕組み。
関連教材
参考資料
教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。
確認問題の出題・採点や学習履歴の保存にはログインが必要です。