Hallo,
Mache ich einen Broadcast ins lokale Netz, sende ich ja an
255.255.255.255 und verwende die MAC-Adresse 0xffffffffffff. Welche
MAC-Adresse muß ich einsetzen, wenn ich einen Subnetz-Broadcast
abschicke, z.B. an 192.168.0.255. Die des Routers/Gateways?
Es gibt nur eine Broadcast-MAC-Adresse, und die erreicht die komplette
broadcast domain auf Layer 2. Ob das nun ein IP-Netz, ein IP-Subnetz,
ein Novell Network oder weißdergeier ist, interessiert diese Broadcast
nicht. Es ist Layer 2, nicht Layer 3.
1
erwin# tcpdump -e -n -p ether broadcast
2
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
3
listening on re0, link-type EN10MB (Ethernet), capture size 96 bytes
Du kannst in diesem Dump Broadcasts für zwei verschiedene IP-Netze
sehen. Eins der Netze (192.168.0/24) hat dabei eine Standard-
Netzmaske (klassisches Class C), das andere (213.240.137.8/29)
hat eine verkleinerte Maske, wäre also in deinem Sinne ein
"Subnetz".
Nyan Cat schrieb:> Mache ich einen Broadcast ins lokale Netz, sende ich ja an> 255.255.255.255 [...]
Meinst Du mit Broadcast einen IP- oder einen ETH-Broadcast?
255.255.255.255 (32 Bit) ist auf jeden Fall eine IP-Adresse, aber
bestimmt keine MAC-Adresse (seit wann haben MACs 32 Bit?). Auch als
IP-Broadcast-Adresse wäre sie falsch.
> und verwende die MAC-Adresse 0xffffffffffff. Welche> MAC-Adresse muß ich einsetzen, wenn ich einen Subnetz-Broadcast> abschicke, z.B. an 192.168.0.255. Die des Routers/Gateways?
Du hast grobe Verständnisprobleme. Lies vielleicht mal
http://de.wikipedia.org/wiki/Broadcast
Jörg Wunsch schrieb:> Es gibt nur eine Broadcast-MAC-Adresse, und die erreicht die komplette> broadcast domain auf Layer 2. Ob das nun ein IP-Netz, ein IP-Subnetz,> ein Novell Network oder weißdergeier ist, interessiert diese Broadcast> nicht. Es ist Layer 2, nicht Layer 3.
Yepp, soweit klar, aber nehmen wir an, mein Netz ist 192.168.1.x und ich
möchte einen Broadcast ist Netz 192.168.0.x senden. Sollte ich die
Ethernet-Broadcast Adresse (0xffffffffffff) einsetzen, bleibe ich doch
in meinem lokalen Netz, weil der Router Broadcasts es nicht
weiterleitet, also müsste ich doch die MAC-Adresse des Routers
einsetzen, damit der das Paket weiterleitet, bis es letztlich im
Zielnetz angekommen ist, dessen Router daraus einen "echten" Broadcast
für dieses Netz, mit der MAC-Adresse 0xffffffffffff generiert. Oder bin
ich auf dem Holzweg?
Nyan Cat schrieb:> Yepp, soweit klar, aber nehmen wir an, mein Netz ist 192.168.1.x und ich> möchte einen Broadcast ist Netz 192.168.0.x senden.
Dann hast Du Pech gehabt. Broadcasts werden nicht geroutet, sonst könnte
man ja das ganze Internet damit überschwemmen.
> Sollte ich die> Ethernet-Broadcast Adresse (0xffffffffffff) einsetzen, bleibe ich doch> in meinem lokalen Netz, weil der Router Broadcasts es nicht> weiterleitet, also müsste ich doch die MAC-Adresse des Routers> einsetzen, damit der das Paket weiterleitet,
Das ist ein Trugschluss, der Router wird es nicht tun. Und wie willst Du
so je eine Antwort auf Deinen Broadcast bekommen?
A. K. schrieb:> Frank M. schrieb:>> Auch als IP-Broadcast-Adresse wäre sie falsch.>> 255.255.255.255 ist eine zulässige IP-Broadcast-Adresse.
Das habe ich nie bestritten :-)
Sie passt aber weder zu seinem 192.168.0er Netz, noch lässt sich diese
Adresse routen, siehe
http://www.comptechdoc.org/independent/networking/guide/netbroadcasting.html
Zitat:
"The IP limited broadcast address is 255.255.255.255. This broadcast
is not forwarded by a router."
Aber oben genannter Link ist ganz interessant: der Artikel geht auch auf
das Routen von Broadcasts ein... wenn es der Router denn unterstützt.
Frank M. schrieb:> Sie passt aber weder zu seinem 192.168.0er Netz, noch lässt sich diese> Adresse routen, siehe
Genauer gesagt, sie passt eben deshalb zu jedem Netz, nämlich genau dem
lokalen Netz in dem die Karte steckt. Nebeneffekte gibts nur dann, wenn
auf diesem Netz mehrere verschiedene IP-Subnetze parallel laufen.
Broadcast-Routing ist sowieso Teufelszeug.
Frank M. schrieb:> Nyan Cat schrieb:>> Yepp, soweit klar, aber nehmen wir an, mein Netz ist 192.168.1.x und ich>> möchte einen Broadcast ist Netz 192.168.0.x senden.>> Dann hast Du Pech gehabt. Broadcasts werden nicht geroutet, sonst könnte> man ja das ganze Internet damit überschwemmen.>
Ja, eben deshalb werde mit einem "echten Broadcast" nicht in ein anderes
Netz kommen, d.h. es geht wohl nur, indem mein Subnet-IP-Broadcast die
MAC-Adresse des Routers/Gateways enthält.
>> Sollte ich die>> Ethernet-Broadcast Adresse (0xffffffffffff) einsetzen, bleibe ich doch>> in meinem lokalen Netz, weil der Router Broadcasts es nicht>> weiterleitet, also müsste ich doch die MAC-Adresse des Routers>> einsetzen, damit der das Paket weiterleitet,> Das ist ein Trugschluss, der Router wird es nicht tun.
Warum sollte er nicht? Gibt es denn keine Möglichkeit von einem Subnet
einen Broadcast an alle Teilnehmer eines anderen Subnets zu schicken?
> Und wie willst Du> so je eine Antwort auf Deinen Broadcast bekommen?
Antworten auf Broadcasts sind für das Funktionieren ja nicht zwingend
notwendig. Wichtig ist erstmal nur die Richtung von einem Sender zu
einer Menge von Empfänfern.
Nyan Cat schrieb:> Ja, eben deshalb werde mit einem "echten Broadcast" nicht in ein anderes> Netz kommen, d.h. es geht wohl nur, indem mein Subnet-IP-Broadcast die> MAC-Adresse des Routers/Gateways enthält.
Router senden IP-Pakete sowieso mit ihrer eigenen MAC-Adresse weiter,
nämlich mit der MAC-Adresse derjenigen NIC, welche ihr Bein im Zielnetz
hat.
Nyan Cat schrieb:> Gibt es denn keine Möglichkeit von einem Subnet> einen Broadcast an alle Teilnehmer eines anderen Subnets zu schicken?
Ja, die gibt es nicht.
Nyan Cat schrieb:> Warum sollte er nicht? Gibt es denn keine Möglichkeit von einem Subnet> einen Broadcast an alle Teilnehmer eines anderen Subnets zu schicken?
Theroetisch geht das, aber die Netzwerker sind von solchen Ideen
regelmässig wenig begeistert, weil dann jeder Esel das komplette
Netzwerk mit seinem Müll fluten kann. Folglich sollte man davon
ausgehen, dass es nicht geht.
Nyan Cat schrieb:>> Dann hast Du Pech gehabt. Broadcasts werden nicht geroutet, sonst könnte>> man ja das ganze Internet damit überschwemmen.>>> Ja, eben deshalb werde mit einem "echten Broadcast" nicht in ein anderes> Netz kommen, d.h. es geht wohl nur, indem mein Subnet-IP-Broadcast die> MAC-Adresse des Routers/Gateways enthält.
Warum sollte das einen Unterschied zur Broadcast-MAC-Adresse machen?
Beim Router kommt es so oder so an, weiterrouten wird er es aber in
beiden Fällen nicht.
>> Das ist ein Trugschluss, der Router wird es nicht tun.> Warum sollte er nicht? Gibt es denn keine Möglichkeit von einem Subnet> einen Broadcast an alle Teilnehmer eines anderen Subnets zu schicken?
Nein. Deshalb gibt es ja Multicasting.
Rolf Magnus schrieb:> Beim Router kommt es so oder so an, weiterrouten wird er es aber in> beiden Fällen nicht.
Cisco Router können directed broadcasts routen, das ist aber von Haus
aus abgeschaltet.