Sobes.tech
Junior

Aké sú rozdiely medzi protokolmi TCP a UDP?

sobes.tech AI

Odpoveď od AI

Najvýznamnejšie rozdiely medzi TCP (Transmission Control Protocol) a UDP (User Datagram Protocol) sú nasledovné:

  1. Vytvorenie spojenia:

    • TCP - protokol s vytvorením spojenia (connection-oriented). Pred odoslaním dát prebieha trojstranné handshake (three-way handshake).
    • UDP - protokol bez vytvorenia spojenia (connectionless). Dáta sa odosielajú bez predchádzajúceho dohodnutia.
  2. Spoľahlivosť doručenia:

    • TCP - spoľahlivý protokol. Zaručuje doručenie, kontrolu poradia paketov a opakované odoslanie stratených dát.
    • UDP - nespoľahlivý protokol. Nezaručuje doručenie, poradie paketov a nevykonáva opakované odoslanie.
  3. Riadenie toku a preťaženia:

    • TCP - má mechanizmy na riadenie toku (zabraňuje odosielaniu dát rýchlejšie, než ich môže spracovať príjemca) a riadenie preťaženia (reguluje rýchlosť odosielania pri preťažení siete).
    • UDP - nemá zabudované mechanizmy na riadenie toku a preťaženia.
  4. Rýchlosť:

    • TCP - kvôli nákladom na vytvorenie spojenia, potvrdenie doručenia a riadenie toku/preťaženia je zvyčajne pomalší ako UDP.
    • UDP - rýchlejší protokol, pretože má menšie náklady.
  5. Veľkosť hlavičky:

    • TCP - veľkosť hlavičky je 20-60 bajtov.
    • UDP - veľkosť hlavičky je 8 bajtov.
  6. Oblasti použitia:

    • TCP - používa sa pre aplikácie, ktoré vyžadujú spoľahlivú doručenie dát: HTTP, FTP, SSH, SMTP.
    • UDP - používa sa pre aplikácie, kde je dôležitá rýchlosť, a strata dát je prípustná alebo sa spracováva na úrovni aplikácie: DNS, DHCP, streaming videa/audia, online hry, VoIP.

Zhrnutá tabuľka:

Príznak TCP UDP
Typ protokolu S vytvorením spojenia Bez vytvorenia spojenia
Spoľahlivosť Spoľahlivý Nespoľahlivý
Poradie doručenia Zaručené Nezaručené
Opakované odoslanie Existuje Neexistuje
Riadenie toku Existuje Neexistuje
Riadenie preťaženia Existuje Neexistuje
Rýchlosť Relatívne pomalý Relatívne rýchly
Veľkosť hlavičky 20-60 bajtov 8 bajtov
Príklady použitia HTTP, FTP, SSH DNS, VoIP, Hry