Pyt 29. Omów model sieciowy OSI/ISO
Ruch sieciowy generowany jest przy wysłaniu zadania przez siec. Zadanie musi zostać przekształcone z postaci, jaka widzi użytkownik, do formatu nadającego sie do użycia w sieci. Transformacja ta jest możliwa dzięki modelowi OSI (Open Systems Interconnection), opracowanemu przez ISO—International Organization for Standardization.
Dane przesyłane są w sieci w postaci pakietów danych. Pakiet danych to dane użytkownika przekształcone na postać zrozumiałą dla sieci. Każde przekształcenie jest pochodna siedmiowarstwowego modelu OSI, który służy twórcom oprogramowania sieciowego za wytyczne
Siedem warstw modelu OSI pełni funkcje elementów konstrukcyjnych pakietu danych. Każda warstwa dodaje do pakietu danych informacje, lecz sam pakiet danych pozostaje niezmieniony. Informacje dodane do pakietu noszą nazwę nagłówka. Nagłówek każdej warstwy jest po prostu informacja, opisująca formatowanie pakietu danych. Nagłówek jest odbierany w odpowiedniej warstwie u klienta odbierającego dane i służy do rozpoznania formatu pakietu. Każda warstwa komunikuje sie z warstwami sąsiednimi, znajdującymi sie powyżej i poniżej.
Rysunek
Model OSI
Komunikacja poprzez siedmiowarstwowy model OSI nie przebiega według ostatecznie ustalonej ścieżki, lecz zawsze odbywa sie w kierunku pionowym. Pakiety danych nie musza być wysyłane z warstwy 7, która jest warstwa najwyższa - aplikacji. Łączność może rozpocząć się, na przykład, w warstwie 3, lecz warstwy 2 i 1 musza zostać użyte, aby dodać nagłówki.
Przykład.
Załóżmy, ze Komputer A używa narzędzia, które zaczyna działanie w warstwie 3 Warstwa 3 dodaje nagłówek i przekazuje całość do warstwy 2., która również dodaje nagłówek i przekazuje pakiet do warstwy 1. Ta dodaje nagłówek i umieszcza pakiet w sieci.
Komputer B odbiera pakiet i przetwarza, zaczynając od warstwy 1. Warstwa 1. usuwa nagłówek dodany przez warstwę 1. Komputera A i przekazuje pozostałe informacje do warstwy 2. Ta następnie usuwa nagłówek dodany przez warstwę 2. Komputera A i przekazuje pozostałe informacje do warstwy 3. Warstwa 3. usuwa nagłówek dodany przez warstwę 3. Komputera A i przetwarza zadanie.
Wszystkie siedem warstw jest w użytku jedynie wtedy, gdy zadanie pochodzi od użytkownika.
Niezależnie od tego, która warstwa rozpoczyna komunikacje, nagłówki dodawane są na każdym poziomie i usuwane na odpowiadającym mu poziomie u klienta odbierającego pakiet.
Rys. Przepływ danych od nadawcy do odbiorcy w modelu OSI
Pakiet danych jest przesyłany od nadawcy po lewej stronie do odbiorcy po prawej. Podczas przekazywania pakietu w dół z warstwy 7. do 1., każda z nich dodaje nagłówek. Gdy pakiet dociera do odbiorcy, każdy nagłówek
jest usuwany, zaś dane przekazywane są do następnej, wyższej warstwy.
Warstwa Aplikacji
Najwyższa, siódma warstwa w modelu OSI jest warstwa aplikacji. Jest ona odpowiedzialna za interakcje z aplikacja użytkownika; przyjmuje dane od programu i świadczy usługę aplikacji sieciowej, odpowiedzialnej za zadanie użytkownika np.
Gdy użytkownik wysyła list e-mail, warstwa aplikacji daje dostęp do usługi SMTP (Simple Mail Transfer Protocol).
W warstwie aplikacji istotnie znajdują sie aplikacje, lecz są one niewidoczne dla użytkownika. Warstwa ta jest jedyna warstwa, która bezpośrednio komunikuje sie z oprogramowaniem użytkownika.
Warstwa prezentacji
Szósta warstwa modelu OSI jest warstwa prezentacji, która przyjmuje dane od warstwy aplikacji. Podstawowym jej zadaniem jest konwersja języka. Językiem
używanym w sieci jest protokół. Jeśli dwa klienty nie używają tego samego protokołu, niezbędna jest konwersja protokołu, za która odpowiada warstwa prezentacji.
Warstwa prezentacji jest również odpowiedzialna za zarządzanie danymi: udostępnia konwersje zestawów znaków, szyfrowanie danych i kompresje danych. Warstwa prezentacji odpowiada za przekierowywanie zadań wejścia i wyjścia.
Przekierowywanie danych to zadanie sieciowego programu przeadresowującego (Network redirector), który funkcjonuje w warstwie prezentacji Warstwa prezentacji przyjmuje pakiet danych z warstwy aplikacji i musi wybrać poprawne urządzenie sieciowe. Jeśli klient zada informacji, użyta zostaje usługa stacji roboczej. Jeśli klient dostarcza informacji, użyta zostaje usługa
serwera. Jeśli zadanie adresowane jest do innego typu klienta, użyty zostaje translator protokołu sieciowego. Na przykład, gdy używamy klienta Microsoftu, aby uzyskać dostęp do informacji w komputerze uniksowym, role translatora protokołu odegra SAMBA.
SAMBA przekształca zadania klientów Microsoftu tak, by ich format był zrozumiały dla systemu Unix.
Warstwa sesji
Piata warstwa modelu OSI jest warstwa. Warstwa sesji pozwala na łaczność pomiędzy identycznymi aplikacjami działającymi w dwóch różnych klientach. Osiąga sie ja przez ustanowienie wirtualnego polaczenia, opartego na nazwie użytkownika, nazwie komputera lub poświadczeniach sieciowych klienta.
Warstwa sesji zarządza tym wirtualnym polaczeniem, ustawiając punkty kontrolne w odbieranych danych. Punkt kontrolny (checkpoint) informuje aplikacje, które dane zostały odebrane. W przypadku zerwania polaczenia warstwa sesji analizuje punkty kontrolne i rozpoczyna transfer od ostatniego punktu kontrolnego.
Warstwa transportowa
Czwarta warstwa — transportowa — jest odpowiedzialna za sprawdzanie poprawności i kontrole przepływu danych. Na poziomie tej warstwy do transmisji danych używane są dwa protokoły: TCP (Transmission Control Protocol) oraz UDP (User DatagramProtocol).
W tej warstwie, jeśli w roli protokołu transportowego występuje TCP, dostępny jest dodatkowy poziom polaczenia, który wynika z trójkierunkowego potwierdzenia (threeway handshake) i zapewnia dostarczenie pakietu wykorzystując pakiety potwierdzające.
Trójkierunkowe potwierdzenie jest zestawem komunikatów powitalnych, służących do ustalenia, czy nadawca i odbiorca są gotowi do transferu danych.
Kontrola przepływu realizowana przez warstwę transportowa korzysta z rozmiaru okna TCP/IP. Rozmiar okna określa, ile danych nadawca wyśle do odbiorcy bez odbierania pakietu potwierdzającego. Typowym rozmiarem okna jest 4096 bajtów. Warstwa transportowa jest odpowiedzialna za podział dużych pakietów danych na mniejsze, zwykle wielkości 1500 bajtów, lecz wartość ta może zostać zmieniona. Przy typowym rozmiarze okna wynoszącym 4096 bajtów oznacza to w sumie cztery nie potwierdzone pakiety w sieci. Generalnie, po otrzymaniu przez odbiorcę pakietu, do nadawcy zostaje wysłany pakiet potwierdzający. Po otrzymaniu tego pakietu przez nadawcę kolejne pakiety danych mogą być wysłane do odbiorcy. W przypadku braku potwierdzenia pakietu Może nastąpić retransmisja, lecz to zależy od używanego protokołu.
Podstawową różnica pomiędzy dwoma protokołami warstwy transportowej TCP i UDP jest występowanie pakietu potwierdzającego.
Warstwa sieciowa
Trzecia warstwa modelu OSI jest warstwa sieciowa, odpowiedzialna za adresowanie i trasowanie w sieci. Do adresowania pakietów służy IP (Internet Protocol), który podaje dla pakietów danych adresy: źródłowy (nadawcy) i docelowy (odbiorcy). Podawany jest unikatowy adres 32-bitowy, znany pod nazwa adresu IP. IP dokonuje ponadto fragmentacji pakietów i nadaje każdemu unikatowy identyfikator. Po odebraniu pakietu, IP w warstwie sieciowej odbiorcy ponownie składa razem podzielony pakiet i przesyła dane do warstwy transportowej.
Aby ustalić najlepsza drogę do miejsca przeznaczenia, w warstwie sieciowej dokonywany jest wybór trasy (routing). Do powszechnie stosowanych protokołów trasowania funkcjonujących na poziomie warstwy sieciowej należą Routing Information Protocol (RIP), Open Shortest Path First (OSPF) oraz Border Gateway Protocol (BGP).
Można sobie wyobrazić warstwę sieciowa jako policjanta kierującego ruchem w sieci. Warstwa sieciowa określa adresy IP nadawcy i odbiorcy oraz ustala najlepsza trasę do celu. Gdy posiadamy adresy IP, trzeba ustalić adres fizyczny.
Warstwa łacza danych
Druga warstwa modelu OSI jest warstwa łącza danych. Jest ona podzielona na dwie podwarstwy: kontroli łącza logicznego (Logical Link Control) i kontroli dostępu do nośnika (MAC —Media Access Control).
Podwarstwa kontroli łącza logicznego jest odpowiedzialna za dołączenie nagłówka i stopki.
Wszystkie warstwy dodają do pakietu danych informacje nagłówka, lecz warstwa łącza danych (w podwarstwie kontroli łącza logicznego) dodaje do pakietu danych również stopkę. Zawiera ona dane cyklicznej kontroli nadmiarowej (CRC— cyclical redundancy check ), która oblicza parzystość pakietu danych i umieszcza wynik w stopce. Po odebraniu pakietu danych przez klienta wykonywana jest operacja CRC, a jej wynik zostaje porównany z CRC nadawcy. Jeśli wyniki są zgodne, dane zostają uznane za poprawne
i przekazane do następnej warstwy. Jeśli wyniki nie zgadzają się, dane, uznane
za niepoprawne, są odrzucone.
Podwarstwa kontroli dostępu do nośnika (MAC) umieszcza adres fizyczny karty interfejsu sieciowego w nagłówku, który zostaje dodany do pakietu danych. Adres MAC jest unikatowa, 12-pozycyjna liczba szesnastkowa, zapisana w każdej karcie interfejsu sieciowego.
Przykładowy adres MAC może wyglądać następująco: 00-80-C7-4D-B8-26.
Warstwa fizyczna
Pierwsza warstwa modelu OSI jest warstwa fizyczna, która odpowiada przede wszystkim za umieszczenie danych surowych w sieci. Dane surowe (nie przetworzone) reprezentowane są w formacie dwójkowym, czyli zbiorze jedynek i zer.
Warstwa fizyczna, inaczej zwana warstwa sprzętowa, nawiązuje i utrzymuje polaczenia pomiędzy nadawca i odbiorca. Ponieważ dane mogą istnieć w różnych postaciach (na przykład impulsów elektrycznych, fal radiowych, czy tez pulsów świetlnych), warstwa fizyczna określa czas trwania każdego impulsu.
W fizyczna definiuje sposób przyłączenia przewodu sieciowego
do karty interfejsu oraz sposób sformatowania danych do transmisji.