Damit die Datagramme in ihrem Header die elementare Angabe von Ausgangs- und Zieladresse überhaupt vornehmen können, müssen selbige zunächst an die Netzwerkteilnehmer vergeben werden. Dabei gilt es traditionell, zwischen internen und externen bzw. öffentlichen IP-Adressen zu unterscheiden. Für erstere, die der Kommunikation in lokalen Netzwerken dienen, sind drei Adressbereiche reserviert:
- 10.0.0.0 bis 10.255.255.255
- 172.16.0.0 bis 172.31.255.255
- 192.168.0.0 bis 192.168.255.255
Für IPv6-Netzwerke ist das Präfix „fc00::/7“ vorgesehen. Adressen dieser Bereiche werden im Internet nicht geroutet und können daher in privaten Netzen oder Firmennetzwerken frei ausgewählt und genutzt werden. Die Zuordnung einer Adresse gelingt entweder permanueller Eingabe oder findet automatisch statt, sobald sich ein Gerät mit dem Netzwerk verbindet – sofern die automatische Adresszuordnung aktiviert und ein DHCP-Server im Einsatz ist. Mithilfe einer Subnetzmaske kann ein solches lokales Netzwerk darüber hinaus wahlweise in weitere Bereiche segmentiert werden.
Externe IP-Adressen werden Routern automatisch vom jeweiligen Internetprovider vergeben, wenn diese sich mit dem Internet verbinden. Alle Geräte, die über einen gemeinsamen Router im Internet unterwegs sind, greifen dementsprechend auf dieselbe externe IP zurück. Üblicherweise vergeben die Provider alle 24 Stunden eine neue Internetadresse aus einem Adressbereich, der ihnen wiederum von der IANA zugeteilt wurde. Das gilt auch für das quasi unerschöpfliche Arsenal von IPv6-Adressen, das nur teilweise für die normale Nutzung freigegeben ist. Ferner wird es nicht nur in private und öffentliche Adressen unterteilt, sondern zeichnet sich durch wesentlich vielseitigere Einstufungsmöglichkeiten in sogenannte Gültigkeitsbereiche (Address Scopes) aus:
- Host-Scope: Die als Loopback bezeichnete Adresse 0:0:0:0:0:0:0:1 kann ein Host dazu nutzen, um IPv6-Datagramme an sich selbst zu verschicken.
- Link-Local-Scope: Für die IPv6-Konnektivität ist es von elementarer Bedeutung, dass jeder Host über eine eigene Adresse verfügt, selbst wenn diese nur in einem lokalen Netzwerk gültig ist. Diese Link-Local-Adresse ist durch das Präfix „fe80::/10“ gekennzeichnet und wird beispielsweise für die Kommunikation mit dem Standard-Gateway (Router) benötigt, um eine öffentliche IP-Adresse generieren zu können.
- Unique-Local-Scope: Hierbei handelt es sich um den bereits thematisierten Adressbereich „fc00::/7“, der ausschließlich für die Konfiguration lokaler Netzwerke vorbehalten ist.
- Site-Local-Scope: Der Site-Local-Scope ist ein mittlerweile veralteter Adressbereich mit dem Präfix „fec0::/10“, der ebenfalls für lokale Netzwerke definiert wurde. Beim Zusammenschluss verschiedener Netzwerke oder bei der Herstellung von VPN-Verbindungen zwischen Netzen, die mit Site-Local-Adressen nummeriert waren, kam es jedoch zu Komplikationen, weshalb der Standard als überholt eingestuft wurde.
- Global-Scope: Jeder Host, der Verbindung mit dem Internet aufbauen möchte, benötigt mindestens eine eigene, öffentliche Adresse. Diese bezieht er per Autokonfiguration, wobei er entweder auf das SLAAC (zustandslose Adresskonfiguration) oder auf DHCPv6 (zustandsorientierte Adresskonfiguration) zurückgreift.
- Multicast-Scope: Netzwerkknoten, Router, Server und andere Netzwerkdienste können mit IPv6 in Multicast-Gruppen zusammengefasst werden. Jede dieser Gruppen verfügt über eine eigene Adresse, wodurch sich mit einem einzigen Paket alle involvierten Hosts erreichen lassen. Das Präfix „ff00::/8“ gibt an, dass eine Multicast-Adresse folgt.