Skip to content

Model OSI

Budowa modelu OSI

Model OSI (Open Systems Interconnection) to model referencyjny, który opisuje, jak różne protokoły sieciowe współpracują ze sobą, aby umożliwić komunikację między systemami komputerowymi. W skład tego modelu wchodzi 7 warstw pełniących określone zadania:

  1. Fizyczna
    • Odpowiada za przesyłanie sygnałów elektrycznych, optycznych lub radiowych przez medium transmisyjne.
    • Przykład: Przewód ethernet, światłowód, fala radiowa.
  2. Łącze danych
    • Zapewnia bezbłędną transmisję danych między dwoma urządzeniami w tej samej sieci. Zarządza dostępem do medium i wykrywa oraz koryguje błędy.
    • Przykład: Protokół ethernet MAC, przełączniki warstwy 2.
  3. Sieć
    • Odpowiada za przesyłanie danych między różnymi sieciami. Zajmuje się routingiem, czyli wyborem najlepszej ścieżki do przesyłania pakietów.
    • Przykład: Protokół IP, routery.
  4. Transport
    • Zapewnia niezawodną transmisję danych między końcowymi urządzeniami. Segmentuje dane i kontroluje ich przepływ.
    • Przykład: TCP (zapewnia niezawodność), UDP (bez potwierdzenia dostarczenia danych).
  5. Sesja
    • Zarządza sesjami komunikacyjnymi między aplikacjami. Umożliwia ustanawianie, utrzymanie i zamykanie połączeń.
    • Przykład: Podtrzymywanie sesji podczas przesyłania plików na serwer FTP.
  6. Prezentacja
    • Odpowiada za tłumaczenie danych między formatem używanym przez aplikacje, a formatem sieciowym. Zapewnia kompresję i szyfrowanie danych.
    • Przykład: Szyfrowanie SSL/TLS, konwersja kodowania znaków (np. ASCII do Unicode).
  7. Aplikacja
    • Zapewnia interfejs dla aplikacji użytkownika, umożliwiając dostęp do usług sieciowych.
    • Przykład: Protokół HTTP (przeglądanie stron WWW), FTP (transfer plików), SMTP (wysyłanie e-maili).

Enkapsulacja i Dekapsulacja

Enkapsulacja oraz dekapsulacja to nic innego jak spakowanie i przygotowanie danych do transmisji przez nadawcę oraz odebranie i rozpakowanie takiego pakietu przez odbiorcę.

Przykład FTP

Screenshot

Aby przesłać plik, dane są przetwarzane i opakowywane w odpowiednie nagłówki na każdej warstwie modelu OSI.

  • Nadawca
    • Warstwa Aplikacji: Korzystasz z klienta FTP (np. FileZilla) i wysyłasz plik. Dane są przekształcane w odpowiedni format protokołu FTP.
    • Warstwa Prezentacji: Serwer FTP może ale nie musi korzystać z szyfrowania, dane są szyfrowane przy pomocy TLS/SSL
    • Warstwa Sesji: Zostaje ustanowiona sesja komunikacyjna między klientem FTP a serwerem FTP. Sesja zapewnia, że transmisja pliku może być kontynuowana w przypadku przerwania połączenia.
    • Warstwa Transportowa: Dane zostają podzielone na segmenty, protokół TCP dodaje nagłówek z informacjami:
      • Numer portu źródłowego i docelowego.
      • Mumer sekwencji i potwierdzenia.
    • Warstwa Sieciowa: Segmenty opakowane są w pakiety IP. Nagłówek IP zawiera:
      • Adres IP źródłowy.
      • Adres IP docelowy.
    • Warstwa Łącza Danych: Pakiety IP opakowane są w ramki Ethernet. Nagłówek ramki Ethernet zawiera:
      • Adres MAC nadawcy.
      • Adres MAC odbiorcy.
    • Warstwa Fizyczna: Ramki są przekształcane w sygnały elektryczne, optyczne lub radiowe, które są przesyłane przez medium transmisyjne.

  • Odbiorca
    • Warstwa Fizyczna: Serwer odbiera sygnały z medium transmisyjnego i przekształca je w dane binarne.
    • Warstwa Łącza Danych: Ramki Ethernet są dekapsulowane, usuwane są nagłówki Ethernet. Odbiorca sprawdza adres MAC i przekazuje pakiety do warstwy sieciowej.
    • Warstwa Sieciowa: Usuwane są nagłówki IP, serwer sprawdza, czy pakiet jest przeznaczony dla jego adresu IP. Pakiet przekazywany jest do warstwy transportowej.
    • Warstwa Transportowa: Nagłówek TCP jest usuwany, dane są składane w odpowiedniej kolejności (numer sekwencji TCP). Serwer potwierdza odbiór danych i przesyła je do warstwy sesji.
    • Warstwa Sesji: Sesja FTP zostaje utrzymana, aby umożliwić dalsze przesyłanie danych.
    • Warstwa Prezentacji: Jeżeli dane zostały zaszyfrowane, serwer przystępuje do deszyfrownia.
    • Warstwa Aplikacji: Serwer FTP odbiera dane i zapisuje je w odpowiedniej lokalizacji.

Question

Czy wszystkie warstwy modelu OSI są zawsze używane? Oczywiście, że nie ponieważ wszystko zależy od rodzaju transmiji i wymaganych protokołów.

Przykładem może być komunikacja w sieci LAN. Jeśli urządzenia znajdują się w tej samej podsieci, nie potrzeba routingu ani adresów IP do przesyłania danych. Komunikacja odbywa się bezpośrednio przy użyciu adresów MAC (warstwa łącza danych).

Warstwa fizyczna

Warstwa fizyczna odpowiada za transmisję i odbiór sygnałów, które reprezentują bity danych z jednego węzła do drugiego. Klasyfikujemy media transmisyjne jako kablowe i bezprzewodowe.

Do warstwy fizycznej zaliczamy takie urządzenia jak konwertery, modemy, huby, wzmacniacze/repeatery.

Warstwa łącza danych

Warstwa łącza danych odpowiada za przesyłanie danych między hostami w tym samym segmencie czyli takim, w którym wszystkie hosty mogą wysyłać ruch do siebie nawzajem, używając adresów sprzętowych MAC. W obecnych sieciach, każda jednostka jest podłączona do centralnego urządzenia, takiego jak przełącznik lub punkt dostępu bezprzewodowego.

Warstwa łącza danych organizuje strumień bitów przychodzących z warstwy fizycznej w ustrukturyzowane jednostki zwane ramkami.

Do warstwy łącza danych zaliczamy takie urządzenia jak karty sieciowe, mosty, przełączniki, punkty dostępowe.

Warstwa sieciowa

Warstwa sieciowa jest odpowiedzialna za przesyłanie danych pomiędzy różnymi sieciami posługując się adresami logicznymi IP, a nie sprzętowymi MAC jak w przypadku warsty łącza danych. Sieci są często heterogeniczne, to znaczy, że używają różnych protokołów warstwy fizycznej i łącza danych.

Głównym urządzeniem pracującym w tej warstwie jest router.

Warstwa transportowa

Zawartość pakietów w warstwie transportowej staje się znacząca. Każdy host w sieci będzie komunikował się z wieloma innymi hostami, używając wielu różnych typów danych. Jedną z funkcji warstwy transportowej jest identyfikacja każdego typu aplikacji sieciowej poprzez przypisanie jej numeru portu. Na poziomie transportu, u nadawcy dane z wyższych warstw są pakowane i dzielone na tzw. segmenty. Każdy segment jest oznaczony numerem portu aplikacji.

Na poziomie warstwy sieciowej i łącza danych numer portu jest ignorowany — staje się częścią danych i jest niewidoczny dla routerów i przełączników, które implementują funkcje adresowania i przekazywania tych warstw. Na hoście odbiorczym każdy segment jest dekapsulowany, identyfikowany przez numer portu i przekazywany do odpowiedniego programu obsługi na poziomie aplikacji.

Warstwa transportowa w zależności od rodzaju danych będzie korzystała z protokołu TCP lub UDP.

Warstwa sesji

Większość protokołów różnych aplikacji wymaga wymiany wielu wiadomości między nadawcą a odbiorcą. Wasrstwa sesjii odpowiada za nawiązanie, zarządzanie oraz zakończenie sesji.

Warstwa prezentacji

Warstwa prezentacji przekształca dane pomiędzy formatem wymaganym dla sieci a formatem wymaganym przez aplikacje. Dodatkowo warstwa prezentacji może być odpowiedzialna za kompresję i szyfrowanie danych, w praktyce funkcje te są często implementowane przez urządzenia szyfrujące i protokoły działające na niższych warstwach lub w samej aplikacji.

Warstwa aplikacji

Warstwa aplikacji zapewnia interfejs dla programów na hostach sieciowych, które ustanowiły kanał komunikacyjny za pośrednictwem protokołów niższego poziomu w celu wymiany danych.


🕞 Ostatnia aktualizacja 18.11.2024