stringtranslate.com

protocolo B

El protocolo B , o CIS B , es un protocolo de transferencia de archivos desarrollado para CompuServe Information Service e implementado en 1981. El protocolo se amplió posteriormente en la versión QuickB (que era una versión asíncrona del protocolo estándar) y más tarde en la versión B mejorada. Versión plus . Era un protocolo bastante avanzado para su época, que también admitía transferencias eficientes de archivos, comandos y otros datos, y podía usarse en ambas direcciones al mismo tiempo en ciertos modos. Estas funciones avanzadas no se utilizaron ampliamente, pero se podían encontrar en una pequeña cantidad de paquetes del lado del cliente.

Dado que el protocolo B fue diseñado sólo para funcionar dentro de CompuServe, la mayoría de los clientes de comunicaciones de terceros de la época no eran compatibles con él. Las excepciones notables fueron Tera Term y ProComm Plus de Datastorm en PC, que presentaba la capacidad de escuchar el comando en el puerto de comunicaciones activo, y ZTerm en Mac, que permitía transferencias de inicio automático. Este desarrollo fue parte de una tendencia más amplia de utilizar aplicaciones de comunicaciones externas junto con servicios en línea.Enquire

Descripción

La versión original del Protocolo B fue una consecuencia de un protocolo bidireccional anterior introducido en 1979, que agregaba opciones para incluir una estructura de comando estandarizada en la secuencia. Este protocolo estaba destinado a ser utilizado por una terminal en línea personalizada construida por Tandy , "AgVision" o "VideoTex", pero este proyecto fue abandonado después de venderse solo por un breve período. El sistema AgVision, sin el módem , se convirtió en la base de la computadora en color TRS-80 .

Posteriormente el protocolo se amplió en la versión B Plus, aunque hubo dos revisiones de esta versión. B Plus centró el concepto general principalmente en admitir descargas desde CompuServe, en lugar de transferencias de usuario a usuario. La siguiente descripción se basa en la documentación de B Plus y no se refiere explícitamente al B anterior (y raro).

Estructura del paquete

B Plus es un protocolo de ventana deslizante con paquetes de tamaño variable entre 128 y 2048 bytes y ventanas de uno o dos paquetes. La adición de tamaños de bloques de 1k y 2k y ventanas corredizas fueron los principales cambios en la estructura entre B y B Plus. Todos los caracteres de control potencialmente problemáticos siempre se citaban , un requisito porque muchas personas accedían a CompuServe a través de servicios de paquetes que no eran de 8 bits, como Tymnet . B Plus también utilizó cualquiera de los cuatro tipos de verificación de errores.

La estructura básica del paquete constaba de cinco partes:

La introducción tiene el mismo propósito que el "encabezado" en la mayoría de los protocolos, indicando que los datos siguientes son un paquete B Plus. El número de secuencia es una forma sencilla de garantizar que los paquetes se reciban en el orden correcto en el momento de la recepción. El pequeño rango de números utilizado no presenta un problema porque los paquetes, incluso "uno fuera de servicio", provocarán un reenvío o una cancelación, por lo que no hay posibilidad de que se reciba el "0x30 incorrecto" diez paquetes después.

Los personajes del cuerpo o del tráiler están "citados". Oficialmente sólo se citan unos pocos caracteres, <ETX>, <ENQ>, <DLE>, <DC1>(XON), <DC3>(XOFF) y NAK. Normalmente también se citan otros tres caracteres: <RS>+ <DC1>0x80 y <DC3>+ 0x80. Los caracteres se citan agregando 0x40 a su valor ordinal y anteponiéndolos con el <DLE>carácter. Por ejemplo, el <ETX>carácter (0x03) se enviaría como <DLE>C.

El valor de verificación fue citado, al igual que el contenido con el que se comparó, pero el valor dentro era la verificación de los valores no entrecomillados . Eso significa que el cuerpo tuvo que extraerse y eliminarse antes de que se pudiera calcular el valor del cheque en el extremo receptor. Se permitieron cuatro tipos de valores de verificación, la suma de verificación XMODEM original , una versión ligeramente modificada de la verificación de redundancia cíclica (CRC) utilizada en XMODEM-CRC , o el CCITT CRC-16 o CRC-32. Al utilizar CCITT CRC, el tráiler también incluía un carácter opcional al final como "interrupción de red" (enviar ahora), aunque no está claro por qué esto no era compatible con otros tipos de tráiler.<RS>

Tipos de paquetes

B Plus definió varios tipos de paquetes diferentes, a diferencia de la mayoría de los protocolos que incluían solo uno. Estos paquetes se utilizaron tanto para la transferencia de datos como para la entrega segura de comandos e información de configuración de protocolos. Los cuatro tipos fueron:

Los paquetes más comunes, en términos de número total transferido, son paquetes T que transportan los datos para la transferencia de un archivo. Estos paquetes no tienen más valor semántico y están formateados como se describe anteriormente. Los paquetes T también incluyen "subtipos", Tr para "resumen de transferencia", TF para "fallo de transferencia" si el currículum no coincide con el archivo parcialmente descargado, y TI para "información de transferencia", que envía detalles sobre el archivo que se está transfiriendo. La mayoría de los protocolos enviaban información de archivos como un "paquete cero" especial en el propio flujo de transferencia, mientras que en B Plus esto se manejaba mediante un tipo de paquete separado y efectivamente fuera del propio flujo de transferencia, aunque no había una diferencia real en la práctica.

El paquete de falla permite al remitente indicar varios problemas dentro del flujo de paquetes. El paquete normalmente contiene un único carácter "conocido", pero también puede incluir un mensaje informativo después de este carácter. El paquete de falla más común es el A (bort), que permite al usuario finalizar las transferencias cuando lo solicite. Otras fallas incluyeron falla de capacidad (C) (falta de espacio en disco) y archivo faltante (M), entre otras.

Los parámetros de transporte normalmente se enviaban solo una vez, durante la fase de conexión inicial. Este paquete contenía una serie de detalles en un formato conocido que sincronizaba qué funciones eran capaces de utilizar ambos extremos de la conexión. Fue durante esta fase que se seleccionó el tipo de Valor de Cheque, por ejemplo.

Capa de transporte

Además de los tipos de paquetes normales descritos anteriormente, B Plus también incluía tipos separados para enviar comandos a CIS a través de la capa de corrección de errores de B Plus. El paquete M era un paquete de datos único, mientras que L también era un paquete de datos pero indicaba que el flujo de datos ya estaba completo. Esto tenía que indicarse de esta manera porque, a diferencia de una transferencia de archivos, la cantidad de datos que se envían no se conoce de antemano.

El contenido de estos paquetes era de formato libre y no estaba definido en la propia documentación de B Plus. Sin embargo, el concepto básico era que el programa terminal del usuario respondería a la secuencia de interrogación de CIS (enviada cuando el usuario inició sesión por primera vez) iniciando una transferencia con el tipo M. Este flujo se usaría para enviar comandos al host CIS, que respondería abriendo otro flujo de capa de transporte de regreso al programa terminal. Estas transmisiones eran "sin secuencia" y se leían en el orden en que fueron recibidas. Los paquetes de errores o fallas provocaron que ambos canales abortaran.

Posiblemente el único usuario de la capa de transporte era la propia API Host-Micro Interface (HMI) de CompuServe . HMI definió una serie de comandos que podrían usarse para controlar CIS, junto con las posibles respuestas a ellos, sin pasar por la interfaz de línea de comandos . Dado que la corrección de errores se estaba utilizando como efecto secundario de la construcción en B Plus, básicamente se eliminó la posibilidad de interpretar incorrectamente los comandos o respuestas potencialmente confusas. CIS amplió la HMI para permitir el control de la mayor parte de la interfaz orientada a lotes, incluidas funciones para correo electrónico, conferencias y transferencias de archivos.

Los flujos de la capa de transporte no podían tener lugar al mismo tiempo que las transferencias de archivos, por lo que, en términos generales, las aplicaciones que usaban la capa de transporte eran bastante modales. Por ejemplo, CIS Navigator para Mac , que estaba basado en HMI, permitía a los usuarios navegar por CIS sin conexión, configurando varias transferencias de correo electrónico y archivos que luego se llevarían a cabo en un solo lote para reducir el tiempo en línea. El último paso de la "ejecución" del Navegador sería descargar archivos antes de cerrar sesión.

Secuencias de control

Todos los protocolos utilizan el "canal de retorno" para enviar información de estado desde el "receptor" al "remitente". B Plus formalizó este sistema, definiendo varios "mensajes" que podrían enviarse fuera de la estructura del paquete. Estos incluían el típico DLEseguido de un número de secuencia para acusar recibo de la correcta recepción de un paquete. NAKse usó para indicar un paquete recibido incorrectamente, al que se respondió con mensajes de reconocimiento, <DLE><DLE>. <DLE>;detuvo el remitente, mientras <DLE>+abortaba la transmisión.

La secuencia de control Consultar parece exclusiva de B Plus. El Inquire, que consta de un solo <ENQ>, se utilizaba tanto para iniciar transferencias como para reiniciar después de recibir un NAK. En ambos casos, la Consulta hizo que el receptor restableciera su modo de conexión a la configuración de transferencia más básica posible y se preparara para una transferencia.

Ver también

Referencias

Una versión comprimida en zip de este documento está disponible como bplus.zip.