Multicast über VLANs hinweg auf PfSense
Hallo allerseits,
ich habe hier Verständnis-Probleme bei Multicast-Kommunikation über VLAN-Grenzen hinweg.
Gegeben ist ein SMA-Homemanager (192.168.10.143, VLAN10), der auf 239.12.255.254 seine Zählerstände verschickt. Diese Daten kommen allerdings nur im eigenen VLAN (10) an.
Erster Gedanke: IGMP aktivieren. Das findet man bei pfsense unter "Services/IGMP-Proxy". Die Beschreibung des IGMP-Proxies habe ich nun mindestens 10 mal gelesen, ohne daraus wirklich schlau zu werden:
Das würde doch bedeuten, dass nur in einem einzigen VLAN multicast-server existieren können, weil man ja kein zweites upstream-interface eintragen kann?
Das macht doch keinen Sinn?
Kann jemand diesen Widerspruch auflösen? Wo genau bin ich falsch abgebogen?
ich habe hier Verständnis-Probleme bei Multicast-Kommunikation über VLAN-Grenzen hinweg.
Gegeben ist ein SMA-Homemanager (192.168.10.143, VLAN10), der auf 239.12.255.254 seine Zählerstände verschickt. Diese Daten kommen allerdings nur im eigenen VLAN (10) an.
Erster Gedanke: IGMP aktivieren. Das findet man bei pfsense unter "Services/IGMP-Proxy". Die Beschreibung des IGMP-Proxies habe ich nun mindestens 10 mal gelesen, ohne daraus wirklich schlau zu werden:
- Man kann/muss mehrere Proxy-Instanzen anlegen
- Je Instanz kann/muss man ein interface (soweit klar) und eine oder mehrere CIDR (das wären wohl die multicast-Adressen?) angeben
- Es können mehrere downstream-Instanzen (also interfaces, wo sich multicast-Clients befinden) definiert werden.
- Es kann aber nur GENAU EIN upstream-Interface (also multicast-server) definiert werden.
Das würde doch bedeuten, dass nur in einem einzigen VLAN multicast-server existieren können, weil man ja kein zweites upstream-interface eintragen kann?
Das macht doch keinen Sinn?
Kann jemand diesen Widerspruch auflösen? Wo genau bin ich falsch abgebogen?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 4823726230
Url: https://administrator.de/forum/multicast-ueber-vlans-hinweg-auf-pfsense-4823726230.html
Ausgedruckt am: 22.12.2024 um 05:12 Uhr
33 Kommentare
Neuester Kommentar
dass nur in einem einzigen VLAN multicast-server existieren können
Nein, das wäre eine falsche Schlussfolgerung! Richtig ist das es nur ein Segment (Interface) geben kann indem sich Multicast Server befinden können von denen es dort aber durchaus mehrere geben kann.Bedenke das du hier nur einen Proxy hast und eben kein transparentes Multicast Routing mit PIM. Siehe dazu auch hier.
Bei einem Web Proxy z.B. ist das ja auch nicht anders! Proxying ist kein Routing.
Du kannst das Proxy und das PIM Routing Verhalten bei Multicast auch recht einfach lokal testen wie u.a. in diesem Tutorial beschrieben.
Das ist dann identisch zu z.B. mDNS was auch eine Link Local Multicast Gruppe mit einer TTL von 1 nutzt. Mit dem Proxy ist das aber übertragbar da der, wie schon gesagt, nicht routet. Siehe dazu auch:
Apple AirPrint über VLANs
Apple AirPrint über VLANs
Wenn es das denn nun war bitte deinen Thread hier dann auch als erledigt schliessen!
Wie kann ich einen Beitrag als gelöst markieren?
Wie kann ich einen Beitrag als gelöst markieren?
Aber 239.12.255.254 ist doch eine "Organization-local"-Adresse? Darf der da überhaupt TTL=1 verwenden?
Das TTL Setting ist kein Protokollzwang bzw. nur bei Link Local Multicast. "Darf" ist also sicher der falsche Ausdruck. Es könnte, wäre dann aber unsinnig. Solche Frames haben auch nie eine TTL von 1.Threshold auf 0 zu setzen ist natürlich fatal. Erstmal ist dieser Wert im TCP/IP gar nicht definiert, also per se schon falsch. Das Feld sollte leer bleiben, damit der Proxy alles annimmt. Bei 0 würde er alles abweisen. ("Packets with a TTL lower than the value in this field will be ignored")
Auch deine VLAN10 Rule ist recht fatal, da IGMP Join Messages usw. weitere funktionale Multicast Adressen nutzen die du damit allesamt aussperrst. Multicasting kann damit nicht funktionieren.
Sieh dir mit dem Wireshark in dem oben beschriebenen MC Testdesign einmal die Kommunikation an, dann wirst du sehen das dort weit mehr Gruppenadressen benutzt werden! Dein Filter ist nicht korrekt und Wireshark immer dein bester Freund und etwas Multicast Training (https://www.youtube.com/watch?v=AvbSMBKBZgY) kann sich nicht schaden!
Normalerweise geht man auch so bei einer Firewall niemals vor und stellt sich vorab selber eine Falle. Strategisch erlaubt man im Testbetrieb erstmal alles um die (MC) Funktion an sich zu verifizieren und erstellt danach das Regelwerk, weil man so sicher weiss das Fehler dann einzig nur am Regelwerk liegen können. Du bist also in deine eigene Falle getappt.
Ich kenne es eigentlich anders herum: erst mal alles zumachen und dann gezielt Löchlein bohren bei dem das nicht funktioniert.
Ja, das ist per se auch nicht falsch aber wenn man nicht weiss was passiert macht man erstmal alles auf. Hast du dir das mit dem Wireshark mal angeschaut wie der Join Prozess abläuft einmal direkt und einmal über den Proxy? Wo hakt es da?
Ich setze das parallel auch mal auf und sehe mir das an.
Interessant ist HIER noch der letzte Satz!
Hast du diese Option gesetzt?! Gilt auch für die LAN to any Regel!
Ebenfalls muss die Regel für die "Bogon networks" außer Kraft gesetzt werden sofern diese aktiv sein sollte! (Siehe Thread Kommentar!)
Hast du diese Option gesetzt?! Gilt auch für die LAN to any Regel!
Ebenfalls muss die Regel für die "Bogon networks" außer Kraft gesetzt werden sofern diese aktiv sein sollte! (Siehe Thread Kommentar!)
Deine Erfahrungen lassen sich leider bestätigen. Trotz any any Scheunentorregeln mit aktiven Options auf WAN und LAN Port und Überprüfung mit Packet Capture am WAN das dort die Multicasts auch ankommen forwardet der Proxy den Join Request des Clients nicht.
Da ist wohl grundsätzlich was im Argen (Bug) beim Proxy... 🤔
Interessanterweise gibt es aber mit PIMD einem Multicast Routing Daemon in den Packages. Es ist sicher einen Versuch wert den einmal in einem sauberen PIM Routing Szenario zu testen wie es z.B. HIER in einem Mikrotik Umfeld beschrieben ist. IP technisch ist das auch besser als ein Proxy.
Es bleibt also spannend...
Da ist wohl grundsätzlich was im Argen (Bug) beim Proxy... 🤔
Interessanterweise gibt es aber mit PIMD einem Multicast Routing Daemon in den Packages. Es ist sicher einen Versuch wert den einmal in einem sauberen PIM Routing Szenario zu testen wie es z.B. HIER in einem Mikrotik Umfeld beschrieben ist. IP technisch ist das auch besser als ein Proxy.
Es bleibt also spannend...
Ich habe es gerade mal vorab mit einem Mikrotik Router und einem PIM Banalsetup (RP nicht erforderlich bei 2 lokal gerouteten Netzen) getestet:
https://help.mikrotik.com/docs/display/ROS/PIM-SM
Das gleiche mit einem Banalsetup auf einem Cisco 890er Router:
interface GigabitEthernet1
description Lokales LAN1
ip address 192.168.1.254 255.255.255.0
ip pim sparse-mode
!
interface GigabitEthernet2
description Lokales LAN2
ip address 192.168.2.254 255.255.255.0
ip pim sparse-mode
Beide rennen mit dem Multicast Testsetup und auch den üblichen Multicast Test Tools wie Multicast Hammer und Netspanner fehlerlos. Konfig und Funktion ist also per se schon mal richtig und das PIM Routing ist wie erwartet Standard konform was der Wireshark auch klar belegt!
Nächster Step... pimd. Mal sehen...
https://help.mikrotik.com/docs/display/ROS/PIM-SM
Das gleiche mit einem Banalsetup auf einem Cisco 890er Router:
interface GigabitEthernet1
description Lokales LAN1
ip address 192.168.1.254 255.255.255.0
ip pim sparse-mode
!
interface GigabitEthernet2
description Lokales LAN2
ip address 192.168.2.254 255.255.255.0
ip pim sparse-mode
Beide rennen mit dem Multicast Testsetup und auch den üblichen Multicast Test Tools wie Multicast Hammer und Netspanner fehlerlos. Konfig und Funktion ist also per se schon mal richtig und das PIM Routing ist wie erwartet Standard konform was der Wireshark auch klar belegt!
Nächster Step... pimd. Mal sehen...
Tja, wenn man im PIM Router Setup schludrig ist und vergisst PIMD auf seine entsprechenden Netzwerk Interfaces zu binden ("none") war das zu erwarten! 🧐
Der 2te Fehler: Es gibt immer nur eine statische RP Adresse! Da nimmt man immer das Interface wo sich die MC Quelle (Server) befindet. Deine bessere Hälfte schickst du ja auch nicht zu mehreren verschiedenen Rendezvous Punkten wenn du keinen Ärger haben willst.
Eine Group musst du dort auch NICHT eintragen!
Die BSR Settings musst du ebenfalls nicht anfassen wenn du nur einen singulären MC Router hast. Die sind nur dann relevant wenn man die RP Adresse in einem Netz dynamisch und redundant auf alle PIM Router verteilen will ohne sie immer umständlich statisch zu setzen.
Alles was in den u.a. Screenshots nicht abgebildet ist bleibt leer bzw. immer auf den Default Settings!
Testlab mit LAN1=192.168.1.0 /25 und LAN2=192.168.1.128 /25
So klappt es auf Anhieb:
Group Registration (man achte auf die Flags!):
(RP wurde hier nachträglich auf LAN1 geändert, sorry!)
Test mit dem o.a. Film Streaming unter VLC und auch mit dem Netspanner Tool klappt fehlerlos und auf Anhieb!
Fazit: Works as designed!! 👍 😉
Der 2te Fehler: Es gibt immer nur eine statische RP Adresse! Da nimmt man immer das Interface wo sich die MC Quelle (Server) befindet. Deine bessere Hälfte schickst du ja auch nicht zu mehreren verschiedenen Rendezvous Punkten wenn du keinen Ärger haben willst.
Eine Group musst du dort auch NICHT eintragen!
Die BSR Settings musst du ebenfalls nicht anfassen wenn du nur einen singulären MC Router hast. Die sind nur dann relevant wenn man die RP Adresse in einem Netz dynamisch und redundant auf alle PIM Router verteilen will ohne sie immer umständlich statisch zu setzen.
Alles was in den u.a. Screenshots nicht abgebildet ist bleibt leer bzw. immer auf den Default Settings!
Testlab mit LAN1=192.168.1.0 /25 und LAN2=192.168.1.128 /25
So klappt es auf Anhieb:
Group Registration (man achte auf die Flags!):
(RP wurde hier nachträglich auf LAN1 geändert, sorry!)
Test mit dem o.a. Film Streaming unter VLC und auch mit dem Netspanner Tool klappt fehlerlos und auf Anhieb!
Fazit: Works as designed!! 👍 😉
Diese Aussage widerspricht der Manpage
Nein, nicht wirklich. Man muss im Default erstmal alles mappen und kann dann in der Interface Auswahl spezifisch Interface aktivieren und deaktivieren. Mit der Logik klappt es fehlerlos.habe ich ja "Always bind" gesetzt.
Gut, ich habe hier "Bind to all" gesetzt...Ich will ja kein MC auf WAN haben
Deshalb löscht man ja auch mit Klick auf den Mülleimer das WAN Interface wie hier im Setup. In den Interface stehen hier nur die PIM relevanten Interfaces LAN und LAN2.
Aber mit nur einem RP wird man auch nicht hinkommen, wenn man MC-Sourcen in mehreren VLANs hat?
Doch das geht natürlich auch. Man muss dann nur sicherstellen das der RP aus allen diesen Netzen erreichbar ist.Auch die Scheunentor-Regeln mit ip-options sind auf beiden interfaces gesetzt.
Nur irgendwie sinnfrei, zumindestens die 2te Regel. Wenn man oben alles freigibt muss man ja nicht danach nochmal extra IGMP freigeben was ja oben schon inkludiert ist.Wie gesagt...rennt hier alles fehlerlos.
Ich ziehe für dich nochmal ein paar Wireshark Traces...
So, das Ganze nochmal mit deinen Bind Settings aufgesetzt und auch da klappt es erwartungsgemäß fehlerlos.
RP Adresse auch einmal testweise umgesetzt auf die Client Seite und auch das rennt absolut sauber. Mit anderen Worten das PIM Routing funktioniert absolut fehlerlos und verhält sich absolut identisch zu einem PIM Routing Setup mit Mikrotik und Cisco.
Ein entsprechender Wireshark Trace auf der Client Seite (Win 10 Notebook mit VLC) zeigt das auch eindeutig:
⚠️ Es gibt eine böse Falle in die du ggf. im Eifer des Gefechts getappt bist und die lauert auf der Multicast Source Seite (Server) sofern dort ein Switch im Einsatz ist der IGMP Snooping aktiv hat!
Solltest du das aktiviert haben und das Feature "Drop unknown Multicast" aktiv sein scheitert das PIM Routing von Multicast Quellen die an diesem Switch betrieben werden.
Das ist auch klar, denn ein Server wie der VLC sendet im Gegensatz zu einem Client sofort los ohne einen IGMP Join zu senden. Ein IGMP Snooping Switch registriert ohne ein Join diese Gruppenadresse verständlicherweise dann als "unknown" und dropped diesen Traffic am Switchport sofort. Der MC Traffic hat in dem Falle also überhaupt keine Chance erst überhaupt zum PIM Router zu gelangen.
Das Dropping von unknown Multicasts ist in der Regel bei IGMP Snooping immer aktiv weil man dort von Client Traffic ausgeht der natürlich immer Joins sendet und dann die Gruppenadressen im Switch sauber registriert.
Prüfe das also sollte IGMP Snooping bei dir auf der Server Seite aktiv sein und deaktiviere dies ggf. auf dem Switch dort (und nur da) sofern aktiv. Bei einfachen Switches geht das global in den IGMP Settings, bei besseren Switches kann man es auch per Interface machen was natürlich effizienter ist. Hier am Beispiel eines Cisco SG/CBS Modells
Das folgende Beispiel zeigt es auf einem einfachen Zyxel Switch mit aktivem IGMP Snooping und nochmals die dazu korrespondierenden PIMD Settings der pfSense.
RP Adresse auch einmal testweise umgesetzt auf die Client Seite und auch das rennt absolut sauber. Mit anderen Worten das PIM Routing funktioniert absolut fehlerlos und verhält sich absolut identisch zu einem PIM Routing Setup mit Mikrotik und Cisco.
Ein entsprechender Wireshark Trace auf der Client Seite (Win 10 Notebook mit VLC) zeigt das auch eindeutig:
- Du kannst an der Absender Mac Adresse (PCEngines APU Board) deutlich sehen das der Multicast RTP Frame von der LAN Mac Adresse der pfSense kommt. Der MC Streaming Server befindet sich im Segment LAN-2
- Ebenso das um 1 reduzierte TTL zeigt eindeutig das es durch den PIM Router gelaufen ist, denn der Stream wurde mit TTL=10 und QoS Priorisierung mit DSCP ToS=CS3 am Server gestartet. (cvlc /home/pi/Videos BigBuckBunny_320x180.mp4 --sout "#rtp{dst=239.255.1.2,port=5004,ttl=10,mux=ts,sap,name=Bunny}" --dscp=96 --no-sout-all --sout-keep --loop)
- Auch ohne das man die hier verwendete MC Gruppenadresse 239.232.1.2 im RP einträgt rennt es fehlerlos
⚠️ Es gibt eine böse Falle in die du ggf. im Eifer des Gefechts getappt bist und die lauert auf der Multicast Source Seite (Server) sofern dort ein Switch im Einsatz ist der IGMP Snooping aktiv hat!
Solltest du das aktiviert haben und das Feature "Drop unknown Multicast" aktiv sein scheitert das PIM Routing von Multicast Quellen die an diesem Switch betrieben werden.
Das ist auch klar, denn ein Server wie der VLC sendet im Gegensatz zu einem Client sofort los ohne einen IGMP Join zu senden. Ein IGMP Snooping Switch registriert ohne ein Join diese Gruppenadresse verständlicherweise dann als "unknown" und dropped diesen Traffic am Switchport sofort. Der MC Traffic hat in dem Falle also überhaupt keine Chance erst überhaupt zum PIM Router zu gelangen.
Das Dropping von unknown Multicasts ist in der Regel bei IGMP Snooping immer aktiv weil man dort von Client Traffic ausgeht der natürlich immer Joins sendet und dann die Gruppenadressen im Switch sauber registriert.
Prüfe das also sollte IGMP Snooping bei dir auf der Server Seite aktiv sein und deaktiviere dies ggf. auf dem Switch dort (und nur da) sofern aktiv. Bei einfachen Switches geht das global in den IGMP Settings, bei besseren Switches kann man es auch per Interface machen was natürlich effizienter ist. Hier am Beispiel eines Cisco SG/CBS Modells
Das folgende Beispiel zeigt es auf einem einfachen Zyxel Switch mit aktivem IGMP Snooping und nochmals die dazu korrespondierenden PIMD Settings der pfSense.
Aber ich sehe den MC-Traffic auf der am interface der pfsense?
Zumindestens am pfSense Interface wo die Multicast Quelle ist (Server). Dort muss natürlich der Stream Traffic des Servers über die FW interne Paket Capture Funktion immer zu sehen sein! (Hier LAN-2)Wenn er da nicht ankommen sollte kann es die oben erwähnte IGMP Problematik sein!
Wenn dort erst gar nichts ankommt kann der PIM Router natürlich auch nix auf die Client Seite routen.
was der VLC-server da auf Port 5005 sendet obwohl ich Port 5004 eingegeben habe?
Da kann man leider nur kristallkugeln weil relevante Infos fehlen. Sehr hilfreich wäre wenn du mal einen Wireshark oder Paket Capture hier posten würdest indem du auf die Server IP und UDP 5005 filterst wo das herkommen soll. Dann kann man das genau sehen.
Natürlich sollte es keinen solchen "Geisterstream" geben wenn du nur einen einzigen gestartet hast!
Die gleiche Multicast Gruppenadresse nur mit unterschiedlichen UDP Ports zu verwenden wäre natürlich fatal und auch ein möglicher Grund des Scheiterns! Das geht natürlich immer nur andersrum. Gleicher Port aber zwingend unterschiedliche Gruppenadressen.
Genug freie Filme um mehrere RTP MC Streams zu senden gibt es ja zuhauf um dir dein eigenes IP TV zu basteln.
https://archive.org/details/ElephantsDream
https://durian.blender.org/download/
https://mango.blender.org/download/
usw. usw.
Da ich den Traffic ja an der pfsense sehe, kann es eigentlich nicht das oben erwähnte Switch-Problem sein...
Das ist absolut korrekt!Das ist dann eher ein Regel Problem oder das du z.B. vergessen hast die IGMP Proxy Funktion im Setup zu deaktivieren. (beides parallel geht natürlich nicht!) usw. usw. Den Switch kann man dann ausschliessen.
Hatte ich doch oben schon geschrieben:
Shame on me... Im Eifer des Gefechts glatt übersehen. 🙈Das ist ein UDP Multicast Frame mit Ziel 239.255.255.255 und UDP Port 9875
Offiziell das SAP Protokoll (Telefonie und Multimedia) nutzt aber standartkonform eine andere (offizielle) Multicast Gruppenadresse als oben bei dir, was auffällig ist.
UDP 9875 wird auch mal für böse Dinge gekapert wenn man danach sucht.
Die Adresse ist in Bezug auf SAP verdächtig, denn sie gehört zum Organizational Local Scope RFC2365 also zum Kontingent was man frei vergeben kann und wo nichts reserviert ist und entspricht dem RFC1918 für Unicast.
Auffällig auch das es die letzt nutzbare Adresse im Multicast Spektrum überhaupt ist.
Der Absender ist e4:7f:b2:16:e8:95 und damit ein Fujitsu Rechner!
Hier solltest du dann einmal in die Mac Forwarding Tabelle deines Switches sehen an welchem Port der hängt und dort mal genau forschen warum der sowas raussendet und ob er das auch darf.
Der o.a. Absender nutzt laut Trace die IP 192.168.2.103 und wenn du sagst dein VLC Streaming Server ist die 192.168.1.103 dann klingt das ja schonmal verdächtig, denn es kommt dann offensichtlich nicht vom VLC Server sondern aus einem fremden IP Netz.
Der sollte sich bei mir ja nicht anders verhalten als woanders in der Welt.
Absolut korrekt! Er sendet auch garantiert nichts so mirnichtsdirnichts von selber auf Adressen im Organizational Local Scope raus.Und Port 5005 habe ich niemals nicht irgendwo eingegeben/verwendet.
Wie kommst du auch darauf?? Der o.a. Trace sagt doch klar das der Absender den Source Port UDP 50770 verwendet und den Destination Port UDP 9875. Wo also hast du die ominöse 5005 her? 🤔Und tatsächlich kommen beide Pakete vom vlc:
Kann man nicht sehen weil du die DNS Namensauflösung nicht abgeschaltet hast. Du sagst ja oben der VLC ist der .1.103, das Paket kommt aber vom .2.103?!
Ist das jetzt ein Typo oder sind es wirklich 2 unterschiedliche Maschinen. Wenn einer der Hypervisor ist und der andere die VM wäre es ja ok aber aus 2 unterschiedlichen IP Netzen? OK, ist jetzt auch nur geraten sofern du eine andere Maske fährst als einen 24er Präfix?!
Mit welchem Kommando startest du denn den Film?? Hier:
cvlc /home/pi/Videos/BigBuckBunny_320x180.mp4 --sout "#rtp{dst=239.232.1.2,port=5004,ttl=10,mux=ts,sap,name=Bunny}" --dscp=96 --no-sout-all --sout-keep --loop
Sniffert man per Kabelhai den Start mit ist da erstmal nix zu sehen von anderen Ports und Multicast Adressen außer den im o.a. Kommando. 🤔
Möglich aber das mir da was durch die Lappen gegangen ist, denn och habe nur auf Clientseite hinter dem PIM gesniffert. Wenn das eine Link Local Gruppe mit TTL=1 sieht man die auf der anderen Seite natürlich nicht.
Der Kommandoparameter "mux=ts,sap,name=Bunny.." besagt ja das da irgendwie auch SAP mit im Spiel ist....
Das VLC Wiki lüftet dann das Geheimnis!! 😉
https://wiki.videolan.org/Documentation:Streaming_HowTo/Advanced_Streami ...
Genau DAS sendet den SAP. Nur irgendwie mit einer falschen Gruppenadresse bei dir. 🤔
Muss ich hier nochmal genauer mittracen mit dem Kabelhai ob das hier auch der Fall ist.
Die Kommandozeile habe ich aus einer vlc-howto geklaut.
Vermutlich HIER. 😉Die Gruppenadresse ist ja dem Protokoll fest zugewiesen wie z.B. 224.0.0.252 bei LLMNR oder 224.0.0.251 bei mDNS / Bonjour. Die kann man normalerweise nicht so einfach frei "würfeln".
Ich schmeiss mal den Kabelhai an...
10 Minuten mitgeschnitten aber mit UDP 9875 kommt gar nix hier....
Das ist aber scheinbar nicht verwunderlich den cvlc quittiert hier den "sap" Parameter mit einem Fehler (letzte Zeile):
Ersetzt man die "232" im 2ten Oktet testweise mit .255 oder .192 klappt es ohne Fehlermeldung und dann auch mit dem SAP Announcement!
Sieht also so aus als ob es etwas mit dem Multicast Adress Scope zu tun hat und geht auch einher mit dem o.a. zitierten RFC2365 der die Ranges 239.255.0.0/16 und "abwärts" 239.254.0.0/16 und 239.253.0.0/16 und auch die Ranges 239.192.0.0/14 sowie 239.0.0.0/10, 239.64.0.0/10 und 239.128.0.0/10 dafür vorgibt. Wobei man hier sehr vorsichtig sein muss wegen des 32:1 Overlaps der IP Multicast Adressen zu ihren korrespondierenden Mac Adressen! Aus diesem Grund sollte man generell die Gruppenadressen x.0.0.x und x.128.0.x immer zwingend vermeiden!!
Bewegt man sich innerhalb dieser Ranges dann taucht auch die VLC SAP Fehlermeldung nicht auf.
Mit anderen Worten: Dein Traffic ist SAP und damit standardkonform. Übrigens...
Auch mit all diesen MC Adressen klappt das PIM Routing auf der pfSense fehlerlos. (Version 2.7.2) 😉
Spaßeshalber aus Neugier auch gleich mal Magenta TV getestet...
Works as designed! 😉 👍
Das ist aber scheinbar nicht verwunderlich den cvlc quittiert hier den "sap" Parameter mit einem Fehler (letzte Zeile):
cvlc /home/user/Videos/BigBuckBunny_320x180.mp4 --sout "#rtp{dst=239.232.1.2,port=5004,ttl=10,mux=ts,sap,name=Bunny}" --dscp=96 --no-sout-all --sout-keep --loop
VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b)
[0000005584783f90] main interface error: no suitable interface module
[000000558469b560] main libvlc error: interface "globalhotkeys,none" initialization failed
[0000005584783f90] dummy interface: using the dummy interface module...
[0000007f900013e0] main stream out error: Out-of-scope multicast address not supported by SAP
Sieht also so aus als ob es etwas mit dem Multicast Adress Scope zu tun hat und geht auch einher mit dem o.a. zitierten RFC2365 der die Ranges 239.255.0.0/16 und "abwärts" 239.254.0.0/16 und 239.253.0.0/16 und auch die Ranges 239.192.0.0/14 sowie 239.0.0.0/10, 239.64.0.0/10 und 239.128.0.0/10 dafür vorgibt. Wobei man hier sehr vorsichtig sein muss wegen des 32:1 Overlaps der IP Multicast Adressen zu ihren korrespondierenden Mac Adressen! Aus diesem Grund sollte man generell die Gruppenadressen x.0.0.x und x.128.0.x immer zwingend vermeiden!!
Bewegt man sich innerhalb dieser Ranges dann taucht auch die VLC SAP Fehlermeldung nicht auf.
Mit anderen Worten: Dein Traffic ist SAP und damit standardkonform. Übrigens...
Auch mit all diesen MC Adressen klappt das PIM Routing auf der pfSense fehlerlos. (Version 2.7.2) 😉
Spaßeshalber aus Neugier auch gleich mal Magenta TV getestet...
Works as designed! 😉 👍
Wie kommst Du eigentlich auf die 239.232.1.2?
Das war nur ein spielerischer Versuch und entstammte, oh Wunder, einem strukturierten Adressierungsvorschlag aus der Cisco Fachliteratur.Der ist aber de facto falsch und ignoriert die RFC Vorgaben.
Der RFC2365 gibt dafür klar drei feste /16er Ranges 239.255.0.0/16 und "abwärts" vor. Also
- 239.254.0.0/16
- 239.253.0.0/16
- 239.192.0.0/14
- 239.0.0.0/10
- 239.64.0.0/10
- 239.128.0.0/10
Wie gesagt: Wegen des 32:1 Overlaps der IP Multicast Adressen zu ihren korrespondierenden Mac Adressen muss man die Gruppenadressen x.0.0.x und x.128.0.x immer zwingend vermeiden!!
VLC-Clients (bei dem ja das ttl nicht verstellbar ist)
Da ist ja auch gar kein TTL erforderlich, denn der sendet ja lediglich einen lokalen IGMP Join Request. Für den ist ein TTL also völlig irrelevant weil der ja niemals geroutet wird!Hab das gleiche Setup auch nochmal mit einem Mikrotik Router mit PIM Routing und auch mit einem Cisco 880er Router und PIM Routing aufgesetzt und auch da funktioniert das PIM Multicast Routing, wie zu erwarten war, fehlerlos und standardkonform!