Transmission Control Protocol 1




Transmission Control Protocol









TRANSMISSION CONTROL
PROTOCOL

 


Do tej pory zajmowaliśmy się usługami zawodnego dostarczania
pakietów, bez użycia połączenia, co stanowi podstawę protokołu
IP. IP nie troszczy się tak naprawdę o dostarczenie
datagramu do adresata, lecz w przypadku odrzucenia datagramu sygnalizuje ten
fakt jako błąd maszynie-nadawcy i uznaje sprawę za załatwioną. Używanie
zawodnego dostarczania bez użycia połączenia do przesyłania dużych porcji danych
jest więc nużące i wymaga od programistów, aby wbudowywali do każdego programu
użytkowego wykrywanie i korekcję błędów. Teraz zajmiemy się przesyłaniem
niezawodnymi strumieniami TCP (ang. Transmission Control
Protocol), które istotnie zwiększa funkcjonalność
omawianych do tej pory protokołów, biorąc odpowiedzialność za wiarygodne
dostarczenie datagramu. Okupione jest to jednak skomplikowaniem protokołu.
Protokół TCP będąc drugą najważniejszą usługą w sieci, wraz z IP dał nazwę
całej rodzinie protokołów TCP/IP.Pomimo związku z protokołem IP - TCP jest
protokołem w pełni niezależnym i może zostać zaadaptowany do wykorzystania z
innymi systemami dostarczania.Możliwe jest używanie go zarówno w pojedynczej
sieci takiej jak ethernet jak i w skomplikowanej intersieci.

Własności usługi
niezawodnego dostarczania

TCP organizuje dwukierunkową współpracę między
warstwą IP, a warstwami wyższymi, uwzględniając przy tym wszystkie aspekty
priorytetów i bezpieczeństwa. Musi prawidłowo obsłużyć niespodziewane
zakończenie aplikacji, do której właśnie wędruje datagram, musi również
bezpiecznie izolować warstwy wyższe - w szczególności aplikacje użytkownika - od
skutków awarii w warstwie protokołu IP. Scentralizowanie wszystkich tych
aspektów w jednej warstwie umożliwia znaczną oszczędność nakładów na
projektowanie oprogramowania.TCP rezyduje w modelu warstwowym powyżej
warstwy IP. Warstwa ta jest jednak obecna tylko w tych węzłach sieci, w których
odbywa się rzeczywiste przetwarzanie datagramów przez aplikacje, tak więc nie
posiadają warstwy TCP na przykład routery, gdyż warstwy powyżej IP nie
miałyby tam nic do roboty.
 
Kanał wirtualny TCP
Rozpatrując TCP z punktu widzenia funkcjonalności można
potraktować jego pracę jako ustanowienie kanału wirtualnego realizującego
komunikację między "końcówkami" - tak wygląda to z punktu widzenia aplikacji
użytkownika.Rzeczywisty przepływ oczywiście odbywa się poprzez warstwę IP i
warstwy niższe.
 

 
Realizacja niezawodnego
połączenia
Aby zagwarantować, że dane przesyłane z jednej maszyny do
drugiej nie są ani tracone, ani duplikowane używa się podstawowej metody znanej
jako pozytywne potwierdzanie z retransmisją. Metoda ta wymaga, aby odbiorca
komunikował się z nadawcą, wysyłając mu w momencie otrzymania danych komunikat
potwierdzenia (ACK). Nadawca zapisuje sobie informację o każdym wysłanym
pakiecie i przed wysłaniem następnego czeka na potwierdzenie. Oprócz tego
nadawca uruchamia zegar w momencie wysyłania pakietu i wysyła ten pakiet
ponownie, gdy minie odpowiedni czas, a potwierdzenie nie nadejdzie.
 

 
Poniższy rysunek pokazuje co się dzieje gdy pakiet został
zgubiony lub gdy przekroczony został limit czasu. Po wysłaniu pakietu nadawca
włącza zegar. Gdy mija określony czas, w czasie którego powinno nadejść
potwierdzenie ACK nadawca przyjmuje, że pakiet został zagubiony i wysyła go
ponownie.
 

 


Wprowadzenie - model OSI | TCP/IP a model
OSI | Adresy
IP | Protokół ARP i
RARP | Internet
Protocol | Kapsułkowanie
i fragmentacja
Protokół ICMP | Protokół
UDP | Multipleksowanie i demultipleksowanie | TCP | Przyszłość
TCP/IP | Autorzy i
bibliografia
 


Wyszukiwarka