Когда возникла задача создания сетей передачи данных для ЭВМ, естественным, прежде всего, было обращение к столетнему опыту работы с телеграфными сетями. Так, опыт работы с телеграфными сетями с промежуточным накоплением (переприем телеграмм с переносом перфоленты) пригодился при создании сетей передачи данных с коммутацией сообщений, а с сетями абонентского телеграфа (телекса) - для создания сетей передачи данных с коммутацией каналов. Важную роль в развитии сетей передачи данных сыграл научно-технический прогресс. Он позволил в течение сравнительно небольшого периода времени (несколько десятилетий) перейти от бумажных перфолент и перфокарт к магнитным лентам, а затем к магнитным дискам, полупроводниковым и оптическим запоминающим устройствам.
Одновременно огромный скачок произошел в технике защиты передачи от помех. От простых способов обнаружения ошибок путем проверки перфоленты на четность числа пробитых в ней отверстий удалось перейти к высоконадежным кодам не только обнаруживающим, но и исправляющим ошибки. Самое же главное, была создана микроэлектронная база. Она позволила сделать сложную аппаратуру компактной и экономичной по расходу электроэнергии. Все это открыло возможности построения технических средств передачи с огромной скоростью и ознаменовало наступление новой эпохи развития документальной связи.
От первых систем передачи данных к системе Х.25
Общая структура системы передачи данных показана на рис. 1. Она включает канал передачи данных, на каждом конце которого находятся линейное устройство передачи данных (ЛУПД) и оконечное устройство передачи данных (ОУПД). В официальном издании рекомендаций бывшего МККТТ на английском языке приняты названия Data Circuit terminating Equipment (DCE) и Data Terminal Equipment (DTE). В русском переводе упомянутого документа использованы термины: аппаратура окончания канала данных (АКД) и оконечное оборудование данных (ООД), которые представляются не вполне удачными с точки зрения традиций русскоязычной научно-технической терминологии.
Именно поэтому автор предпочитает более понятные названия, приведенные в тексте. Необходимость введения таких понятий объясняется расширением номенклатуры абонентских устройств, существенно усложняющих задачи их согласования с линией связи.
Телетайпы и другие терминалы с клавиатурой, снабженные устройствами отображения или не имеющие таковых, системы дистанционного ввода заданий с устройствами считывания, печатающие устройства и сканеры, автоматизированные лабораторные установки с различными физическими датчиками, персональные или любые другие ЭВМ с разнообразными периферийными устройствами - все они охватываются понятием ОУПД при условии, что включены для работы в сеть связи.
Задачей ЛУПД является также преобразование сигналов. Если канал передачи данных аналоговый, то данные от терминала поступают на модем (модулятор-демодулятор). Если же канал передачи данных является цифровым, то двоичные данные преобразуются в стандартную форму сбалансированного кода для передачи по линии сигналами, не содержащими составляющей постоянного тока. Другой функцией ЛУПД является выполнение совместно с ОУПД процедур установления, поддержания и прекращения соединений между передающим и приемным концами.
Канал передачи данных - это любая передающая среда. По способу его работы различают симплексную, полудуплексную и дуплексную связь (рис. 2). При симплексной связи, показанной на рис. 2, а, данные всегда перемещаются в одном направлении, как показано сплошными линиями. При этом не исключается возможность передачи в противоположном направлении подтверждений со стороны приемного конца, которые показаны штриховыми линиями.
При полудуплексной связи (рис. 2, б) данные передаются в обоих направлениях, но попеременно. Термин "полудуплексная связь", означающий попеременное применение симплексной связи то в одном, то в другом направлении, не применялся в технике связи до его введения специалистами по вычислительной технике.
При дуплексной связи, как показано на рис. 2, в, данные передаются в обоих направлениях одновременно. При этом как при полудуплексной, так и при дуплексной связи также передаются подтверждения, показанные штриховыми линиями. Физически для симплексной или полудуплексной работы должна использоваться либо одна пара проводов, по которой сигналы передаются в обоих направлениях, либо две пары проводов, по каждой из которых сигналы передаются в одном направлении. Первый способ применяется, когда в тракте нет усилителей, и называется двухпроводным соединением. Второй способ применяется при наличии усилителей и называется четырехпроводным соединением. Дуплексная работа требует четырехпроводного соединения.
Если работа передающего и приемного концов тракта передачи данных полностью согласована во времени, то на приемном конце каждый переданный символ может быть выделен. В противном случае символы выделяются с помощью специальных разделительных знаков: стартового (пробела) и стопового (посылки). Первый способ называется синхронной передачей, второй - асинхронной. В терминалах передачи данных со скоростью до 1,2 кбит/с, как и в телетайпах, применяют асинхронную передачу. В терминалах же со скоростью передачи 2,4 кбит/с и выше применяется синхронная передача.
Широкое применение систем передачи данных началось в 1960-х гг. как по телефонным сетям общего пользования, так и по специализированным сетям. Главные недостатки систем передачи данных по телефонным сетям состоят в том, что для таких систем требуются модемы, а время установления соединения составляет по меньшей мере 15 с, а обычно - значительно больше. Кроме этого, качество передачи в этом случае зависит от характеристик телефонных каналов. Они могут меняться от соединения к соединению и подвергаться воздействию помех, в частности, от работы коммутационных приборов на телефонных станциях электромеханических систем. Некоторое улучшение качества передачи может быть достигнуто при использовании арендованных телефонных линий, но для них также требуются модемы. За выигрыш же возможного улучшения качества передачи приходится расплачиваться заботами о сокращении простоев линий. В ходе таких забот во многих странах разрабатывались и применялись схемы коллективного использования арендованных линий путем формирования групп абонентов, подключения терминалов в разных точках трассы абонентской линии, мультиплексирования, применения других методов.
Одновременно велось создание специализированных сетей. При этом были испытаны различные структуры схем и различные методы коммутации. Среди наиболее распространенных структур встречаются узловые (звездообразные), кольцевые, полносвязные, а также схемы типа шины. Для более сложных структур, которые могут включать в качестве составных частей перечисленные схемы, необходимо применение узлов коммутации. На основании анализа эффективности различных методов передачи данных в начале 1970-х гг. были определены области предпочтительного применения различных систем передачи. Они показаны на графике рис. 3. Как видно из графика, выбор предпочтительного способа передачи зависит как от общего объема передачи (нагрузки), так и от средней длины передаваемых сообщений. Например, применение коммутируемой телефонной сети оправдано лишь при небольших нагрузках. При умеренных же нагрузках, но не очень длинных сообщениях, предпочтительнее сеть с пакетной коммутацией. Именно поэтому во многих странах мира созданы специализированные сети передачи данных общего пользования с коммутацией пакетов. Технические средства для таких сетей быстро совершенствовались. В 1976 г. МККТТ была принята рекомендация Х.25. В 1980 и 1984 гг. она подверглась переработкам. Рекомендация Х.25 касается соединения терминалов передачи данных, ЭВМ и других пользовательских систем с сетями передачи данных и описывает протоколы взаимодействия различных устройств. Протокол Х.25 организован по трехуровневой системе (об общих принципах организации многоуровневых систем передачи и обработки информации см. статью автора "О единой концепции информационного обеспечения перевозок", "Железнодорожный транспорт", 1992, № 7, стр. 23-27).
На нижнем (физическом) уровне устанавливаются стандарты на механические разъемы и электрические характеристики линий связи, на передаваемые по ним цифровые сигналы, включая сигналы занятия линии и ее освобождения. Эти стандарты описаны в рекомендации Х.21 и за недостатком места здесь не рассматриваются. На втором (канальном) уровне определяются требования к средствам передачи информации по участку цифрового канала между двумя соседними узлами в виде блоков данных, называемых кадрами.
При этом предусматривается возможность обнаружения ошибок в кадре и их исправления после автоматического переопроса и повторной передачи искаженного кадра. Указанные функции определяются применительно ко всему цифровому потоку, передаваемому по данному участку, и не зависят от того, каким пользователям и по каким адресам передаются отдельные сообщения, входящие в общий поток.
На третьем (сетевом) уровне определяются требования к системе передачи информации в виде блоков данных, называемых пакетами. Помимо полезной информации, пакеты несут управляющую информацию об адресах отправителя и получателя, порядковую нумерацию и некоторые другие служебные данные. Описанное разделение функций позволяет в одном физическом цифровом канале создать большое число логических (так называемых виртуальных) каналов. Они одновременно работают между разными пользователями, которые могут находиться в одном или разных пунктах.
Перед тем как перейти к рассмотрению особенностей второго и третьего уровней сети Х.25, уточним некоторые понятия. Будем называть блоком данных произвольный набор символов, предназначенных для передачи по каналу связи. В зависимости от состава (формата) блока, а также его назначения в конкретных случаях блокам могут быть присвоены разные названия. Например, блок данных, передаваемых по СПД общеканальной телефонной сигнализации № 7, называют сигнальной единицей. В этой статье рассматриваются блоки данных, называемые кадрами и пакетами, а в следующей беседе, посвященной технологии АТМ, будут рассматриваться блоки данных, называемые ячейками. Необходимость такого уточнения вызвана тем, что в литературе часто можно встретить термин "пакет" применительно к любому блоку данных, в том числе такому, который с точки зрения рекомендации Х.25 пакетом не является. Именно поэтому читателю, который встретит термин "пакет", можно лишь порекомендовать в каждом конкретном случае внимательно разбираться с тем, какой именно блок данных имеется в виду.
Уровень канала
Каналом связи называется совокупность технических средств для передачи сообщений от отправителя к получателю с использованием среды передачи. В контексте же этой статьи канал связи рассматривается по отдельным участкам, связывающим соседние пункты обработки передаваемых сообщений. Соответственно и термин "уровень канала" относится к отдельному участку канала. В оригиналах стандарта на английском языке применяется термин Link Layer, т.е. уровень (или "слой") звена. Такой термин можно иногда встретить и в переводах международных документов на русский язык. Может быть последнее название является более точным, однако оно непонятно, так как слово "звено" имеет в русском языке очень много значений и оно никогда не применялось к участку канала связи. Именно поэтому предпочтительнее говорить "уровень канала", но с оговоркой о том, что речь идет лишь об отдельном участке канала.
В описываемом стандарте, который подтвержден несколькими международными и национальными организациями и фактически признан во всем мире, рассматривается управление каналом связи по участкам с помощью протокола высокого уровня (по-английски HDLC - High-level Data Link Control). Русским эквивалентом термина HDLC может служить сокращение ВУК (высокоуровневое управление каналом). Обслуживаемый протокол рассчитан на широкий круг применений, в том числе и в локальных сетях для связи целой группы абонентских пунктов. Мы же ограничимся здесь лишь рассмотрением этого протокола на примере одной версии, а именно: версии связи двух равноправных пунктов LAPB (Link Access Procedures Balanced, т.е. процедур сбалансированного доступа к каналу).
Протокол ВУК управляет передачей информации в виде стандартных блоков, поступающих от сетевого уровня и называемых пакетами. На уровне канала к каждому пакету добавляется заголовок, обычно содержащий 48 двоичных разрядов. Пакет с этим дополнительным заголовком называется кадром. Термин "заголовок" носит условный характер, так как часть его разрядов помещается в голове кадра, а другая часть (проверочное поле для обнаружения ошибок) - в его хвосте. Коды, исправляющие ошибки, требуют внесения слишком большой избыточности и поэтому в обычных сетях передачи данных не применяются. Вместо этого используются коды, обнаруживающие ошибки. При обнаружении ошибки посылается автоматический запрос на повторную передачу кадра, а принятый ошибочный кадр сбрасывается. Длина кадра (следовательно, пакета) не регламентируется, так как оптимальная длина пакета зависит от вероятности ошибки в канале. С точки зрения накладных расходов, связанных с передачей служебных разрядов заголовка, длину пакета предпочтительнее сделать как можно больше, чтобы снизить процент содержания служебной информации. При этом, если вероятность ошибки невелика, запросы на повторение передачи будут редки, система будет работать эффективно. Если же вероятность ошибки будет большой, повторная передача потребуется чаще. Тогда большая часть накладных расходов придется не на заголовки, а на участившиеся повторные передачи. Именно поэтому выбор длины пакета (следовательно, кадра) предоставляется пользователю. Для обнаружения же начала и конца кадра в непрерывном потоке цифровой передачи используются специальные кодовые комбинации вида 01111110, называемые флагами (рис. 4, на котором показан формат кадра).