Model OSI

advertisement
Protokoły otwarte (TCP/IP) i
inne
Anna Markowska
Paweł Zdanio
Piotr Machałowski
OSI/ISO – warstwowy model sieci
W roku 1977 Midzynarodowa Organizacja
Standardów ISO (International Standards
Organization) opracowała pierwszy standard
ISO 7498 określąjcy wzorcowy model
współdziałania systemów otwartych tzw.
Model Odniesienia OSI/ISO RM (Open
System Interconnection Reference Model).
System otwarty
Przez system otwarty należy rozumie taki,
który jest odpowiednio przystosowany do
komunikacji z innymi systemami. System
zamknięty to taki, który może komunikować
się z innymi systemami wyłącznie za
pośrednictwem systemów otwartych.
Charakterystyczną cechą oprogramowania
sieci komputerowych jest podział na warstwy.
Warstwa stanowi podstawowe pojęcie
wystpuajce w OSI/ISO. Kolejno nadbudowane
(logicznie i fizycznie) warstwy tworzą sieć.
Model OSI
OSI (ang. Open System Interconnection) lub Model OSI
(pełna nazwa ISO OSI RM, ang. ISO OSI Reference Model model odniesienia łączenia systemów otwartych) - standard
zdefiniowany przez ISO oraz ITU-T opisujący strukturę
komunikacji sieciowej.
 Model ISO OSI RM 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. Został
przyjęty przez ISO w 1984 roku a najbardziej interesującym
organem jest wspólny komitet powołany przez ISO/IEC,
zwany Joint Technical Committee 1- Information Technology
(JTC1). Formalnie dzieli się jeszcze na podkomitety SC.
Struktura warstwowa sieci
Warstwy
7 APLIKACJI
6 PREZENTACJI
5 SESJI
4 TRANSPORTU
3 SIECI
2 ŁĄCZY DANYCH
1 FIZYCZNA
Warstwa n w jednym komputerze prowadzi
konwersację z warstw n w innym. W
rzeczywistości dane nie są bezpośrednio
przenoszone z warstwy n w jednym komputerze
do warstwy n w innym (z wyjątkiem warstwy
najniższej). Natomiast każda warstwa przekazuje
dane i informacje do sąsiedniej warstwy niższego
poziomu, aż dane te dotrą do warstwy położonej
najniżej. Na poziomie tej warstwy następuje
komunikacja fizyczna z innym komputerem.
Komunikacja miedzy warstwami odbywa się według
ścisłych reguł. Protokoły (protocol) to reguły i
struktury danych dotyczące komunikacji między
warstwami.
Definicja

Protokoły komunikacyjne 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.
Dzięki temu, że połączenia z użyciem
protokołów odbywają się całkowicie
automatycznie typowy użytkownik zwykle
nie zdaje sobie sprawy z ich istnienia i nie
musi o nich nic wiedzieć.
Porównanie warstw
modelu DoD i modelu OSI
OSI/ISO
TCP/IP
APLIKACJI
APLIKACJI
PREZENTACJI
(aplikacje TCP/IP) :
np. Telnet, FTP, SMTP
SESJI
TRANSPORTOWA
TRANSPORTOWA (TCP, UDP)
SIECI
SIECI (IP ,ICM)
LĄCZA DANYCH
DOSTĘPU DO SIECI
np. ARP, RARP
FIZYCZNA
Warstwa dostępu do sieci
Warstwa jest odpowiedzialna za
przyjmowanie datagramów IP i
przesyłanie ich przez daną sieć.
Zawiera protokoły ARP i RARP obsługujące
niskopoziomową transmisję pakietów.
Warstwa sieci (internetu)
Ta warstwa odpowiada za obsługę komunikacji
między maszynami. Zajmuje się przesyłaniem
datagramów do odpowiedniego interfejsu
sieciowego i odbieraniem datagramów
przychodzących.
Warstwa internetu wysyła te komunikaty kontrolne
i o błędach zgodnie z protokołem ICMP i
obsługuje te, które przyszły.
Zawiera protokoły ICMP, IP, IGMP, RIP, OSPF i EGP.
Protokół IP odpowiada za odnalezienie adresata
danych w sieci. Ramki tych protokołów są
transportowane przez protokoły z warstwy łącza.
Warstwa transportowa
Podstawowym zadaniem warstwy transportowej
jest zapewnienie komunikacji między jednym
programem użytkownika a drugim. Warstwa
transportowa zapewnia niezawodne przesyłanie:
dane przychodzą bez błędów i w kolejności.
Obejmuje protokoły UDP i TCP. Pierwszy dostarcza
pakiety prawie bez sprawdzania poprawności
transmisji, drugi natomiast gwarantuje bezstratne
ich dostarczenie. Ramki warstwy transportowej
zawierają się jako dane w protokole IP z warstwy
sieciowej.
Warstwa aplikacji
Na najwyższym poziomie użytkownicy
wywołuj programy użytkowe, które mają
dostęp do usług intersieci TCP/IP.
Programy współpracują z jednym z
protokołów na poziomie transportu i
wysyłaj lub odbieraj dane.
Obejmuje protokoły HTTP, SMTP, FTP, NFS, NIS, LPD, Telnet, SSH
Model odniesienia TCP/IP, zwany modelem
DoD (Departament of Defense), inaczej niż
OSI nie przypisuje sztywno funkcji do
każdej warstwy, jest więc bardziej
elastyczny od modelu OSI. Podstawowa
różnica między modelem OSI a DoD
polega na braku stałej gwarancji
dostarczania pakietów przez warstwę
transportową. Protokoły TCP i IP łącznie
zarządzają przepływem danych przez sieć
w obydwu kierunkach.
TCP/IP
TCP/IP (ang. Transmission Control Protocol / Internet Protocol) jest
pakietem najbardziej rozpowszechnionych protokołów
komunikacyjnych współczesnych sieci komputerowych.
Następca protokołu NCP. Najczęściej obecnie
wykorzystywany standard sieciowy, stanowiący podstawę
współczesnego Internetu. Nazwa pochodzi od dwóch
najważniejszych jego protokołów: TCP oraz IP.
TCP/IP jest standardem komunikacji otwartej.
Otwartość oznacza tu możliwości komunikacji
między dowolnymi typami urządzeń, bez względu na
ich fizyczną różnorodność.
TCP/IP zwany jest także stosem protokołów ze względu na
strukturę warstwową, w której ramka protokołu wyższej
warstwy jest zawarta jako dane w protokole warstwy niższej.
IP Internet Protocol
To protokół komunikacyjny warstwy sieciowej modelu OSI
(warstwy internet w modelu TCP/IP).
 Dane w sieciach IP są wysyłane w formie bloków określanych
mianem pakietów. W przypadku protokołu IP, przed
rozpoczęciem transmisji nie jest zestawiana wirtualna sesja
komunikacyjna pomiędzy dwoma hostami, które nie
komunikowały się ze sobą wcześniej.
 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
(np. TCP), znajdujących się w hierarchii powyżej warstwy
sieciowej.
TCP Transmission Control Protocol
TCP jest protokołem w pełni niezależnym i może zostać
zaadaptowany do wykorzystania z innymi systemami dostarczania.
Możliwe jest używanie go zarówno w pojedynczej sieci takiej jak
Ethernet jak i w skomplikowanej intersieci.
Własności usługi niezawodnego dostarczania
 TCP organizuje dwukierunkową współpracę między warstwą IP, a
warstwami wyższymi, uwzględniając przy tym wszystkie aspekty
priorytetów i bezpieczeństwa. Musi prawidłowo obsłużyć
niespodziewane zakończenie aplikacji, do której właśnie wędruje
datagram, musi również bezpiecznie izolować warstwy wyższe - w
szczególności aplikacje użytkownika - od skutków awarii w
warstwie protokołu IP. Scentralizowanie wszystkich tych aspektów
w jednej warstwie umożliwia znaczną oszczędność nakładów na
projektowanie oprogramowania.
 TCP rezyduje w modelu warstwowym powyżej warstwy IP.
Warstwa ta jest jednak obecna tylko w tych węzłach sieci, w
których odbywa się rzeczywiste przetwarzanie datagramów przez
aplikacje, tak więc nie posiadają warstwy TCP na przykład routery,
gdyż warstwy powyżej IP nie miałyby tam nic do roboty.
Cechy charakterystyczne
Protokoły te mają następujące cechy charakterystyczne:
 dobrą odtwarzalność po awarii
 możliwość dodawania nowych sieci bez przerywania pracy istniejących
 wysoki współczynnik korekcji błędów
 niezależność od platformy
 mały stopień obciążenia danych własnymi strukturami
 dużą wydajność
 Protokoły TCP i IP łącznie zarządzają przepływem większości danych przez sieć. IP
odpowiada za przesyłanie dowolnych danych z punktu do punktu i zawiera w sobie na
przykład TCP lub UDP. Zadaniem TCP jest:
 uzgadnianie tożsamości (handshake)
 zarządzanie pakietami (mogą docierać do adresata w innej kolejności, niż były wysłane)
 sterowanie przepływem
 wykrywanie i obsługę błędów
 Para TCP+IP jest stosowana do tzw. transmisji połączeniowej, gdzie zagwarantowany jest
przepływ danych dowolnej długości w obydwie strony, lub zwrotne poinformowanie
nadawcy o nieusuwalnym błędzie.
 Para protokołów UDP+IP jest najczęściej używanym standardem do tzw. transmisji
bezpołączeniowej, czyli przesłania w jedną stronę, bez potwierdzenia odbioru, niewielkiej
paczki danych zwanych datagramem.
IPX/SPX
IPX/SPX - jest to zestaw protokołów firmy Novell,
bierze on nazwę od swoich dwóch głównych
protokołów: międzysieciowej wymiany pakietów
IPX i sekwencyjnej wymiany pakietów SPX. Ten
firmowy stos protokołów został oparty na
protokole systemów sieciowych firmy Xerox,
wykorzystywanym w pierwszej generacji Ethernet.
Wymiana IPX/SPX zyskała na znaczeniu we
wczesnych latach 80, jako integralna część
systemu Novell Netware. Netware stał się
faktycznym standardem sieciowego systemu
operacyjnego dla sieci lokalnych pierwszej
generacji
IPX
Internetwork Packet Exchange to
protokół warstwy sieciowej (trzeciej
warstwy modelu OSI) będący częścią stosu
IPX/SPX.
 Zorientowany na bezpołączeniowe
przesyłanie danych. Nie posiada
mechanizmów kontroli transmisji i nie
gwarantuje, że wszystkie pakiety dotrą na
miejsce.
 Bardzo popularny w latach
dziewięćdziesiątych, aktualnie wyparty przez
protokół IP ze stosu TCP/IP.
IPX a IP

Protokół IPX w dużym stopniu przypomina
IP. Jest bezpołączeniowym protokołem
datagramowym, który nie wymaga ani nie
zapewnia potwierdzenia każdego
transmitowanego pakietu. Protokół IPX
polega na SPX w taki sam sposób, w jaki
protokół IP polega na TCP w zakresie
porządkowania kolejności i innych usług
połączeniowych warstwy 4. Stos protokołów
IPX/SPX obejmuje cztery warstwy
funkcjonalne: dostępu do nośnika, łącza
danych, Internetu i aplikacji.
IPX
Protokół IPX jest obecnie czasem stosowany w sieciach ze względów
bezpieczeństwa. Polega to na tym, że ruch zewnętrzny (Internet)
obsługuje się klasycznie - protokołem IP, zaś ruch LAN (w
szczególności sieć Windows czy Novell) obsługuje się protokołem
IPX (często używając innej ramki Ethernet, np. 802.2 dla IP, 802.3
dla IPX). Powoduje to, że nie można się dostać do stacji Windows
poprzez protokół IP do usług LAN, gdyż protokoły sieci
windowsowej dostępne są wyłącznie na IPX, który nie jest
routowany na zewnątrz. Jest to dobre rozwiązanie dodatkowo
zabezpieczające przed potencjalnymi błędami w regułach na FW,
systemowo blokujące (bez żadnych filtrów) dostęp do sieci
Windows poprzez IP. Warto pamiętać, że ataki na usługi otoczenia
sieciowego Windows to najczęstszy sposób instalowania trojanów,
wirusów i przejmowania kontroli nad komputerami z Windows. Po
wyłączeniu (lub przepięciu na IPX) usług LAN, komputer z
Windows staje się znacznie bezpieczniejszy. Dodatkową korzyścią
jest niemożliwość podsłuchiwania transmisji LAN znaczną częścią
narzędzi przez "script-kiddies", gdyż większość narzędzi nie
rozumie protokołu IPX (lub trzeba użyć dodatkowych opcji).
SPX
Protokół warstwy Internetu SPX jest
protokołem połączeniowym i może być
wykorzystywany do przesyłania danych
między klientem serwerem, dwoma
serwerami czy dwoma klientami. Tak jak w
przypadku TCP, protokół SPX zapewnia
niezawodność transmisjom IPX, zarządzając
połączeniem i udostępniając sterowanie
strumieniem danych, kontrolę błędów i
porządkowanie kolejnych pakietów.
Głównym protokołem warstwy aplikacji jest
protokół rdzenia NetWare (NCP). Protokół
NCP można bezpośrednio sprzęgnąć
zarówno z protokołem SPX, jak i IPX. Jest
wykorzystywany do drukowania,
współdzielenia plików, poczty elektronicznej
i dostępu do katalogów. Innymi protokołami
warstwy aplikacji są: protokół informacyjny
trasowania, firmowy protokół ogłoszeniowy
usługi i protokół obsługi łącza systemu
NetWare.
AppleTalk
Jest to pakiet protokołów komunikacyjnych
stworzonych przez firmę Apple Computer w
roku 1984, umożliwiających tworzenie sieci
komputerowych i podstawowych usług
sieciowych dla komputerów Macintosh i
innych produktów tej firmy. Lecz po pewnym
czasie firma Apple Computer zaprzestała
rozwoju AppleTalk i zaczęła wykorzystywać
w swych produktach TCP/IP, który stawał się
coraz popularniejszy.
Niektóre protokoły wchodzące w
skład AppleTalk:





AppleTalk Address Resolution Protocol(AARP) - Zadaniem tego
protokołu była zmiana adresu sieciowego AppleTalk na adres fizyczny MAC,
jest odpowiednikiem protokołu ARP.
Datagram Delivery Protocol(DDP) - Służył do szybkiego, bezpołączeniowego przesyłania datagramów ,bez gwarancji na ich dostarczenie
(Podobnie jak protokół UDP w TCP/IP)
AppleTalk Transaction Protocol(ATP) - Służył do połączeniowej
wymiany datagramów między klientami. Klient 1 wysłał jeden "pakiet
zadanie" ,następnie klient 2 odpowiadał maksymalnie ośmioma "pakietami
odpowiedzi", po czym klient 1 odpowiadał "pakietem zatwierdzającym" z
bit-maską "pakietów odpowiedzi" jaką dostał.
AppleTalk Data Stream Protocol(ADSP) - Został dodany do
AppleTalk gdy okazało się że jest potrzebny protokół podobny do TCP w
TCP/IP. W odróżnieniu od ATP czy ASP pozwalał na odrzucenie próby
połączenia.
AppleTalk Filing Protocol(AFP) - służył do komunikacji z serwerami
plików AppleShare. Nadal jest stosowany pod nazwą Apple Filing Protocol.
NetBEUI
Interfejs NetBEUI został opracowany przez IBM i wprowadzony na
rynek w 1985 roku. Jest stosunkowo małym ale wydajnym
protokołem komunikacyjnym LAN. NetBEUI jest wyłącznie
protokołem transportu sieci LAN dla systemów operacyjnych
Microsoft. Nie jest trasowany. Dlatego jego implementacje
ograniczają się do warstwy 2, w których działają wyłącznie
komputery wykorzystujące systemy operacyjne firmy Microsoft.
Aczkolwiek staje się to coraz mniejszą przeszkodą, to jednak
ogranicza dostępne architektury obliczeniowe i aplikacje
technologiczne. Zalety korzystania z protokołu NetBEUI są
następujące: Komputery korzystające z systemów operacyjnych lub
oprogramowania sieciowego firmy Microsoft mogą się
komunikować. NetBEUI jest w pełni samodostrajającym się
protokołem i najlepiej działa w małych segmentach LAN. Ma
minimalne wymagania odnośnie pamięci. Zapewnia doskonałą
ochronę przed błędami transmisji, a także powrót do normalnego
stanu w razie ich wystąpienia. Wadą protokołu NetBEUI jest fakt, że
nie może być trasowany i niezbyt dobrze działa w sieciach WAN.
Download