TCPとUDPは通信プロトコルであり、パケット通信を行うために使用されます。
目次
Network | TCPとは (Transmission Control Protocol) |
UDPとは (User Datagram Protocol) | |
TCP/IP 4層の図でのTCPとUDP |
TCPとは (Transmission Control Protocol)
TCPは、信頼性の高いデータ転送を目的としたプロトコルです。
送信側と受信側が通信する前に、接続を確立する必要があります。
データが送信される前に、相手側が準備できているかどうかを確認した後にデータを小さなパケットに分割して送信し、それらがすべて到着したことを確認してから次のパケットを送信します。
データの完全性を確認してから次のデータを送信するため、信頼性が高いと言えます。
ただし、パケットの伝送に伴うオーバーヘッドが大きく、速度が遅くなる可能性があります。
Webページやメールの送受信などでは、TCPを使用することが一般的です。
以下は、TCPの接続確立までの図です。
接続確立までに3回やりとりを行うのでスリーウエイハンドシェーク(three-way handshaking)と呼ばれます。
以下は、TCPの切断までの図です。
https://ja.wikipedia.org/wiki/Transmission_Control_Protocol
UDPとは (User Datagram Protocol)
UDPは、信頼性よりも速度を重視したプロトコルです。
接続確立のフェーズはありません。
データをパケットに分割し、送信しますが、到着の確認は行いません。そのため、データが到着しているかどうかを確認せずに、速くデータを送信できます。
しかし、パケットが失われたり、順序が入れ替わったりすることがあり信頼性は低くなります。
以下は、UDPでデータを送信する図です。接続の手順はなく、相手にデータが届いたかの確認も行いません。
映像のストリーミングや音声通話やオンラインゲームなどのリアルタイム性が重視される通信では、UDPを使用することが一般的です。
TCP/IP 4層の図でのTCPとUDP
TCP/IP 4層では、TCPとUDPはトランスポート層で、IPはインターネット層です。
ネットワークインターフェイス層は、
OSIモデルの1.物理層と2.データリンク層に相当します。
関連の記事