Subnetting

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen

Warum das Ganze?

  • Subnetting wird dafür genutzt, um große aber auch kleinere physische Netzwerke in logische Teilnetze zu unterteilen.
  • Von außen hin aber, wird das Netz nur als ein großes wahrgenommen.
  • Durch die rasche Entwicklung des Internets, und dem somit verbundenen Mangel an IP-Adressen, wurde nach einer passenden Lösung gesucht.
  • Diese Lösung offenbarte sich unter anderem als Subnetting.

Gründe für Subnetting

  • Trennen von Netzwerken unterschiedlicher Topologie
  • Trennen von Netzwerken nach Standorten, Gebäuden und Etagen
  • Trennen von Netzwerken nach Abteilungen und Bereichen
  • Trennen von sensitiven Bereichen vom Hauptnetz
  • Trennen des Netzwerks in logische Arbeitsgruppen
  • Trennen des Netzwerks zur Reduzierung des Verkehrsaufkommens

Vorteil von Subnetting

  • Flexibilität bei der Adressierung für den Administrator.
  • Broadcast-Unterteilung.
  • Höhere Sicherheit des LANs.
  • Ungenutzte IP-Adressen können vermietet oder verkauft werden.

Aufteilen von Netzwerken

Netze
172.17.0.0/16
172.17.0.0/17 172.17.128.0/17
172.17.0.0/18 172.17.64.0/18 172.17.128.0/18 172.17.192.0/18
172.17.0.0/19 172.17.32.0/19 172.17.64.0/19 172.17.96.0/19 172.17.128.0/19 172.17.160.0/19 172.17.192.0/19 172.17.224.0/19


Zusammenspiel

Oktett Bit gesetzt Netzgrösse Netzanzahl
0 0 256 1
128 1 128 2
192 2 64 4
224 3 32 8
240 4 16 16
248 5 8 32
252 6 4 64
254 7 2 128


Berechnung des Netzes aus einer IPv4-Adresse mit CIDR-Notation

  • Oft werden nur diese 2 Informationen bei Aufgaben gegeben
  • z.B. soll für die IP 158.233.43.194/21 das passende Netz, die Maske und die Broadcast-Adresse gefunden werden

Indizierung

  • Man zählt die Oktette bei 0 beginnend
subnet-oktett-indices

Interessantes Oktett

  • Das interessante Oktett ist die einzige zu berechnende Zahl
  • Alles davor bleibt wie es war
  • Alles danach ist 0
  • Das interessante Oktett berechnet sich durch die Division der CIDR Zahl durch 8:

CIDR÷8=int. Oktettt R Rest

  • In diesem Beispiel wäre es:

21÷8=2_ R 5

  • Also ist das interessante Oktett die 43

Gruppengröße

  • Der Rest aus der letzten Gleichung ist auch wichtig, da man dadurch die Intervalle zwischen den Netzen berechnen kann

28−Rest=Gruppengröße

  • Hier also:

28−5=23=8_

Netzbeginn

  • Um jetzt das Netz zu berechnen müssen wir nur noch die Ergebnisse in die folgende Gleichung einsetzen:

⌊Wert d. int. Oktetts div Gruppengröße⌋×Gruppengröße=Netzbeginn

In ⌊...⌋ stehende Zahlen werden ganzzahlig dividiert

  • Eingesetzt:

⌊43÷8⌋×8=⌊5⌋×8=5×8=40_

  • Wie schon erwähnt bleibt alles vor dem interessanten Oktett gleich…
  • …und alles danach wird gleich 0 gesetzt
  • Daraus ergibt sich das folgende Netz: 158.233.40.0/21

Broadcast

  • Die Broadcast-IP lässt sich auch wieder durch das interessante Oktett berechnen:

Netzbeginn+Gruppengröße−1=Broadcast

  • Mit unseren Zahlen also:

40+8−1=47_

  • Alles dahinter wird dann auf 255 gesetzt
  • Hier wäre die Broadcast-IP also: 158.233.47.255

Verfügbare IPs Berechnen

  • Zunächst muss festgestellt werden wie viele Bits für den Hostanteil verwendet werden können

32−CIRDR=Verfügbare Bit Anzahl

  • Mithilfe der Bits können nun die verfügbaren IPs errechnet werden. Mit Abzug des Netzbeginns und des Broadcasts.

2verfügbare Bit Anzahl−2=verfügbare IPs

Netzmaske berechnen

  • Man kann die Netzmaske auch aus dem interessanten Oktett und der Gruppengröße berechnen
  • Dazu zieht man von 256 die Gruppengröße ab und setzt es anstelle des interessanten Oktetts ein:

256−Gruppengröße=Maske

  • Hier also:

256−8=248_

  • Somit ist die Netzmaske: 255.255.248.0

Zusammenfassung der Schritte

  1. CIDR÷8=int. Oktettt R Rest
  2. 28−Rest=Gruppengröße
  3. ⌊Wert d. int. Oktetts÷Gruppengröße⌋×Gruppengröße=Netzbeginn
  4. Netzbeginn+Gruppengröße−1=Broadcast

IPv6

  • Der Rechenweg für IPv6 Netze ändert sich ein wenig
  • Man beginnt das Zählen wieder bei der 0. Stelle
  • als Bespiel wird nun die IPv6 Adresse 2001:db8:5ad3::12d1/42 benutzt

interessante Stelle

  • Bei IPv6 muss man lediglich eine interessante Stelle bestimmen
  • Alles davor bleibt wie es war, alles danach ist 0
  • Dazu rechnet man:

⌊CIDR÷4⌋=int. Stelle

  • In unserem Beispiel wäre es also:

⌊42÷4⌋=11

  • D.h. wir lassen alles vor der 10. Stelle (in unserem Fall d) wie es war und alles danach ist 0: 2001:db8:5ad0::

Gruppengröße

  • Die Gruppengröße kann nun entweder 2, 4, 8 oder 16 sein, da jede Stelle max. 16 Ziffern repräsentieren kann
  • Dazu rechnet man:

24−(CIDRmod4)=Gruppengröße

  • In unserem Beispiel wäre es also:

24−(42mod4)=24−2=4

Netzbeginn

  • Die Berechnung hier ist genauso wie bei IPv4:

⌊Wert d. int. Stelle÷Gruppengröße⌋×Gruppengröße=Netzbeginn

  • jedoch muss die hexadezimale Ziffer vorher in die Dezimalschreibweise umgewandelt werden
  • In unserem Beispiel wäre es also:

⌊d÷4⌋×4=⌊13÷4⌋×4=⌊3.25⌋×4=3×4=12=c_

Nicht vergessen die Zahl wieder in hexadezimal zu schreiben!
  • Daraus ergibt sich das Netz: 2001:0db8:5ac0::/42

Netzende

  • Der Broadcast existiert nicht mehr bei IPv6
  • Dennoch lässt sich das Ende eines Netzes immernoch auf diesselbe Art und Weise berechnen:

Netzbeginn+Gruppengröße−1=Netzende

  • In unserem Beispiel wäre es also:

c+4−1=12+4−1=15=f_

  • Jedoch füllt man die restlichen Stellen mit f auf
  • Hier wäre die Broadcast-IP also: 2001:0db8:5aff:ffff:ffff:ffff:ffff:ffff

Zusammenfassung der Schritte

  1. ⌊CIDR÷4⌋=int. Stelle
  2. 24−CIDRmod4=Gruppengröße
  3. ⌊Wert d. int. Stelle÷Gruppengröße⌋×Gruppengröße=Netzbeginn
  4. Netzbeginn+Gruppengröße−1=Netzende