![]() |
Berechnung der IP-Adressen-Bereiche
Hallo zusammen,
ich komme nicht dahinter, wie man anhand der IP und der Subnetmask den Adressenbereich ermitteln kann. :oops: Ich habe mir den ![]() So gehe ich vermutlich bei den Anfangswerten wie "172.23.66.111/21" vor, um erst einmal die Subnetmask zu erhalten. Ich würde nun gerne anhand der Wikipedia-Beispiele (denn dazu gibt die Lösung) versuchen, das zu verstehen, denn nicht mal die einfachsten Beispiele verstehe ich: 10.0.0.44 / 255.0.0.0 Mal geht es bei der 0 der Subnetmask von 1 bis 254 und mal von 0 bis 255 Ich glaube einfach, mir fehlen da Grundlagen. Ich würde am Ende gerne verstehen, wie man diese Wikipedia-Beispiele selbst nachrechnen kann:
Code:
Kann mir dabei jemand helfen (Denkanstöße) oder weiterführende Links nennen, mit denen man dies leicht nachvollziehen kann?
10.0.0.44 255.0.0.0 10.0.0.1 bis 10.255.255.254
172.16.232.15 255.255.0.0 172.16.0.1 bis 172.16.255.254 172.23.66.111 255.255.248.0 172.23.64.1 bis 172.23.71.254 192.168.0.1 255.255.255.0 192.168.0.1 bis 192.168.0.254 172.23.66.109 255.255.255.240 172.23.66.97 bis 172.23.66.110 192.168.10.23 255.255.255.255 192.168.10.23 Die Anzahl der möglichen IPs ist auch immer gefragt, doch das bekomme ich vermutlich hin. Grüße, Matze |
Re: Berechnung der IP-Adressen-Bereiche
Zitat:
Man undiert die Bitmuster
Code:
10.0.0.44
255.0.0.0 = 10.0.0.0 |
Re: Berechnung der IP-Adressen-Bereiche
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:
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.
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) 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:
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.
10.0.0.44 = 00001010.00000000.00000000.00101100
255.0.0.0 = 11111111.00000000.00000000.00000000 ----------------------------------- 00001010.00000000.00000000.00000000 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:
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.
192.168.23.142 = 11000000.10101000.00010111.10001110
255.255.255.192 = 11111111.11111111.11111111.11000000 ----------------------------------- 11000000.10101000.00010111.10000000 = 192.168.23.128 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:
Der Rest ist nur noch Umwandlung in Binärzahlen und damit rechnen.
/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 ;-) SirTwist |
Re: Berechnung der IP-Adressen-Bereiche
Hallo SirTwist,
das ist so hervorragend erklärt, dass ich das Thema so eingestellt habe, damit es nach 4 Wochen nicht automatisch entfernt wird. Vielleicht hilft dein Beitrag auch noch anderen. Große Klasse und herzlichen Dank (dir natürlich auch, Markus). :thumb: Eine Frage habe ich allerdings noch, die bei einem komplizierteren Beispiel aufgetreten ist, als du es genannt hast:
Code:
Da hat die Subnetmask am Ende 14 Nullen und somit ergibt sich ein Bereich von 2^14 = 16384.
172.23.66.111 = 10101100.00010111.01000010.01101111
255.255.248.0 = 11111111.11111111.11111000.00000000 ----------------------------------- 10101100.00010111.01000000.00000000 Diesen kann man natürlich nicht so einfach auf die letzte Zahl addieren. Ich dachte mir daher, mit der letzten Zahl kann man die Ziffern von 0 bis 255 darstellen und hat somit 256 Möglichkeiten. Daher ergibt sich für die Erhöhung der vorletzten Zahl:
Code:
Für die Erhöhung der letzten Zahl würde sich diese Erhöhung ergeben, falls es in anderen Fällen einen Rest geben sollte:
16384 div 256 = 64
Code:
Das würde doch heißen, ich muss zur vorletzten Zahl 64 dazuaddieren und käme zu folgendem Ergebnis: 172.23.130.111 (Broadcast)
16384 mod 256 = 0
herauskommen sollte jedoch: 172.23.71.254 Was mache ich denn in diesem Fall falsch? ;) Grüße, Matze |
Re: Berechnung der IP-Adressen-Bereiche
Zitat:
Code:
Und für den danachfolgenden Wertebereich brauchst Du eigentlich gar nicht so kompliziert mit div und mod zu rechnen. Du nimmst den Wert der Subnetmaske, der nicht 255 oder 0 ist (also die 248) und ziehst diesen von 256 ab (macht 8). Jetzt weißt Du, dass Du in der Netzadresse (172.23.64.0) den dritten Wert immer um 8 erhöhen oder vermindern musst, um das jeweils nächste oder vorige Netz zu erhalten. Das nächste Netz ist also 172.23.72.0, das vorige 172.23.56.0.
172.23.66.111 = 10101100.00010111.01000010.01101111
255.255.248.0 = 11111111.11111111.11111000.00000000 ----------------------------------- 10101100.00010111.01000000.00000000 = 172.23.64.0 Wichtig ist, beim Rechnen mit den Netzadressen, immer erst den Host-Anteil auszufiltern (also die UND-verknüpfung mit der Subnet-Maske durchzuführen). Böser Stolperstein: Natürlich geht nicht jede Kombination aus Subnetmaske und Netzadresse. Bei /20 kann man z.B. 172.23.48.0, 172.23.64.0 und 172.23.80.0 bilden, aber 172.23.56.0/20 ist kein gültiges IP-Netz, 172.23.56.0/21 dagegen schon. Gruß, SirTwist |
Re: Berechnung der IP-Adressen-Bereiche
Hallo SirTwist, danke für deine Antwort.
Zitat:
Du sagst, das nächste Netz sei 172.23.72.0. Dabei müsste es sich, wenn ich das richtig verstanden habe, um den Broadcast handeln. Folglich müsste ich doch die Adresse davor nehmen. Wäre diese nicht 172.23.71.255? Denn das Ergebnis ist 172.23.71.254. Grüße |
Re: Berechnung der IP-Adressen-Bereiche
Der Broadcast bildet sich durch "Auseinsen" aller Bits der IP-Adresse, in denen die Netzmaske eine 0 enthält. Nimmst Du statt der 1 eine 0, erhältst Du die Netzadresse.
Code:
172.23.66.111 = 10101100.00010111.01000010.01101111
255.255.248.0 = 11111111.11111111.11111000.00000000 ----------------------------------- 10101100.00010111.01000000.00000000 <-- Netzadresse 172.23.66.111 = 10101100.00010111.01000010.01101111 255.255.248.0 = 11111111.11111111.11111000.00000000 ----------------------------------- 10101100.00010111.01000111.11111111 <-- Broadcast |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:05 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz