Antworten:
Konvertieren Sie die Dezimalpunktdarstellung der Netzmaske in eine Binärdarstellung. Zählen Sie dann die Anzahl der zusammenhängenden 1-Bits, beginnend mit dem höchstwertigen Bit im ersten Oktett (dh der linken Seite der Binärzahl).
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
-----------------------------------
I counted twenty-one 1s -------> /21
Das Präfix von 128.42.5.4 mit einer 255.255.248.0-Netzmaske ist / 21.
Die Netzwerkadresse ist das logische UND der jeweiligen Bits in der binären Darstellung der IP-Adresse und der Netzwerkmaske. Richten Sie die Bits in beiden Adressen aus und führen Sie ein logisches UND für jedes Paar der jeweiligen Bits aus. Konvertieren Sie dann die einzelnen Oktette des Ergebnisses zurück in Dezimalzahlen.
Logische UND Wahrheitstabelle:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
----------------------------------- [Logical AND]
10000000 00101010 00000000 00000000 ------> 128.42.0.0
Wie Sie sehen können, lautet die Netzwerkadresse von 128.42.5.4/21 128.42.0.0
Die Broadcast-Adresse konvertiert alle Host-Bits in 1s ...
Denken Sie daran, dass unsere IP-Adresse in Dezimalform lautet:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Die Netzwerkmaske lautet:
255.255.248.0 in binary: 11111111 11111111 11111000 00000000
Dies bedeutet, dass unsere Host-Bits die letzten 11 Bits der IP-Adresse sind, da wir die Host-Maske durch Invertieren der Netzwerkmaske finden:
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
Um die Broadcast-Adresse zu berechnen, erzwingen wir, dass alle Host-Bits 1 sind:
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000hhh hhhhhhhh
----------------------------------- [Force host bits]
10000000 00101010 00000111 11111111 ----> 128.42.7.255
Sie haben nicht genügend Informationen angegeben, um die Subnetze für dieses Netzwerk zu berechnen. Als allgemeine Regel erstellen Sie Subnetze, indem Sie einige der Host-Bits als Netzwerk-Bits für jedes Subnetz neu zuweisen. Oft gibt es keinen richtigen Weg, um einen Block zu subnetzieren. Abhängig von Ihren Einschränkungen kann es mehrere gültige Wege geben, um einen Block von Adressen zu subnetzieren.
Nehmen wir an, wir teilen 128.42.0.0/21 in 4 Subnetze auf, die jeweils mindestens 100 Hosts enthalten müssen ...
In diesem Beispiel wissen wir, dass Sie mindestens ein Präfix / 25 benötigen, um 100 Hosts zu enthalten. Ich habe a / 24 gewählt, weil es auf eine Oktettgrenze fällt. Beachten Sie, dass die Netzwerkadresse für jedes Subnetz Host-Bits aus dem übergeordneten Netzwerkblock entlehnt.
Woher wusste ich, dass ich mindestens eine / 25-Maskenlänge für 100 Hosts benötige? Berechnen Sie das Präfix, indem Sie die Anzahl der Host-Bits angeben, die 100 Hosts enthalten sollen. Man braucht 7 Host-Bits, um 100 Hosts zu enthalten. Offiziell wird dies berechnet mit:
Hostbits = Log 2 (Anzahl der Hosts) = Log 2 (100) = 6.643
Da IPv4-Adressen 32 Bit breit sind und wir die Host-Bits (dh niedrigstwertige Bits) verwenden, subtrahieren Sie einfach 7 von 32, um das minimale Subnetz-Präfix für jedes Subnetz zu berechnen ... 32 - 7 = 25.
Da wir nur vier Subnetze aus dem gesamten 128.42.0.0/21-Block benötigen, könnten wir / 23-Subnetze verwenden. Ich habe / 23 gewählt, weil wir 4 Subnetze benötigen ... dh zwei zusätzliche Bits zur Netzmaske hinzugefügt.
Dies ist eine ebenso gültige Antwort auf die Einschränkung, die / 23 Subnetze von 128.42.0.0/21 verwendet ...
Dies ist , was haben wir bereits oben gemacht ... nur den Host - Maske Wiederverwendung von der Arbeit , die wir haben , wenn wir die Broadcast - Adresse der 128.42.5.4/21 berechnet ... Dieses Mal , wenn ich 1s statt verwenden werden h
, denn wir brauchen erneut ein logisches UND für die Netzwerkadresse ausführen.
128.42.5.4 in binary: 10000000 00101010 00000101 00000100
Host bit mask : 00000000 00000000 00000111 11111111
----------------------------------- [Logical AND]
00000000 00000000 00000101 00000100 -----> 0.0.5.4
Sehen Sie sich die Anzahl der Binärbits in der obigen Hostnummer an, um die maximale Anzahl der Hosts zu ermitteln. Am einfachsten ist es, die Netzmaskenlänge von 32 (Anzahl der Bits in einer IPv4-Adresse) zu subtrahieren. Dies gibt Ihnen die Anzahl der Host-Bits in der Adresse. An diesem Punkt...
Maximale Anzahl von Hosts = 2 ** (32 - netmask_length) - 2
Der Grund, warum wir oben 2 subtrahieren, liegt darin, dass die Host-Nummern "Alle Einsen" und "Alle Nullen" reserviert sind. Die Hostnummer mit Nullen ist die Netzwerknummer. Die All-Ones-Host-Nummer ist die Broadcast-Adresse.
Unter Verwendung des obigen Beispielsubnetzes 128.42.0.0/21 beträgt die Anzahl der Hosts ...
Maximale Anzahl von Hosts = 2 ** (32 - 21) - 2 = 2048 - 2 = 2046
Angenommen, jemand gibt uns zwei IP-Adressen und erwartet, dass wir die längste Netzmaske finden, die beide enthält. Was wäre zum Beispiel, wenn wir Folgendes hätten:
Am einfachsten ist es, beide in Binärdateien umzuwandeln und auf der linken Seite der Adresse nach der längsten Zeichenfolge von Netzwerkbits zu suchen.
128.42.5.17 in binary: 10000000 00101010 00000101 00010001
128.42.5.67 in binary: 10000000 00101010 00000101 01000011
^ ^ ^
| | |
+--------- Network ---------+Host-+
(All bits are the same) Bits
In diesem Fall wäre die maximale Netzmaske (minimale Hostmaske) / 25
HINWEIS: Wenn Sie versuchen, von der rechten Seite aus zu beginnen, lassen Sie sich nicht täuschen, nur weil Sie eine übereinstimmende Spalte mit Bits finden. es könnte nicht passende Bits jenseits dieser übereinstimmenden Bits geben. Ehrlich gesagt ist es am sichersten, von der linken Seite zu beginnen.
Die Antwort oben trifft den Nagel auf den Kopf perfekt. Als ich anfing, brauchte ich ein paar verschiedene Beispiele aus verschiedenen Quellen, um wirklich Erfolg zu haben. Wenn Sie sich für andere Beispiele interessieren, habe ich daher einige Blog-Beiträge zu diesem Thema verfasst: http://www.oznetnerd.com/category/subnetting/
Administratoren, wenn dieser Beitrag als Spam eingestuft wird, können Sie ihn gerne löschen.
Bearbeiten: Gemäß dem Vorschlag von YLearn werde ich versuchen, die relevanten Teile aus Teil 1 meiner Serie zu übernehmen, ohne den gesamten Eintrag hier einzufügen.
Nehmen wir als Beispiel 195.70.16.159/30.
Da es ein / 30 ist, wissen wir, dass der Host-Teil im vierten Oktett sein wird. Lassen Sie uns das in Binär umwandeln:
128 64 32 16 8 4 2 1
SN SN SN SN SN SN H H
1 0 0 1 1 1 1 1
Um nun die Netzwerkadresse herauszufinden, müssen wir nur die SN-Bits, unter denen sich eine 1 befindet, addieren. (128 + 16 + 8 + 4 = 156).
Wenn Sie diese 156 zu den ersten drei Oktetten der Adresse hinzufügen, verbleibt die Netzwerkadresse 195.70.16.156.
Da wir nun wissen, dass die erste verwendbare Adresse immer die Netzwerkadresse plus eine ist, müssen wir nur die folgende Berechnung durchführen: (156 + 1 = 157).
Dies gibt uns eine erste verwendbare Adresse von 195.70.16.157.
Lassen Sie uns nun die letzte verwendbare Adresse für einen Moment überspringen und die Broadcast-Adresse ermitteln. Um herauszufinden, was es ist, müssen wir nur alle H-Bits addieren (unabhängig davon, ob es sich um eine 1 oder eine 0 handelt) und diese Zahl dann zur Netzwerkadresse hinzufügen. (2 + 1 + 156 = 159).
Dies gibt uns eine Broadcast-Adresse von 195.70.16.159.
Und zum Schluss erarbeiten wir die letzte verwendbare Adresse. Dieser Vorgang ähnelt dem Ermitteln der ersten verwendbaren Adresse. Anstatt jedoch eine zur Netzwerkadresse hinzuzufügen, subtrahieren wir tatsächlich eine von der Broadcast-Adresse. (159-1 = 158).
Dies gibt uns eine letzte verwendbare Adresse von 195.70.16.158.
Und da haben wir es! Unsere temaplte ist komplett. Zum einfachen Nachschlagen hier noch einmal:
Als Abkürzung können Sie auch diese Formel verwenden. Es funktioniert in Subnetzen jeder Größe:
Ich möchte Mike Penningtons exzellenter Antwort , für die ich unermüdlich geworben habe, nichts wegnehmen , aber ich sehe immer wieder Fragen, die von seiner Antwort nicht direkt angesprochen werden, und ich habe etwas geschaffen, das ursprünglich auf Mikes Antwort basierte, aber ich habe Weitere Informationen zu Fragen, die im Laufe der Zeit aufgetaucht sind. Leider ist es zu groß und ich musste es in zwei Antworten aufteilen.
Bei einer gegebenen IPv4-Adresse und der IPv4-Netzwerkmaske (die Netzwerkmaske kann auch von einer Netzwerkmaskenlänge oder einer Hostmaske abgeleitet werden) können Sie viele Informationen zu einem IPv4-Netzwerk ermitteln: Netzwerkadresse, Netzwerk-Broadcast-Adresse, Gesamtzahl der Hostadressen, Gesamtzahl der verwendbaren Adressen Hostadressen, erste verwendbare Hostadresse und letzte verwendbare Hostadresse.
Ich kann gar nicht genug betonen, dass Sie IPv4-Mathematik in Binärform ausführen müssen. Ich denke, jeder Netzwerktechniker (oder angehende Netzwerktechniker) hat versucht, einen Weg zu finden, wie Sie es sicher tun werden *. Das Problem ist, dass 10 (Dezimalzahl) keine Potenz von 2 (Binärzahl) ist. Daher werden Dezimalzahl und Binärzahl nicht auf natürliche Weise ineinander konvertiert, wie Hexadezimalzahl (Basis 16) auf natürliche Weise in Binärzahl und von Binärzahl konvertiert wird, da 16 eine Potenz von 2 ist .
Es scheint, dass die Verwendung der Punkt-Dezimal-Notation für IPv4 ein früher Fehler war, der jetzt nicht korrigiert werden kann. IPv6 hat jedoch von Anfang an die Verwendung von Hexadezimal übernommen, und es ist einfach, zwischen Hexadezimal und Binär umzurechnen.
Wenn Sie keinen IP-Taschenrechner haben (wahrscheinlich nicht in Prüfungen oder Zertifizierungstests für Netzwerkunterricht zugelassen), ist es hilfreich, ein Diagramm der Werte der Bits in einem Oktett zu erstellen. Da es sich um eine Binärzahl handelt, entspricht jeder Bitwert dem 2-fachen des gleichen Ziffernwerts in der nächstniedrigeren Ziffer. Jede Ziffer ist die Zahlenbasis multipliziert mit dem gleichen Ziffernwert in der nächstniedrigeren Ziffer. Dies gilt auch für jede andere Zahlenbasis, einschließlich Dezimalzahl (Basis 10), bei der jeder Ziffernwert das Zehnfache des Werts desselben Ziffernwerts an der nächstniedrigeren Ziffernposition beträgt. Für binäre Ziffern (Bits):
---------------------------------------------------------
| Bit # | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
---------------------------------------------------------
| Value | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---------------------------------------------------------
Bei Dezimalzahlen handelt es sich um Potenzen von 10, bei Binärzahlen handelt es sich um Potenzen von 2. Beachten Sie, dass für jede Bitnummer in der obigen Tabelle der entsprechende Wert 2 zur Potenz der Bitnummer ist.
For our example IPv4 dotted-decimal address of 198.51.100.223:
1st octet: 198 = 128 + 64 + 0 + 0 + 0 + 4 + 2 + 0 = 11000110
2nd octet: 51 = 0 + 0 + 32 + 16 + 0 + 0 + 2 + 1 = 00110011
3rd octet: 100 = 0 + 64 + 32 + 0 + 0 + 4 + 0 + 0 = 01100100
4th octet: 223 = 128 + 64 + 0 + 16 + 8 + 4 + 2 + 1 = 11011111
For our example IPv4 binary address of 11000110001100110110010011011111:
1st octet: 11000110 = 128 + 64 + 0 + 0 + 0 + 4 + 2 + 0 = 198
2nd octet: 00110011 = 0 + 0 + 32 + 16 + 0 + 0 + 2 + 1 = 51
3rd octet: 01100100 = 0 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 100
4th octet: 11011111 = 128 + 64 + 0 + 16 + 8 + 4 + 2 + 1 = 223
Sie müssen sich auch Ihre Wahrheitstabellen aus der Schule merken (in binärer Mathematik ist 0 falsch und 1 ist wahr):
-----------------------------------------
| False AND False = False | 0 AND 0 = 0 |
-----------------------------------------
| False AND True = False | 0 AND 1 = 0 |
-----------------------------------------
| True AND False = False | 1 AND 0 = 0 |
-----------------------------------------
| True AND True = True | 1 AND 1 = 1 |
-----------------------------------------
-----------------------------------------
| False OR False = False | 0 OR 0 = 0 |
-----------------------------------------
| False OR True = True | 0 OR 1 = 1 |
-----------------------------------------
| True OR False = True | 1 OR 0 = 1 |
-----------------------------------------
| True OR True = True | 1 OR 1 = 1 |
-----------------------------------------
* Wenn Sie jahrelang IPv4-Mathematik ausführen, können Sie möglicherweise Binär- / Dezimalumwandlungen in Ihrem Kopf durchführen und scheinen dann in der Lage zu sein, IPv4-Mathematik in Dezimalform auszuführen. Obwohl ich dies in meinem Kopf tun kann, überprüfe ich es immer mit einem IP-Rechner oder konvertiere es in Binär, führe die Berechnung durch und konvertiere es zurück in Dezimalzahl, bevor ich eine Änderung an einem Produktionsnetzwerk vornehme.
Die IPv4-Dezimalpunktnotation 198.51.100.223
dient beispielsweise lediglich dazu, dem Menschen das Lesen einer IPv4-Adresse zu erleichtern. Die vier separaten Abschnitte, Oktette genannt, haben für IPv4 eigentlich keine Bedeutung. Machen Sie nicht den Fehler, dass die Oktette eine besondere Bedeutung haben. Eine IPv4-Adresse ist in Wirklichkeit eine 32-Bit-Binärzahl, und so sehen und verwenden Netzwerkgeräte eine IPv4-Adresse.
Unser Beispiel IPv4 - Adresse 198.51.100.223
ist tatsächlich 11000110001100110110010011011111
zu einem Gerät im Netzwerk, so dass Sie , dass die Dezimalschreibweise Darstellung sehen können wirklich macht es einfacher für die Menschen. Jedes Oktett besteht aus acht Bits der 32-Bit-Adresse (daher der häufig verwendete Begriff „Oktett“), es gibt also vier Oktette ( 32 address bits / 8 bits per octet = 4 octets
). Unsere Beispiel-32-Bit-Binäradresse wird in vier Oktette aufgeteilt, und jedes Binäroktett wird in eine Dezimalzahl * konvertiert:
Binary address: 11000110001100110110010011011111
---------------------------------------------
Binary octets: | 11000110 | 00110011 | 01100100 | 11011111 |
Decimal octets: | 198 | 51 | 100 | 223 |
---------------------------------------------
Dotted-decimal: 198.51.100.223
Da jedes Oktett acht Bits lang ist, weist jedes Oktett einen Wert zwischen 0
und auf 255
(alle Werte, die größer als 255
ungültig sind). Der Grund ist, dass 2^8 = 256
: 2
(die binäre 8
Zahlenbasis) gleich der Potenz von (acht Bits pro Oktett) ist 256
, die Anzahl der verschiedenen Werte, die durch ein Acht-Bit-Oktett ausgedrückt werden können. Denken Sie daran , dass der erste Wert ist 0
, so dass der 256
wird th Wert ein kleiner sein , dass die Gesamtzahl der Werte , die (ausgedrückt werden kann 256 – 1 = 255
).
Um IPv4-Mathematik korrekt auszuführen, müssen Sie dies in Binärform tun. Andernfalls werden Sie Fehler machen, die Probleme und Frustrationen verursachen. Das bedeutet, dass Sie die gepunktete Dezimalschreibweise in eine Binärschreibweise konvertieren müssen, bevor Sie versuchen, sie zu bearbeiten:
Dotted-decimal: 198.51.100.223
---------------------------------------------
Decimal octets: | 198 | 51 | 100 | 223 |
Binary octets: | 11000110 | 00110011 | 01100100 | 11011111 |
---------------------------------------------
Binary address: 11000110001100110110010011011111
* Führende Nullen in einer IPv4-Adresse mit gepunkteten Dezimalstellen werden von einigen Anwendungen und Programmiersprachen möglicherweise als Oktal (Basis 8) und nicht als Dezimalstelle (Basis 10) interpretiert, was zu Fehlern führt. Führende Nullen sollten für die IPv4-Darstellung mit gepunkteten Dezimalstellen vermieden werden. Führende Nullen sind jedoch für die binären IPv4-Adressoktette erforderlich, da sie Bitpositionen in der vollständigen Adresse darstellen und das Weglassen einer Bitposition die Adresse verkürzt und den Binärwert ändert.
Eine IPv4-Netzwerkmaske wird verwendet, um eine IPv4-Adresse in zwei Teile zu unterteilen: den Netzwerkteil und den Hostteil. Die Unterteilung kann eine beliebige Bitnummer sein, sodass sie möglicherweise in ein Oktett und nicht an eine Oktettgrenze fällt, wie dies viele Menschen fälschlicherweise immer annehmen. Eine IPv4-Netzwerkmaske hat die gleiche Größe wie eine IPv4-Adresse (32 Bit) und wird in Punkt-Dezimal-Schreibweise ausgedrückt, wie Sie eine IPv4-Adresse in Punkt-Dezimal-Schreibweise ausdrücken würden (vier Acht-Bit-Oktette, getrennt durch ein Zeitraum). Zum Beispiel 255.255.248.0
.
Eine IPv4-Netzwerkmaske besteht aus einer Reihe von aufeinanderfolgenden 1
Bits (die den Netzwerkteil einer Adresse darstellen), gefolgt von einer Reihe von 0
Bits (die den Hostteil der Adresse darstellen). Die Gesamtzahl der 1
Bits und die Gesamtzahl der 0
Bits summieren sich zu 32
der Anzahl der Bits in einer IPv4-Adresse oder einer Netzwerkmaske. Für unsere Beispielnetzmaske:
Dotted-decimal: 255.255.248.0
------------------------------------------------
Decimal octets: | 255 | 255 | 248 | 0 |
Binary octets: | 11111111 | 11111111 | 11111 | 000 | 00000000 |
------------------------------------------------
| 21 Network bits | 11 Host bits |
------------------------------------------------
Wie Sie sehen, liegt die Aufteilung zwischen dem Netzwerk- und dem Host-Teil der IPv4-Adresse unter Verwendung dieser speziellen Maske innerhalb eines Oktetts und nicht an einer Oktettgrenze.
Eine IPv4-Netzwerkmaske wird häufig durch die Anzahl aufeinanderfolgender 1
Bits in der Maske dargestellt. Dies wird verschiedentlich als Netzwerkmaskenlänge oder Präfixlänge bezeichnet und als /
gefolgt von der Anzahl aufeinanderfolgender 1
Bits in der Netzwerkmaske dargestellt. In unserem Beispiel wird die Anzahl der aufeinanderfolgenden 1
Bits gezählt 21
, die dargestellt werden können als /21
.
Bei gegebener Maskenlänge können Sie die Punkt-Dezimal-Darstellung der Maske berechnen. Schreiben Sie einfach die Anzahl der 1
Bits für die Maskenlänge auf und addieren Sie 0
am Ende genug Bits zu den Gesamtbits 32
. Konvertieren Sie die resultierende Binärzahl in die Punkt-Dezimal-Darstellung:
Mask length: /21
------------------------------------------------
| 21 Network bits | 11 Host bits |
------------------------------------------------
Binary octets: | 11111111 | 11111111 | 11111 | 000 | 00000000 |
Decimal octets: | 255 | 255 | 248 | 0 |
------------------------------------------------
Dotted-decimal: 255.255.248.0
Das Beispiel kann traditionell als 198.51.100.223
, mit einer Netzwerkmaske von 255.255.248.0
oder als das modernere CIDR (Classless Inter-Domain Routing) dargestellt werden 198.51.100.223/21
.
Eine IPv4-Netzwerkadresse ist eine IPv4-Adresse, bei der alle Host-Bits auf gesetzt sind 0
. Die IPv4-Netzwerkadresse kann bitweise AND
aus den jeweiligen Bits in der binären Darstellung der IPv4-Adresse und der IPv4-Netzwerkmaske berechnet werden . Richten Sie die Bits in beiden Adressen aus und führen Sie AND
für jedes Bitpaar eine bitweise Verarbeitung durch. Konvertieren Sie dann die einzelnen Oktette des Ergebnisses zurück in Dezimalzahlen.
Für unser Beispiel IPv4-Adresse 198.51.100.223
und Netzwerkmaske 255.255.248.0
:
Decimal address: 198.51.100.223/21
Binary address octets: 11000110 00110011 01100100 11011111
Binary mask octets: 11111111 11111111 11111000 00000000 AND
-----------------------------------
Binary network octets: 11000110 00110011 01100000 00000000
Decimal network octets: 198 51 96 0
Dotted-decimal network: 198.51.96.0
Wie Sie sehen können, 198.51.100.223/21
lautet die Netzwerkadresse von 198.51.96.0
. Beachten Sie, dass Sie sich nicht darauf verlassen können, dass Ihnen die Oktette mitteilen, welcher Teil der Adresse das Netzwerk ist und welcher Teil der Adresse für die Hosts bestimmt ist.
Mit dieser Methode können Sie ermitteln, ob sich zwei Adressen in demselben oder in verschiedenen Netzwerken befinden *. Wenn Sie beispielsweise sehen möchten, ob sich Ihre 198.51.100.223/21
Adresse in demselben IPv4-Netzwerk befindet, dem ein Host die 198.51.102.57
Adresse zugewiesen hat , ermitteln Sie Ihre IPv4-Netzwerkadresse (wie oben). Bestimmen Sie als Nächstes die IPv4-Netzwerkadresse des betreffenden Hosts mithilfe Ihrer IPv4-Netzwerkmaske (Hosts im selben Netzwerk verwenden dieselbe Netzwerkmaske, und Sie haben möglicherweise nicht die Maske, sondern nur die Adresse des Zielhosts):
Decimal address: 198.51.102.57/21
Binary address octets: 11000110 00110011 01100110 00111001
Binary mask octets: 11111111 11111111 11111000 00000000 AND
-----------------------------------
Binary network octets: 11000110 00110011 01100000 00000000
Decimal network octets: 198 51 96 0
Dotted-decimal network: 198.51.96.0
Vergleichen Sie die resultierende IPv4-Netzwerkadresse mit der ursprünglichen IPv4-Netzwerkadresse, und beachten Sie, dass die Netzwerkadressen identisch sind, sodass sich die Hostadressen im selben Netzwerk befinden.
Nun wollen wir sehen, ob Sie sich im selben Netzwerk wie die 74.125.69.100
Google-Adresse befinden:
Decimal address: 74.125.69.100/21
Binary address octets: 01001010 01111101 01000101 01100100
Binary mask octets: 11111111 11111111 11111000 00000000 AND
-----------------------------------
Binary network octets: 01001010 01111101 01000000 00000000
Decimal network octets: 74 125 64 0
Dotted-decimal network: 74.125.64.0
Vergleichen Sie die resultierende IPv4-Netzwerkadresse mit der ursprünglichen IPv4-Netzwerkadresse, und beachten Sie, dass sich die Netzwerkadressen unterscheiden, sodass sich die Hostadressen in verschiedenen Netzwerken befinden.
* Dies ist die Methode, mit der ein Quellhost ermittelt, ob es sich um einen Zielhost im selben Netzwerk wie der Quellhost handelt.
Ein nützlicher, oft übersehener Wert, der bei der IPv4-Adressierung hilfreich ist, ist die IPv4-Hostmaske. Eine IPv4-Hostmaske ist einfach die Umkehrung der IPv4-Netzwerkmaske. Sie können eine binäre Hostmaske aus einer binären Netzwerkmaske oder eine binäre Netzwerkmaske aus einer binären Hostmaske erstellen, indem Sie einfach das 1
s und 0
s der Startmaske invertieren :
Dotted-decimal network mask: 255.255.248.0
Decimal network mask octets: 255 255 248 0
Binary network mask octets: 11111111 11111111 11111000 00000000 invert
-----------------------------------
Binary host mask octets: 00000000 00000000 00000111 11111111
Decimal host mask octets: 0 0 7 255
Dotted-decimal host mask: 0.0.7.255
Es ist möglich, mathematisch eine Hostmaske aus der Netzwerkmaske oder die Netzwerkmaske aus der Hostmaske zu erstellen, indem die Startmaske von der längsten Maske ( /32
oder der Maske mit allen Einsen) subtrahiert wird .
Das geht in binärer Form:
Binary all-ones mask octets: 11111111 11111111 11111111 11111111
Binary network mask octets: 11111111 11111111 11111000 00000000 -
-----------------------------------
Binary host mask octets: 00000000 00000000 00000111 11111111
Decimal host mask octets: 0 0 7 255
Dotted-decimal host mask: 0.0.7.255
Dies kann auch dezimal erfolgen (ein All-Ones-Oktett ist das 255
), aber stellen Sie sicher, dass Sie es in binär konvertieren, bevor Sie tatsächlich versuchen, es für die Adressmanipulation zu verwenden:
Decimal all-ones mask octets: 255 255 255 255
Decimal network mask octets: 255 255 248 0 -
---------------
Decimal host mask octets: 0 0 7 255
Dotted-decimal host mask: 0.0.7.255
Eine IPv4-Netzwerk-Broadcast-Adresse ist die IPv4-Netzwerkadresse, bei der alle Host-Bits auf gesetzt sind 1
. Es gibt verschiedene Möglichkeiten, die IPv4-Netzwerk-Broadcast-Adresse zu berechnen.
In unserem Beispiel IPv4-Adresse 198.51.100.223
und Netzwerkmaske 255.255.248.0
.
Sie können eine bitweise OR
Eingabe mit der IPv4-Adresse oder der Netzwerkadresse mit der Hostmaske durchführen:
Decimal address octets: 198 51 100 223
Binary address octets: 11000110 00110011 01100100 11011111
Binary host mask octets: 00000000 00000000 00000111 11111111 OR
-----------------------------------
Binary broadcast octets: 11000110 00110011 01100111 11111111
Decimal broadcast octets: 198 51 103 255
Dotted-decimal broadcast: 198.51.103.255
Sie können einfach den Wert der IPv4-Hostmaske zum Wert der IPv4-Netzwerkadresse hinzufügen:
Binary network octets: 11000110 00110011 01100000 00000000
Binary host mask octets: 00000000 00000000 00000111 11111111 +
-----------------------------------
Binary broadcast octets: 11000110 00110011 01100111 11111111
Decimal broadcast octets: 198 51 103 255
Dotted-decimal broadcast: 198.51.103.255
Dies können Sie auch dezimal tun:
Decimal network octets: 198 51 96 0
Decimal host mask octets: 0 0 7 255 +
---------------
Decimal broadcast octets: 198 51 103 255
Dotted-decimal broadcast: 198.51.103.255
Die Gesamtzahl der IPv4-Hostadressen für ein Netzwerk ergibt 2
sich aus der Anzahl der Hostbits 32
abzüglich der Anzahl der Netzwerkbits. Für unser Beispiel eines /21
(Netzwerkmasken- 255.255.248.0
) Netzwerks gibt es 11
Host-Bits ( 32 address bits – 21 network bits = 11 host bits
). Das heißt, 2048
in einem /21
IPv4-Netzwerk gibt es insgesamt Hostadressen ( 2^11 = 2048
).
Mit Ausnahme von /31
Netzwerken (Netzwerkmaske 255.255.255.254
) und /32
(Netzwerkmaske 255.255.255.255
) entspricht die Anzahl der verwendbaren Hostadressen in einem IPv4-Netzwerk der Gesamtanzahl der Netzwerkhostadressen abzüglich 2
(da die IPv4-Netzwerk- und Broadcastadressen für Hostadressen im Netzwerk nicht verwendbar sind) müssen sie von der Anzahl der verwendbaren Hostadressen subtrahieren). Für unser Beispiel eines /21
( 255.255.248.0
) Netzwerks gibt es 2046
verwendbare Hostadressen ( 2^11 - 2 = 2046
).
Mit Ausnahme von /31
Netzwerken (Netzwerkmaske 255.255.255.254
) und /32
(Netzwerkmaske 255.255.255.255
) ist die erste verwendbare IPv4-Netzwerkhostadresse die IPv4-Netzwerkadresse plus 1
(die IPv4-Netzwerkadresse kann nicht für eine Netzwerkhostadresse verwendet werden). In unserem Beispielnetzwerk von 198.51.96.0/21
ist die erste verwendbare Netzwerkhostadresse 198.51.96.1
( 198.51.96.0 + 1 = 198.51.96.1
). Setzen Sie einfach das niederwertige Bit der binären IPv4-Netzwerkadresse auf 1
:
Decimal network octets: 198 51 96 0
Binary network octets: 11000110 00110011 01100000 00000000
-----------------------------------
Binary address octets: 11000110 00110011 01100000 00000001
Decimal address octets: 198 51 96 1
Dotted-decimal address: 198.51.96.1
Mit Ausnahme von /31
(Netzwerkmaske 255.255.255.254
) und /32
(Netzwerkmaske 255.255.255.255
) Netzwerken ist die letzte verwendbare IPv4-Netzwerkhostadresse die IPv4-Netzwerk-Broadcast-Adresse minus 1
(die IPv4-Netzwerk-Broadcast-Adresse ist für eine Netzwerkhostadresse nicht verwendbar). Für unser Beispielnetzwerk von 198.61.96.0/21
ist die letzte verwendbare Netzwerkhostadresse 198.51.103.254
( 198.51.103.255 - 1 = 198.51.103.254
). Setzen Sie einfach das niederwertige Bit der binären IPv4-Netzwerk-Broadcast-Adresse auf 0
:
Decimal broadcast octets: 198 51 103 255
Binary broadcast octets: 11000110 00110011 01100111 11111111
-----------------------------------
Binary address octets: 11000110 00110011 01100111 11111110
Decimal address octets: 198 51 103 254
Dotted-decimal address: 198.51.103.254
Für unsere IPv4-Beispielnetzwerkadresse 198.51.100.223
und -maske 255.255.248.0
(oder 198.51.100.223/21
) können wir viele Netzwerkinformationen berechnen:
Host address: 198.51.100.223
Network mask: 255.255.248.0
Network mask length: 21
Host mask: 0.0.7.255
Host mask length: 11
*Network address: 198.51.96.0
*First usable network host address: 198.51.100.1
*Last usable network host address: 198.51.103.254
*Network Broadcast address: 198.51.103.255
Total network host addresses: 2048
Usable network host addresses: 2046
* Bei Prüfungen und Zertifizierungstests für Network Education Classes müssen Sie in der Lage sein, diese für ein IPv4-Netzwerk schnell zu berechnen, wenn Sie eine Hostadresse und eine Maske (oder eine Maskenlänge) angeben. Mithilfe der folgenden Hinweise können Sie Ihre Antworten schnell überprüfen:
Die obigen Hinweise gelten nicht für /31
(Netzwerkmaske 255.255.255.254
) oder /32
(Netzwerkmaske 255.255.255.255
) Netzwerke.
Wenn Sie genügend Zeit für Ihre Prüfung haben und ein Problem mit mehreren Methoden vorliegt, um eine Antwort zu erhalten, sollten Sie die Antwort mit mehreren Methoden überprüfen.
Fortsetzung in der nächsten Antwort ...
Fortsetzung von der vorherigen Antwort ...
Ein Gateway ist ein Host im Netzwerk, der Pakete an andere Netzwerke weiterleiten kann, und ihm kann jede verwendbare Netzwerk-Host-Adresse zugewiesen werden. Einige Personen weisen einer verwendbaren Netzwerk-Host-Adresse zufällig Gateway-Adressen zu, andere weisen einem Gateway immer die erste verwendbare Netzwerk-Host-Adresse zu und andere weisen einem Gateway immer die letzte verwendbare Netzwerk-Host-Adresse zu. Es ist eigentlich egal, welche verwendbare Host-Netzwerkadresse Sie einem Gateway zuweisen, aber Sie sollten versuchen, konsistent zu sein.
/31
Netzwerke (Netzwerkmaske 255.255.255.254
)Ursprünglich waren /31
(Netzwerkmasken- 255.255.255.254
) Netzwerke unbrauchbar, weil es nur ein Hostbit gibt, wodurch Sie zwei Netzwerkhostadressen erhalten, aber die Anzahl der verwendbaren Netzwerkhostadressen ist die Gesamtzahl der Netzwerkhostadressen minus 2
( 2 total host addresses - 2 = 0 usable host addresses
).
Punkt-zu-Punkt-Verbindungen benötigen nur zwei Hostadressen (eine für jedes Ende der Verbindung). Die herkömmliche Art der Zuweisung von IPv4-Netzwerken erforderte die Verwendung von /30
(Netzwerkmasken- 255.255.255.252
) Netzwerken für Punkt-zu-Punkt-Verbindungen. Dies verschwendet jedoch die Hälfte der Netzwerkhostadressen, da ein /30
Netzwerk insgesamt vier Netzwerkhostadressen aufweist, aber nur zwei verwendbare Netzwerkhostadressen sind ( 2^2 – 2 = 2
).
Aufgrund des kritischen IPv4-Adressengpasses wurde ein Standard erstellt, der die Verwendung von /31
Netzwerken für Punkt-zu-Punkt-Verbindungen ermöglicht. Dies ist sinnvoll, da in solchen Netzwerken kein Broadcast erforderlich ist: Alle von einem Host im Netzwerk gesendeten Pakete sind für den einzigen anderen Host im Netzwerk bestimmt und werden effektiv rundgesendet. In einem /31
Netzwerk ist die Netzwerkadresse die erste verwendbare Hostadresse und die Broadcast-Adresse die letzte verwendbare Hostadresse.
Leider unterstützen nicht alle Anbieter (insbesondere Microsoft) den Standard für die Verwendung von /31
Netzwerken auf Punkt-zu-Punkt-Verbindungen, und Sie werden am häufigsten Punkt-zu-Punkt-Verbindungen unter Verwendung von /30
Netzwerken sehen.
/32
Netzwerke (Netzwerkmaske 255.255.255.255
)Ein /32
(Netzwerkmasken- 255.255.255.255
) Netzwerk ist sowohl ein Netzwerk ohne Hostadressen als auch eine Hostadresse an sich. Es gibt nur eine Adresse im Netzwerk, und das ist die Netzwerkadresse. Da sich keine anderen Hosts im Netzwerk befinden, muss der Datenverkehr zur und von der Netzwerkadresse geleitet werden.
Diese Adressen werden häufig auf virtuellen Netzwerkschnittstellen verwendet, die in einem Gerät definiert sind, das Pakete zwischen seinen virtuellen und physischen Schnittstellen weiterleiten kann. Ein Beispiel hierfür ist das Erstellen einer virtuellen Schnittstelle in einem Netzwerkgerät, die als Quelle oder Ziel für das Gerät selbst verwendet wird. Eine virtuelle Schnittstelle kann aufgrund eines physischen Problems nicht gelöscht werden, z. B. wenn das Kabel abgezogen wurde. Wenn das Gerät über mehrere Pfade verfügt, können andere Geräte mit der Adresse der virtuellen Schnittstelle weiterhin mit dem Gerät kommunizieren, wenn eine physische Schnittstelle des Geräts aus irgendeinem Grund nicht funktionsfähig ist .
Durch die Untervernetzung eines Netzwerks werden mehrere, längere Netzwerke aus einer Netzwerkadresse und -maske erstellt. Die Grundidee ist, dass Sie höherwertige Bits vom Host-Teil des ursprünglichen Netzwerks ausleihen. Angenommen, Sie möchten aus unserem ursprünglichen 198.51.96.0/21
Netzwerk 14 gleich große Subnetze erstellen . Da Sie höherwertige Bits vom Host-Teil des ursprünglichen Netzwerks ausleihen, erhalten Sie eine Zahl, die eine Potenz von 2
, aber 14
keine Potenz von 2
ist. Sie müssen also die nächsthöhere Potenz von erhalten 2
, die zufällig 16
( 16 = 2^4
). Die Stärke von 2
ist in diesem Fall 4
die Anzahl der Host-Bits höherer Ordnung, die zum Ausleihen für die Anzahl der zu erstellenden Subnetze erforderlich sind. Sie können auch eine mathematische Formel verwenden, um die Anzahl der erforderlichen Bits zu bestimmen:Log2(X subnets) = Y borrowed bits
auf den nächsten ganzzahligen Wert aufgerundet:
Log2(14 subnets) = 3.807354922, rounded up = 4 borrowed bits
Für unser Beispiel, in dem 14 gleich große Subnetze des ursprünglichen 198.51.96.0/21
Netzwerks benötigt werden, beginnend mit allen 0
s * für das erste Subnetz, fügen Sie 1
dem Subnetzteil Folgendes hinzu, um das nächste Subnetz zu erhalten:
----------------------------------------------
Original: | 21 network bits | 11 host bits |
----------------------------------------------
Network: | 110001100011001101100 | 0000 | 0000000 | = 198.51.96.0/21
Subnet 1: | 110001100011001101100 | 0000 | 0000000 | = 198.51.96.0/25
Subnet 2: | 110001100011001101100 | 0001 | 0000000 | = 198.51.96.128/25
Subnet 3: | 110001100011001101100 | 0010 | 0000000 | = 198.51.97.0/25
Subnet 4: | 110001100011001101100 | 0011 | 0000000 | = 198.51.97.128/25
Subnet 5: | 110001100011001101100 | 0100 | 0000000 | = 198.51.97.128/25
Subnet 6: | 110001100011001101100 | 0101 | 0000000 | = 198.51.98.128/25
Subnet 7: | 110001100011001101100 | 0110 | 0000000 | = 198.51.99.0/25
Subnet 8: | 110001100011001101100 | 0111 | 0000000 | = 198.51.99.128/25
Subnet 9: | 110001100011001101100 | 1000 | 0000000 | = 198.51.100.0/25
Subnet 10: | 110001100011001101100 | 1001 | 0000000 | = 198.51.100.128/25
Subnet 11: | 110001100011001101100 | 1010 | 0000000 | = 198.51.101.0/25
Subnet 12: | 110001100011001101100 | 1011 | 0000000 | = 198.51.101.128/25
Subnet 13: | 110001100011001101100 | 1100 | 0000000 | = 198.51.102.0/25
Subnet 14: | 110001100011001101100 | 1101 | 0000000 | = 198.51.102.128/25
----------------------------------------------
Subnetted: | 25 network bits | 7 host bits |
----------------------------------------------
----------------------------------------------
Unused: | 110001100011001101100 | 111 | 00000000 | = 198.51.103.0/24
----------------------------------------------
* Es gibt einen anhaltenden Mythos, dass für Subnetze wie für Hostadressen die Subnetze mit allen Nullen und mit allen Einsen nicht verwendet werden können, aber dieser Mythos wurde vor vielen Jahren durch einen Standard explizit beseitigt. Leider erstreckt sich dieser Mythos auch auf einige Netzwerkunterrichtsklassen, und die richtige Antwort für diese (falschen) Klassen wäre die Verwendung des 2. bis 15. Subnetzes.
Es ist möglich, ein Netzwerk in Subnetze unterschiedlicher Größe zu unterteilen (jedes IPv4-Netzwerk ist ein Subnetz der 0.0.0.0/0
Netzwerkadresse), wie in unserem obigen Beispiel, wobei das nicht verwendete Subnetz ein /24
Subnetz ist. Dies erfordert jedoch eine sorgfältige Planung, damit die resultierenden Subnetze beginnen das richtige Bit.
Nehmen wir zum Beispiel an, wir benötigen sowohl ein /26
als auch ein /27
Subnetz aus unserem 198.51.96.0/21
Netzwerk. Dazu gibt es zwei Möglichkeiten: Beginnen Sie mit dem /26
Subnetz oder mit dem /27
Subnetz.
Beginnend mit dem /26
Subnetz:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 00000 | 000000 | /26
Fügen Sie 1
dem Subnetzteil Folgendes hinzu, um die Startposition des nächsten Subnetzes zu ermitteln:
Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26
Dann erweitern Sie das zweite Subnetz auf /27
:
Subnet 2: | 110001100011001101100 | 000010 | 00000 | /27
Beachten Sie, dass wir das zweite /26
Subnetz tatsächlich in ein /27
Subnetz unterteilen, und das funktioniert gut, weil 27
es größer als ist 26
.
Beginnend mit dem /27
Subnetz:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27
Fügen Sie 1
dem Subnetzteil Folgendes hinzu, um die Startposition des nächsten Subnetzes zu ermitteln:
Subnet 2: | 110001100011001101100 | 000001 | 00000 | /27
Beachten Sie, dass im Host-Bereich nicht mehr genügend Bits (fünf Host-Bits) vorhanden sind, um ein /26
Netzwerk zu unterstützen , für das sechs Host-Bits ( 32 address bits – 26 network bits = 6 host bits
) erforderlich sind . Wenn wir dies als Ausgangsposition für das /26
Subnetz verwenden, überlappen wir tatsächlich das vorherige und das nächste /26
Netzwerk. Wir müssen eine Lücke von der Größe eines /27
Netzwerks für die Startposition des /26
Netzwerks lassen:
Original: | 110001100011001101100 | 00000000000 | /21
Subnet 1: | 110001100011001101100 | 000000 | 00000 | /27
Unused: | 110001100011001101100 | 000001 | 00000 | /27
Subnet 2: | 110001100011001101100 | 00001 | 000000 | /26
Ein /26
Subnetz muss immer an einer /26
Grenze beginnen: jede 2. /27
Subnetzgrenze, jede 4. /28
Grenze, jede 8. /29
Grenze usw. Diese Regel gilt für jede Subnetzgröße: Ein Subnetz muss an einer Grenze eines längeren Subnetzes beginnen, 2
die der Leistung entspricht der längeren Subnetzgröße abzüglich der Subnetzgröße. Beispielsweise /23
muss in jedem vierten /25
Netzwerk ein Subnetz gestartet werden ( 2^(25 - 23) = 2^2 = 4
).
Der Versuch, ein Gerät mit einer Netzwerkadresse zu konfigurieren, die an der falschen Bitgrenze beginnt, führt entweder zu seltsamen Problemen, die sich nur schwer beheben lassen, oder das Gerät gibt einen Fehler über überlappende Netzwerke aus. Einige Leute versuchen dies mit Punkt-Dezimal zu tun, und dies kann zu Fehlern führen. Beispielsweise sind die 198.51.96.0/27
Netzwerkhostadressen 198.51.96.0
durch 198.51.96.31
. Wenn Sie dies wissen und versuchen, das 198.51.96.32/26
Netzwerk zu verwenden , treten Probleme auf, da das Netzwerk an der falschen Bitgrenze beginnt und das /27
Netzwerk überlappt (prüfen Sie dies, indem Sie bitweise AND
Adressen und Netzwerkmasken verwenden). Es ist offensichtlich in binär, aber es ist nicht so offensichtlich in Punkt-Dezimal. Sie können lernen, dass /26
Netzwerke mit einem Vielfachen der Dezimalzahl beginnen müssen64
Grenze, aber es in binären sehen kann Ihnen sicher sagen, ob Sie einen Fehler gemacht haben oder nicht.
Bei allgemeinen Prüfungsfragen erhalten Sie ein Netzwerk und werden aufgefordert, mehrere unterschiedlich große Subnetze zu erstellen, die auf der Anzahl der Hosts für jedes Subnetz basieren. Wenn möglich, müssen Sie klären, ob die Anzahl der Hosts auf der Gesamtzahl der Hostadressen im Netzwerk oder auf der Anzahl der verwendbaren Hosts im Netzwerk basiert. (Wenn in der Frage beispielsweise nach einem Subnetz mit 256
oder 255
Hosts gefragt /24
wird, erhalten Sie von einem Netzwerk die 256
Gesamtzahl der Hostadressen, jedoch nur die 254
verwendbaren Hostadressen. Eine solche Frage kann eine Trickfrage sein, und die richtige Antwort hängt davon ab, ob die Frage bedeutet Gesamt-Host-Adressen oder verwendbare Host-Adressen.)
Beispielfrage:
Given the 198.51.96.0/21 network, subnet it for the following departments:
Department 1: 500 hosts
Department 2: 100 hosts
Department 3: 200 hosts
Department 4: 1000 hosts
Wie wir im Abschnitt IPv4-Subnetze gesehen haben, besteht die einfachste Möglichkeit darin, die Abteilungen zunächst nach der größten bis zur kleinsten Anzahl von Hosts zu sortieren, da keine Netzwerklücken entstehen:
Department 4: 1000 hosts
Department 1: 500 hosts
Department 3: 200 hosts
Department 2: 100 hosts
Sie können jedes auf die nächsthöhere Potenz von 2 aufrunden, um die Anzahl der erforderlichen Gesamt-Hostadressen für jedes Subnetz zu erhalten, und dann die Anzahl der erforderlichen Hostbits aus dem Exponenten der Potenz von ableiten 2
:
Department 4: 1024 total host addresses = 2^10 = 10 host bits
Department 1: 512 total host addresses = 2^9 = 9 host bits
Department 3: 256 total host addresses = 2^8 = 8 host bits
Department 2: 128 total host addresses = 2^7 = 7 host bits
Sie können auch die vorherige Formel zum Ermitteln der für eine bestimmte Anzahl gleichgroßer Subnetze erforderlichen Anzahl von Bits ändern, um die Anzahl der für jedes Subnetz erforderlichen Hostbits zu ermitteln: Log2(X hosts) = Y host bits
Auf den nächsten ganzzahligen Wert aufgerundet:
Department 4: Log2(1000 hosts) = 9.96578428466209, rounded up = 10 host bits
Department 1: Log2( 500 hosts) = 8.96578428466209, rounded up = 9 host bits
Department 3: Log2( 200 hosts) = 7.64385618977472, rounded up = 8 host bits
Department 2: Log2( 100 hosts) = 6.64385618977473, rounded up = 7 host bits
Sobald Sie die Anzahl der für jedes Subnetz erforderlichen Host-Bits haben, führen Sie die Binärberechnung durch, um das spezifische Subnetz für jede Abteilung zu ermitteln. Denken Sie daran, 1
zu einem Subnetz hinzuzufügen , um die Startadresse des nächsten Subnetzes zu erhalten:
Original: | 110001100011001101100 | 00000000000 | = 198.51.96.0/21
Department 4: | 110001100011001101100 | 0 | 0000000000 | = 198.51.96.0/22
Department 1: | 110001100011001101100 | 10 | 000000000 | = 198.51.100.0/23
Department 3: | 110001100011001101100 | 110 | 00000000 | = 198.51.102.0/24
Department 2: | 110001100011001101100 | 1110 | 0000000 | = 198.51.103.0/25
Unused: | 110001100011001101100 | 1111 | 0000000 | = 198.51.103.128/25
Möglicherweise werden Sie aufgefordert, die Netzwerkinformationen für ein bestimmtes Subnetz eines bestimmten Netzwerks anzugeben. Beispielsweise werden Sie möglicherweise aufgefordert, die Netzwerkinformationen für das 23. /26
Subnetz des 198.51.96.0/21
Netzwerks anzugeben . Da Sie das 23. Subnetz benötigen, können Sie konvertieren 22
(denken Sie daran, dass 0
es das erste Subnetz ist, das 23. Subnetz wäre also 22
*) nach binär: Dezimal 22
= Binär 10110
. Verwenden Sie die konvertierte Binärzahl im Teilnetz der Adresse:
Original: | 110001100011001101100 | 00000000000 | = 198.51.96.0/21
Subnet 23: | 110001100011001101100 | 10110 | 000000 | = 198.51.101.128/26
Nachdem Sie die 23. Netzwerkadresse identifiziert haben, 198.51.101.128/26
können Sie die anderen Netzwerkinformationen berechnen (wie in den vorherigen Abschnitten beschrieben):
Network address: 198.51.101.128
Network mask length: 26
Network mask: 255.255.255.192
Host mask length: 6
Host mask: 0.0.0.63
First usable network host address: 198.51.101.1
Last usable network host address: 198.51.101.62
Broadcast address: 198.51.101.63
Total network host addresses: 64
Usable network host addresses: 62
* Es gibt einen anhaltenden Mythos, dass für Subnetze wie für Hostadressen die Subnetze mit allen Nullen und mit allen Einsen nicht verwendet werden können, aber dieser Mythos wurde vor vielen Jahren durch einen Standard explizit beseitigt. Leider erstreckt sich dieser Mythos auch auf einige Netzwerkunterrichtsklassen, und die richtige Antwort für diese (falschen) Klassen wäre die Verwendung des 24. ( 23
dezimalen, 10111
binären) Subnetzes in unserem Beispiel für gleich große Subnetze anstelle des tatsächlichen 23. ( 22
dezimalen, binären) Subnetzes. 10110
binäres Subnetz.
Möglicherweise werden Sie aufgefordert, die Hostadresse für einen bestimmten Host eines bestimmten Netzwerks zu ermitteln. Beispielsweise werden Sie möglicherweise aufgefordert, die Hostadresse für den 923. Host des 198.51.96.0/21
Netzwerks anzugeben . Da Sie den 923. Host benötigen, können Sie 923
in Binär umwandeln : Dezimal 923
= Binär 1110011011
. Fügen Sie die konvertierte Binärzahl zur Netzwerkadresse hinzu:
Binary network: | 110001100011001101100 | 00000000000 |
Binary 923: | 000000000000000000000 | 01110011011 | +
-----------------------------------
Host address: | 110001100011001101100 | 01110011011 | = 198.51.99.155
Möglicherweise erhalten Sie zwei (oder mehr) verschiedene Hostadressen und werden aufgefordert, das größte Netzwerk (die kleinste Anzahl von Hosts) anzugeben, das beide Hostadressen enthält. Finden Sie zum Beispiel das größte gemeinsame Netzwerk von 198.51.100.223
und 198.51.101.76
.
Konvertieren Sie zuerst die punktierten Dezimaladressen in Binär:
198.51.100.223 = 11000110001100110110010011011111
198.51.101.76 = 11000110001100110110010101001100
Beginnen Sie mit dem höchstwertigen Bit (ganz links) und vergleichen Sie die Binäradressen an jeder Bitposition, bis die Bits an derselben Position nicht mehr übereinstimmen:
198.51.100.223 = | 11000110001100110110010 | 011011111 |
198.51.101.76 = | 11000110001100110110010 | 101001100 |
Zählen Sie 23
in diesem Fall die Anzahl der übereinstimmenden Bits, um die Maskenlänge zu erhalten. Sie können dann eine der Adressen nehmen und bitweise AND
mit der Netzwerkmaske arbeiten, um das gemeinsame Netzwerk zu erhalten. Wenn Sie dies für beide Adressen tun, sollte dies zu demselben Netzwerk führen. Wenn dies nicht der Fall ist, haben Sie entweder eine Fehlzählung durchgeführt oder eine nicht übereinstimmende Bitposition verpasst.
198.51.100.223 = 11000110001100110110010011011111
/23 mask length = 11111111111111111111111000000000 AND
--------------------------------
Binary network: 11000110001100110110010000000000 = 198.51.100.0/23
198.51.101.76 = 11000110001100110110010111011111
/23 mask length = 11111111111111111111111000000000 AND
--------------------------------
Binary network: 11000110001100110110010000000000 = 198.51.100.0/23
Beachten Sie, dass die beiden Netzwerkadressen übereinstimmen. Das heißt, das größte gemeinsame Netzwerk für die beiden Hostadressen ist 198.51.100.0/23
(CIDR-Notation) oder (traditionell) 198.51.100.0
mit einer Maske von 255.255.254.0
.
* Möglicherweise wird dies als das kleinste gemeinsame Netzwerk (oder eine Variante, z. B. minimales Netzwerk oder Maske) bezeichnet. Das kleinste Netzwerk ist tatsächlich 0.0.0.0/0
( 0
Netzwerkbits), und es ist das gemeinsame Netzwerk für alle IPv4-Adressen, sodass es das kleinste gemeinsame Netzwerk aller IPv4-Adressen ist. Die Verwirrung entsteht, weil viele Leute den Host-Teil der Adresse betrachten und dessen Größe als die Netzwerkgröße und nicht als die Größe des Netzwerk-Teils der Adresse ansehen.
IPv4 selbst kennt weder das Konzept noch die Unterscheidung zwischen öffentlicher und privater Adressierung. Die private IPv4-Adressierung wurde willkürlich gewählt, und die ISPs leiten nach Vereinbarung keine Pakete im öffentlichen Internet unter Verwendung von Adressen im privaten Adressraum weiter, aber Netzwerkgeräte und Hosts wissen nicht, ob eine Adresse öffentlich oder privat ist.
Für eine private IPv4-Adressierung sind drei Adressbereiche definiert:
10.0.0.0/8
172.16.0.0/12
192.168.0.0/16
Ursprünglich wurden IPv4-Adressen in Netzwerkklassen unterteilt. Die klassische Adressierung war vor Jahrzehnten veraltet, und moderne Netzwerke basieren auf CIDR (Classless Inter-Domain Routing). Leider bestehen jedoch viele Netzwerkschulungskurse und Zertifizierungsprüfungen darauf, Ihr Wissen über die klassische Adressierung zu testen. Machen Sie sich mit allen bisherigen IPv4-Berechnungen in diesem Dokument vertraut, bevor Sie sich mit klassischer Adressierung befassen.
Die IPv4-Adressklassen basieren alle auf den ersten Bits der Adresse:
Class Address Starts With Address Range Default Size*
A First one bit = 0 0.0.0.0 to 127.255.255.255 /8
B First two bits = 10 128.0.0.0 to 191.255.255.255 /16
C First three bits = 110 192.0.0.0 to 223.255.255.255 /24
D First four bits = 1110 224.0.0.0 to 239.255.255.255 N/A
E First four bits = 1111 240.0.0.0 to 255.255.255.255 N/A
255.0.0.0
( /8
) und eine Standardhostmaske von 0.255.255.255
, wodurch Sie die 16,777,216
Gesamtzahl der Hostadressen pro Netzwerk erhalten.255.255.0.0
( /16
) und eine Standardhostmaske von 0.0.255.255
, wodurch Sie die 65,536
Gesamtzahl der Hostadressen pro Netzwerk erhalten.255.255.255.0
( /24
) und eine Standardhostmaske von 0.0.0.255
, wodurch Sie die 256
Gesamtzahl der Hostadressen pro Netzwerk erhalten.255.255.255.255
handelt es sich um eine individuelle Adresse, die jeder Host in einem Netzwerk als seine eigene behandelt. Das bedeutet, dass alles, was an gesendet 255.255.255.255
wird, von jedem Host im Netzwerk empfangen und verarbeitet wird.Da jede Klasse eine Standardnetzwerkgröße hat, wird bei einigen Fragen die Standardmaske für eine bestimmte Adresse vorausgesetzt, sodass alle Berechnungen auf der Basis der Standardnetzwerkmaske durchgeführt werden müssen. Für unsere Beispieladresse 198.51.100.223
:
Binary: 11000110 00110011 01100100 11011111
Beachten Sie, dass die ersten drei Adressbits sind 110
, was bedeutet, dass es sich um eine Adresse der Klasse C handelt. Wenn keine Maske oder Maskenlänge vorhanden ist, wird angenommen , dass die Netzwerkmaske 255.255.255.0
( /24
) ist und die Netzwerkadresse ergibt 198.51.100.0
.
* Machen Sie nicht den üblichen Fehler zu glauben, dass die Netzwerkmaske die Netzwerkklasse diktiert, sondern umgekehrt. Zum Beispiel betrachten viele Leute ein /24
Netzwerk als ein Klasse-C-Netzwerk, aber das ist nicht einmal im entferntesten wahr. Wenn zum Beispiel ein 10.11.12.0/24
Netzwerk verwendet wird, wird dieses Netzwerk aufgrund der Netzwerkmaske fälschlicherweise von vielen Personen als Klasse-C-Netzwerk bezeichnet, obwohl das erste Bit der Adresse 0
ein Klasse-A-Netzwerk ist, obwohl die Netzwerkmaske länger ist als die Standardmaske Klasse-A-Netzwerkmaske, dh es handelt sich um ein Teilnetz eines Klasse-A-Netzwerks, nicht um ein Klasse-C-Netzwerk.
(In dem Versuch, alle Netzmasken-Antworten an einem Ort zu speichern, habe ich nach den anderen ausgezeichneten Antworten eine visuelle Methode hinzugefügt.)
Subnetzgröße basierend auf der Anzahl der Hosts
Dies ist die häufig gestellte Frage: "Wie schneide ich eine bestimmte Netzwerkgröße in n Teile, sodass x 1 Hosts in Netzwerk 1, x 2 Hosts in Netzwerk 2 usw. zulässig sind?" kann absolut gelöst werden, indem man die Methoden durcharbeitet, die in den anderen ausgezeichneten Antworten beschrieben werden.
Einige mögen jedoch eine visuellere Methode und einige allgemeine Tipps.
Visuelle "Glasscutter" -Methode
Die Art und Weise, wie ich dies oft visuell verstehe, ist mit der folgenden Methode:
Stellen Sie sich zunächst eine Papier-Guillotine wie diese vor:
( Bild aus Wikipedia Von Nathan CC BY-SA 3.0)
Die Eigenschaften dieser Art von Schneideplotter bestehen darin, dass sie nur gerade Linien schneidet, immer den ganzen Weg über das Papier schneidet und senkrecht zu einer Seite schneidet. Unsere besondere Guillotine ist pingelig: Sie schneidet Papier nur in zwei Hälften, und wir können keinen Schnitt näher als 1 cm an der Kante ausführen.
Hier ist eine Illustration des Prozesses. Sie sehen, dass bei Schnitt 1 und Schnitt 2 nur eine Art von Schnitt möglich ist, aber bei Schnitt 3 treffen wir eine Auswahl: Schneiden Sie das kleine Stück (rot) oder das große Stück (blau) und geben Sie zwei verschiedene Möglichkeiten.
Das ist, was oft als das Guillotine-Problem bezeichnet wird , das ich als das "Glasschneider" -Problem lernte, da Glasscheiben wirklich vollständig durchgeschnitten werden müssen, und dieses spezielle Problem kann als "binärer Glasschneider" bezeichnet werden, da es immer in Hälften geschnitten wird.
Wenn ich das im wirklichen Leben mache, mache ich mental die Halbierungen, während ich das Gitter so betrachte. Ich kann mich erinnern, dass / 26 mit 0, .64, 128 oder .192 beginnen muss. Ich weiß vielleicht, dass die siebte Standleitung die siebte / 30 im oberen Quartal benötigt, aber ich kann mich nicht erinnern, dass das .216 ist.
Das Raster kann natürlich auch zur Darstellung des dritten Oktetts verwendet werden, und jedes Quadrat steht für a / 24. Jetzt heißt es, dass a / 18 mit .0, .64, .128 oder .192 beginnt.
Allgemeine Techniktipps
Das allgemeine Verfahren ist:
Beispiel:
IP: 128.42.5.4
In binärer Form: 10000000 00101010 00000101 00000100
Subnetz: 255.255.248.0
Wie können Sie die Präfix-, Netzwerk-, Subnetz- und Hostnummern ermitteln?
32768 16384 8192 4096 2048 1024 512 256 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/17 /18 /19 /20 /21 /22 /23 /24 ----> CIDR
32766 16382 8190 3094 2046 1022 510 254 ----> Host
128 64 32 16 8 4 2 1 ----> Binary
128 192 224 240 248 252 254 255 ----> Sunet Mask
/25 /26 /27 /28 /29 /30 /31 /32 ----> CIDR
126 62 30 14 6 2 * - ----> Host
128 64 32 16 8 4 2 1
10000000 01000000 00100000 00010000 00001000 00000100 00000010 00000001
Example
Network=192.168.1.0 /24;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.0
Ip address range 192.168.1.0----192.168.1.255
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.254;
Broadcast address = 192.168.1.255;
254 Host
Network=192.168.1.0 /25;
Network Address with Subnet mask = 192.168.1.0 subnet 255.255.255.128
Ip address range 192.168.1.0----192.168.1.128
Fist available ip address 192.168.1.1;
Last available ip address 192.168.1.126;
Broadcast address = 192.168.1.127;
126 Hosts
When the CIDR increased ex. /24. /25. the network will divided by the
binary number.
/25 increase network 0-128| 128- 256 | you will have 2 Networks
/26 increase network 0-64 | 64 - 128 | 128-192 | 192-256 you will have 4 Networks
.
.
.
/32......