OpenVPNのTCP対UDP:違いは何であり、どちらを選ぶべきか?

Shanika W.

By Shanika W. . 14 2月 2024

サイバーセキュリティアナリスト

Miklos Zoltan

Fact-Checked this

定期的にVPNを使用しているなら、ほとんどすべてのVPNベンダーがOpenVPNプロトコルを提供していることを知っているでしょう。OpenVPNは、セキュアで信頼性の高いオープンソースソリューションです。

トランスミッションコントロールプロトコル(TCP)とユーザーデータグラムプロトコル(UDP)は、インターネットプロトコルの上に構築され、インターネットを通じてデータパケットを送信するためのプロトコルです。これらは、OpenVPNが操作できる主なトランスポートでもあります。両方のネットワークプロトコルはプライバシーとセキュリティを提供します。

多くのVPNベンダーは、ユーザーが使用するプロトコルを選択できるようにしています。はい、それぞれに利点と欠点がありますが、どのプロトコルを使用するかを選択することは完全にあなたの好みに依存します。どちらのオプションもすべての面で他を上回るわけではありませんが、最適なものを選択する前に、使用法とセキュリティのニーズを考慮するべきです。

この記事では、オプション、利点、欠点、および特定のプロトコルを使用するタイミングについての基本的な理解を提供します。

要約:この記事では、インターネットを通じてデータパケットを送信するための2つの主要なプロトコル、トランスミッションコントロールプロトコル(TCP)とユーザーデータグラムプロトコル(UDP)について話します。

両方のプロトコルはプライバシーとセキュリティを提供し、OpenVPNによって使用されます。TCPは、安定した接続を確保し、データ配信を保証する接続指向のプロトコルです。

UDPは、TCPよりも速いが信頼性に欠ける接続なしのプロトコルです。どちらを選択するかは、あなたの好みとニーズに依存します。

この記事は、各プロトコルの利点と欠点を詳しく見て、情報に基づいた決定を下すのに役立ちます。

OpenVPNのTCP対UDP

Transmission Control Protocol (TCP) への導入

TCPは、ネットワーク内のデバイス間の通信を可能にするステートフルまたはコネクション指向のプロトコルです。アプリケーション層からメッセージを受け取ると、それらをパケットに分割してネットワークに転送します。

TCPは、パッケージの転送が完了するまで、接続が確立され維持されることを保証します。これがコネクション指向である理由です。

一方の端でパケットが受信されると、送信側は次のパケットを送信する前に受信側からの確認を待ちます。このデータ受信の保証により、このVPNプロトコルは最も信頼性の高いものとされています。

ここでは、TCPが提供する利点を見てみましょう。

TCPの利点

  • コネクション指向 – TCPはコネクション指向またはステートフルプロトコルとして知られています。接続を確立し、受信者がメッセージ送信を完了するまでセッション全体を通してそれを維持します。
  • 確認応答のシーケンス – TCPはその確認応答のシーケンス動作で知られています。次のデータパケットを送信する前に、他端からの確認を待ちます。待機時間が終了しても確認が受信されない場合、同じパケットを再送します。
  • セグメントのシーケンシング – メッセージはパケットに分割され、それらに番号が付けられます。TCPは、送信前に正しい順序でそれらを再構成します。ネットワーキングの問題によりパケットが不正確に受信された場合でも、番号が付けられているため、送信者は簡単に順序を整えることができます。
  • 厳格なファイアウォールのバイパス – TCP VPNトンネルを使用すると、最も厳格なファイアウォールでさえも簡単にバイパスできます。80や443のような一般的なポートで動作するため、通常はブロックされません。
  • 高い互換性 – TCPはインターネットで最も広く使用されているプロトコルであり、ほぼすべてのネットワークがそれとの広範な互換性を確保しています。

はい、TCPはその任務を果たすことができますが、考慮すべきいくつかのデメリットもあります。

TCPのデメリット

  • 高いオーバーヘッドと遅延 – TCP接続にはかなりのオーバーヘッドがあり、送信される各パケットに対して確認が必要です。受信者は他のデータを受信するために常に送信者に確認を送る必要があります。
  • また、ライブ会議やVoIPで接続のロスを経験している場合、TCPは失われたデータを再送信し続けるため、耐えがたい痛みになります。つまり、TCPを使用している場合、データを受信する際にある程度の遅延やラグが発生します。

TCPについての結論

TCPはインターネット上で最も信頼性が高く、最も一般的に使用されるプロトコルです。これがTCPをUDPよりも選ぶ十分な理由かもしれません。

これは主に、TCPのエラー訂正およびデータストリーム制御メカニズムによるものです。これらは、送信者が送信したパケットが、意図した受信者によって順序良く、破損することなく受信されることを保証します。

これが、接続をエラーのないものにします。

前述のように、TCPは受信者によるパケットの成功した受信の確認を待ってから、次のパケットを送信します。

言い換えれば、TCPにはメッセージを確実に配信する信頼性があります。したがって、信頼性の高い、安定した接続を求めている場合、TCPが理想的かもしれません。

User Datagram Protocol (UDP) への導入

TCPの速度の問題のために、OpenVPN以外のプロトコルを好むかもしれません。UDPは、TCPで特定のステップを省略できるため、良い代替手段になる可能性があります。

UDPもまた、インターネットプロトコルの中で人気がありますが、特定の状況でのみ使用されます。UDPとTCPの主な違いは、UDPにはエラー訂正メカニズムがないことです。

UDPは状態レスまたはコネクションレス通信とみなされ、送信者と受信者の間で接続を設定するための事前の通信は必要ありません。

UDPは、データの整合性をチェックするためのチェックサムと、データの受信側での機能を担うためのポート番号を提供します — この場合はデータグラムです。

ここで、UDPが提供するさまざまな利点を見てみましょう。

UDPの利点

  • ストリーミングやオンラインゲームに適している – UDPは、ゲーミングやVoIP、ビデオやオーディオのストリーミングなど、低遅延が求められるアプリケーションに理想的です。接続が途切れることがあっても、タイムセンシティブなデータの送信に遅延が生じるよりも、データの損失がある方がましです。
  • 高速性とパフォーマンス – UDPではデータ送信に関わるステップが少ないため、TCPよりもはるかに速いです。ここでは、接続を続けるための確認が不要で、データをより速く受信・送信できます。
  • 帯域幅の節約 – UDPにはエラー訂正が関与していません。データパケットが途中で失われたとしても、再送信は行われません。これにより、多くの帯域幅を節約できます。

高速性は良いことですが、それにはどのようなコストが伴うのでしょうか?それでは、UDPのデメリットを確認しましょう。

UDPのデメリット

  • 信頼性のない接続 – ここでは、接続を確立する前や接続を管理する過程でのハンドシェイク(相互確認)ダイアログが行われません。したがって、接続は信頼性がなく、基盤となるネットワークの脅威にさらされます。
  • データパケットの損失 – UDPでは、データグラムの成功した配信や順序付けが保証されません。これが、エラー訂正機能がないと言われる理由です。データの損失を経験するかもしれませんが、TCPのように再送信されることはありません。
  • 互換性の低さ – インターネット検閲国では、VPNトラフィックがブロックされます。UDP上のOpenVPN接続は制限されているため失敗する可能性があり、それを使ってファイアウォールをバイパスするのは容易ではありません。

UDPについての結論

今や明らかなように、UDPによる高速接続を選ぶことには、その結果が伴います。高性能と高速プロトコルを求めていない限り、TCPを選ぶ方が良いかもしれません。

TCPデータグラムとは異なり、UDPデータグラムには受信したパケットを順序付けるためのシーケンス番号が含まれていません。そのため、ユーザーは他のアプリケーションとUDPを使用してデータパケットを再順序する可能性が高いです。

しかし、ゲーム、ライブ会議、VoIPなどのリアルタイムサービスを利用している場合は、UDPに切り替える方が良いでしょう。そうすることで、遅延データの処理を回避し、高性能を享受できます。

OpenVPNを含む、いくつかの最速のVPNベンダーがデフォルトの設定プロトコルとしてUDPを選択しているのも不思議ではありません。OpenVPN自身がこれら二つのプロトコルについて何を言っているか見てみましょう:

どちらを選ぶべきか? TCPかUDPか?

再び、それはあなたの要件に依存します。

信頼性と速度の間にはトレードオフが存在します。例えば、速度が最優先事項である場合、UDPが最適な選択です。HD映画のストリーミングやオンラインゲームはUDPでずっと扱いやすくなります。

信頼性を優先するならば、TCPを選んでください。データ転送が遅くなるかもしれませんが、TCPは多くのインターネットサービスで使用されており、多くの人々に信頼されています。

接続問題を経験したときには、デフォルトのUDP設定をやめてTCPに切り替えることもできます。

しかし、接続タイプが多くの接続問題の原因であるというよりは、ISPがVPNポートをブロックしているために、プロトコルを変更する前にポートを変更してください。

TCPでの遅い転送は、VPNサーバーからの距離にも依存するかもしれません。あなたに最も近いVPNサーバーを選択すれば、遅い接続はかなり減少するでしょう。

ExpressVPNのOpenVPN設定

ExpressVPNは業界で最も優れたVPNプロバイダーです。多くのVPNアプリケーションと同様に、ExpressVPNもプロトコルオプションが「自動」に設定されている場合はデフォルトでOpenVPNを使用します。ExpressVPNのウェブサイトでは、設定を変更することで最適なプロトコルを選択できることをユーザーに提案しています。これはただの2ステップのプロセスです:

1. オプションに行く。

2. 好みのプロトコルを選択する。

OpenVPNをTCPポート443で利用することと政府による検閲

検閲

OpenVPNをTCP上で動かすことには、さらなる利点もあります。これは、TCPポート443を使用して政府の検閲を回避する方法についてです。

中国のように、インターネットを検閲し、市民のインターネットトラフィックを追跡することを好む国々があることは、多くの人が知っています。これらの政府は、自分たちのポリシーに従わない、または自分たちの信条を共有しないサイトをブロックします。

幸いなことに、OpenVPNをTCP上で使用すれば、政府があなたを止めることはほぼ不可能になります。これが、多くの人がVPNを使用する理由です:政府のファイアウォールを回避するため。これらの政府もこの対策を知っているため、VPNもブロックします。

安全なウェブサイトがURLをHTTPS://で始めるのを見たことがあるでしょう。彼らはSSLまたはSecure Socket Layer、サーバーとユーザー間で送信されるデータを暗号化する標準的なセキュリティ技術を使用しています。現在、ほぼすべてのウェブサイトがSSLを使用しています。

SSLを使用するウェブサイトの高い普及率のため、この技術を使用するウェブサイトはブロック不可能であると信じられています。中国でさえも、それらをブロックすることは困難でしょう。

OpenVPNの構築にOpenSSLライブラリが使用されているため、TCPをポート443で動作させる設定はとても簡単です。しかし、これが最も興味深い部分ではありません。最高の部分は、SSLがただのどのプロトコルやポートを使用しているわけではなく、TCPプロトコルをポート443で使用していることです。

ですから、VPNがポート443上のTCPを介してOpenVPNを使用している場合、あなたのVPNトラフィックは通常のSSLトラフィックのように見えます。データは暗号化されているため、識別する方法はありません。

TCPポート443上でOpenVPNを動作させることは、あなたの全体的なセキュリティとデジタル防御の強度を大幅に向上させます。

最終的な考え

データパケットの確実な配送、信頼性、エラー訂正などが提供される限り、TCPは支配的なプロトコルです。

しかし、コスト、すなわち遅延と追加のオーバーヘッドを念頭に置いてください。信頼性がなく、接続なしのUDPをデフォルトの設定として使用しているVPNプロバイダーもあります。

理想的な選択をすることは複雑である必要はありません。速度を優先するか、信頼性を優先するかによって異なります。

Leave a Comment