Aby rzeczywiście zrozumieć różnice pomiędzy protokołem TCP i UDP, należy zrozumieć w jaki sposób one działają, jak realizują usługę dostarczenia informacji i kontrolują przepływ danych.

Protokół TCP

Protokół TCP został pierwotnie opisany w dokumencie RFC 793. Oprócz wspierania podstawowych funkcji segmentacji oraz ponownego składania danych TCP (jak pokazano na rysunku) odpowiada również za:

Ustanawianie sesji

Protokół TCP jest protokołem zorientowanym połączeniowo. Jednym z zadań protokołów zorientowanych połączeniowo jest negocjacja parametrów komunikacji i zestawienie stałego połączenia (sesji), pomiędzy nadawcą, a odbiorcą, przed przekazaniem danych. Proces ustanawiania sesji ma za zadanie przygotować urządzenia do wzajemnej komunikacji. Podczas ustanawiania urządzenia negocjują ilość danych, które zostaną przesłane w określonym czasie. Sesja jest zakończana tylko wtedy, gdy zostanie przesłana uzgodniona wcześniej całość informacji.

Niezawodność dostarczania danych

Protokół TCP może użyć zaimplementowanych narzędzi, zapewniających niezawodność dostarczenia informacji. W terminologii dotyczącej sieci, niezawodność lub gwarantowanie dostarczania danych oznacza zapewnienie, że każdy wysłany segment dotrze do odbiorcy. Ze względu na różne czynniki możliwe jest, że podczas transmisji w sieci, porcja danych ulegnie uszkodzeniu lub całkowitemu zagubieniu. TCP może zapewnić, że wszystkie dane zostaną prawidłowo dostarczone, dokonując retransmisji brakujących lub uszkodzonych fragmentów.

Dostarczanie w odpowiedniej kolejności

W związku z tym, że w sieci dwa różne fragmenty tej samej transmisji mogą zostać transportowane różnymi drogami, różnić się mogą czasy transmisji, a fragmenty danych mogą dotrzeć w złej kolejności. Dzięki numerowaniu i sekwencjonowaniu segmentów, warstwa transportowa może zapewnić, że dane zostaną scalone w odpowiedniej kolejności.

Kontrola przepływu

Hosty sieciowe mają ograniczone zasoby, takie jak pamięć czy przepustowość. Kiedy TCP "zauważa", że zasoby odbiorcy są na wyczerpaniu, może zażądać od nadawcy, aby zmniejszył pasmo transmisji. Dzieje się to poprzez regulację ilości danych, jakie źródło może wysłać w określonym czasie. Kontrola przepływu może zapobiec utracie segmentów w sieci i tym samym ich retransmisji.