Введение

Протокол компьютерной связи из системной сетевой архитектуры IBM (SNA).

Synchronous Data Link Control (SDLC) — это протокол компьютерной связи. Он является протоколом второго уровня для системной сетевой архитектуры IBM (SNA). SDLC поддерживает многоточечные соединения, а также коррекцию ошибок. Он также работает, исходя из предположения, что заголовок SNA присутствует после заголовка SDLC. SDLC в основном использовался в мэйнфреймах и системах среднего класса IBM, однако существуют реализации для многих платформ от различных производителей. В США и Канаде SDLC можно встретить в шкафах управления дорожным движением. В 1975 году IBM разработала первый битоориентированный протокол SDLC на основе работ, выполненных для IBM в начале 1970-х годов. Этот де-факто стандарт был принят ISO как High Level Data Link Control (HDLC) в 1979 году.

SDLC работает независимо на каждом канале связи и может функционировать в соединениях типа «точка-точка», «многоточка» или «петля», на коммутируемых или выделенных двух- или четырехпроводных линиях, с использованием полнодуплексного и полудуплексного режимов. Уникальной особенностью SDLC является возможность смешивания полудуплексных вторичных станций с полнодуплексными первичными станциями на четырехпроводных линиях, что позволяет снизить стоимость выделенных каналов. Intel использовала SDLC в качестве базового протокола для BITBUS, который до сих пор популярен в Европе как полевая шина, и включила поддержку в несколько контроллеров (i8044/i8344, i80152). Контроллер 8044 до сих пор производится сторонними производителями. В 1980-х годах другие производители, такие как Zilog, Motorola и National Semiconductor, внедряли аппаратную поддержку SDLC (и немного отличающегося HDLC) в чипы контроллеров связи. В результате в 1980-х годах он широко использовался в различном оборудовании и был очень распространен в корпоративных сетях, ориентированных на мэйнфреймы, которые были нормой в то время. Наиболее распространенными альтернативами SNA с SDLC, вероятно, были DECnet с протоколом сообщений цифровых коммуникаций данных (DDCMP), сетевая архитектура Burroughs (BNA) с управлением связью данных Burroughs (BDLC) и ARPANET с IMP.

Различия между SDLC и HDLC

HDLC в основном является расширением SDLC, однако некоторые функции были удалены или переименованы.

Расширения HDLC добавлены в SDLC

Некоторые функции были добавлены в HDLC, а затем повторно внедрены в более поздние версии SDLC. Расширенные номера последовательности (с модулем 128) и соответствующий фрейм SNRME U были добавлены в SDLC после публикации стандарта HDLC.

Режим цикла

Особый режим работы SDLC, который поддерживается, например, Zilog SCC, но не был реализован в HDLC, – это режим кольца SDLC. В этом режиме первичная станция и несколько вторичных станций соединены в однонаправленную кольцевую сеть, при этом выход передатчика каждой станции подключен к входу приемника следующей. Каждая вторичная станция отвечает за копирование всех кадров, поступающих на ее вход, чтобы они достигли остальных станций кольца и в конечном итоге вернулись к первичной станции. За исключением этого копирования, вторичная станция работает в полудуплексном режиме; она передает данные только тогда, когда протокол гарантирует отсутствие входящих данных. При отключении вторичной станции реле соединяет ее вход непосредственно с выходом. При включении вторичная станция ожидает подходящего момента, а затем "включается в кольцо", вставляя себя в поток данных с задержкой в один бит. Аналогичный механизм используется для "выключения из кольца" при корректном завершении работы. В режиме кольца SDLC кадры поступают группами, заканчиваясь (после последнего флага) сигналом простоя, состоящим из всех единиц. Первые семь единиц этого сигнала (паттерн 01111111) образуют последовательность "начать" (также называемую EOP, конец опроса), дающую вторичной станции разрешение на передачу. Вторичная станция, желающая передать данные, использует свою задержку в один бит, чтобы преобразовать последний бит единицы в этой последовательности в ноль, превращая его в флаг, а затем передает свои собственные кадры. После своего последнего флага она передает сигнал простоя, состоящий из всех единиц, который будет служить сигналом "начать" для следующей станции в кольце. Группа начинается с команд от первичной станции, и каждая вторичная станция добавляет свои ответы. Когда первичная станция получает сигнал "начать" простоя, она понимает, что вторичные станции закончили передачу, и может передавать новые команды. Ответ маяка (BCN) предназначен для обнаружения разрывов в кольце. Вторичная станция, не получающая входящий трафик в течение длительного времени, начинает отправлять ответные кадры "маяка", сообщая первичной станции о разрыве связи между этой вторичной станцией и ее предшественницей. Поскольку первичная станция также получает копию отправленных ею команд, которые неотличимы от ответов, она добавляет специальный "разворотный" кадр в конце своих команд, чтобы отделить их от ответов. Любая уникальная последовательность, которая не будет интерпретироваться вторичными станциями, подойдет, но обычно используется один нулевой байт. Это "укороченный кадр" с адресом 0 (зарезервированный, неиспользуемый) и без поля управления или последовательности проверки кадра. (Вторичные станции, поддерживающие полнодуплексный режим работы, также интерпретируют это как "последовательность отключения", заставляя их прерывать передачу.)