A TCP és az UDP közötti különbségek tényleges megértéséhez tisztában kell lenni azzal, hogy az egyes protokollok miként valósítanak meg bizonyos megbízhatóságot szolágló funkciókat, illetve hogyan követik nyomon a kommunikációt.
TCP (Transmission Control Protocol)
A TCP leírását először az RFC 793 szabványtervezetben adták meg. Ahogy az ábrán is látható, az adatok szegmentálását és ismételt összeállítását támogató alapfunkciókon felül a TCP az alábbiakat is biztosítja:
- Összeköttetés alapú párbeszéd, munkamenetek létesítésével.
- Megbízható kézbesítés.
- Adatok sorrendben történő újraépítése.
- Adatfolyam-vezérlés.
Munkamenet létesítése
A TCP egy összeköttetés alapú (connection-oriented, kapcsolatorientált) protokoll. Az összeköttetés alapú protokoll még a forgalom megkezdése előtt egyezteti, majd létrehozza a forrás- és céleszközök közötti állandó kapcsolatot (más néven munkamenetet). A munkamenet létrehozása felkészíti az eszközöket az egymással történő kommunikációra. A munkamenet létrehozása során az eszközök egyeztetik az adott idő alatt továbbítható forgalom mennyiségét, valamint szorosan felügyelik a két fél közötti adatkommunikációt. A munkamenet csak az összes kommunikáció befejeződése után szüntethető meg.
Megbízható kézbesítés
A TCP által használt módszer biztosítja az adatok megbízható szállítását. Hálózati szempontból a megbízhatóság azt jelenti, hogy a forrás által küldött minden egyes adatszelet célba érkezik. Számos oka lehet annak, hogy a hálózaton keresztül átvitt adatszeletek megsérülnek vagy teljesen elvesznek. A TCP azzal képes garantálni, hogy az összes szelet célba érjen, hogy a forráseszközzel újraküldeti az elveszett vagy megsérült adatokat.
A sorrend megtartásával történő kézbesítés
Mivel a hálózatok számos, különböző átviteli sebességgel rendelkező útvonalat kínálnak, előfordulhat, hogy az adatok rossz sorrendben érkeznek meg. A TCP a szegmensek megszámozásával és sorba rendezésével képes garantálni, hogy azok a megfelelő sorrendben legyenek újra összeállítva.
Adatfolyam-vezérlés (Flow Control)
A hálózati állomások korlátozott erőforrásokkal (pl.: memória, sávszélesség) rendelkeznek. Ha a TCP értesül ezen erőforrások túlzott mértékű igénybevételéről, kérheti, hogy a küldő alkalmazás csökkentse az adatátvitel sebességét. Ezt a TCP a forrás által küldött adatmennyiség szabályozásával éri el. Az adatfolyam-vezérléssel megelőzhető az adatszegmensek elvesztése a hálózaton, így elkerülhető az újraküldés.