Résumé
- Les fragments transportés par plusieurs liaisons membres recevaient une séquence unique à l’échelle du faisceau. Les bits B et E encadraient le paquet ; la séquence avançait par fragment et ne repartait pas à chaque paquet ou arrivée d’un membre.
- Le contrat commun n’exigeait ni fragments égaux ni ordonnanceur unique. Un petit paquet pouvait rester entier, tandis que MRRU bornait la taille que le récepteur promettait de reconstruire.
- Le FCS de chaque liaison protégeait son fragment, pas le paquet final. Endpoint Discriminator aidait à regrouper les membres sans les authentifier ; BAP/BACP et l’extension multiclasse ont traité ensuite la bande passante et la latence séparément.
Une capacité nouvelle, sans seconde identité réseau
Deux canaux peuvent relier les mêmes équipements. Les déclarer indépendants double non seulement la capacité physique, mais aussi les adresses et les négociations de protocoles réseau. À l’inverse, répartir au hasard les octets d’un paquet ne suffit pas : la ligne rapide peut livrer sa part avant la ligne lente, et le récepteur doit savoir quelle absence est un retard et laquelle est une perte.
Le protocole Multilink a créé le faisceau entre ces deux extrêmes. Chaque membre garde son cadrage PPP, son LCP et son authentification. Les protocoles de couche réseau sont en général négociés une fois sur l’ensemble. Une liaison peut entrer ou sortir sans que cet état soit forcément détruit.
Le RFC 1717 a décrit cette architecture en 1994, notamment pour plusieurs canaux B de l’ISDN. Le RFC 1990 l’a remplacé en 1996 et a rendu plusieurs règles explicites. Réduire cette histoire à l’addition de débits manque son apport principal : un minimum d’état commun pouvait survivre aux changements de la composition physique.
Le fragment partait d’un paquet déjà identifié
Avant la découpe, l’émetteur ajoutait au paquet de protocole réseau son champ Protocol PPP. Il ne découpait pas une trame physique complète avec Address, Control, fanions et FCS d’un membre. Ces éléments appartenaient à chaque transmission locale.
Chaque morceau voyageait ensuite sous le protocole PPP 0x003d, avec un en-tête MP. Le premier fragment commençait donc par le champ Protocol du paquet d’origine. B signalait le début, E la fin. B et E pouvaient être présents ensemble lorsqu’un seul fragment portait tout le paquet.
La fragmentation n’était donc pas obligatoire. Les petits paquets pouvaient rester entiers et les autres n’avaient pas à être divisés à parts égales. Un émetteur pouvait tenir compte du débit des membres, choisir des tailles proportionnelles ou appliquer une autre stratégie locale. Le récepteur n’avait pas besoin de connaître cette motivation ; il devait seulement comprendre les limites et l’ordre.
Cette économie est essentielle. Le standard a défini ce qui devait être identique pour l’interopérabilité, sans figer un algorithme de performance.
Le compteur appartenait au faisceau
L’en-tête normal portait un numéro de séquence de 24 bits. Les pairs pouvaient négocier le format court de 12 bits, mais tous les membres du faisceau devaient employer le même format. Chaque fragment consommait le numéro suivant.
Le compteur ne recommençait pas pour chaque paquet. Il ne revenait pas davantage à zéro lorsqu’une liaison secondaire rejoignait un faisceau existant. Seul un nouveau faisceau commençait à zéro. Sans cette continuité, un petit numéro sur le nouveau membre pourrait ressembler à un ancien fragment retardé sur un autre.
La reconstruction était elle aussi commune au faisceau. Le récepteur suivait la progression observée sur chaque membre et calculait le point minimal que tous avaient dépassé. Si un numéro antérieur manquait encore, il n’était plus raisonnable de l’attendre simplement sur une ligne plus lente. Le récepteur pouvait abandonner le paquet incomplet et se resynchroniser.
La mémoire tampon ne supprimait pourtant pas toute ambiguïté. Son besoin dépendait des vitesses, des retards et des tailles de fragments. Le RFC 1990 rappelait qu’aucune quantité de mémoire ne peut garantir la détection d’un pair qui retient délibérément un paquet. La séquence organise l’incertitude ; elle ne transforme pas les membres en transport fiable.
Des fragments intacts pouvaient former un paquet absent
Chaque liaison encadrait son fragment MP selon PPP et appliquait son propre FCS. Un FCS valide disait quelque chose du fragment reçu sur ce membre. Multilink n’ajoutait pas un nouveau FCS à l’ensemble reconstitué.
Dix fragments peuvent ainsi être intacts alors que le onzième n’arrive jamais. Le paquet reste incomplet. Des compteurs FCS propres sur tous les membres ne prouvent donc pas une livraison complète par le faisceau.
Le mécanisme ne prescrivait pas non plus une méthode unique pour détecter une liaison défaillante. LQM ou LCP Echo pouvaient fournir des indices, mais restaient des protocoles adjacents. Une livraison fiable sur un membre exigeait une négociation séparée de PPP Reliable Transmission. MP ordonnait et reconstruisait ; il ne retransmettait pas et n’accusait pas réception au nom de l’application.
L’exploitation doit conserver séparément l’état de chaque membre, les erreurs de cadrage et FCS, le dernier numéro vu, le minimum du faisceau, les trous, les abandons de reconstruction, les paquets complets remis au protocole réseau et le résultat applicatif. Un seul voyant « faisceau sain » efface précisément les étapes à diagnostiquer.
MRRU limitait la reconstruction, pas la trame d’un membre
Maximum Reconstructed Receive Unit désignait le plus grand champ d’information que le récepteur acceptait après reconstruction. Ce n’était pas le MRU d’une liaison physique. Chaque membre devait seulement transporter son fragment ; le paquet logique pouvait être plus grand, dans la limite du MRRU.
L’option LCP MRRU était de type 17. Elle exprimait aussi la capacité à recevoir Multilink ou à joindre le membre à un faisceau. Le RFC 1990 imposait au moins 1 500 octets et supprimait le défaut ambigu du RFC antérieur. Le format court de séquence était le type 18.
Endpoint Discriminator, type 19, aidait à reconnaître que plusieurs liaisons aboutissaient au même pair et pouvaient rejoindre le même faisceau. Il ne suffisait ni à annoncer MP ni à prouver une identité. Certaines classes n’étaient attribuées que localement. Le bloc de Magic-Numbers n’offrait qu’une unicité probable et a été déconseillé comme clé d’authentification ou de base de données lorsqu’une vraie authentification existe.
Un discriminateur pouvait être falsifié. La frontière de sécurité du RFC était donc nette : l’adhésion sûre d’un membre nécessitait l’authentification PPP. Une valeur de rapprochement ne conférait aucun droit.
Le contrôle de la bande passante restait séparé
MP permettait de modifier la liste des membres, mais ne décidait pas quand lancer un appel supplémentaire ni quel pair avait autorité sur ce choix. Le RFC 2125 a confié ces décisions à BACP et BAP. BACP sélectionnait le pair contrôlant l’allocation ; BAP demandait l’ajout ou la suppression d’une liaison et rapportait l’état de l’appel.
Un appel déclaré réussi ne prouvait pas que le membre avait reçu la bonne configuration, transporté des fragments, augmenté le débit ou livré une transaction. Le résultat du contrôle n’était qu’une étape dans la chaîne de preuve.
La latence a elle aussi reçu une extension distincte. Le RFC 2686 observait que 1 500 octets sur une ligne à 28,8 kbit/s pouvaient l’occuper environ 400 millisecondes et pousser un échange conversationnel vers une seconde. Plusieurs classes de fragments ont permis d’intercaler le trafic prioritaire. Le séquencement de base savait reconstruire ; il ne prétendait pas définir toute politique de priorité.
Un accord minimal sous des choix locaux
Les pairs partageaient la capacité MP, le MRRU, un format d’en-tête, les limites B/E et une séquence. La taille des fragments, le choix du membre, la détection de panne, le déclenchement d’un appel et les priorités restaient locaux ou appartenaient à des extensions.
Le faisceau n’effaçait donc pas ses composants et ne devenait pas une autorité centrale. Il maintenait seulement assez de sens commun pour que deux implémentations puissent refaire le même paquet malgré des décisions différentes.
L’observation doit garder cette modestie. 0x003d prouve une représentation MP au point capturé ; B, E et la séquence décrivent une position revendiquée ; MRRU prouve une limite négociée ; un discriminateur donne un indice de regroupement. La livraison, l’identité, le gain de débit et le déploiement actuel exigent les captures, compteurs, reconstructions complètes et résultats supérieurs du code réellement exécuté.
Sources
Briefing des membres
Contexte approfondi du profil
Connectez-vous avec le bon niveau d'adhésion pour débloquer le briefing complet et les notes de source.
Réservé à Strategic Circle
Strategic Circle
Ouvert à tous les lecteurs. Débloquez les briefings de profil après adhésion et connexion.
Rejoindre Strategic CircleRéservé aux membres de Leadership Alliance
Leadership Alliance
Réservé aux propriétaires et dirigeants qualifiés d'actifs IP ; connectez-vous pour débloquer les briefings Alliance.
Rejoindre Leadership Alliance
