Открыть сервис

Binary Synchronous Communication

Binary Synchronous Communication (BSC, двоичная синхронная связь) — это протокол канального уровня передачи данных, разработанный корпорацией IBM в конце 1960-х годов. BSC (также известный как Bisync) предназначен для синхронной передачи двоичных данных между двумя устройствами, обычно компьютером и периферийным оборудованием (например, принтером, терминалом или другим компьютером). Протокол использует синхронизацию по времени, а не по стартовым и стоповым битам, что позволяет достигать более высокой скорости передачи по сравнению с асинхронными протоколами того времени.

История

Разработка BSC началась в IBM в 1966 году как ответ на потребность в стандартизированном протоколе для связи с терминалами и периферийными устройствами в рамках систем IBM System/360. До этого IBM использовала проприетарные, часто несовместимые протоколы для разных устройств. BSC был впервые представлен в 1968 году и стал одним из первых широко распространённых протоколов синхронной передачи данных.

Протокол был разработан для работы по выделенным и коммутируемым линиям связи, включая телефонные линии, и поддерживал полудуплексный режим (передача данных в одном направлении за раз). BSC активно использовался в 1970-х и 1980-х годах в системах IBM, таких как мейнфреймы System/370, и в сетях с архитектурой SNA (Systems Network Architecture). Однако с появлением более эффективных протоколов, таких как HDLC (High-Level Data Link Control) и SDLC (Synchronous Data Link Control), а также с развитием пакетной коммутации и сетей Ethernet, использование BSC постепенно сократилось. К началу 1990-х годов он был в значительной степени вытеснен, хотя в некоторых устаревших системах продолжал использоваться вплоть до 2000-х годов.

Принцип работы

BSC работает на канальном уровне модели OSI (уровень 2) и обеспечивает синхронизацию, обнаружение ошибок и управление потоком данных. Основные особенности протокола:

  • Синхронизация: Передача данных осуществляется синхронно — биты передаются с фиксированной частотой, задаваемой тактовым генератором. Для синхронизации приёмника и передатчика используются специальные синхросимволы (SYN), которые передаются в начале каждого кадра.
  • Кадрирование: Данные группируются в блоки (кадры) фиксированной или переменной длины. Каждый кадр начинается с одного или нескольких синхросимволов (SYN), за которыми следует заголовок, поле данных и контрольная последовательность кадра (FCS).
  • Обнаружение ошибок: Для обнаружения ошибок используется циклический избыточный код (CRC) — обычно 16-битный полином CRC-16. Если приёмник обнаруживает ошибку, он отправляет запрос на повторную передачу (NAK).
  • Управление потоком: BSC использует полудуплексный режим — устройства поочерёдно передают и принимают данные. Для управления потоком применяются символы подтверждения (ACK) и отрицательного подтверждения (NAK).
  • Кодирование: Данные передаются в двоичном виде, но протокол поддерживает несколько кодировок, включая EBCDIC (Extended Binary Coded Decimal Interchange Code) и ASCII (American Standard Code for Information Interchange).

Структура кадра BSC

Кадр BSC состоит из следующих полей:

  1. Синхросимволы (SYN): Один или два байта (16 бит) для синхронизации. Обычно используется значение 0x16 (в EBCDIC) или 0x32 (в ASCII).
  2. Заголовок: Содержит управляющую информацию, такую как адрес получателя, тип кадра (данные, управление) и номер последовательности.
  3. Поле данных: Переменной длины (от 0 до нескольких тысяч байт). Максимальный размер поля данных обычно ограничен 256 или 512 байтами, но может быть увеличен до 4096 байт в некоторых реализациях.
  4. Контрольная последовательность кадра (FCS): 16-битный CRC, вычисляемый по заголовку и полю данных.
  5. Завершающий символ: Обычно символ ETX (End of Text) или ETB (End of Transmission Block) для обозначения конца кадра.

Классификация и режимы работы

BSC поддерживает несколько режимов работы, которые определяются типом передаваемых данных и используемыми управляющими символами:

  • Прозрачный режим (Transparent Mode): Используется для передачи двоичных данных (например, файлов или изображений), которые могут содержать символы, совпадающие с управляющими символами протокола. В этом режиме перед каждым байтом данных, который может быть ошибочно интерпретирован как управляющий, вставляется специальный символ DLE (Data Link Escape).
  • Непрозрачный режим (Non-Transparent Mode): Используется для передачи текстовых данных (например, в кодировке EBCDIC или ASCII), где управляющие символы не встречаются в данных. Этот режим проще, но менее надёжен для двоичных данных.
  • Режим с контролем по блокам (Block Check Mode): Включает вычисление и проверку CRC для каждого блока данных. Ошибки обнаруживаются и исправляются путём повторной передачи.
  • Режим без контроля (No Check Mode): Используется редко, так как не обеспечивает обнаружения ошибок.

Применение

BSC в основном применялся в системах IBM для связи с удалёнными терминалами, принтерами, кассовыми аппаратами и другими периферийными устройствами. Основные области применения:

  • Терминальные системы: BSC использовался для подключения терминалов IBM 3270 к мейнфреймам. Терминалы работали в режиме «блок-режим», когда данные передавались блоками после заполнения экрана.
  • Передача файлов: Протокол применялся для передачи файлов между компьютерами, особенно в системах с архитектурой SNA. Например, в программе IND$FILE (IBM Network Data Mover) для передачи файлов между мейнфреймами и ПК.
  • Связь с периферией: BSC использовался для подключения принтеров (например, IBM 1403), считывателей перфокарт и других устройств, где требовалась синхронная передача данных.
  • Банковские системы: В 1970-х и 1980-х годах BSC применялся в банковских терминалах и системах электронных платежей, таких как IBM 3600 Finance Communication System.

Преимущества и недостатки

Преимущества

  • Скорость: BSC обеспечивал более высокую скорость передачи (до 9600 бит/с и выше) по сравнению с асинхронными протоколами, такими как RS-232, которые были ограничены скоростями до 1200 бит/с.
  • Надёжность: Использование CRC и механизма повторной передачи (ACK/NAK) обеспечивало высокую надёжность передачи данных.
  • Стандартизация: BSC был одним из первых стандартизированных протоколов IBM, что упрощало интеграцию различных устройств.

Недостатки

  • Полудуплексный режим: BSC работал только в полудуплексном режиме, что снижало эффективность использования канала связи по сравнению с полнодуплексными протоколами.
  • Сложность реализации: Протокол требовал точной синхронизации и поддержки специальных управляющих символов, что усложняло реализацию в программном обеспечении.
  • Ограничения по размеру кадра: Максимальный размер поля данных был ограничен, что приводило к фрагментации больших файлов и увеличению накладных расходов.
  • Отсутствие адресации: BSC не поддерживал адресацию множества устройств на одной линии, что ограничивало его применение в сетях с несколькими узлами.

Влияние и наследие

BSC оказал значительное влияние на развитие протоколов канального уровня. Его принципы — синхронизация, кадрирование, обнаружение ошибок с помощью CRC и управление потоком — были заимствованы и усовершенствованы в более поздних протоколах, таких как SDLC (Synchronous Data Link Control) и HDLC. SDLC, разработанный IBM в 1974 году, стал основой для архитектуры SNA и заменил BSC в большинстве приложений.

Несмотря на то, что BSC считается устаревшим, он остаётся важной частью истории вычислительной техники. В некоторых устаревших системах, особенно в промышленности и банковском секторе, BSC продолжал использоваться до 2010-х годов, пока не был полностью заменён современными протоколами, такими как TCP/IP и Ethernet.

Источники

  • IBM Corporation. IBM Binary Synchronous Communication (BSC) Reference Manual. IBM, 1972.
  • Tanenbaum, Andrew S. Computer Networks. 5th ed., Prentice Hall, 2010.
  • Stallings, William. Data and Computer Communications. 10th ed., Pearson, 2013.
  • «Binary Synchronous Communication». IBM Knowledge Center, IBM, 2020.
  • «BSC (Binary Synchronous Communication)». Techopedia, 2019.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →