1.TCP その1
TCPはIPネットワークを介して確実にデータをやりとりするための
プロトコルです。IPネットワークの仕事は、パケットを通信相手に
届けること、IPネットワークはその仕事に最善を尽くしますが、
通信相手にパケットが抜けなく正しい順番で届くことまでは
保証していません。
状況によってはネットワークが混雑して、送り出したパケットの
一部が届かなかったりします。また転送経路が変わってしまうこと
もあるので、送り出した順番通りにデータが届くとは限りません。
この不安定さは、データを1ビットでも間違うと問題が起こる
アプリケーションにとってはやっかいです。
メールやファイル転送といったアプリケーションは、少しでもデータが
抜けたり、順番が前後すると処理できなくなります。
表示される文字が化けたり、最悪の場合プログラムが暴走したりして
しまいます。つまりIPネットワークはそのままでは使い物になりません。
そこで活躍するのがTCPです。IPネットワークにつながるパソコンはどれも
TCPに基づくソフトウェアである「TCPスタック」を備えていて、
それを使ってデータをやりとりしています。
アプリケーションから見ると、TCPは、あてにならないIPネットワーク上に
自分専用のパイプランを敷設して、データをやりとりしてくれるしかけに
見えます。
パイプラインにデータを流し込めば、それがそのまま通信相手の
アプリケーションに渡されるイメージになります。実際のTCPでは
パイプラインに相当する専用の通信路を「TCPコネクション」と呼びます。