FR 2822611 A1 20020927 FR 0104001 A 20010326 PROCÉDÉ DE TRANSMISSION DE DONNÉES DANS UN RÉSEAU ACOUSTIQUE ET/OU HERTZIEN La présente invention concerne un procédé de transmission de données par voie acoustique et/ou hertzienne. La présente invention trouve tout particulièrement une application dans le cadre de réseau sous-marin et hertzien destiné à transmettre des données entre une station terrestre et des stations acoustiques sous-marines. Les ondes acoustiques demeurent le support physique le plus approprié pour transmettre des données dans un milieu sous-marin. Un réseau acoustique sous-marin est décrit dans le brevet américain US 5 303 207. Ce réseau comprend une station centrale de surface, des stations terminales sous-marines de mesure et des stations intermédiaires sous-marines pour acheminer les données entre les stations terminales et la station centrale de surface. Chaque station est munie d'un modem acoustique pour communiquer avec les autres stations du réseau. Les données à transmettre d'un modem acoustique à un autre sont transmises à travers un canal acoustique. Pour transmettre des données d'une station source vers une station destination, la station source définit préalablement un circuit virtuel comprenant la station source et les stations nécessaires à la transmission des-données pour qu'elles atteignent la station destination. Une séquence unique de fréquences de transmission entre stations est assignée à chaque circuit virtuel. La transmission des données est ensuite réalisée lorsque le circuit virtuel est entièrement défini. Après la transmission de données, le circuit virtuel est dissout par la station source. Dans ce réseau, une même station acoustique ne peut appartenir simultanément à deux circuits virtuels différents. Il apparaît alors des situations de blocage lorsque, au moment de la création d'un nouveau circuit virtuel, celui-ci cherche à sélectionner une station acoustique appartenant déjà à un circuit virtuel en cours d'utilisation. La création de ce nouveau circuit virtuel doit alors être retardée ou sa composition doit être modifiée de manière à ne pas utiliser la station acoustique en question. Aussi, l'invention procède d'une recherche menée relativement à un réseau acoustique et/ou hertzien en vue d'atteindre les objectifs suivants : diminuer la probabilité de blocage pour le transport de données entre deux stations distantes du réseau et optimiser le transport des données entre deux stations voisines. A cet effet, l'invention concerne un procédé de transmission de messages de données dans un réseau à la fois sous-marin et aérien comportant une pluralité de stations acoustiques et hertziennes. Chaque message de données à transmettre est généré par une station source et transmis vers une station destination en transitant par-des stations intermédiaires lorsque la station source et la station destination ne sont pas voisines, c'est-à-dire lorsqu'une transmission directe du message de données entre la station source et la station destination n'est pas possible, ce qui est généralement le cas. Selon l'invention, à chaque fois qu'une station reçoit ou génère un message de données, elle effectue les étapes suivantes : - si elle est la station destination du message de données, elle exploite ledit message de données, sinon, elle détermine une station voisine vers laquelle émettre le message de données en fonction de sa station destination et mémorise ledit message de données dans un espace mémoire affecté à la station voisine déterminée. Pour ce qui est de l'émission des messages de données, chaque station ayant des messages de données à transmettre n'émet vers une station voisine le ou les messages de données contenus dans l'espace mémoire affecté à cette station voisine que lorsque le ou les messages de données à transmettre de cet espace mémoire satisfont un critère d'émission. Ainsi, les messages de données sont transmis dans le réseau par sauts de transmission successifs indépendants entre eux. De plus, plusieurs messages de données peuvent être transmis vers une station cible au cours du même saut de transmission. Ces deux caractéristiques permettent de réduire fortement les situations de blocage dans le réseau. Par ailleurs, pour améliorer la transmission des messages de données, les paramètres de transmission de chaque saut sont adaptés aux conditions environnementales et à la nature des messages de données. Par exemple, le type de modulation employée pour moduler les messages de données à transmettre est choisi en fonction du débit désiré et/ou de l'importance des données contenues dans le message et/ou des conditions de transmission (transmission horizontale ou verticale, transmission en eau profonde ou en bas fonds,...) rencontrées entre les stations. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description détaillée qui suit et qui est faite en référence aux dessins annexés, parmi lesquels : - La figure 1 illustre la transmission de messages de données selon le procédé de l'invention ; La figure 2 représente les moyens employés dans chaque station pour traiter les messages de données ; La figure 3 représente les étapes d'une phase d'émission de messages de données dans une station ; La figure 4 représente les étapes d'une phase de réception de messages de données dans une station ; et La figure 5 est un exemple de réseau de stations. Dans la suite de la description, la station source d'un message de données désigne la station du réseau qui a généré ce message et la station destination désigne la I station à laquelle ce message de données est destiné. La station source correspond à la première station du chemin de transmission suivi par le message de données et la station destination correspond à la dernière station de ce chemin. Par ailleurs, pour chaque saut de transmission, la station cible désigne la station voisine vers laquelle est émis le message de données. La station cible peut être la station destination du message de données ou une station intermédiaire. Chaque station comprend un modem pour recevoir, traiter et émettre les messages de données. Ce modem est soit acoustique, soit hertzien. Selon l'invention, la transmission d'un message de données d'une station source du réseau vers une station destination est effectuée de proche en proche par sauts de transmission successifs, non forcément consécutifs, indépendants entre eux. Pour aller d'une station A vers une station B, un message de données transite par des stations intermédiaires si les stations A et B ne sont pas voisines. A chaque saut de transmission, le message de données est généralement transmis avec d'autres messages de données. Un saut de transmission correspond à la transmission de données d'une station vers l'une de ses voisines. Deux stations sont dites voisines s'il est possible de transmettre directement des données de l'une vers l'autre sans passer par des stations intermédiaires. Selon j l'invention, à chaque fois qu'une station du réseau reçoit ou génère un message de données, il y a deux situations possibles : - si la station destination du message de données est la station considérée, les données du message sont interprétées par la station ; sinon, elle détermine une station voisine vers laquelle émettre le message de données en fonction de sa station destination et mémorise ledit message de données dans un espace mémoire de la station affecté à la station voisine déterminée. Elle détermine la station voisine vers laquelle émettre le message de données à l'aide de tables de routage. Chaque station dispose de plusieurs tables de routage lui permettant notamment d'identifier ses voisines et d'évaluer la distance qui la sépare des autres stations du réseau. Ces tables de routage vont permettre d'identifier la station voisine qui est la plus proche de la station destination du message de données. Le message de données sera retransmis vers cette station voisine. S'agissant de l'émission des messages de données, une station du réseau n'émet vers une station voisine le ou les messages de données contenu (s) dans l'espace mémoire affecté à cette station voisine que lorsque le ou les messages de données à transmettre de cet espace mémoire satisfont un ou plusieurs critères d'émission. Par-exemple, les messages de données d'un espace mémoire sont émis vers la station cible associée à cet espace mémoire si le volume de messages de données contenus dans cet espace mémoire est supérieure ou égale à une valeur seuil, et/ou si le temps de présence d'au moins un message de données dans cet espace mémoire est supérieure à une valeur seuil, et/ou si cet espace mémoire contient des messages de données prioritaires. Le procédé de l'invention peut être illustré par la figure 1. Dans cette figure, on considère trois stations, référencées ST1, ST2, ST3 et ST4. Les stations ST1, ST3 et ST4 sont des stations voisines de la station ST2. Les stations ST3 et ST4 ne sont toutefois pas voisines à la station 1. La station ST1 doit transmettre des messages de données, référencés M2, M3 et M4, respectivement aux stations ST2, ST3 et ST4. Les trois messages M2, M3 et M4 sont transmis ensemble vers la station ST2 par un premier saut de transmission. La station ST2 analyse ensuite les messages de données reçus. Elle interprète le message de données M2 qui lui est destiné et place le message M3 dans l'espace mémoire de la station ST2 affecté à la station ST3 et le message M4 dans l'espace mémoire de la station ST2 affecté à la station ST4. Le message M3 sera transmis ultérieurement vers la station ST3 avec les autres messages de données contenus dans l'espace mémoire affecté à la station ST3 lorsque ces messages de cet espace mémoire satisferont au critère d'émission préalablement défini. Le message M4 sera transmis ultérieurement de la même manière vers la station ST4. Pour mettre en oeuvre ce procédé, le modem de chaque station du réseau comporte des moyens d'émission/réception pour émettre et recevoir des messages de données, des moyens pour traiter les messages de données reçus et générés par la station, et des moyens pour les stocker. Avantageusement, les moyens de stockage consistent en : un circuit tampon pour stocker les messages de données reçus par la station, appelé circuit tampon de réception ; - un circuit tampon, appelé circuit tampon réseau, pour chacune des stations voisines de la station considérée afin de stocker les messages de données à transmettre à ses voisines ; ainsi, si la station considérée a N stations voisines, son modem comporte N circuits tampons réseau, un circuit tampon réseau étant affecté à chaque station voisine ; - un circuit tampon, appelé circuit tampon d'émission, pour stocker les messages de données provenant de l'un des circuits tampons réseau de la station qui vont être émis par les moyens d'émission du modem ; et - un circuit tampon pour stocker les messages de données générés par la station, appelé circuit tampon utilisateur. On peut alors illustrer de manière très simple le fonctionnement du modem de chaque station à travers la figure 2. Dans cette figure, on considère un modem comportant des moyens de réception REC, des moyens d'émission EM, une unité centrale dans laquelle est exécutée une application APP, un circuit tampon de réception BR, un circuit tampon d'émission BE, un circuit tampon utilisateur BU et trois circuits tampons réseau BN1, BN2 et BN3 pour stocker les messages de données destinés à être transmis vers des stations voisines, respectivement Vl, V2 et V3. Les messages de données reçus par les moyens de réception REC du modem de la station sont placés dans le circuit tampon de réception BR du modem. Les messages de données dont la station destination est la station considérée sont transmis à l'application APP de la station et interprétés par celle-ci. Les autres messages de données reçus sont placés dans les différents circuits tampons réseau BN1, BN2, BN3 en fonction de leur station destination. De même, si l'application APP génère des messages de données, la station les place tout d'abord dans le circuit tampon utilisateur BU puis dans les différents circuits tampons réseau BN1, BN2 et BN3, en fonction de leur station destination. Une unité de traitement (non représentée sur la figure) est prévue pour déterminer, pour chacun des messages de données reçus ou générés, la station voisine vers laquelle transmettre le message de données en fonction de sa station destination. Ensuite, si les messages de données de l'un des circuits tampons réseau satisfont le critère d'émission prédéfini, le contenu de ce circuit tampon réseau est transféré dans le circuit tampon d'émission BE de la station. Les messages de données contenus dans le circuit tampon d'émission sont alors transmis par les moyens d'émission EM vers la station cible associée au circuit tampon réseau dont le contenu a été transféré dans le circuit tampon d'émission. Pour traiter les messages de données, le modem de chaque station entre alternativement dans plusieurs phases de fonctionnement : - en phase d'émission, le modem émet des messages de données ; - en phase de réception, le modem reçoit des messages de données ; et - en phase de veille, le modem traite les messages reçus ou générés, met à jour les tables de routage de la station si nécessaire et évalue régulièrement la qualité des liaisons avec les stations voisines. En dehors de ces trois tâches, le modem est en veille profonde et n'effectue aucune opération. En phase d'émission, le modem exécute les étapes suivantes illustrées à la figure 3 : - étape El : écoute du canal acoustique ou d'un canal hertzien disponible pour émettre les messages de données contenus dans le circuit tampon d'émission vers une station cible ; - étape E2 : émission d'un message de configuration de transmission CFG vers les stations voisines ; étape E3 : attente d'un message d'acquittement provenant de la station cible, et transmission vers la station cible des messages de données contenus dans le circuit tampon d'émission du modem ; et - étape E4 (facultative) : envoi d'un message de fin de transmission à toutes les stations voisines. Pour décrire ces étapes, on considère un modem, A, ayant des messages de données dans son circuit tampon d'émission à émettre vers un modem B d'une station voisine. ETAPE El Le modem A estime la disponibilité du canal acoustique ou hertzien pour émettre les messages de données par paquets vers le modem B. Cette étape est par exemple réalisée en effectuant une mesure de bruit du canal acoustique. ETAPE E2 Le modem A émet un message de configuration de transmission CFG vers les stations voisines à travers le canal sélectionné et déclenche un compte à rebours. Ce message est destiné à être interprété par le modem B. Il comporte des informations relatives au nombre et/ou à la taille des paquets de données à émettre et/ou au type de modulation et/ou au débit de transmission et/ou au type de transmission (avec ou sans acquittement après chaque paquet de données) qui seront employés pour la transmission des messages de données à suivre (le type de modulation et le débit à employer ont été évalués au cours d'une phase précédente de veille de la station). Si le message CFG est reçu sans erreur par le modem B, celui-ci renvoie un message d'acquittement ACK au modem A. Sinon, il renvoie un message de non acquittement NACK. Les modems des stations voisines, autres que le modem B, détectant que le message CFG ne leur est pas destiné, passent alors dans une phase de veille avec interdiction d'émettre pendant une durée prédéfinie. ETAPE E3 Le modem A attend la réception du message d'acquittement ACK provenant du modem B. Si au terme de son compte à rebours, le modem A n'a pas reçu de message d'acquittement ACK, il reprend la phase d'émission à l'étape El pour estimer de nouveau la disponibilité du canal. Si le modem A reçoit le message d'acquittement ACK avant la fin de son compte à rebours, il émet les messages de données par paquets successifs vers le modem B. Si, après M tentatives, le modem A n'a toujours pas reçu de message d'acquittement du modem B, il modifie les tables de routage de la station et passe à l'étape E4. Après réception du message d'acquittement ACK, le modem A peut émettre les paquets de données à travers le canal selon deux modes de transmission différents : - selon un premier mode de transmission, le modem A émet les paquets de données de façon continue les uns à la suite des autres sans attendre de message d'acquittement ; -selon un deuxième mode de transmission, le modem A émet un premier paquet de données puis attend un message d'acquittement ou de non acquittement du modem B avant d'envoyer le paquet suivant, et ainsi de suite ; 1 dans ce mode de transmission, le modem A déclenche un compte à rebours après l'envoi de chaque paquet de données. Si le modem A n'a pas reçu de message ACK au terme du compte à rebours ou a reçu un message NACK, il émet le paquet de données suivant si il y en a un. Si il y a N échecs consécutifs avec le même type de modulation, le modem A modifie alors ses tables de routage en supprimant sa liaison avec le modem B (le modem B n'est alors plus considéré comme un modem voisin), et passe à l'étape suivante. ETAPE E4 L'étape E4 est exécutée lorsque le modem A n'a plus de paquets de données à émettre vers le modem B. Cette étape peut être réalisée de deux manières différentes : soit le modem A envoie à toutes les stations voisines un message de fin de transmission leur indiquant qu'elles peuvent de nouveau émettre si nécessaire, soit chaque station voisine repasse d'elle-même dans un mode lui permettant d'émettre à nouveau des messages de données, par exemple à la fin d'un compte à rebours, déclenché à la réception du message de configuration de transmission CFG, la durée du compte à rebours étant proportionnelle au nombre de paquets de données à recevoir. Après l'émission de tous les paquets de données, le modem A repasse en phase de veille. En phase de réception, le modem B exécute les étapes suivantes illustrées à la figure 4 : - étape RI : réception du message de configuration de transmission ; - étape R2 : émission d'un message d'acquittement vers le modem A ; - étape R3 : interprétation du message de configuration de transmission ; - étape R4 : réception des messages de données ; et - étape R5 (facultative) : réception d'un message de fin de transmission. ETAPE RI Le message CFG est reçu par les moyens de réception du modem B. Ce message est également reçu par les autres modems voisins du modem A. Le message CFG ne leur étant pas destiné, ils passent dans une phase de veille avec interdiction d'émettre pendant une durée prédéfinie. ETAPE R2 Si le modem B ne détecte aucune erreur dans le message CFG, il renvoie un message d'acquittement ACK au modem A et déclenche un compte à rebours dont la durée est fonction notamment du nombre et de la taille des paquets de données à recevoir. Si le message CFG reçu est erroné, le modem B renvoie un message de non acquittement NACK. ETAPE R3 Le modem B interprète ensuite le message CFG pour déterminer le nombre et la taille des paquets de données qui seront reçus et éventuellement le type de modulation, le débit de transmission et le type de transmission (avec ou sans acquittement après chaque paquet de données) qui seront utilisés pour la transmission des messages des données. ETAPE R4 Le modem B reçoit les paquets des messages de données. Le modem B renvoie alors au modem A un message d'acquittement ACK ou de non-acquittement NACK après chaque paquet de données ou après chaque message de données, la procédure à appliquer étant précisée dans le message CFG préalablement reçu. Selon le premier mode de transmission défini précédemment, le modem B vérifie que les messages de données reçus ne sont pas erronés et les charge dans son circuit tampon de réception s'ils ne comportent pas d'erreur. Selon le deuxième mode de transmission, le modem B vérifie un à un les paquets de chaque message de données et les enregistre au fur et à mesure dans son circuit tampon de réception. Les paquets erronés ne sont pas enregistrés dans le circuit tampon de réception. Etape R5 A la fin de la transmission, le modem B reçoit un message de fin de transmission pour passer en phase de veille ou repasse de lui-même dans cette phase au terme de son compte à rebours. Pendant la phase de veille, le modem B va alors traiter les'messages de données présents dans son circuit tampon de réception. Pendant cette phase, les messages de données dont la station destination est la station du modem B sont envoyés vers l'application de la station du modem B pour que celle-ci les interprète. Les autres messages de données sont enregistrés dans les différents circuits tampons réseau de la station en fonction de leur station destination. Pour ce faire, l'unité de traitement du modem détermine pour chaque message de données à l'aide de tables de routage la station voisine vers laquelle émettre le message de données et enregistre alors le message de données dans le circuit tampon réseau se rapportant à cette station voisine. La détermination de la station voisine vers laquelle transmettre le message de données est détaillée plus en amont dans la description. En phase de veille, le modem vérifie également régulièrement si son circuit tampon utilisateur contient des messages de données. Si c'est le cas, il détermine également pour chacun d'entre eux la station voisine vers laquelle émettre le message de données et les enregistre comme précédemment dans le ou les circuits tampons réseau appropriés. Puis le modem, toujours en phase de veille, détermine si le critère d'émission choisi est satisfait par les messages de données de l'un des circuits tampons réseau. Si le critère est satisfait, le modem transfère les messages de données de ce circuit tampon réseau vers le circuit tampon d'émission. Le modem considéré passe'alors de nouveau en phase d'émission. Pendant la phase de veille, le modem est également chargé d'évaluer régulièrement la qualité des liaisons avec les stations voisines et de définir les types de modulation à employer pour une transmission sans erreur et pour une transmission acceptant quelques erreurs. Cette opération d'évaluation des liaisons permet notamment de rétablir ou de supprimer des liaisons avec des stations voisines. Des messages de mise à jour des tables de routage sont alors générés par le modem. Ces messages de mise à jour sont utilisés pour modifier les tables de routage du modem et transmis aux stations voisines pour qu'elles mettent à jour leurs tables de routage. Ainsi, chaque station dispose des tables de routage suivantes : DISTANCEZ : vecteur de nombres entiers représentant la distance entre une station i et l'ensemble des stations du réseau ; la valeur DISTANCEi [k] représente le nombre de sauts entre la station i et la station k ; à la mise en service du réseau, chaque composante du vecteur est initialisée à la valeur oo à l'exception de celle de la station i qui est initialisée à zéro : DISTANCEj. [i] =0 et Vjfi, DISTANCER] =00 ; - VOISIN-VERS1 : tableau de N lignes et N colonnes de nombres entiers ; VOISIN-VERS, [j, k] indique, si i est voisine de j, la perception qu'a la station i de la distance entre la station j et la station k. .. 1 Le contenu des tables de routage DISTANCE, et VOISINVERSi est illustré au travers d'un exemple. Dans cet exemple, on va donc considérer un réseau très simple comportant six stations identifiées par les numéros 1 à 6. Ces stations sont placées les unes par rapport aux autres comme indiqué sur le schéma de la figure 5. La table VOISIN~VERS1 de la station 1 est représentée ci-après. La case placée au croisement de la nè, ligne et la pème colonne représente le nombre de sauts séparant la station n de la station p. VOISINS VERS1 00 # # # # # 1 0 1 2 2 1 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1 1 2 2 1 0 Chaque case du tableau a été initialisée à la valeur ce. Les lignes comportant uniquement des valeurs infinies se rapportent donc à des stations qui ne sont pas voisines de la station 1. Dans cet exemple, seules les stations 2 et 6 sont voisines de la station 1. Par ailleurs, VOISIN-VERS, [2, 4] =2 signifie que 2 sauts sont nécessaires pour transmettre des données de la station 2 vers la station 4. 1 D'autre part le vecteur DISTANCE1 est le suivant : 0 1 2 3 2 1 DISTANCE1 [5] =2 signifie que 2 sauts sont nécessaires pour transmettre les données de la station 1 vers la station 5. Ce vecteur est obtenu en incrémentant de 1 la plus petite valeur de la colonne correspondante de la table VOISIN-VERS,, à l'exception de DISTANCE1 [l] qui est mis à 0. On a par exemple : DISTANCE1 [5] = 1+in {VOISIN~VERS1[k,5] pour k e [l,.., 6] Les tables se rapportant aux autres stations de cet exemple sont données ci-après : VOISIN~VERS2 012321 # 00 00 00 00 # 2 1 0 1 1 2 00 00 00 00 00 00 00 00 00 00 00 00 1 1 2 2 1 0 DISTANCE2 1 0 1 2 2 1 VOISIN-VERS3 00 00 00 00 00 00 101221 00 00 00 00 00 00 3 2 1 0 1 2 2 2 1 1 0 1 # # # # # # DISTANCE3 2 1 0 1 1 2 VOISINVERS4 00 00 00 00 00 00 00 00 00 00 00 00 210112 # # # # # # 2 2 1 1 0 1 # # # # # 00 DISTANCE4 3 2 1 0 1 2 VOISIN~VERS5 00 00 00 00 00 00 00 00 00 00 00 # 210112 321012 00 00 00 00 00 00 # # # # # # 1 1 2 2 1 0 DISTANCEs 2 2 1 1 0 1 VOISIN~VERS6 0 1 2 3 2 1 1 0 1 2 2 1 00 00 00 00 00 00 00 00 00 00 00 00 2 2 1 1 0 1 # # # # # # DISTANCE6 1 1 2 2 1 0 UTILISATION DES TABLES DE ROUTAGE POUR DETERMINER UNE STATION VOISINE VERS LAQUELLE EMETTRE UN MESSAGE DE DONNEES REÇU OU GENERE La détermination de la station voisine vers laquelle la station i doit émettre le message msg (m, Sf) est effectuée en consultant le tableau VOISINVERSi. m désigne le contenu du message et Sf la station destination de ce message. Prenons par exemple le cas où la station 3 du réseau de la FIG. 5 reçoit le message msg (m, l). Les stations 1 et 3 ne sont pas voisines. En consultant le tableau VOISINVERS3, on constate que, parmi les stations voisines de la station 3, la station 2 est la plus proche de la station 1 (VOISINVERS3 [1, 2] =1). Le message msg (m, l) sera donc transmis à la station 2. Le vecteur DISTANCE est utilisé pour vérifier que la station destination Sf du message est accessible c'est- à-dire que DISTANCEi [Sf] n'est pas infini. Ce vecteur est également utilisé pour les mises à jour des tables VOISINVERSi. MISE A JOUR DES TABLES DE ROUTAGE Lorsqu'une panne (perte d'une liaison ou d'une station) intervient, les informations contenues dans les tables DISTANCE ET VOISIN~VERSi des stations concernées sont mises à jour. À noter que la perte d'une station est z équivalente à la perte de toutes ses liaisons avec ses voisines. Une mise à jour des tables est également réalisée lorsqu'une nouvelle station est insérée dans le réseau ou qu'une liaison entre deux stations est rétablie. La perte d'une liaison entre les stations i et j est détectée au moyen d'une opération de maintenance (pendant la phase de veille), appelée opération de suspicion mutuelle : toute station i envoie périodiquement à chacune de ses voisines un message de présence présent (i) ; si la station voisine j ne reçoit pas ce message de présence pendant une période de temps prédéterminée, elle en conclut à la panne de la liaison correspondante ; on peut matérialiser cette nonréception du message présent (i) par la réception d'un message de panne (i, j) par la station j ; de manière analogue, lors de l'insertion d'une liaison (i, j) dans le réseau, la station i reçoit un message de présence présent (j) et en déduit la présence d'une nouvelle station j ; par retour d'acquittement de la station i, la station j apprend également que la station i est voisine ; on peut matérialiser cela par la réception d'un message insertion (i, j) par les stations i et j. Ainsi, lorsque la station i reçoit un message insertion (i, j), elle apprend que la station j est une nouvelle voisine ; elle recalcule les valeurs du vecteur DISTANCE, notamment DISTANCE [j] qui est désormais égal à 1, et la ligne du tableau VOISINVERSi se rapportant à la station j. Par ailleurs, elle informe ses autres voisines de ce nouveau voisinage et leur envoie des messages de mise à jour maj (d, i, j) pour chaque valeur modifiée de DISTANCE. Le message maj (d, i, k) indique à son destinataire j que VOISIN~VERS@[i,k]=d. Ainsi seules les valeurs impliquées par les modifications sont recalculées. Lorsque la station i reçoit un message panne (i, j), elle en déduit que la station j n'est plus voisine. Cette perte de voisinage entraîne une mise à jour des tables de la station i. La ligne du tableau VOISIN-VERS, se rapportant à la station j est modifiée et le vecteur DISTANCE, est recalculé. La station i envoie également à ses voisines des messages de mise à jour maj (d, i, k) pour chaque valeur modifiée de DISTANCE,. Par ailleurs, lorsqu'une station, par exemple i reçoit un message de mise à jour maj (d, j, k), elle met à jour VOISIN-VERS, [j, k] =d et recalcule avec cette nouvelle valeur le vecteur DISTANCE puis diffuse à ses voisines les distances qui ont été modifiées dans le vecteur DISTANCE par de nouveaux messages de mise à jour. EXEMPLE DE MISE A JOUR DES TABLES DE ROUTAGE Un exemple de mise à jour des tables DISTANCE, et VOISIN-VERS, est donné ci-après. Dans cet exemple, la liaison entre les stations 1 et 2 du réseau de la figure 5 est rompue. Grâce aux opérations de suspicion mutuelle, ces deux stations vont détecter l'absence d'une ! station voisine. Dès que la station 1 aura détecté la panne (la non-réception du message présent (j) dans le temps imparti) elle modifie VOISIN-VERS1 et DISTANCEZ de la façon suivante (les valeurs recalculées sont indiquées en trait gras et soulignées) : VOISIN-VERS, m # # # # # # # # 00 00 00 # 00 00 00 00 00 00 00 00 00 00 00 00 00 00 112210 DISTANCE, 0 2 3 3 2 1 La modification de deux valeurs du vecteur DISTANCE entraîne alors l'envoi des messages maj (3, l, 3) et maj (2, l, 2) par la station 1 à ses voisines, soit dans le cas présent à la station 6. Certaines valeurs du tableau de la station 6 sont alors modifiées : VOISIN-VERS6 023321 101221 00 00 00 00 00 00 00 00 00 00 00 00 221101 00 00 # # # # DISTANCE6 1 1 2 2 1 0 Lorsque la station 2 détecte à son tour la panne, on obtient : VOISIN-VERS2 # # # # # # 00 00 00 # 00 00 3 1 0 1 1 2 00 00 00 00 00 00 00 00 00 00 00 00 1 1 2 2 1 0 DISTANCE2 2 0 1 2 2 1 La modification de la valeur DISTANCE2[1] entraîne l'envoi du message maj (2,2, 1) aux stations voisines 3 et 6. Les tables de la station 6 deviennent : VOISIN~VERS6 0 2 3 3 2 1 2 0 1 2 2 1 201221 # # # # # # 00 00 00 00 00 00 2 2 1 1 0 1 00 00 00 00 00 00 DISTANCE6 112210 Le vecteur DISTANCE6 n'ayant pas été modifié, la station n'envoie donc aucun message de mise à jour. La réception du message de mise à jour maj (2, 2, l) par la station 3 entraîne les modifications suivantes : VOISIN-VERS3 00 00 00 00 00 00 201221 00 00 00 00 00 00 3 2 1 0 1 2 2 2 1 1 0 1 00 00 00 00 00 00 DISTANCE3 3 1 0 1 1 2 La modification de la valeur DISTANCE3 l] entraîne l'envoi du message maj (3, 3, l) aux stations 2, 4 et 5. Le traitement de ce message par la station 2 ne modifie pas le contenu des tables VOISIN~VERS2 et DISTANCE2. On obtient ainsi : VOISIN~VERS4 # # # # # # # 00 00 00 00 00 10112 00 00 00 00 00 00 221101 00 # 00 00 00 00 DISTANCE4 3 2 1 0 1 2 VOISIN-VERS5 # # # # # # # # 3 1 0 1 1 2 3 2 1 0 1 2 # # # # # # 1 1 2 2 1 0 DISTANCEs 2 2 1 1 0 1 Par ce protocole de suspicion mutuelle, chaque modification du réseau ne génère qu'un nombre fini de messages de mise à jour. Si, à un instant donné, aucun message de mise à jour n'est en transit, alors les tables définissent comme chemins optimaux ceux qui le sont réellement. L'optimalité est obtenue lorsque tous les messages de mise à jour ont été traités. Ces tables de routage permettent donc de déterminer les stations vers lesquelles transmettre les messages de données contenus dans le circuit tampon de réception et dans le circuit tampon utilisateur du modem. REVENDICATIONS 1) Procédé de transmission de messages de données dans un réseau comportant une pluralité de stations acoustiques et/ou hertziennes, chaque message de données étant généré par une station source et transmis vers une station destination en transitant par des stations intermédiaires lorsque lesdites stations source et destination ne sont pas voisines, caractérisé en ce que, chaque fois qu'une station reçoit ou génère un message de données, elle effectue les étapes suivantes : - si elle est la station destination du message de données, elle exploite ledit message de données, sinon, elle détermine une station voisine vers laquelle émettre le message de données en fonction de sa station destination et mémorise ledit message de données dans un espace mémoire affecté à la station voisine déterminée, et en ce que chaque station ayant des messages de données à transmettre n'émet vers une station voisine le ou les messages de données contenu (s) dans l'espace mémoire affecté à cette station voisine que lorsque le ou les messages de données à transmettre de cet espace mémoire satisfont un ou plusieurs critères d'émission. 2) Procédé selon la revendication 1, caractérisé en ce que, pour déterminer la station voisine vers laquelle .. 1 émettre le message de données, chaque station du réseau dispose d'une table de routage (VOISINVERSi) déterminant la station voisine qui est la plus proche de la station destination du message de données à transmettre. 3) Procédé selon la revendication 2, caractérisé en ce que la table de routage de chacune des stations du réseau est mise à jour régulièrement par des messages de mise à jour. 4) Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que chaque station, avant d'émettre vers une station voisine les messages de données contenus dans l'espace mémoire affecté à cette station voisine, détermine la disponibilité du canal acoustique. 5) Procédé selon la revendication 4, caractérisé en ce que chaque station, avant d'émettre vers une station voisine les messages de données contenus dans l'espace mémoire affecté à cette station voisine, envoie un message de configuration de transmission à ladite station voisine à travers ledit canal acoustique ou hertzien sélectionné, ledit message de configuration de transmission comprenant des informations sur le nombre et/ou la taille des paquets de données à transmettre. 6) Procédé selon la revendication 5, caractérisé en ce que ledit message de configuration de transmission comprend en outre des informations sur le type de .. 1 modulation et/ou le débit de transmission et/ou le type de transmission employé (s). 7) Procédé selon la revendication 6, caractérisé en ce que le type de modulation est déterminé en fonction des conditions de transmission entre la station émettrice et la station réceptrice et de la nature du message. 8) Procédé selon l'une quelconque des revendications 1 à 7, caractérisé en ce que chaque message de données est émis par paquets de données successifs. 9) Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que, lorsqu'une station émet un ou plusieurs messages de données vers une station voisine, les autres stations voisines sont empêchées d'émettre. 10) Procédé selon l'une quelconque des revendications 1 à 9, caractérisé en ce qu'un premier critère d'émission est satisfait si le volume de messages de données dans l'espace mémoire est supérieur à une valeur seuil. 11) Procédé selon l'une quelconque des revendications 1 à 10, caractérisé en ce qu'un second critère d'émission est satisfait si le temps de présence d'au moins un message de données dans l'espace mémoire est supérieur à une valeur seuil. 12) Procédé selon l'une quelconque des revendications 1 à 11, caractérisé en ce qu'un troisième critère d'émission est satisfait si l'espace mémoire comporte au moins un message de données prioritaires.