前回はUDPについて解説した。これはIPプロトコルの機能をほぼそのまま利用した、データグラム指向の通信を実現するプロトコルであった。今回からは、TCP/IPプロトコルの核ともいえる、TCP(Transmission Control Protocol)について解説する。 TCPは、信頼性のある双方向のストリーム型(コネクション指向)通信を実現するためのプロトコルである。下位層にあるIPプロトコルは、信頼性のないデータグラム型の通信プロトコルなので、信頼性のある通信路を実現するためには、さまざまな工夫が必要となる。すでに何度か説明しているように「信頼性のない」とは、パケットの到達が必ずしも保証されないとか、到着順序が入れ替わる場合がある、パケットが消失したりしても再送処理などが行われない、などを意味している。このようなパケットをベースにして、TCPでは、信頼性のあるストリーム型の通信機能やフロ