Résumé

  • Dans RFC 1953, l’extrémité aval administrait l’espace d’étiquettes d’un sens de la liaison et envoyait un Redirect à l’amont ; le destinataire pouvait ignorer tout ou partie de cette proposition non acquittée.
  • L’association flux-étiquette était un bail : un Redirect identique renouvelait sa durée, une étiquette contradictoire rétablissait le transfert par défaut et tout message incompatible avec l’adjacence mémorisée devait être rejeté.
  • La création du raccourci restait opportuniste, mais la libération de l’étiquette exigeait un Reclaim Ack. Cette preuve locale de fin ne compensait pas l’absence, explicitement reconnue, de discussion de sécurité.

Le paquet arrivé une seconde trop tard

Le paquet précédent avait porté une petite valeur ATM et profité d’un état de transfert déjà mémorisé. Le suivant arrive après l’expiration du compteur. Il ne trouve plus l’association spéciale. Pourtant, il n’est pas perdu : il emprunte de nouveau le chemin IP par défaut.

Cette scène banale dit davantage sur IFMP qu’une promesse de débit. La route existait avant l’optimisation et survivait à sa disparition. L’étiquette n’était qu’un droit d’usage temporaire, accordé entre deux voisins pour un flux précis. Son extinction ne devait pas rendre le trafic indéchiffrable.

RFC 1953, Ipsilon Flow Management Protocol Specification for IPv4 Version 1.0, fut publié en mai 1996 avec le statut Informational. La note de l’IESG précise qu’il s’agissait d’un protocole privé, non issu d’un groupe de travail de l’IETF, hors standards track et pas nécessairement soumis à l’ampleur de revue attendue d’un standard.

Cette qualification protège l’histoire contre deux raccourcis. Un RFC Informational peut documenter très exactement un mécanisme sans prouver son adoption. Et la présence d’étiquettes dans IFMP n’en fait ni une spécification MPLS avant l’heure, ni la cause démontrée des architectures ultérieures. Le texte expose un choix d’ingénierie ; il ne fournit ni parts de marché, ni mesures de performance, ni certificat d’interopérabilité.

Avant l’étiquette, il fallait fabriquer le flux

IFMP appelait flux une suite de paquets liés par le routage ou par une politique logique de traitement. Un Flow Type désignait les champs d’en-tête invariants servant de clé. Les types formaient des ensembles plus ou moins spécifiques afin que le meilleur appariement disponible puisse être choisi.

La version 1 définissait notamment un type nul, un type adapté à TCP et UDP qui reprenait adresses, protocole et ports, puis un type plus large qui omettait les ports et certains champs. La classification organisait le travail d’un équipement. Elle n’authentifiait ni personne, ni application, ni propriétaire et ne démontrait aucune autorisation institutionnelle.

Cette limite est essentielle parce que l’étiquette condense une décision antérieure. Les paquets suivants peuvent transmettre moins de contexte seulement si les deux extrémités partagent encore le bon état. Un numéro court n’est pas la décision ; il renvoie à la mémoire qui contient la décision.

IFMP installait donc une frontière temporelle avant le Redirect. Les messages d’adjacence échangeaient des valeurs d’instance, ce que chacun croyait de l’instance du pair et le prochain numéro de séquence attendu. Le Sender Instance devait changer après la remise en service d’un lien ou d’un nœud, être unique dans un passé récent et ne jamais valoir zéro. Les numéros de redirection progressaient modulo 2^32 et repartaient avec le lien.

Aucune redirection ne devait être envoyée avant l’état ESTAB. À la réception, l’adresse source, le sender instance et le peer instance étaient confrontés à l’état local ; une discordance imposait le rejet. Ces contrôles séparaient les incarnations récentes d’une adjacence. Ils ne constituaient pas une authentification cryptographique. La section Security Considerations l’admettait sans détour : les questions de sécurité n’étaient pas discutées.

L’aval possédait les numéros, l’amont possédait son geste

Les deux sens d’une liaison étaient indépendants. Dans un sens donné, l’extrémité aval — celle qui allait recevoir les paquets étiquetés — administrait l’espace d’étiquettes. Elle choisissait une valeur et demandait, par Redirect, que l’amont l’associe à un flux.

La géographie de la ressource dictait l’allocation : qui devait interpréter le numéro le choisissait. Mais le pouvoir de proposer ne devenait pas un pouvoir de commander. Le récepteur du Redirect pouvait en ignorer n’importe quel élément, ou tous. Aucun acquittement n’était prévu. Le simple envoi de la proposition ne prouvait ni son acceptation, ni l’installation d’état, ni le passage d’un paquet.

Label Range matérialisait le même périmètre. Une réponse indiquait le minimum et le maximum inclusifs que la liaison locale pouvait accepter. Ce n’était pas un registre mondial. Une même valeur pouvait avoir un sens différent dans l’autre direction ou sur un autre lien, parce que son sens venait du contexte partagé.

Cette séparation est une forme de responsabilité opérationnelle. L’aval connaît la ressource qu’il consomme ; l’amont décide s’il modifie ses propres paquets. Chacun conserve l’autorité là où son logiciel exécutera et assumera la conséquence.

Le désaccord annulait l’optimisation

Tout Redirect portait une lifetime non nulle, exprimée en secondes. L’association devait disparaître au plus tard à l’échéance. Un Redirect identique la rafraîchissait. Si un flux déjà redirigé recevait de nouveau la même étiquette, le compteur repartait.

Si la nouvelle proposition donnait une autre étiquette au même flux, le protocole ne cherchait pas à élire la croyance la plus récente ou la plus avantageuse. Il ignorait le nouveau Redirect et ramenait le flux à l’état par défaut. Lorsque deux mémoires compressées se contredisaient, le routage ordinaire redevenait la langue commune.

Voilà la qualité la plus durable de ce mécanisme. Une optimisation reste réversible tant que sa perte ne change que le coût, non le sens. Expiration, redémarrage, changement de pair, rupture de séquence, désaccord d’étiquette ou réclamation pouvaient abolir la voie rapide sans abolir l’identité IP du flux.

RFC 1954 montra le prix concret de la compression sur ATM. Les étiquettes IFMP correspondaient aux valeurs VPI/VCI. Certains formats redirigés omettaient des champs IPv4 répétés et, pour un type, les premiers champs de port TCP ou UDP. Ces données n’avaient pas cessé d’exister : elles avaient été déplacées dans l’état de liaison. Le contrôle IFMP et le transfert par défaut conservaient l’encapsulation ordinaire.

Installer sans reçu, récupérer avec reçu

Le Redirect n’était pas acquitté parce qu’un refus restait sans danger pour la connectivité : le flux continuait normalement. Reclaim répondait à un problème plus sévère. L’aval demandait à l’amont de dissocier le flux, de le rendre au transfert par défaut et de libérer l’étiquette. La réutiliser trop tôt pouvait mêler son nouveau sens à des données encore en file sous l’ancien.

Chaque élément Reclaim exigeait donc un Reclaim Ack après exécution. Même un flux inconnu recevait un accusé reprenant la demande. Si le flux connu était lié à une autre étiquette, le récepteur supprimait l’association réelle et signalait la valeur effectivement libérée. Dans la mesure du possible, l’acquittement attendait l’envoi des données en file portant cette étiquette.

L’Ack attestait une transition bornée : pour cet état IFMP, le flux était dissocié et l’étiquette libre. Il ne certifiait pas toutes les files physiques, tous les logiciels ni la livraison finale. Mais il empêchait de confondre l’intention de libérer avec la disponibilité pour une nouvelle attribution.

L’asymétrie est instructive. Une création destinée à améliorer les performances peut être spéculative si le refus est sûr. Une réutilisation susceptible de détruire la séparation entre deux flux demande une preuve de fin.

Ressemblance n’est pas filiation

IFMP appartenait aux tentatives de combiner décision IP et commutation ATM. RFC 1987 décrit GSMP comme une relation asymétrique où un contrôleur maître installe des connexions dans un commutateur, administre des ports et collecte des statistiques. Le Tag Switching contemporain séparait lui aussi transfert et contrôle, avec plusieurs modes d’allocation, notamment guidés par la topologie.

Plus tard, l’architecture MPLS et LDP montrèrent que les liaisons d’étiquettes, les classes d’équivalence de transfert et la séparation des plans formaient une famille durable. Cette continuité de problèmes ne prouve pas une causalité linéaire. Elle n’autorise pas à projeter les règles MPLS sur IFMP, ni à attribuer à RFC 1953 le statut des normes ultérieures.

Une comparaison prudente conserve les questions et abandonne le roman des origines : qui alloue le petit identifiant, qui demande son emploi, qui peut refuser, combien de temps l’état subsiste, que faire de deux croyances contradictoires, et quelle preuve autorise la réutilisation ?

Le symbole n’exécute rien tout seul

La primauté du code en fonctionnement, telle que la formule Heng Lu, sépare nettement les preuves. Le mot Redirect dans une spécification définit une possibilité. Un Redirect capturé prouve qu’un voisin a émis une proposition. Seul l’état du récepteur puis le trafic observé montrent qu’elle a été acceptée et exécutée. Le symbole n’est pas le résultat.

Le principe de spécification initiale minimale éclaire l’autonomie du bord. Les voisins devaient partager la syntaxe des clés de flux, des instances, des séquences, des durées, des plages d’étiquettes et des reçus de libération. Ils n’avaient besoin ni d’un distributeur central de labels, ni d’une règle imposant l’accélération. Le contrat commun était assez mince pour coordonner le lien sans absorber la décision locale.

Les couches de réalité complètent le tableau. Une étiquette peut être écrite dans un paquet sans correspondance actuelle. Une entrée peut être présente dans un nœud et absente de l’autre. Une adjacence peut sembler stable puis devenir ancienne après redémarrage. Inscription, mémoire partagée et transfert exécuté se répondent, mais ne sont jamais interchangeables.

Le commutateur offrait le raccourci. Le routeur gardait la faculté de dire non. C’est cette petite réserve de pouvoir qui empêchait la voie rapide de devenir la seule réalité.

Sources et limites

Le statut historique provient de la notice RFC Editor de RFC 1953 et le mécanisme du texte intégral de RFC 1953. La réalisation ATM est délimitée par RFC 1954, avec l’encapsulation de référence de RFC 1483. Le contexte de commande des commutateurs vient de la notice RFC 1987. Les comparaisons, sans filiation causale, utilisent RFC 2105 sur Tag Switching, RFC 3031 sur MPLS et RFC 5036 sur LDP. Le cadre d’analyse s’appuie sur Running-Code Primacy, Minimum Initial Specification et Reality Layers.

Ces sources établissent le protocole et des rapprochements bornés. Elles n’établissent ni déploiement universel, ni performance mesurée, ni réussite commerciale, ni interopérabilité générale, ni sécurité cryptographique, ni descendance unique vers MPLS.