TCP 【Transmission Control Protocol】
概要
TCP(Transmission Control Protocol)とは、インターネットなどのIPネットワークで、IP(Internet Protocol)の上位層であるトランスポート層のプロトコル(通信規約)として標準的に使われるものの一つ。信頼性が高いが即時性や高速性は得られにくい。ネットワーク層(インターネット層)のIPと、HTTPなど各用途ごとに固有のアプリケーション層のプロトコルの橋渡しをするもので、ポート番号という識別番号を用いて、各IPデータグラムが運んでいるデータがどの上位プロトコルのものであるかを識別し、担当のソフトウェアに振り分けることができる。
TCPはコネクション型のプロトコルで、接続相手との通信の開始時に「スリーウェイハンドシェイク」と呼ばれる3段階から成る制御情報のやり取りを行い、通信相手の状況を確認して仮想的な伝送路(TCPコネクション)を確立する。一連のデータ伝送が終わると伝送路を切断して通信を終了する。
二者間で制御情報を双方向にやり取りすることで、送信したデータが受信側に到着したかどうかを確かめる「確認応答」、受信側が伝送途上でのデータの欠落や破損を検知して送信側に再送を要求する「再送制御」、送信時に通し番号を割り当てて到着順が入れ替わっても受信側で本来の順序に並べ直す「順序制御」などの機能が利用できる。
IP上で用いられるトランスポート層の有力なプロトコルには「UDP」(User Datagram Protocol)もあり、こちらは細かな制御はせず「送りっぱなし」にするシンプルな仕様となっている。TCPはUDPに比べる伝送の信頼性が高くアプリケーション層に対して確実にデータを送り届けることができるが、通信効率は低く性能は高めにくい。
また、品質の低い通信経路(回線など)では確実性を高めるための仕様が足かせとなり極端に性能が低下したり、接続が頻繁に途絶えることがある。信頼性や確実性が必要な通信にはTCPを、転送効率や即時性が必要な用途や通信環境が悪くても断片的にデータが届けば良い用途ではUDPを、というように使い分けられる。
(2022.9.9更新)