Warstwa | Model OSI | Protokoły | ||
---|---|---|---|---|
7 | Warstwa aplikacji | telnet, ssh ,http, smtp, pop3,ftp. | tfp, dns | |
6 | Warstwa prezentacji | |||
5 | Warstwa sesji | |||
4 | Warstwa transportowa | FTP | UDP | ARP |
3 | Warstwa sieciowa | IP, ICMP, IGMP, RIP, OSPF, BGP. | ||
2 | Warstwa łącza danych | |||
1 | Warstwa fizyczna | 101010101010101010101 |
7.Warstwa aplikacji
Czasem mylnie uważa się, że nazwa szczytowej warstwy modelu OSI odnosi się do
aplikacji użytkownika, takich jak Word, Excel, PowerPoint, itp. Nazwa ta nie wiąże
się jednak z samym oprogramowaniem aplikacyjnym, ale raczej z możliwością dostępu
przez sieć do danych jednej aplikacji z innej oraz z dostępem do modelu referencyjnego
OSI, mającym na celu przygotowanie danych do umieszczenia ich
w pakiecie i wysłania przez okablowanie.
Warstwa aplikacji umożliwia aplikacjom użytkownika wysyłanie danych przez sieć,
po prostu zapewniając im dostęp do warstw niższych (dostęp do modelu OSI). Jej
zadaniem jest dostarczenie interfejsu do stosu protokołów. W przeciwieństwie do
innych warstw OSI, nie oferuje ona usług żadnym innym warstwom, udostępniając
jedynie własne usługi.
- Aplikacyjne usługi sieciowe i między sieciowe.
- Usługi plikowe i wydruku
- Pocztę elektroniczną (e-mail).
- Dostęp do sieci WWW (World Wide Web) i protokół przesyłania hipertekstu (HTTP, HyperText Transfer Protocol).
- Dostęp za pomocą protokołu Telnet ze zdalnego hosta.
- Protokół przesyłania plików (FTP, File Transfer Protocol).
6.Warstwa prezentacji
Warstwa prezentacji zapewnia różnym platformom wspólny format danych. Odpowiada
ona za następujące usługi:
- Konwersję i tłumaczenie (translację) danych
- Kompresję i dekompresję
- Szyfrowanie i odszyfrowywanie.
Przykładem rzeczywistego protokołu tej warstwy jest XDR (external Data Representation),
stosowany w opartym na schemacie klient-serwer systemie plików NFS
(Network File System), stworzonym przez firmę Sun MicroSystems. Protokół ten
zapewnia niezależność od platformy. Jest on w istocie włączony do kodu oprogramowania.
5.Warstwa sesji
Warstwa sesji ustanawia sesje i zarządza nimi. Sesja składa się z dialogu między
warstwami prezentacji w przynajmniej dwóch systemach. Warstwa ta obsługuje też
żądania dostępu do różnych usług, występujące między systemami, i zarządza odpowiedziami
na te żądania. Poza tym steruje dialogiem między dwoma aplikacjami
na różnych hostach i zarządza strumieniami danych.
Wydajność sterowania dialogiem między hostami w warstwie sesji zależy od tego,
czy komunikacja odbywa się w trybie połowicznie dwukierunkowym (half-duplex)
czy całkowicie dwukierunkowym (full-duplex). W trybie połowicznie dwukierunkowym
tylko jedno urządzenie może w danej chwili się komunikować (nadawać),
natomiast wszystkie pozostałe oczekują na swoją kolej. Każda strona komunikacji
musi czekać na koniec wysyłania przez inną, a następnie odpowiadać odrębnym
potwierdzeniem. W trybie całkowicie dwukierunkowym wysyłanie i odbieranie może
być jednoczesne, co zwiększa wydajność komunikacji. Wydajność w tym trybie osiąga
się przez tz.w jazdę na barana (piggybacking) lub zawieranie danych w obrębie tej samej
ramki.
Przykładem znanego protokołu warstwy sesji może być NetBIOS (Network Basic
Input/Output System). Ustanawia on sesje między dwoma komputerami z systemem
operacyjnym typu Windows (NT lub 9x) firmy Microsoft. Protokół ten zapewnia
usługi nazewnicze i zarządzanie sesjami między dwoma urządzeniami korzystającymi
z nazewnictwa prostego.
Warstwa sesji obsługuje też zdatne wywoływanie procedur (RPC, Remote Procedure
Call), zaprojektowane przez firmę Sun, umożliwiające klientom tworzenie żądań
przeznaczonych do zdalnego wykonywania. Żądania te są wysyłane do zdalnego
hosta celem przetworzenia i udzielenia odpowiedzi, co pozwala na komunikację między
dwoma hostami przez sieć. System plików NFS stosuje RPC do wysyłania wywołań
i odbierania odpowiedzi w warstwie sesji, zaś w warstwie prezentacji wykorzystuje
protokół XDR.
4.Warstwa transportowa
Warstwa transportowa w zasadzie ma zapewniać gwarantowane, niezawodne dostarczanie
danych tylko między dwoma komunikującymi się procesami lub programami,
uruchomionymi na zdalnych hostach. Jest to jednak prawdą tylko wtedy,
gdy dostawca zdecyduje się zaimplementować protokół sterowania transmisją TCP
(TCP, Transmission Control Protocol) zamiast jego mniej niezawodnego odpowiednika,
protokołu datagramów użytkownika UDP (UDP, User Datagram Protocol).
Warstwa transportowa wykonuje następujące działania:
- Steruje komunikacją całościową („od końca do końca") między dwoma procesami uruchomionymi na różnych hostach.
- Zapewnia usługi połączeniowe i bezpołączeniowe warstwom wyższym.
- Wykorzystuje adresy portów klienta i serwera do identyfikacji procesów uruchomionych w obrębie hosta.
- Segmentuje dane dla aplikacji warstw wyższych.
Zadaniem tej warstwy jest identyfikowanie procesów komunikujących się na każdym
hoście oraz zapewnianie usług połączeniowych i niezawodnego transportu,
bądź szybkości dostarczania. Zarządza ona przepływem danych, a gdy sesja jest
połączeniowa zajmuje się sterowaniem przepływem. W warstwie tej rezydują protokoły
TCP i UDP.
Segmentuje ona dane (komunikaty) podawane w dół przez aplikacje warstw wyższych.
Obsługuje adresowanie za pomocą portów, zwanych też gniazdami (sockets),
identyfikujących programy lub procesy warstw wyższych, komunikujące się na konkretnym
urządzeniu. Śledzenie różnych segmentów i zarządzanie nimi zapewniają
jej numery portów każdej aplikacji.
Łączenie gniazd w pary
Gdy występuje komunikacja całościowa między dwoma hostami, w której uczestniczą
źródłowe i docelowe adresy IP i porty (zwane też gniazdami), wówczas w branży
nazywa się to parą gniazd {socket pair).
Warstwa transportowa może zapewniać protokołom warstw wyższych zarówno
obsługę połączeniową, jak i bezpołączeniową. Zawsze jednak zajmuje się portami
i adresami. Adresy klienta i serwera (np. porty TCP lub UDP) służą do identyfikacji
procesów uruchomionych w obrębie hosta.
3.Warstwa sieciowa
Warstwa sieciowa przede wszystkim przypisuje logiczne adresy źródłowy i docelowy
oraz określa najlepszą ścieżkę routingu danych między sieciami. Warstwa ta
zapewnia:
- Komunikację całościową między dwoma hostami.
- Adresowanie logiczne.
- Dostarczanie pakietów.
- Routing.
Protokoły warstwy Sieciowej zajmują się adresowaniem logicznym, które należy odróżnić
od adresowania MAC (Media Access Control) warstwy fizycznej, skojarzonego
z kartami sieciowymi. W przeciwieństwie do adresów fizycznych (przypisanych
na stałe), dostawcy nie umieszczają na stale adresów logicznych w kartach.
Zamiast tego administratorzy sieci przypisują je ręcznie lub dynamicznie.
Aby zapewnić najlepszy routing danych, urządzenia warstwy sieciowej (takie, jak
routery) stosują przełączanie pakietów (packet switching). W procesie tym router
identyfikuje logiczny adres docelowy (warstwy sieciowej) ruchu sieciowego odbieranego
na jednym interfejsie, po czym z innego interfejsu wysyła go do miejsca
przeznaczenia.
W warstwie sieciowej działają następujące protokoły:
2.Warstwa łącza danych
Do głównych obowiązków warstwy łącza danych modelu OSI należy wysyłanie
i odbiór ramek oraz adresowanie fizyczne. Warstwa ta przed wysłaniem otrzymanych
z góry danych dodaje do nich zarówno nagłówek z przodu, jak i czterobajtową
stopkę na końcu, tworząc w ten sposób ramkę (frame) wokół tych danych. Termin
ramkowanie pakietów (packet framing) oznacza tworzenie ciągów takich ramek.
Stopki dodaje do danych tylko warstwa łącza danych.
Warstwa łącza danych ma następujące cechy i obowiązki:
- Steruje dostępem do nośnika.
- Dodaje adresy sprzętowe — źródłowy i docelowy.
- Przygotowuje ramki do transmisji, konwertując pakiety danych na ramki.
- Bierze na siebie funkcję wysyłania i odbierania danych przez okablowanie.
- Oblicza wielkości CRC lub FCS.
- Obsługuje mosty (bridges) i przełączniki (switches).
Adresy warstwy drugiej
Producenci zapisują na stale w każdej karcie sieciowej adres warstwy łącza danych
(adres MAC). Podczas produkcji kart określają ich numery seryjne. Każdy adres ma
sześć bajtów długości, zgodnie z zaleceniem IEEE. Pierwsze trzy bajty określają
konkretnego dostawcę, który z kolei w sposób niepowtarzalny przypisuje wartości
ostatnim trzem bajtom. Urządzenia działające w warstwie łącza danych muszą mieć
możliwość identyfikowania tych adresów.
Warstwa łącza danych dodaje do nagłówka adresy MAC — źródłowy i docelowy —
celem identyfikacji karty sieciowej urządzenia wysyłającego ramkę, jak i urządzenia
które powinno ją odebrać. Każdy adres MAC musi być niepowtarzalny (unikatowy)
w całej sieci. Urządzenia warstwy 2 w oparciu o adres docelowy decydują, czy informacje
należy przekazać dalej.
Przed transmisją nadające urządzenia stosują algorytm cyklicznej kontroli nadmiarowości
(CRC) lub sekwencji kontroli ramki (FCS). W branży te dwa terminy stosowane są
zamiennie. Urządzenia warstwy łącza danych dodają wynik CRC lub FCS jako
stopkę na końcu danych podawanych w dól przez warstwę sieciową, obramowując
w ten sposób przesyłane bity. Z tego powodu w warstwie łącza danych mówi się
właśnie o „ramkach". Wartości sum kontrolnych CRC (lub FCS) nie gwarantują dostarczenia
danych, a służą jedynie do sprawdzania, czy bity wysyłane zgadzają się
z bitami odebranymi przez hosta docelowego. Za pomocą tego samego algorytmu hosty
odbierające sprawdzają, czy w trakcie przesyłania ramka nie została uszkodzona.
Gdy wielkości CRC (lub FCS) nie są zgodne, host odbierający po prostu odrzuca
ramkę bez powiadamiania stacji wysyłającej. Jeżeli ramka nie jest prawidłowa, stacja
docelowa nigdy nie przekaże danych do warstwy wyższej. Obowiązek ponownego
wysyłania uszkodzonych ramek spoczywa na urządzeniach wysyłających.
1.Warstwa fizyczna
Warstwa fizyczna zajmuje się jedynkami (1) i zerami (0), czyli bitami tworzącymi
ramkę. Bity kodowane są jako impulsy elektryczne lub świetlne. Warstwa ta zajmuje
się też charakterystykami elektrycznymi i mechanicznymi, kodowaniem sygnałów
i poziomami napięcia. Mówiąc ogólnie: dotyczy ona elementów namacalnych, czyli
takich elementów fizycznych, których można dotknąć, np. okablowania czy wtórników
(repeaters). Warstwa fizyczna obejmuje:
- Charakterystyki elektryczne i mechaniczne.
- Kodowanie sygnałów.
- Jedynki (1) i Zera (0).
- Specyfikacje złączy fizycznych.
Źródła i Literatura:
Heather Osterloh - "TCP/IP Szkoła programowania", Wydawnictwo Helion 2006, ISBN: 83-246-0293-3.
Polish language edition published by HELION S.A. Copyright© 2006.
Copyright© 2006 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)
Copyright© 2006 Wydawnictwo HELION S.A
WWW: http:pl/helion.pl (księgarnia internetowa, katalog książek)