Menu

 

Funkcje protokołu TCP

Protokół TCP (Transmission Control Protocol) jest protokołem połączeniowym umożliwiającym wykrywanie błędów na obu końcach połączenia. Połączenie TCP charakteryzuje się możliwością sterowania przepływem, potwierdzania odbioru, zachowania kolejności danych, kontroli błędów i przeprowadzania retransmisji. TCP nie umieszcza automatycznie żadnych znaczników rekordów. Takie podejście jest nazywane usługą strumienia bajtów. Jeśli na jednym końcu aplikacja wyśle 10 bajtów, potem 20, a następnie 50, to aplikacja pracująca na drugim końcu nie jest w stanie powiedzieć, jakie były wielkości poszczególnych fragmentów. Drugi koniec połączenia może otrzymać 80 bajtów (w zależności od swoich potrzeb) na przykład w czterech wczytanych po kolei sekwencjach po 20 bajtów. TCP w ogóle nie interpretuje zawartości przesyłanych bajtów. Nie ma pojęcia o tym, czy wymieniane bajty danych są danymi binarnymi, znakami ASCII lub innymi. Interpretacja tego strumienia bajtów należy do aplikacji uruchomianych na obu końcach połączenia. Blok danych wymieniany między współpracującymi komputerami nosi nazwę segmentu (nagłówek + dane). Funkcje protokołu TCP. - Dane przekazywane przez aplikację są dzielone na fragmenty, które według TCP mają najlepszy do przesłania rozmiar. - Protokół TCP w celu zapewnienia niezawodności wykorzystuje mechanizm potwierdzenia z retransmisją. Kiedy TCP wysyła segment, to jednocześnie uruchamia zegar, który rozpoczyna odliczanie czasu oczekiwania na potwierdzenie odebrania segmentu przez drugą stronę. Jeśli potwierdzenie nie nadejdzie w określonym czasie, segment wysyłany jest powtórnie. Kiedy TCP odbiera dane nadesłane przez drugą stronę połączenia, wysyła wtedy potwierdzenie odbioru. Dane są przesyłane dopóty, dopóki system wysyłający nie otrzyma potwierdzenia, że dane przeszły bezbłędnie. - TCP posługuje się sumami kontrolnymi nagłówka datagramu i danych. Zadaniem sumy kontrolnej jest wykrycie każdej modyfikacji danych w czasie ich przesyłania. Jeżeli segment zostanie nadesłany z niepoprawną sumą kontrolną, TCP odrzuca go i nie potwierdza odbioru (spodziewa się, że wysyłający komputer prześle go po raz kolejny, po odczekaniu określonego czasu). Ponieważ segmenty TCP są przesyłane jako datagramy IP, które mogą być nadsyłane w dowolnej kolejności, to segmenty TCP również mogą nadchodzić w innej kolejności niż zostały wysłane. Strona odbierająca segmenty TCP porządkuje je, jeśli zachodzi taka konieczność i przekazuje do aplikacji. Ponieważ datagramy IP mogą być powielane, odbiorca TCP musi umieć odrzucać zduplikowane dane. - TCP zapewnia kontrolę przepływu. Każdy z końców połączenia TCP ma przestrzeń buforową o skończonej wielkości. Strona odbierająca TCP pozwala stronie nadającej na wysłanie tylko takiej ilości danych, która może być umieszczona w buforze odbiorcy. Taki mechanizm zapobiega przeładowaniu bufora na komputerze odbierającym datagramy.