TCPとUDPの3つの特徴とは?違いを理解して使い分けよう!

TCPとUDPの3つの特徴とは?違いを理解して使い分けよう!のアイキャッチイメージ

TCPとUDPの違いとは?

TCPとUDPというのは、よく対照として引き合いに出されることが多いですが、どちらもトランスポート層のプロトコルとしては同じです。ではこの二つの大きな違いというのはなんでしょうか。先ほども解説した通り、トランスポート層の役割について知ることが重要な鍵となるわけですが、その前にそれぞれの特徴などについて説明します。TCPとUDPの特徴について知ることで、利用する意味が違ってくることを実感してください。

TCPについて

TCPは、Transmission Control Protocolの略で、Transmissionには、伝達や伝送などという意味があります。つまりTCPは伝送を制御する通信プロトコルと訳すことができます。プロトコルというのは、インターネットで通信を行う時に行う約束事のひとつで、通信するときには必ず双方で取り決めする必要があるのです。TCPは、プロトコルを安全に行う取り決めをしたもので、具合的に、通信したものが相手にちゃんと届いているかを都度確認しながら通信していることをいいます。

UDPについて

TCPの対照としてよく比較されるものとして、UDPがあります。UDPはTCPと比較されるだけあって、安全性よりも速度を重視した通信プロトコルです。TCPは確実にデータが届いているかどうかをいちいち確認しますが、UDPはちゃんと送れているかの確認をしません。相手側に届いていてもいなくてもあまり問題がなく、スピードを重視しているものに利用されることが多い通信プロトコルです。裏返してみると届かなくてもいいということになります。

TCPとUDPの各特徴3つ

このようにTCPとUDPには、大きな違いがあります。それぞれの各特徴を詳しく確認することで、それぞれの特性について考えてみましょう。TCP、UDP、それぞれ具体的に3つずつ特徴をご紹介します。そして、それぞれの仕組みについて比較していくことによって理解をより深めることができるようになります。また、そこからそれぞれのメリットやデメリットを知ることができます。

TCPの3つの特徴

TCPにはさまざまな特徴があり、その機能の役割をそれぞれが果たしています。安全で信頼性の高いTCPですが、それを実現させているのは、以下の特徴によって実現することが可能だからです。いったいなぜTCPが安全であるのかを、明確に知ることで、より安心して利用することができるようになるでしょう。下記にTCPにおける3つの大きな特徴をご紹介します。

TCPの特徴1:コネクション型プロトコル

TCPはコネクション型のプロトコルであるということに大きな特徴をもっています。TPCは通信を始める前に、通信する相手とまずコネクションを確立させます。それはTCPが全二重通信という特徴をもっているために必要な事柄で、伝送する相手ときちんとコネクションを確立させることで、通信が相手にちゃんと届いているかどうかを確認させるのです。送受信した際、届いたことを確認した際の3ウェイハンドシェイクという手順で行われます。

TCPの特徴2:信頼性が高い

TCPは、このように双方で送受信がきちんと行われていることを、逐一確認し合う方法に基づいて起動していますので、当然、信頼性の高いデータ伝送のプロトコルといえます。送信する通信データにはヘッダが付与され、そのヘッダにはセグメントごとに付けられたシーケンス番号や、確認応答番号、受信が可能なセグメント量を示したフィールドなどが用意されています。このような万全な機能を備えているTCPは安全であることは明らかです。

TCPの特徴3:ウィンドウ制御や再送制御・輻輳制御を行う

TCPは全二重通信によって、安全で信頼性の高いプロトコルではありますが、ネットワークの状況によっては、通信のセグメントが順番通り正しく伝送されなかったり、途中で消失してしまったりすることがあります。そういったときのために、TCPは、これらの問題を解決するために、ウィンドウ制御、セグメントの再送制御、輻輳制御(ネットワークの混雑を回避)、送信するセグメントの量を制御など、制御機能を備えています。

UDPの3つの特徴

安全を重視したTCPに比べて、UDPはとにかくスピードを重視しています。そのUDPの特徴についても細かく確認してみましょう。UDPはいったいどのような特徴や性質があり、早く送信することができるのでしょうか。UDPの3つの特徴について詳しくご紹介していきます。

UDPの特徴1:処理が簡単で遅延が少ない

UDPはスピードを重視し、遅延を少なくさせるために、処理が簡単であることが特徴としてあげることができます。TCPは「データを送る」「受け取る」そして、「受け取ったかどうかの確認」など、データが届いているかの確認を行いますが、UDPはそれらの作業は行いません。送信側はデータを送ったら送りっぱなしで相手側にちゃんと届いたかどうかという確認を行わないので、処理はとても簡単で、遅延ということはほとんどありません。

UDPの特徴2:コネクションレス型プロトコル

UDPはスピードを重視させるために、極力で単純な機能でデータ伝送を行うため、TCPのように何度も確認作業は行いません。TCPはコネクション型のプロトコルで、データを伝送するごとにコネクションを確立し、送信側と受信型の間で、データの送受信の確認を行います。しかしUDPはこれらの機能を排除して、送信するという行為についてのみ目的としているため、いわゆるTCPに対抗し、コネクションレス型プロトコルと呼ばれています。

UDPの特徴3:信頼性を確保する仕組みがない

UDPには、信頼性を確保するための仕組みはありません。UDPはスピードを重視するために、双方の確認をすることなく伝送を行い、TCPのように制御機能の仕組みが備わっていないため、ちゃんとデータが届くかはわかりません。UDPは、安全性には保証することはできず、信頼のできないデータ伝送を行います。受信側が一方的に、相手に届いているかどうかわからなまま、話し続けているイメージです。

TCPとUDPの違い

TCPとUDPは、どちらも通信プロトコルということは同じですが、この二つの大きな違いは、重視している目的です。TCPは、データ伝送が安全であることに重点を置いており、UDPは、スピードに重点を置いています。その目的のために、特徴や用途に大きな違いがあります。

TCP UDP
通信方式 コネクション型 コネクションレス型
信頼性 高い 低い
転送速度 遅い 早い
上位プロトコル HTTP、Telnet、FTP、POPなど DNS、NTP、DHCP、SNMPなど
特徴 ポート番号を利用した上位プロトコルへの受け渡し、 コネクションの確立・維持・切断、 制御機能(順序制御・再送制御・ウィンドウ制御・フロー制御) ポート番号を利用した上位プロトコルへの受け渡し、 オーバーヘッドが少ない 信頼性がない(パケットロスしても再送しない)
用途 Web通信、メール通信、ファイルの転送、共有 通話、動画ストリーミング、少量のデータ転送、マンチキャスト通信、ブロードキャスト通信

TCPとUDPは用途に合わせて使い分けよう!

TCPとUDPの大きな違いはやはりその信頼性とスピードです。そのためUDPは、多少欠けてしまっても丈夫で問題のないようなデータで送るようにし、欠けては困るデータはTCPで送るようにします。例えば、ビジネス等で必要な契約書等や欠けてはいけない資料はTCPで送ります。また印刷する資料のデータや音楽のストリーミングの配信など、データが多少欠けてしまうことよりもスピードの方に重点を置いているような伝送にはUDPを利用します。