255.255.255.255 vs 192.168.1.255

18

Wir versuchen, einige Anwendungen zu debuggen, die Broadcasts ausführen.

Was ist der Unterschied zwischen der Broadcast-Adresse 255.255.255.255 und wie zB von ifconfig gemeldet, Bcast: 192.168.1.255

nos
quelle
Diese Frage und Antworten erklären.
Ron Maupin

Antworten:

37

Eine Broadcast - Adresse zu einem bestimmten Netz immer relativ ist, gibt es keine Sendung per se ; Wenn Sie ein Netzwerk haben, können Sie dessen Broadcast-Adresse berechnen, indem Sie alle Host-Bits durch 1s ersetzen. Einfach ausgedrückt, die Broadcast-Adresse ist die Adresse mit der höchsten Nummer, die Sie im Netzwerk haben können, während die Netzwerkadresse die niedrigste ist (wobei alle Host-Bits auf 0 gesetzt sind). Aus diesem Grund können Sie keine dieser Adressen als tatsächliche Hostadressen verwenden. Sie sind für diese Verwendung reserviert.

Wenn Ihr Netzwerk 192.168.1.0/24 ist, lautet Ihre Netzwerkadresse 192.168.1.0 und Ihre Broadcast-Adresse 192.168.1.255.

Wenn Ihr Netzwerk 192.168.0.0/16 ist, lautet Ihre Netzwerkadresse 192.168.0.0 und Ihre Broadcast-Adresse 192.168.255.255.

Und so weiter...

255.255.255.255 ist eine spezielle Broadcast-Adresse, die "dieses Netzwerk" bedeutet: Sie können ein Broadcast-Paket an das Netzwerk senden, mit dem Sie verbunden sind, ohne sich um die Adresse zu kümmern. in diesem Fall ist es ähnlich zu 127.0.0.1, einer virtuellen Adresse, die "lokaler Host" bedeutet.

Weitere Informationen hier: http://en.wikipedia.org/wiki/Broadcast_address

Massimo
quelle
Wird 127.0.0.1 als "virtuelle Adresse" betrachtet? Ich verstehe, dass es sich um eine reale Adresse handelt und der RFC besagt, dass sie auf die virtuelle Loopback-Schnittstelle verweisen soll. Ich habe jedoch Fälle gesehen, in denen ein Gerät meinen DNS-Server nach 127.0.0.1 abfragt.
Belmin Fernandez
1
Vielleicht war meine Verwendung des Wortes "virtuell" etwas zu einfach, aber das ist in der Tat eine reservierte Adresse, die keiner physischen Schnittstelle zuzuordnen ist und niemals außerhalb eines Hosts gesehen werden sollte. Wenn Ihr DNS-Server gefragt wird, wer 127.0.0.1 ist, sollte er so schnell wie möglich zum nächsten IP-Klassenzimmer ausgeführt werden :-p
Massimo
"Damit können Sie ein Broadcast-Paket an das Netzwerk senden, mit dem Sie verbunden sind" ... was ist, wenn Sie mit mehreren Netzwerken verbunden sind? Werden Broadcast-Pakete an alle gesendet?
Nathan Osman
11

Hinzufügen zu dem, was Massimo in seiner Antwort angegeben hat:

255.255.255.255 wird als Broadcast-Adresse für die physikalische Schicht angesehen, während 192.168.1.255 als Broadcast-Adresse für die Netzwerkschicht angesehen wird. ARP würde ein Broadcast auf physikalischer Ebene erzeugen, während NetBIOS ein Broadcast auf Netzwerkebene erzeugen würde.

Joeqwerty
quelle
11

Im Prinzip ist 255.255.255.255 die "globale" Broadcast-Adresse, dh, der IP-Stack soll das Paket an alle Netzwerkschnittstellen senden, und Router, die für die Weiterleitung von Broadcasts konfiguriert sind, sollen sie weiterleiten.

In der Praxis gibt es fast keinen Router, der Broadcasts weiterleitet, und viele Stapel senden einfach eine Kopie des Pakets an die Schnittstelle, auf die die Standardroute verweist.

Die Subnetz-Broadcast-Adresse wird verwendet, um eine bestimmte Schnittstelle auszuwählen. In beiden Fällen sollten diese auf die Broadcast-Adresse der Netzwerkschicht abgebildet werden (dies wäre FF: FF: FF: FF: FF: FF: FF für Ethernet).

Im Allgemeinen ist die Verwendung von 255.255.255.255 eine schlechte Idee, da es mehrere Setups gibt, bei denen die Schnittstelle mit der Standardroute genau die falsche Wahl ist. Die explizite Auswahl einer Schnittstelle ist besser, muss aber sorgfältig erfolgen.

Mein anderer Vorschlag wäre, Multicast zu verwenden, wenn dies für Ihre Anwendung sinnvoll ist. Es gelten immer noch die gleichen Einschränkungen wie für den Broadcast-Verkehr, aber dies ermöglicht es nicht interessierten Hosts, Ihre Pakete schnell zu identifizieren, und es ermöglicht Netzwerkmanagern, spezifische Weiterleitungsregeln für Ihr Protokoll einzurichten.

Simon Richter
quelle
1
Wenn ich nach 255.255.255.255 suche, ist eines der ersten Ergebnisse RFC 919 . In diesem RFC fand ich den folgenden Satz: "Die Adresse 255.255.255.255 bezeichnet einen Broadcast in einem lokalen Hardwarenetzwerk, der nicht weitergeleitet werden darf. " sehr wahrscheinlich.
Kasperd