Brevet FR2866498A1 — publié le 20050819

Méthode de transmission d'un flux multipoint dans un réseau local et dispositif de connexion implémentant la méthode. La présente invention concerne la transmission d'un flux multipoint sur un réseau et plus particulièrement la manière de fiabiliser la distribution de ce flux sur un réseau local dans le cas où le mécanisme de distribution multipoint de ce flux se révèle non sûr sur le réseau local. Sur les réseaux de transfert d'informations par paquets, comme par exemple Internet, les réseaux locaux IP ou autres, on trouve plusieurs mode de transfert des informations. Ces modes peuvent se classer dans trois catégories en fonction du nombre d'émetteurs et de récepteurs engagés dans cette transmission. On trouve d'abord la transmission point à point ( unicast en anglais) qui permet à un émetteur d'envoyer un paquet d'information à destination d'un récepteur unique identifié par son adresse sur le réseau. C'est le mode de transmission utilisé par les protocoles les plus populaires du réseau Internet comme le protocole de transfert des pages Web HTTP ( Hyper Text Transfer Protocol en anglais) ou le protocole de transfert de fichiers FTP ( File Transfer Protocol en anglais). Un autre mode de transmission consiste, pour un émetteur à transmettre un paquet en mode de diffusion générale ( multicast en anglais). Dans ce mode, le paquet émis par l'émetteur est émis à destination de tous les noeuds du réseau. Ce mode n'est pas disponible sur Internet mais se retrouve sur les réseaux locaux. Le troisième mode consiste pour un émetteur ou un groupe d'émetteurs, à transmettre un paquet à destination d'un groupe de récepteurs, dans un mode de transmission multipoint ( multicast en anglais). Dans ce mode les paquets sont émis à destination d'une adresse dite adresse de diffusion multipoint et seront acheminés à destination de tous les destinataires appartenant au groupe de diffusion. On dira d'un client qui rejoint un groupe de diffusion qu'il s'abonne au groupe et d'un client qui quitte le groupe qu'il se désabonne du groupe. Le mode de diffusion multipoint est utilisé dans la pratique pour économiser la bande passante intermédiaire dans le réseau lorsqu'une source émet des données vers un groupe de destinataires. En effet, dans ce cas, l'utilisation d'un mode de transmission point à point implique que les données soient envoyées autant de fois qu'il y a de destinataires. Ce mode entraîne la duplication des paquets sur les parties du réseau communes aux chemins entre la source et les différents destinataires. Au contraire la diffusion multipoint permet de n'envoyer les données qu'une fois, ces données étant dupliquées sur les routeurs du réseau, en fonction des chemins menant aux destinataires appartenant au groupe de diffusion. La figure la illustre la diffusion d'un paquet de données P émis par un noeud S , source des informations, à destination des noeuds A , B et C . On voit que le paquet P est dupliqué trois fois entre le noeud S et le routeur RI , deux fois entre les routeurs R1 et R2 dans le cas du transfert point à point et ne l'est pas dans le cas du transfert multipoint illustré par la figure 1 b. Dans ce cas, un seul paquet P est émis par la source S , le routeur R1 sait que le paquet doit être retransmis sur deux branches sur trois en direction du noeud A et du routeur R2 qui lui-même le transmet aux clients B et C membres du groupe. Le paquet n'est pas envoyé en direction des noeuds D et E qui ne sont pas membres du groupe de diffusion. Un réseau local comprend généralement une passerelle reliant le réseau local proprement dit et le réseau extérieur, généralement Internet. A cette passerelle sont connectés, suivant plusieurs technologies possibles comme Ethernet, IEEE 1394 ou des technologies de connexion sans fil par radio différents appareils locaux. Ces appareils peuvent accéder au réseau extérieur via la passerelle fonctionnant en routeur entre le réseau local et le réseau extérieur. Lorsqu'un appareil local, le client, souhaite rejoindre un groupe de diffusion de données multipoint, il s'abonne à l'adresse de diffusion multipoint, par exemple selon le protocole de gestion de groupes Internet IGMP ( Internet Group Management Protocol en anglais), protocole connu sous la référence RFC 3376 auprès de I'IETF ( Internet Engineering Task Force ). Suite à cet abonnement, le noeud est reconnu comme membre du groupe de diffusion et les paquets correspondants à ce flux, et diffusés en multipoint, sont routés depuis Internet, via la passerelle, vers ce client. II se trouve que sur le réseau local, selon la technologie utilisée, la diffusion multipoint n'est pas toujours effectuée de manière sûre. Par exemple, dans le cas où le réseau local serait un réseau sans fil fonctionnant 2866498 3 selon un protocole de la famille 802.11 en version a, b ou g, l'intégrité du paquet transmis est testée et les paquets non intègres sont écartés mais non retransmis. Ils sont perdus. L'invention permet d'améliorer la fiabilité de la diffusion des paquets multipoints entre la passerelle et le client final destinataire de ces paquets sur un réseau local. Cette fiabilité est assurée par la transformation à la volée de ces paquets de diffusion multipoint en paquets de diffusion point à point avant de les émettre vers leur destinataire. En effet sur ces même réseaux, la transmission des paquets selon la méthode point à point est, elle, sécurisée et un mécanisme prévoit la retransmission des paquets non intègres entre la passerelle et le client. Pour ce faire la passerelle intercepte les requêtes d'abonnement d'un client à une adresse de diffusion multipoint de façon à maintenir une association entre lesdites adresses et les clients abonnés. Dans un second temps, la passerelle intercepte les paquets diffusés en multipoint à ces adresses et les émet en point à point à destination des clients abonnés. Les problèmes exposés précédemment sont résolus par une méthode de transmission de paquets diffusés en mode multipoint par un dispositif de connexion entre un premier réseau et un second réseau, les paquets multipoint provenant du second réseau à destination de clients du premier réseau caractérisée en ce qu'elle comporte une étape de réception de paquets multipoints et l'envoi selon un mode de diffusion point à point d'au moins certains paquets diffusés en mode multipoint à au moins un des clients du premier réseau abonnés au groupe de diffusion. Selon un mode de réalisation particulier de l'invention la méthode comprend une étape de détermination des adresses des clients du premier réseau abonnés au groupe de diffusion par l'utilisation de moyens d'association associant à chaque adresse de diffusion multipoint, à laquelle au moins un client du premier réseau est abonné, les adresses des clients abonnés à cette adresse. la méthode comprend une étape de mise à jour des informations des moyens d'association par analyse des messages d'abonnement transmis au second réseau par les clients du premier réseau. Selon un mode de réalisation particulier de l'invention le premier réseau ne comprenant qu'un client, les paquets diffusés en mode multipoint sont directement transmis en mode point à point à cet unique client. Selon un mode de réalisation particulier de l'invention le premier réseau est un réseau sans fil implémentant au moins un protocole de la famille 802.11 et où le dispositif de connexion est le point d'accès de ce réseau sans fil. Les problèmes sont également résolus par un dispositif de connexion entre un second réseau et un premier réseau possédant des moyens de transmission des paquets reçus en mode multipoint du second réseau à destination de clients du premier réseau abonnés au groupe de diffusion caractérisé en ce que ces moyens de transmission comportent des moyens de transmission en mode point à point desdits paquets aux clients abonnés. Selon un mode de réalisation particulier de l'invention le dispositif 20 de connexion comporte des moyens d'association entre les adresses de diffusion multipoint et les adresses des clients abonnés. Selon un mode de réalisation particulier de l'invention les moyens d'association comportent des moyens d'analyse des messages envoyés par 25 les clients pour gérer leur abonnement aux groupes de diffusion multipoint. L'invention sera mieux comprise, et d'autres particularités et avantages apparaîtront à la lecture de la description qui va suivre, la description faisant référence aux dessins annexés parmi lesquels: La figure la illustre le fonctionnement d'une diffusion point à point d'un paquet vers trois destinataires de manière connue. La figure 1 b illustre le fonctionnement de la même distribution en mode multipoint de manière connue. La figure 2 illustre un réseau fonctionnant selon un exemple de réalisation de l'invention. La figure 3 détaille les étapes du traitement par la passerelle d'un rapport IGMP d'un client à une diffusion multipoint selon l'exemple de réalisation de l'invention. La figure 4 détaille les étapes du traitement d'un paquet diffusé en multipoint par cette passerelle. La figure 5 détaille l'architecture d'une passerelle fonctionnant selon l'exemple de réalisation de l'invention. La figure 6 illustre un réseau local possédant plusieurs points d'accès dans le cadre de l'exemple de réalisation de l'invention. La figure 7 illustre l'architecture logicielle de l'implémentation de l'exemple de réalisation de l'invention. L'invention est donc une méthode de transformation à la volée d'un flux multipoint arrivant sur la passerelle d'un réseau local et à destination d'un client du réseau local en un flux point à point. La transformation a lieu, par exemple, sur la passerelle, en tout cas de manière générale, sur un appareil par lequel circule le trafic IP à destination des appareils du réseau local. L'exemple de réalisation qui va suivre se place dans le cas où le réseau serait un réseau sans fil selon un protocole de la famille 802.11. Cet exemple est non limitatif et l'invention peut être utilisée avec d'autres types de réseaux locaux. La figure 2 illustre le réseau de l'exemple de réalisation de l'invention. On y trouve tout d'abord des sources de données SI, S2 et S3, référencées 2.10, 2.11 et 2.12, qui sont des serveurs de contenus. Ces serveurs sont connectés à un réseau externe, ici Internet, référencé 2.9. Du côté de l'utilisateur on va trouver un réseau local sans fil référencé 2.4 reliant des clients A, B et C, référencés 2.6, 2.7 et 2.8, et un point d'accès servant de passerelle, référencé 2.5, reliant le réseau local à internet. Le réseau local sans fil est un réseau selon un protocole de la famille 802.11 mais pourrait être basé sur une autre technologie. Il se trouve que le problème de la fiabilité se pose de manière plus aiguë dans le cas d'un réseau sans fil que dans le cas d'un réseau filaire comme un réseau Ethernet par exemple. Les clients A, B et C sont donc des clients potentiels pour les informations diffusées par les serveurs SI, S2 et S3. Ces clients vont se connecter à ces diffusions par exemple en utilisant le protocole IGMP. Les clients vont donc signaler leur abonnement à une diffusion sous la forme de rapport IGMP ( IGMP report message en anglais). La passerelle quand elle reçoit ce rapport va elle même émettre un rapport du même type à destination des routeurs auxquels elle est connecté. De cette façon l'information permettant de router le flux multipoint vers le destinataire va se propager parmi les routeurs. Ces rapports IGMP vont être interceptés par le point d'accès qui va maintenir une table associant d'une part l'adresse de diffusion multipoint présente dans le champ adresse source du rapport IGMP et l'adresse MAC ( Medium Access Control en anglais) d'origine du rapport. L'exemple de réalisation de l'invention décrit une table, mais il apparaîtra à l'homme du métier que tout autre manière de gérer cette association entre une adresse de diffusion multipoint et les adresses des clients du réseau local peut convenir, comme par exemple une liste, une table de hachage ou autres. L'analyse du rapport proprement dit permet de savoir si le client rejoint ou quitte le groupe de diffusion et de modifier la table en conséquence. Ensuite un filtre implémenté dans la couche IP du point d'accès va traiter à la volée les paquets IP multipoint pour les transformer en paquets point à point au niveau MAC. Les paquets vont donc être interceptés et traités par le filtre selon l'exemple de réalisation pendant leur transit sur la passerelle. Un paquet multipoint, référencé 2.1, va être détecté et transformé en deux paquets point à point, référencés 2.2 et 2.3, qui vont être envoyés aux clients A et B appartenant au groupe de diffusion. Un schéma illustrant les principales étapes du traitement par le point d'accès du rapport IGMP est détaillé figure 3. Dans le cas de l'exemple de réalisation décrit, la passerelle est le point d'accès du réseau sans fil auquel les clients vont se connecter, on dira s'associer dans le cas d'un réseau sans fil. Le traitement est implémenté sous la forme d'un filtre, référencé 5.12, au niveau de la couche MAC qui va détecter les paquets IP correspondant à des rapports IGMP en provenance des clients connectés au point d'accès. L'analyse de ces rapports permet d'en extraire l'adresse de diffusion multipoint et l'adresse MAC du client à l'origine du rapport. Tout rapport IGMP contient des enregistrements de groupe ( group record en anglais) indiquant soit le statut courant, soit le changement de statut de l'interface identifiée par l'adresse MAC quant à son appartenance au groupe de diffusion multipoint. Cette information est codée dans le champ type d'enregistrement ( record type en anglais) de l'enregistrement de groupe. Cette information va permettre de maintenir une table, référencée 5.10, sur la passerelle associant des adresses de diffusion multipoint et un ensemble d'adresses MAC correspondant aux interfaces des clients appartenant à ce groupe de diffusion. Outre ce mécanisme permettant d'effacer une association dans la table lors de l'envoi d'un rapport IGMP annonçant qu'un client quitte un groupe de diffusion multipoint, on peut prévoir d'effacer également une entrée correspondant à un client qui se désassocie du point d'accès. En effet le client quittant le réseau quitte, de ce fait, le groupe. Le traitement des paquets arrivant du réseau externe sur la passerelle en mode de diffusion multipoint peut se faire, par exemple, selon le schéma de la figure 4. Un filtre, référencé 5.11, est implémenté, par exemple, au niveau de la couche IP de la passerelle. Ce filtre va détecter tous les paquets arrivant en mode multipoint sur la passerelle. Pour chaque paquet de ce type arrivant, l'adresse de diffusion multipoint va être extraite. Cette adresse va être recherchée dans la table d'association référencée 5.10. Dans le cas où aucun enregistrement ne serait trouvé correspondant à cette adresse cela indique qu'aucun client du réseau sans fil n'appartient au groupe de diffusion, le paquet peut donc être oublié et ne sera pas transmis. Si un enregistrement est trouvé, le paquet IP de diffusion multipoint, ou un fragment de celui-ci, va être encapsulé dans au moins un paquet MAC qui sera envoyé à toutes les adresses MAC indiquées dans la table. Le mode de diffusion de ce paquet MAC va être le mode point à point. Le paquet MAC va donc être émis autant de fois qu'il y a de destinataires. De cette façon ces paquets vont bénéficier du mécanisme de correction des erreurs de ce mode de diffusion au niveau MAC. La référence de la couche MAC dans la famille de protocoles 802 est IEEE Std 802.11, 1999 Edition (Reaff 2003) . Ces paquets seront donc reçus par la couche MAC du client qui va en extraire le paquet IP multipoint et le passer à la couche IP. On voit donc que la méthode ne nécessite aucune modification du client. En effet, le mode point à point ne concerne que la couche MAC. Le paquet IP transmis dans le paquet MAC reste-lui un paquet IP multipoint comme attendu par la couche IP et l'application à l'origine de la connexion. La figure 5 illustre l'architecture d'une passerelle fonctionnant selon l'exemple de réalisation de l'invention. La passerelle, référencée 5.1, comprend un processeur, référencé 5.3, capable d'exécuter des programmes stockés dans la mémoire morte, référencée 5.2 de l'appareil après les avoir transférés dans la mémoire vive, référencée 5.4. L'appareil possède au moins deux interfaces réseaux. L'une, référencée 5.5, autorise la connexion de l'appareil au réseau externe, référencé 5.9, par exemple Internet. L'autre, référencée 5.6, pilote des moyens de transmission sans fil, référencés 5.7, permettant la connexion des clients du réseau local. Ces éléments communiquent via le bus référencé 5.8. Le processeur, 5.3, permet en particulier d'exécuter les couches réseaux dont la couche MAC et la couche IP contenant les filtres, référencés 5.11 et 5.12, selon l'exemple de réalisation de l'invention. Les moyens d'association entre les adresses MAC des clients et les adresses de diffusion multipoint sont représentés par une table d'association en mémoire vive référencée 5.10. La figure 7 détaille l'architecture logicielle de ces couches réseaux. Les couches réseaux, référencées 7.1 comprennent une couche physique, référencée 7.5 chargée de s'interfacer directement avec le médium de communication tant sans fil que la connexion au réseau externe qui peut être une connexion Ethernet ou ADSL par exemple. Juste au-dessus de la couche physique on trouve la couche MAC, référencée 7.4, qui apporte une abstraction de la couche physique réellement utilisée. C'est à ce niveau que se trouve implémenté le filtre sur les rapports IGMP, référencé 7.7. La pile IP, référencée 7.3 se trouve au-dessus de la couche MAC. C'est là que l'on va trouver le filtre des paquets IP multipoint référencé 7.6. Les applications, référencées 7.2, utilisent cette pile IP pour communiquer. Une alternative d'implémentation peut consister à transmettre les paquets multipoint reçus et ne correspondant à aucune association dans la table en mode multipoint aux clients. Dans le cas contraire la transmission multipoint au niveau MAC sur le réseau local peut être désactivée. Certains réseaux locaux sans fils peuvent contenir plusieurs points d'accès. Cette configuration est illustrée dans la figure 6. On voit un premier point d'accès API référencé 6.2 connecté à un réseau extérieur, ici Internet référencé 6.1. Ce premier point d'accès couvre une première zone d'accès appelée BSS1 ( Basic Service Set en anglais) référencée 6. 5. Dans BSS1 deux clients A et B, référencé 6.7 et 6.8, sont connectés au point d'accès API. Un deuxième point d'accès AP2, référencé 6.3, possède également une zone de couverture BSS2, référencée 6.6. Deux clients C et D, référencés 6.9 et 6.10, sont connectés à ce deuxième point d'accès AP2. Les deux points d'accès sont connectés entre eux par un réseau 6.4. Ce réseau peut être un réseau filaire tel que Ethernet, une liaison sans fil par radio distincte des réseaux constitués par les points d'accès et leurs clients. On peut également imaginer une solution où le second point d'accès AP2 est un client appartenant à la zone BSS1 du premier point d'accès. Le fonctionnement de l'invention dans ce cadre d'un réseau local incluant plusieurs points d'accès va dépendre du mode de fonctionnement de ce deuxième point d'accès et de la façon dont le routage des paquets va se faire dans le réseau. Il faut distinguer deux cas, dans un premier cas, le point d'accès AP2 va fonctionner comme un routeur au niveau IP. Dans ce cas, AP2 va apparaître pour le point d'accès API comme un de ses clients. L'abonnement à une diffusion multipoint d'un client de AP2 va se traduire par l'abonnement de AP2 auprès de API pour cette diffusion. Les paquets multipoints reçus par API à destination de AP2 vont donc lui être transmis via une diffusion point à point au niveau MAC. Ces paquets seront reçus par AP2 au niveau IP comme des paquets multipoints normaux. Il est donc nécessaire d'implémenter l'invention également sur le point d'accès AP2 de façon à les transmettre en mode point à point aux clients de AP2. Dans un second cas, le point d'accès AP2 va se comporter comme un pont au dessus du niveau MAC, comme décrit dans la norme 802.1d. Dans ce cas, le réseau constitué derrière API est vu au niveau IP comme un seul réseau, la distribution des paquets par API aux clients finaux, les siens comme ceux situés derrière AP2 se fera au niveau MAC. Dans ce cas, API va transformer les paquets IP multipoints arrivant du réseau extérieur en paquets MAC point à point qui seront directement transmis au client final, directement ou via AP2, sans remonter au niveau IP. Les clients vont donc recevoir ces paquets en point à point qu'ils soient connectés à API ou à AP2. Dans ce cas l'invention fonctionne sans que AP2 ait à implémenter l'invention. Dans le cas de l'implémentation d'une fonction de nomadisme ( roaming en anglais) tel que décrite dans la norme 802.1 If qui permet à un client connecté à un point d'accès de se déconnecter et de se reconnecter à un nouveau point d'accès sans perdre ses connections IP. On se retrouve dans le second cas où le second point d'accès implémente un fonction de pont au niveau MAC. L'invention va donc fonctionner de manière transparente au niveau du second point d'accès. Dans ce cas l'invention va être implémentée sur chaque point d'accès. Un client se déassociant d'un point d'accès pour s'associer à un autre point d'accès va être déconnecté de toutes ses connexions IP courantes. Le nouveau point d'accès va naturellement prendre en charge le trafic multipoint à destination du client lorsque celui-ci va recréer ses connexions après son association à ce nouveau point d'accès. Dans le cas d'un réseau local les points d'accès peuvent implémenter des fonctions de nomadisme ( roaming en anglais). Dans ce cas un client qui change de point d'accès va pouvoir conserver ses connections IP. Ceci se passe par échange de données entre les points d'accès lors de la migration du client d'un point à un autre. Il est donc possible d'inclure dans les données que s'échangent les points d'accès lors de la migration les données de la table d'association le concernant. De cette façon le nouveau point d'accès du client peut prendre en charge le traitement des paquets multipoints destinés à ce client. Dans le cas d'un réseau minimal, où un seul client est connecté à la passerelle, il est possible de concevoir une implémentation simplifiée où le filtre sur les rapports IGMP dans la couche MAC de la passerelle ne sera pas nécessaire. Dans ce cas, la table d'association devient inutile. Seul le filtre sur les paquets IP multipoint présent dans la couche IP de la passerelle sera conservé en simplifiant son fonctionnement. La passerelle se contente d'émettre via le mode point à point de la couche MAC les paquets IP multipoint reçus à destination du seul client présent sur le réseau. Il apparaîtra à l'homme du métier que l'invention, bien que décrite ici dans le cadre de réseaux sans fils peut être adaptée à tout type de réseau local dans la mesure où celui-ci dispose d'un mode point à point immunisé contre la perte de paquets tandis que le mode multipoint ne l'est pas. De même, l'homme du métier pourra apporter des modifications à la façon d'implémenter l'association entre les adresses de diffusion et les clients ainsi que dans la méthode utilisée dans les filtres ou leur localisation sans sortir du cadre de l'invention. REVENDICATIONS 1. Méthode de transmission de paquets diffusés en mode multipoint (2.1) par un dispositif de connexion (2.5) entre un premier réseau (2.4) et un second réseau (2.9), lesdits paquets multipoint (2.1) provenant du second réseau (2.9) à destination de clients (2.6, 2.7) du premier réseau (2.4) caractérisée en ce qu'elle comporte les étapes suivantes: réception de paquets multipoints (4.1); l'envoi selon un mode de diffusion point à point d'au moins certains paquets diffusés en mode multipoint à au moins un des clients (2.6, 2.7) du premier réseau abonnés au groupe de diffusion (4.7). 2. Méthode selon la revendication 1 comprenant une étape (4.2, 4.3, 4.5) de détermination des adresses des clients du premier réseau abonnés au groupe de diffusion par l'utilisation de moyens d'association (5.10) associant à chaque adresse de diffusion multipoint, à laquelle au moins un client du premier réseau est abonné, les adresses des clients abonnés à cette adresse. 3. Méthode selon la revendication 2 comprenant une étape (fig. 3) de mise à jour des informations des moyens d'association par analyse des messages d'abonnement transmis au second réseau par les clients du premier réseau. 4. Méthode selon la revendication 1 où le premier réseau ne comprenant qu'un client, les paquets diffusés en mode multipoint sont directement transmis en mode point à point à cet unique client. 5. Méthode selon l'une des revendications 1 à 4 où le premier réseau est un réseau sans fil implémentant au moins un protocole de la famille 802. 11 et où le dispositif de connexion est le point d'accès de ce réseau sans fil. 35 6. Dispositif de connexion entre un second réseau (2.9) et un premier réseau (2.4) possédant des moyens de transmission des paquets reçus en mode multipoint du second réseau à destination de clients (2.6, 2.7) du premier réseau abonnés au groupe de diffusion caractérisé en ce que ces moyens de transmission comportent des moyens de transmission en mode point à point desdits paquets aux clients abonnés. 7. Dispositif de connexion selon la revendication 6 comportant des moyens d'association (5.10) entre les adresses de diffusion multipoint et les adresses des clients abonnés. 8. Dispositif de connexion selon la revendication 7 où les moyens d'association comportent des moyens d'analyse (5.3, 5.12) des messages envoyés par les clients pour gérer leur abonnement aux groupes de diffusion multipoint.