FR2930100A1 - Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants - Google Patents

Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants Download PDF

Info

Publication number
FR2930100A1
FR2930100A1 FR0852389A FR0852389A FR2930100A1 FR 2930100 A1 FR2930100 A1 FR 2930100A1 FR 0852389 A FR0852389 A FR 0852389A FR 0852389 A FR0852389 A FR 0852389A FR 2930100 A1 FR2930100 A1 FR 2930100A1
Authority
FR
France
Prior art keywords
tunnel
head
relay
network
tunnel head
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0852389A
Other languages
English (en)
Other versions
FR2930100B1 (fr
Inventor
Philippe Boucachard
Du Fretay Tristan Halna
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to FR0852389A priority Critical patent/FR2930100B1/fr
Priority to US12/418,405 priority patent/US8326994B2/en
Publication of FR2930100A1 publication Critical patent/FR2930100A1/fr
Application granted granted Critical
Publication of FR2930100B1 publication Critical patent/FR2930100B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/46Interconnection of networks
    • H04L12/4633Interconnection of networks using encapsulation techniques, e.g. tunneling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/02Topology update or discovery
    • H04L45/028Dynamic adaptation of the update intervals, e.g. event-triggered updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/18Loop-free operations

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

Il est proposé un procédé d'établissement d'un chemin de communication entre un premier sous-réseau de communication et un second sous-réseau de communication par l'intermédiaire d'un troisième sous-réseau de communication, dit sous-réseau intermédiaire, dans un réseau étendu de communication (3000).Plus précisément, pour établir le chemin de communication, une tête de tunnel d'entrée (320) dudit sous-réseau intermédiaire comprenant au moins deux têtes de tunnel :- réceptionne, en provenance d'un tunnel de ladite tête de tunnel d'entrée, un message d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée ;- détermine une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie (321), impliquée dans le relais local ;- active le relais pour une partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau ;- transmet le message d'activation de relais vers ladite tête de tunnel de sortie (321).

Description

Procédé d'établissement d'un chemin de communication dans un réseau étendu de communication, têtes de tunnel, produit programme d'ordinateur et moyen de stockage correspondants. 1. DOMAINE DE L'INVENTION Le domaine de l'invention est celui des réseaux de communication. Plus précisément, l'invention concerne une technique permettant la constitution, au sein d'une communauté, d'un réseau étendu de communication constitué d'un ensemble de réseaux locaux, l'interconnexion de ces réseaux locaux étant réalisée pour chacun de ces réseaux locaux par des tunnels et des mécanismes de relais entre tunnels, ces mécanismes étant activés en évitant la formation de boucles de chemin de données au sein de la communauté de réseau ainsi créée. 2. ARRIÈRE-PLAN TECHNOLOGIQUE De manière connue, la technologie des Réseaux Privés Virtuels (RPV, ou VPN pour Virtual Private Network en anglais) permet de communiquer à distance avec les équipements d'un réseau local (LAN pour Local Area Network en anglais) à partir d'un équipement autonome ou indépendant ( stand-alone device en anglais), et permet aussi de mettre en relation deux réseaux locaux LAN de manière à ce que leurs équipements puissent communiquer de manière transparente comme s'ils étaient connectés au même réseau local LAN.
La mise en oeuvre de RPV permet, par exemple, la communication en temps réel et de manière sécurisée entre des individus partageant un même domaine d'intérêt tout en utilisant l'infrastructure réseau Internet peu sûre mais bon marché. Considérons un ensemble de maisons ou d'immeubles de bureaux, communiquant entre eux et constituant une communauté de sites géographiquement distants, chaque site étant équipé d'un réseau local LAN sur lequel des terminaux Ethernet sont connectés. Ces réseaux locaux sont constitués d'un ensemble de segments Ethernet éventuellement interconnectés entre eux par des ponts locaux (ou local bridges en anglais). Chaque site membre d'une communauté est connecté à un ou plusieurs autres sites distants membres de cette même communauté au moyen d'au moins un réseau de type WAN (pour Wide Area Network en anglais) ou de type MAN (pour Metropolitan Area Network en anglais) auquel il est raccordé par une interface spécifique, conforme aux spécifications des protocoles usités sur ce réseau WAN ou sur ce réseau MAN. Classiquement, des réseaux LAN appartenant à des sites distants distincts sont interconnectés dynamiquement entre eux à l'exécution de demandes de communication en provenance des applications s'exécutant sur les terminaux Ethernet. Ces réseaux locaux communiquent alors par l'intermédiaire de ponts distants (ou Remote Bridge en anglais). Les ponts distants sont d'une part connectés sur un réseau LAN via une interface de niveau 2 et également interconnectés entre eux via des tunnels de niveau 2, c'est-à- dire le niveau de la couche liaison (la couche deux selon le modèle OSI de décomposition en 7 couches pour les protocoles de communications) qui communiquent au travers des réseaux de type WAN ou MAN mentionnés auparavant. Chacun de ces tunnels de niveau 2 est établi entre deux équipements appelés têtes de tunnel (ou encore TEP pour tunnel end point en anglais) qui sont connectés chacun sur un des deux réseaux LAN directement interconnectés. Les têtes de tunnels implémentent les fonctions de pont distant et de tunnellisation des messages de niveau liaison, tel que les trames Ethernet émises par les terminaux Ethernet connectées sur ces réseaux locaux. On entend par tunnellisation (ou tunneling en anglais) une encapsulation particulière des données, créant ainsi ces tunnels supportés par les réseaux intermédiaires de type WAN ou MAN, qui peuvent être des réseaux IP. Il est important de noter que, dans le contexte de cette invention, le maillage constitué par l'ensemble des tunnels établis au sein d'une communauté entre un ensemble de sites distants directement interconnectés n'est en général pas un maillage complet (c'est-à-dire qu'il n'existe a priori pas un tunnel entre un réseau local donné et chacun des autres réseaux locaux de la communauté). Malgré ce maillage partiel entre les sites, chaque site d'une communauté peut communiquer avec chaque autre site de la communauté grâce à une fonction de relais supportée par chaque tête de tunnel. Cette fonction de relais pour une tête de tunnel réalise la mise en relation de deux tunnels de niveau 2 et permet la communication indirecte entre deux sites d'une communauté qui ne sont pas directement interconnectés par un tunnel.
La mise en oeuvre de cette fonction de relais nécessite donc l'utilisation de trois équipements tête de tunnel afin de permettre les communications entre des applications s'exécutant sur deux terminaux Ethernet respectivement connectés sur un premier et un deuxième réseau LAN représentant deux sites distants non directement interconnectés par un tunnel. Ces communications assurées par le biais d'une fonction relais supportent aussi bien des architectures applicatives de type peer to peer que de type client-serveur, Ces trois têtes de tunnel se décomposent comme suit : les deux têtes de tunnel des réseaux LAN auxquels les terminaux Ethernet supportant les applications (ou programmes informatiques) communicants sont raccordés, ainsi qu'une troisième tête de tunnel intermédiaire, assurant la susdite fonction de relais. Cette troisième tête de tunnel est connectée directement via deux tunnels de niveau 2 aux deux têtes de tunnel distantes susmentionnées. Dans un tel réseau partiellement maillé d'une communauté de réseaux locaux LAN interconnectés entre eux par des tunnels de niveau 2, il est alors possible de découvrir l'ensemble des chemins directs (sans fonction relais) et indirects (via la fonction relais assurée par certaines têtes de tunnel) entre n'importe quel couple de deux réseaux locaux LAN distants. On entend donc par chemin, un ensemble d'éléments d'infrastructure réseau, tels que des dispositifs d'interconnexion et des liens, qui permet de faire transiter des données depuis un premier sous-réseau (ou réseau LAN) vers un second sous-réseau (ou réseau LAN) et depuis le second sous-réseau (ou réseau LAN) vers le premier sous-réseau (ou réseau LAN). Et ce, tout en évitant la constitution de boucles de chemin de données qui rendraient le réseau global de la communauté moins performant, voire inopérant, au moyen d'algorithmes de suppression des boucles de chemin de données bien connus. Un premier algorithme de suppression des boucles de chemin de données connu consiste en la désactivation de la fonction relais de certaines têtes de tunnels dont l'état initial de la fonction relais serait actif par défaut. Ce traitement permet de savoir quels sont les fonctions relais de certaines têtes de tunnel à activer afin de permettre une communication entre tous les couples possibles au sein de la communauté, un couple étant composé d'une tête de tunnel source et d'une tête de tunnel destination.
Cependant, un problème va se présenter dans le cas d'une topologie d'un système en réseau comportant un ou plusieurs sites avec un réseau LAN interfacé sur des réseaux MAN ou WAN au moyen d'au moins deux têtes de tunnel, encore appelés réseaux LAN multi TEP. En effet, le processus de découverte de la topologie globale du réseau va identifier ces sites ayant un réseau LAN multi TEP avec au moins deux têtes de tunnel de façon identique à un ensemble de deux réseaux LAN interconnectés par un tunnel établi entre deux têtes de tunnel de deux sites distants. L'exécution de l'algorithme par désactivation de certains relais laissera alors ces réseaux LAN multi TEP dans un état où le trafic entrant par le tunnel d'une tête de tunnel sera transmis localement sur le réseau LAN multi TEP vers les autres têtes de tunnel et donc retransmis (relayé) via leurs tunnels respectifs. Car ces autres têtes de tunnel ne savent pas distinguer le trafic émis localement par un terminal Ethernet attaché au réseau LAN multi TEP, du trafic venant d'un terminal Ethernet attaché à un réseau LAN distant par une autre tête de tunnel. Ainsi, des boucles de chemin de données subsisteront. Un document de brevet US2006/0285498 (Hewlett Packard) met en oeuvre un tel algorithme de suppression des boucles de chemin de données par désactivation de certains relais. Ce document propose en outre une méthode selon laquelle un commutateur peut découvrir un chemin de diffusion depuis ce commutateur vers un ensemble de commutateurs connectés au moyen d'un message de découverte de chemins appelé Broadcast Traceroute généré depuis un premier commutateur. Cependant, cette méthode ne permet pas de prendre en compte une communauté avec une configuration de réseau incluant des réseaux LAN multi TEP où un LAN possède plusieurs connexions vers le réseau MAN ou le réseau WAN établies au travers de plusieurs têtes de tunnel attachées au même réseau local LAN. Ainsi, des boucles de chemin de données subsisteront. Un deuxième algorithme de suppression des boucles bien connu concerne l'algorithme STP (pour Spanning Tree Protocol en anglais). Les ponts locaux selon le standard IEEE 802.1D et les ponts distants selon le standard IEEE 802.1G résolvent le problème de détection et de suppression des boucles logiques dans un réseau dont les segments sont reliés entre eux par des ponts respectivement locaux et distants par l'utilisation de cet algorithme STP. Cet algorithme entièrement distribué s'exécute en parallèle sur chacun des ponts. Il se définit comme un protocole de dialogue entre tous ces ponts permettant de supprimer des liens redondants et de ne garder que les liens les plus intéressants (lignes de communications plus rapides, moins coûteuses, etc.). Quand de multiples chemins existent, l'algorithme choisit le plus efficace et ferme les autres chemins. Si ce chemin défaille, il reconfigure automatiquement le réseau, de façon qu'un autre chemin devienne actif pour continuer les opérations. Comme le nom en anglais le suggère, cet algorithme STP établit un arbre de parcours dans un réseau maillé et invalide les liens qui ne font pas partie de cet arbre.
Cependant, pour une bonne conception de la topologie physique d'un réseau maillé, il convient de conserver une redondance des chemins physiques si un des liens vient à être hors service. D'où le besoin d'un algorithme de type Spanning Tree (IEEE 802.1D) établissant l'unicité du chemin logique entre deux noeuds du réseau mais avec possibilité de mise à jour lorsqu'un des liens physiques, support du chemin logique, vient à être inutilisable. Un autre algorithme, appelé algorithme RSTP (pour Rapid Spanning Tree Protocol en anglais) est une évolution de l'algorithme STP. Il produit une convergence plus rapide de l'algorithme après un changement de topologie, par exemple lors d'une défaillance d'un lien physique ou la création d'un nouveau lien physique ou bien encore l'insertion d'un nouveau pont dans le réseau. Le Standard IEEE 802.1D-2004 inclus maintenant RSTP et rend STP obsolète. Cependant, si l'on applique RSTP au contexte de l'invention, cet algorithme RSTP va traiter les têtes de tunnel chacune comme un pont distant, et va donc bloquer pour certaines têtes de tunnel, le trafic entrant et sortant sur un port de tunnel d'un réseau LAN A. Cela rend ce port de tunnel inutilisable pour les communications directes (sans fonction relais) depuis un autre réseau LAN B directement interconnecté à ce réseau LAN A via un tunnel. Les communications entre les deux réseaux LAN A et LAN B devront alors passer par un chemin indirect via une tête de tunnel dont la fonction relais est activée, utilisant ainsi un chemin moins efficace et moins fiable.
Enfin, un autre algorithme appelé algorithme MSTP (pour Multiple Spanning Tree Protocol en anglais), spécifié dans IEEE 802.1s, puis fusionné avec IEEE 802.1Q-2003, définit une extension au protocole RSTP pour augmenter l'utilité du concept de réseaux locaux virtuels (ou VLANs pour Virtual Local Area Networks en anglais). Ce protocole MSTP configure un arbre de parcours de réseau spécifique pour chaque réseau VLAN et bloque de façon indépendante pour chaque arbre correspondant à un réseau VLAN, un ensemble de liens redondants. Tel que décrit précédemment, l'algorithme STP et ses variantes (RSTP, MSTP) n'autorisent plus le trafic entrant et sortant des ports de tunnels n'appartenant pas au meilleur chemin calculé par l'algorithme pour une communication entre un réseau LAN A et un réseau LAN B. Cela rend donc ces ports de tunnels inutilisables pour les communications directes (sans relais) depuis un autre réseau LAN C directement interconnecté au réseau LAN A via un tunnel. Les communications entre le réseau LAN A et le réseau LAN C, bien que directement interconnectés par un tunnel, devront alors passer par une tête de tunnel dont la fonction relais est activée, constituant ainsi un chemin moins efficace et moins fiable. 3. OBJECTIFS DE L'INVENTION L'invention, dans au moins un mode de réalisation, a notamment pour objectif de pallier ces différents inconvénients de l'état de la technique. Plus précisément, dans au moins un mode de réalisation de l'invention, un objectif est de fournir une technique permettant de découvrir un ensemble de chemins possibles pour mettre en communication des réseaux locaux LAN d'une communauté reliés par des tunnels de communication, et d'établir ces chemins par activation de relais entre différents tunnels. Et ce, tout en évitant la constitution de boucles de chemin de données limitant les performances du réseau global de communication. Dans au moins un mode de réalisation de l'invention, un objectif est de fournir une technique permettant d'utiliser des tunnels, qui ne sont pas impliqués dans des relais nécessaires à l'établissement de chemins de communication dans la communauté, pour des communications point à point entre les réseaux locaux LAN situés aux extrémités de ces tunnels. Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle technique adaptée à être mise en oeuvre dans des têtes de tunnel dans le but d'être complètement transparente pour les équipements source et destination.
Un autre objectif d'au moins un mode de réalisation de l'invention est de fournir une telle technique adaptée à être mise en oeuvre dans des têtes de tunnel de manière transparente pour une tête de tunnel gestionnaire ayant initié la recherche de chemins. 4. EXPOSÉ DE L'INVENTION Dans un mode de réalisation particulier de l'invention, il est proposé un procédé d'établissement d'un chemin de communication entre un premier sous-réseau de communication et un second sous-réseau de communication par l'intermédiaire d'un troisième sous-réseau de communication, dit sous-réseau intermédiaire, dans un réseau étendu de communication, ledit réseau étendu de communication comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur. Selon l'invention, ledit procédé est remarquable en ce que ledit sous-réseau intermédiaire dispose d'au moins deux têtes de tunnel et en ce qu'une tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel d'entrée, effectue les étapes suivantes : - réception, en provenance d'un tunnel de ladite tête de tunnel d'entrée, d'un message (802) d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée ; - détermination, à partir dudit message d'activation de relais, d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie, impliquée dans le relais local ; - activation du relais pour une partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau ; - transmission du message d'activation de relais vers ladite tête de tunnel de sortie. Ainsi, l'invention repose sur une approche tout à fait nouvelle et inventive d'activation de la fonction relais d'un sous-réseau (aussi appelé réseau local LAN) comprenant au moins deux têtes de tunnel, pour l'établissement d'un chemin de communication entre deux sous-réseau d'une communauté de sous-réseaux constituant un réseau étendu. On rappelle qu'on entend par chemin, un ensemble d'éléments d'infrastructure réseau, tels que des dispositifs d'interconnexion et des liens, qui permet de faire transiter des données depuis un premier sous-réseau (ou réseau LAN) vers un second sous-réseau (ou réseau LAN) et depuis le second sous-réseau (ou réseau LAN) vers le premier sous-réseau (ou réseau LAN). Dans le contexte de l'invention, on cherche à laisser passer librement le flux des trames entre le tunnel d'une tête de tunnel d'un réseau LAN multi TEP et les terminaux attachés à ce réseau LAN tout en gardant la possibilité de bloquer sélectivement le trafic des trames entre les tunnels de têtes de tunnels du même réseau LAN, par activation ou désactivation d'une fonction relais de ces têtes de tunnel connectées au réseau LAN. L'invention permet ainsi lors de l'activation sélective de la fonction de relais de certaines têtes de tunnel, de ne pas créer de boucles de chemin de données (encore appelé chemins redondants) pour n'importe quelle paire de terminaux Ethernet raccordés chacun à un sous-réseau distinct et communiquant entre eux au sein de la communauté. De façon avantageuse, ladite étape de détermination s'effectue à partir d'un descripteur de relais, contenu dans le message d'activation de relais, le descripteur comprenant un identifiant de tunnel, associé audit relais local et en correspondance avec la tête de tunnel d'entrée, ledit identifiant de tunnel identifiant un tunnel distinct du ou des tunnel(s) de ladite tête de tunnel d'entrée. A chaque réseau LAN Multi TEP correspond ainsi une tête de tunnel unique identifiée dans le message d'activation de relais au moyen de l'identifiant de la tête de tunnel d'entée, d'un numéro de port global de la tête de tunnel d'entrée et d'un numéro de port global de sortie de la tête de tunnel transmettant le message d'activation de relais à un site distant. La correspondance entre la première tête de tunnel d'entrée et la seconde tête de sortie est avantageusement réalisée par la notion de numéro global de port de sortie. Avantageusement, ledit procédé comprend au préalable les étapes suivantes : - réception d'un message de découverte globale de chemins de communication au sein dudit réseau étendu de communication ; - ajout au message de découverte globale d'un descripteur de relais référant à la tête de tunnel d'entrée ; - transmission du message de découverte globale modifié vers au moins une autre tête de tunnel dudit sous-réseau intermédiaire.
Ainsi, à chaque relais rencontré pour un chemin donné, le message de découverte s'enrichit d'un descripteur de relais composé de l'identifiant de la tête de tunnel d'entrée. Le descripteur va alors être complété par la tête de tunnel de sortie avec un identifiant de port tunnel de sortie. La tête de tunnel de sortie qui est impliquée dans le relais est identifiable par le biais de l'identifiant de tunnel de sortie. Les différents descripteurs ainsi renseignés permettent d'insérer, dans le message d'activation de relais, l'ensemble des relais à activer afin de router une trame de données entre un premier réseau LAN et un second réseau LAN. De plus, le descripteur associé à un relais sur un réseau LAN Multi TEP est ainsi du même format qu'un descripteur associé à un relais sur un réseau LAN Simple TEP, ce qui permet d'être compatible avec une tête de tunnel gestionnaire, et des têtes de tunnel de réseau LAN Simple TEP, qui n'ont pas connaissance de réseau LAN Multi TEP. Avantageusement, le descripteur de relais comprend en outre un identifiant de tunnel de la tête de tunnel d'entrée par lequel le message de découverte globale a été reçu par ladite tête de tunnel d'entrée.
Le descripteur est ainsi enrichi, ce qui permet de construire des messages de réponse au message de découverte globale qui peuvent suivre le chemin dans le sens inverse de celui utilisé par le message de découverte globale. Astucieusement, l'étape d'activation du relais effectuée par la tête de tunnel d'entrée permet l'établissement du chemin pour une communication dans la direction allant depuis le second sous-réseau vers le premier sous-réseau. La tête de tunnel d'entrée active le relais pour une partie du chemin allant du second sous-réseau, les trames duquel seront transmises sur le réseau LAN Multi TEP par la tête de tunnel de sortie, vers le premier sous-réseau. Ceci permet de ne pas tenir compte, dans l'application du relais activé, des adresses sources des trames arrivant par un tunnel sur la tête de tunnel, et de systématiquement les transmettre au réseau LAN local (c'est-à-dire le réseau LAN Multi TEP). La tête de tunnel de sortie est alors chargée de distinguer les trames à relayer vers ses tunnels des trames uniquement destinées au réseau LAN local (c'est-à-dire le réseau LAN Multi TEP). Selon une caractéristique avantageuse, ladite étape d'activation du relais comprend une étape d'arrêt de filtrage de trames de données en provenance dudit second sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel de sortie d'une table de filtrage de trames de la tête de tunnel d'entrée. Ainsi, les relais peuvent être activés par simple mise à jour des tables de routage de dispositifs de pont ( bridge en anglais) que constituent les têtes de tunnel. Les filtrages sur adresse source de trame complètent les mécanismes similaires de filtrage sur adresse source de trame déjà présents dans un dispositif de pont. Cela facilite notamment le routage par relais de trames issues du second sous-réseau. Avantageusement, ledit filtrage est effectué sur un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues. Ainsi, il est possible de manière simple de distinguer le tunnel d'arrivée des trames retransmises sur le réseau LAN Multi TEP et ainsi effectuer le filtrage et le routage de ces trames de manière simple et efficace. L'invention concerne également un procédé d'établissement d'un chemin de communication entre un premier sous-réseau de communication et un second sous-réseau de communication par l'intermédiaire d'un troisième sous-réseau de communication, dit sous-réseau intermédiaire, dans un réseau étendu de communication, ledit réseau étendu de communication comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur. De manière remarquable, ledit sous-réseau intermédiaire dispose d'au moins deux têtes de tunnel, une desdites têtes de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie , effectue les étapes suivantes : - réception, en provenance d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel d'entrée, pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée et ladite tête de tunnel de sortie ; - activation du relais pour une seconde partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau, complémentaire d'une première partie dudit chemin pour lequel ledit relais a été activé par ladite de tunnel d'entrée. L'activation de relais s'effectue pour la partie du chemin en complément de ce qui a été effectué par la tête de tunnel d'entrée. Les deux têtes de tunnel, d'entrée et de sortie, collaborent donc pour l'établissement du chemin de communication entre le premier et le second sous-réseau.
Avantageusement, suite à l'étape de réception, le procédé comprend une étape de vérification de la présence dans le message d'activation de relais d'un identifiant de tunnel, associé audit relais local et en correspondance avec un identifiant de ladite tête de tunnel d'entrée, ledit identifiant de tunnel identifiant un tunnel de ladite tête de tunnel de sortie.
Ainsi, la tête de tunnel de sortie peut clairement identifier le relais concerné. Avantageusement, ledit procédé comprend au préalable les étapes suivantes : - réception, en provenance de ladite tête de tunnel d'entrée, d'un message de découverte globale de chemins de communication au sein dudit réseau étendu de communication ; - modification d'un descripteur de relais du message de découverte globale, ledit descripteur référant à la tête de tunnel d'entrée, ladite modification consistant à mettre en correspondance un identifiant d'un tunnel, dit tunnel de sortie, de ladite tête de tunnel de sortie avec la tête de tunnel d'entrée ; - transmission du message de découverte globale modifié par ledit tunnel de sortie.
Le descripteur inséré par la tête de tunnel d'entrée est complété par la tête de tunnel de sortie avec un identifiant de port tunnel de sortie. La tête de tunnel de sortie qui est impliquée dans le relais est identifiable par le biais de l'identifiant de tunnel de sortie. Les différents descripteurs ainsi renseignés permettent d'insérer, dans le message d'activation de relais, l'ensemble des relais à activer afin de router une trame de données entre un premier réseau LAN et un second réseau LAN. De plus, le descripteur associé à un relais sur un réseau LAN Multi TEP est ainsi du même format qu'un descripteur associé à un relais sur un réseau LAN Simple TEP, ce qui permet d'être compatible avec une tête de tunnel gestionnaire, et des têtes de tunnel de réseau LAN Simple TEP, qui n'ont pas connaissance de réseau LAN Multi TEP. Astucieusement, l'étape d'activation du relais effectuée par la tête de tunnel de sortie permet l'établissement du chemin pour une communication dans la direction allant depuis le premier sous-réseau vers le second sous-réseau.
La tête de tunnel de sortie active le relais pour la partie du chemin allant du premier sous-réseau, les trames duquel seront transmises sur le réseau LAN Multi TEP par la tête de tunnel de sortie, vers le second sous-réseau. Ceci permet de ne pas tenir compte, dans l'application du relais activé, des adresses sources des trames arrivant par un tunnel sur la tête de tunnel, et de systématiquement les transmettre au réseau LAN local (c'est-à-dire le réseau LAN Multi TEP). La tête de tunnel d'entrée est alors chargée de distinguer les trames à relayer vers ses tunnels des trames uniquement destinées au réseau LAN local (c'est-à-dire le réseau LAN Multi TEP).
Avantageusement, ladite étape d'activation de relais comprend une étape d'arrêt de filtrage de trames de données en provenance dudit premier sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel d'entrée dans une table de filtrage de trames de la tête de tunnel de sortie. Ainsi, les relais peuvent être activés par simple mise à jour des tables de routage de dispositifs de pont ( bridge en anglais) que constituent les têtes de tunnel. Les filtrages sur adresse source de trame complètent les mécanismes similaires de filtrage sur adresse source de trame déjà présents dans un dispositif de pont. Cela facilite notamment le routage par relais de trames issues du premier sous-réseau. Avantageusement, le filtrage est effectué sur un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues. Ainsi, il est possible de manière simple de distinguer le tunnel d'arrivée des trames retransmises sur le réseau LAN Multi TEP et ainsi effectuer le filtrage et le routage de ces trames de manière simple et efficace.
L'invention concerne également un produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur. Ledit produit programme d'ordinateur comprend des instructions de code de programme pour la mise en oeuvre du procédé exécuté par la tête de tunnel d'entrée et/ou la tête de tunnel de sortie, lorsque ledit programme est exécuté sur un ordinateur. L'invention concerne également un moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé exécuté par la tête de tunnel d'entrée et/ou la tête de tunnel de sortie. L'invention concerne également une tête de tunnel d'entrée d'un sous-réseau de communication, dit sous-réseau intermédiaire, un chemin de communication étant à établir entre un premier sous-réseau de communication et un second sous-réseau de communication, par l'intermédiaire dudit sous-réseau intermédiaire, dans un réseau étendu de communication, ledit réseau étendu de communication comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur, ledit sous-réseau intermédiaire disposant d'au moins deux têtes de tunnel. De façon remarquable, ladite tête de tunnel d'entrée comprend : - des moyens de réception, en provenance d'un tunnel de ladite tête de tunnel d'entrée, d'un message d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée ; - des moyens de détermination, à partir dudit message d'activation de relais, d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie, impliquée dans le relais local ; - des moyens d'activation du relais, pour une partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau ; 30 - des moyens de transmission du message d'activation de relais vers ladite tête de tunnel de sortie. De manière intéressante, les moyens de détermination comprennent des moyens d'obtention d'un descripteur de relais, contenu dans le message d'activation de relais, le descripteur comprenant un identifiant de tunnel, associé audit relais local et en correspondance avec la tête de tunnel d'entrée, ledit identifiant de tunnel identifiant un tunnel distinct du ou des tunnel(s) de ladite tête de tunnel d'entrée. Avantageusement, la tête de tunnel d'entrée comprend : - des moyens de réception d'un message de découverte globale de chemins de communication au sein dudit réseau étendu de communication ; - des moyens de mise à jour du message de découverte globale par ajout du descripteur de relais référant à la tête de tunnel d'entrée ; - des moyens de transmission du message de découverte globale modifié vers au moins une autre tête de tunnel dudit sous-réseau intermédiaire.
Selon une autre caractéristique avantageuse, le descripteur de relais comprend des moyens d'identification de tunnel de la tête de tunnel d'entrée par lequel le message de découverte globale a été reçu par ladite tête de tunnel d'entrée . Avantageusement, les moyens d'activation du relais comprennent des moyens d'établissement du chemin pour une communication dans la direction allant depuis le second sous-réseau vers le premier sous-réseau. En outre, les moyens de d'activation du relais comprend une table de filtrage permettant l'arrêt de filtrage de trames de données en provenance dudit second sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel de sortie dans ladite table de filtrage de trames de la tête de tunnel d'entrée.
Avantageusement, la table de filtrage comprend, pour chaque trame de données, un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues.
L'invention concerne également une tête de tunnel de sortie d'un sous-réseau de communication, dit sous-réseau intermédiaire, un chemin de communication étant à établir entre un premier sous-réseau de communication et un second sous-réseau de communication, par l'intermédiaire dudit sous-réseau intermédiaire, dans un réseau étendu de communication, ledit réseau étendu de communication comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur, ledit sous-réseau intermédiaire disposant d'au moins deux têtes de tunnel. De manière intéressante, la tête de tunnel de sortiecomprend : - des moyens de réception, en provenance d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel d'entrée, pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée et ladite tête de tunnel de sortie ; - des moyens d'activation du relais pour une seconde partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau, complémentaire d'une première partie dudit chemin pour lequel ledit relais a été activé par ladite de tunnel d'entrée. Avantageusement, la tête de tunnel de sortie comprend des moyens de vérification de la présence dans le message d'activation de relais d'un moyen 20 d'identification de tunnel, associé audit relais local et en correspondance avec un moyen d'identification de ladite tête de tunnel d'entrée, ledit moyen d'identification de tunnel identifiant un tunnel de ladite tête de tunnel de sortie. En outre, la tête de tunnel de sortie comprend : - des moyens de réception, en provenance de ladite tête de tunnel d'entrée, d'un 25 message de découverte globale de chemins de communication au sein dudit réseau étendu de communication ; - des moyens de modification d'un descripteur de relais du message de découverte globale, ledit descripteur référant à la tête de tunnel d'entrée, lesdits moyens de modification consistant à mettre en correspondance un identifiant d'un tunnel, 30 dit tunnel de sortie, de ladite tête de tunnel de sortie avec la tête de tunnel d'entrée; 15 des moyens de transmission du message de découverte globale modifié par ledit tunnel de sortie. Egalement, la tête de tunnel de sortie comprend des moyens d'établissement du chemin pour une communication dans la direction allant depuis le premier sous-réseau vers le second sous-réseau. Avantageusement, les moyens d'activation de relais comprend une table de filtrage permettant l'arrêt de filtrage de trames de données en provenance dudit premier sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel d'entrée dans une table de filtrage de trames de la tête de tunnel de sortie.
De manière intéressante, la table de filtrage comprend, pour chaque trame de données, un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues. 5. LISTE DES FIGURES D'autres caractéristiques et avantages de modes de réalisation de l'invention apparaîtront à la lecture de la description suivante, donnée à titre d'exemple indicatif et non limitatif et des dessins annexés, dans lesquels : la figure la illustre une configuration typique de réseau privé virtuel (VPN) mettant en oeuvre un tunnel ; la figure 2a présente un exemple de modèle en couche classique d'une tête de tunnel dans laquelle peut être mis en oeuvre le procédé selon l'invention ; la figure 2b illustre la structure d'une trame Ethernet Tunnel véhiculant une trame utilisateur niveau 2 ; la figure 2c illustre la structure d'une trame Ethernet Tunnel véhiculant un message de découverte globale selon l'invention; la figure 3 présente l'architecture de communication d'une communauté en réseau non totalement maillée et incluant des réseaux locaux à têtes de tunnels multiples (encore appelés réseaux LAN multi TEP) ; - la figure 4a illustre la structure d'un identifiant TEP ID d'une tête de tunnel ; 5 10 15 20 25 30 - la figure 4b illustre la structure des différents champs de données d'un message de découverte globale du réseau de la communauté transitant sur des réseaux LAN à tête de tunnel unique (encore appelé réseaux LAN simple TEP) ; - la figure 4c illustre la structure des différents champs de données d'un message de découverte globale du réseau de la communauté en transit sur un réseau LAN multi TEP selon l'invention ; - la figure 5a illustre l'étape de mise à jour de la topologie globale du réseau de la communauté et d'émission d'un message de découverte globale du réseau de la communauté depuis une tête de tunnel gestionnaire ; - la figure 5b présente un organigramme illustrant les étapes de la découverte locale des têtes de tunnels sur un réseau LAN multi TEP, selon un mode de réalisation particulier de l'invention, exécutées par une tête de tunnel à l'initialisation ; - la figure 5c présente un organigramme illustrant les étapes de réception et de traitement, par une tête de tunnel située sur un réseau LAN simple TEP, d'un message de découverte globale du réseau de la communauté ; - la figure 5d présente un organigramme illustrant les étapes de réception et de traitement, par une tête de tunnel d'entrée située sur un réseau LAN multi TEP, d'un message de découverte globale du réseau de la communauté ; - la figure 5e présente un organigramme illustrant les étapes de réception et de traitement, par une tête de tunnel de sortie située sur un LAN multi TEP, d'un message de découverte globale du réseau de la communauté ; - la figure 6a présente la structure d'un message de rapport de boucle de chemin de données ; - la figure 6b présente la structure d'un message de rapport de fin de chemin de données ; - la figure 7 présente un organigramme illustrant les étapes de réception et de traitement des rapports de boucles de chemin de données et de fin de chemin de données par une tête de tunnel gestionnaire ; - la figure 8 illustre la structure d'un message d'activation de relais émis initialement par une tête de tunnel gestionnaire ; - la figure 9 présente un organigramme illustrant les étapes de réception et de traitement d'une fonction relais d'une tête de tunnel à réception d'un message d'activation de relais, pour une tête de tunnel appartenant à un réseau LAN simple TEP et un réseau LAN multi TEP ; - la figure 10 présente un schéma d'une tête de tunnel générique apte à mettre en oeuvre chaque procédé selon un mode de réalisation particulier de l'invention. 6. DESCRIPTION DÉTAILLÉE La présente invention concerne une technique permettant d'éviter les boucles de chemin de données à travers des tunnels de communication lors de la constitution, au sein d'une communauté, d'un réseau étendu de communication constitué d'un ensemble de réseaux locaux, l'interconnexion de ces réseaux locaux étant réalisée pour chacun de ces réseaux locaux par des tunnels et des mécanismes de relais entre tunnels, ces mécanismes étant activés en évitant la formation de boucles de chemin de données au sein de la communauté de réseau ainsi créée.
Plus précisément, dans le cas où une pluralité de têtes de tunnel sont connectées à un même réseau LAN, encore appelé réseau LAN multi TEP, l'invention propose un procédé de découverte et de gestion des fonctions relais de têtes de tunnel appartenant à ce réseau LAN multi TEP dans le but d'éviter les boucles de chemin de données. La figure la illustre l'architecture typique d'un système de communication de type réseau privé virtuel (VPN) permettant l'interconnexion, dans cet exemple, de deux réseaux LAN 103 et 104 à travers un tunnel 100 de niveau 2 supporté par un réseau de communication de type WAN (ou un MAN) 107. Chacun des réseaux LAN 103 et 104 comporte respectivement un équipement d'accès au réseau WAN de type passerelle 105 et 106 ainsi que des équipements de type terminal 108, 109, 110, 111. Le tunnel 100 est mis en oeuvre par les têtes de tunnel 101 et 102 respectivement connectées au réseau LAN 103 et au réseau LAN 104. Il est à noter qu'une tête de tunnel peut être intégrée dans un équipement audiovisuel fixe comme un téléviseur numérique ou un équipement audiovisuel mobile comme un caméscope. Elle peut aussi être présente dans un équipement de type PC sous la forme d'un programme réalisant les fonctions associées à celle-ci.
Une fois le tunnel 100 établi, les équipements 108 et 109 connectés au réseau LAN 103 sont capables de communiquer avec les équipements 110 et 111 connectés au réseau LAN 104. Sur cette figure la est représenté un réseau de communication simple avec un seul tunnel, mais il est bien entendu qu'une même tête de tunnel peut être amenée à gérer plusieurs tunnels (à destination d'autant de têtes de tunnel distantes) pour interconnecter un premier réseau LAN à plusieurs autres réseaux LAN, et qu'un même réseau LAN peut comprendre plusieurs têtes de tunnel. En outre n'ont pas été représentés les équipements d'infrastructure dans le réseau WAN, comme dans le cas d'un WAN IP tel que le réseau Internet constitué d'un ensemble de routeurs IP et de liaisons de type satellite ou optiques et d'interconnexion via des réseaux d'interconnexion de nature diverse par exemple de type SDH, ATM et équivalent. Tel qu'illustré en figure la, les réseaux privés virtuels sont fréquemment utilisés pour interconnecter deux réseaux LAN afin de créer un réseau LAN étendu composé de l'union des deux réseaux LAN originaux. Classiquement, les réseaux privés virtuels sécurisés incluent un algorithme de cryptographie et d'authentification permettant de garantir le secret des données transportées. Une configuration typique de réseaux privés virtuels est basée sur une technique dite de tunnellisation. Dans l'exemple de la figure 1, les têtes de tunnel ne sont pas intégrées aux passerelles. Le tunnel est établi entre deux têtes de tunnel, et chaque paquet (aussi appelé trame) envoyé à un équipement connecté au réseau LAN distant est encapsulé par la tête de tunnel locale, puis envoyé à la tête de tunnel distante qui va le désencapsuler et l'envoyer sur le réseau LAN distant. Les équipements sont virtuellement connectés à un même réseau LAN. Un équipement ne peut alors pas en fonction de l'adresse source d'une trame reçue déterminer si celle-ci est originaire du réseau LAN local ou d'un réseau LAN distant. La figure 2a représente une pile de protocole pour une tête de tunnel utilisée pour décrire le cheminement d'une trame Ethernet issue d'un des équipements 108, 109 du réseau LAN 103 et qui va entrer dans un tunnel 100. Pour ce faire, un modèle en couche est utilisé pour décrire les couches de protocoles nécessaires à la mise en oeuvre de ce tunnel 100. Dans ce modèle ne sont pas représentés les éléments de protocole nécessaire aux fonctions autres que la mise en oeuvre du tunnel. La tête de tunnel 101 (figure la) comporte une interface physique Ethernet 208 qui remet les trames Ethernet issues des équipements 108, 109 à la couche liaison 207 pour routage vers la couche réseau 206 pour les trames Ethernet à destination de l'équipement comportant la tête de tunnel ou vers la couche bridge 209 pour les autres trames Ethernet. La couche bridge 209 réalise les opérations classiques d'un bridge Ethernet telles que le filtrage des trames Ethernet et le relais de ces trames vers le ou les port(s) Ethernet de sortie approprié. Sur le bridge sont attachées une interface Ethernet 207 et au moins une interface virtuelle 210 simulant un contrôleur Ethernet. Une interface virtuelle 210 est crée pour chaque tunnel instancié par l'application 200 à qui elle remet les trames Ethernet qui doivent transiter sur les tunnels respectivement instanciés. D'une manière générale, le protocole d'encapsulation du tunnel représenté par l'application 200 réalise les opérations nécessaires à la mise en oeuvre de chaque tunnel parmi lesquelles se trouve notamment la configuration, le filtrage et l'encapsulation (formation d'un paquet tunnel) et extraction d'une trame. Les trames reçues de l'interface virtuelle 210 après traitement par l'application 200 sont remises sous la forme d'un paquet à travers une interface applicative 201 à un protocole de transport fiable TCP 203 ou non fiable UDP 205 respectivement sécurisés par les protocoles SSL 202 et DTLS 204. Après traitement par un protocole de transport pour former le paquet tunnel 250 (figure 2b), celui-ci est retransmis à la couche réseau 206. Il est à noter que le protocole ICMP fait partie intégrante de cette couche protocolaire qui en outre peut réaliser des opérations de fragmentation et réassemblage. Le datagramme IP ainsi formé avec le paquet tunnel peut maintenant être transmit sur le réseau LAN à travers les couches liaison 207 et physique 208. La réception d'une trame en provenance du tunnel 100 suivra le cheminement inverse à celui présenté ci-dessus. La figure 2b présente le format d'une trame Ethernet 260 résultant de la mise en oeuvre du protocole d'encapsulation de niveau 2 par l'application 200 (figure 2a). Un paquet tunnel 250 comporte 4 parties : l'en-tête du protocole de transport 251 à savoir TCP ou UDP, l'en-tête du protocole d'encapsulation 252 à savoir L2TPITLS, l'en-tête du protocole embarqué 253 à savoir Ethernet et enfin les données utilisateurs 254 comportant un datagramme IP complet si aucune fragmentation n'a été opérée lors de son transit depuis l'équipement source. La trame Ethernet 260 représente la trame Ethernet véhiculant le datagramme IP contenant le paquet tunnel 250 qui transite sur les réseaux LAN. La figure 2c représente une trame Ethernet 260 véhiculant un message 270 de contrôle Tunnel, ces messages sont échangés entre les têtes de tunnels afin d'établir les tunnels et de les gérer en général. Dans la présente invention, les messages 402 de découverte globale de la topologie du réseau (tel que décrit par la suite en relation avec la figure 4a décrit par la suite) sont un exemple de message 270 de contrôle Tunnel. Le message 270 comprend : - un champ 271 Header de douze octets initialisé a la valeur FF ; - un champ 272 F indiquant si le message est une requête (valeur 0) ou une réponse (valeur 1) ; - un champ 273 ID représentant l'identification de l'émetteur ; - un champ 274 CMD de commande ; - un champ 275 Status indiquant le statut pour le cas de messages réponse ; - un champ 276 Length indiquant la longueur des données ; - un champ 277 Data représentant des données complémentaires a échanger entre les têtes de tunnels. La figure 3 représente un exemple d'architecture d'un réseau global de communication 3000 d'une communauté de sites non totalement maillée. Les différents réseaux locaux 301, 302, 303, 304 et 305 du réseau global de communication 3000 sont respectivement raccordés à un réseau fédérateur 300 de type WAN (ou réseau MAN) par le biais de passerelles 311, 322, 324, 333, 341 et 351. Les terminaux connectés sur ces réseaux LAN peuvent communiquer entre eux par le biais de tunnels de niveau 2 désignés 312, 323, 332, 342 et 345. Ainsi, la communication peut être : - soit directe , c'est-à-dire directement entre deux réseaux LAN reliés par un tunnel comme par exemple les réseaux LAN 301 et 302 reliés par le tunnel 312 établi entre les têtes de tunnels 310 et 320 ; - soit indirecte , c'est-à-dire indirectement par le biais d'une fonction relais activée sur un réseau LAN multi TEP ou sur un LAN simple TEP, comme dans l'exemple de la figure 3 pour les réseaux LAN 301 et 305 au travers de la mise en relation des tunnels 312 puis 342 puis 345 établis et gérés par les têtes de tunnels 310, 320, 321, 340 et 350. Afin de permettre cette communication indirecte entre les terminaux des réseaux LAN 301 et 305, les têtes de tunnels 320 et 321 ont chacune leur fonction relais activée. La tête de tunnel 340 située sur un réseau LAN simple TEP a également sa fonction relais activée. Les terminaux connectés sur le réseau LAN 301 peuvent ainsi communiquer avec les terminaux connectés sur le réseau LAN 305 au sein de la communauté grâce à l'activation de la fonction relais de chacune des têtes de tunnel appartenant aux différents réseaux LAN intermédiaires. La figure 4a représente la structure d'un identifiant 401 d'une tête de tunnel, encore appelé TEP ID , utilisé dans cette invention pour l'adressage et l'identification des têtes de tunnel. L'utilisation de cet identifiant 401 est plus largement décrite par la suite. L'identifiant 401 est formé de la concaténation sur 22 octets : - d'une adresse MAC 410 (pour Media Access Controler en anglais) sur 6 15 octets attribuée au port physique de raccordement de la tête de tunnel sur le réseau LAN, et - d'un UUID 411 sur 16 octets (pour Universally Unique Identifier en anglais) généré par cette tête de tunnel lors de chaque mise sous tension et permettant à un système distribué d'identifier de façon unique l'objet de manière non 20 ambigüe (gestion non centralisée). Il est à noter que plusieurs méthodes connues de l'Homme du Métier sont utilisées pour la génération de cet UUID 411. La façon de générer l'UUID est notamment documentée dans les standards ITU-T Rec. X.667 et ISO/IEC 9834-8:2005. La figure 4b illustre la structure des différents champs de données d'un message 25 402 de découverte globale du réseau de la communauté transitant sur des réseaux LAN à tête de tunnel unique (encore appelé réseaux LAN simple TEP). Ce message 402 de découverte globale est transmis selon un mode de diffusion vers toutes les autres têtes de tunnel, c'est-à-dire qu'il ne contient pas une adresse de destination vers une tête de tunnel donnée mais une adresse de diffusion ( multicast en anglais). Ainsi, après 30 réception par une tête de tunnel d'un message 402 de découverte globale initialement diffusé par une tête de tunnel gestionnaire (dont le rôle est décrit par la suite), un 10 nouveau message 402 de découverte globale est construit à partir du message 402 de découverte globale initialement reçu par cette tête de tunnel, puis dupliqué et transmis sur chacun des tunnels gérés par cette tête de tunnel, à l'exception du tunnel par lequel le message 402 de découverte globale initial est arrivé à cette tête de tunnel. Ce message 402 de découverte globale contient classiquement trois champs 412, 413, 414 puis une série de triplets composé de trois champs 415, 416 et 417, chaque triplet étant représentatif de chaque tête de tunnel avec fonction relais traversée. Le champ 412 ID TEP gestionnaire est l'identification de la tête de tunnel gestionnaire ayant émis le message 402 de découverte globale. Le champ 413 Port d'émission est le numéro du port par lequel ce message 402 de découverte globale a été émis par la tête de tunnel gestionnaire. Le champ 414 Compteur de relais représente le nombre de relais que ce message 402 de découverte globale a traversé. Le champ 414 permet d'éviter qu'un message 402 de découverte globale ne boucle indéfiniment dans le réseau global de communication 3000 (tel que décrit dan la suite de la description), suite par exemple à des problèmes de routage. La valeur initiale du champ 414 représente en effet le seuil à partir duquel on considère que le message 402 de découverte globale doit être détruit. La valeur initiale du champ 414 est directement liée au nombre de sites du réseau global de communication 3000. Cette valeur est décrémentée à chaque traversée de relais et il est considéré que le message doit être détruit lorsque cette valeur devient nulle. Les trois prochains champs 415, 416 et 417 du message 402 de découverte globale sont insérés au fur et à mesure de la progression du message 402 de découverte globale dans le réseau global de communication 3000. Lors de la traversée de chaque relais potentiel découvert pendant la phase d'exploration et de découverte du réseau, le message 402 de découverte globale insère le triplet 415, 416, 417 correspondant audit relais. La façon dont ils sont remplis lors de la traversée d'un réseau LAN multi TEP est décrite par la suite en relation avec la figure suivante 4c. Pour un réseau LAN simple TEP (304) tel que décrit sur la figure 3, c'est-à-dire comprenant une seule tête de tunnel, le champ 415 TEP ID est également représentatif de l'identification du réseau LAN (304) supportant cette tête de tunnel unique (tel que décrit sur la figure 4). Le champ 416 Port entrée représente le numéro du port du tunnel par lequel le message 402 de découverte globale est arrivé sur cette tête de tunnel. Enfin, le champ 417 Port sortie représente le numéro du port du tunnel par lequel le message 402 de découverte globale est retransmis par cette tête de tunnel vers un autre réseau LAN.
Ainsi, à chaque traversée d'un réseau LAN simple TEP, la tête de tunnel recevant le message 402 de découverte globale insère, dans ledit message 402 de découverte globale, son triplet 415, 416 et 417 correspondant. Chaque tête de tunnel d'un réseau LAN simple TEP insère et positionne ces trois champs 415, 416 et 417 à la réception d'un message 402 de découverte globale.
La figure 4c illustre la partie utile d'un message 402 de découverte globale utilisé selon l'invention lorsqu'il transite sur un réseau LAN multi TEP 302 tel que décrit sur la figure 3. Les champs 412, 413 et 414 sont identiques à ceux décrits en relation avec la figure 4b. Le message 402 de découverte globale entre d'abord sur le réseau LAN multi TEP 302 depuis un tunnel attaché à une tête de tunnel d'entrée 320.
Ce message 402 de découverte globale est modifié par cette tête de tunnel d'entrée 320, puis retransmis localement sur le réseau LAN multi TEP 302 vers une tête de tunnel de sortie 321 également située sur le réseau LAN multi TEP 302. Le message 402 de découverte globale est ensuite modifié par cette tête de tunnel de sortie 321 connectée au LAN multi TEP puis retransmis, par un tunnel attaché à ladite tête de tunnel de sortie 321, vers le réseau local d'un site distant suivant tel que par exemple le réseau LAN simple TEP 304 ou bien le réseau LAN multi TEP 303 de la figure 3. Il convient de noter qu'on appelle tête de tunnel d'entrée la tête de tunnel qui, sur un réseau LAN Multi TEP, reçoit en premier le message (402) de découverte globale, et ultérieurement le message (802) d'activation de relais. On appelle tête de tunnel de sortie la tête de tunnel qui, quand elle est distincte de la tête de tunnel d'entrée, renvoie le message (402) de découverte globale, et ultérieurement le message (802) d'activation de relais vers un autre réseau LAN. Après ces traitements, le message 402 de découverte globale doit conserver une structure similaire à la structure d'un message 402 de découverte globale retransmis après la traversée d'un réseau LAN simple TEP, et ce afin d'avoir un traitement identique au niveau de la tête de tunnel gestionnaire lors de l'analyse finale des chemins, à partir des rapports générés par chaque site lors du procédé de découverte globale (analyse décrite par la suite). Lorsque ce message 402 de découverte globale transite sur un réseau LAN multi TEP, les champs 416 et 417 sont mis à jour d'une façon différente que lors la mise à jour du message 402 de découverte globale effectuée par une tête de tunnel située sur un réseau LAN simple TEP. Ainsi, lorsque la tête de tunnel d'entrée 320 retransmet le message 402 de découverte globale sur le réseau LAN multi TEP 302 vers une tête de tunnel de sortie 321 située sur même réseau LAN multi TEP 302, la tête de tunnel d'entrée 320 insère un triplet, de contenu différent, composé d'un : - champ 415 représentant un identifiant TEP ID de la tête de tunnel d'entrée 320 tel que décrit précédemment ; - champ 416 représentant un identifiant du port tunnel d'entrée de la tête de tunnel d'entrée 320 par lequel le message 402 de découverte est arrivé.
Cet identifiant du port tunnel d'entrée de la tête de tunnel d'entrée 320 a une signification locale au réseau LAN multi TEP 302 (et non pas simplement locale à cette tête de tunnel d'entrée 320) et est donc connu des autres têtes de tunnels du même réseau LAN multi TEP 302, grâce aux mécanismes d'attribution d'identifiant de port tunnel utilisés lors de l'exécution du procédé de découverte locale des têtes de tunnel entre- elles (procédé décrit ci-après en relation avec la figure Sb). Selon un mode de réalisation de l'invention, un identifiant de port tunnel est par exemple une valeur numérique entière incrémentée séquentiellement pour l'ensemble des ports d'une même tête de tunnel. Selon l'invention, à chaque tête de tunnel d'un réseau LAN multi TEP 302 est ainsi attribué un intervalle de numérotation unique et global de port tunnel, en prenant comme bits de poids fort pour ces numéros, un index de signification locale au réseau LAN multi TEP 302, unique pour cette tête de tunnel, et qui est attribué dynamiquement aux têtes de tunnel locales lors du procédé de découverte locale. Les bits de poids faible de l'identifiant de port tunnel ont une signification locale à ladite tête de tunnel, avec une valeur initialement à zéro, puis incrémentée séquentiellement d'une unité lors de la création d'un nouveau tunnel sur cette même tête de tunnel.
Cet index utilisé pour les bits de poids fort de cet identifiant de port tunnel pour un tunnel géré par une tête de tunnel donnée, peut être par exemple choisi à partir des bits de poids faible de l'adresse MAC Ethernet du port du réseau LAN de cette même tête de tunnel.
Ainsi, il n'y a pas de collisions entre ces identifiants (ou numéros) de port tunnel uniques pour un réseau LAN multi TEP permettant d'identifier une tête de tunnel donnée sur ce réseau LAN multi TEP. La collision est évitée par le fait que chaque tête de tunnel a connaissance des intervalles de numérotation attribués aux autres têtes de tunnel du même réseau LAN multi TEP par la connaissance des index et des adresses MAC Ethernet des autres têtes de tunnel du réseau LAN multi TEP. Ainsi, chaque tête de tunnel d'un réseau LAN multi TEP connaît les adresses MAC des autres têtes de tunnel du réseau LAN multi TEP et a associé à chacune de ces autres têtes de tunnel un index déterminant un intervalle de numérotation des ports tunnels pour cette tête de tunnel (bits de poids fort). Cette notion d'index utilisé pour les bits de poids fort du numéro de port tunnel qui identifient une tête de tunnel sur le réseau LAN multi TEP et de numéro séquentiels pour les bits de poids faible qui identifient un port tunnel sur cette tête de tunnel peut se comparer, avec certaines différences, à l'adressage hiérarchique utilisé pour le protocole IP de l'IETF, bien connu de l'homme du métier. En effet, dans le protocole IP, de façon comparable, les bits de poids fort de l'adresse IP déterminent l'adresse d'un réseau et les bits de poids faible déterminent l'adresse d'une station sur ce réseau. Après avoir introduit la structure des différents éléments constitutifs de la présente invention en relation avec les figures précédentes, nous allons maintenant expliciter les différentes étapes lors de l'exécution du procédé de l'invention.
Il est à noter que le contexte particulier de la présente l'invention est défini par le fait que le trafic de trames Ethernet entrantes et sortantes qui circulent depuis/vers un tunnel et en provenance ou a destination d'un terminal Ethernet raccordé sur un réseau LAN est toujours possible. Et cela, indépendamment de l'activation ou de la désactivation de la fonction de relais de la tête de tunnel attachée à ce réseau LAN.
Ainsi, la désactivation de la fonction relais d'une tête de tunnel ne bloque pas le flux des trames Ethernet entrantes par cette tête de tunnel et à destination de ce réseau LAN.
Plus précisément, la présente invention propose un procédé de gestion de l'activation de la fonction relais de têtes de tunnel, l'activation de ces fonctions relais de têtes de tunnel ne créant pas de chemins redondants et de boucles dans le cas d'un réseau comportant au moins un réseau LAN multi TEP.
La figure 5a illustre les différentes étapes lors de la détection d'un événement de modification de la topologie globale du réseau de la communauté déclenchée, dans une première étape 501, une fois une étape d'initialisation ou de réinitialisation 500 effectuée, par au moins un des événements suivants : - mise sous tension/hors tension d'une tête de tunnel, ce qui équivaut à l'insertion d'un nouveau noeud du réseau d'interconnexion des sites au sein de la communauté ; - établissement/suppression d'un nouveau tunnel depuis une tête de tunnel d'un réseau LAN A vers une tête de tunnel d'un réseau LAN B distant, ces deux têtes de tunnel faisant déjà partie du réseau et les deux réseaux LAN appartenant à la communauté, ce qui équivaut à l'insertion d'un nouveau lien physique entre deux noeuds du réseau de la communauté. Il est à noter que l'événement peut s'agir d'une opération demandée par un utilisateur ou résultant de l'échéance d'un minuteur lançant l'exécution d'un programme routine depuis un terminal connecté sur le réseau LAN ou même connecté sur un réseau LAN distant. Ensuite, la tête de tunnel signale à toute la communauté l'occurrence de cet événement de modification de topologie globale du réseau par la diffusion d'un message transmis selon une façon connue de l'homme du métier, comme par exemple via un message de type Broadcast Ethernet qui sera reçu par toutes les autres têtes de tunnel. La propagation vers la communauté se produit alors de façon à ce que chaque tête de tunnel recevant ce message génère à son tour, une seule fois, un message identique (ou encore une copie) sur tous les tunnels qui lui sont connectés à l'exception du tunnel par lequel ce message est arrivé à la tête de tunnel. Dans une étape 502, les têtes de tunnel procèdent à l'élection d'une tête de tunnel gestionnaire qui sera chargée dans l'invention d'établir les chemins pour tous les couples possibles au sein de la communauté, les couples étant constitués d'un réseau LAN source et d'un réseau LAN destination devant échanger des données directement ou indirectement via des fonctions relais activées de têtes de tunnel (tel que décrit par la suite en relation avec la figure 7). Cette élection est faite selon les méthodes connues de l'Homme du Métier, comme par exemple la méthode utilisée pour l'élection du Root Bridge , lors de la première étape de l'algorithme du Spanning Tree Protocol (STP) du standard IEEE 802.1 D. Selon cet algorithme, chaque noeud, commutateur ( switch en anglais) ou pont ( bridge en anglais) possède un identifiant unique (ID) choisi comme étant son adresse MAC et un numéro de priorité configurable, la réunion de ces deux éléments constitue le BID (pour Bridge Identification en anglais), qui est utilisé pour élire un pont racine ( Root Bridge en anglais) unique dans le réseau. Chaque noeud initialement se considère le noeud élu comme pont racine et le signale dans un message qu'il émet vers ses voisins. Il compare ensuite sa valeur avec la valeur contenue dans les messages reçus de ses voisins (d'abord en fonction des numéros de priorité puis en cas d'égalité, le noeud avec l'identifiant ID le plus bas l'emporte). Comme toutes les adresses MAC sont uniques, l'algorithme convergera vers l'élection comme pont racine d'un noeud unique. Le numéro de priorité est normalement laissé par défaut mais l'administrateur du réseau LAN peut, s'il le souhaite, modifier ce numéro pour faire élire un noeud particulier. Dans cette invention, on procède de façon similaire en utilisant un identifiant 401 TEP ID tel que décrit à la figure 4a.
Dans une étape 503, la tête de tunnel gestionnaire envoie en mode diffusion ( multicast en anglais) le message 402 de découverte de la topologie globale de la communauté tel que décrit dans la figure 4a. On présente désormais, en relation avec la figure 5b, un organigramme illustrant les actions devant être exécutées à l'initialisation d'une tête de tunnel située sur un réseau LAN. Chaque tête de tunnel doit se faire connaître et prendre connaissance de l'existence ou de l'absence d'autres têtes de tunnel présentes sur le réseau LAN, ainsi que de leurs caractéristiques. Pour cela, chaque tête de tunnel implémente une pile de protocole TCP/UDP/IP bien connu de l'Homme du Métier (tel que décrit en relation avec la figure 2a), ainsi que les protocoles mDNS (pour Multicast DNS en anglais) et DNS-SD (pour DNS- based Service Discovery en anglais), tels que décrit dans des rapports IETF et également dans les spécifications des protocoles de réseaux d'appareils grand public. D'autres solutions peuvent être basées sur le protocole SSDP de la famille de protocoles UPnP ou bien basées sur la présence de serveur de nom logique et serveur d'adresse IP ou bien encore basées sur un des nombreux protocoles de découvertes de services et d'équipements en réseaux tous connus de l'Homme du Métier comme IETF SLP, IETF SDP, Web Services Device WS-Discovery ou autres. Les différentes têtes de tunnel actifs d'un réseau LAN vont se découvrir mutuellement par le biais de leur connexion sur ce réseau LAN et l'usage de ces protocoles en assimilant à un service, l'équipement tête de tunnel et ses fonctions accessibles depuis le réseau LAN. Les différentes têtes de tunnel actives vont ainsi se reconnaître par le biais de ces protocoles en publiant chacune une entité du service _tep._tcp.local. . Cette entité doit avoir un nom unique. Ainsi, par exemple, ce nom est obtenu par la concaténation du champ _TEP- et de l'adresse MAC de la tête de tunnel concernée. Par exemple, l'entité du service _tep._tcp.local. présent sur la tête de tunnel et qui a pour adresse MAC l'adresse SE.FF.56.A2.AF.15 aura pour nom _TEP-5EFF56A2AF15 . . L'adresse MAC mentionnée ici, que nous appellerons par la suite adresse MAC locale , est celle utilisée comme adresse source pour les trames Ethernet émises depuis la tête de tunnel sur le réseau LAN auquel la tête de tunnel est connectée, et dont la tête de tunnel est l'origine. Ceci diffère de la méthode employée dans cette même tête de tunnel pour la transmission sur le réseau LAN des trames préalablement reçues via un tunnel qui lui est associe, c'est-à-dire des trames qui ont été générées par des terminaux Ethernet distants (connectés à d'autres réseaux LAN).
Ces trames Ethernet de terminaux distants, arrivées sur la tête de tunnel via un tunnel sous forme encapsulée 260, tel que décrit en relation avec la figure 2b, seront retransmises après desencapsulation, pour revenir au format identique à celui de la trame Ethernet initialement générée par le terminal Ethernet distant. La trame retransmise reprendra les données de la trame encapsulée 260 reçue du tunnel, à partir des champs 253 et 254, à l'exception toutefois du champ correspondant à l'adresse MAC source, qui va être modifié par la tête de tunnel.
Ainsi, la tête de tunnel procède à la substitution de l'adresse MAC source initialement contenue dans le champ correspondant de la trame Ethernet du terminal distant par une adresse MAC différente de l'adresse MAC locale de la tête de tunnel. Nous appellerons ce deuxième type d'adresse MAC gérée par chaque tête de tunnel, une adresse MAC virtuelle , cette adresse MAC virtuelle est associée de façon unique à chaque tunnel géré par la tête de tunnel. Cette substitution de l'adresse MAC source par la tête de tunnel est un cas d'utilisation d'une technique connue de l'Homme du Métier sous son appellation anglaise de MAC Spoofing . Chaque tête de tunnel possède donc une adresse MAC locale, ainsi qu'un ensemble d'adresses MAC virtuelles associées chacune à un des tunnels multiples qu'une même tête de tunnel peut gérer simultanément. Une adresse MAC virtuelle donnée est utilisée par une tête de tunnel donnée pour toutes les trames distantes arrivant d'un réseau LAN distant, via le tunnel auquel ladite adresse MAC virtuelle est associée. Ce principe de substitution d'adresse MAC source ne pose pas de problème pour le terminal récepteur final, à cette trame est destinée, car la trame de réponse est construite par le terminal récepteur final à partir de la table de cache ARP (pour Address Resolution Protocol en anglais), selon laquelle un terminal associe l'adresse IP d'un terminal avec son adresse MAC. En effet, cette table de cache ARP est construite à partir des valeurs d'adresse MAC contenues dans la partie données utiles ( Payload en anglais) de la trame ARP de réponse, reçue en réponse à la trame de requête ARP que le terminal avait émis au préalable pour établir l'association entre une adresse IP et une adresse MAC. On peut donc noter que cette table de cache ARP n'est pas construite à partir de l'adresse MAC de l'entête de la trame ARP de réponse., et que la substitution d'adresse MAC source effectuée par une tête de tunnel relayant une trame, reçue d'un tunnel, sur le réseau LAN auquel la tête de tunnel est connectée n'a donc pas d'incidence sur les communications entre terminaux distants. On note qu'une étape de vérification d'unicité (ou probing en anglais) du protocole mDNS n'est pas nécessaire, du fait que l'unicité de l'adresse MAC garantit l'unicité du nom de l'entité.
Après une étape 504 d'initialisation de la tête de tunnel (mise sous tension ou connexion à chaud ( hot-plug en anglais) au réseau LAN), dans une étape 505, chaque tête de tunnel active émet une déclaration de service mDNS ( Announcing en anglais). Une tête de tunnel est dit active lorsqu'elle possède au moins un tunnel établi, cette déclaration de service mDNS se faisant par le biais d'un message multicast IP. Il est important de noter que les étapes 504 à 508 décrites ci-après sont exécutées par une tête de tunnel à déclarer sur un LAN, et les étapes 509 à 512 par les autres têtes de tunnel éventuellement présentes sur le même réseau LAN (dans le cadre d'un réseau LAN multi TEP). Dans l'étape 505, la tête de tunnel à déclarer génère un message de déclaration de service mDNS. Cette déclaration est transmise, sous la forme d'un message multidestinataire (ou multicast en anglais), vers les autres têtes de tunnel présentes sur le réseau LAN. Ce message multidestinataire comporte une adresse destination de groupe ( multicast address en anglais). Chaque noeud d'un réseau intéressé par ce type de message est à l'écoute des trames comportant cette adresse de destination. Dans une étape 509, toutes les autres têtes de tunnel présentes sur le même réseau LAN (et autres que la tête de tunnel à déclarer) recevront ainsi ce message de déclaration de service mDNS. Ensuite, dans une étape 510, chaque autre tête de tunnel réalise à partir des données contenues dans ce message de déclaration de service, une mise à jour d'une table de filtrage propre audit réseau LAN et sur lequel se situent lesdites autres têtes de tunnel. Cette table de filtrage, générée au cours d'une étape 508 (ci-après décrite), contient pour chacune des autre têtes de tunnel présentes sur ce même réseau LAN, un enregistrement contenant l'adresse MAC locale de ces autres têtes de tunnel et l'ensemble des adresses MAC virtuelles que chacune de ces autres têtes de tunnel associent de façon unique à chacun de leurs tunnels.
Cette tête de tunnel initialisée à l'étape 504 étant alors connue et identifiée par les autres têtes de tunnel par le biais de sa déclaration, il reste à s'assurer que cette tête de tunnel initialisée à l'étape 504 découvre les autres têtes de tunnel actives déjà présentes sur le réseau LAN. A cette fin, lors d'une étape 506, la tête de tunnel à déclarer génère une requête mDNS (pour mDNS Query en anglais) pour le service _tep._tcp.local. . Cette requête est ensuite transmise, sous la forme d'un message multidestinataire, vers les autres têtes de tunnel présentes sur le réseau LAN. Sur réception de cette requête (étape 511), chacune des autres têtes de tunnel actives et présentes sur le réseau LAN renvoie (étape 512), vers la tête de tunnel ayant émis la déclaration, une réponse mDNS comportant, classiquement suivant le protocole mDNS, le nom de son instanciation (ou entité) du service _tep._tcp.local. ( _TEP-5EFF56A2AF15 dans le cas de l'exemple précédant) l'indication du nombre de tunnels établis, son adresse MAC locale et sa liste des adresses MAC virtuelles qu'elle associe de façon unique aux tunnels établis qui lui sont associés, pour l'opération de substitution d'adresse MAC source des trames émises par les terminaux distants... La réception de ces réponses en provenance de chacune des autres têtes de tunnels, toujours suivant le protocole mDNS, est réalisée dans une étape 507, chaque réponse comprenant le nom de son entité de service _tep._tcp.local. . Dans une étape 508, en fonction des réponses mDNS reçues par la tête de tunnel ayant émis la déclaration, une table de filtrage est créée et initialisée avec les informations extraites précédemment lors de l'étape 507. A chaque réseau LAN correspond ainsi une table des têtes de tunnel locales présente dans chaque tête de tunnel et dans laquelle chaque entrée correspondant à une tête de tunnel, possède un champ contenant l'adresse MAC locale de cette tête de tunnel, le nombre de tunnels établis sur cette tête de tunnel, la liste des adresses MAC virtuelles associées de façon unique à ces tunnels pour l'opération de substitution des adresses MAC sources des trames émises par les terminaux distants, et un index servant à définir dans un intervalle de numérotation unique à cette tête de tunnel sur ce réseau LAN, le numéro (ou identifiant) qui est attribué à chaque port tunnel sur cette tête de tunnel (dans le cadre d'un réseau LAN multi TEP). Chaque tête de tunnel détiendra donc une table de filtrage des têtes de tunnel actives et présentes sur le réseau LAN et représentées par les noms des instances du service _tep._tcp.local. . Ainsi, chaque tête de tunnel peut extraire de cette table de filtrage les adresses MAC locales et virtuelles des autres têtes de tunnel, le nombre de ports tunnel gérés par ces autres têtes de tunnel et enfin l'intervalle de numérotation utilisé par chacune de ces autres têtes de tunnel.
Si la tête de tunnel initialisée à l'étape 504 reçoit des réponses sur son réseau LAN, ledit réseau LAN passe en mode multi TEP sinon il reste en mode simple TEP, défini comme étant le mode par défaut. La figure Sc illustre une méthode de traitement effectué à la réception, par une tête de tunnel située sur un réseau LAN simple TEP, d'un message 402 de découverte globale émis par une tête de tunnel gestionnaire de la communauté. Les figures suivantes 5d et 5e décrivent le traitement effectué, selon l'invention, à la réception d'un message 402 de découverte globale par une tête de tunnel située sur un réseau LAN multi TEP. Dans une première étape 512, la tête de tunnel du réseau LAN simple TEP considéré reçoit un message de découverte globale 402 sur un de ses ports associé à un tunnel et analyse ce message. Dans une étape 513, cette tête de tunnel vérifie d'abord si son identifiant 401 TEP ID se trouve dans le champ 415 de l'un des triplets 415, 416 et 417 contenus dans le message 402 de découverte globale reçu (figures 4a et 4b).
Dans l'affirmative, la propagation du message 402 de découverte globale dans le reste du réseau est stoppée et, grâce aux informations contenues dans le message 402 de découverte globale reçu, la tête de tunnel du réseau LAN simple TEP considéré génère, lors d'une étape 514, un rapport 602 de boucle de chemin de données (qui sera décrit par la suite en relation avec la figure 6) à destination de la tête de tunnel gestionnaire qui a émis le message de découverte (figure 5a). Ce rapport 602 de boucle de chemin de données est notamment émis via le port tunnel par lequel ce message 402 de découverte globale a été reçu sur le réseau LAN simple TEP. En effet, si l'identifiant TEP ID de la tête de tunnel du réseau LAN simple TEP considéré se trouve dans un des champs 415 du message 402 de découverte globale reçu, cela signifie que cette tête de tunnel a déjà traité ce message 402 de découverte globale et donc qu'une boucle de chemin de données existe. Pour construire ce rapport 602 de boucle de chemin de données, la tête de tunnel du réseau LAN simple TEP considéré insère son identifiant 401 TEP ID dans un champ 415 d'un nouveau triplet 415, 416, 417 tel que décrit précédemment (figure 4b), et une valeur FE dans le champ 414 compteur de relais (figures 4b et 6a). Cette valeur FE est ensuite reconnue comme un rapport de type boucle de chemin de données par la tête de tunnel gestionnaire ainsi que par l'ensemble des têtes de tunnels situées sur le chemin entre la tête de tunnel du réseau LAN simple TEP considéré et la tête de tunnel gestionnaire. La tête de tunnel d'un réseau LAN simple TEP pourra ainsi router le rapport 602 de boucle de chemin de données vers la tête de tunnel gestionnaire en utilisant le champ 416 du triplet 415, 416, 417 associés à son propre identifiant TEP ID (identifiant le tunnel le reliant au réseau LAN précédent dans le parcours du message 402 de découverte globale émis par la tête de tunnel gestionnaire). Ainsi, de proche en proche, le rapport 602 de boucle de chemin de données parvient vers la tête de tunnel gestionnaire qui avait émis initialement le message de découverte.
Dans l'étape 513, si l'identifiant 401 de la tête de tunnel ne se trouve pas dans un des champs 415 du message 402 de découverte globale reçu, une étape 515 permet de vérifier si la tête de tunnel possède un autre tunnel que celui par lequel le message 402 de découverte globale est arrivé sur le réseau LAN simple TEP. Dans la négative, le TEP génère alors dans une étape 516 un rapport 603 de fin de chemin de données. Pour construire ce rapport 603 de fin de chemin de données, la tête de tunnel du réseau LAN simple TEP considéré insère son identifiant 401 TEP ID dans un champ 415 d'un nouveau triplet, et une valeur FF dans le champ 414 compteur de relais (figures 4b et 6b). Cette valeur est ensuite reconnue comme un rapport de type fin de chemin de données par la tête de tunnel gestionnaire et l'ensemble des têtes de tunnel situées sur le chemin entre la tête de tunnel du réseau LAN simple TEP considéré et la tête de tunnel gestionnaire. La tête de tunnel unique d'un LAN simple TEP peut ainsi router le rapport 603 de fin de chemin de données vers la tête de tunnel gestionnaire en utilisant le champ 416 du triplet 415, 416 et 417 associé à son propre identifiant 401 TEP ID (comme décrit précédemment). Ainsi, de proche en proche, le rapport 603 de fin de chemin de données parviendra à la tête de tunnel gestionnaire qui avait émis initialement le message de découverte. Au cas où la tête de tunnel du réseau LAN simple TEP considéré possède d'autres tunnels, dans une étape 517, le champ 414 compteur de relais est incrémenté d'une unité Dans une étape 518, la nouvelle valeur du compteur de relais est ensuite comparée à la valeur d'un seuil prédéterminé. La valeur de ce seuil est liée à la dimension du réseau de la communauté. Une valeur adaptée à un ensemble de réseaux LAN situés dans une communauté (pouvant être par exemple constituée d'un ensemble d'habitations appartenant à un groupe d'amis ou à une même famille) est par exemple 7 , signifiant qu'un chemin entre deux réseaux LAN peut emprunter 7 réseaux LAN relais. Un autre élément de choix pour la fixation de la valeur de ce seuil est le délai de transmission introduit par l'utilisation d'un réseau LAN relais dans la communication entre deux réseaux LAN de cette communauté, ainsi que des besoins en terme de temps de transmission maximum pour les applications s'exécutant sur les terminaux connectés sur ces réseaux LAN d'extrémités du chemin emprunté par la communication. Si le champ 414 compteur de relais possède une valeur supérieure à la valeur du seuil prédéterminé alors, dans une étape 519, le message 402 de découverte globale est ignoré et la tête de tunnel du réseau LAN simple TEP considéré ne le retransmet pas vers d'autres réseaux LAN. Sinon, dans une étape 520, la tête de tunnel du réseau LAN simple TEP considéré insère un triplet de champs 415, 416 et 417 correspondant respectivement à son identifiant TEP ID , le numéro du port tunnel d'entrée par lequel le message 402 de découverte globale est arrivé sur cette tête de tunnel et le numéro du port tunnel de sortie par lequel le message 402 de découverte global est retransmis par cette tête de tunnel (pour chaque tunnel différent du tunnel d'entrée). Les figures 5d et 5e illustrent, selon un mode de réalisation de l'invention, la réception et la méthode de traitement sur un réseau LAN multi TEP 302 du message 402 de découverte globale (figure 3). Une fois le message 402 de découverte globale entrant sur un réseau LAN multi TEP 302 par un tunnel attaché à une tête de tunnel d'entrée 320 dudit réseau LAN multi TEP 302, ce message 402 de découverte globale est ensuite modifié par cette tête de tunnel d'entrée 320 puis retransmis sur le réseau LAN multi TEP 302 vers une tête de tunnel de sortie 321 du réseau LAN multi TEP. Ce message 402 de découverte globale est ensuite modifié puis retransmis vers les réseaux LAN distants suivants par ladite tête de tunnel de sortie 321. Après ces traitements, le message 402 de découverte globale conserve une structure similaire à celle du message 402 de découverte globale transitant et émis par une tête de tunnel située sur un réseau LAN simple TEP, à savoir un triplet de champs inséré 415, 416 et 417 par chaque réseau LAN découvert. Ceci permet d'avoir un traitement identique au niveau de la tête de tunnel gestionnaire lors de l'analyse des rapports de boucle de chemin de données et de fin de chemin de données. Cependant, lorsque ce message 402 de découverte globale transite sur un réseau LAN multi TEP, les champs 416 et 417 sont mis à jour d'une façon différente de celle réalisée lors de la mise à jour effectuée lors du transit du message 402 de découverte globale sur un réseau LAN simple TEP. La figure 5d illustre une telle réception et un tel traitement du message 402 de découverte globale reçu par une tête de tunnel d'entrée 320 située sur un réseau LAN multi TEP 302. Dans une étape 532, la tête de tunnel d'entrée 320 reçoit un message 402 de découverte globale (émis par une tête de tunnel gestionnaire) sur un de ses ports associé à un tunnel. Cette tête de tunnel d'entrée 320 réceptionne puis analyse ce message 402 de découverte globale afin de déterminer, lors d'une étape 533, si son identifiant 401 TEP ID se trouve déjà présent dans un des champs 415 des triplets 415, 416, 417 contenus dans ledit message 402 de découverte globale. Dans l'affirmative, le message 402 de découverte globale cesse de se propager dans le reste du réseau. Grâce aux informations contenues dans le message 402 de découverte globale reçu, la tête de tunnel d'entrée 320 génère, lors d'une étape 534, un rapport 602 de boucle de chemin de données qui est ensuite émis vers la tête de tunnel gestionnaire via le port du tunnel par lequel ce message 402 de découverte globale a été reçu par cette tête de tunnel d'entrée 320. Pour construire ce rapport 602 de boucle de chemin de données, la tête de tunnel d'entrée 320 insère son identifiant 401 TEP ID dans un champ 415 d'un nouveau triplet, et une valeur FE dans le champ 414 compteur de relais du message 402 de découverte globale. Cette valeur FE est notamment reconnue comme un message de type rapport de boucle de chemin de données par la tête de tunnel gestionnaire et l'ensemble des têtes de tunnel situées sur un chemin défini entre la tête de tunnel d'entrée 320 vers la tête de tunnel gestionnaire. La tête de tunnel d'entrée 320 du réseau LAN multi TEP peut ainsi router le rapport 602 de boucle de chemin de données en unicast vers la tête de tunnel gestionnaire en utilisant le champ 416 (identifiant du port tunnel d'entrée de la tête de tunnel d'entrée 320) du triplet 415, 416, 417 associés à son propre identifiant TEP ID . Ainsi, de proche en proche, le rapport 602 de boucle de chemin de données parviendra au TEP gestionnaire qui l'avait émis initialement.
Le cas du routage du rapport 602 de boucle de chemin de données sur un réseau LAN multi-TEP est réalisé, selon l'invention, de façon élégante grâce à la notion de l'identifiant du port tunnel de la tête de tunnel d'entrée 320, l'identifiant étant un numéro global . En effet, la tête de tunnel d'entrée 320 recevant le rapport 602 de boucle de chemin de données en provenance du réseau WAN par un tunnel d'entrée, est capable d'identifier la tête de tunnel suivante dans le chemin vers la tête de tunnel gestionnaire à partir du numéro global de port tunnel et de ce fait le router, par exemple en IP unicast , le rapport 602 de boucle de chemin de données vers la tête de tunnel suivante. Si l'identifiant 401 TEP ID de la tête de tunnel d'entrée 320 n'est pas présent dans un des champs 415 des triplets de champs 415, 416 et 417 contenus dans le message 402 de découverte global alors, dans une étape 537, le champ 414 compteur de relais du message 402 de découverte globale est incrémenté d'une unité. La valeur du champ 4114 est ensuite comparée, lors d'une étape 538, à la valeur du seuil prédéterminé (préalablement décrit en relation avec la figure 5c).
Si la valeur du champ 414 compteur de relais est supérieure à la valeur du seuil prédéterminé alors, dans une étape 539, le message 402 de découverte globale est ignoré et la tête de tunnel d'entrée 320 ne retransmet pas ce message 402 de découverte globale vers d'autres réseaux LAN. Sinon, dans une étape 540, la tête de tunnel d'entrée 320 insère un triplet de champs 415, 416, 417. Le champ 415 correspond à l'identifiant 401 TEP ID de la tête de tunnel d'entrée 320. Le champ 416, désignant le port tunnel d'entrée de la tête de tunnel d'entrée 320 par lequel le message 402 de découverte globale est arrivé sur le réseau LAN multi TEP 302, est rempli avec un numéro de port tunnel d'entrée de la tête de tunnel d'entrée 320 mais ayant, dans le cas d'un réseau LAN multi TEP 302, une signification globale audit réseau LAN multi TEP. Alors que, dans le cas d'un réseau LAN simple TEP, le numéro de port tunnel d'entrée de la tête de tunnel du réseau LAN simple TEP est une donnée locale à cette tête de tunnel et non pas une valeur partagée par d'autres têtes de tunnel. En effet, à partir de la table de filtrage construite lors de la découverte des têtes des têtes de tunnel sur un même réseau LAN (tel que précédemment décrit en relation avec la figure Sb), un intervalle de numérotation unique des ports tunnels est attribué pour chaque tête de tunnel du réseau LAN multi TEP 302. Cet intervalle est obtenu en prenant comme bits de poids fort pour cet identifiant (ou numéro) de port tunnel d'un tunnel géré par une tête de tunnel donnée, les bits de poids faible de l'adresse MAC locale du port LAN de cette même tête de tunnel. Les bits de poids faible de l'identifiant (ou numéro) de port tunnel étant eux incrémentés séquentiellement à chaque création d'un tunnel depuis cette tête de tunnel (ainsi il n'y a pas de collision entre ces numérotations uniques sur le réseau LAN). Chaque tête de tunnel d'un même réseau LAN multi TEP a donc connaissance des intervalles de numérotation attribués aux autres têtes de tunnel par la connaissance des adresses MAC locales des autres têtes de tunnel. Dans une étape 540, pour chaque tunnel (de la tête de tunnel d'entrée) différent du tunnel par lequel ce message 402 de découverte globale est arrivé, la tête de tunnel d'entrée 320 retransmet une copie du message 402 de découverte globale après insertion, dans le champ 417 (étape 540), de l'identifiant du port de sortie utilisé par la tête de tunnel d'entrée 320 pour retransmettre ce message 402 de découverte globale Ensuite, dans une étape 541, la transmission du message 402 de découverte globale vers les autres têtes de tunnel du réseau LAN multi TEP 302 se fait en point à point entre la tête de tunnel d'entrée 320 qui a reçu le message 402 de découverte globale et chaque autre tête de tunnel du réseau LAN multi TEP 302.
Ainsi, pour chaque autre tête de tunnel comprise dans ledit réseau LAN multi TEP et distincte de ladite tête de tunnel d'entrée 320, la tête de tunnel d'entrée 320 envoie un message 402 de découverte globale modifié par insertion de l'identifiant 401 TEP ID de la tête de tunnel d'entrée 320 et par insertion de l'identifiant du port tunnel d'entrée de la tête de tunnel d'entrée 320 par lequel le message 402 de découverte globale est arrivé.
La figure 5e illustre la réception du message 402 de découverte globale par une autre tête de tunnel active et présente sur le réseau LAN multi TEP 302, dite tête de tunnel de sortie 321, après traitement et émission par la tête de tunnel d'entrée 320 par laquelle ce message 402 de découverte globale est arrivé sur le réseau LAN multi TEP 302.
Dans une étape 542, la tête de tunnel de sortie 321 reçoit le message 402 de découverte globale directement émis par la tête de tunnel d'entrée 320 située sur le même réseau LAN multi TEP 302. A cette tête de tunnel d'entrée 320 correspond notamment, au niveau de la tête de tunnel de sortie 321, une entrée dans la table de filtrage (figure Sb), et vice versa.
Dans une étape 543, dans un souci de vérification de cohérence des informations partagées entre les têtes de tunnel du réseau LAN multi TEP 302, en utilisant la valeur du champ 415 du message 402 de découverte globale contenant l'identifiant 401 TEP ID de la tête de tunnel d'entrée 320, une comparaison avec les données de la table de filtrage permet de vérifier que le numéro du port tunnel d'entrée de la tête de tunnel d'entrée 320 est un numéro dont la valeur est inférieure ou égale à la valeur du nombre de tunnels gérés par cette tête de tunnel d'entrée. Dans une étape 544, bien que le réseau LAN multi TEP 302 agisse fonctionnellement comme un unique relais, la tête de tunnel de sortie 321 incrémente la valeur du compteur de relais dans le champ 414 compteur de relais du message 402 d'activation de relais. En effet, un message transitant sur un réseau LAN multi TEP 302 fera trois passages sur ledit LAN multi TEP 302 entre la passerelle Internet et les têtes de tunnel d'entrée 320 et de sortie 321, contre deux passages dans le cas d'un réseau LAN simple TEP. Ainsi, en raison de ce délai de transit plus long, le champ 414 compteur de relais du message 402 de découverte globale est incrémenté à nouveau d'une unité.
Lors d'une étape 545, la nouvelle valeur du champ 414 compteur de relais est ensuite comparée à la valeur du seuil prédéterminé déjà mentionné. Si la valeur du champ 414 de ce compteur est supérieure à la valeur du seuil prédéterminé alors, dans une étape 546, le message 402 de découverte globale est ignoré et la tête de tunnel de sortie ne le retransmet pas vers les réseaux LAN auxquels elle se trouve connectée par les tunnels qu'elle gère, arrêtant ainsi la propagation du message 402 de découverte globale dans le réseau global. Sinon, dans une étape 547, une mise à jour du message 402 de découverte globale est réalisée. Pour chaque tunnel géré par ladite tête de tunnel de sortie 321, la tête de tunnel de sortie 321 modifie le message 402 de découverte globale, par insertion dans le champ 417 (inséré par la tête de tunnel d'entrée) du message 402 de découverte globale, d'un identifiant du port tunnel de sortie de la tête de tunnel de sortie 321 par lequel le message 402 de découverte globale modifié va être transmis. Une fois modifié, le message 402 de découverte globale est transmis sur ledit autre tunnel.
Les figures 6a et 6b illustrent respectivement la structure des rapports 602 de boucle de chemin de données et les rapports 603 de fin de chemin de données retournés à la tête de tunnel gestionnaire lors du procédé de découverte globale du réseau de la communauté. Ces deux rapports sont transportés dans une trame Ethernet 260 déjà décrite en relation avec les figures 2b et 2c. Les champs sont identiques à ceux du message 402 de découverte globale, à savoir un champ 612 identifiant unique de tête de tunnel et un champ 613 numéro de port tête de tunnel correspondant respectivement à l'identifiant et au numéro du port d'entrée de la dernière tête de tunnel rencontrée avant émission desdits rapports 602 et 603. Ces messages 602 et 603 renseignent également un série de triplets 615, 616 et 617 correspondant respectivement à l'identifiant, le port d'entrée et le port de sortie de chaque tête de tunnel rencontrées lors de la propagation du message 402 de découverte globale auquel le message 602 ou 603 fait suite. Seul le champ 614 compteur de relais diffère en ce que l'initialisation à une valeur FF indique un rapport 603 de fin de chemin de données, et une initialisation à une valeur FE indique un rapport 602 de boucle de chemin de données. Il est rappelé que le champ 614 compteur de relais est normalement utilisé pour déterminer un cas d'erreur de propagation ou, plus généralement, un dépassement du nombre maximum de relais autorisé pour un chemin donné entre un réseau LAN source et un réseau LAN destination. Dans ce contexte, il n'est pas utilisé par la tête de tunnel gestionnaire à cet effet. Il est alors possible de l'initialiser à des valeurs prédéfinies pour indiquer des messages spécifiques tels que des rapports 603 de fin de chemin de données ou des rapports 602 de boucle de chemin de données. La figure 7 illustre les traitements se déroulant dans la tête de tunnel gestionnaire désignée lors de l'étape 502 de la figure 5a. Après émission du message 402 de découverte globale des relais potentiels du réseau de la communauté, la tête de tunnel gestionnaire se met en attente de réception des rapports 602 de boucle de chemin de données et des rapports 603 de fin de chemin de données. Dans une étape 700, la tête de tunnel gestionnaire reçoit un rapport 602 de boucle de chemin de données ou un rapport 603 de fin de chemin de données. Dans une étape 701 suivante, la tête de tunnel gestionnaire met à jour une table des boucles de chemin de données et une table des fins de chemin de données au fur et à mesure de la réception desdits rapports 602 et 603. La duplication d'un rapport est éliminée par simple balayage des tables en cours de construction avant d'insérer une nouvelle entrée. Ce procédé de réception et de traitement 701 se répète pour une durée dont la valeur est définie par exemple en fonction de la taille de la communauté. Cette durée est initialisée dans un minuteur (ou timer en anglais) dont l'échéance est vérifiée lors d'une étape 702. Par exemple, selon l'invention, pour un ensemble de réseaux LAN situés dans un ensemble d'habitations d'un groupe d'amis, ou appartenant à une même famille, une valeur d'attente de 15 secondes paraît adaptée (car la taille de la communauté, c'est-à- dire le nombre de sites, est limitée). Il convient de noter que lors d'une mise à jour de la topologie globale du réseau détectée à l'étape 501 de la figure 5a, tous les relais sont initialement inactifs. Ils ne peuvent donc pas relayer des messages de données. Dans une étape 703, une liste de l'ensemble des chemins avec relais possibles de communication entre chaque paire possible de deux réseaux LAN, un réseau LAN source identifié par une tête de tunnel source et un réseau LAN destination identifié par une tête de tunnel destination, dans l'ensemble du réseau d'une communauté est créée.
Dans l'étape 703, la table des fins de chemin est balayée en créant une entrée dans une liste des têtes de tunnel, ordonnée dans un ordre croissant des identifiants 401 TEP ID , de têtes de tunnel, à chaque rencontre, dans un rapport 603 de fin de chemin de données, d'un identifiant 401 TEP ID d'une tête de tunnel non encore présent dans la table des fins de chemin de données. Puis la table des boucles de chemin de données est balayée de façon similaire pour créer d'éventuelles nouvelles entrées dans la liste des têtes de tunnel. Dans une étape suivante 704 est créée une table dont chaque entrée correspond à une des combinaisons possibles de deux têtes de tunnel parmi la liste des têtes de tunnel.
Pour chaque entrée de cette table, la table des fins de chemin est de nouveau balayée, afin d'associer à chaque entrée un chemin indirect avec relais, liant les deux têtes de tunnel de cette entrée qui correspondent à une combinaison d'une tête de tunnel source et d'une tête de tunnel destination. Pour chaque entrée est conservé le chemin le plus court. Les numéros de ports d'entrée et de sortie indiqués dans les champs 616 et 617 des rapports 602 et 603 sont également enregistrés dans la table des fins de chemin. Un nouvel enrichissement du remplissage de la table des combinaisons est possible en balayant la table des boucles de chemin de données et en ne conservant que les sous ensembles non bouclant de ces chemins, c'est à dire sans répétition d'une même tête de tunnel dans ces chemins avec boucles. Dans une étape 705, par lecture de la table des combinaisons et en analysant un chemin présent dans un champ d'une entrée, la liste des relais à activer est insérée dans un message 802 d'activation de relais (décrit par la suite en relation avec la figure 8). Puis, pour un chemin donné, la tête de tunnel gestionnaire effectue l'émission du message 802 d'activation de relais jusqu'à la première tête de tunnel rencontrée et nécessitant d'activer la fonction relais. La figure 8 représente la structure du message 802 d'activation de relais émis par la tête de tunnel gestionnaire. Classiquement, la partie utile du message 802 d'activation est transportée dans une trame Ethernet 260 telle que déjà décrite en relation avec les figures 2b et 2c. Cette partie utile comporte notamment une série de trois champs 415, 416 et 417 (ou encore triplets) correspondant respectivement à l'identifiant de la tête de tunnel dont la fonction relais est à activer, le port tunnel d'entrée du message 802 d'activation de relais et le port tunnel de sortie du message 802 d'activation de relais. Ces triplets 415, 416 et 417 du message 802 d'activation de relais sont utilisés pour activer la fonction relais de chaque tête de tunnel intermédiaire située sur le chemin sélectionné afin de router le message 802 d'activation de relais vers les têtes de tunnel dont la fonction relais reste à activer pour le chemin sélectionné. Un message 802 d'activation de relais comporte donc la liste de tous les relais à activer pour un chemin donné. La partie utile comporte également un champ 804 état représentatif de l'état (actif ou non) de la fonction relais de chaque tête de tunnel traversée. Le rôle de ce champ 804 est décrit plus amplement par la suite. La tête de tunnel gestionnaire active d'abord l'ensemble des fonctions relais des têtes de tunnel situées aux extrémités des chemins possibles entre un couple de réseau LAN source et destination, ce qui permet ensuite à la tête de tunnel gestionnaire de propager, via ces fonctions relais d'extrémités activées, le message 802 d'activation de relais. En effet, initialement, même quand la tête de tunnel gestionnaire est l'une des extrémités du chemin à établir (par l'activation de la fonction relais), la tête de tunnel gestionnaire ne sait pas router des messages uniquement via les tunnels établis directement entre la tête de tunnel gestionnaire et d'autres têtes de tunnel (sur des chemins sans relais). Sans cette première étape, il ne saurait pas router le message 802 d'activation de relais vers des têtes de tunnel non directement connectées. La tête de tunnel gestionnaire doit également traiter les cas où elle n'est pas une des deux extrémités du chemin à établir (la tête de tunnel gestionnaire n'est ni la tête de tunnel source ni la tête de tunnel destination). Dans ce cas, soit la tête de tunnel gestionnaire n'a pas de chemin direct (sans fonction relais) entre elle-même et une des extrémités ou bien, soit elle n'a pas établi de chemin indirect (via la fonction relais) entre elle-même et aucune des deux extrémités du chemin. La tête de tunnel gestionnaire ne possède alors, dans ce cas, aucun moyen de router en unicast le message 802 d'activation de relais destiné à activer les relais de ces chemins.
Le message 802 d'activation de relais, afin d'atteindre un des TEP d'extrémité du chemin, est alors émis, par le TEP gestionnaire, en diffusion (ou broadcast en anglais) sur l'ensemble des tunnels et également diffusé par chaque TEP récepteur de ce message 802 d'activation de relais vers l'ensemble de ses tunnels excepté le tunnel par lequel le message 802 d'activation de relais est arrivé. Et ce tant que le TEP récepteur en mode simple TEP constate qu'il ne se trouve pas dans la liste des TEP relais à activer du message 802 d'activation de relais. Au cas contraire, le TEP récepteur passe du mode de transmission par diffusion à celui de routage unicast grâce aux informations de routage de chaque triplet du message 802 d'activation de relais. Si le message 802 d'activation de relais arrive d'abord sur la première tête de tunnel d'extrémité, le routage se déroule de façon normale via les ports de sortie.
Si le message 802 d'activation de relais arrive sur la dernière tête de tunnel d'extrémité, le routage s'effectue via les ports d'entrée. Si le message 802 d'activation de relais atteint une des têtes de tunnel intermédiaire dont la fonction relais est à activer, le message 802 d'activation de relais est routé par convention dans la direction du port de sortie correspondant au champ 417 du triplet qui lui correspond, jusqu'à ce que tous les champs 804 état sont actifs (selon le mode décrit dans le paragraphe suivant). Ensuite, lorsqu'une tête de tunnel d'extrémité reçoit le message 802 d'activation de relais ayant déjà parcouru une partie du chemin et si cette tête de tunnel d'extrémité détecte que tous les relais du chemin n'ont pas encore reçu ce message, cette tête de tunnel d'extrémité route alors ce message 802 d'activation de relais dans le sens inverse vers l'autre extrémité. Ainsi, le message 802 d'activation de relais est routé de tête de tunnel en tête de tunnel comme un message de contrôle directement intercepté par chaque tête de tunnel puis transporté en mode point à point via une suite de tunnels associant chacun une paire de têtes de tunnel distantes (non connectées sur un même réseau LAN).
Dans le cas particulier d'un réseau LAN multi TEP, selon l'invention, le routage entre les deux têtes de tunnel d'un réseau LAN multi TEP est possible grâce à l'association réalisée lors du procédé de découverte locale, entre un numéro de port tunnel ayant une signification globale au réseau LAN multi TEP et une tête de tunnel du même réseau LAN multi TEP, ce numéro de port tunnel permettant d'identifier chaque tête de tunnel située localement sur le réseau LAN multi TEP.
Une tête de tunnel d'entrée 320 située sur un réseau LAN multi TEP, qui reçoit en premier le message 802 d'activation de relais arrivant depuis un tunnel, utilise simplement cette association avec son numéro de port tunnel d'entrée. En effet, l'identifiant 401 TEP ID utilisé dans le champ 415 du message 802 d'activation de relais permet d'identifier de façon unique le réseau LAN multi TEP, et le numéro de port tunnel d'entrée et de sortie permet d'identifier de façon unique pour ce réseau LAN multi TEP, la tête de tunnel d'entrée 320 qui gère ce port tunnel d'entrée et permettre ainsi de router le message 802 d'activation de relais vers tête de tunnel de sortie 321 du réseau LAN multi TEP.
Ainsi si le message 802 d'activation de relais arrive sur un réseau LAN multi TEP via la tête de tunnel qui n'est pas celle dont l'identifiant 401 TEP ID a été utilisé lors du procédé de découverte globale pour marquer le message 402 de découverte globale lors de la traversée d'un réseau LAN multi TEP, il est tout de même possible d'identifier la tête de tunnel d'entrée à partir du numéro de port tunnel local au réseau LAN multi TEP considéré et qui est spécifique à une tête de tunnel, et ainsi de router correctement le message 802 d'activation de relais (c'est-à-dire qu'on utilise l'identifiant 401 TEP ID de la tête de tunnel d'entrée sur le réseau LAN). Le champ 803 FD de la partie utile du message 802 d'activation sert à identifier un message d'activation de relais émis par la tête de tunnel gestionnaire. Cette tête de tunnel gestionnaire est identifiée dans le message 802 d'activation de relais par le champ 805 identifiant de tête de tunnel gestionnaire et le champ 806 port de tête de tunnel gestionnaire correspondant au port par lequel le message 802 d'activation de relais est émis. Le champ 804 état est mis à jour par une tête de tunnel faisant partie des têtes de tunnel situées sur le chemin sélectionné et dont la fonction relais est à activer. Il sert à indiquer si l'activation de la fonction relais a réussi. Par exemple la valeur 0 indique que le message 802 d'activation de relais n'a pas été encore reçu par la tête de tunnel désignée, la valeur 1 indique une activation de la fonction réussie et la valeur 2 un échec de l'activation de la fonction relais. Ces informations permettent à la tête de tunnel gestionnaire, en cas d'échec de l'activation d'une fonction relais, soit de sélectionner une autre tête de tunnel pour l'établissement du chemin en cours d'établissement, soit de désactiver les fonctions relais du même chemin qui auraient été activées inutilement. La figure 9 représente les traitements exécutés par une tête de tunnel sur réception d'un message 802 d'activation de relais véhiculé dans une trame Ethernet 260.
La partie routage a été décrite dans le paragraphe précédent, on ne décrit ici que le traitement d'activation de la fonction relais. Dans une étape 900, une tête de tunnel reçoit un message 802 d'activation de relais contenant une liste de quadruplets de champs 804, 415, 416, 417 (décrits précédemment) pour chaque relais à activer pour un chemin donné entre un réseau LAN source et un réseau LAN destination. La tête de tunnel vérifie, dans le message 802 d'activation de relais, si elle se trouve dans la liste des têtes de tunnel dont la fonction relais nécessite d'être activée et, selon la valeur du champ 804 d'état, si l'opération n'a pas déjà été effectuée sur cette tête de tunnel.
Si l'opération n'a pas déjà été effectuée sur cette tête de tunnel, dans une étape suivante 901, la tête de tunnel vérifie si, à la suite du procédé de découverte locale (de la figure 5b), elle se situe sur un réseau LAN simple TEP ou un réseau LAN multi TEP. Si la tête de tunnel se trouve sur un réseau LAN simple TEP, dans une étape 903, la tête de tunnel positionne une table de variables locales avec une entrée pour chaque combinaison de deux ports tunnels gérés par cette tête de tunnel pour autoriser le relais de trames de données venant d'un port tunnel d'entrée 416 vers un port tunnel de sortie 417. Cette variable provoque, lors de la réception d'une trame de données depuis un des ports tunnel d'entrée identifié, le relais de cette trame de données vers l'autre port tunnel de sortie associé à cette entrée.
Une étape suivante 905 (décrite plus loin dans cette section) permet ensuite la mise à jour du champ 804 état du message 802 d'activation de relais. Si la tête de tunnel, dite alors tête de tunnel d'entrée 320, se trouve sur un LAN multi TEP, il est à noter que le message 802 d'activation de relais pour l'activation la fonction de relais par un ensemble de têtes de tunnel situées sur un réseau LAN multi TEP ne va être généré qu'une seule fois vers ce réseau LAN multi TEP et ce, avec usage du champ 415 contenant l'identifiant 401 TEP ID de la tête de tunnel d'entrée 320, par lequel le message 802 de découverte globale est entré sur ce réseau LAN multi TEP. Cet identifiant 401 TEP ID de la tête de tunnel d'entrée est celui présent dans le triplet 415, 416, 417 des rapports 603 de fin de chemin de données et des rapports 602 de boucle de chemin de données envoyés à la tête de tunnel gestionnaire. C'est l'unique identification par laquelle la tête de tunnel gestionnaire connaît le relais mis en oeuvre par les têtes de tunnel de ce réseau LAN multi TEP. Ainsi, si la tête de tunnel d'entrée 320 se trouve sur un réseau LAN multi TEP, dans une étape 902, cette tête de tunnel d'entrée 320 détermine une autre tête de tunnel, dite tête de tunnel de sortie 321, vers laquelle la tête de tunnel d'entrée 320 va retransmettre ce message 802 d'activation de relais sur le réseau LAN multi TEP. A noter que la retransmission du message 802 d'activation de relais s'effectue directement dans un paquet IP véhiculé par une trame Ethernet sans encapsulation de tunneling. Selon l'invention, cette détermination de la tête de tunnel de sortie 321 est rendue possible par la notion globale de d'identifiant de port tunnel défini auparavant pour les réseaux LAN multi TEP. En effet, la tête de tunnel d'entrée 320 peut connaître l'identifiant 401 TEP ID de la tête de tunnel de sortie 321 à partir de l'identifiant du port tunnel de sortie de la tête de tunnel de sortie 321. Cet identifiant de port tunnel, ou numéro local au réseau LAN considéré, est contenu dans le champ 417 du quadruplet (804, 415, 416, 417) qui correspond à la tête de tunnel d'entrée 320 dans la liste des relais du message 802 d'activation de relais. Les bits de poids faible de l'identifiant représentent le numéro local de tunnel sur une tête de tunnel et les bits de poids fort représentent l'index de la tête de tunnel locale qui pilote ce tunnel. Le tête de tunnel d'entrée retrouve ainsi l'identifiant 401 TEP ID et donc les adresses IP et MAC locale de la tête de tunnel de sortie à partir des index dans la table des têtes de tunnel locales précédemment décrite en relation avec la figure 5b. Ensuite, la tête de tunnel d'entrée 320 active la fonction de relais pour un flux venant de la tête de tunnel de sortie 321 par suppression dans sa table de filtrage pour l'enregistrement de la tête de tunnel de sortie 321, du champ qui contient l'adresse MAC virtuelle associée au port tunnel à activer sur la tête de tunnel de sortie 321. Il s'agit de l'adresse MAC virtuelle qui est utilisée pour ce port tunnel par la tête de tunnel de sortie 321, pour l'opération de substitution d'adresse MAC source sur les trames émises par les terminaux distants et reçues par ce tunnel. Cette suppression correspond à l'arrêt du filtrage des flux de trames reçues par la tête de tunnel de sortie 321 en provenance de son tunnel impliqué dans le relais considéré, puis transmises sur le réseau LAN multi TEP par la tête de tunnel de sortie 321, et qui, par filtrage sur adresse MAC source, ne sont pas relayées par la tête de tunnel d'entrée 320. Ensuite, dans une étape 904, la tête de tunnel de sortie 321 reçoit ce message 802 d'activation de relais retransmis par la tête de tunnel d'entrée 320 via le réseau LAN multi TEP. La tête de sortie 321 vérifie alors que le champ 416 du quadruplet, dont le champ 415 correspond à la tête de tunnel d'entrée 320, correspond effectivement à un port tunnel d'entrée sur ladite tête de tunnel d'entrée 320. La tête de tunnel de sortie 321 procède alors à la suppression dans sa table de filtrage, pour l'enregistrement correspondant à la tête de tunnel d'entrée 320, du champ qui contient l'adresse MAC virtuelle associée au port tunnel à activer sur la tête de tunnel d'entrée 320. Il s'agit de l'adresse MAC virtuelle qui est utilisée pour ce port tunnel par la tête de tunnel d'entrée 320, pour l'opération de substitution d'adresse MAC source sur les trames émises par les terminaux distants. Cette suppression correspond à l'arrêt du filtrage des flux de trames reçues par la tête de tunnel d'entrée 320 en provenance de son tunnel impliqué dans le relais considéré, puis transmises sur le réseau LAN multi TEP par la tête de tunnel d'entrée 320, et qui, par filtrage sur adresse MAC source, ne sont pas relayées par la tête de tunnel de sortie 321. En effet, une trame 260 arrivant par un tunnel sur le réseau LAN multi TEP est d'abord reçue par une passerelle Internet telle que 311, 322, 324, 333, 341 et 351, puis transmise sur le réseau LAN multi TEP à la tête de tunnel qui gère le tunnel correspondant. Cette trame est ensuite transmise sur le réseau LAN multi TEP après retrait des éléments d'encapsulation de la trame 260, et après substitution par la tête de tunnel, du champ adresse MAC source dans la trame initialement émise par le terminal distant, par une adresse MAC virtuelle. Cette adresse MAC virtuelle est associée par la tête de tunnel à un port tunnel qui correspond au port tunnel par lequel la trame 260 est arrivée sur le réseau LAN multi TEP. Ainsi, les têtes de tunnel d'un réseau LAN multi TEP peuvent contrôler l'activation et désactivation de la fonction relais sur un réseau LAN multi TEP grâce à une table de filtrage, appliquée sur l'adresse MAC source des paquets en transit sur le réseau LAN multi TEP. Il est à noter que, initialement, après exécution du procédé de découverte locale présenté dans la description de la figure 5b, la fonction relais de trames de données de chaque tête de tunnel est désactivée. Pour ce faire, chaque tête de tunnel place dans cette table de filtrage l'adresse MAC virtuelle de chacun des tunnels gérés par les autres têtes de tunnel du réseau LAN multi TEP, désactivant ainsi la fonction relais du réseau LAN multi TEP pour l'ensemble des tunnels gérés par l'ensemble des TEP locaux à ce réseau LAN multi TEP.
Dans une étape 905, la tête de tunnel (tête de tunnel de sortie 321 pour un réseau LAN multi TEP ou la tête de tunnel unique pour un réseau LAN simple TEP) vérifie si la fin du chemin décrit dans le message 802 d'activation de relais est atteinte. Si tel est le cas, dans une étape 907 fin au traitement du message 802 d'activation de relais.
Dans un mode particulier de réalisation de l'invention, un rapport de succès d'activation des relais pour le chemin de données décrit dans le message 802 d'activation de relais est transmis par la tête de tunnel (tête de tunnel de sortie 321 pour un réseau LAN multi TEP ou la tête de tunnel unique pour un réseau LAN simple TEP) à destination de la tête de tunnel gestionnaire ayant émis le message 802 d'activation de relais. Ce rapport peut reprendre les quadruplets (804, 415, 416, 417) mis à jour par les différents relais le long du chemin de données à activer, une fois le champ état 804 mis à jour par la tête de tunnel pour le relais qui la concerne. Si la fin du chemin décrit dans le message 802 d'activation de relais n'est pas atteinte, dans une étape 906, la tête de tunnel (tête de tunnel de sortie 321 pour un réseau LAN multi TEP ou la tête de tunnel unique pour un réseau LAN simple TEP) procède à la mise à jour du champ 804 état pour indiquer le succès (ou l'échec) de l'activation de la fonction relais devant être effectuée sur un réseau LAN simple TEP ou un réseau LAN multi TEP, pour un chemin donné. Finalement, la tête de tunnel (tête de tunnel de sortie 321 pour un réseau LAN multi TEP ou la tête de tunnel unique pour un réseau LAN simple TEP) retransmet le message 802 d'activation de relais au réseau LAN suivant au moyen du port tunnel de sortie impliqué dans la fonction relais venant d'être activée. La figure 10 illustre une implémentation d'une tête de tunnel générique 1000 du même type que les têtes de tunnel 310, 320, 321, 330, 331, 340, 350 décrites sur la figure 3. Chaque tête de tunnel étant adaptée à mettre en oeuvre le procédé selon un mode de réalisation particulier de l'invention. Cette tête de tunnel générique 1000 peut notamment être reliée à tout moyen de stockage d'image, de vidéos ou de sons délivrant à la tête de tunnel générique 1000 des données multimédia.
Ainsi, la tête de tunnel générique 1000 comporte un bus de communication 1002 auquel sont reliés : - une unité centrale de traitement 1003 (qui est par exemple un microprocesseur référencé CPU) ; - une mémoire morte 1004 référencée ROM (pour Read Only Memory en anglais) ; - une mémoire vive 1006 (mémoire cache référencée RAM pour Random Access memory en anglais), fonctionnant comme une mémoire principale, une zone de travail, etc., d'une unité centrale 1003. La capacité de la RAM 1006 peut être étendue par une RAM optionnelle reliée à un port d'extension (non illustré) ; - un clavier 1010, une souris 1011 et un écran 1008 permettant à un utilisateur d'interagir avec cette implémentation 1000 ; - une interface de communication 1018 reliée à un réseau de communication distribué 1020, par exemple un réseau tel que le réseau LAN 303 de la figure 3, l'interface étant apte à transmettre et à recevoir des données. La tête de tunnel 1000 comporte également un disque dur 1012 et un lecteur de disquette 1014. Le bus de communication 1002 permet la communication et l'interopérabilité entre les différents dispositifs inclus dans la tête de tunnel générique 1000 ou reliés à cet équipement.
De manière plus générale, grâce au bus de communication 1002, l'unité centrale 1003 est susceptible de communiquer des instructions à tout dispositif inclus dans la tête de tunnel générique 1000 directement ou par l'intermédiaire d'un autre dispositif de la tête de tunnel générique 1000.
L'unité centrale 1003 est capable, à la mise sous tension de l'appareil de communication, d'exécuter des instructions à partir de la ROM de programme 1004. Après la mise sous tension, l'unité centrale 1003 est capable d'exécuter des instructions provenant de la mémoire principale 1006 en relation avec une application logicielle après que ces instructions ont été chargées à partir par exemple, de la ROM de programme 1004, du disque dur 1012 ou du lecteur de disquette 1014 associé a une disquette 1016. Une telle application logicielle, lorsqu'elle est exécutée par l'unité centrale 1003 provoque la réalisation de tout ou partie des étapes des organigrammes illustrés précédemment sur les figures 5a, 5b, 5c, 5d, 5e, 7, 9.
Il est à noter que l'ensemble des étapes des figures 5a, 5b, 5c, 5d, 5e, 7, 9, incluant les différentes variantes de réalisation peuvent être réalisés sous forme de programme pour ordinateur. Cependant, pour des raisons de performance, il peut être avantageux de réaliser certaines fonctions par un matériel dédié.

Claims (18)

  1. REVENDICATIONS1. Procédé d'établissement d'un chemin de communication entre un premier sous-réseau de communication et un second sous-réseau de communication par l'intermédiaire d'un troisième sous-réseau de communication, dit sous-réseau intermédiaire, dans un réseau étendu de communication (3000), ledit réseau étendu de communicàtion (3000) comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur (300), ledit procédé étant caractérisé en ce que ledit sous-réseau intermédiaire dispose d'au moins deux têtes de tunnel et en ce qu'une tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel d'entrée (320), effectue les étapes suivantes : réception, en provenance d'un tunnel de ladite tête de tunnel d'entrée, d'un message (802) d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée ; détermination, à partir dudit message (802) d'activation de relais, d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie (321), impliquée dans le relais local ; activation du relais pour une partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau ; - transmission du message (802) d'activation de relais vers ladite tête de tunnel de sortie (321).
  2. 2. Procédé selon la revendication 1, caractérisé en ce que ladite étape de détermination d'une tête de tunnel de sortie s'effectue à partir d'un descripteur de relais, contenu dans le message (802) d'activation de relais, ledit descripteur comprenant un identifiant de tunnel, associé audit relais local et en correspondance avec la tête de tunnel d'entrée, ledit identifiant de tunnel identifiant un tunnel distinct du ou des tunnel(s) de ladite tête de tunnel d'entrée.
  3. 3. Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce qu'il comprend au préalable les étapes suivantes : - réception d'un message (402) de découverte globale de chemins de communication au sein dudit réseau étendu de communication (3000) ;- ajout au message (402) de découverte globale d'un descripteur de relais référant à la tête de tunnel d'entrée (320) ; - transmission du message (402) de découverte globale modifié vers au moins une autre tête de tunnel dudit sous-réseau intermédiaire.
  4. 4. Procédé selon la revendication 3, caractérisé en ce que le descripteur de relais comprend en outre un identifiant de tunnel de la tête de tunnel d'entrée (320) par lequel le message (402) de découverte globale a été reçu par ladite tête de tunnel d'entrée (320).
  5. 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'étape d'activation du relais effectuée par la tête de tunnel d'entrée permet l'établissement du chemin pour une communication dans la direction allant depuis le second sous-réseau vers le premier sous-réseau.
  6. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que ladite étape d'activation du relais comprend une étape d'arrêt de filtrage de trames de données en provenance dudit second sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel de sortie (321) d'une table de filtrage de trames de la tête de tunnel d'entrée.
  7. 7. Procédé selon la revendication 6, caractérisé en ce que ledit filtrage est effectué sur un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues.
  8. 8. Procédé d'établissement d'un chemin de communication entre un premier sous-réseau de communication et un second sous-réseau de communication par l'intermédiaire d'un troisième sous-réseau de communication, dit sous-réseau intermédiaire, dans un réseau étendu de communication (3000), ledit réseau étendu de communication (3000) comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur, caractérisé en ce que ledit sous-réseau intermédiaire dispose d'au moins deux têtes de tunnel et en ce qu'une desdites têtes de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie (321), effectue les étapes suivantes :réception, en provenance d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel d'entrée, d'un message (802) d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée et ladite tête de tunnel de sortie ; activation du relais pour une seconde partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau, complémentaire d'une première partie dudit chemin pour lequel ledit relais a été activé par ladite de tunnel d'entrée.
  9. 9. Procédé selon la revendication 8, caractérisé en ce qu'il comprend, suite à l'étape de réception, une étape de vérification de la présence dans le message (802) d'activation de relais d'un identifiant de tunnel, associé audit relais local et en correspondance avec un identifiant de ladite tête de tunnel d'entrée, ledit identifiant de tunnel identifiant un tunnel de ladite tête de tunnel de sortie.
  10. 10. Procédé selon l'une quelconque des revendications 8 et 9, caractérisé en ce qu'il 15 comprend au préalable les étapes suivantes : - réception, en provenance de ladite tête de tunnel d'entrée, d'un message (402) de découverte globale de chemins de communication au sein dudit réseau étendu de communication (3000) ; - modification d'un descripteur de relais du message (402) de découverte globale, 20 ledit descripteur référant à la tête de tunnel d'entrée (320), ladite modification consistant à mettre en correspondance un identifiant d'un tunnel, dit tunnel de sortie, de ladite tête de tunnel de sortie avec la tête de tunnel d'entrée (320) ; - transmission du message (402) de découverte globale modifié par ledit tunnel de sortie. 25
  11. 11. Procédé selon l'une quelconque des revendications 8 à 10, caractérisé en ce que l'étape d'activation du relais effectuée par la tête de tunnel de sortie permet l'établissement du chemin pour une communication dans la direction allant depuis le premier sous-réseau vers le second sous-réseau.
  12. 12. Procédé selon l'une quelconque des revendications 8 à 11, caractérisé en ce que 30 ladite étape d'activation de relais comprend une étape d'arrêt de filtrage de trames de données en provenance dudit premier sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel d'entrée (320) dans une table de filtrage de trames de la tête de tunnel de sortie.
  13. 13. Procédé selon la revendication 12, caractérisé en ce que ledit filtrage est effectué sur un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues.
  14. 14. Produit programme d'ordinateur téléchargeable depuis un réseau de communication et/ou enregistré sur un support lisible par ordinateur et/ou exécutable par un processeur, caractérisé en ce qu'il comprend des instructions de code de programme pour la mise en oeuvre du procédé selon au moins une des revendications 1 à 7 et/ou au moins une des revendications 8 à 13, lorsque ledit programme est exécuté sur un ordinateur.
  15. 15. Moyen de stockage, éventuellement totalement ou partiellement amovible, lisible par un ordinateur, stockant un jeu d'instructions exécutables par ledit ordinateur pour mettre en oeuvre le procédé selon au moins une des revendications 1 à 7 et/ou au moins une des revendications 8 à 13.
  16. 16. Tête de tunnel d'entrée (320) d'un sous-réseau de communication, dit sous-réseau intermédiaire, un chemin de communication étant à établir entre un premier sous-réseau de communication et un second sous-réseau de communication, par l'intermédiaire dudit sous-réseau intermédiaire, dans un réseau étendu de communication (3000), ledit réseau étendu de communication (3000) comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur (300), ledit sous-réseau intermédiaire disposant d'au moins deux têtes de tunnel, ladite tête de tunnel d'entrée (320) étant caractérisée en ce qu'elle comprend : des moyens de réception, en provenance d'un tunnel de ladite tête de tunnel d'entrée, d'un message (802) d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée ; des moyens de détermination, à partir dudit message (802) d'activation de relais, d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel de sortie (321), impliquée dans le relais local ; des moyens d'activation du relais pour une partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau ;des moyens de transmission du message (802) d'activation de relais vers ladite tête de tunnel de sortie (321).
  17. 17. Tête de tunnel d'entrée (320) selon la revendication 16, caractérisée en ce que les moyens de détermination d'une tête de tunnel de sortie comprennent des moyens d'obtention d'un descripteur de relais, contenu dans le message (802) d'activation de relais, ledit descripteur comprenant un identifiant de tunnel, associé audit relais local et en correspondance avec la tête de tunnel d'entrée, ledit identifiant de tunnel identifiant un tunnel distinct du ou des tunnel(s) de ladite tête de tunnel d'entrée.
  18. 18. Tête de tunnel d'entrée (320) selon la revendication 17, caractérisée en ce qu'elle comprend en outre : - des moyens de réception d'un message (402) de découverte globale de chemins de communication au sein dudit réseau étendu de communication (3000) ; - des moyens de mise à jour du message (402) de découverte globale par ajout du descripteur de relais référant à la tête de tunnel d'entrée (320) ; - des moyens de transmission du message (402) de découverte globale modifié vers au moins une autre tête de tunnel dudit sous-réseau intermédiaire. 21. Tête de tunnel d'entrée (320) selon l'une quelconque des revendications 17 et 18, caractérisée en ce que le descripteur de relais comprend en outre des moyens d'identification de la tête de tunnel d'entrée (320) par lequel le message (402) de découverte globale a été reçu par ladite tête de tunnel d'entrée (320). 22. Tête de tunnel d'entrée (320) selon l'une quelconque des revendications 16 à 19, caractérisée en ce que les moyens d'activation du relais comprennent des moyens d'établissement du chemin pour une communication dans la direction allant depuis le second sous-réseau vers le premier sous-réseau. 21. Tête de tunnel d'entrée (320) selon l'une quelconque des revendications 16 à 20, caractérisée en ce que les moyens de d'activation du relais comprennent une table de filtrage permettant l'arrêt de filtrage de trames de données en provenance dudit second sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel de sortie (321) dans ladite table de filtrage de trames de la tête de tunnel d'entrée. 22. Tête de tunnel d'entrée (320) selon la revendication 21, caractérisée en ce que ladite table de filtrage comprend, pour chaque trame de données, un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues.23. Tête de tunnel de sortie (321) d'un sous-réseau de communication, dit sous-réseau intermédiaire, un chemin de communication étant à établir entre un premier sous-réseau de communication et un second sous-réseau de communication, par l'intermédiaire dudit sous-réseau intermédiaire, dans un réseau étendu de communication (3000), ledit réseau étendu de communication (3000) comprenant une pluralité de sous-réseaux, chaque sous-réseau disposant d'au moins une tête de tunnel permettant l'interconnexion dudit sous-réseau à au moins un autre sous-réseau de ladite pluralité de sous-réseaux au moyen d'au moins un tunnel de communication sur un réseau fédérateur (300), ledit sous-réseau intermédiaire disposant d'au moins deux têtes de tunnel, ladite tête de tunnel de sortie (321) étant caractérisée en ce qu'elle comprend : - des moyens de réception, en provenance d'une autre tête de tunnel dudit sous-réseau intermédiaire, dite tête de tunnel d'entrée, d'un message (802) d'activation de relais pour l'établissement dudit chemin, un relais, dit relais local, auquel se réfère ledit message impliquant ladite tête de tunnel d'entrée et ladite tête de tunnel de sortie ; des moyens d'activation du relais pour une seconde partie dudit chemin entre ledit premier sous-réseau et ledit second sous-réseau, complémentaire d'une première partie dudit chemin pour lequel ledit relais a été activé par ladite de tunnel d'entrée. 24. Tête de tunnel de sortie (321) selon la revendication 23, caractérisée en ce qu'elle comprend des moyens de vérification de la présence dans le message (802) d'activation de relais d'un moyen d'identification de tunnel, associé audit relais local et en correspondance avec un moyen d'identification de ladite tête de tunnel d'entrée, ledit moyen d'identification de tunnel identifiant un tunnel de ladite tête de tunnel de sortie. 25. Tête de tunnel de sortie (321) selon l'une quelconque des revendications 23 et 24, caractérisée en ce qu'elle comprend : - des moyens de réception, en provenance de ladite tête de tunnel d'entrée, d'un message (402) de découverte globale de chemins de communication au sein dudit réseau étendu de communication (3000) ; - des moyens de modification d'un descripteur de relais du message (402) de découverte globale, ledit descripteur référant à la tête de tunnel d'entrée (320), lesdits moyens de modification consistant à mettre en correspondance un identifiant d'un tunnel, dit tunnel de sortie, de ladite tête de tunnel de sortie avec la tête de tunnel d'entrée (320) ;- des moyens de transmission du message (402) de découverte globale modifié par ledit tunnel de sortie. 26. Tête de tunnel de sortie (321) selon l'une quelconque des revendications 23 à 25, caractérisée en ce qu'elle comprend des moyens d'établissement du chemin pour une communication dans la direction allant depuis le premier sous-réseau vers le second sous-réseau. 27. Tête de tunnel de sortie (321) selon l'une quelconque des revendications 23 à 26, caractérisée en ce que lesdits moyens d'activation de relais comprennent une table de filtrage permettant l'arrêt de filtrage de trames de données en provenance dudit premier sous-réseau, par suppression d'une adresse associée à ladite tête de tunnel d'entrée (320) dans une table de filtrage de trames de la tête de tunnel de sortie. 28. Tête de tunnel de sortie (321) selon la revendication 27, caractérisée en ce que ladite table de filtrage comprend, pour chaque trame de données, un champ d'adresse source desdites trames de données, ledit champ correspondant à une adresse virtuelle qui est affectée par la tête de tunnel dudit réseau intermédiaire ayant reçu lesdites trames de données et qui est représentative du tunnel par lequel lesdites trames ont été reçues.
FR0852389A 2008-04-09 2008-04-09 Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants Expired - Fee Related FR2930100B1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
FR0852389A FR2930100B1 (fr) 2008-04-09 2008-04-09 Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants
US12/418,405 US8326994B2 (en) 2008-04-09 2009-04-03 Method for setting up a communications path in an extended communications network, computer-readable storage medium and corresponding tunnel end-points

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0852389A FR2930100B1 (fr) 2008-04-09 2008-04-09 Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants

Publications (2)

Publication Number Publication Date
FR2930100A1 true FR2930100A1 (fr) 2009-10-16
FR2930100B1 FR2930100B1 (fr) 2010-05-07

Family

ID=40263780

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0852389A Expired - Fee Related FR2930100B1 (fr) 2008-04-09 2008-04-09 Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants

Country Status (2)

Country Link
US (1) US8326994B2 (fr)
FR (1) FR2930100B1 (fr)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110082941A1 (en) * 2009-10-06 2011-04-07 Electronics And Telecommunications Research Institute Method of providing direct communication in internet protocol network
US8817815B2 (en) * 2011-12-22 2014-08-26 Cisco Technology, Inc. Traffic optimization over network link
US8923113B2 (en) * 2012-06-27 2014-12-30 Cisco Technology, Inc. Optimizations in multi-destination tree calculations for layer 2 link state protocols
CN104904165B (zh) * 2013-01-04 2018-02-16 日本电气株式会社 控制装置、通信系统以及隧道端点的控制方法
KR101978173B1 (ko) * 2013-01-18 2019-05-14 삼성전자주식회사 컨텐츠 중심 네트워크에서 컨텐츠 제공자가 데이터 패킷을 전송하는 방법 및 그 컨텐츠 제공자
JP6147415B2 (ja) * 2013-04-09 2017-06-14 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツングRobert Bosch Gmbh ネットワークの変化に耐性のある、コンピュータネットワーク内のサービスディスカバリ方法
CN104283858B (zh) * 2013-07-09 2018-02-13 华为技术有限公司 控制用户终端接入的方法、装置及系统
US20160342362A1 (en) * 2014-01-23 2016-11-24 Hewlett Packard Enterprise Development Lp Volume migration for a storage area network
JP6193185B2 (ja) * 2014-07-09 2017-09-06 株式会社東芝 通信装置、端末装置およびプログラム
US9667538B2 (en) * 2015-01-30 2017-05-30 Telefonaktiebolget L M Ericsson (Publ) Method and apparatus for connecting a gateway router to a set of scalable virtual IP network appliances in overlay networks
CN104683211A (zh) * 2015-03-23 2015-06-03 肖骏 一种对虚拟网络隧道加速的方法及系统
US11388145B2 (en) * 2016-09-12 2022-07-12 Telefonaktiebolaget Lm Ericsson (Publ) Tunneling data traffic and signaling over secure etls over wireless local area networks
US11757759B2 (en) * 2020-08-31 2023-09-12 Ciena Corporation Hop limit/TTL propagation mode aware relayed MPLS/SRv6 traceroute
CN112511401B (zh) * 2020-11-19 2022-02-15 锐捷网络股份有限公司 一种网络连接方法、装置、设备及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6370121B1 (en) * 1998-06-29 2002-04-09 Cisco Technology, Inc. Method and system for shortcut trunking of LAN bridges
US6445710B1 (en) * 1991-01-09 2002-09-03 Enterasys Networks, Inc. Method and apparatus for transparently bridging traffic across wide area networks
US6765881B1 (en) * 2000-12-06 2004-07-20 Covad Communications Group, Inc. Virtual L2TP/VPN tunnel network and spanning tree-based method for discovery of L2TP/VPN tunnels and other layer-2 services

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7099316B1 (en) * 1996-02-29 2006-08-29 Tomich John L Photonic home area network
JP4157409B2 (ja) * 2003-03-31 2008-10-01 富士通株式会社 仮想パス構築装置および仮想パス構築方法
US7636315B2 (en) * 2005-06-21 2009-12-22 Hewlett-Packard Development Company, L.P. Broadcast traceroute
US7940694B2 (en) * 2005-11-14 2011-05-10 Juniper Networks, Inc. Intelligent filtering of redundant data streams within computer networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6445710B1 (en) * 1991-01-09 2002-09-03 Enterasys Networks, Inc. Method and apparatus for transparently bridging traffic across wide area networks
US6370121B1 (en) * 1998-06-29 2002-04-09 Cisco Technology, Inc. Method and system for shortcut trunking of LAN bridges
US6765881B1 (en) * 2000-12-06 2004-07-20 Covad Communications Group, Inc. Virtual L2TP/VPN tunnel network and spanning tree-based method for discovery of L2TP/VPN tunnels and other layer-2 services

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MIZUKAMI T ET AL: "Tunneling with service discovery: a remote access model and implementation", CONSUMER COMMUNICATIONS AND NETWORKING CONFERENCE, 2006. CCNC 2006. 20 06 3RD IEEE LAS VEGAS, NV, USA 8-10 JAN. 2006, PISCATAWAY, NJ, USA,IEEE, vol. 1, 8 January 2006 (2006-01-08), pages 223 - 227, XP010893163, ISBN: 978-1-4244-0085-0 *

Also Published As

Publication number Publication date
US20090259755A1 (en) 2009-10-15
US8326994B2 (en) 2012-12-04
FR2930100B1 (fr) 2010-05-07

Similar Documents

Publication Publication Date Title
FR2930100A1 (fr) Procede d'etablissement d'un chemin de communication dans un reseau etendu de communication, tetes de tunnel,produit programme d'ordinateur et moyen de stockage correspondants
FR2923969A1 (fr) Procede de gestion de trames dans un reseau global de communication, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
FR2883437A1 (fr) Dispositif et procede de communication dans un reseau
FR2936387A1 (fr) Procede de gestion d'espaces d'adressage lors d'une ouverture d'un tunnel de communication, tete de tunel, produit programme d'ordinateur et moyen de stockage correspondant.
FR2919778A1 (fr) Procede de transmission de paquets de donnees dans un tunnel, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
FR2873524A1 (fr) Reseau local a groupe(s) virtuel(s) d'equipements de coeur propres a la commutation de niveau deux
FR2906666A1 (fr) Procede de reservation de ressource dans un reseau local comprenant une pluralite de sous-reseaux, produit programme d'ordinateur, moyen de stockage et dispositif correspondants.
US20070133520A1 (en) Dynamically adapting peer groups
EP3787344A1 (fr) Procédé de configuration d'un système d'extension de couverture de communication sans-fil et un système d'extension de couverture de communication sans-fil mettant en oeuvre ledit procédé
EP1575240B1 (fr) Dispositif et procédé de traitement de trames à champ à utilisation multiprotocolaire, pour un réseau de communications
EP1641223B1 (fr) Procédé perfectionné d'attribution d'identifiants de réseau, au moyen d'identifiants d'interfaces
EP1598997B1 (fr) Routage au sein d'un réseau de communication
FR3072527B1 (fr) Gestion de la connexion avec d'autres passerelles residentielles d'une passerelle residentielle mettant en œuvre l'agregation de liens
EP3682601B1 (fr) Routage de données dans une passerelle résidentielle mettant en oeuvre l'agrégation de liens
EP3329702A1 (fr) Procede de decouverte d'un noeud d'un reseau ad hoc
EP2579545B1 (fr) Méthode d'attribution d'une adresse réseau publique à un équipement disposant d'une adresse réseau privée
WO2010072953A1 (fr) SYSTEME D'ACHEMINEMENT D'UN PAQUET DE DONNEES IPv4
EP1432210A1 (fr) Dispositif de contrôle de traitements associés a des flux au sein d'un reseau de communications
Li Future internet services based on LIPS technology
EP4366252A1 (fr) Procédé et dispositif de gestion de messages diffusés dans un réseau local
CA3164871A1 (fr) Procede et dispositif de securisation d'un reseau local comprenant un commutateur reseau auquel est reliee une station par liaison filaire
FR2934735A1 (fr) Procede d'etablissement d'un chemin de communication entre une premiere tete de tunnel et une seconde tete de tunnel, produit programme d'ordinateur, moyen de stockage et tetes de tunnel correspondantes.
EP4268427A1 (fr) PROCEDES DE COMMUNICATION, REFLECTEUR DE ROUTES, HOTE ET SYSTEME INFORMATIQUE POUR LA MISE EN oeUVRE DE TELS PROCEDES
FR2922068A1 (fr) Procede de notification a un dispositif source d'une taille limite de paquets de donnees, produit programme d'ordinateur, moyen de stockage et tete de tunnel correspondants
FR2938144A1 (fr) Procede de gestion d'espaces d'adressage a la fermeture d'un tunnel de communication entre une premiere et une seconde tete de tunnel, produit programme d'ordinateur, moyen de stockage et dispositif correspondants.

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131231