Gestion du désabonnement Multicast

<< Click to Display Table of Contents >>

Navigation:  Informations techniques >

Gestion du désabonnement Multicast

Précisions sur la nouvelle version de NDASocket v8.0.1.18 :

 

L’objet de cette release est d’essayer d’empêcher les sockets multicast d’être désabonnées "extérieurement" et de manière transparente, par certains équipements réseaux.

 

Deux stratégies différentes ont été implémentées dans NDASocket :

 

1.Option UDP_SAFETY_MULTICAST_RESET.

 

Lorsque ce paramètre est à YES, les socket multicast UDP sont recréées périodiquement. Cette fonctionnalité utilise le paramètre UDP_SAFETY_MULTICAST_PERIOD_IN_SECONDS (defaut = 300) Ce paramètre de la registry définit la période utile à la fonctionnalité.

 

Cette option a été modifiée dans la dernière version avec l’ajout d'une instruction DROP_MEMBERSHIP désabonnant l'ancienne socket juste avant le ADD_MEMBERSHIP de la nouvelle socket. Cette modification est nécessaire, car sans ça, le ADD_MEMBERSHIP est ignoré par la pile IP qui considère à juste titre qu’on est déjà abonné, ce qui rend l’option caduque. Cette modification a par contre l’inconvénient de rendre la socket « sourde » pendant quelques cycles…

 

2.Option FILL_ARP_CACHE.

 

Elle permet pour les sockets multicast d'envoyer périodiquement une petite trame composée de la chaine de caractères "ARP" afin de forcer une nouvelle résolution de nom au niveau de la table ARP. Cette option s'active par la nouvelle clé de registry FILL_ARP_CACHE_PERIOD_IN_SECONDS (0 = désactivé, autre valeur = activé).

Les trames "ARP" sont totalement ignorées par tout NDASocket les recevant (elles sont juste visibles dans les logs en mode FULL_TRACE)

 

Remarque : L’ancienne option FILL_ARP_CACHE_IF_NEEDED est maintenue pour des raisons historiques mais n’a probablement plus lieu d’être activé sur les Windows >= 8. Elle implémentait un contournement pour un vieux bug spécifique de la pile IP (Numéro d'article: 233401        "Les UDP datagramme peuvent être rejetés en mode silencieux si supérieurs à MTU")