OpenVPN TCP対UDP
更新日 2026年9月21日 · 調査方法について
OpenVPNはトンネルをUDPでもTCPでも運べます。この選択はセキュリティの問題ではなく — 暗号化は同一です — パケットが失われたときにトランスポートがどう振る舞うかの問題です。
核心的な違い
UDPはパケットを送るだけで、届いたかどうかは気にしません。TCPは到達と順序を保証し、失われたものを再送します。VPNトンネルの内側では、この保証がかえって足かせになります。トンネル内のアプリも通常はTCPを使っているからです。
TCP-over-TCPによる性能低下
TCPのトンネルがTCPの通信を運ぶとき、両方の層がそれぞれ独自の再送タイマーを動かします。損失の多い回線では、外側がすでに再送しているのに内側の接続がさらに再送を要求し、キューが積み上がって、スループットは回線が本来出せる水準を大きく下回るところまで落ち込むことがあります。多くのVPNでUDPが既定である理由はここにあります。
それぞれをいつ使うか
一般的な好みではなく、いま使っているネットワークに合わせてトランスポートを選んでください。
| 状況 | 用途 | 理由 |
|---|---|---|
| 自宅の固定回線、通常の利用 | UDP | 遅延が小さく、二重の再送も起きません |
| ストリーミングやゲーム | UDP | 確実な到達よりも遅延とジッターのほうが重要です |
| UDPを遮断するホテル、空港、学内のWi-Fi | ポート443のTCP | 通常のHTTPSに見え、フィルタリングされることはほとんどありません |
| 損失の非常に多いモバイル回線 | 両方を試す | TCPは不安定な回線を安定させることもあれば、はるかに悪化させることもあります |
| 厳格な社内プロキシの内側 | ポート443のTCP | そもそもインターネットに届く唯一のトランスポートであることも多いです |
実際に使われるポート
OpenVPN UDPは通常ポート1194で動作します。OpenVPN TCPはHTTPSのポートである443で提供されることが多く、ほぼすべてのネットワークがこれを通さざるを得ないためです。443でVPNを動かすこと自体は難読化ではありません — ディープパケットインスペクションはOpenVPNのハンドシェイクを見分けられます — が、単純なポート遮断は突破できます。より深く検査するネットワークについては難読化をご覧ください。
自分にとってどちらが良いかを確かめる方法
- 最寄りのサーバーにUDPで接続し、ページがすぐ表示されるかを記録します。
- 同じサーバーに対してTCPでも同じ確認を行い、トランスポートだけが変わるようにします。
- ネットワークが混雑している時間帯にも繰り返してください。TCPの問題は負荷がかかったときに現れます。
- 一度の測定を信じるのではなく、観察した内容を記録してください — VPNのテスト方法をご覧ください。
ZoogVPNによれば
ZoogVPNはOpenVPNをUDP版とTCP版の両方で、Windows、macOS、iOS、Android、Linux、ルーター向けに提供しており、TCP版をファイアウォールのある環境で信頼できる選択肢と説明しています。