わかっているようでちゃんとわかっていないTCPとUDPの違いについて。
備忘として整理。
#1)TCPとUDPの違い
● TCPでは1パケット(1500バイト)に対し、1ACKを返す。ただ実際にはスライディングウィンドウの機能により、ウィンドウサイズ分をまとめてACKを返すので、4~5パケットで1つのACKを返しているのが実際であろう。これに対し、UDPではACKをまったく返さない。だからTCP/IPのオーバヘッドが少ない。
● TCPはコネクション型、UDPはコネクションレス型←これが理解できれば以下も理解できるはず。
● TCPではマルチキャストやユニキャストは使用できない。DHCPやRIPもUDP。
#2)TCPの特徴
● TCPはスリーハンドシェイク
● ラウンドトリップ時間が長くなるので、ウィンドウサイズを調整する
● フロー制御で送信するデータ量を調整
● 少しずつウィンドウサイズを大きくするアルゴリズムをスロースタートという⇨輻輳回避
#3)UDPの特徴
● 厳密さが求められない転送、パケット量が小さい転送に向く
● ヘッダにパケット長がある
● シーケンス番号がなく、代わりにチェックサムでデータが破壊されていないことを確認する。
#まとめ
TCP ⇒ 正確。遅い。Web通信など厳密な通信が求められるものが得意。
UDP ⇒ ちょっといいかげん。早い。動画転送などが得意。
おしまい。