■ TCPって何?
Transfer Control Protcol の略で、TCP / IP プロトコルの代表的な1つです。
このプロトコルの役割は、パケットが確実に相手に届いたかどうかを確認するというもので、IP によって送信されたパケットの到着確認を行います。
IP はただパケットを次々に送信していきますが、相手にたどり着けないパケットも時には存在します。その場合、相手はデータを復元することが出来ず、結果として送受信ミスとなってしまいます。
TCP はこれを確実なものにするためのプロトコルで、5つの大切な役割を持っています。
▼ コネクション管理 ( セッション管理 )
これはネットワーク上で仮想的な経路 ( バーチャル サーキット ) を確立し、相手と自分の間に専用線に似たデータ用経路を作成します。
これにより、相手を確認した上でのデータ通信が可能であり、信頼性の高い通信を行うことが出来ます。
このようにコネクションを確立してからデータ送信を行う方式を [ コネクション型 ] と呼び、TCPは [ コネクション型のプロトコル ] と呼ばれます。
※ コネクションレス型のIPの説明はこちらを参照してください。
▼ 応答確認
データが相手にちゃんと届いたかを確認する機能で、信頼性の向上のために行います。
これはデータが届いたことを相手の応答によって判断し、応答が一定時間ない場合は再び同じデータを送信するといった作業から成り立ちます。
▼ パケットの順番管理
パケット1つ1つには [ シーケンス番号 ] という番号が割り振られているのですが、これはパケットの重複を防ぐためにあります。
これによって、同じパケット ( 同じシーケンス番号のパケット ) が届いた場合、正しいほうを選択することが出来ます。
▼ウィンドウ コントロール
複数のパケットを同時に処理する機能です。
1パケットづつの送信では時間がかかりすぎるため、まとめてパケットを送信することが出来ます。この同時に処理できるパケットの数を [ ウィンドウ ] と呼び、このウィンドウサイズを変更することで、1度に送信できるデータ数が変わります。
▼ フローコントロール ( 流量制御 )
自分の受け取れるデータサイズをあらかじめ予約しておく機能です。
受け取る側は一方的にデータを受信するのではなく、受け取れる最大値を決めておいて、それをオーバーしたデータについては再送手続きを取ります。
|