Synchronous Data Link Control ( SDLC) - это протокол компьютерной связи. Это протокол уровня 2 для системной сетевой архитектуры IBM (SNA). SDLC поддерживает многоточечные ссылки, а также исправление ошибок. Он также работает в предположении, что заголовок SNA присутствует после заголовка SDLC. SDLC в основном использовался IBM для мэйнфреймов и систем среднего уровня; однако реализации существуют на многих платформах от многих поставщиков. Использование SDLC (и SNA) становится все более редким, в основном заменяется протоколами на основе IP или туннелируется через IP (с использованием AnyNet или других технологий). В США SDLC можно найти в шкафах управления дорожным движением.
В 1975 году IBM разработала первый бит-ориентированный протокол, SDLC, на основе работы, проделанной для IBM в начале 1970-х годов. Этот стандарт де-факто был принят ISO как высокоуровневое управление каналом передачи данных (HDLC) в 1979 году и ANSI как усовершенствованные процедуры управления передачей данных (ADCCP). Последние стандарты добавили такие функции, как асинхронный сбалансированный режим, размеры кадра, которые не должны были быть кратными бит-октетам, но также удалили некоторые процедуры и сообщения (например, сообщение TEST).
SDLC работает независимо на каждом канале связи и может работать в двухточечных многоточечных или кольцевых средствах, в коммутируемых или выделенных, двух- или четырехпроводных каналах, а также в полнодуплексном и полудуплексном режимах. Уникальной характеристикой SDLC является его способность смешивать полудуплексные вторичные станции с полнодуплексными первичными станциями в четырехпроводных цепях, тем самым снижая стоимость выделенных средств.
Intel использовала SDLC в качестве базового протокола для BITBUS, все еще популярного в Европе как fieldbus, и включила поддержку в несколько контроллеров (i8044 / i8344, i80152). Контроллер 8044 все еще производится сторонними поставщиками. Другие поставщики, добавляющие аппаратную поддержку SDLC (и немного другой HDLC) в микросхемы коммуникационных контроллеров в 1980-х годах, включали Zilog, Motorola и National Semiconductor. В результате в 1980-х годах он использовался в широком спектре оборудования, и это было очень распространено в корпоративных сетях, ориентированных на мэйнфреймы, что было нормой в 1980-х. Наиболее распространенными альтернативами для SNA с SDLC были, вероятно, DECnet с протоколом передачи сообщений цифровых данных (DDCMP), сетевая архитектура Burroughs (BNA) с контролем канала передачи данных Burroughs (BDLC) и ARPANET с IMP.
HDLC в основном является расширением SDLC, но некоторые функции были удалены или переименованы.
Функции, присутствующие в HDLC, но не в SDLC:
Также в SDLC отсутствуют более поздние расширения HDLC в ISO / IEC 13239, такие как:
HDLC переименовал некоторые кадры SDLC. Имена HDLC были включены в более поздние версии SDLC:
Оригинальное название | Новое имя | ||
---|---|---|---|
АНБ | Непоследовательное подтверждение | UA | Ненумерованное подтверждение |
NSI | Неследующая информация | UI | Ненумерованная информация |
NSP | Несвязанный опрос | ВВЕРХ | Ненумерованный опрос |
ROL | Запрос онлайн | DM | Отключенный режим |
CMDR | Команда отклонить | FRMR | Отклонение кадра |
RQI | Запросить режим инициализации | RIM | Запросить режим инициализации |
RQD | Запросить отключение | RD | Запросить отключение |
Некоторые функции были добавлены в HDLC и впоследствии добавлены обратно в более поздние версии SDLC.
Два U-кадра в SDLC, которых нет в HDLC:
Некоторые U-кадры почти полностью не используются в HDLC, они существуют в основном для совместимости с SDLC:
Кадр TEST U не был включен в ранние стандарты HDLC, но был добавлен позже.
Специальным режимом работы SDLC, который поддерживается, например, Zilog SCC, но не встроен в HDLC, является режим петли SDLC. В этом режиме первичный и несколько вторичных подключены в однонаправленную кольцевую сеть, при этом выход передачи каждого из них подключен к входу приема следующего. Каждый вторичный отвечает за копирование всех кадров, которые поступают на его вход, чтобы они достигли остальной части кольца и в конечном итоге вернулись к первичному. За исключением этого копирования, вторичный работает в полудуплексном режиме; он передает только тогда, когда протокол гарантирует, что он не получит входных данных.
Когда вторичная обмотка отключена, реле подключает свой вход напрямую к своему выходу. При включении вторичный ожидает подходящего момента, а затем переходит в цикл, вставляя себя в поток данных с задержкой в один бит. Аналогичная возможность используется для выхода из цикла в рамках чистого завершения работы.
В режиме цикла SDLC кадры прибывают в группу, оканчиваясь (после последнего флага) сигналом бездействия «все единицы». Первые семь 1-битов этого (шаблон 01111111) составляют последовательность «разрешения» (также называемую EOP, конец опроса), дающую вторичное разрешение на передачу. Вторичный сервер, который хочет передать, использует свою 1-битную задержку для преобразования последнего 1 бита в этой последовательности в бит 0, что делает его символом флага, а затем передает свои собственные кадры. После своего последнего флага он передает сигнал бездействия «все единицы», который будет служить сигналом для следующей станции в шлейфе.
Группа начинается с команд от основного, и каждый дополнительный добавляет свои ответы. Когда первичный получает последовательность холостого хода, он знает, что вторичные компоненты завершены, и может передать больше команд.
Ответ маяка (BCN) предназначен для помощи в обнаружении разрывов в петле. Вторичный сервер, который долгое время не видит никакого входящего трафика, начинает посылать кадры ответа «маяка», сообщая первичному серверу, что связь между вторичным сервером и его предшественником разорвана.
Поскольку первичный сервер также получает копии отправленных им команд, которые неотличимы от ответов, он добавляет специальный «поворотный» фрейм в конце своих команд, чтобы отделить их от ответов. Подойдет любая уникальная последовательность, которая не будет интерпретироваться вторичными объектами, но обычная последовательность представляет собой единственный байт с нулевым значением. Это «короткий кадр» с адресом 0 (зарезервирован, не используется) и без поля управления или последовательности проверки кадра. (Вторичные устройства, способные работать в дуплексном режиме, также интерпретируют это как «последовательность отключения», вынуждая их прервать передачу.)
Все коммуникации внутри блока контроллера УВД должны осуществляться по протоколу «команда-ответ», совместимому с SDLC, поддерживать вставку 0 бит и работать со скоростью передачи данных 614,4 килобит в секунду.