Każdy adres IPv4 jest unikalny dla każdego urządzenia, przez co pliki mogą zostać dostarczone przez całą sieć do specyficznego komputera, który zażądał tych plików. Adres IPv4 składa się z 32 bitów, podzielonych na cztery oktety, gdzie każdy oktet reprezentuje liczbę od 0 do 255. Przykładowy adres IPv4 to np. 192.168.1.2 Pierwsze 3 liczby oznaczają sieć w jakiej komputer się znajduje, a ostatnia liczba oznacza fizycznie komputer, ponieważ jeśli jest więcej niż jeden komputer w tej samej sieci to nie można dobrze wysłać plików dla poszczególnego komputera.
Maska podsieci służy do określenia, która część adresu IP jest adresem sieci i podsieci, a która część adresem urządzenia końcowego. W ef ekcie adres IP jest dzielony na trzy część: adres sieci, adres podsieci oraz adres urządzenia. Składa się z ciągu jedynek (wskazują na część adresu IP będącą adresem sieci i podsieci) i następującego po nim ciągu zer (zera wskazują, że ta część adresu jest adresem urządzenia końcowego). Często zapisuje się maskę podsieci w ten sam sposób, co adresy IP. Adres IP nie może istnieć bez maski.
Projektanci protokołu IPv4 wyróżnili 5 klas adresów IP: Adres klasy A składa się 8 bitów adresy sieci i z 24 bitów wskazujących na urządzenie znajdujące się w danej sieci. Klasa A jest dla sieci bardzo dużych rozmiarów najstarszy bit adresu ma wartość 0, maska min. /8 Dwa pierwsze bity adresu klasy B to 1 i 0, a następne 14 bitów identyfikuje sieć. Ostatnie 16 bitów służy do adresowanie urządzeń końcowych. Klasa B jest dla sieci średnich rozmiarów dwa najstarsze bity: 10, maska min. /16 Trzy pierwsze bity adresu klasy C to 1, 1 i 0, natomiast kolejne 21 bitów identyfikuje sieć. Ostatnie 8 bitów adresów służy do identyfikacji urządzeń końcowych. Klasa C jest dla sieci małych rozmiarów trzy najstarsze bity: 110, maska min. /24 Klasa D jest używana dla adresów rozsyłania grupowego (ang. multicast) cztery najstarsze bity: 1110 Klasa E to adresy eksperymentalne, nie używane