Wie werden zwei Subnetze nebeneinander platziert?

10

Ich habe diesen Rechner http://www.subnet-calculator.com/cidr.php verwendet und versuche herauszufinden, wie zwei verschiedene Subnetze nebeneinander platziert werden können.

Zum Beispiel möchte ich ein / 27-Subnetz haben, das bei 1.0.0.1 beginnt, neben einem / 25, also denke ich, dass das / 25-Subnetz bei 1.0.0.32 beginnen würde, da dies eines außerhalb des / 27-Subnetzes ist. Wenn ich dies jedoch versuche, sagt der Rechner, dass der Bereich für / 25 1.0.0.1-1.0.0.127 wäre und nicht bei .32 beginnt.

Ist dies eine Taschenrechnerbeschränkung oder wie setzen Sie Subnetze nebeneinander?

EDIT : Ich denke meine Frage ist, welche Subnetze nebeneinander gehen können? Was bestimmt das?

Instipod
quelle
Sie können keine / 25 ab 1.0.0.32 haben, wenn Sie dies wünschen. Denken Sie daran, dass Subnetze keine willkürlichen Bereiche sind, sondern lediglich eine Möglichkeit, die Hostnummer von der Netzwerknummer zu unterscheiden.
BatchyX
Ich denke meine Frage ist, welche Subnetze nebeneinander stehen können. Gibt es ein Dokument oder eine Referenz, auf die wohin kann?
Instipod
2
Ich schlage vor, Sie lesen über Bitmasken, dann werden Sie verstehen, was eine Subnetzmaske ist.
BatchyX

Antworten:

7

Sie müssen die Subnetz- Startadresse und die Subnetzgröße unterscheiden . Die Zahl hinter dem Schrägstrich ist die Größe (in 32-x-Bits). Sie können also zwei / 27 Subnetze wie dieses haben

10.0.0.1/27  == 10.0.0.1  -> 10.0.0.30
10.0.0.33/27 == 10.0.0.33 -> 10.0.0.62

Ein / 27- und ein / 25-Subnetz auf die gleiche Weise würden jedoch bedeuten, dass die / 25 an einer späteren Adresse gestartet wird

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

da das / 25-Subnetz mehr Platz "benötigt". Sie können das / 25-Subnetz nicht an einer beliebigen Adresse starten, sondern nur an den richtigen Grenzen:

10.0.0.1/25   == 10.0.0.1   -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

aber beachte das

10.0.0.33/25   == 10.0.0.1   -> 10.0.0.126

weil 10.0.0.33/25ist nur eine andere Art zu sagen 10.0.0.1/25oder 10.0.0.0/25.

Sie können auch den Raum zwischen Ihnen / 27 und Ihrem / 25-Subnetz mit mehr / 27-Subnetzen "füllen":

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/27  == 10.0.0.65  -> 10.0.0.94
10.0.0.97/27  == 10.0.0.97  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254

oder mit einem anderen / 27 und einem / 26:

10.0.0.1/27   == 10.0.0.1   -> 10.0.0.30
10.0.0.33/27  == 10.0.0.33  -> 10.0.0.62
10.0.0.65/26  == 10.0.0.65  -> 10.0.0.126
10.0.0.129/25 == 10.0.0.129 -> 10.0.0.254
Stefan Seidel
quelle
1
Subnetze enthalten die Netzwerkadresse und die Broadcast-Adresse ... Sie haben keine unbenutzten IPs zwischen zusammenhängenden Subnetzen. Der Versuch zu erklären, warum einige Subnetze ohne binäre Mathematik zu einer kürzeren Maske kombiniert werden können, ist völlig irreführend.
cpt_fink
4

Präfixe / Subnetze verwenden binäre Logik. Subnetze werden durch die festen Bits und die für Adressen verwendbaren Bits bestimmt. Die Anzahl der festen Bits ist die Präfixlänge oder Subnetzmaske. Einige IPv4-Beispiele:

Prefix:           10.0.0.0/8
Prefix length:    8
Subnet mask:      255.0.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 00000000 00000000 00000000 = 255.0.0.0

Ein 1in den Subnetzmaskenbits zeigt an, dass das entsprechende Bit fest ist, und ein 0zeigt an, dass Sie dieses Bit verwenden können. Die Präfixlänge ist die Anzahl der gesetzten Bits 1, und die Subnetzmaske ist die Binärzahl, die als IPv4-Adresse notiert ist.

In diesem Beispiel können Sie also Folgendes verwenden:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 11111111 11111111 11111111 = 10.255.255.255

Ein weiteres Beispiel mit einer anderen Präfixlänge:

Prefix:           10.0.0.0/10
Prefix length:    10
Subnet mask:      255.192.0.0
Prefix bits:      00001010 00000000 00000000 00000000 = 10.0.0.0
Subnet mask bits: 11111111 11000000 00000000 00000000 = 255.192.0.0

In diesem Beispiel können Sie weniger Adressen verwenden:

First address in the prefix: 00001010 00000000 00000000 00000000 = 10.0.0.0
Last address in the prefix:  00001010 00111111 11111111 11111111 = 10.63.255.255

Wie Sie sehen, wird das Subnetz durch den Wert und die Anzahl der festen Bits bestimmt. Wenn Sie Ihr Beispiel verwenden, erhalten 1.0.0.32/25Sie:

Prefix:           1.0.0.32/25
Prefix length:    25
Subnet mask:      255.255.255.128
Prefix bits:      00000001 00000000 00000000 00100000 = 10.0.0.32
Subnet mask bits: 11111111 11111111 11111111 10000000 = 255.255.255.128

First address in the prefix: 00000001 00000000 00000000 00000000 = 1.0.0.0
Last address in the prefix:  00000001 00000000 00000000 01111111 = 1.0.0.127

Der Wert 32 liegt in der Mitte der flexiblen Bits. Wenn /25Sie sich Präfixe ansehen, erhalten Sie:

Prefix length:      25
Subnet mask bits:   11111111 11111111 11111111 10000000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/25
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/25
3rd /25 in 1.0.0.0: 00000001 00000000 00000001 00000000 = 1.0.1.0/25
4th /25 in 1.0.0.0: 00000001 00000000 00000001 10000000 = 1.0.1.128/25
5th /25 in 1.0.0.0: 00000001 00000000 00000010 00000000 = 1.0.2.0/25
Etc.

Wenn /27Sie sich Präfixe ansehen, erhalten Sie:

Prefix length:      27
Subnet mask bits:   11111111 11111111 11111111 11100000

1st /25 in 1.0.0.0: 00000001 00000000 00000000 00000000 = 1.0.0.0/27
2nd /25 in 1.0.0.0: 00000001 00000000 00000000 00100000 = 1.0.0.32/27
3rd /25 in 1.0.0.0: 00000001 00000000 00000000 01000000 = 1.0.0.64/27
4th /25 in 1.0.0.0: 00000001 00000000 00000000 01100000 = 1.0.0.96/27
5th /25 in 1.0.0.0: 00000001 00000000 00000000 10000000 = 1.0.0.128/27
Etc.

In einem IPv4-Subnetz wird die erste Adresse (alle flexiblen Bits 0) reserviert und als Netzwerkadresse bezeichnet. Die letzte Adresse (alle flexiblen Bits 1) ist die Subnetz-Broadcast-Adresse. Sie können diese nicht für Netzwerkschnittstellen auf Geräten verwenden.

Wenn Sie mehrere Subnetze nebeneinander platzieren möchten, müssen Sie sicherstellen, dass sie sich nicht überlappen. Wenn Sie nicht wie bei IPv4 über viel Adressraum verfügen, kann es sehr schwierig sein, alle Subnetze anzupassen, und es ist noch schwieriger, ihn beim Ändern des Adressierungsplans überschaubar zu halten. Das ist der Grund, warum es so schön ist, mit IPv6 zu arbeiten: viel Adressraum, und ein Subnetz ist normalerweise ein /64(es ist möglich, unterschiedliche Präfixlängen zu verwenden, aber das macht einige Dinge wie die automatische Konfiguration kaputt).

Wenn Sie an IPv6-Adressierungsplänen interessiert sind, lesen Sie das Dokument „Vorbereiten eines IPv6-Adressierungsplans“, das ich vor einigen Jahren für SURFnet (das niederländische nationale Forschungs- und Bildungsnetzwerk) geschrieben habe. Die Funktionsweise von Subnetzen in IPv6 ist genau die gleiche wie in IPv4, außer dass die Zahlen viel größer und hexadezimal geschrieben sind (was viel besser Bits entspricht als die für IPv4 verwendete Dezimalschreibweise!). Präfixlängen mit festen und flexiblen Bits funktionieren jedoch genauso. Ein kurzes Beispiel:

Prefix:           2001:0db8:0000:0000:0000:0000:0000:0000/64
Prefix length:    64
Subnet mask:      not really used anymore in IPv6, but it would have been:
                  ffff:ffff:ffff:ffff:0000:0000:0000:0000
Prefix bits:      0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Subnet mask bits: 1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000

First address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
Last address in the prefix:
                  0010 0000 0000 0001 0000 1101 1011 1000 = 2001:0db8
                  0000 0000 0000 0000 0000 0000 0000 0000 = 0000:0000
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff
                  1111 1111 1111 1111 1111 1111 1111 1111 = ffff:ffff

So from 2001:0db8:0000:0000:0000:0000:0000:0000
     to 2001:0db8:0000:0000:ffff:ffff:ffff:ffff

PS: Ich habe hier nicht absichtlich die empfohlene / kanonische Notation verwendet. Normalerweise komprimieren Sie die Nullen in der Adresse und schreiben 2001:0db8:0000:0000:0000:0000:0000:0000als 2001:db8::, 2001:0db8:0000:0000:0000:0000:0000:0001wird als geschrieben 2001:db8::1usw.

Sander Steffann
quelle
1
  • Für a / 24 ist das letzte Oktett (normalerweise reserviert) für das Netzwerk .0 und nur .0. 1 subnet

  • Für a / 25 kann es dann entweder .0 oder .128 sein. 2 subnets

  • Für a / 26 kann es entweder .0, .64, .128 oder .192 sein. 4 subnets

  • Für a / 27 kann es entweder .0, .32, .64, .96, .128, .160, .192 oder .224 sein. 8 subnets

  • für a / 28, .0, .16, .32, .48, .64, .80, .96, .112, .128, .144, .160, .176, .192, .208, .224, oder .240. 16 subnets

  • für a / 29, .0, .8, .16, .24, .32, .40, .48, .56, .64, .72, .80, .88, .96, .104, .112, .120, .128, .136, .144, .152, .160, .168, .176, .184, .192, .200, .208, .216, .224, .232, .240 oder. 248 32 subnets

  • Das Präfix / 30 wird normalerweise auf Punkt-zu-Punkt-Schnittstellen verwendet. 64 subnets

  • Das Präfix / 31 wird in freier Wildbahn nicht häufig verwendet, da es keine häufig adressierbaren Hosts enthält, da es nur zwei Netzwerknummern umfasst, das "Netzwerk" und das "Broadcast", ohne Platz für eine Host-IP. 128 subnets(alle geraden Zahlen zwischen 0 und 254)

  • Das Präfix / 32 wird verwendet, um eine Route für einen einzelnen Host anzugeben. Es ist die spezifischste Route und sollte, falls vorhanden, Vorrang vor allen anderen Routentabelleneinträgen haben, die nicht ebenfalls / 32s sind. A / 32 hat weder eine Netzwerk- noch eine Broadcast-Adresse. 256 subnets (0 und 255 funktionieren bei einigen Implementierungen möglicherweise nicht)

Nevin Williams
quelle
0

Ein einfacher Weg, es zu verstehen:

In IPv4:

Stellen Sie sich eine Zeile mit 256 * 256 * 256 * 256 (oder 2 ^ 32) möglichen IP-Adressen vor.

[] [] [] [] .................. [] [] []
       256*256*256*256 total IP adresses

Dies hat die Subnetzmaske 0.0.0.0 (oder 0000 0000 0000 0000 0000 0000 0000 0000 in Binärform).
Alle nicht maskierten Bits können verwendet werden, um eine IP-Adresse in diesem Netzwerk zu vergeben.

Die möglichen Adressen in diesem einzelnen Netz sind:

0000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK, hier nichts maskieren ...)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) bis
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Das gesamte Netzwerk beginnt bei IP 0.0.0.0 und reicht bis IP 255.255.255.255

Jedes Bit in einer Subnetzmaske teilt die Zeile in zwei gleiche Teile.

Das erste Bit in einer Subnetzmaske teilt dies in zwei gleiche Teile mit jeweils 128 * 256 * 256 * 256 (oder 2 ^ 31) IP-Adressen:

[] [] [] .......... [] [] []  |  [] [] ........... [] []
128*256*256*256 IP Adresses       128*256*256*256 IP Adr

Dies hat die Subnetzmaske 128.0.0.0 (oder 1000 0000 0000 0000 0000 0000 0000 0000 in Binärform).
Alle nicht maskierten Bits können verwendet werden, um eine IP-Adresse in diesem Netzwerk zu vergeben.

Sie können also 2 Subnetze haben, und für jedes Subnetz stehen 31 Bit IP-Adressen zur Verfügung.

Für das erste Subnetz (das, hinter dem hinter der Netzmaske '0' steht)

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) bis
0111 1111 1111 1111 1111 1111 1111 1111 (IP 127.255.255.255)

und für das 2. Subnetz (das, wo hinter der Netzmaske '1' steht)

1000 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

1000 0000 0000 0000 0000 0000 0000 0000 (IP 128.0.0.0) bis
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Das nächste zusätzliche Bit in der Subnetzmaske teilt beide Seiten in 2 gleiche Teile von jeweils 2 ^ 30 IP-Adressen

Und so weiter...

Wenn Sie also versuchen, beispielsweise ein Subnetz von / 3 zuzuweisen, bedeutet dies, dass Sie 3 Iterationen geteilt haben, was zu 2 ^ 3 = 8 Subnetzen führt. Jedes Subnetz kann nur eine der 8 Unterteilungen der gesamten Maschinenreihe sein. Sie können sich nicht überlappen. Jeder beginnt nach dem ersteren.

[] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... [] | [] ... []
32*256*256*256 or 2^30 IP Adresses each.

Dies hat die Subnetzmaske 0.0.0.0

Also für das erste Subnetz (das, hinter dem hinter der Netzmaske '000' steht)

1110 0000 0000 0000 0000 0000 0000 0000 (<- NETMASK)

0000 0000 0000 0000 0000 0000 0000 0000 (IP 0.0.0.0) bis
0001 1111 1111 1111 1111 1111 1111 1111 (IP 31.255.255.255)

und für das 2. Subnetz (das hinter der Netzmaske '001' steht)

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

0010 0000 0000 0000 0000 0000 0000 0000 (IP 32.0.0.0) bis
0011 1111 1111 1111 1111 1111 1111 1111 (IP 63.255.255.255)

...

und für das 7. Subnetz (das, wo hinter der Netzmaske '110' steht)

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1100 0000 0000 0000 0000 0000 0000 0000 (IP 192.0.0.0) bis
1101 1111 1111 1111 1111 1111 1111 1111 (IP 223.255.255.255)

und für das 8. Subnetz (das hinter der Netzmaske '111' steht)

1110 0000 0000 0000 0000 0000 0000 0000 (NETMASK)

1110 0000 0000 0000 0000 0000 0000 0000 (IP 224.0.0.0) bis
1111 1111 1111 1111 1111 1111 1111 1111 (IP 255.255.255.255)

Wenn Sie der Netzmaske weiterhin Bit hinzufügen, teilen Sie weiter: Ein Subnetz von / 32 hebt eine einzelne Maschine hervor.

Aber denken Sie daran, Sie können nicht wirklich nur Maschinen haben:

Damit die Dinge funktionieren, sind einige Bereiche des Subnetzes reserviert:

Für jedes Subnetz sind normalerweise das "0-Bit bei Wert 1" und "alle Bits bei Wert 1" für die Übertragung reserviert, sodass in einem Subnetz normalerweise nur nb_of_possible_adresses_in_the_subnet-2 IP-Adressen für tatsächliche Maschinenschnittstellen verfügbar sind. Und eines sollte besser die Schnittstelle eines Gateways sein, das eine andere Schnittstelle in anderen Netzen hat, sodass Sie es als Gateway verwenden können, um diese anderen Netze (und alles über die Gateways dieser anderen Netze) zu erreichen.

Olivier Dulac
quelle
schwer ordentlich darzustellen ... Und ich hoffe, die Verwirrung zwischen der "Zeile von 2 ^ 32 IP-Adressen" und der 32-Bit-Darstellung, die überall sonst verwendet wird, ist nicht verwirrender als zu helfen ...
Olivier Dulac