0Pricing
Cloud & IT Cert Prep · レッスン

TCPとUDPをひと目で比較する

信頼性の高いコネクション型のTCPと、高速で軽量なUDPを比較します。

「TCPとUDPをひと目で比較する」はCoddyKit上の無料Cloud & IT Cert Prepレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはCloud & IT Cert Prep学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

2つのトランスポートプロトコル

トランスポート層では、インターネット通信の大半を2つのプロトコルが担います。TCP(Transmission Control Protocol)とUDP(User Datagram Protocol)です。

どちらもアプリケーション間でデータを運びますが、信頼性と速度について大きく異なるトレードオフを選択します。それぞれをいつ使うかを知ることは、Network+の基本知識です。

TCPはコネクション指向

TCPはコネクション指向です。データを送信する前に接続を確立し、両端の準備が整っていることを確認します。また、データが完全かつ順番どおりに届くことを保証します。

セグメントが失われると、TCPは欠落を検出して再送します。この信頼性により、すべてのバイトが重要なWebページ、メール、ファイル転送ではTCPが選ばれます。

3ウェイハンドシェイク

TCPは3ウェイハンドシェイクで接続を開始します。手順はSYN、SYN-ACK、ACKです。クライアントがSYNを送信し、サーバーがSYN-ACKで応答し、クライアントがACKで確認します。

この交換が完了して初めてデータが流れます。ハンドシェイクは両端の同期を行うもので、試験でよく問われる重要事項です。3つの手順を順番どおりに覚えてください。

Client -> SYN
Server -> SYN-ACK
Client -> ACK

UDPはコネクションレス

UDPはコネクションレスです。ハンドシェイクを行わず、配信や順序を保証せずに、すぐにデータを送信します。データグラムと呼ばれるパケットを宛先に向けて単純に送ります。

そのためUDPは高速で軽量ですが、データの欠落や順序の入れ替わりを許容できない場合は、アプリケーション側で処理する必要があります。

信頼性と速度

基本的なトレードオフは明確です。TCPは確認応答と再送によって信頼性を高めますが、その分時間とオーバーヘッドがかかります。UDPはそれらを省き、生の速度を優先します。

  • TCP:信頼性が高く、順序どおりだが低速
  • UDP:高速で軽量、ベストエフォート

正確さと速度のどちらを重視するかに基づいて選択してください。

TCPが適している場合

すべてのバイトを正しく届ける必要がある場合はTCPを使います。Web閲覧(HTTP/HTTPS)、メール(SMTP)、ファイル転送(FTP)はすべてTCPに依存しています。

Webページやファイルの一部が欠落すると内容が壊れてしまうため、TCPの信頼性によるコストを払う価値は十分にあります。通信量で見ると、インターネットトラフィックの大半はTCPです。

UDPが適している場合

完全な配信よりも速度と低遅延が重要な場合はUDPを使います。ライブの音声通話やビデオ通話、オンラインゲーム、ストリーミングではUDPがよく使われます。

ビデオ通話では、再送のために一時停止するより、フレームが少し欠落する方が適しています。DNS lookupも、短く素早い問い合わせにはUDPを使います。

フロー制御とウィンドウ

TCPには、受信側が過負荷にならないようにするフロー制御があります。確認応答を待たずに送信できるデータ量を調整するスライディングウィンドウを使用します。

また、輻輳制御も行い、ネットワークが混雑すると送信速度を落とします。UDPにはこれらの機能がなく、レート制御はすべてアプリケーションに任されます。

ヘッダーとオーバーヘッド

TCPのヘッダーは、シーケンス番号、確認応答、フラグを含むため大きく、最小でも20バイトあります。UDPのヘッダーはわずか8バイトで、送信元ポート、宛先ポート、長さだけを保持します。

UDPの小さなヘッダーはパケットごとのオーバーヘッドを減らし、大量のリアルタイム通信で速度面の優位性につながります。

どちらを選ぶか

判断するときは、次のように考えてください。保証された順序どおりの配信が必要ですか。必要ならTCPです。速度を重視し、多少の欠落を許容できるならUDPです。

多くのプロトコルはこの点を意図的に選択しています。DNSは高速な問い合わせにUDPを使いますが、大きな転送ではTCPに切り替えます。このトレードオフを理解すると、こうした設計上の選択も説明できるようになります。

TCPとUDPの併用

どちらのプロトコルも、次のレッスンで扱うポート番号を使って、トラフィックを適切なアプリケーションへ振り分けます。アドレス指定の仕組みは共通していますが、配信の保証は異なります。

TCPとUDPの違いを知ることは、このコースで続けて学ぶ具体的なプロトコルとポートを理解するための基礎となります。

クイックチェック

必要性に合うプロトコルを選んでください。

まとめ

TCPとUDPを比較しました。

  • TCP:コネクション指向で、信頼性と順序性があります。SYN/SYN-ACK/ACKのハンドシェイクを使用します。
  • UDP:コネクションレスで高速ですが、ベストエフォートで、ハンドシェイクはありません。
  • TCPはWeb、メール、ファイル転送に適しており、UDPは音声、動画、ゲーム、DNSクエリに適しています。
  • TCPはフロー制御と輻輳制御を追加しますが、UDPではそれらをアプリケーションに任せます。
  • どちらもポート番号を使ってアプリケーションに到達します。

よくある質問

「TCPとUDPをひと目で比較する」レッスンは無料ですか?

はい。「TCPとUDPをひと目で比較する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Cloud & IT Cert Prepコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Cloud & IT Cert Prepコースには全4レッスンが含まれています。

「TCPとUDPをひと目で比較する」で何を学びますか?

信頼性の高いコネクション型のTCPと、高速で軽量なUDPを比較します。 ブラウザで直接実行するハンズオンコードでCloud & IT Cert Prepを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Cloud & IT Cert Prepを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのCloud & IT Cert Prepは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「TCPとUDPをひと目で比較する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このCloud & IT Cert Prepレッスンでコードを書いて実行できますか?

はい。すべてのCloud & IT Cert Prepレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. TCPとUDPをひと目で比較する
  2. ポート番号の役割
  3. Webとファイル転送のプロトコル
  4. リモートアクセスとメールのプロトコル
← Cloud & IT Cert Prepに戻る