😃

【3分間DNS基礎講座】第5、6、7回 TCP,UDPについて

2023/01/02に公開

3分間DNS基礎講座で読んだことをまとめます

TCPの役割

- データの転送の高い信頼性を得る
 - 確実なデータ転送を保証する
 - データの消失や破損を防いで、確実に正しいデータを届ける

コネクションと確認応答

  • 事前に通信を行うことの確認をとる
  • 通信が行える状態になることをコネクションを確立するという
  • 通信の準備の確認のことをスリーウェイハンドシェイクおよび、受信したことの確認を確認応答と呼ぶ
  • TCPでは、データをある一定のサイズに分割する、分割されたデータをセグメントと呼ぶ。
  • データが届かなかったり、破損してたらそのデータを送り直す (=再送
  • 受信側は次にほしいセグメントを通知する

TCPの利点

ウィンドウ制御とフロー制御

  • データの転送を保証するTCPの機能の一つ
  • 相手が受け取れるデータ量を教えてもらい、その分だけ一気に送るのがウィンドウ制御
  • 通信回線のデータ量を確認する方式がフロー制御
    • 回線には転送できる限界量があり、これを超えるとデータが消失する(=輻輳 (ふくそう))
  • TCPの利点がアプリケーションのプロトコル側で「データが届かなかったらどうするか」を考える必要がない
  • IPはデータが順番に届くかどうか怪しいが、TCPで受信したデータを送信順に並べる

UDP

TCPの欠点とUDP

  • UDPは全く何も制御しない

    • それに対しTCPはスリーウェイハンドシェイクで確認応答や相手のバッファ量の確認、会陰洞制御を行う
  • TCPの欠点は、素早く送ることができないこと

  • 高速性が必要、効率重視、同報通信など、素早く送らねばならない場合はUDPを使う

    • VoIPやブロードキャスト、マルチキャストなど
  • TCPはマルチ/ブロードキャストができない

    • TCPでの同報通信は全ての宛先を事前に知っておかなければならない
    • 不明な宛先へは送信できない
    • UDPでの同報通信は宛先が不明、数が把握できない状態でも送信できる
  • DNSはデータ量が増えるとUDPからTCPに切り替える

Discussion