Analiza procesu komunikacji

Artykuł  | Damian Stelmach

Przyjrzyjmy się teraz procesowi komunikacji z wykorzystaniem modelu TCP/IP. Jak już wspomniałem wcześniej model ten opisuje działanie protokołów, które tworzą tzw. zestaw protokołów, nazywany czasem również stosem protokołów. Skąd taka nazwa? Już tłumaczę, kiedy chcemy wyświetlić jakąś stronę internetową, to najpierw warstwa aplikacji skorzysta z protokołu HTTP, dalej w warstwie transportu wykorzystuje się protokoły tej warstwy np. TCP lub UDP, następnie w warstwie internetowej protokół IP, a w warstwie dostępu do sieci np. standard Ethernet. Komunikacja opiera się na całym zestawie protokołów, ułożonych w stos, jeden pod drugim. Dopiero wykorzystanie całego stosu protokołów do komunikacji gwarantuje jej poprawność.

Proces komunikacji

Na początek użytkownik sieci tworzy dane w warstwie aplikacji, może to być zapytanie do serwera WWW, może to być także napisanie jakiejś wiadomości w komunikatorze. Potem dane przekazywane są w dół stosu, najpierw do warstwy transportowej gdzie następuje ich podział na mniejsze fragmenty, potem do warstwy internetowej, gdzie nadawany jest adres pozwalający przesłać dane przez sieć rozległą. Następnie trafiają one do warstwy dostępu do sieci, gdzie po raz kolejny nadawany jest adres, tym razem adres urządzenia w sieci lokalnej. Na koniec dane wprowadzane są do medium transmisyjnego i przesyłane poprzez urządzenia pośredniczące do urządzenia końcowego, w którym to dane przechodzą w górę stosu, składane są ponownie w całość i przekazywane do warstwy aplikacji.

Zapamiętaj
Proces przesyłania danych od hosta źródłowego do docelowego, polega na przepływie danych przez warstwy na urządzeniu źródłowym, potem następuje ich kodowanie i przesłanie za pośrednictwem medium transmisyjnego do urządzenia docelowego, w którym to proces jest odwracany i dane przechodzą w górę stosu.

Zanim nieco bardziej zgłębimy się w analizę procesu komunikacji, musimy wspomnieć o jeszcze jednej, bardzo ważnej kwestii. Aby dane mogły trafić do odpowiedniego hosta i aplikacji oraz w miarę możliwości w niezmienionej postaci opatrywane są odpowiednimi informacjami, nazwijmy je sterującymi.

Informacje te dodawane są w trzech warstwach. W warstwie transportu dodawany są numery portów aplikacji (port aplikacji na hoście źródłowym oraz port aplikacji hoście docelowym), w warstwie internetowej czy też sieciowej adresy IP (również hosta źródłowego i docelowego) , a w warstwie dostępu do sieci lub łącza danych adresy MAC (hosta źródłowego oraz rutera sieci lokalnej). Cały proces przechodzenia danych przez warstwy w dół stosu, ich podział na mniejsze fragmenty oraz dodawanie informacji sterujących (tych dodatkowych danych) nazywany jest enkapsulacją. Istnieje oczywiście również proces odwrotny, pozwalający na usuwanie tych dodatkowych informacji na urządzeniu docelowym i nazywany jest procesem dekapsulacji.

Zapamiętaj
Przepływ danych przez warstwy na urządzeniu źródłowym, opatrywanie ich informacjami pozwalającymi zidentyfikować aplikację i urządzenie docelowe to enkapsulacja, natomiast proces odwrotny, czyli przepływ danych w górę warstw i usuwanie tych dodatkowych informacji na hoście docelowym to dekapsulacja.

Dodawanie tych informacji sterujących, osobno w każdej z warstw powoduje, że zmienia się trochę ich struktura, jest to logiczne skoro dodajemy do danych jakieś informacje, których wcześniej tam nie było. W związku z tym zmienia się również nazewnictwo zbioru danych. Ogólnie dane przesyłane przez sieć nazywane są jednostkami PDU (ang. Protocol Data Unit), natomiast podczas przechodzenia przez poszczególne warstwy ich nazwy się zmieniają, i tak: w warstwie aplikacji jednostkę PDU będziemy nazywać po prostu danymi. Dalej w warstwie transportu jednostkę PDU nazywać będziemy segmentem lub datagramem w zależności od zastosowanego protokołu tej warstwy. Jednostka PDU w warstwie internetowej to już pakiet, natomiast w warstwie dostępu do sieci będziemy mieli ramkę. Takie samo nazewnictwo będziemy stosować podczas analizy komunikacji z wykorzystaniem modelu ISO/OSI.

Komentarze

Czy macie jakieś uwagi, pytania, sugestie? A może zauważyliście literówkę albo błąd? Dajcie koniecznie znać w komentarzach. Dziękujemy Wam za poświęcony czas!