TCP
トランスポート層のプロトコルの1つ。通信の前に接続を確立し、届かなかったデータの再送や順序の並べ替えを行って、データを確実に届ける。
イマシルちゃんの解説
大事な書類を送るときは、書留で送って「届きました」って返事をもらうよね。
届かなかったら、もう一度送り直す。
TCPは、ネットワークの世界のそんな丁寧な配達係なんだ!
少し手間はかかるけど、Webページやメールみたいに、1文字でも欠けたら困るデータを確実に届けてくれるよ。
より深い解説
定義
TCP(Transmission Control Protocol)は、RFC 9293(元はRFC 793)で定められたトランスポート層のプロトコルである。IPヘッダーのプロトコル番号は6。コネクション型で、通信の前に相手との間に論理的な接続(コネクション)を確立する。
確実に届けるための仕組み
| 仕組み | 内容 |
|---|---|
| コネクションの確立 | 通信の前に3ウェイハンドシェイクで互いの準備を確かめる |
| シーケンス番号 | 送るデータの各バイトに通し番号を付け、受信側で順序を並べ直す |
| 確認応答(ACK) | 受信側が「ここまで受け取った」と知らせる |
| 再送 | 一定時間内にACKが返らなければ、送り直す |
| フロー制御 | 受信側が受け取れる量(ウィンドウサイズ)を知らせ、送り過ぎを防ぐ |
| 輻輳制御 | ネットワークの混雑を推測し、スロースタートなどで送る量を調整する |
コントロールフラグ
TCPヘッダーには、セグメントの役割を示す1ビットずつのフラグがある。
| フラグ | 意味 |
|---|---|
| SYN | コネクションの確立を要求する |
| ACK | 確認応答番号が有効であることを示す |
| FIN | 送るデータがもうないことを示し、コネクションの終了を要求する |
| RST | コネクションを強制的に切断する |
| PSH | 受け取ったデータをすぐにアプリケーションへ渡すよう求める |
| URG | 緊急データが含まれていることを示す |
ヘッダーの主なフィールド
送信元ポート番号、宛先ポート番号(各2バイト)、シーケンス番号、確認応答番号(各4バイト)、データオフセット、コントロールフラグ、ウィンドウサイズ、チェックサムなどからなり、オプションを除いた長さは20バイトである。
TCPを使う主なプロトコル
コネクションの終了
終了は、双方がFINを送り合い、それぞれにACKを返す4回のやり取りで行うのが基本である。先にFINを送った側は、最後のACKを送った後、遅れて届くセグメントに備えてしばらくTIME-WAITの状態で待つ。
実際の試験ではここに出る!
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問7
- ネットワークスペシャリスト 令和7年度 春期 午前Ⅱ 問11
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅰ 問2
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問1
- ネットワークスペシャリスト 令和7年度 春期 午後Ⅱ 問2
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問9
- ネットワークスペシャリスト 令和6年度 春期 午前Ⅱ 問10
- ネットワークスペシャリスト 令和5年度 春期 午前Ⅱ 問5
- ネットワークスペシャリスト 令和3年度 春期 午前Ⅱ 問7
- ネットワークスペシャリスト 令和3年度 春期 午前Ⅱ 問13
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問11
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問12
- ネットワークスペシャリスト 令和元年度 秋期 午前Ⅱ 問19
この用語が出てくる記事
- RTP
- IoTシステムの設計
- IKE
- ICMP
- IPS
- IP25B
- IPv6導入の設計
- IPヘッダー
- EDNS
- WebSocket
- HTTP
- HTTP/3
- HTTP/2
- SMTP
- FCS
- FTP
- MSS
- MQTT
- MTU
- LDAP
- OSPF
- OSPF認証
- OP25B
- OpenFlow
- オクテット
- 確認応答番号
- QoS
- クラウドサービスの導入検討
- 権威DNSサーバ
- CoAP
- サブミッションポート
- シーケンス番号
- 指数バックオフ
- syslog
- SYNフラッド攻撃
- ステートフルパケットインスペクション
- スライディングウィンドウ
- 3ウェイハンドシェイク
- 3GPP
- Slow HTTP DoS攻撃
- セキュアWebゲートウェイ
- セッションハイジャック
- DNS
- TLS
- TCPの状態遷移
- TTL
- DTLS
- データグラム方式
- AAA
- トンネルモード
- 長さ/タイプ
- NAPT
- パケット損失率
- パスMTU探索
- BGP
- BBR
- PPTP
- ビット誤り率
- Whois
- 輻輳制御
- フラグメンテーション
- フレーム
- プロキシサーバ
- プロトコル番号
- ベーシックフレーム
- ポートスキャン
- ポート番号
- ポリシング
- HoLブロッキング
- UDP
- RADIUS
- RIP
- ループバックアドレス