Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

tcp_ip_calc [2011/05/24 14:26] (aktuell)
terminar angelegt
Zeile 1: Zeile 1:
 +====== TCP/IP IP-Berechnung ======
 +
 +
 +
 +**IP Adresse:** 192.168.100.10 Das braucht man als eindeutige Identifizierung eines Gerätes in einem TCP/IP basierten Netzwerk (z.b.
 +
 +Internet)
 +
 +
 +
 +**Netzadresse:** 192.168.100.0 Das markiert die Adresse des gesamten Netzes, also hier sagts das unser Netz bei .0 anfangt.
 +
 +
 +
 +**Broadcast:** 192.168.100.255 Das sagt das Ende des Netzes aus, und hier sagts .255.
 +
 +**
 +
 +Subnetmask:** 255.255.255.0 Das sagt wie groß dein Netz ist. Man geht immer davon aus was man nicht hat. Also hier haben wir die ersten 3 Segmente 255.255.255. nicht weil die alle schon gefüllt sind. aber das letzte segment .0 gehört uns, weil da ist noch nix drin.
 +
 +
 +
 +Die Welt der Netzwerke teilt sich grundsätzlich in ein paar verschiedene Netzwerk-Klassen.
 +
 +
 +
 +**Class A:** 192.0.0.0 (also hier gehören mir die letzten 3 segmente) \\
 +
 +**Class B:** 192.168.0.0 (hier die letzten 2 segmente) \\
 +
 +**Class C:** 192.168.100.0 (hier hab ich nur das letzte segment)
 +
 +
 +
 +Um mal eine Vorstellung zu geben, wieviele Adressen die einzelnen Netze haben, hier mal ein kleiner Rechenweg.
 +
 +
 +
 +Jedes Segment, geht von 0 bis 255. (0 wird mitgezählt, weil für computer 0 ja auch eine ganz normale zahl ist mit der man rechnen kann, liegt am binären system, erklär ich später)
 +
 +
 +
 +Class A hätte also 255^255^255 ip adressen. (^ = potenz, x*x). Also kommen bei einem Class A 4228250625 IP-Adressen raus, die man benutzen kann :)
 +
 +
 +
 +Class B sind immer noch 65025 stück und Class C hat nur 255 Adressen.
 +
 +
 +
 +Soweit ist ja auch alles ganz cool und einfach. Aber da man ja nicht an jeden Internet Nutzer, Domain besitzer, oder sonstwen einfach so ein ganzes Class-C netz verteilen will (wer braucht das schon als normaler Mensch? kaum einer hat 255 Rechner zuhause stehen) muss man sich schon was einfallen lassen diese Adressräume feiner zu zerteilen. Und hier kommen die oben genannten begriffe zum einsatz.
 +
 +
 +
 +Um das aber zu verstehen musst du erstmal in Bit rechnen lernen. Das ist ganz einfach denn:
 +
 +
 +
 +binär sieht 1 nämlich so aus: 0000 0001
 +
 +wenn du die stellen zählst kommst du auf genau 8. Und mit jedes Bit kann entweder 0 oder 1 darstellen. Und mit 8 bits kannst du maximal 255 erzeugen. Noch nicht verstanden? Dachte ich mir, ich habs auch nicht kapiert am Anfang :) Ist aber ganz leicht:
 +
 +
 +
 +Computer sind dumm. Die können nur mit 1 und 0 rechnen. Also um einem Computer jetzt beizubringen das er z.b. auf dem Bildschirm die dezimale Zahl 1 anzeigen soll muss er wissen was dezimal 1 in seiner binären Logik ist.
 +
 +
 +
 +Hier ist eine Tabelle die das schön veranschaulicht. Wenn Du also dezimal 1 sagst, dann ist das für den Computer 0000 0001, weil, wenn das letzte Bit gesetzt ist (also 1 ist) dann weiss er das diese dezimal 1 ist.
 +
 +
 +
 +Ein paar Beispiele hier:
 +
 +
 +
 +|dezimalwert der stelle:|||||||||
 +
 +|128|64|32|16|8|4|2|1||
 +
 +|binäre darstellungsform:|||||||||
 +
 +|0|0|0|0|0|0|0|0|=0|
 +
 +|1|0|0|0|0|0|0|0|=128|
 +
 +|1|1|0|0|0|0|0|0|=192|
 +
 +|1|1|1|0|0|0|0|0|=224|
 +
 +|0|1|0|1|0|0|0|0|=80|
 +
 +
 +
 +Du musst im Prinzip einfach nur die Spalten wo eine 1 ist, miteinander addieren, dann hast du die dezimale Zahl.
 +
 +
 +
 +Umgekehrt, wenn Du eine dezimale Zahl hast und die Binäre Form wissen willst, dann machst Du das so:
 +
 +
 +
 +Beispiel dezimal 192 soll in Binär gewandelt werden, schaust du erstmal was reinpasst:
 +
 +
 +
 +192 passt 128 rein? - Ja. Gut, also ziehst du von 192 die 128 ab, und sagst das bit für 128 ist 1.
 +
 +
 +
 +128 64 32 16  8 4 2 1\\
 +
 +---------------------\\
 +
 +1   
 +
 +
 +
 +jetzt hast du einen Rest von dezimal 64, jetzt guckst du was passt da wieder rein: 128, nee das is zu groß, 64? Ja! Und geht genau auf! Also schnell das 64er Bit setzen.
 +
 +
 +
 +128 64 32 16  8 4 2 1\\
 +
 +---------------------\\
 +
 +1   1
 +
 +
 +
 +Und weil jetzt nix mehr übrig ist, füllst du die restlichen Bits einfach mit 0.
 +
 +
 +
 +128 64 32 16  8 4 2 1\\
 +
 +---------------------\\
 +
 +1   1  0  0   0 0 0 0
 +
 +
 +
 +und tattaa, 192 binär = 1100 0000 :)
 +
 +
 +
 +So kannst Du jede Zahl umwandeln, ist halt nur bissl nervig, weil man so viel schreiben muss.
 +
 +
 +
 +So, da Du jetzt weisst wie man dezimal in binär umwandelt kanns ja weitergehen :)
 +
 +
 +
 +Du weisst ja das ein Segment einen Zahlenvorrat von 255 hat. Wenn jetzt ein Kunde nur ein Halbes Segment will, dann hat er ja 127 stück von. (0-255 = 256 zahlen 0-127 = 128 Zahlen, immer die 0 mitrechnen)
 +
 +
 +
 +Um das zu bewerkstelligen muss man jetzt einen Mechanismus benutzen der Anfang und Ende sagt. Der Anfang ist wie oben erwähnt die Netzadresse und das Ende der Broadcast. Das dazwischen ist Nutzbar für Geräte. Und die Subnetmask sagt wie groß der Bereich ist, also in unserem Fall 0-127.
 +
 +
 +
 +Also, wir haben: \\
 +
 +Netzadresse: 192.168.100.0\\
 +
 +Unsere gewünschte Größe: 192.168.100.0 - 192.168.100.127\\
 +
 +Rest vom Class-C Netz: 192.168.100.128 - 192.168.100.255
 +
 +
 +
 +Wir suchen:\\
 +
 +Subnetmaske unserer zwei Teile\\
 +
 +Netzadresse vom Rest\\
 +
 +Broadcast der zwei Teile
 +
 +
 +
 +Also jetzt ein wenig Digitale Logik um dieses Problem zu lösen. Es gibt da viele Sachen, aber wir brauchen:
 +
 +
 +
 +Digital Invertieren (~)\\
 +
 +Digital Ver-Unden (&)\\
 +
 +Digital Ver-Odern (|)
 +
 +
 +
 +Das Funktioniert so:
 +
 +
 +
 +Invertieren:\\
 +
 +ausgangsituation: 1111 0000\\
 +
 +inveritiert:      0000 1111
 +
 +
 +
 +Also einfach umdrehen, klar? Aus 0 wird 1 und aus 1 wird 0. Ganz einfach.
 +
 +
 +
 +Ver-Unden:\\
 +
 +ausgangssituation:   1111 0000\\
 +
 +verunden mit:        0110 1010\\
 +
 +------------------------------\\
 +
 +verundetes ergebnis: 0110 0000
 +
 +
 +
 +Auch ganz einfach: 1 UND 1 = 1, der rest bleibt 0, also nur wenn zwei einsen untereinander stehen hier, wirds 1 sonst bleibts 0.
 +
 +
 +
 +Ver-Odern:\\
 +
 +ausgangssituation:   1111 0100\\
 +
 +verodern mit:        1001 0010\\
 +
 +------------------------------\\
 +
 +verodertes ergebnis: 1111 0110
 +
 +
 +
 +Hier ist es auch ganz einfach: 1 ODER 0 = 1, also nur 0 und 0 = 0, rest wird immer 1.
 +
 +
 +
 +Jetzt da Du die Grundzüge der digitalen Logik verstanden hast, machen wir einfach mal weiter mit ein paar simplen Formeln.
 +
 +
 +
 +Netzadresse = IP-Adresse & Subnetmaske\\
 +
 +Broadcast   = ~Subnetmaske | Netzadresse\\
 +
 +Größe       = ~Subnetmaske
 +
 +
 +
 +Daraus lässt sich logisch ja alles weitere ableiten.
 +
 +
 +
 +Also nochmal unsere Aufgabe von oben:
 +
 +
 +
 +Also, wir haben: \\
 +
 +Netzadresse: 192.168.100.0\\
 +
 +Unsere gewünschte Größe: 192.168.100.0 - 192.168.100.127\\
 +
 +Rest vom Class-C Netz: 192.168.100.128 - 192.168.100.255
 +
 +
 +
 +Wir suchen:\\
 +
 +Subnetmaske unserer zwei Teile\\
 +
 +Netzadresse vom Rest\\
 +
 +Broadcast der zwei Teile
 +
 +
 +
 +Rechnen wir mal Alles durch:\\
 +
 +(zuerst müssen wir die dezimalen Zahlen in binäre wandeln, sonst können wir das net einfach so rechnen)
 +
 +
 +
 +Subnetmaske: (~Größe)
 +
 +
 +
 +Größe = 0.0.0.127 = 0000 0000 0000 0000 0000 0000 0111 1111\\
 +
 +subnetmaske         1111 1111 1111 1111 1111 1111 1000 0000\\
 +
 +                    ---------------------------------------
 +
 +                    255      .255      .255       .128
 +
 +also haben wir raus als subnetmaske 255.255.255.128
 +
 +
 +
 +so, da wir nun die subnetmaske haben, können wir auch die netzadresse\\
 +
 +berechnen:
 +
 +
 +
 +ip verunden mit: 1100 0000 1010 1000 0110 0100 0000 0000\\
 +
 +subnetmask:      1111 1111 1111 1111 1111 1111 1000 0000\\
 +
 +--------------------------------------------------------\\
 +
 +netzadresse:     1100 0000 1010 1000 0110 0100 0000 0000\\
 +
 +                 192      .168      .100      .0
 +
 +
 +
 +jetzt haben wir netzadresse berechnet, nu können wir auch den broadcast\\
 +
 +berechnen:
 +
 +
 +
 +~subnetmask:              0000 0000 0000 0000 0000 0000 0111 1111\\
 +
 +verodern mit netzadresse: 1100 0000 1010 1000 0110 0100 0000 0000\\
 +
 +-----------------------------------------------------------------\\
 +
 +broadcast                 1100 0000 1010 1000 0110 0100 0111 1111\\
 +
 +                          192      .168      .100      .127
 +
 +
 +
 +So, nun müssten wir das auch noch für den Rest des Netzes machen, damit hat sich das dann :)
 +
 +-- 
 +
 +
 +
 +
 +
 +
 +
 +Vereinfachte Formeln:\\
 +
 +Net = IP & SUBNETMASK\\
 +
 +Broadcast = ~Mask (&255) | Net\\
 +
 +Size = ~Subnet + 1
 +
  
 
 
         
         
   
(19486 views) tcp_ip_calc.txt · Zuletzt geändert: 2011/05/24 14:26 von terminar