Typy protokołów. Warstwy modelu ISO-OSI

Report
Systemy operacyjne i sieci
komputerowe
Typy protokołów. Warstwy modelu
ISO/OSI.
Pojęcie protokołu
• Aby komputery połączone w sieć mogły się ze sobą
komunikować, muszą korzystać ze wspólnego języka,
czyli tak zwanego protokółu.
• Protokół stanowi zestaw zasad i standardów, które
umożliwiają komunikację pomiędzy komputerami w
sieci.
• Obecnie stosowanych jest wiele typów protokołów,
różniących się między sobą właściwościami i
możliwościami. Nie każdy protokół jest jednak
kompatybilny z każdym typem komputera lub
systemem operacyjnym.
Pojęcie protokołu
• Protokoły w swojej istocie stanowią element oprogramowania i
jako takie muszą zostać zainstalowane na składnikach sieci,
które mają z nich korzystać.
• Komputery mogą komunikować się ze sobą tylko pod
warunkiem, że korzystają z tego samego protokołu.
• Jeśli protokół, wykorzystywany w sieci przez jeden komputer,
nie jest kompatybilny z protokołem, wykorzystywanym przez
drugi komputer, to komputery te nie mogą wymieniać między
sobą informacji. W danym środowisku sieciowym mogą być
wykorzystywane bardzo różne protokoły. Chociaż każdy
protokół jest w stanie zapewnić podstawową obsługę procesu
komunikacji w sieci, każdy też ma pewne charakterystyczne
funkcje, przeznaczone do realizacji specyficznych zadań.
Typy protokołów
Protokoły możemy podzielić na:
• otwarte;
• charakterystyczne dla producenta.
Z innej strony możemy je podzielić na:
• rutowalne,
• nierutowalne.
Protokoły otwarte
• Protokoły otwarte stanowią grupę protokołów,
napisanych w oparciu o powszechnie znane standardy
przemysłowe.
• Protokół, który został stworzony zgodnie z tymi
standardami, jest kompatybilny ze wszystkimi innymi
protokołami, napisanymi w oparciu o te same standardy.
• Protokoły otwarte nie są protokołami własnościowymi
(nie stanowią niczyjej prywatnej własności).
• Typowym przykładem protokołu należącego do tej grupy
jest protokół TCP/IP (Transmission Control
Protocol/Internet Protocol), który jest podstawowym
protokołem transmisji w sieci Internet.
Protokoły charakterystyczne dla
producenta
• Grupa protokołów charakterystycznych dla
producenta obejmuje protokoły własnościowe,
opracowane przez różnych producentów i
przeznaczone do pracy w specyficznych
środowiskach.
• Na przykład firma Novell stworzyła zestaw
protokołów, takich jak IPX/SPX (Internetwork Packet
Exchange/Sequenced Packet Exchange), mając na
uwadze specyfikę architektury NetWare.
Protokoły rutowalne
• Protokoły rutowalne umożliwiają komunikację pomiędzy
sieciami LAN lub segmentami sieci, które mogą być
rozproszone w obrębie jednego budynku, niewielkiego
obszaru geograficznego, takiego jak sieć uniwersytecka
lub całego świata, tak jak to jest w przypadku sieci
Internet.
• Protokoły rutowalne są w stanie zapewnić transmisję
danych z jednego segmentu sieci do innego, wzdłuż
dowolnej ścieżki, łączącej dwa segmenty sieci.
• Przykładowymi rutowalnymi protokołami są protokoły
TCP/IP oraz IPX/SPX.
Protokoły nierutowalne
• Protokoły nierutowalne, w przeciwieństwie do
protokółów rutowalnych, nie zapewniają transmisji
danych z jednego segmentu sieci do innego.
• Komputery korzystające z protokołów
nierutowalnych mogą komunikować się tylko z
komputerami znajdującymi się w tym samym
segmencie sieci.
• Protokoły NetBEUI oraz DLC (Data Link Control) są
przykładami protokołów nierutowalnych.
Potrzeba wprowadzenia modelu
warstwowego ISO/OSI
• Ponieważ protokoły mogą być skomplikowane, nadaje się im strukturę
warstwową. Polega on na podzieleniu złożonych zadań wysłania i
odebrania danych w sieci między hostami na siedem warstw, które
wykonują ściśle określone procedury.
• Procedury między warstwami są niezależne i pozwalają wymieniać
zawartość poszczególnej z nich na inną z zachowaniem jej poprzednich
zadań, np. w celu optymalizacji kodów algorytmów. Jest to możliwe
dzięki temu, że każda ma ściśle zdefiniowaną postać danych
wejściowych i wyjściowych.
• Umożliwia to opracowywanie programistom kodu obsługi każdej z
warstw w osobnych zespołach jednocześnie, co znacznie skraca czas
potrzebny do uzyskania produktu finalnego.
Definicja modelu OSI
• Model odniesienia OSI (ang. Open System Interconnection
Reference Model) jest traktowany jako wzorzec transmisji
danych dla protokołów komunikacyjnych w sieciach
komputerowych. Podstawowym założeniem modelu jest podział
systemów sieciowych na 7 warstw (ang. layers),
współpracujących z sobą w ściśle określony sposób.
• Każda warstwa komunikuje się tylko z warstwą bezpośrednio
wyższą i bezpośrednio niższą. Warstwy wyższe korzystają z usług
warstw niższych, a warstwy niższe świadczą usługi na rzecz
warstw wyższych.
• Został on przyjęty przez Międzynarodową Organizację
Standaryzującą ISO w 1984 roku.
Model warstwowy OSI
Aplikacji
Prezentacji
Sesji
Transportowa
Sieci (sieciowa)
Łącza danych
Fizyczna
Model warstwowy OSI
Model warstwowy OSI jest wzorcem używanym do reprezentowania
mechanizmów przesyłania informacji w sieci. Pozwala wyjaśnić, w jaki
sposób dane pokonują różne warstwy w drodze do innego urządzenia
w sieci, nawet jeśli nadawca i odbiorca dysponują różnymi typami
medium sieciowego. Podział sieci na warstwy przynosi następujące
korzyści:
• Dzieli proces komunikacji sieciowej na mniejsze, łatwiejsze do
zarządzania elementy składowe
• Tworzy standardy składników sieci, dzięki czemu składniki te mogą
być rozwijane niezależnie i obsługiwane przez różnych
producentów.
• Umożliwia wzajemną komunikację sprzętu i oprogramowania
sieciowego różnych rodzajów.
• Zmiany wprowadzone w jednej warstwie nie dotyczą innych warstw.
Warstwa aplikacji
• Warstwa aplikacji zajmuje się specyfikacją interfejsu, który
wykorzystują aplikacje do przesyłania danych do sieci. Warstwa
ta świadczy usługi końcowe dla aplikacji. Na tym poziomie
działają aplikacje sieciowe dostępne bezpośrednio dla
użytkownika, takie jak poczta elektroniczna, przeglądarka stron
WWW itp.
• Jeżeli użytkownik posługuje się oprogramowaniem działającym
w architekturze klient-serwer, to po jego stronie znajduje się
klient, a serwer działa na komputerze podłączonym do sieci.
Serwer i klient działają w warstwie aplikacji.
• W warstwie tej zdefiniowane są protokoły usług sieciowych
takich jak HTTP, FTP, SMTP.
Warstwa prezentacji
• Zadaniem warstwy prezentacji jest przetworzenie danych
pochodzących z warstwy aplikacji do postaci standardowej,
której wymagają warstwy niższe, a gdy informacje płyną w
kierunku warstwy aplikacji, warstwa prezentacji tłumaczy dane
otrzymane z warstw niższych na format zgodny aplikacją dla
której są przeznaczone.
• Zajmuje się tłumaczeniem poleceń pochodzących od warstwy
aplikacji do uniwersalnego języka rozumianego wszędzie w
sieci zacierając w ten sposób różnice wynikające z
występowania w sieci różnych platform sprzętowych i
systemowych.
• Odpowiada także za kompresję i szyfrowanie.
Warstwa sesji
• Zadaniem warstwy sesji jest zarządzanie przebiegiem
komunikacji podczas połączenia między dwoma komputerami.
• Przepływ tej komunikacji nazywany jest sesją.
• Warstwa ta nadzoruje połączenie i kontroluje, która aplikacja
łączy się z którą, dzięki czemu może zapewnić właściwy
kierunek przepływu danych.
• W razie przerwania połączenia, nawiązuje je ponownie.
• Ponadto określa, czy komunikacja może zachodzić w jednym
kierunku, czy w obu kierunkach i gwarantuje zakończenie
wykonywania bieżącego żądania przed przyjęciem kolejnego.
Warstwa transportowa
• Warstwa transportowa przesyła wiadomość kanałem
stworzonym przez warstwę sieciową.
• W tym celu dzieli dane otrzymane z warstwy sesji na
segmenty, które są kolejno numerowane i wysyłane do
stacji docelowej.
• Zapewnia właściwą kolejność wysyłanych i otrzymanych
segmentów, a w razie zaginięcia lub uszkodzenia
segmentu może zażądać jego retransmisji.
• Stacja docelowa może również wysyłać potwierdzenie
odebrania segmentu.
Warstwa sieci (sieciowa)
• Warstwa sieci (sieciowa) jako jedyna dysponuje
wiedzą dotyczącą fizycznej topologii sieci.
Rozpoznaje, jakie trasy łączą poszczególne
komputery i sieci i na tej podstawie decyduje,
którą z nich wybrać.
• Zapewnia metody ustanawiania, utrzymywania i
rozłączania połączeń sieciowych.
• Jednostką danych w tej warstwie jest pakiet.
Warstwa ta odpowiada za adresowanie logiczne
węzłów sieci (adresy IP).
Warstwa łącza danych
• Warstwa łącza danych nadzoruje warstwę fizyczną i
steruje fizyczną wymianą bitów.
• Ma możliwość zmiany parametrów pracy warstwy
fizycznej, tak aby obniżyć liczbę pojawiających się
podczas przekazu błędów.
• Definiuje mechanizmy kontroli błędów CRC (Cycling
Redundancy Check) i zapewnia dostarczanie ramek
informacji do odpowiednich węzłów sieci na
podstawie fizycznego adresu MAC karty sieciowej.
• Jednostką danych w tej warstwie jest ramka.
Warstwa łącza danych
Warstwa łącza danych dzieli się na dwie podwarstwy:
• LLC (Logical Link Control) – sterowania łączem
danych – kontroluje poprawność transmisji i
obsługuje tworzenie ramek. Współpracuje przede
wszystkim z warstwą sieciową.
• MAC (Media Access Control) – sterowania dostępem
do nośnika – zapewnia dostęp do nośnika sieci
lokalnej i współpracuje przede wszystkim z warstwą
fizyczną.
Warstwa fizyczna
• Warstwa fizyczna jest odpowiedzialna za przesyłanie strumieni
bitów bez kontroli ruchu i bez uwzględnienia rodzaju
informacji.
• Określa ona wszystkie składniki sieci niezbędne do obsługi
elektrycznego, optycznego oraz radiowego wysyłania i
odbierania sygnałów.
• Stanowi ją zespół mediów transmitujących wraz z tymi
urządzeniami które zajmują się generacja sygnału, regeneracją
i transkodowaniem z/na język zrozumiały dla warstw wyższych
• Ustala sposób przesyłania bitów i odległości przerw między
nimi.
• Trzy warstwy górne (aplikacji, prezentacji i sesji) zapewniają
współpracę z oprogramowaniem realizującym zadania
użytkownika systemu komputerowego. Tworzą one interfejs
pozwalający na komunikację z warstwami niższymi.
• Zadaniem czterech najniższych warstw (transportowa,
sieciowa, łącza danych oraz fizyczna) jest transmisja danych.
Zajmują się odnajdywaniem odpowiedniej drogi do miejsca
przekazania konkretnej informacji. Dzielą dane na odpowiednie
dla danej warstwy jednostki danych PDU (Protocol Data Unit).
Dodatkowo zapewniają weryfikację bezbłędności przesyłanych
danych.
• W pierwszej warstwie modelu OSI pracują koncentratory,
wzmacniaki i okablowanie. Do drugiej przypisane są
przełączniki i karty sieciowe (operują na adresach MAC);
warstwa trzecia poprzez routery operuje na adresach IP.
Przepływ danych między warstwami
• Aplikacje użytkownika działają w warstwie
aplikacji, generują strumień danych, który jest
przesyłany do niższych warstw modelu OSI;
• W warstwie transportowej zostaje on podzielony
na segmenty, każdy z segmentów posiada
nagłówek warstwy czwartej, który zostaje nadany
przez tę właśnie warstwę;
• W nagłówku tym umieszczany jest miedzy innymi
numer sekwencyjny, potrzebny do ustalenia
kolejności przesyłania danych;
Przepływ danych między warstwami
• Warstwa sieciowa odpowiedzialna jest za podzielenie
danych na pakiety i opatrzenie każdego pakietu nagłówkiem;
• W nagłówku pakietu umieszczany jest miedzy innymi adres
IP nadawcy i odbiorcy;
• Adres IP odbiorcy wykorzystywany jest przez router do
ustalenie optymalnej trasy, po której pakiet będzie
przesłany;
• Pakiet przesyłany jest do warstwy łącza danych i dzielony na
ramki;
• Każda ramka posiada nagłówek zawierający między innymi
adresy MAC nadawcy i odbiorcy oraz stopkę zawierającą
pole kontroli parzystości CRC;
Przepływ danych między warstwami
• Warstwa fizyczna zamienia dane na ciąg bitów i
przesyła za pośrednictwem medium
transmisyjnego;
• Proces podziału strumienia danych na jednostki
danych i opatrywanie ich nagłówkami nazywamy
enkapsulacja;
• Proces odwrotny, realizowany podczas odbierania
informacji i przesyłania danych do górnych warstw
nazywamy dekapsulacja.
Przepływ danych między warstwami

similar documents