La comunicación binaria síncrona ( BSC o Bisync ) es un protocolo de enlace semidúplex orientado a caracteres de IBM , anunciado en 1967 después de la introducción del System/360 . Reemplazó al protocolo de transmisión-recepción síncrona (STR) utilizado en las computadoras de segunda generación. La intención era que se pudieran utilizar reglas de gestión de enlaces comunes con tres codificaciones de caracteres diferentes para los mensajes.
El transcodificador de seis bits miraba hacia atrás, hacia los sistemas más antiguos; el USASCII con 128 caracteres y el EBCDIC con 256 caracteres miraban hacia adelante. El transcodificador desapareció muy rápidamente, pero los dialectos EBCDIC y USASCII de Bisync continuaron en uso.
En un momento, Bisync fue el protocolo de comunicaciones más utilizado [1] y todavía se usa de forma limitada en 2013. [2] [3]
Bisync se diferencia de los protocolos que lo sucedieron en la complejidad del encuadre de los mensajes. Los protocolos posteriores utilizan un único esquema de encuadre para todos los mensajes enviados por el protocolo. HDLC , Protocolo de mensajes de comunicación de datos digitales (DDCMP), Protocolo punto a punto (PPP), etc. tienen cada uno diferentes esquemas de encuadre, pero solo existe un formato de encuadre dentro de un protocolo específico. Bisync tiene cinco formatos de encuadre diferentes. [ cita requerida ]
ACK0 y ACK1 (confirmación de confirmación par/impar) se codifican como dos caracteres: DLE '70'x y DLE / para EBCDIC, DLE 0 y DLE 1 para USASCII, DLE - y DLE T para transcodificación. WABT (esperar antes de transmitir) se codifica como DLE ", DLE ? o DLE W.
Todos los formatos de trama comienzan con al menos dos bytes SYN . La forma binaria del byte SYN tiene la propiedad de que ninguna rotación del byte es igual a la original. Esto permite al receptor encontrar el comienzo de una trama buscando el patrón SYN en el flujo de bits recibido. Cuando lo encuentra, se ha logrado una sincronización de bytes tentativa. Si el siguiente carácter también es un SYN, se ha logrado la sincronización de caracteres. El receptor busca entonces un carácter que pueda iniciar una trama. Los caracteres fuera de este conjunto se describen como "gráficos principales". A veces se utilizan para identificar al remitente de una trama. Los mensajes largos tienen bytes SYN insertados aproximadamente cada segundo para mantener la sincronización. El receptor los ignora.
Un carácter de fin de bloque normal (ETB o ETX) va seguido de una suma de comprobación (carácter de comprobación de bloque o BCC). Para USASCII, se trata de una comprobación de redundancia longitudinal (LRC) de un carácter; para Transcode y EBCDIC, la suma de comprobación es una comprobación de redundancia cíclica (CRC) de dos caracteres. Una trama de datos puede contener una suma de comprobación intermedia precedida por un carácter ITB. Esta capacidad de incluir sumas de comprobación intermedias en una trama de datos larga permite una mejora considerable de la probabilidad de detección de errores. Los caracteres USASCII también se transmiten utilizando paridad impar para una comprobación adicional.
Se requieren caracteres de relleno después de un cambio de línea: NAK, EOT, ENQ, ACK0, ACK1. Si la transmisión termina con EOT o ETX, el relleno sigue al BCC. Este relleno está formado por todos los bits "1" o por bits "0" y "1" alternados. La siguiente transmisión comienza con un carácter de relleno que puede ser cualquiera de los anteriores o un SYN.
Un encabezado opcional que contiene información de control puede preceder a los datos en un marco. El contenido del encabezado no está definido por el protocolo, sino para cada dispositivo específico. El encabezado, si está presente, está precedido por un carácter SOH (inicio de encabezado) y seguido por un STX (inicio de texto). [4]
Los datos de texto normalmente siguen al encabezado, comenzado por STX y terminado por ETX (fin del texto) o ETB (fin del bloque de transmisión).
Las tramas de datos normales no permiten que aparezcan determinados caracteres en los datos. Se trata de los caracteres de fin de bloque: ETB, ETX y ENQ y los caracteres ITB y SYN. Por tanto, la cantidad de caracteres únicos que se pueden transmitir está limitada a 59 para Transcode, 123 para USASCII o 251 para EBCDIC.
El enmarcado de datos transparente proporciona un alfabeto sin restricciones de 64, 128 o 256 caracteres. En el modo transparente, los caracteres de enmarcado de bloques como ETB, ETX y SYN están precedidos por un carácter DLE para indicar su importancia de control (el carácter DLE en sí está representado por la secuencia DLE DLE). Esta técnica se conoció como relleno de caracteres, por analogía con el relleno de bits .
El protocolo de control de enlace es similar a STR. Los diseñadores intentaron brindar protección contra errores de transmisión simples. El protocolo requiere que cada mensaje sea reconocido (ACK0/ACK1) o reconocido negativamente (NAK), por lo que la transmisión de paquetes pequeños tiene una alta sobrecarga de transmisión. El protocolo puede recuperarse de una trama de datos dañada, una trama de datos perdida y una confirmación perdida.
La recuperación de errores se realiza mediante la retransmisión del marco dañado. Dado que los paquetes de datos Bisync no tienen números de serie, se considera posible que un marco de datos se pierda sin que el receptor se dé cuenta. Por lo tanto, se utilizan ACK0 y ACK1 alternos; si el transmisor recibe el ACK incorrecto, puede asumir que se perdió un paquete de datos (o un ACK). Una falla potencial es que la corrupción de ACK0 en ACK1 podría dar como resultado la duplicación de un marco de datos.
La protección contra errores para ACK0 y ACK1 es débil. La distancia de Hamming entre los dos mensajes es de solo dos bits.
El protocolo es half-duplex (2 hilos). En este entorno, los paquetes o tramas de transmisión son estrictamente unidireccionales, lo que requiere un "cambio de dirección" incluso para los fines más simples, como los reconocimientos. El cambio de dirección implica
En un entorno de dos cables, esto provoca un retraso notable en el viaje de ida y vuelta y reduce el rendimiento.
Algunos conjuntos de datos admiten el funcionamiento en dúplex completo , y el dúplex completo (4 cables) se puede utilizar en muchas circunstancias para mejorar el rendimiento al eliminar el tiempo de respuesta, con el gasto adicional de la instalación y el soporte de 4 cables. En el dúplex completo típico, los paquetes de datos se transmiten a lo largo de un par de cables mientras que los acuses de recibo se devuelven a lo largo del otro.
Gran parte del tráfico Bisync es punto a punto . Las líneas punto a punto pueden utilizar opcionalmente la contención para determinar la estación maestra. En este caso, un dispositivo puede transmitir ENQ para solicitar el control. El otro dispositivo puede responder ACK0 para aceptar la solicitud y prepararse para recibir, o NAK o WABT para rechazarla. En algunos casos, es posible la conexión de un terminal a varios hosts a través de la red telefónica de discado.
El protocolo Bisync inicial se basa en el método multipunto. Una estación maestra, normalmente una computadora, puede sondear secuencialmente terminales que están conectadas a través de puentes analógicos a la misma línea de comunicación. Esto se logra enviando un mensaje que consiste únicamente en un carácter ENQ dirigido a cada dispositivo por turno. La estación seleccionada luego transmite un mensaje a la estación maestra o responde con EOT para indicar que no tiene datos para transmitir.
El propósito original de Bisync era la comunicación por lotes entre un mainframe System/360 y otro mainframe o un terminal de entrada de trabajos remotos (RJE) como IBM 2780 o IBM 3780. Los terminales RJE admiten una cantidad limitada de formatos de datos: imágenes de tarjetas perforadas que se introducen y se extraen e imágenes de líneas de impresión en el terminal. Algunos proveedores de hardware que no son IBM, como Mohawk Data Sciences, utilizaron Bisync para otros fines, como la transmisión de cinta a cinta. Un programador puede emular fácilmente un terminal RJE u otro dispositivo.
IBM ofrecía macros en lenguaje ensamblador para brindar soporte de programación. Durante la era System/360, estos métodos de acceso eran BTAM (Basic Telecommunications Access Method) y QTAM (Queued Telecommunications Access Method), que luego fue reemplazado por Telecommunications Access Method (TCAM). IBM introdujo VTAM (Virtual Telecommunications Access Method) con System/370 .
Los monitores de teleprocesamiento como CICS de IBM y software de terceros como Remote DUCS (sistema de control de unidad de visualización) y las plataformas Westi utilizaron el control de línea Bisync para comunicarse con dispositivos remotos.
La red informática académica Bitnet , junto con la conexión de redes en otras áreas geográficas, utilizó Bisync para conectar 3000 sistemas informáticos en su punto máximo.
La red financiera SWIFT utilizaba el protocolo BSC para la comunicación entre el centro regional y el servidor de la institución (banco) a través de una línea alquilada. A mediados de 1990, el BSC fue reemplazado por la infraestructura X.25 .
Algunos sistemas importantes utilizan la estructuración de datos Bisync con un protocolo de control de enlace diferente. Houston Automatic Spooling Priority (HASP) utiliza hardware semidúplex Bisync junto con su propio protocolo de control de enlace para proporcionar comunicación multiflujo de datos full-duplex entre una computadora pequeña y un mainframe que ejecuta HASP. En términos de Bisync, este es el modo conversacional .
Algunas de las primeras redes X.25 toleraban un esquema de conexión en el que las tramas de datos Bisync transparentes encapsulaban los datos LAPB y los paquetes de control de HDLC. A partir de 2012 [update], varios proveedores encapsulan las transmisiones Bisync dentro de flujos de datos TCP/IP.
Bisync comenzó a ser reemplazado en la década de 1970 por Systems Network Architecture (SNA), que permite la construcción de una red con múltiples hosts y múltiples programas mediante telecomunicaciones. X.25 y el Protocolo de Internet son protocolos posteriores que, como SNA, proporcionan más que un mero control de enlaces.
Una gran cantidad de dispositivos utilizan el protocolo Bisync, algunos de estos son:
Otros fabricantes de ordenadores ofrecían su propia variedad de protocolos orientados a bytes similares a Bisync. Algunos protocolos ampliamente utilizados incluyen el Protocolo de mensajes de comunicaciones de datos digitales de Digital Equipment Corporation , [5] y el Protocolo de sondeo y selección de Burroughs Corporation .