Model OSI

Systemy i sieci Odsłon: 640
Model OSI

W niedługim czasie po pojawieniu się pierwszych sieci nastąpił ich burzliwy rozwój. Wzrastała ilość komputerów włączanych do sieci oraz odległości pomiędzy nimi. Na rynku pojawiały się nowe firmy oferujące własne rozwiązania i technologie. Sytuacja ta wymusiła stworzenie pewnego wzorca zgodnie z którym bez konfliktów można by było łączyć ze sobą sprzęt różnych producentów.
Taki standard powstał pod kontrolą Międzynarodowej Organizacji Normalizacyjnej (ISO – International Organization for Standarization) i nosi miano modelu OSI (Open System Interconnection). Model ten istnieje już od ponad 20 lat. Wszystkie nowe rozwiązania zmierzają w kierunku zapewnienia pełnej zgodności z tym standardem.
Model OSI został opracowany w celu ułatwienia realizacji otwartych (obsługiwane w środowiskach wielosystemowych) połączeń systemów komputerowych. Model ten umożliwiał współdziałanie urządzeń i oprogramowania od różnych producentów.
Model OSI zbiera w logicznie ułożone warstwy funkcje potrzebne do zdefiniowania, nawiązania i utrzymania komunikacji między dwoma (lub więcej) urządzeniami niezależnie od ich producenta i architektury. Procesy zachodzące podczas komunikacji dzielone są na siedem warstw funkcjonalnych, które zbudowane są w oparciu o naturalny ciąg zdarzeń zachodzących w czasie sesji komunikacyjnej.
Warstwy te to:
1. Warstwa fizyczna - najniższa warstwa odpowiedzialna za transmisję strumienia bitów,
2. Warstwa łącza danych - odpowiedzialna za poprawność przesyłanych danych,
3. Warstwa sieciowa - umożliwia współpracę pomiędzy sieciami, wybiera optymalną trasę transmisji danych,
4. Warstwa transportu - pełni funkcję zbliżoną do warstwy drugiej z tą różnicą że odpowiada za końcową integralność transmisji także poza lokalna siecią,
5. Warstwa sesyjna - zarządza przebiegiem komunikacji podczas połączenia między dwoma komputerami (określa czy komunikacja może zachodzić w jednym czy dwóch kierunkach),
6. Warstwa prezentacji - odpowiedzialna za sposób kodowania danych,
7. Warstwa aplikacji - pełni rolę interfejsu pomiędzy aplikacjami użytkownika a usługami sieci.

Poszczególne warstwy wyposażone są w interfejsy warstw sąsiednich, dzięki czemu możliwa jest ich komunikacja. Należy pamiętać o tym, iż nie zawsze konieczne jest wykorzystanie wszystkich siedmiu warstw do poprawnej komunikacji, a tylko niektórych z nich. Proces komunikowania się pomiędzy warstwami przedstawia powyższy schemat.

Każdej warstwie stosu protokołów z komputera nadającego przydziela się nagłówek, który może być rozpoznany przez odpowiednia warstwę na innym komputerze. Stos protokołów komputera odbierającego pobiera kolejne nagłówki i odczytuje dane używając odpowiednich warstw.

Aby lepiej zrozumieć schemat działania Modelu OSI posłużmy się przykładem. Za pomocą warstwy czwartej komputer nadający przesyła segmenty danych do swojej warstwy trzeciej gdzie następuje łączenie segmentów w pakiety, adresowanie i wysyłanie ich do warstwy drugiej. Ta warstwa odpowiedzialna jest za oprawianie pakietów w tzw. ramki, nadaje im adresy rozpoznawane przez sieć LAN, a następnie warstwa pierwsza zamienia je na strumienie bitów, które przesyłane są do warstwy pierwszej komputera odbierającego, gdzie zachodzą procesy odwrotne. Każda z warstw wyposażona jest w odpowiednie protokoły ułatwiające wzajemną komunikację. Dokładniejszym opisem tych protokołów zajmiemy się przy omawianiu kolejnych warstw.

Warstwy modelu OSI
1.Warstwa fizyczna (Physical Layer)
Przejmuje ciągi danych, czyli ramki z warstwy łącza danych i przesyła szeregowo ich strukturę i całą zawartość po jednym bicie. Każdy z protokołów warstwy działa dwukierunkowo, tak więc warstwa fizyczna również przyjmuje strumienie bitów i przekazuje je do warstwy drugiej.
Warstwa pierwsza nie jest wyposażona w żadne mechanizmy pozwalające jej na rozróżnianie znaczenia i wagi kolejnych bitów. Operuje jedynie wartościami 1 i 0, czyli jest uzależniona od fizycznych własności przesyłania sygnałów. Parametry przesyłu zależą od rodzaju użytego nośnika, np. od jego długości, lecz należy pamiętać o tym, iż warstwa fizyczna obejmuje jedynie procesy i mechanizmy dotyczące przenoszenia sygnałów. Nie obejmuje natomiast medium transmisyjnego-nośnika. Przykłady nośników to kable koncentryczne, światłowód. Media transmisyjne określane są mianem warstwy zerowe.
2.Warstwa łącza danych (Data Link Layer)
Warstwa ta odpowiada za końcową zgodność danych nadanych i odebranych. Tworzy ona ramki mające wystarczającą ilość informacji do przesłania upakowanych w nich danych. Warstwa łącza danych posiada własną strukturę adresowania. Aby ramka była pomyślnie dostarczona (w niezmienionym stanie) musi posiadać mechanizm weryfikujący jej zawartość podczas transmisji. W tym celu węzeł początkowy musi odebrać od węzła końcowego potwierdzenie otrzymania każdej ramki w postaci niezmienionej, a także węzeł docelowy przed wysłaniem potwierdzenia otrzymania ramki musi zweryfikować integralność jej zawartości. Wysłane ramki mogą nie dotrzeć do odbiorcy lub dotrzeć uszkodzone, warstwa druga odpowiada za rozpoznawanie i naprawę tych błędów. Odpowiada ona również za ponowne składanie otrzymanych strumieni binarnych i umieszczanie ich w ramkach. Ponieważ przesyłane są struktury i zawartość ramek, warstwa łącza danych nie tworzy nowych ramek, a buforuje otrzymane bity do czasu uzbierania pełnej ramki.
Warstwy 1 i 2 w przeciwieństwie do pozostałych są niezbędne do komunikacji w sieci komputerowej, niezależnie czy jest to siec LAN czy WAN ponieważ grupują mechanizmy potrzebne do komunikowania się z innymi urządzeniami w obrębie tej samej sieci. W warstwie łączenia danych stosuje się PPP oraz FR.
3. Warstwa sieciowa (Network Layer)
Zadaniem tej warstwy jest kierowanie przepływem pakietów w sieci. Zapewnia ona, że pakiety przesyłane między komputerami nie łączącymi się bezpośrednio, będą przekazywane z komputera na komputer, aż osiągną adresata. Proces znajdowania drogi w sieci nazywa się trasowaniem lub rutowaniem od ang. routing. Nie wymaga się aby pakiety pomiędzy ustalonymi punktami poruszały się za każdym razem po tej samej drodze. Wyznaczenie drogi osobno dla każdego pakietu, z uwzględnieniem aktualnego obciążenia sieci uważa się za zaletę. Warstwa ta nie posiada żadnych mechanizmów wykrywania oraz korygowania błędów transmisji i musi w pełni polegać na warstwie łączenia danych lub transportu, że do końca bezbłędnie "obsłużą" transmisję.
W pewnych sytuacjach dopuszcza się gubienie pakietów przez tę warstwę. Gubienie pakietów jest jedynym wyjściem gdy router - węzeł dokonujący trasowania lub pewien segment sieci są przeciążone i nie mogą przyjmować nowych pakietów.
4. Warstwa transportowa (Transport Layer)
Zadaniem tej warstwy jest zapewnienie niezawodnej komunikacji pomiędzy odległymi komputerami lub abstrakcyjnymi portami komunikacyjnymi w tych komputerach. Warstwa ta dba, by odbiorca dostawał pakiety w tej samej kolejności w jakiej nadawca je wysyła, a razie, gdy przez określony czas brak pakietów od nadawcy, lub przychodzą uszkodzone żąda ich retransmisji.
Mechanizmy wbudowane w warstwę transportową pozwalają rozdzielać logicznie szybkie kanały łączności pomiędzy kilka połączeń sieciowych. Możliwe jest także udostępnianie jednego połączenia kilku warstwom sieciowym, co może obniżyć koszty eksploatacji sieci. Celem podstawowym przy projektowaniu warstwy transportowej jest zapewnienie pełnej jej niezależności od zmian konstrukcyjnych sprzętu.
5. Warstwa sesji (Session Layer)
Warstwa ta kontroluje nawiązywanie i zrywanie połączenia przez aplikacje. Za jej pośrednictwem określane są parametry sprzężenia użytkowników. Po nawiązaniu stosownego połączenia warstwa sesji pełni szereg funkcji zarządzających, związanych m.in. z taryfikacją usług w sieci. W celu otwarcia połączenia pomiędzy komputerami (sesja łączności) poza podaniem stosownych adresów warstwa sprawdza, czy warstwa nadawcy i odbiorcy może otworzyć połączenie. Następnie obie komunikujące się strony muszą wybrać opcje obowiązujące w czasie trwania sesji. Dotyczy to na przykład rodzaju połączenia (simpleks, dupleks) i reakcji warstwy na zerwanie połączenia (rezygnacja, ponowne odtworzenie). Przy projektowaniu warstwy zwraca się uwagę na zapewnienie bezpieczeństwa przesyłanych danych. Przykładowo, jeżeli zostanie przerwane połączenie, którego zadaniem była aktualizacja bazy danych, to w rezultacie tego zawartość bazy może okazać się nie spójna. Warstwa sesji musi przeciw działać takim sytuacjom.

6. Warstwa prezentacji (Presentation Layer)
Warstwa prezentacji odpowiedzialna jest za zarządzanie sposobami kodowania danych zapewniając wzajemne dopasowanie sposobów reprezentacji danych, a w konsekwencji zrozumienie komunikujących się aplikacji. Rozwiązuje takie problemy jak niezgodność reprezentacji liczb, znaków końca wiersza, liter narodowych, itp. Przykładową funkcją realizowaną przez tą warstwę jest kompresja przesyłanych danych , pozwalająca na zwiększenie szybkości transmisji informacji.

7. Warstwa aplikacji (Application Layer)
Zadania tej warstwy są najbardziej różnorodne i polegają na świadczeniu końcowych usług, takich jak zdalne udostępnianie plików, drukarek, i innych zasobów, czy też sieciowe systemy baz danych.

Related Articles