HTTPS utilizează TCP sau UDP? (Administrarea sistemului, Ssl, Https, Tcp, Udp, Tls)

Steven a intrebat.

HTTPS utilizează TCP sau UDP?

6 răspunsuri
Andrew McGregor

HTTPS poate rula pe orice flux fiabil de transport de flux fiabil. În mod normal, acesta este TCP, dar ar putea fi și SCTP. NU este de așteptat să ruleze pe UDP, care este un protocol de datagramă nesigur (de fapt, deși nu este numele său oficial, este o modalitate bună de a ne aminti ce este).

Atribuirea IANA pentru UDP este istorică; la acea vreme, aproape fiecărui protocol i se atribuiau atât numerele de port TCP, cât și UDP, chiar dacă se aștepta ca acesta să folosească doar unul dintre ele. Au existat discuții privind fuzionarea registrelor de numere de port și atribuirea unui singur port unui singur protocol de acum înainte. Aceasta pentru a facilita implementarea viitoarelor protocoale de transport care, în caz contrar, ar avea nevoie de registre proprii. Nu știu cum s-a încheiat această discuție.

Comentarii

  • Majoritatea implementărilor SSL îl expun ca socket SSL, deci implică TCP. Sunt foarte rare cazurile în care se utilizează orice alt transport. –  > Por Nasko.
  • Atenție: acest răspuns este depășit (acum 9 ani). Aruncați o privire la răspunsul despre protocolul QUIC, care este o implementare pe care Google o folosește pentru Chrome. Spuneam și eu așa. –  > Por ivanleoncz.
sybreon

Folosește TCP. Ar fi dificil să ruleze pe UDP fără garanția de sosire a pachetelor. Dacă pachetele nu sosesc, datele criptate nu vor putea fi descifrate.

Comentarii

  • Sau dacă pachetele sosesc în dezordine, deoarece UDP nu conține prevederi pentru reordonarea pachetelor ca TCP. –  > Por janneb.
  • Nu am de gând să te -1 pentru că ar fi un pic pedant, dar merită menționat că nu există niciun motiv pentru care nu ar putea fi rulat pe UDP. Poate fi atipic, dar este posibil. –  > Por ThatGraemeGuy.
Deimosfr

Pentru data viitoare, dacă vă întrebați dacă un serviciu de port implicit rulează pe tcp sau udp, vă puteți uita la /etc/services pe o mașină linux.

Comentarii

  • Sau pe o mașină Windows, într-un prompt de comandă: find "https" %windir%system32driversetcservices –  > Por ThatGraemeGuy.
  • În /etc/services al meu apare și 80/udp. De fapt, multe servicii au alocate ambele porturi, „pentru orice eventualitate”, cred. –  > Por Peter Eisentraut.
  • Iată ce are de spus /etc/services despre această metodă: „oficial, porturile au două intrări chiar dacă protocolul nu suportă operațiuni UDP”. –  > Por De Novo.
J.P. Tosoni

În zilele noastre, HTTPS poate rula fie peste TCP, fie peste UDP.

Noul protocol „QUIC” urmărește să înlocuiască mai multe conexiuni TCP cu o singură conexiune UDP multiplexată și, prin urmare, poate gestiona SSL și HTTPS:

HTTPS → SSL → QUIC flow → UDP → IP

QUIC a fost dezvoltat inițial în 2012 de către Google și este în curs de revizuire de către IETF. Pentru mai multe detalii, consultați Wikipedia.

Comentarii

  • Acesta ar trebui să fie răspunsul, având în vedere scenariul actual. De exemplu, în scopuri experimentale, aș putea bloca doar traficul HTTPS pentru un anumit IP, utilizând DROP ținte pe mangle tabel, utilizând udp protocolul pentru regulă. –  > Por ivanleoncz.
  • +1, nu mă așteptam să învăț ceva când am dat click pe această întrebare. –  > Por T.Coutlakis.
pehrs

Modelul OSI permite protocoalelor de nivel superior să ruleze peste orice protocol subiacent care oferă serviciile corecte. HTTPS este HTTP folosind securitatea SSL/TLS. SSL/TLS de obicei se execută pe TCP, dar nimic nu vă împiedică să îl executați pe UDP, SCTP sau orice alt protocol de nivel de transport.

De fapt, HTTPS pe TCP și UDP sunt ambele definite ca fiind „bine cunoscute” de IANA și au numere de port rezervate.

Consultați http://www.iana.org/assignments/port-numbers pentru combinațiile „oficiale” de porturi/protocoale.

Comentarii

  • A se vedea, de exemplu tools.ietf.org/html/rfc4347 (Datagram Transport Layer Security) pentru modul în care SSL/TLS poate funcționa prin UDP. –  > Por pehrs.
Serge Stroobandt
  • HTTPS este HTTP peste TLS peste TCP peste IP.
  • TLS prin UDP este o implementare specifică numită DTLS; unde D înseamnă „Datagramă”.

Tags:, , , ,