TCP
TCP(Transmission Control Protocol)は信頼性 のある、接続 指向 の転送 層 プロトコル。
3ウェイハンドシェイク
TCP 接続 の確立 には 3 回 のハンドシェイクが必要 。
sequenceDiagram
participant C as Client
participant S as Server
Note left of C: Sends SYN
C->>S: SYN seq: 0
Note right of S: SYN Received
S->>C: SYN-ACK seq: 0 ack: 1
Note left of C: Received SYN+ACK
C->>S: ACK seq: 1 ack: 1
Note right of S: Connection Established
メッセージタイプ
| Message | Description |
|---|---|
| SYN | 接続 の開始 と確立 |
| ACK | SYN の確認 |
| SYN-ACK | ローカルデバイスの SYN と以前 のパケットの ACK |
| FIN | 接続 の終了 |
TCP Header フォーマット

TCP vs UDP
| 特性 | TCP | UDP |
|---|---|---|
| 接続 | 接続 指向 | コネクションレス |
| 信頼性 | 保証 | 保証 なし |
| 順序 | 保証 | 保証 なし |
| 速度 | 遅 い | 速 い |
| 適用 | Web、メール | ストリーミング、ゲーム |