UDP Multicast - Verständnisproblem

#0
14.12.2012, 11:12
...neu hier

Beiträge: 3
#1 Hi,

Ich habe derzeit ein Verständnisproblem bzgl IGMP und Multicast, welches auch mit googlen nicht beseitigt werden konnte. Hintergrund ist das Ansteuern einer PTZ IP Camera und das Empfangen von Videostreams im MPEG4 Format. Die Kamera hat einen eingebauten Server, der parallel 16 Videostreams ausliefern kann. Soweit kein Problem. Da wir aber nicht wissen, wie viele Clients am Ende einen Videostream anfordern werden, wollen wir die Sache auch mittels UDP Multicast realisieren. Die Kamera unterstützt auch einen UDP Multicast Mode.

Ich bin dabei bisher von Folgendem ausgegangen: Die Kamera bekommt eine IP aus dem Class D Bereich von 224.0.0.1 bis 239.255.255.254. Auch der Clientrechner muss im selben Subnetz liegen.
Die Kamera sendet permanent UDP Pakete (Videostream) an die Multicast Gruppe. Die Switche im Netzwerk wissen, welcher Clientrechner zu welcher Multicast Gruppe gehört und leiten die Pakete automatisch an den entsprechenden Port oder mehrere Ports weiter.

In Realität sieht die Sache aber etwas anders aus. Der Netzwerkverkehr wurde mit Wireshark mitgeloggt: Die Kamera hat neben ihrer Standardadresse aus dem 192.168er Bereich, über die TCP Videostreams abrufbar sind, sich selber auch eine Multicastadresse zugewiesen. Wenn die private IP z.B. 192.168.25.30 lautet, so lautet die Multicast Adresse 239.255.25.30. In diesem Zustand sendet die Kamera noch nicht über UDP.
Mit der Kamera gibt es auch ein ActiveX Plugin für den IE. Einmal gestartet, kann man über diverse Einstellungen auch das Protokoll festlegen. Nimmt man TCP, wird eine Verbindung aufgebaut und ein Livebild empfangen. Stellt man jetzt auf UDP Multicast um und startet das Livebild, so sendet der Clientrechner diverse UDP Pakete an die Kamera gefolgt von einem IGMP Membership Paket. Danach kommen nur noch UDP Pakete von der Kamera mit den Videodaten. Beende ich den ActiveX Viewer im IE, so läuft der UDP Verkehr noch ca. 10 s nach und die Kamera stoppt diesen dann auch.

Was ich nicht verstehe:
1.
Ich dachte bei Multicast wird ständig von einer Quelle etwas gesendet und nicht erst auf Anforderung. Und alle, die sich an der Gruppe anmelden, bekommen diese Daten vom Router/Switch weitergeleitet. Warum muss ein Client den Multicast Stream erst starten?

2.
Der Netzwerkadapter meines Clientrechners hat eine 192.168er Adresse ohne alternative Konfiguration. Wieso kann ich Multicast Pakete, die an eine 239er Adresse gerichtet sind, empfangen und die Daten zur Anzeige bringen? Ich bin doch in einem anderen Subnetz. Wird durch den IE und den ActiveX Viewer eine fiktive 239er IP für meinen Rechner generiert und am Switch angemeldet?

Gruß

Jörg
Seitenanfang Seitenende
14.12.2012, 12:36
Member
Avatar Xeper

Beiträge: 5289
#2 Moin

Zu 1. scheinst du Multicast mit Broadcast zu verwechseln, beim Multicast findet die Übertragung an ausgewählte Clients statt.
Zu 2. Das hat damit gar nichts zu tuen, die Multicast Adressen stehen für sich und werden anhand der MAC Adresse des Clients ausgewählt, laut Standard werden diese Pakete dann vom nächsten gateway verarbeitet.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
14.12.2012, 12:55
...neu hier

Themenstarter

Beiträge: 3
#3 Moin,

zu 1: Also ich verwechsel da bestimmt esr mal nichts. Kamera-Streams werden doch nicht mittels Broadcast versendet, da Broadcast nicht geroutet wird. Habe ich außerdem alles mit WireShark gecheckt. Außerdem zeigt der IP Cam Webserver selber "Multicast" als alternatives Protokoll (statt TCP Client/Server Verbindung) an und nicht Broadcast.

zu 2: Was bedeutet, die "Multicast Adressen stehen für sich"? Ich muss dem entsprechenden Switch/Router erst mal anzeigen, dass ich jetzt zu dieser oder jener Multicast Gruppe dazugehöre, damit er IP Pakete an diese Gruppe auch an meinen Port weiterleitet. Er leitet doch Multicast nicht automatisch an alle Ports weiter!

Gruß

Jörg
Seitenanfang Seitenende
14.12.2012, 13:31
Member
Avatar Xeper

Beiträge: 5289
#4

Zitat

Also ich verwechsel da bestimmt esr mal nichts. Kamera-Streams werden doch nicht mittels Broadcast versendet, da Broadcast nicht geroutet wird
Stimmt jetzt so gesehen mal nicht, es gibt unterschiedliche Broadcasting Methoden, aber egal.
Du warst halt derjenige der sich über die bestehende Implementation gewundert hat,
diese Implementation hält sich nun mal an den Standard und da gibt es nichts zu rütteln.
Ich sagte auch nicht das deine Cam Broadcast nutzt sondern das du anscheinend Broadcast Funktionalität von Multicast erwartest (laut deiner eigenen Aussage).

Zitat

Ich muss dem entsprechenden Switch/Router erst mal anzeigen, dass ich jetzt zu dieser oder jener Multicast Gruppe dazugehöre, damit er IP Pakete an diese Gruppe auch an meinen Port weiterleitet. Er leitet doch Multicast nicht automatisch an alle Ports weiter!
Wir haben hier nie von Ports gesprochen, warum würfelst du alles durcheinander?
Du scheinst dich wohl eher in Routing/Netzwerke weiterbilden zu wollen, dass hat jetzt wohl nichts mehr mit deiner Cam zu tuen.
Dann schlage ich vor das du erstmal den dazugehörigen Wikipedia Artikel ließt, weil da nämlich das wichtigste bereits drinsteht:
http://de.wikipedia.org/wiki/Multicast

Du könntest auch die dazugehörigen RFCs lesen: http://www.ietf.org/rfc/rfc1075.txt
Damit sollten dann auch noch die letzten deiner Fragen beantwortet sein.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Seitenanfang Seitenende
17.12.2012, 10:11
...neu hier

Themenstarter

Beiträge: 3
#5

Zitat

Xeper postete
Du warst halt derjenige der sich über die bestehende Implementation gewundert hat,
diese Implementation hält sich nun mal an den Standard und da gibt es nichts zu rütteln.
...
Wir haben hier nie von Ports gesprochen, warum würfelst du alles durcheinander?
Du scheinst dich wohl eher in Routing/Netzwerke weiterbilden zu wollen, dass hat jetzt wohl nichts mehr mit deiner Cam zu tun.
Dann schlage ich vor das du erstmal den dazugehörigen Wikipedia Artikel ließt, weil da nämlich das wichtigste bereits drinsteht: http://de.wikipedia.org/wiki/Multicast

Du könntest auch die dazugehörigen RFCs lesen: http://www.ietf.org/rfc/rfc1075.txt
Damit sollten dann auch noch die letzten deiner Fragen beantwortet sein.
Hallo Xeper,
Dank für Deine Rückmeldung. Nimm's mir nicht übel, aber Du scheinst nicht der Richtige für mich zu sein. Hier nur auf Wikipedia und RFCs zu verweisen, hilft mir nicht weiter. Glaube mir, das habe ich schon gelesen. Ich habe aber halt nicht Informatik studiert und deshalb brauche ich jemanden, der mir die Zusammenhänge mal kurz mit eigenen Worten beschreibt.
Und ja, natürlich mache ich hier Weiterbildung auch in Sachen Routing und Netzwerk. Was glaubst Du, ist der Sinn eines solchen Forums wenn nicht Weiterbildung? Netzwerk / Protokolle und IP Cam gehört da doch wohl auch zusammen. Nichts für ungut Xeper.

Aber jetzt noch mal zu meinen Fragen, die ich immer noch nicht beantwortet bekommen habe:
Muss ein Multicast Stream (z.B. von einer IP Cam, die dies unterstützt) immer erst durch einen Client angefordert werden oder wird durch die Cam permanent gesendet. In der Camera wird ja die Multicastgruppe bereits vorkonfiguriert. Ein Switch im LAN würde aber Multicastpakete nur weiterleiten, wenn er von einem Client (an einem seiner Hardwareports) eine Anmeldung zu dieser Multicastgruppe empfangen hat. Das hieße aber für mich, dass der Client zum Start ein IGMP Paket an die Kamera schickt, wodurch der Switch jetzt weiß, das dieser Client an diesem (Switch-) Hardwareport der Multicastgruppe beigetreten ist. Ist dies so korrekt?
Das Zweite, was ich bei Wikipedia nicht so ganz raffe, ist die Abbildung einer Multicast Adresse (224.0.0.1 - 239.255.255.254) auf die MAC Adresse. Wazu ist dies gut? Bedeutet dies, dass ich selber keinerlei IP Konfiguration an meiner Netzwerkkarte vormehmen muss, damit es funktioniert?

Gruß

Jörg
Seitenanfang Seitenende
17.12.2012, 12:10
Member
Avatar Xeper

Beiträge: 5289
#6

Zitat

Und ja, natürlich mache ich hier Weiterbildung auch in Sachen Routing und Netzwerk. Was glaubst Du, ist der Sinn eines solchen Forums wenn nicht Weiterbildung?
Diskussion und Kommunikation untereinander,
allerdings muss man immer ein bisschen autodidaktisch veranlagt sein - es gibt auch Leute die einfach nicht geeignet sind, nichts für ungut.

Edit:

Zitat

Hier nur auf Wikipedia und RFCs zu verweisen, hilft mir nicht weiter.
Das war eh nicht ganz das richtige RFC.. ;)
Aber das richtige dürfte hier sein: http://www.ietf.org/rfc/rfc1112.txt

Zitat

Muss ein Multicast Stream (z.B. von einer IP Cam, die dies unterstützt) immer erst durch einen Client angefordert werden oder wird durch die Cam permanent gesendet.
Laut Definition muss der Client Mitglied der Multicast Gruppe sein, er muss also beitreten - die Cam kann nicht wissen ob die Host existiert oder nicht.
(Siehe RFC 1112 - 7.1 Extensions to the IP Service Interface)

Zitat

Das hieße aber für mich, dass der Client zum Start ein IGMP Paket an die Kamera schickt, wodurch der Switch jetzt weiß, das dieser Client an diesem (Switch-) Hardwareport der Multicastgruppe beigetreten ist. Ist dies so korrekt?
Nein der Switch hat nichts mit der notwendigen Anmeldung zu tuen, er verarbeitet lediglich die Multicast Pakete - die nach der Anmeldung an die Gruppe gesendet werden.

Zitat

Das Zweite, was ich bei Wikipedia nicht so ganz raffe, ist die Abbildung einer Multicast Adresse (224.0.0.1 - 239.255.255.254) auf die MAC Adresse. Wazu ist dies gut? Bedeutet dies, dass ich selber keinerlei IP Konfiguration an meiner Netzwerkkarte vormehmen muss, damit es funktioniert?
Obiges RFC - 4. HOST GROUP ADDRESSES
Was davon verstehst du jetzt nicht?

Edit 2:

Zitat

Bedeutet dies, dass ich selber keinerlei IP Konfiguration an meiner Netzwerkkarte vormehmen muss, damit es funktioniert?
Das würde ich so jetzt nicht sehen, die Daten werden schon über UDP transmittiert, ohne IP Konfiguration kann das nicht funktionieren -
lediglich die Zuweisung/Assoziation des Empfängers geschieht anhand seiner MAC.
__________
E-Mail: therion at ninth-art dot de
IRC: megatherion @ Freenode
Dieser Beitrag wurde am 17.12.2012 um 13:32 Uhr von Xeper editiert.
Seitenanfang Seitenende
Um auf dieses Thema zu ANTWORTEN
bitte erst » hier kostenlos registrieren!!

Folgende Themen könnten Dich auch interessieren: