Article de reference

Protocole de mise en réseau Microcom

Le protocole Microcom Networking Protocol , presque toujours abrégé en MNP , est une famille de protocoles de correction d'erreurs couramment utilisés sur les premiers modems à ...

Le protocole Microcom Networking Protocol , presque toujours abrégé en MNP , est une famille de protocoles de correction d'erreurs couramment utilisés sur les premiers modems à haut débit (2400 bit/s et plus) . Développé à l'origine pour être utilisé sur la propre famille de modems de Microcom , le protocole a ensuite été sous licence ouverte et utilisé par la plupart des fabricants de modems, notamment les « trois grands », Telebit , USRobotics et Hayes . Le MNP a ensuite été supplanté par le V.42bis , qui a été utilisé presque universellement à partir des premiers modems V.32bis au début des années 1990.

Aperçu

Bien que Xmodem ait été introduit en 1977, le New York Times a décrit XMODEM en premier en 1985 , puis a évoqué MNP comme un concurrent de premier plan, et a déclaré que les modems à 9600 bauds « commencent à faire leur apparition ». En 1988, le Times parlait de 9600 et 19,2K, et qu'« au moins 100 autres marques de modems suivent » MNP (comparé à l'utilisation de LAP-B par Hayes).

Notions de base sur la correction des erreurs

Les modems sont, par nature, des appareils sujets aux erreurs. Le bruit sur la ligne téléphonique, un phénomène courant, peut facilement imiter les sons utilisés par les modems pour transmettre des données, introduisant ainsi des erreurs difficiles à détecter. Pour certaines tâches, comme la lecture ou l'écriture d'un texte simple, un petit nombre d'erreurs peut être accepté sans causer trop de problèmes. Pour d'autres tâches, comme le transfert de programmes informatiques au format machine, une seule erreur peut rendre les données reçues inutiles. À mesure que les modems augmentent leur vitesse en utilisant davantage de bande passante disponible , le risque que du bruit aléatoire introduise des erreurs augmente également ; au-delà de 2400 bit/s, ces erreurs sont assez courantes.

Pour résoudre ce problème, un certain nombre de protocoles de transfert de fichiers ont été introduits et mis en œuvre dans divers programmes. En général, ces protocoles décomposent un fichier en une série de trames ou de paquets contenant un certain nombre d' octets du fichier d'origine. Une sorte de données supplémentaires, normalement une somme de contrôle ou CRC , est ajoutée à chaque paquet pour indiquer si le paquet a rencontré une erreur lors de sa réception. Le paquet est ensuite envoyé au système distant, qui recalcule la somme de contrôle ou CRC des données et la compare à la somme de contrôle ou CRC reçue pour déterminer si elle a été correctement reçue. Si c'est le cas, le récepteur renvoie un message ACK ( accusé de réception ), invitant l'expéditeur à envoyer le paquet suivant. En cas de problème, il envoie à la place un message NAK ( non reconnu ) et l'expéditeur renvoie le paquet endommagé.

Ce processus introduit une surcharge dans le transfert. D'une part, la somme de contrôle supplémentaire ou CRC utilise du temps dans le canal qui pourrait autrement être utilisé pour envoyer des données supplémentaires. Il s'agit toutefois d'un problème mineur, à moins que les paquets ne soient très petits (ce qui est le cas dans UUCP par exemple). Un problème plus sérieux est le temps nécessaire au récepteur pour examiner le paquet, le comparer au CRC, , puis renvoyer l'ACK à l'expéditeur. Ce délai augmente en termes relatifs à mesure que la vitesse du modem augmente ; la latence de la ligne téléphonique est une constante, mais la quantité de données qui pourrait être envoyée dans ce laps de temps fixe augmente à mesure que la vitesse augmente. Pour résoudre ce problème, les protocoles plus récents utilisent un système connu sous le nom de « fenêtres glissantes », permettant à l'expéditeur de commencer à transmettre le paquet suivant sans recevoir de message ACK ; ce n'est que si l'ACK n'arrive pas pendant un certain temps qu'il renverra le paquet.

Poignée de main MNP

Les connexions MNP ont été établies après que les modems se soient correctement connectés. Le système d'origine (le modem qui a passé l'appel, ou parfois l'ordinateur auquel il était connecté) envoyait une courte série de caractères de 8 bits connue sous le nom de « Originator Detection Pattern » (ODP). La chaîne se composait de DC1avec une parité paire ( 10001000) au début, un ou deux $FF( 11111111), DC1avec une parité impaire ( 10001001) et le même nombre de $FFà nouveau.

Une fois l'ODP envoyé, l'expéditeur déclenche le « Temporisateur de phase de détection » ou T400. Le système de réponse doit répondre correctement à l'ODP dans ce délai, sinon le système d'origine supposerait que MNP n'était pas pris en charge.

Si le modem répondeur prenait en charge la norme MNP ou les normes V.42 ultérieures qui la remplaçaient, il répondait avec l'un des « modèles de détection du répondeur » (ADP). Si le modem prenait en charge la compression, il répondait avec la version 8 bits de la chaîne E$FF[ $FF] C$FF[ $FF], indiquant « EC » ou « Correction d'erreur et compression ». Si la correction d'erreur était prise en charge, mais pas la compression, l'ADP était E$FF[ $FF] NUL$FF[ $FF], indiquant « E » ou « Correction d'erreur ». La norme autorisait n'importe quelle valeur des quatre derniers bits du deuxième caractère pour indiquer les normes différentes, mais cela n'a jamais été implémenté. L'ADP devait être envoyé au moins dix fois.

Si l'ADP est reçu avec succès dans le délai T400, le système a déterminé avec succès que les deux systèmes prennent en charge une sorte de correction d'erreur et/ou de compression. À ce stade, les systèmes entrent dans la « phase d'établissement du protocole » où les détails de ces normes sont déterminés et sélectionnés. Cela commence par l'envoi par le système d'origine de la chaîne L-ESTABLISH, indiquant que le mode passe au mode de correction d'erreur, et le système de réponse répond avec le même L-ESTABLISH. Le système de réponse peut rejeter la tentative en envoyant L-RELEASE. Cette phase est chronométrée par T401.

L'étape finale du processus de négociation consiste à envoyer un paquet MNP contenant la commande « SABME », abréviation de « set asynchronous balanced mode extended ». Ce paquet est envoyé par l'expéditeur et contient un certain nombre de champs de données indiquant les protocoles exacts qu'il peut prendre en charge. Le système de réponse répond avec une version modifiée du même paquet, en commutant les bits dans les données pour indiquer qu'il a réussi. À partir de ce moment, les deux systèmes échangent des données en utilisant le protocole de paquet de correction d'erreur. Si cette dernière étape ne se termine pas pendant le délai T401, l'expéditeur envoie L-RELEASE et revient à une liaison non MNP.

« Classes » MNP

L'idée de Microcom était de déplacer le protocole de transfert de fichiers hors de l'ordinateur hôte et de le placer dans le modem. Ce faisant, toutes les données transférées seraient corrigées des erreurs, et pas seulement les transferts de fichiers. Cela signifiait également que les appareils sans processeur, comme les terminaux non fonctionnels , pourraient bénéficier d'une liaison sans erreur.

Le protocole original était extrêmement simple et plutôt inefficace, ce qui a donné lieu à une variété de protocoles améliorés appelés « classes ». Chaque classe a généralement amélioré les performances par rapport aux versions antérieures, qui n'ont été conservées que pour des raisons de compatibilité ascendante.

MNP 1 et 2

La première norme MNP, connue rétroactivement sous le nom de MNP Classe 1 , ou simplement MNP 1 , était un simple protocole semi-duplex similaire à XModem par nature. En l'absence de prise en charge de la fenêtre glissante, l'efficacité du débit était assez faible, d'environ 70 %. Cela signifiait que sur un modem à 2 400 bits/s, comme ceux vendus par Microcom, le débit serait limité à environ 1 690 bits/s lorsque MNP 1 était utilisé. Ce système a été créé principalement pour être aussi simple que possible à mettre en œuvre dans un matériel limité, ce qui explique sa simplicité.

Avec l'amélioration de la puissance de traitement à faible coût, Microcom a introduit MNP 2 , une version duplex intégral de MNP 1 qui permettait de renvoyer les messages ACK alors que le prochain paquet sortant était déjà en train de démarrer. Cela a éliminé la pause pendant laquelle le modem attendait le retour de l'ACK, ajoutant l'exigence que le système ait besoin d'une certaine mémoire pour suivre si un ACK a été reçu ou non dans un laps de temps donné. Étant donné que le délai entre les paquets a été réduit, seule la surcharge du CRC est restée, améliorant le débit à environ 84 %.

MNP 3

En utilisation normale, un modem peut envoyer ou recevoir des données à tout moment, mode de fonctionnement appelé « asynchrone ». Le modem peut déterminer la vitesse des données de l'expéditeur en écoutant les bits qui lui sont envoyés et en « verrouillant » son horloge sur la vitesse des bits reçus. Comme les données peuvent arriver à tout moment, il n'y a pas de synchronisation précise ; l'horloge peut devoir être réajustée pour les pauses lorsque l'utilisateur arrête de taper (par exemple).

Malheureusement, ce type de décodage d'horloge ne fonctionne pas à moins qu'il y ait au moins quelques transitions entre 1 et 0 dans les données ; un long flux de 0 ou de 1 ne contient aucune transition, ce qui rend impossible de savoir où commencent les données pour un octet particulier . Afin d'éviter ce problème, des bits de cadrage supplémentaires sont ajoutés à chaque extrémité de chaque octet, généralement un bit de chaque côté, appelés « bits de démarrage et d'arrêt » . Cela garantit au moins une transition de 1 à 0 pour chaque octet, ce qui est plus que suffisant pour maintenir les horloges verrouillées. Cependant, ces bits s'étendent également tous les 8 bits de données (un octet) à 10 bits, ce qui représente une surcharge de 20 %.

Lors de l'utilisation d'un protocole de transfert de fichiers, les paquets eux-mêmes offrent leur propre cadrage. Les paquets enverront toujours un flux continu de données, de sorte que l'horloge ne peut pas « dériver » de la même manière qu'elle le pourrait pour les données envoyées par un utilisateur tapant sur un clavier. En désactivant ces bits de cadrage lors de l'utilisation d'une liaison à correction d'erreur, cette surcharge de 20 % peut être éliminée.

C'est exactement ce que MNP 3 a fait. Après avoir négocié et déterminé que les deux modems prenaient en charge MNP 3, les bits de cadrage ont été désactivés, améliorant l'efficacité globale d'environ 20 %. Cela a presque parfaitement compensé la surcharge du protocole, ce qui signifie qu'en utilisant MNP 3, un utilisateur peut s'attendre à obtenir un débit très proche du débit idéal de 2400 bits/s (contre 1900 bits/s).

MNP 4

MNP 4 était une amélioration supplémentaire du MNP 3, ajoutant un système de taille de paquet variable qu'ils appelaient Adaptive Packet Assembly .

Dans le cas du protocole MNP, la surcharge du système de paquets était relativement faible, mais même le CRC multi-octets occupait un espace mieux utilisé pour les données. En général, l'utilisation d'un paquet plus grand résout ce problème, car le CRC conserve la même taille fixe et sa surcharge relative est donc réduite par rapport à la quantité de données. Cependant, lorsqu'une erreur se produit, l'utilisation de paquets plus grands signifie également que davantage de données doivent être renvoyées. Sur les lignes bruyantes, cela peut ralentir le débit global.

Avec MNP 4, les deux modems surveillent en permanence la ligne pour détecter les paquets perdus et, si un certain seuil est dépassé (sélectionné par l'utilisateur), le modem revient à une taille de paquet plus petite. Cela signifie que lorsqu'un paquet est perdu, la quantité de données à renvoyer est plus petite, ce qui conduit à un meilleur débit. Sur les lignes de bonne qualité, l'utilisation de paquets plus gros signifie que la surcharge du CRC est réduite. Les paquets peuvent être compris entre 64 et 256 octets et permettent à l'utilisateur de les forcer à une taille particulière s'il le souhaite.

MNP 4 a également introduit l'optimisation de la phase de données , une simple modification du protocole qui permettait de supprimer certaines informations de trame de paquets après l'établissement de la liaison, réduisant ainsi encore la charge du protocole. La combinaison de ces fonctionnalités, ainsi que l'absence de trame d'octets de MNP 3, ont permis d'augmenter encore l'efficacité du débit.

MNP 5

Un changement encore plus radical a été apporté à MNP 5 , en introduisant la compression des données à la volée dans le modem. Avec MNP 5, les données reçues de l'ordinateur sont d'abord compressées avec un algorithme simple, puis transmises au système de mise en paquets MNP 4 pour transmission. Dans le meilleur des cas, le système offrait une compression d'environ 2:1, mais en termes généraux, environ 1,6:1 était typique, au moins pour le texte. En conséquence, un modem à 2400 bit/s semblerait transférer du texte à environ 4000 bit/s.

Cette augmentation spectaculaire du débit a permis aux modems Microcom de rester quelque peu compétitifs par rapport aux modèles d'autres sociétés qui étaient par ailleurs nominalement beaucoup plus rapides. Par exemple, Microcom produisait généralement des modems à 1 200 et 2 400 bits/s à partir de composants de base, tandis que des sociétés comme USRobotics et Telebit proposaient des modèles avec des vitesses allant jusqu'à 19 200 bits/s.

Cependant, cette amélioration des performances n'était possible que si les modems des deux extrémités prenaient en charge le protocole MNP. Cela rendait le système vraiment intéressant uniquement pour les sites installant les modems aux deux extrémités des liaisons ; pour les services d'accès commuté comme les systèmes de babillards électroniques (BBS), il n'y avait aucune raison impérieuse d'utiliser un périphérique Microcom lorsque l'utilisateur final n'en avait probablement pas un. Même dans les cas où l'utilisateur contrôlait les deux extrémités de la liaison, les modems « propriétaires » de Microcom étaient moins intéressants que les modèles d'autres sociétés qui offraient des débits « réels » beaucoup plus élevés.

Afin de créer un marché pour les modems Microcom, ils ont pris la décision radicale de proposer gratuitement la licence de l'ensemble de la suite MNP à partir de MNP 5. L'idée était d'augmenter considérablement le nombre de modems équipés de MNP, ce qui rendrait les « vrais » modems Microcom plus attractifs. De plus, les nouvelles normes offrant des performances améliorées offriraient des performances encore meilleures lorsqu'il y avait un modem Microcom aux deux extrémités de la liaison.

Ce plan s'est retourné contre eux. L'introduction du système de compression LAPM grandement amélioré dans la norme V.42bis a dépassé les propres avancées de Microcom, diluant la valeur d'un « vrai » modèle Microcom presque à zéro. En utilisant la norme V.42bis et des composants de base, un grand nombre de modems à bas prix avec des performances encore meilleures que celles de Microcom ont rapidement été disponibles. Bien que Microcom ait continué à introduire de nouvelles normes, elles ont été largement ignorées et Microcom a cessé d'être une force sur le marché.

MNP 6

L'introduction du V.32 a donné naissance à un certain nombre de modems standard à 9 600 bit/s, dont presque tous offraient le MNP 5. Pour se différencier davantage de ce qui devenait un marché de produits de base (bien que ce ne soit pas vraiment le cas jusqu'à l'introduction du V.32bis SupraFAXModem 14400 en 1991), Microcom a créé le MNP 6 .

La principale caractéristique du MNP 6 était le duplexage statistique , qui permettait de consacrer plus ou moins de bande passante à un côté ou à l'autre de la liaison modem. Par exemple, si une machine envoyait un gros fichier, l'autre extrémité ne renverrait qu'une petite quantité d'informations, les messages ACK et NAK. Dans ce cas, les modems donneraient autant de canal que possible à l'expéditeur, offrant une bande passante unidirectionnelle allant jusqu'à 19 200 bit/s. Cela ne nécessitait en fait aucune modification du système de modulation : normalement, un modem à 9 600 bit/s avait un canal complet à 9 600 bit/s dans les deux sens, pour un total de 19 200 bit/s ; le MNP 6 permettait simplement de consacrer plus ou moins de cette bande passante à un côté ou à l'autre, au lieu de la laisser fixée à 9 600 dans les deux sens.

Ce concept de base était déjà largement utilisé dans l'industrie, ayant servi de base au protocole Express 96 de Hayes , au PEP de HST Telebit d'USRobotics et (brièvement) au SpeedModem de CompuCom . Toutes ces normes ont eu beaucoup de mal à survivre sur le marché dominé par le V.32bis et, comme elles, le MNP 6 a été largement ignoré.

Un ajout moins notable à la norme MNP 6 était la négociation de liaison universelle . Avec l'introduction de modes de modulation supplémentaires, notamment V.32 et les ajouts ultérieurs, les modems à chaque extrémité de la liaison devaient passer de plus en plus de temps à négocier une norme commune. Par exemple, un modem V.32bis envoyait d'abord des tonalités dans la ligne pour essayer d'obtenir une liaison 14,4 ; si cela échouait après un certain temps, il essayait 9600, 2400 et enfin 1200 bit/s. Étant donné que chacune de ces normes définissait une période de temps minimale pour « essayer » d'obtenir une liaison, le délai augmentait de plus de 10 secondes.

L'ULN évitait ce retard en négociant toujours la liaison à 2400 bit/s sans correction d'erreur activée. Bien que cela ait éliminé la compatibilité avec les anciens modems à 1200 bit/s, à ce stade, ils étaient extrêmement rares. Une fois la connexion établie, ce qui s'est produit rapidement, les deux modems envoyaient une petite chaîne d'identification au modem distant. Les deux modems examinaient ensuite la chaîne et sélectionnaient le mode commun le plus rapide. L'appelant renégociait ensuite une fois à cette vitesse supérieure.

MNP 7

La norme MNP 7 a introduit de nouveaux algorithmes de compression avec une amélioration annoncée de la compression 3:1 sur les fichiers texte. Cependant, au moment de l'introduction de la norme MNP 7, la norme V.42bis proposait une compression 4:1.

MNP 9

MNP 9 (il n'y avait apparemment pas de version 8) a amélioré la détection de lien universel pour ajouter de nouveaux modes à grande vitesse, mais était par ailleurs identique à MNP 7.

MNP 10

MNP 10 a introduit un nouveau protocole de correction d'erreurs conçu spécifiquement pour fonctionner correctement sur les lignes téléphoniques bruyantes largement utilisées en Europe de l'Est. Contrairement aux versions précédentes comme MNP 4, MNP 10 surveillait en permanence la qualité de la ligne et ajustait la taille des paquets en cas d'amélioration des conditions.

En 1991, Microcom a accordé une licence pour le MNP 10 à Rockwell International pour l'utiliser dans ses chipsets de modem extrêmement populaires. Étant donné que presque tous les modems, à l'exception des modèles USR, utilisaient le chipset Rockwell à partir de 1995 environ, le MNP 10 a été largement déployé (sinon utilisé). USR a finalement ajouté le MNP 10 à ses modems de la série V.everything, le rendant ainsi universel.

Le MNP 10 a ensuite été étendu au MNP 10EC , le « EC » signifiant « Extended Cellular ». Il s'agissait d'une série de modifications qui permettaient au MNP 10 de gérer les pauses de transmission lorsqu'un téléphone portable se déplace d'une cellule à une autre, ce qui serait normalement interprété comme des erreurs sur la ligne. Grâce au MNP 10EC, ces pauses sont correctement identifiées comme « non des erreurs » et la vitesse de liaison reste plus élevée. Son succès a conduit à la création du concurrent ETC, créé par AT&T Paradyne.

Le MNP 10EC était particulièrement intéressant dans le domaine cellulaire en raison de l'inclusion de la méthode de négociation de liaison ULN introduite à l'origine dans le MNP 6 (et améliorée dans le MNP 9). Sur un réseau cellulaire où tout le temps d'antenne est facturé, la configuration plus rapide a permis d'économiser de l'argent. Le MNP 10EC a eu une durée de vie limitée, car les réseaux cellulaires se sont tournés vers une variété de systèmes entièrement numériques qui ne nécessitaient plus de modem pour se connecter à un ordinateur.

Documentation

Bien que MNP soit propriétaire, les classes 2 à 4 sont en fait décrites dans la spécification V.42 dans l'annexe A comme procédure alternative pour la fonction de contrôle d'erreur. Cette annexe présente dans la spécification la révision jusqu'en 1996 . Dans la dernière révision de 2002, elle a été supprimée.

Plus d articles de Worldlex Wiki

Revenez a l index pour explorer davantage de pages sur l histoire, la science, la culture, la geographie et la societe en francais.

Explorer l index