Article de reference

Protocole fiable de journalisation des événements

Le protocole RELP ( Reliable Event Logging Protocol ), un protocole réseau d' enregistrement des données informatiques , étend les fonctionnalités du protocole syslog afin d'ass...

Le protocole RELP ( Reliable Event Logging Protocol ), un protocole réseau d' enregistrement des données informatiques , étend les fonctionnalités du protocole syslog afin d'assurer la transmission fiable des messages d'événements. Il est principalement utilisé dans les environnements où la perte de messages est inacceptable, comme dans le secteur financier .

Aperçu

RELP utilise TCP pour la transmission des messages. Cela offre une protection de base contre la perte de messages, mais ne garantit pas leur livraison en toutes circonstances. En cas d'interruption de la connexion, TCP ne peut pas déterminer avec certitude si les derniers messages envoyés sont bien parvenus à destination. Contrairement au protocole syslog, RELP utilise un canal de retour qui transmet à l'expéditeur des informations sur les messages traités par le destinataire. Ainsi, RELP peut toujours savoir quels messages ont été correctement reçus, même en cas d'interruption de la connexion.

Histoire

RELP a été développé en 2008 comme protocole fiable pour la communication entre systèmes rsyslog . Comme l'explique Rainer Gerhards , son concepteur , le manque de fiabilité de transmission dans le système syslog standard était une motivation essentielle pour la création de RELP. Initialement, le système syslog RFC 3195 était envisagé pour assurer cette fonction dans rsyslog, mais il souffrait d'une surcharge importante et d'une absence de prise en charge des nouvelles normes syslog de l'IETF (publiées depuis sous la référence RFC 5424, mais qui n'étaient pas encore nommées à l'époque).

Initialement conçu pour rsyslog, RELP s'est largement répandu. Aujourd'hui, des outils sous Linux et Windows le prennent en charge. Des implémentations internes existent également pour Java. Bien que RELP ne soit pas encore formellement normalisé, il est devenu un standard industriel pour la journalisation informatique.

Détails techniques

RELP s'inspire des RFC 3195 (syslog) et 3080. Lors de la connexion initiale, l'émetteur et le récepteur négocient les options de session, telles que l'ensemble des commandes prises en charge ou la taille de la fenêtre au niveau de l'application. Les messages d'événements réseau sont transmis sous forme de commandes, le récepteur accusant réception de chaque commande dès son traitement. Les sessions peuvent être fermées par l'émetteur et le récepteur, mais il est généralement préférable que ce soit l'émetteur qui les ferme. Afin de faciliter la récupération des messages en cas d'interruption de session, RELP conserve les numéros de transaction de chaque commande et négocie les messages à renvoyer lors du rétablissement de la session.

La version actuelle de RELP ne prend pas en charge nativement le protocole TLS . Cependant, dans la pratique, on utilise des wrappers autour de la session RELP pour assurer cette fonctionnalité.

Mises en œuvre

Seules les implémentations accessibles au public sont répertoriées. Cette liste n'est pas exhaustive.