Jednostka danych protokołu (PDU) to warstwowy system dostarczania danych, który komunikuje się z urządzeniem sieciowym lub protokołami w tej samej maszynie. Istnieje pięć nazwanych warstw jednostek danych protokołu, ale piąta warstwa i wyższe są klasyfikowane jako to samo, więc może być znacznie więcej niż pięć warstw. Jedyną warstwą fizyczną używaną do komunikacji ze sprzętem jest warstwa pierwsza, która przenosi informacje w postaci binarnej, bit po bicie. Gdy dane są przesyłane, zaczynają się od najwyższej warstwy i spływają w dół, a każda warstwa dodaje głowicę warstwy. Druga warstwa dodaje stopkę i konwertuje dane na bity dla pierwszej warstwy, a informacje są wysyłane.
Zarówno sieci, jak i programy działające na tym samym komputerze muszą komunikować się i wymieniać dane, aby działać. Jednostka danych protokołu jest używana jako pakiet do tworzenia i dostarczania tych danych między dwoma protokołami lub procesami. Pakiety danych mogą składać się z wielu warstw; im więcej warstw, tym dalej dane znajdują się na poziomie fizycznym.
Chociaż może istnieć duża liczba warstw przenoszących informacje, technicznie istnieje tylko pięć różnych warstw. Pierwsza warstwa jednostek danych protokołu to warstwa 1 i jest znana jako poziom fizyczny. Warstwa 2 to warstwa łącza danych, która łączy dane, a warstwa 3 to warstwa sieci, która komunikuje się między sieciami. Czwarta warstwa jest znana jako warstwa transportowa, ponieważ to w niej dane są gotowe do wysłania. Warstwy 5 i wyższe są zbiorczo nazywane danymi i znajdują się wysoko w hierarchii komputerów.
Gdy informacje są wysyłane, są one uporządkowane malejąco, zaczynając od górnej warstwy. Na przykład, jeśli przesyłane dane wymagają warstwy 6, pakiet rozpocznie się tutaj. Każda warstwa pod nim doda pakiet nagłówka, który dodaje więcej danych. W warstwie 2 warstwa dodaje nagłówek i stopkę, dzięki czemu pakiet nadaje się do transportu.
Warstwa 1 jest wyjątkowa w porównaniu z innymi warstwami jednostek danych protokołu, ponieważ nie używa ani nagłówka ani stopki, ani nie tworzy pakietów danych. Warstwa ta przenosi informacje bitami, w postaci binarnej, do protokołu, procesu lub sprzętu żądającego danych. Jeśli pakiet wymaga warstwy 2 lub wyższej, warstwa 2 jest odpowiedzialna za konwersję wszystkich nagłówków, stopki i samego pakietu na bity, aby warstwa 1 mogła go dostarczyć.