Ein Subnetz entsteht durch die Unterteilung aller möglichen IP-Adressen in Teilnetze. Die logische Unterteilung des Netzes in Subnetze entspricht meist der physischen Unterteilung in lokale Teilnetze. Das Unterteilen einer Netzklasse mittels Netzmaske in weitere Subnetze nennt man Subnetting. Das Gegenteil ist Supernetting.
Grundlagen
Die Zuordnung von IP-Adressen zu Subnetzen und die Bezeichnung des Subnetzes erfolgen durch Angabe einer IP-Adresse und einer Netzmaske. Dabei bestimmt die Netzmaske die Bits der IP-Adresse, die für alle IP-Adressen des Subnetzes gleich sind. Die restlichen Bits können variieren und bestimmen den Adressraum.
Hieraus ergeben sich folgende Besonderheiten:
- Die erste IP-Adresse (alle Hostbits auf 0) eines Subnetzes adressiert das Subnetz selbst (Netzwerkkennung) und kann deshalb keinem Host zugewiesen werden.
- Die letzte IP-Adresse (alle Hostbits auf 1) eines Subnetzes dient als Broadcast-Adresse für das Netz und kann ebenfalls keinem Host zugewiesen werden.
- Es gibt einige IP-Bereiche, die für spezielle Zwecke vorgesehen sind. Dazu gehören z.B die loopback-Adresse oder Private IP-Adressen.
Ein Router arbeitet auf der Netzwerkschicht des OSI-Modells und kann durch bitweise Verundung von Netzmaske und IP-Adresse ermitteln, ob letztere zum eigenen oder in anderes Subnetz gehört. Dadurch sind Router in der Lage, Subnetze zu verbinden.
Mit dem Routing Information Protocol war es lediglich möglich Netze in gleich große Subnetze zu unterteilen. Da man dort für jedes Netz die gleiche Subnetzadresse mit der gleichen Anzahl an Einsen benutzt hatte, sprach man auch vom Fixed Length Subnet Masks (FLSM). OSPF und statisches Routing unterstützen inzwischen auch Subnetzmasken unterschiedlicher Länge oder Variable Length Subnet Masks (VLSM).
Vorgehensweise zur Aufteilung in Subnetze
Zum Verständnis ist es empfehlenswert, die Bedeutung und Funktionsweise von TCP/IP, Routing und Internet Protocol zu kennen.
Die Standard-Aufteilung, nach der die Netzmasken bestimmt werden, folgt dabei einer bestimmten Rechenmethode:
Gegeben sei: gewünschte Netze 40, gewünschte Hosts 720 je Netz, verfügbarer Hostbereich 181.45.x.x
Es stehen also zwei Oktette bzw. 16 Bit zur Verfügung.
Schritt 1: Kontrolle ob Adressressourcen ausreichen
Dazu ist eine Potenz von 2 (zwei hoch n) zu finden, die um 2 größer als die Anzahl der gewünschten Netze oder Hosts ist:
Adressresourcen = 2n = Anzahl + 2 n
Erklärung: 1 Bit hat zwei mögliche Werte. Für n Bit gibt es also 2n mögliche Bitkombinationen. Es können also 2n Netze/Hosts abgebildet werden, wobei von den darstellbaren Adressen zwei wegfallen (Netzadresse und Broadcast, siehe oben).
Die ersten zehn Zweierpotenzen sind: 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024. Da also 25 = 32 < 42 < 64 = 26, müssen n = 6 Bit für die Netze reserviert werden.
Analog für die Anzahl der Hosts gilt: 29 = 512 < 722 < 1024 = 210, d.h. 10 Bit werden für die Hosts benötigt.
Alternativ lässt sich n auch durch den Logarithmus zur Basis 2 (Logarithmus dualis) ermitteln:
Netze: ld(40)=5,32 ⇒ Aufrunden auf 6 Hosts: ld(720)=9,49 ⇒ Aufrunden auf 10
Das Ergebnis der Überprüfung lautet, dass die Summe der benötigten Bits 16 beträgt. Da auch 16 Bit verfügbar sind, kann mit dem gegebenen Adressenbereich 181.45.x.x die Anforderung also erfüllt werden.
Schritt 2: Ermitteln der Netzmaske
Wie bereits berechnet, müssen für den Hostanteil 10 Bit verwendet werden. Host-Bits sind immer die letzten in einer IP-Adresse:
Gemischte Dezimal-Binär-Darstellung: 181.45.NNNNNNHH.HHHHHHHH (N für Netzwerkbits, H für Hostbits)
Die Netzmaske soll 32 Bit umfassen, wobei sämtliche Host-Bits (im Beispiel 10) durch 0 dargestellt werden:
Es ergibt sich folgende Binärdarstellung: 11111111.11111111.11111100.00000000
Jedes Okett dieser Netzmaske wird nun vom Dualsystem ins Dezimalsystem umgerechnet:
- 000000002 = 010
- 111111002 = 25210
- 111111112 = 25510
Die Netzmaske lautet dementsprechend: 255.255.252.0.
Schritt 3: IP-Adressen der Netze finden
Zur Festlegung der IP-Adressen muss wieder gerechnet werden:
erstes Netz
Netzadresse des ersten Netzes: | 181.45.NNNNN1HH.HHHHHHHH | =10110101.00101101.00000100.00000000 | =181.45.4.0 |
Erster Host im ersten Netz: | 181.45.NNNNN1HH.HHHHHHH1 | =10110101.00101101.00000100.00000001 | =181.45.4.1. |
Der letzte Host im ersten Netz orientiert sich an der maximalen Anzahl von 1en, die für Hosts zur Verfügung stehen: Das letzte Bit kann nicht 1 sein, da es sich sonst um den Netzbroadcast handeln würde:
181.45.(NNNNN1)11.11111110 = 10110101.00101101.00000111.11111110 = 181.45.7.254
Demnach ist 181.45.7.255 der Broadcast für das 1. Netz!!
letztes Netz
Das letzte Netz ist auch anhand der möglichen Bits festgelegt:
- 181.45.(111110)00.00000000 für das letzte Netz. (181.45.248.0)
- 181.45.(111110)11.11111110 letzter Host im letzten Netz. (181.45.251.254)
Vereinfachung
Falls es sich um kleinere Subnetze handelt, so lassen sich die Adressen der einzelnen Subnetze folgendermaßen berechnen:
Zuerst ermittelt man die Anzahl der möglichen Adressen pro Subnetz. Diese erhält man, indem man die Anzahl der Adressen des aufzuteilenden Netzes durch die Anzahl der Subnetze teilt. Nun beginnt jedes Subnetz mit einem Vielfachen der Anzahl der Adressen pro Subnetz.
Beispiel:
- Das Netz 192.168.44.X soll in 8 Netze aufgeteilt werden.
- Ein Oktet kann 256 verschiedene Werte annehmen.
- Jedes Subnetz hat 32 Adressen (256:8=32)
- Folgende Netze entstehen:
- 192.168.44.0
- 192.168.44.32
- 192.168.44.64
- 192.168.44.96
- 192.168.44.128
- 192.168.44.160
- 192.168.44.192
- 192.168.44.224
Sollte ein Netz in mehrere, unterschiedlich große, Subnetze aufgeteilt werden, so wird mit der größten Adressanzahl begonnen.
Subnet-Referenz
Folgende Subnetze sind möglich (Die Klassenangabe dient nur zur Einordnung der Netze in das ehemals klassenbasierte Modell):
Klasse A
Netzanteil
in Bit
Hostanteil
in Bit
Subnetzanzahl
Hostanzahl
pro Subnetz
Subnetzmaske
8
24
1
256*65536
255.0.0.0
9
23
2
128*65536
255.128.0.0
10
22
4
64*65536
255.192.0.0
11
21
8
32*65536
255.224.0.0
12
20
16
16*65536
255.240.0.0
13
19
32
8*65536
255.248.0.0
14
18
64
4*65536
255.252.0.0
15
17
128
2*65536
255.254.0.0
Klasse B
Netzanteil
in Bit
Hostanteil
in Bit
Subnetzanzahl
Hostanzahl
pro Subnetz
Subnetzmaske
16
16
1
65536
255.255.0.0
17
15
2
128*256
255.255.128.0
18
14
4
64*256
255.255.192.0
19
13
8
32*256
255.255.224.0
20
12
16
16*256
255.255.240.0
21
11
32
8*256
255.255.248.0
22
10
64
4*256
255.255.252.0
23
9
128
2*256
255.255.254.0
Klasse C
Netzanteil
in Bit
Hostanteil
in Bit
Subnetzanzahl
Hostanzahl
pro Subnetz
Subnetzmaske
24
8
1
256
255.255.255.0
25
7
2
128
255.255.255.128
26
6
4
64
255.255.255.192
27
5
8
32
255.255.255.224
28
4
16
16
255.255.255.240
29
3
32
8
255.255.255.248
30
2
64
4
255.255.255.252
Der Suffix für die CIDR Notation ist der Netzwerkanteil in Bit
Beispiele
- Ist die IP-Adresse
192.168.0.0
und die Netzmaske255.255.0.0
, so gehören zum Subnetz die IP-Adressen von192.168.0.0
bis192.168.255.255
. - Die CIDR Notation für die IP-Adresse
192.168.0.1
und die Netzmaske255.255.0.0
lautet192.168.0.1/16
, da der Netzanteil 16 Bit beträgt.