Bonjour,
Je cherche à activer la fonction IGMP snooping sur un réseau sur lequel je peux avoir jusque 20 flux multicast simultanés, avec potentiellement 30 à 50 clients qui peuvent choisir un flux parmi les 20 disponibles.
l'IGMP snooping apparait nécessaire car sinon les 20 flux ( qui sont à 10Mbps environ ) encombrerait le réseau, c'est d'ailleurs ce qu'il se passe.
Le problème est qu'après avoir activé l'IGMP snooping, j'ai un phénomène étrange :
- à priori cela fonctionne car tous les ports sont bloqués par défaut. C'est le comportement que je souhaite
- lorsqu'un client souhaite regarder un flux, j'ai bien des paquets "membership report group" à l'adresse du groupe multicast demandé ( au passage tous les clients sont en IGMPv2 )
-> phénomène étrange mais peut être normal, bien que la demande "membership report group" soit broadcastée , je ne la vois pas passer sur aucun port final ( port sur lequel je branche un wireshark pour espionner le trafic ). Il est en est de même pour les "leave group".
-> si je fais un port mirroring pour espionner le trafic entre 2 ports , là, je vois tous les "report group" ( et leave group ). C'est donc que les switchs limitent ce trafic entre switchs, je ne sais d'ailleurs pas quelle est la règle pour le switch de déterminer qu'un autre switch est connecté à lui : plusieurs macs sur le port ? avec le protocole LLDP ? autre ?
-> dans le protocole IGMP, c'est étrange que la demande "membership report group" se fasse sur l'adresse de groupe sur laquelle on s'inscrit ( du coup dans le paquet UDP, l'adresse apparait 2 fois ), alors que le leave group se fait sur l'adresse 224.0.0.2
- tant que je lis ce flux, je vois des "membership report group" régulier ( l'intervalle entre 2 est un peu aléatoire, entre 5 et 30 sec ).
- si je quitte ce flux, je vois bien passer un "leave group" et je vois bien que le flux n'arrive plus jusque la machine avec wireshark.
Jusque là, tout va bien.
Maintenant si je lis un flux à partir de N machines sur le réseau, tout va bien, jusqu'à ce que je quitte un flux avec l'une des machines , cela stoppe le flux chez tous les clients qui regardent ce flux, sauf dans 2 cas :
- si je stoppe le flux à partir d'un client qui n'est pas connecté sur le même switch que l'émetteur, cela stoppe tous les flux des clients qui lisent le même flux, sauf les clients qui sont sur le même switch que l'émetteur
- si je stoppe le flux à partir d'un client qui est connecté sur le même switch que l'émetteur, cela ne stoppe que moi même, les autres flux continuent de se lire correctement.
Je pressens 3 choses :
- soit je me suis planté dans la configuration de mes switchs ( je ne maîtrise pas du tout igmp )
- soit le switch est buggué et implémente mal la fonction.
- j'ai 2 switchs de techno différente , et ils cohabitent mal.
Sur mon réseau, malheureusement, je mélange 2 switchs différents , 1 netgear ( GS108tV2 ) et 1 dont je ne connais pas le modèle mais basé sur une puce broadcom BCM56333_B1. Les options de réglages semble relativement identiques entre les 2 mais vu que je ne maîtrise pas le protocole, je ne sais pas si je fais bien ou pas.
J'ai tenté de chercher un peu de littérature à ce sujet sur le net, mais rien qui ne m'apporte de réponse pour le moment ( je vais bien sur continuer à chercher ). Parmi les options sur le(s) switch(s) , il y en a que je ne comprends pas bien. Sur un des switchs ( le netgear ), pour lequel on ne peut le manager que par page web, j'ai :
- dans la page de configuration du IGMP pour chaque port, il y a un "admin mode" et "fast leave admin mode" ( que je retrouve sur les 2 switchs ). Je ne comprends pas bien à quoi servent ces options et quelle influence ça a de les activer ou non.
- ensuite j'ai une mage de configuration "IGMP snooping VLAN configuration", on me redemande "fast leave admin mode" ( je trouve ca redondant ), et "query mode" (kesako ? la doc du switch ne détaille pas )
- 2 autres notions apparaissent également :
* multicast router
* IGMP snooping querier
- dois-je activer les 2 ?
* pour le multicast router, je dois rendre enable des ports. Lesquels et pourquoi ? j'ai également une 2eme page nommée "multicast router VLAN configuration" où on me redemande d'activer multicast router sur chaque port , en précisant en plus le VLAN cette fois-ci. Encore une fois c'est redondant, pourquoi la page précédente ?
* pour IGMP querier, pareil 2 pages, où les informations sont redondantes. Les options sont :
+ querier admin mode
+ snooping querier address : alors ici, je me suis apercu que l'adresse saisie est l'adresse source. Etrange de devoir préciser cela, et effectivement avec wireshark, je vois passer des paquets "IGMP query" avec l'adresse source que j'ai précisée ( même si je mets une adresse bidon, ou la même adresse sur tous les switchs ?! ). Quel intérêt de préciser ? pourquoi le switch ne prend pas sa propre adresse ?
Bref, tout ça est un peu flou, j'ai essayé :
- juste en activant le igmp snooping ( j'ai mis enable partout ) -> ca ne marche pas les flux se quittent comme décrit
- en activant querier sur tous les switchs et en mettant l'adresse de chaque switch -> ca change rien
- en activant querier sur tous les switchs et en mettant la même adresse partout -> ca change rien
Je n'ai pas essayé "multicast router" car je ne sais pas du tout à quoi ça correspond, de ce que j'ai lu ( et compris ? ) sur le net, on utilise multicast router si on a un routeur multicast ( c'est quoi et ca sert à quoi ? ) sinon on doit utiliser igmp querier.
Si quelqu'un peut m'aiguiller, car je suis un peu perdu, je n'arrive pas à comprendre pourquoi un "leave group" ferait quitter tous les flux. Je ne vois pas l'intérêt d'un tel comportement dans une utilisation normale de diffusion de flux sur un réseau.
Merci d'avance