TCPの概要をまとめました。
TCPとは
TCPはTransmission Control Protocol(トランスミッションコントロールプロトコル)の頭文字です。スリーウェイハンドシェイクを行うのが特徴の通信です。
TCPはコネクション型通信とも呼ばれる
TCPは通信を行うときにコネクションと呼ばれる仮想的な通信経路を確立します。
わかりやすく書き換えると、TCPはUDPと異なり、通信するのに様々な処理を行います。
具体的にはTCPは順序管理や再送要求、連続転送、フロー制御などの処理があります。
TCPの後に作られた規格、UDPはコネクションレス型通信と呼ばれる
UDPはTCPよりも後に作られたプロトコルで、TCPで行っていたコネクションの確立を行わないプロトコルです。
UDPはDNSなどの要求・応答の1往復で完結するプロトコルで使用頻度の高い通信で使用されます。
TCPとOSI参照モデル
TCPはOSI参照モデルのトランスポート層(第4層)にあたるプロトコルになります。
OSI参照モデルをわかりやすく
いきなりOSI参照モデルと書くと難しく感じますが、ざっくりと以下のような説明になります。
OSI参照モデルで説明すると、まず物理層(第1層)でケーブルの認識を行い、データリンク層(第2層)でネットワーク機器とサーバなどのコンピューターの識別を行い、ネットワーク層(第3層)でIPアドレスを識別し、トランスポート層でポート番号の識別を行います。このトランスポート層でポート番号の識別を行うことに加えて、通信プロトコルがTCPかUDPかを識別します。
TCPの特徴
TCPの特徴は、スリーウェイハンドシェイクを行うことで信頼性のある通信を確立することです。
TCPより新しいUDPでは、このスリーウェイハンドシェイクは行いません。
TCP通信には3つのフェーズがある
TCPの通信では以下の3フェーズがあります。
- コネクション確立フェーズ
- 通信フェーズ
- コネクション終了フェーズ
コネクション確立フェーズでは、スリーウェイハンドシェーク(スリーウェイハンドシェイク)と呼ばれるやり取りが発生します。
スリーウェイハンドシェイクとは
スリーウェイハンドシェイクは、SYNと、ACK/SYNと、ACKの3つのやり取りからなります。
UDPとの違い
UDPはTCPのあとに作られた規格で、TCPでは行っているスリーウェイハンドシェイクを実施しません。UDPはUser Datagram Protocolの頭文字です。
ポート番号とTCP/UDP
各ポート番号にはTCPとUDPがあります。同じポート番号の通信でもTCPで通信を行うプロトコル、UDPで通信を行うプロトコルとが存在します。



