Когда возникла задача создания сетей передачи данных для ЭВМ, естественным, прежде всего, было обращение к столетнему опыту работы с телеграфными сетями. Так, опыт работы с телеграфными сетями с промежуточным накоплением (переприем телеграмм с переносом перфоленты) пригодился при создании сетей передачи данных с коммутацией сообщений, а с сетями абонентского телеграфа (телекса) - для создания сетей передачи данных с коммутацией каналов. Важную роль в развитии сетей передачи данных сыграл научно-технический прогресс. Он позволил в течение сравнительно небольшого периода времени (несколько десятилетий) перейти от бумажных перфолент и перфокарт к магнитным лентам, а затем к магнитным дискам, полупроводниковым и оптическим запоминающим устройствам.
Одновременно огромный скачок произошел в технике защиты передачи от помех. От простых способов обнаружения ошибок путем проверки перфоленты на четность числа пробитых в ней отверстий удалось перейти к высоконадежным кодам не только обнаруживающим, но и исправляющим ошибки. Самое же главное, была создана микроэлектронная база. Она позволила сделать сложную аппаратуру компактной и экономичной по расходу электроэнергии. Все это открыло возможности построения технических средств передачи с огромной скоростью и ознаменовало наступление новой эпохи развития документальной связи.
От первых систем передачи данных к системе Х. 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, на котором показан формат кадра).
Применение флагов вносит определенные трудности в решение задачи обеспечения прозрачности цифровой передачи, т. е. ее независимости от характера передаваемых последовательностей. Действительно, если в передаваемом потоке полезной информации встретится последовательность из шести единиц, то она будет принята за границу между кадрами. Это вызовет нарушение работы канала. Во избежание подобных сбоев во всех случаях, когда в передаваемой последовательности встречаются пять "1", то после них автоматически вставляются "0". На приемном же конце после принятых пяти "1" следующий за ними "0" всегда сбрасывается. Такое техническое решение позволяет гарантировать прозрачность цифровой передачи. Рассматривая рис. 4, нетрудно обнаружить назначение всех 48 служебных разрядов заголовка кадра.
Особый интерес представляют 8 управляющих разрядов, которые развернуты на рис. 5. Как видно, структура управляющих разрядов определяет тип кадра. Дело в том, что, кроме обычных информационных кадров, служащих для передачи сообщений по установленному каналу, протокол ВУК предусматривает еще ряд служебных. Они не содержат информационного поля, а служат для целей управления процессами установления канала, его закрытия, а также выполнения многочисленных других вспомогательных функций. Информационный кадр И отличается от служебных наличием "0" в первом разряде управляющего поля. "1" на этой позиции говорит о том, что кадр является служебным. По второму разряду служебные делятся на кадры типов К (контроль и управление) и Н (ненумерованный кадр). Всего существуют четыре разных кадра типа К (готовность приема, неготовность приема, отказ и выборочный отказ). Для их распознавания служат третий и четвертый разряды, обозначенные буквой S. Ненумерованные кадры, которых всего 32, служат для выполнения разнообразных служебных функций. Для распознавания типа ненумерованного кадра служат 5 разрядов, обозначенных буквой М. Кроме этого, на рис. 5 приняты обозначения: N(S) - порядковый номер передаваемого кадра; N(R) - порядковый номер ожидаемого кадра; P/F (опрос/конец) - служебный сигнал управления режимом передачи. Порядковый номер N(R) подтверждает прием кадра номер N(R) - 1 и всех ему предшествующих. Таким образом, при дуплексной передаче (см. рис. 2, в) нет необходимости в передаче специальных подтверждающих кадров. Это объясняется тем, что подтверждения о приеме кадров могут вставляться в информационные кадры встречной передачи.
Как видно из изложенного, описанное поле нумерации кадров позволяет вести счет только до восьми (три двоичных разряда). Следовательно, при наличии семи неподтвержденных кадров передача должна быть приостановлена. Именно поэтому, например, в системах спутниковой связи, когда в пути могут находиться более семи кадров, поле их нумерации может быть расширено до 7 разрядов и, следовательно, счет увеличен до 128. Аналогичным образом стандарт допускает увеличение поля адресов и проверочной последовательности.
Протокол предусматривает различные процедуры передачи на уровне канала. Наибольшее распространение получила так называемая процедура передачи с возвращением на N кадров (N Уровень сети
Главными задачами уровня сети являются выбор маршрутов передачи пакетов и управление потоками передаваемых пакетов по каждому выбранному маршруту. По терминологии Х. 25 уровень сети называется уровнем пакетов. Рекомендация Х. 25 не дает полного решения указанных задач, поскольку протокол Х. 25 является лишь спецификацией сетевого сопряжения. Подробности, касающиеся соединений устройств ЛУПД по связывающей сети, оставлены на усмотрение администрации сети. Тем не менее организация сетевого уровня во многом зависит от требований, заложенных в рекомендациях Х. 25. Протокол Х. 25 ориентирован на соединения в виде виртуальных каналов. Связисты иногда воспринимают этот термин, зародившийся в среде специалистов по вычислительной технике, с некоторым недоверием. Они не всегда до конца понимают его смысл, даже если им предлагают синонимы - логический или мнимый канал. Таким связистам можно лишь напомнить, что они (или их коллеги) фактически уже более четверти века эксплуатируют пучки виртуальных телефонных каналов в трансокеанских кабелях по известной системе TASI (Time Assignement Speech Interpolation, т. е. интерполяции речи по предоставляемым ее отрезкам).
Использование четырехпроводных междугородных телефонных каналов, как правило, не превышает 40-50 %, так как большую часть времени говорит лишь один из собеседников. Если же установить обнаружители речи и предоставлять каналы в каждом направлении только для передачи реально фиксируемой речи, сопровождая такую передачу адресом, то можно, например, по пучку из 100 каналов передать 200 разговоров. При этом каждая из 200 разговаривающих пар фактически получает канал связи, хотя физических каналов в кабеле только 100.
Канал же, по которому говорят абоненты, является логическим или виртуальным. Он поддерживается логическими устройствами аппаратуры связи и поэтому необязательно должен быть постоянно привязан к конкретному физическому каналу. Рассмотренный пример виртуального канала не объясняет всех принципов его организации в сетях передачи данных. Он лишь показывает, что ничего необычного в обсуждаемом подходе и приведенном названии нет. Виртуальные каналы нумеруются. Нумерация допускает одновременную организацию между ОУПД и ЛУПД до 4096 таких каналов. Каждое сопряжение ОУПД-ЛУПД устанавливает собственный набор номеров логических каналов. Полный виртуальный канал между двумя связывающимися ОУПД может использовать разные номера в двух своих оконечных сопряжениях.
Сеанс связи включает фазы установления соединения, передачи данных и разъединения. Все необходимые функции на этих фазах выполняются путем передачи соответствующих пакетов. Точно так же как на уровне канала предусматриваются специальные служебные и информационные кадры, так и на сетевом уровне предусмотрены служебные пакеты (для передачи управляющих сигналов) и информационные, непосредственно несущие передаваемые данные. В качестве примера на рис. 6 показаны форматы двух версий информационных пакетов - с нумерацией по модулю 8 (рис. 6, а) и по модулю 128 (рис. 6, б). Применение того или иного формата оговаривается на этапе установления соединения в ходе обмена необходимыми служебными пакетами. В отличие от одномерного представления формата кадров (см. рис. 4 и 5) форматы пакетов для большей наглядности показаны в виде двумерной таблицы. Каждая ее строка содержит один октет (или байт, т. е. 8 двоичных разрядов).
Первые октеты являются заголовком пакета. В нем четыре разряда первого октета служат для передачи номера группы логических каналов, а восемь разрядов второго октета - номера логического канала. Эти 12 разрядов и обеспечивают возможность различения 4096 виртуальных каналов. "0" в первом разряде третьего октета свидетельствует о том, что пакет является информационным, а не служебным. Числа P(S) и P(R) - это номера передаваемого и ожидаемого пакетов. Разряды 5 и 6 первого октета указывают на тип информационного пакета по способу его нумерации (01 указывает на счет по модулю 8, а 10 - на счет по модулю 128). D является разрядом подтверждения доставки и используется для управления потоком от передающего конца к приемному. Восьмой разряд первого октета Q классифицирует передаваемые данные. Обычно он устанавливается на "0". При установке же его на "1" пакету присваивается более высокий приоритет. Разряд, обозначенный буквой М, несет метку большого числа данных. Он применяется тогда, когда связывающиеся ОУПД имеют разные размеры пакетов.
Описанный пакет подается на уровень канала. Здесь на его основе формируется кадр (см. рис. 4). После этого кадр передается на физический уровень. На нем и происходит его передача по каналу связи. Сравнивая форматы кадра и пакета, можно заметить в них сходство некоторых элементов. Нужно, однако, иметь в виду, что нумерация пакетов ведется в пределах каждого виртуального канала от отправителя к получателю. Нумерация же кадров фиксирует просто последовательные номера фактически передаваемых кадров по участку канала. Обращает на себя внимание то обстоятельство, что в заголовке информационного пакета (в отличие от заголовка информационного кадра) нет адреса. Это объясняется тем, что адреса вызывающего и вызываемого ОУПД передаются на этапе установления соединения, в частности, в специальном пакете запроса соединения. В этом же пакете указывается номер установленного виртуального канала. После его установления в информационных пакетах передается лишь этот номер, а в повторении адресов нет необходимости.
Порядковые номера пакетов P(S) и P(R) используются в сочетании с так называемым механизмом окна. Его сущность состоит в том, что на этапе установления соединения между передающей и приемной сторонами достигается договоренность об установлении максимального размера окна. Оно равно числу информационных пакетов, которые могут оставаться неподтвержденными (по умолчанию он принимает значение 2). Таким образом, с помощью номеров P(S) и P(R) поддерживается контроль текущего размера окна. Такой контроль может вестись из конца в конец через всю сеть или только на уровне ОУПД-ЛУПД. Для выбора этой возможности и служит разряд D, который в первом случае устанавливается на "1". При передаче данных по сети на физическом уровне идет непрерывный поток двоичных символов. Он может воспроизводиться в регенераторах. На каждом узле этот поток поступает на уровень канала. Здесь происходит выделение кадров, их проверка на наличие ошибок и при их обнаружении - повторная передача. Правильно принятые кадры освобождаются от заголовка. Выделенный таким образом пакет поступает на сетевой уровень. Здесь анализируется его заголовок и принимается решение о дальнейшей передаче. После этого пакет возвращается на уровень канала нужного направления, где к нему добавляется новый заголовок кадра. После этого он передается на физический уровень для передачи по следующему участку. Такой процесс повторяется в каждом промежуточном узле до тех пор, пока пакет не достигнет пункта назначения. Приведенное описание может дать лишь самое общее представление о системе Х. 25, так как в нем опущены очень многие подробности. Однако уже из этого описания становится очевидным основной недостаток стандарта Х. 25. Он состоит в необходимости записи и воспроизведения кадров в каждом узле сети. При небольших скоростях передачи объем записываемой информации оказывается не столь велик и современная техника ЗУ позволяет построить необходимые накопители без особенно больших затрат. Если же каналы связи недостаточно хорошего качества, проверка кадров по участкам каналов позволяет организовать достаточно надежную передачу. В такой организации системы проявляется преимущество стандарта Х. 25. С повышением же качества каналов и их быстродействия передача неоправданно задерживается за счет обработки в узлах. Именно поэтому на смену Х. 25 приходит система ретрансляции кадров (Frame Relay). Она лишена указанного недостатка.