- Subnetwork
-
Als Subnetting bezeichnet man ein Verfahren, um Netzklassen in kleinere Teil-Netze aufzuteilen. Es wurde 1985 eingeführt, 1992 durch Supernetting erweitert und durch Classless Inter-Domain Routing 1993 abgelöst.
Das Ziel des Subnettings war es – wie in RFC 940 beschrieben – die Netzklassen besser aufteilen zu können. Die statischen und relativ großen Netzklassen ließen sich nur umständlich in einzelne Segmente aufteilen und führten zu einer Vielzahl unterschiedlicher Lösungswege. Um das Ganze zu standardisieren und zu vereinheitlichen, wurde 1992 das RFC 950 mit einem Entwurf zum Subnetting veröffentlicht.
Ein weiteres Problem stellte zu dieser Zeit auch die Einschränkung des Broadcast-Traffics dar, welches durch kleinere Subnetze minimiert werden konnte.
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:
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)
Will man ein spezifisches Subnetz bezeichnen, gibt man die erste Adresse in diesem Subnetz zusammen mit der Subnetzmaske an. Beispiele:
- 192.168.1.0/255.255.255.0
- 172.16.4.0/255.255.252.0
- 195.16.85.80/255.255.255.248
Längenschreibweise
Vor der Einführung von CIDR (Classless Inter-Domain Routing) waren für bestimmte Bereiche des IP-Adressraums bestimmte Subnetzmasken festgelegt (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 255.255.0.0 und 255.255.255.0.
CIDR hebt 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. Somit existieren 33 mögliche Masken.
Da die Maskenschreibweise mit vier Dezimalzahlen dadurch redundante Informationen beinhaltet, notiert man stattdessen die Anzahl der Einsen.
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 Da eine IP-Adresse aus 32 bit besteht, ist der variable Teil 32 bit minus Maskenlänge bit lang. Die Anzahl der Adressen im Subnetz berechnet sich dadurch zu 232 − Maskenlänge. In einem /24-Netz gibt es also 232−24 = 28 = 256 IP-Adressen.
Die Masken /0 und /32 sind speziell in der Hinsicht, dass sie das ganze Internet respektive einen einzelnen Host abdecken.
Die alten Klassen A, B und C entsprechen den Masken /8, /16 und /24. Jedoch kann man anhand der Maskenangabe aber nicht unweigerlich auf eine Klasse eines Netzes zurückschließen, da die Definition der Netzklassen in den ersten drei Bits der IP-Adresse verankert ist.
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.
Einfache Möglichkeit, um Subnetze zu berechnen
Es gibt eine einfache Möglichkeit, die Aufteilung in Subnetze ohne Hilfsmittel zu berechnen. Dies wird hier an einem Beispiel gezeigt:
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 einfach 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)
Wie man in CIDR sehen kann, werden Subnetze auch mit /xx angegeben, zum Beispiel: 192.168.0.1/24, was 192.168.0.1 mit der Subnetzmaske 255.255.255.0 ist. Diese Notation ist inzwischen gebräuchlicher, da sie kürzer und genauso eindeutig ist. Doch wie kommt man an die "xx", wenn man die Subnetzmaske nicht in Binär umrechnen will? Einfach so: xx kann eine Zahl zwischen 0 und 32 annehmen. (Wie sinnvoll das ist, soll außer acht gelassen werden.)
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 … … … Wie wir sehen, ist es das gleiche Ergebnis wie oben nur ohne Binär(um)rechnung.
Siehe auch
Weblinks
- RFC 950 – Internet Standard Subnetting Procedure, 1985
- RFC 1338 – Supernetting: an Address Assignment and Aggregation Strategy, 1992
- IP-Adressierung:Was sie schon immer wissen wollten
Wikimedia Foundation.