WRÓĆ

Model OSI

 

Model OSI (Open Systems Interconnection)

Aby umożliwić współpracę urządzeń pochodzących od różnych dostawców konieczne stało się opracowanie zasad opisujących sposoby ich komunikowania się. Standardy takie tworzą międzynarodowe organizacje finansowane przez producentów sprzętu sieciowego. Do najbardziej znanych należą ISO (International Standard Organization) i IEEE (Institute of Electrical and Electronic Engineers). Chociaż ich postanowienia nie mają mocy prawnej, wiele rządów czyni z nich obowiązujące standardy.

Jednym z najszerzej stosowanych standardów jest model odniesienia ISO. Jest on zbiorem zasad komunikowania się urządzeń sieciowych. Podzielony jest na siedem warstw, z których każda zbudowana jest na bazie warstwy poprzedniej tzn. do usług sieciowych świadczonych przez poprzednie warstwy, bieżąca warstwa dodaje swoje, itd.

Model ten nie określa fizycznej budowy poszczególnych warstw, a koncentruje się na sposobach ich współpracy. Takie podejście do problemu sprawia, że każda warstwa może być implementowana przez producenta na swój sposób, a urządzenia sieciowe od różnych dostawców będą poprawnie współpracować.

Poszczególne warstwy sieci stanowią niezależne całości i chociaż nie potrafią wykonywać żadnych widocznych zadań w odosobnieniu od pozostałych warstw, to z programistycznego punktu widzenia są one odrębnymi poziomami.

Model odniesienia ISO

Komunikacja pomiędzy komputerami odbywa się na poziomie odpowiadających sobie warstw i dla każdej z nich powinien zostać stworzony własny protokół komunikacyjny.

W rzeczywistej sieci komputerowej komunikacja odbywa się wyłącznie na poziomie warstwy fizycznej (linia ciągła na rysunku). W tym celu informacja każdorazowo przekazywana jest do sąsiedniej niższej warstwy, aż do dotarcia do warstwy fizycznej. Tak więc pomiędzy wszystkimi warstwami z wyjątkiem fizycznej istnieje komunikacja wirtualna (linie przerywane na rysunku), możliwa dzięki istnieniu połączenia fizycznego.

 

W modelu ISO jak również w opisie TCP/IP pojawia się wiele terminów wywodzących się z języka angielskiego, często nie mających bezpośredniego odpowiednika w języku polskim. Ponadto niektóre terminy w mowie potocznej mają zbliżone, czy wręcz takie samo znaczenie. Ważne jest więc przyswojenie sobie i rozróżnianie tych terminów dla uniknięcia nieporozumień, podczas lektury różnych pozycji czy studiowania firmowych dokumentacji.

Zadania Warstwy Fizycznej

Warstwa fizyczna odpowiada za transmisję sygnałów w sieci. Realizuje ona konwersję bitów informacji na sygnały, które będą przesyłane w kanale z uwzględnieniem maksymalizacji niezawodności przesyłu. W warstwie fizycznej określa się parametry amplitudowe i czasowe przesyłanego sygnału, fizyczny kształt i rozmiar łączy, znaczenie ich poszczególnych zestyków i wartości napięć na nich występujących, sposoby nawiązywania połączenia i jego rozłączania po zakończeniu transmisji.

Zadania Warstwy Łącza Danych

Warstwa łącza danych odpowiedzialna jest za odbiór i konwersję strumienia bitów pochodzących z urządzeń transmisyjnych w taki sposób, aby nie zawierały one błędów. Warstwa ta postrzega dane jako grupy bitów zwane ramkami. Warstwa łącza danych tworzy i rozpoznaje granice ramki. Ramka tworzona jest przez dołączenie do jej początku i końca grupy specjalnych bitów. Kolejnym zadaniem warstwy jest eliminacja zakłóceń, powstałych w trakcie transmisji informacji po kanale łączności. Ramki, które zostały przekazane niepoprawnie, są przesyłane ponownie. Ponadto warstwa łącza danych zapewnia synchronizację szybkości przesyłania danych oraz umożliwia ich przesyłanie w obu kierunkach.

Zadania Warstwy Sieciowej

Warstwa sieciowa steruje działaniem podsieci transportowej. Jej podstawowe zadania to przesyłanie danych pomiędzy węzłami sieci wraz z wyznaczaniem trasy przesyłu, określanie charakterystyk sprzęgu węzeł - komputer obliczeniowy, łączenie bloków informacji w ramki na czas ich przesyłania a następnie stosowny ich podział. W najprostszym przypadku określanie drogi transmisji pakietu informacji odbywa się w oparciu o stałe tablice opisane w sieci. Istnieje również możliwość dynamicznego określania trasy na bazie bieżących obciążeń linii łączności. Stosując drugie rozwiązanie mamy możliwość uniknięcia przeciążeń sieci na trasach, na których pokrywają się drogi wielu pakietów.

Zadania Warstwy Transportowej

Podstawową funkcją warstwy transportowej jest obsługa danych przyjmowanych z warstwy sesji. Obejmuje ona opcjonalne dzielenie danych na mniejsze jednostki, przekazywanie zblokowanych danych warstwie sieciowej, otwieranie połączenia stosownego typu i prędkości, realizacja przesyłania danych, zamykanie połączenia. Ponadto 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 postawionym przy projektowaniu warstwy transportowej jest zapewnienie pełnej jej niezależności od zmian konstrukcyjnych sprzętu.

Zadania Warstwy Sesji

Warstwa sesji określa 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 (sesji łączności) poza podaniem stosownych adresów, warstwa sprawdza, czy obie warstwy (nadawcy i odbiorcy) mogą 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ę niespójna. Warstwa sesji musi przeciwdziałać takim sytuacjom.

Zadania Warstwy Prezentacji

Zadaniem warstwy prezentacji jest obsługa formatów danych. Odpowiada ona więc za kodowanie i dekodowanie zestawów znaków oraz wybór algorytmów, które do tego będą użyte. Przykładową funkcją realizowaną przez warstwę jest kompresja przesyłanych danych, pozwalająca na zwiększenie szybkości transmisji informacji. Ponadto warstwa udostępnia mechanizmy kodowania danych w celu ich utajniania oraz konwersję kodów w celu zapewnienia ich mobilności.

Zadania Warstwy Aplikacji

Zadaniem warstwy aplikacji jest zapewnienie programom użytkowym usług komunikacyjnych. Określa ona formaty wymienianych danych i opisuje reakcje systemu na podstawowe operacje komunikacyjne. Warstwa stara się stworzyć wrażenie przezroczystości sieci. Jest to szczególnie ważne w przypadku obsługi rozproszonych baz danych, w których użytkownik nie powinien wiedzieć, gdzie zlokalizowane są wykorzystywane przez niego dane lub gdzie realizowany jest jego proces obliczeniowy.