Einzelnen Beitrag anzeigen

SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#3

Re: Berechnung der IP-Adressen-Bereiche

  Alt 27. Dez 2007, 18:01
Eine IP-Adresse gehört immer zu einem bestimmten IP-Netz, und die Subnetmaske teilt die IP-Adresse auf in einen vorderen Teil (dieser bestimmt das IP-Netz) und einen hinteren Teil (dieser bestimmt die Adresse des Rechners innerhalb des Netzes).

Es gibt eine etwas einfachere Notation: 10.0.0.44/8 oder 172.16.23.42/16. Bei dieser Notation wird hinter dem Schrägstrich angegeben, wie groß jeweils der Teil für die Netzadresse ist und für die Hostadresse.

Du musst die Zahlen der IP-Adressen etc. in Binärzahlen umrechnen:

Code:
Aus 10.0.0.44 wird dann 00001010.00000000.00000000.00101100 (IP-Adresse)
Aus 255.0.0.0 wird dann 11111111.00000000.00000000.00000000 (Subnetmaske)
Diese Subnetmaske entspricht dann der Notation "/8". Das nennt man auch den Suffix. Also die ersten 8 Bits der IP-Adresse bilden den Netzwerkteil. Die restlichen 24 Bits bilden den Hostteil.

Die Netzadresse für 10.0.0.44 bekommst Du einfach dadurch heraus, dass Du nur die Bits nimmst, bei denen in der Subnetmaske eine 1 steht:

Code:
10.0.0.44 = 00001010.00000000.00000000.00101100
255.0.0.0 = 11111111.00000000.00000000.00000000
            -----------------------------------
            00001010.00000000.00000000.00000000
Also ist die Netzadresse "10.0.0.0". Bei den Suffixen (Suffices) "/8", "/16" und "/24" ist das sehr einfach, denn dann nimmst Du einfach nur die erste Zahl, bzw. die ersten beiden oder die ersten drei Zahlen der IP-Adresse.

Schwierigeres Beispiel, nämlich 192.168.23.142/26. Um die "/26" in Langform umzurechnen, musst du also eine 32stellige Binärzahl nehmen und die ersten 26 Stellen mit 1 belegen, den Rest mit 0. Das macht dann 255.255.255.192:

Code:
192.168.23.142  = 11000000.10101000.00010111.10001110
255.255.255.192 = 11111111.11111111.11111111.11000000
                  -----------------------------------
                  11000000.10101000.00010111.10000000 = 192.168.23.128
Also ist 192.168.23.128 die Netzwerkadresse. Bei der Subnetmaske siehst Du hinten 6 Nullen, mit 6 Bits kann man maximal Werte von 0 bis 63 darstellen, also können in dem Netzbereich nur die nächsten 63 Zahlen verwendet werden. Also von 192.168.23.128 bis 192.168.23.191. Ab 192.168.23.192 fängt das nächste Teilnetz an.

Nun ist aber die allererste IP-Adresse im Netz immer das Netz selber, also kannst Du die 192.168.23.128 nicht benutzen. Auch die letzte IP-Adresse ist reserviert (die 192.168.23.191), das ist die sogenannte Broadcast-Adresse.

Das einzige, was Du jetzt noch brauchst, ist eine Tabelle der möglichen Suffixe und die daraus resultierenden Netzmasken:
Code:
/0 = 0.0.0.0      /8  = 255.0.0.0     /16 = 255.255.0.0
/1 = 128.0.0.0    /9  = 255.128.0.0   /17 = 255.255.128.0
/2 = 192.0.0.0    /10 = 255.192.0.0   /18 = 255.255.192.0
/3 = 224.0.0.0    /11 = 255.224.0.0   /19 = 255.255.224.0
/4 = 240.0.0.0    /12 = 255.240.0.0   /20 = 255.255.240.0
/5 = 248.0.0.0    /13 = 255.248.0.0   /21 = 255.255.248.0
/6 = 252.0.0.0    /14 = 255.252.0.0   /22 = 255.255.252.0
/7 = 254.0.0.0    /15 = 255.254.0.0   /23 = 255.255.254.0
etc ;-)
Der Rest ist nur noch Umwandlung in Binärzahlen und damit rechnen.

SirTwist
  Mit Zitat antworten Zitat