TCP (Transmission Control Protocol) och UDP (User Datagram Protocol) är två av de viktigaste protokollen som används i nätverkssviten Internet Protocol (IP). De används båda för dataöverföring, men de fungerar på olika sätt och har olika styrkor och svagheter.
TCP är ett anslutningsorienterat protokoll. Detta innebär att innan data kan överföras med TCP måste en anslutning upprättas mellan den sändande och den mottagande värddatorn. Denna anslutning upprättas med hjälp av trevägshandskakning. När anslutningen väl är upprättad kan data överföras i båda riktningarna. TCP garanterar att data levereras tillförlitligt, i ordning och utan duplicering. Om någon data går förlorad eller skadas under överföringen kommer TCP automatiskt att återsända den.
UDP är ett anslutningslöst protokoll. Detta innebär att det inte finns något behov av att upprätta en anslutning innan data kan överföras med UDP. Detta kan vara mer effektivt än TCP, särskilt när man skickar små mängder data eller data som inte behöver garanteras tillförlitlig leverans i beställning. UDP garanterar dock inte att data kommer att levereras tillförlitligt, i ordning eller utan dubblering. Om någon data går förlorad eller skadas under överföringen kommer UDP inte automatiskt att återsända den.
Här är en tabell som sammanfattar de viktigaste skillnaderna mellan TCP och UDP:
| Funktion | TCP | UDP |
|---|---|---|
| Anslutningsorienterad | Ja | Nej |
| Pålitlig | Ja | Nej |
| Leverans i beställning | Ja | Nej |
| Garanterat ingen dubblering | Ja | Nej |
| Overhead | Högre | Nedre |
I allmänhet används TCP för applikationer som kräver tillförlitlig leverans av data i ordning, såsom filöverföringar och e-post. UDP används för applikationer som behöver skicka data snabbt och effektivt, såsom VoIP och onlinespel.