TCPとは
てぃーしーぴー
Transmission Control Protocolの略。トランスポート層のコネクション型のプロトコル。3ウェイハンドシェイクで接続を確立し、シーケンス番号、確認応答(ACK)、再送によって、データを欠けや重複なく、送った順に届ける。フロー制御と輻輳制御で送る量も調整する。Webのアクセス(HTTP/1.1・HTTP/2)、メール、SSHなどが使う。
「TCP」は、2分野の17問の練習問題に出てきます(ネットワークの基礎, Web技術の基礎など)。
この用語の分野: ネットワークの基礎
よくある質問
TCPとUDPの違いは何ですか?
TCPはコネクションを確立し、確認応答と再送、順序の制御によってデータを確実に届けます。UDPは接続の手順も再送もなく、データグラムを送りっぱなしにするので、ヘッダが小さく遅れも少なくなります。確実さが必要なWebやファイルの転送にはTCP、少しの損失より遅れの少なさが大事な通話や、問い合わせが短いDNSにはUDPが使われます。
TCPの再送はいつ起きますか?
2つのきっかけがあります。1つは、送ってから再送タイムアウトの時間(RTTの測定から計算する)が過ぎてもACKが来ないとき、もう1つは、同じ確認応答番号のACKを3つ続けて受け取ったときで、後者を高速再送と呼びます。再送が続くと、タイムアウトの時間を倍々に延ばします。
TCPのスループットが回線の速度より低いのはなぜですか?
1往復の時間(RTT)に送れるのはウィンドウの大きさまでなので、遠くの相手ほど、ウィンドウが小さいほど、スループットが下がります。パケットの損失で輻輳制御がウィンドウを小さくしたときや、受信側のアプリケーションの読み出しが遅いときにも下がります。