情報セキュリティ講座(18) TCP

TCPは、データの完全性を重視したプロトコルです。そのため、相手とのコネクションを確立し、パケットの順番制御を行います。パケットの順番がずれた場合は、パケットの再送要求をします。

コネクション確立には、3ウェイハンドシェークという方法をとります。クライアントとサーバの間で、SYN→SYN/ACK→ACKというやりとりが行われます。

TCPでは、プロトコルによってポート番号が割り当てられます。よく使うプロトコルには、ウエルノウンポートという、決まったポート番号が使われます。メールで使われるSMTPは25、ホームページで使われるhttpが80、といった具合です。

TCPパケットには、それぞれTCPヘッダが付加されます。TCPヘッダのサイズは、IPと、同じく20byteです。

その中で、シーケンス番号、応答確認番号は、TCPならではのもので、パケットの完全性を担保するためのものです。シーケンス番号に欠番が生じれば、上記の通り、データに欠損が発生したと判断されて、パケットの再送要求が行われます。

また、コントロールフラグには、上記のSYN, ACK, RSTなどの区分がセットされます。

その他にも、データオフセット、ウィンドウサイズなどの項目があります。

TCPはインターネットでもっとも使われる通信プロトコルだと思います。よく把握しておくべきだと思います。

投稿者プロフィール

小笠原 裕
小笠原 裕中小企業診断士 行政書士
バラの咲く街、八千代市緑が丘で、コンサルティング事務所を運営しています。