TCPとは?IT初心者向けに分かりやすく3分で解説【プロトコル】

IT-Skills

TCP (Transmission Control Protocol) とは、信頼性の高い通信を担保するためのプロトコルです。

別名伝送制御プロトコルとも呼ばれ、その名の通り「伝送/通信」を「制御」することが目的のプロトコルです。

このページではIT初心者向けにTCPとは何か?を1から分かりやすく解説します。

このページで学べる内容
  • TCP (Transmission Control Protocol) とは?
  • TCPの仕組み
    • 3ウェイハンドシェイク
  • TCPヘッダ

ネットワークエンジニアを目指す方であれば知らないと恥ずかしい超・基本知識の1つです。是非最後までご覧ください。

スポンサーリンク

TCPとは?

TCPとは1対1のコネクションを確立し信頼性の高い通信を行うためのプロトコルです。

TCP/IPの第3層:トランスポート層に位置し、届いたデータが適切なものであるかどうか?(データがしっかり相手に届いているよね?)など、通信の品質担保を行うことを主な目的とします。

TCPIP,トランスポート層

TCP/IPの第1層~第2層に位置するプロトコルは、相手のコンピュータを特定し、実際に電気信号・光信号でデータを送り届けることが主な目的としています。

ですがそれだけでは、データを送る際に何らかのエラーが起きて、データに破損や欠落が起きてしまった場合には相手のコンピュータと適切な通信が行えません。

TCP

そこでTCPでは、データの内容が適切に送られているかどうか?を判定し、もしデータ転送時に何らかのエラーがあれば再送するなどといった役割を提供しています。

TCP

TCPが別名「伝送制御プロトコル」と呼ばれる所以が何となく理解いただけたかと思います。

ここからはより具体的にTCPのイメージを掴めるようTCPの仕組みを詳しく解説していきます。

プロトコルとは

プロトコルとはコンピュータとコンピュータがネットワークを通じて通信する際に決められた約束事・決まりのこと。

製造メーカーも、OSもCPUも異なるコンピュータ同士が何事もなく通信できるのはプロトコルが事前に決まっているおかげです。逆に言えば、プロトコルが存在しないとお互いにデータを交換したりファイルを連携したりなどの通信を行うことができません。

プロトコルは日常会話に当てはめて説明することもできます。普段私たちがお互い話をすることができているのもプロトコル(何語で話すか?)が決まっているからです。

TCP,プロトコル

TCPの仕組みを分かりやすく解説

TCPがどのように通信の品質を担保しているのか―。ここからはTCPにおいてポイントとなるコネクションの確立方法(3ウェイハンドシェイク)と、データ喪失時の再送処理について解説します。

コネクションの確立方法:3ウェイハンドシェイク

TCPではコネクション型通信を提供します。すなわち、実際にデータ転送を行う前に「正常に相手と接続できているか?」を確認したうえで通信を開始する仕組みです。

コネクション型通信

TCPにおいては、このコネクションの確立を以下の3手順で行います。

分かりやすく説明すると、相手のコンピュータに「接続して良い?」と聞いて、それに対して応答を返してもらうだけです。難しいことではありません。

3ウェイハンドシェイク

このとき、コネクションの確立を要求するパケットをSYNと呼び、それに対する応答パケットをACKと呼びます。

3ウェイハンドシェイクの仕組み
  • ①:SYN(コネクション確立要求パケット)を送る
  • ②:ACK(応答パケット)とSYNを送る
  • ③:ACKを送る

コネクションを確立するまでに3回のパケット転送を行うことから、この方法を3ウェイハンドシェイクと呼びます。

各種資格試験でよく問われる用語なのでしっかり覚えておきましょう。

このようにしてTCPではデータ通信を開始する前に、まずは相手との仮想通信回路を確立します。このようにすることで、途中でデータが喪失したりエラーが発生した際に対応できる環境を整えます。

SYN / ACK / FIN

TCPではコネクションの切断時にも同様にハンドシェイクを行います。コネクション切断時のパケットはFINと呼ばれます。

伝送制御-再送処理

TCPでは、コネクションが正常に確立された後も、3ウェイハンドシェイクと似たような仕組みでデータを送るごとに受信確認(ACK)を行います。

このようにすることで、確実に相手にデータを届けられていることを担保します。

仮にデータ転送が失敗した場合には、相手コンピュータから受信応答(ACK)が返ってきません。一定時間ACKが返ってこない場合にはデータを再送する仕組みです。

TCPの概要まとめ
  • TCPは1対1のコネクションを確立し信頼性の高い通信を行うためのプロトコル。
  • 3ウェイハンドシェイクでコネクションを確立し、データ転送を行うごとに相手コンピュータからの受信応答(ACK)を確認する。
  • 受信応答(ACK)が返ってこない場合はデータ転送に失敗したと判定しデータの再送処理を行う。

TCPヘッダフォーマット

最後にTCPパケット(TCPセグメント)のヘッダのフォーマットを紹介します。

パケットの中身をすべて覚える必要はありませんが、どのようなデータをやり取りしているのか?を知ることでTCPへの理解をより深めることが可能になります。

TCPヘッダ

ネットワークエンジニアを目指したい方は

TCPをはじめとして、ネットワークの基礎を1から学びたい方はこちらの書籍を購入してがっつり学びましょう!

さくっと手軽に読める内容ではないのですが、ネットワークエンジニア全員が必ず読破している本と言っても過言ではありません。是非この機会にチャレンジしてみてみましょう。

blank
インターネットのプロトコルTCP/IP入門書の決定版!

ITを1から学びなおしたい方は

システムエンジニアを目指す方や、IT知識を1から身につけたい方は以下のページをご覧ください。

正直どこから学び始めればよいかわからない。どのように勉強していけば、エンジニアとしてのスキルが磨けるか?が分からない・・・という方は必見です。

システムエンジニア向けに「できるエンジニア」になる方法を1から解説しておりますので、是非ご覧ください。

無料で読めるようにしてあります。累計12万人に参考にしていただきました!

タイトルとURLをコピーしました