keepalive
Un court message envoyé par un appareil à un autre pour vérifier que le lien entre les deux fonctionne, ou pour éviter que ce lien ne soit rompu en raison de l'inactivité.
keepalive: une impulsion qui empêche une connexion morte
Un keepalive est un paquet de données ou un message minimal transmis à intervalles réguliers entre deux appareils connectés, généralement via une liaison réseau ou une connexion série, pour confirmer que la liaison reste active et réactive. Dans les opérations énergétiques et utilitaires, les keepalives sont essentiels pour les systèmes de contrôle de supervision et d'acquisition de données (SCADA), les unités terminales distantes (RTU) et les réseaux de télémétrie où une connexion silencieuse ne peut pas être considérée comme fonctionnelle.
Le problème principal que les keepalives résolvent est l'ambiguïté: lorsqu'aucune donnée substantielle ne circule entre deux appareils, aucun ne sait si l'autre est toujours en ligne ou si le chemin de communication est intact. Les équipements réseau tels que les routeurs, les pare-feu et les proxys coupent souvent les connexions inactives pour libérer des ressources, laissant les deux extrémités penser qu'elles restent connectées. Un message keepalive, envoyé toutes les 30 à 300 secondes selon le protocole et les conditions du réseau, force le trafic à travers la liaison et empêche les équipements intermédiaires de la couper. Dans les systèmes SCADA surveillant la distribution d'énergie ou l'infrastructure hydraulique, perdre une connexion silencieusement est pire que de la perdre bruyamment; un keepalive garantit qu'un opérateur sait immédiatement quand un site distant devient inactif.
Les keepalives sont délibérément légers. Une sonde keepalive TCP n'est généralement que de quelques octets de trafic d'acquittement. La plupart des protocoles industriels, Modbus, DNP3, IEC 60870-5-104, intègrent des mécanismes de keepalive ou de battement de cœur dans leur couche application plutôt que de s'appuyer uniquement sur TCP, car les keepalives TCP peuvent être supprimés par les équipements de sécurité réseau ou désactivés par défaut. Un appareil industriel peut envoyer une trame de test de liaison toutes les 60 secondes, un message nul qui ne transporte aucune donnée réelle mais prouve que la communication bidirectionnelle fonctionne.
Configuration et modes de défaillance
L'intervalle de temporisation et le comportement de réessai doivent être ajustés en fonction du réseau. Les liaisons satellitaires vers des sous-stations distantes peuvent nécessiter des temporisations plus longues; les sauvegardes cellulaires peuvent nécessiter des temporisations plus courtes pour détecter rapidement les coupures. Si les keepalives eux-mêmes sont perdus en raison de la congestion ou de routes instables, un appareil déclarera la liaison inactive et pourra déclencher un basculement vers un chemin redondant, commutant le trafic SCADA vers une radio de secours ou une connexion fibre. Inversement, si les keepalives arrivent mais que l'appareil distant est en fait bloqué ou corrompu, la liaison semble saine tandis que les commandes de contrôle échouent silencieusement, de sorte que les keepalives sont un contrôle nécessaire mais non suffisant de l'état du système.Le terme reflète sa fonction: maintenir une connexion en vie en la forçant à travailler. Dans les premiers systèmes série et commutés, toute transmission de paquet réinitialisait les temporisateurs d'inactivité; dans les réseaux modernes, un trafic keepalive explicite est nécessaire car les liaisons elles-mêmes sont toujours nominalement ouvertes. Les opérateurs de services publics pensent rarement directement aux keepalives, mais lorsqu'une unité terminale distante cesse soudainement de répondre à un répartiteur, l'échec de la réception des keepalives est généralement le premier indicateur que le chemin de communication est rompu.
Sources
- Source de la définitionWiktionary