- Subnetz
-
Als Subnetz wird ein Teilnetz eines Netzwerkes 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 1992 im RFC 950 erstmals standardisiert, 1993 folgte das heute benutzte Verfahren namens Classless Inter-Domain Routing.
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. In administrativ eigenständigen Bereichen, sogenannten autonomen Systemen, werden immer ein oder mehrere Subnetze verwaltet, welche wiederum in kleinere Subnetze unterteilt werden können.
Inhaltsverzeichnis
Funktionsweise
Die Abtrennung des vom Subnetz erfassten Bereichs 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.
Beispiele für IPv4:
dezimal binär Adresse 192.168. 1. 23 1100'0000 1010'1000 0000'0001 0001'0111 Maske 255.255.255. 0 1111'1111 1111'1111 1111'1111 0000'0000 nach logischem Und: Netzadresse 192.168. 1. 0 1100'0000 1010'1000 0000'0001 0000'0000 Adresse 192.168. 1. 23 1100'0000 1010'1000 0000'0001 0001'0111 Maske 255.255.252. 0 1111'1111 1111'1111 1111'1100 0000'0000 nach logischem Und: Netzadresse 192.168. 0. 0 1100'0000 1010'1000 0000'0000 0000'0000 Adresse 192.168. 2. 34 1100'0000 1010'1000 0000'0010 0010'0010 Maske 255.255.255. 0 1111'1111 1111'1111 1111'1111 0000'0000 nach logischem Und: Netzadresse 192.168. 2. 0 1100'0000 1010'1000 0000'0010 0000'0000 Adresse 192.168. 2. 34 1100'0000 1010'1000 0000'0010 0010'0010 Maske 255.255.252. 0 1111'1111 1111'1111 1111'1100 0000'0000 nach logischem Und: Netzadresse 192.168. 0. 0 1100'0000 1010'1000 0000'0000 0000'0000
Die beiden Adressen 192.168.1.23 und 192.168.2.34 gehören also unter Annahme einer Subnetzmaske von 255.255.252.0 zum selben Subnetz (192.168.0.0), unter Annahme einer Subnetzmaske von 255.255.255.0 jedoch nicht (192.168.1.0 vs. 192.168.2.0). Es ist also wichtig, immer die korrekte Subnetzmaske im Hinterkopf zu behalten.
Es zeigt sich, dass zum selben Subnetz jeweils die Adressen gehören, die sich nur in den binären Stellen unterscheiden, die in der Subnetzmaske Null sind. Damit unterteilt sich die Adresse in einen festen und einen variablen Ziffernteil. Beispiel:
Subnetz 192.168.0.0 in Binär: 1100'0000 1010'1000 0000'00|00 0000'0000 Maske 255.255.252.0 in Binär: 1111'1111 1111'1111 1111'11|00 0000'0000 Hostanteil: |xx xxxx'xxxx erste/kleinste Adresse: 1100'0000 1010'1000 0000'00|00 0000'0000 in Dezimal: 192.168.0.0 letzte/größte Adresse: 1100'0000 1010'1000 0000'00|11 1111'1111 in Dezimal: 192.168.3.255 Netzanteil ^ Hostanteil Grenze (siehe nächsten Abschnitt)
Da eine IPv4-Adresse aus 32 Bit besteht, ist der variable Teil 32 Bit minus Präfixlänge Bit lang. Die Präfixlänge ist die Anzahl der Einsen in der Netzmaske. Die Anzahl der Adressen im Subnetz berechnet sich dadurch zu 232 − Präfixlänge. In einem /24-Netz gibt es also 232−24 = 28 = 256 IP-Adressen.
Die IPv4-Präfixlängen /0 und /32 sind speziell in der Hinsicht, dass sie das ganze IPv4-Internet respektive einen einzelnen Host abdecken.
Schreibweise
Will man ein spezifisches Subnetz 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, notiert man stattdessen immer häufiger die Anzahl der Einsen als Präfixlänge, eine Darstellung, die sich für IPv6 von Beginn an durchgesetzt hat.
Beispiele für IPv4:
Maskenschreibweise Längenschreibweise 192.168.1.0/255.255.255.0 192.168.1.0/24 172.16.4.0/255.255.252.0 172.16.4.0/22 195.16.85.80/255.255.255.248 195.16.85.80/29 Beispiele für IPv6:
Längenschreibweise 2001:db8:85a3::/48 2001:0db8:85a3:08d3:0:0:0:0/64 Netzklassen
Vor der Einführung von CIDR (Classless Inter-Domain Routing) waren für bestimmte Bereiche des IPv4-Adressraums bestimmte Subnetzmasken festgelegt entsprechend den ersten drei Bits der IPv4-Adresse (siehe Netzklasse). So existierten z. B. Klasse-A-Adressen im Bereich von 0.0.0.0 bis 127.255.255.255. Diese hatten als Maske 255.0.0.0. Andere feste Masken waren /16 (Klasse-B, Maske 255.255.0.0) und /24 (Klasse-C, Maske 255.255.255.0). Die ehemaligen Netzklassen sind auch der Grund, warum es drei verschiedene private IPv4 Adressbereiche gibt, nämlich in jeder der genannten Klassen einen.
CIDR
CIDR hob diese feste Zuordnung von Subnetzmasken zu IP-Bereichen auf. Statt der vorgegebenen, festen Masken werden nun Masken mit einer bestimmten Länge verwendet. Diese 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.
Zuteilung
Verschiebt man die Grenze zwischen festem (Masken-Einsen) und variablem (Masken-Nullen) Teil, können nun Unter-Subnetze aus einem Subnetz erzeugt werden. Dadurch, dass der feste Teil um einige Stellen verlängert wird, kann man mehrere Unter-Subnetze über diese „neugewonnenen“ festen Stellen unterscheiden. Da der variable Bereich damit automatisch kleiner wird, sind diese Subnetze jedoch kleiner.
Adressen 123.45.64.0/18 - Provider 01111011 00101101 01000000 00000000 16384 123.45.64.0/20 - Kunde A 01111011 00101101 01000000 00000000 4096 123.45.64.0/28 - A1 01111011 00101101 01000000 00000000 16 123.45.64.16/28 - A2 01111011 00101101 01000000 00010000 16 123.45.80.0/20 - Kunde B 01111011 00101101 01010000 00000000 4096 123.45.96.0/19 - Kunde C 01111011 00101101 01100000 00000000 8192
(der unterstrichene Teil ist jeweils der feste.)
Verwendung auf Netzwerksegmenten
Ein häufiger Verwendungszweck von Subnetzen ist die Zuweisung eines Adressbereichs an ein Netzwerksegment. Computern an diesem Netzwerksegment werden dabei Adressen aus dem Bereich des jeweiligen Subnetzes zugewiesen.
Aus historischen 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 Netzwerksegment 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 Netzwerks ohne Broadcastadresse. Falls alle Systeme im Netzwerksegment dies unterstützen, kann sie überall deaktiviert und dann normal verwendet werden.
Die Computer am Netzwerksegment 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.
Subnetze berechnen
Mathematische Berechnung
Die Aufteilung in Subnetze kann folgendermaßen errechnet werden:
Nehmen Sie an, Sie haben das Netz 192.168.10.0 mit der Subnetzmaske 255.255.255.0. Sie möchten dieses Class-C-Netz in möglichst viele Subnetze spalten. Pro Subnetz soll aber für mindestens 60 Host-Rechner eine IP-Adresse zur Verfügung stehen.
In diesem Fall berechnen Sie eine Potenz von 2, die mindestens 60+2 (2 mehr als Sie benötigen [für Netz- und Broadcastadresse]) ergibt. Die kleinste Zahl, die dies erfüllt, ist 26, also 64. Setzen Sie nun die letzten 6 Bits (die 6 von 26) Ihrer neuen Subnetzmaske auf 0. Die letzte der gesetzten Einsen steht bei der Dezimalzahl 64. Dies ist im Beispiel das Inkrement.
1111'1111.1111'1111.1111'1111.1100'0000 = 255.255.255.192
Bei Einsatz dieser Subnetzmaske haben Sie folgende Subnetze zur Verfügung
- 192.168.10.0 – 192.168.10.63 (1. Subnetz)
- 192.168.10.64 – 192.168.10.127 (2. Subnetz)
- 192.168.10.128 – 192.168.10.191 (3. Subnetz)
- 192.168.10.192 – 192.168.10.255 (4. Subnetz)
In der Längenschreibweise werden Subnetze mit /xx angegeben, zum Beispiel: 192.168.0.1/24, was 192.168.0.1 mit der Subnetzmaske 255.255.255.0 ist. Folgendermaßen kommt man an die "xx", wenn man die Subnetzmaske nicht in Binär umrechnen will: xx kann eine Zahl zwischen 0 und 32 annehmen.
0 heißt 0 Bits in der Subnetzmaske also: 0.0.0.0 (24 heißt 24 Bits in der Subnetzmaske: 255.255.255.0) 32 heißt 32 Bits auf 1 in der Subnetzmaske: 255.255.255.255
Nun wollen wir wie im oberen Beispiel 60+2 Rechner pro Netz adressieren. Das Einzige, was wir nun können müssen, ist in Zweierpotenzen hochrechnen, bis wir genau einmal über die erforderliche Anzahl kommen:
2^0 2^1 2^2 2^3 2^4 2^5 2^6 1 2 4 8 16 32 64
Wir haben 6 Schritte benötigt, diese werden von 32 abgezogen:
32 - 6 = 26
Dies ist nun unsere Subnetzmaske in CIDR-Notation also 192.168.10.0/26 und laut Tabelle aus CIDR:
Notation Hosts Subnetzmaske … … … /26 64x1 255.255.255.192 … … … Es ist das gleiche Ergebnis wie oben nur ohne Binär(um)rechnung.
Hilfsprogramme
Zum Errechnen von Netzbereichen aus gegebenen Adressen und Präfixlängen in verschiedener Schreibweise stehen frei verfügbare Hilfsprogramme zur Verfügung. ipcalc erledigt dies für IPv4:
$ ipcalc 192.168.75.123/27
Address: 192.168.75.123 11000000.10101000.01001011.011 11011
Netmask: 255.255.255.224 = 27 11111111.11111111.11111111.111 00000
Wildcard: 0.0.0.31 00000000.00000000.00000000.000 11111
=>
Network: 192.168.75.96/27 11000000.10101000.01001011.011 00000
HostMin: 192.168.75.97 11000000.10101000.01001011.011 00001
HostMax: 192.168.75.126 11000000.10101000.01001011.011 11110
Broadcast: 192.168.75.127 11000000.10101000.01001011.011 11111
Hosts/Net: 30 Class C, Private Internet
sipcalc funktioniert für IPv4 und IPv6:
$ sipcalc 2001:0db8:85a3:08d3:1319:8a2e:0370:7347/57
-[ipv6 : 2001:0db8:85a3:08d3:1319:8a2e:0370:7347/57] - 0
[IPV6 INFO]
Expanded Address - 2001:0db8:85a3:08d3:1319:8a2e:0370:7347
Compressed address - 2001:db8:85a3:8d3:1319:8a2e:370:7347
Subnet prefix (masked) - 2001:db8:85a3:880:0:0:0:0/57
Address ID (masked) - 0:0:0:53:1319:8a2e:370:7347/57
Prefix address - ffff:ffff:ffff:ff80:0:0:0:0
Prefix length - 57
Address type - Aggregatable Global Unicast Addresses
Network range - 2001:0db8:85a3:0880:0000:0000:0000:0000 -
-
-
-
-
2001:0db8:85a3:08ff:ffff:ffff:ffff:ffff
-
-
-
-
Siehe auch
Weblinks
Kategorie:- Netzwerkarchitektur
Wikimedia Foundation.