Los protocolos de red de Microcom , casi siempre abreviado como MNP , [1] son una familia de protocolos de corrección de errores que se utilizan comúnmente en los primeros módems de alta velocidad (2400 bit / sy superiores) . Desarrollado originalmente para su uso en la propia familia de módems de Microcom , el protocolo fue posteriormente licenciado abiertamente y utilizado por la mayor parte de la industria de los módems, en particular los "tres grandes", Telebit , USRobotics y Hayes . Más tarde, MNP fue reemplazado por v.42bis , que se utilizó casi universalmente a partir de los primeros módems v.32bis a principios de la década de 1990.
Descripción general
Aunque Xmodem se introdujo en 1977, en 1985 The New York Times describió primero XMODEM, luego discutió sobre MNP como uno de los principales contendientes, y que los módems de 9600 baudios "están comenzando a hacer su aparición". [2] En 1988, el Times hablaba de 9600 y 19.2K, y que "al menos otras 100 marcas de módems siguen" MNP (en comparación con el uso de LAP-B por parte de Hayes). [3]
Conceptos básicos de corrección de errores
Los módems son, por su naturaleza, dispositivos propensos a errores. El ruido en la línea telefónica, una ocurrencia común, puede imitar fácilmente los sonidos usados por los módems para transmitir datos, introduciendo así errores que son difíciles de notar. Para algunas tareas, como leer o escribir texto simple, se puede aceptar una pequeña cantidad de errores sin causar demasiados problemas. Para otras tareas, como transferir programas de computadora en formato de máquina, incluso un error puede inutilizar los datos recibidos. A medida que los módems aumentan de velocidad al utilizar más ancho de banda disponible , también aumenta la posibilidad de que el ruido aleatorio introduzca errores; por encima de 2400 bit / s, estos errores son bastante comunes.
Para hacer frente a este problema, se introdujeron e implementaron varios protocolos de transferencia de archivos en varios programas. En general, estos protocolos dividen un archivo en una serie de tramas o paquetes que contienen una cantidad de bytes del archivo original. Se agrega algún tipo de datos adicionales, normalmente una suma de comprobación o CRC , a cada paquete para indicar si el paquete encontró un error mientras se recibía. A continuación, el paquete se envía al sistema remoto, que vuelve a calcular la suma de comprobación o CRC de los datos y los compara con la suma de comprobación o CRC recibidos para determinar si se recibió correctamente. Si fue así, el receptor envía un mensaje ACK ( reconocimiento ), solicitando al remitente que envíe el siguiente paquete. Si hubo algún problema, en su lugar envía un mensaje NAK ( no reconocido ) y el remitente reenvía el paquete dañado.
Este proceso introduce "gastos generales" en la transferencia. Por un lado, la suma de comprobación adicional o CRC consume tiempo en el canal que de otro modo podría usarse para enviar datos adicionales. Sin embargo, esta es una preocupación menor, a menos que los paquetes sean muy pequeños (que están en UUCP, por ejemplo). Una preocupación más seria es el tiempo que necesita el receptor para examinar el paquete, compararlo con el CRC y luego enviar el ACK al remitente. Este retraso aumenta en términos relativos a medida que aumenta la velocidad del módem; la latencia de la línea telefónica es una constante, pero la cantidad de datos que podrían enviarse en ese período de tiempo fijo aumenta a medida que aumenta la velocidad. Para abordar este problema, los protocolos más nuevos utilizan un sistema conocido como " ventanas deslizantes ", que permite al remitente comenzar a transmitir el siguiente paquete sin recibir un mensaje ACK; sólo si el ACK no llega durante algún tiempo, reenviará el paquete.
Apretón de manos de MNP
Las conexiones MNP se establecieron después de que los módems se hubieran conectado correctamente. El sistema de origen (el módem que realizó la llamada o, a veces, la computadora a la que estaba conectado) enviaría una serie corta de caracteres de 8 bits conocida como "Patrón de detección de originador" (ODP). La cadena constaba de DC1
paridad par ( 10001000
) al principio, uno o dos $FF
( 11111111
), DC1
con paridad impar ( 10001001
) y el mismo número de $FF
nuevo. [4]
Una vez enviado el ODP, el remitente inicia el "Temporizador de fase de detección", o T400. El sistema de contestador tenía que responder correctamente al ODP dentro de este tiempo, o el sistema de origen asumiría que el MNP no era compatible. [4]
Si el módem de respuesta admitió MNP, o los estándares V.42 posteriores que lo reemplazaron, respondió con uno de los "Patrones de detección de contestador" (ADP). Si el módem admitía compresión, respondió con la versión de 8 bits de la cadena E
$FF
[ $FF
] C
$FF
[ $FF
], que indica "EC" o "Corrección de errores y compresión". Si se admitía la corrección de errores, pero no la compresión, el ADP era E
$FF
[ $FF
] NUL
$FF
[ $FF
], que indica "E" o "Corrección de errores". El estándar permitía que cualquier valor de los últimos cuatro bits en el segundo carácter indicara estándares de diferencia, pero esto nunca se implementó. El ADP tuvo que enviarse al menos diez veces. [4]
Si el ADP se recibe con éxito dentro del tiempo T400, el sistema ha determinado con éxito que los dos sistemas admiten algún tipo de corrección de errores y / o compresión. En ese momento, los sistemas ingresan a la "Fase de establecimiento de protocolos" donde se determinan y seleccionan los detalles de estos estándares. Esto comienza con el sistema de origen enviando la cadena L-ESTABLECIMIENTO, indicando que el modo está cambiando al modo de corrección de errores, y el sistema de respuesta responde con el mismo L-ESTABLECIMIENTO. El sistema de contestador puede rechazar el intento enviando L-RELEASE. Esta fase está cronometrada por T401. [4]
El paso final en el proceso de establecimiento de comunicación es enviar un paquete MNP que contiene el comando "SABME", abreviatura de "establecer el modo equilibrado asíncrono extendido". Este es enviado por el creador, que contiene una serie de campos de datos que indican los protocolos exactos que puede admitir. El sistema de contestador responde con una versión modificada del mismo paquete, cambiando bits en los datos para indicar que es exitoso. A partir de ese momento, los dos sistemas intercambian datos utilizando el protocolo de paquetes de corrección de errores. Si este último paso no se completa durante el temporizador T401, el originador envía L-RELEASE y regresa a un enlace no MNP. [4]
"Clases" de MNP
La idea de Microcom era sacar el protocolo de transferencia de archivos de la computadora host y colocarlo en el módem. Al hacerlo, todos los datos que se transfieren se corregirán por error, no solo las transferencias de archivos. Esto también significaba que los dispositivos sin procesador, como los terminales tontos , podían disfrutar de un enlace sin errores.
El protocolo original era extremadamente simple y bastante ineficiente, lo que dio lugar a una variedad de protocolos mejorados denominados "clases". [5] Cada clase generalmente mejoró el rendimiento con respecto a las versiones anteriores, que se conservaron solo por razones de compatibilidad con versiones anteriores.
MNP 1 y 2
El primer estándar MNP, conocido retroactivamente como MNP Clase 1 , o simplemente MNP 1 , era un protocolo semidúplex simple de naturaleza similar a XModem . Al carecer de soporte para ventanas corredizas, la eficiencia del rendimiento fue bastante baja, alrededor del 70%. Eso significaba que en un módem de 2400 bit / s, como los que vendió Microcom, el rendimiento se limitaría a unos 1690 bit / s cuando se utilizara MNP 1. Este sistema fue creado principalmente para ser lo más fácil posible de implementar en hardware limitado, lo que explica su simplicidad.
Con la mejora de la potencia de procesamiento de bajo costo, Microcom introdujo MNP 2 , una versión full-duplex de MNP 1 que permitía que los mensajes ACK fueran devueltos mientras el siguiente paquete saliente ya estaba comenzando. Esto eliminó la pausa mientras el módem esperaba que se devolviera el ACK, agregando el requisito de que el sistema necesitaba algo de memoria para rastrear si se recibió o no un ACK dentro de un período de tiempo determinado. Dado que se redujo el retardo entre paquetes, solo quedó la sobrecarga del CRC, lo que mejoró el rendimiento a aproximadamente un 84%. [6]
MNP 3
En uso normal, un módem puede enviar o recibir datos en cualquier momento, un modo de funcionamiento conocido como "asíncrono". El módem puede determinar la velocidad de los datos del remitente escuchando los bits que se le envían y "bloqueando" su reloj a la velocidad de los bits que se reciben. Dado que los datos pueden llegar en cualquier momento, no existe una sincronización precisa; es posible que sea necesario reajustar el reloj para las pausas cuando el usuario deja de escribir (por ejemplo).
Desafortunadamente, este tipo de decodificación de reloj no funciona a menos que haya al menos algunas transiciones entre 1 y 0 en los datos; un flujo largo de 0 o 1 no tiene transiciones, lo que hace imposible saber dónde comienzan los datos de un byte en particular . Para evitar este problema, se agregan bits de entramado adicionales a cada extremo de cada byte, típicamente un bit en cada lado conocido como "bits de inicio y parada" . Esto garantiza al menos una transición de 1 a 0 por cada byte, más que suficiente para mantener los relojes bloqueados. Sin embargo, estos bits también se expanden cada 8 bits de datos (un byte) a 10 bits, una sobrecarga del 20%.
Cuando se utiliza un protocolo de transferencia de archivos, los propios paquetes ofrecen su propio encuadre. Los paquetes siempre enviarán un flujo continuo de datos, por lo que el reloj no puede "desviarse" de la misma manera que lo haría con los datos enviados por un usuario que escribe en un teclado. Al desactivar estos bits de entramado cuando se opera en un enlace con corrección de errores, se puede eliminar ese 20% de sobrecarga.
Esto es precisamente lo que hizo MNP 3 . Después de negociar y determinar que ambos módems admitían MNP 3, los bits de entramado se desactivaron, mejorando la eficiencia general en aproximadamente un 20%. Esto compensa casi perfectamente la sobrecarga del protocolo, lo que significa que cuando se usa MNP 3, un usuario puede esperar acercarse mucho al rendimiento ideal de 2400 bit / s (frente a 1900 bit / s).
MNP 4
MNP 4 fue una mejora adicional sobre MNP 3, agregando un sistema de tamaño de paquete variable al que se refirió como Ensamblaje de Paquete Adaptativo .
En el caso de MNP, la sobrecarga del sistema de paquetes era relativamente pequeña, pero incluso el CRC multibyte ocupaba un espacio que se utilizaba mejor para los datos. Generalmente, el uso de un paquete más grande solucionaría esto, porque el CRC permanece del mismo tamaño fijo y, por lo tanto, su sobrecarga relativa se reduce en comparación con la cantidad de datos. Sin embargo, cuando ocurre un error, el uso de paquetes más grandes también significa que se deben reenviar más datos. En líneas ruidosas, esto puede ralentizar el rendimiento general.
Con MNP 4, los dos módems monitorean constantemente la línea en busca de paquetes perdidos, y si se cruza un cierto umbral (seleccionado por el usuario), el módem regresa a un tamaño de paquete más pequeño. Esto significa que cuando se descarta un paquete, la cantidad de datos que se deben reenviar es menor, lo que conduce a un mejor rendimiento. En líneas de buena calidad, el uso de paquetes más grandes significa que se reduce la sobrecarga del CRC. Los paquetes podían tener entre 64 y 256 bytes y permitían al usuario forzarlo a un tamaño particular si lo deseaba.
MNP 4 también introdujo la Optimización de fase de datos , un cambio simple en el protocolo que permitía descartar parte de la información de trama de paquetes después de que se estableció el enlace, lo que reduce aún más la sobrecarga del protocolo. La combinación de estas características, junto con la falta de byte-framing de MNP 3, permitió un aumento adicional en la eficiencia del rendimiento.
MNP 5
Se realizó un cambio aún más radical para MNP 5 , introduciendo la compresión de datos sobre la marcha en el módem. Con MNP 5, los datos recibidos de la computadora primero se comprimen con un algoritmo simple y luego se pasan al sistema de empaquetado MNP 4 para su transmisión. En el mejor de los casos, el sistema ofrecía una compresión de aproximadamente 2: 1, pero en términos generales, aproximadamente 1,6: 1 era típico, al menos en el texto. Como resultado, parecería que un módem de 2400 bit / s transfiere texto a ~ 4000 bit / s.
Este espectacular aumento en el rendimiento permitió que los módems de Microcom siguieran siendo algo competitivos con los modelos de otras empresas que, de otro modo, eran nominalmente mucho más rápidos. Por ejemplo, Microcom generalmente producía módems de 1200 y 2400 bit / s utilizando componentes básicos, mientras que empresas como USRobotics y Telebit ofrecían modelos con velocidades de hasta 19200 bit / s.
Sin embargo, esta mejora en el rendimiento solo estaba disponible si los módems en ambos extremos admitían MNP. Eso hizo que el sistema solo fuera realmente atractivo para los sitios que instalaban los módems en ambos extremos de los enlaces; para los servicios de acceso telefónico como los sistemas de tablones de anuncios (BBS) no había ninguna razón de peso para utilizar un dispositivo Microcom cuando era poco probable que el usuario final tuviera uno. Incluso en los casos en los que el usuario tenía el control de ambos extremos del enlace, los módems "patentados" de Microcom eran menos interesantes que los modelos de otras empresas que ofrecían rendimientos del "mundo real" mucho más altos.
Con el fin de crear un mercado para los módems Microcom, comenzando con MNP 5, dieron el paso radical de licenciar todo el paquete de MNP de forma gratuita. La idea era que esto aumentaría drásticamente el número de módems con MNP instalados, haciendo más atractivos los módems Microcom "reales". Además, los estándares más nuevos con un rendimiento mejorado ofrecerían un rendimiento aún mejor cuando hubiera un módem Microcom en ambos extremos del enlace.
Desafortunadamente, el plan fracasó. La introducción del sistema de compresión LAPM muy mejorado en el estándar v.42bis superó los propios avances de Microcom, diluyendo el valor de un modelo de Microcom "real" casi a cero. Utilizando la versión 42bis y componentes básicos, pronto estuvo disponible una gran cantidad de módems de bajo costo con un rendimiento aún mejor que los de Microcom. Aunque Microcom continuó introduciendo estándares más nuevos, fueron ignorados en gran medida y Microcom dejó de ser una fuerza en el mercado.
MNP 6
La introducción de la v.32 condujo a una serie de módems estándar de 9600 bit / s, casi todos los cuales ofrecían MNP 5. Para diferenciarse aún más de lo que se estaba convirtiendo en un mercado de productos básicos (aunque no realmente así hasta la introducción de la v. 32bis SupraFAXModem 14400 en 1991), Microcom creó MNP 6 .
La característica principal de MNP 6 era el dúplex estadístico , que podía dedicar más o menos ancho de banda a un lado u otro del enlace del módem. Por ejemplo, si una máquina estaba enviando un archivo grande, el otro extremo solo enviaría una pequeña cantidad de información, los mensajes ACK y NAK. En este caso, los módems darían la mayor cantidad de canal posible al remitente, ofreciendo un ancho de banda unidireccional de hasta 19.200 bit / s. En realidad, esto no requirió ningún cambio en el sistema de modulación: normalmente un módem de 9600 bit / s tenía un canal completo de 9600 bit / s en ambas direcciones, para un total de 19200 bit / s; MNP 6 simplemente permitió que más o menos de ese ancho de banda se diera a un lado o al otro, en lugar de dejarlo fijo en 9600 en ambos sentidos.
Este concepto básico ya se utilizaba ampliamente en la industria, habiendo formado la base para el protocolo Express 96 de Hayes , el PEP de HST Telebit de USRobotics y (brevemente) el SpeedModem de CompuCom . A todos estos estándares les resultó muy difícil sobrevivir en el mercado dominado por la versión 32bis y, al igual que ellos, el MNP 6 fue ignorado en gran medida.
Una adición menos notable a MNP 6 fue la negociación de enlace universal . Con la introducción de modos de modulación adicionales, en particular la v.32 y adiciones posteriores, los módems en ambos extremos del enlace tuvieron que dedicar una cantidad de tiempo cada vez mayor a negociar un estándar común. Por ejemplo, un módem v.32bis primero enviaría tonos a la línea para intentar obtener un enlace 14.4; si fallaba después de un tiempo, intentaría 9600, 2400 y finalmente 1200 bit / s. Dado que cada uno de estos estándares definió un período mínimo de tiempo para "probar" un enlace, el retraso aumentó a más de 10 segundos.
ULN evitó este retraso negociando siempre el enlace a 2400 bit / s sin la corrección de errores activada. Aunque esto eliminó la compatibilidad con los módems más antiguos de 1200 bit / s, en este momento eran extremadamente raros. Una vez que se realizó la conexión, lo que ocurrió rápidamente, ambos módems enviaron una pequeña cadena de identificación al módem remoto. Luego, ambos módems examinaron la cadena y seleccionaron el modo común más rápido. La persona que llama luego renegoció una vez a esa velocidad más alta.
MNP 7
MNP 7 introdujo nuevos algoritmos de compresión con una supuesta mejora de la compresión 3: 1 en archivos de texto. Sin embargo, cuando se introdujo MNP 7, el estándar v.42bis ofrecía compresión 4: 1.
MNP 9
MNP 9 (aparentemente no se lanzó 8) mejoró la Detección de enlace universal para agregar nuevos modos de alta velocidad, pero por lo demás era idéntico a MNP 7.
MNP 10
MNP 10 introdujo un nuevo protocolo de corrección de errores diseñado específicamente para funcionar bien en las ruidosas líneas telefónicas ampliamente utilizadas en Europa del Este. A diferencia de versiones anteriores como MNP 4, MNP 10 monitoreaba constantemente la calidad de la línea y ajustaba el tamaño del paquete de respaldo si las condiciones mejoraban.
En 1991, Microcom otorgó la licencia MNP 10 a Rockwell International para su uso en sus conjuntos de chips de módem extremadamente populares. Dado que casi todos los módems, con la excepción de los modelos de USR, utilizaron el conjunto de chips Rockwell desde aproximadamente 1995, MNP 10 se implementó bastante ampliamente (si no se usó). USR eventualmente agregó MNP 10 a sus módems de la serie V.everything, haciéndolo efectivamente universal.
MNP 10 se expandió más tarde a MNP 10EC , la sigla "EC" de "Extended Cellular". Se trataba de una serie de modificaciones que permitieron a MNP 10 lidiar con las pausas de transmisión cuando un teléfono celular se mueve de una celda a otra, lo que normalmente se interpretaría como errores en la línea. Usando MNP 10EC, estas pausas se identifican correctamente como "no errores" y la velocidad del enlace sigue siendo mayor. Su éxito llevó a que el competidor creado Paradyne-AT & T, ETC .
MNP 10EC fue particularmente atractivo en el papel celular debido a la inclusión del método de negociación de enlace ULN introducido originalmente en MNP 6 (y mejorado en MNP 9). En una red celular donde se factura todo el tiempo de transmisión, la configuración más rápida ahorró dinero. El MNP 10EC tenía una vida útil limitada, ya que las redes celulares recurrieron a una variedad de sistemas totalmente digitales que ya no requerían un módem para conectarse a una computadora.
Ver también
- X.PC
- YModem
- ZModem
- BLAST (protocolo)
- Kermit (protocolo)
Referencias
- ^ Janssen, Cory. "¿Qué es el Protocolo de red de Microcom (MNP)" . techopedia.com . Consultado el 14 de abril de 2014 .
- ^ Erik Sandberg-Diment (8 de septiembre de 1985). "Cuando las computadoras necesitan charlar" . The New York Times .
- ^ Peter H. Lewis (10 de abril de 1988). "Un camino solitario para un fabricante de módem" . The New York Times .
- ^ a b c d e T-REC-V42 (Informe técnico).
- ^ "Estándares de telecomunicaciones, Protocolo de redes Microcom" . IBM Corp . Consultado el 14 de abril de 2014 .
- ^ Durda, Frank.