web-dev-qa-db-ja.com

HTTPSはTCPまたはUDPを使用しますか?

HTTPSはTCPまたはUDPを使用しますか?

42
Steven

HTTPSは、あらゆる信頼できるストリームトランスポートプロトコルで実行できます。通常はTCPですが、SCTPの場合もあります。信頼性の低いデータグラムプロトコルであるUDP上で実行することは想定されていません(実際には、正式な名前ではありませんが、それが何であるかを覚えておくための良い方法です)。

UDPのIANA割り当ては歴史的です。当時は、ほとんどすべてのプロトコルにTCPとUDPポート番号の両方が割り当てられていたと想定されていたとしても、両方が割り当てられていました。ポート番号レジストリのマージについての議論は、これからは、1つのポートを1つのプロトコルに割り当てるだけです。これは、本来であれば独自のレジストリが必要になる将来のトランスポートプロトコルを簡単に展開できるようにするためです。その議論がどのように終わったかはわかりません。

41
Andrew McGregor

TCPを使用します。パケットの到着を保証せずにUDPで実行することは困難です。パケットが到着しない場合、暗号化されたデータは解読できません。

33
sybreon

次回は、デフォルトのポートサービスがtcpまたはudpで実行されるかどうか疑問に思っている場合は、Linuxマシンの/ etc/servicesを調べることができます。

12
Deimosfr

現在、HTTPSはTCPまたはUDPのいずれかの上で実行できます。

新しい「QUIC」プロトコルは、複数のTCP=接続を1つの多重UDP接続に置き換えることを目的としているため、SSLおよびHTTPSを処理できます。

HTTPS→SSL→QUICフロー→UDP→IP

QUICは2012年にGoogleによって開発され、IETFの審査を受けています。詳細については、Wikipediaを参照してください。

9
J.P. Tosoni

OSIモデルを使用すると、適切なサービスを提供する基本プロトコル上で上位層プロトコルを実行できます。 HTTPSは、SSL/TLSセキュリティを使用したHTTPです。 SSL/TLS通常はTCPの上で実行されますが、UDP、SCTP、または他のトランスポート層プロトコルで実行することを妨げるものは何もありません。

実際、HTTPS over TCPとUDPはどちらもIANAによって「よく知られている」と定義されており、ポート番号が予約されています。

「公式の」ports/protocolの組み合わせについては http://www.iana.org/assignments/port-numbers を参照してください。

7
pehrs
1