Protokół TCP (ang. Transmission Control Protocol) jest odpowiedzialny za bezbłędne dostarczanie informacji. Charakteryzuje się następującymi cechami:

Jednym z mechanizmów zapewniających niezawodność transportu danych jest retransmisja. Polega on na tym, ze odbiorca po odebraniu danych zobowiązany jest do przesłania do nadawcy potwierdzenia odebrania danych. Jeżeli potwierdzenie nie nadejdzie w określonym czasie, to nadawca wysyła dane ponownie.

Rysunek 3 Retransmisja TCP

Jak długo należy czekać na nadejście potwierdzenia?
Jest to ważne pytanie. Jak wiadomo opóźnienia w dostarczaniu pakietów w sieci TCP/IP mogą być znaczne. Gdyby czas oczekiwania był zbyt krótki, to nadawca wysyłał by retransmisje za każdym razem nie mogąc doczekać się na odpowiedz. Skutki takiego postępowania są łatwe do przewidzenia. Dlatego protokół TCP stosuje retransmisje z adaptacja. Polega ona na tym ,ze komputer nadawcy mierzy czas jaki potrzebny jest pakietowi do przejścia do odbiorcy i z powrotem. Na tej podstawie stosując odpowiedni aparat statystyki matematycznej szacowany jest czas potrzebny na oczekiwanie na otrzymanie potwierdzenia od odbiorcy.
Dzięki takiemu rozwiązaniu protokół TCP może optymalizować ruch w sieci. Tam gdzie siec jest bardziej wydajna, a wiec gdzie pakiety wędrują szybciej tam również czas oczekiwania jest mniejszy. W wypadku zagubienia pakietu nadawca decyduje się wiec szybciej na dokonanie retransmisji.

Kolejnym mechanizmem pozwalającym na kontrole przepływu danych stosowanym w protokole TCP jest mechanizm okien.
Każdy z komputerów uczestniczący w połączeniu TCP dysponuje swoim własnym buforem, w którym gromadzi nadchodzące dane. Dane oczekują w buforze na przyjęcie ich przez odpowiednia aplikacje. Bufor ma oczywiście ograniczony rozmiar. Komputer odbiorcy wraz z potwierdzeniem otrzymania danych wysyła dodatkowo informacje o wolnym rozmiarze bufora czyli o oknie.
Jeśli odbiorca nie jest w stanie czytać nadchodzących danych tak szybko jak są one wysyłane, to za którymś razem wyśle do nadawcy informacje o zerowym rozmiarze okna. Jest to sygnał dla nadawcy, ze ma przerwać nadawanie. Przerwa tarwa, aż do momentu, gdy odbiorca ponownie prześle niezerowy rozmiar okna.

Rysunek 4 Wykorzystanie okien TCP

W przykładzie powyżej nadawca otrzymuje propozycje okna o wielkości 2500 oktetów. Nadawca rozpoczyna wysyłanie trzech segmentów 1-1000, 1001-2000 i 2001-2500. Po nadejściu do odbiorcy wysyłane jest potwierdzenie wraz z rozmiarem okna. Ponieważ rozmiar okna osiągnął zero, wiec nadawca czeka z transmisja. Dopiero, gdy odbiorca przeczyta 2000 oktetów wysyła potwierdzenie i nowy rozmiar okna (2000). Po otrzymaniu tego komunikatu wysyła następna nastepna porcje

NASTĘPNA