4. Operational Overview (Aperçu Opérationnel)
Un routeur établit et maintient ouverte une connexion à un ou plusieurs caches avec lesquels il entretient des relations client/serveur. Il est configuré avec une liste semi-ordonnée de caches et établit une connexion au cache le plus préféré, ou ensemble de caches, qui accepte les connexions.
Le routeur DOIT choisir le cache ou l'ensemble de caches le plus préféré, par configuration, afin que l'opérateur puisse contrôler la charge sur ses caches et la RPKI globale.
Périodiquement, le routeur envoie au cache le numéro de série le plus récent pour lequel il a reçu des données de ce cache, c'est-à-dire le numéro de série actuel du routeur, sous la forme d'une requête de série (Serial Query). Lorsqu'un routeur établit une nouvelle session avec un cache ou souhaite réinitialiser une relation actuelle, il envoie une requête de réinitialisation (Reset Query).
Le cache répond à la requête de série avec tous les changements de données survenus depuis le numéro de série donné. Cela peut être l'ensemble vide, auquel cas le PDU de fin de données (Section 5.8) est toujours envoyé. Notez que la comparaison de numéro de série utilisée pour déterminer "depuis le numéro de série donné" DOIT tenir compte du bouclage; voir [RFC1982].
Lorsque le routeur a reçu tous les enregistrements de données du cache, il définit son numéro de série actuel sur celui du numéro de série dans le PDU de fin de données reçu.
Lorsque le cache met à jour sa base de données, il envoie un PDU de notification (Notify PDU) à chaque routeur actuellement connecté. C'est un indice que ce serait maintenant un bon moment pour le routeur d'interroger pour une mise à jour, mais ce n'est qu'un indice. Le protocole exige que le routeur interroge périodiquement pour des mises à jour dans tous les cas.
Strictement parlant, un routeur pourrait suivre un cache simplement en demandant un ensemble de données complet à chaque fois qu'il se met à jour, mais cela serait très inefficace. Le mécanisme de mise à jour incrémentielle basé sur le numéro de série permet un transfert efficace uniquement des enregistrements de données qui ont changé depuis la dernière mise à jour. Comme pour tout protocole de mise à jour basé sur des transferts incrémentiels, le routeur doit être prêt à revenir à un transfert complet si, pour une raison quelconque, le cache est incapable de fournir les données incrémentielles nécessaires. Contrairement à certains protocoles de transfert incrémentiel, ce protocole exige que le routeur fasse une demande explicite pour démarrer le processus de repli; cela est délibéré, car le cache n'a aucun moyen de savoir si le routeur a également établi des sessions avec d'autres caches qui peuvent fournir un meilleur service.
Comme un serveur de cache doit évaluer les certificats et les ROA (autorisations d'origine de route, Route Origin Authorizations; voir [RFC6480]), qui dépendent du temps, les horloges des serveurs DOIVENT être correctes à une tolérance d'environ une heure.