Forum: Mikrocontroller und Digitale Elektronik IP-Subnet-Broadcast -> welche MAC-Adresse


von Nyan Cat (Gast)


Lesenswert?

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?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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
4
11:49:31.748159 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 221: 213.240.137.9.631 > 213.240.137.15.631: UDP, length 179
5
11:49:31.748204 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 227: 192.168.0.1.631 > 192.168.0.255.631: UDP, length 185
6
11:49:33.188663 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 213.240.137.9 > 213.240.137.15: ICMP echo request, id 18542, seq 0, length 64
7
11:49:33.748333 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 234: 213.240.137.9.631 > 213.240.137.15.631: UDP, length 192
8
11:49:33.748383 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 240: 192.168.0.1.631 > 192.168.0.255.631: UDP, length 198
9
11:49:34.189175 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 213.240.137.9 > 213.240.137.15: ICMP echo request, id 18542, seq 1, length 64
10
11:49:36.476610 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 192.168.0.1 > 192.168.0.255: ICMP echo request, id 18798, seq 0, length 64
11
11:49:37.476872 00:1d:92:89:9f:a3 > ff:ff:ff:ff:ff:ff, ethertype IPv4 (0x0800), length 98: 192.168.0.1 > 192.168.0.255: ICMP echo request, id 18798, seq 1, length 64
12
^C
13
8 packets captured
14
22 packets received by filter
15
0 packets dropped by kernel

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".

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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

von Nyan Cat (Gast)


Lesenswert?

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?

von Nyan Cat (Gast)


Lesenswert?

> Meinst Du mit Broadcast einen IP- oder einen ETH-Broadcast?
Ich meinen einen IP-Broadcast für ein bestimmtes Subnet.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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?

von (prx) A. K. (prx)


Lesenswert?

Frank M. schrieb:

> Auch als IP-Broadcast-Adresse wäre sie falsch.

255.255.255.255 ist eine zulässige IP-Broadcast-Adresse.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Nyan Cat (Gast)


Lesenswert?

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.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

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.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

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.

von (prx) A. K. (prx)


Lesenswert?

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.

von Rolf Magnus (Gast)


Lesenswert?

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.

von Nyan Cat (Gast)


Lesenswert?

Hi Leute, danke für eure Hilfe.
Ich habe auch dies hier gefunden, das alle meine Fragen beantwortet: 
http://networking-forum.com/viewtopic.php?f=33&t=19569&view=previous#p121109

Trhread kann geschlossen werden. :)

von (prx) A. K. (prx)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.