web-dev-qa-db-fra.com

HTTPS utilise-t-il TCP ou UDP?

HTTPS utilise-t-il TCP ou UDP?

42
Steven

HTTPS peut s'exécuter sur n'importe quel protocole de transport flux fiable. Il s'agit normalement de TCP, mais il peut également s'agir de SCTP. Il ne devrait PAS s'exécuter sur UDP, qui est un protocole de datagramme peu fiable (en fait, bien que ce ne soit pas son nom officiel, c'est un bon moyen de se souvenir de ce qu'il est).

L'affectation IANA pour UDP est historique; à l'époque, presque tous les protocoles se voyaient attribuer les numéros de port TCP et UDP, même si l'on s'attendait à ce qu'il n'en utilise qu'un seul. Il a été question de fusionner les registres de numéros de port, et n'attribuer qu'un seul port à un seul protocole à partir d'ici. C'est pour faciliter le déploiement de futurs protocoles de transport qui auraient autrement besoin de leurs propres registres. Je ne sais pas comment cette discussion s'est terminée.

41
Andrew McGregor

Il utilise TCP. Il serait difficile de l'exécuter sur UDP sans la garantie de l'arrivée de paquets. Si les paquets n'arrivent pas, les données chiffrées ne seront pas déchiffrables.

33
sybreon

Pour la prochaine fois, si vous vous demandez si un service de port par défaut s'exécute sur tcp ou udp, vous pouvez regarder/etc/services sur une machine Linux.

12
Deimosfr

De nos jours, HTTPS peut s'exécuter au-dessus de TCP ou UDP.

Le nouveau protocole "QUIC" vise à remplacer plusieurs connexions TCP par une connexion UDP multiplexée, et peut donc gérer SSL et HTTPS:

HTTPS → SSL → Flux QUIC → UDP → IP

QUIC a été développé à l'origine en 2012 par Google et est en cours d'examen par l'IETF. Pour plus de détails, voir Wikipedia.

9
J.P. Tosoni

Le modèle OSI permet aux protocoles de couche supérieure de s'exécuter sur tout protocole sous-jacent fournissant les services appropriés. HTTPS est HTTP utilisant la sécurité SSL/TLS. SSL/TLS fonctionne généralement sur TCP, mais rien ne vous empêche de l'exécuter sur UDP, SCTP ou tout autre protocole de couche transport.

En fait, HTTPS sur TCP et UDP sont tous deux définis comme "bien connus" par l'IANA et ont des numéros de port réservés.

Voir http://www.iana.org/assignments/port-numbers pour les combinaisons ports/protocoles "officiels".

7
pehrs
  • HTTPS est HTTP sur TLS sur TCP sur IP.
  • TLS sur UDP est une implémentation spécifique appelée DTLS ; où le D signifie "Datagramme".
1
Serge Stroobandt