TCPとUDP
TCPとUDP
TCPとは
- Transmission Control Protocol
- インターネットにおいて標準的に利用されるプロトコル
UDPと比較して信頼性の高い通信を実現するために使用される
- シーケンス制御、再送制御
ポート番号とは
- 通信先のアプリケーションを指定するための番号
-
- 相手の応答があって初めて通信を開始する
- データ転送の前にコネクションの確立を行う
- TCPコネクションの確立に使用されるのが3ウェイハンドシェイクである
3ウェイハンドシェイク
- 3回のやりとりでコネクションを確立する
- 1- AからBへの接続確認
- 2- BからAへの確認応答と接続確認
- 3- AからBへの確認応答
- 3回のやりとりでコネクションを確立する
信頼性確保の方法
- シーケンス制御
- データを分割して送信する際にシーケンス番号を付与することで受信側で番号を元にデータを正しく組み立てることができる
- 再送制御
- 分割されたデータが到着したときに受信側から確認応答をすることで、時間内に確認応答がなかった場合にその番号のデータを再送信する
- シーケンス制御
通信効率向上
- ウィンドウ制御
- 受信側でウィンドウサイズを指定してそのサイズの分は確認応答を待つことなくデータを送信していく
- フロー制御
- 受信側で負荷が高まったときにウィンドウサイズを小さくして負荷がおさまるまで一定時間データ送信量を制御する
- ウィンドウ制御
UDPとは
- User Datagram Protocol
- 信頼性は高くないが、速さやリアルタイム性を求める通信に使用されるプロトコルである
- オーバーヘッドが少ない
- パケットロスしても再送をしない
- 用途