Model ISO-OSI
Model ISO-OSI
OSI (ang. Open System Interconnection) lub
Model OSI to standard zdefiniowany przez
ISO oraz ITU-T, opisujący strukturę
komunikacji sieciowej. Model OSI-RM (ang.
OSI Reference Model) jest traktowany jako
model odniesienia (wzorzec) dla większości
rodzin protokołów komunikacyjnych.
Podstawowym założeniem modelu jest
podział systemów sieciowych na 7 warstw
(ang. layers) współpracujących ze sobą w
ściśle określony sposób.
Warstwy modelu
ISO/OSI
Model ISO/OSI
składa się z
1.
Warstwa fizyczna:
(physical layer)
Jest odpowiedzialna za transmisję strumienia
bitów między węzłami sieci. Definiuje
protokoły opisujące interfejsy fizyczne, to
jest ich aspekty:
mechaniczny, elektryczny, funkcjonalny i
proceduralny
.
Model ISO/OSI składa się z
2.
Warstwa łącza danych
: (ang. data
link layer)
Zapewnia niezawodne łącze pomiędzy
sąsiednimi węzłami. Nadzoruje przepływ
informacji przez łącze i w związku z
podatnością warstwy fizycznej na zakłócenia
i wynikające stąd błędy oferuje własne
mechanizmy kontroli błędów w przesyłanych
ramkach lub pakietach (CRC - Cyclic
Redundancy Check).
Model ISO/OSI składa się z
3.
Warstwa sieciowa
: (ang. network
layer)
Dostarcza środków do ustanawiania,
utrzymania i rozłączania połączeń
sieciowych miedzy systemami otwartymi, w
których rezydują komunikujące się aplikacje,
i odpowiada, za obsługę błędów komunikacji.
Ponadto warstwa sieciowa jest
odpowiedzialna za funkcje routingu, który
wyznacza optymalną pod względem liczby
połączeń drogę przesyłania pakietu przez
sieć.
Model ISO/OSI składa się z
4.
Warstwa transportowa:
(ang.
transport layer)
Zapewnia przezroczysty transfer danych
między stacjami sesyjnymi, odciąża je od
zajmowania się problemami niezawodnego
i efektywnego pod względem kosztów
transferu danych. Warstwa ta zapewnia
usługi połączeniowe. Wszystkie protokoły
w warstwie transportowej są typu “od
końca do końca”(end-to-end). Oznacza to,
że działają one tylko między końcowymi
systemami otwartymi.
Model ISO/OSI składa się z
5.
Warstwa sesji:
(ang. session layer)
Umożliwia aplikacjom organizację dialogu
oraz wymianę danych między nimi. Do
najważniejszych usług warstwy sesji należą:
sterowanie wymianą danych, ustalanie
punktów synchronizacji danych (dla celów
retransmisji w wypadku przemijających
przekłamań na łączach) oraz umożliwienie
odzyskania danych (utraconych w wyniku
przerwy w łączności) przez ponowne ich
przesłanie.
Model ISO/OSI składa się z
6.
Warstwa prezentacji:
(ang.
presentation layer)
Zapewnia możliwość reprezentowania
informacji, którą się posługują stacje
aplikacyjne podczas komunikacji Zapewnia
tłumaczenie danych, definiowanie ich
formatu oraz odpowiednią składnię.
Model ISO/OSI składa się z
7
. Warstwa aplikacji
Warstwa aplikacji jest warstwą najwyższą,
zajmuje się specyfikacją interfejsu, który
wykorzystują aplikacje do przesyłania
danych do sieci (poprzez kolejne warstwy
modelu ISO/OSI). W przypadku sieci
komputerowych aplikacje są
zwykle procesami uruchomionymi na
odległych hostach. Interfejs udostępniający
programistom usługi dostarczane przez
warstwę aplikacji opiera się na obiektach
nazywanych gniazdami (ang. socket).
Kapsułkowanie
Kapsułkowanie lub
enkapsulacja– termin odnoszący
się do struktury protokołu
komunikacyjnego, np. opartego na
modelu OSI lub modelu TCP/IP.
Kapsułkowanie polega na
upakowaniu danych z wyższej
warstwy w warstwie niższej
danego protokołu po stronie
nadawczej, a więc przed
wysłaniem pakietu
telekomunikacyjnego(datagramu,
ramki) w sieciach pakietowych. Po
stronie odbiorczej wykonywane
jest działanie odwrotne
prowadzące do wyodrębnienia
danych z warstwy najwyższej
przenoszącej dane użytkowe,
zwanej warstwą aplikacji.
TCP/IP
TCP/IP
Chociaż model odniesienia OSI jest uniwersalny, historycznym i
technicznym otwartym standardem internetowym jest protokół
TCP/IP. Model odniesienia TCP/IP, jak rózwnież rodzina
protokołów TCP/IP, umożliwiają komunikację między dowolnymi
dwoma komputerami znajdującymi sie w dowolnym miejscu
świata. Model TCP/IP jest ważny ze względów historycznych,
tak jak standardy, które umożliwiły rozwój telefonu i energii
elektrycznej. Ministerstwo Obrony Stanów Zjednoczonych
opracowało model TCP/IP ponieważ potrzebowało sieci, które
przetrwają we wszystkich warunkach, nawet w przypadku
wojny nukleranej. Ministerstwo Obrony chciało, aby ich pakiety
mogły przemieszczać się zawsze, w każdych okolicznościach.
Było to wielkie wyzwane projektowe, dzięki, któremu powstał
model odniesienia TCP/IP, standard na którym wyrósł Internet.
TCP/IP a model OSI
TCP/IP ma również strukturę
warstwową i ma do niego
zastosowanie większość filozofii
modelu OSI. Jednak podstawowe
założenia są na tyle różne, że warto
rozróżnić te dwa przypadki.
Warstwa Programów Użytkowych
Na najwyższym poziomie użytkownicy wywołują
programy użytkowe, które mają dostęp do usług
TCP/IP. Programy użytkowe współpracują z jednym
z protokołów na poziomie warstwy transportu i
wysyłają lub odbierają dane w postaci
pojedynczych komunikatów lub strumienia bajtów.
Programy użytkowe przekazują do warstwy
transportowej dane w wymaganym formacie, aby
mogły one zostać dostarczone w odpowiednie
miejsce. Wykorzystywane protokoły to m.in.:
HTTP, Telnet, FTP, TFTP, SNMP, DNS, SMTP, X
Windows.
Warstwa Transportowa
Jej podstawowym zadaniem jest zapewnienie komunikacji między
jednym programem użytkownika a drugim. Warstwa ta może
regulować przepływ informacji. Może też zapewnić pewność
przesyłania - dane przychodzą bez błędów i we właściwej kolejności.
W tym celu protokół transportowy organizuje wysyłanie przez
odbiorcę potwierdzenia otrzymania pakietów oraz ponowne
wysyłanie pakietów utraconych. Oprogramowanie transportowe dzieli
strumień transmitowanych danych na porcje (czasami zwane
pakietami) i przesyła każdy pakiet wraz z adresem odbiorcy do
następnej warstwy aby został wysłany. Ponieważ komputery ogólnego
użytku mogą mieć wiele programów użytkowych, które korzystają z
sieci w tym samym czasie, warstwa transportowa musi przyjmować
dane od kilku programów i wysyłać je do niższej warstwy. Dodaje ona
do każdego pakietu pewne informacje, które obejmują kody
identyfikujące program użytkowy wysyłający te dane, program, który
powinien je odebrać oraz sumę kontrolną.
Warstwa Intersieci
Ta warstwa to sedno działania Internetu. W tej
warstwie przetwarzane są datagramy
posiadające adresy IP. Ustalana jest
odpowiednia droga do docelowego
komputera w sieci. Niektóre urządzenia
sieciowe posiadają tę warstwę jako
najwyższą. Są to routery, które zajmują się
kierowaniem ruchu w Internecie, bo znają
topologię sieci. Proces odnajdywania przez
routery właściwej drogi określa się jako
trasowanie.
Warstwa dostępu do sieci
Warstwa dostępu do sieci lub warstwa
fizyczna (ang. network access layer)
jest najniższą warstwą i to ona
zajmuje się przekazywaniem danych
przez fizyczne połączenia między
urządzeniami sieciowymi. Najczęściej
są to karty sieciowe lub modemy.
Dodatkowo warstwa ta jest czasami
wyposażona w protokoły do
dynamicznego określania adresów IP.
Model OSI a model TCP/IP
Podobieństwa
• Oba podzielone są na warstwy.
• Oba mają warstwy aplikacji, choć obejmują one
różne usługi.
• Oba mają porównywalne warstwy transportu i
sieci.
• Zakładana jest technologia komunikacji pakietów,
a nie komunikacji obwodów.
• Profesjonaliści z dziedziny sieci muszą znać oba
modele.
Model OSI a model
TCP/IP
Różnice
• TCP/IP łączy funkcje warstw prezentacji i sesji w warstwie
aplikacji.
• TCP/IP łączy warstwy łącza danych i fizyczną modelu OSI
w jednej warstwie.
• TCP/IP wydaje się prostszy, ponieważ ma mniej warstw.
Model odniesienia OSI jest mniej skomplikowany; ma
więcej warstw, a to pozwala na szybszą współpracę i
rozwiązywanie problemów.
• Protokół TCP/IP to standardy, na których oparty jest
Internet, dlatego jest on bardziej wiarygodny. Sieci
zazwyczaj nie są budowane w oparciu o protokoły modelu
OSI, choć wykorzystuje się go jako przewodnika.
Protokoły komunikacyjne
Protokół
komunikacyjny to
zbiór ścisłych reguł i
kroków
postępowania, które
są automatycznie
wykonywane przez
urządzenia
komunikacyjne w
celu nawiązania
łączności i
wymiany danych.
Protokoły klasyczne
• Protokoły klasyczne, których pierwowzorem był
protokół teleksu, składają się z trzech części:
• procedury powitalnej (ang.) handshake, która
polega na przesłaniu wzajemnej podstawowej
informacji o łączących się urządzeniach, ich adresu
(np. nr telefonu), szybkości i rodzaju transmisji itd.
• właściwego przekazu danych
• procedury analizy poprawności przekazu (np.
sprawdzania sum kontrolnych) połączonej z
procedurą pożegnania, żądaniem powtórzenia
transmisji lub powrotem do procedury powitalnej
Protokoły internetowe
• Protokoły służące programom komputerowym
do porozumiewania się między sobą
poprzez Internet są określone przez IETF w
dokumentach zwanych RFC.
• Przesyłanie danych komputerowych to
niezwykle trudny proces, dlatego rozdzielono
go na kilka "etapów", warstw. Warstwy
oznaczają w istocie poszczególne funkcje
spełniane przez sieć. Najbardziej powszechny
sposób organizacji warstw komunikacji
sieciowej to Model OSI.
Domain Name System port 53
Domain Name System (DNS)
system serwerów, protokół
komunikacyjny oraz usługa obsługująca
rozproszoną bazę danych adresów
sieciowych. Pozwala na zamianę adresów
znanych użytkownikom Internetu na
adresy zrozumiałe dla urządzeń
tworzących sieć komputerową. Dzięki DNS
nazwa mnemoniczna, jest tłumaczona na
odpowiadający jej adres IP
File Transfer Protocol - 21
FTP jest to protokół transferu plików (File Transfer Protocol)
– protokół komunikacyjny typu klient-serwerwykorzystujący protokół
TCP według modelu TCP/IP (krótko: połączenie TCP), umożliwiający
dwukierunkowy transfer plików w układzie serwer FTP–klient FTP.
• Do komunikacji wykorzystywane są dwa połączenia TCP. Jedno z
nich jest połączeniem kontrolnym za pomocą którego przesyłane są
polecenia, a drugie służy do transmisji danych. Połączenie za
pomocą protokołu FTP (krótko: połączenie FTP) może działać w
dwóch trybach: aktywnym i pasywnym:
• jeżeli połączenie FTP działa w trybie aktywnym to używa portu 21
dla poleceń – zestawiane przez klienta i portu 20 do przesyłu
danych – zestawiane przez serwer;
• jeżeli połączenie FTP pracuje w trybie pasywnym to
wykorzystuje port 21 dla poleceń i port o numerze powyżej 1024 do
transmisji danych – obydwa połączenia zestawiane są przez klienta.
Hypertext Transfer Protocol - 80
HTTP to protokół sieci WWW (. Obecną
definicję HTTP stanowi RFC 2616. Za
pomocą protokołu HTTP przesyła się
żądania udostępnienia
dokumentów WWW i informacje o
kliknięciu odnośnika oraz informacje z
formularzy. Zadaniem stron WWW jest
publikowanie informacji –
natomiast protokół HTTP właśnie to
umożliwia.
Pośrednik HTTP – HTTP Proxy 8080
Jest to serwer pośredniczący w
przekazywaniu danych w sieci
komputerowej z
wykorzystaniem protokołu
komunikacyjnego HTTP. W najbardziej
typowym zastosowaniu używany jest
w ramach usługi WWW gdzie
pośredniczy między przeglądarkami
WWW i serwerami WWW.
HyperText Transfer Protocol Secure -
443
Jest to szyfrowana wersja
protokołu HTTP. W przeciwieństwie do
komunikacji niezaszyfrowanego
tekstu w HTTP klient-serwer, szyfruje
go za pomocą protokołu SSL.
Zapobiega to przechwytywaniu i
zmienianiu przesyłanych danych.
Transport Layer Security - SSL
Przyjęte jako standard
w Internecie rozwinięcie protokołu SS
L zaprojektowanego pierwotnie
przez Netscape Communications. TLS
zapewnia poufność i integralność
transmisji danych, a
także uwierzytelnienie serwera, a
niekiedy również klienta. Opiera się
na szyfrowaniu
asymetrycznym oraz certyfikatach X.
509.
Internet Relay Chat 6667
IRC jest to jedna ze starszych
usług sieciowych umożliwiająca rozmowę na
tematycznych lub towarzyskich kanałach
komunikacyjnych, jak również prywatną z inną
podłączoną aktualnie osobą. Usługa ta
funkcjonuje w architekturze klient-serwer, tj.
fizycznie składa się z grupy połączonych ze sobą
na stałe serwerów oraz programów-klientów.
Programy klienckie uruchamiane są przez
końcowych użytkowników lokalnie – na ich
własnych komputerach, lub zdalnie, za
pośrednictwem usługi SSH lub telnet.
Post Office Protocol
version 3 110
POP3 jest to protokół internetowy z
warstwy aplikacji pozwalający na
odbiór poczty elektronicznej ze
zdalnego serwera do
lokalnego komputera poprzez
połączenie TCP/IP. Ogromna
większość
współczesnych internautów korzysta
z POP3 do odbioru poczty.
Simple Mail Transfer Protocol
25
Jest to protokół
komunikacyjny opisujący sposób
przekazywania poczty
elektronicznej w Internecie. Standard
został zdefiniowany w
dokumencie RFC 821 a następnie
zaktualizowany w 2008 roku w
dokumencie RFC 5321
Telnet 23
Telnet jest standardem protokołu
komunikacyjnego używanego w sieciach komputerowych do
obsługi odległego terminala w architekturze klient-serwer.
Protokół obsługuje tylko terminale alfanumeryczne, co
oznacza, że nie obsługuje myszy ani innych urządzeń
wskazujących. Nie obsługuje także
graficznych interfejsów użytkownika. Wszystkie polecenia
muszą być wprowadzane w trybie znakowym w wierszu
poleceń. Polecenia wydawane za pomocą komputera-klienta
przysłane są poprzez sieć do serwera, na którym
zainstalowane jest oprogramowanie serwera telnetu. W
odpowiedzi serwer odsyła komunikaty, które następnie
wyświetlane są na ekranie komputera-klienta.
Secure Shell 22
SSH to standard protokołów komunikacyjnych używanych
w sieciach komputerowychTCP/IP, w architekturze klient-
serwer.
SSH to tylko następca protokołu Telnet, służącego
do terminalowego łączenia się ze zdalnymi komputerami.
SSH różni się od Telnetu tym, że transfer wszelkich danych
jest zaszyfrowany oraz możliwe jest rozpoznawanie
użytkownika na wiele różnych sposobów. W szerszym
znaczeniu SSH to wspólna nazwa dla całej rodziny
protokołów, nie tylko terminalowych, lecz także służących do
przesyłania plików, zdalnej kontroli zasobów, tunelowania i
wielu innych zastosowań. Wspólną cechą wszystkich tych
protokołów jest identyczna z SSH technika szyfrowania
danych i rozpoznawania użytkownika.
Internet Message Access Protocol
IMAP zaprojektowany został jako następca POP3
W przeciwieństwie do POP3, który umożliwia
jedynie pobieranie i kasowanie poczty, IMAP
pozwala na zarządzanie wieloma folderami
pocztowymi oraz pobieranie i operowanie na
listach znajdujących się na zdalnym serwerze.
IMAP pozwala na ściągnięcie nagłówków
wiadomości i wybranie, które z wiadomości
chcemy ściągnąć na komputer lokalny. Pozwala
na wykonywanie wielu operacji, zarządzanie
folderami i wiadomościami.
Dynamic Host Configuration
Protocol 67 oraz 68
DHCP jest to protokół
komunikacyjny umożliwiający kompu
terom
uzyskanie od serwera danych
konfiguracyjnych, np.adresu IP hosta,
adresu IP bramy sieciowej, adresu
serwera DNS, maski podsieci.
Protokół DHCP jest zdefiniowany
w RFC 2131
Address Resolution Protocol
• Jak jednak wiemy, dwie maszyny mogą się komunikować tylko wtedy, kiedy znają
nawzajem swoje adresy fizyczne. Zachodzi więc potrzeba opracowania
oprogramowania, które “zasłoni” adresy fizyczne i umożliwi programom wysokiego
poziomu pracę tylko z adresami IP. Docelowo jednak komunikacja jest prowadzona
za pomocą sieci fizycznej i przy użyciu schematu adresów fizycznych, który
zapewnia sprzęt. Nasuwa się pytanie jak dochodzi do przekształcenia adresu IP na
adres fizyczny tak aby informacja mogła być poprawnie przesyłana?
• Problem ten przedstawimy na przykładzie sieci Ethernet, w której mamy do
czynienia z długim 48-bitowym adresem fizycznym przypisanym w trakcie procesu
produkcyjnego do urządzeń sieciowych. W efekcie podczas wymiany karty
sieciowej w komputerze, zmienia się adres fizyczny maszyny. Ponadto nie ma
sposobu na zakodowanie 48-bitowego adresu ethernetowego w 32-bitowym adresie
IP.
• Przekształcenia adresu IP na adres fizyczny dokonuje protokół odwzorowania
adresów ARP (ang. Address Resolution Protocol), który zapewnia dynamiczne
odwzorowanie i nie wymaga przechowywania tablicy przekształcania adresowego.
Wykorzystuje on możliwość rozgłaszania danych w sieci ethernet. W rozwiązaniu
tym nowe maszyny mogą być łatwo dodawane, ponadto nie wymagane jest
przechowywanie centralnej bazy danych.
ARP cd
Reverse Address Resolution Protocol
• Adres IP jest zwykle przechowywany w pamięci zewnętrznej komputera, skąd jest
pobierany w trakcie ładowania systemu operacyjnego. Nasuwa się więc pytanie: jak
maszyna nie wyposażona w dysk twardy określa swój adres IP?” Problem ten ma
szczególne znaczenie dla stacji roboczych, które przechowują pliki na odległym
serwerze, gdyż potrzebują adresu IP, zanim będą mogły użyć protokołów TCP/IP do
przesłania plików zawierających informacje potrzebne przy uruchamianiu systemu.
• Problem ten rozwiązuje się w sposób przypominający uzyskiwanie adresu fizycznego,
tzn. “ściąga się” z serwera adres IP danej maszyny. Działanie to może wydawać się
paradoksalne - maszyna komunikuje się z serwerem aby otrzymać adres niezbędny do
komunikacji z siecią. Jednak pamiętajmy, że maszyna posiada swój adres fizyczny i może
się nim posłużyć w obrębie jednej sieci. Komputer taki czasowo używa swojego adresu
fizycznego zanim nie ustali swojego adresu IP. Wykorzystanie adresu fizycznego ma dwie
zalety. Adres fizyczny jest pobierany z interfejsu sieciowego, jest zatem łatwo dostępny.
Poza tym adres ten zależy od sieci, a nie od producenta lub typu procesora, a zatem
wszystkie maszyny w danej sieci będą używały identyfikatorów o tym samym formacie.
• Komputery bez dysku twardego ustalają swój adres IP maszyny uprawnionej do
świadczenia takich usług, przy pomocy protokołu odwrotnego odwzorowania
adresów RARP (ang. Reverse Address Resolution Protocol). Umożliwia on uzyskiwanie
adresu IP na podstawie znajomości własnego adresu fizycznego (pobranego z interfejsu
sieciowego).
RARP