De node adressen van de bestemming en van de afzender, de zogeheten IP-adressen, zijn een getal, dat uniek is in de gehele wereld. Elk adres bestaat uit een "netwerk" deel (de eerste bits) en het "node" deel (de overige bits). Er zijn grote en kleinere netwerken, door o.a. "RIPE NCC" uitgedeeld in blokken van verschillende grootte: /8 achter het netwerkadres betekent dat de eerste 8 bits vastliggen en dat de overige bits voor node-adressen binnen dat netwerk beschikbaar zijn.
De versie 4 IP-adressen zijn 32 bits (4 bytes) en worden doorgaans gepresenteerd als 4 getallen tussen 0 en 255 gescheiden door punten zoals in: "44.0.127.2". Een netwerkadres met /24 is een klein netwerk met maximaal 256 nodes (enkele gereserveerd).
Internetproviders (ISP) leveren alleen aan grotere organisaties blokken IP-adressen. Aangezien veel klanten aan één adres niet genoeg hebben worden routers (in het "modem") bijgeleverd die een lokaal netwerk genereren met enkele tientallen nodes met lokale IP-adressen die zo samen gebruik maken van één "echt" IP-adres. Voor deze lokale LAN's zijn de blokken 10.0.0.0/8, 172.16.0.0/12 en 192.168.0.0/16 gereserveerd; deze adressen zijn op het Internet zelf, geblokkeerd!
Omdat het al voor 2000 duidelijk was dat de "v4" adressen opraakten, is een nieuwe adresstructuur opgezet: IP-adres versie 6 heeft adressen van 128 bits (16 bytes) en is tegenwoordig in de meeste landen in gebruik. IPv6 maakt het NAT-protocol overbodig omdat het nu wel mogelijk is grote blokken adressen te leveren. De gebruikelijke 'versie 4' notatie zou nogal lang worden en daarom noteert men adressen in 8 hexadecimale getallen van 16bits elk zoals: "2001:0db8:85a3:0000:1319:8a2e:0370:7344", met diverse mogelijkheden om in te korten (bv. ':0000:'='::').