Model OSI i TCP/IP — jak sieć się trzyma razem
Warstwy danych przechodzą przez, od kabla fizycznego do aplikacji
Wstęp
Gdy debugujesz połączenie sieciowe, potrzebujesz systematycznego sposobu myślenia. Model OSI (Open Systems Interconnection) dzieli komunikację na siedem warstw, gdzie każda warstwa ma swoje zadanie i komunikuje się z warstwą poniżej i powyżej. To umożliwia określenie, gdzie pojawia się problem, zamiast zgadywania.
Siedem warstw w modelu OSI
Warstwy są ponumerowane od dołu do góry. Reguła kciuka to to, że dolne warstwy dotyczą fizycznego przesuwania bitów, podczas gdy górne warstwy dotyczą tego, co dane oznaczają dla użytkownika i programów.
| Warstwa | Imię | Zadanie |
|---|---|---|
| 7 | Aplikacja | Usługa, na którą napotyka użytkownik — np. sieć, poczta, udostępnianie plików |
| 6 | Prezentacja | Formatowanie, kodowanie i szyfrowanie danych |
| 5 | Sesja | Tworzy i zarządza dialogiem między dwiema stronami |
| 4 | Transport | Bezpieczna lub szybka dostawa — TCP i UDP |
| 3 | Sieć | Logiczne adresowanie i routing — adresy IP |
| 2 | Łącze danych | Ramy i adresy fizyczne — MAC, przełączanie |
| 1 | Fizyczny | Sam sygnał – kable, wtyczki, fale radiowe |
Model TCP/IP w praktyce
W rzeczywistości internet opiera się na modelu TCP/IP, który łączy warstwy OSI w mniej warstw. Warstwy aplikacji, prezentacji i sesji stają się jedną warstwą aplikacji, a warstwy fizyczne i łącza danych stają się jedną warstwą dostępu do sieci. Warstwy transportu i sieci odpowiadają sobie w obu modelach.
Różnica między dwoma protokołami transportowymi jest centralna: TCP ustanawia połączenie, potwierdza każdy pakiet i wysyła ponownie to, co zostanie utracone — jest używany do sieci web i dzielenia się plikami, gdzie wszystko musi dotrzeć prawidłowo. UDP wysyła bez potwierdzenia i jest szybsze — jest używany do np. wideowywołań i gier, gdzie ważniejsze jest bycie szybkim niż uzyskanie każdego pakietu.
Enkapsulacja — dlaczego warstwy są inteligentne
Gdy aplikacja wysyła dane, są pakowane warstwa za warstwą w drodze w dół. Warstwa transportu dodaje numery portów, warstwa sieci dodaje adresy IP, a warstwa łączy danych dodaje adresy MAC. U odbiorcy rozpakuje się w odwrotnej kolejności. Zaletą jest to, że każda warstwa może być wymieniana niezależnie – możesz przełączyć się z miedzi na włókno bez dotykania serwera sieciowego.
“Dobry technik nie tylko zna warstwy na pamięć, ale może przełożyć problem użytkownika na właściwą warstwę do zbadania.”
— Podstawowa zasada zawodowa w pracy sieciowej