Warum kann ich die erste oder letzte Adresse in einem Subnetz nicht verwenden?

37

Ich habe ein Netzwerk mit einem Bereich von 10.0.0.0/24. Dies bedeutet, dass ich 10.0.0.0 bis 10.0.0.255 habe, jedoch nicht 10.0.0.0 oder 10.0.0.255 verwenden kann, aber ich kann irgendetwas dazwischen verwenden.

Warum ist das? Die Maske 255.255.255.0 impliziert, dass die letzte Ziffer die Hostadresse ist. Warum kann ich also nicht 0 oder 255 verwenden?

TheBro21
quelle
7
Beachten Sie, dass dies nur IPv4 ist. IPv6 hat unterschiedliche Regeln für die erste und letzte Adresse in einem Subnetz.
Michael Hampton
1
Unter Linux können Sie problemlos die erste Adresse verwenden. Einige alte Systeme glauben, dass .0 eine Broadcast-Adresse ist und hindern Sie daran, sie zu verwenden, aber das ist falsch :)
Navin

Antworten:

70

In einem / 24-Netzwerk können Sie es nicht verwenden, 0da es die Identifikation des Netzwerks ist (Geräte verwenden es, um die verschiedenen Netzwerke zu erkennen, mit denen sie verbunden sind).

Öffnen Sie auf einem Windows-PC eine Eingabeaufforderung und geben Sie Folgendes ein netstat -r. Sie erhalten die vom PC verwendete Routing-Tabelle, jedes Netzwerk wird anhand der Netzwerkidentifikation (erste Adresse) aufgelistet.

Bildbeschreibung hier eingeben

Die letzte Adresse ist 255im Falle eines / 24-Netzwerks die Rundsendeadresse. Geräte, die mit dem Netzwerk verbunden sind, senden damit eine Broadcast-Nachricht, die für alle Geräte im Netzwerk bestimmt ist.

Im Allgemeinen ist die erste Adresse die Netzwerkidentifikation und die letzte die Rundsendung . Sie können nicht als reguläre Adressen verwendet werden.

jcbermu
quelle
9
Für / 31 gibt es jedoch eine besondere Ausnahme: Es wird implizit davon ausgegangen, dass es sich um Punkt-zu-Punkt-Verbindungen handelt, da sie nur zwei Adressen haben.
Simon Richter
10
Wenn Sie Ihre öffentliche IP-Adresse und Ihren Benutzernamen für dieses System veröffentlichen, erhalte ich die heebie-jeebies.
Mikeazo
8
@mikeazo Warum? Du hast anständige Passwörter und fail2ban, oder? Außerdem wird jede IPv4-Adresse im Internet angegriffen.
Michael Hampton
4
@MichaelHampton, denn jetzt kennt das Internet seinen Benutzernamen, seine IP-Adresse und weiß, dass er nicht (erfolgreich) SSH-Schlüssel, sondern Passwörter verwendet. Das verfeinert schon den Suchraum. Aber Sie haben Recht: Für einen Fachmann sollte dies kein Problem sein. Es ist jedoch keine gute Praxis, die Welt zu lehren.
Konerak
29
@mikeazo Es ist ein Screenshot, den ich googeln fand netstat -r. Es ist nicht mein System.
JCBERMU
8

Beachten Sie, dass Sie die erste und die letzte Adresse im Bereich nicht verwenden können, wenn damit Geräte in einer Broadcast-Domäne (z. B. ein physisches Netzwerk oder ein VLAN usw.) nummeriert werden. Wie die andere Antwort in der Tat anzeigt, werden in diesem Szenario die erste und die letzte als Netzwerk- bzw. Broadcast-Adresse verwendet. Zusätzlich wird in einigen Szenarien die erste Adresse auch als Broadcast interpretiert.

Allerdings gibt es andere Nutzungsszenarien , wo Sie können die erste und letzte Adresse verwenden. Wenn Sie beispielsweise ein Firewall-Administrator sind und von Ihrem Netzwerkadministrator den Bereich 10.0.0.0-10.0.0.255 erhalten , können Sie alle 256 Adressen als NAT-Adressen in Ihrer Firewall verwenden. Ich gebe zu, dass ich dies nicht sehr oft gesehen habe, und wenn es getan wird, kann es zu Verwirrung kommen - da die meisten Leute zunächst glauben, es sei nicht erlaubt - und diese Verwirrung kann durchaus ein Grund sein, davon abzuraten.

Wenn Sie keine Auswahl treffen, ist das 10.0.0.0-10.0.0.255 in diesem Szenario streng genommen kein / 24- Netzwerk , sondern ein Bereich oder ein Block von Adressen, aber ich glaube, dass es üblich ist, dies immer noch als zu bezeichnen "the 10.0.0.0/24 subnet" in einem solchen Szenario.

hertitu
quelle
7
"Ich gebe zu, dass ich dies nicht oft gesehen habe, und wenn es fertig ist, kann es zu Verwirrung kommen - da die meisten Leute als Erstes denken, dass es nicht erlaubt ist - und diese Verwirrung kann durchaus ein Grund sein, davon abzuraten." - Wenn ich mich richtig erinnere, sind einige dieser "verwirrten Leute" die Designer des Windows NT-Netzwerkstacks (zumindest der ursprüngliche bis Vista), es sei denn, Sie sind bereit, mit Windows-Benutzern umzugehen, die sich darüber beschweren, dass ihr Computer in jedem funktioniert netzwerk außer deinem und erkläre ihnen, dass das die schuld von Microsoft ist, nicht deine, du solltest einfach ...
Jörg W Mittag
9
Lassen Sie diese beiden Adressen unbenutzt.
Jörg W Mittag
1
@ JörgWMittag, warte, sagst du, dass Windows vor Version 7 angesichts des Netzwerks 10.0.0.0/22 ​​(dh 10.0.0.0-10.0.3.255) nicht in der Lage ist, 10.0.1.0 oder 10.0.2.255 zu verwenden? (Ich nehme an, es ist nicht mehr wichtig, da ältere Versionen nicht mehr unterstützt werden.)
ilkkachu
2
@ilkkachu: Ich bin mir nicht sicher, wie du auf diese Zahlen gekommen bist. Die Netzwerkadresse für 10.0.0.0/22 ​​lautet 10.0.0.0 und die Broadcast-Adresse 10.0.3.255. Wenn ich mich richtig erinnere, gibt es bestimmte Probleme bei der Verwendung (mindestens einer) dieser beiden Adressen in einem Netzwerk mit Windows-Computern mit dem alten TCP / IP-Stapel (vor Vista). Ich erinnere mich nicht genau, was diese Probleme waren, und ob diese Probleme nur dann auftreten, wenn Sie versuchen, dem Windows-PC eine dieser IP-Adressen zuzuweisen, oder ob es auch Kommunikationsprobleme zwischen einem Windows-PC und diesen IP-Adressen gibt. Ich erinnere mich auch nicht, ob es das Netzwerk ist ...
Jörg W Mittag
2
@ JörgWMittag ilkkachu Selbst heute haben mit variablen Teilnetzen mehrere Betriebssysteme (nicht nur Windows) und viele andere Programme Probleme mit Adressen, die mit 0 oder 255 enden. Auch wenn sie als interne Adresse in einem Bereich> 256 gültig sind . Dies ist ein Überbleibsel der Klasse-A / B / C-Adressierung und ein Programmierer, der davon ausgeht, dass sich ein Computer in einem Klasse-C-Subnetz befindet und daher 0 und 255 per Definition ungültig sind. Auch wenn Ihr Betriebssystem und Ihre Software es richtig machen, ist es dennoch möglich, dass Sie eine Verbindung zu einem anderen Computer herstellen müssen, bei dem Probleme auftreten. Vermeiden Sie am besten .0 und .255 insgesamt, auch wenn sie in Ihrem Setup gültig sind.
Tonny
4

Eine Lektüre des Internet-Standard-Subnetzverfahrens , Hin zu einem Internet-Standardschema für die Subnetzbildung und speziell die Verbreitung von Internet-Daten in Gegenwart von SUBNETS Abschnitt 7 beschreibt die Gründe für die von Ihnen getroffenen Entscheidungen.

Ihre Hypothese ist für CIDR-Subnetze mit zusammenhängenden Bitmasken korrekt.

Es ist einfacher, die Broadcast-Adresse als zu betrachten Bcast = Host | ~Mask. Dies ignoriert explizit die Auswahl der Bits im Subnetz. Entsprechend lautet die Netzwerkadresse Net = Bcast & ~Mask.

Streng genommen kann die Adresse mit allen Nullen (.0 für CIDR / 24) verwendet werden, kann jedoch einige Software verwirren, während alle Einsen (.255) als bekannte Broadcast-Adresse reserviert sind.

Einige frühe BSD Unix 4.2-Releases vor RFC 919 wurden mit der NetAdresse als Broadcast ausgeliefert. Dies sorgte in gemischten Umgebungen bis zur Version 4.3 für einige Verwirrung.

Pekka
quelle
1

Netzwerkadresse

Das Netzwerk für Local Area Network (LAN) oder Wide Area Network (WAN) erhält die Adresse entsprechend ihrer Kapazität. Die an das Netzwerk angeschlossenen Terminals verwenden diese Adresse, um miteinander zu kommunizieren. Das System reserviert standardmäßig eine Adresse für die Admin-Kommunikation. Normalerweise werden "255" -Adressen verwendet, um Nachrichten in Linux- oder Fedora-Systemen zu senden. Der Administrator verwendet diese Adresse, um alle Benutzer des Netzwerks zu übermitteln oder anzusprechen. Im Notfall kann der Administrator die Nachricht an seine Benutzer senden, um deren Aktionen zu speichern. Einige Betriebssysteme bieten die Möglichkeit, eine "0" -Adresse zuzuweisen.

Erfahren Sie mehr über Netzwerkgrundlagen: Netzwerkadressierung von Microsoft

Schauen Sie sich auch Was ist die Netzwerkadressübersetzung?

Bellatechie30
quelle