2
MODEL ISO/OSI
Wstęp
Wraz z pojawieniem się możliwości zmniejszenia rozmiaru komputerów, w latach
siedemdziesiątych coraz więcej firm zaczęło się zajmować produkcją podzespołów oraz całych
zestawów tego sprzętu. Firmy rywalizowały ze sobą. Wraz z nowym sprzętem wprowadzano
różne protokoły transmisji, protokoły sieciowe, metody szyfrowania, które były zgodne z jednym
tylko rodzajem sprzętu, czyli komputerami sprzedającej je firmy. Zresztą wtedy w ogóle wiele
komputerów było skazanych na oprogramowanie producenckie. W efekcie łączenie komputerów
(bo trudno jeszcze wtedy było mówić o jakichś poważnych sieciach) było bardzo trudne, a
niejednokrotnie okazywało się zupełnie niemożliwe.
W 1977 roku "Międzynarodowa Organizacja Normalizacyjna" (International Standard
Organization) opracowała wzorcowy "Model łączenia systemów otwartych" (ISO-OSI -
International Standard Organization, Open System Interconnection). Ideą przyświecającą
tym działaniom, było umożliwienie współdziałania ze sobą produktów pochodzących od różnych
producentów. Proces komunikacji został podzielony na 7 etapów, zwanych warstwami, ze
względu na sposób przechodzenia pomiędzy nimi informacji. Często struktura tworzona przez
warstwy OSI nazywana jest stosem protokołów wymiany danych.
3
MODEL ISO/OSI
Warstwy (a dokładnie konkretne protokoły zawarte w tej warstwie)
komunikują się bezpośrednio z odpowiadającymi im warstwami w odległym hoście.
Należy więc też zapewnić reguły przekazywania informacji w dół do kolejnych
warstw pracujących na danym komputerze.
4
MODEL ISO/OSI
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 spodzie - sprzęt realizujący transmisję sygnałów niosących
informacje. Każda kolejna warstwa musi jedynie znać format danych wymagany do
komunikacji poprzez warstwę niższą zwany protokołem wymiany danych.
5
MODEL ISO/OSI
Proste i trafne
przedstawienie
wędrówki danych
poprzez warstwy sieci.
(Na stronie internetowej nie
będzie widać animacji, ale
zapraszam do mnie po
oryginalnego pdf-a )
6
MODEL ISO/OSI
Warstwy modelu – co do czego
W zasadzie na ten temat jest tyle w internecie, że można sobie zadać
pytanie dlaczego ja w ogóle to piszę? Chodzi o to, że w większości, Encyklopedie
Internetowe dość obszernie podchodzą do tematu. Moim zdaniem komuś kto chce
kończyć informatykę społeczną, wiedza tak dogłębna nie będzie potrzebna.
Dlatego wybieram pewne minimum, które powinien znać każdy kto może o sobie
powiedzieć, że skończył „informatykę jakąśtam…” i nie podchodzi do komputera z
karabinem
7
MODEL ISO/OSI
Warstwy modelu – co do czego
Określenie warstwa wzięło się stąd, że klasy obiektów daje się uporządkować w pewną
strukturę przypominającą stos. Warstwy wyższe zależą od niższych w tym sensie że poprawne
rozwiązanie przez warstwy niższe problemów postawionych tym warstwom umożliwia lub ułatwia
poprawne skonstruowanie warstw wyższych. Obrazowo mówiąc, warstwy wyższe "leżą" na niższych.
Dana warstwa korzysta z usług świadczonych przez warstwę bezpośrednio niższą, a sama dostarcza
usług dla warstwy bezpośrednio wyższej. Usługi te polegają na stwarzaniu wrażenia obiektowi z
warstwy wyższej, że komunikuje się bezpośrednio ze swym odpowiednikiem na odległym komputerze.
8
MODEL ISO/OSI
Warstwy modelu – co do czego
Na szczycie stosu znajdują się usługi "końcowe" świadczone bezpośrednio użytkownikom
przez aplikacje sieciowe, na spodzie - sprzęt realizujący transmisję sygnałów niosących informacje.
Aby wykonać swoje zadania, każda warstwa używa specyficznego protokołu (protokołów). Protokoły te
wymagają wymiany pewnych informacji sterujących. Odbywa się to tak, że do każdego pakietu danych
przychodzącego z warstwy wyższej, dana warstwa "dokleja", charakterystyczny dla siebie nagłówek z
informacjami dla swej odpowiedniczki na zdalnym komputerze i przekazuje całość do warstwy niższej,
gdzie proces ten się powtarza. Warstwy z zasady nie ingerują w treści przekazywane z warstw
wyższych.
9
MODEL ISO/OSI
Warstwy modelu – co do czego
Po odebraniu pakietu z warstwy niższej, dana warstwa interpretuje swój nagłówek, i jeśli
stwierdza, że pakiet należy przekazać wyżej, "odkleja" swój nagłówek. Dzięki temu warstwa wyższa
dostaje pakiet w takiej samej postaci w jakiej wysłała go jej odpowiedniczka z odległego komputera.
10
MODEL ISO/OSI
1. Warstwa fizyczna physical layer
Zadaniem tej warstwy jest fizyczne przekazywanie sygnałów z jednego komutera do
drugiego, bezpośrednio z nim połączonego pewnym medium. W skład tej warstwy wchodzą nadajniki i
odbiorniki, czyli karty sieciowe, modemy itp.; media, a więc np. kable ethernetu czy token-ringu,
sieć telefonicna, eter radiowy itp. oraz przekaźniki np.: huby, repeatery. Protokołami tej warstwy
są np.: specyfikacje sposobu łączenia kabli i fizycznych własności transmitowanego sygnału itp.
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), standard fizycznej transmisji danych.
11
MODEL ISO/OSI
2. Warstwa łącza danych - data link layer
Zadaniem tej warstwy jest niezawodnie dostarczać informacje poprzez warstwę fizyczną. Tak
więc obiekty tej warstwy potrafią się komunikować jedynie z analogicznymi obiektami w komputerach
przyłączonych bezpośrednio do tego samego medium. Obiektami w tej warstwie są sterowniki (ang.
drivery) kart sieciowych, oraz mosty (bridge) i przełączniki (switche) itp. Protokoły tej warstwy muszą
uwzględniać fizyczną topologię połączeń i najczęstsze błędy pojawiające się w łączu fizycznym. Do
warstwy tej może także należeć kompresja i szyfrowanie danych lub zlecanie tych czynności
sprzętowi. Zapewnia niezawodność łącza danych. Definiuje mechanizmy kontroli błędów w
przesyłanych ramkach lub pakietach - CRC (Cyclic Redundancy Check). Jest ona ściśle powiązana z
warstwą fizyczną, która narzuca topologię.
12
MODEL ISO/OSI
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ą podawane z komputera
na komputer, aż osiągną adresata. Proces znajdowania drogi w sieci nazywa się trasowaniem lub
rutowaniem od ang. routing. Obsługuje błędy komunikacji. Nie wymaga się, aby pakiety pomiędzy
ustalonymi punktami poruszały się za każdym razem po tej samej drodze. Wyznaczanie drogi osobno
dla każdego pakietu, z uwzględnieniem aktualnego obciążenia sieci uważa się za zaletę.
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. W skład jej obiektów wchodzą min.: rutery
(routery)
13
MODEL ISO/OSI
4. Warstwa transportowa - transport layer
Zadaniem tej warstwy jest zapewnienie niezawodnej komunikacji pomiędzy odległymi
komputerami lub abstrakcyjnymi portami komunikacyjnymi w tych komputerach. Sprawdza
poprawność (CRC) przesyłanych pakietów oraz dba, by odbiorca dostawał pakiety w tej samej
kolejności w jakiej nadawca je wysyła, a w razie, gdy przez określony czas brak pakietów od
nadawcy, lub przychodzą uszkodzone, żąda ich retransmisji. Powyżej tej warstwy, dane można
traktować jako strumień.
14
MODEL ISO/OSI
5. Warstwa sesji - session layer
Warstwa ta kontroluje nawiązywanie i zrywanie połączenia przez aplikacje. W starszych
implementacjach warstwa ta zapewniała dostęp do zdalnego komputera za pomocą sesji
terminalowej. Do warstwy tej można zaliczyć 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.
15
MODEL ISO/OSI
6. Warstwa prezentacji - presentation layer
Zapewnia tłumaczenie danych, definiowanie ich formatu oraz odpowiednią składnię. Warstwa
ta filtruje przepływające przez nią dane, zapewniając wzajemne dopasowanie sposobów reprezentacji
danych a w konsekwencji zrozumienie komunikujących się aplikacji. 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.
16
MODEL ISO/OSI
7. Warstwa aplikacji - application layer
Zapewnia aplikacjom metody dostępu do środowiska OSI. Warstwa ta świadczy usługi
końcowe dla aplikacji, min.: udostępnianie zasobów (plików, drukarek). Na tym poziomie rezydują
procesy sieciowe dostępne bezpośrednio dla użytkownika. 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.
Wśród aplikacji sieciowych można wyróżnić dwa modele organizowania wzajemnej komunikacji: klient
- serwer lub agent - manager.
17
MODEL ISO/OSI
7. Warstwa aplikacji - application layer
W modelu klient-serwer serwer jest programem, który ma pełny i bezpośredni dostęp do
pewnego zasobu, oczekuje na zlecenia od klientów, które następnie wykonuje. Serwer może odmówić
wykonania zlecenia, jeśli uzna je za niepoprawne. Klienty są to najczęściej aplikacje konwersujące z
użytkownikiem. Nie mają bezpośredniego dostępu do zasobu. Aby wykonać zlecenia użytkownika,
komunikują się z serwerem. Dobrym przykładem są sieciowe systemy baz danych.
W modelu agent-manager agenty są programami rozproszonymi w różnych węzłach sieci, najczęściej
obserwują lub kontrolują zachowanie się pewnych obiektów w sieci. Manager okresowo odpytuje
agentów, dzięki czemu zapewnia centralne monitorowanie lub zarządzanie pewnymi zasobami w sieci.