THM - Model OSI
W tej części ścieżki sieciowej na platformie TryHackMe poznajemy model OSI (Open Systems Interconnection Model). To fundamentalny model referencyjny opisujący standardy przesyłania, odbierania i interpretowania danych między urządzeniami w sieci komputerowej.
Kluczową zaletą modelu OSI jest unifikacja komunikacji – urządzenia o różnej budowie, architekturze czy oprogramowaniu mogą się ze sobą bezproblemowo komunikować, o ile przestrzegają ustalonych reguł warstwowych.
Model OSI składa się z 7 warstw (od warstwy 7 do warstwy 1):
- Warstwa 7: Aplikacji (Application)
- Warstwa 6: Prezentacji (Presentation)
- Warstwa 5: Sesji (Session)
- Warstwa 4: Transportowa (Transport)
- Warstwa 3: Sieciowa (Network)
- Warstwa 2: Łącza danych (Data Link)
- Warstwa 1: Fizyczna (Physical)
Enkapsulacja danych
Podczas przesyłania danych przez sieć przechodzą one kolejno przez poszczególne warstwy modelu OSI – od warstwy aplikacji (7) w dół do warstwy fizycznej (1). Proces ten nazywamy enkapsulacją.
Na każdym etapie dane są wzbogacane o specyficzne nagłówki (oraz stopkę w warstwie 2), zawierające informacje sterujące niezbędne dla danej warstwy (np. porty źródłowe/docelowe, adresy IP czy adresy MAC). Podczas odbioru zachodzi proces odwrotny – deenkapsulacja, podczas której kolejne nagłówki są zdejmowane i analizowane, aż do odtworzenia pierwotnych danych w aplikacji docelowej.
Warstwa pierwsza – Fizyczna (Physical)
Najniższa warstwa modelu OSI odpowiadająca za fizyczny transfer danych przez medium transmisyjne (kable miedziane, światłowody, fale radiowe). Dane przesyłane są w postaci sygnałów elektrycznych, impulsów świetlnych lub fal radiowych reprezentujących bity (0 i 1). Warstwa ta obejmuje fizyczne komponenty sprzętowe, złącza, okablowanie oraz karty sieciowe.
Warstwa druga – Łącza danych (Data Link)
Warstwa łącza danych odpowiada za fizyczne adresowanie transmisji wewnątrz segmentu sieci oraz przygotowanie danych do wysyłki w formacie odpowiednim dla medium transmisyjnego (tworzenie tzw. ramek):
- Otrzymuje pakiety z warstwy sieciowej i dodaje do nich fizyczny adres sprzętowy MAC (Media Access Control) urządzenia docelowego.
- Każda karta sieciowa (NIC) posiada unikalny adres MAC przypisany przez producenta (choć możliwy do podrobienia w procesie MAC spoofingu).
- Urządzenia pracujące w tej warstwie (np. switche) wykorzystują adresy MAC do precyzyjnego przekazywania ruchu w sieci lokalnej.
Warstwa trzecia – Sieciowa (Network)
W warstwie sieciowej odbywa się trasowanie (routing) oraz dzielenie i ponowne składanie pakietów danych. Głównym zadaniem routingu jest wyznaczanie najbardziej optymalnej ścieżki przesyłu danych między różnymi sieciami:
- Identyfikacja urządzeń odbywa się za pomocą logicznych adresów IP (np.
192.168.1.100). - Wybór trasy opiera się na protokołach routingu, takich jak OSPF (Open Shortest Path First) czy RIP (Routing Information Protocol), które biorą pod uwagę liczbę przeskoków (długość trasy), niezawodność łącza oraz jego przepustowość (np. światłowód vs miedź).
- Podstawowymi urządzeniami operującymi w tej warstwie są routery (urządzenia warstwy 3).
Warstwa czwarta – Transportowa (Transport)
Warstwa transportowa odpowiada za przesyłanie danych między aplikacjami na urządzeniach końcowych. W zależności od wymagań dotyczących niezawodności i prędkości komunikacja opiera się na jednym z dwóch głównych protokołów:
TCP (Transmission Control Protocol)
Protokół połączeniowy zorientowany na niezawodność:
- Zalety:
- Gwarantuje poprawność i kompletność dostarczonych danych (mechanizmy potwierdzeń i kontroli błędów).
- Składa dane w prawidłowej kolejności po stronie odbiorcy.
- Zapobiega przeciążeniu odbiornika poprzez synchronizację i kontrolę przepływu.
- Wady:
- Wymaga nawiązania i utrzymania stałego połączenia (3-way handshake), co generuje dodatkowy narzut.
- Jest wolniejszy niż UDP – utrata jednego fragmentu wstrzymuje przetwarzanie do czasu retransmisji.
- Zastosowanie: Przeglądanie stron WWW (HTTP/HTTPS), poczta elektroniczna (SMTP/IMAP), przesyłanie plików – wszędzie tam, gdzie integralność danych jest kluczowa.
UDP (User Datagram Protocol)
Protokół bezpołączeniowy stawiający na maksymalną szybkość:
- Zalety:
- Bardzo szybki i lekki – nie nawiązuje stałego połączenia i nie czeka na potwierdzenia odbioru.
- Pozwala aplikacji decydować o tempie i sposobie nadawania pakietów.
- Wady:
- Brak gwarancji dostarczenia danych oraz kontroli kolejności (brak retransmisji).
- Przy niestabilnym łączu może dochodzić do zauważalnej utraty danych.
- Zastosowanie: Streaming wideo i audio na żywo, gry sieciowe w czasie rzeczywistym oraz protokoły pomocnicze (np. DNS, DHCP, ARP).
Warstwa piąta – Sesji (Session)
Warstwa sesji odpowiada za tworzenie, zarządzanie oraz kończenie sesji komunikacyjnych między aplikacjami na komunikujących się hostach:
- Zapewnia izolację połączeń – dane przesyłane są ściśle w ramach przypisanej sesji.
- Odpowiada za zamykanie bezczynnych lub utraconych połączeń.
- Umożliwia tworzenie punktów kontrolnych (checkpoints), dzięki czemu po awarii połączenia retransmitowane są wyłącznie brakujące dane, co pozwala zaoszczędzić pasmo.
Warstwa szósta – Prezentacji (Presentation)
Warstwa prezentacji odpowiada za standaryzację, formatowanie i przygotowanie danych dla warstwy aplikacji:
- Działa jak tłumacz – konwertuje formaty danych tak, aby odbiorca mógł je poprawnie odczytać niezależnie od architektury czy różnic w oprogramowaniu (np. różne klienty pocztowe).
- Realizuje zadania związane z bezpieczeństwem, w tym szyfrowanie i deszyfrowanie danych (np. TLS/SSL w HTTPS) oraz ich kompresję.
Warstwa siódma – Aplikacji (Application)
Najwyższa warstwa modelu OSI, z którą użytkownik ma bezpośredni kontakt za pośrednictwem programów i interfejsów:
- Definiuje reguły i protokoły, za pomocą których aplikacje (np. przeglądarki, klienty poczty czy FileZilla) komunikują się przez sieć.
- Obejmuje m.in. protokoły HTTP/HTTPS, DNS (mapowanie nazw domenowych na adresy IP), FTP, SSH i SMTP.