Model ISO OSI


Model ISO/OSI

W latach 70 nie istniały ogólnie respektowane otwarte standardy dotyczące sieci kom­puterowych. Każdy producent tworzył swoją własną sieć, niezgodną oczywiście z kon­strukcjami innych producentów. Efektem dążeń do znormalizowania tych zagadnień było opracowanie w 1977 roku przez Międzynarodową Organizację Normalizacyjną modelu „łączenia systemów otwartych" {International Standard Organization / Open System Interconnectioń). Proces transmisji danych przez sieć został podzielony na 7 etapów, zwa­nych warstwami, a struktura tworzona przez warstwy OSI nazywana jest stosem protoko­łów wymiany danych (rysunek 1.4).

W całym procesie komunikacji wyodrębnia się pewne niezależne zadania, które są wyko­nywane przez układy sprzętowe lub pakiety oprogramowania, zwane obiektami. Klasę obiektów rozwiązujących dane zagadnienie nazywa się warstwą. Pojęcie warstwy nie jest jednoznaczne z pojęciem protokołu — funkcje danej warstwy mogą być realizo­wane przez kilka różnych protokołów. Każdy protokół komunikuje się ze swoim odpo­wiednikiem, będącym implementacją tego samego protokołu w równorzędnej warstwie komunikacyjnej systemu odległego.

Dane przekazywane są od wierzchołka stosu poprzez kolejne warstwy aż do warstwy fizycznej, która przesyła je poprzez sieć do odległego hosta. Na szczycie stosu znajdują się usługi świadczone bezpośrednio użytkownikowi przez aplikacje sieciowe, na spo­dzie — sprzęt realizujący transmisję sygnałów niosących informacje. Przykładowo dane wysyłane przez warstwę sieciową w stacji nadawczej odbierane są przez stację odbiorczą dostarczane do jej warstwy sieciowej i przetwarzane przez nią tak aby mogły być prze­kazane kolejnym (wyższym) warstwom do dalszej obróbki.

Każda kolejna warstwa musi znać jedynie format danych wymagany do komunikacji poprzez warstwę niższą zwany protokołem wymiany danych. Przy przechodzeniu do warstwy niższej warstwa dokleja do otrzymanych przez siebie danych nagłówek

0x01 graphic

z informacjami dla swojego odpowiednika na odległym komputerze. Dzięki temu ko­lejne warstwy nie ingerują w zawartość otrzymaną z warstwy poprzedniej. Po odebraniu danych z warstwy niższej warstwa wyższa interpretuje nagłówek „doklejony" przez swojego odpowiednika z komputera odległego i jeśli zachodzi potrzeba przekazania danych do warstwy wyższej, usuwa swój nagłówek i przekazuje dane dalej.

1. Warstwa fizyczna (physical layer)

Zapewnia transmisję danych pomiędzy węzłami sieci. Definiuje interfejsy sieciowe i medium transmisji. Określa m.in. sposób połączenia mechanicznego (wtyczki, złącza), elektrycznego (poziomy napięć, prądów) i standard fizycznej transmisji danych. W skład jej obiektów wchodzą m.in. karty sieciowe, modemy, regeneratory (repeater), koncen­tratory (concentrator, hub).

2. Warstwa łącza danych (data link layer)

Zapewnia niezawodność łącza danych. Definiuje mechanizmy kontroli błędów w prze­syłanych ramkach lub pakietach — CRC (Cyclic Redundancy Check). Jest ona ściśle powiązana z warstwą fizyczną która narzuca topologię. Warstwa ta często zajmuje się również kompresją danych. W skład jej obiektów wchodzą sterowniki urządzeń sieciowych, np. sterowniki (drivery) kart sieciowych oraz mosty (bridge) i przełączniki (switche).

3. Warstwa sieciowa (network layer)

Zapewnia metody ustanawiania, utrzymywania i rozłączania połączenia sieciowego. Obsługuje błędy komunikacji. Ponadto jest odpowiedzialna za trasowanie (routing) pakietów w sieci, czyli wyznaczenie optymalnej trasy dla połączenia. W niektórych warunkach dopuszczalne jest gubienie pakietów przez tę warstwę. W skład jej obiek­tów wchodzą m.in. routery (router).

4. Warstwa transportowa (transport layer)

Zapewnia przezroczysty transfer danych typu punkt-do-punktu (point-to-point). Dba o kolejność pakietów otrzymywanych przez odbiorcę. Sprawdza poprawność (CRC) przesyłanych pakietów i w przypadku ich uszkodzenia lub zaginięcia zapewnia retrans­misję. Powyżej tej warstwy dane mogą być traktowane jako strumień.

5. Warstwa sesji (session layer)

Zapewnia aplikacjom na odległych komputerach realizację wymiany danych pomię­dzy nimi. Kontroluje nawiązywanie i zrywanie połączenia przez aplikację. Jest odpowie­dzialna za poprawną realizację zapytania o daną usługę. Do warstwy tej można zali­czyć funkcje API udostępniane programiście przez bibliotekę realizującą dostęp do sieci na poziomie powyżej warstwy transportowej, takie jak np. biblioteka strumieni i gniazdek BSD.

6. Warstwa prezentacji (presentation layer)

Zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię. Umożliwia przekształcenie danych na postać standardową niezależną od aplikacji. Rozwiązuje takie problemy, jak niezgodność reprezentacji liczb, znaków końca wiersza, liter narodowych itp. Odpowiada także za kompresję i szyfrowanie.

7. Warstwa aplikacji (application layer)

Zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi końcowe dla aplikacji, m.in. udostępnianie zasobów (plików, drukarek). Na tym pozio­mie rezydują procesy sieciowe dostępne bezpośrednio dla użytkownika.

Model protokołu TCP/IP

Protokół tworzący Internet — TCP/IP — również możemy opisać za pomocą siedmio-warstwowego modelu ISO/OSI. Lepiej jednak oddaje funkcje i właściwości protokołu TCP/IP uproszczony model cztero warstwowy. W modelu tym najważniejsze są warstwy sieciowa i transportowa; pozostałe są połączone i tworzą dwie warstwy, zwane warstwą dostępu do sieci oraz warstwą aplikacji. Funkcje tych warstw pokrywają się z zada­niami odpowiadających im warstw w modelu ISO/OSI (rysunek 1.5).

Podobnie jak w modelu OSI, kolejne warstwy dołączają (bądź usuwają w zależności od tego, w którą stronę przesuwają się dane) własne nagłówki. Taki proces nazywa się enkapsulacją (kapsułkowaniem) danych (rysunek 1.6). Jednakże model czterowarstwowy, poprzez zintegrowanie funkcjonalne niektórych warstw, o wiele lepiej obra­zuje ten proces dla protokołu TCP/IP.

0x01 graphic

Rysunek 1.6. Proces enkapsulacji danych

Ponieważ zrozumienie tego procesu sprawia często duże problemy, postaram się teraz w dużym uproszczeniu przedstawić zasadę działania takiego modelu. Załóżmy, że chcemy pobrać z serwera pewien plik z danymi o nazwie PLIK.MP3. Wykorzystujemy do tego protokół FTP i powodujemy przesłanie tego pliku na nasz prywatny komputer. A jak to się odbyło? Aby dokładnie opisać proces przesyłania pliku, musiałbym napisać drugą taką książkę, z tego też powodu powstały uproszczone modele warstwowe sieci. One po prostu ułatwiają zrozumienie działania sieci. Ponadto dzięki uproszczeniu rozważań i podzieleniu ich na etapy (warstwy) często pozwalają szybciej rozwiązać praktyczne problemy pojawiające się podczas pracy sieci.

Na początku aplikacja o nazwie „Serwer FTP" chce przesłać pewną paczkę danych

0 nazwie PLIK.MP3 do aplikacji o nazwie „Klient FTP" na innym komputerze w sieci. Paczka danych obsługiwana jest w warstwie aplikacji przez protokół FTP, służący do transmisji danych. Protokół ten dodaje do PLIK.MP3 swój własny nagłówek Nagł_FTP

1 przekazuje całość do warstwy transportowej (rysunek 1.7). Warstwą transportową dla protokołu FTP jest protokół TCP. Protokół ten otrzymuje dane w postaci sklejonych: Nagł_FTP+PLIK.MP3. Następnie adresuje te dane za pomocą numerów portu na kom­puterze lokalnym i numeru portu na komputerze odległym (numer portu jest po prostu liczbą z zakresu 1 - 65 535; dokładniej znaczeniem numerów portów zajmę się w roz­dziale dotyczącym protokołów TCP i UDP). Numery te umieszcza w swoim własnym nagłówku, który dokleja do danych i przekazuje do warstwy Internetu. Protokół IP działający w warstwie Internetu otrzymuje dane w postaci: Nagł_TCP+Nagł_FTP+ PLIK.MP3, a następnie również adresuje je (bez zaglądania do środka) numerem IP komputera lokalnego (źródłowego) i numerem komputera docelowego. Oba numery są zawarte w nagłówku protokołu IP, doklejanym do danych. Następnie protokół IP prze­kazuje paczkę danych w postaci: Nagł_IP+Nagł_TCP+Nag_FTP+PLIK.MP3 do pro­tokołu warstwy dostępu do sieci. Przyjmijmy, że komputer wysyłający dane jest podłączony poprzez sieć Ethernet. Dalszym przesyłaniem danych zajmuje się protokół Ethernet, który również dokleja swój nagłówek z adresem karty sieciowej komputera lokalnego i adresem karty sieciowej komputera docelowego; powstaje paczka danych postaci: Nagł_Ethernet+Nagł_IP+Nagł_TCP+Nagł_FTP+PLIK.MP3. Paczka ta zapi­sywana jest w formie impulsów elektrycznych i wysyłana przez kabel podłączony do karty sieciowej komputera nadającego dane.

0x01 graphic

Rysunek 1.7. Proces transmisji pliku za pomocą protokołu FTP

Komputer docelowy po odebraniu danych rozpoznaje po nagłówku warstwy dostępu do sieci, że paczka jest skierowana do niego (jest zaadresowana jego adresem ethernetowym), usuwa ten nagłówek i przekazuje dane wyżej do warstwy Internetu (rysunek 1.8). Tam protokół IP po docelowym adresie IP rozpoznaje, że dane są skierowane do tego komputera (gdyby było inaczej, mógłby np. przekazać je dalej, co właśnie czynią routery), kasuje nagłówek i przekazuje dane wyżej, do warstwy transportowej. W niej protokół TCP również usuwa swój nagłówek i po odczytaniu numeru portu docelowego podaje dane dalej do protokołu FTP działającego w warstwie aplikacji. Protokół FTP usuwa również swój nagłówek, po czym otrzymuje dane w postaci PLIK.MP3 i przekazuje je użytkownikowi. Użytkownik po zapisaniu danych na dysk może sobie w końcu posłu­chać muzyki. W tym momencie staje się jasne, jak wiele złożonych mechanizmów zaan­gażowanych jest w prostą transmisję pliku poprzez sieć TCP/IP. W rzeczywistości jest to jeszcze bardziej skomplikowane, co przedstawię w kolejnych rozdziałach tej książki.

Rysunek 1.8. Proces odbierania pliku za pomocą protokołu FTP

Każda warstwa ma swoją terminologię określającą dane aktualnie przez nią opraco­wywane. Ponieważ protokół TCP/IP składa się z dwóch głównych protokołów warstwy transportowej TCP i UDP, również w nazewnictwie wprowadzono podział (tabela 1.1).

0x01 graphic

0x01 graphic

Tabela 1.1. Nazwy jednostek danych dla kolejnych warstw modelu TCP/IP

Warstwa

TCP

UDP

Aplikacji

strumień

wiadomość

Transportowa

segment

pakiet

Internetu

datagram

Dostępu do sieci

ramka

Częściej jednak spotkasz się z prostszą nomenklaturą (np. w dokumentacji firmy Ci­sco), w której nie pojawia się podział na protokoły TCP i UDP. Nazwa jednostki da­nych dla warstwy Internetu to pakiet, a dla Warstwy transportowej uogólnioną nazwą jest segment.

Ponieważ model taki bardzo logicznie dzieli na części zagadnienie działania sieci TCP/IP, na nim właśnie oparłem konstrukcję pierwszych rozdziałów książki. Omówię kolejno warstwy modelu protokołu TCP/IP, ich zadania, protokoły oraz technologie w nich dzia­łające. Sposób rozważania działania sieci na podstawie modelu warstwowego nie jest jedynie niepotrzebną teorią. Podział na poziomy bardzo przydaje się podczas praktycz­nego rozwiązywania problemów w pracy sieci. Sprawdzając po kolei działanie poszcze­gólnych warstw tego modelu, możemy szybko określić źródło problemu i wykryć kon­kretny element powodujący zakłócenia.



Wyszukiwarka

Podobne podstrony:
Model ISO-OSI, szkola, systemy operacyjne, klasa 4
Model ISO OSI
01 Podział Sieci; Okablowanie; Istota Okablowania; Model ISO OSI; Topologie Systemu
Model ISO OSI
Model ISO-OSI, szkola, systemy operacyjne, klasa 4
Model Sieci ISO-OSI, Szkoła, Systemy i Sieci
Model odniesienia ISO OSI
Model warstwowy ISO OSI
Model ISO
Model referencyjny OSI
Model warstwowy OSI id 304998 Nieznany
1a RM ISO OSI
Model ISO protokoły
Model Warstwowy OSI
Model ISO
Model 1 oraz 2 OSI
Model ISO
Model warstwowy OSI sieci

więcej podobnych podstron