Diese Seite ist optimiert für eine Auflösung von min. 1280x1024.

facebook   google   twitter   digg   email  





 IP-Subnetze - Binäres System

Um IP-Adressen und Subnetze verstehen zu können, muss man zuerst den Binärcode kennen und verstanden haben. Deshalb etwas Mathe vorab.
Im Gegensatz zum Dezimalsystem (was man in der "normalen Welt" verwendet) und welches 10 Werte kennt (0-9), kennt das binäre System nur 2 Werte:
0 und 1. Deshalb auch binäres System, binär = zwei.
Eine 0 oder eine 1 darzustellen ist somit im decimalen wie im binären System identisch. Aber wie sieht es mit einer 2 aus?
Dazu eine kleine Tabelle, die das ganze verdeutlichen soll:

4 2 1 Summe
0 0 0 (0 * 4) + (0 * 2) + (0 * 1) = 0
0 0 1 (0 * 4) + (0 * 2) + (1 * 1) = 1
0 1 0 (0 * 4) + (1 * 2) + (0 * 1) = 2
0 1 1 (0 * 4) + (1 * 2) + (1 * 1) = 3
1 0 0 (1 * 4) + (0 * 2) + (0 * 1) = 4
1 0 1 (1 * 4) + (0 * 2) + (1 * 1) = 5
1 1 0 (1 * 4) + (1 * 2) + (0 * 1) = 6
1 1 1 (1 * 4) + (1 * 2) + (1 * 1) = 7

Man kann also mit nur 2 Zahlen (null und eins) alle Werte darstellen, wie mit 10 Zahlen (0-9) eben auch. Der grosse Unterschied ist, dass man mehr Stellen braucht, da man mit 2 Zahlen nur 2 Werte darstellen kann. Deshalb gibt es im Binärsystem eine andere Wertigkeit der Stellen. Im Dezimalsystem ist die erste Stelle 0-9, die zweite 10-99, die 3. 100-999. Im Binären System hingegen ist die erste Stelle 0-1, die 2. 2-3, die 3. 4-7, die 4, Stelle 8-15 etc.
Warum nun aber das binäre System? Ganz einfach. Ein Computer kennt genau 2 Zustände: Strom da (1) oder kein Strom da (0).
Um nun zu verstehen, wie, was und warum das alles mit IP-Adressen und den ganzen Bits und Bytes zu tun hat, schaut man sich nun mal diese Tabelle an:

128 64 32 16 8 4 2 1 Summe
8. Bit 7. Bit 6. Bit 5. Bit 4. Bit 3. Bit 2. Bit 1. Bit
1 1 1 1 1 1 1 1 (1 * 128) + (1 * 64) + (1 * 32) + (1 * 16) + (1 * 8) + (1 * 4) + (1 * 2) + (1 * 1) = 255

Wenn man nun weiss, dass Systeme (früher) alle 32-Bit-Systeme waren und man sich anschaut, wieviele Zahlen man mit 32 Bit darstellen kann, bekommt das alle einen Sinn:

128 64 32 16 8 4 2 1 . 128 64 32 16 8 4 2 1 . 128 64 32 16 8 4 2 1 . 128 64 32 16 8 4 2 1 Summe
8. Bit 7. Bit 6. Bit 5. Bit 4. Bit 3. Bit 2. Bit 1. Bit . 8. Bit 7. Bit 6. Bit 5. Bit 4. Bit 3. Bit 2. Bit 1. Bit . 8. Bit 7. Bit 6. Bit 5. Bit 4. Bit 3. Bit 2. Bit 1. Bit . 8. Bit 7. Bit 6. Bit 5. Bit 4. Bit 3. Bit 2. Bit 1. Bit 32 Bits
1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1
255 . 255 . 255 . 255 4 * 0 bis 255 = 4 * 256 = 1024 (im decimalen System)

Wenn man sich die obige Tabelle nun anschaut, erkennt man dass wenn man 32 Bit in 4 gleiche Teile teilt maximal 4 * 256 Werte darstellbar sind.
Wer nun schonmal davon gehört hat, dass die Unixzeit (wird immer in Sekunden seit dem 1.1.1970 berechnet) bei 32-Bit-Systemen irgendwann "aufhört",
kann sich nun ausmalen, warum das so ist:
1. Bit: 1
2. Bit: 2
3. Bit: 4
4. Bit: 8
5. Bit: 16
6. Bit: 32
7. Bit: 64
8. Bit: 128
9. Bit: 256
10. Bit: 512
11. Bit: 1024
12. Bit: 2048
13. Bit: 4096
14. Bit: 8192
[...]
31. Bit: 1073741824
32. Bit: 2147483648

Berechnet man nun 2147483648 Sekunden (die man maximal darstellen kann) / 60 / 60 = 596523 Stunden
596523 / 24 / 365 = 68 Jahre
1970 + 68 Jahre = 2038 Wird also auf 32-Bit Systemen die Uhrzeit nicht mehr funktionieren und der Rechner sehr wahrscheinlich abstürzen.
Jedenfalls ist ein Absturz an dieser Stelle wahrscheinlicher als bei der Milenniumgeschichte damals (Was wurde da ein Hype um nichts gemacht).
Da bis dahin aber noch ein Paar Jährchen sind und bis dahin wohl so ziemlich jeder ein 64-Bit Systemn haben wird, sollte das eher kein Problem darstellen.

 Wie setzen sich IP-Adressen zusammen?


Sehr schön sieht man die "Berechnung" mit dem Tool "ipcalc":
:~$ ipcalc 10.1.1.1/255.255.255.0
Address:   10.1.1.1             00001010.00000001.00000001. 00000001
Netmask:   255.255.255.0 = 24   11111111.11111111.11111111. 00000000
Wildcard:  0.0.0.255            00000000.00000000.00000000. 11111111
=>
Network:   10.1.1.0/24          00001010.00000001.00000001. 00000000
HostMin:   10.1.1.1             00001010.00000001.00000001. 00000001
HostMax:   10.1.1.254           00001010.00000001.00000001. 11111110
Broadcast: 10.1.1.255           00001010.00000001.00000001. 11111111
Hosts/Net: 254                   Class A, Private Internet

:~$ 

Im linken Teil sieht man die IPs und im rechten Teil die Schreibweise in Binä-Code.
Wer die Schreibweise IP/Subnetzmaske kennt und dann IP/Bits sieht und sich wundert, wie dies zusammenpasst, der sollte sich das obige Beispiel nochmals genau anschauen.

Warum Subnetze?


Um nun Rechner voneinander abzugrenzen benutzt man Subnetze (Unternetze). Damit kann man z.B. ein internes Netz (192.168.0.0/24) aufbauen und gleichzeitig
mit mehreren Rechnern ins Internet gehen ohne dass jeder Rechner eine Internet-IP braucht. Lediglich der Router hat eine Internet-IP und Routet (daher der Name)
alle Anfragen der Rechner aus dem privaten Netz ins Internet und eben auch wieder zurück.
Angemerkt sei noch folgendes:
Sicher ist es nicht, Rechner in verschiedene Subnetze zu stecken und zu hoffen, dass sie sich untereinander nicht sehen. Faktisch ist das erst einmal so, aber
wenn auf einem Rechner die IP/Subnetzmaske geändert wird, ist er "einfach so" im anderen Subnetz. Um das zu unterbinden muss man mit VLANs arbeiten!



  logo