Który protokół nie funkcjonuje w warstwie aplikacji modelu ISO/OSI?
A. HTTP
B. FTP
C. DNS
D. IP
Pytanie z egzaminu CKE, czerwiec 2019 (arkusz EE.08-X-19.06).
IP to właściwa odpowiedź, bo protokół IP nie działa w warstwie aplikacji modelu ISO/OSI, tylko w warstwie sieciowej, czyli warstwie 3. Jego zadaniem nie jest obsługa konkretnej usługi dla użytkownika, jak przeglądanie stron czy pobieranie plików, ale adresowanie i przekazywanie pakietów między sieciami. W praktyce IP odpowiada za to, żeby dane trafiły z jednego hosta do drugiego, np. z komputera w pracowni do serwera w Internecie. Dlatego mówimy o adresach IPv4, IPv6, routingu, maskach sieci, bramach domyślnych i tablicach routingu. FTP, DNS i HTTP są protokołami warstwy aplikacji, bo realizują konkretne usługi: przesyłanie plików, tłumaczenie nazw domenowych oraz komunikację WWW. Moim zdaniem to jedno z ważniejszych rozróżnień w sieciach, bo często w diagnostyce trzeba wiedzieć, czy problem jest z usługą, portem, transportem, czy właśnie z adresacją IP. Dobra praktyka branżowa jest taka, żeby analizować komunikację warstwowo: najpierw sprawdzić adresację IP i łączność, np. ping albo traceroute, a dopiero później badać DNS, HTTP czy FTP. Tak właśnie działa logiczne podejście zgodne z modelem OSI i modelem TCP/IP, nawet jeśli w realnej pracy te modele trochę się przenikają.
W tym pytaniu łatwo pomylić warstwę aplikacji z ogólnym pojęciem protokołu sieciowego. FTP, DNS i HTTP rzeczywiście są protokołami sieciowymi, ale należą do warstwy aplikacji, bo dostarczają konkretne usługi widoczne dla programów i użytkownika. FTP służy do przesyłania plików i zwykle korzysta z TCP, klasycznie z portu 21 dla sterowania oraz czasem z dodatkowego kanału danych. HTTP obsługuje komunikację stron internetowych i interfejsów API, najczęściej na porcie 80, a przy HTTPS dochodzi jeszcze szyfrowanie TLS i port 443. DNS też jest warstwą aplikacji, mimo że technicznie często używa UDP na porcie 53, bo jego funkcją jest tłumaczenie nazw, np. example.com, na adresy IP. To nadal usługa aplikacyjna, tylko bardzo podstawowa dla działania Internetu. Typowy błąd polega na tym, że ktoś widzi DNS albo FTP jako coś niskopoziomowego, bo są mocno związane z działaniem sieci, i przez to wrzuca je do niższych warstw. A to nie tak. IP jest czymś innym: nie opisuje usługi dla użytkownika, tylko mechanizm adresowania i routowania pakietów między hostami. W modelu OSI znajduje się w warstwie sieciowej. Z mojego doświadczenia najlepiej zapamiętać to tak: jeśli protokół mówi, co użytkownik lub aplikacja chce zrobić, to zwykle jest wysoko, w warstwie aplikacji. Jeśli mówi, dokąd pakiet ma iść i przez jakie sieci ma przejść, to jesteśmy przy IP i warstwie sieciowej.