Hallo, ich würde für ein Projekt gerne Multicast - Pakete über Ethernet verschicken. Prinzipiell funktioniert es ja so: Die Addressen 225.x.x.x - 238.x.x.x sind ja für Multicast reserviert. Wenn ich ein Paket an diese Adresse schicken, soll es jeder Teilnehmer erhalten, der den Kanal abboniert hat (über das igmp Protokoll). Der Sender weiß nicht wer den Stream abboniert hat, der Router ist alleine dafür zuständig dass die Pakete nur an den Empfänger geleitet werden, der sie will. Ich habe das mal mit 2 unterschiedlichen einfachen 0815 Switches ausprobiert. Auf einem PC versende ich ein paar udp - Packete auf eine Broadcast - Adresse, mit einem anderen PC beobachte ich die einkommenden Pakete mit Wireshark. Die Multicast - Pakete werden anscheinend als Broadcasts erkannt, da sie auf jeden Port des Switches weitergeleitet werden, auch wenn sie der Empfänger nicht abboniert hat. Meine Frage also: habe ich etwas falsch gemacht oder versteht nicht jeder 0815 10 euro switch das igmp protokoll, damit er die multicast pakete richtig weiterleitet ? Laut Recherche gibt es schon switches, die das können, aber für mich wäre es gut zu wissen ob das wirklich jeder halbwegs neue switch normalerweise kann oder nicht.
> Prinzipiell funktioniert es ja so: Die Addressen 225.x.x.x - 238.x.x.x 224.x.x.x - 239.x.x.x > Meine Frage also: habe ich etwas falsch gemacht oder versteht nicht > jeder 0815 10 euro switch das igmp protokoll, damit er die multicast > pakete richtig weiterleitet ? Der 0815-Switch versteht nicht mal IP. > Laut Recherche gibt es schon switches, die das können, aber für mich > wäre es gut zu wissen ob das wirklich jeder halbwegs neue switch > normalerweise kann oder nicht. Wenn er "managed" ist, kann das schon sein. Sonst meines Wissens eher nicht.
Frage ist, ob sich jeder über Deine erzeugte Netzlast so richtig freut. Wahrscheinlich eher nicht. IP-Multicast siehe http://de.wikipedia.org/wiki/Multicast
> der Router ist alleine dafür zuständig dass die Pakete > nur an den Empfänger geleitet werden, das ist doch schon die Lösung, hast du denn über einen Router geschickt der das machen könnte?
[ Multicast, Switch ] Aaalso mal der Reihe nach: Ein 'Switch' arbeitet i.d.R. auf Layer 2, der hat also keine Ahnung von IP (Layer 3) und Co. Ergo kann ein 'Switch' auch kein IGMP/Multicast (das auf IP aufbaut). Erst die 'großen' (managed) Switches Kratzen an Layer 3. IGMP und Co. wird aber normalerweise von einem Router (Layer 3 und höher) übernommen. [ Multicast, Broadcast ] Nein, die Multicast-Pakete werden nicht als 'Broadcast' erkannt, sondern der Switch weiss einfach (noch) nicht, wo der Empfänger sitzt, deswegen schickt er die Pakete überall (ausgenommen den Eingangsport) raus. Broadcasts sind Pakete, die innerhalb eines Netzwerksegments an die dafür reservierten Adressen, die Broadcastadressen, gerichtet sind. Broadcasts richten sind also an die Teilnehmer eines Netzwerksegments und nicht an Abonennten einer Multicastgruppe. So viel zu den Grundlagen. Du hast im Wesentlichen zwei Möglichkeiten: Erstens einen Router(!) einsetzen, der IGMP beherrscht oder, und das ist möglicherweise viel einfacher bevor Du jetzt das ganze Netzwerk umgräbst, Du nimmst Broadcasts statt der Multicasts. Nachteil der Broadcasts ist, dass sie im Netzwerksegment bleiben. Das kann aber unerheblich (oder erwünscht) sein, falls es sich eh um ein abgeschlossenes Netzwerk handelt. Falls die Pakete 'raus' gehen sollen, wirst Du um einen IGMP-fähigen Router nicht (sinnvoll) rum kommen. HTH
>Der 0815-Switch versteht nicht mal IP. muss er ja nicht zwangsweise, multicasts haben eine eigene mac - addresse, die aus der ip berechnet werden. mit igmp wirds halt dann kompliziert... >> der Router ist alleine dafür zuständig dass die Pakete >> nur an den Empfänger geleitet werden, >das ist doch schon die Lösung, hast du denn über einen Router geschickt >der das machen könnte? ja, das wäre eh eine lösung. es ist aber so, dass ich mein system in verschiedene netzwerke einbinden möchte, und dazu nicht das netzwerk verändern will. umd die meisten netzwerkdosen sind an switches und nicht über router angeschlossen. >Frage ist, ob sich jeder über Deine erzeugte Netzlast so richtig freut. >Wahrscheinlich eher nicht. Naja, der Vorteil von Multicast gegenüber Broadcast wäre ja genau die geringere Netzwerklast ;-) >Nein, die Multicast-Pakete werden nicht als 'Broadcast' erkannt, sondern >der Switch weiss einfach (noch) nicht, wo der Empfänger sitzt, deswegen >schickt er die Pakete überall (ausgenommen den Eingangsport) raus. der switch weiß ja schon, an welchen port welche mac-adresse hängt, also könnte er das paket nicht an einen port weiterleiten, weil er weiß dass dahinter eine andere mac addresse ist. ich habe folgendes dazu in wikipedia gefunden (unter switches): "Multicast-Adressen werden von einfachen Geräten wie Broadcast-Adressen verarbeitet oder höher entwickelte Geräte, die Multicasts verarbeiten können, senden diese nur an die in der SAT registrierten Multicast-Adress-Empfänger." danke für die antworten, ich fürchte zusammenfassend kann man sagen dass ein "billiger" switch kein igmp versteht bzw. man sich nicht verlassen kann, dass er es tut und daher für multicast eher ungeeignet ist.
>>Der 0815-Switch versteht nicht mal IP. > > muss er ja nicht zwangsweise, multicasts haben eine eigene mac - > addresse, die aus der ip berechnet werden. mit igmp wirds halt dann > kompliziert... Ja, eben. Ohne igmp weiß der Switch aber nicht, wer alles interessiert an den Daten ist, also muß er sie im Prinzip wie Broadcasts behandeln und jedem angeschlossenen Teilnehmer schicken. Das ist ja auch genau das, was du beobachtet hast. > Naja, der Vorteil von Multicast gegenüber Broadcast wäre ja genau die > geringere Netzwerklast ;-) Nein, der Vorteil von Multicast gegenüber Broadcast ist nicht eine niedrigere Last im Subnetz, sondern daß es auch über Subnetz-Grenzen hinweg funktioniert.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.