Neben den IP-Nummern gibt es außerdem Netzmasken , die angeben, welcher Teil einer IP-Nummer die Adresse eines Netzes und welcher die Hostnummer innerhalb des Netzes ist; die Netzmaske wird auf die gleiche Art und Weise geschrieben, wie die IP-Nummer.
Für bestimmte IP-Nummernbereiche wurden Netzmasken Netzmaske vorgegeben und die Netze damit in Klassen eingeteilt, was Routing erleichtert, da man, um ein komplettes Netz zu routen, nur einen Eintrag benötigt und nicht n Stück, die sich nur an je einer Stelle unterscheiden (siehe z.B. /usr/include/netinet/in.h ).
Die Unterscheidung der Netzklassen erfolgt durch die
ersten Bits der IP Nummer, wie im folgenden zu sehen ist. Dabei wird
auch implizit eine Netzmaske vergeben.
Netzklasse | linke Bits | Anzahl Netze | Anzahl Hosts pro Netz | Netzmaske |
Class A | 127 | ca. 16 Millionen | 255.0.0.0 | |
Class B | 10 | ca. 16000 | ca. 65000 | 255.255.0.0 |
Class C | 110 | ca. 4 Millionen | 254 | 255.255.255.0 |
Neben der Schreibweise einer Adresse als Adresse plus Netzmaske, gibt es seit einiger Zeit noch eine zweite Schreibweise, bei der angegeben wird, wieviele Bits in der Netzmaske von links her gesetzt sind. Diese Schreibweise wird als CIDR (Classless Inter Domain Routing) CIDR bezeichnet und kommt aus dem Bereich der IP-Routings. Ein Beispiel: die CIDR-Adresse 193.141.40.0/22 ist äquivalent zur Adresse 193.141.40.0 mit einer Netzmakse von 255.255.252.0 bzw. den vier Class-C Netzen 193.141.40.0 - 193.141.43.0.
In der Praxis hat CIDR inzwischen die implizit vergebenen Netzklassen abgelöst. Dies geschieht, da durch den Internet-Boom die IP-Adressen knapp werden und nicht mehr automatisch ein Class-C Netz vergeben wird, wenn jemand neu an das Internet angebunden werden möchte, sondern nur noch die Anzahl von IP-Adressen, die notwendig sind.
Ausser den oben genannten Klassen gibt es noch die Class D Netze, die den IP-Nummernbereich 224.0.0.0 bis 239.255.255.255 umfassen. Die Class D Netze sind als IP-Multicastadressen (siehe 2.2) reserviert. Bei den Class D Adressen kann man nicht, wie bei Class A bis Class C Netzen, von Netzen und Hosts reden, sondern jede Adresse bezeichnet eine einzelne Multicastgruppe.
Im zukünftigen IP-Standard (IPv6) werden die IP-Adressen 16 Byte lang sein. Sie werden als Folge von acht mal zwei Bytes geschrieben, die durch Doppelpunkte getrennt sind (z.B. FF01:0:0:0:0:0:0:43), wobei eine Folge von Nullen weggelassen werden kann (das vorige Beispiel könnte also auch als FF01::43 geschrieben werden); der IPv4 -Adressraum wird in den IPv6 Adressraum eingebettet sein (x:x:x:x:x:x:x:a.b.c.d oder verkürzt ::a.b.c.d), so daß der Umstieg von IPv4 auf IPv6 einfacher vollzogen werden kann [Kus94].