Frage Verwendet HTTPS TCP oder UDP?


Verwendet HTTPS TCP oder UDP?


36
2018-01-03 08:36


Ursprung




Antworten:


HTTPS kann über alle laufen zuverlässiger Strom Transportprotokoll. Normalerweise ist das TCP, aber es könnte auch SCTP sein. Es wird NICHT erwartet, dass UDP überläuft, was ein unzuverlässiges Datagramm-Protokoll ist (in der Tat, obwohl das nicht sein offizieller Name ist, ist das ein guter Weg, sich daran zu erinnern, was es ist).

Die IANA-Zuweisung für UDP ist historisch; Zu dieser Zeit wurde fast jedem Protokoll sowohl die TCP- als auch die UDP-Port-Nummer zugewiesen, auch wenn man davon ausging, dass es nur eine verwenden würde. Es wurde diskutiert, die Portnummernregistrierungen zusammenzuführen, und von da an nur einen Port einem Protokoll zuzuordnen. Dies erleichtert die Bereitstellung zukünftiger Transportprotokolle, für die sonst eigene Registrys erforderlich wären. Ich bin mir nicht bewusst, wie diese Diskussion endete.


36
2018-01-03 11:23



Die meisten SSL-Implementierungen stellen es als SSL-Socket zur Verfügung, also impliziert es TCP. Es kommt sehr selten vor, dass andere Transportmittel verwendet werden. - Nasko
Warnung: Diese Antwort ist veraltet (vor 9 Jahren). Sehen Sie sich die Antwort zum QUIC-Protokoll an, einer Implementierung, die Google für Chrome verwendet. Sag es einfach. - ivanleoncz


Es verwendet TCP. Es wäre schwierig, es auf UDP auszuführen, ohne dass die Pakete ankommen. Wenn die Pakete nicht ankommen, sind die verschlüsselten Daten nicht entzifferbar.


32
2018-01-03 08:46



Oder wenn die Pakete außer Betrieb kommen, da UDP keine Vorkehrungen zum Neuordnen von Paketen wie TCP enthält. - janneb
Ich werde nicht zu dir gehen, weil es etwas pedantisch wäre, aber es ist erwähnenswert, dass es keinen Grund gibt, warum es nicht über UDP laufen könnte. Es kann atypisch sein, aber es ist möglich. - ThatGraemeGuy


Wenn Sie sich das nächste Mal fragen, ob ein Standard-Port-Dienst auf tcp oder udp ausgeführt wird, können Sie / etc / services auf einem Linux-Rechner betrachten.


11
2018-01-03 08:48



Oder eine Windows-Maschine, in einer Eingabeaufforderung: find "https" %windir%\system32\drivers\etc\services - ThatGraemeGuy
Meine / etc / services listet auch 80 / udp auf. Tatsächlich haben viele Dienste beide Ports zugewiesen, "nur für den Fall", denke ich. - Peter Eisentraut


Das OSI-Modell ermöglicht es, Protokolle höherer Schichten über jedes zugrunde liegende Protokoll zu führen, das die richtigen Dienste bereitstellt. HTTPS ist HTTP, das die SSL / TLS-Sicherheit verwendet. SSL / TLS typisch läuft über TCP, aber es gibt nichts, was Sie daran hindern könnte, es auf UDP, SCTP oder einem anderen Transportschichtprotokoll auszuführen.

In der Tat sind HTTPS über TCP und UDP beide von der IANA als "gut bekannt" definiert und haben Portnummern reserviert.

Sehen http://www.iana.org/assignments/port-numbers für die "offiziellen" Ports / Protokoll-Kombinationen.


6
2018-01-03 10:23



Siehe zum Beispiel tools.ietf.org/html/rfc4347 (Datagram Transport Layer Security), wie SSL / TLS über UDP laufen kann. - pehrs


Heutzutage kann HTTPS entweder über TCP oder UDP laufen.

Das neue "QUIC" -Protokoll zielt darauf ab, mehrere TCP-Verbindungen durch eine gemultiplexte UDP-Verbindung zu ersetzen und kann daher mit SSL und HTTPS umgehen:

HTTPS → SSL → QUIC-Fluss → UDP → IP

QUIC wurde ursprünglich im Jahr 2012 von Google entwickelt und wird derzeit von der IETF überprüft. Für weitere Details, siehe Wikipedia.


5
2017-11-22 09:11



Dies sollte angesichts des aktuellen Szenarios die Antwort sein. Zum Beispiel konnte ich zu Testzwecken nur den HTTPS-Verkehr für eine bestimmte IP-Adresse blockieren DROP Ziele auf mangle Tabelle, mit udp Protokoll für die Regel. - ivanleoncz
+1, hat nicht erwartet etwas zu lernen, wenn Sie auf diese Frage klicken. - T.Coutlakis


  • HTTPS ist HTTP über TLS über TCP über IP.
  • TLS over UDP ist eine spezifische Implementierung namens DTLS; wo steht das D für "Datagram."

0
2018-05-21 22:34