# Subnetz

Als Subnetz wird ein Teilnetz eines Netzes beim Internetprotokoll (IP) bezeichnet. Es fasst mehrere aufeinanderfolgende IP-Adressen mittels einer Subnetzmaske (im Falle von IPv6 spricht man von der Präfixlänge) an binären Grenzen unter einem gemeinsamen Vorderteil, dem Präfix zusammen. Ein Schema zur Unterteilung von Netzen wurde 1985 eingeführt und im erstmals standardisiert, 1993 folgte das heute benutzte Verfahren namens Classless Inter-Domain Routing. In administrativ eigenständigen Bereichen, sogenannten autonomen Systemen, werden immer ein oder mehrere Subnetze verwaltet, welche wiederum in kleinere Subnetze unterteilt werden können.

## Darstellung

Die Abtrennung des Subnetzbereichs erfolgt mittels bitweiser Maskierung eines bestimmten Teils der IP-Adresse durch die Subnetzmaske. Dadurch erhält man aus einer beliebigen Adresse das Subnetz, zu dem die Adresse unter Annahme dieser Maske gehört. Um ein spezifisches Subnetz zu bezeichnen, gibt man die erste Adresse in diesem Subnetz zusammen mit der Subnetzmaske oder Präfixlänge an. Da die Maskenschreibweise für IPv4 mit vier Dezimalzahlen wenig kompakt und im Gebrauch umständlich ist, werden stattdessen häufig die Anzahl der binären Einsen als Präfixlänge angegeben. Zum Beispiel, Subnetzmaske 255.255.0.0 ist in binär 1111 1111.1111 1111.0000 0000.0000 0000 und wird somit als Präfix /16 angegeben. Die Präfix-Darstellung hat sich für IPv6 von Beginn an durchgesetzt.
Subnetze als Darstellung von IP-Netzen werden in Routingtabellen und Filterdefinitionen sowohl in Routingprotokollen als auch in Paketfiltern benutzt. Durch Routing zwischen Teilnetzen wird das Internet strukturiert.

## Netzklassen und frühes Subnetting

IPv4-Adressen wurden großzügig konzipiert und eine begrenzte Anzahl von großen, mittleren und kleinen IP-Netzen wurde festgelegt. IP-Adressen bestehen aus zwei Teilen, einem Netzteil und einem Hostteil. Der Netzteil gibt an, in welchem IP-Netz sich ein Rechner befindet und der Hostteil identifiziert einen Rechner innerhalb dieses IP-Netzes. Bis 1993 waren IPv4-Netze in Klassen unterteilt mittels einer festen Maske. Klasse-A-Netze von 0.0.0.0 bis 127.255.255.255 hatten die Maske 255.0.0.0, oder /8. Also war das erste Oktett der IP-Adressen der Netzteil und die restlichen drei Oktette konnten verwendet werden um Hosts in den Netzen zu adressieren. Klasse-A-Netze waren dementsprechend groß, in einem Klasse-A-Netz konnten mehr als 16 Millionen Hosts adressiert werden.
Andere feste Masken waren 255.255.0.0, oder /16, für Klasse-B-Netze von 128.0.0.0 bis 191.255.255.255. Dies waren mittelgroße Netze, wo die letzten zwei Oktette bis zu 65,534 Hosts in einem Klasse-B-Netz adressieren konnten. Kleine Klasse-C-Netze von 192.0.0.0 bis 223.255.255.255 wurden mit der Maske 255.255.255.0, oder /24, gekennzeichnet. Hier stand nur das letzte Oktett für Host-Adressierung zur Verfügung, und es konnte nur 254 Hosts in einem Klasse-C-Netz geben. (siehe Netzklasse)
Die Internet Assigned Numbers Authority (IANA) vergab damals nur ganze IP-Netze, so wurden die 128 Klasse-A-Netze an große internationale Unternehmen vergeben, das Netz 17.0.0.0 gehört zum Beispiel Apple und 19.0.0.0 der Ford Motor Company. Weil jedoch verschiedene IP-Netze für verschiedenen Firmen-Standorte nötig waren, begannen die Inhaber von Klasse-A- und B-Netzen diese in kleinere Teilnetze zu unterteilen durch Subnetting. Hierfür wird der Netzteil der IP-Adresse verlängert, indem die Maske verlängert wird: wenn die Maske des 18.0.0.0 Netz um ein Bit verlängert wird auf /9, entstehen zwei Subnetze: eins von 18.0.0.0/9 bis 18.127.255.255/9 und Subnetz zwei von 18.128.0.0/9 bis 18.255.255.255/9. Wenn die Maske um zwei Bits verlängert wird, können vier Subnetze eingerichtet werden, mit drei extra Bits konnten acht Subnetze eingerichtet werden und so weiter. Eine verlängerte Maske wurde nun Subnetzmaske genannt und musste mit der IP-Adresse angegeben werden damit ersichtlich war in welchem Teilnetz sich ein Rechner befand.
IANA hatte bald alle Klasse-A- und B-Netze vergeben und musste nun mehrere kleine Klasse-C-Netze, welche nur 254 Hosts pro Netz adressieren können, an Unternehmen und Internetprovider vergeben. Um die drohende Verknappung von IPv4-Adressen zu verhindern gab IANA in jeder Netzklasse auch sogenannte private IPv4-Adressen frei, welche nicht im Internet geroutet wurden. Durch Netzwerkadressübersetzung konnten Rechner im lokalen Netz privat adressiert werden und durch eine öffentliche IPv4-Adresse ins Internet verbinden. So konnten zum Beispiel Internetprovider nur eine öffentliche IPv4-Adresse an ihre Kunden vergeben.

## Classless Inter-Domain Routing

1993 wurden mit Classless Inter-Domain Routing (CIDR) die festen Masken für IPv4-Adressen aufgegeben. IPv4-Adressen müssen jetzt mit einer Netzmaske angegeben werden, um den Netzteil der Adresse von dem Hostteil zu trennen. Subnetting, also das Unterteilen von IP-Netzen in kleinere Teilnetze durch das Verlängern des Netzanteils, wurde standardisiert. IANA konnte nun Subnetze vergeben, aber auch durch Supernetting mehrere kleine Klasse-C-Netze zusammenschließen. CIDR standardisierte auch die Variable Length Subnet Mask, wo ein Subnetz wiederum in Teilnetze unterteilt wird, indem die Netzmaske nochmals verlängert wird.
Die Netzmasken bestehen aus einer Anzahl von zusammenhängenden binären Einsen, gefolgt von binären Nullen zur Auffüllung auf 32 Bit im Falle von IPv4 und 128 Bit bei IPv6. Somit existieren 33 mögliche Präfixlängen für IPv4 und 129 für IPv6.

## Verwendung auf Netzsegmenten

Ein häufiger Verwendungszweck von Subnetzen ist die Zuweisung eines Adressbereichs an ein Netzsegment. Computern an diesem Netzsegment werden dabei Adressen aus dem Bereich des jeweiligen Subnetzes zugewiesen.
Aus technischen Gründen sind zwei der Adressen eingeschränkt verwendbar. Dies sind:
* Die erste IP-Adresse im Subnetz (Hostanteil nur Nullen) – diese Adresse ist die Netzadresse des Subnetzes. Diese Adresse wurde von Windows 9x auch als Broadcast-Adresse verwendet. Falls sich keine Windows-9x-Computer (Win 95, Win 98, Win ME) im Netzsegment befinden, kann diese Adresse frei verwendet werden.
* Die letzte IP-Adresse im Subnetz wird standardmäßig ebenfalls als Broadcast-Adresse verwendet. Viele Systeme unterstützen mittlerweile jedoch auch die Verwendung eines Netzes ohne Broadcastadresse. Falls alle Systeme im Netzsegment dies unterstützen, kann sie überall deaktiviert und dann normal verwendet werden.
Die Computer am Netzsegment verwenden die Subnetz-Angabe, um festzustellen, ob sich eine bestimmte IP-Adresse im selben Segment befindet. Dabei wird der am Anfang dieses Artikels beschriebene Test durchgeführt. Je nach Ergebnis wird dann versucht, die Adresse lokal (über ARP) oder entfernt (über einen Router) zu erreichen.

## Hilfsprogramme

Zum Errechnen von Netzbereichen aus gegebenen Adressen und Präfixlängen in verschiedener Schreibweise stehen frei verfügbare Hilfsprogramme zur Verfügung. ipcalc oder SubnetMaster erledigt dies für IPv4, sipcalc funktioniert für IPv4 und IPv6.