THM - Pakiety i ramki
W kolejnym kroku poznawania podstaw sieci na platformie TryHackMe skupiamy się na tym, jak dane fizycznie przemieszczają się między urządzeniami. Zamiast wysyłać całe wiadomości naraz, sieć dzieli je na mniejsze jednostki – pakiety i ramki.
Pakiety a ramki
Choć często używamy tych terminów zamiennie, odnoszą się one do różnych warstw modelu OSI. Pakiety działają w warstwie trzeciej (sieciowej) i zawierają głównie nagłówek IP oraz dane. Ramki natomiast to jednostki warstwy drugiej (łącza danych), które enkapsulują pakiety, dodając do nich adresy fizyczne MAC.
Można to porównać do wysyłania listu: koperta to ramka, która pozwala dostarczyć zawartość (pakiet) we właściwe miejsce. Dopiero po otwarciu koperty odbiorca wie, gdzie dalej przekazać sam list.
Protokół IP i struktura pakietu
Dzielenie danych na mniejsze części pozwala uniknąć zatorów w sieci i zwiększa szansę na pomyślne dostarczenie informacji, nawet przy drobnych zakłóceniach. Przykładowo obrazek na stronie internetowej jest składany w całość dopiero na komputerze odbiorcy z wielu pojedynczych fragmentów.
Kluczowe informacje w nagłówku pakietu IP to:
- Czas życia (Time to Live - TTL) – zapobiega krążeniu pakietu w sieci w nieskończoność.
- Suma kontrolna (Checksum) – weryfikuje integralność danych.
- Adres źródłowy (Source Address) – adres IP nadawcy.
- Adres docelowy (Destination Address) – adres IP urządzenia, do którego dane mają dotrzeć.
TCP oraz UDP
W warstwie transportowej najczęściej spotykamy dwa protokoły, które różnią się podejściem do niezawodności i prędkości.
Protokół TCP (Transmission Control Protocol) jest zorientowany na połączenie. Zanim dane zostaną wysłane, następuje proces trójstronnego uzgadniania połączenia (Three-way handshake):
- SYN – klient inicjuje połączenie.
- SYN/ACK – serwer potwierdza próbę synchronizacji.
- ACK – klient potwierdza otrzymanie wiadomości od serwera.
Dzięki temu TCP gwarantuje, że wszystkie dane dotrą w nienaruszonym stanie i we właściwej kolejności, choć odbywa się to kosztem większego narzutu i niższej prędkości.
Z kolei UDP (User Datagram Protocol) to protokół bezpołączeniowy. Nie sprawdza, czy dane dotarły, co czyni go znacznie szybszym. Jest idealny do transmisji wideo, rozmów głosowych czy gier online, gdzie utrata pojedynczej ramki nie przerywa całej sesji.
Porty sieciowe
Porty można porównać do bram w porcie morskim – określają one, do jakiej aplikacji lub usługi mają trafić dane. Każde połączenie wykorzystuje numer portu z zakresu od 0 do 65535.
Najpopularniejsze protokoły mają przypisane standardowe porty:
- Protokół transferu plików (File Transfer Protocol - FTP) – port 21.
- Bezpieczna powłoka (Secure Shell - SSH) – port 22.
- Protokół przesyłania dokumentów hipertekstowych (HyperText Transfer Protocol - HTTP) – port 80.
- Bezpieczny protokół HTTP (HTTPS) – port 443.
- Pulpit zdalny (Remote Desktop Protocol - RDP) – port 3389.
Warto pamiętać, że standardy te można zmieniać, jednak domyślne ustawienia pozwalają różnym aplikacjom na spójną komunikację w skali całego internetu.