Rozmiarem sieci jest liczba komputerów w tej sieci. By dopasować sieci o różnych rozmiarach w adresach IP wprowadzono koncepcję kilku ich klas. Istnieje pięć klas adresów IP:
Tylko klasy A, B i C są wykorzystywane do adresowania sieci i hostów. Klasy D i E są zarezerwowane do zastosowań specjalnych. Adresy klasy C przeznaczone są dla małych organizacji. Każda klasa C może mieć do 254 hostów, a sieci takich może być ponad 2 miliony. Adresy klasy B są przeznaczone dla sieci o rozmiarach d 65534 hostów. Może być co najwyżej 16384 sieci w klasie B.
Pule adresów IP w poszczególnych klasach:
A: 1.0.0.0 – 127.0.0.0 – 127 sieci każda po 24 bity dla hostów (do 16 milionów)
B: 128.0.0.0 – 191.255.0.0 – 16 bitów dla hostów (16320 sieci po 65024 hosty)
C: 192.0.0.0 – 223.255.255.0 – (2 mln sieci po 254 hosty)
D: 224.0.0.0 – 239.255.255.255 – klasa rozsyłania grupowego
E: 240.0.0.0 – 254.0.0.0 – klasa zarezerwowana
F: 255 - klasa specjalna
W specyfikacji RFC 1918 ("Address Allocation for Private Internets") opisane są adresy IP możliwe do zastosowania w prywatnych sieciach nie podłączonych do Internetu.
Pule adresów IP w poszczególnych klasach niewidoczne w sieci Internet (zarezerwowane dla wewnętrznych sieci komputerowych):
A: 10.0.0.0 – 10.255.255.255 dla maski 255.0.0.0 (10.0.0.0/8)
B: 172.16.0.0 – 172.31.255.255 dla maski 255.255.0.0 (172.16.0.0/12)
C: 192.168.0.0 – 192.168.255.255 dla maski 255.255.255.0 (192.168.0.0/16)
127.0.0.1 – specjalny adres dla ruchu lokalnego w hoście (pętla zwrotna - loopback).
W poszczególnych pulach adresów IP (zakresach) zarezerwowane są numery dla adresu sieci (routing, pierwszy dostępny numer IP) i adresu rozgłoszeniowego (broadcast, ostatni dostępny numer IP).
Nawet gdy pominiemy podział adresów na pięć klas, to poniższe adresy IP mają specjalne przeznaczenie:
Klasa A
Do identyfikacji sieci wykorzystany jest wyłącznie pierwszy oktet, pozostałe trzy stanowią adres hosta. Najstarszy bit pierwszego bajtu adresu jest zawsze równy zeru, ponadto liczby 0 i 127 są zarezerwowane, dlatego ostatecznie dostępnych jest 126 adresów sieci tej klasy. Klasa ta została przeznaczona dla wyjątkowo dużych sieci, ponieważ trzy ostatnie bajty adresu dają ponad 16 milionów numerów hostów.
Klasa B
Pierwsze dwa oktety opisują adres sieci tej klasy, pozostałe określają adres hosta. Najstarsze dwa bity pierwszego bajtu adresu to 10, dlatego może on zawierać 63 kombinacji (od 128 do 191), drugi może być dowolny dając tym samym do dyspozycji ponad 16 tysięcy adresów sieci. W każdej z sieci można przypisać podobną liczbę hostów (ponad 65 tysięcy), z tego powodu klasa ta została przeznaczona dla potrzeb sieci średnich i dużych.
Klasa C
Trzy pierwsze bajty opisują adres sieci, przy czym pierwszy z nich zawsze zaczyna się kombinacją dwójkową 110. Pierwszy bajt pozwala na przypisanie 31 kombinacji (od 192 do 223), kolejne dwa mogą być przypisane dowolnie, dając ostatecznie ponad 2 miliony adresów sieci. Ostatni oktet przeznaczony jest do określenia adresu hosta w sieci. Maksymalnie może być ich 254 (bez 0 oraz 255), dlatego ta przestrzeń adresowa została przeznaczona dla małych sieci.
Klasa D
Pierwsze cztery bity adresu tej klasy wynoszą 1110, stąd dostępne jest 16 kombinacji (od 224 do 239) dla pierwszego oktetu. Ta przestrzeń adresowa została utworzona w celu umożliwienia rozsyłania grupowego przy użyciu adresów IP. Adres rozsyłania grupowego jest unikatowym adresem sieciowym, który kieruje pakiety o tym adresie docelowym do zdefiniowanej wcześniej grupy adresów IP. Dzięki temu pojedynczy komputer może przesyłać jeden strumień danych równocześnie do wielu odbiorców (multicast).
Klasa E
Adresy tej klasy zostały zarezerwowane przez Internet Engineering Task Force (IETF) do potrzeb badawczych i nie są dostępne do publicznego użytku. Pierwsze cztery bity każdego adresu tej klasy mają zawsze wartość 1, dlatego istnieje tylko 15 możliwości (od 240 do 255) przypisania pierwszego bajtu.