Brevet FR3009162A1 — publié le 20150130

PROCÉDÉ ET DISPOSITIF DE CONTRÔLE DE LA TRANSMISSION DE TRAMES PAR REMPLACEMENT DE L'ADRESSE POINT À MULTIPOINTS PAR UNE ADRESSE POINT À POINT L'invention concerne les réseaux de communication, et plus précisément le contrôle de la transmission de trames de type point à multipoints dans de tels réseaux de communication. Certains réseaux de communication permettent à certains équipements (de communication) de transmettre des trames de données (ou paquets) selon un mode dit « point à multipoints » de sorte qu'elles soient transmises soit à tous les équipements de réseau d'un domaine de diffusion (on parle alors de « broadcasting »), soit seulement à tous les équipements d'un groupe de diffusion (on parle alors de « multicasting »). Ce mode de transmission s'avère particulièrement avantageux lorsque le nombre d'équipements effectivement concernés par une trame est important. Mais, comme le sait l'homme de l'art, cela n'est plus le cas lorsqu'une trame ne concerne qu'un petit nombre d'équipements, voire un unique équipement. C'est par exemple le cas des trames que s'échangent des équipements et qui sont destinées à permettre une découverte automatique (par exemple de paramètres réseau (protocole DHCP), ou pour résoudre des adresses IP (protocole ARP), ou encore pour accéder à des ressources partagées (protocole uPNP, ou CIFS/SMB, par exemple)). En effet, dans ce cas cela induit inutilement une surcharge du réseau de communication, voire une saturation. De plus, lorsqu'une trame est transmise en mode point à multipoints, la probabilité qu'elle soit interceptée par un tiers malveillant prenant la place de l'équipement destinataire est importante. L'invention a donc pour but d'améliorer la situation, et notamment de réduire notablement le nombre de trames qui sont destinées à un unique équipement, alors même que ces trames comportent initialement une adresse point à multipoints. Elle propose notamment à cet effet un procédé, dédié au contrôle de la transmission de trames de données dans un réseau de communication entre des équipements de réseau, et comprenant une étape dans laquelle : - on analyse dans l'un au moins des équipements de réseau des trames qui sont en transit de manière à détecter celles qui comportent une adresse de type point à multipoints, puis - on remplace dans chaque trame détectée son adresse point à multipoints par une adresse de type point à point (ou « unicast ») en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements de réseau situés en aval par rapport à un sens de transmission des trames analysées, afin de la retransmettre vers un unique équipement destinataire désigné par l'adresse point à point qu'elle contient désormais. On évite ainsi de multiplier inutilement une trame comprenant une adresse point à multipoints lorsqu'elle n'est destinée dans la réalité qu'à un unique équipement de communication, ce qui permet avantageusement de ne pas surcharger le réseau de communication. Le procédé de contrôle selon l'invention peut comporter d'autres caractéristiques qui peuvent être prises séparément ou en combinaison, et notamment : - on peut remplacer dans chaque trame détectée désignant un service son adresse point à multipoints par une adresse point à point associée à ce service en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements de réseau associés à des services et situés en aval par rapport à un sens de transmission des trames ; - chaque table de correspondance peut être transmise à l'équipement de réseau concerné par un équipement de gestion, via le réseau de communication, lors d'une phase préliminaire de configuration ; - on peut remplacer des adresses point à multipoints qui concernent un domaine de diffusion (« broadcast »), et/ou au moins un groupe de diffusion (« multicast »). L'invention propose également un produit programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre un procédé de contrôle du type de celui présenté ci-avant pour contrôler la transmission de trames de données dans un réseau de communication entre des équipements de communication. L'invention propose également un dispositif, destiné à contrôler la transmission de trames de données dans un réseau de communication entre des équipements de communication, et comprenant : - des moyens d'analyse agencés pour analyser dans l'un des équipements de communication des trames en transit de manière à détecter celles qui comportent une adresse de type point à multipoints, et - des moyens de traitement agencés pour remplacer dans chaque trame détectée son adresse point à multipoints par une adresse de type point à point en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements de réseau situés en aval par rapport à un sens de transmission des trames analysées, afin qu'elle soit retransmise vers un unique équipement destinataire désigné par l'adresse point à point qu'elle contient désormais. L'invention propose également un équipement de communication, propre à faire partie d'un réseau de communication, et comprenant au moins un dispositif de contrôle du type de celui présenté ci-avant. Un tel équipement peut, par exemple, être un terminal ou un aiguilleur (commutateur réseau, concentrateur réseau ou routeur). D'autres caractéristiques et avantages de l'invention apparaîtront à l'examen de la description détaillée ci-après, et des dessins annexés, sur lesquels : - la figure 1 illustre de façon schématique et fonctionnelle un réseau de communication comprenant des équipements de communication qui, pour certains d'entre eux, sont équipés d'un dispositif de contrôle selon l'invention, et - la figure 2 illustre un exemple d'algorithme mettant en oeuvre un procédé de contrôle selon l'invention. L'invention a notamment pour objet de proposer un procédé de contrôle, et un dispositif de contrôle D associé, destinés à permettre un contrôle de la transmission de trames de données entre des équipements de réseau Tj, Ak, Sn d'un réseau de communication RC. On a schématiquement illustré sur la figure 1 un exemple non limitatif de réseau de communication RC comprenant des équipements de communication Tj, Ak et Sn interconnectés entre eux. Ces équipements de communication sont d'au moins trois types, à savoir des terminaux Tj, appartenant à des usagers (particuliers) ou à des entreprises, des aiguilleurs Ak et des serveurs de service(s) Sn. Les terminaux Tj (ici j = 1 à 5) peuvent être, par exemple, des calculateurs haute performance fonctionnant en parallèle ou en série selon les besoins. On notera que le nombre de terminaux Tk peut être inférieur ou supérieur à 5 (dans le cas de calculateurs, il peut parfois être supérieur à plusieurs milliers). Les aiguilleurs Ak (ici k = 1 à 3) sont chargés d'aiguiller les trames qu'ils reçoivent (et donc qui sont en transit) en fonction des adresses (de communication) qu'elles comprennent. Il s'agit de commutateurs réseau, de concentrateurs réseau (ou « hubs »), ou de routeurs. On notera que le nombre d'aiguilleurs Ak peut être inférieur ou supérieur à 3. On notera que dans l'exemple non limitatif illustré sur la figure 1, les serveurs de service(s) Sn (n = 1 ou 2) sont connectés à des aiguilleurs Ak différents (ici Al et A2). Mais ils pourraient être connectés à un même aiguilleurs Ak. Ces serveurs de service(s) Sn sont par exemple destinés à fournir à certains équipements de communication (et notamment aux terminaux Tj) des informations utiles à une découverte automatique (par exemple de paramètres réseau (protocole DHCP), ou pour résoudre des adresses IP (protocole ARP), ou encore pour accéder à des services réseau (ressources partagées ou serveurs de données, via le protocole uPNP ou SMB/CIFS ou Zeroconf, par exemple)). Comme indiqué plus haut, l'invention propose un procédé destiné à permettre le contrôle de la transmission de trames entre les équipements (de communication) Tj, Ak et Sn du réseau de communication RC Ce procédé comprend une étape qui peut être mise en oeuvre par un dispositif de contrôle D selon l'invention. Dans l'exemple non limitatif illustré sur la figure 1, chaque terminal Tj et chaque aiguilleur Ak est équipé d'un dispositif de contrôle D. Cela est avantageux car cela permet de réduire au maximum le nombre de trames transmises dans le réseau (de communication) RC. Mais cela n'est pas obligatoire. En effet, l'invention peut être mise en oeuvre si au moins un terminal Tj est équipé d'un dispositif de contrôle D et/ou si au moins un aiguilleur Ak est équipé d'un dispositif de contrôle D. 1 o On notera que chaque dispositif de contrôle D peut être réalisé soit sous la forme de modules logiciels (ou informatiques, ou encore « software ») ; on est alors en présence d'un produit programme d'ordinateur comprenant un jeu d'instructions qui, lorsqu'il est exécuté par des moyens de traitement de type circuits électroniques (ou « hardware »), est propre à 15 mettre en oeuvre le procédé de contrôle (au moins partiellement), soit sous la forme d'une combinaison de modules logiciels et de circuits électroniques. L'étape du procédé selon l'invention comprend des première et seconde parties. Durant la première partie on analyse dans l'un au moins des 20 équipements de réseau Tj et Ak (ici dans tous) des trames qui sont en transit afin de détecter celles qui comportent une adresse (de destination) de type point à multipoints. Cette première partie est désignée par la référence 10 dans l'exemple d'algorithme de mise en oeuvre du procédé selon l'invention qui est illustré sur la figure 2. Par ailleurs, cette première partie est réalisée 25 par des moyens d'analyse MA que comprend chaque dispositif (de contrôle) D, et qui constituent une espèce de filtre. On notera que les adresses (de destination) point à multipoints qui sont détectées (ou filtrées) peuvent concerner soit un domaine de diffusion (« broadcast »), soit au moins un groupe de diffusion (« multicast »). 30 Durant la seconde partie de l'étape on commence par remplacer à la volée dans chaque trame qui a été détectée l'adresse (de destination) point à multipoints qu'elle comprend par une adresse (de destination) de type point à point (ou « unicast »), en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements Tj et Sn situés en aval par rapport au sens de transmission des trames. Par exemple, durant cette seconde partie de l'étape on peut commencer par remplacer à la volée dans chaque trame qui a été détectée et qui désigne un service l'adresse (de destination) point à multipoints qu'elle comprend par une adresse (de destination) point à point (ou « unicast ») associée à ce service, en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements Tj et Sn associés à des services et situés en aval par rapport au sens de transmission des trames. Cette première sous-partie de la seconde partie de l'étape est désignée par la référence 20 dans l'exemple d'algorithme de la figure 2. Par ailleurs, cette première sous-partie de la seconde partie de l'étape est réalisée par des moyens de traitement MT que comprend chaque dispositif D. Cette première sous-partie de la seconde partie de l'étape est désignée par la référence 20 dans l'exemple d'algorithme de la figure 2. Par ailleurs, cette première sous-partie de la seconde partie de l'étape est réalisée par des moyens de traitement MT que comprend chaque dispositif D. On notera que chaque dispositif D peut comprendre des moyens de stockage dans lesquels il stocke au moins une table de correspondance qui est dédiée (au moins) à l'équipement Tj ou Ak dont il fait partie. Cette table de correspondance peut être transmise à cet équipement Tj ou Ak par un équipement de gestion EG, via le réseau RC, lors d'une phase préliminaire de configuration. A cet effet, l'équipement de gestion EG est connecté à l'un des équipements Tj et Ak. Ici, l'équipement de gestion EG est connecté à l'aiguilleur A1. Mais il pourrait être connecté à un autre aiguilleur. Chaque phase préliminaire de configuration est de préférence sécurisée. Dans ce cas, les équipements Tj et/ou Ak qui comprennent un dispositif D peuvent également comporter un module de configuration propre à échanger des données avec l'équipement de gestion EG, par exemple en utilisant au moins une clé de cryptage. Ce module de configuration peut éventuellement faire partie du dispositif D. On notera que lorsque ce ne sont que les aiguilleurs Ak qui sont équipés d'un dispositif D, l'équipement de gestion EG peut être connecté aux aiguilleurs Ak via un réseau sécurisé différent du réseau de communication RC. On comprendra que chaque table de correspondance associée à un équipement Tj ou Ak est destinée à être utilisée lorsque cet équipement Tj ou Ak doit transmettre ou retransmettre une trame, et non pas lorsqu'il est le destinataire final de cette trame. Par conséquent, chaque table de correspondance associée à un équipement Tj ou Ak sert à établir une correspondance entre au moins une adresse broadcast (ou multicast) (éventuellement associée à au moins un service) et au moins une adresse point à point (ou unicast) concernant un équipement Tj' (j' # j) ou Sn éventuellement associé à ce même service et situé en aval de cet équipement Tj ou Ak par rapport au sens de transmission des trames. Par exemple, si une table de correspondance est dédiée à un terminal Tj qui est impliqué dans deux services associés respectivement à deux serveurs de service(s) (par exemple S1 et S2), alors elle comprendra une première correspondance entre l'adresse de diffusion des équipements Tj', Ak et Sn et l'adresse unicast du premier serveur de service(s) Si, et une seconde correspondance entre l'adresse de diffusion des équipements Tj', Ak et Sn et l'adresse unicast du second serveur de service(s) S2. Dans ce cas, lorsque le terminal Tj doit transmettre une trame contenant l'adresse de diffusion des équipements Tj', Ak et Sn, associée à un service offert par le premier serveur de service(s) Si, son dispositif D va remplacer à la volée cette adresse de diffusion par l'adresse unicast du premier serveur de service(s) Si. De même, lorsque le terminal Tj doit transmettre une trame contenant l'adresse de diffusion des équipements Tj', Ak et Sn, associée à un service offert par le second serveur de service(s) S2, son dispositif D va remplacer à la volée cette adresse de diffusion par l'adresse unicast du second serveur de service(s) S2. On notera que la configuration peut être différente d'un terminal Tj à l'autre (Tj'), et donc les tables de correspondance peuvent varier d'un terminal Tj à l'autre (Tj'). Ensuite, la seconde partie de l'étape se poursuit par une seconde sous-partie dans laquelle l'équipement Tj ou Ak, dont le dispositif D vient de procéder au remplacement d'adresse dans une trame, retransmet vers l'unique équipement destinataire Tj ou Sn qui est désigné par l'adresse point à point qu'elle contient désormais. Cette seconde sous-partie de la seconde partie de l'étape est désignée par la référence 30 dans l'exemple d'algorithme de la figure 2. Ainsi, on évite de multiplier inutilement une trame comprenant une adresse point à multipoints lorsqu'elle n'est destinée dans la réalité qu'à un unique équipement Tj ou Sn, ce qui permet avantageusement de ne pas io surcharger le réseau RC et d'éviter certaines interceptions de trames par des tiers malveillants. L'invention ne se limite pas aux modes de réalisation de procédé de contrôle, de dispositif de contrôle, et d'équipement de communication décrits ci-avant, seulement à titre d'exemple, mais elle englobe toutes les variantes 15 que pourra envisager l'homme de l'art dans le cadre des revendications ci- après. REVENDICATIONS1. Procédé de contrôle de la transmission de trames de données dans un réseau de communication (RC) entre des équipements de réseau (Tj, Ak, Sn), caractérisé en ce qu'il comprend une étape dans laquelle on analyse dans l'un au moins desdits équipements de réseau (Tj, Ak) des trames en transit de manière à détecter celles qui comportent une adresse de type point à multipoints, puis on remplace dans chaque trame détectée son adresse la point à multipoints par une adresse de type point à point en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements de réseau (Tj, Sn) et situés en aval par rapport à un sens de transmission desdites trames, afin de la retransmettre vers un unique équipement destinataire désigné par l'adresse 15 point à point qu'elle contient désormais. 2. Procédé selon la revendication 1, caractérisé en ce que l'on remplace dans chaque trame détectée désignant un service son adresse point à multipoints par une adresse point à point associée audit service en fonction d'une table de correspondance entre des adresses multipoints et des 20 adresses point à point concernant des équipements de réseau (Tj, Sn) associés à des services et situés en aval par rapport à un sens de transmission desdites trames. 3. Procédé selon l'une des revendications 1 et 2, caractérisé en ce que chaque table de correspondance est transmise audit équipement de réseau 25 (Tj, Ak) concerné par un équipement de gestion (EG), via ledit réseau de communication (RC), lors d'une phase préliminaire de configuration. 4. Procédé selon l'une des revendications 1 à 3, caractérisé en ce que l'on remplace des adresses point à multipoints concernant un domaine de diffusion. 30 5. Procédé selon l'une des revendications 1 à 4, caractérisé en ce que l'on remplace des adresses point à multipoints concernant au moins un groupe de diffusion. 6. Produit programme d'ordinateur comprenant un jeu d'instructionsqui, lorsqu'il est exécuté par des moyens de traitement, est propre à mettre en oeuvre le procédé selon l'une des revendications précédentes pour contrôler la transmission de trames de données, dans un réseau de communication (RC), entre des équipements de communication (Tj, Ak, Sn). 7. Dispositif (D) pour contrôler la transmission de trames de données dans un réseau de communication (RC) entre des équipements de communication (Tj, Ak, Sn), caractérisé en ce qu'il comprend i) des moyens d'analyse (MA) agencés pour analyser dans l'un desdits équipements de communication (Tj, Ak) des trames en transit de manière à détecter celles qui comportent une adresse de type point à multipoints, et ii) des moyens de traitement (MT) agencés pour remplacer dans chaque trame détectée son adresse point à multipoints par une adresse de type point à point en fonction d'une table de correspondance entre des adresses multipoints et des adresses point à point concernant des équipements de réseau (T, Sn) situés en aval par rapport à un sens de transmission desdites trames, afin qu'elle soit retransmise vers un unique équipement destinataire désigné par l'adresse point à point qu'elle contient désormais. 8. Equipement de communication (Tj, Ak) propre à faire partie d'un réseau de communication (RC), caractérisé en ce qu'il comprend au moins un dispositif de contrôle (D) selon la revendication 7. 9. Equipement selon la revendication 8, caractérisé en ce qu'il est choisi dans un groupe comprenant au moins un terminal (Tj) et un aiguilleur (Ak).