Ist XYZ0 eine gültige IP-Adresse?

86

Sind IP-Adressen mit einer 0 im letzten Oktett gültig?

10.6.43.0

In meinem Fall habe ich die folgende Netzmaske

255.255.252.0

Was ist mit einer 0 für die anderen Oktette?

Alan H
quelle
12
andere haben geantwortet, aber wir führen / 23s in unseren DHCP-Bereichen aus, was bedeutet, dass die mittleren .255- und .0-Adressen der beiden / 24s Clients zugewiesen werden. Funktioniert gut. Manchmal denken "sachkundige" Benutzer ein wenig, sie hätten eine ungültige IP-Adresse gezogen, aber von einem Netzwerk-POV aus funktioniert es einwandfrei.
jj33

Antworten:

143

Dies hängt vom Subnetz der betreffenden IP-Adresse ab. Im Allgemeinen werden die erste und die letzte Adresse in einem Subnetz als Netzwerkkennung bzw. Rundsendeadresse verwendet. Alle anderen Adressen im Subnetz können Hosts in diesem Subnetz zugewiesen werden.

Beispielsweise können Hosts niemals IP-Adressen von Netzwerken mit Subnetzmasken von mindestens 24 Bit, die mit .0 oder .255 enden, zugewiesen werden. Solche "letzten" Adressen eines Subnetzes werden als "Broadcast" -Adressen betrachtet und alle Hosts im entsprechenden Subnetz antworten darauf.

Theoretisch kann es Situationen geben, in denen Sie eine Adresse mit der Endung .0 zuweisen können: Wenn Sie beispielsweise ein Subnetz wie 192.168.0.0/255.255.0.0 haben, können Sie einem Host die Adresse 192.168.1.0 zuweisen. Es könnte jedoch Verwirrung stiften, so dass dies keine alltägliche Praxis ist.

In deinem Beispiel

 10.6.43.0 with subnet 255.255.252.0 (22 bit subnet mask)

bedeutet Subnetz-ID 10.6.40.0, einen Host-Adressbereich von 10.6.40.1 bis 10.6.43.254 und eine Broadcast-Adresse 10.6.43.255. Theoretisch wäre also Ihr Beispiel 10.6.43.0 als gültige Hostadresse zulässig.

splattne
quelle
4
Ein Zusatz. In der Vergangenheit musste ich mich mit älterer Software auseinandersetzen, die Probleme mit der Verwendung einer .0-Adresse an Stellen hatte, an denen dies völlig legal war.
Zoredache
Und keine Antwort auf diese Frage wäre vollständig ohne einen Verweis auf die CIDR-RFCs: RFC1518 und RFC1519, die all dies definieren.
pjz
17
RFC 1519 ist seit langem veraltet. Die aktuelle Version ist RFC 4632.
bortzmeyer
1
Wurde gerade von einer Amazon EC2-Instanz mit einem Punkt Null versehen. Sie sind sicher, die IPs zu maximieren, die sie haben.
Matt
@bortzmeyer, RFC 4632 ist einfach ein BEST CURRENT PRACTICE, während RFC 1519 ein RFC-Standard ist.
Ron Maupin
13

Die Antwort auf Ihre Frage hängt von der Netzmaske ab. Im Allgemeinen ist die Aussage "IP-Adressen, die mit .0 oder .255 enden, ungültig" falsch. take 10.0.1.0/23 - es ist eine gültige IP-Adresse.

auch 10.6.43.0/255.255.252.0 alias 10.6.43.0/22 ​​ist gültig.

Das war die Theorie. Die meisten vernünftigen Netzwerkgeräte (einschließlich Linux-Server, Windows-Boxen, Cisco / HP / usw.) funktionieren mit solchen Adressen einwandfrei, aber ich habe gesehen, dass dlink und andere Low-End-Netzwerkgeräte (Router, Zugangspunkte) solche Adressen nicht akzeptieren.

pQd
quelle
8

Ich möchte für die anderen Oktette etwas über 0 hinzufügen:

Dies ist einfach: Es ist überhaupt kein Problem, wie die recht häufige private Netzwerkadresse 192.168.0.1zeigt.

Ein noch offensichtlicheres Beispiel wäre natürlich 127.0.0.1.

Joachim Sauer
quelle
2
-1 für offensichtlich ...
Jon Rhoades
6
+1 für den Hinweis auf das Offensichtliche
nur jemand
Die Frage fragt nicht nach Nullen in den anderen Oktetten.
Slang
2
@slang: Außer es fragt wörtlich nach genau dem im letzten Satz.
Joachim Sauer
3

Ich habe Probleme mit Remotenetzwerken, die IP-Adressen aus meinem Netzwerk verweigerten, wenn sie mit 0 (oder 255) endeten und aus dem Bereich der Klasse C stammten, da alles, was mit 0 endete, ein ungültiges Klasse-C-Netzwerk wäre.

Das war vor ein paar Jahren; Ich weiß nicht, ob noch jemand solche Adressen blockiert oder nicht.

Josh Kelley
quelle
Das hört sich einfach so an, als wäre deine Firewall / Software ein bisschen blöd;)
nixgeek
Jede IP-Adresse in meinem Netzwerk mit Ausnahme von .0 oder .255 konnte auf jeden Standort zugreifen, IP-Adressen mit den Endungen .0 und .255 konnten auf 95% der Standorte zugreifen, aber es gab zwei oder drei völlig unterschiedliche Standorte, auf die sie nicht zugreifen konnten. Wenn es meine Firewall / Software wäre, könnte ich nicht herausfinden, wie.
Josh Kelley
1
Diese müssen Firewalls verwenden, die von denselben Personen konfiguriert wurden, die alle ICMP blockieren und am Ende PMTUD beschädigen, oder alle "ungültigen" TCP-Flags blockieren und am Ende ECN beschädigen.
CesarB
Microsoft-Server machen das angeblich auch heute noch. Kein Windows Update für Sie. Microsoft ist jedoch seit Ewigkeiten dafür bekannt, die Regeln zu brechen.
Zdenek
0

Nur etwas, das ich wahrscheinlich bemerkenswert fand:

Wenn Sie das APF-Skript von R-fx networks für iptables ausführen, wird der gesamte Datenverkehr auf 0.0.0.255 reduziert

Wir hatten einen BT-Kunden mit einer Adresse, die auf .255 mit dem Präfix / 21 endete. Technisch gesehen eine gültige IP-Adresse, aber die Leute von R-fx networks glauben, dass es Grund gibt, Pakete für diese Adressen zu verwerfen.

Squeeb
quelle
Sie entscheiden sich aus Sicherheitsgründen für das Verwerfen von Paketen auf 0.0.0.255. 1) DOS-Angriffe können auftreten, indem die Leistung eines Broadcast-Pakets genutzt wird und 2) das Netzwerk vollständig privatisiert wird, sodass keine Hosts Broadcasts senden können. siehe en.wikipedia.org/wiki/Broadcast_traffic#Security
zamnuts