Modele warstowe ISO/OSI , TCP/IP

Transkrypt

Modele warstowe ISO/OSI , TCP/IP
Model OSI
Model OSI, czyli Model Referencyjnych Połączonych Systemów
Otwartych (ang. Open Systems Interconnection Model)
stworzony został przez Międzynarodową Organizację
Normalizacyjną – ISO (International Organization for
Standardization).
Model OSI stanowi zbiór międzynarodowych standardów i reguł,
dzięki którym możliwa jest wzajemna komunikacja wszystkich
urządzeń i systemów opartych na tym modelu. Model podzielony
jest na warstwy, dzięki czemu można bez trudności posegregować
funkcje sieci a tym samym lepiej je zaprezentować i wyjaśnić.
Każda warstwa niezbędna jest do komunikacji sieciowej
konkretnego procesu komunikacyjnego.
Pojęcie warstwa odnosi się do grupy procesów zachodzących
na danym etapie komunikacji.
Proces nawiązywania komunikacji rozpoczyna się zawsze od
warstwy siódmej, kolejno przechodząc przez warstwy niższe.
Warstwa Fizyczna (1)
Jest odpowiedzialna za przesyłanie sygnałów w elektryczny,
elektromagnetyczny, mechaniczny, optyczny czy też inny sposób,
wykorzystując do tego fizyczne medium komunikacyjne (przewody
miedziane, światłowody).
Elementami warstwy fizycznej są na przykład karty sieciowe,
okablowanie oraz topologie budowy sieci takie jak Ethernet i Token
Ring. Warstwa fizyczna ma także kilka innych cech. Zaliczana jest
do tzw. warstw nieinteligentnych, gdyż przesyła jedynie sygnały
elektryczne, nie kontrolując przy tym ich przeznaczenia.
Warstwa łącza danych (2)
Ma ona nadzorować jakość przekazywanych informacji. Nadzór ten
dotyczy wyłącznie warstwy niższej. Warstwa łącza danych ma
możliwość zmiany parametrów pracy warstwy fizycznej, tak aby
obniżyć ilość pojawiających się podczas przekazu błędów. Zajmuje
się pakowaniem danych w ramki i wysyłaniem do warstwy fizycznej.
Rozpoznaje błędy związane z nie dotarciem pakietu oraz
uszkodzeniem ramek i zajmuje się ich naprawą. Warstwa łączna
danych umożliwia budowanie struktur danych, które będą
przesyłane. Jednak by doszło do przesyłania jakiejkolwiek ramki,
warstwa łącza danych musi wypełnić pewne powierzone jej
zadania. Jednym z nich jest kontrola dostępu do nośnika – MAC
(Media Access Control) .MAC w tym przypadku odpowiada za
pozwolenie na nadawanie dla odpowiedniego hosta. MAC
występuję również jako adres (MAC address) jest 48-bitowy i
zapisywany jest heksadecymalnie (szesnastkowo).
Warstwa sieci (3)
Została stworzona, by umożliwić komputerom komunikację z innymi
komputerami znajdującymi się w różnych segmentach sieci. Wynika
to z funkcji identyfikowania ścieżki, jaka prowadzi do docelowego
hosta. W sieci zwykło się określać komputer jako tzw. host. Jest to
pojęcie często pojawiające się podczas konfigurowania różnych
usług sieciowych oraz samych protokołów sieciowych. Protokołami
warstwy trzeciej są IP, IPX oraz Apple Talk którego używają
komputery Mac. Nośnikiem danych na poziomie warstwy trzeciej
jest pakiet. Protokół IP jest protokołem zawodnym - nie gwarantuje,
że pakiety dotrą do adresata, nie zostaną pofragmentowane, czy
też zdublowane, a ponadto mogą dotrzeć do odbiorcy w innej
kolejności niż zostały nadane. Niezawodność transmisji danych jest
zapewniana przez protokoły warstw wyższych znajdujących się w
hierarchii powyżej warstwy sieciowej.
Warstwa transportowa (4)
Zapewnienia niezawodność komunikacji pomiędzy odległymi
komputerami lub abstrakcyjnymi portami komunikacyjnymi w tych
komputerach. Warstwa ta 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. Mechanizmy wbudowane w
warstwę transportową pozwalają rozdzielać logicznie szybkie kanały
łączności pomiędzy kilka połączeń sieciowych. Możliwe jest także
udostępnianie jednego połączenia kilku warstwom sieciowym, co
może obniżyć koszty eksploatacji sieci. Warstwa transportu stanowi
niezbędne uzupełnienie do warstwy sieciowej. Wyposażona została
w elementy kontroli transmisji danych. Protokołami warstwy
transportu są: UDP, TCP, SPX. Protokoły warstw transportu
wprowadzają jeszcze jedną bardzo ważną funkcję, bez której
dzisiejsze sieci i usługi nie mogłyby istnieć. Jest to funkcja tzw.
gniazd. Port pozwala na niezależne działanie wielu funkcji
sieciowych i usług, choćby takich jak SMTP, POP3, FTP, http.
Warstwa sesji (5)
Warstwa sesji otrzymuje od różnych aplikacji dane, które muszą
zostać odpowiednio zsynchronizowane. Warstwa sesji "wie", która
aplikacja łączy się z którą, dzięki czemu może zapewnić właściwy
kierunek przepływu danych.
Warstwa prezentacji (6)
Warstwa prezentacji wprowadzona została dla uzyskania zgodności
informacji przesyłanych pomiędzy komunikującymi się hostami.
Zawiera funkcje kodowania danych, tak by były one zrozumiałe dla
końcowych systemów (może odpowiednio kodować np. informacje
zapisane zarówno w kodzie ASCII, jak i EBCDIC. Dzięki temu
zupełnie różne systemy, takie jak na przykład Windows i MacOS,
mogą wzajemnie się komunikować, mimo, że używają różnych
systemów kodowania danych.
ASCII (American Standard Code for Information Interchange) - 7-bitowy kod
przyporządkowujący liczby z zakresu 0-127 literom (alfabetu angielskiego), cyfrom, znakom
przestankowym i innym symbolom oraz poleceniom sterującym. Przykładowo litera "a" jest
kodowana liczbą 97, a polecenie "powrót karetki" – liczbą 13.
EBCDIC (Extended Binary Coded Decimal Interchange Code, czyli rozszerzony dziesiętny
zakodowany dwójkowo kod wymiany) to ośmiobitowe kodowanie znaków używane głównie w
systemach IBM w latach sześćdziesiątych XX wieku. Można w nim zapisać do 256 różnych
symboli, jednak kodowanie EBCDIC występowało w wielu wersjach, odmiennych dla różnych
państw. Alternatywny system, ASCII w sposób standardowy koduje 128 znaków o numerach
0-127, natomiast dalsze numery są zależne od tzw. strony kodowej, np. CP852, CP1250,
ISO-8859.
Warstwa aplikacji (7)
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. Przykładem protokołu warstwy aplikacji może być np.
przeglądarka HTTP, która dzięki swojej wewnętrznej mechanice
umożliwia wysyłanie zapytań o pożądane dane, a następnie
interpretuje je tak, by były czytelne dla użytkownika.
W praktyce Model OSI został częściowo zmodyfikowany.
Najczęstszą zmianą było połączenie warstwy fizycznej oraz łącza
danych w jedną. Wynikało to z praktycznych cech tych warstw, które
powodowały, że nie dało się odseparować ich pracy od siebie. Nie
należy mylić Modelu OSI-RM z Modelem DoD. Mimo pewnego
podobieństwa, oba te modele nie są w pełni zgodne.
Porty protokołu – pojęcie związane z protokołami
transportowymi TCP i UDP używanymi w Internecie do
identyfikowania procesów działających na odległych
systemach.
Numery portów reprezentowane są przez liczby
naturalne z zakresu od 0 do 65535 (216 - 1). Niektóre
numery portów (od 0 do 1023) są ogólnie znane (wellknown port numbers) i zarezerwowane na standardowo
przypisane do nich usługi takie, jak np. WWW czy poczta
elektroniczna. Dzięki temu możemy identyfikować nie
tylko procesy, ale ogólnie znane usługi działające na
odległych systemach.
Lista niektórych standardowych usług:
DNS – 53
FTP – 20, przesyłanie danych
FTP – 21, przesyłanie poleceń
HTTP – 80
HTTPS – 443
IMAP - 143
IRC – 6667
XMPP – 5222 lub 5223
NNTP – 119
POP3 – 110
POP3s – 995
SMTP – 25
SSH – 22
Telnet – 23
Lista portów i nazw odpowiadających im usług znajduje się w pliku /etc/services
Model TCP/IP
Warstwa Dostępu do sieci (1)
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.
Warstwa Sieciowa (2)
Warstwa sieciowa lub warstwa protokołu internetowego (ang.
internet protocol layer) 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 Transportowa (3)
Warstwa transportowa (ang. host-to-host layer) zapewnia pewność
przesyłania danych oraz kieruje właściwe informacje do
odpowiednich aplikacji. Opiera się to na wykorzystaniu portów
określonych dla każdego połączenia. W jednym komputerze może
istnieć wiele aplikacji wymieniających dane z tym samym
komputerem w sieci i nie nastąpi wymieszanie się przesyłanych
przez nie danych. To właśnie ta warstwa nawiązuje i zrywa
połączenia między komputerami oraz zapewnia pewność transmisji.
Warstwa Aplikacji (4)
Warstwa procesowa czy warstwa aplikacji (ang. process layer) to
najwyższy poziom, w którym pracują użyteczne dla człowieka
aplikacje takie jak, np. serwer WWW czy przeglądarka internetowa.
Obejmuje ona zestaw gotowych protokołów, które aplikacje
wykorzystują do przesyłania różnego typu informacji w sieci.
Każdy protokół sieciowy można przyporządkować do określonej
warstwy modelu TCP/IP. Pewną szczególną cechą rodziny
protokołów TCP/IP używanej w internecie jest podział protokołów z
warstwy aplikacyjnej i połączeniowej. Niektóre protokoły z warstwy
aplikacji wykorzystują tylko pewne protokoły z warstwy transportowej.
Protokoły DNS, NTP wykorzystują tylko protokół UDP z warstwy
transportowej. Protokoły FTP, SMTP, POP3, SSH, IRC posługują się
tylko TCP. Natomiast SMB używa obu protokołów.
Protokół SSL ma szczególną rolę. Może zostać umieszczony
pomiędzy każdym połączeniowym protokołem warstwy aplikacji, a
TCP. Dzięki jego wykorzystaniu dane przesyłane przez aplikacje
mogą zostać zaszyfrowane.
Niektóre protokoły z warstwy aplikacji, jak np. SMB nie działają
zwykle w Internecie. Są wykorzystane w sieciach lokalnych do
udostępniania usług, jak np. zdalne drukarki czy dyski.
Listę protokołów transportowych można znaleźć w pliku:
/etc/protocols
a listę protokołów z warstwy aplikacji w pliku
/etc/services
W systemach z rodziny Windows, odpowiednie pliki znajdują się w
katalogu
%ROOTDIR%\system32\drivers\etc
gdzie %ROOTDIR to katalog z systemem, domyślnie:
c:\windows\system32\drivers\etc
Protokoły warstwy dostępu do sieci:
802.11 to grupa standardów IEEE dotyczących sieci
bezprzewodowych
Ethernet to technologia, w której zawarte są standardy
wykorzystywane w budowie głównie lokalnych sieci
komputerowych. Obejmuje ona specyfikację kabli oraz
przesyłanych nimi sygnałów. Ethernet opisuje również format
ramek i protokoły z dwóch najniższych warstw Modelu OSI.
ADSL - Asymmetric Digital Subscriber Line (ang. asymetryczna
cyfrowa linia abonencka), to technika umożliwiająca asymetryczny
dostęp do Internetu i będąca odmianą DSL.
FDDI (ang. Fiber Distributed Data Interface) to standard transmisji
danych, jest oparty na technologii światłowodowej.
Protokoły warstwy sieciowej:
IP (Internet Protocol) Używany powszechnie w Internecie i sieciach
lokalnych.Dane w sieciach IP są wysyłane w formie bloków
określanych mianem pakietów.
ICMP (Internet Control Message Protocol, internetowy protokół
komunikatów kontrolnych) – wykorzystywany w diagnostyce sieci
oraz trasowaniu. Pełni on przede wszystkim funkcję kontroli
transmisji w sieci, ale ma też zastosowania, w których używany jest
tylko on – ping oraz traceroute.
IPX (Internetwork Packet Exchange) to protokół będący częścią
stosu IPX/SPX opracowanego przez firmę Novell na potrzeby
środowiska sieciowego NetWare.
Protokoły warstwy transportowej:
TCP (Transmission Control Protocol - protokół kontroli transmisji) –
strumieniowy protokół komunikacji między dwoma komputerami.W
przeciwieństwie do UDP, TCP zapewnia wiarygodne połączenie dla
wyższych warstw komunikacyjnych przy pomocy sum kontrolnych i
numerów sekwencyjnych pakietów, w celu weryfikacji wysyłki i
odbioru. Brakujące pakiety są obsługiwane przez żądania
retransmisji. Host odbierający pakiety TCP porządkuje je według
numerów sekwencyjnych tak, by przekazać wyższym warstwom
modelu OSI pełen, złożony segment.
Protokoły warstwy transportowej:
UDP (ang. User Datagram Protocol – Datagramowy Protokół
Użytkownika) protokół bezpołączeniowy, więc nie ma narzutu na
nawiązywanie połączenia i śledzenie sesji. Nie ma też mechanizmów
kontroli przepływu i retransmisji. Korzyścią płynącą z takiego
uproszczenia budowy jest większa szybkość transmisji danych i brak
dodatkowych zadań, którymi musi zajmować się host posługujący się
tym protokołem. Z tych względów UDP jest często używany w takich
zastosowaniach jak wideokonferencje, strumienie dźwięku w
Internecie i gry sieciowe, gdzie dane muszą być przesyłane możliwie
szybko, a poprawianiem błędów zajmują się inne warstwy modelu
OSI. Przykładem może być VoIP lub protokół DNS.
Protokoły warstwy transportowej:
SPX (ang. Sequenced Packet Exchange) to protokół warstwy
transportowej (czwartej warstwy modelu OSI) będący częścią stosu
IPX/SPX opracowanego przez firmę Novell na potrzeby środowiska
sieciowego NetWare. Wzorowany na protokole SPP stosu
protokołów XNS firmy Xerox.
Protokół SPX jest połączeniowym protokołem zapewniającym
transmisję danych. Głównym celem jego powstania było zapewnienie
stabilnego i bezbłędnego połączenia w trudnych warunkach, nawet
kosztem szybkości.
Protokoły warstwy aplikacyjnej:
HTTP (HyperText Transfer Protocol) – protokół przesyłania
dokumentów hipertekstowych
HTTPS (HTTP Secure) - to szyfrowana wersja protokołu HTTP
DNS (ang. Domain Name System, system nazw domenowych) protokół komunikacyjny zapewniający zamianę adresów znanych
użytkownikom Internetu na adresy zrozumiałe dla urządzeń
tworzących sieć komputerową. Dzięki wykorzystaniu DNS nazwa
mnemoniczna, np. pl.wikipedia.org, może zostać zamieniona na
odpowiadający jej adres IP, czyli 91.198.174.2
Telnet – protokół używany do obsługi odległego terminala. Telnet
jest usługą (programem) pozwalającą na zdalne połączenie się
komputera (terminala) z oddalonym od niego komputerem
(serwerem). Umożliwia on zatem ustanowienie użytkownikowi
zdalnej sesji na serwerze tak jak gdyby siedział tuż przed nim.
SSH (ang. secure shell) - następca Telnet. Transfer danych jest
zaszyfrowany. 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 (SCP, SFTP), zdalnej kontroli
FTP (ang. File Transfer Protocol) - protokół który umożliwia
przesyłanie plików z i na serwer. Do komunikacji wykorzystywane
są dwa połączenia TCP. Jedno z nich jest połączeniem kontrolnym
za pomocą którego przesyłane są np. polecenia do serwera, drugie
natomiast służy do transmisji danych m.in. plików. FTP działa w
dwóch trybach: aktywnym i pasywnym, w zależności od tego, w
jakim jest trybie, używa innych portów do komunikacji. Jeżeli FTP
pracuje w trybie aktywnym, korzysta z portów: 21 dla poleceń
(połączenie to jest zestawiane przez klienta) oraz 20 do przesyłu
danych. Połączenie nawiązywane jest wówczas przez serwer.
Jeżeli FTP pracuje w trybie pasywnym wykorzystuje port 21 do
poleceń i port o numerze > 1024 do transmisji danych, gdzie
obydwa połączenia zestawiane są przez klienta.
POP3 (Post Office Protocol version 3 ) to protokół pozwalający na
odbiór poczty elektronicznej ze zdalnego serwera do lokalnego
komputera
IMAP (Internet Message Access Protocol) to internetowy protokół
pocztowy zaprojektowany 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.
SMTP (Simple Mail Transfer Protocol) – protokół służący do
przekazywania (wysyłania) poczty elektronicznej w Internecie.