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の比較
接続確立、再送、順序保証、オーバヘッドの観点で比較する。

重要ポイント

  • TCP: コネクション型で信頼性の高いバイトストリーム通信を提供する。
  • UDP: コネクションレス型で小さなヘッダと簡素な制御を持つ。
  • 3ウェイハンドシェイク: TCP接続確立でSYN、SYN/ACK、ACKを交換する手順。
  • ポート番号: ホスト内の通信先アプリケーションを識別する番号。
  • TCPは高機能、UDPは簡素という違いを、用途要件と結び付ける。

間違えやすい点

  • UDPなら絶対にパケットが届かないと考えない。
  • TCPだから遅延が常に大きいと断定しない。
  • ポート番号とIPアドレスの役割を混同しない。

用語解説

TCP
コネクション型で信頼性の高いバイトストリーム通信を提供する。
UDP
コネクションレス型で小さなヘッダと簡素な制御を持つ。
3ウェイハンドシェイク
TCP接続確立でSYN、SYN/ACK、ACKを交換する手順。
ポート番号
ホスト内の通信先アプリケーションを識別する番号。
再送制御
ACKが得られない場合などにデータを再送するTCPの仕組み。

関連教材

参考資料

教材データに登録された参考リンクです。リンク先の内容や更新日は提供元でご確認ください。

確認問題の出題・採点や学習履歴の保存にはログインが必要です。