TCP/UDP (ソケット通信)

TCP (Transmission Control Protocol)

  • コネクション型サービスを提供する。
  • 高い信頼性を保証する。
  • コネクションの確立には 3-way handshaking を使う。
  • コネクションの切断には 4-way handshaking を使う。
  • データのフロー制御と輻輳制御を行う。
    • フロー制御: 受信者のバッファーオーバーフローを防ぐ。
    • 輻輳制御: ネットワーク内のパケット数が過度に増加する現象を防ぐ。
  • 全二重、ポイントツーポイントサービス (双方向送受信サービス) を提供する。
  • ファイル交換のように信頼性が重要な場合に使われる。

UDP (User Datagram Protocol)

  • コネクションレス型サービスを提供する。
  • 信頼性は低い。
  • データの転送順序が入れ替わることがある。
  • データを受信したかどうかを確認しない。3-way handshaking のような過程はない。
  • TCP より転送速度が速い。
  • リアルタイム性が重要なストリーミングで主に使用される。
  • 1:1、1:N、N:M の通信が可能である。