|
MODEL OSI
(Open Systems Interconnection)
Stworzony został w 1977 roku przez
Międzynarodową Organizację Normalizacji ISO (International Standard
Organization). Model Referencyjny Połączonych Systemów Otwartych (czyli model
OSI) został opracowany w celu ułatwienia realizacji połączeń w otwartych
systemach komputerowych. Połączenia otwarte to takie połączenia, które mogą być
realizowane wewnątrz lub między systemami wielo systemowymi. OSI jest zbiorem
zasad komunikowania się urządzeń sieciowych. Podzielony jest na siedem warstw, z
których każda zbudowana jest na bazie warstwy poprzedniej. Należy przy tym
zaznaczyć, że rozróżnia się podział ze względu na sposób realizacji danej
warstwy. I tak warstwa 1 i 2 są tworzone w sposób hardwarowy (sprzętowy), a
warstwy od 3 do 7 w sposób softwarowy (programowy). 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.
Warstwy OSI
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 wyłącznie się 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.
Rys. Budowa modelu
OSI
Zadania
warstw
1) Warstwa fizyczna (physical
layer)
Nazwa warstwy wywodzi się stąd, że
zajmuje się ona wyłącznie fizycznymi właściwościami technik przesyłu danych.
Realizuje ona konwersje 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, sposoby nawiązywania połączenia i jego
rozłączania po zakończeniu transmisji.
W skład jej obiektów wchodzą m.in.: przewody, karty sieciowe,
modemy, wzmacniaki, koncentratory.
2) Warstwa łącza danych (data link
layer)
Warstwa ta 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.
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)
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, łą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.
4) Warstwa transportowa (transport
layer)
Podstawową funkcją tej warstwy jest obsługa
danych przyjmowanych z warstwy sesji. Obejmuje ona opcjonalne dzielenie danych na
mniejsze jednostki, przekazywanie zblokowanych danych warstwie sieciowej,
otwieranie połączenia, realizację przesyłania danych, zamykanie połączenia.
Potrafi ona także wykrywać odrzucone przez routery pakiety, automatycznie
generować żądanie ich ponownej transmisji. Inną funkcją jest ustawianie pakietów
w kolejki, odpowiadające kolejności w jakiej zostały wysłane. Konieczność ta
wynika z właściwej metody trasowania danych i ich fizycznego przemieszczania w
sieci. Następnie tak obrobione pakiety są wysyłane do warstwy sesji.
5) Warstwa sesji (session
layer)
Jest to warstwa rzadko używana, pomijana w
wielu protokołach sieciowych. Jej zadaniem jest zarządzanie przebiegiem
komunikacji między dwoma komputerami. 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).
6) Warstwa prezentacji (presentation
layer)
Jej zadaniem 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, aby zniwelować różnice wynikające z
odmiennych standardów kodowania komunikujących się ze sobą maszyn. 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 (szyfrowania) w celu ich utajniania oraz konwersję
kodów w celu zapewnienia ich mobilności.
7) Warstwa aplikacji (application
layer)
Jest najwyższą warstwą modelu OSI. Pomimo
sugestywnej nazwy warstwa ta nie obejmuje aplikacji użytkownika, stanowiąc rolę
interfejsu pomiędzy tą aplikacją, a usługami sieci. Zapewnia ona programom
użytkowym usługi komunikacyjne i określa formaty wymienianych danych oraz
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.
|