TCP
読み:ティースィーピー
外語:TCP: Transmission Control Protocol

 OSI参照モデルトランスポート層にある通信プロトコルの一つ。RFC 793(STD 7)で規定されている。
目次

概要
 IPを下層に持つことが多く、その場合はTCP/IPと呼ばれるが、それに限らない。
 IPのプロトコル番号は6。

特徴

目的
 このプロトコルが行なうことは、送信しようとしたデータが、正しく宛先に届いたかどうか、またもし届かなければ再度送信するというような、確実性をもった全二重のストリーム通信である。
 そのため送信側と受信側が親密に通信を行なうことになり、確実性を得る代わりに速度が多少犠牲になるのが特徴である。
 これを実現するために、TCPプロトコルで通信する場合には、まず初めに「○○と通信する」という宣言を行ない、終了する際に「○○との通信は終わった」と宣言を行なう。また、最初に行なわれる通信確立手順は、3ウェイハンドシェイクと呼ばれている。
 高速性が重要であり、プロトコルに信頼性を求めない場合、TCPの代わりにUDPがよく用いられる。

再送
 TCPによる通信では、受信側は必ず送信元に対してACKの応答を返す。
 ある時間内にACKが届かなければ、何らかの問題が発生したと判断し、送信元はパケットを再送する。

分割
 一つのパケットに収まらないような大きなデータは、複数のパケットに分割されて送られる。
 これが受信側で正しい順番に再度繋げられ、アプリケーション層から見ると常に正しい順番でデータが送受信されているように見える。
 つまり、パケットの到着順序が保証される。

技術

主要機能
 TCPには、次のような機能が備わっている。

状態遷移
 TCPは、待機状態から通信、そしてその終了まで、状態遷移表に基づいて動作するプロトコルである。
 TCPには、次の11種類の状態が存在する(RFCに書かれている順序)。
 これらの状態を、ACKSYNFINなどに応じて順次遷移し、もってプロトコルは動作する。

関連技術

上位プロトコル
 TCPを使う代表的なプロトコルにTELNETFTPSMTPHTTPなどがある。
 TCPヘッダー内にあるポート番号によって上位プロトコルは決定される。

再検索