Jak nazywany jest proces dokładania do danych z warstwy aplikacji informacji związanych z protokołami działającymi na poszczególnych warstwach modelu sieciowego?
A. Multipleksacja.
B. Segmentacja.
C. Dekodowanie.
D. Enkapsulacja.
Pytanie z egzaminu CKE, czerwiec 2018 (arkusz E.13-X-18.06).
Proces dokładania do danych z warstwy aplikacji informacji protokołów z kolejnych warstw modelu sieciowego nazywa się enkapsulacją. Chodzi o to, że dane użytkownika, np. treść strony WWW albo fragment wiadomości e-mail, nie są wysyłane przez sieć tak po prostu. Każda warstwa dodaje swój nagłówek, a czasem także stopkę, z informacjami potrzebnymi do poprawnego przesłania danych. W modelu TCP/IP aplikacja przekazuje dane do warstwy transportowej, gdzie np. TCP dodaje numery portów, numery sekwencyjne i mechanizmy kontroli transmisji. Potem IP dodaje adres źródłowy i docelowy, a warstwa dostępu do sieci dokłada adresy MAC oraz informacje potrzebne do przesłania ramki w Ethernet. Moim zdaniem to jedno z najważniejszych pojęć w sieciach, bo bez niego trudno zrozumieć działanie pakietów, ramek, routerów i przełączników. W praktyce enkapsulację widać świetnie w Wiresharku: można rozwinąć ramkę Ethernet, pakiet IP, segment TCP i dane aplikacji. Standardy takie jak Ethernet IEEE 802.3, IPv4 opisany w RFC 791 czy TCP z RFC 9293 dokładnie definiują, jakie pola są dodawane i jak urządzenia mają je interpretować. Dobra praktyka przy diagnostyce sieci to patrzeć warstwami: czy zgadza się MAC, czy adres IP jest poprawny, czy port TCP/UDP jest właściwy, i dopiero potem analizować aplikację.
W tym pytaniu łatwo pomylić kilka pojęć, bo wszystkie występują w sieciach komputerowych i brzmią dość technicznie. Segmentacja oznacza podział większej porcji danych na mniejsze fragmenty, najczęściej kojarzony z warstwą transportową, np. z TCP. Jeżeli aplikacja chce wysłać duży plik, to nie leci on jako jeden ogromny blok, tylko jest dzielony na segmenty lub dalej na pakiety i ramki. To jest ważne, ale sam podział danych nie opisuje dokładania nagłówków protokołów z kolejnych warstw. Dekodowanie to z kolei odczytywanie lub interpretowanie informacji zapisanych wcześniej w określonym formacie. Może dotyczyć znaków, multimediów, danych aplikacyjnych albo analizy protokołu, ale nie jest nazwą procesu, w którym warstwy modelu sieciowego opakowują dane swoimi informacjami kontrolnymi. Multipleksacja też bywa myląca, bo w sieciach występuje naprawdę często. Polega na łączeniu wielu strumieni danych lub wielu połączeń tak, aby mogły korzystać ze wspólnego medium albo wspólnego mechanizmu transmisji. Przykładem może być rozróżnianie wielu aplikacji za pomocą portów TCP i UDP albo przesyłanie wielu kanałów jednym łączem. Jednak to nadal nie jest dokładanie nagłówków w kolejnych warstwach. Właściwym pojęciem jest enkapsulacja, czyli takie opakowywanie danych: dane aplikacji stają się częścią segmentu TCP lub datagramu UDP, potem częścią pakietu IP, a na końcu częścią ramki Ethernet lub innej technologii warstwy łącza danych. Z mojego doświadczenia najczęstszy błąd polega na tym, że ktoś widzi słowo segmentacja i od razu kojarzy je z przesyłaniem danych, ale pytanie pyta konkretnie o informacje protokołów dodawane warstwa po warstwie. To właśnie klasyczny opis enkapsulacji znany z modeli OSI i TCP/IP.