≫2021年9月におすすめなVPNサービスはこちら

TCPとUDPの違いとは?わかりやすく解説【VPN利用者向け】

VPNサービスを利用しているんだけど、TCPとかUDPとかよくわからない用語が多くて結局どのプロトコルを使えばいいのか分からない。

このような方へ。

私もVPNサービスを普段から利用しているのですが、細かな設定をしていくとTCPやらUDPやら出てきて、どれを使えばいいのか分からなくなる時があるので、この機会にTCPとUDPの違いを掘り下げて調査してみました。

まず、TCP/UDPはどちらもITの世界における「通信プロトコル(コンピュータ同士が通信をする時のルールのようなもの)」を表す言葉です。

TCPとUDPは一見理解しにくいかもしれませんが、この2つの違いを理解しておけば、VPNサービスをより便利に使えるようになります。

本記事では、IT初心者の方にも分かるように、TCPとUDPがどんな意味を持つ言葉でそれぞれどんな違いがあるのかについて紹介しています。

TCPとUDPにはどんな違いがあるの?

TCPとUDPにはどんな違いがあるの?

まずはTCPとUDPについて簡単に説明していきますね。

  • TCP:Transfer Control Protocolの略で「エラーをチェックし、誤ったデータがあればもう1度送り返す」といった仕組み。メールやWebサイトで良く使われる。
  • UDP:User Datagram Protocolの略で「例え誰も受け取らなかったとしても送られる」といった仕組みです。動画配信サービスおいて良く使われる。


前述した通り、TCPとUDPは、どちらもインターネットプロトコルとして使われています。プロトコルとは、データグラムやパケットを使って、IPアドレスからIPアドレスにデータを分配するために使うものです。

  • データグラム:単純なプロトコルにおけるデータ送信の単位。
  • パケット:信頼性の高いプロトコルにおけるデータ送信の単位。
  • Pアドレス:スマホやパソコンなどの機器に割り当てられるネットワーク上の住所のようなもの。

IT用語が苦手な方だなと思う方は、TCPとUDPの2つの仕組みを「郵便」だと考えてみるとわかりやすいかもです。

  • TCP:郵便局によるチェック済みで、追跡や保険の付いた郵便物を送る仕組み(書留のイメージ)
  • UDP:追跡や保険などの機能がない郵便物を、「目的の相手に届くだろう」と思って送る仕組み。(一般的なハガキのイメージ)

郵便で例えてみると、一見TCPの方が便利に聞こえますが、どちらのプロトコルにもメリット・デメリットがあり、状況によってどちらも使用用途があるんですね。

次に様々な項目におけるTCPとUDPの違いを紹介していきます。

TCPとUDPの主な違いを表で解説

TCPとUDPの主な違いを表で解説

さて、TCPとUDPの基本的な違いについて説明しましたが、もう少し深堀をしてみます。

以下、それぞれの細かい違いについて、項目ごとに表で説明していきます。

TCPの特徴UDPの特徴
データのやり取りに関する制限機器の間で合意が必要であり、やり取りが終わると接続を閉じる必要がある機器の間で、合意は必要ない
効果的な利用状況データ交換において、スピードが重視されず、決められた相手に確実に届けたい時データの交換において、スピードを優先したい時
データの受け取り確認サーバーによって、データが受け取られたかが確認できるデータが受け取られているのか確認する方法がない
データ送信の順番 データの整理整頓がサポートされるため、順番通りに送信・受け取りが可能データが間違った順番で到着する可能性がある
エラーのチェック チェックサム (ファイルのデータが改ざんされていないかを見極める方法)によってサポートされるため、エラーがあれば、破棄され再送信される チェックサムによってサポートされているので、エラーがあれば破棄されるが、再送信する機能はない
データ交換にかかるスピード 様々なチェックが必要なため、UDPよりスピードが遅くなる 細かいチェックがない分、TCPよりもスピードが速い
受け渡しの確実さ 様々なチェックがあるため、全てのデータが順番に送受信されることが保証されてい 順番に送られない可能性や、全てのデータが送られない可能性がある
参考:TCPとUDPの違い

TCPは正確さ重視。UDPはスピード重視といったところですね。

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

ここからは、まだTCPがよく分からないなーという方のために、TCPを「カフェのやり取り」に例えてみます。

今、あなたは行きつけのカフェにやってきました。

あなた「こんにちは。いつものください」

店員さん「いつものね。ちょっと待っててね」

あなたはいつものようにサンドイッチとコーヒーを注文。

しばらくすると、店員さんがサンドイッチを持ってきましたが、一緒に頼んだはずのコーヒーがオーダーミスで忘れられていました。ランチ時で忙しかったのでしょう。

店員さんに確認を取り、すぐにコーヒーを持ってきてもらって解決。サンドイッチとコーヒーを食べ、軽く挨拶を交わし、店を出ます。

日常生活のなんてことない瞬間ですが、TCPは上記と同じような動きをするということです。もう少しかみ砕いて、TCPの動きと上の例を項目ごとに分けると、以下のようになります。

  1. クライアント(他の機器から情報を受け取る側)からサーバー(他の機器に情報を提供する側)にデータが送られ、サーバーがそれに応答。サーバーとクライアントの間でデータ取引の合意がなされる。
    客から店員に注文→お金を払い注文が通る
  2. データ転送が行われ、データが順番に送受信
    注文した商品が到着
  3. 受信者は、データを受信したことを確認
    来た商品が合っているか確認
  4. チェックサム(デジタル指紋のようなもので、ファイルが元のファイルと同じかどうかを確認するために使われる)を使うことで、エラーのあるデータを破棄&再送信
    足りないor間違っている商品があれば、レシートを持って店員さんに確認→正しい商品を持ってきてもらう
  5. データ転送が終了すると、接続が終了
    食べ終えたら、店を出る

ステップを区切るとわかりやすいですよね。

最後に、TCPについてここまで説明したものをまとめると、以下のようになります。

TCPのまとめ
  • TCPは「データの変更やエラーなしにそのまま届くことが保証されているため、信頼性が高い」ため、インターネット上で最も広く使用されているプロトコルとなっている。
  • データが確実に届くので、以下のようなものに使われることが多い。<使用例>ファイルのダウンロード、Webサイトの閲覧、電子メールの送信
  • クライアントとサーバーの間で常に通信が行われているため「TCPのデータ交換はかなり遅くなってしまう」という欠点もある。

それでは次にUDPについて詳しく見ていきます。

UDPの仕組みをわかりやすく解説

TCPと同様に、カフェのシチュエーションで考えてみます。

UDPの場合はかなり非日常な情景ですが、見てみましょう。

あなたは、店に入ってすぐに “サンドイッチとアメリカン”とだけ告げオーダー。

今回は、店員さんに挨拶もせず、注文を受けてくれたかどうかも確認していません。店員さんが「ちゃんと注文を聞いてくれるだろう…」と思っているだけです。ただ注文して、それで終わり。

残念ながら、店内は忙しく店員さんは「あなたがアメリカンではなくカフェラテを注文した」と思いこんでいました。あなたは、渡された袋を受け取るとすぐに帰ってしまったので、間違った商品を受け取ったことに気づくことはありませんでした。

あまり見ることはない光景ではありますが、それはさておき。
重要なのは、UDPの仕組みがこの不愛想な話と似ているという点です。

UDPは、コネクションレス(=お互いの確認がない)のプロトコルでして、受信者と送信者との間で合意が行われません。さらに、データ転送後「サーバーがデータを受信する準備ができていたかどうか」や「データが受信されたかどうか」も確認しません。

なんで確認しないのだろう?

と思うかもしれませんが、UDPは「できるだけ速い通信速度でデータを送るためのプロトコル」として考えられため、パケットにエラーがあった場合でも、チェックサムを使ってエラーデータの破棄やデータの再送信がなされません。

つまり、上の話における「相手があなたを認識していたか」「ちゃんと注文が通ったか」を確認していない状態で「商品の中身を確認せず、持ち帰る」のと同じです。

今回のカフェでの店員さんとのやりとりのように、確認作業などをしていないので、UDPのデータ転送は高速です。しかし、送られるデータパケットを順番に並べる能力がないため、バラバラな状態や間違ったデータで送受信されてしまうことがあります。

以上のことから、UDPは「速度重視で信頼性は後回し」での使用に適しています。

<使用例>音楽、動画配信サービス、ゲームのストリーミング配信など

言い換えると、UDPは「データが一刻を争うような状況」かつ「少々間違いが起きても大した問題ではない」場合に最適です。

まとめ: TCPとUDPの違いはスピードと正確性。目的に応じて使い分けよう。

まとめ: TCPとUDPの違いはスピードと正確性。目的に応じて使い分けよう。

TCPとUDPの間には、大きな違いがあり、それぞれが異なる状況に適しているため、どっちを使えばいいのかは利用状況によります。

  • TCP:スピードよりも正確性重視の場合
  • UDP:正確性よりもスピード重視の場合


VPNサービスを利用している場合は、まずスピードが出るUDPを設定しておき、接続状況が悪い場合はTCPを試してみると調子が良い場合が多いですよ。

プロトコルを変えても思ったようなスピードが出なかったり、動画がブロックされる場合は、VPNサービス自体を変更してみるのも良いかもしれません。

高品質なVPNサービスのランキングは【2021年比較】VPNのおすすめ5サービスを実際に購入してガチで比べてみました!にて詳しく解説しているので、参考にどうぞ。

ランキング1位のVPNサービス:NordVPN

今回は以上です。
お役に立てれば幸いです。


コメント

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