Was ist eine Subnetzmaske (für dummies)?

4 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Subnetzmaske maskiert bei einer IP-Adresse die Hostbits weg, sodaß ich bei 2 Adressen feststellen kann, ob sie im gleichen Netz liegen:

(SRC-IP & MASK) XOR (DST-IP & MASK) ==0 -> lokales Netz.

Entsprechend kann ich ein Netz, welches eien bestimmte Maskenlänge hat durch Verlängerung der Maske in verschiedene Bereiche unterteilen:

11111111 11111111 11111111 00000000 Maske 1
11111111 11111111 11111111 11000000 Maske 2
                           ^^ Teilnetzadressierung

Hier habe ich also das Netz, das aus 256 Adressen besteht, in 4 Bereiche zerstückelt.

Eine IP-Adresse beinhaltet eine Information zum Netz und eine Information zum Gerät innerhalb des Netzes. Stelle Dir das vor wie Straße und Hausnummer oder wie Vorwahl und Telefonnummer. Die Nummer 052116391643 beinhaltet mit 0521 die Vorwahl von Bielefeld, 16391643 ist der Anschluss innerhalb des Ortsnetzes Bielefeld.

Die IP-Adresse ist 32 Bit lang. Welche Bits stellen nun das Netz (die Vorwahl), welche das Gerät (den Anschluss) dar? Das ist flexibel und wird durch die Subnetzmaske ausgedrückt. Die Subnetzmaske ist ebenfalls 32 Bit lang. Ein Bit, welches in der Subnetzmaske auf 1 gesetzt ist, adressiert das Netz. Ein Bit, welches in der Subnetzmaske auf 0 gesetzt ist, adressiert das Gerät.

192.168.1.20
255.255.255.0

Binär ausgedrückt:

11000000.01101000.00000001.00010100
11111111.11111111.11111111.00000000

192.168.1 gehören also zur Netzadresse, in der Netzadresse werden die Bits für das Gerät auf 0 gesetzt. Die Netzadresse ist also 192.168.1.0. 20 ist die Adresse des Gerätes in diesem Netz.

Aber ist für das Gerät nicht eigentlich die MAC Adresse da?
Und wann braucht man die Subnetzmaske?

0
@Saibotix07

Ein Gerät hat auch eine MAC-Adresse. Auch. Zusätzlich. Die MAC-Adresse ist nur im lokalen Netz gültig und brauchbar. Im Internet kann man mit MAC-Adressen nichts anfangen.

Und wann braucht man die Subnetzmaske?

Nehmen wir die IP-Adresse 192.0.2.20. In welchem Netz liegt diese IP-Adresse? Du weißt es nicht, Du kannst es nicht wissen. Um das Netz zu ermitteln, benötigt man die Subnetzmaske. Denn ohne Subnetzmaske weißt Du nicht, welche Bits das Netz und welche die Geräte adressieren.

1
@Saibotix07

Indem man eine Subnetzmaske festlegt.

Ich habe das Netz 10.0.0.0 mit der Maske 255.255.0.0

Jetzt mache ich mir ein paar Subnetze:

10.0.1.0 255.255.255.0

10.0.2.0 255.255.255.0

10.0.3.0 255.255.255.0

10.0.4.0 255.255.255.0

usw.

1

Die Maske wird binär UND-verknüpft mit der eigenen bzw. der Remote-Adresse.

Beispiel bei IPv4:

eigene Adresse: 10.4.5.3

Netzwerkmaske: 255.255.0.0

Remote-Adresse 1: 10.4.5.6

Remote-Adresse 2: 10.5.5.6

Bei einem Paket für die Remote-Adresse 1 wird dann genommen:

Eigene Adresse UND Netzwerkmaske ergibt: 10.4.0.0

Remote-Adresse 1 UND NEtzwerkmaske ergibt: 10.4.0.0

Remote-Adresse 1 ist also im gleichen Netzwerk wie man selbst, kann also direkt erreicht werden ohne Umweg über ein Gateway.

Bei Remote-Adresse 2 wird genauso vorgegangen. Da ergibt aber

Remote-Adresse 2 UND Netzwerkmaske: 10.5.0.0

Da 10.5.0.0 ungleich 10.4.0.0 ist, ist die Remote-Adresse 2 nicht im gleichen Netzwerk wie man selbst, ein Paket zu dieser Adresse muss also über ein Gateway versendet werden.

Und auf diese Weise lässt sich ein Netzwerk auch logisch aufteilen, selbst wenn sich die Geräte eine gemeinsame Infrastruktur teilen. Normalerweise würde man dann aber eher mit VLANs arbeiten.

"Normalerweise würde man dann aber eher mit VLANs arbeiten."

Das ist die Perspektive von jemandem, der nur mit lokalen Adressen arbeitet.

0

(Ich hatte schon letzte Woche was zu dem Thema geschrieben.)

Bei den 32-Bit-IP-Adresssen gibt eine Anzahl Bits an, um welches Rechnernetz es sich handelt und die restlichen Bits, um welchen Rechner innerhalb dieses Netzes.

Z.B. Kann es ein Rechnernetz 192.168.5.x geben, mit den Rechnern 192.168.5.11 und 192.168.5.12. In der Subnetzmaske sind alle Bits 1, die das Rechnernetz bestimmen, der Rest ist 0. Das wäre hier 255.255.255.0. (Die Grenze zwischen den Einsen und den Nullen muss nicht an einer Bytegrenze liegen.)

Will jemand eine Verbindung zu 192.168.5.12 aufbauen, so berechnet er eine UND-Verknüpfung aus Adresse und Netzmaske und erhält 192.168.5.0 als Netzadresse. Dann hat er schon mal einen Anhaltspunkt, wo er die Daten hinschicken muss, ohne den internen Aufbau dieses Rechnernetzes zu kennen.

Der Router für das Netz 192.168.5.0 sollte den Rechner 192.168.5.12 dann aber kennen.

Man kann das Netz 192.168.5.0 aber auch z.B. in zwei gleich große Subnetze teilen. Nach draußen bleibt alles so wie ich es beschrieben habe. Innen ist die Subnetmaske aber jetzt 255.255.255.128.

Für die Rechner 192.168.5.1 bis 192.168.5.126 bekommt man in der UND-Verknüpfung mit der Subnetzmaske das Subnetz 192.168.5.0 und für die Rechner 192.168.5.129 bis 192.168.5.254 das Subnetz 192.168.5.128.

Innerhalb des (großen) Netzes kann also unterschieden werden, in welchem Subnetz der Rechner liegt, von außen ist das egal.

Insbesondere braucht der Router des einen Subnetzes nicht die Rechner im anderen zu kennen.