Résumé

  • La RFC 1434 terminait LLC Type 2 dans chacun des deux Data Link Switches : les terminaux n'étaient donc pas reliés par une même session de liaison, mais par deux connexions locales indépendantes.
  • Entre les commutateurs, SSP devait rechercher la station, échanger une paire d'identifiants de circuit puis établir le contact ; une connexion TCP active ne démontrait aucune de ces étapes.
  • La terminaison locale réduisait les acquittements et les effets des temporisations sur le WAN, tandis que le multiplexage faisait d'une panne TCP la cause commune de nombreuses déconnexions locales.

Deux horloges de LAN aux extrémités

LLC Type 2 avait été conçu pour un environnement où le délai restait faible et prévisible. Un temporisateur fixe permettait d'interpréter l'absence de réponse comme la perte d'une trame. Sur une liaison étendue, plus lente ou encombrée, cette hypothèse devenait fragile : une trame simplement retardée déclenchait une retransmission, les séquences pouvaient se brouiller et la liaison finissait par être coupée.

Le Data Link Switching décrit en 1993 ne cherchait pas à étirer cette horloge jusqu'à l'autre bout du réseau. Il déplaçait la frontière. La station de gauche entretenait une connexion LLC Type 2 avec son commutateur local ; la station de droite en entretenait une autre avec le sien. Le contrôle de liaison s'arrêtait dans chaque commutateur. SSP transportait ensuite l'information d'un commutateur à l'autre au-dessus d'un service fiable.

Cette architecture retirait du WAN les temporisations et les acquittements LLC. Les échanges de scrutation SDLC restaient eux aussi locaux. Un commutateur pouvait absorber des reprises adaptées à la liaison adjacente, sans imposer le rythme variable du réseau étendu à un protocole prévu pour un anneau local.

Elle modifiait aussi la valeur probante d'un acquittement. Quand une station recevait RR ou UA, elle savait que le commutateur voisin avait accepté une responsabilité locale. Elle ne savait pas si la station distante avait été contactée, si sa propre liaison locale était établie, ni si son application avait traité les données. Le texte de la RFC qualifiait les deux connexions LLC de totalement indépendantes ; l'expérience paraissait continue, les obligations ne l'étaient pas.

Le transport commun ne créait pas les circuits

Avant d'échanger par SSP, deux Data Link Switches établissaient une connexion de transport. La première mise en œuvre utilisait TCP, sans que le document exclue un autre transport fiable. SSP créait ensuite des circuits DLS sur cette connexion, et plusieurs circuits pouvaient y être multiplexés.

Une sonde voyant TCP en état connecté observait donc l'infrastructure entre deux commutateurs. Elle n'observait pas encore une session entre les stations. Le commutateur distant pouvait ignorer l'emplacement recherché ; aucun identifiant de circuit n'avait peut-être été échangé ; la liaison locale distante pouvait attendre son contact. La couche de transport répondait à la question « les commutateurs peuvent-ils acheminer un flux fiable ? », non à la question « le service terminal est-il prêt ? ».

La RFC 1434 distinguait l'identité du lien recherché de celle d'une instance de circuit. Le Data Link ID réunissait les adresses MAC et SAP des deux points d'attachement. Chaque commutateur attribuait localement un Circuit ID de 64 bits, composé d'un identifiant de port DLC et d'un corrélateur. Le circuit de bout en bout n'était désigné qu'avec la paire de valeurs, conservée par les deux DLS.

Avant l'établissement, les messages de contrôle portaient les adresses complètes. Une fois le circuit établi, INFOFRAME pouvait se contenter d'un en-tête court contenant l'identifiant distant. L'économie de bits reposait sur une mémoire exacte : un Circuit ID isolé n'avait de sens que dans le commutateur qui l'avait créé. Sans la paire et l'identité des deux DLS, un journal ne permet plus de reconstituer la conversation.

La grammaire prudente de SSP

CANUREACH posait une question. ICANREACH annonçait qu'un commutateur pouvait atteindre la station et fournissait son identifiant local. REACH_ACK retournait l'identifiant de l'origine. CONTACT demandait ensuite le contact avec la station distante ; CONTACTED confirmait cette progression. Cette suite ne multipliait pas les formalités : elle empêchait qu'une réponse partielle devienne une preuve complète.

Un pair TCP joignable pouvait ne pas connaître la station. Une réponse ICANREACH pouvait arriver sans que les deux identifiants soient encore appariés. Le circuit pouvait exister avant que le lien local distant ait terminé son établissement. Chaque verbe correspondait à un changement d'état différent.

Plusieurs ICANREACH pouvaient répondre à la même recherche. Le DLS d'origine retenait la première réponse et envoyait REACH_ACK à ce pair. L'emplacement n'était donc pas seulement une propriété statique de la station : c'était le résultat daté d'une interrogation et d'un choix. Conserver uniquement la réponse gagnante efface les autres chemins observés et le critère temporel qui a décidé.

Les caches limitaient la diffusion des recherches. Sans emplacement connu, un CANUREACH ou une requête NetBIOS pouvait partir vers tous les pairs DLS connus. Un cache utile réduisait ce bruit ; un cache périmé pouvait orienter les nouveaux circuits vers un ancien point. Portée de la recherche, âge de l'entrée et réponse sélectionnée faisaient partie de l'état du service.

Dire oui près de la station, attendre encore au loin

La phase de connexion rendait la séparation tangible. Une station locale envoyait SABME. Le commutateur d'origine pouvait lui répondre UA avant que la station distante ait été contactée. Pour empêcher l'envoi prématuré des données, il plaçait localement la station en attente avec RNR. Lorsque CONTACTED arrivait du commutateur distant, RR libérait le flux.

L'acquittement anticipé n'affirmait pas que la machine lointaine avait répondu. Il affirmait que le DLS acceptait d'être l'extrémité de la liaison locale. Le RNR conservait l'incertitude sur la suite. Une supervision qui fusionnerait UA, CONTACTED et réponse applicative sous le même voyant « connecté » ferait disparaître précisément la responsabilité prise en charge par le commutateur.

Le successeur, la RFC 1795, a rendu une autre frontière plus explicite grâce au contrôle adaptatif du débit. Après échange des capacités, chaque sens de chaque circuit disposait de ses propres unités accordées. Au démarrage, l'émetteur ne pouvait envoyer de données avant une autorisation FCIND. Ce mécanisme appartient à la révision de 1995 et non à la RFC 1434 ; il confirme toutefois que la fiabilité de TCP ne suffisait pas à décider combien un circuit logique pouvait injecter.

Un seul incident au milieu, beaucoup de DISC aux bords

La terminaison locale économisait des acquittements sur le WAN. Le multiplexage économisait des connexions de transport. Cette concentration avait un prix mesurable : les circuits restaient indépendants dans leur identité, mais partageaient la destinée du transport.

La RFC 1434 imposait qu'une panne de la connexion TCP entraîne la chute de toutes les connexions multiplexées dessus. Chacun des deux DLS envoyait DISC aux systèmes locaux concernés. Le câble du terminal, son port et son état LLC immédiat pouvaient être sains ; la session disparaissait parce que la dépendance commune entre les commutateurs avait cessé d'exister.

Dix alarmes terminales simultanées ne signifient donc pas dix causes racines. Elles peuvent être les dix conséquences d'une même rupture TCP. À l'inverse, enregistrer seulement l'alarme de transport réduit dix impacts à une abstraction. Il faut relier le fait commun à chaque circuit, puis chaque circuit aux deux liens locaux et à l'usage applicatif atteint.

Toutes les coupures n'avaient pas cette origine. HALT_DL et DL_HALTED coordonnaient un arrêt du lien ; une erreur DLC locale pouvait faire évoluer un seul circuit vers la déconnexion. La manifestation finale se ressemblait. Le premier changement d'état, lui, distinguait une faute locale, un arrêt distant, une commande de circuit et la perte du transport partagé.

Les révisions ont rendu les frontières administrables

La RFC 1795 déclarait des changements importants et remplaçait la RFC 1434. Le groupe DLSw de l'APPN Implementers Workshop cherchait une version unique de SSP pour plusieurs fournisseurs et corrigeait les problèmes de documentation antérieurs. Il ajoutait notamment l'échange de capacités entre l'établissement du transport et les messages ordinaires de circuit.

La RFC 2024 a projeté cette architecture dans un MIB. Une connexion de transport pouvait être en cours d'établissement, en échange initial de capacités, connectée, en quiescence, en déconnexion ou déconnectée. Les compteurs séparaient les créations de circuits, les explorations et les raisons de coupure. L'exploitation obtenait enfin un vocabulaire qui empêchait un simple état TCP d'absorber toute la réalité.

En 1997, la RFC 2166 a recensé les coûts d'échelle : configuration de nombreux pairs, multiplication des recherches et des trames NetBIOS sur les liaisons point à point, maintien des transports et terminaison d'un grand nombre de LLC2. DLSw v2.0 introduisait des motifs de HALT, la découverte assistée par multicast, des connexions à la demande et, lorsque possible, une seule connexion TCP bidirectionnelle.

Ces fonctions ne doivent pas être attribuées rétroactivement au protocole de 1993. Leur apparition raconte autre chose : déplacer l'état hors des terminaux ne le supprime pas. Il faut ensuite négocier, observer et dimensionner l'intermédiaire qui l'a reçu.

La chaîne de preuve doit atteindre l'application

Un dossier exploitable associe l'identité et l'état du transport, le Data Link ID recherché, toutes les réponses ICANREACH, le pair choisi, les deux Circuit ID, CONTACT et CONTACTED, les états DLC de chaque côté, les permissions de flux et la première raison de coupure. Les preuves applicatives viennent ensuite et ne sont jamais déduites automatiquement.

Les RFC 1434 et 1795 indiquent toutes deux que les questions de sécurité ne sont pas traitées. Elles ne peuvent donc suffire à prouver l'authentification d'un pair, l'autorisation d'une station, la confidentialité ou la résistance à un adversaire. La livraison fiable décrite pour le transport n'est pas un verdict de sécurité.

Ces textes ne prouvent pas non plus un déploiement, un niveau d'adoption ou un incident réel. Leur force historique tient à une distinction durable : un réseau peut offrir une continuité d'usage tout en conservant plusieurs contrats techniques. Transport actif, circuit identifié, terminal contacté, liaison locale ouverte et action applicative sont des observations complémentaires, jamais des synonymes.

Sources