Brevet FR3107632A1 — publié le 20210827

La présente invention concerne une méthode de synchronisation d’un nœud dans un réseau maillé déterministe, notamment un réseau de capteurs utilisant un mode d’accès au support de transmission par saut de canal (TSCH). Chaque nœud mesure les décalages de synchronisation successifs de son horloge locale par rapport à celles des nœuds voisins avec lesquels il entre en communication, la mesure étant effectuée en détectant un évènement de réception d’un paquet émis par le nœud voisin ou un accusé de réception d’un paquet émis par ledit nœud à destination du nœud voisin. Le nœud estime à partir de ces décalages de synchronisation, un décalage de synchronisation pour l’intervalle de temps d’accès et corrige son horloge locale d’une fraction du décalage de synchronisation ainsi estimé. Ladite fraction peut être déterminée au moyen d’un apprentissage par renforcement multi-agent (MARL), chaque agent étant associé à un nœud du réseau. Figure pour l’abrégé: Fig. 5 MÉTHODE DE SYNCHRONISATION DE NŒUDS DANS UN RÉSEAU MAILLÉ DÉTERMINISTE La présente invention concerne de manière générale le domaine des réseaux maillés sans fil, notamment les réseaux WSN ( Wireless Sensor Network ) conformes à la norme IEEE 802.15.4 et plus spécifiquement à sa version IEEE 802.15.4e. Elle trouve notamment application dans le domaine de l’Internet industriel des Objets ou IIoT ( I ndustrial I nternet of Things ). Etat de la technique antérieure Les réseaux de capteurs sans fil ou WSN ( Wireless Sensor Network ) sont de plus en plus fréquemment utilisés dans le domaine des infrastructures industrielles, notamment pour des applications nécessitant un contrôle d’informations critiques en temps réel. Lorsque ces réseaux sont reliés à Internet via une passerelle, on parle généralement d’Internet industriel des objets ou IIoT ( Industrial Internet of Things ). L’IIoT concerne des secteurs aussi variés que ceux de la production d’énergie (par exemple les centrales nucléaires), de l’approvisionnement (eau, carburants, gaz, énergie), des communications (par exemple entre drones), de la surveillance des infrastructures civiles (ponts, routes, pipelines) etc. Les cas d’usage de l’IIoT associent généralement une infrastructure industrielle complexe, un transfert déterministe des données critiques et une gestion en temps réel du processus de contrôle. Par transfert déterministe de données, on entend classiquement un acheminement garanti de ces données sous une contrainte de latence prédéterminée. En outre, les nœuds étant généralement autonomes en énergie, leur consommation doit être la plus faible possible. Des protocoles de communication spécifiques ont été proposés pour satisfaire aux contraintes rigoureuses en termes de qualité de service des réseaux IIoT, et plus particulièrement celles relatives au déterminisme, à la fiabilité et à la consommation d’énergie. Ainsi, la norme IEEE 802.15.4 concernant la couche physique des réseaux WSN a été complétée au niveau liaison par une norme IEEE 802.15.4e portant sur la couche de contrôle d’accès au support ou MAC. Différentes piles protocolaires peuvent être ensuite envisagées au-dessus de la couche MAC normalisée par IEEE 802.15.4e en fonction du type d’application considérée. La norme IEEE 802.15.4e utilise un contrôle d’accès, dit par saut de canal synchronisé dans le temps ou TSCH ( Time Synchronized Channel Hopping ). Ce type de contrôle d’accès permet d’obtenir une faible consommation d’énergie (faible rapport cyclique) tout en garantissant une fiabilité élevée. Plus précisément, l’accès des nœuds au support est divisé en trames temporelles ( slotframes ), chaque trame temporelle étant elle-même divisée en intervalles de temps d’accès ( timeslots ), l’accès des nœuds pendant un intervalle de temps d’accès étant réalisé par division de fréquence. Ainsi, un nœud peut se voir allouer un canal (en l’occurrence une fréquence), pour communiquer en émission ou en réception avec un autre nœud, pendant un intervalle de temps d’accès au sein d’une trame temporelle. L’ordonnancement des canaux au sein d’une trame temporelle se répète selon un schéma se répétant de manière cyclique à la fréquence de répétition des trames temporelles. Les communications entre nœuds du réseau n’interfèrent pas dans la mesure où celles-ci utilisent des fréquences distinctes pendant un même intervalle de temps d’accès. En outre, les sauts de fréquence d’une trame à l’autre permettent au réseau d’être plus robuste aux évanouissements de canal ainsi qu’aux interférences liées aux trajets multiples. La Fig. 1 illustre de manière schématique un exemple d’ordonnancement de transmission entre nœuds d’un réseau WSN utilisant un contrôle d’accès de type TSCH. On a désigné par A,B,C,D,E les différents nœuds du réseau et représenté à droite de la figure un schéma d’ordonnancement des transmissions entre ces nœuds pendant une trame temporelle ( slotframe ). Les transmissions sont programmées selon une matrice d’ordonnancement dont les lignes correspondent aux différents canaux et les colonnes aux intervalles de temps de la trame temporelle. Ainsi, dans l’exemple représenté, le nœud A transmet un paquet de données au nœud D pendant l’intervalle de temps d’accès d’indice 1, le nœud C transmet un paquet de données au nœud D pendant l’intervalle de temps d’accès d’indice 2, et ainsi de suite. Des couples de nœuds distincts peuvent communiquer sur des canaux distincts pendant un même intervalle de temps d’accès. La Fig. 2 représente un exemple de chronogramme d’émission et de réception d’un paquet pour deux nœuds d’un réseau WSN utilisant le protocole TSCH. Ce chronogramme concerne la transmission d’un paquet d’un premier nœud (nœud émetteur) à un second nœud (nœud récepteur) pendant un intervalle de temps d’accès, 200, d’une trame temporelle. La ligne 210 est relative au nœud émetteur et la ligne 220 au nœud récepteur. La transmission du paquet de données intervient au bout d’un premier offset temporel TsTxOffset à partir du début de l’intervalle de temps d’accès, 200. Pendant ce premier offset temporel, l’émetteur du premier nœud prépare le paquet de données à envoyer et configure le circuit radio en fonction de la fréquence programmée dans la matrice d’ordonnancement. Au bout de cet offset temporel, l’émetteur réveille le circuit radio et transmet le paquet en question. Après avoir transmis le dernier octet du paquet, le premier nœud se met en état de veille et attend l’accusé de réception du second nœud. De manière similaire, le second nœud configure, pendant un second offset temporel, TsRxOffset, le circuit radio de son récepteur en fonction de la fréquence programmée dans la matrice d’ordonnancement. Au terme de cet offset, le récepteur du second nœud réveille son circuit radio et est prêt à recevoir le paquet de données du premier nœud. Si une période de garde, désignée par PGT ( Packet Guard Time ), démarrant au terme de TsRxOffset, s’est écoulée sans que le second nœud n’ait commencé à recevoir des données du paquet émis par le premier nœud, le récepteur éteint son circuit radio pour le reste de l’intervalle de temps d’accès 200. En revanche, s’il a commencé à recevoir un paquet pendant la période de garde PGT, le second nœud attend une période TsTxAckDelay après la fin de la réception du paquet pour transmettre un accusé de réception, TxAck. Après la fin de l’émission du premier paquet, le premier nœud accorde au second nœud un certain temps, TsRxAckDelay, pour lui permettre de préparer l’accusé de réception. Si une période de garde, désignée par AGT ( Acknowledgement Guard Time ), démarrant au terme de TsRxAckDelay, s’est écoulée sans que le nœud émetteur n’ait reçu un accusé de réception, celui-ci considère que la transmission a échoué et éteint son circuit radio. On comprend ainsi que les périodes de garde PGT et AGT sont des fenêtres temporelles nominales pendant lesquelles un nœud attend une action d’un nœud voisin avec lequel il est en communication. L’absence de détection de l’action attendue pendant cette fenêtre temporelle nominale conduit à la mise en veille du nœud jusqu’à la fin de l’intervalle de temps d’accès en cours. A partir de la matrice d’ordonnancement, des valeurs des offsets temporels TsTxOffset, TsRxOffset, et des durées des périodes de garde PGT, AGT (ces informations étant supposées connues par l’ensemble des nœuds), chaque nœud du réseau sait précisément quand il doit émettre ou recevoir et sur quel canal. Ainsi, le comportement du réseau est parfaitement déterministe et le temps de latence entre un nœud source et un nœud destinataire du réseau dans un schéma de transmission multi-bond est borné. Le protocole TSCH suppose que les différents nœuds du réseau soient synchrones. Cette synchronisation est nécessaire dans la mesure où les horloges locales peuvent dériver les unes par rapport aux autres. La synchronisation est réalisée point à point lors d’une communication entre deux points du réseau ou bien en prévoyant une transmission périodique de paquets de synchronisation dans le réseau. Comme indiqué en Fig. 2, le début du paquet, encore dénommé SFD ( Start Frame Delimiter ) est émis par le nœud émetteur un temps TsTxOffset après le début de l’intervalle de transmission. Le nœud récepteur peut alors horodater avec son horloge locale l’évènement de réception du début du paquet. Nous noterons R1 l’instant ainsi mesuré par l’horloge locale du nœud récepteur. Comme nous l’avons vu plus haut, au terme de la réception du paquet, le nœud récepteur attend un temps TsTxAckDelay pour transmettre son accusé de réception. Le nœud émetteur peut alors horodater avec son horloge locale l’évènement de réception de l’accusé de réception. Nous noterons R2 l’instant ainsi mesuré par l’horloge locale du nœud émetteur. Deux cas sont à distinguer selon que le nœud émetteur ou le nœud récepteur sert de référence temporelle. S’il s’agit du nœud émetteur, le nœud récepteur pourra se synchroniser à partir de R1 et TsTxOffset. En revanche, s’il s’agit du nœud récepteur, le nœud émetteur pourra se synchroniser à partir de R2, TsTxOffset, TsTxAckDelay, et de la durée du paquet qu’il a émis. Ainsi chaque nœud du réseau peut corriger la dérive relative de son horloge locale lors d’une communication point à point. Cette méthode de synchronisation entre nœuds peut toutefois être perturbée par un nœud malveillant comme décrit dans l’article de W. Yang et al. intitulé «Enhanced secure time synchronisation protocol for IEEE 802.15.4e-based industrial Internet of Things, publié dans IET Information Security. 2017, Vol. 11, N° 6, pp. 369-376. En effet, selon un schéma d’attaque par désynchronisation (également dénommée timeslot template attack ), un nœud malveillant peut désynchroniser celui avec lequel il communique en retardant (ou avançant) volontairement l’instant auquel il doit émettre son paquet de données ou bien en retardant (ou avançant) l’instant auquel il doit émettre son accusé de réception. La Fig. 3 représente un exemple d’attaque par désynchronisation d’intervalle de temps d’accès dans un réseau WSN utilisant le protocole TSCH. Comme en Fig. 2 le chronogramme concerne la transmission d’un paquet d’un nœud émetteur 310 à un nœud récepteur 320 pendant un intervalle de temps d’accès d’une trame temporelle. Dans l’exemple illustré, l’attaquant est le nœud émetteur. Celui-ci avance l’instant d’émission du début de son paquet (délimiteur SFD) d’un temps par rapport à l’instant de consigne, à savoir où est le début de l’intervalle de temps d’accès. Autrement dit, l’instant d’émission de SFD est . Si cet instant tombe pendant la période de garde PGT, la réception du paquet est considérée comme valide et le nœud récepteur cale son horloge locale de manière à faire coïncider la mesure de cet instant avec la valeur prévue soit (en négligeant le temps de propagation). Il en résulte que pour le nœud récepteur, l’intervalle de temps d’accès se termine en un instant intervenant plus tôt que prévu. Toute se passe ainsi comme si l’intervalle de transmission suivant dans la matrice d’ordonnancement était décalé de . Bien entendu, la situation serait symétrique si le nœud récepteur était l’attaquant et avançait de l’instant d’émission de l’accusé de réception. Cette désynchronisation se propage ensuite de proche en proche à l’ensemble du réseau. Il en résulte un décalage des émissions des nœuds par rapport aux instants prévus dans la matrice d’ordonnancement, puis une distribution chaotique de ces émissions conduisant à des collisions de paquets et à la perte du déterminisme du réseau. Les conséquences d’une telle attaque par désynchronisation peuvent être particulièrement sévères au regard du caractère temps réel des applications envisagées. Dès lors, il est important de pouvoir détecter suffisamment tôt une telle attaque et, le cas échéant, d’apporter des mesures correctrices. Les solutions proposées dans l’état de la technique consistent généralement à observer, pour un nœud, les instants de réception des messages successifs transmis par ses nœuds voisins et à en déduire une estimation de l’instant de réception du prochain message émis par l’un de ces nœuds. Si la différence de temps en l’instant de réception ainsi estimé et l’instant de réception effectif de ce message excède en valeur absolue un seuil de tolérance prédéterminé, une attaque par désynchronisation ( timeslot template attack ) est détectée et le nœud voisin n’est plus pris en compte pour la synchronisation voire est éliminé du réseau. La solution proposée dans l’article précité consiste à enregistrer les instants de réception des messages successifs (mesurés avec l’horloge locale du nœud de réception) ainsi que les instants d’émission de ces messages (mesurés avec l’horloge locale du nœud d’émission, supposée être une référence temporelle) et à en déduire les paramètres de dérive de l’horloge du nœud de réception par rapport à l’horloge du nœud d’émission. Il est alors possible de déduire à partir de l’instant de réception d’un paquet celui auquel il a été émis. Si la différence temporelle entre l’instant d’émission ainsi estimé et l’instant auquel il aurait dû être émis est supérieure en valeur absolue à un seuil de tolérance prédéterminé, une attaque est détectée et le nœud d’émission est exclu comme référence temporelle. De manière générale, les propositions précitées ne sont pas satisfaisantes en pratique. En effet, un seuil de tolérance unique ne peut être envisagé et doit être calculé pour chaque nœud, ce qui devient particulièrement contraignant lorsque le réseau est dynamique, c’est-à-dire lorsque le réseau change de topologie au cours du temps (nœuds mobiles et/ou nœuds entrant ou sortant du réseau). En outre, elles supposent quelquefois l’existence d’un nœud maître servant de référence temporelle unique aux autres nœuds du réseau. Or, la plupart des réseaux WSN ont une organisation distribuée et une topologie maillée, sans nœud maître. Enfin, si les propositions précitées visent à détecter une attaque par désynchronisation ( timeslot template attack ), elles ne permettent toutefois pas de corriger l’erreur de synchronisation induite par cette attaque. L’exclusion du nœud ayant causé la désynchronisation peut intervenir trop tardivement, voire être insuffisante pour rétablir la synchronisation du réseau. Un objet de la présente invention est par conséquent de remédier aux inconvénients précités et plus précisément de proposer une méthode de synchronisation d’un nœud dans un réseau maillé déterministe, tel qu’un réseau WSN utilisant un contrôle d’accès selon le mode TSCH, qui fonctionne dans une architecture entièrement distribuée, ne requière pas un calcul complexe de seuil de désynchronisation et permette une correction rapide en cas d’attaque par désynchronisation. La présente invention est définie par une méthode de synchronisation d’un nœud dans un réseau maillé déterministe, l’accès des nœuds du réseau au support de transmission étant programmé selon une trame temporelle divisée en intervalles de temps d’accès, ledit nœud pouvant communiquer avec ses nœuds voisins pendant des intervalles de temps d’accès de la trame temporelle en utilisant des ressources de transmission, ledit nœud étant pourvu d’une horloge locale et mesurant les décalages de synchronisation de cette horloge par rapport à l’horloge locale d’au moins un nœud voisin en détectant un évènement de réception d’un paquet émis par le nœud voisin ou d’un accusé de réception d’un paquet émis par ledit nœud à destination du nœud voisin, ladite méthode étant originale en ce que ledit nœud estime, à partir d’au moins un décalage de synchronisation ainsi mesuré, un décalage de synchronisation futur de l’horloge locale pour un intervalle de temps d’accès suivant celui pendant lequel a été effectuée la dernière mesure et corrige son horloge locale d’une valeur de correction égale à une fraction du décalage de synchronisation ainsi estimé. Avantageusement, le décalage de synchronisation mesuré n’est pas pris en compte pour la correction s’il est supérieur à une première valeur de seuil prédéterminée. Typiquement, la fraction du décalage est inférieure à la moitié décalage de synchronisation estimé. Lorsque ladite valeur de correction est supérieure en valeur absolue à une seconde valeur de seuil prédéterminée, un défaut de synchronisation peut être signalé. De préférence, le nœud estime un décalage de synchronisation futur de son horloge locale à partir d’une pluralité N de décalages de synchronisation, mesurés au cours d’intervalles de temps d’accès passés et de l’intervalle de temps d’accès courant, le nœud étant en communication avec l’un de ses nœuds voisins pendant les intervalles de temps d’accès passés et de l’intervalle de temps d’accès courant. Le nœud peut estimer le décalage de synchronisation futur en effectuant une régression linéaire sur les N décalages de synchronisation, mesurés au cours d’intervalles de temps d’accès passés et de l’intervalle de temps d’accès courant. Selon une première variante, le nœud enregistre dans une pile FIFO les (N-1) décalages de synchronisation mesurés au cours des intervalles d’accès passés, indépendamment du nœud voisin avec lequel ladite communication était établie. Selon une seconde variante, le nœud enregistre dans une pluralité de piles FIFO les décalages de synchronisation mesurés au cours des intervalles d’accès passés, chaque pile étant associée à un nœud voisin et ne stockant que les décalages de synchronisation par rapport au nœud voisin auquel elle est associée. La fraction du décalage de synchronisation estimé pourra être obtenue au moyen d’un apprentissage par renforcement multi-agent, chaque agent étant associé à un nœud du réseau. Dans un cas typique d’application, le réseau de nœuds possède une couche physique conforme à la norme IEEE 802.15.4, une couche liaison conforme à la norme IEEE 802.15.4e, le contrôle d’accès des nœuds au support de transmission étant réalisé en mode TSCH. Brève description des figures D’autres caractéristiques et avantages de l’invention apparaîtront à la lecture d’un mode de réalisation préférentiel de l’invention, décrit en référence aux figures jointes parmi lesquelles: représente de manière schématique un exemple d’ordonnancement de transmission entre nœuds d’un réseau WSN utilisant le protocole TSCH; représente un exemple de chronogramme d’émission et de réception d’un paquet pour deux nœuds d’un réseau WSN utilisant le protocole TSCH; représente un exemple d’attaque par désynchronisation d’intervalle de temps d’accès dans un réseau WSN utilisant le protocole TSCH; représente de manière schématique des décalages temporels mesurés par un nœud pour se synchroniser selon la méthode de synchronisation de l’invention; représente de manière schématique un ordinogramme de la méthode de synchronisation d’un nœud dans un réseau maillé déterministe, selon un mode de réalisation de l’invention. On considérera dans la suite un réseau maillé déterministe au sens précédent, de topologie fixe ou dynamique. Le réseau est maillé et chaque nœud peut entrer en communication avec ses voisins, en émission ou en réception. On suppose en outre que l’accès au support des différents nœuds est programmé selon des trames temporelles ( slotframes ), chaque trame temporelle étant elle-même divisée en intervalles de temps d’accès ( timeslots ), l’accès des nœuds pendant un intervalle de temps d’accès faisant appel à des canaux de transmission distincts de manière à éviter les collisions de paquets entre différentes communications. Les ressources de transmission utilisées par les différents canaux au cours d’un intervalle de temps d’accès pourront notamment être des fréquences, des intervalles ( chunks ) de sous-porteuses de multiplex OFDM, des codes orthogonaux, voire une combinaison des ressources précédentes. Le contrôle d’accès des différents nœuds est programmé pendant chaque trame temporelle par une matrice d’ordonnancement dont une des dimensions (ci-après les colonnes) correspond aux intervalles de temps d’accès et l’autre dimension (ci-après les lignes) correspond aux ressources de transmission en question. Un cas typique d’application de la présente invention est celui d’un réseau de capteurs (réseau WSN) dont les couches physiques (PHY) et liaison (MAC) sont respectivement conformes aux normes IEEE 802.15.4 et IEEE 802.15.4e et dont le contrôle d’accès au support se fait par saut de canal selon le mode TSCH comme décrit dans la partie introductive. Le mode TSCH peut être utilisé dans le cadre de plusieurs piles protocolaires, par exemple dans des réseaux 6tiSCH (IPv6 sur mode TSCH), 6LoWPAN, WirelessHART (Highway Addressable Remote Transducer), Wi-SUN (Smart Ubiquitous Networks), etc. Nous considérerons dans la suite un couple de nœuds du réseau en question, à savoir un nœud émetteur et un nœud récepteur en communication l’un avec l’autre pendant un intervalle de temps d’accès donné , correspondant à la i ème colonne de la matrice d’ordonnancement. Le nœud émetteur et le nœud récepteur utilisent la ressource de transmission spécifiée dans la matrice d’ordonnancement pendant l’intervalle de temps d’accès, . Comme illustré dans le chronogramme de la Fig. 4, le nœud émetteur 410 émet un paquet sur cette ressource à l’instant , mesuré par son horloge locale H1. Plus précisément, le délimiteur de début du paquet (SFD) quitte le nœud émetteur à cet instant, tel que mesuré par H1. Le paquet (c’est-à-dire son délimiteur SFD) est reçu par le nœud récepteur à l’instant , tel que mesuré par son horloge locale, H2. Le nœud récepteur en déduit un premier décalage de synchronisation , étant entendu que les valeurs sont connues de l’ensemble des nœuds du réseau et que est mesuré au moyen de l’horloge locale du nœud récepteur. Au terme de la réception du paquet (c’est-à-dire sur réception du délimiteur de fin du paquet), le nœud récepteur attend un temps TsTxAckDelay et renvoie un accusé de réception au nœud émetteur, en un instant , tel que mesuré par son horloge locale, H2. L’accusé de réception est reçu par le nœud émetteur à l’instant , tel que mesuré par son horloge locale, H1. Le nœud émetteur en déduit un second décalage de synchronisation , étant entendu que la valeur est connue de l’ensemble des nœuds du réseau et que, par définition, la durée du paquet, , est connue du nœud émetteur. Le temps est mesuré au moyen de l’horloge locale du nœud émetteur, H1. Au terme de cet échange, le nœud récepteur dispose d’un premier décalage de synchronisation, , et le nœud émetteur dispose d’un second décalage de synchronisation, . Dans la suite, nous noterons de manière générique, , pour désigner indifféremment le premier (ou le second) décalage de synchronisation, ( ), mesuré par un nœud lors de l’intervalle de temps d’accès . Ce calcul de décalage de synchronisation est répété pour tous les intervalles d’accès pendant lesquels un nœud est en communication (en émission ou en réception). Dans un but de simplification de la présentation et sans perte de généralité, nous supposerons que les intervalles de temps d’accès pendant lesquels le nœud est en communication sont consécutifs et noterons , les indices de ces intervalles, avec . Les décalages de synchronisation successivement mesurés par le nœud sont respectivement notés . A partir de ces décalages de synchronisation ainsi mesurés, le nœud estime son prochain décalage de synchronisation, soit , et effectue une correction de synchronisation d’un temps , avec un facteur de rattrapage , , avant le début de l’intervalle d’accès suivant. On comprend ainsi que si l’horloge locale du nœud retarde par rapport à l’horloge locale du nœud avec lequel il est en communication, cette horloge doive être avancée de . Inversement, si l’horloge locale du nœud avance par rapport à l’horloge locale du nœud avec lequel il est en communication, cette horloge doit être retardée de . Si l’on désigne maintenant par et les deux nœuds en communication pendant l’intervalle de temps d’accès , et que l’on note respectivement et les prochains décalages de synchronisation estimés par ces nœuds, le nœud appliquera une correction de synchronisation et le nœud appliquera une correction de synchronisation , de sorte que l’écart de synchronisation relatif sera réduit de où est le décalage (en valeur absolue) entre les horlogeslocales des nœuds et , mesuré pendant l’intervalle de temps d’accès . Ainsi, la correction sera effectuée à parts égales entre le nœud d’émission et le nœud de réception. Le choix de correspond au cas où l’on tente d’annuler en une seule fois le décalage entre les deux horloges locales pour l’intervalle de temps d’accès suivant. Toutefois, on pourra préférer effectuer cette compensation progressivement, en prenant une valeur de plus faible, par exemple avec ou bien encore avec . Il est important de noter que les corrections de synchronisation sont réalisées de manière distribuée sans nœud de référence. Les horloges locales des différents nœuds se synchronisent progressivement de proche en proche au fur et à mesure que s’établissent des communications entre les nœuds. Le facteur de rattrapage permet de contrôler la vitesse de convergence de la synchronisation du réseau, une faible valeur de ce facteur permettant notamment d’éviter un régime instable ou oscillatoire. En pratique, chaque nœud enregistre dans une pile FIFO de taille les décalages de synchronisation qu’il a successivement mesurés lors des communications précédentes. Ainsi, toujours dans l’hypothèse où ces communications ont lieu pendant des intervalles de temps d’accès consécutifs, les valeurs sont stockées dans la pile. Ces valeurs ainsi que la valeur mesurée lors de l’intervalle courant, servent à estimer le décalage de synchronisation lors de l’intervalle suivant et, comme déjà décrit, à effectuer une correction de synchronisation de de l’horloge locale. La valeur courante mesurée, , est alors stockée dans la pile et la valeur la plus ancienne est dépilée. De manière générale, lorsque les communications du nœud ont eu lieu pendant les intervalles d’accès, où ,…, , sont les indices des , derniers intervalles d’accès pendant lesquels le nœud en question a transmis ou reçu un paquet d’un nœud tiers, les valeurs de décalage sont stockées dans la pile. Une estimation du décalage de synchronisation lors de l’intervalle de temps d’accès , c’est-à-dire , est obtenue à partir des valeurs de décalage stockées dans la pile et celle mesurée lors de l’intervalle de temps d’accès courant. La correction de décalage est réalisée avant le début de l’intervalle . Alternativement, la correction pourra être réalisée ultérieurement, mais toutefois avant la prochaine communication du nœud. Avantageusement, en sus des valeurs de décalage de synchronisation, le nœud pourra également stocker les indices des intervalles de temps d’accès pendant lesquels elles ont été mesurées. En effet, dans la prédiction , on comprend qu’une mesure de décalage soit d’autant moins prise en compte qu’elle est plus ancienne. De manière générale, différentes méthodes de prédiction pourront être utilisées pour prédire . On pourra notamment utiliser un modèle de prédiction autorégressif, un filtrage bayésien de manière connue de l’homme du métier. D’autres méthodes de prédiction pourront être envisagées sans sortir du cadre de la présente invention. Selon une variante importante de réalisation, la correction de synchronisation n’est appliquée que dans la mesure où cette correction est inférieure en valeur absolue à un seuil prédéterminé, soit . A défaut, on conclura à un cas de défaut. Un tel cas de défaut pourra notamment survenir lorsqu’un nœud du réseau est soumis à une attaque de désynchronisation ou bien que son horloge est déficiente. Dans le cas d’un réseau WSN utilisant un contrôle d’accès selon le mode TDSCH, on choisira avantageusement où sont les durées respectives des périodes de garde PGT et AGT. On s’assure ainsi que les périodes de garde lors d’une communication éventuelle entre les mêmes nœuds pendant l’intervalle de temps d’accès sont bien respectées. Selon une autre variante, le décalage de synchronisation , mesuré lors d’un intervalle de temps d’accès, , est comparé avec la valeur prédite . Si la différence entre la valeur mesurée et la valeur prédite excède un certain seuil, soit , les paramètres du modèle prédictif pourront être actualisés (autrement dit le modèle pourra être adaptatif). Dans les modes de réalisation décrits précédemment, nous avons supposé que tous les décalages de synchronisation mesurés par un nœud en communication étaient stockés dans la même pile, indépendamment du nœud avec lequel il est en communication. Selon une variante, les valeurs de décalage mesurées peuvent être labellisées par les identifiants des nœuds avec lesquels la communication a été établie. Plus précisément, si l’on considère le nœud et l’on note , ses nœuds voisins, le nœud pourra gérer jusqu’à piles distinctes, chaque pile étant dédiée au stockage des décalages de synchronisation, de l’horloge locale du nœud vis-à-vis de l’horloge du nœud . On comprend que la correction appliquée à l’horloge locale, dépendra alors du nœud avec lequel la communication sera établie. Quelle que soit la variante envisagée, le facteur de rattrapage pourra être déterminé au moyen d’une méthode d’apprentissage par renforcement multi-agent ou MARL ( Multi-Agent Reinforcement Learning ). On rappelle qu’une méthode d’apprentissage par renforcement est une méthode d’apprentissage automatique dans laquelle un agent autonome, plongé dans un environnement, apprend des actions à effectuer à partir d’expériences, de manière à optimiser une récompense cumulée au cours du temps. L’agent prend des décisions en fonction de son état courant et l’environnement lui procure des récompenses en fonction des actions qu’il effectue. Lorsque la méthode d’apprentissage est en outre du type multi-agent, chaque nœud joue le rôle d’un agent et apprend à partir de son environnement, en l’occurrence le réseau, les différents agents opérant de manière coopérative. Plus précisément, pendant un intervalle de temps d’accès, , chaque nœud en communication est dans un état (offset de son horloge locale par rapport à un temps de référence). Il effectue une estimation du décalage de synchronisation et estime la correction, , à appliquer lors de l’intervalle d’accès suivant où appartient à un ensemble prédéterminé de valeurs de facteur de rattrapage. Suite à une action, en l’occurrence suite à l’application de la correction de l’horloge locale par le nœud, son environnement (le réseau), lui retourne un nouvel état (correspondant à un nouvel offset de l’horloge locale) ainsi qu’une récompense (positive ou négative) qui est commune à l’ensemble des nœuds du réseau. Chaque nœud apprend ainsi de manière indépendante le facteur de rattrapage qu’il doit appliquer pour maximiser l’espérance mathématique de la somme des récompenses futures, pondérées par leurs facteurs d’actualisation respectifs. On pourra trouver une description des méthodes d’apprentissage par renforcement dans l’ouvrage de Richard S. Sutton et Andrew G. Barto intitulé «Reinforcement learning», 2 nd edition, 2018, pp. 129-132. La Fig. 5 représente de manière schématique un ordinogramme de la méthode de synchronisation d’un nœud dans un réseau maillé déterministe, selon un mode de réalisation de l’invention. La méthode de synchronisation est basée sur un processus périodique, se répétant à chaque intervalle de temps d’accès. Nous considérerons par conséquent l’intervalle d’accès, . A l’étape 510, le nœud détermine s’il est programmé pour émettre un paquet à destination d’un nœud voisin ou bien recevoir un paquet d’un nœud voisin pendant l’intervalle de temps d’accès, , à partir de la matrice d’ordonnancement. Si ce n’est pas le cas, le nœud attend le prochain intervalle de temps d’accès, . En revanche, si une communication est établie en émission ou en réception avec un nœud voisin pendant l’intervalle de temps, , le nœud mesure en 520 le décalage de synchronisation, , de l’horloge locale avec le nœud voisin à partir de la détection d’un événement. Lorsque le nœud est récepteur, la mesure du décalage, , est obtenue en par détection de l’instant auquel il reçoit le paquet du nœud voisin et plus précisément son délimiteur de début de paquet, SFD. En revanche, lorsque le nœud est émetteur, la mesure du décalage, ,est obtenue par détection de l’instant de réception de l’accusé de réception du paquet en question. Lorsque la réception du paquet (resp. de l’accusé de réception) intervient en dehors d’une période de garde autorisée (PGT pour le paquet, AGT pour l’accusé de réception dans le cas d’un mode d’accès TSCH), le décalage de synchronisation n’est pas pris en compte pour la correction (étape non représentée). De manière équivalente, lorsque le décalage de synchronisation est supérieur à une (première) valeur de seuil prédéterminée, celui-ci n’est pas pris en compte pour la correction de synchronisation. A l’étape 530, le nœud estime, à partir d’au moins une mesure de décalage de synchronisation le, futur décalage de synchronisation, , de son horloge locale pour l’intervalle de temps d’accès suivant, . De préférence, cette estimation, , est réalisée à partir d’une pluralité de mesures de décalages de synchronisation précédentes, ,obtenues lors des intervalles de temps d’accès , ainsi que de la mesure de décalage de synchronisation, relative à l’intervalle de temps d’accès en cours, . L’estimation, , peut être obtenue par exemple au moyen d’une régression linéaire. A l’étape 540, le nœud calcule une correction de son horloge locale, c’est-à-dire avance ou retarde (selon le signe de ) son horloge locale d’un temps , avec . A l’étape optionnelle 550, on détermine si la correction est inférieure à une seconde valeur de seuil, soit .Si c’est le cas on poursuit à l’étape 560. Sinon, le nœud constate un cas de défaut de synchronisation en 555 et peut par exemple adapter les paramètres de son modèle auto-régressif. A l’étape 560, le nœud corrige son horloge locale du montant de la correction. Plus précisément, si est positif, c’est-à-dire si l’instant de réception mesuré avec l’horloge locale est arrivé plus tardivement que prévu, l’horloge est avancée et inversement si est négatif, c’est-à-dire si l’instant de réception mesuré avec l’horloge locale est arrivé plus tôt que prévu, l’horloge locale est retardée de . Cette correction intervient avant le début de l’intervalle d’accès suivant, , et, en tout état de cause, avant toute nouvelle communication du nœud programmée dans la matrice d’ordonnancement. Le processus se poursuit avec le nouvel intervalle d’accès, . Méthode de synchronisation d’un nœud dans un réseau maillé déterministe, l’accès des nœuds du réseau au support de transmission étant programmé selon une trame temporelle divisée en intervalles de temps d’accès, ledit nœud pouvant communiquer avec ses nœuds voisins pendant des intervalles de temps d’accès de la trame temporelle en utilisant des ressources de transmission, ledit nœud étant pourvu d’une horloge locale et mesurant les décalages de synchronisation de cette horloge par rapport à l’horloge locale d’au moins un nœud voisin en détectant un évènement de réception d’un paquet émis par le nœud voisin ou d’un accusé de réception d’un paquet émis par ledit nœud à destination du nœud voisin, caractérisé en ce que ledit nœud estime, à partir d’au moins un décalage de synchronisation ainsi mesuré, un décalage de synchronisation futur de l’horloge locale pour un intervalle de temps d’accès suivant celui pendant lequel a été effectuée la dernière mesure et corrige son horloge locale d’une valeur de correction égale à une fraction du décalage de synchronisation ainsi estimé. Méthode de synchronisation d’un nœud selon la revendication 1, caractérisée en ce que le décalage de synchronisation mesuré n’est pas pris en compte pour la correction s’il est supérieur à une première valeur de seuil prédéterminée. Méthode de synchronisation d’un nœud selon la revendication 1 ou 2, caractérisée en ce que la fraction est inférieure à la moitié décalage de synchronisation estimé. Méthode de synchronisation d’un nœud selon l’une des revendications précédentes, caractérisée en ce que lorsque ladite valeur de correction est supérieure en valeur absolue à une seconde valeur de seuil prédéterminée, un défaut de synchronisation est signalé. Méthode de synchronisation d’un nœud selon l’une des revendications précédentes, caractérisée en ce que le nœud estime un décalage de synchronisation futur de son horloge locale à partir d’une pluralité N de décalages de synchronisation, mesurés au cours d’intervalles de temps d’accès passés et de l’intervalle de temps d’accès courant, le nœud étant en communication avec l’un de ses nœuds voisins pendant les intervalles de temps d’accès passés et de l’intervalle de temps d’accès courant. Méthode de synchronisation d’un nœud selon la revendication 5, caractérisée en ce que le nœud estime le décalage de synchronisation futur en effectuant une régression linéaire sur les N décalages de synchronisation, mesurés au cours d’intervalles de temps d’accès passés et de l’intervalle de temps d’accès courant. Méthode de synchronisation d’un nœud selon la revendication 5 ou 6, caractérisée en ce que le nœud enregistre dans une pile FIFO les (N-1) décalages de synchronisation mesurés au cours des intervalles d’accès passés, indépendamment du nœud voisin avec lequel ladite communication était établie. Méthode de synchronisation d’un nœud selon la revendication 5 ou 6, caractérisée en ce que le nœud enregistre dans une pluralité de piles FIFO les décalages de synchronisation mesurés au cours des intervalles d’accès passés, chaque pile étant associée à un nœud voisin et ne stockant que les décalages de synchronisation par rapport au nœud voisin auquel elle est associée. Méthode de synchronisation d’un nœud selon l’une des revendications précédentes, caractérisée en ce que la fraction du décalage de synchronisation estimé est obtenue au moyen d’un apprentissage par renforcement multi-agent, chaque agent étant associé à un nœud du réseau. Méthode de synchronisation d’un nœud selon les revendications précédentes, caractérisée en ce que le réseau de nœuds possède une couche physique conforme à la norme IEEE 802.15.4, une couche liaison conforme à la norme IEEE 802.15.4e, le contrôle d’accès des nœuds au support de transmission étant réalisé en mode TSCH