IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Réseau C Discussion :

IGMP et Multicast


Sujet :

Réseau C

  1. #1
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut IGMP et Multicast
    Bonjour,

    Je voudrais m'abonner à un flux multicast (situé dans un réseau local) via IGMP.

    En cherchant sur le net, j'ai trouvé deux fonctions : JoinHostGroup et LeaveHostGroup (ici).

    Pensez vous que ces fonctions marchent bien ?

    Sinon à part ces fonctions, connaissez vous une documentation qui explique comment s'abonner à un flux multicast de facon claire ?

    Merci de votre aide.
    F.

  2. #2
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Citation Envoyé par Flob91 Voir le message
    Sinon à part ces fonctions, connaissez vous une documentation qui explique comment s'abonner à un flux multicast de facon claire ?
    Multicast = flux UDP

    tu peux :
    - ouvrir une socket UDP
    - faire un setsockopt avec le paramètre multicast
    - faire un recvfrom de l'IP multicast

    (sous Linux, il faut configurer l'interface réseau pour qu'elle accepte les flux multicast)

  3. #3
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Merci, j'ai trouvé l'option "IP_ADD_MEMBERSHIP" ou bien "IP_ADD_SOURCE_MEMBERSHIP" pour le multicast.

    Je vais voir comment faire fonctionner avec mon driver.. :-).

  4. #4
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    S'il t'es possible de le faire, utilise wireshark.
    Ca aide pour comprendre et debugger !! Mais bon, nous, on maitrisait la chaine complète : émetteur, switch/routeur et clients multicast.

  5. #5
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    S'il t'es possible de le faire, utilise wireshark.
    Ca aide pour comprendre et debugger !! Mais bon, nous, on maitrisait la chaine complète : émetteur, switch/routeur et clients multicast.
    Oui ca peut aider.
    En faite nous on a un convertisseur vidéo qui envoi en multicast derriere un switch routeur et nous on ne s'occupe seulement de la reception des trames.

    On y arrive en unicast mais maintenant, il faut passer en multi...

  6. #6
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par Flob91 Voir le message
    ... qui envoi en multicast derriere un switch routeur ...
    Le switch/routeur a été configuré pour le multicast car il y a quelque chose à faire au niveau des routeur pour gérer les abonnements
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  7. #7
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Le switch/routeur a été configuré pour le multicast car il y a quelque chose à faire au niveau des routeur pour gérer les abonnements
    Oui le switch/routeur a bien été configuré pour le multicast

  8. #8
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    Citation Envoyé par fregolo52 Voir le message
    tu peux :
    - ouvrir une socket UDP
    - faire un setsockopt avec le paramètre multicast
    - faire un recvfrom de l'IP multicast
    En général lorsqu'on parle de flux multicast, on parle aussi d'IGMP Snooping
    Lorsqu'on ouvre un flux multicast avec la methode citée ci-dessus en commentaire, l'OS s'occupe automatiquement d'envoyer les requête join/leave dans la bonne version d'IGMP ? ... il y a de fortes chances que non
    => ce n'est pas fait automatiquement, il faudra le faire manuellement car sinon les switch/routeur gérant l'IGMP Snooping ne laisseront pas passer les flux.

  9. #9
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Citation Envoyé par boboss123 Voir le message
    En général lorsqu'on parle de flux multicast, on parle aussi d'IGMP Snooping
    Lorsqu'on ouvre un flux multicast avec la methode citée ci-dessus en commentaire, l'OS s'occupe automatiquement d'envoyer les requête join/leave dans la bonne version d'IGMP ? ... il y a de fortes chances que non
    => ce n'est pas fait automatiquement, il faudra le faire manuellement car sinon les switch/routeur gérant l'IGMP Snooping ne laisseront pas passer les flux.
    Si c'est fait.
    Y a meme une option pour s'occuper des query automatiquement.

    J'ai pu le verifier avec wireshark que les demandes+query sont fait correctement

    Classe, le programme d'exemple que j'avais, utilisait un mecanisme plus contraignant (fabrication de la trame de joingroup + Thread pour répondre aux query,....) -> Résolu, merci à tout le monde

  10. #10
    Membre confirmé Avatar de Flow_75
    Femme Profil pro
    Ingénieure
    Inscrit en
    Mai 2005
    Messages
    1 096
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieure
    Secteur : Transports

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 096
    Points : 633
    Points
    633
    Par défaut
    Bon, je de-résous ce sujet.

    J'ai pas remarqué hier mais il s'avère que la demande d'abonnement (JoinGroup) est faite, que la demande de query également mais que la demande de désabonnement (Leave group) ne l'ai faite que lorsque le programme se ferme.

    Meme lorsque le socket est fermé (closesocket(s) ), la demande n'est pas prise en compte :-/

    Quelqu'un aurait il une idée ?
    Merci.
    F.

  11. #11
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    il faut peut être utiliser la fonction LeaveHostGroup() que tu as précédemment citée mais ça ne me semble pas très clean comme méthode => si ta fonction d'ouverture de port envoie les membership reports; elle doit bien aussi gérer les leave groupe...
    Tu as regardé toutes les fonctions disponibles de la lib UDP ?

  12. #12
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    Que dit Wireshark ?

    Est ce que les requêtes partent bien, mais surtout sont-elles prises en compte par le routeur.
    Ex :
    When a host leaves a multicast group, if it was the last host to reply to a Query with a Membership Report for that group, it SHOULD send a Leave Group message to the all-routers multicast group (224.0.0.2)

  13. #13
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    J'ai oublié une question capitale : en quelle version d'IGMP fonctionnes-tu ?

    Les requêtes de type leave ne sont utilisées qu'en IGMP V2 : un host (en IGMP V2) peut quand même quitter un groupe Multicast sans envoyer de leave mais il faudra alors attendre que le router IGMP envoie au moins un Query (nombre de Query dépend de la config des switch) pour être exclus du groupe (une exclusion se fait quand un host ne revoie pas de membership report après un Query envoyé par le router => le leave sert juste à forcer le router à envoyer de suite un Query) => ce qui peut être long (en général il y a 120sec entre deux requêtes Query mais c'est configurable)
    => c'est très gênant de ne pas gérer le leave dans le cas où l'on fait du zapping TV (la bande passante peut alors exploser)
    => certains switch peuvent exclure un flux d'un groupe Multicast via les requête leave (option "Fast Leave") mais il est déconseillé de l'utiliser

    En IGMP V1, il n'y a pas de requête "leave" => donc c'est long de quitter un groupe car il faut attendre au moins un Query.

    En IGMP V3, c'est un join qui est envoyé avec des paramètre supplémentaire pour indiquer qu'on quitte le groupe (Windows XP utilise par défaut l'IGMP V3 => mais se configure automatiquement dans une version plus ancienne s'il détecte des requêtes Query en V1 ou V2)
    => Il y a pas mal de switch qui ne gèrent pas l'IGMP V3

    Montre nous des capture wireshark des trames IGMP et indique nous quand tu ouvres/ferme le port

  14. #14
    Expert confirmé Avatar de fregolo52
    Homme Profil pro
    Développeur C
    Inscrit en
    Août 2004
    Messages
    2 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur C

    Informations forums :
    Inscription : Août 2004
    Messages : 2 364
    Points : 5 378
    Points
    5 378
    Par défaut
    @boboss123 : tu vas pouvoir faire un cours
    Ca fait 3 ans que j'en ai pas fait, on oublie vite, je ne me rappelais plus de tout ça !!! Que de souvenirs !!
    C'est vrai q'il y a un "message de vie" pour checker si le client doit toujours recevoir l'abonnement.

  15. #15
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Mai 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2012
    Messages : 10
    Points : 4
    Points
    4
    Par défaut Configuration multicastinf IGMP
    Bonjour,

    Je suis actuellement en projet pour les études et je dois créer un réseau composé de plusieurs sous-réseaux routés actuellement avec OSPF et qui aura la particularité d'être configuré pour le multicasting de flux vidéos.
    Pour commencer, je veux configurer le service multicast sur un simple routeur qui a d'un côté (relié à un switch) un serveur multicast avec VLC et de l'autre un client multicast.
    Quelles configurations son nécessaire sachant que j'utilise IGMP et PIM en dense-mode?
    J'ai déjà réussi à configuré de telle sorte que je voix reconnait les flux grâce au protocole SAP mais je ne peux pas les lire. Je soupçonne un problème de conenction au groupe multicast mais ne suis sûr de rien. Comment régler ce problème.

    Merci d'avance pour vos réponses!

    Manu

  16. #16
    Membre éprouvé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    1 821
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 1 821
    Points : 979
    Points
    979
    Par défaut
    salut,

    As-tu déjà vérifié que ton serveur envoie bien tes flux multicast ?
    Et es-tu sure que coté client, tu lis bien les bon flux ?

    Pour commencer, tu devrais désactiver l'IGMP snooping sur tous les switchs/routeurs qu'il y a entre ton client et ton serveur pour être sure que les flux ne soient pas bloqués.
    => Une fois que ça fonctionnera, tu pourras mettre en place l'IGMP pour gagner de la bande passante sur ton réseau...

    Remarque : pour lire ton flux multicast, il n'est pas obligatoire d'activer/gérer l'IGMP vu qu'avec un switch basique, le fonctionnement par défaut est de laisser passer ces flux.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/07/2014, 16h48
  2. Configuration Multicasting IGMP
    Par Emmanuel Bezençon dans le forum Développement
    Réponses: 16
    Dernier message: 22/05/2012, 15h12
  3. Filtrage Multicast (IGMP)
    Par FadeOuT59 dans le forum Hardware
    Réponses: 2
    Dernier message: 08/04/2010, 09h46
  4. IGMP et multicast
    Par Annaced dans le forum Web & réseau
    Réponses: 0
    Dernier message: 30/07/2009, 16h43
  5. Multicast et Windev
    Par eblaise dans le forum Développement
    Réponses: 2
    Dernier message: 08/06/2004, 10h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo