TCPとは?仕組みやUDPとの違いを初心者にもわかりやすく解説

スポンサードリンク
専門用語

インターネットについて調べていると、「TCP」という言葉を目にすることがあります。

TCPは、Webサイトの閲覧やメール、ファイル転送など、インターネット上でデータをやり取りするときに使われている重要な通信プロトコルです。

とはいえ、

  • TCPとは何のこと?
  • TCPはどのような仕組み?
  • TCP/IPとは何が違う?
  • UDPとはどう違うの?

と疑問に感じる人も多いでしょう。
この記事では、TCPの基本から仕組み、身近な利用例、UDPとの違いまで、IT初心者にもわかりやすく解説します。

スポンサードリンク

TCPとは?

TCP(Transmission Control Protocol/トランスミッション・コントロール・プロトコル)とは、ネットワーク上でデータを確実に届けるための通信プロトコルです。

「プロトコル」とは、コンピューター同士が通信するときのルールのことです。

プロトコルとは?初心者でもわかる意味・種類・具体例をわかりやすく解説
プロトコルとは何かを初心者向けにわかりやすく解説。意味・役割・種類(HTTP、FTP、TCP/IPなど)から具体例まで網羅的に紹介。IT初心者でもすぐ理解できます。

例えば、インターネットでWebサイトを表示するとき、コンピューターはサーバーとデータをやり取りします。

サーバーとは?初心者向けに仕組み・役割・種類をわかりやすく解説
サーバーとは何かを初心者向けにわかりやすく解説。仕組み・役割・種類・クライアントとの違いまで図解イメージで理解できます。これからITを学ぶ方やWeb制作初心者におすすめ。

このときTCPは、

  • 通信相手との接続を確立する
  • データを順番どおりに管理する
  • データが届いたか確認する
  • 届かなかったデータを再送する

といった役割を担当します。
つまりTCPを簡単に説明すると、「データを相手にきちんと届けるための通信ルール」です。

TCPは、データを信頼性の高い形で順序どおりに届けることを目的とした、インターネットで広く使われている通信プロトコルです。

TCPを身近な例で説明すると?

TCPを「宅配便」に例えるとわかりやすいでしょう。

通常の宅配便では、荷物を送ったら「ちゃんと届いたか」を確認したり、問題があれば再送したりします。
TCPもこれに似ています。

送信側
「データを送ります」

受信側
「受け取りました」

送信側
「次のデータを送ります」

もし届かなければ、「届いていないので、もう一度送ります」という処理を行います。

もちろん実際のTCP通信はもっと複雑ですが、初心者の方は、「TCP=データがきちんと届くように管理する仕組み」と覚えておくと理解しやすいでしょう。

TCPが使われる場面

TCPは、正確なデータ通信が求められるさまざまな場面で利用されています。
例えば、

  • Webサイトの閲覧
  • メール通信
  • ファイル転送
  • サーバーとの通信
  • データベースとの通信

などです。

ただし、実際にどの通信でTCPが使われるかは、利用するアプリケーションやプロトコルによって異なります。

TCPはなぜ使われる?

ネットワークでデータを送信するとき、送ったデータが必ずしも一度で相手に届くとは限りません。
通信途中でデータが失われたり、順番が入れ替わったりする可能性があります。

そこでTCPが、データの状態を確認しながら通信を行います。
例えば、「こんにちは」というデータを送ったとします。

TCPはデータを管理しながら、

送信 → 相手が受信 → 受信したことを確認 → 次のデータを送信

というように通信を進めます。
もし途中でデータが届かなければ、TCPはそのデータをもう一度送信します。

このような仕組みによって、通信の信頼性を高めています。
RFC9293(TCPの仕様をまとめた公式文書)でも、TCPはデータの受信確認や再送によって、失われたデータを届ける仕組みを定義しています。

スポンサードリンク

TCPの仕組み

TCPの通信では、いきなりデータを送り始めるわけではありません。
まず、通信する相手との接続を確立します。

1.通信相手に接続を要求する

最初に、通信を開始したい側が相手に「通信を始めてもいいですか?」という要求を送ります。
このとき使われるのがSYN(シン)という制御情報です。

2.相手が応答する

相手は要求を受け取ると、「わかりました。こちらも通信できます」という応答を返します。
このとき、SYN-ACKという情報が使われます。

3.通信を開始する

最後に、最初のコンピューターが「確認しました」と応答します。
これで通信の準備が整い、データの送受信を開始できます。

この一連の処理を3ウェイ・ハンドシェイクと呼びます。
簡単にすると、「SYN → SYN-ACK → ACK」という3段階です。

TCPでは、この3ウェイ・ハンドシェイクによって通信開始時の接続を確立します。

スポンサードリンク

TCPがデータを正しく届けられる理由

TCPには、データを正しく届けるためのいくつかの仕組みがあります。

順序制御

TCPでは、送信するデータにシーケンス番号と呼ばれる番号を付けて管理します。

シーケンス番号とは、データの順番を管理するための番号です。
例えば、データA → データB → データCという順番で送った場合、それぞれの位置を番号で管理します。

仮にネットワーク上で、データB → データA → データCのような順番で届いたとしても、TCPは番号を確認して正しい順番に並べ直します。

再送制御

ネットワークでは、通信途中でデータが失われることがあります。

TCPでは、相手からの確認が得られない場合などに、必要に応じてデータを再送します。
これを再送制御と呼びます。

つまり、「送ったけれど届かなかった」→「もう一度送る」という仕組みです。
これによって、データが欠落する可能性を抑えています。

TCPの仕様では、ネットワーク上でセグメントが失われた場合などに再送する仕組みが定義されています。

受信確認

TCPでは、データを受け取った側が「受け取りました」と送信側へ知らせます。
この確認に使われるのがACK(確認応答)です。
送信側はACKなどを利用して、データが正常に受け取られたかを判断します。

このように、TCPは「送って終わり」ではなく、相手とのやり取りを確認しながら通信します。

スポンサードリンク

TCP/IPとは?

TCPを調べると、「TCP/IP」という言葉もよく登場します。

TCP/IPとは、インターネットで通信するために使われるプロトコル群(複数の通信ルールの集まり)のことです。
TCPとIPは、それぞれ異なる役割を持っています。

TCP

データを確実に届けることを担当

IP

データをどのコンピューターへ届けるかを担当

例えるなら、

IP=荷物の宛先を決める
TCP=荷物がきちんと届いたか確認する

というイメージです。

そのため、TCPとIPはセットで説明されることが多く、「TCP/IP」と呼ばれています。

スポンサードリンク

TCPとUDPの違い

TCPと一緒によく登場するのがUDP(User Datagram Protocol)です。
どちらもデータ通信に使われますが、特徴が異なります。

比較項目TCPUDP
信頼性高いTCPより低い
データの順序管理する基本的にしない
再送制御する基本的にしない
接続確立必要基本的に不要
通信速度UDPより処理が増える比較的高速
向いている通信正確さが重要な通信速度が重要な通信

TCPは、多少処理に時間がかかっても「正確に届けたい」通信に向いています。
一方、UDPは、多少のデータ欠落よりも「リアルタイム性を重視したい」通信などに向いています。

例えば、リアルタイム性が重要な音声・映像通信やオンラインゲームなどでは、UDPが利用されるケースがあります。

スポンサードリンク

TCPのメリット

TCPには主に次のようなメリットがあります。

データの信頼性が高い

データの受信確認や再送などによって、正確なデータ通信を実現しやすくなります。

データの順番を管理できる

シーケンス番号を利用して、データを正しい順番で扱えます。

通信状態を管理できる

通信開始時の接続確立など、相手との通信状態を管理できます。

スポンサードリンク

TCPのデメリット

一方で、TCPには注意点もあります。

TCPは、接続確立や受信確認、再送などの処理を行うため、UDPと比べて通信処理が複雑になります。
そのため、とにかくリアルタイム性を優先したい通信では、TCPが必ずしも最適とは限りません。

「正確さを優先するのか」「速度やリアルタイム性を優先するのか」によって、TCPとUDPを使い分けることが重要です。

スポンサードリンク

まとめ:TCPとはデータを確実に届けるための通信プロトコル

TCPとは、Transmission Control Protocolの略で、ネットワーク上でデータを信頼性の高い形で届けるための通信プロトコルです。

TCPには、

  • 通信相手との接続を確立する
  • データの順番を管理する
  • 受信確認を行う
  • 届かなかったデータを再送する

といった仕組みがあります。

特に重要なのが、通信開始時に行われる3ウェイ・ハンドシェイクです。
「TCPとは?」と聞かれたら、まずは、「データを正しい順番で、できるだけ確実に届けるための通信ルール」と答えられるようにしましょう。

TCP/IPやUDP、HTTPなどのネットワーク用語を理解するうえでも、TCPの基本を知っておくことは非常に重要です。

次に下記記事を読むことで、プロトコルの理解をさらに深めることができます。

プロトコルとは?初心者でもわかる意味・種類・具体例をわかりやすく解説
プロトコルとは何かを初心者向けにわかりやすく解説。意味・役割・種類(HTTP、FTP、TCP/IPなど)から具体例まで網羅的に紹介。IT初心者でもすぐ理解できます。
SCPとは?仕組み・使い方・SSHやSFTPとの違いを初心者向けにわかりやすく解説
SCPとは何かを初心者向けにわかりやすく解説しております。SCPの仕組み、SSHとの関係、SFTPとの違い、基本コマンド、メリット・デメリット、よくあるエラーまで図解でわかりやすくイメージできます。
SSHとは?仕組み・使い方・Telnetとの違いを初心者向けにわかりやすく解説
SSHとは何かを初心者向けにわかりやすく解説。SSHの仕組み、できること、Telnetとの違い、公開鍵認証、ポート番号、接続方法まで図解イメージで紹介します。
FTPとは?初心者でもわかる仕組み・使い方・SFTPとの違いを徹底解説
FTPとは何かを初心者向けにわかりやすく解説。仕組み・使い方・FTPSやSFTPとの違い、設定方法まで図解イメージで理解できます。
タイトルとURLをコピーしました