IPTV: problème de version IGMP

Pour économiser la précieuse bande passante de leurs réseaux, les opérateurs diffusent l'IPTV (Télévision sur Internet) en multicast. C'est à dire qu'ils envoient le flux vers le réseau et un système de souscription permet à chaque ordinateur qui souhaite consulter le flux de s'abonner; les équipements réseaux font ensuite en sorte que le flux soit transmis à chaque ordinateur abonné. Cette methode s'oppose à celle du streaming unicast pour laquelle l'opérateur doit envoyer autant de flux qu'il y a de personnes qui le consultent.

Le protocole utilisé par les ordinateurs pour s'abonner aux flux IPTV est l'IGMP. La dernière version du protocole est la v3, elle est utilisée par défaut sur les ordinateurs Windows (depuis XP) et Linux (depuis le noyau 2.4). Malheureusement, tous les équipements réseaux (routeurs et switchs) ne supportent pas forcément cette version et s'arrêtent à la v2. Cela pose problème lorsque l'on essaie de regarder un flux IPTV depuis un ordinateur, il envoie bien les requêtes pour s'abonner au flux, mais il ne reçoit jamais l'information.

Voyons comment résoudre le problème...

Sous Windows
Cela se passe (comme souvent) dans la base de registres:
  • Ouvrir une session comme administrateur (ou avec un utilisateur ayant les droits d'administrateur) de la machine.
  • Ouvrir l'éditeur de registre; Menu démarrer, exécuter, saisir regedit, appuyer sur la touche entrée.
  • Naviguer dans les clés de registres : HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> Tcpip -> Parameters.
  • Regarder dans la partie droite si une valeur nommée IGMPVersion existe.
  • Si elle n'existe pas, dans la partie droite, cliquer droit et sélectionner Nouveau -> Valeur DWord puis saisir IGMPVersion comme nom.
  • Double cliquer sur la valeur IGMPVersion, saisir 3 dans le champ Données de la valeur.

Après cette manipulation et un redémarrage, la version IGMP utilisée par Windows sera la v2 (attention la valeur saisie dans Regedit n'est pas le numéro de version mais un code).
    Pour revenir en arrière, il suffit de refaire la même manipulation et soit saisir 4 dans la valeur, soit supprimer la valeur.

    Sous Linux
    Cela se passe (comme souvent) en ligne de commande:
    • Ouvrir une fenêtre console (ou terminal).
    • Saisir la commande sudo echo "2" > /proc/sys/net/ipv4/conf/eth0/force_igmp_version puis appuyer sur la touche entrée.
    Après cette manipulation, la version IGMP utilisée par Linux sera la v2.

    Pour revenir en arrière, il suffit de refaire la même manipulation en remplaçant le 2 par un 0 (valeur par défaut).

    Sous Mac OSX
    Sous Mac OSX (Snow Leopard), la version IGMP utilisée semble par défaut la v2, il n'est donc pas nécessaire de faire cette manipulation et il y a de fortes chances que si la lecture d'un flux IPTV n'est pas possible, cela vienne d'un autre problème.

    Commentaires

    Posts les plus consultés de ce blog

    Importer les contacts Outlook dans le Carnet d'Adresses de Mac OS X

    Découverte de la connexion fibre du SIEA/RESO-LIAin

    SIEA/RESO-LIAin: regarder la télévision sur son ordinateur