😃
【3分間DNS基礎講座】第5、6、7回 TCP,UDPについて
3分間DNS基礎講座で読んだことをまとめます
TCPの役割
- データの転送の高い信頼性を得る
- 確実なデータ転送を保証する
- データの消失や破損を防いで、確実に正しいデータを届ける
コネクションと確認応答
- 事前に通信を行うことの確認をとる
- 通信が行える状態になることをコネクションを確立するという
- 通信の準備の確認のことをスリーウェイハンドシェイクおよび、受信したことの確認を確認応答と呼ぶ
- TCPでは、データをある一定のサイズに分割する、分割されたデータをセグメントと呼ぶ。
- データが届かなかったり、破損してたらそのデータを送り直す (=再送)
- 受信側は次にほしいセグメントを通知する
TCPの利点
ウィンドウ制御とフロー制御
- データの転送を保証するTCPの機能の一つ
- 相手が受け取れるデータ量を教えてもらい、その分だけ一気に送るのがウィンドウ制御
-
通信回線のデータ量を確認する方式がフロー制御
- 回線には転送できる限界量があり、これを超えるとデータが消失する(=輻輳 (ふくそう))
- TCPの利点がアプリケーションのプロトコル側で「データが届かなかったらどうするか」を考える必要がない
- IPはデータが順番に届くかどうか怪しいが、TCPで受信したデータを送信順に並べる
UDP
TCPの欠点とUDP
-
UDPは全く何も制御しない
- それに対しTCPはスリーウェイハンドシェイクで確認応答や相手のバッファ量の確認、会陰洞制御を行う
-
TCPの欠点は、素早く送ることができないこと
-
高速性が必要、効率重視、同報通信など、素早く送らねばならない場合はUDPを使う
- VoIPやブロードキャスト、マルチキャストなど
-
TCPはマルチ/ブロードキャストができない
- TCPでの同報通信は全ての宛先を事前に知っておかなければならない
- 不明な宛先へは送信できない
- UDPでの同報通信は宛先が不明、数が把握できない状態でも送信できる
-
DNSはデータ量が増えるとUDPからTCPに切り替える
Discussion