Алгоритмы и протоколы каналов и сетей передачи данных
Семенов Юрий Алексеевич

Содержание


Лекция 0. Предисловие

Этот курс является переработкой книги "Протоколы Интернет. Энциклопедия". Часть материала была удалена как устаревшая или малосущественная. Одновременно было существенно расширено содержимое некоторых разделов, добавлены описания новых алгоритмов и протоколов, появившихся после 2001 года и не вошедших по разным причинам в предыдущую книгу. В этот перечень вошли протоколы MPLS и MPLS-TE, RSVP-TE, GMPLS, P2P, TFRC, DCCP, LDP, ICQ, SIP, FEC, IEEE 802.16, 802.17, Bluetooth, Wi-Fi, MPEG-21, IPSec и др. В период с 2000 по 2006 годы темп появления новых регламентирующих документов RFC не спадал и составлял ~270-350 в год. Эти документы в основном касались мультимедиа, качества обслуживания, мобильных сетей, сетевой безопасности и диагностики, а также новых сетевых сервисов.

Изменена концепция книги, основное внимание уделено причинам принятия тех или иных решений, выбора параметров алгоритмов или протоколов.

Человечество все в большей степени становится зависимым от сетей и ЭВМ, в заметной мере от этих технологий начинает зависеть даже жизнь человека. Генетические коды, истории болезней, страховые полисы и пр. хранятся в машинах и передаются по сети. По этой причине безопасность и надежность машин и сетей начинает выходить на первое место.

За год создается более 10000 разновидностей только сетевых червей. Число различных разновидностей атак, предпринимаемых хакерами, перевалило за 2500 и продолжает расти. В среднем каждая машина подвергается атакам 20-40 раз в сутки. Появились принципиально новые виды сетевых атак типа spyware и bot. Сейчас стало опасно посещать незнакомые web-сайты, даже если вы ничего оттуда не копируете.

Следует учитывать, что широко рекламируемые средства защиты от сетевых вирусов и червей являются скорее успокоительным средством, чем лекарством, так как они могут защитить только от известных способов атаки, против которых и без того программы уже защищены, если вы произвели своевременные обновления.

Если раньше сетевые атаки предпринимались из-за любопытства или хулиганства, то сегодня это обрело коммерческую основу. Взломанные машины продаются для целей массовой рассылки SPAM, для DoS-атак узлов конкурентов, шантажа и пр.

Новым в телекоммуникациях является также широкое внедрение технологии peer-to-peer (P2P) для целей файлового обмена и телевидения. Эта технология является альтернативой схемы "клиент-сервер".

В связи с широким внедрением IP-телефонии и предстоящим развитием IP-телевидения все больше внимания уделяется средствам обеспечения гарантированного качества обслуживания.

Ожидается широкое внедрение сетевых технологий в человеческое жилище — локальные сети высокого быстродействия в московских домах становятся обыденной реальностью. Локальные сети появляются в автомобилях и других транспортных средствах.

Лекция 1. Введение в новейшие телекоммуникационные технологии

Введение в новейшие телекоммуникационные технологии. Каналы данных как продолжение органов чувств человека. Алгоритмы модуляции и кодирования при передаче данных, теорема Шеннона, природа шумов, шум дискретизации.

Базовые алгоритмы телекоммуникаций

Почему мы поступаем так, а не иначе? Почему именно так сложились обстоятельства? Что в развитии событий было случайным, а что — закономерным? Над этими вопросами мы бьемся достаточно часто.

Я попытаюсь ответить на некоторые из них, связанные с историей и сегодняшним состоянием телекоммуникаций. Корректный анализ причин тех или иных решений в прошлом позволяет принимать правильные технологические решения сегодня и в будущем. Развитие коммуникаций является одним из наиважнейших направлений прогресса человеческой цивилизации.

1.1. Предыстория

Создатель снабдил людей неплохими системами коммуникаций. Это прежде всего органы зрения, слуха и голосовой аппарат. Наиболее важные из них продублированы - мы имеем два уха и два глаза, что создает предпосылки стереовосприятия и пространственной локации источника звука или оптического объекта. Определенную информацию об окружающей среде мы получаем от органов вкуса, обоняния и осязания. Эти информационные каналы весьма важны для сохранения жизни, но с точки зрения потоков данных они достаточно узкополосны. Самым широкополосным нашим каналом является визуальный. В оптической области люди могут воспринимать волны с длиной волны от 400 до 700 нм, и это в принципе может обеспечить потоки данных масштаба ~60 Тбит/c. Проблема в том, что человек способен воспринимать <<10 Мбит/с, обрабатывая данные лишь частично (речь идет о восприятии движущегося изображения). В акустическом диапазоне наши уши чувствительны для частот от 20 Гц до 20 КГц. Наш акустический канал принципиально асимметричен. Передачу данных мы осуществляем голосом (полоса 600 Гц – 6 КГц), а восприятие - слухом, который имеет более чем в два раза большую полосу пропускания. Уместен вопрос: зачем Природа или Создатель сформировали столь асимметричный канал? Не признать рациональность такого решения нельзя - хотя бы с точки зрения безопасности. Ведь в реальной жизни через уши мы получаем данные о шорохе листвы, по которой к нам подползает змея, или о подлетающем комаре. Частотные диапазоны таких шумов находятся вне области воспроизведения нашим голосом. Это же касается раскатов грома или звука выстрела. Отсюда следует, что мудр тот, кто больше слушает, чем говорит, - так он способствует накоплению информации в своей памяти.

Огромен динамический диапазон воспринимаемых нами звуков - более 1:20000. К счастью, имеющийся у нас аппарат преобразования звука в нервный (электрический) сигнал является нелинейным. В противном случае при близком грозовом разряде или выстреле мы могли бы погибнуть от шока - из-за слишком большого импульса возбуждения. Устройство преобразования звука у человека имеет логарифмическую характеристику и спасает нашу нервную систему от перегрузок. Это позволяет нам и воспринимать шорох листвы, и выживать, когда сосед слушает тяжелый рок при 300 Вт звуковой мощности или пытается завести свой мотоцикл на балконе. Частотный диапазон восприятия у нас настроен так, чтобы воспринимать жизненно важные звуковые сигналы. Наш голосовой аппарат способен воспроизводить самые разнообразные звуки, что позволило человечеству сформировать языковую систему коммуникации. Человеческий голос состоит из гласных и согласных звуков. Гласные звуки генерируются, когда голосовой тракт открыт, и определяются резонансом, основная частота которого зависит от размера и формы голосовой системы, от положения языка и челюстей говорящего. Эти звуки для интервалов порядка 30 мс являются почти периодическими. Согласные звуки формируются, когда голосовой тракт частично перекрыт, эти звуки менее регулярные по сравнению с гласными. Некоторые современные системы генерации и передачи голоса используют модели голосовой системы с ограниченным числом параметров (например, размер и форма различных полостей), а не простое стробирование формы голосового сигнала. Вполне возможно, что успешное использование звуков для сигнальных целей в свою очередь стимулировало развитие гибкости голосового аппарата

Акустическое общение (да и вообще любая передача сигналов) предполагает соглашение между источником и приемником относительно значения сигналов и их комбинаций. Многообразие таких сигналов (акустический язык) определяется уровнем развития отношений в данном конкретном сообществе.

Следующим шагом на пути цивилизации было создание письменности. Сегодня трудно точно сказать, когда это произошло. Ясно, что попытки такого рода производились многие тысячи лет до рождества Христова. Все началось с наскальных рисунков. Позднее они стали формализоваться, привязываться к фонетике голосовой речи, - письменность рождалась как средство удаленной коммуникации, расширяющее возможности устной речи. Если бы тогда уже был телефон, то появление письменности вполне могло задержаться на многие века.

Наконец был создан символьный язык для описания не только объектов реального мира, но и абстрактных понятий. Достаточно вспомнить скрижали, которые Бог передал Моисею. Об этом говорится в Ветхом завете, и было это задолго до Рождества Христова. Но сами эти камни с письменами предполагали, что народ или хотя бы священнослужители были способны прочесть то, что на них написано. Письменность предполагает соглашение между пишущим и будущими читателями относительно значения графических символов.

Письменность дала возможность передавать информацию от умерших к живым, позволила накапливать технологические знания, открыла путь развитию науки.

Поначалу письменность была уделом избранных и являлась криптографической системой. Читать и писать могли только священнослужители. Чтобы убедиться в этом, достаточно заглянуть в Ветхий завет.

Устные знания ненадежны, легко искажаются. Впрочем, это было свойственно и первым письменным источникам - ведь первые книги переписывались вручную. В качестве носителя использовались специально обработанные шкуры животных - пергамент или прототип бумаги - папирусы (древнейшие египетские папирусы относятся к XXV веку до нашей эры) и, наконец, во втором веке нашей эры - бумага (Китай). В начале XI века в Китае начали печатать книги с использованием подвижных литер, выполненных из глины или дерева. В XIV веке в Корее стали применяться для печати подвижные металлические литеры (чем не прототип пишущей машинки?). Практически с самого начала в рукописях и "полиграфии" использовалось несколько цветов.

Сначала записанная информация имела вид свитков. Позднее они стали объединяться, и такие блоки листов стали называться кодексами. Известные древнейшие библиотеки относятся ко 2-3-му тысячелетиям до нашей эры, и создавались они героическими усилиями переписчиков. Переписчик часто заботливо "исправлял" непонятные ему места, внося неизбежные субъективные искажения. Иногда такие искажения вводились сознательно в угоду политическим, идеологическим или религиозным воззрениям.

Книгопечатание в Европе появилось сравнительно недавно - в середине XV века в Германии благодаря усилиям Гуттенберга (литеры из глины). Каменные скрижали были долговечны, но неудобны для переноса и изготовления. Люди, правда, научились писать на глиняных пластинках, которые потом обжигались на солнце, но и это не решало проблемы. Надписям на камне мы обязаны своим знаниям о самых древних периодах человеческой цивилизации. Бумага и пергаменты хорошо горят (и гниют), что послужило причиной потери многих ценных манускриптов. Пожары же преследовали человечество с самого начала, с момента освоения технологии обогрева и приготовления пищи на очаге. До нашего времени дожили лишь небольшие фрагменты некоторых древних библиотек (вспомним хотя бы судьбы Александрийской библиотеки или библиотеки Ивана Грозного). Бумажные книги существуют уже более 800 лет. И только в конце XX века благодаря развитию вычислительной техники у них появился конкурент - CD-диски (с объемом данных 600-750 Мбайт, и это не предел). На данной странице около 3,5 килобайт информации. Один CD-диск может содержать тексты нескольких книг. Объемная плотность информации в CD превосходит книжную в десятки раз. В принципе технология CD может обеспечить длительность хранения на уровне многих сотен, а может быть, и тысяч лет.

Наш голосовой канал прежде всего предназначен для общения с себе подобными. Часть предыдущей фразы до запятой содержит 19 букв (в кодовом представлении - 19 байт). Обычно она произносится примерно за одну секунду, что создает поток данных в 152 бит/с. Хорошо тренированный оператор за полторы-две секунды может напечатать эту часть фразы.

Отсюда видно, что наши собственные возможности передачи данных, сопряженные с движениями пальцев рук или языка, весьма ограничены и не превышают (100-150) бит/с.

Можно предположить, что это связано с особенностями структуры нашей нервной и мышечной системы (задержками в цепи обратных связей). Следует иметь в виду, что эта активность сопряжена с необходимостью распознавания образов – важным свойством всего живого.

Нашу нервную систему вполне можно рассматривать как локальную сеть, внешние же коммуникации человека могут служить аналогом Интернета. По внутренним нервным магистралям распространяются сигналы от различных рецепторов, сообщая данные о состоянии окружающей среды и самого организма; аналогично, но в противоположном направлении передаются управляющие сигналы. Обратные связи являются основой жизни и способом адаптации к окружающей среде. Я не являюсь тонким знатоком физиологии человека, но тем не менее позволю себе предположить, что в нашей нервной системе используются как "проводные" соединения, так и адресная система доставки сообщений. Мне трудно представить, например, чтобы тактильные и температурные датчики транспортировали в мозг сигналы по разным каналам - такое решение представляется неэффективным, хотя вполне может оказаться, что я ошибаюсь. Для построения систем, непосредственно контактирующих с органами чувств человека, крайне важно точно знать параметры внутренних каналов передачи сигналов. Такие данные помогут корректно спроектировать интерфейсы, оптимизировать и заметно удешевить технические решения.

Наш визуальный канал принято справедливо считать быстродействующим. Быстродействие тем не менее здесь не столь велико, как это можно предположить. Во-первых, его ограничивает инерциальность датчиков в глазу, которая характеризуется постоянной времени ~0,04 с (вспомним частоту кадров в кино). Второй ограничивающий фактор - скорость обработки и распознавания образов в головном мозге. Оценить эту составляющую быстродействия сложнее. Попытаемся все же это сделать. За сколько секунд вы можете прочесть эту страницу? Это у вас занимает 1-1,5 минуты? Тренированные люди способны читать до 1000 слов в минуту. Будем считать среднюю длину слова равной 8 букв, тогда получим скорость восприятия 135 байт/c.

Таким образом, максимальная скорость обработки текстовых данных составит <150 байт/с. Всего в 10 раз быстрее, чем при восприятии на слух!

Мне могут возразить, что, смотря телевизор, мы обрабатываем большие потоки информации. Возможно, это так. Но в любом случае это не больше 200 Кбайт/с (вспомним предельную скорость передачи данных в каналах цифрового ТВ).

Бессмысленно для человека передавать потоки данных в форматах и при скоростях, не согласованных с возможностями его восприятия.

Об этом должны задуматься режиссеры телефильмов, дизайнеры web-страниц, создатели рекламы и т.д. С другой стороны, следует помнить, что, обладай человек более скоростным визуальным каналом (если бы наши глаза не имели инерциальности запоминания видеоизображения), не было бы современного кино и телевидения, так как люди воспринимали бы их как мелькание картинок, а не как имитацию реальных образов. Кино и телевидение по своей природе не являются зеркальным отражением того, что оказывается в фокусе входного объектива киноаппарата или телевизионной камеры. Обе эти технологии успешно используют особенности нашего зрения и мозга. Эти соображения лишний раз доказывают, насколько важно учиться у природы.

Мы еще очень мало знаем об особенностях работы нашей аналитической системы. Очевидно, что значительная часть ее мощности используется для нормального функционирования нашего организма (переработка пищи, борьба за выживание во враждебной среде и т.д.). Полагаю, что те, кто писал программы для человекоподобных роботов, со мною согласятся. Просто удерживать тело в вертикальном состоянии - уже задача не из простых. Вы знаете, что происходит с человеком, чей мозг частично отравлен алкоголем. Все мы знаем также, что происходит с нашим телом, которое существовало десятки лет, после смерти. Оно разлагается присутствующими бактериями за несколько дней. Другой важной функцией нашего аналитического аппарата является обслуживание наших органов чувств (обработка поступающих данных и выработка ответных реакций). И лишь остаток ресурса используется для управления интеллектуальной сферой. Может быть, из-за большого запаса аналитического потенциала многие великие люди прожили долгую жизнь (например, Леонардо да Винчи, Л. Толстой).

При разговоре мы можем управлять интонацией, эмоциональной окраской, а при личном контакте - и жестами. Иной раз мы одним междометием способны передать своему партнеру больше, чем политик в часовой речи. Но эта информационная составляющая доступна и высокоразвитым животным, например, собаке. Важно заметить, что такие данные пока трудно факторизуемы и по этой причине недоступны для компьютерного анализа.

Если попытаться проанализировать полезность или эффективность получаемой информации (ее изучает ветвь семиотики, называемая прагматикой), то результат будет во многих случаях довольно печальным. При разговоре мы часто повторяем одни и те же фразы, мысли и факты, произносим огромное число слов-паразитов. Я уже не говорю о пустой болтовне по телефону, уведомляющей собеседника о количестве выпитого накануне или о покрое юбки жены соседа. Люди по какой-то причине не могут без этого. Нам приходится слушать речи высоких политиков или читать статьи или книги, смысл которых ничтожен, а содержащаяся в них информация может быть охарактеризована несколькими битами, уведомляющими слушателя или читателя об амбициях автора. Многоточие в конце романа классика во много раз информативнее. Трудно представить, чтобы ЭВМ Центра управления полетами, прежде чем передать управляющую информацию бортовой машине, перешлет ей сначала анекдот, найденный только что в Интернете. Впрочем, это относится скорее к области информатики, чем телекоммуникаций. Хотя, от умения компактно передавать наиболее существенные данные зависит эффективная работа информационных систем будущего.

Здесь мы прикасаемся к проблеме издержек, которые связаны с заголовками пакетов данных, пересылаемых по сетям. Так, при удаленном доступе (протоколы Telnet, SSh и пр.) на один переданный байт, характеризующий нажатую клавишу терминала, приходится более 50 байт заголовков и другой вспомогательной информации.

Эффективность удаленного ввода с консоли, как видите, меньше КПД паровоза. Но современные телекоммуникационные технологии пока не могут предложить ничего лучшего.

Способность передачи определенных данных посредством мимики и поз роднит человека с представителями животного мира. Животные этим методом общения пользуются более активно, отчасти компенсируя таким способом отсутствие речевого канала. Недостаточное развитие звукового информационного общения у животных, возможно, связано с малым объемом данных, которые им нужно передавать в отсутствии непосредственного визуального контакта. Звуковая сигнальная система более развита у стадных животных (например, у дельфинов или волков), к которым с этой позиции можно отнести и человека.

К сожалению, Создатель не предусмотрел передающего канала, образующего пару для нашего зрения. То ли он столкнулся с какими-то технологическими трудностями, то ли в силу своей мудрости увидел в этом истоки серьезных бедствий в будущем. Оптическая пара приемопередатчиков могла бы дать нам несравненно более мощный канал общения. Неясно только, смог бы наш мозг сформировать и обработать такой поток данных. Наш мозг - достаточно мощное аналитическое устройство, но и его возможности ограничены. Ведь время распространения возбуждения по нервным волокнам от мозга к периферийным мышцам исчисляется миллисекундами или даже десятками миллисекунд. Может быть, именно по этой причине наши глаза и уши размещены рядом с головным мозгом. Если бы глаза размещались, например, на запястьях (иногда неплохо было бы иметь там и уши), мы могли бы, разведя руки, с высокой точностью определять расстояние до любого объекта (разрешающая способность возросла бы более чем в 20 раз). Но время доступа к данным при этом неизбежно увеличилось бы, возросло бы и время отклика на сигналы опасности, что создало бы серьезные угрозы безопасности из-за замедления реакции. Кроме того, для кистей рук велика вероятность повреждений, ведь они у нас являются одним из главных исследовательских инструментов. Да и размеры человеческого тела с учетом того, что главным его инструментом выживания является мозг, полагаю, определяются, среди прочего, скоростью распространения сигналов возбуждения по нервным волокнам.

Кто знает, не является ли наблюдающаяся в последние годы акселерация (увеличение размеров человеческого тела от поколения к поколению) свидетельством вырождения человеческого рода.

Возможно, из-за больших задержек в цепях обратных связей вымерли все гигантские ящеры.

Мы хорошо и быстро решаем задачи распознавания видео- и аудиообразов, но испытываем затруднения при перемножении двух 10-значных чисел, в то время как современная ЭВМ с такой задачей справится за микросекунду или даже быстрее. Наши органы чувств и аналитический аппарат несовершенны. Осознание и количественное определение этого позволило существенно усовершенствовать создаваемые человеком средства коммуникаций. В процессе распознавания наш глаз останавливает свое внимание на определенных характерных точках изучаемого объекта.

Полагаю, что использование фиксации внимания на определенном, ограниченном числе узловых точек изображения позволит существенно сжать данные, так как другие, менее существенные детали картинки могут быть переданы менее подробно (с меньшей разрешающей способностью).

Человечество постоянно стремилось расширить возможности своих органов чувств (каналов коммуникаций с окружающей средой). Так были созданы подзорная труба и микроскоп, термометр и газоанализаторы, высокочувствительные микрофоны и радиолокаторы, а также многое другое. Подзорная труба может рассматриваться как аналоговое однонаправленное телекоммуникационное устройство.

Рассмотрим, какие искусственные каналы коммуникаций создал сам человек за последние тысячелетия своего существования. Представьте себе следующую сцену, возможно имевшую место много столетий тому назад.

На горизонте поднялось легкое облачко, которое начало расти и шириться. Постепенно становилось ясно, что это облако пыли, поднятое множеством лошадиных копыт. На вершине холма дозорные настороженно следили за приближением этого отряда, и когда увидели, что это большой отряд противника, старший дал команду разжигать сигнальный костер. Из небольшого очага, где огонь поддерживался круглые сутки, специальным захватом была извлечена пылающая головня и помещена в основание большого сигнального костра. Сначала огонь разгорался медленно, но уже через несколько минут столб дыма и огонь поднялись на многие метры. Тогда его заметил другой сигнальный отряд, размещенный в нескольких верстах от первого, и там тоже зажгли сигнальный костер.

Такая техника позволяла передать 1 бит информации (логический нуль или логическая единица) на расстояние до 100 км менее чем за один час (время сильно варьировалось в зависимости от рельефа местности и погоды). Скорость такого метода передачи данных в дневное время можно было удвоить, используя черный или белый дым. Костры часто размещались на специально построенных вышках для увеличения расстояния между ними. Естественно, этот метод был ненадежен - проливной дождь или вьюга могли помешать разжечь костер, да и видимость при этом могла оказаться весьма ограниченной.

Альтернативный метод посылки депеши с всадником позволял передать несравненно больший объем информации, но со скоростью, меньшей почти на порядок, - ведь прямых дорог тогда не было, да и водные преграды или горы могли существенно замедлить движение. В море сходный метод, с использованием сигнального масляного фонаря, давал возможность передавать короткие сообщения в пределах прямой видимости для координации действий кораблей.

Но даже такой технологии хватало для длительного существования гигантских государственных образований (от империи Александра Македонского до Римской империи). Именно со скоростью лошади либо деревянного гребного или парусного бескилевого судна передавались сообщения с периферии в центр, а оттуда в обратном направлении посылались руководящие инструкции или решения. Задержка достигала многих месяцев. Удивительно, но этого было вполне достаточно для стабильного существования государства. Вероятно, чиновники были вынуждены обдуманно принимать решения, так как быстро исправить ошибку было нельзя. Решение проблемы здесь лежит в предоставлении определенной самостоятельности властям провинции (приближение центра принятия решения к объекту управления). Еще одним средством решения проблемы большой задержки в цепи принятия решения (RTT, в сетевой терминологии) является выработка набора унифицированных правил реагирования на стандартные ситуации (в случае сетей такие правила называются протоколами). Даже применение самых мощных информационных и телекоммуникационных технологий не позволит эффективно управлять из Москвы автомобилем во Владивостоке.

Когда императоры Римской империи попытались в долговременном плане построить жесткую вертикаль власти, империя распалась сначала на две части, а позднее на большое число независимых государств.

Техника телекоммуникаций с временем RTT (Round Trip Time), равным 2-6 месяцам, просуществовала без существенных изменений более 1500 лет.

Только в XIX веке стали появляться железные дороги, пароходы и, что особенно важно, электрический телеграф и телефон. Связь с применением азбуки Морзе в 1840-х годах позволяла передать до 10 бит/с информации на расстояние десятки и сотни километров. Азбука Морзе, пожалуй, была первым широко распространенным телекоммуникационным кодом (см. таблицу 1.1). Коды здесь представляют собой последовательности точек и тире. Отличие точки от тире определяется длительностью сигнала (точке соответствует более короткий сигнал). Возможны варианты, когда точке и тире соответствуют импульсы тока или напряжения разной полярности. Такая схема исключает зависимость идентификации символа от длительности импульса. Максимальная скорость передачи классического телеграфа может составлять 950-1100 слов в час. В 1884 году начала функционировать телеграфная линия Вашингтон–Балтимор. Для линий связи в ту пору использовалась стальная проволока диаметром ~5 мм. В качестве источников электроэнергии применялись батареи с напряжением 40-120 В. Импульсы тока имели амплитуду 10-25 мА. Сама система являлась электромеханической и предполагала использование контактного ключа (вспомните шпионские фильмы периода Второй мировой войны). Позднее ключ был заменен клавиатурой. Нажатие на определенную клавишу вызывало формирование последовательности сигналов, соответствующей определенной букве, что позволяло в несколько раз ускорить процедуру передачи. Такое устройство, получившее название телетайп, было предложено Кляйшмидтом и Моркрамом в 1915 году в США. На первых порах использовались электромеханические приемные устройства, которые печатали точки и тире, что было крайне неудобно. Позднее стали применяться устройства, которые могли дешифровать коды Морзе (или Бодо) и печатать на ленте буквы. Люди старшего поколения, возможно, еще помнят бланки телеграмм, на которые были наклеены куски ленты с текстом, полученные от таких устройств.

Телекоммуникационный канал содержал два провода (см. рис. 1.1), по одному ток течет в одном направлении, по второму - в обратном. Понятно, что железо в качестве проводника не идеально (удельное сопротивление 8,8x10-6 Ом*см, да и склонность к ржавчине чего стоит), зато дешево. Лучше была бы медь или алюминий (1,56x10-6 и 2,45x10-6 Ом*см соответственно). Еще лучше серебро - 1,51x10-6 Ом x см. Золото по своим электрическим свойствам занимает положение между медью и алюминием. Полагаю, не нужно пояснять, почему каналы коммуникаций никогда не делали из серебра и тем более из золота (и с медью мороки не оберешься…). Омическое сопротивление является причиной ослабления сигнала, что ограничивает предельное расстояние передачи по проводной линии. Поэтому приходится на определенных расстояниях ставить станции ретрансляции.



Рис. 1.1. 

Код МорзеБуквы Код МорзеБуквы и символы
РусскиеЛатинскиеРусскиеЛатинские
x-АAax-x-Я
-xxxБBbx---ЙJj
x--ВWw-xx-Ь, ЪXx
--xГGgxx-xx;ЭOP
-xxДDdx----1
xЕEexx---2
xxx-ЖVvxxx--3
--xxЗZzxxxx-4
xxИIixxxxx5
-x-КKk-xxxx6
x-xxЛLl--xxx7
--МMm---xx8
-xНNn----x9
---ОOo-----0
x--xПPpxxxxx. (точка)
x-xРRrx-x-x-, (запятая)
xxxСSs-x-x-x;
-ТTt---xxx:
xx-УUuxx-xx?
xx-xФFf--xx--!
xxxxХHh------/
-x-xЦCcxx--x-_ (подчеркивание)
---xЧ_`x-x-x+ (конец)
----ШCh-xxx--
--x-ЩQq-xxx-знак раздела
-x--ЫYyx-x-x-x-начало действия
xx--Юghxxxxxxxисправление ошибки

Рассматривая таблицу кодов Морзе, следует обратить внимание на то, что наиболее часто используемые буквы имеют более короткие коды (это прежде всего е, т, а, и, н и м). Это очень важный принцип, позволяющий увеличить среднюю скорость передачи данных. Он применяется достаточно широко - можно, например, вспомнить принцип распределения символов на клавиатуре ЭВМ, в центре размещаются наиболее часто используемые буквы. Посмотрите на клавиатуру вашей ЭВМ, в центре и ближе к клавише пробела размещаются именно указанные выше буквы. Используется эта техника и при архивировании данных (алгоритм Хафмана). Кроме того, весьма важными являются паузы между буквами. Если пауза окажется малой, то трудно будет отличить НН от Ц, АА от Я и т.д.

Позднее было создано много других типов кодов (например, код Бодо для буквопечатающих аппаратов, ASCII или КОИ8) - в них, как правило, каждому символу или сигналу соответствует 5-8 бит. Сигналами отмечается, например, начало/конец передачи или исправление ошибки. Характерной особенностью ранних систем было отсутствие кодов для строчных букв. В мире много национальных алфавитов. Многие из них содержат специфические символы - достаточно вспомнить символьный набор китайского языка (в детстве меня занимал вопрос: как устроена китайская пишущая машинка?). Чтобы решить проблемы кодирования национальных алфавитов, был придуман юникод, где каждому символу ставится в соответствие два октета (байта). Это позволяет расширить многообразие символов с 256 до 65536.

Аналогичные принципы лежат в основе морских флажковых семафоров, где каждой букве соответствует определенное положение рук сигнальщика. Здесь можно также вспомнить французский семафор, изобретенный в 1830 году. Но это, так же как и сигнальные костры, можно считать первыми приложениями, использующими передачу данных по оптическим каналам связи.

Коды Морзе применялись вплоть до второй половины XX века. Их привлекательность была связана с ограниченностью требуемой полосы пропускания канала, а также с тем фактом, что для передачи были пригодны старые, довольно низкокачественные каналы.

Введя модуляцию на частоте 1500 Гц (1936 г.), удалось получить до 24 телексных каналов по одному телефонному каналу с полосой 4 КГц (50 бод). Позднее телексная сеть обрела самостоятельность и была окончательно вытеснена современными средствами связи лишь в конце XX века.

К 1950 годам большинство стран использовало три типа общедоступных сетей:

  1. Телеграфная сеть, которая просуществовала до конца XX века.
  2. Телефонная сеть (аналоговая), имеющая полосу 4 КГц и почти не менявшаяся по принципам работы с 1880-х годов. Импульсная сигнальная система практически сохранилась без изменений с 1910 года.
  3. Телексная сеть, которая применялась в основном для делового обмена.

Рассмотрим причины того, что проводные системы связи, оставшиеся в наследство от телеграфа, малопригодны для современных систем телекоммуникаций. Двухпроводные структуры, применявшиеся там, как правило, навешивались на телеграфные столбы или укладывались в виде кабелей в подземные каналы. Среднегеометрическое расстояние между проводами не было постоянным, более того, оно могло изменяться со временем, например, под действием ветра. Это приводило к тому, что волновые свойства такой структуры варьировались, и это с неизбежностью становилось причиной искажений формы сигнала для длинных участков канала. Такие искажения ограничивали предельно возможную скорость передачи и длину канала без промежуточных ретрансляторов.

На первый взгляд прогресс в области электроники может снять проблему ослабления сигнала из-за омического сопротивления проводов и исключить необходимость использования амплитуд сигналов порядка 40-100 В. Казалось бы, ставя промежуточные усилители, можно поддерживать амплитуду полезного сигнала в заданных пределах. Идеальным примером такого решения могут служить трансокеанские телефонные кабели.

Беда в том, что ослабление сигнала из-за резистивных потерь не сопровождается ослаблением шума в канале. Усилители же увеличивают уровень шума пропорционально своему коэффициенту передачи. По этой причине рано или поздно средние значения амплитуд сигнала и шума могут сравняться.

Конечно, по пути транспортировки данных и на принимающей стороне предпринимаются усилия по фильтрации шума. Так как тепловые шумы достаточно высокочастотны, в случае телеграфии или телефонии можно существенно улучшить отношение сигнал/ шум простым подавлением высокочастотной составляющей сигнала.

Передача данных по протяженным каналам через пустынные области, например, по дну океана, как было отмечено выше, требует наличия усилителей, а усилители нуждаются в питании. Обычно питание передается по тому же кабелю, и здесь также вмешиваются омические потери.

Известно, что в оптоволокне сигнал подвергается меньшему погонному ослаблению, чем в медном проводе. Было бы замечательно, если бы был найден способ, передачи энергии для оптоэлектрических усилителей по оптическому волокну.

1.2. Введение в новейшие технологии

Зависимость пропускной способности канала, обладающего определенной полосой пропускания, от отношения сигнала к шуму исследовал американский инженер и математик Клод Шеннон (1916 г.р.).

Теорема Шеннона (1948-1949) ограничивает предельную пропускную способность канала с заданной полосой пропускания и отношением "сигнал/ шум " в канале (формула получена в предположении белого гауссова шума):

(1.1)

Для стандартного телефонного канала , следовательно, теоретический предел для публичной коммутируемой телефонной сети равен примерно 30 Кбит/с. Ослабление для телефонных скрученных пар составляет около 15 дБ/км, дополнительные ограничения возникают из-за перекрестных наводок в многожильном кабеле. Стандартные проводные линии связи имеют ослабление 6 дБ/км на частоте 800 Гц, или 10 дБ/км на частоте 1600 Гц. С самого начала развития телефонии проводная система и оборудование проектировалось исходя из возможностей человеческого уха и голосового аппарата. По этой причине все традиционные системы телефонии имели полосу пропускания 3-3,5 КГц.

Из теоремы Шеннона следует, что при нулевом уровне шума можно получить сколь угодно высокую скорость передачи при сколь угодно низкой полосе пропускания канала!

Шеннон, по существу, развил идеи Найквиста. Если используется двоичное представление сигнала, то согласно теореме Найквиста [1924] максимальная скорость передачи данных по каналу без шума составит

(1.2)

где - полоса пропускания канала в Гц, а - число дискретных уровней сигнала на выходе цифрового преобразователя. Суть теоремы Найквиста-Котельникова заключается в том, что при полосе сигнала частота стробирования должна быть больше , чтобы принимающая сторона могла корректно восстановить форму исходного сигнала. По этой причине для стандартного телефонного канала с полосой , при отсутствии шумов и при нельзя получить скорость передачи более 6 Кбит/с. Здесь нет противоречия с теоремой Шеннона. Ведь в отсутствие шумов значение не будет иметь ограничения сверху! Здесь не имеется в виду, что максимальная амплитуда сигнала может достигнуть напряжения в несколько киловольт. Согласитесь, телефонных абонентов такая перспектива вряд ли бы порадовала. Но в отсутствии шумов можно и в пределах одного вольта представить себе любое число уровней сигнала. Фактически теорема Шеннона проясняет то, как уровень шумов ограничивает предельное значение при заданной максимальной амплитуде сигнала.

По этой причине висящие еще кое-где телеграфные провода обречены. Надо заметить, что и медные телефонные провода, закопанные в землю, ждет та же участь. Предстоит выкопать миллионы тонн медных кабелей (похоже, российские бомжи уже начали эту работу). Медные провода будут заменены оптоволоконными волноводами.

Следует иметь в виду, что реальная пропускная способность для конкретного пользователя определяется не только полосой пропускания канала, но и его загруженностью трафиком других клиентов. Ведь и пропускная способность автомобильной магистрали зависит не только от числа полос, но и от загруженности автомобилями.

В 1876 году Э. Грей и А.Г. Белл одновременно сделали заявку на изобретение телефонного аппарата. Белл откупил у Грея права на это изобретение, усовершенствовал предложенное решение и совместно с Блейком и Эдисоном организовал первые телефонные сети. Вначале телефонная связь использовала электромеханические схемы преобразования и передачи голоса. Трансатлантический телефонный кабель был проложен в 1956 году. Современная телефония базируется на сотнях, а возможно, и тысячах изобретений. Системы коммутации телефонных каналов прошли путь от ручного переключения через этап электромеханических шаговых искателей к аналого-цифровым коммутаторам. Первый автоматический коммутатор был разработан Штроугером еще в XIX веке. К этому его подтолкнула осведомленность конкурентов о его делах, и он счел, что любопытные операторы ручной телефонной станции ему ни к чему.

Телефония стимулировала многие области электроники. Вскоре после Второй мировой войны стала широко внедряться импульсно-кодовая модуляция, пакетная схема передачи данных, а позднее и цифровая телефония (ISDN).

В 1902 году Артур Корн (Германия) запатентовал систему фотоэлектрического сканирования изображения, а в 1910 году заработала первая международная факсимильная связь Берлин-Париж-Лондон. До 60-х годов прошлого века рынок факсимильной аппаратуры был ограничен.

В 1968 году международная комиссия CCITT разработала рекомендации по факсимильному оборудованию, которое было способно передавать страницу за 6 минут при разрешении 3,85 линий на мм. Позднее, в 1976 году аналоговая факсимильная техника была улучшена. Это позволило сократить время передачи страницы до 3 минут. В 1980 году был разработан стандарт для цифровых факс-машин (группа 3), в которых уже предусматривалось сжатие информации, что позволяло сократить время передачи стандартной страницы до 1 мин при скорости передачи 4800 бит/с. Следует иметь в виду, что сжатие информации в сочетании с ошибками пересылки может приводить к неузнаваемости изображения - локальной или полной. По этой причине число линий сканирования, которые используются при обработке изображения с целью сжатия, может варьироваться (1-4) и определяется в результате диалога между отправителем и получателем, а передача каждой скан-линии завершается довольно длинным кодом, предназначенным для надежного распознавания завершения строки сканирования, а также для коррекции ошибок. Факсимильное оборудование группы 3 может и не обеспечивать сжатия передаваемых (принимаемых) данных. В 1984 году разработаны требования к факс-аппаратам группы 4. Система базируется на двухмерной системе кодирования изображения (MMR - Modified Modified Reed).

Следует учитывать, что зона сканирования факс-машины больше размера изображения и всегда имеются пустые строки и поля, что предоставляет дополнительные возможности для сжатия передаваемой информации.

В последнее время появились факс-аппараты, которые печатают изображение на обычной бумаге с разрешением 300-400 точек на дюйм. Такая схема удобна, но имеет некоторые недостатки. Эти аппараты дороги; печать может начаться не ранее, чем будет передана вся страница; передающий аппарат может иметь более низкое разрешение; нужно уметь адаптироваться к любому разрешению, а значит, скорость печати изображения при низком разрешении остается столь же низкой, как и при высокой.

Широкое внедрение электронной почты, похоже, окончательно приговорило факс-технологию.

В 1864 году Дж. Максвелл теоретически доказал, что вокруг проводника с переменным током должно возникать переменное электромагнитное поле, распространяющееся со скоростью света. В 1886-1889 годах Г. Герц экспериментально показал существование электромагнитных волн. А.С. Попов развил идеи Герца и в 1895 году продемонстрировал свой грозоотметчик. Первые радиопередатчики были построены и запатентованы Маркони и Слаби. Так появилась радиосвязь. В начале для радиосвязи использовались схемы на основе азбуки Морзе. Позднее по мере совершенствования техники и улучшения избирательной способности приемников появилась возможность голосовой связи. Это изобретение стало основой радиолокации, мобильной связи, телевидения, радиорелейных и спутниковых (первый геостационарный коммуникационный спутник заработал в 1965 году) коммуникаций. Впечатляющие успехи здесь достигнуты в связи с применением цифровых методов, например, методики мультиплексирования CDMA (math Division Multiple Access). В перспективе только радио (из числа современных технологий) может обеспечить межпланетные связи. Лазерные методы пригодны пока для ограниченных расстояний, максимум до Луны.

Телевидение. Первые попытки передачи и воспроизведения изображения с помощью диска Нипкова (Германия) относятся к 1884 году. В 1907 году Б.Г. Розингом было предложено использовать для приема изображения электронно-лучевую трубку (ЭЛТ), прототип видиконов и ортиконов. Устройство отображения на принимающей стороне также предполагало применение ЭЛТ. Электронное телевидение возникло в 30-х годах прошлого века (усилиями В.К. Зворыкина и Ф. Франсуорта). Число элементов N в одном кадре, на которое разлагается изображение в действующем в РФ стандарте (625 строк и 25 кадр./с), определяется по формуле

где - число строк, а - отношение ширины кадра к его высоте (для широкоформатного варианта отношение будет иным). Отсюда следует, что верхняя частота видеосигнала

где - число кадров в секунду. Здесь следует немного добавить полосы для звукового сопровождения, передачи цвета и различных служебных целей, например, для синхронизации передатчика и приемника. Именно это определяет необходимую полосу для каждого из телевизионных каналов, число которых может достигать уже сегодня 20-60, что требует полосу при традиционной схеме более 130-390 МГц.

Частота строчной развертки при этом составляет . Несущая частота должна быть в раз 8-10 больше 6,5 МГц, то есть превышать 48 МГц. Реально большинство каналов работают на частотах от 100 до 900 МГц. Радиоволны в этом диапазоне неспособны огибать препятствия и по этой причине гарантируют надежный прием лишь при непосредственной видимости между антеннами передатчика и приемника. Кривизна земли является естественным ограничителем максимального радиуса надежного приема телевизионного сигнала. Телевидение высокого разрешения, идущее на смену традиционному, требует еще большей полосы и частот. На подходе также и стереотелевидение. Телевидение стало основой и видеотелефонии. В городах телевизионный сигнал чаще передается по оптоволоконным кабелям.

Уже более десятилетия существует система стереотелевидения с проецированием изображения непосредственно на глазное дно человека. Эта система используется в шлемах устройств виртуальной реальности.

В последние годы в качестве приемного устройства ортиконы, суперортиконы и кремниконы вытесняются приборами с зарядовой связью (ПЗС), которые не требуют высоковольтных источников питания, во много раз более компактны и существенно дешевле. В последнее время традиционные ЭЛТ заменяются жидкокристаллическими устройствами отображения, плазменными панелями и различными системами проекционного телевидения.

В 50-х годах прошлого века начался быстрый прогресс в области вычислительной техники и микроэлектроники, качественно изменивших все направления развития телекоммуникаций. Чтобы увеличить пропускную способность канала связи, можно расширять его полосу или улучшать отношение сигнала к шуму (см. выше теорему Шеннона). Первое, что приходит в голову, это увеличение амплитуды сигнала (вспомните 40-120-вольтные сигналы в первых телеграфах). Пока в электронике царили вакуумные лампы, такие и даже большие амплитуды были с технической точки зрения вполне возможны, хотя вряд ли рациональны. Но после внедрения полупроводниковых приборов эти уровни сигналов стали совершенно недопустимы. Это можно понять из вольтамперной характеристики такого прибора (см. рис. 1.2).

Большие амплитуды нежелательны, из-за пробивного напряжения (Vпр) при обратном смещении перехода. Можно, конечно, увеличить толщину перехода или сделать переход многослойным, но это ухудшит быстродействие прибора. Уровни сигнала выбраны по этой причине равными ~ 2,5 В.

Сфера телекоммуникаций всегда сильно зависела от уровня развития технологий. Начиналось все с электромеханических устройств, но современное цифровое телевидение и Интернет немыслимы без использования новейших достижений микроэлектроники.

В 1970 году в British Telecom были разработаны основные принципы еще одного вида передачи графической информации - телетекста. Первые опыты по его внедрению относятся к 1979 году. Стандарт на мозаичное представление символов был принят CEPT в 1983 году. Каждому символу ставится в соответствие код длиной в 7-8 бит. На экране такой символ отображается с помощью специального знакового генератора, использующего таблицу.

Вольтамперная характеристика n-p перехода для кремния


Рис. 1.2.  Вольтамперная характеристика n-p перехода для кремния

Полному экрану видеотекста, содержащему 24 строки по 40 символов, соответствует 960 байт, для передачи которых по коммутируемой телефонной сети требуется 6,4 секунды. D-канал ISDN может пропустить эту информацию за 1 секунду, а B-канал быстрее - за 0,1 с. Телетекст позволяет более эффективно использовать каналы связи и не налагает чрезмерных требований на устройства отображения.

Многие современные проблемы телекоммуникаций, например, безопасность каналов связи, проявили себя с самого начала. Достаточно вспомнить, как граф Монте-Кристо разорил банкира барона Данглара, послав с испано-французской границы фальсифицированное телеграфное сообщение. Так что сетевые атаки типа "man-in-the-middle" имеют почти двухвековую историю. Я уже не говорю об изощренных методах подслушивания телефонных переговоров. Развитие электронной почты сделало осуществимой мечту всех руководителей черных кабинетов (термин, используемый для структур, которые занимаются нелегальным вскрытием и прочтением чужих писем): доставку им писем самим отправителем. Достаточно вспомнить российскую систему СОРМ. Моральная сторона этого дела никогда и никого не останавливала - государственные структуры во все времена были аморальны.

Следует заметить, что впечатляющий прогресс в области телекоммуникаций на протяжении XX века мало что поменял в сфере удаленного управления. Может показаться, что возможность передавать сигнал в любую точку земного шара за доли секунды позволяют решить любую проблему удаленного управления. Это совсем не так. Любой сложный объект выдает достаточно большой объем данных, а если добавить сюда информацию об окружающей среде, то объем данных, подлежащих обработке, становится весьма велик. В прессе вы, вероятно, читали сообщения о том, что водитель авто не справился с управлением (при этом совсем не обязательно, чтобы он был нетрезв). Обычно это означает, что он отвлекся, объем воспринимаемой и перерабатываемой информации сократился, и с результатом разбираются в лучшем случае гаишники…

Теперь рассмотрим случай удаленного объекта. Человек, как уже отмечалось, может переработать ограниченный объем данных в единицу времени. Для решения этой проблемы человечество успешно научилось использовать компьютеры. Но и возможности ЭВМ не беспредельны. Обычно при управлении удаленным объектом часть решений все равно надо принимать локально. Если перепоручать это удаленному центру, рано или поздно одно из сообщений будет искажено или утрачено при передаче. Повторная пересылка данных приведет к большой задержке в принятии решения и катастрофа может стать неизбежной. Несмотря на сенсационный успех посадки беспилотного космического корабля "Буран", мне представляется невероятным, чтобы пассажирские самолеты стали летать без пилотов. А ведь на "Буране" большая часть решений принималась локально, а не в центральном пункте управления.

Как сложными объектами, так и сетями ЭВМ крайне неэффективно управлять удаленно, - здесь, как и в человеческом обществе, следует совмещать удаленное управление с локальным. Общность проблем заключается в единстве принципов сбора, транспортировки и обработки информации. Интернет с самого начала не имел единого центра управления - именно этим объясняется его высокая живучесть.

Человечество во все времена использовало не слишком надежную технику, не очень высококачественные средства телекоммуникаций и достаточно несовершенные процедуры. В настоящее время вычислительные машины во много раз надежнее, чем 40 лет назад, каналы связи заметно сократили частоту ошибок при передаче, однако удельное число ошибок на одну программу, похоже, осталось неизменным.

Но никогда жизнь человека не зависела так сильно от не слишком надежной техники и программ, как сегодня. Все, начиная с мобильного телефона, систем жизнеобеспечения в больнице, платежных средств, управления транспортными потоками и кончая Интернетом, использует изощренные вычислительные средства и программы, связанные друг с другом посредством каналов связи конечной надежности.

Сейчас как никогда нужно научиться, работая с ненадежной техникой, с программами, содержащими ошибки, и с каналами, которые регулярно допускают сбои, добиваться достаточно надежного и достоверного результата, чтобы выжить.

Люди накопили большой опыт в этой области. Если вы что-то не расслышали из-за шума, вы просите повторить сказанное (современные телекоммуникационные средства используют аналогичный алгоритм). Для повышения надежности в каналах используется контроль по четности и избыточные коды для коррекции ошибок. Там, где нужна повышенная надежность вычислений, применяются два вычислителя. Результат воспринимается лишь при идентичных результатах расчета. Но это не поможет, если на обоих вычислителях используются программы, содержащие идентичные ошибки. Можно, конечно, поручить написание программ двум разным фирмам, но это слишком дорого и не всегда возможно.

Таким образом, грядущему поколению людей нужно найти подходы к проблеме, как при ненадежных компонентах создать надежную ЭВМ и как, получив от программистов программу, имеющую десятки ошибок, тем не менее всегда иметь корректный результат.

Это связано не с тем, что компоненты станут менее надежны, совсем наоборот - их надежность заметно возрастет. Но число используемых составляющих еще больше увеличится.

А вот в области повышения корректности программного обеспечения, в том числе того, которое встроено в оборудование (маршрутизаторы, коммутаторы, мобильные телефоны, кабельные модемы, системы цифрового ТВ и т.д.), прогресс не очевиден. Достаточно вспомнить историю эволюции ОС Windows. Здесь следует ради справедливости учесть, что сложность системного программного обеспечения растет лавинообразно. Создается оно большими коллективами людей, часть из которых даже незнакома друг с другом. Например, исходный код ядра системы LINUX содержит сейчас существенно более миллиона строк программы. Требовать, чтобы все эти строки были безукоризненны и взаимосогласованны, можно, но добиться этого практически нереально.

Нужно искать и разрабатывать новые принципы для создания сложного программного обеспечения, которые бы гарантировали более высокий стандарт качества.

Сейчас человечество находится в фазе начала формирования информационного общества. При этом развиваются противоречивые процессы. С одной стороны, создается великое множество оборудования и программ с одной и той же функциональностью. Это хорошо, так как за счет конкуренции стимулируется прогресс и снижаются цены. Но с другой стороны, это многообразие вынуждает создавать великое множество средств взаимосогласования (интерфейсов), как аппаратных, так и программных.

В такой ситуации время от времени возникает мысль выработать единый стандарт, которому бы следовали все разработки (оборудования и программ), чтобы они могли работать друг с другом. При этом может приводиться пример сети Интернет. Именно благодаря стандартизации протоколов эта сеть стала всемирной.

На этом пути нас поджидает опасная ловушка. Тотальная унификация (так же как и тотальная централизация) сделает систему уязвимой для сбоев или целенаправленных атак.

Унификация (ОС, приложений и пр.) особенно опасна, так как унифицированная система может быть разрушена одним "червем" или вирусом за считанные минуты. Создатель был достаточно мудр, чтобы не сделать людей клонами, и снабдил их разными наборами генов.

1.3. Модуляция и кодирование при передаче данных

Передача данных уже на самых ранних этапах использовала цифровые подходы (например, коды Бодо). Понятно, что когда информация предназначена непосредственно для человека, она должна быть соответствующим образом преобразована. Это прежде всего относится к передаче голоса. По каналам связи передаются, как правило, модулированные сигналы. Несущая частота передачи, (например, при трансляции по радиоканалу) на порядок превосходит частоты голосового сигнала. Модуляция позволяет решить проблему согласования частот. Но следует иметь в виду, что модуляция используется не только в радиоканалах. Современные цифровые методы передачи также немыслимы без применения модуляции.

Человек - аналоговое устройство с точки зрения средств коммуникаций, которыми он располагает. Элементы цифровой техники можно обнаружить лишь на глазном дне.

Существует множество различных видов модуляции. Исторически первыми появились аналоговые способы модуляции: амплитудная, частотная, фазовая и различные их комбинации. Это было связано с технологической простотой их реализации. Цифровые методы стали использоваться лишь около 50 лет назад.

Для преобразования частот используется перемножение сигналов. Пусть мы имеем два синусоидальных сигнала: и . Из тригонометрии известно, что

(1.3)

Это означает, что в результате перемножения вместо двух частот и мы имеем две новые частоты и с амплитудой . Если входной сигнал имеет полосу , то после перемножения с сигналом, имеющим частоту (несущая частота), получим сигнал с полосой в интервале от до . Это преобразование проиллюстрировано на рис. 1.3 (по вертикальной оси отложена спектральная плотность сигнала ). На практике это преобразование выполняется с помощью смесителей или гетеродинов, частота называется сигналом гетеродина или несущей.

Частотное преобразование


Рис. 1.3.  Частотное преобразование

Получение исходного сигнала из преобразованного достигается путем обратного преобразования, которое сводится к умножению полученного сигнала на , где . При таком обратном преобразовании мы получим сигнал с исходным частотным диапазоном. Помимо этого будет получен сигнал с полосой от до . Так как обычно много больше , серьезных проблем это не вызывает - достаточно воспользоваться соответствующим фильтром. Этому методу обратного преобразования присущи некоторые недостатки. Если сигнал имеет фазовый сдвиг по отношению к тому, что имел сигнал, использованный при прямом преобразовании, то амплитуда выходного сигнала будет пропорциональна . Понятно, что при вариации фазы амплитуда будет меняться, а при станет нулевой. По этой причине должны быть предприняты специальные меры для синхронизации этих сигналов ( передатчика и приемника).

Синхронизация передатчика и приемника в каналах коммуникаций является одной из важнейших задач.

Соотношение (1.1) используется при реализации амплитудной, частотной или фазовой модуляции. Так, в случае амплитудной модуляции, при временной вариации будет изменяться и амплитуда выходного сигнала ( - амплитуда несущей частоты при этом остается постоянной; при этом может также варьироваться). Форма сигнала на выходе такого преобразователя имеет вид . Для получения формы исходного сигнала на принимающей стороне используется схема детектора, на выходе которого получается сигнал, пропорциональный модулю огибающей функции входного сигнала. Существуют и другие методы демодуляции амплитудно-модулированного сигнала. Главным недостатком метода амплитудной модуляции является возможность нелинейных искажений из-за перемодуляции (когда амплитуда модулирующего сигнала слишком велика).

При частотной и фазовой модуляции амплитуда передаваемого сигнала остается почти постоянной, что исключает нелинейные искажения, связанные с широким динамическим амплитудным диапазоном. Выходной сигнал для этого вида модуляции имеет вид , где зависит от формы преобразуемого входного сигнала. Часто используется комбинация амплитудной и фазовой модуляции, которая носит название квадратурной модуляции.

Системы передачи данных с амплитудной или частотной модуляцией являются аналоговыми системами и по этой причине весьма чувствительны к шумам на входе приемника.

Применение цифровых методов пересылки информации увеличивает вероятность корректной доставки. Если для аналоговой передачи требуется отношение "сигнал/шум" на уровне 40-60 дБ, то при цифровой передаче достаточно 10-12 дБ.

Выбор типа модуляции зависит от стоящей задачи и от характеристик канала (полосы пропускания, ослабления сигнала и т.д.). Частотная модуляция менее чувствительна к амплитудным флуктуациям сигнала. Ослабление сигнала может варьироваться во времени из-за изменений в транспортной среде, что довольно типично для коммутируемых телефонных сетей. В любом случае на передающей стороне необходим модулятор, а на принимающей - демодулятор. Так как обмен обычно двунаправлен, эти устройства объединяются в одном приборе, который называется модемом.

В модемах применимы несколько видов модуляции (Таблица 1.1).

В QAM -модуляции используется 8/16 комбинаций "амплитуда-фаза" (см. рис. 1.4). Понятно, что такой тип модуляции более уязвим для шумов.

Если имеется субъектов, которые хотят осуществлять обмен информацией в одном и том же частотном диапазоне, они должны осуществлять обмен по очереди (метод мультиплексирования по времени - TDM) или передаваемые ими сигналы должны отличаться каким-то еще параметром помимо частоты (например, амплитудой или направлением излучения). Если это условие не выполнено, весьма вероятно искажение данных при доставке. Вы наверняка сталкивались с этим, когда за праздничным столом пытаются говорить сразу несколько человек.

Таблица 1.1.
FSK(Frequency Shift Keying) - ступенчатое переключение частоты синусоидального сигнала от к при неизменной амплитуде; частоте ставится в соответствие логический нуль, а - логическая единица
BPSK(Binary Phase-Shift Keying) - скачкообразное переключение фазы синусоидального сигнала на при неизменной амплитуде; при этом фазе 0 ставится в соответствие логический нуль, а - логическая единица
DPSK(Differential Phase Shift Keying) - метод, при котором изменяется фаза несущей частоты при постоянной амплитуде и частоте. Разновидность PSK, при которой кодируется лишь изменение сигнала
QAM (Quadrature Amplitude Modulation) - комбинация амплитудной и фазовой модуляции, позволяет осуществить кодирование 8 бит на бод
QPSK(Quadrature Phase-Shift Keying) - квадратурная фазовая модуляция. Использует 4 фиксированных значения фазы 0, , и , требует в два раза более узкую полосу, чем PSK, и по этой причине весьма популярна
TCM(Trellis mathd Modulation) - метод предполагает использование избыточности, каждый бод несет дополнительный бит, который позволяет более точно восстановить информационную битовую последовательность. При кодировании сигнала используется метод QAM. Метод реализован в современных высокоскоростных модемах и позволяет снизить требования к отношению "сигнал/ шум " на 4-5 дБ

QAM-модуляция с 3 битами на бод (слева) и 4 битами на бод (справа)


Рис. 1.4.  QAM-модуляция с 3 битами на бод (слева) и 4 битами на бод (справа)

Передаваемый сигнал характеризуется большим числом параметров - частотой, фазой, амплитудой, параметрами, определяющими его пространственное распространение, уровнем шума и т.д. В случае использования широкополосного сигнала, который представляет собой суперпозицию определенного числа синусоидальных составляющих, число параметров пропорционально возрастает. Чем больше таких параметров анализируется принимающей стороной одновременно, тем большее отношение "сигнал- шум " может быть достигнуто.

Будущее за системами, анализирующими всю совокупность параметров входного сигнала. Современные мощные и относительно дешевые сигнальные процессоры создают технологическую базу для этого.

Впервые импульсно-кодовая модуляция (ИКМ) была применена для голосового сигнала в 1937 году Алеком Ривсом. Это было сделано для преодоления проблемы накопления искажений и шумов в процессе ретрансляции аналоговых сигналов. Тогда впервые было использовано стробирование с частотой 8кГц при 8-битовом аналого-цифровом преобразовании (АЦП). В то время еще не существовало эффективных технологических средств для реализации такой схемы.

Цифровая связь берет свое начало в 1970-х годах. Именно в это время начинается разработка больших интегральных схем оптоэлектроники. В процессе разработки ISDN-системы решались следующие проблемы.

В 1984 году CCITT опубликовало рекомендации для стандартов интерфейсов и услуг ISDN (Integrated System Digital Network). Впервые услуги ISDN стали доступны благодаря усилиям British Telecom в июне 1985 года. В 1986 году принят стандарт Х.21. К 1988 году такие услуги стали доступны в 60 городах Великобритании. С этого времени система ISDN стала признанным международным стандартом цифровой телефонной и факсимильной связи. При этом пользователи продолжали пользоваться двухпроводными аналоговыми телефонными аппаратами.

С 1985 года Международный телекоммуникационный союз (ITU) начал обсуждать возможность создания широкополосной версии ISDN. Сначала речь шла о полосе 45-53 Мбит/c (вместо 1,544 Мбит/с). Такой стандарт был создан в июне 1989 года. Базовыми частотами передачи, помимо упомянутых выше, были признаны 155 Мбит/с (STM-1), 622 Мбит/с (STM-4) и 2,4 Гбит/c (STS-48C).

На физическом уровне в ISDN используется кодово-импульсная модуляция с частотой стробирования 8 кГц (что превосходит ограничение теоремы Найквиста-Котельникова = 2*3,3 КГц, где 3,3 КГц - полоса пропускания канала для традиционной телефонной сети).

Tеорема Найквиста требует, чтобы частота стробирования сигнала всегда превосходила полосу обрабатываемого сигнала более чем в два раза.

Очевидность этой теоремы понятна и без доказательства. Например, при частоте стробирования в два раза больше преобразуемой частоты результат зависит от фазы, и при сдвиге фаз, равном нулю, результат стробирования будет всегда давать нулевой уровень сигнала.

Схема ИКМ входного () сигнала показана на рис. 1.5. Совокупность представленных модулей обычно называется кодеком (кодер-декодер). Блок Sample&hold ("устройство выборки и хранения") служит для формирования последовательности импульсов с амплитудой, равной мгновенному значению уровня входного сигнала в момент прихода строб-импульса.

Аналого-цифровой преобразователь (АЦП) имеет логарифмическую характеристику и конвертирует амплитуду импульса на выходе Sample&hold в 8-битовый код в Европе и в 7-битовый - в США и Японии. Этот код передается в интерфейс ISDN и далее в сеть. Получатель воспринимает коды через цифровой интерфейс, осуществляет преобразование 8-битовых кодов в 12-битовые. При этом понятно, что не всякие коды будут возможны (преобразование носит экспоненциальный характер). Полученные 12-битовые коды передаются на вход цифро-аналогового преобразователя (ЦАП). Полученный ступенчатый сигнал сглаживается выходным фильтром и передается на устройство воспроизведения. Даже из этой достаточно общей схемы видно, что в процессе прямого (АЦП) и обратного (ЦАП) преобразований вносятся неизбежные искажения. Источником ошибок служит каждый из показанных на рисунке блоков. Но главным источником искажений является АЦП, так как здесь непрерывный спектр аналоговых значений замещается рядом дискретных уровней, которые больше или меньше реального значения в среднем на половину дискрета преобразования (1/256). Эти искажения называются шумом дискретизации.

Схема импульсно-кодовой модуляции


Рис. 1.5.  Схема импульсно-кодовой модуляции

При разумных предположениях (биполярность сигнала , однородность распределения уровня сигнала в рабочем диапазоне, ошибка квантования будет не более , где - шаг квантования, и т.д.) ( - шум квантования - при этом равен ). Это означает, что при уровнях квантования и при условии, что входной сигнал может варьироваться во всем рабочем диапазоне АЦП, отношение "сигнал-шум" (), связанное с самим процессом квантования, будет равно (при оно составит 48 дБ). Отсюда следует известное значение относительного расстояния между уровнями квантования, равное 6 дБ. Все вышесказанное справедливо только для преобразования голоса.

Прогресс последних лет в области повышения пропускной способности каналов в заметной мере связан с развитием технологии передачи цифровых данных. Здесь нужно решить проблемы синхронизации, эффективного кодирования и надежной передачи. Чем шире импульс, тем большую энергию он несет, тем лучше отношение "сигнал/шум", но тем ниже и предельная скорость передачи. Раньше каждому двоичному разряду соответствовал импульс или перепад в кодовой последовательности. Сегодня перепад возникает лишь при смене последовательности нулей на последовательность единиц или наоборот. Цифровой метод передачи имеет целый ряд преимуществ перед аналоговым.

На рис. 1.6 представлена уже не последовательность импульсов, а последовательность переходов из одного состояния в другое. При этом уровень соответствует логической <1>, а - логическому <0>.

Переключение из состояния <0> в состояние <1> и наоборот (бод) уже не соответствует передаче одного бита.

Теоретически число нулей или единиц, следующих подряд, не лимитировано. По этой причине на принимающей стороне рано или поздно возникает проблема синхронизации временных шкал передатчика и приемника.

Для решения этой проблемы существует два метода передачи данных: синхронный и асинхронный. Асинхронный метод используется для относительно низкоскоростных каналов передачи и автономного оборудования. Синхронный метод применяется в скоростных каналах и базируется на пересылке синхронизующего тактового сигнала по отдельному каналу или путем совмещения его с передаваемыми данными.

Передача цифровых кодов по передающей линии


Рис. 1.6.  Передача цифровых кодов по передающей линии

При наличии синхронизации приемника и передатчика можно допустить более длинные последовательности нулей или единиц, что способствует повышению пропускной способности.

Типичный кадр данных в асинхронном канале начинается со стартового бита, за которым следует 8 битов данных. Завершается такой кадр одним или двумя стоп-битами. Стартовый бит имеет полярность, противоположную пассивному состоянию линии, и переводит приемник в активное состояние. Пример передачи такого кадра показан на рис. 1.7.

Пример передачи кадра в асинхронном режиме


Рис. 1.7.  Пример передачи кадра в асинхронном режиме

Начальный и стоп-биты на каждый байт данных снижают пропускную способность канала и по этой причине применяются только для низких скоростей обмена. Увеличение же длины блока данных приводит к ужесточению требований к точности синхронизации. При использовании синхронного метода передачи необходимы специальные меры для выделения кадра в общем потоке данных. Для решения этой задачи нужна специальная сигнатура (последовательность сигналов). Если такая последовательность встречается внутри кадра, она видоизменяется путем ввода в нее двоичных нулей (bit stuffing). Синхронный приемник нуждается в синхронизирующем сигнале, передаваемом передатчиком. Обычно это реализуется путем введения определенного вида кодирования сигнала, например, биполярного кодирования. В этом случае используется три уровня сигнала: соответствует логической единице; - логическому нулю, а 0 вольт логическому нулю или единице. Пример такого типа кодирования показан на рис. 1.8.

Другой разновидностью такого рода кодирования является использование манчестерского кода. В этой схеме логической единице и нулю соответствуют не уровни напряжения, а перепады.

Так, логической единице поставлен в соответствие переход с низкого уровня на высокий, а логическому нулю - с высокого на низкий (схема NRZ - Non-Return-to-Zero). Пример представления сигнала с использованием манчестерского кода показан на рис. 1.9. Манчестерский код является одним из старейших. В нем хорошо решена проблема синхронизации, но полоса пропускания канала здесь используется неоптимально.

Пример биполярного кодирования сигнала (схема RZ – Return-to-Zero)


Рис. 1.8.  Пример биполярного кодирования сигнала (схема RZ – Return-to-Zero)

Оба кода, описанные выше, требуют удвоения полосы для передачи данных. Этого можно избежать, используя схему цифрового фазирования DPLL (Digital Phase Locked Loop). Эта схема предполагает применение кодирования NRZI (Non-Return-Zero-Inverted). Здесь сигнал сначала кодируется с использованием кода NRZ и только затем последовательность преобразуется в NRZI. В процессе такого преобразования логический нуль из NRZ вызывает определенную модификацию исходного кода, в то время как логическая единица не приводит ни к каким вариациям. Здесь создаются условия, при которых количество переходов 0/1 и 1/0 в единицу времени достаточно велико, чтобы обеспечить надежную синхронизацию. Схема NRZI -кодирования с использованием DPLL проиллюстрирована на рис. 1.10.

Симметричная скрученная пара проводов с волновым сопротивлением 120 Ом обеспечивает пропускную способность 2048 Мбит/с (система кодирования hDB3, длина проводов ~100 м). Номинальное значение перепада обычно составляет 750 мВ.

Наиболее простая схема передача данных путем представления <0> и <1> с помощью двух уровней напряжения не применяется из-за того, что линия обычно используется для подачи питания на оконечное (терминальное) оборудование. Проблема может быть решена, если <0> характеризуется 0 вольт (приращение над постоянным уровнем), а <1> попеременно сигналами положительной и отрицательной полярности (AMI - Alternate Mark Inversion). Такая схема создает проблему синхронизации, когда подряд следует большое число нулей. Необходимо, чтобы было достаточное число переходов 0->1 и 1->0 в единицу времени. Существует также схема ADI (Alternate Digit Inversion), где инверсия полярности производится для каждого из передаваемых двоичных разрядов. Но эта схема менее эффективна.



Рис. 1.9. 



Рис. 1.10. 

По этой причине система кодирования AMI была модифицирована в hDB3 (high Density Bipolar 3). Цифра 3 указывает на максимально возможное число последовательных нулей в кодовой последовательности. AMI требует, чтобы <1> передавались попеременно сигналами противоположной полярности, так, последовательность должна быть передана как . hDB3 заменяет любую группу из 4 нулей последовательностью из 3 нулей, за которой следует нарушение последовательности отображения единиц. Таким образом, последовательность будет отображена как (возможен инверсный вариант, когда символы "+" заменяются на "-" и наоборот). Дальнейшего улучшения балансировки сигнала можно достичь, если заменить код, содержащий 4 нуля подряд, последовательностью B00V (B - обычный биполярный сигнал, V - нарушение последовательности). В США используют схему кодировки B8ZS (Bipolar with 8 Zeros Substitution), где 8 нулей кодируются как 00B0VB0V. В 1986 году ANSI принял решение о введение схемы кодирования 2B1Q (2 Binary into 1 Quaternary). При этой схеме каждая пара бит преобразуется в четверичные элементы . Код синхронизации (SW - Synchronization Word) при этом содержит 9 четверичных элементов, повторяющихся каждые 1,5 мс:

+3 +3 -3 -3 -3 +3 -3 +3 +3 (+3 соответствует +2,5 В)

Таблица 1.2.
Название методаРасшифровкаОписание
1B2BОдин бит исходной последовательности кодируется комбинацией из 2 бит половинной длительности
B3ZS/B6ZS/B8ZSBipolar with 3/6/8 Zero SubstitutionБиполярный код с заменой 000/000000/00000000 на последовательности 00V/0VB0VB/000VB0VB (или B0V для B3ZS)
HDB2 (/3)High Density Bipolar code of order 2 (/3)Биполярный код высокой плотности второго (третьего) порядка. Эквивалентен коду с возвратом к нулю (RZ) и с инверсией для логических 1. Последовательность 000 (соответственно 0000) заменяется на 00V или B0V (соответственно 000V или B00V). Число B сигналов между V-сигналами всегда нечетно. В результате возникает трехуровневый код
CMICoded Mark InversionДвухуровневый двоичный код (класса 1B2B) без возвращения к нулю. Используется инверсия полярности для каждой логической 1 (единице ставится в соответствие 11 или 00), а для каждого логического нуля вводится смена полярности в середине интервала

В Германии используется схема кодировки 4B3T (4 двоичных разряда кодируются в 3 циклических кода).

Двоичная информация передается блоками, обычно называемыми кадрами (или пакетами). В рамках системы 2B1Q для передачи 144 Кбит/с требуется частота модуляции не менее 72 Кбод. На практике для передачи кадров и выполнения функций управления необходимо создать дополнительные виртуальные каналы. Это доводит требуемую частоту модуляции до 80 Кбод. Сводные данные по наиболее популярным схемам кодирования приведены в таблице 1.2.

Кадр содержит 120 пар бит (quats), что соответствует 240 бит, 8 кадров образуют мультикадр. Первый пакет мультикадра выделяется путем посылки Inverted Synchronization Word (ISW). В конце каждого кадра всегда присутствуют специальные биты, которые служат для целей управления (бит активации, бит холодного старта, биты состояния питания, биты управления синхронизацией и т.д.).

Лекция 2. Особенности и алгоритмы кодирования голоса

Особенности и методы кодирования голоса. Дифференциальные и адаптивные методы кодирования голоса. Дельта модуляция. Эхо-компенсация, эквилизация, эффект маскирования, VoCoDER, алгоритмы работы каналов.

Эмпирически установлено, что для удовлетворительного воспроизведения речи достаточно 4096 уровней квантования сигнала (12 разрядов АЦП). Такое разрешение диктуется большим динамическим диапазоном сигналов. Но упомянутая выше логарифмическая зависимость чувствительности нашего слуха открывает возможность преобразования 12-битных кодов в 8-битные, что формирует информационный поток в 64 Кбит/ c (8 КГц*8 бит). Для этого используется логарифмическое преобразование. Такое преобразование наталкивается на определенные трудности при низких значениях входного сигнала, ведь логарифм для значений меньше 1 имеет отрицательную величину, функция же преобразования должна пройти через нуль. В США принята методика, когда две логарифмические кривые смещаются в направлении оси ординат (вертикальная ось), в результате получается функция вида

(так называемая -зависимость [ -law])
В Европе используется функция преобразования вида
в области значений вблизи нуля
при "больших" значениях ( -зависимость [ -law], см. рис. 2.1)

Для дальнейшего упрощения процесса преобразования реальные кривые аппроксимируются последовательностью отрезков прямых, наклоны которых каждый раз меняется вдвое. На практике функция табулируется (рекомендация G.711), и отличия - и -функций пренебрежимо малы. Здесь используются так называемые look-up таблицы. Но следует учитывать, что при реализации практической связи между Европой и Америкой, например телефонной, необходим -конвертор.

Для кодирования применяется симметричный код, у которого первый бит характеризует полярность сигнала. Ограниченная мощность человеческих голосовых связок приводит к тому, что сигнал характеризуется небольшими вариациями производной. А это в свою очередь вызывает довольно большую корреляцию значений результатов последовательных стробирований и цифрового преобразования.

Иллюстрация функций преобразования сигналов


Рис. 2.1.  Иллюстрация функций преобразования сигналов

Дальнейшим усовершенствованием схемы ИКМ (импульсно-кодовой модуляции) является адаптивный дифференциальный метод кодовоимпульсной модуляции (рис. 2.2). Здесь преобразуется в код не уровень сигнала в момент времени ti, а разница уровней — в моменты ti и ti-1.

Адаптивный преобразователь голоса в код


Рис. 2.2.  Адаптивный преобразователь голоса в код

Так как обычно сигнал меняется плавно, можно заметно сократить необходимое число разрядов АЦП. Принципиальное отличие между ИКМ и ADPCM (1984 год) заключается в использовании адаптивного АЦП и дифференциального кодирования соответственно. Адаптивный АЦП отличается от стандартного ИКМ -преобразователя тем, что в любой момент времени уровни квантования расположены однородно (а не логарифмически), причем шаг квантования меняется в зависимости от уровня сигнала. Применение адаптивного метода базируется на том, что в человеческой речи последовательные уровни сигнала не являются независимыми. Поэтому, преобразуя и передавая лишь разницу между предсказанным и реальным значением, можно заметно снизить загрузку линии, а также требования к широкополосности канала. Следует иметь в виду, что метод не лишен серьезных недостатков: уровень шумов, связанный с квантованием сигнала, выше, а при резких изменениях уровня сигнала, превышающих диапазон АЦП, возможны серьезные искажения.

Расширение диапазона преобразования достигается умножением шага квантования на величину несколько больше (или меньше) единицы.

При дифференциальном преобразовании на вход кодировщика подается не сам сигнал, а разница между текущим значением сигнала и предыдущим (рис. 2.3).

ADPCM-преобразователь голоса в код для 32 Кбит/с


Рис. 2.3.  ADPCM-преобразователь голоса в код для 32 Кбит/с

Блок прогнозирования является адаптивным фильтром, который использует предшествующий код для оценки последующего стробирования. На вход кодировщика поступает сигнал, пропорциональный разнице между входным сигналом и предсказанием. Чем точнее предсказание, тем меньше бит нужно, чтобы с требуемой точностью закодировать эту разницу. Характер человеческой речи позволяет заметно снизить требования к каналу при использовании адаптивного дифференциального преобразователя.

Дельта-модуляция представляет собой вариант дифференциальной импульсно-кодовой модуляции, где для кодирования разностного сигнала используется только один бит. Этот бит служит для того, чтобы увеличить или уменьшить оценочный уровень. Примером реализации дельта-модуляции может служить схема, показанная на рис. 2.4. Сигнал ЦАП отслеживает входной сигнал in(t). Здесь компаратор заменил дифференциальный усилитель, который используется в дифференциальном импульсно-кодовом модуляторе.

Схема устройства линейной дельта-модуляции


Рис. 2.4.  Схема устройства линейной дельта-модуляции

Если скорость нарастания входного сигнала велика, то уровень на выходе ЦАП будет отставать и сможет нагнать In(t), только когда входной сигнал начнет уменьшаться. Данный метод не является разумной альтернативой PCM. Для улучшения характеристик дельта-преобразователя реверсивный счетчик можно заменить цифровым процессором, при этом шаг S становится переменным, но кратным некоторому базовому значению.

Существуют много других способов кодирования человеческого голоса, среди них наиболее эффективный реализован в приборах, носящих название "вокодер" (VOCODER).

Для компактных музыкальных дисков ( CD ) характерна полоса 50 Гц - 20 КГц, обычная же речь соответствует полосе 50 Гц - 7 КГц. Только звуки типа Ф или С имеют заметные составляющие в высокочастотной части звукового спектра. Для высококачественной передачи речи используется субдиапазонный ADPCM -преобразователь (Adaptive Differential Pulse Code Modulation). В нем звук сначала стробируется с частотой 16 КГц, производится преобразование в цифровой код с разрешением не менее 14 бит, а затем подается на квадратурный зеркальный фильтр ( QMF ), который разделяет сигнал на два субдиапазона (50 Гц - 4 КГц и 4 КГц - 7 КГц). Диапазоны этих фильтров перекрываются в области 4 КГц. Нижнему диапазону ставится в соответствие 6 бит (48 Кбит/с), а верхнему - 2 бита (16 Кбит/с). Выходы этих фильтров мультиплексируются, формируя поток 64 Кбит/с.

На CD используется 16-битное кодирование с частотой стробирования 44,1 КГц, что создает информационный поток 705 Кбит/c. Следует иметь в виду, что кодирование даже со столь высоким разрешением создает шум дискретизации. В результате достигается качество звука, вполне удовлетворительное для человека. Собаки и дельфины, пожалуй, этого бы не сказали, так как их диапазон чувствительности распространяется до более высоких частот.

Можно подумать, что для стереосигнала этот поток удвоится (1,411 Мбит/с). Практически это не так: сигналы в стереоканалах сильно коррелированы, и можно кодировать и передавать лишь их разницу; на практике высокочастотные сигналы каналов суммируются, для различия каналов передается код их относительной интенсивности. Исследования показывают, что для акустического восприятия тонкие спектральные детали важны лишь в окрестности 2 КГц.

Помимо CD-аудиостандарта появился сначала стандарт Dolby Surround, Dolby ProLogic, а позднее DVD (Digital Versatile Disk), который предлагает 6-канальный звук (для домашних кинотеатров). Стандартный DVD имеет емкость 4,7 Гбайт (133 минуты видеовоспроизведения), имеются версии с емкостью до 27 Гбайт. Конечно, о передаче аудио/видеосигнала в таком формате речь пока не идет — ведь это требует дополнительной полосы пропускания. Но трудно сказать, чего следует ожидать в самом ближайшем будущем.

Многие музыкальные инструменты в настоящее время имеют цифровой интерфейс. Разработан единый стандартный интерфейс музыкальных инструментов MIDI (Music Instrument Digital Interface). Стандарт определяет тип разъема, кабеля и формат сообщений. Каждое сообщение MIDI состоит из статусного байта, за которым следует нуль или более байтов данных. Сообщение MIDI передает данные о музыкально значимом событии. Типичным событием может быть нажатие клавиши, перемещение смычка, нажатие или отпускание педали. Статусный байт индицирует событие, а байты данных определяют параметры события, например код нажатой клавиши или скорость перемещения. Каждый тип инструмента имеет свой уникальный код, например, для фортепьяно — 0, для маримбы — 12, а для скрипки — 40. Всего определено 127 инструментов, хотя некоторые из них не являются собственно инструментами, а представляют собой источники различного типа шума. Центральным узлом каждой MIDI-системы является синтезатор (часто это ЭВМ), который воспринимает сообщения и осуществляет синтез звука. Синтезатор должен воспринимать любой из 127 кодов музыкальных инструментов. Преимущество применения стандарта MIDI при цифровой передаче звука заключается в существенном сокращения потока данных (до 1000 раз). Недостатком MIDI является необходимость наличия соответствующего синтезатора на принимающей стороне. Разные синтезаторы могут выдать несколько разный результирующий сигнал. Музыка, конечно, лишь одна из разновидностей звуков.

Для передачи звуковой информации с учетом этих факторов был разработан стандарт Musicam (Masking pattern Universal Sub-band Integrated Coding And Multiplexing), который согласуется с ISO MPEG (Moving Picture Expert Group; стандарт ISO 11172). Musicam развивает идеологию деления звукового диапазона на субдиапазоны, здесь 20 КГц делится на 32 равных интервала. Логарифмическая чувствительность человеческого уха и эффект маскирования позволяет уменьшить число разрядов кодирования. Эффект маскирования связан с тем, что в присутствии больших звуковых амплитуд человеческое ухо нечувствительно к малым амплитудам близких частот. Причем чем ближе частота к частоте маскирующего сигнала, тем сильнее этот эффект (см. рис. 2.5). Сплошной линией на рисунке показана нормальная зависимость порога чувствительности уха, а пунктиром — зависимость порога чувствительности в присутствии 500-герцного тона с амплитудой в 110 дБ.

Изменение порога чувствительности человеческого уха под влиянием эффекта маскирования


Рис. 2.5.  Изменение порога чувствительности человеческого уха под влиянием эффекта маскирования

При разбиении на субдиапазоны можно оценить эффект маскирования и передавать только ту часть информации, которая этому эффекту не подвержена. При этом уровень ошибок квантования следует держать лишь ниже порога маскирования, что также снижает информационный поток. Для стробирования высококачественных звуковых сигналов используются частоты 32, 44,1 или 48 КГц. Стандартом предусмотрено три уровня кодирования звука, отличающиеся по сложности и качеству. На первом уровне производится разбивка на 32 диапазона, определение диапазонных коэффициентов и формирование кадров, несущих по 384 результата стробирования. Уровень 2 формирует кадры с 1152 результатами стробирования и дополнительными данными. Уровень 3 допускает динамическое разбиение на субдиапазоны и уплотнение данных с использованием кодов Хафмана. Любой декодер способен работать на своем и более низком уровне.

Около 25 лет назад в области музыки появилось новое направление – синтетическая музыка (ярким представителем которой является, например, Жан Мишель Жарр). Это относится как к композиторской, так и к исполнительской деятельности. Зафиксированы даже случаи, когда профессиональные музыканты требовали запретить исполнение музыки электронными средствами во время концертов. Здесь, как и в случае использования фонограмм певцами, присутствия исполнителя на сцене не требуется.

Для улучшения качества передачи низких частот в дополнение к суб-диапазонным фильтрам используется быстрое Фурье-преобразование ( FFT ). Результирующая частота бит при передаче звуковых данных оказывается непостоянной. Практическое измерение показывает, что частота редко превышает 110 Кбит/с, а применение 128 кбит/с делает качество воспроизведения неотличимым от CD. Ограничение скорости на уровне 64 Кбит/с вносит лишь незначительные искажения.

Несколько лет назад (в начале 1990-х) появился новый вид услуг в Интернете – голосовая связь (IP-Phone, VocalTec). Сегодня 30 миллионов абонентов регулярно пользуются IP-phone и его аналогами, до конца текущего десятилетия их число увеличится до 200 миллионов, а качество голосовой связи постепенно приближается к уровню цифровой телефонии.

Среди пользователей есть те, для кого это лишь возможность общения, как для радиолюбителей; но все больше людей использует IP-phone для деловых контактов или даже как объект бизнеса.

Существуют два алгоритма сжатия звуковой информации, используемых для IP-телефонных переговоров: GSM (Global System for Mobile communications, ftp://ftp.cs.tu-berlin.de/pub/local/kbs/tubmik/gsm), которая обеспечивает коэффициент сжатия 5, и алгоритм DSP-группы (True Speech) с коэффициентом сжатия данных 18 (работает при частотах 7,7 Кбит/с). Добавление аппаратных средств сжатия информации позволяет сократить необходимую полосу до 6,2 Кбит/с. Потеря 2-5% пакетов остается незамеченной, 20% оставляет разговор понятным. В таблице 2.1 представлена зависимость необходимой полосы телекоммуникационного канала от частоты стробирования звукового сигнала, которая определяет качество воспроизведения.

Таблица 2.1.
Пропускная способность [бит/с]Частота стробирования [1/с]
96004000
144006000
192008000
2880011000

Для подключения к сети IP-phone необходима мультимедийная карта, микрофон, динамики (или наушники), 8 Мбайт оперативной памяти, доступ к Интернету и соответствующее программное обеспечение. Качество передачи звука зависит от загруженности IP-канала. В качестве транспорта используется протокол UDP. Для обеспечения высокого качества звука нужна гарантированная ширина IP-канала, ведь задержанные сверх меры UDP-дейтограммы теряются безвозвратно, что и приводит к искажениям. Внедрение протоколов, гарантирующих определенную ширину канала, сделают IP-phone значительно более привлекательным. Многие компании уже предлагают такое оборудование и программы.

В последнее время технология передачи звука по каналам Интернет стала широко использоваться для трансляции новостей и музыки. При этом обеспечивается вполне удовлетворительное качество даже при передаче стереопрограмм. В этом случае имеется возможность применить более эффективное сжатие информации и протоколы типа RTP и RTCP. Задержка при передаче в этом случае никакого значения не имеет, а качество доставки гарантировано.

Современные системы IP-телефонии снабжены гибкой системой буферов, позволяющих использовать для передачи паузы, когда один из партнеров молчит. Дополнительные возможности открывают технологии предоставления гарантированного качества обслуживания (DiffServ или IntServ в рамках протоколов MPLS-TE или RSVP-TE).

В настоящее время имеется практически полный набор технологий, чтобы создать электронную книгу. Такая книга будет представлять собой систему размером с ноутбук (или даже миниатюрнее), снабженную устройством для чтения CD-дисков. Текст книги вместе с иллюстрациями и необходимыми командными последовательностями записывается на CD. При этом в перспективе можно рассматривать возможность того, что такое устройство будет читать "книгу" вслух (вывод на наушники).

В настоящее время имеется достаточно большое количество книг, записанных на CD. Это прежде всего энциклопедические словари, альбомы музеев, Библия и многие другие. Существуют обширные библиотеки художественной литературы в Интернете. Преимущество такой формы книги уже сегодня ощутимо – вы можете использовать современные поисковые средства, чтобы найти нужный раздел или какую-то конкретную информацию. По мере развития этой технологии и интеграции ее с сетями можно будет осуществлять поиск не только по данной книге, но и по книгам или журналам, ссылки на которые в данной книге содержатся, — это может быть особенно полезно при первичном знакомстве с какой-то проблемой. Этому способствует и появление электронных аналогов практически всех научных журналов и многих газет. Я здесь не говорю о компактности, а в перспективе — и долговечности такой формы записи информации.

При звуковом воспроизведении читатель сможет выбирать, голосом какого актера или актеров будет читаться данная книга. Разумеется, актерам не потребуется начитывать данный текст — эту работу на себя возьмет машина.

Достаточно иметь запись характерных особенностей и интонаций конкретного голоса, и процессор сам при генерации звука будет использовать голосовые особенности того или иного человека.

Немного фантазии, и можно будет представить, как ЭВМ будет воспроизводить текст в виде фильма, который она сгенерировала по выданному ей тексту (ведь сгенерирован же на ЭВМ корабль "Титаник" и море, по которому он плывет). Аналогичные услуги смогут оказываться и через сеть Интернет. Наибольшие трудности вызовет реализация качественного воспроизведения. Программы, способные преобразовывать символьный текст в голос, уже существуют. Проблема распознавания индивидуального голоса давно решена в охранных системах. Осталось научиться использовать результаты такого анализа при воспроизведении.

Активно внедряются новые стандарты и протоколы для обеспечения передачи звука по IP-каналам, проведения видеоконференций и управления в реальном масштабе времени. К таким протоколам относятся RTP (Real Time Protocol, RFC-1889, -1890), RTCP (Real-Time Control Protocol), который является дополнением RTP, и RSVP (Resource ReSerVation Protocol, см. разделы проектов IETF http://nic.nordu.net, ftp://ftp.isi.edu, http://munnari.oz.au и http://ds.internic.net или ftp://ftp.ietf.org/internet-drafts/draft-ietf-rsvp-spec-16.txt), служащий для обеспечения своевременной доставки данных при работе в реальном времени, а также MPLS-TE. Протокол RTP способен работать не только в UDP/IP, но и в сетях CLNP, ATM и IPX. Он обеспечивает детектирование потерь, идентификацию содержимого, синхронизацию и безопасность (доступ по шифрованному паролю, см. RFC-1423). Проблема синхронизации при передаче звука особенно важна, так как даже для локальных сетей время доставки пакетов может варьироваться в весьма широких пределах из-за используемого алгоритма доступа (например, CSMA/CD), а это приводит к искажениям при воспроизведении. Протоколы RTP и RTCP позволяют одновременное голосовое общение большого числа людей в рамках сети Интернет. Протокол же RSVP (или MPLSTE) в случае внедрения гарантирует качество связи (разумеется, при достаточной широкополосности канала) за счет повышения приоритета пакетов реального времени. Следует иметь в виду, что голосовое общение хотя и весьма привлекательно, однако не является единственной и даже главной целью разработчиков. По мере совершенствования протоколов Интернет сделает возможным управление в реальном масштабе времени довольно сложными удаленными объектами.

При внедрении IP-телефонии желательно, чтобы сетевая инфраструктура обеспечивала:

Одна из возможных реализаций IP-телефонии показана на рис. 2.6 ( MVW – Multiflex Voice/WAN модуль, включаемый в маршрутизатор).

Пример реализации IP-телефонной системы


Рис. 2.6.  Пример реализации IP-телефонной системы

Связь может осуществляться как с традиционной старой аналоговой телефонной сетью, так и с ISDN. Телефонные аппараты могут подключаться непосредственно к интерфейсу маршрутизатора, к сетевой рабочей станции или к специальному сетевому адаптеру. При построении подобной системы следует непременно реализовать функцию h.323 (Gatekeeper — привратник). Это позволит блокировать бесконтрольное и неэффективное использование ресурсов сети.

Для передачи информации на большие расстояния в настоящее время используются исключительно электромагнитные волны (акустические волны пригодны лишь для ограниченных расстояний, например под водой). При этом пересылка может осуществляться по медным проводам, оптоволоконному кабелю или непосредственно, по схеме "передатчик-приемник". В последнем случае используются антенны. Для того чтобы антенна была эффективна, ее размеры должны быть сравнимы с длиной передаваемой волны. Чем шире динамический диапазон передаваемых частот, тем труднее сделать антенну, пригодную для решения этой задачи. Именно по этой причине для передачи используются частоты, начиная с многих сотен килогерц и выше (длина волн — сотни метров и меньше). Передача сигнала непосредственно по лучу лазера ограничена расстояниями 100-5000 м и становится неустойчивой даже для инфракрасного диапазона волн при наличии осадков.

Между тем человек воспринимает акустические колебания в области 20-12000 Гц, и для целей пересылки звука (например, телефонии) требуется именно этот диапазон частот. Динамический диапазон частот в этом случае равен 600, а для высококачественного воспроизведения звука он в два раза шире. При решении этой проблемы используется преобразование частот и различные методы модуляции. Так, тот же частотный диапазон, лежащий в пределах 100,0 — 00,012 МГц, соответствует динамическому частотному диапазону 0,012%, что позволяет сделать компактную антенну и упростить частотное выделение сигнала.

На рис. 2.7 показана зависимость ослабления от частоты передаваемого сигнала для медной линии с сечением 0,5 мм.

Зависимость ослабления сигнала в медной линии сечением 0,5 мм от частоты


Рис. 2.7.  Зависимость ослабления сигнала в медной линии сечением 0,5 мм от частоты

От частоты зависит фаза (из расчета на километр) и волновое сопротивление скрученной пары (см. рис. 2.8); по этой причине искажения формы сигнала при заметной длине линии неизбежны.

Из формулы (1.1) видно, что расширять пропускную способность канала можно за счет широкополосности и высокого отношения "сигнал-шум". Существует много источников шума, один из главных — тепловые шумы ( N = kTB, где T — температура в градусах Кельвина, B — полоса пропускания приемника, а k — постоянная Больцмана). Этот вид шума вносит наибольший вклад в области высоких частот. Данное обстоятельство иногда позволяет улучшить отношение "сигнал/шум", подавив высокочастотную составляющую. На практике часто существенно большее влияние оказывают различного рода наводки. Увеличение пропускной способности сети достигается путем сокращения длины кабеля (уменьшение расстояния между узлами сети), заменой типа кабеля, например на провод с большим сечением, или применением оптоволоконного кабеля. Определенный эффект может быть получен и с помощью усовершенствованной системы шумоподавления (новый, более эффективный модем).

Зависимость волнового импеданса скрученной пары и фазы (сечением 0,5 мм) от частоты


Рис. 2.8.  Зависимость волнового импеданса скрученной пары и фазы (сечением 0,5 мм) от частоты

Сопротивление скрученной пары от коммутатора до терминального оборудования может лежать в пределах 800-20000 Ом. Следует учитывать, что при подаче питания на терминальное оборудование (телефон) по подводящему кабелю большое его сопротивление, помимо прочего, приведет к падению питающего напряжения. В многожильных кабелях определенные проблемы создают перекрестные наводки и шумы. Обычно рассматриваются два случая перекрестных наводок:

NEXT -наводки при большом числе пар проводов в кабеле подчиняются закону f1.5 ( f частота передаваемого сигнала), а их уровень составляет около 55 дБ при частоте 100 КГц. FEXT -наводки сильно зависят от схемы коммутации и разводки проводов и обычно менее опасны, чем NEXT. Еще одним источником наводок является импульсный шум внешних электромагнитных переходных процессов. Этот вид наводок обычно характеризуется процентом времени, в течение которого его уровень превышает порог чувствительности, и варьируется в зависимости от обстоятельств в очень широких пределах.

При передаче по линии сигналы модулируются, и важно обеспечить сохранение среднего уровня сигнала (постоянной составляющей). Определенные искажения сигнала вносит сам кабель. Заметное влияние на характер искажений оказывает межсимвольная интерференция ( ISIIntersymbol Interference). Эта интерференция возникает из-за расплывания импульсов в процессе их передачи по линии и наезжания их друг на друга. Проблема усложняется тем, что характеристики передающей линии могут меняться со временем из-за коммутаторов и маршрутизаторов. По этой причине очень важно обеспечить идентичность условий передачи различных частот при таких вариациях. Для решения этой задачи используются линейные эквалайзеры (рис. 2.9 и 2.10, которые выполняют эту операцию во всем рабочем спектре частот или после стробирования для реального спектра сигнала. Этот метод чувствителен к шумам в системе. Эквалайзеры с решающей обратной связью ( DFE — Decision Feedback Equalizer) нечувствительны к шумам, они управляются принятой информацией. Но влияние ошибок при приеме информации в этом случае может быть усилено.

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

Линейное выравнивание (эквализация)


Рис. 2.9.  Линейное выравнивание (эквализация)

Эквализация с помощью решающей обратной связи


Рис. 2.10.  Эквализация с помощью решающей обратной связи

Для улучшения отношения сигнал/шум следует поднимать амплитуду передаваемого по линии сигнала. Выбранное значение определяется требованиями перекрестных наводок и возможностями существующих интегральных схем. В результате компромисса выбрана амплитуда 2,5 В на нагрузке 135 Ом. Любые нелинейные искажения должны быть менее 36 дБ по отношению к основному сигналу. Учитывая динамический диапазон сигналов в линиях связи, отношение сигнал-шум предполагается равным 20 дБ, что соответствует ограничению 6 дБ на число ошибок 1/106 для гауссова распределения шума. При аналого-цифровом преобразовании одному биту соответствует 6 дБ.

Обычно двухпроводная линия (тем более 4-проводная) используется для одновременного двухстороннего обмена (full duplex).

Эта задача может быть решена схемотехнически мультиплексированием по времени ( TDDTime Division Duplex) или частоте ( FDD — Frequency Division Duplex). TDD довольно легко реализовать, этот метод не требует сложных фильтров и эквилайзеров. Метод TDD привлекателен при малых длинах кабеля для коммутируемых телефонных сетей.

При реализации двухстороннего обмена по одной паре проводов используется метод эхо-компенсации. Этот метод предполагает вычитание передаваемого сигнала из принимаемого, определяя тем самым истинную форму входного сигнала. Если на приведенном рисунке 2.11 Zвх равно волновому сопротивлению линии, то выходной сигнал передатчика не будет влиять на работу приемника. Здесь предполагается, что выходное сопротивление передатчика много меньше Z = Zлинии. Учитывая вариации ослабления сигнала, схема эхо-компенсации должна уметь работать в очень широком динамическом диапазоне амплитуд, сохраняя удовлетворительную линейность. Это обстоятельство, а также зависимость Zлинии от частоты, приводит к заметному усложнению схем эхо-компенсации (рис. 2.12). Системы эхо-компенсации весьма чувствительны к временному разбросу срабатывания пороговых схем, так как это приводит к фазовому сдвигу вычитаемых друг из друга сигналов.

Схема эхо-компенсации


Рис. 2.11.  Схема эхо-компенсации

Схема эхо-компенсации с адаптивным фильтром


Рис. 2.12.  Схема эхо-компенсации с адаптивным фильтром

На рис. 2.13 показана зависимость скорости пропускания от сопротивления петли передающей линии для разных схем кодирования сигнала (пунктирной линией отображен вариант четырехуровневого кодирования). Те, кто работал с выделенными линиями, усвоили эту зависимость на практике. Если сопротивление линии более 1,5 кОм, вы скоро будете знать дежурных вашей телефонной станции по имени, узнаете, что такое грозовые вставки и что они имеют привычку окисляться. Желаю читателям, чтобы проводные системы связи ушли в прошлое как можно скорее.

Зависимость максимальной скорости передачи данных от сопротивления петли передающей линии


Рис. 2.13.  Зависимость максимальной скорости передачи данных от сопротивления петли передающей линии

Различные методы модуляции приводят к разным уровням перекрестных наводок и, как следствие, могут обеспечить разные скорости пропускания сигналов. Так, применение линейной эквализации при амплитудной модуляции дает улучшение пропускной способности примерно в 5 раз. Многоуровневый метод кодирования увеличивает скорость пропускания еще на 30%. Следует, правда, иметь в виду, что многоуровневый метод кодирования характеризуется большим уровнем импульсных помех и, следовательно, ошибок.

Минимальное отношение сигнал-шум при скорости передачи ~150 Кбит/с


Рис. 2.14.  Минимальное отношение сигнал-шум при скорости передачи ~150 Кбит/с

На рис. 2.14 показана зависимость отношения "сигнал-шум" от сопротивления петли для разных схем передающего канала. Пунктиром проведены зависимости для случая четырехуровневого кодирования. Кривые 1 соответствуют случаю амплитудной модуляции с линейным выравниванием, а кривые 2 — варианту эквилизации с обратной связью.

Современные сверхскоростные системы коммуникаций порождают новые проблемы и новые решения. То, что сегодня кажется сверхскоростным (например, 6,4 Гбит/c), через несколько лет окажется ординарным: достаточно вспомнить магистральные Интернет-каналы десять лет назад, когда 2 Мбит/с представлялось фантастической скоростью. (В 2006 году опорные каналы сети РАН в Москве уже имеют скорость 10 Гбит/c.)

Впрочем, не следует забывать, что мы практически вплотную подошли к теоретическому верхнему пределу скорости передачи, задаваемому временем поляризации диэлектрика (10 -13 сек – 10ТГц).

Сегодня большинство маршрутизаторов не способно эффективно обрабатывать потоки, создаваемые Ethernet 1Гбит/с. Как это ни странно, сетевые карты на эту скорость существуют относительно давно, но только самые дорогие модели маршрутизаторов способны нормально работать с такими потоками. Здесь предполагается, что маршрутизатор имеет 2 или более гигабитных и несколько 100Мбит/c-каналов. Для решения задачи маршрутизации такой прибор должен для каждого пакета просмотреть таблицу маршрутизации, принять решение, на какой из выходов переадресовать пакет, и реализовать это переключение — и все это за время менее 0,5 нс. За это время сигнал по обычной проводной линии успеет распространиться лишь на 10 см!

Любой транзистор или тем более полупроводниковый ключ имеет сравнимую с этим временем задержку передачи сигнала. Как же тогда достигается такое быстродействие?

Проблема решается с помощью изощренной системы конвейеров (pipelining). Пакет проходит через эту систему, из него выделяется адрес места назначения и сравнивается сразу с большим числом кодов из маршрутной таблицы. По результатам сравнения принимается решение относительно следующего шага. Когда пакет достигает конечной точки своего пути в маршрутизаторе, нужный ключ в требуемом направлении уже открыт. При этом конец пакета может еще не прийти на вход маршрутизатора. Приведенное выше описание алгоритма конвейерной обработки является достаточно упрощенным, так как реально там оказывается задействовано много таких конвейеров, особенно если требуется гарантированное качество обслуживания. На практике это достаточно дорогостоящее устройство: не удивляйтесь, что стоимость маршрутизатора, способного работать с загрузками 1 Гбит/с (тем более 10 Гбит/с) по нескольким каналам, окажется весьма высокой.

Во весь рост эта проблема встала уже перед разработчиками магистральных многоканальных (до 1000 и более) переключателей сетей АТМ. Там, хотя тактовая скорость всего 150 Мбит/c, система должна принимать решение за время меньше одной наносекунды, так как ячейки могут приходить через все входы одновременно, поднимая загрузку центрального коммутатора в 1000 и более раз. Можете себе представить масштаб проблемы для 1000-канальных ATM-коммутаторов, работающих при рабочих частотах 622 Мбит/с?

Не менее сложные задачи приходится решать, когда пакет из гигабитного канала направляется в канал, рассчитанный на 100 Мбит/c. Если такой пакет один, то это не так страшно, он сначала весь записывается в буфер, а затем ретранслируется через 100-мегабитный канал. Здесь имеет место полная аналогия с переходом 100 Мбит/с —> 10 Мбит/с. Понятно, что в случае потока таких пакетов буфер, каким бы большим он ни был, рано или поздно будет переполнен, а после переполнения буфера будет теряться 9 из 10 пакетов. Проблема улаживается с помощью окна перегрузки в случае протокола TCP или с помощью посылки отправителю соответствующих уведомлений ICMP в остальных вариантах протоколов из стека TCP/IP. Последнее решение не представляется уж слишком изящным, ведь ICMP-пакеты только увеличивают загрузку канала, но главное — они могут просто не дойти до отправителя из-за того, что канал перегружен. Я уже не говорю, что в случае видеоконференций такой метод подавления потерь из-за перегрузки вообще непригоден, ведь для получения нормального изображения и звука нужна постоянная и вполне определенная скорость передачи. Следует также учитывать задержку на пути "отправитель-получатель" и обратно, и все это время высокий процент потерь будет сохраняться. Именно это стало причиной введения кадров PAUSE в логику работы GE и 10GE локальных сетей.

Весьма важной темой при построении сетей является оптимизация их топологии. Эта проблема решается маршрутизацией пакетов или потоков. В одних сетях выбор маршрута обмена определяется на фазе формирования виртуального соединения (X.25, ISDN, ATM, Frame Relay и т.д.), в других, например в Интернет (TCP/IP), маршрут выбирается динамически и может быть изменен в ходе сессии, если текущий путь окажется недоступен или если откроется возможность движения по более короткому пути.

2.1. Алгоритмы работы каналов

В реальной жизни мы сталкиваемся с самыми разными задачами при передаче данных. Вариации проблем сопряжены с объемами пересылаемых данных, со скоростями обмена, требуемыми задержками, надежностью и т.д. На будущее будем считать, что физический, канальный и сетевой уровни передачи данных являются независимыми процессами.

Предположим также, что машина А собирается передать машине Б поток данных с гарантированной доставкой (обычно это называется передачей, ориентированной на соединение). Вообще говоря, вполне реалистичен сценарий, когда машина Б одновременно намерена передавать данные машине А. В рассматриваемой модели будем считать, что имеется неограниченный объем данных, подлежащих передаче, и не требуется времени по их извлечению. Данные обычно передаются форматированными порциями, называемыми пакетами или кадрами.

С точки зрения канального уровня пакет, пришедший от сетевого уровня, является просто данными, каждый бит которых должен быть доставлен сетевому уровню места назначения. Тот факт, что сетевой уровень места назначения будет интерпретировать какие-то биты, как заголовок, канальным уровнем игнорируется. Когда канальный уровень получает пакет, он инкапсулирует его в свой кадр, добавляя некоторую управляющую информацию (протокольный заголовок). Заголовок обычно структурируется и содержит несколько полей различной длины. Этот преобразованный пакет передается другому канальному уровню. Здесь предполагается, что существует необходимая библиотека процедур для приема-передачи кадров на физическом уровне. Приемное устройство является пассивным и просто ждет прихода пакета. Получив кадр, входной сетевой интерфейс осуществляет проверку контрольной суммы этого кадра — если она некорректна, канальный уровень информируется об этом. Если все в порядке, производится разборка заголовка. Хорошей практикой является правило, запрещающее передачу любых полей заголовка с уровня на уровень (это гарантирует их независимость). Этот принцип упрощает модификацию программного обеспечения, ведь программы сетевого уровня не обязаны что-либо знать о канальном протоколе и наоборот.

Канал предполагается ненадежным, по этой причине возможно искажение или даже потеря пакета. Факт потери пакета может быть установлен в случае отсутствия отклика получателя, подтверждающего успешную доставку. В случае искажения пакета подтверждение не посылается. При посылке пакета запускается таймер; если за время работы таймера отклик не получен, пакет считается потерянным. Как было указано выше, пакеты образуют последовательность (поток). По этой причине нужно уметь определять, доставка какого пакета подтверждена. Для решения этой задачи в заголовок пакета включается уникальный номер, которым снабжается и отклик. Такой номер позволяет найти соответствие между посланным пакетом и откликом, подтверждающим его доставку. Код номера пакета лежит в интервале 0 — MAX_SEQ (различно для разных протоколов.).

Простейший вариант протокола предполагает, что очередной пакет может быть послан лишь после получения подтверждения доставки предыдущего ( Simplex Stop-and-Wait ), причем данные следуют только в одном направлении.

На практике большинство протоколов предполагают двухсторонний обмен (full duplex), кроме того, при больших временах доставки алгоритм Stop-and-Wait сильно ограничивает скорость обмена. В таких случаях используется алгоритм со скользящим окном, где можно послать несколько пакетов, не дожидаясь отклика (см., например, описание протокола TCP ). Размер окна определяет число посылаемых пакетов до того, как будет получено подтверждение на первый посланный пакет в рамках окна. После получения отклика окно смещается на единицу и позволяет послать еще один пакет. При размере скользящего окна, равном 1, такой протокол становится эквивалентен схеме Stop-and-Wait. Алгоритм со скользящим окном известен в системах обработки данных как конвейер ( pipelining ). Он требует наличия таймера для каждого из посланных пакетов в пределах окна. В этом алгоритме возникает проблема, когда теряется какой-то пакет. Что делать с кадрами, посланными вслед за ним и получившими подтверждение? Следует учесть, что приемный канальный уровень обязан обрабатывать пакеты сетевого уровня строго по порядку (ведь они образуют единую последовательность).

Здесь существует два решения. Первое: выбросить все подтвержденные пакеты, посланные после потерянного, и повторить их пересылку еще раз (так работает базовая версия протокола TCP ), приемный буфер при этом предназначен для записи лишь одного пакета. При двустороннем обмене отклики могут "прикрепляться" к информационным пакетам, движущимся в противоположном направлении. Если загрузка канала велика и вероятность потери пакета составляет несколько процентов, этот алгоритм весьма неэффективен. При сильно асимметричном трафике пакеты-отклики могут посылаться и самостоятельно. Для этого должен быть введен дополнительный таймер. Если за время выдержки нет ни одного "попутного" информационного пакета, то отклик посылается сам по себе. Время выдержки такого таймера должно быть достаточно коротким, чтобы не слишком замедлять работу алгоритма обмена.

Другой стратегией является селективная повторная пересылка лишь потерянного кадра (метод реализуется в протоколе XTP ). Эта схема требует большого объема памяти на канальном уровне, если размер окна достаточно велик. При получении очередного пакета проверяется его порядковый номер. Если этот номер соответствует окну, пакет записывается в буфер, даже если его номер не является тем, который ожидается. Эта операция производится на канальном уровне и пакет не передается сетевому уровню, пока не будут получены пакеты, посланные раньше. Размер приемного буфера в этом случае должен соответствовать ширине скользящего окна. Здесь возможны вариации стратегии, когда, например, отклик приходит на пакет с номером 2 (в пределах окна), но на пакет 1 его пока нет (а именно подтверждение прихода этого пакета дает команду на сдвиг окна, разрешающего посылку очередного пакета).

Рассмотрим пример, когда посылается группа пакетов 01234. Теперь предположим, что пакет 0 по таймауту признан неподтвержденным, послан пакет 5, пакет 2 не подтвержден и послан пакет 6. Тогда список пакетов, ждущих подтверждения, приобретет вид 3405126. Если признать, что имеется возможность не подтверждения некоторых из этих пакетов, то структура этого списка еще более усложнится. Отсюда видно, что формирование и обслуживание такого рода очередей — отнюдь не простая задача.

Предположим, что MAX_SEQ = 10, отправитель послал 10 пакетов, один из них был потерян и послан повторно. После этого началась посылка очередных 10 пакетов и получение откликов на их доставку. Возникает вопрос: где гарантия того, что пришедший отклик не относится к пакету, "потерянному" в предыдущей последовательности? Здесь все зависит от значения удвоенной задержки доставки ( RTT — Round Trip Time). Если канал является быстродействующим, а задержка велика, как это имеет место в спутниковых каналах, такое вполне возможно. В этом случае следует подумать об увеличении MAX_SEQ. Помимо обычного подтверждения, в случае обнаружения ошибки может быть послано "отрицательное" подтверждение ( NAK ), которое представляет собой запрос повторной посылки оговоренного в отклике пакета. Причиной посылки NAK может быть получение поврежденного пакета, или нарушение порядка поступления кадров, что вызвало подозрение потери пакета. Получатель должен отслеживать ситуацию, чтобы исключить повторную посылку NAK для одного и того же кадра. Потеря NAK не опасна, так как отправитель, не получив подтверждения, все равно запустит процедуру повторной пересылки пакета. Величина RTT и его дисперсия определяют устанавливаемое значение таймаута.

Историческими предшественниками стека Интернет были протоколы, возникшие на базе разработанного компанией IBM стандарта SDLC (Synchronous Data Link Control). Этот стандарт был предложен компанией в ANSI и в организацию ISO в качестве международного проекта. ANSI модифицировала его, и он превратился в ADCCP (Advanced Data Communication Control Procedure), а ISO на основе предложенного протокола разработала стандарт HDLC (high-level Data Link Control). Международная организация по телекоммуникациям CCITT адаптировала HDLC для протокола X.25 ( LAP - Link Access Procedure). Все они бит-ориентированы и используют bit-stuffing. Формат используемых кадров показан на рис. 2.15 (в нижней части рисунка приведены размеры полей в битах). Октеты - разграничители кадров F несут в себе код 0x7E.

Формат кадров бит-ориентированных протоколов


Рис. 2.15.  Формат кадров бит-ориентированных протоколов

Поле адрес служит для выделения определенного терминала (идентификатор терминала). При соединении "точка-точка" это поле иногда служит для разделения запроса и отклика.

Поле управление служит для записи номера по порядку для установления соответствия между посланным кадром и откликом.

Поле информация может иметь произвольную длину, а поле FCS (Frame Control Sum) является контрольной суммой, вычисляемой согласно алгоритму CRC. Минимально кадр содержит 4 байта, не считая стартового и финального разграничителей. Предусмотрено три типа кадров: информационные, управляющие (supervisory) и ненумерованные. Коды поля управления этих кадров представлены на рис. 2.16. Протокол использует при передаче алгоритм скользящего окна со значением номера по порядку, имеющим 3 бита. В любой момент времени до семи ненумерованных кадров могут ожидать подтверждения. Для современных коммуникаций 3 бита для номера по порядку ( MAX_SEQ ) крайне мало.

Формат поля управления для информационных (I), управляющих (II) и ненумерованных (III) кадров


Рис. 2.16.  Формат поля управления для информационных (I), управляющих (II) и ненумерованных (III) кадров

В верхней части рис. 2.16 указаны размеры полей в битах. Поле Seq содержит порядковый номер кадра. Поле следующий служит для подтверждения успешно доставленных кадров. Допускается также размещение здесь номера следующего (ожидаемого) кадра. Поле P/F (Poll/Final) используется, когда ЭВМ обращается к группе терминалов. P = 1, когда машина предлагает терминалу прислать данные. Все кадры, приходящие от терминала, кроме последнего, содержат P = 1. Равенство бита нулю означает, что это последний кадр (F). В некоторых модификациях протокола бит P/F используется, чтобы заставить другую машину прислать управляющий кадр, а не сменить направление обмена данными. Тип управляющего (supervisory) кадра определяется содержимым поля тип. Возможные значения этого поля приведены в таблице 2.2.

Таблица 2.2. Коды поля тип
Код поля типНазначение
00RR-кадр (Receiver Ready) готов к приему
01REJ-кадр (Reject) отказ от приема
10RNR-кадр (Receiver Not Ready) не готов к приему
11SREJ-кадр (Selected Reject) выборочный отказ от приема

Как видно из таблицы, тип = 0 означает, что кадр служит для подтверждения получения предыдущего кадра и готовности получить следующий. Тип = 1 является отрицательным подтверждением (NAK). Тип = 3 призывает повторить посылку кадра с указанным номером.

Ненумерованные кадры иногда используются для управления, но чаще для передачи данных в режиме без установления соединения (без подтверждения).

Люди, работающие на ЭВМ дома, часто подсоединяются к Интернету посредством модема через коммутируемую телефонную сеть с привлечением протоколов SLIP или PPP. Схема подключения показана на рис. 2.17.

Подключение ЭВМ через модем и цифровую телефонную станцию


Рис. 2.17.  Подключение ЭВМ через модем и цифровую телефонную станцию

Подключение к Интернету через модемный пул


Рис. 2.18.  Подключение к Интернету через модемный пул

Если телефонная станция — аналоговая, то кодеки не нужны. Число промежуточных телефонных станций может варьироваться в широких пределах. Сервис-провайдеры обычно имеют у себя модемные пулы, которые позволяют подключиться большому числу клиентов одновременно (рис. 2.18).

В традиционной телефонной сети для соединения с требуемым клиентом используются аппаратные коммутаторы. Если коммутатор имеет N входов и N выходов, то число коммутирующих ключей будет равно N2 и одновременно можно реализовать не более N связей. Реально это число всегда меньше, и клиент слышит в трубке "короткие гудки" сигнала "занято". На рис. 2.19 показана обобщенная схема большой телефонной сети.

Схема телефонной сети


Рис. 2.19.  Схема телефонной сети

Телефонные компании знают, что некоторые каналы-направления оказываются загружены особенно сильно, например, Москва–СанктПетербург. В таких случаях иерархия станций может быть нарушена. На самом верхнем уровне станции образуют полносвязный граф, чтобы исключить неоправданные транзитные связи. Неоднозначность пути устраняется процессорами станций, при этом всегда выбирается кратчайший путь.

В случае комбинирования традиционного коммутатора с M -канальными мультиплексорами пакетов по времени можно осуществить до M*N связей одновременно. При этом становится возможным объединить нескольких клиентов так, что они все одновременно могут говорить друг с другом. Схема такого переключателя каналов показана на рис. 2.20.

Схема переключателя каналов с мультиплексированием по времени


Рис. 2.20.  Схема переключателя каналов с мультиплексированием по времени

Кружочки на пересечениях линий представляют собой ключи, замыкая которые можно соединить i -й входной канал с j -м выходным. На каждой линии может быть только один замкнутый ключ. Такая схема коммутации называется TST (Time-Space-Time). Именно она преобладает сегодня при построении сетей ISDN. Магистральные каналы ISDN строятся в соответствии со стандартом T1.

Такая схема при числе входных и выходных каналов, равном N = 1000 требует миллиона элементарных переключателей. Можно рассмотреть вариант, когда используются коммутаторы с n входами и k выходами. Здесь для простоты рассматривается только трехкаскадный вариант. В первом каскаде каждый переключатель имеет n входов, а их число равно N/n. Второй каскад имеет k переключателей с N/n входами и N/n выходами, третий каскад воспроизводит структуру первого. Схема коммутатора с N = 16, n = 4 и k = 2 показана на рис. 2.21. Число элементарных переключателей в таком трехкаскадном коммутаторе М равно

M = 2kN + k(N/n)2

Схема коммутатора


Рис. 2.21.  Схема коммутатора

Первое слагаемое характеризует число элементарных переключателей во входной и выходной секциях системы, а второе — число элементарных переключателей в k внутренних модулях. При N = 1000, n = 50 и k = 10 требуется 24000 элементарных переключателей вместо миллиона (но и число одновременно формируемых каналов становится много меньше 1000).

Второй каскад данного коммутатора имеет 8 входов, в случае прихода девятого вызова клиент получит сигнал "занято" (блокировка коммутатора) еще до завершения набора телефонного номера. Для увеличения числа одновременно обслуживаемых запросов можно увеличить число коммутирующих устройств во втором каскаде. В 1953 году Клос показал, что при k = 2n -1 блокировка коммутатора не будет происходить никогда. Существуют решения, которые теоретически могут приводить к блокировке, но с очень малой вероятностью.

Совершенно другим типом коммутатора является переключатель с разделением по времени. Будем считать, что такой коммутатор имеет n входных и столько же выходных каналов. В данном методе входные каналы последовательно сканируются и формируется входной кадр из n доменов. Каждому домену соответствует k бит. Для переключателей на потоки Т1 k = 8, а скорость обработки составляет 8000 кадров в секунду. Центральным узлом такого устройства является коммутатор с разделением по времени, который воспринимает входные кадры и генерирует выходные кадры с измененным порядком временных доменов. Этот коммутатор имеет встроенный буфер для n k -битных слов. На рис. 2.22 показана структура такого коммутатора. Во входном кадре временные домены пронумерованы от 0 до 5 ( n = 5 ). Последовательность бит с i -го входного канала с помощью мультиплексора TDM (изображен в левой части рисунка) помещается в i -й временной домен входного кадра. Входной кадр заносится в буфер коммутатора. В коммутаторе формируется таблица перекодировки ( lookup-таблица ), которая определяет, какому временному домену в выходном потоке будет соответствовать тот или иной домен во входном кадре. В сущности, эта таблица решает, на какой выходной канал попадут данные, пришедшие по заданному входному каналу. Если вы думаете, что ранее не сталкивались с такого рода таблицами, то это заблуждение.

Первая lookup-таблица, с которой вы познакомились в вашей жизни, была таблицей умножения. Ведь она является таблицей соответствия, и вы реально не производите никаких арифметических действий, пользуясь ей. Когда нужно определить, чему равно 5 x 5, мы не производим умножение, а извлекаем результат непосредственно из памяти.

Коммутатор с разделением по времени


Рис. 2.22.  Коммутатор с разделением по времени

С помощью таблицы перекодировки формируется выходной кадр. На рис. 2.22 коммутатор связывает нулевой входной канал с 4-м выходным каналом, первый входной канал с 5-м выходным и т.д. Выходной демультиплексор (изображен справа) преобразует номер временного домена выходного кадра в номер выходного канала. Так, временной домен с номером 4 попадет в 4-й выходной канал. В сущности, здесь с помощью пакетной методики осуществляется коммутация каналов.

В процессе работы коммутатор должен запоминать n кодов, соответствующих временным доменам, а затем считывать их снова в пределах одного периода, равного по длительности 125 мкс. Если каждая ячейка памяти имеет время доступа t мкс, то для всей этой процедуры потребуется 2nt мкс ( 2nt = 125, что означает n = 125/2t ). По этой причине с 100-наносекундной памятью можно реализовать коммутатор на 625 каналов. На основе данной схемы можно реализовать многокаскадный коммутатор на много большее число каналов.

При цифровой передаче данных желательно максимально эффективно использовать имеющуюся полосу пропускания. Одним из способов повышения эффективности является сжатие данных (архивация) на входе канала и обратное преобразование со стороны приемника.

Существуют методы сжатия с потерей части информации и без потери. Потеря части данных иногда допустима при передаче звука или изображения. Во всех остальных случаях (например, при передаче исполняемой программы) потеря данных недопустима. К числу методов сжатия без потери данных относятся алгоритмы Зива-Лемпеля, Хаффмана и Барроуза-Виллера.

Лекция 3. Алгоритмы сжатия данных

Алгоритмы сжатия данных. Алгоритм Зива-Лемпеля, Хаффмана и Барроуза-Виллера.

3.1. Алгоритм Зива-Лемпеля

В 1977 году Абрахам Лемпель и Якоб Зив предложили алгоритм сжатия данных, названный позднее LZ77. Этот алгоритм используется в программах архивирования текстов compress, lha, pkzip и arj. Модификация алгоритма LZ78 применяется для сжатия двоичных данных. Эти модификации алгоритма защищены патентами США. Алгоритм предполагает кодирование последовательности бит путем разбивки ее на фразы с последующим кодированием этих фраз. Суть алгоритма заключается в следующем.

Если в тексте встретится повторение строк символов, то повторные строки заменяются ссылками (указателями) на исходную строку. Ссылка имеет формат <префикс, расстояние, длина>. Префикс в этом случае равен 1. Поле расстояние идентифицирует слово в словаре строк. Если строки в словаре нет, генерируется код символ вида <префикс, символ>, где поле префикс = 0, а поле символ соответствует текущему символу исходного текста. Отсюда видно, что префикс служит для разделения кодов указателя от кодов символ. Введение кодов <символ> позволяет оптимизировать словарь и поднять эффективность сжатия. Главная алгоритмическая проблема здесь заключается в оптимальном выборе строк, так как это предполагает значительный объем переборов.

Рассмотрим пример с исходной последовательностью U = 0010001101 (без надежды получить реальное сжатие для столь ограниченного объема исходного материала). Введем обозначения:

Разложение исходной последовательности бит на фразы представлено в таблице 3.1.

P[0] — пустая строка. Символом "." (точка) обозначается операция объединения (конкатенации).

Таблица 3.1.
N фразыЗначениеФормулаИсходная последовательность U
0P[0]0010001101
10P[1] = P[0].00.010001101
201P[2] = P[1].10.01.0001101
3010P[3] = P[1].00.01.00.01101
400P[4] = P[2].10.01.00.011.01
5011P[5] = P[1].10.01.00.011.01

Формируем пары строк, каждая из которых имеет вид (A.B). Каждая пара образует новую фразу и содержит идентификатор предыдущей фразы и бит, присоединяемый к этой фразе. Объединение всех этих пар представляет окончательный результат сжатия С. P[1] = P[0].0 дает (00.0), P[2] = P[1].0 дает (01.0) и т.д. Схема преобразования отражена в таблице ниже.

ФормулыP[1] = P[0].0P[2] = P[1].1P[3] = P[1].0P[4] = P[2].1P[5] = P[1].1
Пары00.0 = 00001.1 = 01101.0 = 01010.1 = 10101.1 = 011
С000.011.010.101.011 = 000011010101011

Все формулы, содержащие P[0], вовсе не дают сжатия. Очевидно, что С длиннее U, но это получается для короткой исходной последовательности. В случае материала большего объема будет получено реальное сжатие исходной последовательности. Приведенный пример позволяет понять, что не всякая операция архивации приводит к реальному сокращению объема данных.

3.2. Статический алгоритм Хаффмана

Статический алгоритм Хафмана можно считать классическим (см. также Р. Галлагер. Теория информации и надежная связь. "Советское радио", Москва, 1974). Определение "статический" в данном случае относится к используемым словарям. См. также http://www.ics.ics.uci.edu/~dan/pubs/DataCompression.html) (Debra A. Lelewer и Daniel S. hirschberg). Алгоритм Хаффмана предполагает, что вероятности появления в исходном массиве разных кодовых последовательностей (символов) принципиально неравны.

Пусть сообщения имеют вероятности и пусть для определенности они упорядочены так, что . Пусть - совокупность двоичных кодов, и пусть — длины этих кодов. Задачей алгоритма является установление соответствия между и . Можно показать, что для любого ансамбля сообщений с полным числом более 2 существует двоичный код, в котором два наименее вероятных кода и имеют одну и ту же длину и отличаются лишь последним символом: имеет последний бит 1, а - 0. Редуцированный ансамбль будет иметь свои два наименее вероятные сообщения сгруппированными вместе. После этого можно получить новый редуцированный ансамбль, и так далее. Процедура может быть продолжена до тех пор, пока в очередном ансамбле не останется только два сообщения. Процедура реализации алгоритма сводится к следующему (см. рис. 3.1). Сначала группируются два наименее вероятных сообщения, предпоследнему сообщению ставится в соответствие код с младшим битом, равным нулю, а последнему – код с единичным младшим битом (на рисунке и ). Вероятности этих двух сообщений складываются, после чего ищутся два наименее вероятные сообщения во вновь полученном ансамбле ( и ; ).

Пример реализации алгоритма Хаффмана


Рис. 3.1.  Пример реализации алгоритма Хаффмана

На следующем шаге наименее вероятными сообщениями окажутся и . Кодовые слова на полученном дереве считываются справа налево. Алгоритм выдает оптимальный код (минимальная избыточность).

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

Возможно применение стандартных алфавитов (кодовых таблиц) для пересылки английских, русских, французских и т.п. текстов, программных текстов на С++, Паскале и т.д. Кодирование при этом не будет оптимальным, но исключается статистическая обработка пересылаемых фрагментов и отпадает необходимость пересылки кодовых таблиц (алфавитов). Следует заметить, что и в случае алгоритма Хаффмана эффективность сжатия зависит от характера сжимаемого материала. Например, при попытке сжать уже архивированный файл с большой вероятностью можно получить файл большего размера.

3.3. Сжатие данных с использованием преобразования Барроуза-Вилера

Майкл Барроуз и Давид Вилер (Burrows-Wheeler) в 1994 году предложили свой алгоритм преобразования ( BWT ). Этот алгоритм работает с блоками данных и обеспечивает эффективное сжатие без потери информации. В результате преобразования блок данных имеет ту же длину, но другой порядок расположения символов. Алгоритм тем эффективнее, чем больший блок данных преобразуется (например, 256-512 Кбайт или более).

Последовательность S, содержащая N символов ( {S(0), …, S(N-1)} ), подвергается N циклическим сдвигам (вращениям), лексикографической сортировке, а последний символ при каждом вращении извлекается. Из этих символов формируется строка L, где i -й символ является последним символом i -го вращения. Кроме строки L создается индекс I исходной строки S в упорядоченном списке вращений. Существует эффективный алгоритм восстановления исходной последовательности символов S на основе строки L и индекса I. Процедура сортировки объединяет результаты вращений с идентичными начальными символами. Предполагается, что символы в S соответствуют алфавиту, содержащему K символов. Под лексикографической сортировкой подразумевается упорядочение числовых кодов, которые получаются при подстановке ASCII-кодов вместо букв.

Для пояснения работы алгоритма возьмем последовательность S = 'abraca' (N = 6), алфавит X = {'a', 'b', 'c', 'r'}.

Номер строки
0Aabrac
1Abraca
2Acaabr
3Bracaa
4Caabra
5Racaab
  1. Формируем матрицу из N*N элементов, чьи строки представляют собой результаты циклического сдвига (вращений) исходной последовательности S, отсортированных лексикографически. По крайней мере одна из строк M содержит исходную последовательность S. Пусть I является индексом строки S. В приведенном примере индекс I = 1, а матрица M имеет вид
  2. Пусть строка L представляет собой последнюю колонку матрицы M с символами L[0], …, L[N-1] (соответствуют M[0, N-1], …, M[N-1, N-1] ). Формируем строку последних символов вращений. Окончательный результат характеризуется (L,I). В данном примере L = 'caraab', I = 1.

Процедура декомпрессии использует L и I. Целью этой процедуры является получение исходной последовательности из N символов (S).

1. Сначала вычисляем первую колонку матрицы M (F). Это делается путем сортировки символов строки L. Каждая колонка исходной матрицы M представляет собой перестановки исходной последовательности S. Таким образом, первая колонка F и L являются перестановками S. Так как строки в M упорядочены, размещение символов в F также упорядочено. F = 'aabcr'.

2. Рассматриваем ряды матрицы M, которые начинаются с заданного символа ch. Строки матрицы М упорядочены лексикографически, поэтому строки, начинающиеся с ch, упорядочены аналогичным образом. Определим матрицу M', которая получается из строк матрицы M путем циклического сдвига на один символ вправо. Для каждого i = 0, …, N-1 и каждого j = 0, …, N-1,

M'[i,j] = m[i, (j-1) mod N]

В рассмотренном примере M и M' имеют вид

СтрокаMM'
0aabraccaabra
1abracaaabraс
2acaabrracaab
3bracaaabraca
4caabraаcaabr
5racaabвracaa

Подобно M, каждая строка M' является вращением S, и для каждой строки M существует соответствующая строка M'. M' получена из M так, что строки M' упорядочены лексикографически, начиная со второго символа. Таким образом, если мы рассмотрим только те строки M', которые начинаются с заданного символа ch, они должны следовать упорядоченным образом с учетом второго символа. Следовательно, для любого заданного символа ch строки M, которые начинаются с ch, появляются в том же порядке, что и в M', начинающиеся с ch. В нашем примере это видно на примере строк, начинающихся с 'a'. Строки 'aabrac', 'abraca' и 'acaabr' имеют номера 0, 1 и 2 в M и 1, 3, 4 в M'.

Используя F и L, первые колонки M и M', мы вычислим вектор Т, который указывает на соответствие между строками двух матриц, с учетом того, что для каждого j = 0,…,N-1 строки j M' соответствуют строкам T[j] M.

Если L[j] является к -м появлением ch в L, тогда T[j] = 1, где F[i] является к -м появлением ch в F. Заметьте, что Т представляет соответствие один в один между элементами F и элементами L, а F[T[j]] = L[j]. В нашем примере T равно (4 0 5 1 2 3).

3. Теперь для каждого i = 0, …, N-1 символы L[i] и F[i] являются соответственно последними и первыми символами строки i матрицы M. Так как каждая строка является вращением S, символ L[i] является циклическим предшественником символа F[i] в S. Из Т мы имеем F[T[j]] = L[j]. Подставляя i = T[j], мы получаем символ L[T(j)], который циклически предшествует символу L[j] в S.

Индекс I указывает на строку М, где записана строка S. Таким образом, последний символ S равен L[I]. Мы используем вектор T для получения предшественников каждого символа: для каждого i = 0, …, N-1 S[N-1-i] = L[Ti[I]], где T0[x] = x, а Ti+1[x] = T[Ti[x]. Эта процедура позволяет восстановить первоначальную последовательность символов S ('abraca').

Последовательность Ti[I] для i = 0, …, N-1 не обязательно является перестановкой чисел 0, …, N-1. Если исходная последовательность S является формой Zp для некоторой подстановки Z и для некоторого p>1, тогда последовательность Ti[I] для i = 0, …, N-1 будет также формой Z'p для некоторой субпоследовательности Z'. Таким образом, если S = 'cancan', Z = 'can' и p = 2, то последовательность Ti[I] для i = 0, …, N-1 будет [2, 4, 0, 2, 4, 0].

Описанный выше алгоритм упорядочивает вращения исходной последовательности символов S и формирует строку L, состоящую из последних символов вращений. Для того чтобы понять, почему такое упорядочение приводит к более эффективному сжатию, рассмотрим воздействие на отдельную букву в обычном слове английского текста.

Возьмем в качестве примера букву "t" в слове "the" и предположим, что исходная последовательность содержит много таких слов. Когда список вращений упорядочен, все вращения, начинающиеся с "he", будут взаимно упорядочены. Один отрезок строки L будет содержать непропорционально большое число "t", перемешанных с другими символами, которые могут предшествовать "he", такими как пробел, "s", "T" и "S".

Аналогичные аргументы могут быть использованы для всех символов всех слов, таким образом, любая область строки L будет содержать большое число некоторых символов. В результате вероятность того, что символ "ch" встретится в данной точке L, весьма велика, если ch встречается вблизи этой точки L, и мала в противоположном случае. Это свойство способствует эффективной работе локально адаптивных алгоритмов сжатия, где кодируется относительное положение идентичных символов. В случае применения к строке L такой кодировщик будет выдавать малые числа, которые могут способствовать эффективной работе последующего кодирования, например, посредством алгоритма Хаффмана.

Лекция 4. Алгоритмы обнаружения и коррекции ошибок

Контроль по четности, CRC, алгоритм Хэмминга. Введение в коды Рида-Соломона: принципы, архитектура и реализация. Метод коррекции ошибок FEC (Forward Error Correction).

Каналы передачи данных ненадежны (шумы, наводки и т.д.), да и само оборудование обработки информации работает со сбоями. По этой причине важную роль приобретают механизмы детектирования ошибок. Ведь если ошибка обнаружена, можно осуществить повторную передачу данных и решить проблему. Если исходный код по своей длине равен полученному коду, обнаружить ошибку передачи не предоставляется возможным. Можно, конечно, передать код дважды и сравнить, но это уже двойная избыточность.

Простейшим способом обнаружения ошибок является контроль по четности. Обычно контролируется передача блока данных ( М бит). Этому блоку ставится в соответствие кодовое слово длиной N бит, причем N>M. Избыточность кода характеризуется величиной 1-M/N. Вероятность обнаружения ошибки определяется отношением M/N (чем меньше это отношение, тем выше вероятность обнаружения ошибки, но и выше избыточность).

При передаче информации она кодируется таким образом, чтобы с одной стороны характеризовать ее минимальным числом символов, а с другой – минимизировать вероятность ошибки при декодировании получателем. Для выбора типа кодирования важную роль играет так называемое расстояние Хэмминга.

Пусть А и Б — две двоичные кодовые последовательности равной длины. Расстояние Хэмминга между двумя этими кодовыми последовательностями равно числу символов, которыми они отличаются. Например, расстояние Хэмминга между кодами 00111 и 10101 равно 2.

Можно показать, что для детектирования ошибок в n битах схема кодирования требует применения кодовых слов с расстоянием Хэмминга не менее N + 1. Можно также показать, что для исправления ошибок в N битах необходима схема кодирования с расстоянием Хэмминга между кодами не менее 2N + 1. Таким образом, конструируя код, мы пытаемся обеспечить расстояние Хэмминга между возможными кодовыми последовательностями большее, чем оно может возникнуть из-за ошибок.

Широко распространены коды с одиночным битом четности. В этих кодах к каждым М бит добавляется 1 бит, значение которого определяется четностью (или нечетностью) суммы этих М бит. Так, например, для двухбитовых кодов 00, 01, 10, 11 кодами с контролем четности будут 000, 011, 101 и 110. Если в процессе передачи один бит будет передан неверно, четность кода из М+1 бита изменится.

Предположим, что частота ошибок ( BER – Bit Error Rate) равна р = 10-4. В этом случае вероятность передачи 8 бит с ошибкой составит 1 – (1 – p)8 = 7,9 х 10-4. Добавление бита четности позволяет детектировать любую ошибку в одном из переданных битах. Здесь вероятность ошибки в одном из 9 битов равна 9p(1 – p)8. Вероятность же реализации необнаруженной ошибки составит 1 – (1 – p)9 – 9p(1 – p)8 = 3,6 x 10-7. Таким образом, добавление бита четности уменьшает вероятность необнаруженной ошибки почти в 1000 раз. Использование одного бита четности типично для асинхронного метода передачи. В синхронных каналах чаще используется вычисление и передача битов четности как для строк, так и для столбцов передаваемого массива данных. Такая схема позволяет не только регистрировать, но и исправлять ошибки в одном из битов переданного блока.

Контроль по четности достаточно эффективен для выявления одиночных и множественных ошибок в условиях, когда они являются независимыми. При возникновении ошибок в кластерах бит метод контроля четности неэффективен, и тогда предпочтительнее метод вычисления циклических сумм ( CRCCyclic Redundancy Check). В этом методе передаваемый кадр делится на специально подобранный образующий полином. Дополнение остатка от деления и является контрольной суммой.

В Ethernet вычисление CRC производится аппаратно. На рис. 4.1 показан пример реализации аппаратного расчета CRC для образующего полинома R(x) = 1 + x2 + x3 + x5 + x7. В этой схеме входной код приходит слева.

Схема реализации расчета CRC


Рис. 4.1.  Схема реализации расчета CRC

Эффективность CRC для обнаружения ошибок на многие порядки выше простого контроля четности. В настоящее время стандартизовано несколько типов образующих полиномов. Для оценочных целей можно считать, что вероятность невыявления ошибки в случае использования CRC, если ошибка на самом деле имеет место, равна (1/2)r, где r — степень образующего полинома.

Таблица 4.1.
CRC -12x12 + x11 + x3 + x2 + x1 + 1
CRC -16x16 + x15 + x2 + 1
CRC -CCITTx16 + x12 + x5 + 1

4.1. Алгоритмы коррекции ошибок

Исправлять ошибки труднее, чем их детектировать или предотвращать. Процедура коррекции ошибок предполагает два совмещеных процесса: обнаружение ошибки и определение места (идентификации сообщения и позиции в сообщении). После решения этих двух задач исправление тривиально — надо инвертировать значение ошибочного бита. В наземных каналах связи, где вероятность ошибки невелика, обычно используется метод детектирования ошибок и повторной пересылки фрагмента, содержащего дефект. Для спутниковых каналов с типичными для них большими задержками системы коррекции ошибок становятся привлекательными. Здесь используют коды Хэмминга или коды свертки.

Код Хэмминга представляет собой блочный код, который позволяет выявить и исправить ошибочно переданный бит в пределах переданного блока. Обычно код Хэмминга характеризуется двумя целыми числами, например, (11,7), используемыми при передаче 7-битных ASCII-кодов. Такая запись говорит, что при передаче 7-битного кода используется 4 контрольных бита (7 + 4 = 11). При этом предполагается, что имела место ошибка в одном бите и что ошибка в двух или более битах существенно менее вероятна. С учетом этого исправление ошибки осуществляется с определенной вероятностью. Например, пусть возможны следующие правильные коды (все они, кроме первого и последнего, отстоят друг от друга на расстояние Хэмминга 4):

00000000

11110000

00001111

11111111

При получении кода 00000111 нетрудно предположить, что правильное значение полученного кода равно 00001111. Другие коды отстоят от полученного на большее расстояние Хэмминга.

Рассмотрим пример передачи кода буквы s = 0x073 = 1110011 с использованием кода Хэмминга (11,7). Таблица 4.2.

Таблица 4.2.
Позиция бита1110987654321
Значение бита111*001*1**

Символами * помечены четыре позиции, где должны размещаться контрольные биты. Эти позиции определяются целой степенью 2 (1, 2, 4, 8 и т.д.). Контрольная сумма формируется путем выполнения операции XoR (исключающее ИЛИ) над кодами позиций ненулевых битов. В данном случае это 11, 10, 9, 5 и 3. Вычислим контрольную сумму:

11=1011
10=1010
09=1001
05=0101
03=0011
1110

Таким образом, приемник получит код

Позиция бита1110987654321
Значение бита11110011110

Просуммируем снова коды позиций ненулевых битов и получим нуль;

11=1011
10=1010
09=1001
08=1000
05=0101
04=0100
03=0011
02=0010
0000

Ну а теперь рассмотрим два случая ошибок в одном из битов посылки, например в бите 7 (1 вместо 0) и в бите 5 (0 вместо 1). Просуммируем коды позиций ненулевых битов еще раз:

Таблица 4.3.
11=1011
10=1010
09=1001
08=1000
07=0111
05=0101
04=0100
03=0011
02=0010
0111
11=1011
10=1010
09=1001
08=1000
04=0100
03=0011
02=0010
0001

В обоих случаях контрольная сумма равна позиции бита, переданного с ошибкой. Теперь для исправления ошибки достаточно инвертировать бит, номер которого указан в контрольной сумме. Понятно, что если ошибка произойдет при передаче более чем одного бита, код Хэмминга при данной избыточности окажется бесполезен.

В общем случае код имеет N = M + C бит и предполагается, что не более чем один бит в коде может иметь ошибку. Тогда возможно N+1 состояние кода (правильное состояние и n ошибочных). Пусть М = 4, а N = 7, тогда слово-сообщение будет иметь вид: M4, M3, M2, C3, M1, C2, C1. Теперь попытаемся вычислить значения С1, С2, С3. Для этого используются уравнения, где все операции представляют собой сложение по модулю 2:

С1 = М1 + М2 + М4
С2 = М1 + М3 + М4
С3 = М2 + М3 + М4

Для определения того, доставлено ли сообщение без ошибок, вычисляем следующие выражения (сложение по модулю 2):

С11 = С1 + М4 + М2 + М1
С12 = С2 + М4 + М3 + М1
С13 = С3 + М4 + М3 + М2

Результат вычисления интерпретируется следующим образом:

Таблица 4.4.
C11C12C13Значение
124Позиция бит
000Ошибок нет
001Бит С3 неверен
010Бит С2 неверен
011Бит M3 неверен
100Бит С1 неверен
101Бит M2 неверен
110Бит M1 неверен
111Бит M4 неверен

Описанная схема легко переносится на любое число n и М.

Число возможных кодовых комбинаций М помехоустойчивого кода делится на n классов, где N — число разрешенных кодов. Разделение на классы осуществляется так, чтобы в каждый класс вошел один разрешенный код и ближайшие к нему (по расстоянию Хэмминга ) запрещенные коды. В процессе приема данных определяется, к какому классу принадлежит пришедший код. Если код принят с ошибкой, он заменяется ближайшим разрешенным кодом. При этом предполагается, что кратность ошибки не более qm.

В теории кодирования существуют следующие оценки максимального числа N n -разрядных кодов с расстоянием D.

d=1n=2n
d=2n=2n-1
d=3N 2n/(1 + n)
d = 2q + 1(для кода Хэмминга это неравенство превращается в равенство)

В случае кода Хэмминга первые k разрядов используются в качестве информационных, причем

K = n – log(n + 1), откуда следует (логарифм по основанию 2), что k может принимать значения 0, 1, 4, 11, 26, 57 и т.д., это и определяет соответствующие коды Хэмминга (3,1); (7,4); (15,11); (31,26); (63,57) и т.д.

Обобщением кодов Хэмминга являются циклические коды BCH (Bose-Chadhuri-hocquenghem). Эти коды имеют широкий выбор длин и возможностей исправления ошибок.

Одной из старейших схем коррекции ошибок является двух-и трехмерная позиционная схема (рис. 4.2). Для каждого байта вычисляется бит четности (бит <Ч>, направление Х). Для каждого столбца также вычисляется бит четности (направление Y. Производится вычисление битов четности для комбинаций битов с координатами (X,Y) (направление Z, слои с 1 до N ). Если при транспортировке будет искажен один бит, он может быть найден и исправлен по неверным битам четности X и Y. Если же произошло две ошибки в одной из плоскостей, битов четности данной плоскости недостаточно. Здесь поможет плоскость битов четности N+1. Таким образом, на 512 передаваемых байтов данных пересылается около 200 бит четности.

Позиционная схема коррекции ошибок


Рис. 4.2.  Позиционная схема коррекции ошибок

4.2. Введение в коды Рида-Соломона: принципы, архитектура и реализация

Коды Рида-Соломона были предложены в 1960 году Ирвином Ридом (Irving S. Reed) и Густавом Соломоном (Gustave Solomon), являвшимися сотрудниками Линкольнской лаборатории МТИ. Ключом к использованию этой технологии стало изобретение эффективного алгоритма декодирования Элвином Беликамфом (Elwyn Berlekamp; http://en.wikipedia.org/wiki/Berlekamp-Massey_algorithm), профессором Калифорнийского университета (Беркли). Коды Рида-Соломона (см. также http://www.4i2i.com/reed_solomon_codes.htm) базируются на блочном принципе коррекции ошибок и используются в огромном числе приложений в сфере цифровых телекоммуникаций и при построении запоминающих устройств. Коды Рида-Соломона применяются для исправления ошибок во многих системах:

На рис. 4.3 показаны практические приложения (дальние космические проекты) коррекции ошибок с использованием различных алгоритмов (Хэмминга, кодов свертки, Рида-Соломона и пр.). Данные и сам рисунок взяты из http://en.wikipedia.org/wiki/Reed-Solomon_error_correction.

Несовершенство кода, как функция размера информационного блока для разных задач и алгоритмов


Рис. 4.3.  Несовершенство кода, как функция размера информационного блока для разных задач и алгоритмов

Типовая система представлена ниже (см. http://www.4i2i.com/reed_solomon_codes.htm)

Схема коррекции ошибок Рида-Соломона


Рис. 4.4.  Схема коррекции ошибок Рида-Соломона

Кодировщик Рида-Соломона берет блок цифровых данных и добавляет дополнительные "избыточные" биты. Ошибки происходят при передаче по каналам связи или по разным причинам при запоминании (например, из-за шума или наводок, царапин на CD и т.д.). Декодер Рида-Соломона обрабатывает каждый блок, пытается исправить ошибки и восстановить исходные данные. Число и типы ошибок, которые могут быть исправлены, зависят от характеристик кода Рида-Соломона.

Свойства кодов Рида-Соломона

Коды Рида-Соломона являются субнабором кодов BCH и представляют собой линейные блочные коды. Код Рида-Соломона специфицируются как RS(n,k) s -битных символов.

Это означает, что кодировщик воспринимает k информационных символов по s битов каждый и добавляет символы четности для формирования n символьного кодового слова. Имеется nk символов четности по s битов каждый. Декодер Рида-Соломона может корректировать до t символов, которые содержат ошибки в кодовом слове, где 2t = n–k.

Диаграмма, представленная ниже, показывает типовое кодовое слово Рида-Соломона:

Структура кодового слова R-S


Рис. 4.5.  Структура кодового слова R-S

Пример. Популярным кодом Рида-Соломона является RS(255, 223) с 8-битными символами. Каждое кодовое слово содержит 255 байт, из которых 223 являются информационными и 32 байтами четности. Для этого кода

n = 255, k = 223, s = 8

2t = 32, t = 16

Декодер может исправить любые 16 символов с ошибками в кодовом слове: то есть ошибки могут быть исправлены, если число искаженных байт не превышает 16.

При размере символа s, максимальная длина кодового слова ( n ) для кода Рида-Соломона равна n = 2s – 1.

Например, максимальная длина кода с 8-битными символами ( s = 8 ) равна 255 байтам.

Коды Рида-Соломона могут быть в принципе укорочены путем обнуления некоторого числа информационных символов на входе кодировщика (передавать их в этом случае не нужно). При передаче данных декодеру эти нули снова вводятся в массив.

Пример. Код (255, 223), описанный выше, может быть укорочен до (200, 168). Кодировщик будет работать с блоком данных 168 байт, добавит 55 нулевых байт, сформирует кодовое слово (255, 223) и передаст только 168 информационных байт и 32 байта четности.

Объем вычислительной мощности, необходимой для кодирования и декодирования кодов Рида-Соломона, зависит от числа символов четности. Большое значение t означает, что большее число ошибок может быть исправлено, но это потребует большей вычислительной мощности по сравнению с вариантом при меньшем t.

Ошибки в символах

Одна ошибка в символе происходит, когда 1 бит символа оказывается неверным или когда все биты неверны.

Пример. Код RS(255,223) может исправить до 16 ошибок в символах. В худшем случае, могут иметь место 16 битовых ошибок в разных символах (байтах). В лучшем случае, корректируются 16 полностью неверных байт, при этом исправляется 16 x 8 = 128 битовых ошибок.

Коды Рида-Соломона особенно хорошо подходят для корректировки кластеров ошибок (когда неверными оказываются большие группы бит кодового слова, следующие подряд).

Декодирование

Алгебраические процедуры декодирования Рида-Соломона могут исправлять ошибки и потери. Потерей считается случай, когда положение неверного символа известно. Декодер может исправить до t ошибок или до 2t потерь. Данные о потере (стирании) могут быть получены от демодулятора цифровой коммуникационной системы, т.е. демодулятор помечает полученные символы, которые вероятно содержат ошибки.

Когда кодовое слово декодируется, возможны три варианта.

  1. Если 2s + r < 2t ( s ошибок, r потерь), тогда исходное переданное кодовое слово всегда будет восстановлено. В противном случае
  2. Декодер детектирует ситуацию, когда он не может восстановить исходное кодовое слово. или
  3. Декодер некорректно декодирует и неверно восстановит кодовое слово без какого-либо указания на этот факт.

Вероятность каждого из этих вариантов зависит от типа используемого кода Рида-Соломона, а также от числа и распределения ошибок.

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

Преимущество использования кодов Рида-Соломона заключается в том, что вероятность сохранения ошибок в декодированных данных обычно много меньше, чем вероятность ошибок, если коды Рида-Соломона не используются. Это часто называется выигрышем кодирования.

Пример. Пусть имеется цифровая телекоммуникационная система, работающая с BER (Bit Error Ratio), равной 10-9, т.е. не более 1 из 109 бит передается с ошибкой. Такого результата можно достичь путем увеличения мощности передатчика или применением кодов Рида-Соломона (либо другого типа коррекции ошибок). Алгоритм Рида-Соломона позволяет системе достичь требуемого уровня BER с более низкой выходной мощностью передатчика.

Архитектура кодирования и декодирования кодов Рида-Соломона

Кодирование и декодирование Рида-Соломона может быть выполнено аппаратно или программно.

Арифметика конечного поля Галуа

Коды Рида-Соломона базируются на специальном разделе математики – полях Галуа (GF) или конечных полях. Арифметические действия (+,-, x, / и т.д.) над элементами конечного поля дают результат, который также является элементом этого поля. Кодировщик или декодер РидаСоломона должны уметь выполнять эти арифметические операции. Эти операции для своей реализации требуют специального оборудования или специализированного программного обеспечения.

Образующий полином

Кодовое слово Рида-Соломона формируется с привлечением специального полинома. Все корректные кодовые слова должны делиться без остатка на эти образующие полиномы. Общая форма образующего полинома имеет вид

g(x) = (x – ai)(x – ai+1)...(x – ai+2t)

а кодовое слово формируется с помощью операции

c(x) = g(x).i(x)

где g(x) является образующим полиномом, i(x) представляет собой информационный блок, c(x) – кодовое слово, называемое простым элементом поля.

Пример. Генератор для RS(255, 249)

g(x)= (x – a0)(x – a1)(x – a2)(x – a3)(x – a4)(x – a5)
g(x)= x6 + g5x5 + g3x3 + g2x2 + g1x1 + g0

Архитектура кодировщика

2t символов четности в кодовом слове Рида-Соломона определяются из следующего соотношения:

Ниже показана схема реализации кодировщика для версии RS(255,249):

Схема кодировщика R-S


Рис. 4.6.  Схема кодировщика R-S

Каждый из 6 регистров содержит в себе символ (8 бит). Арифметические операторы выполняют сложение или умножение на символ как на элемент конечного поля.

Архитектура декодера

Общая схема декодирования кодов Рида-Соломона показана ниже на рис. 4.7.

Схема работы с кодами Рида-Соломона


Рис. 4.7.  Схема работы с кодами Рида-Соломона

Обозначения:

Полученное кодовое слово r(x) представляет собой исходное (переданное) кодовое слово c(x) плюс ошибки:

r(x) = c(x) + e(x)

Декодер Рида-Соломона пытается определить позицию и значение ошибки для t ошибок (или 2t потерь) и исправить ошибки и потери.

Вычисление синдрома

Вычисление синдрома похоже на вычисление четности. Кодовое слово Рида-Соломона имеет 2t синдромов, это зависит только от ошибок (а не передаваемых кодовых слов). Синдромы могут быть вычислены путем подстановки 2t корней образующего полинома g(x) в r(x).

Нахождение позиций символьных ошибок

Это делается путем решения системы уравнений с t неизвестными. Существует несколько быстрых алгоритмов для решения этой задачи. Эти алгоритмы используют особенности структуры матрицы кодов РидаСоломона и сильно сокращают необходимую вычислительную мощность. Делается это в два этапа.

1. Определение полинома локации ошибок.

Это может быть сделано с помощью алгоритма Berlekamp-Massey или алгоритма Эвклида. Алгоритм Эвклида используется чаще на практике, так как его легче реализовать, однако алгоритм Berlekamp-Massey позволяет получить более эффективную реализацию оборудования и программ.

2. Нахождение корней этого полинома. Это делается с привлечением алгоритма поиска Chien.

Нахождение значений символьных ошибок

Здесь также нужно решить систему уравнений с t неизвестными. Для решения используется быстрый алгоритм Forney.

Реализация кодировщика и декодера Рида-Соломона. Аппаратная реализация

Существует несколько коммерческих аппаратных реализаций. Имеется много разработанных интегральных схем, предназначенных для кодирования и декодирования кодов Рида-Соломона. Эти ИС допускают определенный уровень программирования (например RS(255, k), где t может принимать значения от 1 до 16).

Программная реализация

До недавнего времени программные реализации в "реальном времени" требовали слишком большой вычислительной мощности практически для всех кодов Рида-Соломона. Главной трудностью в программной реализации кодов Рида-Соломона являлось то, что процессоры общего назначения не поддерживают арифметические операции для поля Галуа. Однако оптимальное составление программ в сочетании с возросшей вычислительной мощностью позволяют получить вполне приемлемые результаты для относительно высоких скоростей передачи данных.

4.3. Метод коррекции ошибок FEC (Forward Error Correction)

Транспортировка данных подвержена влиянию шумов и наводок, которые вносят искажения. Если вероятность повреждения данных мала, достаточно зарегистрировать сам факт искажения и повторить передачу поврежденного фрагмента.

Когда вероятность искажения велика, например, в каналах коммуникаций с геостационарными спутниками, используются методы коррекции ошибок. Одним из таких методов является FEC (Forward Error Correction, иногда называемое канальным кодированием ) [4.1]. Технология FEC в последнее время достаточно широко используется в беспроводных локальных сетях (WLAN). Существуют две основные разновидности FEC: блочное кодирование и кодирование по методу свертки.

Блочное кодирование работает с блоками (пакетами) бит или символов фиксированного размера. Метод свертки работает с потоками бит или символов произвольной протяженности. Коды свертки при желании могут быть преобразованы в блочные коды.

Существует большое число блочных кодов, одним из наиболее важных является алгоритм Рида-Соломона, который используется при работе с CD, DVD и жесткими дисками ЭВМ. Блочные коды и коды свертки могут использоваться и совместно.

Для FEC -кодирования иногда используется метод сверки, который впервые был применен в 1955 году. Главной особенностью этого метода является сильная зависимость кодирования от предыдущих информационных битов и высокие требования к объему памяти. FEC -код обычно просматривает при декодировании 2-8 бит десятки или даже сотни бит, полученных ранее.

В 1967 году Эндрю Витерби (Andrew Viterbi) разработал технику декодирования, которая стала стандартной для кодов свертки. Эта методика требовала меньше памяти. Метод свертки более эффективен, когда ошибки распределены случайным образом, а не группируются в кластеры. Работа же с кластерами ошибок более эффективна при использовании алгебраического кодирования.

Одной из широко применяемых разновидностей коррекции ошибок является турбо-кодирование, разработанное американской аэрокосмической корпорацией. В этой схеме комбинируется два или более относительно простых кодов свертки. В FEC, так же как и в других методах коррекции ошибок (коды Хэмминга, алгоритм Рида-Соломона и др.), блоки данных из k бит снабжаются кодами четности, которые пересылаются вместе с данными и обеспечивают не только детектирование, но и исправление ошибок. Каждый дополнительный (избыточный) бит является сложной функцией многих исходных информационных бит. Исходная информация может содержаться в выходном передаваемом коде, тогда такой код называется систематическим, а может и не содержаться.

В результате через канал передается n -битовое кодовое слово ( n>k ). Конкретная реализация алгоритма FEC характеризуется комбинацией ( n, k ). Применение FEC в Интернете регламентируется документом RFC3452. Коды FEC могут исключить необходимость обратной связи при потере или искажении доставленных данных (запросы повторной передачи). Особенно привлекательна технология FEC при работе с мультикастинг-потоками, где ретрансмиссия не предусматривается (см. RFC-3453).

В 1974 году Йозеф Оденвальдер (Joseph odenwalder) объединил возможности алгебраического кодирования и метода свертки. Хорошего результата можно добиться, введя специальную операцию псевдослучайного перемешивания бит (interleaver).

В 1993 году группой Клода Берроу (Claude Berrou) был разработан турбо-код. В кодеке, реализующем этот алгоритм, содержатся кодировщики как минимум двух компонент (реализующие алгебраический метод или свертку). Кодирование осуществляется для блоков данных. Здесь также используется псевдослучайное перемешивание бит перед передачей. Это приводит к тому, что кластеры ошибок, внесенных при транспортировке, оказываются разнесенными случайным образом в пределах блока данных.

На рис. 4.8 проводится сравнение вариантов BER (Bit Error Rate) при обычной транспортировке данных через канал и при передаче тех же данных с использованием коррекции ошибок FEC для разных значений отношения сигнал-шум ( S/N ). Из этих данных видно, что при отношении S/N= 8 дБ применение FEC позволяет понизить BER примерно в 100 раз. При этом достигается результат, близкий (в пределах одного децибела) к теоретическому пределу Шеннона.

За последние пять лет были разработаны программы, которые позволяют оптимизировать структуры турбо-кодов. Улучшение BER для турбокодов имеет асимптотический предел, и дальнейшее увеличение S/N уже не дает никакого выигрыша. Но схемы, позволяющие смягчить влияние этого насыщения, продолжают разрабатываться.



Рис. 4.8. 

Турбо-кодек должен иметь столько же компонентных декодеров, сколько имеется кодировщиков на стороне передатчика. Декодеры соединяются последовательно.

Турбо-декодер


Рис. 4.9.  Турбо-декодер

Техника FEC находит все большее применение в телекоммуникациях, например, при передачи мультимедиа [2].

Следует помнить, что, как в случае FEC , так и в других известных методах коррекции ошибок ( BCH , Golay, Hamming и др.) скорректированный код является верным лишь с определенной конечной вероятностью.

Лекция 5. Алгоритмы работы с изображением

Методы разложения, кодирования и отображения статических и движущихся изображений. Использование несовершенства человеческого зрения при кодировании и отображении. Стандарты MPEG-1 и -2. Интерактивное телевидение.

Основу получения и передачи изображения составляет преобразование его в матрицу пикселей (pixel — picture element — элемент картинки). Такое преобразование обычно делается путем сканирования изображения (построчного и покадрового), показанного на рис. 5.1.

Схема разложения изображения на элементы методом сканирования


Рис. 5.1.  Схема разложения изображения на элементы методом сканирования

Обратный ход лучей строчной и кадровой разверток невидимы. В передающих приборах изображение представляется в виде потенциальной картинки, в которой яркость элемента определяется количеством электронов, размещенных в определенной области экрана. Это делается, например, с помощью электронно-лучевой трубки. Начиная с 1980-х годов, для разложения изображения на элементы начали использовать приборы с зарядовой связью ( ПЗС ), в этом случае каждому пикселю ставится в соответствие полупроводниковый конденсатор, заряд которого пропорционален яркости элемента. Если изображение цветное, каждой точке ставится в соответствие 3 величины, пропорциональные яркости изображения по трем базовым цветам (красному, зеленому и голубому — RGB ). Отношение ширины изображения к высоте обычно равно 4:3. В Северной и Южной Америке число строк развертки равно 525, а частота кадров составляет 30/с; в Европе — 625 строк при 25 кадр./с. Только 483 из 525 строк в NTSC и 576 из 625 строк в PAL/SECAM отображаются. Время обратного хода кадровой развертки во многих случаях используется для передачи телетекста (новости, погода, спорт, биржевые цены и пр.). Восприятие телевизионной картинки зависит от времени реакции памяти глазных видеодатчиков. У пожилых людей это время обычно меньше, и по этой причине они воспринимают картинку, передаваемую с частотой кадров 25/с, как мигающую. Чтобы улучшить восприятие без увеличения частоты кадров (это потребовало бы большей полосы передачи), применяется алгоритм, при котором сначала воспроизводятся нечетные строки, а затем четные. Каждый из этих полукадров называется полем, а сам алгоритм — чересстрочной разверткой. Первым стандартом цветного телевидения был NTSC (National Television Standards Committee, США). В Европе цветное телевидение появилось позже, что позволило использовать новые более прогрессивные технологии. Так появилась система SECAM (Sequential Couleur Avec Memorire; Франция и Восточная Европа) и PAL (Phase Alternating Line; остальная Европа). Во всех указанных системах нужно было решать проблему совместимости с черно-белым телевидением, для чего приходилось осуществлять линейное сложение RGB -сигналов для получения сигнала яркости (Y). Сигнал яркости передается на частотах, используемых для черно-белого телевидения, а сигналы цветности — на прилегающих более высокочастотных диапазонах.

Последние годы ознаменовались интенсивными разработками систем телевидения высокого разрешения — HDTV (high Definition TeleVision). Эти системы характеризуются удвоением разрешения. И вновь разработки США, Европы и Японии совершенно не совместимы. Различие этих систем в отношении ширины картинки к высоте 16:9 вместо 4:3, что ближе к форме кадра 35-мм пленки, на которую до сих пор снималось кино. Весь мир готовится к переходу на цифровое телевидение. В простейшем варианте цифровое видео — это последовательность кадров, каждый из которых характеризуется прямоугольной матрицей пикселей. Пиксель можно задавать одним битом, тогда мы получим качество, которое получается при передаче цветной фотографии обычным факсом. При описании пикселя 8 битами можно иметь до 256 уровней яркости, что вполне пригодно для черно-белого видео. Для цветного отображения картины используются электронно-лучевые трубки, где по соседству располагаются три окошка маски, по одному для каждого из цветов. В этом вы можете убедиться, вооружившись лупой и рассмотрев через нее экран своего дисплея. Непрерывный аналоговый сигнал строчной развертки в цифровом варианте заменяется последовательностью кодов, длина которой определяется разрешением по горизонтали. В цифровом варианте возможна замена чересстрочной развертки отображением одного и того же кадра четыре раза. К сожалению, для широковещательного телевидения такое решение неприемлемо, так как современные телевизионные приемники не имеют памяти.

Известно, что для корректной передачи цвета требуется 16 миллионов оттенков (8 бит на каждую из трех цветовых компонент). Самое интересное, что человеческий глаз не способен различить такое число оттенков! Таким образом, для описания картинки на экране, содержащей 575 линий по 720 пикселей, требуется 1,240 Мбайта. Для передачи такой информации по B-каналу ISDN, если не используется сжатие данных, потребуется около 2,5 минут. Эта цифра помогает понять актуальность проблемы сжатия графической информации. XGA-стандарт дисплея (1024x768, 24 бита на пиксель при 24 кадр./с) требует потока цифровых данных 472 Мбит/с.

Именно поэтому при передаче чисто текстовой информации электронная почта имеет абсолютное преимущество перед факсом, ведь в случае факса передается отсканированное черно-белое изображение. В перспективе можно ожидать внедрения обязательного сжатия информации при передаче почтовых сообщений с последующей дешифровкой данных принимающей стороной. Первым шагом на этом пути стало внедрение системы MIME. Такое усовершенствование электронной почты сделает ее еще более грозным конкурентом факс-машин. Ведь передача графических образов уже не является монополией факсимильных систем, а возможность шифрования почтовых сообщений (например, в PGP) и электронные подписи делают электронную почту более устойчивой к перехвату.

Современная транспортировка мультимедийных данных совершенно не мыслима без использования одного или даже нескольких методов сжатия информации.

Стандарты для представления и передачи изображения разрабатывает Joint Photographic Expert Group ( JPEG ). Для сжатия графической информации в настоящее время используется дискретное косинусное двухмерное преобразование ( DCTDiscrete Cosine Transform), которое дает субъективно наилучший результат и описывается уравнением

(5.1)

где v — горизонтальная координата графического блока, u — вертикальная, x — вертикальная координата внутри блока, а y — горизонтальная координата внутри блока, C(u), для u,v = 0 и С(u), С(v) = 1 в противном случае. Два члена в квадратных скобках являются ядрами преобразования, показанными ниже на рис. 5.2, а p(x,y) представляет собой пиксельные данные блока реального рисунка. Начало координат в обоих случаях — в верхнем левом углу. Процесс кодирования сводится к разбиению изображения на блоки 8*8 пикселей и выполнению процедуры двухмерного DCT для каждого из этих блоков. Полученные коэффициенты преобразования дискретизируются, при этом несущественные DCT -коэффициенты отбрасываются. 64 числа, характеризующие уровень сигнала, превращаются в 64 коэффициента преобразования (амплитуды пространственных частот), которые хорошо поддаются процедуре сжатия. Дискретизатор округляет коэффициенты, эта процедура вносит некоторые ошибки, но обратное преобразование на принимающей стороне за счет усреднения частично устраняет вносимые искажения. На практике дискретизатор реализует несколько более сложный алгоритм.

Интуитивно метод DCT базируется на выявлении того, насколько вышестоящий блок отличается от нижестоящего. Для реального представления (сжатия) коэффициентов преобразования здесь также используются коды Хаффмана.

DCT обеспечивает сжатие на уровне 0,5-1,0 бит/пикселей при хорошем качестве изображения. Сжатие требует времени, а максимально приемлемым временем задержки при пересылке изображения является 5 секунд. Если использовать скорость обмена 64 Кбит/с, то степени сжатия 0,01 бита на пиксель будет соответствовать время передачи изображения 0,04 секунды, а сжатию 10 — время передачи 40 с. Порядок передачи оцифрованных значений не совпадает с классической схемой развертки и отображен на рис. 5.2.

Порядок передачи оцифрованных параметров изображения в рамках стандарта  JPEG


Рис. 5.2.  Порядок передачи оцифрованных параметров изображения в рамках стандарта JPEG

JPEG имеет четыре режима и много опций. Схема работы алгоритма JPEG с частичной потерей данных показана на рис. 5.3. Коэффициент сжатия данных составляет 20:1 или даже больше.

Преобразование данных в протоколе JPEG


Рис. 5.3.  Преобразование данных в протоколе JPEG

Отображение графического образа может выполняться последовательно (примерно так, как мы читаем текст: слева направо и сверху вниз) или с использованием прогрессивного кодирования (сначала передается вся картинка с низким разрешением, затем последовательно четкость изображения доводится до максимальной). Последний метод весьма удобен для систем WWW, где, просмотрев изображение низкого разрешения, можно отменить передачу данных, улучшающих четкость, и тем самым сэкономить время. Хорошо распознаваемое изображение получается при сжатии порядка 0,1 бита на пиксель.

Все системы сжатия требуют наличия двух алгоритмов: один для сжатия данных отправителем, другой — для восстановления получателем. Эти алгоритмы принципиально асимметричны. Во-первых, для многих приложений мультимедийный документ, например фильм, может быть сжат один раз (при записи на сервер или DVD-диск), а декодироваться тысячи раз на стороне клиентов. По этой причине процедура сжатия может быть достаточно сложной, дорогой и долгой. Алгоритм же декодирования должен быть достаточно простым и дешевым. Впрочем, в случае видеоконференций медленное кодирование (сжатие) совершенно неприемлемо. По этой причине алгоритмы сжатия данных в реальном масштабе времени принципиально отличаются от алгоритмов кодирования данных при записи на видео или DVD.

Еще одним источником асимметрии сжатия-декомпрессии для мультимедиа является отсутствие требования обратимости процедур. В результате работы программы декомпрессии получится совсем не тот файл, который поступил на вход программы сжатия медиа-данных. Это происходит потому, что процесс сжатия в этом случае сопряжен с потерей части данных. Схемы сжатия могут быть поделены на две категории: энтропийное кодирование и кодирование отправителем.

Энтропийное кодирование подразумевает сжатие данных без потери. К этому типу относятся, например, алгоритмы Хаффмана и Зива-Лемпеля (статистическое сжатие). Рассмотрим простой случай такого кодирования. Пусть мы имеем кодовую последовательность

314159260000000000000271828182811111111110707193800000002001

Предположим также, что каким-то образом мы добились того, что символ R в последовательности встретиться не может, тогда указанную выше строку можно переписать в виде

31415926R0132718281828R11007071938R072001

Здесь повторения одного и того же символа отображаются символом R, за которым следует код повторяющегося символа и число этих повторений. Понятно, что в такой схеме двойные или тройные повторения какого-либо сокращения строки не вызовут. Еще одним примером энтропийного кодирования является метод CLUT (Color Look Up Table). При RGB -представлении изображения каждый пиксель характеризуется тремя байтами, что соответствует 224 оттенков. На практике такое многообразие встречается не так уж часто. Например, в случае мультипликационного фильма число цветов может не превышать 256. Можно получить коэффициент сжатия почти в три раза путем построения таблицы объемом в 768 байт, куда будут занесены коды используемых 256 цветов. Каждый пиксель в этом варианте характеризуется индексом его RGB -кода в таблице. Данный алгоритм может служить примером, когда кодирование более трудоемко, чем декодирование.

Кодирование на стороне отправителя обычно сопряжено с потерей определенной доли данных. Одним из довольно часто используемых способов кодирования является привлечение дифференциальных методик. Здесь предполагается, что значительных изменений уровня сигнала быть не может. Если это происходит, то данные теряются и неизбежны искажения. Другим примером кодирования этого рода является DCT, описанное выше. Еще одним кодированием отправителя можно считать векторное дискретное преобразование изображения. Такое преобразование подразумевает разбивку изображения на равные прямоугольные области. Формируется также кодовая книга, которая содержит набор прямоугольных блоков изображения, возможно, получаемых из некоторой картинки. Вместо пересылки прямоугольника изображения посылается значение индекса соответствующего элемента из кодовой книги. Если эта книга формируется динамически, то она также должна быть послана получателю. При этом подразумевается, что исходное изображение может быть разложено на элементы, содержащиеся в кодовой таблице. В принципе данный метод представляет собой двухмерную реализацию алгоритма CLUT. В реальной картинке могут встретиться фрагменты, не совпадающие с элементами из кодовой книги. В этом случае может быть выполнена подмена элементом, наиболее похожим на имеющийся фрагмент.

Проблема сжатия и передачи движущегося изображения еще сложнее. Алгоритм кодирования такого изображения описан в рекомендациях CCITT H.261. Он предполагает, что скорость передачи при этом лежит в интервале 40 Кбит/с — 2 Мбит/с. Следует иметь в виду, что видеотелефония и видеоконференции требуют синхронной передачи звука и изображения (стандарт H.221, например, 46,4 Кбит/с для видео и 16 Кбит/с для звука). Нормальный формат телевидения имеет 625 и 525 строк развертки и частоту 25-30 кадров в секунду.

Цветное телевидение использует сигналы R (red), G (green) и B (blue), причем яркость луча ( Y ) определяется соотношением: Y = 0.30R + 0.59G + 0.11B (при отображении белого цвета). В стандарте NTSC используется два коэффициента цветности: I = 0,60R – 0,28G – 0,32В и Q = 0,21R – 0,52G + 0,31B. Для PAL и SECAM используются другие коэффициенты цветности. Информация о цветах определяется формулами: СB = B - Y и CR = R - Y. Зная величины Y, CB и СR, можно восстановить значения R, G и B. При сжатии цветного изображения учитывается тот факт, что человеческий глаз извлекает большую часть информации из контуров предметов, а не из цветных деталей. Например, в рекомендации CCIR 601 предлагается использовать полосу 13.5 МГц для кодирования Y и только по 6,75 МГц для СB и CR. Y -матрица кадра содержит 4800 блоков, а матрицы I и Q — по 1200 блоков. Каждый блок включает в себя 64 элемента. Исходная RGB -матрица 24-битных кодов пикселей преобразуется в Y -матрицу 8-битных кодов яркости и две матрицы СB и CR. В результате достигается существенное сокращение объема с незаметным для глаза ухудшением качества изображения (см. рис. 5.4).

Представление данных изображения в JPEG


Рис. 5.4.  Представление данных изображения в JPEG

Такая схема требует 216 Мбит/с, что в 3375 раза превышает возможности стандартного 64Кбит/с B-канала ISDN. Приемлемыми решениями могут быть:

  1. снижение числа строк до 288 (при формате 625 строк) для отображения яркости;
  2. использование максимально возможного сжатия графических данных;
  3. повышение пропускной способности канала. Для разрешения по горизонтали вполне достаточно 3 МГц. Рекомендация 601 требует 720 пикселей для яркости и 360 для каждой из составляющих цветов. В настоящее время используется стандарт CIF (Common Intermediate Format). Для некоторых приложений рекомендовано вдвое более низкое разрешение по каждой из осей (Quarter CIF ). PCM-кодирование CIF с 8 битами на пиксель требует 352 х 288 х (1 + 1/4 + 1/4) х 29,97 х 8 = 36,5 Мбит/с (в отсутствие сжатия).

Отдельную проблему представляет печать изображения. Здесь полутона реализуются с помощью вариации размера элементов изображения. При цветной печати, помимо RGB -представления, используется CMYK-система (Cyan, Magenta, Yellow и Black) и соответствующие картриджи. Черный цвет в RGB соответствует коду 0,0,0, а в CMYK — 75%, 68%, 67% и 90%.

Проблема сжатия информации была, есть и всегда будет актуальной. При известных современных методах, чем больше эффективность сжатия, тем больше задержка (наилучший результат можно получить, используя сжатие всего фильма, а не кадра или тем более строки). В каждом конкретном случае выбирается то или иное компромиссное решение. При работе в реальном масштабе времени, где в процессе обмена участвует человек, задержки более секунды вызывают раздражение, и приходится ограничиваться сравнительно скромными коэффициентами сжатия или умеренным разрешением.

При пересылке движущегося изображения производится сравнение текущего кадра с предшествующим. Если кадры идентичны, никакого информационного обмена не происходит. Если кадры отличаются лишь смещением какого-то объекта, выявляются границы этого объекта, направление и величина вектора его перемещения. Так как использование индивидуальных векторов перемещения для каждого пикселя слишком расточительно, применяется общий вектор для блока пикселей 16*16 по яркости и для соответствующего блока 8*8 по цвету. Точность задания вектора перемещения обычно лежит в пределах 1/2 пикселя (стандарт MPEG -2). Только эта информация и передается по каналу связи. Выявление движущихся объектов осуществляется путем вычитания изображения двух последовательных кадров. Если бы передавалась всегда только разница кадров, происходило бы накопление ошибок. Кроме того, как кодер, так и декодер содержат прямой и обратный DCT -преобразователь. Если комбинация прямого и обратного DCT -преобразования не приводит к получению исходного объекта, то такого рода эффекты могут заметно усилиться. Для исключения этого время от времени производится передача непосредственно видеосигнала (кадра). Практически преобразователь изображения представляет чудо современной технологии, которое даст работу еще не одному поколению математиков и инженеров.

Нисколько не проще система передачи и мультиплексирования потока видеоданных, который содержит, помимо обычной информации, описания формы движущихся объектов, векторы перемещения, коэффициенты дискретизации и многое другое. Схема передачи графической информации имеет 4-уровневую, иерархическую структуру. Передача каждого кадра изображения начинается с 20-битного кода PSC (Picture Start Code, эта сигнатура позволяет выделить начало кадра изображения в общем потоке), далее следует 5-битовый код TR (Temporal Reference, временная метка, которая позволяет поместить соответствующую часть изображения в правильную точку экрана). Изображение пересылается частями, имеется 4 уровня: кадр, группа блоков GoB (Group of Blocks), макроблоки ( MB ) и просто блоки.

Ядро всей структуры составляет процедура передачи кадра (внутренний слой, существуют еще слои GoB, MB и блока, см. рис. 5.5, 5.6 и 5.7)

Схема передачи кадра изображения


Рис. 5.5.  Схема передачи кадра изображения

Поле PTYPE содержит 6 бит, которые характеризуют формат изображения (используется ли формат CIF или QCIF ). Однобитное поле PEI указывает на то, следует ли далее 8-битное поле PSPARE (предназначено на будущее). Если PEI = 0, начинается цикл передачи GoB. Группа блоков составляет одну двенадцатую картинки CIF или одну треть QCIF. GoB описывает Y (яркость), 176 пикселей для каждой из 48 строк и соответствующие 88*24 элементов для CB и CR.

GBSC — (Group of Blocks Start Code) представляет собой 16-разрядное слово, за которым следует 4 бита номера GoB (GN — GoB Number). GN указывает, какой части изображения соответствует данный GoB. Поле GQUANT имеет 5 бит и указывает на номер преобразователя (одного из 31 дискретизаторов), который используется данным GoB. Смысл GEI идентичен PEI. GEI и GSPARE позволяют сформировать структуру данных, идентичную той, что используется на уровне кадра.

Формат пересылки MB сложнее. GoB делится на 33 макроблока (MB), каждый из которых соответствует 16 строкам по 16 пикселей Y (четыре блока 8*8) и CB и CR. Каждый макроблок начинается с его адреса MBA (Macroblock Address), имеющего переменную длину и определяющего положение макроблока в GoB.

Блок-схема кодирования и передачи изображения


Рис. 5.6.  Блок-схема кодирования и передачи изображения

Макроблоки не передаются, если данная часть изображения не изменилась. За MBA следует код переменной длины MTYPE, характеризующий формат макроблока (применен ли метод подвижного вектора MVD и т.д.) и последующую информацию. CBP (Coded Block Pattern) представляет собой кодовое слово переменной длины, которое несет в себе информацию о том, какой из шести блоков преобразования (8*8) содержит коэффициенты (слой блоков). CBP нужно не для всех типов макроблоков. Каждый блок завершается флагом EoB (End of Block).

Размещение блоков в макроблоках


Рис. 5.7.  Размещение блоков в макроблоках

Сама природа алгоритма кодирования и передачи графических данных такова, что число бит, передаваемых в единицу времени, зависит от характера изображения. Чем динамичнее изменяется картинка, тем больше поток данных. Для выравнивания потока данных широко используется буферизация. Буферизация в свою очередь порождает дополнительные задержки, которые в случае видеоконференций или видео-телефонии не должны превышать нескольких сотен миллисекунд.

Так как передача изображения широко использует коды переменной длины, она крайне уязвима для любых искажений. В случае ошибки будет испорчена вся информация вплоть до следующего стартового кода GoB. Из-за рекурсивности алгоритма формирования картинки искажения будут оставаться на экране довольно долго. Использование векторов перемещения может привести к дрейфу искажений по экрану и расширению их области. Для того чтобы уменьшить последствия искажений, в передаваемый информационный поток включаются коды коррекции ошибок BCH (511,493; Forward Error Correction Code), которые позволяют исправить любые две ошибки или кластер, содержащий до 6 ошибок в блоке из 511 бит (см. рис. 8). Алгоритм работает в широком диапазоне скоростей передачи информации. Для реализации коррекции ошибок в поток двоичных данных включается 8 пакетов, каждый из которых включает в себя 1 кадровый бит, 1 бит индикатор заполнения, 492 бита кодированных данных и 18 бит четности. Поле Fi (индикатор заполнения) может равняться нулю, тогда последующие 492 бита не являются графической информацией и могут игнорироваться. Алгоритм предназначен для работы в динамическом диапазоне частот 40:1.

Схема передачи данных с коррекцией ошибок


Рис. 5.8.  Схема передачи данных с коррекцией ошибок

Во время переговоров или в ходе видеоконференции может возникнуть необходимость отобразить текст, выделить на экране какой-то объект, послать факс и т.д. Для решения таких задач можно использовать D-канал (ISDN), но это не оптимально, так как он имеет свои специфические функции. Поэтому более привлекательным представляется создание специального протокола, работающего в рамках B-канала (H.221). Для этих целей задействуется младший бит каждого из октетов, что позволяет создать сервисный канал с пропускной способностью 8 Кбит/с, использующий по 80 бит. Первые 8 бит служат для целей синхронизации ( FAS – Frame Alignment Signal) и выполняют следующие функции:

При работе с каналами на 384, 1536 и 1920 Кбит/с сервисный канал использует тайм-слот 1. Следующие 8 бит имеют название BAS (Bit Allocation Signal) и выполняют следующие функции:

Очевидно, что BAS-коды (H.242, см. http://book.itep.ru/2/29/std_291.htm) должны быть надежно защищены от ошибок. Для этой цели они пересылаются с использованием кодов, допускающих коррекцию ошибок. При работе оба приемника непрерывно ищут разделительный код кадров. Когда он обнаружен, бит А для выходного канала делается равным нулю. Только после получения А = 0 терминал может быть уверен в том, что удаленный терминал правильно воспринял код BAS. Работа с кодами BAS описана в документе H.242. При установлении режима обмена терминалы обмениваются командами BAS. Команда действительна для последующих двух кадров, следовательно, при частоте кадров 100 Гц, изменения режима могут производиться каждые 20 мс.

Многоточечный вызов может рассматриваться как несколько связей между терминалами и бриджем MCU (Multipoint Control Unit) по схеме "точка-точка". Простой MTU передает на каждый из терминалов смешанный аудиосигнал от остальных терминалов. Каждый терминал осуществляет широковещательную передачу для остальных терминалов, участвующих в обмене. При видеообмене на терминал выводится только одна картинка. Дополнительную информацию по данной тематике можно найти в рекомендациях H.231, H242 и H.243.

Для передачи нормального телевизионного изображения необходимо 364 Кбит/с (4х64 Кбит/c). Интеграция телевидения с сетями передачи данных, появление видеотелефона и широкое внедрение видеоконференций становится велением времени. Требования к каждому из этих видов услуг значительно варьируются в зависимости от приложения. Например, ставшие обычными телевизионные мосты требуют высокого качества передачи изображения и звука. А в некоторых дорогостоящих отраслях науки, где международное сотрудничество стало неизбежным, важным является передача статических изображений (чертежи, схемы, описания алгоритмов, и т.д.) с высоким (иногда более высоким, чем в телевидении) разрешением. Здесь важно передать звук с приемлемым качеством (но заметно хуже, чем на ТВ) и обеспечить синхронное перемещение маркера мыши по экрану в ходе обсуждения переданного документа. Экономия только на авиабилетах (не говоря о командировочных и времени экспертов) способна перекрыть издержки по оплате канала для видеоконференции. В этом режиме приемлемым может считаться один кадр в 1-4 секунды.

Рисунок известного французского художника Клода Серрэ из книги "Черный юмор и люди в белом" (см. начало раздела http://book.itep.ru/2/25/pic_25.htm) может служить иллюстрацией того, к чему может привести использование протокола TCP при передаче изображения в реальном масштабе времени. Предположим, что в процессе передачи изображения носа пакеты были повреждены, тогда спустя некоторое время, определяемое размером окна (TCP), будет проведена повторная их передача. Тем временем переданные ранее пакеты будут использованы для построения изображения, а часть картинки, содержавшаяся в пакетах, посланных вместо поврежденных, будет отображена совсем не там, где это следует. Реально из-за повреждения пакетов возможны и более тяжелые искажения изображения. Именно это является причиной использования UDP для передачи видео- и аудиоинформации при видео- и аудиоконференциях (еще лучшего результата можно достичь, используя протокол RTP). Протокол UDP не требует подтверждения и повторной передачи при ошибке доставки. Поврежденные пакеты вызовут искажения изображения (или звука) лишь локально.

Ситуация меняется в случае посылки изображения или звукового послания по электронной почте. Здесь в случае повторной передачи пакетов в конечном итоге будет сформирован файл, уже не содержащий ошибок. Такое решение приемлемо всякий раз, когда большая задержка появления изображения или звука не играет никакой роли.

5.1. Стандарты MPEG-1 и -2

Стандарт MPEG 1 (ISO 11172; см. http://www.chiariglione.org/mpeg/standards/mpeg-1/mpeg-1.htm) определяет методы сжатия данных, позволяющие довести скорости передачи видео- и аудиоинформации до 1,5 Мбит/с, что соответствует скоростям обмена обычных CD-ROM.

Стандарт MPEG -2 содержит в себе 9 частей. Первые три стали международными стандартами MPEG -2 (см. http://www.chiariglione.org/mpeg/standards/mpeg-2/mpeg-2.htm; ISO/IEC JTC1/SC29/WG11).

Часть 1 MPEG -2 относится к объединению одного или более элементарных аудио- или видеопотоков, а также прочих данных в один или несколько потоков, удобных для записи или передачи.

Программный поток подобен создаваемому системами мультиплексирования MPEG -1. Он формируется в результате объединения одного или более элементарных потоков пакетов PES (Packetized Elementary Streams), которые имеют общую временную шкалу. Программный поток формируется для использования в относительно надежной среде и удобен для приложений, которые могут включать в себя программную обработку данных. Пакеты программного потока могут иметь переменную и относительно большую длину. Модель систем MPEG -2 показана на рис. 5.9.

Модель систем MPEG-2Б


Рис. 5.9.  Модель систем MPEG-2Б

Транспортный поток объединяет один или более потоков PES с общей или разными временными шкалами. Элементарные потоки с общей временной шкалой образуют программу. Транспортный поток формируется для использования в относительно ненадежной среде, где вероятны ошибки, — например память или транспортная среда с высоким уровнем наводок или шума. Пакеты транспортного потока имеют длину 188 байт

Часть 2 MPEG -2 предоставляет мощные возможности сжатия видеоданных стандарта MPEG -1 и обладает широким диапазоном средств кодирования. Эти средства группируются в профайлы, обеспечивая разнообразную функциональность. В таблице 5.1 крестом отмечены возможности, которые реализуются стандартом.

Таблица 5.1. Видеопрофайлы MPEG -2
УровеньПростойОсновнойSNR масштаб.Пространственно масштабируемыйВысокийMultiview4:2:2
ВысокийXX
Высокий-1440XXX
ОсновнойXXXXXX
НизкийXX

С момента окончательного одобрения MPEG -2 Видео в ноябре 1994 года, был разработан еще один профайл. Он использует существующие средства кодирования MPEG -2 Видео, но способен работать с изображениями, имеющими разрешение 4:2:2 и более высокую скорость передачи. Несмотря на то, что MPEG -2 Видео не разрабатывался для студийных целей, серия выполненных тестов показала, что MPEG -2 достаточно хорош, а во многих случаях даже лучше, чем предлагается спецификациями, разработанными для более высоких скоростей передачи или студийных приложений.

Профайл 4:2:2 был окончательно одобрен в январе 1996 года и сейчас стал неотъемлемой частью стандарта MPEG -2 Видео.

Профайл Multiview (MVP) является еще одной из последних разработок. Он позволяет, используя существующие средства кодирования MPEG -2, эффективно закодировать последовательность кадров, которые получены от двух камер, снимающих одну и ту же сцену (например, для получения стереообраза).

Часть 3 MPEG -2 представляет собой обратно совместимое многоканальное расширение стандарта MPEG -1 Аудио. На рис. 5.10 показана структура блока данных MPEG -2 Аудио, демонстрирующая это свойство.

Структура блока аудиоданных в MPEG-2


Рис. 5.10.  Структура блока аудиоданных в MPEG-2

Части 4 и 5 MPEG -2 соответствуют частям 4 и 5 MPEG -1.

Часть 6 MPEG -2 — Команды и управление цифровой медийной записью DSM-CC (Digital Storage Media Command and Control) представляет собой спецификацию набора протоколов, которые реализуют средства для управления потоками данных в MPEG -1 и MPEG -2. Эти протоколы могут использоваться для поддержки приложений для автономных и распределенных систем. В модели DSM-CC поток исходит от сервера и поступает клиенту. Сервер и клиент рассматриваются в качестве пользователей сети DSM-CC. DSM-CC определяет логические объекты, называемые сессией и менеджером ресурсов SRM (Session and Resource Manager), которые осуществляют логическое централизованное управление сессиями и ресурсами (см. рис. 5.11).

Эталонная модель DSM-CC


Рис. 5.11.  Эталонная модель DSM-CC

Часть 7 MPEG -2 является спецификацией алгоритма кодирования многоканального аудио, полностью совместимого с MPEG -1.

Часть 8 MPEG -2 первоначально планировалась для кодирования видео, когда входные кодировщики выдают по 10 бит на одно стробирование. Работа была приостановлена, когда выяснилось, что промышленность проявляет ограниченный интерес к этой проблеме.

Часть 9 MPEG -2 является спецификацией интерфейса реального времени RTI (Real-Time Interface) для декодеров транспортного потока, которые могут использоваться с любыми сетями.

Часть 10 является секцией стандарта, предназначенной для тестирования DSM-CC.

Работа над форматом MPEG -2 была завершена в 1997 году. Стандарт MPEG -2 является усовершенствованием MPEG -1 и базируется на схеме шифрования с потерями и передачи без потерь. Кодирование в MPEG -2 идентично используемому в MPEG -1 (I- P- и B-кадры; D-кадры не используются). I-кадр (Intracoded) представляет собой изображение, закодированное согласно стандарту JPEG при полном разрешении по яркости и половинном разрешении по цвету. Такие кадры должны появляться периодически, чтобы исключить накопления ошибок (включаются в выходной поток 1-2 раза в секунду). Эти кадры обеспечивают совместимость с MPEG -1. P-кадры (Predictive) содержат отличие блоков в последнем кадре изображения по отношению к предыдущему кадру. P-кадры базируются на идее макроблоков, которые содержат 16*16 пикселей яркости и 8*8 пикселей цветности. Для декодирования P-кадра необходимо иметь исчерпывающие данные о предыдущем кадре. B-кадры (Bidirectional) характеризуют отличие двух последовательных изображений. B-кадры сходны с P-кадрами, но позволяют устанавливать связь макроблоков не только с предшествующим, но и с последующим кадром. Здесь применено двойное косинусное преобразование с числом коэффициентов 10*10 (против 8*8 в MPEG -1). D-кадры (DC-Coded) используются для получения изображения низкого разрешения при быстрой перемотке вперед или назад. MPEG -2 предназначен для широковещательного телевидения (включая прямое спутниковое — DBS ) и для записи на CD-ROM и поддерживает четыре разных стандарта разрешения: 352*240 (низкое), 720*480 (базовое), 1440*1152 (высокое-1440) и 1920*1080 (высокое). Последние два стандарта относятся к телевидению высокого разрешения ( HDTV ). Низкое разрешение служит для обеспечения совместимости с MPEG -1. Стандарт MPEG -1 может работать в режиме, когда для сжатия данных используется алгоритм JPEG. Эта схема удобна в случае произвольного доступа к любому из кадров, например для их редактирования. С точки зрения эффективности сжатия это совсем не лучшее решение, так как не используется тот факт, что последовательные кадры отличаются друг от друга незначительно. Даже простой метод дифференциального сжатия (передача отличия нового кадра от предыдущего) окажется эффективнее. Здесь предполагается, что фон кадра и положение видеокамеры являются стационарными. Базовое разрешение ориентировано на работу со стандартом NTSC.

Из этих данных можно получить оценку сверху для пропускной способности визуального канала человека. Из-за инерциальности человек не различает более 25 кадров в секунду. Один кадр содержит 1920*1080*24 = 49766400 бит (здесь предполагается, что человек может различать 224 оттенков цветов (в реальности возможности много ниже). Угол нашего зрения много шире телесного угла, перекрываемого телевизионным экраном, но относительно высокое разрешение мы имеем лишь вблизи той точки, на которую мы сфокусировались. Таким образом, мы можем воспринимать порядка 1244 Мбит/с. Практически эта оценка на несколько порядков выше реального значения. Понятно, что мозг может обработать на много порядков меньший объем информации. Оценку возможностей нашей обработки можно получить из скорости быстрого чтения, когда человек воспринимает содержимое страницы за время порядка 15 секунд. Страница содержит примерно 3 Кбайта, что дает скорость приблизительно 200 байт в секунду. Эту цифру можно считать оценкой снизу (ведь буква — это графический образ, а не байт).

Помимо этого MPEG -2 поддерживает 5 профайлов для различных прикладных областей. Основной профайл ориентирован на общие приложения с базовым разрешением. Простой профайл сходен с основным профайлом, но не работает с B-кадрами, чтобы облегчить процедуры кодирования/декодирования. Остальные профайлы служат для обеспечения масштабируемости и работы с HDTV, они отличаются цветовым разрешением и форматами информационных потоков. Скорость передачи данных для каждой комбинации разрешения и профайла различна и лежит в диапазоне от 3 до 100 Мбит/c. Для обычного ТВ характерна скорость 3-4 Мбит/c. В таблице 5.2 представлены размеры кадров в битах для MPEG -1 и MPEG -2.

Таблица 5.2. Видеопрофайлы MPEG -2
Тип кадра
IPBСредний
MPEG -1 (1,15 Мбит/с)150,00050,00020,00038,000
MPEG -2 (4 Мбит/c)400,000200,00080,000130,000

Мультиплексирование аудио- и видеоданных в MPEG -2 показано на рис. 5.12. На выходе пакетизатора мы имеем элементарные потоки пакетов ( PES — Packetized Elementary Stream), содержащих около 30 полей, включая длину, идентификаторы потоков, временные метки, контрольные суммы и т.д. В MPEG -2 формируется два комплексных потока, программный поток (PS) длинных пакетов переменной длины, сходный с MPEG -1, содержащий видео- и аудиоданные и имеющий общую временную шкалу, и транспортный поток (TS) пакетов постоянной длины (188 байт) без общей временной шкалы. В последнем случае минимизируется влияние потерь пакетов в процессе транспортировки. Предусмотрено выделение в потоке составляющих разной степени важности (например, DCT -коэффициентов и обычных графических данных).

Мультиплексирование аудио- и видеоданных в MPEG-1 и MPEG-2 (внизу)


Рис. 5.12.  Мультиплексирование аудио- и видеоданных в MPEG-1 и MPEG-2 (внизу)

Преобразование аналогового сигнала в цифровую последовательность осуществляется в MPEG -2 с помощью кодеков, создавая первичный поток в 140 Мбит/с, который затем преобразуется для передачи через стандартные каналы 1,5 и 15 Мбит/с (например, для прямого широковещательного спутникового телевидения). В настоящее время в Европе принят стандарт D1 (PAL) (576x720) – 1,1 Мбит/c. В соответствии со стандартом сжатия данных H.320 можно обеспечить передачу видео + аудио по каналу 56 Кбит/с с низким разрешением и частотой 1 кадр./с.

5.2. Интерактивное телевидение

В последнее время благодаря широкому внедрению цифрового телевидения и новых стандартов передачи изображения ( MPEG -2) открылись возможности для "телевидения по требованию" (интерактивного телевидения — TV on demand) — системы, где клиент может самостоятельно и индивидуально формировать ТВ-программу. Первые опыты такого рода в США относятся к 1995 году. Эти системы базируются на существующих сетях кабельного телевидения. Но развитие оптоволоконных технологий позволяют ожидать полной интеграции кабельного цифрового телевидения и информационных сетей Интернет. Общая схема такой системы показана на рис. 5.13.

Схема реализации интерактивного телевидения


Рис. 5.13.  Схема реализации интерактивного телевидения

Базовый мультимедийный сервер может обслуживать отдельный район города. В пределах квартала размещается промежуточный центр, где расположен локальный буферный сервер, который записывает фрагменты программ, заказанные локальными клиентами. Только новостийные и некоторые спортивные программы передаются в реальном масштабе времени, все фильмы берутся из локальной фильмотеки или предварительно записываются в накопитель из центрального мультимедиа-архива. Транспортной средой здесь может стать ATM, SDH, Fibre Channel или IEEE-802.17. Оптическое волокно доходит до квартального сервера или даже до дома клиента. В этом случае по имеющимся каналам может передаваться не только программа телевидения и осуществляться телефонные переговоры, но и выполняться полное информационное обслуживание. Сюда может включаться, помимо заказа ТВ-программ, подписка на газеты, заказ билетов на транспорт или в театр, получение прогноза погоды и данных о состоянии дорог, доступ к базам данных, включая библиотеки и фонотеки, оповещение о пожаре или вторжении и многое другое.

Особый интерес представляет возможность практически полного вытеснения традиционных газет. Клиент сможет получать только интересующие его статьи из любых газет (и только их и оплачивать). Если какая-то статья представляет интерес и он захочет почитать ее позднее в машине или на даче, ее можно распечатать на принтере, подключенном к его телевизору-терминалу.

Цены на цветные принтеры в настоящее время опустились до 100 долларов и ниже, таким образом, нужная копия уже сейчас дешевле стоимости газеты. Экономия на бумаге и средствах доставки очевидны, да и необходимость в типографиях отпадет, ведь даже книги можно будет получить непосредственно дома, хотя привлекательность данной услуги и не вполне однозначна — хорошо сброшюрованная и переплетенная книга будет привлекательным объектом еще долго. Массовое внедрение таких технологий будет стимулировать падение цен на соответствующие процессоры и принтеры. Интерактивная схема подключения телевизора-терминала сделает возможным многие новые виды развлечений, а также совершение многих покупок, не выходя из дома. Традиционной почте подписала отсроченный приговор почта электронная, но появление интерактивных широкополосных средств завершит многовековую историю почты (да и телеграфа). Ей будет оставлена доставка товаров, билетов и документов. Побочным продуктом прогресса в данной области станет общедоступный видеотелефон. Схема видеосервера представлена на рис. 5.14.

Видеосервер может содержать несколько процессоров (ЦПУ) со встроенной локальной памятью. Такой сервер должен иметь несколько систем архивов и достаточно мощный сетевой канал. Один кинофильм требует для записи около 4 Гбайт. Используемые запоминающие устройства образуют иерархическую структуру: ЗУПВ (запоминающее устройство с произвольным доступом), дисковая память ( RAID — Redundant Array of Inexpensive Discs), CD и картриджи магнитных лент. ЗУПВ имеют минимальное время доступа, относительно малую емкость и достаточно высокую цену, а магнитные ленты, наоборот, относительно дешевы, характеризуются большим временем доступа, но достаточно большой емкостью. Сетевой интерфейс связывает сервер с центральной инфраструктурой телевизионной сети. Но нужно учитывать, что одна из главных составляющих видеосервера на рисунке не показана — это управляющее программное обеспечение, которое должно решать проблему буферизации и шифрования огромного объема данных для достаточно большого числа клиентов.

Блок-схема видеосервера для интерактивного телевидения


Рис. 5.14.  Блок-схема видеосервера для интерактивного телевидения

Главными средствами доставки данных в системе интерактивного телевидения являются: ADSL (Asymmetric Digital Subscriber Line), FTTC (Fiber To The Curb), FTTH (Fiber To The Home) и HFC (Hybrid Fiber Coax). Главная проблема — система связи с конечными клиентами. Здесь существует достаточно широкое многообразие технических средств. Разработчики решений данной проблемы исходили из предположения, что практически каждый дом в США, Европе и Японии уже имеет вводы скрученных пар телефонных проводов, допускающих получение информационных потоков > 1,55 Мбит/с. Схема ADSL -соединения показана на рис. 5.15. К интерфейсу помимо телевизора может быть подключена и ЭВМ. Схема эта принципиально асимметрична, исходящий поток клиента не может превышать 16 Кбит/c. При этом сохраняется традиционный аналоговый телефонный канал (4 КГц). Полосы скоростного входного канала клиента вполне достаточно для передачи цифрового ТВ-сигнала в стандарте MPEG -1. Максимальное расстояние для такого соединения составляет 2 км.

Система FTTC предполагает наличие оптического канала до квартала, где живет клиент. На конце волокна устанавливается блок ONU (Optical Network Unit), от которого к клиентам прокладывается до 16 скрученных пар. Малая длина медных соединений позволяет получить большую пропускную способность. Эта система благодаря симметрии канала допускает осуществление видеоконференций для работающих на дому.

Схема раздачи ТВ-данных с помощью ADSL


Рис. 5.15.  Схема раздачи ТВ-данных с помощью ADSL

Система FTTH обеспечивает оптический канал до дома клиента, по этой причине она имеет очень высокую стоимость, но зато способна обеспечить скорость передачи 51,84 или 155,52 Мбит/с.

Если системы ADSL, FTTC и FTTH осуществляют связь по схеме "точка-точка", то HFC ориентирована на топологию систем кабельного телевидения. Предполагается замена современных коаксиальных ТВ-кабелей (300-450 МГц) на кабели с полосой 750 МГц (125 6-мегагерцных каналов). 50 новых каналов будут модулированы с использованием QAM-256, что даст 40 Мбайт/с на канал. Один кабель обслуживает до 500 домов. Из-за общего кабеля система HFC должна использовать шифрование, чтобы исключить несанкционированный доступ (что совершенно излишне для систем ADSL, FTTC и FTTH). Это совсем не дешево для американских фирм, ведь им нужно заменить все кабели и оконечное оборудование, заменить однонаправленные усилители и т.д. В РФ, где ничего этого нет и нужно начинать с нуля, можно легко создать любую совершенно новую систему. Указанные методы подразумевают, что конкретному клиенту предоставляется один или более MPEG -потоков. Для декодирования и отображения таких потоков необходим специальный сетевой интерфейс. Все это подталкивает к решению, объединяющему возможности сети и традиционного телевизионного приемника. Вариант такого решения представлен на рис. 5.16.

Структура интерфейсного оборудования клиента


Рис. 5.16.  Структура интерфейсного оборудования клиента

Интерфейс клиента в этом случае содержит в себе ЭВМ (ЦПУ, ЗУПВ и ROM), к рабочей шине которой подключен сетевой интерфейс, MPEG -декодер и устройство сопряжения с телевизором и пультом дистанционного управления. Главной задачей этого оборудования — согласование с местной системой распределения видеоданных, синхронизация видео- и аудиосигналов. К ТВ-интерфейсу может быть подключен телефон или персональная ЭВМ. ЗУПВ объемом 500 Кбайт позволяет буферизовать поток MPEG -2 в течение 1 секунды. Функцией встроенной ЭВМ является дешифровка потока цифровых данных, что позволяет отключить от сети клиентов, не оплативших аренду канала. Эта ЭВМ может использоваться для организации компьютерных игр, как индивидуальных, так и групповых, а также для обработки запросов клиента и центральной станции обслуживания. Одним из возможных протоколов транспортировки мультимедиа-данных является MBone (Mulicast Backbone). Выработка стандарта интерактивного телевидения еще не завершена. Применение Mbone предполагает использование маршрутизаторов, которые поддерживают этот протокол и соответствующие протоколы маршрутизации (DVMRP и PIM).

В последнее время разрабатываются системы частного телевидения, где видео- и аудиопотоки формируются самими клиентами (сети peer-topeer).

Жилье клиента будет оборудовано оптоволоконным кабелем, завершающимся интерфейсной коробкой с разъемами для подключения телефона, телевизора и ЭВМ. Даже современные ограниченные скорости передачи позволяют решить стоящие проблемы. Во-первых, люди не смотрят телевизор круглые сутки, это позволяет ночью или в рабочее время, когда клиент на службе, произвести передачу нужных фрагментов ТВ-программы на локальный сервер. Во-вторых, популярность фильмов и программ не однородна, что также снижает требование на широкополосность. Известно, что наиболее популярный фильм запрашивается примерно в К раз чаще, чем фильм, занимающий к -е место в списке популярности (эмпирический закон Ципфа (Zipf), выведенный из статистики контор по прокату видеокассет). Это означает, что из предлагаемого списка будут выбраны не все фильмы, а наиболее популярные фрагменты программ можно передавать по схеме MBONE, минимизируя загрузку каналов. Способствовать решению данной проблемы будет и появление CD с емкостью 4 Гбайта. Но проблем здесь остается немало — так, трудно себе представить, что все клиенты захотят смотреть один и тот же фильм в одно время. Решение подобной задачи потребует очень большого объема буферной памяти и ощутимо поднимет требования к широкополосности канала. "Синхронизовать" клиентов можно будет дифференциацией оплаты для разных временных интервалов и группированием клиентов, заказавших близкие времена начала демонстрации фильмов (можно решить проблему путем копирования фильмов на диск оконечного клиента). Но, несмотря на все эти ухищрения, локальные серверы должны будут иметь сложную иерархическую систему буферной памяти, базирующуюся на разных принципах работы (CD, магнитная лента, дисковая память и даже RAM).

Практическая реализация фантастической схемы, предложенной в предыдущем абзаце, уже осуществляется в США и Канаде. Предстоит написать огромное число различных сервисных программ, но все базовые технологии уже существуют.

MPEG-3 разрабатывался для систем телевидения высокой четкости с разрешением 1920x1080x30 при скорости потока данных 20-40 Мбит/с. Этот формат стал частью стандарта MPEG -2. Формат MP3 (не надо смешивать с MPEG-3 ) предназначен только для сжатия аудиоинформации. В формате МР3 предусмотрено три вида сжатия двухканальных аудиоданных join stereo, stereo, dual channel (последний обеспечивает наилучшее качество).

Принципиально новым шагом в обработке мультимедиа стал стандарт MPEG -4, где впервые был введен объектный подход к анализу изображений и звука. Здесь же введено понятие сцены и базовые принципы ее описания, заложены основы интерактивного взаимодействия слушателя/зрителя со сценой, впервые рассматриваются в практической плоскости вопросы интеллектуальной собственности.

Лекция 6. Стандарт mpeg-4, -7, -21

Объектные подходы и описание сцены. Формирование аудио-визуальных сцен MPEG-4. Описание и синхронизация потоков данных для медийных объектов. Профайлы. Демультиплексирование, синхронизация и описание потоков данных, язык описания определений MPEG-7 (DDL). Альфа-маски.

MPEG-4 является стандартом ISO/IEC, разработанным комитетом MPEG (Moving Picture Experts Group; см. http://www.chiariglione.org/mpeg/standards/mpeg-4/mpeg-4.htm, а также http://book.itep.ru/2/25/mpeg-4R.htm), который разработал такие известные стандарты как MPEG-1 и MPEG-2. Эти стандарты сделали возможным интерактивное видео на CD-ROM и цифровое телевидение. MPEG-4 является результатом работы сотен исследователей и разработчиков всего мира. Разработка MPEG-4 (в ISO/IEC нотации имеет название ISO/IEC 14496) завершена в октябре 1998 г. Международным стандартом он стал в начале 1999 г. Полностью совместимый расширенный вариант MPEG-4 версии 2 был разработан к концу 1999 г. и стал международным стандартом в начале 2000 г. Работы над этим документом продолжаются. MPEG-4 предназначен для решения трех проблем:

6.1. Стандарт MPEG-4

Стандарт MPEG-4 предоставляет технологии для нужд разработчиков, сервис-провайдеров и конечных пользователей.

Стандарт MPEG-4:

  1. представляет блоки звуковой, визуальной и аудио-визуальной информации, называемые "медийными объектами". Эти медийные объекты могут быть естественного или искусственного происхождения; то есть они могут быть записаны с помощью камеры или микрофона, а могут быть и сформированы посредством ЭВМ;
  2. описывает композицию этих объектов при создании составных медийных объектов, которые образуют аудио-визуальные сцены;
  3. определяет мультиплексирование и синхронизацию данных, ассоциированных с медийными объектами, так, чтобы они могли быть переданы через сетевые каналы, обеспечивая QoS, приемлемое для природы специфических медийных объектов;
  4. определяет взаимодействие с аудио-визуальной сценой, сформированной на принимающей стороне.

Кодированное представление медийных объектов

Аудио-визуальные сцены MPEG-4 формируются из нескольких медийных объектов, организованных иерархически. На периферии иерархии находятся примитивные медийные объекты, такие как:

MPEG-4 стандартизует число таких примитивных медиа-объектов, способных представлять как естественные, так и синтетические типы содержимого, которые могут быть 2- или 3-мерными. Кроме медиа-объектов, упомянутых выше и показанных на рис. 3.1, MPEG-4 определяет кодовое представление объектов, такое как:

Медиа-объект в его кодированной форме состоит из описательных элементов, которые позволяют обрабатывать его в аудио-визуальной сцене, а также, если необходимо, ассоциировать с ним поток данных. Важно заметить, что кодированная форма каждого медиа-объекта может быть представлена независимо от его окружения или фона.

Кодовое представление медиа-объектов максимально эффективно с точки зрения получения необходимой функциональности. Примерами такой функциональности являются разумная обработка ошибок, легкое извлечение и редактирование объектов и представление объектов в масштабируемой форме.

Состав медийных объектов

На рис. 6.1 объясняется способ описания аудио-визуальных сцен в MPEG-4, состоящих из отдельных объектов. Рисунок содержит составные медиа-объекты, которые объединяют примитивные медиа-объекты. Примитивные медиа-объекты соответствуют периферии описательного дерева, в то время как составные медиа-объекты представляют собой субдеревья. В качестве примера: визуальные объекты, соответствующие говорящему человеку, и его голос объединены друг с другом, образуя новый составной медиа-объект.

Пример сцены MPEG-4


Рис. 6.1.  Пример сцены MPEG-4

Такое группирование позволяет разработчикам создавать комплексные сцены, а пользователям манипулировать отдельными или группами таких объектов.

MPEG-4 предлагает стандартизованный путь описания сцен, позволяющий:

Описание сцены строится во многих отношениях так же, как и в языке моделирования виртуальной реальности VRML (Virtual Reality Modeling Language).

Описание и синхронизация потоков данных для медийных объектов

Медиа-объектам может быть нужен поток данных, который преобразуется в один или несколько элементарных потоков. Дескриптор объекта идентифицирует все потоки, ассоциированные с медиа-объектом. Это позволяет иерархически обрабатывать кодированные данные, а также ассоциированную медиа-информацию о содержимом (называемом "информация содержимого объекта").

Каждый поток характеризуется набором дескрипторов для конфигурирования информации, например, чтобы определить необходимые ресурсы записывающего устройства и точность кодированной временной информации. Более того, дескрипторы могут содержать подсказки относительно QoS, которое необходимо для передачи (например, максимальное число бит/с, BER, приоритет и т.д.)

Синхронизация элементарных потоков осуществляется за счет временных меток блоков данных в пределах элементарных потоков. Уровень синхронизации управляет идентификацией таких блоков данных (модулей доступа) и работой с временными метками. Независимо от типа среды этот слой позволяет идентифицировать тип модуля доступа (например, видео- или аудиокадры, команды описания сцены) в элементарных потоках, восстанавливать временную базу медиа-объекта или описания сцены, и осуществлять их синхронизацию. Синтаксис этого слоя конфигурируется самыми разными способами, обеспечивая работу с широким спектром систем.

Доставка потоков данных

Синхронизованная доставка потока данных отправителя получателю, которая использует различные QoS, доступные в сети, специфицирована в терминах слоя синхронизации и доставки, содержащих двухслойный мультиплексор (см. рис. 6.2).

Первый слой мультиплексирования управляется согласно спецификации DMIF (Delivery Multimedia Integration Framework). Это мультиплексирование может быть реализовано определенным в MPEG мультиплексором FlexMux, который позволяет группировать элементарные потоки ES (Elementary Streams) с низкой избыточностью. Мультиплексирование на этом уровне может использоваться, например, для группирования ES с подобными требованиями по QoS, чтобы уменьшить число сетевых соединений или значения задержек.

Модель системного слоя MPEG-4


Рис. 6.2.  Модель системного слоя MPEG-4

Слой TransMux (Transport Multiplexing) на рис. 6.2 моделирует уровень, который предлагает транспортные услуги, удовлетворяющие требованиям QoS. MPEG-4 специфицирует только интерфейс этого слоя, в то время как остальные требования к пакетам данных будут определяться транспортным протоколом. Любой существующий стек транспортных протоколов, например (RTP)/UDP/IP, (AAL5)/ATM или MPEG-2 Transport Stream, поверх подходящего канального уровня может стать частным случаем TransMux. Выбор оставлен за конечным пользователем или сервис-провайдером и позволяет использовать MPEG-4 с широким спектром операционного окружения.

Использование мультиплексора FlexMux является опционным, и, как показано на рис. 6.2, этот слой может быть пустым, если нижележащий TransMux предоставляет все необходимые функции. Слой синхронизации, однако, присутствует всегда. С учетом этого возможно:

Взаимодействие с медийными объектами

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

Менеджмент и идентификация интеллектуальной собственности

Важно иметь возможность идентифицировать интеллектуальную собственность в MPEG-4 медиа-объектах. Полный перечень требований для идентификации интеллектуальной собственности можно найти на базовой странице MPEG в разделе "Management and Protection of Intellectual Property".

MPEG-4 включает в себя идентификацию интеллектуальной собственности путем запоминания уникальных идентификаторов, которые выданы международными системами нумерации (например ISAN (International Audio-Visual Number), ISRC (International Standard Recording Code) и т.д.). Эти числа могут использоваться для идентификации текущего владельца прав медиа-объекта. Так как не все содержимое идентифицируется этим числом, MPEG-4 версии 1 предлагает возможность идентификации интеллектуальной собственности с помощью пары ключевых значений (например: композитор/John Smith). Кроме того, MPEG-4 предлагает стандартизованный интерфейс, который тесно интегрирован с системным слоем для людей, которые хотят использовать системы, контролирующие доступ к интеллектуальной собственности. С этим интерфейсом системы контроля прав собственности могут легко интегрироваться со стандартизованной частью декодера.

С учетом актуальности проблемы в настоящее время разрабатывается стандарт MPEG-21, который регламентирует отношения пользователей между собой и с цифровыми объектами.

Основные функции в MPEG-4 версии 1

DMIF

DMIF поддерживает следующие функции:

Системы

Как объяснено выше, MPEG-4 определяет набор алгоритмов улучшенного сжатия для аудио- и видеоданных. Потоки данных (Elementary Streams, ES), которые являются результатом процесса кодирования, могут быть переданы или запомнены независимо. Они должны быть объединены так, чтобы на принимающей стороне возникла реальная мультимедийная презентация.

Системные части MPEG-4 обращаются к описаниям взаимодействий между аудио- и видеокомпонентами, которые образуют сцену. Эти взаимодействия описаны на двух уровнях.

Некоторые другие средства и возможности системы MPEG-4.

Аудиосистема

MPEG-4 аудио предлагает широкий перечень приложений, которые покрывают область от понятной речи до высококачественного многоканального аудио и от естественных до синтетических звуков. В частности, он поддерживает высокоэффективную презентацию аудиообъектов, включая:

* Речь. Кодирование речи может производиться при скоростях обмена от 2 Кбит/с до 24 Кбит/с. Низкие скорости передачи, такие как 1,2 Кбит/с, также возможны, когда разрешена переменная скорость кодирования. Для коммуникационных приложений допустимы малые задержки. Когда используются средства HVXC, скорость и высота тона могут модифицироваться пользователем при воспроизведении. Если используются средства CELP, изменение скорости воспроизведения может быть реализовано с помощью дополнительного средства;

* Синтезированная речь. TTS-кодировщики с масштабируемой скоростью в диапазоне от 200 бит/с до 1,2 Кбит/с, которые позволяют использовать текст или текст с интонационными параметрами (вариация тона, длительность фонемы, и т.д.), в качестве входных данных для генерации синтетической речи. Это включает следующие функции:

* Общие аудиосигналы. Поддержка общей кодировки аудиопотоков от низких скоростей до высококачественных. Рабочий диапазон начинается от 6 Кбит/с при полосе ниже 4 КГц и распространяется до широковещательного качества передачи звукового сигнала для моно и многоканальных приложений.

* Синтезированный звук. Поддержка синтезированного звука осуществляется декодером структурированного звука (Structured Audio Decoder), который позволяет использовать управление музыкальными инструментами с привлечением специального языка описания.

* Синтетический звук с ограниченной сложностью. Реализуется структурируемым аудиодекодером, который позволяет работать со стандартными волновыми форматами.

Примерами дополнительной функциональности является возможность управления скоростью обмена и масштабируемость в отношении потоков данных, полосы пропускания, вероятности ошибок, сложности, и т.д., как это определено ниже.

* Возможность работы в случае изменения скорости передачи допускает изменение временного масштаба без изменения шага при выполнении процесса декодирования. Это может быть, например, использовано для реализации функции "быстро вперед" (поиск в базе данных) или для адаптации длины аудиопоследовательности до заданного значения, и т.д.

* Функция изменения шага позволяет варьировать шаг без изменения временного масштаба в процессе кодирования или декодирования. Это может быть применено, например, для изменения голоса или для приложений типа караоке. Эта техника используется в методиках параметрического и структурированного кодирования звука.

* Изменение скорости передачи допускает анализ потока данных с разбивкой на субпотоки меньшей скорости, которые могут быть декодированы в осмысленный сигнал. Анализ потока данных может осуществляться при передаче или в декодере.

* Масштабируемость полосы пропускания является частным случаем масштабируемости скорости передачи данных, когда часть потока данных, представляющая часть частотного спектра, может быть отброшена при передаче или декодировании.

* Масштабируемость сложности кодировщика позволяет кодировщикам различной сложности генерировать корректные и осмысленные потоки данных.

* Масштабируемость сложности декодера позволяет заданную скорость потока данных дешифровать посредством декодеров с различным уровнем сложности. Качество звука, вообще говоря, связано со сложностью используемого кодировщика и декодера.

* Аудиоэффекты предоставляют возможность обрабатывать декодированные аудиосигналы с полной точностью таймирования с целью достижения эффектов смешения, реверберации, создания объемного звучания и т.д.

Видеосистема

Стандарт MPEG-4 Видео допускает гибридное кодирование естественных (пиксельных) изображений и видео вместе с синтезированными сценами (генерированными на ЭВМ). Например, возможно создать виртуальное присутствие участников видеоконференций. Видеостандарт содержит в себе средства и алгоритмы, поддерживающие кодирование естественных (пиксельных) статических изображений и видеопоследовательностей, а также средства поддержки сжатия искусственных 2D- и 3D- графических геометрических параметров. Следующие форматы, кодировки и скорости передачи будут поддерживаться MPEG-4 версии 1:

Альфа-плоскость определяет прозрачность объекта, которая не обязательно является однородной. Многоуровневые альфа-карты часто применяются для затенения различных слоев последовательности изображений. Другими приложениями, которые используют ассоциированные двоичные альфа-маски, являются презентации баз данных изображений, интерактивные игры, наблюдения и анимация. Предлагаются методики, которые позволяют эффективно кодировать двоичные и альфа-плоскости с серой шкалой изображения. Двоичная альфа-маска определяет, принадлежит ли пиксель данному объекту. Маска с серой шкалой предоставляет возможность точно определить прозрачность каждого пикселя.

Часть стандарта, связанная с "анимацией лица", позволяет посылать параметры, которые помогают специфицировать и анимировать синтезированные лица. Эти модели не являются сами частью стандарта MPEG-4, стандартизированы только параметры.

Версия 2 MPEG-4 была зафиксирована в декабре 1999 года. Существующие средства и профайлы из версии 1 в версии 2 не заменены; новые возможности будут добавлены в MPEG-4 в форме новых профайлов. Системный слой версии 2 обладает обратной совместимостью с версией 1.

Системы

Версия 2 систем MPEG-4 расширяет версию 1, с тем чтобы перекрыть такие области, как BIFS-функциональность и поддержка Java ( MPEG-J ). Версия 2 также специфицирует формат файлов для записи содержимого MPEG-4.

Видеосистемы. Натуральное видео

Видео MPEG-4 версии 2 добавляет новые возможности в следующих областях:

Версия 2 MPEG-4 предоставляет набор средств для кодирования многогранных 3D-сеток. Многогранные сетки широко используются для представления 3D-объектов.

Звук

В MPEG-4 Аудио версии 2 добавлены новые средства и функции, при этом все прежние возможности и функции сохранены. Версия 2 MPEG-4 Аудио предоставляет следующие возможности.

Основные средства, вводимые DMIF версии 2, предоставляют поддержку (ограниченную) мобильных сетей и мониторирования QoS.

Поддержка мобильных сетей

Спецификация H.245 была расширена (H.245v6), чтобы добавить поддержку систем MPEG-4; спецификация DMIF предоставляет возможность работы с сигналами H.245. Мобильные терминалы могут теперь использоваться системами MPEG-4, такими, как BIFS- и OD-потоки.

Мониторирование QoS

DMIF V.2 вводит концепцию мониторирования качества обслуживания (QoS), реализуемого в сети. Интерфейс DMIF -приложения был соответственно расширен. Модель допускает до трех различных режимов мониторирования QoS: непрерывное мониторирование, контроль специфических очередей и наблюдение за нарушениями QoS.

Модель DMIF позволяет приложениям партнеров обмениваться любыми сообщениями пользователей (поток управляющих сообщений). В DMIF V2 добавлена поддержка сообщений-откликов.

Управление информацией уровня Sync MPEG-4

V.2 улучшает модель DMIF, чтобы позволить приложениям обмениваться прикладными данными со слоем DMIF. Такое добавление было введено, чтобы сделать возможным в пределах модели обмен блоками протокольных данных уровня Sync. Это комбинация чисто медийных данных (PDU) и логической информации уровня Sync. Модель подтверждает, что в пределах существующего транспортного стека существуют средства, которые перекрываются с Sync-слоем систем MPEG-4. Это случай RTP и MPEG-2 элементарных потоков пакетов PES (Packetized Elementary Steams), а также MP4-атомов в файловом формате. Во всех таких случаях очевидной реализацией DMIF является преобразование информации уровня Sync, извлеченной из этих структур, а также из SLPDU, в однородное логическое представление заголовка пакета уровня Sync. Как следствие, введены соответствующие параметры для DAI, с учетом обеспечения их семантической независимости от транспортного стека и приложения.

DMIF V.2 вводит информативное дополнение, которое предоставляет синтаксис C/C++ для прикладного интерфейса DMIF, как это рекомендуется API-синтаксисом.

Профайлы в MPEG-4

MPEG-4 предоставляет большой и богатый набор средств для кодирования аудио-визуальных объектов. Для того чтобы позволить эффективную реализацию стандарта, специфицированы субнаборы систем MPEG-4, средств видео и аудио, которые могут использоваться для специфических приложений. Эти субнаборы, называемые "профайлами", ограничивают набор средств, которые может применить декодер. Для каждого из этих профайлов устанавливается один или более уровней, ограничивающих вычислительную сложность. Подход сходен с MPEG-2, где большинство общеизвестных комбинаций "профайл/уровень" имеют вид "главный_профайл@главный_уровень". Комбинация "профайл@уровень" позволяет:

Существуют профайлы для различных типов медиа-содержимого (аудио, видео и графика) и для описания сцен. MPEG не предписывает или рекомендует комбинации этих профайлов, но заботится о том, чтобы обеспечить хорошее согласование между различными областями.

Видеопрофайлы

Визуальная часть стандарта предоставляет профайлы для кодирования естественного, синтетического и гибридного типов изображений. Существует пять профайлов для естественного видеоматериала.

Профайлами для синтетических и синтетико-натуральных гибридных визуальных материалов являются:

Версия 2 добавляет следующие профайлы для натурального видео:

Профайлы версии 2 для искусственного и синтетического/натурального гибридного визуального материала:

В последующих версиях будут добавлены следующие профайлы:

Аудиопрофайлы

Определены четыре аудиопрофайла в MPEG-4 версии 1:

  1. Разговорный профайл предоставляет HVXC, который является параметрическим кодером голоса, рассчитанным на очень низкие скорости передачи, CELP узкополосным/широкополосным кодером голоса, или интерфейсом "текст-голос".
  2. Профайл синтеза обеспечивает синтез аудио, использующий SAOL, волновые таблицы и интерфейс "текст-голос" для генерации звука и речи при очень низких скоростях передачи.
  3. Масштабируемый профайл, супер-набор профайла речи, удобен для масштабируемого кодирования речи и музыки для таких сетей, как Интернет и NADIB (Narrow band Audio DIgital Broadcasting). Диапазон скоростей передачи лежит в пределах от 6 Кбит/с до 24 Кбит/с, при ширине полосы 3,5 и 9 КГц.
  4. Главный профайл является расширенным супер-набором всех других профайлов, содержащий средства для синтетического и естественного аудио.

Еще четыре профайла добавлено в MPEG-4 V.2:

  1. Профайл высококачественного аудио содержит кодировщик голоса CELP и простой кодировщик AAC, содержащий систему долгосрочного предсказания. Масштабируемое кодирование может быть выполнено с помощью AAC масштабируемого объектного типа. Опционно может использоваться синтаксис потока, устойчивый к ошибкам (ER).
  2. Профайл аудио с низкой задержкой (Low Delay Audio) содержит HVXC и CELP кодировщики голоса (опционно использующие синтаксис ER), AAC-кодеры с низкой задержкой и интерфейс "текст-голос" TTSI.
  3. Профайл натурального аудио содержит все средства кодирования натурального аудио, доступные в MPEG-4.
  4. Профайл межсетевого мобильного аудио (Mobile Audio Internetworking) содержит AAC-масштабируемые объектные типы с малой задержкой, включая TwinVQ и BSAC. Этот профайл предназначен для расширения возможностей телекоммуникационных приложений за счет алгоритмов не-MPEG-кодирования речи с возможностями высококачественного аудиокодирования.

Разработаны также профайлы графики и сцены.

Профайлы MPEG-J

Существуют два профайла MPEG-J (расширение формата MPEG-4, в котором используются Java-элементы): персональный и главный.

1. Персональный — небольшой пакет для персональных приборов.

Персональный профайл обращается к ряду приборов, включая мобильные и портативные аппараты. Примерами таких приборов могут быть видеотелефоны, PDA, персональные игровые устройства. Этот профайл включает в себя следующие пакеты MPEG-J API:

2. Главный — включает все MPEG-J API.

Главный профайл обращается к ряду приборов, включая средства развлечения. Примерами таких приборов могут служить набор динамиков, компьютерные системы мультимедиа и т.д. Он является супер-набором персонального профайла. Помимо пакетов персонального профайла, этот профайл содержит следующие пакеты MPEG-J API:

Профайл дескриптора объекта

Профайл описания объекта включает в себя следующие средства:

В настоящее время определен только один профайл, который содержит все эти средства. В контексте слоев для этого профайла могут быть определены некоторые ограничения, например допуск только одной временной шкалы.

Детальное техническое описание MPEG-4 DMIF и систем

Рис. 6.3 показывает, как потоки, приходящие из сети (или запоминающего устройства), или потоки TransMux, демультиплексируются в потоки FlexMux и передаются соответствующим демультиплексорам FlexMux, которые извлекают элементарные потоки. Элементарные потоки (ES) анализируются и передаются соответствующим декодерам. Декодирование преобразует данные в AV (аудио-визуальный) объект и выполняет необходимые операции для реконструкции исходного AV-объекта, готового для рэндеринга на соответствующем аппарате. Аудио- и визуальные объекты представлены в их кодированной форме. Реконструированный AV-объект делается доступным для слоя композиции при рэндеринге сцены. Декодированные AVO, вместе с данными описания сцены, используются для композиции сцены. Пользователь может расширить возможности, разрешенные автором, взаимодействовать со сценой, которая отображается.

DMIF

DMIF (Delivery Multimedia Integration Framework) является протоколом сессии для управления мультимедийными потоками поверх общих средств доставки данных. В принципе он имеет много общего с FTP. Единственное (существенное) отличие заключается в том, что FTP выдает данные, а DMIF предоставляет указатели, где получить данные (streamed).

Главные компоненты терминала MPEG-4 (принимающая сторона)


Рис. 6.3.  Главные компоненты терминала MPEG-4 (принимающая сторона)

Когда работает FTP, первым действием, которое производит протокол, является установление сессии с удаленным партнером. Далее выбираются файлы, и FTP посылает запрос об их передаче, партнер FTP пересылает файл через отдельное, сформированное для этой цели соединение.

Аналогично, когда работает DMIF, первым действием, которое он выполняет, является установление сессии с удаленным партнером. Позднее выбираются потоки и DMIF посылает запрос передать их; партнер DMIF в отклике пришлет указатель на соединение, где будут проходить потоки, и затем также устанавливает соединение.

По сравнению с FTP, DMIF является системой и протоколом. Функциональность, предоставляемая DMIF, определяется интерфейсом, называемым DAI ( DMIF -Application Interface), и реализуется через протокольные сообщения. Эти протокольные сообщения для разных сетей могут отличаться.

При конструировании DMIF рассматривается и качество обслуживания (QoS), а DAI позволяет пользователю DMIF специфицировать требования для нужного потока. Проверка выполнения требований оставляется на усмотрение конкретной реализации DMIF. Спецификация DMIF предоставляет советы, как решать такие задачи на новом типе сети, таком, например, как Интернет.

Интерфейс DAI используется для доступа к широковещательному материалу и локальным файлам. Это означает, что определен один, универсальный интерфейс для доступа к мультимедийному материалу для большого числа технологий доставки.

Уместно заявить, что интегрирующая система DMIF покрывает три главные технологии, интерактивную сетевую технику, широковещательную технологию и работу с дисками; это показано на рис. 6.4 ниже.

DMIF осуществляет интеграцию доставки для трех основных технологий


Рис. 6.4.  DMIF осуществляет интеграцию доставки для трех основных технологий

Архитектура DMIF такова, что приложения, которые для коммуникаций базируются на DMIF, не должны быть чувствительны к нижележащему методу коммуникаций. Реализация DMIF заботится о деталях технологии доставки, предоставляя приложению простой интерфейс.

На рис. 6.5 представлена указанная выше концепция. Приложение получает доступ к данным через интерфейс приложения DMIF, вне зависимости от того, откуда получены данные: от широковещательного источника, локальной памяти или от удаленного сервера. Во всех сценариях локальное приложение только взаимодействует через универсальный интерфейс (DAI). Различные варианты DMIF будут затем транслировать запросы локального приложения в специфические сообщения, которые должны быть доставлены удаленному приложению, учитывая особенности используемых технологий доставки. Аналогично, данные, поступающие на терминал (из удаленного сервера, широковещательных сетей или локальных файлов) доставляются локальному приложению через DAI.

Специализированные версии DMIF подключаются приложением опосредовано, чтобы управлять различными специфическими технологиями доставки данных; это, однако прозрачно для приложения, которое взаимодействует только с одним DMIF -фильтром. Этот фильтр отвечает за управление конкретным примитивом DAI в нужный момент.

Концептуально "настоящее" удаленное приложение, доступное через сеть, например, через IP или ATM, ничем не отличается от эмулируемого удаленного приложения, получающего материал от широковещательного источника или с диска. В последнем случае, однако, сообщения, которыми обмениваются партнеры, должны быть определены, чтобы обеспечить совместимость (это сигнальные сообщения DMIF ). С другой стороны, интерфейсы между двумя партнерами DMIF и эмулируемым удаленным приложением являются внутренними по отношению реализации и не должны рассматриваться в этой спецификации. Заметим, что для сценариев получения данных широковещательно и из локальной памяти рисунок показывает цепочку "Локальный DMIF ", "Удаленный DMIF (эмулированный)" и "Удаленное приложение (эмулированное)". Эта цепочка представляет концептуальную модель и не должна отражаться в практической реализации (на рисунке она представлена закрашенной областью).

Архитектура коммуникаций DMIF


Рис. 6.5.  Архитектура коммуникаций DMIF

При рассмотрении сценариев с широковещанием и локальной памятью предполагается, что эмулируемое удаленное приложение знает, как данные доставлены/запомнены. Это подразумевает знание типа приложения, с которым осуществляется взаимодействие. В случае MPEG-4, это в действительности предполагает знание идентификатора элементарного потока, дескриптора первого объекта, названия услуги. Таким образом, в то время как уровень DMIF концептуально не знает ничего о приложении, которое поддерживает, в частном случае работы DMIF с широковещанием и локальной памятью это утверждение не вполне корректно из-за присутствия эмулированного удаленного приложения (которое, с точки зрения локального приложения, является частью слоя DMIF ).

При рассмотрении сценария удаленного взаимодействия слой DMIF ничего не знает о приложении. Введен дополнительный интерфейс DNI ( DMIF -Network Interface), который служит для подчеркивания того, какого рода информацией должны обмениваться партнеры DMIF. Дополнительные модули SM (Signaling mapping) служат для установления соответствия между примитивами DNI и сигнальными сообщениями, используемыми в конкретной сети. Заметим, что примитивы DNI специфицированы для информационных целей, и интерфейс DNI в настоящей реализации может отсутствовать.

DMIF допускает одновременное присутствие одного или более интерфейсов DMIF, каждый из которых предназначен для определенной технологии доставки данных. Одно приложение может активировать несколько технологий доставки.

Вычислительная модель DMIF

Когда приложение запрашивает активацию услуги, оно использует сервисный примитив DAI и формирует соответствующую сессию. Реализация DMIF устанавливает контакт с партнером (который концептуально может быть либо удаленным, либо эмулируемым локальным партнером) и формирует вместе с ним сетевую сессию. В случае широковещательного и локального сценариев способ формирования и управления сессией находится вне зоны ответственности данного документа. В случае интерактивного сценария с удаленным сервером DMIF задействует свой сигнальный механизм для формирования и управления сессией, например сигнальный механизм ATM. Приложения партнеров используют эту сессию для установления соединения, которое служит для передачи прикладных данных, например элементарных потоков MPEG-4.

Когда приложению нужен канал, оно использует примитивы канала DAI, DMIF транслирует эти запросы в запросы соединения, которые являются специфическими для конкретных запросов сетевых реализаций. В случае сценариев широковещания и локальной памяти метод установления соединения и последующего управления находится за пределами регламентаций MPEG-4. В случае сетевого сценария, напротив, DMIF применяет свой сигнальный механизм для формирования и управления соединением. Это соединение используется приложением для целей доставки данных.

На рис. 6.6 предоставлена схема активации верхнего уровня и начало обмена данными. Этот процесс включает в себя четыре этапа.

Вычислительная модель DMIF


Рис. 6.6.  Вычислительная модель DMIF

Слой DMIF автоматически определяет, предполагается ли предоставление данной услуги удаленным сервером в конкретной сети, например в IP или ATM, широковещательной сетью или устройством локальной памяти. Выбор основывается на адресной информации партнера, которая предоставляется приложением в качестве части URL, переданной DAI.

Демультиплексирование, синхронизация и описание потоков данных

Отдельные элементарные потоки должны быть выделены на уровне доставки из входных данных некоторого сетевого соединения или из локального устройства памяти. Каждое сетевое соединение или файл в модели системы MPEG-4 рассматривается как канал TransMux. Демультиплексирование выполняется частично или полностью слоями вне области ответственности MPEG-4. Единственным демультиплексирующим средством, определенным MPEG-4, является FlexMux, которое может опционно использоваться для снижения задержки, получения низкой избыточности мультиплексирования и для экономии сетевых ресурсов.

Для целей интегрирования MPEG-4 в системную среду интерфейс приложения DMIF является точкой, где можно получить доступ к элементарным потокам как к потокам пакетов sync. DMIF является интерфейсом для реализации функций, недоступных в MPEG. Управляющая часть интерфейса рассмотрена в разделе DMIF.

MPEG-4 определяет модель системного декодера. Это позволяет точно описать операции терминала, не делая ненужных предположений о деталях практической реализации. Такое описание важно для того, чтобы дать свободу разработчикам терминалов MPEG-4 и декодирующих приборов. Это оборудование включает в себя широкий диапазон аппаратов — от телевизионных приемников, которые не имеют возможности взаимодействовать с отправителем, до ЭВМ, которые имеют полноценный двунаправленный коммуникационный канал. Некоторые устройства будут получать потоки MPEG-4 через изохронные сети, в то время как другие будут использовать для обмена информацией MPEG-4 асинхронные средства (например Интернет). Модель системного декодера предоставляет общие принципы, на которых могут базироваться все реализации терминалов MPEG-4.

Спецификация модели буфера и синхронизации является существенной для кодирующих приборов, которые могут не знать заранее тип терминала и метод получения кодированного потока данных. Спецификация MPEG-4 делает возможным для кодирующего прибора проинформировать декодер о ресурсных требованиях, но может так оказаться, что приемник не сможет реагировать на сообщение передатчика.

Демультиплексирование

Демультиплексирование происходит на уровне доставки, который включает в себя слои TransMux и DMIF. Извлечение входящих информационных потоков из сетевого соединения или из памяти включает в себя два этапа. Во-первых, каналы должны быть найдены и открыты. Это требует наличия некоторого объекта, который осуществляет транспортный контроль и устанавливает соответствие между транспортными каналами и специальными элементарными потоками. Таблица карты таких потоков связывает каждый поток с ChannelAssociationTag (канальной меткой), служащей указателем для канала, через который идет поток. Определение ChannelAssociationTag для реального транспортного канала, а также управление сессией и каналами осуществляется DMIF.

Во-вторых, входящие потоки должны быть соответствующим образом демультиплексированы, чтобы восстановить SL-потоки пакетов от нижележащих каналов (входящих в принимающий терминал). В интерактивных приложениях соответствующий узел мультиплексирования переправляет данные в вышерасположенные каналы (исходящие из принимающего терминала).

Базовый термин "TransMux Layer" используется, чтобы абстрагироваться от нижележащей функциональности — существующей или будущей, которая пригодна для транспортировки потоков данных MPEG-4. Заметим, что этот уровень не определен в контексте MPEG-4. Примерами могут служить транспортные потоки MPEG-2, H.223, ATM AAL 2, IP/UDP. Предполагается, что слой TransMux предоставляет защиту и средства мультиплексирования, этот уровень обеспечивает определенный класс QoS. Средства безопасности включают в себя защиту от ошибок и детектирование ошибок, удобные для данной сети или устройств памяти.

В любом конкретном сценарии приложения используются один или более специфических TransMux. Каждый демультиплексор TransMux предоставляет доступ к каналам TransMux. Требования на информационный интерфейс доступа к каналу TransMux те же, что и для всех интерфейсов TransMux. Они включают необходимость надежного детектирования ошибок; доставки, если возможно, ошибочных данных с приемлемой индикацией ошибок; кадрирования поля данных, которое может включать потоки либо SL, либо FlexMux. Эти требования реализованы в интерфейсе TransMux (системная часть стандарта MPEG-4). Адаптация потоков SL должна быть специфицирована для каждого стека протоколов.

Средство FlexMux специфицировано MPEG для того, чтобы опционно предоставить гибкий метод, имеющий малую избыточность и задержку для переукладки данных в тех случаях, когда нижележащие протоколы не поддерживают это. Средство FlexMux само по себе недостаточно устойчиво по отношению к ошибкам и может использоваться либо в каналах TransMux с высоким QoS, либо для объединения элементарных потоков, которые достаточно устойчивы к ошибкам. FlexMux требует надежного детектирования ошибок. Эти требования реализованы в информационных примитивах прикладного интерфейса DMIF, который определяет доступ к данным в индивидуальных транспортных каналах. Демультиплексор FlexMux выделяет SL-потоки из потоков FlexMux.

Синхронизация и описание элементарных потоков

Слой sync имеет минимальный набор средств для проверки согласованности, чтобы передать временную информацию. Каждый пакет состоит из блока доступа или фрагмента блока доступа. Эти снабженные временными метками блоки образуют единственную семантическую структуру элементарных потоков, которые видны на этом уровне. Временные метки используются для передачи номинального времени декодирования. Уровень sync требует надежного детектирования ошибок и кадрирования каждого индивидуального пакета нижележащего слоя.

Архитектура буферов модели системного декодера


Рис. 6.7.  Архитектура буферов модели системного декодера

Как осуществляется доступ к данным для слоя сжатия, определяется интерфейсом элементарных потоков, описание которого можно найти в системной части стандарта MPEG-4. Слой sync извлекает элементарные потоки из потоков SL.

Чтобы элементарные потоки могли взаимодействовать с медиа-объектами в пределах сцены, используются дескрипторы объектов. Дескрипторы объектов передают информацию о номере и свойствах элементарных потоков, которые ассоциированы с конкретными медиа-объектами. Сами дескрипторы объектов передаются в одном или более элементарных потоков, так как допускается добавление и удаление потоков (и объектов) в процессе сессии MPEG-4. Для того чтобы обеспечить синхронизацию, такие модификации помечаются временными метками. Потоки дескрипторов объектов могут рассматриваться как описание потоковых ресурсов презентации. Аналогично, описание сцены также передается как элементарный поток, позволяя модифицировать пространственно-временную картину презентации со временем.

Управление буфером

Чтобы предсказать, как декодер будет себя вести, когда он декодирует различные элементарные потоки данных, которые образуют сессию MPEG-4, модель системного декодера (Systems Decoder Model) позволяет кодировщику специфицировать и мониторировать минимальные буферные ресурсы, необходимые для декодирования сессии. Требуемые буферные ресурсы передаются декодеру в объектных дескрипторах во время установления сессии MPEG-4, так что декодер может решить, способен ли он участвовать в этой сессии.

При управлении конечным буферным пространством модель позволяет отправителю, например, передавать данные, не привязанные к реальному времени, досрочно, если имеется достаточно места в буфере со стороны приемника. Запомненные данные будут доступны в любое время, позволяя использовать для информации реального времени (при необходимости) большие ресурсы канала.

Идентификация времени

Для операции реального времени предполагается модель синхронизации, в которой задержка от выхода кодировщика до входа декодера остается постоянной. Более того, передаваемые потоки данных должны содержать времязадающую информацию в явном или неявном виде. Существует два типа временной информации. Первый тип используется для передачи декодеру временной шкалы или частоты часов кодировщика. Второй, состоящий из временных меток, присоединенных к закодированным AV (аудио-видео) данным, содержит желательное время декодирования для блоков доступа или композиции, а также время истечения применимости композиционных блоков. Эта информация передается в заголовках SL-пакетов, сформированных в слое sync. С такой временной информацией интервалы в пределах картинки и частота стробирования аудио могут подстраиваться в декодере, чтобы соответствовать интервалам частоты стробирования на стороне кодировщика.

Различные медиа-объекты могут кодироваться кодировщиками с различными временными шкалами и даже с небольшим отличием времязадающих частот. Всегда возможно установить соответствие между этими временными шкалами. В этом случае, однако, никакая реализация приемного терминала не может избежать случайного повторения или потери AV-данных, из-за временного наезда (относительное растяжение или сжатие временных шкал).

Улучшенная модель синхронизации (FlexTime)

Модель FlexTime (Advanced Synchronization Model) расширяет традиционную модель хронирования MPEG-4, чтобы разрешить синхронизацию большого числа потоков и объектов, таких как видео, аудио, текст, графика, или даже программ, которые могут иметь разное происхождение.

Традиционная модель синхронизации MPEG-4 первоначально была сконструирована для широковещательных приложений, где синхронизация между блоками доступа осуществляется через "жесткие" временные метки и эталонные часы. В то время как этот механизм предоставляет точную синхронизацию внутри потока, он терпит неудачу при синхронизации потоков, приходящих из разных источников (и, возможно, с разными эталонными часами), как это происходит в случае большинства Интернет-приложений и в более сложных широковещательных приложениях.

Модель FlexTime позволяет разработчику материала специфицировать простые временные соотношения для выбранных объектов MPEG-4, таких как CoStart, CoEnd, и Meet. Автор материала может также специфицировать ограничения гибкости для объектов MPEG-4, как если бы объекты были растяжимыми пружинами. Это позволяет синхронизовать большое число объектов согласно специфицированным временным соотношениям.

Наибольшую эффективность внедрение этой техники может дать в случае приложений Интернет, где нужно синхронизовать большое число источников на стороне клиента.

Гибкая длительность

В среде с ненадежной доставкой может так случиться, что доставка определенного элементарного потока или частей потока может заметно задержаться относительно требуемого времени воспроизведения.

Следуя модели пружины, элементарные потоки, или фрагменты потоков, рассматриваются как пружины, каждый с тремя ограничениями. Оптимальная длина (длительность воспроизведения потока) может рассматриваться как подсказка получателю, когда возможны варианты. Заметим, что при растяжении или сжатии длительности непрерывной среды, такой как видео, подразумевается соответствующее замедление или ускорение воспроизведения, когда элементарный поток состоит из статических картинок. В этом случае растяжение или сжатие предполагает удержание изображения на экране в течение большего или меньшего времени.

Относительное время начала и конца

Два или более элементарных потоков или потоков сегментов могут быть синхронизованы друг относительно друга, путем определения того, что они начинаются (CoStart) или кончаются (CoEnd) в одно и то же время или завершение одного совпадает с началом другого (Meet).

Важно заметить, что существует два класса объектов MPEG-4. Синхронизация и рэндеринг объекта MPEG-4, который использует элементарный поток, такой как видео, не определяется одним потоком, но также соответствующими узлами BIFS и их синхронизацией. В то время как синхронизация и рэндеринг объекта MPEG-4, который не использует поток, такой как текст или прямоугольник, определяется только соответствующими узлами BIFS и их синхронизацией.

Модель FlexTime позволяет автору материала осуществлять синхронизацию объектов MPEG-4 с потоками или сегментами потоков, устанавливая временные соотношения между ними.

Временные соотношения (или относительные временные метки) могут рассматриваться как функциональные временные метки, которые используются при воспроизведении. Таким образом, действующий объект FlexTime может:

  1. компенсировать различные сетевые задержки с помощью ожидания прибытия потока, прежде чем действующий объект активизирует рэндеринг/воспроизведение ассоциированного с ним узла;
  2. компенсировать различные сетевые разбросы задержки путем ожидания прибытия сегмента потока;
  3. синхронизовать большое число медиа/BIFS-узлов с некоторым медиа-потоком неизвестной длины или неуправляемым временем прибытия;
  4. синхронизовать модификации BIFS (например, модификации полей сцены) при наличии большого числа узлов/потоков, когда некоторые потоки имеют неизвестную длину или неуправляемое время прибытия;
  5. замедлять или ускорять рэндеринг/воспроизведение частей потоков, чтобы компенсировать ситуации несинхронности, вызванные неизвестной длиной, неуправляемым временем прибытия или его вариацией.

Поддержка FlexTime в MPEG-4

Модель FlexTime поддерживается в MPEG-4 двумя узлами: TemporalTransform и TemporalGroup, и дескриптором: SegmentDescriptor. Узел TemporalTransform специфицирует временные свойства объекта MPEG-4, который нуждается в синхронизации. Узел TemporalGroup специфицирует временные соотношения между объектами, которые представлены узлами TemporalTransform, а SegmentDescriptor идентифицирует доли потока, которые могут быть синхронизованы.

TemporalTransform поддерживает синхронизацию узлов в пределах сцены с медиа-потоком (или его сегментом) и поддерживает гибкое преобразование ко времени сцены. Этот группирующий узел может гибко поддерживать замедление, ускорение, замораживание или смещение временной шкалы сцены для рэндеринга узлов, содержащихся в ней. Его дочернее поле может содержать список узлов типа SF3Dnode, а узел может влиять на замедление, ускорение, замораживание или смещение временной шкалы композитора, когда он осуществляет рэндеринг дочерних узлов, которые преобразованы этим узлом. Кроме того, этот узел имеет поле url, которое может ссылаться на элементарный поток или его сегмент, и в этом случае узел воздействует на временную шкалу потока, указанного в ссылке.

Узел TemporalGroup специфицирует временное соотношение между заданным числом TemporalTransforms, чтобы выровнять временные шкалы узлов в графе сцены. Временная настройка среды с целью удовлетворения ограничений и обеспечения гибкости осуществляется на уровне sync. TemporalGroup может рассматривать временные свойства его дочек, а когда все они готовы и временные ограничения выполнены, может быть дано разрешение на их воспроизведение.

Массив SegmentDescriptor добавляется в качестве составного элемента в ES_Descriptor. SegmentDescriptor идентифицирует и помечает сегмент потока, так что отдельные сегменты потока могут быть адресуемы с помощью их полей URL в узле TemporalTansform.

Временное декодирование и настройка часов медиа-потоков в соответствии с временными метками является функцией слоя sync. Модель FlexTime требует небольшого изменения модели буферизации MPEG-4 и декодирования. Декодирование может быть задержано у клиента, по отношению к стандартному времени.

Модель буферов для flextime может быть специфицирована следующим образом: "В любое время от момента, соответствующего его DTS, вплоть до границы времени, заданной FlexTime, AU немедленно декодируется и удаляется из буфера". Так как точное время удаления из буфера декодирования AU может варьироваться, нельзя быть уверенным, что оно будет удалено раньше наихудшего времени (максимальная задержка для медиа-потока). Используя наихудшее время, а не время, заданное DTS, буфер декодирования может управляться и не так, как предписывается MPEG-4.

Описание синтаксиса

MPEG-4 определяет язык синтаксического описания, чтобы характеризовать точный двоичный синтаксис для двоичных потоков, несущих медиа-объекты, и для потоков с информацией описания сцены. Это уход от прошлого подхода MPEG, использовавшего язык псевдо C. Новый язык является расширением C++ и используется для интегрированного описания синтаксического представления объектов, классов медиаобъектов и сцен. Это предоставляет удобный и универсальный способ описания синтаксиса. Программные средства могут использоваться для обработки синтаксического описания и генерации необходимого кода для программ, которые выполняют верификацию.

Двоичный формат описания сцены BIFS

Кроме обеспечения поддержки кодирования индивидуальных объектов, MPEG-4 предоставляет также возможность создать набор таких объектов в рамках сцены. Необходимая информация композиции образует описание сцены, которая кодируется и передается вместе с медиаобъектами. Начиная с VRML (Virtual Reality Modeling Language), MPEG разработал двоичный язык описания сцены, названный BIFS. BIFS расшифровывается как BI nary F ormat for S cenes.

Для того чтобы облегчить авторскую разработку, а также создание средств манипулирования и взаимодействия, описания сцены кодируются независимо от потоков, имеющих отношение к примитивным медиаобъектам. Специальные меры предпринимаются для идентификации параметров, относящихся к описанию сцены. Это делается путем дифференциации параметров, которые используются для улучшения эффективности кодирования объектов (например, векторы перемещения в алгоритмах видеокодирования), а также те, которые применяются в качестве модификаторов объекта (например, положение объекта на сцене). Так как MPEG-4 должен допускать модификацию последнего набора параметров без необходимости декодирония самих примитивных медиа-объектов, эти параметры помещаются в описание сцены, а не в примитивные медиаобъекты. Следующий список предлагает некоторые примеры информации, представленной в описании сцены.

Как объекты группируются. Сцена MPEG-4 следует иерархической структуре, которая может быть представлена как ориентированный граф без циклов. Каждый узел графа является медиа-объектом, как показано на рис. 6.8. Три структуры не обязательно являются статическими; атрибуты узла (например, позиционирующие параметры) могут быть изменены, в то время как узлы могут добавляться, замещаться или удаляться.

Возможная логическая структура сцены


Рис. 6.8.  Возможная логическая структура сцены

Как объекты позиционируются в пространстве и во времени. В модели MPEG-4 аудио-визуальные объекты имеют протяженность в пространстве и во времени. Каждый медиа-объект имеет локальную координатную систему. Локальная координатная система объекта является той, в которой объект имеет фиксированное пространственно-временное положение и шкалу. Локальная координатная система служит в качестве указателя для манипулирования медиа-объектом в пространстве и во времени. Медиа-объекты позиционируются на сцене путем спецификации координатного преобразования из локальной координатной системы объекта в глобальную систему.

Выбор значения атрибута. Индивидуальные медиа-объекты и узлы описания сцены демонстрируют набор параметров композиционному слою, через который может частично контролироваться их поведение. Среди примеров можно назвать понижение звука (pitch), цвет для синтетических объектов, активация или дезактивация информации улучшения для масштабируемого кодирования и т.д.

Другие преобразования медиа-объектов. Как упомянуто выше, структура описания сцены и семантика узла подвержены сильному влиянию VRML вообще и его модели событий в частности. Это предоставляет MPEG-4 очень богатый набор операторов конструирования сцены, включая графические примитивы, которые могут использоваться для построения сложных сцен.

BIFS версии 2 (продвинутый BIFS) включает в себя следующие новые возможности.

Взаимодействие с пользователем

MPEG-4 позволяет пользователю взаимодействовать с отображаемым материалом. Это взаимодействие может быть разделено на две главные категории: взаимодействие на стороне клиента и взаимодействие на стороне сервера. Взаимодействие на стороне клиента включает в себя манипуляцию материалом, который обрабатывается локально на терминале конечного пользователя. В частности, модификация атрибута узла описания сцены, например изменение положения объекта, делание его видимым или невидимым, изменение размера шрифта узла синтетического текста и т.д., может быть выполнено путем трансляции событий пользователя. Событием пользователя может быть нажатие клавиши мыши или команда, введенная с клавиатуры.

Другие формы взаимодействия на стороне клиента требуют поддержки синтаксиса описания сцены и должны быть специфицированы в стандарте. Использование структуры событий VRML предоставляет богатую модель, на основании которой разработчики могут создать вполне интерактивный материал.

Взаимодействие на стороне сервера включает в себя манипуляцию материалом на стороне отправителя в результате действий пользователя. Это, разумеется, требует наличия канала обратной связи.

IPR-идентификация и защита

MPEG-4 предоставляет механизмы для защиты прав интеллектуальной собственности (IPR). Это достигается путем предоставления кодированных медиа-объектов с опционным набором данных идентификационной интеллектуальной собственности IPI (Intellectual Property Identification), несущим информацию о содержимом, типе содержимого и о владельцах прав на данный материал. Набор данных, если он имеется, является частью дескриптора элементарного потока, который описывает поточную информацию, ассоциированную с медиа-объектом. Число наборов данных, которые ассоциируется с каждым медиа-объектом, достаточно гибко; другие медиа-объекты могут использовать тот же набор. Предоставление наборов данных позволяет внедрить механизм отслеживания, мониторинга, выставления счетов и защиты от копирования.

Каждое приложение MPEG-4 содержит набор требований, относящихся к защите информации, с которой оно работает. Эти приложения могут иметь разные требования по безопасности. Для некоторых приложений пользователи обмениваются информацией, которая не имеет собственной ценности, но которая тем не менее должна быть защищена, чтобы защитить права собственности. Для других приложений, где управляемая информация для ее создателя или дистрибьютора имеет большую ценность, требуется управление более высокого уровня и более надежные механизмы защиты. Подразумевается, что дизайн структуры IPMP (Intellectual Property Management and Protection) должен учитывать сложность стандарта MPEG-4 и разнообразие его применений. Структура IPMP оставляет детали системы IPMP на усмотрение разработчиков. Необходимые уровень и тип управления и защиты зависят от ценности материала, комплексности и сложности связанных с этим материалом бизнес-моделей.

Данный подход позволяет конструировать и использовать системы IPMP, специфичные для доменов ( IPMP -System). В то время как MPEG-4 не стандартизует сами системы IPMP, он стандартизует интерфейс IPMP MPEG-4. Этот интерфейс состоит из IPMP -дескрипторов (IPMPDescriptor = IPMP -D) и элементарных потоков IPMP ( IPMP - Elementary Stream).

IPMP -D и IPMP -ES предоставляют коммуникационный механизм взаимодействия систем IPMP и терминала MPEG-4. Определенные приложения могут требовать нескольких систем IPMP. Когда объекты MPEG-4 требуют управления и защиты, они имеют IPMP -D, ассоциированные с ними. Эти IPMP -D указывают на то, какие системы IPMP следует использовать, и предоставляют информацию о том, как защищать получаемый материал (см. рис. 6.9).

Кроме предоставления владельцам интеллектуальной собственности возможности управления и защиты их прав, MPEG-4 предлагает механизм идентификации этих прав с помощью набора данных IPI (Intellectual Property Identification Data Set). Эта информация может использоваться системами IPMP в качестве входного потока процесса управления и защиты.

Интерфейсы IPMP в системе MPEG-4


Рис. 6.9.  Интерфейсы IPMP в системе MPEG-4

Информация содержимого объекта

MPEG-4 позволяет подсоединять к объектам информацию об их материале. Пользователи стандарта могут использовать этот поток данных OCI (Object Content Information) для передачи текстовой информации совместно с материалом MPEG-4.

Формат файлов MPEG-4

Формат файла MP4 сконструирован так, чтобы информация MPEG-4 имела легко адаптируемый формат, который облегчает обмены, управление, редактирование и представление медиа-материала. Презентация может быть локальной по отношению к системе, реализующей этот процесс, или осуществляемой через сеть или другой поточный механизм доставки (TransMux). Формат файлов сконструирован так, чтобы не зависеть от конкретного типа протокола доставки и в то же время эффективно поддерживать саму доставку. Конструкция основана на формате Quick-Time компании Apple Computer Inc.

Формат файла MP4 сформирован из объектно-ориентированных структур, называемых атомами. Каждый атом идентифицируется тегом и длиной. Большинство атомов описывают иерархию метаданных, несущих в себе такую информацию, как индексные точки, длительности и указатели на медиа-данные. Это собрание атомов содержится в атоме, называемом "кино-атом". Расположение самих медиа-данных строго не определено; они могут быть в файле MP4, содержащемся в одном или более mdat, в медийных информационных атомах или размещаться вне файла MP4 с доступом через URL.

Метаданные в файле в сочетании с гибкой записью медийных данных в память позволяют формату MP4 поддерживать редактирование, локальное воспроизведение и обмен и тем самым удовлетворять требованиям интермедиа MPEG-4.

MPEG-J

MPEG-J является программной системой (в противоположность параметрической системе MPEG-4 версии 1), которая специфицирует API для кросс-операций медиа-проигрывателей MPEG-4 с Java-программами. Комбинируя среду MPEG-4 и безопасный исполнительный код, разработчики материала могут реализовать комплексный контроль и механизмы обработки их медиа в рамках аудио-визуальной сессии. Блоксхема плеера MPEG-J в среде системного плеера MPEG-4 показана на рис. 6.10. Нижняя половинка этого рисунка отображает системный параметрический плеер MPEG-4, называемый также средством презентации (СП). Субсистема MPEG-J, контролирующая СП, называется средством приложения (Application Engine), показана в верхней половине рис. 6.10.

Приложение Java доставляется в качестве отдельного элементарного потока, поступающего на терминал MPEG-4. Оно будет передано MPEG-J, откуда программа MPEG-J будет иметь доступ к различным компонентам и данным плеера MPEG-4. MPEG-J не поддерживает загружаемых декодеров.

По вышеуказанной причине был определен набор API с различными областями применения. Задачей API является обеспечение доступа к графу сцены: рассмотрение графа, изменение узлов и их полей и добавление и удаление узлов графа. Менеджер ресурсов API используется для управления исполнением: он обеспечивает централизованное средство управления ресурсами. API терминальных возможностей (Terminal Capability) применяется, когда исполнение программы зависит от конфигурации терминала и его возможностей, как статических (которые не меняются во время исполнения), так и динамических. API медийных декодеров позволяет контролировать декодеры, которые имеются в терминале. Сетевое API предлагает способ взаимодействия с сетью, являясь прикладным интерфейсом MPEG-4 DMIF.

Положение интерфейсов в архитектуре MPEG-J


Рис. 6.10.  Положение интерфейсов в архитектуре MPEG-J

Детальное техническое описание визуальной секции MPEG-4

Визуальные объекты могут иметь искусственное или натуральное происхождение.

Приложения видео-стандарта MPEG-4

MPEG-4 видео предлагает технологию, которая перекрывает широкий диапазон существующих и будущих приложений. Низкие скорости передачи и кодирование, устойчивое к ошибкам, позволяет осуществлять надежную связь через радиоканалы с ограниченной полосой, что полезно, например, для мобильной видеотелефонии и космической связи. При высоких скоростях обмена имеются средства, позволяющие передачу и запоминание высококачественного видео на студийном уровне.

Главной областью приложений является интерактивное web-видео. Уже продемонстрированы программы, которые осуществляют "живое" видео MPEG-4. Средства двоичного кодирования и работы с видеообъектами с серой шкалой цветов должны быть интегрированы с текстом и графикой.

MPEG-4 видео уже было использовано для кодирования видеозаписи, выполняемой с ручной видеокамеры. Эта форма приложения становится все популярнее из-за простоты переноса на web-страницу и может также применяться и в случае работы со статичными изображениями и текстурами. Рынок игр является еще одной областью работы приложений MPEG-4 видео, статических текстур, интерактивности.

Натуральные текстуры, изображения и видео

Средства для естественного видео в визуальном стандарте MPEG-4 предоставляют стандартные технологии, позволяющие эффективно запоминать, передавать и манипулировать текстурами, изображениями и видеоданными для мультимедийной среды. Эти средства позволяют декодировать и представлять атомные блоки изображений и видео, называемые "видеообъектами" (VO). Примером VO может быть говорящий человек (без фона), который может быть также создан из других AVO (аудио-визуальный объект) в процессе формирования сцены. Обычные прямоугольные изображения образуют специальный случай таких объектов.

Для того чтобы достичь этой широкой цели, функции различных приложений объединяются. Следовательно, визуальная часть стандарта MPEG-4 предоставляет решения в форме средств и алгоритмов для:

Синтетические объекты

Синтетические объекты образуют субнабор большого класса компьютерной графики. Для начала будут рассмотрены следующие синтетические визуальные объекты.

Параметрические описания

Кодирование текстуры для приложений, зависимых от вида

Масштабируемое кодирование видеообъектов

Существует несколько масштабируемых схем кодирования в визуальном MPEG-4: пространственная масштабируемость, временная масштабируемость и объектно-ориентированная пространственная масштабируемость. Пространственная масштабируемость поддерживает изменяющееся качество текстуры (SNR и пространственное разрешение). Объектно-ориентированная пространственная масштабируемость расширяет обычные типы масштабируемости в направлении объектов произвольной формы, так что ее можно использовать в сочетании с другими объектно-ориентированными возможностями. Таким образом, может быть достигнута очень гибкая масштабируемость. Это делает возможным при воспроизведении динамически улучшать SNR, пространственное разрешение, точность воспроизведения формы и т.д. только для объектов, представляющих интерес, или для определенной области.

Устойчивость в среде, предрасположенной к ошибкам

Разработанная в MPEG новая методика, названная NEWPRED (new prediction — новое предсказание), предоставляет быстрое восстановление после ошибок в приложениях реального времени. Она использует канал от декодера к кодировщику. Кодировщик переключает эталонные кадры, приспосабливаясь к условиям возникновения ошибок в сети. Методика NEWPRED обеспечивает высокую эффективность кодирования. Она была проверена в условиях высоких потоков ошибок:

Улучшенная стабильность временного разрешения с низкой задержкой буферизации

Еще одной новой методикой является DRC (Dynamic Resolution Conversion), которая стабилизирует задержку буферизации при передаче путем минимизации разброса числа кодовых бит VOP на выходе. Предотвращается отбрасывание больших пакетов, а кодировщик может контролировать временное разрешение даже в высокоактивных сценах.

Кодирование текстур и статические изображения

Следующие три новых средства кодирования текстур и статических изображений предлагается в версии V.2.

Упомянутые выше средства используются в двух новых продвинутых масштабируемых текстурах и продвинутом центральном профайле (advanced core profile).

Кодирование нескольких видов и большого числа вспомогательных компонентов

MPEG-4 видео версии 1 поддерживает один альфа-канал на видеоканальный слой и определяет три типа формы. Все три типа формы, т.е. двоичная форма, постоянная форма и форма с серой шкалой, допускают прозрачность видеообъекта. При таком определении MPEG-4 не может эффективно поддерживать такие функциональности, как многовидовые видеообъекты ( Multiview Video Objects ). В версии 2 введено применение множественных альфа-каналов для передачи вспомогательных компонент.

Базовой идеей является то, что форма с серой шкалой не является единственной для описания прозрачности видеообъекта, но может быть определена в более общем виде. Форма с серой шкалой может, например, представлять:

Все альфа-каналы могут кодироваться с помощью средств кодирования формы, т.е. средств двоичного кодирования формы и средств кодирования формы с серой шкалой, которые используют DCT с компенсаций перемещения и обычно имеют ту же форму и разрешение, что и текстура видеообъекта.

Общим принципом является ограничение числа пикселей, которые следует кодировать при анализе соответствия между конкретными видами объекта, доступными на стороне кодировщика. Все области объекта, которые видны со стороны более чем одной камеры, кодируются только один раз с максимально возможным разрешением. Соотношения несоразмерности могут быть оценены из исходных видов, чтобы реконструировать все области, которые были исключены из кодирования путем использования проекции с компенсированной несоразмерностью. Один или два вспомогательных компонента могут быть выделены, чтобы кодировать карты несоразмерности, указывающие на соответствие между пикселями различных видов.

Мы назначаем области, которые используются для кодирования данных от каждой конкретной камеры, как области интереса (AOI). Эти AOI могут теперь быть просто определены как видеообъекты MPEG-4 и закодированы с их ассоциированными значениями несоразмерности. Из-за возможного отражения объектов в различных видах, а также из-за отклонений цветов или различия экспозиций для разных камер, границы между областями, которые нужно реконструировать на основе разных исходных видов, могут оказаться видимыми. Для решения этой проблемы необходимо предварительно обработать пиксели вблизи границ AOI так, чтобы осуществить плавный переход путем интерполяции пикселей из различных смежных видов в пределах переходной области.

Реконструкция различных точек зрения на основе компенсированной несоразмерности текстурной поверхности осуществляется на базе текстурных данных в пределах конкретных AOI, с привлечением карты несоразмерностей, которая была получена из вспомогательной компоненты, декодированной из видеопотока MPEG-4. Каждая AOI обрабатывается независимо, а затем проекции изображений от всех AOI собираются для получения окончательного вида видеообъекта с заданной точки зрения. Эта процедура может быть выполнена для системы с двумя камерами с параллельной установкой, но может быть распространена на случай системы с несколькими камерами со сходящимися оптическими осями.

Анимация лица

"Лицевой анимационный объект" может использоваться для представления анимированного лица. Форма, текстура и выражения лица управляются параметрами описания лица FDP (Facial Definition Parameters) и/или параметрами анимации лица FAP (Facial Animation Parameters). Объект лица содержит базовый вид лица с нейтральным выражением. Лицо может также получить немедленно анимационные параметры из потока данных, который осуществит анимацию лица: выражение, речь и т.д. Между тем могут быть посланы параметры описания, которые изменят облик лица от некоторого базового к заданному лицу со своей собственной формой и (опционно) текстурой. Если это желательно, через набор FDP можно загрузить полную модель лица.

Анимация лица в MPEG-4 версии 1 предназначена для высокоэффективного кодирования параметров анимации, которые могут управлять неограниченным числом моделей лица. Сами модели не являются нормативными, хотя существуют средства описания характеристик модели. Для точной артикуляции может использоваться кадровое и временное DCT-кодирование большой коллекции FAP.

Двоичный формат систем для сцены BIFS (Systems Binary Format for Scenes), предоставляет возможности поддержки анимации лица, когда нужны обычные модели и интерпретации FAP.

  1. Параметры определения лица FDP (Face Definition Parameters) в BIFS (модельные данные являются загружаемыми, чтобы конфигурировать базовую модель лица, запомненную в терминале до декодирования FAP, или инсталлировать специфическую модель лица в начале сессии вместе с информацией о том, как анимировать лицо).
  2. Таблица анимации лица FAT (Face Animation Table) в рамках FDP (загружаемые таблицы функционального соответствия между приходящими FAP и будущими контрольными точками сетки лица). Это дает кусочно-линейную карту входящих FAP для управления движениями лица. Например: FAP может приказать "open_jaw (500)" (открыть челюсти) и таблица определит, что это означает в терминах перемещения характерных точек.
  3. Интерполяционная методика для лица FIT (Face Interpolation Technique) в BIFS (загружаемое определение карты входящих FAP в общий набор FAP до их использования в характерных точках, которая вычисляется с использованием полиномиальных функций при получении интерполяционного графа лица). Это может использоваться для установления комплексных перекрестных связей FAP или интерполяции FAP, потерянных в потоке, с привлечением FAP, которые доступны для терминала.

Эти специфицированные типы узлов в BIFS эффективно предоставляют для моделей формирования лица встроенную калибровку модели, которая работает на терминале или загружаемой стандартной модели, включающей форму, текстуру и цвет.

Анимация тела

Body является объектом, который способен генерировать модели виртуального тела и анимации в форме наборов 3D многоугольных сеток, пригодных для отображения (rendering). Для тела определены два набора параметров: набор параметров описания тела BDP (Body Definition Parameter) и набор параметров анимации тела BAP (Body Animation Parameter). Набор BDP определяет параметры преобразования изображения тела по умолчанию в требующийся образ с нужной поверхностью, размерами, и (опционно) текстурой. Параметры анимации тела (BAP) при корректной интерпретации позволят получить разумный результат, выражаемый в терминах позы и анимации для самых разных моделей тела, без необходимости инициализировать или калибровать модель.

Конструкция объекта тело содержит обобщенное виртуальное человеческое тело в позе по умолчанию. Объект способен немедленно принимать BAP из потока данных, который осуществляет анимацию тела. Если получены BDP, они используются для преобразования обобщенного тела в конкретное, заданное значениями параметров. Любой компонент может быть равен нулю. Нулевой компонент при отображении тела заменяется соответствующим значением по умолчанию. Поза по умолчанию соответствует стоящей фигуре. Эта поза определена следующим образом: стопы ориентированы во фронтальном направлении, обе руки размещаются вдоль тела с ладонями, повернутыми внутрь. Эта поза предполагает также, что все BAP имеют значения по умолчанию.

Не делается никаких предположений и не вводится никаких ограничений на движения или сочленения. Другими словами, модель человеческого тела должна поддерживать различные приложения, от реалистических симуляций человеческих движений до сетевых игр, использующих простые человекоподобные модели.

Стандарт анимации тела был разработан MPEG в сотрудничестве с Рабочей группой анимации гуманоидов (Humanoid Animation Working Group) в рамках консорциума VRML.

Анимируемые 2D-сетки

Сетка 2D ( mesh ) является разложением плоской 2D-области на многоугольные кусочки. Вершины полигональных частей этой мозаики называются узловыми точками сетки. MPEG-4 рассматривает только треугольные сетки, где элементы мозаики имеют треугольную форму. Динамические 2D-сетки ссылаются на сетки 2D и информацию перемещения всех узловых точек сетки в пределах временного сегмента интереса. Треугольные сетки использовались в течение долгого времени для эффективного моделирования формы 3-D-объектов и воспроизведения в машинной графике. Моделирование 2D-сеток может рассматриваться как проекция треугольных 3D-сеток на плоскость изображения.

Узловые точки динамической сетки отслеживают особенности изображения во времени с помощью соответствующих векторов перемещения. Исходная сетка может быть регулярной или адаптироваться к характеру изображения и тогда называться сеткой, адаптируемой к изображению. Моделирование 2D-сетки, адаптируемой к изображению, соответствует неоднородному стробированию поля перемещения в некотором числе узловых точек вдоль контура и внутри видеообъекта. Методы выбора и отслеживания этих узловых точек не являются предметом стандартизации.

В 2D-сетке, базирующейся на текстуре, треугольные элементы в текущем кадре деформируются при перемещении узловых точек. Текстура в каждом мозаичном элементе эталонного кадра деформируется с помощью таблиц параметрического соответствия, определенных как функция векторов перемещения узловых точек. Для треугольных сетей обычно используется аффинное преобразование. Его линейная форма предполагает текстурный мэппинг с низкой вычислительной сложностью. Аффинный мэппинг может моделировать преобразование, вращение, изменение масштаба, отражение, вырезание и сохранение прямых линий. Степени свободы, предоставляемые тремя векторами перемещения вершин треугольника, соответствуют шести параметрам аффинного преобразования (affine mapping). Это предполагает, что исходное 2D-поле перемещения может быть компактно представлено движением узловых точек, из которого реконструируется аффинное поле перемещения. В то же время структура сетки ограничивает перемещения смежных, мозаичных элементов изображения. Следовательно, сетки хорошо годятся для представления умеренно деформируемых, но пространственно непрерывных полей перемещения.

Моделирование 2D-сетки привлекательно, так как 2D-сетки могут быть сформированы из одного вида объекта, сохраняя функциональность, обеспечиваемую моделированием с привлечением 3D-сеток. Подводя итог, можно сказать, что представления с объектно-ориентированными 2D-сетками могут моделировать форму (многогранная аппроксимация контура объекта) и перемещение VOP в неоднородной структуре, которая является расширяемой до моделирования 3D-объектов, когда имеются данные для конструирования таких моделей. В частности, представление видеообъектов с помощью 2D-сетки допускает следующие функции:

A. Манипуляция видеообъектами

B. Сжатие видеообъекта

C. Видеоиндексирование, базирующееся на содержимом

3D-сетки

Возможности кодирования 3D-сеток:

Масштабируемость, зависящая от изображения

Масштабируемость, зависящая от вида, делает возможными текстурные карты, которые используются в реалистичных виртуальных средах. Она заключается в учете точки наблюдения в виртуальном 3D-мире, для того чтобы передать только видимую информацию. Только часть информации затем пересылается, в зависимости от геометрии объекта и смещения точки зрения. Эта часть вычисляется как на стороне кодировщика, так и на стороне декодера. Такой подход позволяет значительно уменьшить количество передаваемой информации между удаленной базой данных и пользователем. Эта масштабируемость может работать с кодировщиками, базирующимися на DCT.

Структура средств для представления натурального видео

Алгоритмы кодирования изображения MPEG-4 и видео дают эффективное представление визуальных объектов произвольной формы, а также поддержку функций, базирующихся на содержимом. Они поддерживают большинство функций, уже предлагаемых в MPEG-1 и MPEG-2, включая эффективное сжатие стандартных последовательностей прямоугольных изображений при варьируемых уровнях входных форматов, частотах кадров, глубине пикселей, скоростях передачи и разных уровнях пространственной, временной и качественной масштабируемости.

Базовая качественная классификация по скоростям передачи и функциональности визуального стандарта MPEG-4 для естественных изображений и видео представлена на рис. 6.11.

Классификация средств и алгоритмов кодирования звука и изображения MPEG-4


Рис. 6.11.  Классификация средств и алгоритмов кодирования звука и изображения MPEG-4

Ядро VLBV (Very Low Bit-rate Video) предлагает алгоритмы и средства для приложений, работающих при скоростях передачи между 5 и 64 Кбит/с, поддерживающие последовательности изображений с низким пространственным разрешением (обычно ниже разрешения CIF) и с низкими частотами кадров (обычно ниже 15 Гц). К приложениям, поддерживающим функциональность ядра VLBV, относятся:

  1. кодирование обычных последовательностей прямоугольных изображений с высокой эффективностью кодирования и высокой устойчивостью к ошибкам, малыми задержками и низкой сложностью для мультимедийных приложений реального времени, и
  2. операции "произвольный доступ", ""быстрая перемотка вперед" и "быстрая перемотка назад" для запоминания VLB мультимедиа ДБ и приложений доступа.

Та же самая функциональность поддерживается при высоких скоростях обмена с высокими параметрами по временному и пространственному разрешению вплоть до ITU-R Rec. 601 и больше — используя идентичные или подобные алгоритмы и средства как в ядре VLBV. Предполагается, что скорости передачи лежат в диапазоне от 64 Кбит/с до 10 Мбит/с, а приложения включают широковещательное мультимедиа или интерактивное получение сигналов с качеством, сравнимым с цифровым телевидением.

Функциональности, базирующиеся на содержимом, поддерживают отдельное кодирование и декодирование содержимого (т.е. физических объектов на сцене, VO). Эта особенность MPEG-4 предоставляет наиболее элементарный механизм интерактивности.

Для гибридного кодирования естественных и искусственных визуальных данных (например, для виртуального присутствия или виртуального окружения) функциональность кодирования, зависящая от содержимого, допускает смешение нескольких VO от различных источников с синтетическими объектами, такими как виртуальный фон.

Расширенные алгоритмы и средства MPEG-4 для функциональности, зависящей от содержимого, могут рассматриваться как супернабор ядра VLBV и средств для работы при высоких потоках данных.

Поддержка обычной функциональности и зависящей от содержимого

MPEG-4 видео поддерживает обычные прямоугольные изображения и видео, а также изображения и видео произвольной формы.

Кодирование обычных изображений и видео сходно с обычным кодированием в MPEG-1/2. Оно включает в себя предсказание/компенсацию перемещений, за которым следует кодирование текстуры. Для функциональности, зависящей от содержимого, где входная последовательность изображений может иметь произвольную форму и положение, данный подход расширен с помощью кодирования формы и прозрачности. Форма может быть представлена двоичной маской или 8-битовой компонентой, которая позволяет описать прозрачность, если один VO объединен с другими объектами.

Видеоизображение MPEG-4 и схема кодирования

Рис. 6.12 описывает базовый подход алгоритмов MPEG-4 видео к кодированию входной последовательности изображений прямоугольной и произвольной формы.

Базовая структура кодирования включает в себя кодирование формы (для VO произвольной формы), компенсацию перемещения и кодирование текстуры с привлечением DCT (используя стандарт 8x8 DCT или DCT, адаптирующийся к форме).

Важным преимуществом кодирования, базирующегося на содержимом, является то, что эффективность сжатия может для некоторых видеопоследовательностей быть существенно улучшена путем применения объектно-ориентированных средств предсказания перемещения для каждого из объектов на сцене. Для улучшения эффективности кодирования и гибкости презентации объектов может использоваться несколько методик предсказания перемещения.

Базовая блок-схема видеокодировщика MPEG-4


Рис. 6.12.  Базовая блок-схема видеокодировщика MPEG-4

Стандарт MPEG-4 версии 2 улучшает оценку перемещения и компенсации для объектов и текстур прямоугольной и произвольной формы. Введены две методики для оценки и компенсации перемещения.

В области текстурного кодирования DCT (SA-DCT — адаптивный к форме) улучшает эффективность кодирования объектов произвольной формы. Алгоритм SA-DCT основан на предварительно определенных ортонормальных наборах одномерных базисных функций DCT.

Субъективные оценочные тесты показывают, что комбинация этих методик может дать экономию в необходимой полосе канала до 50% по сравнению с версией 1, в зависимости от типа содержимого и потока данных.

Кодирование текстур в статических изображениях

Эффективное кодирование визуальных текстур и статических изображений (подлежащих, например, выкладке на анимационные сетки) поддерживается режимом визуальных текстур MPEG-4. Этот режим основан на алгоритме вейвлетов с нулевым деревом, который предоставляет очень высокую эффективность кодирования в широком диапазоне скоростей передачи. Вместе с высокой эффективностью сжатия он также предлагает пространственную и качественную масштабируемость (вплоть до 11 уровней пространственной масштабируемости и непрерывной масштабируемости качества), а также кодирование объектов произвольной формы. Кодированный поток данных предназначен также для загрузки в терминал иерархии разрешения изображения. Эта технология обеспечивает масштабируемость разрешения в широком диапазоне условий наблюдения, более типичном для интерактивных приложений при отображении 2D- и 3D-виртуальных миров.

Масштабируемое кодирование видеообъектов

MPEG-4 поддерживает кодирование изображений и видеообъектов с пространственной и временной масштабируемостью, для обычных прямоугольных и произвольных форм. Под масштабируемостью подразумевается возможность декодирования лишь части потока данных и реконструировать изображение или их последовательность с:

Эта функциональность желательна для прогрессивного кодирования изображений и видео, передаваемых через неоднородные сети, а также для приложений, где получатель неспособен обеспечить полное разрешение или полное качество изображения или видео. Это может, например, случиться, когда мощность обработки или разрешение отображения ограничены.

Для декодирования статических изображений стандарт MPEG-4 предоставит 11 уровней гранулярности, а также масштабируемость качества до уровня одного бита. Для видеопоследовательностей вначале будет поддерживаться 3 уровня гранулярности, но ведутся работы для достижения 9 уровней.

Устойчивость в среде, предрасположенной к ошибкам

MPEG-4 обеспечивает устойчивость к ошибкам, чтобы позволить доступ к изображениям и видеоданным через широкий круг устройств памяти и передающих сред. В частности, на фоне быстрого роста мобильных телекоммуникаций, необычайно важно получить доступ к аудио- и видеоинформации через радиосети. Это подразумевает необходимость успешной работы алгоритмов сжатия аудио- и видеоданных в среде предрасположенной к ошибкам при низких скоростях передачи (т.е. ниже 64 Кбит/с).

Средства противостояния ошибкам, разработанные для MPEG-4, могут быть разделены на три основные группы: ресинхронизация, восстановление данных и подавление влияния ошибок. Следует заметить, что эти категории не являются уникальными для MPEG-4, они широко используются разработчиками средств противодействия ошибкам для видео.

Средства ресинхронизации пытаются восстановить синхронизацию между декодером и потоком данных, нарушенную в результате ошибки. Данные между точкой потери синхронизации и моментом ее восстановления выбрасываются.

Метод ресинхронизации, принятый MPEG-4, подобен используемому в структурах групп блоков GOB (Group of Blocks) стандартов ITU-T H.261 и H.263. В этих стандартах GOB определена как группа из одного или более рядов макроблоков (MB). В начале нового GOB-потока помещается информация, называемая заголовком GOB. Этот информационный заголовок содержит стартовый код GOB, который отличается от начального кода кадра и позволяет декодеру локализовать данный GOB. Далее заголовок GOB содержит информацию, которая позволяет рестартовать процесс декодирования (т.е. ресинхронизовать декодер и поток данных, а также сбросить всю информацию предсказаний).

Подход GOB базируется на пространственной ресинхронизации. То есть, раз в процессе кодирования достигнута позиция конкретного макроблока, в поток добавляется маркер ресинхронизации. Потенциальная проблема с этим подходом заключается в том, что из-за вариации скорости процесса кодирования положение этих маркеров в потоке четко не определено. Следовательно, определенные части сцены, такие как быстро движущиеся области, будут более уязвимы для ошибок, которые достаточно трудно исключить.

Подход видеопакетов, принятый MPEG-4, базируется на периодически посылаемых в потоке данных маркерах ресинхронизации. Другими словами, длина видеопакетов не связана с числом макроблоков, а определяется числом бит, содержащихся в пакете. Если число бит в текущем видеопакете превышает заданный порог, тогда в начале следующего макроблока формируется новый видеопакет.

Маркер ресинхронизации используется, чтобы выделить новый видеопакет. Этот маркер отличим от всех возможных VLC-кодовых слов, а также от стартового кода VOP. Информация заголовка размещается в начале видеопакета. Информация заголовка необходима для повторного запуска процесса декодирования и включает в себя: номер первого макроблока, содержащегося в этом пакете, и параметр квантования, необходимый для декодирования данного макроблока. Номер макроблока осуществляет необходимую пространственную ресинхронизацию, в то время как параметр квантования позволяет заново синхронизовать процесс дифференциального декодирования.

В заголовке видеопакета содержится также код расширения заголовка (HEC). HEC представляет собой один бит, который, если равен 1, указывает на наличие дополнительной информации ресинхронизации. Сюда входит модульная временная шкала, временное приращение VOP, тип предсказания VOP и F-код. Эта дополнительная информация предоставляется в случае, если заголовок VOP поврежден.

Следует заметить, что, когда в рамках MPEG-4 используется средство восстановления при ошибках, некоторые средства эффективного сжатия модифицируются. Например, вся кодированная информация предсказаний заключается в одном видеопакете так, чтобы предотвратить перенос ошибок.

В связи с концепцией ресинхронизации видеопакетов, в MPEG-4 добавлен еще один метод, называемый синхронизацией с фиксированным интервалом. Этот метод требует, чтобы стартовые коды VOP и маркеры ресинхронизации (т.е. начало видеопакета) появлялись только в фиксированных позициях потока данных. Это помогает избежать проблем, связанных эмуляциями стартовых кодов. То есть, когда в потоке данных встречаются ошибки, имеется возможность того, что они эмулируют стартовый код VOP. В этом случае при использовании декодера с синхронизацией с фиксированным интервалом стартовый код VOP отыскивается только в начале каждого фиксированного интервала.

После того как синхронизация восстановлена, средства восстановления пытаются спасти данные, которые в общем случае могут быть потеряны. Эти средства являются не просто программами коррекции ошибок, а техникой кодирования данных, которая устойчива к ошибкам. Например, одно конкретное средство, которое было одобрено видеогруппой (Video Group), является обратимыми кодами переменной длины RVLC (Reversible Variable Length Codes). В этом подходе кодовые слова переменной длины сконструированы симметрично, так что они могут читаться и в прямом, и в обратном направлении.

Пример, иллюстрирующий использование RVLC, представлен на рис. 6.13. Вообще, в ситуации, когда блок ошибок повредил часть данных, все данные между двумя точками синхронизации теряются. Однако, как показано на рис. 6.13, RVLC позволяет восстановить часть этих данных. Следует заметить, что параметры QP и HEC, показанные на рисунке, представляют собой поля, зарезервированные в заголовке видеопакета для параметра квантования и кода расширения заголовка соответственно.

Пример реверсивного кода переменной длины


Рис. 6.13.  Пример реверсивного кода переменной длины

Сокрытие ошибок (имеется в виду процедура, когда последствия ошибок не видны) является исключительно важным компонентом любого устойчивого к ошибкам видеокодека. Эффективность стратегии сокрытия ошибок в высшей степени зависит от работы схемы ресинхронизации. По существу, если метод ресинхронизации может эффективно локализовать ошибку, то проблема сокрытия ошибок становится легко решаемой. Для приложений с низкой скоростью передачи и малой задержкой текущая схема ресинхронизации позволяет получить достаточно приемлемые результаты при простой стратегии сокрытия, такой как копирование блоков из предыдущего кадра.

Для дальнейшего улучшения техники сокрытия ошибок Видеогруппа разработала дополнительный режим противодействия ошибкам, который дополнительно улучшает возможности декодера по локализации ошибок.

Этот подход использует разделение данных, сопряженных с движением и текстурой. Такая техника требует, чтобы был введен второй маркер ресинхронизации между данными движения и текстуры. Если информация текстуры потеряна, тогда для минимизации влияния ошибок используется информация перемещения. То есть из-за ошибок текстурные данные отбрасываются, в то время как данные о движении служат для компенсации перемещения ранее декодированной VOP.

Подробное техническое описание MPEG-4 Аудио

MPEG-4 кодирование аудиообъектов предлагает средства для представления как естественных звуков (таких, как речь и музыка), так и синтетических — базирующихся на структурированных описаниях. Представление для синтетического звука может быть получено из текстовых данных или так называемых инструментальных описаний и параметров кодирования для обеспечения специальных эффектов (например реверберации и объемного звучания). Представления обеспечивают сжатие и другую функциональность — масштабируемость и обработку эффектов.

Средства аудиокодирования MPEG-4, охватывающие диапазон от 6 Кбит/с до 24 Кбит/с, подвергаются верификационным тестированиям для широковещательных приложений цифрового AM-аудио совместно с консорциумом NADIB (Narrow Band Digital Broadcasting). Было обнаружено, что более высокое качество может быть получено для одного и того же частотного диапазона с привлечением цифровых методик и что конфигурации масштабируемого кодировщика могут обеспечить лучшие эксплуатационные характеристики.

Натуральный звук

MPEG-4 стандартизирует кодирование естественного звука при скоростях передачи от 2 Кбит/с до 64 Кбит/с. Когда допускается переменная скорость кодирования, допускается работа и при низких скоростях вплоть до 1,2 Кбит/с. Использование стандарта MPEG-2 AAC в рамках набора средств MPEG-4 гарантирует сжатие аудиоданных при любых скоростях вплоть до самых высоких. Для того чтобы достичь высокого качества аудио во всем диапазоне скоростей передачи и в то же время обеспечить дополнительную функциональность, методики кодирования голоса и общего аудио интегрированы в одну систему.

Чтобы оптимально перекрыть весь диапазон скоростей передачи и разрешить масштабируемость скоростей, разработана специальная система, отображенная на рис. 6.14.

Общая блок-схема MPEG-4 Аудио


Рис. 6.14.  Общая блок-схема MPEG-4 Аудио

Масштабируемость полосы пропускания является частным случаем масштабируемости скоростей передачи, по этой причине часть потока, соответствующая части спектра полосы пропускания, может быть отброшена при передаче или декодировании.

Масштабируемость сложности кодировщика позволяет кодирующим устройствам различной сложности формировать корректные информационные потоки. Масштабируемость сложности декодера позволяет данному потоку данных быть декодированному устройствами с различной сложностью (и ценой). Качество звука, вообще говоря, связано со сложностью используемого кодировщика и декодера Масштабируемость работает в рамках некоторых средств MPEG-4, но может также быть применена к комбинации методик, например к CELP как к базовому уровню, и AAC.

Уровень систем MPEG-4 позволяет использовать кодеки, следующие, например, стандартам MPEG-2 AAC. Каждый кодировщик MPEG-4 предназначен для работы в автономном режиме (stand-alone) со своим собственным синтаксисом потока данных. Дополнительная функциональность реализуется за счет возможностей кодировщика и посредством дополнительных средств вне его.

Улучшения MPEG-4 Аудио версии 2

Средства обеспечения устойчивости к ошибкам предоставляют улучшенные рабочие характеристики для транспортных каналов, предрасположенных к ошибкам.

Улучшенная устойчивость к ошибкам для AAC обеспечивается набором средств сокрытия ошибок. Эти средства уменьшают воспринимаемое искажение декодированного аудиосигнала, которое вызвано повреждением бит информационного потока. Предлагаются следующие средства для улучшения устойчивости к ошибкам для нескольких частей AAC-кадра:

Возможности улучшения устойчивости к ошибкам для всех средств кодирования обеспечиваются с помощью синтаксиса поля данных. Это допускает применение продвинутых методик кодирования, которые могут быть адаптированы к специальным нуждам различных средств кодирования. Данный синтаксис полей данных обязателен для всех объектов версии 2.

Средство защиты от ошибок (EP tool) работает со всеми аудиообъектами MPEG-4 версии 2, предоставляя гибкую возможность конфигурирования для широкого диапазона канальных условий. Главными особенностями средства EP являются следующие:

Алгоритмы кодирования MPEG-4 аудио версии 2 предоставляет классификацию всех полей потока согласно их чувствительности к ошибкам. На основе этого поток данных делится на несколько классов, которые могут быть защищены раздельно с помощью инструмента EP, так что более чувствительные к ошибкам части окажутся защищены более тщательно.

В то время как универсальный аудиокодировщик MPEG-4 очень эффективен при кодировании аудиосигналов при низких скоростях передачи, он имеет алгоритмическую задержку кодирования/декодирования, достигающую нескольких сот миллисекунд, и является, таким образом, неподходящим для приложений, требующих малых задержек кодирования, таких как двунаправленные коммуникации реального времени. Для обычного аудиокодировщика, работающего при частоте стробирования 24 КГц и скорости передачи 24 Кбит/с, алгоритмическая задержка кодирования составляет 110 мс плюс до 210 мс дополнительно в случае использования буфера. Чтобы кодировать обычные аудиосигналы с алгоритмической задержкой, не превышающей 20 мс, MPEG-4 версии 2 специфицирует кодировщик, который использует модификацию алгоритма MPEG-2/4 AAC (Advanced Audio Coding). По сравнению со схемами кодирования речи, этот кодировщик позволяет сжимать обычные типы аудиосигналов, включая музыку, при достаточно низких задержках. Он работает вплоть до частот стробирования 48 КГц и использует длину кадров 512 или 480 значений стробирования, по сравнению с 1024 или 960 значений, используемых в стандарте MPEG-2/4 AAC. Размер окна, применяемого при анализе и синтезе блока фильтров, уменьшен в два раза. Чтобы уменьшить артефакты "пред-эхо" в случае переходных сигналов используется переключение размера окна. Для непереходных частей сигнала используется синусоидальное окно, в то время как в случае переходных сигналов применяется так называемое окно с низким перекрытием. Использование буфера битов минимизируется, чтобы сократить задержку. В крайнем случае, такой буфер вообще не используется.

Масштабируемость скорости передачи, известная как встроенное кодирование, является крайне желательной функцией. Обычный аудиокодировщик версии 1 поддерживает масштабируемость с большими шагами, где базовый уровень потока данных может комбинироваться с одним или более улучшенных уровней потока данных, чтобы можно было работать с высокими скоростями и, таким образом, получить лучшее качество звука. В типовой конфигурации может использоваться базовый уровень 24 Кбит/с и два по 16 Кбит/с, позволяя декодирование с полной скоростью 24 Кбит/с (моно), 40 Кбит/с (стерео), и 56 Кбит/с (стерео). Из-за побочной информации передаваемой на каждом уровне, малые уровнидобавки поддерживаются в версии 1 не очень эффективно. Чтобы получить эффективную масштабируемость с малыми шагами для стандартного аудиокодировщика, в версии 2 имеется средство побитового арифметического кодирования BSAC (Bit-Sliced Arithmetic Coding). Это средство используется в комбинации с AAC-кодированием и замещает бесшумное кодирование спектральных данных и масштабных коэффициентов. BSAC предоставляет масштабируемость шагами в 1 Кбит/с на аудиоканал, т.е. шагами по 2 Кбит/с для стереосигнала. Задействуется один базовый поток (уровень) данных и много небольших потоков улучшения. Базовый уровень содержит общую информацию вида, специфическую информацию первого уровня и аудиоданные первого уровня. Потоки улучшения содержат только специфические данные вида и аудиоданные соответствующего слоя. Чтобы получить масштабируемость с небольшими шагами, применяется побитовая схема квантования спектральных данных. Сначала преобразуемые спектральные величины группируются в частотные диапазоны. Каждая из этих групп содержит оцифрованные спектральные величины в двоичном представлении. Затем биты группы обрабатываются порциями согласно их значимости. Таким образом, сначала обрабатываются все наиболее значимые биты (MSB) оцифрованных величин в группе и т.д. Эти группы бит затем кодируются с привлечением арифметической схемы кодирования, чтобы получить энтропийные коды с минимальной избыточностью. Представлены различные модели арифметического кодирования, чтобы перекрыть различные статистические особенности группировок бит.

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

Средства параметрического аудиокодирования сочетают в себе низкую скорость кодирования обычных аудиосигналов с возможностью модификации скорости воспроизведения или шага при декодировании без влияния особенностей устройства обработки. В сочетании со средствами кодирования речи и звука версии 1 ожидается улучшенная эффективность кодирования для использования объектов, которые допускает выбор и/или переключение между разными техниками кодирования.

Параметрическое аудиокодирование использует для кодирования общих аудиосигналов технику HILN (Harmonic and Individual Lines plus Noise) при скоростях 4 Кбит/с, а выше применяется параметрическое представление аудиосигналов. Основной идеей этой методики является разложение входного сигнала на аудиообъекты, которые описываются соответствующими моделями источника и представляются модельными параметрами. В кодировщике HILN используются модели объектов для синусоид, гармонических тонов и шума.

Как известно из кодирования речи, где используются специализированные модели источника, основанные на процессе генерации звуков в человеческом голосовом тракте, продвинутые модели источника могут иметь преимущество, в частности, для схем кодирования с очень низкими скоростями передачи.

Из-за очень низкой скорости передачи могут быть переданы только параметры для ограниченного числа объектов. Следовательно, модель восприятия устроена так, чтобы отбирать те объекты, которые наиболее важны для качества приема сигнала.

В HILN параметры частоты и амплитуды оцифровываются с "заметной разницей", известной из психо-акустики. Спектральный конверт шума и гармонический тон описан с применением моделирования LPC. Корреляция между параметрами одного кадра и между последовательными кадрами анализируется методом предсказания параметров. Оцифрованные параметры подвергаются энтропийному кодированию, после чего эти данные вводятся в общий информационный поток.

Очень интересное следствие этой схемы параметрического кодирования проистекает из того факта, что сигнал описан через параметры частоты и амплитуды. Эта презентация сигнала позволяет изменять скорость и высоту звука простой вариацией параметров декодера. Параметрический аудиокодировщик HILN может быть объединен с параметрическим кодировщиком речи MPEG-4 (HVXC), что позволит получить интегрированный параметрический кодировщик, покрывающий широкий диапазон сигналов и скоростей передачи. Этот интегрированный кодировщик поддерживает регулировку скорости и тона. Используя в кодировщике средство классификации речи/музыки, можно автоматически выбрать HVXC для сигналов речи и HILN для музыкальных сигналов. Такое автоматическое переключение HVXC/HILN было успешно продемонстрировано, а средство классификации описано в информативном приложении стандарта версии 2.

Средство "сжатия тишины" уменьшает среднюю скорость передачи благодаря более эффективному сжатию пауз (тишины). В кодировщике детектор активности голоса используется для разделения областей с нормальной голосовой активностью и зон молчания или фонового шума. Во время нормальной голосовой активности используется кодирование CELP, как в версии 1. В противном случае передается дескриптор SID (Silence Insertion Descriptor) при малой скорости передачи. Этот дескриптор SID активирует в декодере генератор CNG (Comfort Noise Generator). Амплитуда и форма спектра этого шума специфицируются энергией и параметрами LPC, как в обычном кадре CELP. Эти параметры являются опционной частью SID и, таким образом, могут модифицироваться.

Объект HVXC, устойчивый к ошибкам (ER), поддерживается средствами параметрического кодирования голоса (ER HVXC), которые предоставляют режимы с фиксированными скоростями обмена (2,0-4,0 Кбит/с) и режим с переменной скоростью передачи (<2,0 Кбит/с, <4,0 Кбит/с) в рамках масштабируемой и не масштабируемой схем. В версии 1 HVXC режимом с переменной скоростью передачи поддерживается максимум 2,0 Кбит/с, а режимом с переменной скоростью передачи в версии ER HVXC 2 дополнительно поддерживается максимум в 4,. Кбит/с. ER HVXC обеспечивает качество передачи голоса международных линий (100-3800 Гц) при частоте стробирования 8 КГц. Когда разрешен режим с переменной скоростью передачи, возможна работа при низкой средней скорости передачи. Речь, кодированная в режиме с переменной скоростью передачи, при среднем потоке 1,5 Кбит/с и типовом среднем значении 3,0 Кбит/ с имеет практически то же качество, что для 2,0 Кбит/с при фиксированной скорости и 4,0 Кбит/с соответственно. Функциональность изменения тона и скорости при декодировании поддерживается для всех режимов. Кодировщик речи ER HVXC ориентирован на приложения мобильной и спутниковой связи, до IP-телефонии и голосовых баз данных.

Средства пространственной характеристики среды позволяют создавать аудиосцены с более естественными источниками звука и моделированием звукового окружения, чем это возможно в версии 1. Поддерживается как физический подход, так и подход восприятия. Физический подход основан на описании акустических свойств среды (например, геометрии комнаты, свойств конструкционных материалов, положения источников звука) и может быть использован в приложениях подобно 3D виртуальной реальности. Подход с позиций восприятия позволяет на высоком уровне описать аудиовосприятие сцены, основанное на параметрах, подобных тем, что используются блоком эффекта реверберации. Таким образом, аудио- и визуальная сцена могут быть сформированы независимо, как это обычно требуется при создании кинофильмов. Хотя пространственные характеристики среды относятся к аудио, они являются частью описания BIFS (BInary Format for Scene) в системах MPEG-4 и называются продвинутым AudioBIFS.

Канал обратной связи (back channel) позволяет передать запрос клиента и/или клиентского терминала серверу. Посредством такого канала может быть реализована интерактивность. В системе MPEG-4 о необходимости канала обратной связи клиентский терминал оповещается с помощью соответствующего дескриптора элементарного потока, характеризующего параметры этого канала. Терминал клиента открывает этот канал так же, как и обычные каналы. Объекты (например медиа- кодировщики или декодеры), которые соединены через канал обратной связи, известны благодаря параметрам, полученным через дескриптор элементарного потока, и за счет ассоциации дескриптора элементарного потока с дескриптором объекта. В MPEG-4 Аудио канал обратной связи служит для настройки скорости передачи, масштабируемости и системы защиты от ошибок.

Транспортный поток MPEG-4 Аудио определяет механизм передачи аудиопотоков MPEG-4 без использования систем MPEG-4 и предназначен исключительно для аудиоприложений. Транспортный механизм использует двухуровневый подход, в частности, уровни мультиплексирования и синхронизации. Уровень мультиплексирования (Low-overhead MPEG-4 Audio Transport Multiplex: LATM) управляет мультиплексированием нескольких информационных полей MPEG-4 аудио и аудиоконфигурационной информации. Уровень синхронизации специфицирует синтаксис транспортного потока MPEG-4 Аудио, который называется LOAS (Low Overhead Audio Stream — аудиопоток с низкой избыточностью). Интерфейсный формат для транспортного уровня зависит от нижележащего коммуникационного уровня.

Синтетический звук

MPEG-4 определяет декодеры для генерирования звука на основе нескольких видов структурированного ввода. Текстовый ввод преобразуется в декодере TTS (Text-To-Speech), в то время как прочие звуки, включая музыку, могут синтезироваться стандартным путем. Синтетическая музыка может транспортироваться при крайне низких потоках данных.

Декодеры TTS (Text To Speech) работают при скоростях передачи от 200 бит/с до 1,2 Кбит/с, что позволяет использовать при синтезе речи в качестве входных данных текст или текст с просодическими параметрами (тональная конструкция, длительность фонемы, и т.д.). Такие декодеры поддерживают генерацию параметров, которые могут быть использованы для синхронизации с анимацией лица, при осуществлении перевода с другого языка и для работы с международными символами фонем. Дополнительная разметка применяется для передачи в тексте управляющей информации, которая переадресуется другим компонентам для обеспечения синхронизации с текстом. Заметим, что MPEG-4 обеспечивает стандартный интерфейс для работы кодировщика TTS ( TTSI = Text To Speech Interface), но не для стандартного TTS-синтезатора.

Синтез с множественным управлением (Score Driven Synthesis)

Средства структурированного аудио декодируют входные данные и формируют выходной звуковой сигнал. Это декодирование управляется специальным языком синтеза, называемым SAOL (Structured Audio Orchestra Language), который является частью стандарта MPEG-4. Этот язык используется для определения "оркестра", созданного из "инструментов" (загруженных в терминал потоком данных), которые формирует и обрабатывает управляющую информацию. Инструмент представляет собой маленькую сеть примитивов обработки сигналов, которые могут эмулировать некоторые специфические звуки настоящих акустических инструментов. Сеть обработки сигналов может быть реализована аппаратно или программно и включать как генерацию, так и обработку звуков, а также манипуляцию записанными ранее звуками.

MPEG-4 не стандартизует единственный метод синтеза, а, скорее, описывает путь описания методов синтеза. Любой сегодняшний или будущий метод синтеза звука может быть описан в SAOL, включая таблицу длин волн, FM, физическое моделирование и гранулярный синтез, а также непараметрические гибриды этих методов.

Управление синтезом выполняется путем включения примитивов (score) или скриптов в поток данных. Примитив представляет собой набор последовательных команд, которые включают различные инструменты в определенное время и добавляют их сигнал в общий музыкальный поток или формируют заданные звуковые эффекты. Описание примитива, записанное на языке SASL (Structured Audio Score Language), может использоваться для генерации новых звуков, а также включать дополнительную управляющую информацию для модификации существующих звуков. Это позволяет композитору осуществлять тонкое управление синтезированными звуками. Для процессов синтеза, которые не требуют такого тонкого контроля для управления оркестром, может также использоваться протокол MIDI.

Тщательный контроль в сочетании с описанием специализированных инструментов позволяет генерировать звуки, начиная с простых аудиоэффектов, таких как звуки шагов или закрытия двери, и кончая естественными звуками, такими как шум дождя или музыка, исполняемая на определенном инструменте, или синтетическая музыка с полным набором разнообразных эффектов.

Для терминалов с меньшей функциональностью и для приложений, которые не требуют такого сложного синтеза, стандартизован также формат волновой таблицы (wavetable bank format). Используя этот формат, можно загрузить звуковые образцы для использования при синтезе, а также выполнить простую обработку — фильтрацию, реверберацию ввод эффекта хора. В этом случае вычислительная сложность необходимого процесса декодирования может быть точно определена из наблюдения потока данных, что невозможно при использовании SAOL.

По инициативе ряда компаний (Philips Business Electronics, Sony и Nokia) была создана экспертная группа по мультимедиа и гипермедиа MHEG (Multimedia Hypermedia Expert Group (ISO/IEC DIS 13522-5, 1995 г.); см. http://www.mheg.org/users/mheg/archives.htm и http://www.mheg.org/users/mheg/archives/doc/dsmcc-mheg.zip), которая определила стандарт для обмена мультимедийными объектами (видео, звук, текст и другие данные) между приложениями и передачи их разными способами (локальная сеть, сети телекоммуникаций и вещания) с использованием объектных классов MHEG. Этот стандарт позволил программным объектам включать в себя любую систему кодирования, которая определена в базовом приложении. MHEG был принят Советом по цифровому видео и звуку ( DAVICDigital Audio-Visual Council; см. http://www.mheg.org/users/mheg/archives/doc/14B94R10.zip). MHEG-объекты создаются мультимедийными приложениями. MHEG — будущий международный стандарт интерактивного TV.

Стандарты MPEG-6, предназначавшийся для беспроводной передачи данных, и MPEG-8, цель которого — четырехмерное описание объектов, так и не увидели свет.

В рамках MPEG-4 было введено понятие аудио- и видеообъектов. Дальнейшее развитие эта технология нашла в стандарте MPEG-7. Здесь расширяется понятие сцены и ее описания, делаются подходы к решению задачи поиска видео- и аудиообъектов в мультмедийном материале.

6.2. Стандарт MPEG-7

В октябре 1996 г. группа MPEG (Moving Picture Experts Group) начала разработку проблем, рассмотренных выше. Новым элементом семейства MPEG стал интерфейс описаний мультмедийного материала, называемый "Multimedia Content Description Interface" (или, сокращенно, MPEG-7), целью которого была стандартизация базовых технологий, позволяющих описание аудио-визуальных данных в рамках мультимедийной среды.

MPEG-7 является стандартом ISO/IEC, разработанным комитетом MPEG, который разработал стандарты MPEG-1, MPEG-2 и MPEG-4. Стандарты MPEG-1 и MPEG-2 сделали возможным интерактивное видео на CD-ROM и цифровое телевидение. Стандарт MPEG-4 предоставляет стандартизованные технологические элементы, позволяющие интеграцию парадигм производства, рассылки и доступа к содержимому в области цифрового телевидения, интерактивной графики и интерактивного мультимедиа.

MPEG-7 имеет целью стандартизовать описание мультимедийного материала, поддерживающего некоторый уровень интерпретации смысла информации, которая может быть передана для обработки ЭВМ. Стандарт MPEG-7 не ориентирован на какое-то конкретное приложение, он стандартизует некоторые элементы, которые рассчитаны на поддержку как можно более широкого круга приложений. Дополнительную информацию о MPEG-7 можно найти на web-странице MPEG-7 (Industry Focus Group), которая размещена по адресу http://www.mpeg-7.com. Эти web-страницы содержат ссылки на информацию об MPEG, включая описание MPEG-7, многие общедоступные документы, списки "Frequently Asked Questions" и ссылки на web-страницы MPEG-7. См. также http://book.itep.ru/2/25/mpeg_7.htm (на русc. яз.).

Введение в MPEG-7

Огромное количество аудио-визуальной информации стало доступно в цифровой форме, в виде цифровых архивов, во Всемирной Паутине, в виде широковещательных потоков, а также в форме частных или профессиональных баз данных. Значение информации часто зависит от того, насколько легко ее найти, извлечь, отфильтровать и управлять ею.

Тенденция очевидна. В ближайшие несколько лет пользователи столкнутся с таким большим числом мультимедийных материалов, предоставляемых разными провайдерами, что эффективный доступ к этому почти бесконечному материалу представляется трудновообразимым. Несмотря на тот факт, что пользователь располагает все увеличивающимися ресурсами, управление ими становится все более сложной задачей, из-за их объема. Это касается как профессионалов, так и обычных пользователей. Вопрос идентификации и управления материалами не ограничивается приложениями доступа к базам данных, таким как цифровые библиотеки, но распространяются в сферу выбора широковещательных каналов, мультимедийного редактирования и служб мультимедийных каталогов. Протокол MPEG-7 призван решить многие из этих проблем.

MPEG-7 является стандартом ISO/IEC, разработанным MPEG. Стандарты MPEG-1 и MPEG-2 позволили производить широко распространенные коммерческие продукты, такие как интерактивные CD, DVD, цифровое широковещательное аудио (DAB), цифровое телевидение и многие другие коммерческие услуги. MPEG-4 является первым реальным мультимедийным стандартом для представления данных, который позволяет интерактивно работать с комбинациями натурального и синтетического материала, закодированного в виде объектов (он моделирует аудиовизуальные данные как комбинацию таких объектов). MPEG-4 предоставляет стандартизованные технологические элементы, допускающие интеграцию производства, распределения и доступа к мультимедийному материалу. Это относится к интерактивному и мобильному мультимедиа, интерактивной графике и улучшенному цифровому телевидению.

Стандарт MPEG-7 формально назван "Ultimedia Content Description Interface". MPEG-7 предоставит широкий набор стандартизованных средств описания мультимедиа-материала. В сфере действия MPEG-7 находятся как пользователи-люди, так и автоматические системы, выполняющие обработку аудио-визуального материала.

MPEG-7 предлагает полный набор аудио-визуальных средств описания, которые образуют базис для приложений, делая возможным высококачественный доступ к мультимедийному материалу, что предполагает хорошие решения для записи, идентификации материала, обеспечения прав собственности и быстрой, эргономичной, точной целевой фильтрации и поиска.

Информация может быть представлена в различных медийных формах, таких как статические изображения, графика, 3D модели, звук, голос, видео. Аудио-визуальная информация играет важную роль в обществе, будучи записана на магнитную или фотопленку или поступая в реальном масштабе времени от аудио- или визуальных датчиков в аналоговой или цифровой форме. Первоначально аудио-визуальная информация предназначалась для людей, но в настоящее время все чаще такие данные генерируются, передаются и воспринимаются компьютерными системами. Это может быть, например, сопряжено с распознаванием голоса или изображения и медийным преобразованием (голос в текст, картинку в голос, голос в картинку и т.д.). Другими сценариями являются извлечение информации (быстрый и эффективный поиск для различных типов мультимедийных документов, представляющих интерес для пользователя) и фильтрация потоков описаний аудио-визуального материала (чтобы получить только те элементы мультимедиа-данных, которые удовлетворяют предпочтениям пользователя). Например, программа во время телепередачи запускает соответствующим образом программируемый VCR, чтобы записать эту программу, или сенсор изображения выдает предупреждение, когда происходит определенное событие. Автоматическое транскодирование может быть выполнено для строки символов, преобразуя ее в аудиоданные, или можно провести поиск в потоке аудио- или видеоданных. Во всех этих примерах аудио-визуальная информация была приемлемым образом закодирована, что позволяет программе ЭВМ предпринять соответствующие действия.

Аудио-визуальные источники будут играть в перспективе все большую роль в нашей жизни, и будет расти необходимость обрабатывать такие данные. Это делает необходимым обработку видов аудио-визуальной информации, имеющей волновую форму, компрессированный формат (такой как MPEG-1 и MPEG-2) или даже объектно-ориентированный, такой как MPEG-4.

Необходимы формы презентации, которые позволяют некоторую степень интерпретации смысла информации. Эти формы могут быть переданы или доступны для устройства или программы ЭВМ. В примерах, приведенных выше, датчики изображения могут генерировать визуальные данные не в форме PCM (значения пикселей), а в форме объектов с ассоциированными физическими величинами и временной информацией. Эти объекты могут быть запомнены и обработаны с целью проверки, выполняются ли определенные условия. Видеозаписывающий прибор может получить описания аудио-визуальной информации, ассоциированной с программой, которая при выполнении заданных условий выдаст команду на запись, например, "только новости за исключением спорта" или "запись фильма с автоматическим вырезанием вставок рекламы" (согласитесь, об этом сегодня можно только мечтать).

Средства описаний MPEG-7 не зависят от способа кодирования и записи материала. Можно сформировать описание MPEG-7 аналогового фильма или картинки, которая напечатана на бумаге, точно так же, как и цифрового материала.

MPEG-7, как и другие объекты семейства MPEG, предоставляют стандартное представление аудио-визуальных данных, удовлетворяющих определенным требованиям. Одной из функций стандарта MPEG-7 является обеспечение ссылок на определенные части мультимедийного материала. Например, дескриптор формы, используемый в MPEG-4, может оказаться полезным в контексте MPEG-7, точно так же это может относиться к полям вектора перемещения, используемым в MPEG-1 и MPEG-2.

В своих описаниях MPEG-7 допускает различную гранулярность, предлагая возможность существования различных уровней дискриминации. Хотя описание MPEG-7 не зависит от кодового представления материала, он может использовать преимущества, предоставляемые кодированным материалом MPEG-4.

Если материал закодирован с использованием MPEG-4, который предоставляет средства кодирования аудио-визуального материала в виде объектов, имеющих определенные связи во времени (синхронизация) и в пространстве (на сцене для видео или в комнате для аудио), будет возможно связать описания с элементами (объектами) в пределах сцены, такими как аудио- и видеообъекты.

Так как описательные характеристики должны иметь смысл в контексте приложения, они будут различными для разных приложений. Это подразумевает, что один и тот же материал может быть описан различным образом в зависимости от конкретного приложения.

Возьмем в качестве примера визуальный материал: нижним уровнем абстракции будет описание, например формы, размера, текстуры, цвета, движения (траектории) и позиции ("где на сцене может размещаться объект"). А для аудио: ключ, тональность, темп, вариации темпа, положение в звуковом пространстве.

Высшим уровнем представления будет семантическая информация: "Это сцена с лающей рыжей собакой слева и голубым мячом, падающим справа, с фоновым звуком проезжающих авто". Могут существовать промежуточные уровни абстракции.

Уровень абстракции относится к способу выделения определенных характеристик: многие характеристики нижнего уровня могут быть выделены полностью автоматически, в то время как характеристики высокого уровня требуют большего взаимодействия с человеком.

Кроме описания материала требуется также включить другие виды информации о мультимедийных данных.

Во многих случаях будет желательно использовать для описания текстовые данные. Необходимо позаботиться о том, чтобы полезность описаний по возможности не зависела от языка. Хорошим примером текстуального описания являются указания авторов, названия фильма и пр.

Следовательно, средства MPEG-7 позволят формировать описания (т.e. наборы схем описания и соответствующих дескрипторов по желанию пользователя) материала, который может содержать:

Все эти описания должны быть, конечно, эффективно закодированы для поиска, отбора и т.д.

Чтобы удовлетворить этому многообразию дополнительных описаний материала, MPEG-7 осуществляет описание материала с нескольких точек зрения. Наборы средств описаний, разработанные с учетом этих точек зрения, представляются в виде отдельных объектов. Однако они взаимосвязаны и могут комбинироваться множеством способов. В зависимости от приложения, некоторые будут присутствовать, другие — отсутствовать или присутствовать лишь частично.

Описание, сформированное с помощью средств MPEG-7, будет ассоциировано с самим материалом, чтобы позволить быстрый и эффективный поиск и фильтрацию материала, представляющего интерес для пользователя.

Данные MPEG-7 могут физически размещаться вместе с ассоциированным AВ-материалом (аудио-визуальным) в том же информационном потоке или в той же системе памяти, но описания могут также располагаться на другом конце света. Когда материал и его описания размещены не совместно, необходим механизм для соединения AВ-материала и его описаний MPEG-7; эти связи должны работать в обоих направлениях.

Тип материала и запрос могут не совпадать; например, визуальный материал может быть запрошен, используя визуальное содержимое, музыку, голос и т.д. Согласование данных запроса и описания MPEG-7 выполняется поисковыми системами и агентами фильтрации.

MPEG-7 применим ко многим различным приложениям в самых разных средах. Этот стандарт должен обеспечивать гибкую и масштабируемую схему описания аудио-визуальных данных. Следовательно, MPEG-7 не определяет монолитную систему описания материала, а предлагает набор методов и средств для различных подходов описания аудио-визуального материала. MPEG-7 сконструирован так, чтобы учесть все подходы, приспособленные к требованиям основных стандартов, таких как SMPTE Metadata Dictionary, Dublin Core, EBU P/Meta, и TV Anytime. Эти стандарты ориентированы на специфические приложения и области применения, в то время как MPEG-7 пытается быть как можно более универсальным.

MPEG-7 использует также схему XML в качестве языка выбора текстуального представления описания материала.

Главными элементами стандарта MPEG-7 являются:

MPEG-7 относится к приложениям, которые могут осуществлять запись (или реализовать поточную передачу, например, производить широковещательную пересылку в Интернет), и могут работать как в реальном масштабе времени, так и off-line. Среда реального времени в данном контексте означает, что описание генерируется в процессе приема материала.

На рис. 6.15 показана блок-схема системы обработки данных MPEG-7. Чтобы полностью использовать возможности описаний MPEG-7, автоматическое извлечение характеристик (или дескрипторов) может оказаться особенно заметным. Ясно также, что автоматическое извлечение не всегда возможно. Как было указано ранее, чем выше уровень абстракции, тем труднее автоматическое извлечение характеристик и тем полезнее интерактивные средства.

Область MPEG-7.


Рис. 6.15.  Область MPEG-7.

Чтобы улучшить понимание терминологии, введенной выше (т.e. дескриптор, схема описания и DDL), рассмотрим рис. 6.16 и рис. 6.17.

На рис. 6.16 продемонстрирована масштабируемость рассмотренной концепции. Более того, там показано, что DDL предоставляет механизм построения схемы описания, которая в свою очередь образует основу для формирования описания (см. также рис. 6.17).

Овалами обозначены средства, которые выполняют операции, такие как кодирование или декодирование, в то время как прямоугольниками отмечены статические элементы, такие как описания. Пунктирный контур на рисунке имеет нормативный элемент стандарта MPEG-7.

Главной задачей MPEG-7 будет предоставление новых решений для описания аудио-визуального материала. Таким образом, чисто текстовые документы не являются объектами MPEG-7. Однако аудио-визуальный материал может содержать и сопряженный с ним текст. MPEG-7 будет, следовательно, рассматривать и поддерживать существующие решения, разработанные другими организациями стандартизации для текстовых документов.

Взаимодействие различных элементов MPEG-7


Рис. 6.16.  Взаимодействие различных элементов MPEG-7

Абстрактное представление возможных приложений на основе MPEG-7


Рис. 6.17.  Абстрактное представление возможных приложений на основе MPEG-7

Помимо самих дескрипторов, на рабочие характеристики системы довольно сильно влияют DB-структуры. Чтобы быстро решить, представляет ли данный материал какой-то интерес, нужно структурировать индексную информацию, например, иерархическим или ассоциативным способом.

Элементы, которые стандартизует MPEG-7, будут поддерживать широкий диапазон приложений (например, мультимедийные цифровые библиотеки, выбор широковещательного медийного материала, мультимедийное редактирование, домашние устройства для развлечений и т.д.).

MPEG-7 сделает мультимедийный поиск в WEB столь же простым, как и текстовый.

Это станет применимо для огромных архивов, которые будут доступны для широкой публики, это придаст новый стимул электронной торговле, так как покупатели смогут искать нужный товар по видеообразцам.

Информация, используемая для извлечения материала, может также применяться агентами для отбора и фильтрации широковещательного материала или целевой рекламы. Кроме того, описания MPEG-7 позволят быстрые и эффективные с точки зрения затрат полуавтоматические презентации и редактирование.

Все области применения, базирующиеся на мультимедиа, выиграют от использования MPEG-7. Ниже предлагается список возможных приложений MPEG-7, которые любой из читателей без труда сможет дополнить.

В принципе, любой тип аудио-визуального материала может быть получен с помощью любой разновидности материала в запросе. Это означает, например, что видеоматериал может быть запрошен с помощью видео, музыки, голоса и т.д. Ниже приведены примеры запросов.

Метод разработки совместим с тем, что регламентировано в предыдущих стандартах MPEG. Работа над MPEG обычно выполнялась в три этапа: определение, соревнование и сотрудничество. На первой фазе определяется область действия и требования, предъявляемые к стандарту MPEG-7. На следующем этапе участники работают над различными технологиями самостоятельно. Результатом этого этапа является выработка документа CfP (Call for Proposals). В разработке стандарта участвовало около 60 коллективов, было получено 400 предложений.

Выбранные элементы различных предложений на завершающей фазе инкорпорированы в общую модель (eXperimentation Model или XM ) стандарта. Целью являлось построение наилучшей модели, которая по существу представляла собой проект стандарта. На завершающей фазе XM последовательно актуализовалась до тех пор, пока MPEG-7 в октябре 2000 года не достиг уровня CD (Committee Draft). Дальнейшее усовершенствование XM осуществлялось посредством базовых экспериментов ( CE — Core Experiments). CE призваны протестировать существующие средства с учетом новых возможностей и предложений. Наконец все части XM (или рабочего проекта), которые соответствуют нормативным элементам MPEG-7, были стандартизованы.

Стандарт MPEG-7 состоит из следующих частей:

  1. Системы MPEG-7. Средства, которые необходимы при подготовке описаний MPEG-7 для эффективной передачи и записи и для обеспечения синхронизации между материалом и описаниями. Эти средства имеют также отношение к охране интеллектуальной собственности.
  2. Язык описания определений MPEG-7. Язык для определения новых схем описания и, возможно, новых дескрипторов.
  3. MPEG-7 Audio — дескрипторы и схемы описания, имеющие отношение исключительно к описанию аудиоматериала.
  4. MPEG-7 Visual — дескрипторы и схемы описания, имеющие отношение исключительно к описанию визуального материала.
  5. MPEG-7 Multimedia Description Schemes — дескрипторы и схемы описания, имеющие отношение к общим характеристикам описаний мультимедиа.
  6. MPEG-7 Reference Software — программные реализации соответствующих частей стандарта MPEG-7.
  7. MPEG-7 Conformance — базовые принципы и процедуры тестирования рабочих характеристик практических реализаций MPEG-7.

Главные функции MPEG-7

Системы MPEG-7

Системы MPEG-7 будут включать в себя средства, которые необходимы для подготовки описаний MPEG-7 для эффективной транспортировки и запоминания, а также позволяют синхронизовать мультимедийный материал и описания и средства, сопряженные с управлением и защитой интеллектуальной собственности. Стандарт определяет архитектуру терминала и нормативных интерфейсов.

Язык описания определений MPEG-7

Согласно определению, в MPEG-7 язык описания определений DDL (Description Definition Language) представляет собой:

"...язык, который позволяет формировать новые схемы описания и, возможно, дескрипторы. Он также позволяет расширение и модификацию существующих схем описания".

В качестве основы DDL был выбран язык XML. Как следствие, DDL может быть поделен на следующие логические нормативные компоненты:

Аудио MPEG-7

Окончательный проект аудио MPEG-7 представляет шесть технологий: система аудиоописаний (которая включает в себя дерево шкал и низкоуровневые дескрипторы), средства описания звуковых эффектов, средства описания тембра инструмента, описание голосового материала, сегмент молчания и дескрипторы мелодии, облегчающие обработку запросов.

Визуальный MPEG-7

Средства визуального описания MPEG-7, включенные в CD/XM, состоят из базовых структур и дескрипторов, которые задают следующие визуальные характеристики:

Каждая категория состоит из элементарных и составных дескрипторов.

Основные объекты и схемы описания мультимедиа MPEG-7

Базисом схем описания мультимедиа MDS (Multimedia Description Schemes) является стандартизация набора средств описания ( дескрипторы и схемы описания ), имеющих дело с общими и мультимедийными объектами.

Общими объектами являются характеристики, которые используются в аудио-, видео- и текстовых описаниях и, следовательно, характеризуют все медийные типы материала. Такими характеристиками могут быть, например, вектор, время и т.д.

Помимо этого набора общих средств описания, стандартизованы более сложные описания. Они используются, когда нужно определить более одного вида медийного материала (например, аудио и видео). Эти средства описания могут быть сгруппированы в 5 различных классов согласно их функциональному предназначению.

  1. Описание материала: представление воспринимаемой информации.
  2. Управление материалом: информация о характере медийного материала, формирование и использование АВ материала.
  3. Организация материала: представление анализа и классификации нескольких AВ материалов.
  4. Поиск и доступ: спецификация кратких характеристик и изменений АВ-материала.
  5. Взаимодействие с пользователем: описание предпочтений пользователя и истории использования мультимедийного материала.
Эталонные программы MPEG-7: модель экспериментов (eXperimentation Model)

Программное обеспечение модели XM (eXperimentation Model) представляет собой систему моделирования для дескрипторов MPEG-7 (D), схем описания (DS), схем кодирования (CS), языка описания определений (DDL). Кроме нормативных компонентов, системе моделирования необходимы некоторые дополнительные элементы, существенные при исполнении некоторых процедурных программ. Структуры данных и процедурные программы образуют приложения. Приложения XM имеют две разновидности: приложения клиента и сервера.

Детальное техническое описание стандарта MPEG-7

Системы MPEG-7

Системы MPEG-7 в настоящее время определяют архитектуру терминала и нормативных интерфейсов.

Архитектура терминала

Представление информации, специфицированное в стандарте MPEG-7, определяет средства описаний кодированного мультимедийного материала. Объект, который использует такое кодовое представление мультимедийного материала, называется "терминалом". Этот терминал может соответствовать отдельно стоящему приложению или быть целой прикладной системой. Архитектура такого терминала изображена на рис. 4.4, а его работа описана ниже.

В нижней части рис. 6.18 размещена система передачи/записи. Это относится к нижнему уровню инфраструктуры доставки (сетевой уровень и ниже). Эти уровни передают мультиплексированные потоки данных уровню доставки. Транспортная среда MPEG-7 базируется на многих системах доставки данных. Они включают в себя, например, транспортные потоки MPEG-2, IP или MPEG-4 (MP4) файлы или потоки. Уровень доставки реализует механизмы, позволяющие выполнять синхронизацию, формирование кадров и мультиплексирование материала MPEG-7. Материал MPEG-7 может быть доставлен независимо или вместе с данными, которые он описывает. Архитектура MPEG-7 позволяет передавать данные (например, запросы) назад из терминала к отправителю или серверу.

Архитектура MPEG-7


Рис. 6.18.  Архитектура MPEG-7

Уровень доставки предоставляет уровню сжатия MPEG-7 элементарные потоки. Элементарные потоки MPEG-7 состоят из последовательности индивидуально доступных порций данных, называемых блоками доступа (Access Units). Блок доступа является наименьшим информационным объектом, к которому может относиться временная информация. Элементарные потоки MPEG-7 содержат данные различной природы:

Уровень доставки приложения может также по запросу доставлять мультимедийный материал. Для этих целей могут использоваться существующие средства доставки.

Данные MPEG-7 могут быть представлены в текстовом, в двоичном формате, или в виде комбинации этих форматов, в зависимости от типа приложения. MPEG-7 определяет однозначную связь между двоичным и текстовым форматами. Возможно установление двухсторонней однозначной связи между текстовым и двоичным представлениями. Следует заметить, что это не всегда доступно: некоторые приложения могут не захотеть передавать всю информацию, содержащуюся в текстовом представлении, и могут предпочесть использовать более эффективную с точки зрения полосы двоичную кодировку с потерями.

Синтаксис текстуального формата определен в части 2 (DDL — Description Definition Language) стандарта. Синтаксис двоичного формата (BiM — двоичный формат для данных MPEG-7) определен в части 1 (системы) стандарта. Схемы определены в частях 3, 4 и 5 (визуальная, аудио- и схемы описания мультимедиа) стандарта.

На уровне компрессии производится разборка потока блоков доступа (текстуальных или двоичных), а описания материала реконструируются. MPEG-7 не препоручает реконструкцию текстуального представления в качестве промежуточного шага декодирующему процессу. Двоичный поток MPEG-7 может быть разобран с помощью BiM, передан в текстовом формате и затем в этом виде транспортирован для последующей реконструкционной обработки, или двоичный поток может быть разобран, а затем передан в подходящем формате для последующей обработки.

Блоки доступа MPEG-7 далее структурируются как команды, в которые инкапсулированы схемы описания. Команды придают материалу MPEG-7 динамический вид. Они позволяют пересылать описания одним куском или в виде небольших фрагментов. Команды делают возможными базовые операции с материалом MPEG-7, такие как актуализация дескриптора, удаление части описания или добавление новой структуры DDL. На реконструкционном этапе уровня компрессии выполняется актуализация описания и соответствующих схем посредством указанных команд.

Нормативные интерфейсы

MPEG-7 имеет два нормативных интерфейса, как это показано на рис. 6.19.

Нормативные интерфейсы MPEG-7


Рис. 6.19.  Нормативные интерфейсы MPEG-7

Далее описывается, как проверяется то, что двоичное и текстуальное представление являются адекватными одному и тому же материалу. Этот процесс представлен на рис. 6.20.

Процесс верификации


Рис. 6.20.  Процесс верификации

Кроме описанных, процесс валидации включает определение канонического представления описания материала. В каноническом пространстве описания материала могут быть сравнены. Процесс валидации работает следующим образом:

  1. описание материала преобразуется в текстуальный и двоичный форматы без потерь, генерируя два разных представления одного и того же материала;
  2. эти два кодированных описания декодируются соответствующими двоичным и текстовым декодерами;
  3. из реконструированных описаний материала генерируются два канонических описания;
  4. два канонических описания должны быть эквивалентны.

Описание канонической презентации XML-документа определено в Canonical XML.

Язык описания определений MPEG-7 (DDL)

Главные средства, используемые в описаниях MPEG-7, — это DDL (Description Definition Language), схемы описаний ( DS ) и дескрипторы ( D ). Дескрипторы связывают характеристики с набором их значений. Схемы описания являются моделями мультимедийных объектов и всего многообразия элементов, которые они представляют, например модели данных описания. Они специфицируют типы дескрипторов, которые могут быть использованы в данном описании, и взаимоотношения между этими дескрипторами или между данными схемами описания.

Язык DDL образует центральную часть стандарта MPEG-7. Он обеспечивает надежную описательную основу, с помощью которой пользователь может создать свои собственные схемы описания и дескрипторы. DDL определяет семантические правила выражения и комбинации схем описания и дескрипторов.

DDL не является языком моделирования, таким как UML (Unified Modeling Language), а языком схем для представления результатов моделирования аудио-визуальных данных, например DS и D.

DDL должен удовлетворять требованиям MPEG-7 DDL. Он должен быть способен выражать пространственные, временные, структурные и концептуальные взаимоотношения между элементами DS и между самими DS. Он должен предоставить универсальную модель для связей и ссылок между одним или более описаниями и данными, которые им описываются. Кроме того, язык не должен зависеть от платформы и приложения. Его должна читать как машина, так и человек. MPEG-7 должен базироваться на синтаксисе XML. Необходима также система разборки DDL (парсинга), которая имеет возможность проверять схемы описания (материал и структуру) и дескрипторы типа данных — как примитивные (целое, текст, дата, время), так и составные (гистограммы, нумерованные типы).

Разработка контекста

Так как схемный язык XML не был специально разработан для аудиовизуального материала, необходимы определенные расширения, для того чтобы удовлетворить всем требованиям MPEG-7 DDL.

Обзор схемы XML

Целью схемы является определение класса XML-документов путем использования конкретных конструкций, чтобы наложить определенные ограничения на их структуру: элементы и их содержимое, атрибуты и их значения, количество элементов и типы данных. Схемы можно рассматривать как некоторые дополнительные ограничения на DTD.

Главной рекомендацией MPEG-7 AHG было использование схемы, базирующейся на XML. В начале разработки имелось много решений, но ни одно из них не оказалось достаточно стабильным. Улучшенная стабильность схемного языка XML, его потенциально широкое поле применения, доступность средств и программ разборки, а также его способность удовлетворить большинству требований MPEG-7 привели к тому, что схема XML явилась основой DDL. DDL делится на следующие логические нормативные компоненты:

Схема XML: Структуры

Схема XML: Структуры являются частью 2-частной спецификации XML-схемы. Она предоставляет средства для описания структуры и ограничений, налагаемых на материалы документов XML 1.0. Схема XML состоит из набора компонентов структурной схемы, которые могут быть разделены на три группы. Первичными компонентами являются:

Вторичными компонентами являются:

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

Определения типа задают внутренние компоненты схемы, которые могут использоваться в других компонентах, таких как элементы, атрибуты деклараций или другие определения типа. Схема XML предоставляет два вида компонентов определения типа:

Новые типы могут быть также определены на основе существующих типов (встроенных или вторичных) путем расширения базового типа.

Схема XML: Типы данных

XML Schema:Datatypes является второй частью 2-частной схемной спецификации XML. Она предлагает возможности определения типов данных, которые могут быть использованы для ограничения свойств типов данных элементов и атрибутов в рамках схем XML. Она предлагает более высокую степень проверки типа, чем доступна для XML 1.0 DTD:

Подробные детали встроенных типов данных и механизмы получения вторичных типов можно найти в окончательном проекте DDL или в спецификации XML Schema:Datatypes.

Аудио MPEG-7

Аудио MPEG-7 FCD включает в себя пять технологий: структура аудиоописания (которая включает в себя масштабируемые последовательности, дескрипторы нижнего уровня и униформные сегменты тишины), средства описания тембра музыкального инструмента, средства распознавания звука, средства описания голосового материала и средства описания мелодии.

Описание системы аудио MPEG-7

Аудиоструктура содержит средства нижнего уровня, созданные для обеспечения основы для формирования аудиоприложений высокого уровня. Предоставляя общую платформу структуры описаний, MPEG-7 Аудио устанавливает базис для совместимости всех приложений, которые могут быть созданы в рамках данной системы.

Существует два способа описания аудиохарактеристик нижнего уровня. Один предполагает стробирование уровня сигнала на регулярной основе, другой может использовать сегменты (смотри описание MDS) для пометки сходных и отличных областей для заданного звукового отрывка. Обе эти возможности реализованы в двух типах дескрипторов нижнего уровня (один для скалярных величин, таких как мощность или частота, и один для векторов, таких как спектры), которые создают совместимый интерфейс. Любой дескриптор, воспринимающий эти типы, может быть проиллюстрирован примерами, описывающими сегмент одной результирующей величиной или последовательностью результатов стробирования, как этого требует приложение.

Величины, полученные в результате стробирования, сами могут подвергаться последующей обработке с привлечением другого унифицированного интерфейса: они могут образовать масштабируемые ряды (Scalable Series). Дерево шкал может также хранить различные сводные значения — минимальное, максимальное значение дескриптора и его дисперсию.

Аудиодескрипторы нижнего уровня имеют особую важность при описании звука. Существует семнадцать временных и пространственных дескрипторов, которые могут использоваться в самых разных приложениях. Они могут быть грубо поделены на следующие группы:

Каждый из них может использоваться для описания сегмента с результирующим значением, которое применяется для всего сегмента или для последовательности результатов стробирования. Временная группа по тембру (Timbral Temporal) является исключением, так как ее значения приложимы только к сегменту как целому.

В то время как аудиодескрипторы нижнего уровня вообще могут служить для многих возможных приложений, дескриптор однородности спектра поддерживает аппроксимацию сложных звуковых сигналов. Приложения включают в себя голосовую идентификацию.

Кроме того, очень простым, но полезным средством является дескриптор тишины. Он использует простую семантику "тишины" (то есть отсутствие значимого звука) для аудиосегмента. Такой дескриптор может служить для целей дальнейшей сегментации аудиопотока.

Средства описания аудио верхнего уровня (D и DS)

Четыре набора средств описания аудио, которые приблизительно представляют области приложения, интегрированы в FCD: распознавание звука, тембр музыкального инструмента, разговорный материал и мелодическая линия.

Дескрипторы тембра служат для описания характеристик восприятия звуков. Тембр в настоящее время определен в литературе как характеристика восприятия, которая заставляет два звука, имеющих одну высоту и громкость, восприниматься по-разному. Целью средства описания тембра является представление этих характеристик восприятия сокращенным набором дескрипторов. Дескрипторы относятся к таким понятиям как "атака" (резкое начало), "яркость" или "богатство" звука.

В рамках четырех возможных классов звуков музыкальных инструментов два класса хорошо детализированы и являются центральным объектом экспериментального исследования. В FCD представляются гармонические, когерентные непрерывные звуки и прерывистые, ударные звуки. Дескриптор тембра для непрерывных гармонических звуков объединяет спектральные дескрипторы тембра с временным дескриптором log attack. Дескриптор ударных инструментов комбинирует временные дескрипторы тембра с дескриптором спектрального центроида. Сравнение описаний, использующих один из наборов дескрипторов, выполняется с привлечением метрики масштабируемого расстояния.

Схемы дескрипторов и описаний распознавания звука представляют собой наборы средств для индексирования и категорирования звуков, с немедленным использованием для звуковых эффектов. Добавлена также поддержка автоматической идентификации звука и индексация. Это сделано для систематики звуковых классов и средств для спецификации онтологии устройств распознавания звука. Такие устройства могут применяться для автоматической индексации сегментов звуковых треков.

Средства распознавания используют в качестве основы спектральные базисные дескрипторы низкого уровня. Эти базисные функции далее сегментируются и преобразуются в последовательность состояний, которые заключают в себя статистическую модель, такую как смешанная модель Маркова или Гаусса. Эта модель может зависеть от своего собственного представления, иметь метку, ассоциированную с семантикой исходного звука, и/или с другими моделями для того, чтобы категорировать новые входные звуковые сигналы для системы распознавания.

Средства описания Spoken Content позволяет детальное описание произнесенных слов в пределах аудиопотока. Учитывая тот факт, что сегодняшнее автоматическое распознавание речи ASR -технологий (Automatic Speech Recognition) имеет свои ограничения и что всегда можно столкнуться с высказыванием, которого нет в словаре, средства описания Spoken Content жертвуют некоторой компактностью ради надежности поиска. Чтобы этого добиться, средства отображают выходной поток, а также текущий результат автоматического распознавания речи. Средства могут использоваться для двух широких классов сценария поиска: индексирование и выделение аудиопотока и индексирование мультимедийных объектов, аннотированных голосом.

Средства описания Spoken Content поделены на два широких функциональных блока: сетка, которая представляет декодирование, выполненное системой ASR, и заголовок, который содержит информацию об узнанных собеседниках и о самой системе распознавания. Сетка состоит из комбинаций слов голосовых записей для каждого собеседника в аудиопотоке. Комбинируя эти сетки, можно облегчить проблему со словами, отсутствующими в словаре, и поиск может быть успешным, даже когда распознавание исходного слова невозможно.

DS мелодического очертания (Melody Contour) является компактным представлением информации о мелодии, которая позволяет эффективно и надежно контролировать мелодическую идентичность, например в запросах с помощью наигрывания. DS мелодического очертания использует 5-ступенчатый контур (представляющий интервал между смежными нотами), в котором интервалы дискретизированы. DS мелодического очертания (Melody Contour DS) предоставляет также базовую информацию ритмики путем запоминания частот, ближайших к каждой из нот, что может существенно увеличить точность проверки соответствия запросу.

Для приложений, требующих большей описательной точности или реконструкции заданной мелодии, DS мелодии поддерживает расширенный набор дескрипторов и высокую точность кодирования интервалов. Вместо привязки к одному из пяти уровней в точных измерителях используется существенно больше уровней между нотами (100 и более). Точная информация о ритмике получается путем кодирования логарифмического отношения разностей между началами нот способом, аналогичным используемому для кодирования уровней сигнала.

Видео MPEG-7

Средства визуального описания MPEG-7, включенные в CD/XM, состоят из базовых структур и дескрипторов, которые охватывают следующие основные визуальные характеристики:

Каждая категория состоит из элементарных и составных дескрипторов.

Базовые структуры

Существует пять визуально связанных базовых структур: сеточная выкладка, временные ряды (TimeSeries), многопроекционность (MultiView), пространственные 2D-координаты и временная интерполяция (TemporalInterpolation).

Сетка делит изображение на равные прямоугольные области так, что каждая область может быть описана отдельно. Каждая область сетки описывается посредством других дескрипторов, таких как цвет или текстура. Более того, дескриптор позволяет ассоциировать субдескрипторы со всей прямоугольной областью или с произвольным набором прямоугольных областей.

Дескриптор 2D/3D специфицирует структуру, которая комбинирует 2D-дескрипторы — они представляют визуальные параметры 3D-объекта, видимые с различных точек. Дескриптор образует полное 3D-представление объекта на основе его проекций. Может использоваться любой визуальный 2D-дескриптор, например форма контура, форма области, цвет или текстура. Дескриптор 2D/3D поддерживает интеграцию 2D-дескрипторов, используемых в плоскости изображения для описания характеристик 3D-объектов (реальный мир). Дескриптор позволяет осуществлять сравнение 3D-объектов путем сравнения их проекций.

Этот дескриптор определяет в видеосегменте дескрипторы временных рядов и предоставляет возможность сравнения изображения с видеокадром и видеокадров друг с другом. Доступно два типа временных рядов (TimeSeries): RegularTimeSeries и IrregularTimeSeries. В первом из них дескрипторы размещаются регулярным образом (с постоянным шагом) в пределах заданного временного интервала. Это допускает простое представление для приложений, которые предполагают ограниченную сложность. Во втором — дескрипторы размещаются нерегулярно (с переменными интервалами) в пределах заданного временного интервала. Это обеспечивает эффективное представление для приложений, которые требуют малой полосы пропускания или малой емкости памяти. Они полезны, в частности, для построения дескрипторов, которые содержат временные ряды дескрипторов.

Такое описание определяет 2D пространственную координатную систему, которую следует использовать в других D/DS, где это важно. Оно поддерживает два вида координатных систем: локальную и интегрированную (рис. 6.21). В локальной координатной системе все изображения привязаны к одной точке. В интегрированной координатной системе каждое изображение (кадр) может быть привязано к разным областям. Интегрированная координатная система может использоваться для представления координат на мозаичном видеоснимке.

"Локальная" и "интегрированная" координатные системы: a) "локальные" координаты b) "интегрированные" координаты


Рис. 6.21.  "Локальная" и "интегрированная" координатные системы: a) "локальные" координаты b) "интегрированные" координаты

TemporalInterpolation D описывает временную интерполяцию, использующую связанные многогранники. Это может применяться для аппроксимации многомерных значений переменных, которые меняются со временем, например положение объекта в видео. Размер описания временной интерполяции обычно много меньше, чем описание всех величин. На рис. 6.22 25 реальных величин представлены пятью линейными интерполяционными функциями и двумя квадратичными интерполяционными функциями. Начало временной интерполяции всегда привязывается ко времени 0.

Описатели цвета

Существует восемь дескрипторов цвета: цветового пространства, доминантных цветов, цветовой дискретизации, GoF/GoP цвета, цветовой структуры, цветового размещения и масштабируемой гистограммы цветов.

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

Реальные данные и функции интерполяции


Рис. 6.22.  Реальные данные и функции интерполяции

Этот дескриптор определяет дискретизацию цветового пространства и поддерживает линейные и нелинейные преобразователи, а также lookup-таблицы. Число уровней квантования конфигурируемо так, чтобы обеспечить большую гибкость для широкого диапазона приложений. В случае нелинейного АЦП ширина канала преобразования может также конфигурироваться. Для разумных приложений в контексте MPEG-7 этот дескриптор должен комбинироваться с другими, например, чтобы характеризовать значения в цветовой гистограмме.

Этот дескриптор цвета является наиболее удобным для представления локальных характеристик (области объекта или изображения), где для предоставления цветовой информации достаточно малого числа цветов. Могут использоваться и полные изображения, например картинки флагов или цветных торговых марок. Квантование цвета используется для получения малого числа характерных цветов в каждой области/изображении. Соответственно вычисляется процент каждого дискретизируемого цвета в области.

Дескриптор масштабируемого цвета (Scalable Color) является гистограммой цветов в цветном пространстве HSV, которая кодируется с помощью преобразования Хара. Ее двоичное представление является масштабируемым с точки зрения числа каналов и числа бит, характеризующих значение точности в широком диапазоне потоков данных. Дескриптор масштабируемого цвета полезен для сравнения изображений и поиска, базирующегося на цветовых характеристиках. Точность отображения возрастает с увеличением числа бит, используемых для описания.

Дескриптор цветовая структура (Color Structure) является описателем цветовой характеристики, которая объединяет цветовое содержимое (аналогично цветовой гистограмме) и информацию о структуре материала. Его главная задача — сравнение изображений главным образом для статических картинок. Метод выборки вводит данные о цветовой структуре в дескриптор, учитывая локально цвета окрестных пикселей, и не анализирует каждый пиксель отдельно. Дескриптор цветовая структура обеспечивает дополнительную функциональность и улучшенный поиск, базирующийся на подобии естественных изображений.

Этот дескриптор специфицирует пространственное распределение цветов для быстрого поиска и просмотра. Его целью является не только сравнение изображений и видеоклипов, но также поиск, базирующийся на раскладке цветов, такой как сравнение наброска с изображением, которое не поддерживается другими цветовыми дескрипторами. Этот дескриптор может использоваться для всего изображения или для любой его части. Данный дескриптор может также быть применен для областей произвольной формы.

Дескриптор цвета группа_кадров/группа_картинок (GoF/GoP) расширяет возможности дескриптора масштабируемого цвета, который определен для статических изображений, чтобы выполнять цветовое описание видеосегментов или собрания статических изображений. Дополнительные два бита позволяют определить, была ли вычислена цветовая гистограмма, прежде чем было осуществлено преобразование Хара: для усреднения, медианы или пересечения. Усредненная гистограмма, которая соответствует усредненному значению счетчика для каждой ячейки всех кадров или изображений, эквивалентна вычислению совокупной цветовой гистограммы всех кадров или изображений с последующей нормализацией. Медианная гистограмма соответствует вычислению медианного значения счетчика для каждой ячейки совокупности кадров или изображений. Она дает возможность более надежно округлять ошибки и сглаживать выбросы в распределении яркости изображения по сравнению с усредненной гистограммой. Гистограмма пересечения соответствует вычислению минимального значения счетчика для каждой ячейки совокупности кадров или изображений, чтобы получить цветовые характеристики "наименьшего общего" группы изображений. Заметим, что это отличается от гистограммы пересечения, которая является скалярной мерой. Аналогичные меры сходства/различия, которые используются для сравнения масштабируемых цветовых описаний, могут быть применены для сопоставления цветовых дескрипторов GoF/GoP.

Описатели текстуры

Существует три текстурных дескриптора: Edge Histogram, Homogeneous Texture и Texture Browsing.

Однородная текстура представляет собой важный визуальный примитив для поиска и просмотра большой коллекции сходных образов. Изображение может рассматриваться как мозаика однородных текстур, так что эти текстурные характеристики, соответствующие областям, могут использоваться для индексации визуальных данных. Например, пользователь, просматривающий абстрактную базу данных изображений, может захотеть идентифицировать различные блоки в этой коллекции изображений. Блоки с автомашинами, запаркованными регулярным образом, служат хорошим примером однородного текстурного образца, рассматриваемого с большого расстояния, как это происходит при аэросъемке. Аналогично, сельскохозяйственные области и участки растительности являются другим примером однородных текстур, встречающихся при аэро- и спутниковых наблюдениях. Примеры запросов, которые могут поддерживаться в этом контексте, могут выглядеть так: "Поиск всех спутниковых изображений Санта Барбары, которые имеют меньше чем 20% облачного покрытия"или "Найти растительный участок, который выглядит как эта область". Чтобы поддерживать такой поиск изображений, необходимо эффективное представление текстуры. Дескриптор однородной текстуры предоставляет количественное представление, используя 62 числа (по 8 бит каждое), которое удобно для поиска сходства. Получение данных осуществляется следующим образом; изображение сначала обрабатывается посредством набора фильтров Габора, настроенных на определенные ориентации и масштаб (смоделированные с помощью функций Габора). Дескриптор однородной текстуры предоставляет точное количественное описание текстуры, которое может использоваться для поиска. Вычисление этого дескриптора базируется на фильтрации.

Дескриптор просмотра текстуры (Texture Browsing) полезен для представления однородной текстуры в приложениях, служащих для просмотра, и требует только 12 бит (максимум). Он предоставляет перцептуальную характеристику текстуры, аналогично человеческому описанию в терминах регулярности, шероховатости, ориентированности. Вычисление этого дескриптора осуществляется так же, как и дескриптора однородной текстуры. Сначала изображение фильтруется с помощью набора специально настроенных фильтров (смоделированных посредством функций Габора); в отфильтрованном результате идентифицируются два доминантных ориентаций текстуры. Три бита используются для представления каждой из доминантных ориентаций. За этим следует анализ проекций отфильтрованного изображения вдоль доминантных направлений, чтобы определить регулярность (характеризуемую двумя битами) и загрубленность (2 бита x 2). Этот дескриптор совместно с дескриптором однородной текстуры предоставляет масштабируемое решение для представления областей изображения с однородной текстурой.

Дескриптор краевой гистограммы представляет пространственное распределение пяти типов краев — в частности, четырех ориентированных краев и одного неориентированного. Так как края играют важную роль для восприятия изображения, данный дескриптор помогает найти изображения со сходным семантическим значением. Таким образом, он изначально ориентирован на сравнение изображений (по образцам или наброскам), в особенности на естественные изображения с нерегулярными краями. В этом контексте свойства системы поиска изображения могут быть существенно улучшены, если дескриптор краевой гистограммы комбинируется с другими дескрипторами, такими как дескриптор цветовой гистограммы. Кроме того, наилучшие характеристики системы поиска изображения достигаются путем использования полуглобальных и глобальных гистограмм, получаемых непосредственно из дескриптора краевых гистограмм.

Описатели формы

Существует четыре типа дескрипторов формы: объектная форма, базирующаяся на областях, форма, базирующаяся на контурах, 3D-форма и 2D-3D множественные проекции.

Форма объекта может состоять из одной области или набора областей, а также некоторых отверстий в объектах, как это показано на рис. 6.23. Дескриптор формы, базирующейся на областях, использует все пиксели, определяющие форму в пределах кадра. Он может описывать любую форму, то есть не только простые формы с односвязными областями, как на рис. 6.23 (a) и (b), но также сложные формы, которые содержат отверстия или несколько несоединенных областей, как показано на рис. 6.23 (c), (d) и (e) соответственно. Дескриптор формы, базирующейся на областях, может не только эффективно описать столь несхожие формы, но и минимизировать искажения на границах объекта.

На рис. 6.23 (g), (h) и (i) показаны очень схожие изображения чашки. Различия имеются только в форме ручки. Форма (g) имеет трещину на нижней части ручки, в то время как в (i) ручка не имеет отверстия. Дескриптор формы, базирующейся на областях, рассматривает (g) и (h) подобными, но отличными от (i), так как там ручка не имеет отверстия. Аналогично, на рис. 6.23 (j-l) показана часть видео последовательности, где два диска постепенно разделяются. С точки зрения дескриптора формы, базирующейся на областях, эти картинки схожи.

Заметим, что черный пиксель в пределах объекта соответствует 1 на изображении, в то время как пиксели белого фона соответствуют 0.

Дескриптор характеризуется малым размером и быстрым временем поиска. Размер данных для представления является фиксированным и равен 17,5 байтам.

Примеры различной формы


Рис. 6.23.  Примеры различной формы

Дескриптор формы, базирующейся на контуре объекта, использует CurvatureScaleSpace-представление контура. Это представление имеет несколько важных особенностей, в частности:

Некоторые из вышеперечисленных свойств проиллюстрированы на рис. 6.24, каждый кадр содержит весьма сходные с точки зрения CSS изображения, основанные на результате действительного поиска в базе данных MPEG-7.



Рис. 6.24. 

На рис. 6.24 (a) продемонстрированы свойства обобщения формы (внешнее сходство различных форм), (b) устойчивость по отношению к плавному движению (бегущий человек), (c) устойчивость к частичному перекрытию (хвосты или ноги лошадей).

В ходе непрерывного развития мультимедийных технологий и виртуальных миров 3D-материал становится обычным для современных информационных систем. В большинстве случаев 3D-информация представляется в виде сетки многоугольников. Группа MPEG-4, в рамках подгруппы SNHC, разрабатывала технологии для эффективного кодирования модели 3D-сеток. В стандарте MPEG-7 необходимы средства для интеллектуального доступа к 3D-информации. Главные приложения MPEG-7 имеют целью поиск, получение и просмотр баз 3D-данных.

Предлагаемый дескриптор 3D-формы имеет целью предоставление внутреннего описания формы сеточных 3D-моделей. Он использует некоторые локальные атрибуты 3D-поверхности.

Дескрипторы перемещения

Существует четыре дескриптора перемещения: перемещение камеры, траектория перемещение объекта, параметрическое движение объекта и двигательная активность.

Дескриптор перемещения камеры характеризует параметры перемещения 3D-камеры. Он базируется на информационных параметрах 3D-перемещения камеры, которые могут быть автоматически получены.

Дескриптор движения камеры поддерживает следующие стандартные операции (см. рис. 6.25): фиксированное положение, панорамное движение (горизонтальное вращение), слежение за движущимся объектом (горизонтальное поперечное перемещение), вертикальное вращение, вертикальное поперечное перемещение, изменение фокусного расстояния, наезд (трансфокация вдоль оптической оси) и вращение вокруг оптической оси.

Перемещения камеры


Рис. 6.25.  Перемещения камеры

Отрывок, для которого все кадры характеризуются определенным типом перемещения камеры, относящееся к одному виду или нескольким, определяет базовые модули для дескриптора перемещения камеры. Каждый составляющий блок описывает начальный момент, длительность, скорость перемещения изображения и увеличение фокусного расстояния (FOE) (или сокращение фокусного расстояния — FOC). Дескриптор представляет объединение этих составляющих блоков, он имеет опцию описания смеси типов перемещения камеры. Смешанный режим воспринимает глобальную информацию о параметрах перемещения камеры, игнорируя детальные временные данные, при помощи совместного описания нескольких типов движения, даже если эти типы перемещения осуществляются одновременно. С другой стороны, несмешанный режим воспринимает понятие чистых перемещений и их совмещения на протяжении определенного временного интервала. Ситуации, когда одновременно реализуется несколько типов перемещений, описывается как суперпозиция описаний чистых независимых типов перемещения. В этом режиме описания временное окно конкретного элементарного сегмента может перекрываться с временным окном другого элементарного сегмента.

Траектория движения объекта является простой характеристикой высокого уровня, определяемой как позиция во времени и пространстве одной репрезентативной точки этого объекта.

Этот дескриптор полезен для поиска материала в объектно-ориентированных визуальных базах данных. Он также эффективен в большинстве специальных приложений. В данном контексте с предварительным знанием ряда параметров траектория позволяет реализовать некоторые дополнительные возможности. При наблюдении могут выдаваться сигналы тревоги, если траектория воспринимается как опасная (например, проходит через запретную зону, движение необычно быстро и т.д.). В спорте могут распознаваться специфические действия (например, обмен ударами у сетки). Кроме того, такое описание позволяет также улучшить обработку данных: для полуавтоматического редактирования медиа-данных траектория может быть растянута, смещена, и т.д., чтобы адаптировать перемещения объекта для любого контекста.

список ключевых точек ( x, y, z, t ) вместе с набором опционных интерполирующих функций, которые описывают путь объекта между ключевыми точками в терминах ускорения. Скорость неявно известна с помощью спецификации ключевых точек. Ключевые точки специфицируются путем задания моментов времени или их 2D или 3D декартовых координат, в зависимости от приложения. Интерполирующие функции определены для каждого компонента x(t), y(t) и z(t) независимо. Некоторые свойства этого представления перечислены ниже:

Модели параметрического движения были использованы в рамках различных схем анализа и обработки изображения, включая сегментацию перемещения, оценки глобального перемещения и отслеживание объектов. Модели параметрического перемещения использовались уже в MPEG-4, для оценки перемещения и компенсации. В контексте MPEG-7 перемещение является крайне важной характеристикой, связанной с пространственно-временной структурой видео, относящейся к нескольким специфическим MPEG-7 приложениям, таким как запоминание и поиск в видеобазах данных. Движение является также критической характеристикой для некоторых специфических приложений, которые уже рассматривались в рамках MPEG-7.

Базовый принцип состоит из описаний движения объектов в видеопоследовательности, например в параметрической 2D-модели. В частности, аффинные модели включают в себя трансляции, вращения, масштабирование и их комбинации, планарные модели перспективы делают возможным учет глобальных деформаций, сопряженных с перспективными проекциями, а квадратичные модели позволяют описать более сложные движения.

Параметрическая модель ассоциирована с произвольными фоновыми объектами или объектами переднего плана, определенными как области (группа пикселей) в изображении в пределах заданного интервала времени. Таким способом движение объекта записывается компактным образом в виде набора из нескольких параметров. Этот подход ведет к очень эффективному описанию нескольких типов перемещения, включая простые преобразования, вращения и изменения масштаба, или более сложные перемещения, такие как комбинации перечисленных выше элементарных перемещений.

Определение подобия характеристик моделей движения является обязательным для эффективного поиска объектов. Оно также необходимо для поддержки запросов нижнего уровня, полезно и в запросах верхнего уровня, таких как "поиск объектов приближающихся к камере", или для "объектов, описывающих вращательное движение", или "поиск объектов, перемещающихся влево" и т.д.

Просмотр человеком видео- или анимационной последовательности воспринимается как медленная последовательность, быстро протекающий процесс, последовательность действий и т.д. Дескриптор активности воспринимает интуитивное понятие "интенсивность действия" или "темп действий" в видеосегменте. Примеры высокой "активности" включают такие сцены, как "ведение счета голов в футбольном матче", "автомобильные гонки" и т.д. С другой стороны, сцены типа "чтение новостей", "интервью", "снимок" и т.д., воспринимаются как кадры низкой активности. Видеоматериал охватывает диапазон от низкой до высокой активности, следовательно, нам нужен дескриптор, который позволяет нам точно выражать активность данной видеопоследовательности/снимка и всесторонне перекрывать упомянутый выше диапазон. Дескриптор активности полезен для приложений, таких как видеонаблюдение, быстрый просмотр, динамическое видеорезюмирование, информационные запросы и т.д. Например, мы можем замедлить темп презентации кадров, если дескриптор активности указывает на высокую активность, так, чтобы облегчить просмотр этой активности.

Локализация

Этот дескриптор допускает локализацию областей внутри изображения или кадров путем спецификации их с помощью краткого и масштабируемого отображения боксов или многогранников.

Локатор описывает пространственно-временные области в видеопоследовательности, такие как области движущихся объектов, и обеспечивает функцию локализации. Главным его приложением является гипермедиа, где выделенная точка находится внутри объекта. Другим ведущим приложением является поиск объектов путем проверки, прошел ли объект определенные точки. Это может использоваться для наблюдения. Дескриптор SpatioTemporalLocator может описывать как связанные, так и несвязанные области.

Пространственно-временная область


Рис. 6.26.  Пространственно-временная область

Дескриптор FaceRecognition может использоваться для получения изображения лиц, которые соответствуют запросу. Дескриптор представляет проекцию вектора лица на набор базовых векторов, которые охватывают пространство возможных векторов лица. Набор параметров FaceRecognition получается из нормализованного изображения лица. Такое изображение содержит 56 строк с 46 значениями уровня в каждой строке. Центры двух глаз на каждом изображении лица размещаются на 24-м ряду и 16-й и 31-й колонке для правого и левого глаз соответственно. Это нормализованное изображение затем используется для получения одномерного вектора лица, который состоит из значений яркости пикселей нормализованного изображения, получаемого в результате растрового сканирования — сканирование начинается в верхнем левом углу и завершается в нижнем правом углу изображения. Набор параметров FaceRecogniton вычисляется путем проектирования одномерного вектора лица на пространство, определяемое набором базисных векторов.

Схемы описания мультимедиа MPEG-7

Дескрипторы MPEG-7 сконструированы для описания следующих типов информации: низкоуровневые аудио-визуальные характеристики, такие как цвет, текстура, движение, уровень звука и т.д.; высокоуровневые семантические объекты, события и абстрактные принципы; процессы управления материалом; информация о системе памяти и т.д. Ожидается, что большинство дескрипторов, соответствующих низкоуровневым характеристикам, будут извлекаться автоматически, в то время как человеческое вмешательство будет необходимо для формирования высокоуровневых дескрипторов.

MPEG-7 DS преобразуются в дескрипторы путем комбинирования индивидуальных дескрипторов, а также других DS в рамках более сложных структур и определения соотношения составляющих дескрипторов и DS. В MPEG-7 DS категорируются в отношении к аудио- или видеообластям, или по отношению к описанию мультимедиа. Например, характерные DS соответствуют неизменным метаданным, связанным с формированием, производством, использованием и управлением мультимедиа, а также описанием материала. Обычно мультимедийные DS относятся ко всем типам мультимедиа, в частности, к аудио-, видео- и текстовым данным, в то время как специфичные для области дескрипторы, такие как цвет, текстура, форма, мелодия и т.д., относятся исключительно к аудио- или видеообластям. Как и в случае дескрипторов, реализация DS может в некоторых вариантах базироваться на автоматических средствах, но часто требует вмешательства человека.

Средства организации MDS

На рис. 6.27 представлена схема организации мультимедийных DS MPEG-7 в следующих областях: базовые элементы, описание материала, управление материалом, организация материала, навигация и доступ, взаимодействие с пользователем.

Обзор мультимедийных DS MPEG-7


Рис. 6.27.  Обзор мультимедийных DS MPEG-7

Спецификация мультимедийных DS MPEG-7 определяет некоторое число схемных средств, которые облегчают формирование и выкладку описаний MPEG-7. Схемные средства состоят из корневого элемента, элементов верхнего уровня и средств выкладки (Package Tools). Корневые элементы, которые являются начальными элементами описания MPEG-7, позволяют сформировать полные XML-документы и фрагменты описания MPEG-7. Элементы верхнего уровня позволяют корневым элементам в описании MPEG-7 организовать DS для объектно-ориентированных задач описания, таких как описание изображения, видео, аудио или аудио-визуальный материал, собрания (коллекции), пользователи или семантика мира. Созданы пакетные средства для группирования или ассоциации связанных компонентов DS описаний в каталоги или пакеты. Пакеты полезны для организационных и передающих структур и типов описательной информации MPEG-7, для систем поиска и для помощи пользователям, незнакомым с особенностями описаний MPEG-7.

Спецификация мультимедийных DS MPEG-7 определяет также некоторое число базовых элементов, которые используются повторно в качестве фундаментальной конструкции при определении DS. Многие базовые элементы предоставляют специфические типы данных и математические структуры, например, векторы и матрицы, которые важны для описания аудио-визуального материала. Они включаются также в качестве элементов для связи медиа-файлов и локализации сегментов, областей и т.д. Многие базовые элементы предназначены для специальных случаев описания аудио-визуального материала, таких, как описание времени, места, людей, индивидуальностей, групп, организаций и других текстовых аннотаций. Из-за их важности для описания аудио-визуального материала сначала определим подходы MPEG-7 к формированию временной информации и текстовых аннотаций.

Временная информация. DS для описания времени базируется на стандарте ISO 8601, который был воспринят схемным языком XML. Временные DS предоставляют временную информацию в медиа-потоки и для реального мира. Стандарт MPEG-7 расширяет спецификацию времени ISO 8601, для того чтобы описать время в терминах стробирования аудио-визуального материала, например путем подсчета периодов стробирования. Это позволяет поддержать эффективное описание временной информации в больших массивах аудио-визуального материала.

Текстовая аннотация является также важным компонентом многих DS. Стандарт MPEG-7 предоставляет некоторое число базовых конструкций для текстового аннотирования, включая свободный текст (слова, фразы), структурированный текст (текст плюс назначение слов) и зависимую структурированную аннотацию (структурированный текст плюс взаимные связи), для того чтобы поддерживать широкий диапазон функций текстовых описаний.

MPEG-7 предоставляет также DS для управления материалом. Эти элементы описывают различные аспекты создания медиа-материала, медиа-кодирование, запись, форматы файлов и использование материала. Функциональность каждого из этих классов DS представлена ниже.

Информации создания. Эта информация описывает создание и классификацию аудио-визуального материала и других данных, которые с ним связаны. Информация создания ( creation ) выдает заголовок (который может быть текстовым или фрагментом аудио-визуального материала), текстовую аннотацию, а также данные о создателях, месте формирования и дате. Классификационная информация описывает, как аудио-визуальный материал классифицируется в таких категориях, как жанр, тема, цель, язык и т.д. Она предоставляет также обзор и управляющую информацию, например классификация по возрасту, тематический обзор, рекомендации создателей и т.д. Наконец, информация, сопряженная с материалом, описывает, существует ли другой материал, который связан тематически с данным материалом.

Информации использования. Описывает использование аудио-визуального материала, а также права использования, доступность, записи об использовании и финансовые данные. Правовая информация не включается в описание MPEG-7, вместо этого предлагаются ссылки на владельцев прав и другие данные, относящиеся к защите авторских прав. Правовые DS предоставляют эти ссылки в форме уникальных идентификаторов, которые управляются извне. Базовая стратегия описаний MPEG-7 заключается в предоставлении доступа к текущей информации о владельце без возможности непосредственного обсуждения возможных условий доступа к самому материалу. DS доступности и DS записей об использовании предоставляют данные, относящиеся соответственно к доступности и прошлому использованию материала, в частности, широковещательной демонстрации, доставки по требованию, продажи CD и т.д. Наконец, финансовые DS предоставляют данные, связанные со стоимостью производства и доходами, которые могут быть результатом использования материала. Информация использования является обычно динамической, меняющейся за время жизни аудио-визуального материала.

Медиа-описание характеризует характер записи, например сжатие данных, кодирование и формат записи аудио-визуального материала. DS медиа-информации идентифицирует источник материала. Образцы аудио-визуального материала называются медиа-профайлами, которые являются версиями исходного материала, полученными, возможно, посредством другого кодирования или записи в другом формате. Каждый медиа-профайл описывается индивидуально в терминах параметров кодирования и положения.

MPEG-7 предоставляет также DS для описания материала. Эти элементы описывают структуру (области, видеокадры и аудиосегменты) и семантику (объекты, события, абстрактные понятия). Функциональность каждого из классов DS представлена ниже.

Структурные аспекты. DS описывает аудио-визуальный материал с точки зрения его структуры. Структурные DS формируются на основе DS сегментов, которые представляют пространственную, временную или пространственно-временную структуру аудио-визуального материала. Для получения оглавления или индекса для поиска аудио-визуального материала DS сегменты могут быть организованы в иерархические структуры. Сегменты могут быть описаны на основе характеристик восприятия с помощью дескрипторов цвета, текстуры, формы, движения, аудиопараметров и т.д.

Концептуальные аспекты. DS описывает аудио-визуальный материал с точки зрения семантики реального мира и концептуальных представлений. DS семантики включают в себя такие характеристики, как объекты, события, абстрактные концепции и отношения. DS структуры и DS семантики имеют отношение к набору связей, который позволяет описать аудио-визуальный материал на основе его структуры и семантики.

MPEG-7 предоставляет также DS для облегчения просмотра и извлечения аудио-визуального материала путем определения резюме, разделов, составных частей и вариантов аудио-визуального материала.

Резюме предоставляет компактное описание аудио-визуального материала, которое призвано облегчить поиск, просмотр, визуализацию и прослушивание аудио-визуального материала. DS резюме содержат два типа режимов навигации: иерархический и последовательный. В иерархическом режиме информация организована в виде последовательности уровней, каждый из которых описывает аудио-визуальный материал с разной степенью детализации. Уровни, более близкие к корневому, предоставляют более общие резюме, периферийные же уровни повествуют о тонких деталях. Последовательные резюме предоставляют собой последовательность изображений или видеокадров, возможно, синхронизованных со звуком, которые могут служить для просмотра слайдов, или аудио-визуальный набросок.

Разделы и декомпозиции описывают различные составляющие аудиовизуального сигнала в пространстве, времени и частоте. Разделы и декомпозиции могут использоваться для описания различных проекций аудиовизуальных данных, которые важны для доступа с разным разрешением.

Вариации предоставляют информацию о различных вариантах аудиовизуальных программ, таких как резюме и аннотации; масштабируемые, сжатые версии и варианты с низким разрешением; а также версии на различных языках — звук, видео, изображение, текст и т.д. Одной из важных возможностей, обеспечиваемых DS вариации, является выбор наиболее удобной версии аудио-визуальной программы, которая может заменить оригинал и, если необходимо, адаптироваться к различным возможностям терминального оборудования, сетевым условиям или предпочтениям пользователя.

MPEG-7 предоставляет также DS для организации и моделирования собрания аудио-визуального материала, а также его описания. DS коллекции организует коллекцию аудио-визуального материала, сегментов, событий, и/или объектов. Это позволяет описать каждую коллекцию как целое на основе общих характеристик. В частности, для описания значений атрибутов коллекции могут быть специфицированы различные модели и статистики.

Наконец, последний набор DS MPEG-7 имеет отношение к взаимодействию с пользователем. DS взаимодействия с пользователем описывает предпочтения пользователя и историю использования мультимедийного материала. Это позволяет, например, найти соответствие между предпочтениями пользователя и описаниями аудио-визуального материала, для того чтобы облегчить индивидуальный доступ к аудио-визуальному материалу, презентации и пр.

Управление содержимым

Средства управления описанием материала позволяют охарактеризовать жизненный цикл материала.

Материал, охарактеризованный описаниями MPEG-7, может быть доступным в различных форматах и режимах, с разными схемами кодирования. Например, концерт может быть записан в двух разных режимах: звуковом и аудио-визуальном. Каждый из этих режимов может использовать различное кодирование. Это создает несколько медиапрофайлов. Наконец, может быть получено несколько копий одного и того же материала. Эти принципы режимов и профайлов проиллюстрированы на рис. 6.28.

Модель материала, профайла и копии


Рис. 6.28.  Модель материала, профайла и копии

Материал. Реальное событие, такое как концерт, может быть представлено различными типами медиа-материала, например звуковой материал, аудио-визуальный материал. Материал является объектом, который имеет специфическую структуру для отображения реальности.

Медиа-информация. Физический формат материала описывается DS медиа-информации. Одна копия описания DS будет ассоциирована с одним материалом.

Медиа-профайл. Один объект может иметь один или более профайлов, которые соответствуют различным схемам кодирования. Один из профайлов является оригинальным, он называется мастерным профайлом, который соответствует первоначально созданному или записанному материалу. Другие будут получаться перекодированием из мастерного. Если материал закодирован тем же кодирующим средством, но с другими параметрами, формируется другой медиа-профайл.

Медиа-копия. Медиа-объект может быть поставлен в соответствие физическому объекту, называемому медиа-копией. Медиа-копия специфицируется идентификатором или локатором.

CreationInformation. Информация о процессе формирования материала описывается DS CreationInformation. Одна копия описания DS будет ассоциирована с одним материалом.

UsageInformation. Информация об использовании материала описывается DS UsageInformation. Одна копия описания DS будет ассоциирована с одним материалом.

Единственной частью описания, которая зависит от среды записи или формата кодирования, является MediaInformation. Остальная часть описания MPEG-7 не зависит от профайлов или копий и, как следствие, может использоваться, чтобы описать все возможные копии материала.

Описание среды включает в себя один элемент верхнего уровня, DS MediaInformation. Оно состоит из опционного MediaIdentification D и одного или нескольких MediaProfile D.

Идентификация среды (Media Identification) D содержит средства описания, которые являются специфическими по отношению к идентификации аудио-визуального материала вне зависимости от имеющихся различных копий.

Медиа-профайл D содержит различные средства описания, которые позволяют охарактеризовать один профайл аудио-визуального материала. Концепция профайла относится к различным вариациям, которые могут отклоняться от оригинала в зависимости от выбранного кодирования, формата записи и т.д. Профайл, соответствующий оригиналу или мастерной копии аудио-визуального материала, считается мастерным профайлом. Для каждого профайла может быть одна или более медиа-копии мастерного медиа-профайла.

Составные части MediaProfile D:

Средства описания создания материала предоставляют авторские тексты, описания процесса формирования и/или производства аудио-визуального материала. Такая информация не может быть получена из самого материала. Эти данные связаны с материалом, но не описывают его буквально.

Описание создания и производства материала содержит, в качестве элемента верхнего уровня, DS CreationInformation, который состоит из одного Creation D, нуля или одного Classification D, и нуля или нескольких RelatedMaterial D.

Creation D содержит средства описания, имеющие отношение к созданию материала, включая место, дату, действия, материалы, персонал (технический и творческий) и организации, участвовавшие в процессе.

Classification D содержит средства описания, которые позволяют классифицировать аудио-визуальный материал. Classification D используется для описания классификации аудио-визуального материала. Это позволяет осуществлять поиск и отбор на основе предпочтений пользователя, ориентируясь на классификации пользователя (например, по языку, стилю, жанру и т.д.) и на классификации услуг (например, на цель, патентную защиту, сегментацию рынка, медиа-ревью и т.д.).

Related Material D содержит средства описания, имеющие отношение к дополнительной информации о аудио-визуальном материале, который имеется в других материалах.

Средства описания информации об использовании материала предоставляют данные о процессе использования аудио-визуального материала.

Описание данных об использовании обеспечивается посредством DS UsageInformation, который может включать один Rights D, нуль или один Financial D и нуль или несколько Availability D и UsageRecord D.

Важно заметить, что описание DS UsageInformation предполагает добавление новых описаний каждый раз, когда материал используется (например, DS UsageRecord, доход в Financial D) или когда имеются другие способы доступа к материалу (например Availability D).

Rights D (дескриптор прав) предоставляет доступ к информации о правах владельцев и правах доступа.

Financial D содержит информацию, относящуюся к издержкам и доходам от аудио-визуального материала. Понятия частичных издержек и доходов позволяют классифицировать различные издержки и доходы в зависимости от их типа. Итоговые издержки и доходы вычисляются приложением на основе указанных выше составляющих.

Availability D содержит средства описания, относящиеся к доступности использования материала.

DS UsageRecord содержит средства описания, относящиеся к прошлому использованию материала.

Описание содержимого

Основным элементом этой части описания является DS сегмента. Она относится к описанию физического и логического аспектов аудио-визуального материала. DS сегмента может использоваться для формирования сегментных деревьев. MPEG-7 специфицирует также DS графа, который позволяет представлять сложные взаимоотношения между сегментами. Она используется для описания пространственно-временных соотношений между сегментами, которые не описаны структурами дерева.

Сегмент представляет собой секцию аудио-визуального материала. DS сегмента является абстрактным классом (в смысле объектно-ориентированного программирования). Она имеет девять основных подклассов: DS мультимедийного сегмента, DS аудио-визуальной области, DS аудио-визуального сегмента, DS аудио-сегмента, DS статической области, DS статической 3D-области, DS подвижной области, DS видео-сегмента и DS электронной раскраски. Следовательно, она может иметь как пространственные, так и временные свойства. Временной сегмент может быть набором фрагментов аудио-визуальной последовательности, представленным DS аудио-сегмента, набором кадров видеопоследовательности, представленным DS видео-сегмента или комбинацией аудио- и видеоинформации, охарактеризованной DS аудио-визуального сегмента. Пространственный сегмент может быть областью изображения или кадром в визуальной последовательности, представленным DS статической области для 2D-областей и DS статической области 3D для 3D-областей. Пространственно-временной сегмент может соответствовать подвижной области в видеопоследовательности, представленной DS подвижной области, или более сложной комбинацией визуального и аудиоматериала, представленного, например, DS аудио-визуальной области. InkSegment DS описывает временной интервал или сегмент электронной раскраски, который соответствует набору чернильных капель, выбрасываемых из сопла. Наконец, наиболее общим сегментом является DS мультимедийного сегмента, который описывает составные сегменты, образующие мультимедийную презентацию. DS сегмента является абстрактным и не может быть отображен сам по себе. Он используется для определения общих свойств его подклассов. Любой сегмент может быть описан с помощью информации формирования, использования медийных данных и текстовой аннотации. Более того, сегмент может быть поделен на субсегменты с помощью DS декомпозиции сегмента.

Сегмент не является обязательно связанным, он может быть составлен из нескольких несвязанных компонентов. Связность здесь относится как к пространственным, так и к временным доменам. Временной сегмент ( видео-сегмент, аудио-сегмент или аудио-визуальный сегмент ) считается связанным, если он является непрерывной последовательностью видеокадров или аудиофрагментов. Пространственный сегмент ( статическая область или статическая 3D-область ) считается связанным, если он является группой связанных пикселей. Пространственно-временной сегмент ( подвижная область или аудио-визуальная область ) считается связанным в пространстве и времени, если временной сегмент, где он размещен, является связанным и если каждый кадр, в него входящий, является пространственно связанным (заметим, что это не является классической связностью в 3D-пространстве).

На рис. 6.29 проиллюстрированы несколько примеров временных или пространственных сегментов и их связности. Рис. 6.29a и 6.29b иллюстрируют временные и пространственные сегменты, содержащие один связный компонент. Рис. 6.29c и 6.29d иллюстрируют временной и пространственный сегменты, состоящие из трех связанных компонент. Заметим, что в последнем случае дескрипторы и DS, привязанные к сегменту, являются глобальными по отношению к объединению связанных компонент, образующих сегмент. На этом уровне невозможно индивидуально описать связанные компоненты сегмента. Если связанные компоненты должны быть описаны индивидуально, тогда сегмент разделяется покомпонентно.

DS Сегмента является рекурсивным, то есть он может быть поделен на субсегменты и таким образом образовать древовидную структуру. Результирующее сегментное дерево используется для определения медиаисточника, временной и/или пространственной структуры аудио-визуального материала. Например, видеопрограмма может быть временно преобразована в ряд сцен различного уровня, снимков и микро-сегментов. Оглавление может, таким образом, генерироваться на основе этой структуры. Подобные стратегии могут использоваться для пространственных и пространственно-временных сегментов.

Сегмент может быть также разделен на составные части по медиаисточникам, например, по различным звуковым дорожкам или разным позициям видеокамер. Иерархическая декомпозиция полезна при формировании эффективных стратегий поиска (от глобального до локального).

Примеры разложения сегмента на компоненты: a) и b) декомпозиции сегмента без зазоров и перекрытий; c) и d) декомпозиции сегмента с зазорами и перекрытиями


Рис. 6.29.  Примеры разложения сегмента на компоненты: a) и b) декомпозиции сегмента без зазоров и перекрытий; c) и d) декомпозиции сегмента с зазорами и перекрытиями

Она также позволяет описанию быть масштабируемым: сегмент может быть описан непосредственно с помощью его набора дескрипторов и DS, а может быть описан набором дескрипторов и DS, которые относятся к его субсегментам. Заметим, что сегмент может быть разделен на субсегменты различного типа, например, видеосегмент может быть разложен на движущиеся области, которые в свою очередь разлагаются на статические области.

Так как это выполняется в пространственно-временном пространстве, декомпозиция должна описываться набором атрибутов, определяющих тип разложения: временное, пространственное или пространственно-временное. Более того, пространственная и временная подсекции могут располагаться с зазором или с перекрытием. Несколько примеров декомпозиций для временных сегментов приведено на рис. 6.30. Рис. 6.30a и 6.30b описывают два примера декомпозиции без зазоров или перекрытий. В обоих случаях объединение дочерних объектов соответствует в точности временному продолжению родительского, даже если родитель сам не является связанным (см. пример на рис. 6.30b). Рис. 6.30c демонстрирует пример декомпозиции с зазорами, но без перекрытий. Наконец, рис. 6.30d иллюстрирует более сложный случай, где родитель состоит из двух связанных компонентов и его декомпозиция создает три дочерних объекта: первый сам состоит из двух связанных компонентов, остальные два — из одного связанного компонента. Декомпозиция допускает зазоры и перекрытия. Заметим, что в любом случае декомпозиция означает, что объединение пространственно-временного пространства, определенного дочерними сегментами, включается в пространство, определенное его сегментом-предшественником (дочерние объекты содержатся в предшественниках).

Примеры сегментов: a) и b) сегменты состоят из одного связного компонента; c) и d) сегменты состоят из трех связанных компонентов


Рис. 6.30.  Примеры сегментов: a) и b) сегменты состоят из одного связного компонента; c) и d) сегменты состоят из трех связанных компонентов

Таблица 6.1. Примеры характеристик для описания сегмента
ХарактеристикаВидео сегментСтационарная областьПодвижная областьАудио сегмент
ВремяX.XX
Форма.XX.
ЦветXXX.
Текстура.X..
ДвижениеX.X.
Движение камерыX...
МозаикаX...
Характеристики звука..XX

Как упомянуто выше, любой сегмент может быть описан с помощью данных формирования, информации об использовании, медиа-данных и текстовой аннотации. Однако специфические характеристики, зависящие от типа сегмента, также допускаются. Примеры специфических характеристик представлены в таблице 6.1. Большинство дескрипторов (D), соответствующих этим характеристикам, может быть получено автоматически из исходного материала.

Пример описания изображения представлен на рис. 6.31. Исходные изображения описаны как стационарные области, SR1, которые характеризуются с помощью данных формирования (заголовок, создатель), информации использования (авторские права), медийной информации (формат файла), а также текстовой аннотации (обобщающей свойства изображения), гистограмм цвета и дескриптора текстуры. Исходная область может быть в дальнейшем разложена на составные области. Для каждого шага декомпозиции мы указываем, допустимы или нет зазоры и перекрытия. Дерево сегмента состоит из 8 стационарных областей (заметим, что SR8 является одиночным сегментом, составленным из двух связанных сегментов). Для каждой области на рис. 6.31 показан тип характеристики, которая реализована. Заметим, что в иерархическом дереве не нужно дублировать информацию формирования, использования и пр., так как предполагается, что дочерние сегменты наследуют эти характеристики.

Примеры описания изображения со стационарными областями


Рис. 6.31.  Примеры описания изображения со стационарными областями

Описание структуры материала может выходить за рамки иерархического дерева. Хотя иерархические структуры, такие как деревья, удобны при организации доступа, поиска и масштабируемого описания, они подразумевают ограничения, которые делают их неприемлемыми для некоторых приложений. В таких случаях DS графа сегмента не используется. Структура графа определяется набором узлов, представляющих сегменты, и набором ребер, определяющих отношения между узлами. Чтобы проиллюстрировать использование графов, рассмотрим пример, представленный на рис. 6.32.

Пример видеосегмента и областей для графа, представленного на рис. 6.33


Рис. 6.32.  Пример видеосегмента и областей для графа, представленного на рис. 6.33

Этот пример демонстрирует момент футбольного матча. Определены два видео-сегмента, одна стационарная область и три движущиеся области. Граф, описывающий структуру материала, показан на рис. 6.33. Видеосегмент: Обводка & удар включает в себя мяч, вратаря и игрока. Мяч остается рядом с игроком, движущимся к вратарю. Игрок появляется справа от вратаря. Видеосегмент гол включает в себя те же подвижные области плюс стационарную область ворота. В этой части последовательности игрок находится слева от вратаря, а мяч движется к воротам. Этот очень простой пример иллюстрирует гибкость данного вида представления. Заметим, что это описание в основном представляется структурным, так как отношения, специфицированные ребрами графа, являются чисто физическими, а узлы, представляющие сегменты, являются объектами. Эти объекты определены данными создания, информацией использования и медиа-данными, а также дескрипторами низкого уровня, такими как цвет, форма, движение. В семантически явном виде доступна только информация из текстовой аннотации (где могут быть специфицированы ключевые слова "мяч", "игрок" или "вратарь").

Пример графа сегмента


Рис. 6.33.  Пример графа сегмента

Для некоторых приложений подход, описанный выше, неприемлем, так как он выделяет структурные аспекты материала. Для приложений, где структура практически не используется, но где пользователь в основном интересуется семантикой материала, альтернативным подходом является семантический DS. В этом подходе акцент делается не на сегментах, а на событиях, объектах, концепциях, месте, времени и абстракции.

Документальная сфера относится к контексту для семантического описания, то есть это "реальность", в которой описание имеет смысл. Это понятие перекрывает область специфических случаев аудио-визуального материала, а также более абстрактных описаний, представляющих область возможных медиа-вариантов.

Как показано на рис. 6.34, DS SemanticBase описывает документальные сферы и семантические объекты. Кроме того, несколько специальных DS получается из DS SemanticBase, которые задают специфические типы семантических объектов, такие, как описательные сферы, объекты, объекты агента, события, место и время. Например: семантический DS описывает документальные сферы (narrative worlds — реальные миры), которые отображаются или сопряжены с аудио-визуальным материалом. Он может использоваться для описания шаблонов аудио-визуального материала. На практике семантический DS служит для инкапсуляции описания. DS объекта описывает воспринимаемый или абстрактный объект. Воспринимаемый объект является сущностью, которая является реальностью, то есть имеет временное и пространственное протяжение в описываемом мире (например, "Пианино Вани"). Абстрактный объект является результатом абстрагирования воспринимаемого объекта (например, "любое пианино"). Это абстрагирование генерирует шаблон объекта. DS AgentObject расширяет возможности DS объекта. Она описывает человека, организацию, группу людей, или персонализированные объекты (например, "говорящую чашку в анимационном кино"). DS события описывает воспринимаемое или абстрактное событие. Воспринимаемое событие является динамическим отношением, включающим один или более объектов, которые возникают во времени или пространстве описываемого мира (например, "Ваня играет на пианино"). Абстрактное событие является результатом абстрагирования воспринимаемых событий (например, "кто-то играет на пианино"). Эта абстракция позволяесформировать шаблон события. DS концепции описывает семантическую сущность, которая не может быть описана как обобщение или абстрагирование специфицированного объекта, события, временного интервала или состояния. Она представляет собой свойство или собрание свойств (например, "гармония" или "готовность"). Эта DS может относиться к среде непосредственно или к другой описываемой семантической сущности. DS SemanticState описывает один или более параметрических атрибутов семантической сущности в данное время, или в данной точке описываемого мира, или в данной позиции среды (например, вес пианино равен 100 кг). Наконец, DS SemanticPlace и SemanticTime характеризуют соответственно место и время в описываемом мире.

Как и в случае DS сегмента, концепция описания может быть представлена в виде дерева или графа. Структура графа определена набором узлов, представляющих семантические понятия, и набором ребер, специфицирующих отношения между узлами. Ребра описываются DS семантических отношений.

Средства для описания концептуальных аспектов


Рис. 6.34.  Средства для описания концептуальных аспектов

Кроме семантического описания индивидуальных привязок в аудиовизуальном материале семантические DS допускают также описание абстракций. Абстракция относится к процессу получения описания из специфической привязки к аудио-визуальному материалу и обобщению его с помощью нескольких привязок к этому материалу или к набору специальных описаний. Рассматриваются два типа абстракции, называемых медиа-абстракция и стандартная абстракция.

Медиа-абстракция представляет собой описание, которое отделено от конкретных образцов аудио-визуального материала и может описывать все варианты и образцы аудио-визуального материала, которые достаточно схожи между собой (подобие зависит от приложения и от деталей описания). Типичным примером может служить новость, которая широковещательно передается по разным каналам.

Стандартная абстракция является обобщением медиа-абстракции для описания общего класса семантических сущностей или описаний. Вообще, стандартная абстракция получается путем замещения конкретных объектов, событий или других семантических сущностей классами. Например, если "Ваня играет на пианино" заменяется на "человек играет на пианино", описание становится стандартной абстракцией. Стандартные абстракции могут быть рекурсивными, то есть определять абстракцию абстракций. Обычно стандартная абстракция предназначена для повторного использования или ориентирована на применение в качестве ссылки.

Простой пример описания концептуальных аспектов показан на рис. 6.35. Описываемый мир включает в себя в данном случае Ваню Иванова, играющего на фортепиано со своим учителем. Событие характеризуется семантическим описанием времени: "19:00 24 апреля 2006 года", и семантикой места: "Консерватория". Описание включает одно событие: игра — и четыре объекта: фортепьяно, Ваня Иванов, его учитель — и абстрактное понятие музыканта. Последние три объекта принадлежат к классу агент.

Пример концептуальных аспектов описания


Рис. 6.35.  Пример концептуальных аспектов описания

Навигация и доступ

MPEG-7 предоставляет DS, которые облегчают навигацию и доступ к аудио-визуальному материалу путем спецификации резюме, обзоров, разделов и вариаций медиа-данных. DS резюме предоставляет аннотации аудио-визуального материала, для того чтобы обеспечить эффективный просмотр и навигацию в аудио-визуальных данных. Пространственно-частотная проекция дает возможность рассматривать аудио-визуальные данные в пространственно-частотной плоскости. DS вариации специфицируют отношения между различными вариантами аудио-визуального материала, которые позволяют адаптивный выбор различных копий материала при различных условиях доставки и для разных терминалов.

Аудио-визуальные резюме предоставляют компактные аннотации аудио-визуального материала для облегчения обнаружения, просмотра, навигации, визуализации и озвучивания этого материала. DS резюме позволяет осуществлять навигацию в рамках аудио-визуального материала иерархическим или последовательным образом. Иерархическая декомпозиция резюме организует материал послойно, так что он на различных уровнях выдает различную детализацию (от грубой до подробной). Последовательные резюме предоставляют последовательности изображений или видеокадров, возможно, синхронизованные с аудио и текстом, которые формируют слайд-демонстрации или аудио-визуальные наброски.

DS резюме. Резюме MPEG-7 делают возможным быстрый и эффективный просмотр и навигацию аудио-визуального материала путем передачи существенных составляющих этого материала. DS резюме содержит связи с аудио-визуальным материалом, включая сегменты и кадры. Данное описание резюме, терминального оборудования, такого как цифровая приставка к телевизору, может иметь доступ к аудио-визуальному материалу, формируя резюме и отображая результат для последующего взаимодействия с пользователем. DS резюме допускает формирование нескольких резюме для одного и того же материала, которые могут быть созданы с разными уровнями детализации.

DS иерархического резюме. DS HierarchicalSummary организует резюме нескольких уровней, которые описывают аудио-визуальный материал с разной детализацией. Элементы иерархии специфицируются DS HighlightSummary и HighlightSegment. Иерархия имеет форму дерева, так как каждый элемент в иерархии, кроме корневого, имеет прародителя. Элементы иерархии могут опционно иметь дочерние элементы.

DS HighlightSummary и HighlightSegment. DS HierarchicalSummary сконструирован на основе базового представления временных сегментов AВ-данных, описанных HighlightSegments. Каждый HighlightSegment содержит указатели на AВ-материал, чтобы обеспечить доступ к ассоциированным ключевым видео- и аудиоклипам, к ключевым кадрам и ключевым звуковым составляющим, он может также содержать текстовую аннотацию, относящуюся к ключевым темам. Эти AВ-сегменты группируются в резюме или рубрики посредством схемы описания HighlightSummary.

DS SequentialSummary. DS SequentialSummary специфицирует резюме, состоящее из последовательности изображений или видеокадров, возможно, синхронизованных со звуком или текстом. SequentialSummary может также содержать последовательность аудиофрагментов. Аудио-визуальный материал, который образует SequentialSummary, может быть записан отдельно от исходного материала, чтобы позволить быструю навигацию и поиск. В качестве альтернативы последовательные резюме могут связываться непосредственно с исходным аудио-визуальным материалом для того, чтобы ослабить требования к памяти.



Рис. 6.36. 

На рис. 6.36 показан пример иерархического резюме видеозаписи футбольного матча. Описание иерархического резюме предоставляет три уровня детализации. Видеозапись матча суммирована на одном корневом кадре. На следующем уровне иерархии предлагается три кадра, которые суммируют различные сегменты видеозаписи. Наконец, внизу рисунка показаны кадры нижнего уровня иерархии, отображающие детали, различных сцен сегментов предыдущего уровня.

Отображения разделов и декомпозиций описывает различные части аудио-визуального сигнала в пространстве, времени и по частоте. Отображения разделов описывает различные виды аудио-визуального материала, такие как отображения с низким разрешением, пространственных или временных сегментов, или частотных субдиапазонов. Вообще, DS отображения пространства и частоты специфицируют соответствующие разделы в пространственной и частотной плоскостях.

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

DS отображения. DS отображений описывают различные пространственные и частотные отображения аудио-визуальных данных. Определены следующие DS отображения: DS SpaceView описывает пространственное отображение аудио-визуальных данных, например пространственный сегмент изображения. DS FrequencyView описывает отображение в пределах заданного частотного диапазона, например частотный субдиапазон звукового сопровождения. DS SpaceFrequencyView специфицирует многомерное отображение аудио-визуальных данных одновременно в пространстве и по частоте, например частотный субдиапазон пространственного диапазона изображения. DS ResolutionView специфицирует отображение с низким разрешением, такое как набросок изображения. Концептуально, отображение разрешения является частным случаем частотного отображения, которое соответствует низкочастотному субдиапазону данных. DS SpaceResolutionView специфицирует отображение одновременно в пространстве и по разрешению, например отображение изображения пространственного сегмента с низким разрешением.

Декомпозиции проекций. DS декомпозиции проекции описывают различные пространственные и частотные декомпозиции и организацию отображения аудио-визуальных данных. Определены следующие DS декомпозиции проекций: DS ViewSet описывает набор проекций, который может иметь различные свойства полноты и избыточности, например набор субдиапазонов, полученный при частотной декомпозиции аудио-сигнала, образующего ViewSet. DS SpaceTree описывает дерево декомпозиции данных, например пространственную декомпозицию квадрантов изображения. DS FrequencyTree описывает частотную декомпозицию данных, например, волновую декомпозицию изображения. SpaceFrequencyGraph описывает декомпозицию данных одновременно в пространстве и по частоте. Здесь отображение использует частотный и пространственный графы. Граф видеоотображения специфицирует декомпозицию видеоданных в пространстве "координата-время-частота", например декомпозиция видео 3-D-субдиапазона. Наконец, MultiResolutionPyramid специфицирует иерархию проекций аудио-визуальных данных, например пирамиду изображений с разным разрешением.

На рис. 6.37 приведен пример пространственно-частотного графа декомпозиции изображения. Структура пространственного и частотного графа включает элементы узлов, которые соответствуют различным пространственным и частотным проекциям изображения, состоящего из пространственных проекций (пространственные сегменты), частотных (частотные субдиапазоны) и пространственно-частотных (частотные субдиапазоны пространственных сегментов). Структура пространственного и частотного графа включает в себя также элементы переходов, которые содержат анализ и синтез зависимостей между проекциями. Например, на рис. 6.37 S переходы указывают на пространственную декомпозицию, в то время как F переходы отмечают частотную или субдиапазонную декомпозицию.

Пространственно-частотный граф разлагает изображение или аудиосигналы в пространстве "место-время-частота". Декомпозиция изображений, использующая пространственно-частотный граф, делает возможным эффективный доступ и поиск материала при самом разном разрешении


Рис. 6.37.  Пространственно-частотный граф разлагает изображение или аудиосигналы в пространстве "место-время-частота". Декомпозиция изображений, использующая пространственно-частотный граф, делает возможным эффективный доступ и поиск материала при самом разном разрешении

Вариации предоставляют информацию о различных изменениях аудио-визуального материала, такого как резюме, архивированные версии или версии с малым разрешением, а также версии на различных языках — звук, видео, изображение, текст и т.д. Одной из главных функций DS вариаций является разрешение серверу, прокси или терминалу выбрать наиболее удобную вариацию аудио-визуального материала, которая может заместить оригинал, если необходимо, адаптировать различные возможности терминального оборудования, сетевых условий или предпочтений пользователя. DS вариаций используется для спецификации различных вариаций аудио-визуальных данных. Вариации могут возникать самыми разными способами или отражать изменения исходных данных. Значение достоверности вариации определяет ее качество по сравнению с оригиналом. Атрибут типа вариации указывает на характер изменений: резюме, аннотация, язык перевода, уменьшение насыщенности цвета, снижение разрешения, сокращение частоты кадров, архивирование и т.д.

Организация содержимого

MPEG-7 предоставляет DS для организации и моделирования коллекций аудио-визуального материала, сегментов, событий и/или объектов, и описания их общих свойств. Коллекции могут быть далее описаны, используя различные модели и статистики для того, чтобы характеризовать атрибуты элементов коллекции.

DS структуры коллекции описывают коллекции аудио-визуального материала или отрывков такого материала, например, временные сегменты видео. DS структуры коллекции группируют аудио-визуальный материал, сегменты, события или объекты, кластеры коллекций и специфицируют свойства, которые являются общими для всех элементов. DS CollectionStructure описывает также статистику и модели значений атрибутов этих элементов, такие, как усредненная гистограмма цвета для коллекции изображений. DS CollectionStructure также описывает отношения между кластерами коллекций.

На рис. 6.38 показана концептуальная организация коллекций в DS CollectionStructure. В этом примере каждая коллекция состоит из набора изображений с общими свойствами, например, отображает сходные события в футбольном матче. Внутри каждой коллекции могут быть специфицированы отношения между изображениями, такие как степень сходства изображений в кластере. В рамках коллекции DS CollectionStructure специфицирует дополнительные связи, например степень сходства коллекций.

DS моделей предоставляют средства для моделирования атрибутов и характеристик аудио-визуального материала. DS модели вероятности предоставляет собой фундаментальную DS для спецификации различных статистических функций и вероятностных структур. DS модели вероятности могут использоваться для представления образцов аудио-визуальных данных и классов дескрипторов, использующих статистические аппроксимации.



Рис. 6.38. 

DS аналитической модели описывает коллекции образцов аудиовизуальных данных или кластеров дескрипторов, которые предоставляют модели для конкретных семантических классов. DS аналитической модели специфицирует семантические маркеры, которые индицируют моделируемые классы. DS аналитической модели опционно специфицирует степень доверия, с которой семантический маркер приписан модели. DS классификатора описывает различные типы классификаторов, которые определяют механизм присвоения семантических маркеров аудио-визуальным данным.

DS UserInteraction характеризует предпочтения пользователей, имеющих отношение к использованию AВ-материала, а также историю его использования. Описания АВ-материала в MPEG-7 могут быть приведены в соответствие с описаниями предпочтений для того, чтобы выбрать и персонифицировать АВ-материал для более эффективного доступа, презентации и использования. DS UserPreference описывает предпочтения для различных типов материала и моделей просмотра, включая зависимость от контекста в терминах времени и места. DS UserPreference задает также вес относительной важности различных предпочтений, характеристики конфиденциальности предпочтений и будут ли предпочтения изменяться в процессе взаимодействия агента с пользователем. DS UsageHistory описывает историю действий, предпринятых пользователем мультимедийной системы. Описания истории использования могут пересылаться между клиентами, их агентами, провайдерами материала и оборудованием и могут быть в свою очередь использованы для определения предпочтений пользователей с учетом характера АВ-материала.

Эталонные программы: экспериментальная модель

Цели

Программы XM являются основой для эталонных кодов стандарта MPEG-7. Они используют нормативные компоненты MPEG-7:

Кроме нормативных компонентов, симуляционной платформе необходимы также некоторые ненормативные компоненты, существенные для реализации некоторых процедурных программ, которые выполняются для нормативных информационных структур. Информационные структуры и процедурные программы образуют приложения. Для большинства D или DS существует как минимум одно приложение в программном пакете, позволяющее проверить функциональность каждого нормативного компонента. Приложения показывают, как извлечь метаданные из медиаматериала или как метаданные могут использоваться в простых приложениях. Следовательно, XM реализует только базовые типы элементарных приложений, а не приложения реального мира. Более того, программы XM имеют только интерфейс командной строки, который не допускает какого-либо взаимодействия в процессе исполнения.

Модули программного обеспечения XM разработаны так, что все они используют специфицированные интерфейсы. Это позволяет облегчить навигацию среди множества различных модулей для разных D и DS. С другой стороны, применение фиксированного интерфейса позволяет повторно использовать отдельные модули и объединять их в большие приложения.

Извлечение и приложения клиента

В рамках программного обеспечения XM приложения соотносятся с одним конкретным дескриптором или схемой описания. Так как стандартизовано много дескрипторов и схем описания (DS), существует также много приложений, интегрированных в программный пакет. Приложения, формирующие дескриптор (D) или схему описания (DS), которые они тестируют, называются приложениями выборки. С другой стороны, приложения, которые используют тестируемые D или DS (DUT), называются приложениями клиента. Извлекающие приложения нужны, если D или DS являются дескриптором низкого уровня — это означает, что описание может быть извлечено из мультимедийного материала автоматически. Для D или DS высокого уровня выборка не может быть реализована аналогично. Однако в большинстве случаев выборка может быть основана на предварительной информации. Это означает, что процесс выборки читает эти дополнительные данные помимо медийного материала, чтобы получить описания. Таким образом, набор мультимедийного материала расширяется путем добавления данных высокого уровня.

Модульность XM-программ

По умолчанию модули для всех D и DS скомпилированы так, чтобы создать один большой исполнимый модуль, который может затем вызвать приложение для индивидуального D или DS. Однако результирующий исполняемый модуль становится необыкновенно большим, из-за массы индивидуальных D и DS, определяемых стандартом. Компиляция с целью получения исполняемого модуля может выдать файл размером более 100 Мбайт (в случае, если включен режим отладки). Следовательно, программное обеспечение MPEG-7 XM сконструировано так, чтобы поддерживать частичную компиляцию с использованием только одного D или DS. С другой стороны, во многих случаях желательно комбинировать субнаборы D или DS. Более того, комбинирование D и DS также необходимо, когда DS строится иерархически из других D и DS. При этом сценарии важно не только обеспечить частичную компиляцию, но и сконструировать программу так, чтобы код можно было использовать повторно. Таким образом, все приложения построены из модулей. Среди этих модулей:

Чтобы увеличить возможность повторного использования, все эти классы используют специальные интерфейсы, независящие от D или DS, к которым они принадлежат. Таким образом, чтобы программу можно было использовать повторно, нужно, например, применить средство выборки D или DS для других D или DS без глубокого знания, как это делается в данном средстве. Это возможно, если только известно, как использовать интерфейс этого средства выборки. Модули, перечисленные выше, скомбинированы или соединены друг с другом так, чтобы образовать цепочку обработки. Это сделано в классах приложений, которые могут относиться к классам выборки или приложения клиента.

Модули приложения

Медиа-декодер (класс MediaIO) поддерживает широкий диапазон возможных входных медийных форматов. Среди них:

Для этих целей класс MediaIO использует набор внешних библиотек, которые не принадлежат в некоторых случаях дереву исходных кодов программ XM. Сюда входят следующие библиотеки:

Особым случаем являются видеопоследовательности, так как декодированное и не компрессированное представление является слишком емким для того, чтобы производиться в памяти. Следовательно, класс MediaIO записывает декомпрессированные изображения во временные файлы, которые могут быть затем загружены с помощью программ для статических изображений. Тот же механизм применяется для векторов перемещения, но здесь декодирование видеопоследовательностей останавливается после получения векторов перемещения.

Так как класс MediaIO является интерфейсом для этих библиотек, использование внешних библиотек не нужно и не разрешено для любого другого класса программ XM, например библиотек, разрешающих аудиоэкспертам использовать программы XM без специфичной для видео библиотеки ImageMagick.

Класс MultiMedia хранит загруженные медиа-данные в памяти. Видеопоследовательности не загружаются в память (в память могут заноситься лишь отдельные кадры).

Для статических изображений XM использует сокращенную структуру данных MoMuSys Vop из модели верификации MPEG-4 (VM). Ключевые точки записываются в двухмерный связанный список: одно измерение — для временных точек (один кадр), содержащих второе измерение, которое включает в себя все ключевые точки для этого кадра.

Средство выборки выполняет выборку из базы данных характеристики одного элемента мультимедиа. Процесс выборки не является нормативным средством в стандарте MPEG-7. Чтобы извлечь характеристику материала, средство выборки воспринимает ссылку на медиа-данные, являющиеся входными для данной операции и в то же время ссылкой для описания, которое записывает результаты процесса выборки.

Так как в случае обработки видеопоследовательности невозможно предоставить все входные данные одновременно, выборка производится покадрово. Это означает, что имеется три функции, которые используются для реализации процедуры выборки:

Тот же интерфейс используется в случае обработки аудио-данных. Здесь входные данные являются более или менее непрерывными. Входной поток делится на кадры, которые затем могут обрабатываться один за другим.

Помимо интерфейсов, классы выборки имеют процедурный код. В качестве средства выборки изображения или видео программы XM используют AddressLib, которая является общей библиотекой видеообработки для выполнения задач анализа изображения на нижнем уровне.

Средства выборки используются исключительно для получения данных из медиа-среды прикладного типа. Как будет показано позднее, имеется возможность извлечь проверяемые D или DS из других данных описания. В этом случае процесс выборки может быть реализован только через один функциональный вызов, то есть без итеративных циклов с входными данными для каждой временной точки или периода.

Классы дескрипторов несут в себе описательные данные. В программах XM классы для каждого D или DS представляют непосредственно нормативную часть стандарта. Имеются также функции для элементов реализации описаний.

В программах XM имеется два различных способа конструирования классов D или DS. В случае визуальных D этот класс использует простой подход класса C++. Во всех других случаях этот класс реализуется с помощью общего модуля, который в XM называется GenericDS. Этот класс является интерфейсом между программами C++ XM и реализацией парсера DDL. Здесь применяется XML-парсер, предоставляющий DOM-API (Data Object Model — Application Programming Interface — прикладной программный интерфейс объектной модели данных). Следовательно, GenericDS является интерфейсом между XM и парсером DOM-API. Управление памятью для описательных данных выполняется посредством библиотеки парсера DOM. Оба подхода могут комбинироваться с помощью функций ImportDDL и ExportDLL реализованных классов дескриптора C++.

Схема кодирования включает в себя нормативный кодировщик и декодер для D или DS. В большинстве случаев схема кодирования определена только заданием схемы DDL. Здесь кодирование представляет собой вывод описания в файл, а декодирование является разборкой (parsing) и загрузкой файла описания в память. Описание запоминается с использованием класса GenericDS, который является оболочкой для DOM-API. Следовательно, мы можем использовать библиотеку парсера DOM-API для кодирования и декодирования. Эти функции встроены XM с помощью класса GenericDSCS (CS = схема кодирования). Помимо ASCII-представления XML-файла, MPEG-7 стандартизует также двоичное представление описаний (BiM).

Другим подходом является использование визуальной группы MPEG-7. Здесь каждый D имеет также индивидуальное двоичное представление. Это позволяет специфицировать число бит, которое следует использовать для кодирования индивидуальных элементов описания. Примером может служить число бит, используемых для кодирования каждой ячейки гистограммы.

В качестве средств извлечения и поиска используется ненормативное средство стандарта. Оно берет одно описание из базы данных и одно описание запроса, причем запрос может не соответствовать нормативам MPEG-7 D или DS. Средство поиска анализирует описание и обрабатывает нужные входные данные так, как это требуется для специфицированного приложения.

Средства поиска используются во всех клиентских приложениях, которые являются приложениями поиска и доставки ( search & retrieval ) и приложениями медиа-транскодирования ( media transcoding ). В случае приложений поиска и доставки средство поиска сравнивает два входных описания и вычисляет величину их отличия. Для приложения медиа-транскодирования обрабатываются медиа-данные, то есть медийная информация модифицируется на основе описания и запроса. Средство поиска вызывается из приложения транскодирования.

Типы приложений в XM-программах

Выборка из медиа-приложения относится к типам приложений выборки. Обычно все D или DS низкого уровня должны иметь класс приложения этого типа. Как показано на рис. 6.39, приложение извлекает тестируемые D/DS (DUT) из входных медиа-данных. Сначала медиафайл загружается медиа-декодером в мультимедиа-класс, то есть в память. На следующем шаге с помощью средства выборки описание может быть извлечено из мультимедиа-класса. Затем описание проходит через кодировщик и закодированные данные записываются в файл. Этот процесс повторяется для всех мультимедийных файлов медийной базы данных.

Выборка для приложения медийного типа. Описание извлекается из входных медийных данных


Рис. 6.39.  Выборка для приложения медийного типа. Описание извлекается из входных медийных данных

Приложение поиска и получения данных, показанное на рис. 6.40, относится к типу клиентского приложения. Сначала все описания базы данных, которые могут быть извлечены из медиа-приложения, декодируются и загружаются в память. Из медиа-данных с помощью средства выборки может быть извлечено и описание запроса. С другой стороны, запрос может быть загружен непосредственно из файла. После получения всех входных данных запрос обрабатывается для всех элементов базы данных, а результирующие расстояния (значения отличия) используются для сортировки данных согласно уровню соответствия запросу. Наконец, сортированный список записывается в качестве новой медиа-базы данных в файл.

Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса


Рис. 6.40.  Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса

Поиск и выборка прикладного типа. Сортированная информация из медиа- базы данных получается из описаний и запроса (транскодируются), а новая медиа-база данных записывается в файл. Более того, может быть специфицирован запрос, который обрабатывается для описаний до транскодирования.

Тип приложения медиа-транскодирования. Из исходной DB создается транскодированная база данных, соответствующая описаниям и опционно запросу


Рис. 6.41.  Тип приложения медиа-транскодирования. Из исходной DB создается транскодированная база данных, соответствующая описаниям и опционно запросу

Приложение фильтрации описаний может относиться к типу выборки или клиента, в зависимости от того, сгенерирован или использован исследуемый дескриптор (DUT). В обоих случаях описания входная база данных фильтруется на основе регламентаций запроса. Результирующие отфильтрованные описания записываются затем в выходные файлы (рис. 6.42).

Приложение фильтрации описаний


Рис. 6.42.  Приложение фильтрации описаний

Модель ключевого приложения MPEG-7

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

Другим важным ограничением программного обеспечения XM является тот факт, что эти программы представляют собой лишь средства командной строки, то есть что приложение, его входы и выходы могут быть специфицированы только, когда работает XM. Ключевые приложения во время работы не поддерживают взаимодействия с пользователем.

После идентификации природы ключевых приложений следующим шагом является разработка абстрактной модели такого приложения. Результирующий субнабор входов и выходов показан на рис. 6.43. Возможными входами являются медиа-базы данных, базы данных описаний и запросов. Возможными выходами могут быть медиа-базы данных и базы данных описаний. В абстрактной модели семантика выхода медиа-базы данных не разделена, то есть список медиа-файлов наилучшего соответствия и транскодированной медиа-базы данных не рассматриваются как индивидуальные типы.

Интерфейсная модель ключевых приложений XM. Эта модель показывает супер-набор возможных входов и выходов ключевого приложения XM


Рис. 6.43.  Интерфейсная модель ключевых приложений XM. Эта модель показывает супер-набор возможных входов и выходов ключевого приложения XM

Помимо уже используемых выходов, предполагается, что будет также тип выхода, соответствующий входному запросу. На рис. 6.43 этот выход имеет название прочий выход. Возможными приложениями для этого могут быть уточняющие запросы, например, для просматривающих приложений. Однако использование этого выхода все еще не ясно и нуждается в дальнейших исследованиях.

Далее мы используем интерфейсную модель ключевых приложений для двух целей: создания новых ключевых приложений и описания отношений ключевых приложений с приложениями реального мира.

Ключевые приложения против приложений реального мира

Как было заявлено выше, ключевыми приложениями в программном обеспечении XM являются приложения элементарного типа. Комбинирование ключевых приложений создает составные приложения. Так как ключевые приложения могут иметь произвольные комбинации входов, модель ключевых приложений является общей для этого диапазона приложений. Следовательно, возможно, что приложения реального мира могут быть объединены в обрабатывающие сети, состоящие из блоков элементарных ключевых приложений и пользовательских интерфейсов, предоставляющих пользователю механизм взаимодействия и презентации результатов.

Пример приложения реального мира, извлекающего два разных описания (XM-Прил 1, XM- Прил 2). Основываясь на первом описании, выбран адекватный набор материала (XM- Прил 3), который затем транскодирован с использованием второго описания (XM- Прил 4). (MDB = медийная база данных, DDB = база данных описаний)


Рис. 6.44.  Пример приложения реального мира, извлекающего два разных описания (XM-Прил 1, XM- Прил 2). Основываясь на первом описании, выбран адекватный набор материала (XM- Прил 3), который затем транскодирован с использованием второго описания (XM- Прил 4). (MDB = медийная база данных, DDB = база данных описаний)

На рис. 6.44 приведен пример приложения реального мира. Сначала из медиа-базы извлекаются два объекта. Затем, основываясь на первом объекте, из базы данных выбираются адекватные медиа-файлы. Эти медиа-файлы транскодируются с привлечением второго извлеченного объекта.

В XXI веке все большую часть продукции будут составлять интеллектуальные объекты. Сюда относятся фильмы, программы, электронные книги, музыкальные произведения, телевизионные программы, банки данных, компьютерные игры и т.д. Если же принять во внимание, что большую часть стоимости ЭВМ, мобильного телефона, модема, приборов позиционирования и пр. составляют программы, то уже сейчас они составляют заметную часть национального продукта промышленно развитых стран.

Быстродействие сетевых каналов уже сегодня позволяет скопировать содержимое DVD-диска за время порядка 10 секунд, сетевые пользователи обмениваются друг с другом дисками, переписывают их друг у друга. Производители программ и других аналогичных продуктов несут огромные убытки. Встают достаточно сложные проблемы, как, сохранив демократичность Интернета, обеспечить права интеллектуальной собственности автора, владельца, распространителя. Эта задача рассматривалась уже в рамках MPEG-4. Именно этой проблеме посвящен готовящийся сейчас стандарт MPEG-21.

6.3. Архитектура мультимедиа MPEG-21

Стандарт MPEG-21 (см. http://www.chiariglione.org/mpeg/standards/mpeg-21/mpeg-21.htm или http://www.itscj.ipsj.or.jp/sc29/29w42911.htm#MPEG-21) имеет своей целью определить рамки для создателей, дистрибьюторов и сервис-провайдеров в открытом рынке мультимедиа.

MPEG-21 базируется на двух важных концепциях: определении базовой единицы распределения и соглашения (Digital Item — цифровой объект) и концепции взаимодействия пользователей и цифровых объектов. Цифровой объект может рассматриваться как предмет мультимедийных соглашений (например видеоколлекция, музыкальный альбом), а пользователи — как субъекты мультимедийных соглашений.

Цель MPEG-21 может быть, таким образом, переформулирована так: определение технологии, необходимой для поддержки пользователей при обмене, доступе, продаже и других манипуляциях цифровыми объектами. При этом предполагается обеспечить максимальную эффективность и прозрачность этих операций.

Пользователем является любой объект, который взаимодействует со средой MPEG-21 или с цифровым объектом. Пользователями могут быть частные лица, сообщества, организации, корпорации, консорциумы, правительства и прочие субъекты. Пользователи идентифицируются по их отношению к другим пользователям. Стандарт MPEG-21 по чисто техническим причинам не делает различия между провайдерами содержимого и потребителями, — и те и другие являются пользователями. Отдельный объект может использовать содержимое (content) разными способами (публиковать, доставлять, и т.д.), но все участники, связанные с MPEG-21, считаются пользователями. Однако пользователь может иметь специфические или даже уникальные права и ответственность в зависимости от его взаимодействия с другими пользователями в пределах MPEG-21.

На самом нижнем уровне MPEG-21 определяет рамки, в которых один пользователь взаимодействует с другим пользователем, а предметом взаимодействия является цифровой объект, обычно называемый содержимым (контентом). Некоторые такие взаимодействия формируют контент, предоставляют, архивируют или аранжируют его, улучшают и доставляют и т.д. и т.д.

Обзор цифровых объектов

В любой системе (такой как MPEG-21), которая предлагает осуществлять большое число операций над цифровыми объектами, необходимо точно описать, что собой представляет такой объект. Достаточно сложно сформировать универсальную модель цифрового объекта, которая бы годилась для всей совокупности современных приложений. Описание модели цифрового объекта представлено в спецификации ISO/IEC 21000 (часть 2).

Пример. Рассмотрим в качестве цифрового объекта простую web-страницу. Web-страница обычно состоит из HTML-документа со встроенными ссылками на различные файлы, содержащие видеообъекты (например, JPEG или GIF), и, возможно, стилевые файлы. В этом простом случае цифровой объект представляет собой HTML-документ плюс некоторые ресурсы, с ним сопряженные.

Теперь модифицируем пример, предположив, что web-страница содержит некоторые логические скрипты (JavaScript, PHP и т.д.), которые определяют предпочтительный язык программы просмотра (viewer) из заранее оговоренного списка.

Ключевой момент в этом модифицированном примере: присутствие языковой логики затуманивает вопрос, что собой представляет теперь цифровой объект и как его можно теперь однозначно определить.

Первой проблемой является выявление всех зависимостей. Добавление кода скриптов изменяет декларированные связи web-страницы, которые могут быть точно определены лишь в результате работы скрипта на определенной ЭВМ. Это может работать в качестве метода выявления структуры цифрового объекта в предположении, что автор ставит в соответствие каждой новой версии оттранслированной WEB-страницы определенный цифровой объект.

Это предположение высвечивает вторую проблему: неизвестно, действительно ли автор предполагает, что каждой трансляции страницы будет соответствовать отдельный цифровой объект, или он намеревается оставить выбор языка неопределенным. Если имеет место последний вариант, то невозможно выяснить точно набор ресурсов, из которых состоит цифровой объект, что возвращает нас к первой проблеме.

Проблема, представленная выше, должна быть решена с помощью декларации цифрового объекта. Декларация цифрового объекта DID (Digital Item Declaration) является документом, который специфицирует состав, структуру и организацию цифрового объекта.

Декларация цифрового объекта

Целью декларации цифрового объекта DID (Digital Item Declaration) является определение набора абстрактных концепций и элементов для образования модели описания цифрового объекта. В рамках этой модели цифровой объект является цифровым представлением "действия", и в этом качестве он является предметом, над которым производятся операции (управление, описание, обмен, коллекционирование и т.д.). Модель должна быть максимально гибкой и универсальной, чтобы допускать реализацию функций высокого уровня. Это, в свою очередь, позволит модели быть основой для построения моделей высокого уровня других элементов MPEG-21 (таких как идентификация и описание или IPMP ). Эта модель не регламентирует выбор языка. Вместо этого она помогает сформировать общий набор абстрактных понятий и терминов, которые могут использоваться для определения такой схемы. Технология DID описана в трех нормативных секциях:

Далее следуют описания семантических значений элементов модели декларации цифрового объекта.

Контейнер

Контейнер является структурой, которая позволяет группировать объекты и/или контейнеры. Эти группы объектов и/или контейнеров могут использоваться для формирования логических пакетов (для транспортировки или обмена) или логические архивы (для организаций). Дескрипторы позволяют "помечать" контейнеры данными, которые пригодны для целей группирования (например, инструкции по доставке пакета или информация о категории для архивов ( shelf )).

Следует заметить, что сам контейнер не является объектом; контейнеры могут группироваться в объекты и/или контейнеры.

Объект

Объект представляет собой группировку субобъектов и/или компонентов, которые сопряжены с соответствующими дескрипторами. Дескрипторы содержат информацию об объекте как представление о действии (work). Объекты могут содержать выбор, который позволяет им быть адаптированными к требованиям заказчика или сконфигурированными. Объекты могут быть условными (на базе осуществленного выбора). Объекты, которые не содержат субобъектов, могут рассматриваться как сущность — логически неделимое действие. Объект, который не содержит в себе субобъектов, может рассматриваться как компиляция — действие состоит из потенциально независимых частей.

Отношение между объектом и цифровым объектом (как это определено в ISO/IEC 21000-1:2001, MPEG-21 Vision, Technologies and Strategy) может быть определено следующим образом: объекты являются декларативными репрезентациями цифровых объектов.

Компонент

Компонент соединяет ресурс со всеми его дескрипторами. Эти дескрипторы представляют собой данные, относящиеся ко всем или к части специфических вариантов ресурса. Такие дескрипторы обычно содержат управляющую или структурную информацию о ресурсе (такую как полоса пропускания, набор символов, входные точки или тип шифрования), но не данные, описывающие содержимое ресурса.

Следует заметить, что сам компонент не является объектом ; компоненты являются строительными блоками объектов. Ниже представлены некоторые объекты и компоненты.

Ссылка (anchor) привязывает дескрипторы к фрагменту, который соответствует специфическому положению или диапазону в пределах ресурса.

Дескриптор (descriptor) устанавливает соответствие между информацией и вложенными элементами. Эта информация может быть компонентом (таким как набросок изображения или компонент текста), или заявлением (statement).

Условие (condition) описывает опционный элемент и его связи с условиями отбора, которые определяют условия его включения. Могут использоваться несколько предикатов, которые объединяются, например, посредством операции AND. Любой предикат может входить в условие со знаком отрицания. Могут использоваться несколько условий, сопряженных с данным элементом, которые объединяются с помощью, например, операции OR (когда определяют условия включения элемента).

Выбор (choice) описывает набор вариантов, которые могут определять конфигурацию объекта. Варианты в рамках предлагаемого выбора могут быть эксклюзивными (выбор только одного) или инклюзивными (выбор любого числа вариантов или ни одного).

Вариант (selection) описывает специфические решения, которые вводят одно или более условий где-то внутри объекта. Если вариант выбран, его предикат становится истинным (true); если он не выбран, его предикат имеет значение false ; если выбор не сделан, предикат является неопределенным.

Аннотация ( annotation ) описывает набор данных о некотором идентифицированном элементе модели без изменения или добавления к указанному элементу. Информация может иметь форму утверждений, дескрипторов или ссылок.

Утверждение (assertion) определяет полностью или частично сконфигурированное состояние выбора путем присвоения предикатам, сопряженным с вариантами выбора, значений "истинно", "ложно" или "не определено".

Ресурс (resource) является индивидуально идентифицированным элементом, таким как видео- или аудиоклип, изображение или текст. Ресурс потенциально может быть физическим объектом. Все ресурсы должны быть локализуемы с помощью уникального адреса.

Фрагмент (fragment) — однозначно определяемая специфическая точка или интервал в пределах ресурса. Фрагмент может быть специфическим для определенного ресурса.

Заявление (statement) является текстовой строкой, содержащей данные.

Предикат (predicate) — однозначно идентифицированное утверждение, которое может быть истинным, ложным или неопределенным. На рис. 6.45 показан пример, где отображены основные элементы модели, а также их взаимоотношения в рамках модели декларации цифровых объектов.

Идентификация цифрового объекта

Область спецификации DII (Digital Item Identification) включает в себя:

Спецификация DII не формирует новых систем идентификации для элементов содержимого (content), для которых идентификация и схемы описания уже существуют и используются (например, ISO/IEC 21000-3 не пытается заменить ISRC, описанную в ISO 3901 для звуковых записей, но позволяет использовать ISRC в рамках MPEG-21).

Взаимоотношения принципиальных элементов в пределах модели Digital Identification Declaration Model


Рис. 6.45.  Взаимоотношения принципиальных элементов в пределах модели Digital Identification Declaration Model

Идентификаторы, предлагаемые в данной спецификации, могут быть сопряжены с цифровыми объектами путем включения их в определенное место декларации цифрового объекта. Таким местом является элемент STATEMENT. Примерами подобных заявлений может быть описательная, идентификационная или управляющая информация. На рис. 6.46 показаны примеры такого рода данных. Закрашенные прямоугольники являются субъектами спецификации DII, в то время как боксы с четко очерченными границами — определены в спецификации DID:

Взаимоотношения между декларацией и идентификацией цифрового объекта


Рис. 6.46.  Взаимоотношения между декларацией и идентификацией цифрового объекта

Несколько элементов в декларации цифрового объекта могут содержать нуль, один или более дескрипторов. Каждый DESCRIPTOR может содержать одно ЗАЯВЛЕНИЕ, в котором может находиться один идентификатор, относящийся к составляющему элементу заявления. На рис. 6.46 для идентификации компонента используются два заявления (левая часть диаграммы) и объект (правая часть диаграммы).

Цифровой объект и его составные части в рамках MPEG-21 идентифицируются с помощью инкапсулированных в идентификационную DS URI. URI (Uniform Resource Identifier) является компактной строкой символов для идентификации абстрактного или физического ресурса, где ресурс определяется как "нечто, что имеет идентификатор".

Требование того, чтобы идентификатор цифрового объекта являлся URI, согласуется с тем, что идентификатор может быть URL (Uniform Resource Locator). Термин URL относится к специфическому субнабору URI, который используется сегодня в качестве указателя информации в Internet.

Идентификация цифровых объектов

ISO/IEC-21000-3 допускает применение любого идентификатора типа URI в качестве идентификатора цифрового объекта (и его частей). Спецификация предоставляет возможность регистрировать идентификационные системы в регистрационном центре. На рис. 6.47 показано, как музыкальный альбом и его части могут быть идентифицированы с помощью DII.

Метаданные и идентификаторы музыкального альбома в рамках MPEG-21


Рис. 6.47.  Метаданные и идентификаторы музыкального альбома в рамках MPEG-21

В некоторых случаях может быть нужно использовать автоматическую систему для получения с сервера цифрового объекта (или его частей) или информации, сопряженной с цифровым объектом (например, в случае интерактивной системы доступа к содержимому в реальном времени).

Идентификация различных схем описания

Так как разные пользователи MPEG-21 могут иметь различные схемы описания их контента, необходимо, чтобы MPEG-21 DII допускало разделение таких разных схем. MPEG-21 DII при решении этой задачи использует для области имен механизм XML.

Идентификация различных типов цифровых объектов

Различные части MPEG-21 будут определять разные типы цифровых объектов. Например, адаптация цифровых объектов DIA (Digital Item Adaptation) в дополнение к CDI (Content Digital Item) определяет XDI (Context Digital Item). В то время как CDI содержит ресурсы, такие как файлы MP3 или видеопотоки MPEG-2, XDI содержат информацию о контексте, в котором будет использоваться CDI.

DII предоставляет механизм, позволяющий терминалу MPEG-21 разделять эти разные типы цифровых объектов путем размещения URI внутри маркера типа заявления, которые будут появляться в качестве дочернего элемента дескриптора, в свою очередь появляющегося как дочерний элемент объекта. Если маркер типа отсутствует, цифровой объект считается цифровым объектом содержимого (Content).

Защита и управление правами интеллектуальной собственности (IPMP)

Одна из частей MPEG-21 будет определять рамки защиты и управления правами интеллектуальной собственности IPMP (Intellectual Property Management and Protection). IPMP в ближайшее время станет международным стандартом. Проект включает в себя средства удаленного доступа к инструментарию IPMP, а также механизмы обмена сообщениями между средствами IPMP и терминалом. Стандарт охватывает также средства аутентификации IPMP, и обеспечение интеграции правовых выражений (Rights Expressions) в соответствии с информационным правовым словарем и языком описания прав.

Язык описания прав

Язык описания прав REL (Rights Expression Language) представляет собой язык, который может восприниматься ЭВМ и приспособлен для декларации прав и разрешений с помощью информационно-правового словаря.

REL предназначен для обеспечения гибких механизмов поддержки прозрачного использования цифровых ресурсов при публикации, распространении и получении цифровых фильмов, цифровой музыки, электронных книг, широковещательных программ, интерактивных игр, компьютерных программ и других цифровых продуктов так, чтобы права интеллектуальной собственности были защищены в полной мере. Предполагается также задать спецификацию управления доступом и использованием цифрового материала в случаях, где финансовый обмен является частью условий использования и поддерживает обмен частным цифровым материалом (content).

Язык описания прав предполагает наличие гибкого механизма обработки персональных данных согласно с правами и требованиями пользователей, с учетом их пожеланий конфиденциальности.

Стандарт REL должен быть способен гарантировать взаимосогласованность и надежность при работе с разными системами и сервисами. Чтобы достичь этого, он должен предложить широкое многообразие и расширяемость в декларации прав, условий и обязательств, удобства и адаптивность при работе с различными моделями бизнеса и использования цифровых объектов.

Модель данных MPEG REL

MPEG REL реализует простую и расширяемую модель данных для многих ключевых концепций и элементов.

Модель данных MPEG REL для описания прав состоит из четырех базовых сущностей и отношений между этими сущностями. Эти базовые отношения определяют предоставление гранта. Структурно грант MPEG REL состоит из следующих частей.

Модель REL Data


Рис. 6.48.  Модель REL Data

Принципал

Принципал (principal) определяет, кому (какому принципалу) предоставляются права. Каждый принципал идентифицирует одну из сторон. Напротив, набор принципалов, охватывающий всех, не является принципалом.

Хозяин обозначает участника, которого он однозначно идентифицирует с помощью индивидуальной информации. Важно, чтобы принципал мог проверить информацию, которая сопряжена с механизмом аутентификации. Тип принципала поддерживает следующие идентификационные технологии:

Право

Право определяет действие или класс операций, которые принципалу будет разрешено осуществить над некоторым ресурсом при определенных условиях.

MPEG REL предоставляет правовой элемент, куда следует записать информацию о правах, а также набор обычно используемых, специфических или исключительных прав в отношении таких операций, как возможность выдать, аннулировать и получить что-то. Расширения MPEG REL могут определять права использования специфических типов ресурсов. Например, расширение MPEG REL определяет права использования цифровых операций (например, воспроизведения и печати).

Ресурс

Ресурс является "объектом", к которому принципал может получить доступ (grant). Ресурс может быть цифровым объектом (таким, как электронная книга, аудио- или видеофайл или изображение), сервисом (таким как e-mail или транзакция B2B), или даже блоком данных, который может принадлежать принципалу (таким как имя или e-mail адрес).

MPEG REL предоставляет механизмы инкапсуляции данных, необходимых для идентификации и использования определенного ресурса или ресурсов, которые соответствуют заданному образцу. Последний позволяет идентифицировать набор ресурсов с некоторыми общими характеристиками. Расширения MPEG REL могут определять ресурсы, соответствующие определенной бизнес-модели и техническим приложениям.

Условие

Условие специфицирует срок условия и обязательства, при которых могут реализовываться права. Простым условием является временной интервал, в течение которого может быть реализовано право. Несколько более сложное условие требует существования права, предварительно предоставленного некоторому принципалу. Используя механизм реализации предоставленного права, одно право может стать зависимым от наличия других прав.

MPEG REL определяет элемент условия, куда вкладывается информация об условиях реализации права. Расширения MPEG REL может определить условия, соответствующие специфическим вкладам моделей использования. Например, расширение содержимого MPEG REL определяет условия, соответствующие использованию цифровых объектов (например водяной знак, адресат и т.д.).

Соотношение с терминологией MPEG

Сущности в информационной модели MPEG REL: принципал, право, ресурс и условие могут соответствовать (но не обязательно быть эквивалентны) в терминологии MPEG-21 пользователю (включая терминал), праву, цифровому объекту и условию.

Информационный правовой словарь RDD (Rights Data Dictionary) включает в себя набор ясных, непротиворечивых, структурированных и однозначно идентифицированных терминов для поддержки языка описания прав MPEG-21 (Rights Expression Language).

Структура словаря специфицирована, вместе с методологией формирования словаря. Определены средства описания новых терминов.

RDD распознает легальные определения исключительно как термины другого контекста (Authorities), которые могут быть поставлены в соответствие RDD. Следовательно, термины, непосредственно авторизованные RDD, не определяют и не предписывают прав интеллектуальной собственности.

Адаптация цифрового объекта

Целью ключевых элементов терминалов и сети является достижение прозрачного доступа к распределенному мультимедийному контенту путем изоляции пользователя от конфигураций сети, терминала и программного обеспечения. Это сделает возможным предоставление пользователю сетевых и терминальных ресурсов по запросу и поможет сформировать сообщество пользователей, где мультимедийный материал может создаваться и передаваться в соответствии с требованиями к качеству, надежности и гибкости.

Планируется стандартизовать следующие объекты:

Формат файлов

Цифровой объект MPEG-21 может быть комплексным набором информации. В его состав могут входить статичные и динамичные образцы (например изображения и фильмы), а также информация цифрового объекта, метаданные, информация о размещении объектов и пр. Он может включать как текстовые данные (например XML), так и двоичную информацию (презентацию MPEG-4 или статические картинки). По этой причине формат файла MPEG-21 будет наследовать несколько концепций MP4, для того чтобы сделать возможным многоцелевые файлы. Двухцелевые MP4- и MP21-файлы (например MP4-проигрыватель) будут воспроизводить лишь данные MPEG-4, а проигрыватель MPEG-21 — только данные MP21.

Устойчивая ассоциация идентификации и описания с цифровыми объектами

В качестве логического расширения спецификации декларации и идентификации цифровых объектов MPEG намерен рассматривать требования устойчивой ассоциации идентификации и описания с содержимым объектов.

Термин устойчивая ассоциация используется для классификации всех методик управления и описания связи с содержимым. В его содержание включены: инкорпорирование идентификаторов в контекст различных файлов содержимого и транспортные форматы, в том числе заголовки файлов. Это также реализует возможность защитить идентификаторы, ассоциированные с содержимым, от неавторизованного удаления и модификации.

В стандарте определены следующие ассоциации идентификации и описания с цифровыми объектами:

1. В рамках идентификации и описания будет можно на постоянной основе ассоциировать идентификаторы и дескрипторы с медийными ресурсами.

2. Среда запоминания идентификаторов и описаний, ассоциированных с цифровыми объектами, будет выполнять следующие стандартные требования:

3. Подход, в котором поддерживается идентификация и описание цифровых объектов, будет позволять локализовать цифровые объекты по описанию и наоборот. Заметим, что это не означает, что они должны быть жестко связаны друг с другом.

4. Данный подход будет обеспечивать эффективность системы разделения сопряженных цифровых объектов, таких как различные версии или реализации одного и того же объекта, различных имен одного и того же объекта (например, псевдонимы, прозвища и т.д.).

5. Подход будет обеспечивать механизмы поддержки, адаптации, интегрирования с целью определения уровней доступа к описаниям объектов и прав их использования.

6. Адаптация цифровых объектов определена в качестве важного аспекта для терминалов и сетей, которые будут предоставлять средства поддержки адаптации ресурсов, дескрипторов (метаданных) и управления качеством обслуживания.

Лекция 7. Обзор каналов передачи данных

Коаксиальные кабели и скрученные пары. Построение сетей передачи данных с использованием радио каналов. Сопоставление возможностей проводных, радио- и оптоволоконных каналов.

Источники ограничений.

  1. Мобильные телекоммуникации (802.11a-g, WiFi, GSM), спутниковые каналы, CDMA.
  2. Bluetooth.
  3. Стандарт широкополосной беспроводной связи IEEE 802.16.
  4. Широкополосный канал для подключения периферийных устройств UWB.

Исторически первым каналом общения людей был акустический. Связано это было с тем, что Создатель дал нам относительно симметричные органы чувств, работающие в этой области. Но рабочее расстояние, пропускная способность и избирательность (ведь случаются ситуации, когда нужно сообщить что-то определенному человеку и только ему) этого канала ограничены. Акустические каналы сохраняют и даже развивают свои позиции для возможности связи под водой. С 19-го века начинается эра применения электромагнитных способов передачи данных. Первые каналы использовали проводные средства связи, позднее к ним добавились радиосредства и, наконец, к концу 20-го века повсеместно стали применяться волоконно-оптические волноводы. Рассмотрим особенности и ограничения перечисленных каналов.

За последние двадцать лет пропускная способность каналов выросла с 56 кбит/c до 100 Гбит/с. Разработаны технологии, способные работать в случае оптических кабелей со скоростью 50 Тбит/с. Вероятность ошибки при этом сократилась с 10-5 на бит до пренебрежимо низкого уровня. Современный же лимит в несколько Гбит/с связан главным образом с тем, что люди не научились делать быстродействующие преобразователи электрических сигналов в оптические и наоборот. Теоретический верхний предел быстродействия каналов составляет 40-50 терабайт/c.

7.1. Кабельные каналы связи

Кабельные каналы для целей телекоммуникаций исторически начали использоваться первыми. Да и сегодня по суммарной длине они превосходят даже спутниковые каналы. Основную долю этих каналов, насчитывающих многие сотни тысяч километров, составляют телефонные медные кабели. Эти кабели содержат десятки или даже сотни скрученных пар проводов. Полоса пропускания таких пар обычно составляет 3-4,5 кГц при длине 2-10 км. Эта полоса диктовалась ранее нуждами аналогового голосового обмена в рамках коммутируемой телефонной сети. C учетом возрастающих требований к широкополосности каналов скрученные пары проводов пытались заменить коаксиальными кабелями, которые имеют полосу от 100 до 500 МГц (до 1 Гбит/с), и даже полыми волноводами. Именно коаксиальные кабели стали в начале транспортной средой локальных сетей ЭВМ Ethernet (10BASE-5 и 10BASE-2; см. рис. 7.1). Смотри http://book.itep.ru/3/cabel_31.htm.

1 – центральный проводник; 2 – изолятор; 3 – проводник-экран; внешний изолятор


Рис. 7.1.  1 – центральный проводник; 2 – изолятор; 3 – проводник-экран; внешний изолятор

Коаксиальная система проводников из-за своей симметричности вызывает минимальное внешнее электромагнитное излучение. Сигнал распространяется по центральной медной жиле, контур тока замыкается через внешний экранный провод. При заземлении экрана в нескольких точках возможно возникновение паразитных наводок из-за неравенства потенциалов "земли". В этом случае по экрану потекут выравнивающие токи. На рисунке 7.2 проиллюстрирована схема наводок по экрану коаксиального кабеля. Входной сигнал подается через центральную жилу с одной стороны кабеля. На противоположной стороне кабель нагружен на сопротивление , равное волновому импедансу кабеля. Если экран кабеля соединен с землей на обоих концах, то при наличии источника наводок (или неравенства потенциалов точек заземления) по экрану будет протекать переменный ток наводки.

Импульсное значение наводки будет пропорционально

где – индуктивность оплетки кабеля, а – ток наводки. В результате наводка сложится с входным сигналом. При определенных условиях это может даже привести к выходу из строя сетевого оборудования.

Схема наводок по экрану коаксиального кабеля


Рис. 7.2.  Схема наводок по экрану коаксиального кабеля

Именно это обстоятельство является причиной требования заземления кабеля локальной сети только в одной точке, хотя это, на первый взгляд, противоречит требованиям электрической безопасности. Наибольшее распространение получили кабели с волновым сопротивлением 50 Ом. Причина в том, что эти кабели из-за относительно толстой центральной жилы характеризуются минимальным ослаблением сигнала (волновое сопротивление пропорционально логарифму отношения диаметров внешнего и внутреннего проводников).

Коаксиальный кабель с полосой пропускания 500 МГц при ограниченной длине может обеспечить скорость передачи несколько Гбит/сек. Предельные расстояния, для которых может быть применен кабель, составляют 10-15 км.

Но по мере развития технологии скрученные пары смогли вытеснить из этой области коаксиальные кабели. Это произошло, когда полоса пропускания скрученных пар достигла 200-350 МГц при длине 100м (неэкранированные и экранированные скрученные пары категории 5 и 6), а цены на единицу длины сравнялись (сыграла здесь роль и относительная дешевизна разъемов). Скрученные пары проводников позволяют использовать биполярные приемники, что делает систему менее уязвимой (по сравнению с коаксиальными кабелями) к внешним наводкам. Скрученные пары бывают одинарными, объединенными в многопарный кабель или оформленными в виде плоского ленточного кабеля. Применение проводов сети переменного тока для локальных сетей и передачи данных допустимо для весьма ограниченных расстояний. В таблице 7.1 приведены характеристики каналов, базирующихся на обычном и широкополосном коаксиальном кабелях.

Таблица 7.1.
Стандартный кабельШирокополосный
Максимальная длина канала2 км10-15 км
Скорость передачи данных1-50 Мбит/с100-140 Мбит/с
Режим передачиполудуплексПолный дуплекс
Ослабление влияния электромагнитных и радиочастотных наводок50 дБ85 дБ
Число подключений< 50 устройств1500 каналов с одним или более устройств на канал
Доступ к каналуCSMA/CDFDM/FSK

На рис. 7.3 показана зависимость ослабления кабеля (внешний диаметр 0,95 см) от частоты передаваемого сигнала.

Зависимость ослабления сигнала в кабеле от его частоты


Рис. 7.3.  Зависимость ослабления сигнала в кабеле от его частоты

При диагностировании сетей не всегда может оказаться под рукой настоящий сетевой тестер, и часто приходится довольствоваться обычным авометром. В этом случае может стать полезной таблица 7.2, где приведены удельные сопротивления используемых сетевых кабелей. Произведя измерение сопротивления сегмента, вы можете оценить его длину.

Таблица 7.2.
КоаксиалОм/сегментМаксимальная длина сегмента
10BASE55500 м
10BASE210185 м

Эти данные взяты из Handbook of LAN Cable Testing. Wavetek Corporation, California (таблица 7.2.a).

Таблица 7.2.a.
Скрученная параОм/100 м
24 AWG18,8
22 AWG11,8

Данные, приведенные в таблице, могут использоваться для оперативной предварительной оценки качества кабельного сегмента (соответствует стандарту EIA/TIA 568, 1991 год). Частотные характеристики неэкранированных пар категории 6 представлены в табл. 7.3.

Таблица 7.3.
Частота, МГцЗатухание, дБ/100мNEXT, дБACR, дБ/100м
12,36260
106,94741
10023,03823
30046,8314

Смотри http://www.osp.ru/lan/lan_6_96/source/57.htm ACRAttenuation-to-Crosstalk Ratio. NEXT — Near End CrossTalk.

Кабели, изготовленные из скрученных пар категории 5 (волновое сопротивление 100,15 Ом), с полосой 100 МГц обеспечивают пропускную способность при передаче сигналов ATM 155 Мбит/с. При 4 скрученных парах это позволяет осуществлять передачу до 622 Мбит/с. Кабели категории 6 сертифицируются до частот 300 МГц, а экранированные и до 600 МГц (волновое сопротивление 100 Ом). В таблице 7.4 приведены данные по затуханию и перекрестным наводкам. Приведены характеристики такого кабеля с 4-мя скрученными экранированными парами (S-FTP).

Таблица 7.4.
Частота, МГцЗатухание, дБ/100мNEXT, дБACR, дБ/100м
12,18077,9
106,08074
10019,07051
30033,07037
600506010

NEXT — перекрестные наводки ближнего конца кабеля.

Такой кабель пригоден для передачи информации со скоростью более 1 Гбит/с. ACRAttenuation-to-Crosstalk Ratio (отношение ослабления к относительной величине перекрестных наводок).

Ниже на рис. 7.4 показана зависимость наводок на ближнем конце кабеля, содержащего скрученные пары, (NEXT) от частоты передаваемого сигнала.

Зависимость наводок NEXT от частоты передаваемого сигнала.


Рис. 7.4.  Зависимость наводок NEXT от частоты передаваемого сигнала.

На рис. 7.5 представлена зависимость ослабления сигнала в неэкранированной скрученной паре (именно такие кабели наиболее часто используются для локальных сетей) от частоты передаваемого сигнала. Следует иметь в виду, что при частотах в области сотен мегагерц и выше существенный вклад начинает давать поглощение в диэлектрике. Таким образом, даже если проводники изготовить из чистого серебра, существенного продвижения по полосе пропускания достичь не удастся.

Зависимость ослабления сигнала от частоты для неэкранированной скрученной пары


Рис. 7.5.  Зависимость ослабления сигнала от частоты для неэкранированной скрученной пары

Для неэкранированной скрученной пары 5-ой категории зависимость отношения сигнал-шум от длины с учетом ослабления и наводок NEXT показана на рис. 7.6. Из рисунка видно, что по мере роста частоты отношение сигнал-шум достаточно быстро падает.

Зависимость отношения сигнал/шум от частоты с учетом ослабления и наводок на ближнем конце кабеля


Рис. 7.6.  Зависимость отношения сигнал/шум от частоты с учетом ослабления и наводок на ближнем конце кабеля

Подводя итоги, можно сказать, что при расстояниях до 100 метров с успехом могут использоваться скрученные пары и коаксиальные кабели, обеспечивая полосу пропускания до 150 Мбит/с, но при больших расстояниях или более высоких частотах передачи предпочтительнее оптоволоконный кабель. При расстояниях в 10-20 метров с помощью скрученной пары можно достичь полосы пропускания до 1 Гбит/с. Если расстояние между ЭВМ не превышает нескольких сотен метров, коаксиальный кабель позволяет без труда получить 107-108 бит/c при вероятности ошибке 10-12-10-13. Связь через коммутируемую телефонную линию допускает скорость обмена ~104 бит/с при вероятности ошибки 10-5.

По совокупности параметров локальный коаксиальный кабель лучше телефонной линии в 1011 раз. По порядку величины это соответствует отношению цен поездки на метро по городу к стоимости экспедиции на Луну.

Следует заметить, что работа с кабелями предполагает необходимость доступа к системе канализации (иногда это требует специальных лицензий), где часто размещаются усилители-повторители. Кабели еще какое-то время будут использоваться для предоставления телефонных услуг конечным пользователям. Схема телефонной сети показана на рис. 7.7.

Схема соединений в телефонной сети


Рис. 7.7.  Схема соединений в телефонной сети

Телефонная сеть представляет собой иерархическую систему телефонных станций (коммутаторов), к периферийным оконечным станциям которой подключаются ее клиенты со своими телефонными аппаратами. Чем выше уровень телефонной станции-коммутатора, тем более мощными телекоммуникационными каналами они соединяются. Уже сейчас межстанционные соединения все чаще реализуются на оптоволоконных кабелях, и эта тенденция необратима.

Кабельное хозяйство требует обслуживания. В этом отношении радиоканалы предпочтительнее, ведь случаев коррозии электромагнитных волн не зарегистрировано, да и крысы их не грызут. Справедливости ради отмечу, что здесь серьезную угрозу представляют корыстолюбивые чиновники, ответственные за выдачу лицензий, а они в РФ пострашнее крыс.

7.2. Построение сетей передачи данных с использованием радио каналов

Применение электромагнитных волн для телекоммуникаций имеет более чем столетнюю историю. Число осцилляций электромагнитного поля в секунду называется частотой и измеряется в герцах (в честь Генриха Герца). Расстояние, на которое распространяется электромагнитная волна за время своего периода, называется длиной волны . В вакууме любые электромагнитные волны распространяются со скоростью света , который сам имеет ту же самую природу. Имеет место фундаментальное соотношение и : . Из этого соотношения следует, что:

Это позволяет связать ширину частотного диапазона с частотой и диапазоном длин волн. Для большинства каналов передачи данных характерно соотношение , которое обеспечивает наилучшие условия приема (Вт/Гц).

Спектр используемых волн делится на ряд диапазонов, приведенных в таблице 7.5.

Таблица 7.5.
НомерНазвание диапазонаЧастотаДлина волны
1Высокочастотный3 – 30 МГц100 – 10 м
2VHF50 – 100 МГц6 – 3 м
3УВЧ (UHF)400 – 1000 МГц75 – 30 см
4Микроволновый3109 – 1011 Гц10 см – 3 мм
5Миллиметровый1011 – 1013 Гц3 мм – 0,3 мм
6Инфракрасный1012 – 6 10140,3 мм – 0,5 мкм

Чтобы избежать всеобщего хаоса, было заключено международное соглашение, которое регламентирует использование частот различными странами для определенных целей. В 1991 году ITU-R (Международный Телекоммуникационный союз) распределил частоты для переносных переговорных устройств. Но в США к тому времени уже использовалось достаточно большое число таких приборов, и их хозяева не согласились тратиться на их перенастройку. С тех пор такие устройства, изготовленные в США, не работают в Европе или Азии и наоборот.

Вслед за радиочастотами следуют диапазоны видимого света, ультрафиолета, рентгеновских и гамма-лучей. Диапазоны, часто используемые различными каналами связи, показаны на рис. 7.8.

Диапазоны частот различных телекоммуникационных каналов.


Рис. 7.8.  Диапазоны частот различных телекоммуникационных каналов.

Если используется не направленная антенна, а на пути нет препятствий, радиоволны распространяются по всем направлениям равномерно и сигнал падает пропорционально квадрату расстояния между передатчиком и приемником (удвоение расстояния приводит к потерям 6дБ). Радио каналы для целей передачи информации используют частотные диапазоны 902-928 МГц (расстояния до 10 км, пропускная способность до 64кбит/с), 2,4 ГГц и 12 ГГц (до 50 км, до 16 Мбит/с). Используются эти частоты для беспроводных телефонных трубок, дистанционного открытия дверей гаража, беспроводных HI-FI микрофонов или громкоговорителей и других аналогичных приложений. Они применяются там, где не существует кабельных или оптоволоконных каналов или их создание по каким-то причинам невозможно, слишком дорого или неудобно. Более низкие частоты (например, 300 МГц) мало привлекательны из-за ограничений пропускной способности, а большие частоты (>30 ГГц) работоспособны для расстояний не более или порядка 5км из-за поглощения радиоволн в атмосфере. При использовании диапазонов 4, 5 и 6 (табл. 7.5) следует иметь в виду, что любые препятствия на пути волн приведут к их практически полному поглощению. На эти диапазоны заметное влияние оказывает и поглощение в атмосфере. Зависимость поглощения от длины радиоволн показана на рис. 7.9.

Зависимость поглощающей способности земной атмосферы от длины волны


Рис. 7.9.  Зависимость поглощающей способности земной атмосферы от длины волны

Из рисунка видно, что заметную роль в поглощении радиоволн играет вода. По этой причине сильный дождь, град или снег могут привести к прерыванию связи. Поглощение в атмосфере ограничивает использование частот более 30 ГГц. Атмосферные шумы, связанные в основном с грозовыми разрядами, доминируют при низких частотах вплоть до 2 МГц. Галактический шум, приходящий из-за пределов солнечной системы, дает существенный вклад — вплоть до 200 ГГц. Зависимость поглощения радиоволн в тумане и дожде от частоты показана на рис. 7.10.

Зависимость поглощения радиоволн в тумане и дожде от частоты


Рис. 7.10.  Зависимость поглощения радиоволн в тумане и дожде от частоты

Мощность передатчика обычно лежит в диапазоне 50 мВт-2 Вт. Радиомодемы, как правило, используют шумоподобный метод передачи SST (Spread Spectrum Transmission). Для устройств на частоты 2.4 ГГц и выше часто применяются направленные антенны и необходима прямая видимость между приемником и передатчиком. Такие каналы обычно работают по схеме точка-точка, но возможна реализация и многоточечного соединения. На аппаратном уровне здесь могут использоваться радиорелейное оборудование радиомодемы или радио-бриджи. Схема этих устройств имеет много общего. Отличаются они лишь сетевым интерфейсом (см. рис. 7.11). Антенна служит как для приема, так и для передачи. Трансивер (приемо-передатчик) может соединяться с антенной через специальные усилители. Между трансивером и модемом может включаться преобразователь частот. Модемы подключаются к локальной сети через последовательные интерфейсы типа RS-232 или V.35 (RS-249), для многих из них такие интерфейсы являются встроенными. Радио-бриджи имеют встроенный Ethernet-интерфейс. Длина кабеля от модема до трансивера лежит в пределах 30-70м, а соединительный кабель между модемом и ЭВМ может иметь длину 100-150м. Трансивер располагается обычно рядом с антенной.

Схема оборудования радиоканала передачи данных


Рис. 7.11.  Схема оборудования радиоканала передачи данных

Схемы соединения радиомодемов и традиционных модемов совершенно идентичны (см. рис. 7.12), только в одном случае сигнал передается по проводам, а в другом — с помощью радиоволн.

Схема подключения радио-модемов


Рис. 7.12.  Схема подключения радио-модемов

Кроме уже указанных примеров, перспективным полем применения радиомодемов могут стать "подвижные ЭВМ". Сюда следует отнести и ЭВМ бизнесменов, клиентов сотовых телефонных сетей, и все случаи, когда ЭВМ по характеру своего применения подвижна, например, медицинская диагностика на выезде, оперативная диагностика сложного электронного оборудования, когда необходима связь с базовым отделением фирмы, геологические или геофизические исследования и т.д. К этому классу применений относятся и мобильные сети автомобилей и других транспортных средств. Соединение с сетью при этом может осуществляться и через телекоммуникационный спутник. К радиомодемам можно отнести и модемы, работающие в инфракрасном диапазоне. Беспроводные решения удобны в выставочных павильонах, где сеть создается временно, требования к пропускной способности ограничены, а прокладка проводных соединений вызывает неоправданные издержки.

Радиомодемы позволяют сформировать сеть быстрее (если не считать времени на аттестацию оборудования, получение разрешения на выбранную частоту и лицензии на использование данного направления канала). В этом случае могут стать доступными точки, лишенные телефонной связи (что весьма привлекательно для условий России). Подключение объектов к центральному узлу осуществляется по звездообразной схеме. Заметное влияние на конфигурацию сети оказывает ожидаемое распределение потоков информации. Если все объекты, подключенные к узлу, примерно эквивалентны, а ожидаемые информационные потоки не велики, можно в центральном узле обойтись простым маршрутизатором, имеющим достаточное число последовательных интерфейсов.

Применение радио-бриджей особенно выигрышно для организаций, которые имеют здания, отстоящие друг от друга на несколько километров. Возможно использование этих средств связи и для подключения к сервиспровайдеру, когда нужны информационные потоки до 2 Мбит/с (например, для проведения видео- конференций). Если расстояния не велики (<5км), можно воспользоваться всенаправленной антенной (см. рис. 7.13).

Схема подключения объектов через радио-бриджи с помощью всенаправленной антенны


Рис. 7.13.  Схема подключения объектов через радио-бриджи с помощью всенаправленной антенны

Все соединяемые объекты (А, Б, В, и Г) должны быть оснащены радио-бриджами. Такая схема подключения эквивалентна, с одной стороны, кабельному сегменту Ethernet, так как в любой момент времени возможен обмен лишь между двумя объектами; с другой стороны, радио-бриджи А, Б, В и Г логически образуют многопортовый бридж (или переключатель), что исключает загрузку локальных сетей объектов "чужими" пакетами. Модификации таких схем связи позволяют строить телекоммуникационные системы по схеме сотовых телефонных сетей.

При построении каналов на основе радиорелейных систем или радио-бриджей следует учитывать возможность их взаимного влияния (см. рис. 7.14). Проектируя такие каналы в городе и используя направленные параболические антенны, нужно учитывать возможные помехи от зданий и профиля местности. Направленная антенна с площадью обеспечивает усиление сигнала :

где – длина волны несущей.

Угол излучения такой антенны с радиусом равен . Отсюда видно, что чем больше радиус, тем больше усиление, уже угол излучения и чувствительности. Таким образом, использование узконаправленной антенны существенно увеличивает отношение сигнал/шум (уменьшает вероятность ошибки).

При звездообразной схеме каналов (как на рис. 7.13.) нужно по возможности выполнить требования на минимальное расстояние между принимающими антеннами (оно должно быть больше определенного значения, зависящего от апертуры антенны и расстояния между передатчиком и приемником).



Рис. 7.14. 

Это расстояние определяется расходимостью ( ) радиолуча и используемой длиной волны. Если это требование невыполнимо, в смежных каналах следует использовать разные длины волн.

Предельные расстояния для радиоканалов приводятся поставщиками в предположении, что в пределах первой зоны Френеля каких-либо физических помех нет. Абсолютное ограничение на дальность связи радиорелейных каналов накладывает кривизна земли, смотри рис. 7.15. Для частот выше 100 МГц волны распространяются прямолинейно (рис. 7.15.А) и, следовательно, могут фокусироваться. Для высоких частот (ВЧ) и УВЧ земля поглощает волны, но для ВЧ характерно отражение от ионосферы (рис. 7.15Б) — это сильно расширяет зону вещания (иногда осуществляется несколько последовательных отражений), но этот эффект неустойчив и сильно зависит от состояния ионосферы.



Рис. 7.15. 

При построении длинных радиорелейных каналов приходится ставить ретрансляторы. Если антенны размещены на башнях высотой 100 м расстояния между ретрансляторами может составлять 80-100 км. Стоимость антенного комплекса обычно пропорциональна кубу диаметра антенны.

Диаграмма излучения направленной антенны показана на рис. 7.16 (стрелкой отмечено основное направление излучения). Эту диаграмму следует учитывать при выборе места установки антенны, особенно при использовании большой мощности излучения. Иначе один из лепестков излучения может прийтись на места постоянного пребывания людей (например, жилье). Учитывая эти обстоятельства, проектирование такого рода каналов целесообразно поручить профессионалам.

Диаграмма излучения параболической антенны


Рис. 7.16.  Диаграмма излучения параболической антенны

4-го октября 1957 года в СССР был запущен первый искусственный спутник земли, в 1961 году в космос полетел Ю. А. Гагарин, а вскоре на орбиту был выведен первый телекоммуникационный спутник "Молния" — так началась космическая эра коммуникаций. Первый в РФ спутниковый канал для Интернет (Москва-Гамбург) использовал геостационарный спутник "Радуга" (1993). Стандартная антенна INTELSAT имеет диаметр 30 м и угол излучения 0,010. Спутниковые каналы используют частотные диапазоны, перечисленные в таблице 7.6.

Таблица 7.6. Частотные диапазоны, используемые для спутниковых телекоммуникаций
ДиапазонНисходящий канал (Downlink)[ГГц]Восходящий канал (Uplink)[ГГц]Источники помех
С3,7-4,25,925-6,425Наземные помехи
Ku11,7-12,214,0-14,5Дождь
Ka17,7-21,727,5-30,5Дождь

Передача всегда ведется на более высокой частоте, чем прием сигнала со спутника.

диапазон пока еще "заселен" не слишком плотно, кроме того, для этого диапазона спутники могут отстоять друг от друга на 1 градус. Чувствительность к помехам от дождей может быть обойдена использованием двух наземных приемных станций, разнесенных на достаточно большое расстояние (размер ураганов ограничен). Спутник может иметь много антенн, направленных на разные регионы поверхности земли. Размер пятна "засветки" такой антенны на земле может иметь размер несколько сот километров. Обычный спутник обладает 12-20 транспондерами (приемопередатчиками), каждый из которых имеет полосу 36-50МГц, что позволяет сформировать поток данных 50 Мбит/с. Два транспондера могут использовать разную поляризацию сигнала, работая при одной и той же частоте. Такая пропускная способность достаточна для получения 1600 высококачественных телефонных каналов (32кбит/c). Современные спутники используют узкоапертурную технологию передачи VSAT (Very Small Aperture Terminals). Диаметр пятна "засветки" на земной поверхности для этих антенн равен примерно 250 км. Наземные терминалы используют антенны диаметром 1 метр и выходную мощность около 1 Вт. При этом канал к спутнику имеет пропускную способность 19,2 Кбит/с, а со спутника — более 512 Кбит/c. Непосредственно такие терминалы не могут работать друг с другом через телекоммуникационный спутник. Для решения этой проблемы используются промежуточные наземные антенны с большим усилением, что существенно увеличивает задержку (и удорожает систему), смотри рис. 7.17.

Схема станций системы VSAT


Рис. 7.17.  Схема станций системы VSAT

Для создания постоянных каналов телекоммуникаций служат геостационарные спутники, висящие над экватором на высоте около 36000 км.

Теоретически три таких спутника могли бы обеспечить связью практически всю обитаемую поверхность Земли (см. рис. 7.18).



Рис. 7.18. 

Реально геостационарная орбита переполнена спутниками различного назначения и национальной принадлежности. Обычно спутники помечаются географической долготой мест, над которыми они висят. При существующем уровне развития технологии неразумно размещать спутники ближе, чем 20. Таким образом, сегодня нельзя разместить более 360/2=180 геостационарных спутников.

Система геостационарных спутников выглядит как ожерелье, нанизанное на невидимую глазу орбиту. Один угловой градус для такой орбиты соответствует ~600 км. Может показаться, что это огромное расстояние. Плотность спутников на орбите неравномерна – на долготе Европы и США их много, а над Тихим океаном – мало, там они просто не нужны. Спутники не вечны, время их жизни обычно не превосходит 10 лет, они выходят из строя главным образом не из-за отказов оборудования, а из-за нехватки горючего для стабилизации их положения на орбите. После выхода из строя спутники остаются на своих местах, превращаясь в космический мусор. Таких спутников уже сейчас немало, со временем их станет еще больше. Конечно, можно предположить, что точность вывода на орбиту со временем станет выше и люди научатся выводить их с точностью в 100 м. Это позволит размещать в одной "нише" 500-1000 спутников (что сегодня представляется почти невероятным, ведь нужно оставить пространство для их маневров). Человечество может таким образом создать нечто похожее на искусственное кольцо Сатурна, состоящее целиком из мертвых телекоммуникационных спутников. До этого дело вряд ли дойдет, так как будет найден способ удаления или восстановления неработающих спутников, хотя с неизбежностью это существенно удорожит услуги таких коммуникационных систем.

К счастью, спутники, использующие разные частотные диапазоны, не конкурируют друг с другом. По этой причине в одной и той же позиции на орбите может находиться несколько спутников с разными рабочими частотами. На практике геостационарный спутник не стоит на месте, а выполняет движение по траектории, имеющей (при наблюдении с Земли) вид цифры 8. Угловой размер этой восьмерки должен укладываться в рабочую апертуру антенны, в противном случае антенна должна иметь сервопривод, обеспечивающий автоматическое слежение за спутником. Из-за энергетических проблем телекоммуникационный спутник не может обеспечить высокого уровня сигнала. По этой причине наземная антенна должна иметь большой диаметр, а приемное оборудование — низкий уровень шума. Это особенно важно для северных областей, в которых угловое положение спутника над горизонтом невысоко (настоящая проблема для широт более 700), а сигнал проходит довольно толстый слой атмосферы и заметно ослабляется. Спутниковые каналы могут быть рентабельны для областей, отстоящих друг от друга более чем на 400-500 км (при условии, что других средств не существует). Правильный выбор спутника (его долготы) может заметно снизить стоимость канала.

Число позиций для размещения геостационарных спутников ограничено. В последнее время для телекоммуникаций планируется применение так называемых низколетящих спутников ( <1000 км; период обращения ~1 час ). Эти спутники движутся по эллиптическим орбитам, и каждый из них по отдельности не может гарантировать стационарный канал, но в совокупности эта система обеспечивает весь спектр услуг (каждый из спутников работает в режиме "запомнить и передать"). Из-за малой высоты полета наземные станции в этом случае могут иметь небольшие антенны и малую стоимость.

Существует несколько способов работы совокупности наземных терминалов со спутником. При этом может использоваться мультиплексирование по частоте (FDM), по времени (TDM), CDMA (Code Division Multiple Access), ALOHA или метод запросов.

Схема запросов предполагает, что наземные станции образуют логическое кольцо, вдоль которого двигается маркер. Наземная станция может начать передачу на спутник, лишь получив этот маркер.

Простая система ALOHA (разработана группой Нормана Абрамсона из Гавайского университета в 70-х годах) позволяет каждой станции начинать передачу тогда, когда она этого захочет. Такая схема с неизбежностью приводит к столкновениям попыток. Связано это отчасти с тем, что передающая сторона узнает о столкновении лишь спустя ~270 мсек. Достаточно последнему биту пакета одной станции совпасть с первым битом другой станции, потеряны будут оба пакета и их придется послать повторно. После столкновения станция ожидает некоторое псевдослучайное время и совершает повторную попытку передачи еще раз. Такой алгоритм доступа обеспечивает эффективность использования канала на уровне 18%, что совершенно недопустимо для таких дорогостоящих каналов, как спутниковые. По этой причине чаще используется доменная версия системы ALOHA, которая удваивает эффективность (предложена в 1972 году Робертсом). Временная шкала делится на дискретные интервалы, соответствующие времени передачи одного кадра.

В этом методе машина не может посылать кадр, когда захочет. Одна наземная станция (эталонная) периодически посылает специальный сигнал, который используется всеми участниками для синхронизации. Если длина временного домена равна , тогда домен с номером начинается в момент времени по отношению к упомянутому выше сигналу. Так как часы разных станций работают по-разному, необходима периодическая ресинхронизация. Другой проблемой является разброс времени распространения сигнала для разных станций. Коэффициент использования канала для данного алгоритма доступа оказывается равным (где – основание натурального логарифма). Не слишком большая цифра, но все же в два раза выше, чем для обычного алгоритма ALOHA.

Метод мультиплексирования по частоте ( FDM ) является старейшим и наиболее часто используемым. Типичный транспондер с полосой 36 Мбит/с может быть применен для получения 500 64кбит/с ИКМ-каналов (импульсно-кодовая модуляция), каждый из которых работает со своей уникальной частотой. Чтобы исключить интерференцию, соседние каналы должны отстоять по частоте на достаточном расстоянии друг от друга. Кроме того, необходимо контролировать уровень передаваемого сигнала, так как при слишком большой выходной мощности могут возникнуть интерференционные помехи в соседнем канале. Если число станций невелико и постоянно, частотные каналы могут быть распределены стационарно. Но при переменном числе терминалов или при заметной флуктуации загрузки приходится переходить на динамическое распределение ресурсов.

Одним из механизмов такого распределения имеет название SPADE, он применялся в первых версиях систем связи на базе INTELSAT. Каждый транспондер системы SPADE содержит 794 симплексных ИКМ-каналов по 64-кбит/c и один сигнальный канал с полосой 128 кбит/c. ИКМ-каналы используются попарно для обеспечения полнодуплексной связи. При этом восходящий и нисходящий каналы имеют полосу по 50 Мбит/с. Сигнальный канал делится на 50 доменов по 1 мсек (128 бит). Каждый домен принадлежит одной из наземных станций, число которых не превышает 50. Когда станция готова к передаче, она произвольным образом выбирает неиспользуемый канал и записывает номер этого канала в очередной свой 128-битный домен. Если один и тот же канал попытаются занять две или более станции, происходит столкновение, и они вынуждены будут повторить попытку позднее.

Метод мультиплексирования по времени сходен с FDM и довольно широко применяется на практике. Здесь также необходима синхронизация для доменов. Это делается, как и в доменной системе ALOHA, с помощью эталонной станции. Присвоение доменов наземным станциям может выполняться централизовано или децентрализовано. Рассмотрим систему ACTS (Advanced Communication Technology Satellite). Система имеет 4 независимых канала (TDM) по 110 Мбит/c (два восходящих и два нисходящих). Каждый из каналов структурирован в виде 1-милисекундных кадров, которые имеют по 1728 временных доменов. Все временные домены несут в себе 64-битовое поле данных, что позволяет реализовать голосовой канал с полосой 64 Кбит/c. Управление временными доменами с целью минимизации времени на перемещения вектора излучения спутника предполагает знание географического положения наземных станций. Управление временными доменами осуществляется одной из наземных станций ( MCS — Master Control Station). Работа системы ACTS представляет собой трехшаговый процесс. Каждый из шагов занимает 1 мсек. На первом шаге спутник получает кадр и запоминает его в 1728-ячеечном буфере. На втором — бортовая ЭВМ копирует каждую входную запись в выходной буфер (возможно для другой антенны). И, наконец, выходная запись передается наземной станции.

В исходный момент каждой наземной станции ставится в соответствие один временной домен. Для получения дополнительного домена, например, для организации еще одного телефонного канала, станция посылает запрос MCS. Для этих целей выделяется специальный управляющий канал емкостью 13 запросов в сек. Существуют и динамические методы распределения ресурсов в TDM (методы Кроузера [Crowther], Биндера [Binder] и Робертса [Roberts]).

Метод CDMA (Code Division Multiple Access) является полностью децентрализованным. Как и другие методы, он не лишен недостатков. Во-первых, емкость канала CDMA в присутствии шума и отсутствии координации между станциями обычно ниже, чем в случае TDM. Во-вторых, система требует быстродействующего и дорогого оборудования.

Технология беспроводных сетей развивается довольно быстро. Эти сети удобны в первую очередь для подвижных средств. Наиболее перспективным представляется проект IEEE 802.11, который должен играть для радиосетей такую же интегрирующую роль, как 802.3 для сетей Ethernet и 802.5 для Token Ring. В протоколе 802.11 используется тот же алгоритм доступа и подавления столкновений, что и в 802.3, но здесь вместо соединительного кабеля используются радиоволны (Рис. 7.19.). Применяемые здесь модемы могут работать и в инфракрасном диапазоне, что бывает привлекательно, если все машины размещены в общем зале.

Схема беспроводной локальной сети


Рис. 7.19.  Схема беспроводной локальной сети

Стандарт 802.11 предполагает работу на частоте 2.4-2.4835 ГГц при использовании модуляции 4FSK/2FSK FHSS и DSSS (Direct Sequence Spread Spectrum), мощность передатчика 10мВт-1Вт. В данном частотном диапазоне определено 79 каналов с полосой 1 Мбит/с каждый. Максимальная пропускная способность сети составляет 2 Мбит/с (в условии малых шумов). Первая локальная сеть 802.11a использовала метод OFDM (Orthogonal Frequency Division Multiplexing). Существует несколько модификаций стандарта и соответствующих регламентирующих документов (смотри http://www.ieee802.org, а также http://www.cisco.com/ipj том 5, N1, IEEE 802.11):

Существуют каналы, работающие в инфракрасном диапазоне (850 или 950 нм). Здесь возможны две скорости передачи: 1 и 2 Мбит/с. При скорости 1 Мбит/c используется схема кодирования с группированием четырех бит в 16-битовое кодовое слово, содержащее 15 нулей и одну 1 (код Грея). При передаче со скоростью 2 Мбит/c 2 бита преобразуются в 4-битовый код, содержащий лишь одну 1 (0001, 0010, 0100 и 1000).

DSSS в 802.11 использует модуляцию DBPSK (Differential Binary Phase Shift Keying) для 1 Мбит/с и DQPSK (Differential Quadrature Phase Shift Keying) для 2 Мбит/с, а высокоскоростное DSSS (DSSS/HR применяемое в IEEE 802.11b) использует схему модуляции ССК (Complementary Code Keying), которая допускает скорости передачи 5,5 и 11 Мбит/с. В случае DSSS каждый бит передается в виде 11 элементарных сигналов, которые называются последовательностью Баркера. Все эти три вида модуляции могут сосуществовать. В протоколе предусмотрена коррекция ошибок FEC (смотри описание в статье о протоколе Bluetooth ). IEEE 802.11a специфицирует систему кодирования OFDM скорости передачи 6, 9, 12, 18, 24, 36, 48 и 54 Мбит/с. В последнее время широкое распространение получила модификации IEEE 802.11b ( WiFi — Wireless Fidelity), которая может обеспечить скорость 1, 2, 5,5 и 11 Мбит/с (модуляция DSSS). Здесь применен алгоритм доступа к сетевой среде CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance). Для стандарта IEEE 802.11b доступно 11-14 радиоканалов в частотном диапазоне 2,4 ГГц. Здесь все зависит от местных регламентаций и ограничений.

Возможно использование всенаправленных и узконаправленных антенн (последние служат для стационарных соединений точка-точка). Всенаправленная антенная система гарантирует связь для расстояний до 45 метров, а узконаправленная — до 45 км. При скорости 1 Мбит/с расстояние надежной связи может достигать нескольких сот метров. Предельно возможная скорость обмена определяется автоматически. Одновременно может обслуживаться до 50 клиентов. Важной особенностью является возможность работы с мобильными клиентами. Улучшенная версия 802.11b называется 802.11g. Этот стандарт принят в 2001 году, в нем применяется метод модуляции OFDM. Теоретически максимальная скорость передачи составляет 54 Мбит/c.

Следует учитывать, что беспроводные каналы шумны и малонадежны, этому способствуют наводки от СВЧ-печей, работающих практически в том же частотном диапазоне. Если вероятность искажения одного бита равна , вероятность того, что n-битовый кадр будет принят корректно, равна . Для Ethernet кадра максимальной длины при вероятность безошибочной доставки составит менее 30%. При будет искажаться один из 9 кадров. По этой причине при работе с радиоканалами следует ориентироваться на короткие кадры.

Топологически локальная сеть IEEE 802.11b строится вокруг базовой станции (смотри описание стандарта Bluetooth ), через которую производится связь с Интернет. Но возможны схемы с несколькими базовыми станциями. В этом случае используется протокол STP (Spanning-Tree Protocol), чтобы исключить возможность формирования циклических структур. Базовые станции могут работать на одних и тех же или на разных частотных диапазонах. Для организации совместной работы базовых станций используются сигнальные кадры (beacon), которые служат для целей синхронизации. Современные ноутбуки имеют встроенный Wi-Fi-адаптер. Родоначальником системы Wi-Fi считается Вик Хэйз. Точки доступа к Wi-Fi устанавливаются в библиотеках, кафе, аэропортах, магазинах и т.д.

В 1992 году страны члены ЕС выделили диапазон частот 1,89-1,9 ГГц для целей построения сетей, базирующихся на применение радиосигналов (стандарт DECT — Digital European Cordless Telecommunications). Этот стандарт был разработан для целей передачи данных и голоса в системах сотовой связи. В США для этих же целей используются широкополосные системы с шумоподобным сигналом (SST — ШПС). Для подобных целей выделены также частотные диапазоны 18 и 60 ГГц (диапазон 2,4 ГГц сильно перегружен и "засорен" шумами).

При относительно малых расстояниях проблем обычно не возникает и работу беспроводной сети действительно можно аппроксимировать алгоритмом CSMA. Но в случае, когда расстояние между передатчиком и приемником сравнимо с радиусом надежной связи, отличие от традиционных сетей становится значительным. Ведь для радиосетей важна интерференция на входе приемника, а не на выходе передатчика (как в CSMA). Рассмотрим вариант сети, изображенный на рис. 7.20. Если передачу осуществляет узел А (вариант I), узел С находится вне его радиуса действия и может решить, что можно начать передачу. Излучение передатчика С может вызвать помехи на входе узла В ( проблема скрытой станции ).

Схема взаимодействия узлов в беспроводной сети (MACA)


Рис. 7.20.  Схема взаимодействия узлов в беспроводной сети (MACA)

В случае, когда передачу ведет узел В (вариант II), узел С может решить, что начало передачи сообщения узлу D невозможно, так как в зоне С детектируется излучение станции В ( проблема засвеченной станции ). Таким образом, в радиосетях, прежде чем начать передачу данных, надо знать, имеется ли радиоактивность в зоне приемника-адресата.

В коротковолновых сетях возможна одновременная передача для нескольких адресатов, если они находятся в разных зонах приема, что невозможно для проводных решений.

Ранние протоколы беспроводных локальных сетей базировались на схеме MACA (Multiple Access with Collision Avoidance), разработанной Ф. Карном в 1990 году. Эта схема является основой стандарта IEEE 802.11. В этой схеме отправитель просит получателя прислать короткий кадр, который, будучи принят соседями, предотвратит их передачу на время последующей трансляции сообщения адресату. На рис. 7.20 узел В посылает кадр RTS (Request To Send) узлу C. Этот кадр имеет всего 30 октетов и содержит поле длины последующего сообщения. Узел C откликается посылкой кадра CTS (Clear To Send), куда копируется код длины последующего обмена из кадра RTS. После этого узел В начинает передачу. Окружающие станции, например D или E, получив CTS, воздерживаются от начала передачи на время, достаточное для передачи сообщения оговоренной длины. Станция A находится в зоне действия станции B, но не станции C и по этой причине не получит кадр CTS. Станция A может начинать передачу, если хочет и не имеет других причин, препятствующих этому. Напротив, станция D получает только сигнал CTS и вынуждена ждать завершения передачи станцией А, хотя из рисунка видно, что активность D не вызовет помех.

Несмотря на все предосторожности, коллизия все же может произойти. Например, станции A и C могут одновременно послать кадры RTS станции B. Эти кадры будут неизбежно потеряны, после псевдослучайной выдержки эти станции могут совершить повторную попытку (как это делается в Ethernet).

В 1994 году схема MACA была усовершенствована и получила название MACAW. Было отмечено, что без подтверждения на канальном уровне потерянные кадры не будут переданы повторно, пока транспортный уровень много позднее не обнаружит их отсутствия. В усовершенствованной схеме требуется подтверждение получения любого информационного кадра, добавлен также механизм оповещения о перегрузке. Стандарт 802.11 поддерживает два режима работы: DCF (Distributed Coordination Function) и PCF (Point Coordination Function). Первый не имеет средств централизованного управления, второй — предполагает, что базовая станция берет на себя функцию управления локальной субсетью. В протоколе 802.11 используется алгоритм доступа CSMA/CA (CSMA with Collision Avoidance). При этом производится прослушивание физического и виртуального каналов. CSMA/CA может работать в двух режимах. В первом — станция до начала передачи прослушивает канал. Если канал свободен, она начинает передачу данных. При передаче канал не прослушивается и станция передает кадр полностью. Если канал занят, отправитель ждет его освобождения и только после этого начинает передачу. В случае коллизии станции, участвующие в этом событии, смогут начать передачу через псевдослучайный интервал времени. Второй режим CSMA/CA базируется на протоколе MACAW и использует контроль виртуального канала, как это показано на рис. 7.21. В показанном на рисунке примере станция А намеревается передать данные станции В Станция С находится в зоне доступности стации А и, возможно, станции В. Станция D входит в зону доступности станции В, но пребывает вне зоны досягаемости станции А.

Прослушивание виртуального канала в протоколе CSMA/CA


Рис. 7.21.  Прослушивание виртуального канала в протоколе CSMA/CA

Когда станция А решает, что ей необходимо передать данные станции В, она посылает ей кадр RTS, запрашивая разрешение на передачу. Если В может принимать данные, она пришлет отклик в виде кадра CTS. После приема CTS станция А запускает таймер ACK и начинает пересылку данных. При успешном приеме станция В формирует кадр ACK, который посылается А, свидетельствуя о завершении обмена. Если время таймаута ACK истечет раньше, алгоритм повторяется с самого начала. Станция С также принимает кадр RTS и поэтому знает, что по каналу будут передаваться данные и по этой причине следует воздержаться от попыток передачи. Из данных, содержащихся в RTS, станция С знает, сколько времени будет продолжаться передача, и пребывает в пассивном состоянии. Индикацией этого состояния является последовательность NAV (Network Allocation Vector) (см. рис. 7.21). Станция D не слышит RTS, передаваемый А, зато воспринимает CTS, посланный станцией В, и также выдает NAV. Следует учитывать, что сигналы NAV не передаются, а являются лишь внутренними напоминаниями о необходимости хранить радиомолчание. При фрагментации каждый фрагмент имеет свою контрольную сумму, и его получение подтверждается индивидуально. Посылка фрагмента невозможна, пока не получено подтверждение получения фрагмента . После получения доступа к каналу отправитель может послать несколько кадров подряд. Если фрагмент доставлен с искажением, он пересылается повторно.

Режимы PCF и DCF могут сосуществовать в пределах одной сотовой ячейки. Это достигается путем точного определения межкадрового интервала. Самый короткий интервал SIFS (Short Interframe Interval) используется для того, чтобы одна из сторон, ведущих диалог посредством кадров управления, могла получить возможность начать передачу первой. Всего регламентировано 4 разных типов межкадровых интервалов (SIFS, PIFS, DIFS и EIFS).

Помимо WLAN, в настоящее время разработаны стандарты для беспроводных региональных сетей WMAN (Wireless Metropolitan-Area Networks, например, WiMAX) и WWAN (Wireless Wide-Area Networks) со скоростями обмена в десятки килобит в сек. В текущий момент насчитывается более полудюжины различных типов беспроводных сетей:

Скорость обмена 9,6-14,4 кбит/c.

Система (WWAN) разработана Ericsson и Swedish Telecom. Расстояние связи < 30 км. MTU=545 байт, скорость обмена 8 кбит/c. RTT может достигать 10 сек.

Эта система известна также под именем ARDIS. Максимальное расстояние связи равно 20 км. Как и в Mobitex связь между базовой станцией и мобильным узлом DataTAC осуществляется в полудуплексном режиме. MTU=2048 байт, скорость обмена 19,2 кбит/с. Система базируется не на IP-технике.

Система разработана IBM и McCaw Cellular Communications в начале 90х. MTU=2048 байт, скорость обмена 19,2 кбит/c, время отклика составляет порядка 4 секунд. Обмен может производиться в режиме full duplex.

Система разработана ETSI в конце 1997 года и работает совместно с GSM. Система может работать с кодовыми схемами CS1, CS2, CS3 и CS4 при скоростях обмена до 60 кбит/c. Мобильные ЭВМ обычно работают с MTU=1500 байт в режиме full duplex.

Систему называют также улучшенным GPRS, по основным параметрам она совпадает со своим прототипом.

К сожалению, беспроводные, особенно мобильные каналы крайне ненадежны. Потери пакетов в таких каналах весьма вероятны. Понижение скорости передачи, как правило, не приводит к понижению вероятности потери. Кроме того, проходы от отправителя к получателю здесь неоднородны и могут включать в себя сегменты с различными методами транспортировки данных (проводные и беспроводные). В таких структурах бывает полезно разбить канал на две последовательные связи ( indirect TCP ). Преимуществом такой схемы является то, что оба виртуальных канала являются однородными. Таймауты в одном из соединений заставят отправителя замедлить темп передачи, в то время как таймауты во втором — могут ускорить обмен. Да и все остальные параметры связей могут оптимизироваться независимо. Основной недостаток этого приема заключается в нарушении базового принципа организации TCP-соединений на основе сокетов, здесь получение подтверждения отправителем не означает благополучной доставки. В 1995 году была предложена схема, не нарушающая TCP-семантику. В этой схеме вводится специальный агент-наблюдатель, который отслеживает состояние кэшей отправителя и получателя и посылает подтверждения. Этот агент при отсутствии своевременного подтверждения запускает процедуру повторной посылки сегмента, не информируя об этом первичного отправителя. Механизмы подавления перегрузки запускаются в этом варианте только при перегрузке проводной секции канала. При потерях реализуется выборочная пересылка сегментов.

В последнее время в продажу поступили радио-интерфейсы (IEEE 802.11b) для персональных ЭВМ, которые позволяют создавать небольшие офисные сети. Пригодны они и для подключения к каналам Интернет, но в этом случае следует позаботиться о специальной антенне. Такие интерфейсы работают на несущей частоте 2,4-5,0 ГГц и обеспечивают пропускную способность 11-22Мбит/с при расстояниях 700-5000м. Особую привлекательность такие интерфейсы представляют для мобильных ЭВМ. (См. LANline Spezial VII/2002, Nov/Dez s16; LANline.) Топология радио-сетей достаточно многообразна. Возможны варианты, когда клиенты сети взаимодействуют друг с другом через базовую станцию (см. статью о Bluetooth, рис. 7.22). Возможна схема взаимодействия все-со-всеми, когда рабочие станции связываются друг с другом непосредственно через эфир. Роль базовой станции может выполнять радио-переключатель или специализированный маршрутизатор.

Топология WLAN c базовой станцией.


Рис. 7.22.  Топология WLAN c базовой станцией.

При работе с UDP также возникают некоторые трудности. Хотя известно, что UDP не гарантирует доставки, большинство программ предполагает, что вероятность потери невелика.

Программы используют такие способы преодоления потерь, которые при высокой вероятности потери просто не срабатывают. Многие приложения предполагают наличие достаточного запаса пропускной способности, чего в случае мобильной связи обычно нет.

Стандарт 802.11 использует три класса кадров, транспортируемых через канал: информационные, служебные и управляющие. Формат информационного кадра представлен на рис. 7.23.

Формат информационного кадра 802.11.


Рис. 7.23.  Формат информационного кадра 802.11.

Двухоктетное поле управления кадра имеет 11 субполей. Субполе версия протокола позволяет двум протоколам работать в пределах одной ячейки. Поле тип задает разновидность кадра (информационный, служебный или управляющий), а субтип определяет субтип кадра (RTS, CTS или ACK). Биты к DS и от DS указывают на направление транспортировки кадра: к межсотовой системе (например, Ethernet) или от нее. Бит MF указывает на то, что далее следует еще один фрагмент. Бит повтор отмечает повторно посылаемый фрагмент. Бит управление питанием используется базовой станцией для переключения в режим пониженного энергопотребления или для выхода из этого режима. Бит продолжение говорит о том, что у отправителя имеются еще кадры для пересылки. Бит W является указателем использования шифрования в теле кадра согласно алгоритму WEP (Wired Equivalent Protocol). Однобитовое поле O сообщает приемнику, что кадры с этим битом (=1) должны обрабатываться строго по порядку.

Поле длительность задает время передачи кадра и его подтверждение. Это поле может присутствовать в служебных кадрах. Именно с учетом этого поля станции выставляют признаки NAV. Заголовок содержит четыре адреса. Это адрес отправителя и получателя, а также адреса ячейки отправителя и места назначения. Поле номер служит для нумерации фрагментов. Из 16 бит номера 12 идентифицируют кадр, а 4 — фрагмент. Управляющие кадры имеют сходный формат, только там отсутствуют поля базовых станций, так как эти кадры не покидают пределов сотовой ячейки. В служебных кадрах отсутствуют поля данные и номер, ключевым здесь является содержимое поля субтип (RTS, CTS или ACK).

Для обеспечения безопасности (ведь к такой сети достаточно легко подключиться) используется алгоритм WEP (Wired Equivalent Privacy). Длина ключа составляет 40 или 104 разряда. Предусмотрена возможность шифрования сообщений и аутентификации с использованием двухключевых схем (смотри http://www.rsasecurity.com/rsalabs/technotes/wep-fix.html).

Стандарт 802.11 требует, чтобы все совместимые беспроводные ЛВС предоставляли девять типов сервисов. Первые пять относятся к услугам распределения и осуществляются базовой станцией, остальные четыре являются станционными. Первая группа:

  1. Ассоциация. Этот вид сервиса используется мобильными станциями для подключения к базовым станциям (БС). Операция осуществляется при вхождении станции в зону действия БС. Мобильная станция передает идентификационную информацию и данные о своих возможностях. БС может принять или отвергнуть мобильную станцию.
  2. Диссоциация. По инициативе мобильной или базовой станций может быть выполнен разрыв ассоциации. Это происходит при выключении станции или уходе из зоны действия БС.
  3. Реассоциация. Операция служит для смены базовой станции. Это происходит при переходе из одной сотовой ячейки в другую.
  4. Распределение. Этот вид сервиса служит для маршрутизации кадров, посылаемых базовой станции. Если адрес места назначения является локальным, то кадры передаются непосредственно, в противном случае их надо передать по проводной сети.
  5. Интеграция. Если кадр передается через сеть, не следующую стандарту 802.11 и применяющую другую схему адресации и формат кадров, то данный вид сервиса осуществляет трансляцию форматов.

Остальные четыре вида услуг являются внутренними сервисами сотовой ячейки и предоставляются после осуществления ассоциации. В перечень этих сервисов входят:

  1. Идентификация. Этот сервис служит для определения прав доступа станции к ресурсам сотовой ячейки.
  2. Деидентификация. При уходе из сети станция должна выполнить деидентификацию.
  3. Конфиденциальность. Данный сервис служит для шифрования передаваемых конфиденциальных данных. Применяется алгоритм RC4.
  4. Доставка данных. Пересылка, так же, как и в Ethernet, не является гарантированной. Выявлять и исправлять ошибки должны верхние уровни.

Радиоканалы позволяют осуществлять связь с мобильными объектами, и в этом качестве они вне конкуренции.

Лекция 8. Мобильные телекоммуникации

Мобильные телекоммуникации (802.11a-g, WiFi, GSM), CDMA. Bluetooth. Стандарт широкополосной беспроводной связи IEEE 802.16. Широкополосный канал для подключения периферийных устройств UWB.

В 80-х – 90-х годах 20-го века весьма активное развитие получила мобильная телефония. В последнее время услуги мобильной связи стали применяться и для передачи цифровых и мультимедийных данных. Мобильные телекоммуникации использует диапазоны в интервале 50 МГц – 1,8 ГГц. Мобильные системы работают при малых выходных мощностях передатчика, что ограничивает размер зоны приема. Вне этой зоны другие передатчики могут функционировать независимо. Такие зоны называются сотами (ячейками). По аналогии с пчелиными сотами их часто изображают шестигранными, хотя реально они могут иметь самую причудливую форму в зависимости от профиля местности (но никогда не имеют вид пчелиных сот). Ячейки должны перекрываться так, как показано на рис. 8.1.

Схема расположения ячеек при сотовой связи


Рис. 8.1.  Схема расположения ячеек при сотовой связи

Светлыми кружками отмечены реальные границы ячеек, их перекрытие должно обеспечить перекрытие всей зоны телекоммуникаций. В центре ячейки находится базовая станция — ретранслятор. Такая станция содержит в себе ЭВМ и приемо-передатчик, соединенный с антенной. Сигнал передатчика падает по мере удаления от центра ячейки, где он должен быть расположен. Там же должен находиться и приемник. В пределах ячейки предусмотрено несколько каналов для приема/передачи, разнесенные по частоте. Такие системы могут обслуживать пейджерную или мобильную телефонную сеть. Пейджерные каналы однонаправлены, а телефонные двунаправлены (см. рис. 8.2). Пейджинговые системы требуют небольшой полосы пропускания, а одно сообщение редко содержит более 30 байт. Большинство современных пейджинговых систем работает в частотном диапазоне 930-932 МГц (старые занимали 150-174 МГц ).

Каналы пейджерной (слева) и мобильной телефонной сети (справа).


Рис. 8.2.  Каналы пейджерной (слева) и мобильной телефонной сети (справа).

В небольших системах все базовые станции соединены с MTSO (Mobile Telephone Switching Office). В больших сетях может потребоваться несколько MTSO, которые в свою очередь управляются MTSO следующего уровня и т.д.. Узловая MTSO соединена со станцией коммутируемой телефонной сети. В любой момент каждый мобильный телефон логически находится в одной определенной ячейке и управляется одной базовой станцией. Когда телефон покидает ячейку, базовая станция обнаруживает падение уровня сигнала и запрашивает окружающие станции об уровне сигнала для данного аппарата. Управление аппаратом передается станции с наибольшим входным сигналом. Телефон информируется о смене управляющей станции, при этом предлагается переключиться на новый частотный канал (в смежных ячейках должны использоваться разные частотные каналы).

Эти каналы управляются центральным коммутатором ячейки ( MSC – Mobile-Service switching Centre). Пользователь использует канал до тех пор, пока находится в пределах ячейки. При переходе в соседнюю ячейку он получает новый канал (hand-off), что должно быть практически незаметно для пользователя и занимает около 300 мсек. Присвоением частот управляет MTSO.

В рамках американского стандарта первого поколения AMPS (Advanced Mobile Phone Service) формируется 40 МГц-канал в интервале 800-900 МГц. Этот диапазон делится пополам, 20 МГц выделяется для передачи и столько же для приема. Данные диапазоны делятся в свою очередь на 666 двусторонних каналов, каждый по 30 кГц. Эти каналы расщепляются на 21 субканал, сгруппированные по 3. Обычно, как показано на рис. 8.1, гексагональные ячейки группируются по 7 (центральная и 6 ее соседей). Имея 666 каналов, можно выделить три набора по 31 каналу для каждой ячейки.

В случае возникновения необходимости увеличения числа каналов, для этого достаточно уменьшить размер ячейки – число ячеек увеличится и, как следствие, увеличится число каналов на единицу площади. Это утверждение справедливо для всех систем мобильной связи. В хорошо спланированной сети плотность ячеек пропорциональна плотности пользователей.

AMPS для разделения каналов применяет метод мультиплексирования по частоте. Каждый канал AMPS может использоваться для аналоговых и цифровых коммуникаций.

Каждый мобильный телефон в AMPS имеет 32-битовый серийный номер и телефонный номер, характеризуемый 10 цифрами. Телефонный номер представляется как код зоны (3 десятичные цифры) и номер подписчика (7 десятичных цифр). Когда телефон включается, он сканирует список из 21 управляющих каналов и находит тот, у которого наиболее мощный сигнал. Управляющая информация передается в цифровой форме, хотя сам голосовой сигнал является аналоговым. При нормальной работе мобильный телефон перерегистрируется в MTSO каждые 15 мин.

При осуществлении вызова пользователь набирает номер телефона и нажимает кнопку send. Аппарат посылает набранный номер и свой идентификационный код. Базовая станция принимает вызов и передает его MTSO. Если звонящий является клиентом MTSO или ее партнером, отыскивается свободный канал и мобильный телефон переключается на него, ожидая, когда адресат снимет трубку.

В режиме приема аппарат постоянно прослушивает канал пейджинга, чтобы обнаружить обращенный к нему вызов. Осуществляется обмен командными сообщениями с MTSO, после чего раздается звонок вызова.

Аналоговые сотовые телефоны не обеспечивают конфиденциальности. С помощью широкополосного сканера можно зафиксировать вызов и осуществить прослушивание. Другим недостатком является возможность кражи эфирного времени. Вседиапазонный приемник, подключенный к ЭВМ, может записать 32-битовый серийный номер и 34-битовый телефонный номер всех телефонов, работающих поблизости. Собрав такие данные, вор может по очереди пользоваться любым из перехваченных номеров.

AMPS базируется на аналоговой модуляции, существует еще полдюжины аналогичных не стыкуемых друг с другом систем. В последнее время аналоговая модуляция повсеместно вытесняется цифровой.

В Европе принят единый стандарт для систем мобильной связи GSM (Group Special Mobile, второе поколение мобильных средств связи; действует в более чем 50 странах). GSM использует диапазоны 900 и 1800 МГц. Это довольно сложный стандарт, его описание занимает около 5000 страниц. Идеологически система имеет много общего с ISDN (например, переадресацию вызовов). GSM имеет 200 полнодуплексных каналов на ячейку, с полосой частот 200 кГц, что позволяет ей обеспечить пропускную способность 270,833 бит/с на канал. Каждый из 124 частотных каналов делится в GSM между восемью пользователями (мультиплексирование по времени). Теоретически в каждой ячейке может существовать 992 канала, на практике многие из них недоступны из-за интерференции с соседними ячейками.

Частотные каналы GSM


Рис. 8.3.  Частотные каналы GSM

Восемь выделенных на рис. 8.3 доменов соответствуют одному и тому же каналу (клиенту принадлежит канал 2). Четыре из них служат для связи клиента с базой, а 4 другие — для связи базы с клиентом. Если мобильной станции выделена частота 890.4.935.4 и домен 2 желает что-то передать базовой станции, будут задействованы нижние 4 (затененные на рисунке) домена. В них будут помещаться данные до тех пор, пока вся информация не будет передана.

Система мультиплексирования по времени имеет специфическую, иерархическую структуру. Отдельные временные домены объединяются в мультифреймы. Упрощенная схема структуры показана на рис. 8.4.

Каждый временной домен (TDM) содержит 148-битовый кадр данных, начинающийся и завершающийся последовательностью из трех нулей. Кадр имеет два 57-битовых поля данных, каждое из них имеет специальный бит, который указывает на то, что лежит в кадре — голос или данные. Между информационными полями размещается поле синхронизации (Sync). Хотя информационный кадр имеет длительность 547 мксек, передатчику позволено передавать его лишь раз в 4615 мксек, так как остальное время зарезервировано для передачи другими станциями. Если исключить накладные расходы каждому соединению выделена полоса (без учета сжатия данных) 9,600 бит/с.

Восемь информационных кадров образуют TDM-кадр, а 26 TDM-кадров объединяются в 128-микросекундный мультифрейм. Как видно из рисунка 8.4, позиция 12 в мультифрейме занята для целей управления, а 25-я зарезервирована для будущих применений.

Существует также стандарт на 51-позиционный мультифрейм, содержащий больше управляющих вставок. Управляющий канал используется для регистрации, актуализации положения и формирования соединения. Каждая станция поддерживает базу данных, где хранится информация обо всех обслуживаемых в данный момент клиентах. Общий управляющий канал делится на три субканала. Первый служит для обслуживания вызовов (paging channel), второй (random access channel) реализует произвольный доступ в рамках системы ALOHA (устанавливаются параметры вызова). Третий субканал используется для предоставления доступа (access grant channel).

Структура кадров в GSM


Рис. 8.4.  Структура кадров в GSM

Алгоритмы обслуживания мобильной связи достаточно нетривиальны. Из рисунка 8.1 видно, что области перекрываются (иначе бы существовали "мертвые" зоны без связи). Существуют даже субобласти, накрываемые тремя MSC. По этой причине процедура должна четко определить, с каким из MSC клиент должен быть связан и при каких условиях его следует переключить на соседний MSC, не прерывая связи. Система должна также компенсировать падение сигнала, иногда достаточно резкое, чтобы обеспечить комфортную связь и безошибочную передачу информации. По этой причине частота ошибок ( BER ) в таких сетях составляет 10-3 (против 10-6 для обычных стационарных цифровых каналов связи).

Следует иметь в виду, что в условиях города сигнал падает пропорционально не квадрату, а четвертой степени расстояния.

На распространение радиоволн в городе влияют ориентация улиц (до 20 дБ), туннели (до 30 дБ) и листва деревьев в сельской местности (до 18 дБ).

GSM — система, базирующаяся в основном на коммутации каналов. Применение модема на переносной ЭВМ позволяет подключиться к сети Интернет. Но здесь не все беспроблемно. Базовые станции временами теряют связь друг с другом (переключение с канала на канал), что может приводить к 300 миллисекундным потерям данных. Как уже говорилось выше, здесь высока вероятность ошибок. Так, нажав клавишу "a", можно получить на экране букву "я". Да и расценки за минуту работы в Интернет здесь весьма высоки. В связи с этим был разработан стандарт на цифровую систему коммутации пакетов CDPD (Cellular Digital Packet Data). Схема реализации CDPD показана на рис. 8.5.

Соединения цифровой системы CDPD


Рис. 8.5.  Соединения цифровой системы CDPD

Система работает поверх AMPS и обеспечивает информационную пропускную способность на уровне 9,6 Кбит/с. CDPD довольно точно следует модели OSI и состоит из трех типов станций: мобильные ЭВМ, базовые станции и базовые интерфейсные станции. В CDPD определены три типа интерфейсов. Е-интерфейс (внешний по отношению к CDPD-провайдеру) соединяет CDPD-область с определенной сетью. I-интерфейс (внутренний по отношению к CDPD-провайдеру) соединяет CDPD-области друг с другом. A-интерфейс (эфирный) используется для связи базовой станции с мобильной ЭВМ. В функции этого интерфейса входит сжатие и шифрование данных, а также исправление ошибок. 274-битные блоки сжатой и зашифрованной информации вкладываются в 378-битовые блоки, предназначенные для коррекции ошибок с привлечением алгоритма Рида-Соломона. К каждому такому блоку добавляется семь 6-битовых флагов. Результирующие блоки имеют 420 бит и передаются в виде семи 60-битовых микроблоков. Каждый микроблок имеет свой собственный 6-битовый флаг, используемый для индикации состояния канала. Эти микроблоки передаются к базовой станции со скоростью 19,2 Кбит/с. Канал с аналогичным быстродействием создается для пересылки информации в противоположном направлении. При обмене применяется мультиплексирование с делением по времени. При этом временные домены имеют длительность 3,125 мсек (60 бит).

Когда мобильная ЭВМ хочет что-то передать, прослушивается канал базовой станции и проверяется флаг, сообщающий, свободен ли входной канал базовой станции. Если канал занят, ЭВМ, вместо ожидания очередного временного домена, пропускает псевдослучайное число временных доменов, после чего повторяет попытку. Если повторная попытка неудачна, время ожидания увеличивается примерно вдвое. Когда, наконец, ЭВМ обнаруживает, что канал свободен, она начинает пересылку своих микроблоков. Предусмотрена процедура, препятствующая попытке всех ЭВМ, готовых к передаче, захватить канал, как только он оказался свободным. Этот алгоритм называется DSMA (Digital Sense Multiple Access). Но, несмотря на применение DSMA, столкновение все же возможно, так как две или более ЭВМ могут воспользоваться одним и тем же временным доменом для начала передачи. Для выявления столкновений предусмотрен специальный флаг, который позволяет судить, корректно ли доставлен предыдущий микроблок. К сожалению, это происходит не мгновенно, а лишь после нескольких микроблоков. При обнаружении ошибки передача прерывается.

Следует иметь в виду, что информационный обмен имеет более низкий приоритет по отношению к передаче голосовых данных.

Предусмотрена возможность создания выделенных CDPD-каналов.

Немалую проблему для мобильной связи ЭВМ составляет маршрутизация. В традиционной схеме каждая ЭВМ имеет постоянный IP-адрес (во всяком случае на время сессии). При мобильной связи это не так. Путь передачи пакета в Интернет определяется IP-адресом места назначения. Машины могут быть стационарными, мигрирующими или мобильными. Мигрирующими ЭВМ называются тогда, когда их положения время от времени изменяется (например, портативная ЭВМ переносится из здания в здание и там подключается к сети). Такие машины не меняют своего положения во время сессии.

Для решения этой проблемы в каждый узел, где имеются мобильные объекты, должны содержать программы "локальный агент" и "внешний агент". Локальный агент – это программа, которая отслеживает истинное положение ЭВМ, приписанной к данной локальной сети. Внешний агент – программа, выявляющая появление новых ЭВМ в зоне обслуживания. Данная программа часто размещается в узле мобильной связи. Сеть разбивается на области, которые могут быть ячейками мобильной связи или локальными сетями.

Когда пользователь появляется в некоторой области, его ЭВМ должна там зарегистрироваться у внешнего агента. Периодически каждый внешний агент широковещательно уведомляет о своем существовании. Мобильный пользователь может некоторое время ждать такого уведомления или сам послать широковещательный запрос типа "Имеется ли здесь внешний агент?".

В процессе регистрации мобильная ЭВМ передает внешнему агенту свой IP-адрес (в домашней локальной сети), текущий МАС-адрес и некоторую информацию, обеспечивающую нужный уровень безопасности.

Внешний агент контактирует с локальным агентом мобильной ЭВМ, размещенным в ее локальной сети, уведомляя его о том, что его ЭВМ находится именно здесь, и направляя свой IP-адрес и параметры, обеспечивающие безопасность.

Локальный агент анализирует полученные данные (сюда входит и временная метка). Если с его точки зрения все в порядке, он посылает уведомление об этом внешнему агенту.

Когда внешний агент получает подтверждение от локального агента, он заносит необходимые данные в таблицы (базу данных) и уведомляет мобильную ЭВМ об успешной регистрации. В идеале при уходе из области пользователь должен бы уведомить внешнего агента об этом. Но чаще всего это не производится.

Рассмотрим случай, когда хозяин мобильной ЭВМ, живущий в Красноярске, оказался в командировке в Москве, едет в автомобиле и хочет прочесть электронную почту в своем офисе дома. Как он может это практически сделать?

Пакеты, посылаемые пользователю мобильной ЭВМ, перехватываются локальным агентом. Последний определяет по своим записям, где в данный момент находится мобильная ЭВМ, и определяет адрес соответствующего внешнего агента в Москве. Далее локальный агент инкапсулирует пакет в поле данных IP-пакета и посылает его внешнему агенту. Такая процедура называется туннелированием. Получив пакет, внешний агент извлекает вложенные данные и посылает их мобильной ЭВМ. После этого локальный агент предлагает отправителю посылать данные непосредственно мобильному адресату, инкапсулируя их в кадры, направляемые внешнему агенту, а не в локальную сеть приписки данной машины. Если мобильная ЭВМ покидает область данного внешнего агента и попадает в область другого агента, вся процедура должна повториться вновь. После широкого внедрения адресации IPv6 мобильной ЭВМ можно будет присваивать новый уникальный адрес, что может упростить протокол общения. Схема таких пересылок при работе с мобильной машиной показана на рис. 8.6.

Схема обменов при работе с мобильной ЭВМ


Рис. 8.6.  Схема обменов при работе с мобильной ЭВМ

GSM использует довольно сложную комбинацию методик ALOHA, TDM и FDM. CDPD для передачи одиночных кадров не вполне согласуется с алгоритмом CSMA. Впрочем, существует еще один метод формирования радио каналов — CDMA (Code Division Multiple Access).

Метод CDMA принципиально отличается от описанных выше, которые использовали для демультиплексирования доступа FDM, TDM или ALOHA. CDMA позволяет каждой станции осуществлять передачу во всем частотном диапазоне постоянно. Множественные передачи реализуются с привлечением теории кодирования. Здесь предполагается, что сигналы, совпадающие по времени, складываются линейно.

В CDMA каждый бит-тайм делится на m коротких интервалов, называемых чипами. Обычно используется 64 или 128 чипов на бит. Каждой станции присваивается уникальный m -битный код (chip sequence). Чтобы передать 1 бит, станция посылает свой чип-код. Для простоты далее будем предполагать, что m=8. Для того, чтобы послать нулевой бит, посылается дополнение чип-кода по модулю один. Никакие другие кодовые последовательности не разрешены. Например, пусть станции 1 поставлен в соответствие чип-код 01010101, тогда при посылке логической 1 она отправляет код 01010101, а при отправке логического нуля — 10101010. Если имеется канал с полосой 1 МГц и 100 станций с FDM, то каждая из них получит по 10 кГц (10 Кбит/c при 1 бите на Гц). При CDMA каждая станция использует весь частотный диапазон, так что будет получена скорость передачи 1 мегачип в секунду. При менее 100 чипов на бит CDMA обеспечивает большую пропускную способность, чем FDM. Для упрощения введем двухполярную нотацию, где нулю соответствует -1, а единице +1. Тогда чип-код станции 1 получит вид -1 +1 -1 +1 -1 +1 -1 +1. Каждая из станций получает уникальный чип-код. Чип-коды можно представить в виде m-компонентных векторов. Чип-коды выбираются так, что все они попарно ортогональны (не любой уникальный чип-код пригоден, так, если станция 1 имеет чип-код 01010101, то станция 2 не может иметь чипкод 10101001, но чип-код 10100101 вполне допустим). Математически это можно выразить следующим образом:

где и - компоненты векторов чип-кодов и . Это равенство указывает, что число разных компонентов равно числу равных. Если и ортогональны, то и . В то же время:

(8.1)

Когда сигналы от разных станций совпадают во времени и складываются, принимающая сторона легко может вычислить наличие соответствующей компоненты. Если компоненты суммарного сигнала , то компоненты вычисляются с помощью произведения . Действительно, если:

Здесь первые два слагаемых равны нулю в силу ортогональности выбранных чип-кодов. Последнее же слагаемое равно 1 согласно формуле [8.1]. Во всех этих рассуждениях предполагалось, что все станции работают синхронно и начинают передачу чип-кодов одновременно.

Для пояснения метода рассмотрим конкретный пример в выше предложенной нотации. Присвоим станциям F, G, H, I ортогональные чип-коды:

Теперь рассмотрим четыре варианта наложений:

Только

Для выявления наличия компоненты G выполним операции "умножения" согласно описанным выше правилам.

S1*G =[-1 -1 -1 -1 +1 +1 +1 +1]/8=0 (G отсутствует)

S2*G =[0 -2 0 -2 - +2 0 +2]/8=0 (G отсутствует)

S3*G =[+1 +1 -1 -1 +1 +1 +3 +3]/8=1 (G имеется — передана логическая 1)

S4*G =[-1 -1 -3 -3 -1 -1 +1 +1]/8=-1 (G имеется — передан логический 0)

Хотя теоретически здесь все прекрасно, наложение слишком большого числа чип-кодов может создать проблемы и, в конечном итоге, привести к ошибкам. Здесь невозможно также применение кодов, допускающих коррекцию ошибок, и предполагается, что получатель всегда знает, кто является отправителем.

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

А теперь представим себе, что в каждом пассажирском кресле имеется разъем для подключения телефона или персональной ЭВМ (Laptop). Все эти приборы в этом случае объединяются в локальную бортовую сеть, которая связывается с наземной службой на оговоренной частоте (рис. 8.7Б). Согласитесь, что это решение со всех точек зрения эффективнее. По этой причине в 21-ом веке локальные сети станут использоваться в авиалайнерах, морских и речных пассажирских судах, поездах и междугородних автобусах (и даже в автомобилях).

Варианты мобильной телефонной и компьютерной связи на борту авиалайнера


Рис. 8.7.  Варианты мобильной телефонной и компьютерной связи на борту авиалайнера

Распространение волн, как правило, является всенаправленным. Иногда это может иметь весьма негативные последствия. Так в 1970-ые годы в автомобилях кадиллак фирмы Дженерал Моторс была установлена система антиблокировки тормозов, управляемая от бортовой ЭВМ. При нажатии педали тормоза ЭВМ вырабатывала последовательность импульсов нажатия, препятствуя блокировке колес тормозными колодками. Однажды на магистрали в Огайо полицейский патруль воспользовался новой системой радиосвязи со своей базой. Кадиллак, который двигался неподалеку, повел себя как необъезженный мустанг. После долгого исследования было выяснено, что разводка проводов управления в кадиллаке работала как приемная антенна, воспринимающая внешние радиосигналы патрульной полицейской машины и передающая их устройству управления тормозов. Сходные проблемы могут возникнуть при использовании беспроводной мышки, которая управляется СВЧ, если неподалеку (например, за перегородкой) окажется аналогичное устройство. Согласитесь, вам вряд ли понравится, если маркер вашей мыши начнет перемещаться под влиянием "потусторонних" сил.

В век дистанционного управления следует задумываться о возможности таких интерференционных явлений.

Дополнительные возможности пользователям, нуждающимся в услугах беспроводной связи, предоставляет стандарт Bluetooth, который призван освободить руки клиенту и покончить с телефонными проводами.

8.1. Bluetooth

Все, кто пользуется мобильным телефоном, знает, какая морока в случае поступления вызова найти, где мобильник находится, а потом еще держать его около уха. От всех этих и многих других хлопот может избавить гарнитура Bluetooth раз и навсегда.

В 1994 году начались работы по изучению возможности использования мобильных, сетевых коммуникаций. Компании IBM, Nokia, Intel и Toshiba создали консорциум для разработки стандарта беспроводной связи между ЭВМ посредством устройств с ограниченным радиусом действия.

Проект получил название Bluetooth в честь короля Норвегии и Дании Гарольда Голубой Зуб (Harald Blaatand, 940-981 годы). Проект являлся конкурентом стандарта IEEE 802.11 (оба стандарта используют один и тот же частотный диапазон, одни и те же 79 каналов). Главной его целью являлось удаление любых кабелей из телефонии, а если получится — и из локальных сетей. Очевидно, что в нынешнем виде Bluetooth не может вытеснить 802.11 хотя бы из-за ограничений на максимальный размер сети. Но эта технология быстро развивается и трудно предсказать, какое место она займет в самые ближайшие годы. В 1999 году был издан 1500-страничный документ v1.0. После этого группа стандартизации IEEE взяла этот документ за основу стандарта 802.15 (физический уровень и уровень передачи данных).

В 2002 году IEEE утвердил стандарт 802.15.1. Пока стандарт 802.15 и Bluetooth не идентичны, но ожидается их объединение в самом ближайшем будущем. Технология Bluetooth использует не лицензируемый (практически везде кроме России) частотный диапазон 2,4 2,4835ГГц. При этом используются широкие защитные полосы: нижняя граница частотного диапазона составляет 2ГГц, а верхняя - 3,5ГГц. Точность заданий частоты (положение центра спектра) задается с точностью . Дрейф частоты в этот интервал не входит.

Кодирование сигнала осуществляется по двухуровневой схеме GFSK (Gaussian Frequency Shift Keying). Логическому 0 и 1 соответствуют две разные частоты. В оговоренной частотной полосе выделяется 79 радиоканалов по 1 МГц каждый. В некоторых странах используется меньшее число каналов (например, во Франции — 23). Каждый из каналов структурируется с помощью выделения временных слотов (доменов) длительностью 625 мкс (разделение по времени).

По мощности передатчики делятся на три класса: 100мВт (для связи до 100м; 20дБм); 2 мВт (до 10м; 4дБм) и 1 мВт (~10см; 0дБм). Коэффициент модуляции при этом лежит в диапазоне (0,28-0,35). Чувствительность приемника должна быть не хуже 70дБм. BER (Bit Error Rate) для приемника должна находиться на уровне <0,1%. Желательно, чтобы приемник имел индикатор мощности входного сигнала (требование является опционным).

Для первого класса предусмотрено регулирование мощности. Регулировка осуществляется на основе анализа числа ошибок. Протокол использует коммутацию каналов и пакетов. Передача данных выполняется с использованием алгоритма доступа Time-Division Duplex Multiple Access. Каждый пакет передается с использованием иного частотного канала по отношению к предыдущему. Производится 1600 переключений частоты в секунду. Последовательность переключения частот определяется BD_ADDR мастера. Скачкообразное переключение частоты отводит на переходные процессы 250-260 мксек. Длительность тика часов мастера равна 312,5 мксек, что определяет частоту часов -; 3,2 кГц. Допускается временная неопределенность при приеме, равная мксек. Смотри также http://www.palowireless.com/infotooth/tutorial/radio.asp.

Структура протоколов Bluetooth не следует моделям OSI, TCP/IP и даже 802 (ведутся работы по адаптации Bluetooth к модели IEEE 802). Физический уровень протокола соответствует базовым принципам моделей OSI и 802. Разработчики потратили много усилий, чтобы сделать протокол как можно дешевле для реализации. В среднем временная привязка мастерных пакетов не должна дрейфовать больше чем на 20x10-6 относительно идеальной временной привязки слота в 625 мксек. Временной разброс при этом не должен превышать 1 мксек.

В спецификации определено 5 уровней: физический, базовый ( baseband ; смотри http://www.palowireless.com/infotooth/tutorial/baseband.asp), управления каналом LMP (Link Management Protocol; смотри http://www.palowireless.com/infotooth/tutorial/lmp.asp) и L2CAP (Logical Link Control and Adaptation Protocol; смотри http://www.palowireless.com/infotooth/tutorial/l2cap.asp), сетевой и уровень приложений.

На уровне baseband протокола определено 13 типов пакетов. Пакеты ID, NULL, POLL, FHS , DM1 определены для каналов SCO и ACL. Пакеты DH1, AUX1, DM3, DH3, DM5 и DH5 определены только для каналов ACL. Кодирование данных в пакетах DM1, DM2 и DM3 осуществляется с привлечением битов четности по алгоритму FEC 2/3 (5 бит управления на 10 бит данных). Форматы пакетов HV1, HV2, HV3 и DV определены только для каналов SCO. Максимальный размер поля данных (341 байт) имеют пакеты DH5. Уровень протокола baseband специфицирует пять логических каналов: LC (Control Channel) и LM (Link Manager) используются на канальном уровне, а UA (User Asynchronous), UI (User Isosynchronous) и US (User Synchronous) служат для асинхронной, изосинхронной и синхронной транспортировки пользовательских данных. Контроллер Bluetooth может работать автономно (Standby) или в режиме соединения. Предусмотрено семь субсостояний, которые используются для добавления клиента или подключения к пикосети: page, page scan, inquiry, inquiry scan, master response, slave response и inquiry response.

Состояние Standby по умолчанию является режимом с пониженным энергопотреблением, при этом работает только внутренний задающий генератор. В состоянии соединения главный узел (master) и клиент (slave) могут обмениваться пакетами, используя код доступа к каналу.

В протоколе baseband предусмотрено три типа схем коррекции ошибок: 1/3 FEC, 2/3 FEC и ARQ.

Протоколом baseband рекомендуется использование буферов типа FIFO. Если данные не могут быть приняты, контроллер приема (Link Controller) вставляет в заголовок отклика индикатор stop. Когда передатчик получает индикатор stop, он блокирует очереди в FIFO. Получатель может возобновить процесс передачи, послав отправителю индикатор go.

Соединение между устройствами происходит следующим образом: если ничего не известно об удаленном устройстве, используются процедуры inquiry и page. Если некоторая информация о партнере имеется, то достаточно процедуры page.

Этап 1:

Процедура inquiry позволяет устройству определить, какие приборы доступны, выяснить адреса и осуществить синхронизацию.

  1. Посылаются пакеты inquiry и получаются отклики
  2. Будем считать, что блок (адресат), получивший пакет inquiry, находится в состоянии inquiry scan (тогда он способен принимать такие пакеты)
  3. Получатель переходит в состояние inquiry response и посылает отправителю пакет-отклик

После того как процедура inquiry завершена, соединение может быть установлено с помощью процедуры paging.

Этап 2:

Процедура paging реализует соединение. Для осуществления этой процедуры необходим адрес. Устройство, выполняющее процедуру paging, автоматически становится хозяином этого соединения.

  1. Посылается пакет paging
  2. Адресат получает этот пакет (находится в состоянии page Scan)
  3. Получатель посылает отправителю пакет-отклик (находится в состоянии Slave Response)
  4. Инициатор посылает адресату пакет FHS (находится в состоянии Master Response)
  5. Получатель посылает отправителю второй пакет-отклик (находится в состоянии Slave Response)
  6. Получатель и отправитель устанавливают параметры канала, заданные инициатором (находятся в состоянии Master Response & Slave Response)

После установления соединения главный узел (master) посылает пакет POLL, чтобы проверить, синхронизовал ли клиент свои часы и настроился ли на коммутацию частот. Клиент при этом может откликнуться любым пакетом.

Устройство Bluetooth при установлении соединения может работать в четырех режимах: Active, Hold, Sniff и Park (активный, удержание, прослушивание и пассивный, соответственно). Смотри табл. 8.1.

Протокол L2CAP отвечает за формирование пакетов, деление на кадры и сборку пакетов (вспомним, что нижележащий протокол baseband позволяет иметь пакеты не длиннее 341 байта), которые в данном стандарте могут достигать размера 64 кБ. L2CAP производит мультиплексирование и демультиплексирование для отправителей пакетов, кроме того, протокол ответственен за качество обслуживания, как при передаче, так и во время ожидания. На фазе установления соединения L2CAP согласует максимальный размер поля данных, так как не все узлы могут работать с 64-килобайтными пакетами. Этот протокол не используется в случае синхронных коммуникаций. В стандарте Bluetooth предусмотрены обмены как с установлением соединения, так и без. Последний режим называется ASL (Asynchronous Connectionless).

Трафик ASL доставляется с применением принципа максимально возможного сервиса. Никаких гарантий при этом не предоставляется. У подчиненного узла может быть только одно ASL-соединение с главным. Обмен с установлением соединения называется SCO (Synchronous Connection Oriented). Этот вид коммуникаций используется, например, при телефонных переговорах. Здесь для каждого из направлений передачи выделяется фиксированный временной интервал. Повторных передач не производится, вместо этого в случае ошибок применяется их коррекция. У подчиненного узла может быть до 3 соединений типа SCO с главным узлом, каждое из которых представляет собой PCM-канал с пропускной способностью 64кбит/c. Протокол должен поддерживать протокольное мультиплексирование, так как уровень baseband не имеет поля тип, позволяющего идентифицировать протокол более высокого уровня. Протокол L2CAP присваивает виртуальным каналам (точка-точка) идентификаторы CID (Channel Identifier). Для целей управления трафиком он целиком полагается на уровень LM (Link Manager) протокола baseband.

Таблица 8.1. Режимы работы Bluetooth
Название режимаОписание
ActiveВ активном режиме устройство Bluetooth участвует в работе канала. Главный узел (master) диспетчеризует обмены на основе запросов трафика, поступающих от участников. Кроме того, этот режим предусматривает регулярные обмены с целью синхронизации клиентов. Активные клиенты прослушивают домены master-to-slave пакетов. Если к активному клиенту нет обращений, он может пребывать в пассивном состоянии (sleep) до очередной передачи со стороны главного узла
SniffУстройства, синхронизованные в рамках пикосети, могут перейти в режим экономного расходования энергии, когда их активность понижается. В режиме SNIFF устройство-клиент прослушивает пикосеть с пониженной частотой. Этот режим имеет наивысшую скважность рабочего цикла (наименьшая экономия энергии) из 3 экономичных режимов (sniff, hold и park)
HoldУстройства, синхронизованные в рамках пикосети, могут перейти в режим экономного расходования энергии, когда их активность понижается. Главный узел пикосети может перевести клиента в режим HOLD, когда работает только внутренний таймер. Устройство-клиент может запросить перевода в режим HOLD. Передача данных возобновляется мгновенно, когда устройство выходит из режима HOLD. Клиент имеет промежуточную скважность (промежуточный уровень экономии энергии) из указанных 3 режимов (sniff, hold и park)
ParkВ режиме PARK устройство еще синхронизовано в рамках пикосети, но не принимает участия в обменах. Пассивные устройства отказываются от своих MAC-адресов (AM_ADDR), прослушивают трафик главного модуля с целью ресинхронизации и отслеживают широковещательные сообщения. Данный режим имеет минимально возможную скважность (максимальная экономия энергии) из указанных 3 режимов (sniff, hold и park). Устройства, находящиеся в режиме park, должны посылать пакеты широковещательно, так как лишены собственного активного адреса.

Основу сети Bluetooth составляют пикосети (piconet), состоящие из одного главного узла и до семи клиентских, размещенных в радиусе 10 м (смотри рис. 8.8). Все узлы такой сети работают на одной частоте и разделяют общий канал. В одной достаточно большой комнате могут располагаться несколько пикосетей. Эти сети могут связываться друг с другом через мосты. Пикосети, объединенные вместе, составляют рассеянную сеть ( scatternet ). Поскольку в каждой пикосети имеется свой master, последовательность и фазы переключения их частот не будут совпадать. Если пикосети взаимодействуют друг с другом, это приводит к понижению пропускной способности. Устройство Bluetooth может выступать в качестве клиента в нескольких пикосетях, но главным узлом (master) может быть только в одной пикосети. Кроме 7 активных клиентских узлов главный узел может поддерживать до 255 пассивных (спящих) узлов (переведенных управляющим узлом в режим пониженного энергопотребления).

Две пикосети, образующие рассеянную сеть (Э. Таненбаум "Компьютерные сети", Питер, 2003)


Рис. 8.8.  Две пикосети, образующие рассеянную сеть (Э. Таненбаум "Компьютерные сети", Питер, 2003)

Иногда мастер и клиент могут захотеть поменяться ролями. Это может быть выполнено в два этапа.

  1. Происходит отключение обоих участников процесса от пикосети и осуществляется переключение TDD (Time Division Duplex) трансиверов.
  2. Если требуется, узлы старой пикосети образуют новую пикосеть

Когда узел получил подтверждение на свой FHS-пакет, он будет использовать параметры новой пикосети, заданные новым мастером. На этом переключение мастер-клиент завершается.

Самым низким уровнем протокола является уровень радиосвязи. На этом уровне данные передаются от главного узла к подчиненному бит за битом. Все узлы пикосети перестраивают частоту одновременно, последовательность частот определяется главным узлом ( М на рис. 8.8). Главный узел (master) является источником синхронизации для всех клиентов пикосети.

Выше уровня радиосвязи размещен уровень немодулированной передачи. Он преобразует поток бит в кадры и определяет базовые форматы. Передача со стороны главного узла производится в четные такты, а со стороны подчиненных узлов — в нечетные. Кадры могут иметь длину 1, 3 или 5 тактов. Все кадры передаются между главным и подчиненным узлами по логическому каналу, называемому соединением.

Одним из активных состояний узла является paging state. В этом состоянии возможно установление или возобновление соединения. Главный узел в этом состоянии непрерывно посылает в эфир короткие ID-пакеты, содержащие только код доступа устройства ( device access code ). В рамках одного временного домена посылается два пакета на двух разных частотах. Узел-клиент в состоянии paging прослушивает за время 625 мксек две частоты, проверяя наличие своего кода ( ID ).

Для установления соединения посылается запрос. Отправитель запроса не сообщает ничего, кроме своего типа. Когда пассивное устройство обнаружено главным узлом пикосети (откликнулось пакетом FHS, сообщающем о состоянии внутренних часов, об адресе и т.д.), главный узел формирует и посылает пакет POLL, с целью проверки правильности конфигурационных параметров и готовности к приему данных. Клиент может ответить любым пакетом, но если мастер не получил никакого отклика, он переходит в состояние paging или inquiry. Клиент может подключиться и к другой пикосети, для этого в текущей сети он может запросить перехода в режим park или hold. В режиме sniff клиент имеет несколько свободных временных слотов, чтобы участвовать в обменах с соседними сетями. Терминал, находящийся вне зоны связи, должен пребывать в состоянии page mode. Шлюз-сервер должен выделять достаточно ресурсов для запросов page scanning.

Спецификация Bluetooth v1.1 определяет 13 типов поддерживаемых приложений, которые называются профилями ; существует также 12 дополнительных профилей. Профили работают на самом верху иерархии слоев протокола (смотри табл. 8.2). По существу профили являются регламентациями прикладного уровня.

Таблица 8.2. Основные и дополнительные профили Bluetooth (смотри http://www.palowireless.com/infotooth/tutorial/profiles.asp)
NНазваниеОписание
Основные профили
1GAP (Generic Access Profile)Процедура управления связью
2SDAP (Service Discovery Application Profile)Протокол определения предлагаемых сервисов
3CTP (Cordless Telephony Profile)Профиль беспроводной телефонии
4GOEP (Generic Object Exchange Profile)Протокол операций клиент-сервер при работе с объектами (обмен данными). Клиентская станция инициирует обмен, но она может выполнять и роль сервера.
5LAP (LAN Access Profile)Протокол связи мобильной ЭВМ со стационарной LAN
6DNP (Dial-up Networking Profile)Протокол связи ЭВМ с сетью посредством мобильного телефона
7FP (Fax Profile)Протокол связи мобильного факса с мобильным телефоном
8SPP (Serial Port Profile)Профиль для работы с последовательным портом
9IP (Intercom Profile)Мобильные телефоны могут работать как переносные цифровые рации
10HS (Headset Profile)Протокол связи устройства hands-free с мобильным телефоном
11OPP (Object Push Profile)Протокол пересылки простых объектов
12FTP (File Transfer Profile)Протокол пересылки файлов
13SP (Synchronization Profile)Протокол синхронизации PDA с другой ЭВМ
Дополнительные профили
1ESDP (Extended Service Discovery Profile)Профиль для реализации процедур Plug and Play
2A2DR (Advanced Audio Distribution Profile)Продвинутый профиль рассылки аудио данных
3AVRCD (Audio Video Remote Control Profile)Аудио-видео профиль удаленного управления
4BIP (Basic Imaging Profile)Базовый профиль работы с изображением
5BPP (Basic Printing Profile)Базовый профиль для печати
6CIP (Common ISDN Access Profile)Общий профиль доступа к ISDN
7GAVDP (Generic Audio Video Distribution Profile)Общий профиль рассылки аудио и видео данных
8HFR (Hands-Free Profile)Профиль для освобождения рук
9HCRP (Hardcopy Cable Replacement Profile)Протокол замены приборного связного кабеля
10HID (Human Interface Device Profile)Профиль для реализации интерфейса с человеком
11PAN (Personal Area Networking)Протокол формирования персональной сети
12SAP (SIM Access Profile)Протокол доступа к SIM

Профили 5-7 конкурируют с протоколом IEEE 802.11. Профиль удаленного доступа служит для подключения ЭВМ к мобильному телефону, снабженному модемом, без использования проводов. Профайл факс позволяет беспроводным факс-устройствам отсылать и получать факсы посредством мобильного телефона. Профили 8-10 имеют отношение к телефонии, в перспективе мобильный телефон и беспроводная трубка домашнего телефона станут взаимозаменяемы. Профиль 10 представляет собой приложение, позволяющее устройствам hands-free держать связь с базой, что удобно, например, при езде в автомобиле. Профили 11-13 служат для пересылки объектов между беспроводными устройствами. Объектами могут быть изображения, информационные файлы и т.д. Во главе семейства протоколов находится SDP (Service Description Protocol; смотри http://www.palowireless.com/infotooth/tutorial/sdp.asp), предназначенный для определения услуг, оказываемых удаленным устройствам. С помощью команд данного протокола можно считать данные из локальной БД, определить характеристики удаленного устройства и на основе этой информации выяснить параметры оказываемых услуг. SDP использует модель запрос/отклик, где каждая транзакция включает в себя один запрос и один отклик. С помощью посылки одиночного SDP пакета можно осуществлять простое управление информационным потоком. Такой пакет может не сопровождаться откликом.

Поле данных пакета SDP имеет заголовок, содержащий три поля:

Параметры могут содержать атрибут состояния продолжения ( continuation state ). Некоторые запросы могут потребовать такого большого отклика, который не поместится в одно поле данных. Тогда SDP-сервер генерирует частичный отклик с параметром состояния продолжения. Аналогичный атрибут должен присутствовать в очередном запросе клиента, требующего следующую порцию данных отклика. Такой запрос имеет только два поля InfoLength (1 байт) и Continuation Information (InfoLength байт).

Сервис (service) является единственной сущностью (entity), которая предоставляет информацию для выполнения каких-либо действий. Сервис может реализоваться аппаратно или программно. Информация о сервисах содержится в записях, которые представляют собой списки атрибутов. Каждый атрибут описывает одну характеристику сервиса. SDP имеет следующие атрибуты сервиса:

Некоторые атрибуты являются общими для всех записей сервиса, но сервис-провайдеры могут определить свои собственные атрибуты услуг в зарезервированных полях.

Атрибут содержит два компонента: идентификатор ( ID ) и значение атрибута.

Различные виды сервиса группируются в классы. Все атрибуты, содержащиеся в записи сервиса, относятся к одному классу. Каждому классу присвоен уникальный идентификатор UUID. UUID представляет собой 128-битовый код, но возможны псевдонимы (16- и 32-битовой длины).

Клиент может, зная значение UUID, получить указатель на соответствующую запись сервиса. Можно провести поиск и по идентификатору класса.

Значение атрибута имеет вид информационного элемента, который содержит два поля: заголовок и данные. Заголовок включает в себя две части: дескриптор типа и дескриптор размера.

Type Descriptor5-битовый код, составляющий старшие разряды информационного элемента заголовка
Size Descriptor3-битовый код индекса, за которым следует 0, 8, 16 или 32 бита. Индекс содержит младшие 3 бита информационного элемента заголовка

Взаимодействующие приборы в Bluetooth могут выполнять роль локального ( LocDev ) или удаленного устройства ( RemDev ). LocDev — прибор, который может инициировать процедуру выявления доступной услуги. Такой прибор должен содержать, по крайней мере, клиентскую часть архитектуры SDP. RemDev может быть любым прибором, который участвует в процессе выявления доступных услуг, посылая отклик на запрос LocDev. RemDev должен содержать, по крайней мере, серверную часть архитектуры SDP. RemDev имеет базу данных сервисных записей. Прежде чем два устройства Bluetooth начнут взаимодействовать, каждый из них должен:

  1. быть включенным и инициализированным. При инициализации может потребоваться PIN для формирования ключа соединения (link key);
  2. должен сформировать Bluetooth соединение, которое может потребовать BD_ADDR других устройств.

Выявление услуг (Service Discovery) поддерживает следующие прикладные примитивы для взаимодействия с другими устройствами:

Менеджер канала служит для аутентификации, установления и конфигурации соединения, а также шифрования. Данные управления укладываются в однослотовые кадры. Для транспортировки протокольных данных используются пакеты DM1 (в случае SCO — пакеты РМ1). Заголовки этих пакетов содержат всегда 1 байт. Менеджер канала (LM) обнаруживает другие LM и взаимодействует с ними через посредство протокола LMP. Чтобы выполнить роль провайдера, LM использует ниже расположенный контроллер канала (LC). LMP-протокол регламентирует структуру управляющих данных (PDU). Приложение должно поддерживать часть типов PDU, остальные являются опционными.

В протоколе Bluetooth определены 4 типа адресов: BD_ADDR, AM_ADDR, PM_ADDR и AR_ADDR. Таблица 8.3а.

Таблица 8.3. Обязательные типы PDU протокола LMP
ФункцияТип PDUОписание
Изменение ключа каналаLMP_comb_keyКлюч канала получается из комбинационных ключей. Содержимое LMP_comb_key защищается с помощью операции XOR с привлечением текущего ключа канала
Изменение текущего ключа каналаLMP_temp_rand, LMP_temp_key, LMP_use_semi_permanent_keyТекущий ключ канала может быть полупостоянным или временным ключом канала. Ключ может быть изменен временно, но изменение действует только на время сессии. Изменение временного ключа канала нужно, если пикосеть поддерживает шифрованные бродкасты
Запрос сдвига часовLMP_clkoffset_req, LMP_clkoffset_resКогда клиент получает FHS-пакет, вычисляется разность между показанием его часов и часов мастера, записанным в поле данных пакета. Мастер может запросить значение сдвига часов в любое время
Версия LMPLMP_version_req, LMP_version_resУровень LMP поддерживает запросы версии LMP. Запрашиваемое устройство должно прислать отклик с тремя параметрами: VersNr (номер версии протокола), CompId (служит для отслеживания проблем на нижних протокольных уровнях) и Sub-VersNr (рекомендуется, чтобы фирма имела уникальное значение Sub-VersNr для каждого RF/BB/LM)
Поддерживаемые возможностиLMP_feature_req, LMP_feature_resКонтроллер радио и канала может поддерживать только субнабор типов пакетов и возможностей. Устройство может не посылать никаких пакетов кроме ID, FHS, NULL, POLL, ВM1 или DH1, прежде чем озаботится возможностями других устройств. После выполнения запроса возможностей может быть передана область перекрытия возможностей взаимодействующих устройств
Запрос имениLMP_name_req, LMP_name_resLMP поддерживает запрос имени другого устройства. Имя состоит максимум из 248 байтов (UTF-8)
Запрос разрываLMP_detachСоединение может быть разорвано в любое время по запросу мастера или клиента. В сообщение включаются данные, поясняющие причину разрыва
Качество обслуживанияLMP_quality_of_service, LMP_quality_of_service_reqLM предоставляет возможности качества обслуживания. Интервал, который определяет максимальное время между последовательными передачами мастер — заданный клиент, используется для обеспечения определенной полосы пропускания и RTT
Управление мультислотовыми пакетамиLMP_max_slot, LMP_max_slot_reqЧисло слотов, используемых устройством, может быть ограничено. Устройство позволяет удаленному устройству использовать максимальное число слотов, послав ему значение LMP_max_slot
Управление каналомLMP_supervision_timeoutКаждый канал имеет таймер, который используется для управления каналом. Этот таймер служит для детектирования потери связи при уходе устройства из зоны досягаемости, отказа источника питания или другой поломки. Процедура определяет значение таймаута
Установление соединенияLMP_host_connection_req, LMP_setup_completeКогда устройство желает установить соединение, включающее уровни выше LM, оно посылает LMP_host_connection_req. Когда партнер получает такое сообщение, он может принять или отвергнуть предлагаемое соединение, послав LMP_accepted или LMP_not_accepted
Режим проверкиLMP_test_activate, LMP_test_controlLMP имеет PDU для поддержки различных методов тестирования, которые используются на уровне radio и baseband
Обработка ошибокLMP_not_acceptedЕсли LM получает PDU с нераспознанным кодом, он реагирует посылкой сообщения LMP_not_accepted
Таблица 8.3a.
BD_ADDRКаждому трансиверу Bluetooth присваивается уникальный 48-битовый адрес устройства. Он содержит 24-битовое поле LAP, 16-битовое поле NAP и 8-битовое поле UAP.
AM_ADDR3-битовый код. Он является рабочим, если клиентский узел пикосети является активным. Он иногда называется МАС-адресом модуля Bluetooth.
PM_ADDR8-битовый код, идентифицирующий пассивный узел пикосети. PM_ADDR является рабочим, пока подчиненный узел пикосети пассивен (parked).
AR_ADDRИспользуется пассивным узлом пикосети (parked), чтобы определить полудомен slave-to-master в окне доступа, которое ему предназначено для отправки сообщений запросов доступа. Адрес является рабочим, пока подчиненный узел пассивен и не обязательно является уникальным.

В рамках протокола определена структура интерфейса HCI (Host Controller Interface; смотри http://www.palowireless.com/infotooth/tutorial/hci.asp). Этот интерфейс осуществляет интеграцию низкоуровневых интерфейсов baseband и программного обеспечения клиента. Спецификация поддерживает работу с интерфейсами RS232, UART и USB.

HCI предлагает командный метод доступа к аппаратным возможностям Bluetooth. Канальные команды HCI позволяют управлять канальным уровнем соединения с другими устройствами. В перечень входят команды менеджера канала (LM — Link Manager) предназначенные для обмена LMP-командами с удаленными устройствами. Данные для канала LM транспортируются кадрами DM. Команды HCI Policy используются для воздействия на локальный и удаленный LM. Команды Host Controller, Baseband, Informational и Status предоставляют доступ к различным регистрам интерфейса.

Эмуляция последовательных портов (в частности RS-232) посредством L2CAP осуществляется транспортным протоколом RFCOMM (смотри http://www.palowireless.com/infotooth/tutorial/rfcomm.asp). Протокол базируется на стандарте ETSI TS 07.10. RFCOMM поддерживает до 60 одновременных соединений между приборами. Это могут быть модемы, принтеры или ЭВМ.

Транспортный уровень контроллера устройства обеспечивает обмен специфической HCI-информацией. Спецификация HCI определяет формат команд, событий и данных в рамках обмена между устройством и контроллером. Протокол HCI специфицирует 32 различного рода события ( Inquiry Complete Event, Page Scan Repetition Mode Change Event и т.д.).

На рис. 8.9 показан формат заголовка кадра протокола Bluetooth. Структура заголовка регламентируется уровнем baseband.

Формат кадров


Рис. 8.9.  Формат кадров

Предусмотрено три типа кодов доступа: CAC (Channel Access Code — код доступа к каналу), DAC (Device Access Code — код доступа к устройству) и IAC (Inquiry Access Code – код запроса). Код доступа к каналу CAC идентифицирует пикосеть, в то время как DAC используется для запросов соединения и для их откликов (paging). IAC служит для информационных запросов. Поле код синхронизации (64 бита) состоит из 24-битового адреса узла — инициатора соединения (paging).

Алгоритм вычисления адреса узла обеспечивает достаточно большое расстояние Хэмминга между разными синхрокодами, что гарантирует невозможность перепутывания идентификаторов разных устройств даже в случае приема их с ошибками. Поле хвостовик служит для обеспечения балансировки сигнала по постоянному току и синхронизации. 18-битовый заголовок кадра повторяется трижды (18*3=54 бита), он содержит в себе флаги подтверждения и нумерации, а также средства управления потоком. Поле адрес (AM_ADDR — 3 бита — MAC-адрес) определяет один из восьми узлов, которому предназначен кадр. AM_ADDR однозначно определяет один из сетевых клиентов пикосети. Поле тип (4 бита) характеризует тип передаваемого кадра (ACL, SCO, опрос или пустой кадр), метод коррекции ошибок и число временных интервалов, из которых состоит кадр. Бит FLOW (поток) устанавливается подчиненным узлом и уведомляет о том, что его буфер заполнен. Бит ACK (подтверждение) указывает на подтверждение, посылаемое вместе с кадром. Если этот бит =1, предыдущий пакет успешно доставлен. Бит SEQN (последовательность) служит для нумерации кадров, что помогает обнаруживать повторные передачи. Для каждого очередного пакета этот бит инвертируется. Данный протокол предполагает ожидание, поэтому одного бита оказывается достаточно.

Поле HEC представляет собой 8-битовую контрольную сумму. Принимающая сторона анализирует все три копии заголовка бит за битом. Значение бита определяется мажоритарной схемой (2 или 3 совпадающие бита из трех определяют истинное значение).

В кадрах ACL используются разные форматы данных. Возможны три варианта: 80, 160 и 240 бит, оставшееся место используется для коррекции ошибок. По этой причине вариант с 80 битами самый надежный: при этом данные повторяются три раза ( 80*3=240 ). Фактически применяется тот же прием, что и в случае заголовка. Поле данных кадра SCO всегда имеет 240 бит. Так как подчиненные узлы могут использовать только нечетные временные домены, им достается 800 доменов в секунду, столько же получает и главный узел. При 80 битах данных в кадре подчиненный узел может передать 64 кбит/c. Этого вполне достаточно для голосового обмена. При самом ненадежном варианте (240 бит данных на кадр) можно иметь три полнодуплексных голосовых связи. Это и ограничивает максимальное число SCO соединений.

Существует 4 категории пакетов Bluetooth. К первой категории относятся пакеты, общие для всех видов соединений (NULL, POLL, FHS, DM1). Три другие описывают пакеты различной длины: ко второй относятся однослотовые кадры, а к четвертой — кадры, занимающие пять временных слотов. Большинство типов пока не определены. ID-кадры имеют длину 64 бита и используются для пейджинга и запросов. NULL-кадры содержат поля лишь кода доступа и заголовка и используются для передачи подтверждений. Кадры POLL похожи на NULL, но требуют от получателя отклика. Пакеты рассматриваются как широковещательные в пикосети, если поле адреса имеет нулевое значение. Прием широковещательных кадров никогда не подтверждается, а для надежности они передаются несколько раз.

Кадры FHS содержат информацию об адресе, классе устройства и о тактовой частоте передатчика. Эти кадры используются при инициализации новой пикосети или при смене схемы переключения несущей частоты. К этой категории следует отнести и кадры DM1, транспортирующие управляющую информацию. Для синхронных соединений определены несколько кадров, различающихся длиной, HV1, HV2 и HV3 с длинами поля данных 10, 20 и 30 байт, соответственно. Тип кадров HV (High quality Voice) предназначен для трансляции голосовых потоков. Тип кадра DV предназначен для передачи как голоса, так и данных и содержит 80 бит для голоса и 150 бит для данных. Блок данных защищается посредством CRC и в случае ошибки может пересылаться повторно.

Как и для всех радиосредств коммуникации, для Bluetooth проблема безопасности крайне актуальна. Безопасность протокола обеспечивается с помощью механизма аутентификации и шифрования передаваемых данных. Ключ авторизации имеет 128 бит. Длина ключа шифрования может лежать в пределах 8-128 бит. Кроме того, целям безопасности служат ключи соединения (link key), которые могут быть полупостоянными и временными. Первые хранятся в энергонезависимой памяти, вторые — обновляются при каждом соединении. Устройство может генерировать свой ключ (unit key). Возможно формирование совместного ключа (combination key), при его вычислении используется информация от обоих участников будущего обмена. Особое место занимает мастер-ключ (master key), используемый для рассылки данных нескольким узлам одновременно (используется вместо текущего ключа соединения (current link key)). Для выполнения аутентификации устройству нужно получить от партнера случайное число, сформировать на основе него и своего BD_ADDR некоторый код и отослать его партнеру, который проверяет его корректность. Если общий ключ не сгенерирован, формируется инициализационный ключ. Инициатор процедуры посылает партнеру случайное число, которое в сочетании с идентификатором BD_ADDR последнего образует инициализационный ключ.

Для решения проблем беспроводной связи на уровне города разработан стандарт IEEE 802.16.

8.2. Стандарт широкополосной беспроводной связи IEEE 802.16

Бурное развитие разнообразных мобильных телекоммуникаций и пугающее многообразие стандартов эфирного межсетевого обмена продиктовало разработку стандарта, решающего проблему совместимости.

Стандарт 802.16 (январь 2003г) уровня МАС предназначен для реализации широкополосных каналов последней мили в городских сетях (MAN). Его задачей является обеспечения сетевого уровня между локальными (IEEE 802.11) и региональными сетями (WAN), где планируется применение разрабатываемого стандарта IEEE 802.20. Эти стандарты совместно со стандартом IEEE 802.15 ( PANPersonal Area NetworkBluetooth ) и 802.1 (мосты уровня МАС) образуют взаимосогласованную иерархию протоколов беспроводной связи. WEB-сервер рабочей группы 802.16 размещен по адресу http://grouper.ieee.org/groups/802/16/index.html. Более подробное описание на русском языке можно найти по адресу http://book.itep.ru/4/41/802_16.htm.

Стандарт покрывает диапазон частот от 2 до 11 ГГц. Стабильность частоты должна лежать в пределах . Базовая станция ( BS ), следующая стандарту 802.16, размещается в здании или на вышке и осуществляет связь со станциями клиентов ( SS — Subscriber Station) по схеме точка-мультиточка ( PMP ). Возможен сеточный режим связи ( Mesh – сетка связей точка-точка — PTP ), когда любые клиенты (SS) могут осуществлять связь между собой непосредственно, а антенные системы, как правило, являются всенаправленными. Базовая станция предоставляет соединение с основной сетью и радиоканалы к другим станциям. Диапазон рабочих расстояний может достигать 30 миль (в случае прямой видимости) при типовом радиусе сети 4-6 миль (для режима Mesh при высоте размещения антенны BS – 50м), где пропускная способность может быть гарантированной. Предусмотрен также режим мультиточка-мультиточка ( MP-MP ), который имеет ту же функциональность, что и PMP. Клиентская станция (SS) может быть радиотерминалом или повторителем (более типично) для организации локального трафика.

Трафик может проходить через несколько повторителей, прежде чем достигнет клиента. Антенны в этом случае являются направленными с возможностью дистанционной настройки. Терминальная станция клиента (SS) обычно имеет остронаправленную антенну. По этой причине положение антенны должно быть жестко фиксировано и устойчиво к ветру и другим потенциальным источникам вибрации. Широкополосные системы доступа к радиосети, помимо BS и SS, содержат клиентское терминальное оборудование ( TE ), оборудование основной сети, межузловые каналы и повторители ( RS ). Повторители используются, когда между конечными точками канала нет прямой видимости. Повторитель передает сигнал от BS к одной или нескольким SS. В системах MP-MP большинство станций являются повторителями. PTP -соединения (точка-точка) между базовыми станциями могут поддерживать обмен согласно стандартам от DS-3 до OC-3.

Канал связи предполагает наличие двух практически независимых направлений обмена: отправитель-получатель ( uplink – восходящий канал) и получатель-отправитель ( downlink – нисходящий канал; по аналогии со спутниковыми каналами). Эти два субканала используют разные не перекрывающиеся частотные диапазоны. Данный стандарт относится к уровню L2, хотя его взаимосвязь с физическим уровнем ( PHY ) достаточно тесная.

При формировании радиосетей определенную проблему составляет интерференция сигналов смежных каналов и наложение перекрестных наводок с тепловыми шумами. Для таких каналов отношение I/N (отношение сигнала интерференции к тепловому шуму) лежит в диапазоне -6 -10 дБ. Следует, разумеется, учитывать, что уровень интерференционного сигнала варьируется в очень широких пределах.

Радиоволны в диапазоне 10-66 ГГц распространяются прямолинейно и подвержены поглощению при наличии дождя или сильного снега. Любые строения или объекты ландшафта препятствуют их распространению, даже если перекрывают видимость между передающей и принимающей антеннами лишь частично. Рекомендуются вертикальная или горизонтальная ориентации поляризации. Предельное расстояние связи ( RH ) для высоты положения антенн H1 и H2, сопряженное с кривизной земной поверхности, определяется формулой

где RH измеряется в км, а Н1 и Н2 в метрах.

Для успешной работы канала нужно обеспечить достаточно большое отношение уровней несущей и интерференционного сигнала ( C/I ). На практике приходится учитывать отношение C/(I+N), где N – уровень теплового шума, а также уровень шумов приемника (~6дБ). Тепловой шум приемника может иметь уровень -138 дБВт/МГц. Уровень интерференционного сигнала может быть примерно тем же. Эти факторы определяют выбор типа антенны, мощность передатчика и предельную длину канала. Чрезмерное увеличение мощности передатчика (с целью улучшения отношения сигнал-шум) нежелательно, так как это приводит к возрастанию уровня интерференционного сигнала.

Типовыми рекомендуемыми значениями для BS являются:

Для SS рекомендуется верхнее значение спектральной плотности < +30дБВт/МГц, аналогичные требования справедливы и для повторителей (RS).

Будем считать, что типовое значение шума приемника равно 6 дБ, тогда спектральная мощность теплового шума приемника вычисляется по формуле:

No = 10log(kTo) +NF

No = -144+6=-138 дБВт/МГц, где

No — спектральная мощность теплового шума приемника ( дБВт/МГц )

kTo – закон равномерного распределения ( -144дБВт/МГц )

NF – значение шума приемника ( 6дБ ).

Спектральная плотность потока ( psfd ) в апертуре антенны вычисляется как:

,

где

Pr= уровень мощности помех усилителя ( -144 дБВт/МГц )

эффективная апертура антенны

длина волны

коэффициент усиления антенны

Если рабочая частота равна 28 ГГц ( =0,011м), а значение усиления антенны равно 20 дБi, тогда приемлемый уровень помех определяется как:

.

Заметим, что в данном анализе рассматривалась только базовая станция (составляющая SS не учитывалась). Это, в первую очередь, связано с тем, что BS обычно размещаются на высоких зданиях и имеют всенаправленные антенны, и это увеличивает вероятность обеспечения прямой видимости. С другой стороны, SS чаще размещаются на небольших высотах, что уменьшает вероятность гарантированной прямой видимости.

Стандартный полнодуплексный канал базовой станции может иметь пропускную способность 75 Мбит/с. Такой канал обеспечивает до 60 соединений Т1 и сотни связей с домами, использующими DSL-подключения (при полосе 20 МГц). В последнем случае предоставляется качество обслуживания (QoS) на уровне "наилучшего возможного". При этом гарантируются минимальные задержки, что важно при передаче голоса (например, в режиме VoIP). Схема взаимодействия радиосетей в случае использования стандарта IEEE 802.16 показана на рис. 8.10.

Место стандарта IEEE 802.16 в системе радиокоммуникаций


Рис. 8.10.  Место стандарта IEEE 802.16 в системе радиокоммуникаций

Стандарт 802.16 может решать задачи, которые возникают в каналах с асимметричным трафиком. Сейчас они часто решаются клиентами и сервис-провайдерами путем заказа выделенных линий. Внедрение нового стандарта позволит отказаться от выделенных каналов, обходясь во многих случаях исключительно беспроводными средствами.

Продвижением стандарта 802.16 занимается консорциум WiMAX (World Interoperability for Microwave Access), куда входят Fujitsu, Intel и Nokia.

Краткие характеристики стандарта 802.16

Таблица 8.4. Краткие характеристики семейства стандартов 802.16
Название стандарта802.16802.16a802.16e
Дата принятиядекабрь 2001январь 2003середина 2004
Частотный диапазон10-66 ГГц2-11 ГГц2-6 ГГц
Быстродействие32-135 Мбит/с для 28МГц-каналадо 75 Мбит/с для 28МГц-каналадо 15 Мбит/с для 5МГц-канала
МодуляцияQPSK, 16QAM, 64QAMOFDM 256, QPSK, 16QAM, 64QAMOFDM 256, QPSK, 16QAM, 64QAM
Ширина канала20, 25 и 28 МГцРегулируемая 1,5-20МГцРегулируемая 1,5-20МГц
Радиус действия2-5 км7-10 км

макс. радиус 50 км

2-5 км
Условия работыПрямая видимостьРабота на отраженияхРабота на отражениях

Стандарт 802.16е предназначен для мобильных систем. Безопасность в сети обеспечивается с помощью протокола 3-DES.

Подуровень конвергенции ( CS ) размещается поверх уровня МАС. Этот подуровень выполняет следующие функции:

В настоящее время имеются спецификации подуровня конвергенции для асинхронного режима ( АТМ ) и пакетного субуровня конвергенции. Уровень конвергенции АТМ обеспечивает логический интерфейс, между услугами АТМ и сервисами МАС-уровня. Этот уровень осуществляет классификацию и, если требуется, процедуру PHS (подавление заголовков). При АТМ соединении, которое однозначно идентифицирует пару значений VPI (Virtual Path Identifier) и VCI (Virtual Channel Identifier), для этих целей используется либо виртуальный проход (VP), либо виртуальный канал (VC). Классификатором является набор критериев, используемых для каждой ячейки, которая попадает на субуровень конвергенции АТМ. В этот набор входит VPI и VCI, а также ссылка на CID (Connection ID).

C одним и тем же CID может работать несколько сессий высокого уровня. Например, несколько пользователей могут взаимодействовать через TCP/IP с несколькими различными сетевыми объектами. Следует при этом помнить, что IP-адреса инкапсулируются в поле данных транспортных пакетов.

Каждый узел имеет свой 48-битовый МАС-адрес (IEEE Std. 802-2001), который однозначно определяет поставщика оборудования и сам узел (как и в Ethernet). Этот адрес используется в процессе регистрации, чтобы установить соединение для SS. Он также применяется в процессе аутентификации, когда BS и SS идентифицируют друг друга. В процессе инициализации SS устанавливаются три управляющих соединения для каждого направления между SS и BS.

В процессе авторизации в сети узел-кандидат получает 16-битовый идентификатор ( Node ID ), который применяется в дальнейшем во всех операциях. Этот идентификатор используется в сеточном подзаголовке, который следует за общим заголовком кадра. Для обмена с соседями служит 8-битовый идентификатор канала ( Link ID ). Любой узел присваивает такой идентификатор каждому из осуществляемых соединений и передает его как часть CID (Connection ID – 16 бит) в общем заголовке уникастного сообщения. CID присваиваются посредством сообщений RNG-RSP и REG-RSP. Все это дает возможность реализовать три различных QoS между SS и BS. 16 битный CID позволяют осуществить до 64К соединений для нисходящего и восходящего каналов.

Классификация пакетов SS и BS содержит несколько классификаторов. Каждый классификатор включает в себя поле приоритета, которое определяет порядок просмотра классификаторов. Если найден классификатор, все параметры которого соответствуют пакету, последний будет переадресован в направлении места назначения.

В сети, в которой используется общая среда, необходим эффективный механизм обеспечения доступа к радиоэфиру.

Нисходящий канал от базовой станции (BS) до пользователя работает по схеме точка-мультиточка. При этом используется многосекционная антенна, позволяющая осуществлять связь с несколькими клиентами одновременно. В этом режиме BS выполняет простую функцию ретранслятора. В ее задачи при заданной частоте может входить только распределение времени между восходящим и нисходящим каналами. Существует пять различных механизмов диспетчеризации восходящего канала.

Для управления соединениями предусматривается несколько типов примитивов, предназначенных для формирования соединения, его модификации, закрытия и управления передачей данных. Среди этих примитивов содержатся запросы/отклики услуги, подтверждения и индикации.

В противоположном направлении станция пользователя совместно использует восходящий канал к BS на основе запросов. В зависимости от используемого класса услуг SS может быть предоставлена возможность непрерывной передачи или право передачи получается BS после получения запроса от пользователя. Блок данных МАС-кадра содержит заголовок, опционные поля данных и CRC. Формат МАС блока данных (PDU) представлен на рис. 8.11.

Формат МАС-заголовка (бит 0 является старшим)


Рис. 8.11.  Формат МАС-заголовка (бит 0 является старшим)

В случае НТ=1 (тип заголовка) место полей Rsv, CI, EKS, Rsv и LEN занимает поле BR. Таблица 8.5.

Таблица 8.5. Описания полей МАС-заголовка
Имя поляДлина в битахОписание
CI1Индикатор CRC

1= CRC добавляется к полю данных

0= CRC отсутствует

CID16Идентификатор соединения
EC1Управление шифрованием

0= поле данных не зашифровано

1= данные зашифрованы

EKS2Последовательность ключей шифрования

Индекс ключа шифрования трафика и вектор инициализации для шифрования поля данных. Поле имеет смысл при EC=1

HCS88-битовая контрольная сумма заголовка. Образующий полином: R(D)=D8+D2+D+1.
HT1Тип заголовка. Будет установлен равным нулю.
LEN11Длина в байтах поля данных и МАС-заголовка
Тип6Поле указывает на тип поля данных, включающего подзаголовки

Значения поля тип для нисходящего канала представлены в таблице 8.6.

Значения поля тип для восходящего канала представлены в таблице 8.7.

Таблица 8.6. Значения поля тип для нисходящего канала
ТипОписание
0х00Описание
0х01Зарезервировано
0х02Подзаголовок упакован
0х03Зарезервировано
0х04Имеется подзаголовок фрагментации
0х05-0х3FЗарезервировано
Таблица 8.7. Значения поля тип для восходящего канала
ТипОписание
0х00Описание
0х01Имеется подзаголовок Grant Management (основное управление)
0х02Имеется подзаголовок упаковки
0х03Присутствуют подзаголовки Grant Management и упаковки
0х04Имеются подзаголовки фрагментации и Grant Management
0х05-0х3FЗарезервировано

Блок данных (PDU) запроса полосы содержит заголовок запроса полосы пропускания и лишен поля данных. Формат заголовка показан на рис. 8.12.

Запрос полосы имеет следующие свойства:

Формат заголовка запроса полосы


Рис. 8.12.  Формат заголовка запроса полосы

Поля заголовка запроса полосы определены в таблице. Каждый заголовок кодируются, начиная с полей НТ и ЕС. Кодирование этих полей устроено так, что первый байт МАС-заголовка никогда не должен содержать кода 0xFX. Таблица 8.8.

Таблица 8.8. Поля заголовка запроса полосы
Имя поляДлина в битахОписание
BR16Запрос полосы

Число байтов запрашиваемой SS полосы восходящего канала. Запрос относится к данному CID.

CID16Идентификатор соединения
EC1Всегда равно нулю
HCS88-битовая контрольная сумма заголовка. Образующий полином: R(D)=D8+D2+D+1.
HT1HT =1.
Тип6Поле указывает на тип заголовка запроса полосы

Могут присутствовать три типа подзаголовков МАС (фрагментации и управления). Если подзаголовки фрагментации и управления присутствуют одновременно, то подзаголовок управления помещается первым. Таблица 8.9.

Таблица 8.9. Структура подзаголовка управления
СинтаксисРазмерОписание
Подзаголовок Grant Management ()
{ if(тип службы диспетчеризации=UGS) {
SI1 бит
PM1 бит
Зарезервировано14 битУстанавливается равным 0
} else {
Комбинированный запрос}}16 бит

Описание полей подзаголовка управления представлено в табл. 8.10.

Таблица 8.10. Описание полей подзаголовка управления
Имя поляДлина в битахОписание
PBR16Комбинированный запрос. Число байт, запрошенных SS для полосы восходящего канала. Запрос полосы относится к CID и не включает поля заголовка физического уровня.
PM1Регистрация (poll-me)

0 = никаких действий

1 = используется SS для запроса регистрации полосы.

CI1Индикатор смещения (slip)

0 = никаких действий

1 = используется SS для указания смещения возможностей восходящего канала по отношению к длине очереди в этом канале.

Сообщения управления МАС

Определен набор управляющих сообщений МАС. Эти сообщения транспортируются в блоках данных MAC PDU. Все управляющие сообщения МАС начинаются с поля тип сообщения и могут содержать дополнительные поля. Управляющие сообщения для базовых, широковещательных и исходных соединений (initial ranging) не могут быть фрагментированы или упакованы. Управляющие сообщения первичного соединения могут быть упакованы и/или фрагментированы. Значения поля тип сообщения представлены в табл. 8.11. Управляющие сообщения не могут передаваться через транспортные соединения.

Таблица 8.11. Значения поля тип
ТипИмя сообщенияОписание сообщенияСоединение
0UCDДескриптор восходящего каналаШироковещательное
1DCDДескриптор нисходящего каналаШироковещательное
2DL-MAPОпределение доступа к нисходящему каналуШироковещательное
3UL-MAPОпределение доступа к восходящему каналуШироковещательное
4RNG-REQЗапрос диапазонаИсходное или базовое
5RNG-RSPОтклик диапазонаИсходное или базовое
6REG-REQЗапрос регистрацииПервичное управление
7REG-RSPОтклик регистрацииПервичное управление
8Зарезерв.
9PKM-REQЗапрос управления ключом конфиденциальностиПервичное управление
10PKM-RSPОтклик на запрос управления ключом конфиденциальностиПервичное управление
11DSA-REQЗапрос добавления динамического сервисаПервичное управление
12DSA-RSPОтклик добавления динамического сервисаПервичное управление
13DSA-ACKПодтверждение добавления динамического сервисаПервичное управление
14DSC-REQЗапрос изменения динамического сервисаПервичное управление
15DSC-RSPОтклик изменения динамического сервисаПервичное управление
16DSC-ACKПодтверждение изменения динамического сервисаПервичное управление
17DSD-REQЗапрос аннулирования динамического сервисаПервичное управление
18DSD-RSPОтклик аннулирования динамического сервисаПервичное управление
19Зарезервировано на будущее
20Зарезервировано на будущее
21MCA-REQЗапрос мультикастингового присвоенияБазовое
22MCA-RSPОтклик мультикастингового присвоенияБазовое
23DBPC-REQЗапрос изменения профиля нисходящего каналаБазовое
24DBPC-RSPОтклик изменения профиля нисходящего каналаБазовое
25RES-CMDКоманда сбросаБазовое
26SBC-REQЗапрос базовых возможностей SSБазовое
27SBC-RSPОтклик базовых возможностей SSБазовое
28CLK-CMPСравнение показаний сетевых часов SSШироковещательное
29DREG-CMDКоманда регистрации или ее отменыБазовое
30DSX-RVDСообщение получения DSxПервичное управление
31TFTP-CPLTСообщение завершения конфигурационного файла TFTPПервичное управление
32TFTP-REPОтклик завершения конфигурационного файла TFTPПервичное управление
33-255Зарезервировано на будущее

Сообщение дескриптора нисходящего канала (DCD)

DCD периодически передается BS, чтобы определить характеристики физического нисходящего канала. Параметры, следующие за ID канала, и число изменений конфигурации представляются в формате TLV (Type, Length, Value), где поля типа и длины имеют длину один байт. Формат сообщения DCD описан в табл. 8.12.

Таблица 8.12. Формат сообщения DCD
СинтаксисРазмерОписание
DCD_Message_Format () {
Тип управляющего сообщения = 18 бит
Идентификатор нисходящего канала8 бит
Число изменений конфигурации8 бит
Информация о канале в формате TLVперем.
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого профиля нисходящего канала с 1 до n
Downlink_Burst_Profile}} }Зависит от PHY

BS сформирует DCD, включая все перечисленные ниже параметры:

Число изменений конфигураций

BS инкрементируется на 1 по модулю 256 для любого изменения параметра канала с заданным дескриптором. Если значение этого счетчика в последующем DCD остается тем же, SS может решить, что остальные поля не изменились, и игнорировать оставшуюся часть сообщения.

Идентификатор нисходящего канала

Идентификатор нисходящего канала, к которому относится сообщение. Этот идентификатор произвольно выбирается BS и является уникальным для заданного домена подуровня MAC.

Параметры сообщения, которые следуют за числом изменений конфигурации, кодируются в формате TLV.

Downlink_Burst_Profile имеет комбинированную кодировку TLV, которая сопряжена с DIUC (Downlink Interval Usage Code) используемого физического канала. Каждый Downlink_Burst_Profile представляет собой неупорядоченный список атрибутов PHY, закодированных в формате TLV. Каждому интервалу с помощью сообщения DL-MAP ставится в соответствие DIUC.

Каждый Downlink_Burst_Profile в сообщении DCD содержит следующие параметры:

Если тип кода FEC равен 1, 2 или 3 Downlink_Burst_Profile будет содержать также:

Если тип кода FEC равен 2, то Downlink_Burst_Profile будет содержать тип кода BCC. Если же тип кода FEC равен 4, то Downlink_Burst_Profile будет содержать тип кода ряда BTC, тип кода колонки и тип интерливинга BTC. Соответствие между профайлом кластера и DUIC представлено в табл. 8.13.

Таблица 8.13. Соответствие между профайлом кластера и DIUC
Профайл кластера (burst)DIUC
Профайл DL 10
Профайл DL 21
Профайл DL 32
Профайл DL 43
Профайл DL 54
Профайл DL 65
Профайл DL 76
Профайл DL 87
Профайл DL 98
Профайл DL 109
Профайл DL 1110
Профайл DL 1211
Профайл DL 1312
Зарезервировано13
Зазор (Gap)14
Конец таблицы DL-MAP15

Конец таблицы DL-MAP указывает на первый PS после конца DL-субкадра. В табл. 8.14 представлен формат Downlink_Burst_Profile, который используется в сообщении DCD. Профайл кодируется с типом =1, 8-битовой длиной и 4-битовым DIUC.

Таблица 8.14. Формат Downlink_Burst_Profile
СинтаксисРазмерОписание
Тип=18 бит
Длинаперем.
Зарезервировано4 битаСледует устанавливать в 0
DUIC4 бита
Информация в формате TLVперем.

Секции данных нисходящего канала используются для передачи информационных и управляющих сообщений для станций клиентов. Для данных всегда используется FEC-кодирование. В режиме TDM данные передаются в порядке понижения трудоемкости профайлов. В случае режима TDMA данные группируются в кластеры (burst). Сообщение DLMAP содержит карту соответствия, которая уведомляет, с какого PS начинаются изменения профайла. Если в пределах кластера данные (DL) не заполняют всего субкадра, передатчик прекращает работу.

Вообще число PS i, выделенное для конкретного кластера, может быть вычислено на основе DL-MAP. Пусть n – минимальное число PS, необходимое для одного кодового слова FEC данного профайла. Тогда i=kn+j+q, где k – число кодов FEC, которые относятся к данному кластеру, j – число PS, занятых наибольшим возможным укороченным кодовым словом, а q (0#q<1) равно числу PS, занимаемых заполнителем в конце кластера, чтобы гарантировать целое i. Для операций с фиксированными кодами j=0. В конце кластера (когда нет следующего кодового слова) добавляются 4q символа, чтобы завершить PS. На рис. 8.13 показана схема привязки DL-MAP для варианта TDM, а на рис. 8.14 то же для варианта TDMA.

Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDM


Рис. 8.13.  Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDM

Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDMA


Рис. 8.14.  Схема привязки DL-MAP, использующая укороченные блоки FEC – вариант TDMA

Поле данных для нисходящего канала разбивается на блоки, размер которых согласуется с размером кодов после добавления указателя CS. Заметим, что длина поля данных может варьироваться в зависимости от того, разрешено ли использование укороченных кодов в профайле кластера. К каждому сегменту поля данных добавляется байт указателя. Это показано на рис. 8.15.

Формат PDU при передаче по нисходящему каналу CS


Рис. 8.15.  Формат PDU при передаче по нисходящему каналу CS

Поле указателя определяет номер байта в пакете, который указывает либо на начало первого MAC PDU в пакете, либо на начало любого набора байт, который предшествует следующему MAC PDU. Если в CS-пакете нет MAC PDU или набора байт, тогда байт указателя устанавливается равным нулю. Когда имеются данные для передачи, stuff_byte, равный 0xFF, будет использоваться в пределах поля данных для заполнения любых ниш между MAC PDU.

Кодирование и модуляция на физическом уровне нисходящего канала для данного режима отражены на рис. 8.16.

Блок-схема подуровня PMD нисходящего канала


Рис. 8.16.  Блок-схема подуровня PMD нисходящего канала

Нисходящий канал поддерживает адаптивное формирование профайлов кластеров для пользовательской части данных кадра. Может быть определено до 12 профайлов кластера. Параметры каждого передаются SS через МАС-сообщения в управляющей части нисходящего кадра. Использование DIUC определено в табл. 8.15.

Таблица 8.15. Значения DIUC
DIUCНазначение
0Управление кадром (не в сообщениях DCD)
1-6Профайлы кластеров TMD (без преамбулы)
7-12Профайлы кластеров TMDA (фиксированная преамбула)
13Зарезервировано
14Зазор (в сообщениях DCD)
15Конец таблицы соответствия

Сообщение привязки нисходящего канала (DL-MAP)

Сообщение DL-MAP определяет доступ к информации о нисходящем канале. Если длина сообщения не равна целому числу байтов, значение поля LEN в заголовке МАС округляется до ближайшего целого. Формат сообщения DL-MAP описан в табл. 8.16. Сообщение содержит следующие параметры.

Синхронизация PHY

Поле синхронизации PHY зависит от спецификации физического канала.

Счетчик DCD

Соответствует числу изменений конфигурации DCD.

Идентификатор BS

Идентификатор базовой станции представляет собой 48-битовый код, однозначно определяющий BS. Старшие 24 бита являются идентификатором оператора.

Кодирование остальной части DL-MAP зависит от спецификации PHY, эта часть может и отсутствовать.

Таблица 8.16. Формат сообщения DL-MAP
СинтаксисРазмерОписание
DL-MAP_Message_Format () {
Тип управляющего сообщения = 28 бит
Поле синхронизации PHYперем.
Счетчик DCD8 бит
Идентификатор BS48 бит
Число элементов DL-MAP n16 бит
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого элемента DL-MAP с 1 до n
DL-MAP_Information_Element()перем.
if!(граница байта) {
4 бита заполнителя } } } }До границы байта

Сообщение дескриптора восходящего канала

Дескриптор восходящего канала (UCD) периодически передается BS, чтобы определить характеристики физического восходящего канала. Отдельное сообщение UCD передается для каждого восходящего канала. BS передает сообщения UCD в формате, показанном в таблице 8.16. Сообщение содержит следующие параметры.

Счетчик изменений конфигурации

Увеличивается BS на 1 (по модулю 256), всякий раз, когда производится изменение любого параметра канала с данным дескриптором. Если значение счетчика для очередного UCD остается тем же, SS решает, что остальные поля не изменены и можно игнорировать оставшуюся часть сообщения.

Размер минидомена

Размер n минидоменов для восходящего канала в единицах физических доменов. Допустимыми значениями являются n=2m, где m равно целому из диапазона 0-7.

Идентификатор восходящего канала

Идентификатор канала, к которому относится сообщение. Идентификатор произвольно выбирается BS и является уникальным в пределах домена субуровня MAC.

Начало отсрочки передачи

Размер исходного окна отсрочки для исходного соперничества за диапазон, выраженный через степень 2. Значение n может лежать в интервале 0-15 (старшие биты могут не использоваться и приравниваться нулю). Параметр конца отсрочки задается так же. Таблица 8.17.

Таблица 8.17. Формат сообщения UCD
СинтаксисРазмерОписание
UCD _Message_Format () {
Тип управляющего сообщения = 08 бит
Идентификатор восходящего канала8 бит
Счетчик изменений конфигурации8 бит
Размер минидомена (minislot)8 бит
Начало отсрочки передачи8 бит
Конец отсрочки передачи8 бит
Запрос начала отсрочки8 бит
Запрос конца отсрочки8 бит
Информация о канале в кодировке TLVперем.
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого профиля восходящего канала с 1 до n
Uplink_Burst_Profile }} }перем.

Чтобы обеспечить гибкость, остальные параметры сообщения кодируются в формате TLV.

Uplink_Burst_Profile имеет комбинированную кодировку TLV, которая сопряжена с UIUC (Uplink Interval Usage Code) используемого физического канала. Каждый Uplink_Burst_Profile представляет собой неупорядоченный список атрибутов PHY, закодированных в формате TLV. Каждому интервалу с помощью сообщения UL-MAP ставится в соответствие UIUC.

Сообщение привязки восходящего канала (UL-MAP)

Структура сообщения UL-MAP описана в табл. 8.18.

Таблица 8.18. Структура сообщения UL-MAP
СинтаксисРазмерОписание
UL-MAP_Message_Format () {
Тип управляющего сообщения = 38 бит
Идентификатор восходящего канала8 бит
Счетчик UCD8 бит
Число элементов UL-MAP n8 бит
Начало времени предоставления32 бита
Начало секции, специфической для PHY {
for(i=1; i<=n; i++) {Для каждого элемента UL-MAP с 1 до n
UL-MAP_Information_Element() }} }перем.

BS генерирует сообщение UL-MAP со следующими параметрами.

Идентификатор восходящего канала

Идентификатор восходящего канала, к которому относится сообщение.

Счетчик UCD

Соответствует счетчику изменений конфигураций UCD, который описывает используемый профайл восходящего канала.

Число элементов

Число информационных элементов привязки.

Время начала предоставления

Эффективное время начала предоставления ресурсов согласно ULMAP в минидоменах.

Информационные элементы привязки (map)

Каждый информационный элемент ( IE ) содержит как минимум три поля:

  1. идентификатор соединения (CID);
  2. код используемого интервала восходящего канала (UIUC);
  3. смещение.

Элементы IE определяют выделенные ресурсы полосы для восходящего канала. Каждое сообщение UL-MAP содержит по крайне мере один IE, который отмечает конец последнего выделенного кластера (burst). Элементы IE размещаются в UL-MAP в хронологическом порядке.

CID определяет соответствие этих элементов уникастному, мультикастному или широковещательному адресу. В зависимости от типа адресации при выделении полосы CID будет базовым CID SS, или транспортным CID для одного из соединений SS. UIUC используется, чтобы определить тип доступа к восходящему каналу и профайл, сопряженный с этим каналом. Uplink_Burst_Profile будет включен в UCD для каждого UIUC, используемого в UL.MAPUL-MAP.

Сообщение запроса диапазона (RNG-REQ)

Запрос RNG-REQ передается SS при инициализации и периодически по запросу BS, чтобы определить сетевую задержку и запросить мощность и/или изменение профайла нисходящего канала. Формат сообщения RNG-REQ описан в табл. 8.19.

Таблица 8.19. Формат сообщения RNG-REQ
СинтаксисРазмер
RNG-REQ_Message_Format () {
Тип управляющего сообщения = 48 бит
Идентификатор нисходящего канала8 бит
Ожидание до завершения8 бит
Данные, закодированные в форме TLV }перем.

Поле CID в заголовке МАС предполагает наличие следующих значений в случае отправки в период управления инициализации.

  1. CID исходного диапазона, если SS осуществляется попытка подключения к сети.
  2. CID исходного диапазона, если SS еще не зарегистрирована и изменяет восходящий канал (или оба канала) согласно загруженному конфигурационному файлу.
  3. Базовый CID (присвоенный ранее посредством RNG-RSP), если SS еще не зарегистрирована и изменяет восходящий канал согласно загруженному конфигурационному файлу.
  4. Базовый CID (присвоенный ранее посредством RNG-RSP), если SS зарегистрирована и изменяет восходящий канал.
  5. Во всех прочих случаях используется базовый CID, как только он присвоен в сообщении RNG-RSP.

При посылке в период управления станции CID всегда равен базовому CID. Ниже описаны параметры, присутствующие в сообщении RNGREQ. Заметим, что длина сообщения RNG-REQ, посланного в период управления инициализацией, является фиксированной.

Идентификатор нисходящего канала

Идентификатор нисходящего канала, для которого SS получил UCD, описывающий восходящий канал для передачи сообщения запроса диапазона. Это поле содержит 8 бит.

Ожидание до завершения

Если это поле содержит нуль, тогда все предыдущие атрибуты диапазонных откликов должны быть использованы до посылки данного запроса. В противном случае это предполагаемое время, необходимое для завершения восприятия параметров выделенного диапазона, выраженное в десятках миллисекунд. Сообщение RNG-REQ должно содержать следующие параметры:

  1. запрошенный профайл кластера нисходящего канала;
  2. МАС-адрес SS;
  3. аномалии рабочего диапазона.

Сообщение отклика на запрос диапазона (RNG-RSP)

Сообщение RNG-RSP передается BS в ответ на полученный запрос RNG-REQ или при необходимости скорректировать параметры канала по результатам измерения, которые были сделаны для других полученных данных или МАС-сообщений. SS готова получать сообщения RNG-RSP в любое время, а не только в ответ на RNG-REQ.

Исходное сообщение RNG-RSP должно передаваться, с использованием профайла нисходящего канала, который приемлем для обеспечения надежного приема. Для достижения гибкости параметры сообщения, следующие после ID восходящего канала, нужно кодировать в формате TLV. BS генерирует сообщения RNG-RSP в формате, показанном в табл. 8.20.

Таблица 8.20. Формат сообщения RNG-RSP
СинтаксисРазмер
RNG-RSP_Message_Format () {
Тип управляющего сообщения = 58 бит
Идентификатор восходящего канала8 бит
Данные, закодированные в форме TLV }перем.

В сообщение RNG-RSP следует включить следующие параметры:

  1. информация подстройки синхронизации;
  2. информация подстройки мощности;
  3. информация подстройки частоты;
  4. состояние диапазона.

Следующие параметры могут быть включены в сообщение RNG-RSP:

  1. новое значение частоты нисходящего канала;
  2. новое значение ID восходящего канала;
  3. рабочий профайл нисходящего канала;
  4. базовый CID.

CID является обязательным параметром, если сообщение RNG-RSP послано на фазе инициализации в ответ на сообщение RNG-REQ.

Сообщение запроса регистрации (REG-REQ)

Сообщение REG-REQ посылается SS при инициализации, формат этого запроса описан в таблице 8.21.

Таблица 8.21. Формат сообщения REG-REQ
СинтаксисРазмер
REG-REQ_Message_Format () {
Тип управляющего сообщения = 68 бит
Данные, закодированные в форме TLV }перем.

Сообщение REG-REQ включает в себя следующие параметры.

CID первичного управления (в общем МАС-заголовке)

Для SS CID в общем МАС-заголовке является CID первичного управления.

Все остальные параметры кодируются в формате TLV.

Сообщение REG-REQ содержит в себе следующие TLV:

  1. последовательность HMAC;
  2. CID поддержки восходящего канала.

Сообщение REG-REQ может содержать следующие параметры TLV, формируемые SS:

  1. код ID производителя (SS);
  2. код возможностей SS.

Сообщение отклика регистрации REG-RSP

Сообщение REG-RSP посылается BS в ответ на запрос REG-REQ, формат этого запроса описан в таблице 8.22.

Таблица 8.22. Формат сообщения REG- RSP
СинтаксисРазмер
REG-RSP_Message_Format () {
Тип управляющего сообщения = 78 бит
Отклик8 бит
Данные, закодированные в форме TLV }перем.

BS генерирует REG-RSP, которые содержат в себе следующие параметры:

CID (в общем заголовке МАС)

CID в общем заголовке МАС является CID первичного управления для данной SS.

Отклик

Однобайтовый код, принимающий значение:

  1. 0 = ok;
  2. 1 = неудача аутентификации сообщения.

В сообщения REG-RSP включаются следующие параметры:

  1. версия МАС;
  2. вторичный CID управления;
  3. последовательность (HMAC) кода аутентификации хэшированного сообщения.

Следующие параметры включаются в сообщение REG-RSP, если были обнаружены в REG-REQ или BS требует использования нестандартного значения параметра.

Возможности SS

BS откликается на возможности SS, только если это отражено в REG-REQ. BS откликается на возможности SS, чтобы уведомить о возможности их использования. Если BS не распознает возможность SS, она возвращает "off" в сообщении REG-RSP.

Возможности, возвращенные в REG-RSP, не будут установлены на уровне выше, чем это указано в REG-REQ. Для всех радиоканалов крайне актуальными являются соображения безопасности. Именно по этой причине в IEEE 802.16 данной проблеме уделено так много места.

Сообщения управления ключами конфиденциальности (PKM-REQ/PKM-RSP)

Управление ключами конфиденциальности ( PKM ) использует два типа ключей, запрос PKM (PKM-REQ) и отклик PKM (PKM-RSP), как это видно из табл. 8.23.

Таблица 8.23. Формат сообщения PKM-REQ/PKM-RSP
Значение типаИмя сообщенияОписание сообщения
9PKM-REQУправляющий запрос ключа конфиденциальности [SS -> BS]
10PKM-RSPОтклик на запрос ключа конфиденциальности [SS -> BS]

Только одно сообщение PKM вкладывается в поле данных управляющего сообщения МАС. Протокольные сообщения PKM передаются от SS к BS с использованием формата, описанного в табл. 8.24. Они передаются SS в рамках первичной фазы управляющего соединения.

Таблица 8.24. Формат протокольных сообщений PKM
СинтаксисРазмер
PKM-REQ_Message_Format () {
Тип управляющего сообщения = 98 бит
Код8 бит
Идентификатор PKM8 бит
Атрибуты, закодированные в форме TLV }перем.

Протокольные сообщения PKM передаются от BS к SS с использованием формата, описанного в табл. 8.25. Они передаются SS в рамках первичной фазы управляющего соединения.

Таблица 8.25. Формат сообщения PKM
СинтаксисРазмерОписание
PKM-RSP_Message_Format () {
Тип управляющего сообщения = 108 бит
Код8 бит
Идентификатор PKM8 бит
Атрибуты, закодированные в форме TLV }перем.

Параметрами этих сообщений являются:

Код

Код содержит один октет и идентифицирует тип РКМ-пакета. Когда пакет приходит с неверным кодом, он молча отбрасывается. Значения кода определены в табл. 8.25.

Идентификатор PKM

Поле идентификатора содержит один октет. SS использует идентификатор при реагировании на запрос BS. SS инкрементирует поле идентификатора (по модулю 256) при отправке очередного (нового) РКМ-сообщения.

Поле идентификатора в сообщении BS PKM-RSP должно соответствовать значению идентификатора из PKM-REQ, на которое BS реагирует. Поле идентификатора в сообщении ключа шифрования трафика (ТЕК), которое не посылается в ответ на PKM-REQ, следует устанавливать равным нулю.

При получении сообщения PKM-RSP SS ассоциирует сообщение с определенной машиной состояния (например, машиной состояния авторизации в случае отклика авторизации).

SS отслеживает идентификатор своего последнего отложенного запроса авторизации. SS отбрасывает отклики авторизации и отказы авторизации с полями идентификатора, которые не соответствуют заданному отложенному запросу авторизации.

Атрибуты

PKM-атрибуты несут в себе данные, специфические для обменов аутентификации, авторизации или управления ключами между клиентом и сервером. Каждый тип PKM-пакета имеет свой собственный набор необходимых и опционных атрибутов. Если нет явного указания, порядок атрибутов в сообщении произволен. Конец списка атрибутов определяется полем LEN заголовка МАС PDU. Таблица 8.25а.

Таблица 8.25a. Коды сообщений
КодТип PKM-сообщенияИмя управляющего сообщения МАС
0-2зарезервировано-
3SA AddPKM-RSP
4Auth RequestPKM-REQ
5Auth ReplyPKM-RSP
6Auth RejectPKM-RSP
7Key RequestPKM-REQ
8Key ReplyPKM-RSP
9Key RejectPKM-RSP
10Auth InvalidPKM-RSP
11TEK InvalidPKM-RSP
12Authent InfoPKM-REQ
13-255зарезервировано-

BS и SS молча отбрасывает запросы/отклики, которые не содержат полного списка необходимых атрибутов. TEK – Traffic Encryption Key.

Сообщение запроса авторизации (Auth Request)

Код = 4

Атрибуты перечислены в табл. 8.26.

Таблица 8.26. Атрибуты сообщения Auth Request
АтрибутСодержимое
SS-сертификатСодержит сертификат Х.509 SS
Возможности безопасностиОписывает запрашиваемые возможности безопасности SS
SAIDПервичный SAID для SS, равный базовому CID

Атрибут возможностей безопасности является составным атрибутом, описывающим запрашиваемые SS требования безопасности. Атрибут SAID содержит SAID конфиденциальности.

Сообщение отклика авторизации (Auth Reply)

Отклик авторизации посылается BS клиенту SS в ответ на запрос авторизации и содержит ключ авторизации, время жизни ключа и список дескрипторов SA, идентифицирующие первичный и статический SA. Эти данные определяют параметры доступа SS (тип, криптографический набор и т.д.). Ключ авторизации шифруется открытым ключом SS. Список дескрипторов SA включает в себя дескриптор для базового CID, сообщенный BS в соответствующем запросе Auth Request. Этот список может содержать также дескрипторы статических SAID, к которым разрешен доступ SS.

Код = 5

Атрибуты сообщения Auth Reply представлены в табл. 8.27.

Сообщение запроса ключа

Код = 7

Атрибуты сообщения запроса ключа представлены в табл. 8.28.

Таблица 8.27. Атрибуты сообщения Auth Reply
АтрибутСодержимое
Auth-KeyКлюч авторизации, зашифрованный общедоступным ключом клиента SS
Время жизни ключаВремя активной жизни ключа
Порядковый номер ключаПорядковый номер ключа авторизации
Один или более дескрипторов SAКаждый составной атрибут дескриптора SA специфицирует SAID и дополнительные свойства SA
Таблица 8.28. Атрибуты сообщения запроса ключа
АтрибутСодержимое
Порядковый номер ключаПорядковый номер ключа авторизации
SAIDID ассоциации безопасности
Дайджест HMACДайджест ключевого сообщения, полученный методом SHA

Атрибут дайджеста должен быть последним в списке атрибутов сообщения. Включение дайджеста позволяет BS аутентифицировать сообщения запроса ключа.

Сообщение отклика на запрос ключа

Код = 8

Атрибуты сообщения отклика на запрос ключа представлены в табл. 8.29.

Таблица 8.29. Атрибуты сообщения отклика на запрос ключа
АтрибутСодержимое
Порядковый номер ключаПорядковый номер ключа авторизации
SAIDID ассоциации безопасности
TEK-параметрыПредшествующее поколение параметров ключа, соответствующих SAID
TEK-параметрыНовое поколение параметров ключа, соответствующих SAID
Дайджест HMACДайджест ключевого сообщения, полученный методом SHA

Атрибут параметров ТЕК является составным атрибутом, который содержит все ключевые материалы, соответствующие определенному поколению ТЕК SAID. Сюда входит ТЕК, оставшееся время жизни ключа, его порядковый номер, инициализационный вектор блочного шифра CBC.

В любой момент времени BS поддерживает два набора активных поколений ключевого материала для каждого SAID. Один набор соответствует "старому", второй набор — "новому" поколению ключевого материала. Новое поколение имеет порядковый номер ключа на 1 больше (по модулю 4), чем старое. BS рассылает клиентам SS оба поколения активного ключевого материала. Таким образом, сообщения отклика на запрос ключа содержит два атрибута ТЕК-параметров, каждый из которых содержит ключевой материал для одного из активных наборов ключевого материала SAID.

Включение дайджеста позволяет клиенту-получателю аутентифицировать сообщение ключевого отклика и гарантировать синхронизацию наборов ключей у BS и SS.

Сообщение запроса изменения профайла нисходящего канала (DBPC-REQ)

Сообщение DBPC-REQ посылается из SS к BS с использованием базового CID SS для запроса изменения профайла нисходящего канала, который используется BS для передачи данных SS. Сообщение DBPCREQ будет послано с текущим значением типа передачи данных. Если SS была пассивна в течение некоторого времени в восходящем канале и обнаруживает деградацию условий в нисходящем канале, то она использует это сообщение для повышения качества передачи данных. Формат сообщения представлен в табл. 8.30.

Таблица 8.30. Формат сообщения DBPC-REQ
СинтаксисРазмер
DBPC-REQ_Message_Format () {
Тип управляющего сообщения = 238 бит
Зарезервировано4 бита
DIUC }4 бита

DIUC

Значения DIUC (Downlink Interval Usage Code) определены в табл. 8.13, 8.14.

Сообщение отклика на изменение профайла нисходящего канала (DBPC-RSP)

Сообщение DBPC-RSP посылается BS с привлечением базового CID SS в ответ на запрос DBPC-REQ, посланный SS. Если параметр DIUC совпадает с содержащемся в запросе DBPC-REQ, то он воспринимается. В противном случае, если запрос отвергается, параметр DIUC должен быть предыдущим, при котором SS получал данные по нисходящему каналу. Формат сообщения представлен в табл. 8.31.

Таблица 8.31. Формат сообщения DBPC-RSP
СинтаксисРазмерОписание
DBPC-REQ_Message_Format () {
Тип управляющего сообщения = 248 бит
Зарезервировано4 битаДля будущего использования
DIUC }4 бита

Сообщение сверки часов (CLK-CMP)

В сети с сервисными потоками, несущими данные, где требуется реконструирование сигналов часов (напр., DS1 и DS3), базовая станция периодически широковещательно посылает сообщения CLK-CMP. Если это предусмотрено, BS будет генерировать сообщение CLK-CMP с интервалом, который определен согласно формату, описанному в табл. 8.32.

Таблица 8.32. Формат сообщений CLK-CMP
СинтаксисРазмер
CLK-CMP_Message_Format () {
Тип управляющего сообщения = 288 бит
Счетчик синхротактов n8 бит
for(i=1; i<=n; i++) {
Clock ID(i)8 бит
Порядковый номер [i]8 бит
Результат сравнения[i] } }8 бит

Сообщения CLK-CMP включают в себя следующие параметры: ID часов (Clock ID), порядковый номер и результат сравнения показаний часов CCV (Clock Comparison Value).

Порядковый номер

8-битовый код, инкрементируемый BS на 1 (по модулю 256) при формировании сообщения CLK-CMP. Этот параметр используется для детектирования потери пакетов.

Результат сверки часов

8-битовый код разности (по модулю 256) между следующими двумя эталонными сигналами: (1) 10МГц эталонная частота, синхронизованная с символьными часами радиоканала (например, GPS), и (2) эталонной частотой 8.192 МГц, синхронизованной с сетевыми часами.

Сообщение команды De/Re (DREG-CMD)

Сообщение DREG-CMD отправляется базовой станцией по базовому CID SS, чтобы изменить ее состояние доступа. По получении DREG-CMD SS выполнит операцию, предписываемую присланным кодом операции. Тип управления МАС для данного сообщения представлен в табл. 8.33.

Таблица 8.33. Формат сообщения DREG-CMD.
СинтаксисРазмер
DREG-CMD_Message_Format () {
Тип управляющего сообщения = 298 бит
Код операции8 бит
Параметры, закодированные в форме TLV }перем.

Коды операции и их значения представлены в табл. 8.34.

Таблица 8.34. Коды операций
Код операцииОперация
0х00SS уходит с этого канала и пытается перейти на другой
0х01SS прослушивает текущий канал, но не передает, пока не получит сообщение RES-CMD
0х02SS прослушивает текущий канал, но только передает в режиме базового первичного управления и вторичных соединений управления
0х03SS возвращается к нормальной работе и может передавать данные, используя любые активные соединения.
0х04-0хFFЗарезервировано

Несколько МАС-PDU могут быть переданы вместе как по восходящему, так и по нисходящему каналам. МАС-PDU управляющих сообщений, пользовательских данных, запросов полосы могут быть пересланы за одну передачу. Схема объединения иллюстрируется на рис. 8.17.

Объединение MAC PDU (каждое из полей имеет свой уникальный CID)


Рис. 8.17.  Объединение MAC PDU (каждое из полей имеет свой уникальный CID)

МАС SDU может быть разделен между одним или более МАС PDU. Это позволяет более эффективно использовать доступную полосу пропускания с учетом требующегося уровня QoS. Фрагментация может быть реализована по инициативе BS или SS. Это определяется на базе формирования соединения.

В случае включения режима упаковки, МАС может упаковывать по несколько MAC SDU в один MAC PDU. В режиме упаковки используется атрибут соединения, который говорит о том, используются ли пакеты постоянной длины или переменной. Схема упаковки для МАС-SDU постоянной длины показана на рис. 8.18, то же для переменной длины отображено на рис. 8.19.

Упаковка MAC SDU постоянной длины


Рис. 8.18.  Упаковка MAC SDU постоянной длины

Упаковка MAC SDU переменной длины


Рис. 8.19.  Упаковка MAC SDU переменной длины

Для улучшения эффективности процесса запрос-предоставление предусмотрен механизм диспетчеризации. Путем задания параметров диспетчеризации и QoS BS может получить требующуюся пропускную способность и время отклика для восходящего канала.

Базовые виды услуг перечислены в таблице 8.35, это UGS (Unsolicited Grant Service), сервис запросов реального времени rtPS (Real-Time Polling Service), nrtPS (Non.-REAL-Time Polling Service) и сервис наилучшего возможного BE (Best Effort). Каждый вид сервиса приспособлен для определенного типа потока данных.

Таблица 8.35. Сервисы диспетчеризации и правила использования
Тип диспетчеризацииКомбинированный запросИзъятие полосыОпрос (polling)
UGSНе разрешенНе разрешеноДля уникастного запроса требуемой полосы в случае, когда это не UGS-соединение, используется бит PM
rtPSРазрешенРазрешено для GPSSДиспетчеризация допускает только уникастный опрос
nrtPSРазрешенРазрешено для GPSSДиспетчеризация может ограничить сервисный поток только уникстным опросом через политику передачи/запросов; в противном случае разрешены все формы опроса
BEРазрешенРазрешено для GPSSРазрешены все формы опроса

Заметим, что каждой SS приписано три CID для целей отправки и получения управляющих сообщений. Используется три соединения, чтобы обеспечить дифференцированные уровни QoS для разных соединений, транспортирующих управляющий трафик МАС. Увеличение или уменьшение требований к полосе необходимо для всех сервисов, кроме соединений с постоянной скоростью передачи (например, несжимаемый UGS). Полоса таких соединений не может быть изменена с момента формирования до ликвидации. Требования к сжимаемым UGS, таким, как каналированные Т1, могут варьироваться в зависимости от трафика.

Когда SS нужно запросить полосу для конкретного соединения с ВЕ диспетчеризацией, она посылает сообщение BS, содержащее требование немедленного соединения DAMA (Demand Assigned Multiple Access). QoS соединения определяется в процессе формирования и обеспечивается BS.

Для получения нужной полосы восходящего канала SS использует запросы, направляемые ею к BS. Так как профайл восходящего канала может меняться динамически, все запросы полосы должны выражаться в байтах, которые необходимы для передачи МАС-заголовка и поля данных, но не должны учитывать издержки физического уровня. Такие запросы могут быть посланы в период запроса IE или любого кластера предоставления данных типа IE.

В зависимости от характера запроса полосы существует два режима работы SS: GPC (Grant per Connection) и GPSS (Grant per Subscriber Station). В первом случае BS предоставляет полосу конкретно каждому соединению, в то время как во втором случае полоса предоставляется всем соединениям SS. В последнем случае (GPSS) можно использовать меньшую суммарную полосу пропускания, а продвинутая SS может перераспределять полученную от BS полосу. Такой алгоритм удобен для решения задач реального времени, когда требуется более быстрый отклик.

Запрос ( polling ) является процессом, с помощью которого базовая станция резервирует SS полосу. Это резервирование может быть выполнено для отдельной SS или группы станций. Резервирование для группы соединений и/или SS в действительности определяет информационный элемент (IE) соединения при запросе полосы. Полоса всегда запрашивается на основе CID, а резервирование полосы осуществляется для соединения (режим GPC) или для SS (режим GPSS).

Когда SS опрашиваются индивидуально, никакого сообщения не посылается, просто производится резервирование для SS в восходящем канале, достаточное для реагирования на запросы полосы. Если SS не нуждается в полосе, она возвращает байт 0xFF. Станции SS, работающие в режиме GPSS, при наличии активного UGS-соединения с достаточной полосой индивидуально опрашиваться не будут, если только они не выставили бит PM (Poll Me) в заголовке пакета UGS-соединения. Это экономит полосу на опросе всех SS.

Если имеется недостаточная полоса пропускания для индивидуального опроса неактивных SS, некоторые SS могут опрашиваться в составе мультикаст-групп или с привлечением широковещательного опроса Определенные CID зарезервированы для мультикаст-групп и для широковещательных сообщений.

МАС-протокол поддерживает несколько дуплексных технологий. Выбор дуплексной техники может повлиять на определенные параметры уровня PHY, а также на перечень поддерживаемых возможностей. На МАС-уровне поддерживаются кадровые и бескадровые спецификации PHY. Для бескадрового режима PHY значение интервала диспетчеризации выбираются МАС. При бескадровой FDD PHY восходящий и нисходящий каналы размещаются на разных частотах, так что каждая SS может осуществлять прием и передачу одновременно. Оба эти канала не используют фиксированной длины кадров. В такой системе нисходящий канал находится всегда во включенном состоянии, и все SS слушают его. Трафик передается широковещательно, используя мультиплексирование по времени (TDM). В восходящем канале применяется режим мультиплексирования TDMA (Time Division Multiple Access).

В кадровой (кластерной) системе FDD (Frequency Division Duplex) восходящий и нисходящий каналы размещаются на разных частотах, а нисходящие данные передаются в виде кластеров (bursts). Для обоих направлений обмена используются кадры фиксированной длины. Это помогает использовать разные типы модуляции. При этом могут применяться полнодуплексные и полудуплексные SS.

В режиме TDD (Time Division Duplexing) восходящий и нисходящий каналы используют одну и ту же частоту. TDD -кадр имеет фиксированную длительность и содержат субкадры для восходящего и нисходящего каналов. Кадр делится на целое число физических доменов (PS — slots), которые помогают легко поделить полосу. Работа системы в режиме TDD и структура TDD-кадра показана на рис. 8.20.

Структура TDD кадра


Рис. 8.20.  Структура TDD кадра

Синхронизация восходящего канала базируется на эталонных временных метках восходящего канала, которые задаются счетчиком, инкрементируемым в 16 раз чаще, чем частота PS. Это позволяет часам SS быть хорошо синхронизованными с BS.

Карта резервирования полосы восходящего канала использует в качестве модулей минидомены (minislot). Размер минидомена определяется как число физических доменов PHY PS и содержится в дескрипторе восходящего канала. Один минидомен содержит n PS, где n — целое число из интервала 0-255.

Информация в DL-MAP относится к текущему кадру, то есть к кадру, в котором она доставлена. Информация, доставляемая в UL-MAC, относится к временному интервалу, начинающемуся в момент резервирования (измеряется от начала поученного кадра и до конца последнего зарезервированного минидомена). Пустые IE указывают на паузы в передаче по восходящему каналу. Станции SS не могут осуществлять передачу в это время. Данный вид синхронизации используется как для TDD, так и для FDD. Вариант TDD показан на рис. 8.21, а сходный вариант, реализуемый для FDD показан на рис. 8.22.

Максимальное время релевантности управляющей информации PHY и MAC (TDD)


Рис. 8.21.  Максимальное время релевантности управляющей информации PHY и MAC (TDD)

В бескадровых системах PHY DL-MAP содержит только временные метки восходящего канала и не определяет, какую информацию следует передавать. Все SS постоянно ищут нисходящий сигнал для любого сообщения, которое к ним адресовано. Сообщение UL-MAP содержит временную метку, которая указывает на первый минидомен, который определяет мэпинг (соответствие). Задержка от конца UL-MAP до начала первого интервала в восходящем канале определенная таблицей соответствия, будет больше максимума RTT плюс время обработки, необходимое SS (см. рис. 8.22).

Временная релевантность UL-MAP информации (бескадровое FDD)


Рис. 8.22.  Временная релевантность UL-MAP информации (бескадровое FDD)

Структура субкадра нисходящего канала для TDD показана на рис. 8.23, то же для FDD – на рис. 8.24.

Структура субкадра нисходящего канала для TDD


Рис. 8.23.  Структура субкадра нисходящего канала для TDD

Структура субкадра нисходящего канала для FDD


Рис. 8.24.  Структура субкадра нисходящего канала для FDD

Возможность передачи определяется наличием свободного минидомена, который может быть использован SS для передачи сообщений или данных. Число возможностей передачи связано с конкретным информационным элементом (IE), размером интервала и объемом передачи.

BS контролирует восходящий канал с помощью сообщений UL-MAP и определяет, какие из минидоменов являются объектами столкновений. Столкновения могут произойти в периоды установления соединения и при запросах, определяемых их IE. Потенциальные столкновения при запросах зависят от CID в соответствующих IE.

Когда SS имеет данные для передачи и хочет войти в процесс разрешения конфликтов, она устанавливает исходное значение ширины окна отсрочки равным отсрочке начала запроса в сообщении UCD. SS случайным образом выбирает число в пределах окна отсрочки. Это случайное число указывает на разрешенное число попыток передачи, которые SS должна пропустить до начала посылки. SS рассматривает только допустимые возможности передачи, которые определяются IE запроса в сообщениях UL-MAP. Каждый IE может содержать много конфликтных возможностей передачи.

ID канала используется в процессе диспетчеризации для идентификации ресурсных запросов и откликов. Так как такие сообщения являются широковещательными, узлы-получатели могут определить порядок использования как ID узла отправителя в сеточном подзаголовке, так и ID канала в поле MSH-DSCH. Структура ID соединения (CID) описана в таблице 8.36.

Таблица 8.36. Структура CID для сеточного режима
СинтаксисРазмерОписание
CID { if(Xmt Link ID ==0xFF)
{Logical Network ID}8 бит0х00: широковещательно
Else {
Type2 бита0х0 MAC управление

0х1 IP

0x2-0x3 зарезервировано

Надежность1 бит
Приоритет/Класс3 бита
Приоритет отбрасывания}2 бита
Xmt Link ID}8 бит0xFFF: широковещательное управление МАС

Поле Приоритет/Класс определяет класс сообщения.

Поле Приоритет отбрасывания определяет вероятность отбрасывания сообщения в случае перегрузки.

Значение поля Xmt Link ID присваивается узлом отправителем каналу до узла приемника.

Может присутствовать четыре типа подзаголовков. Подзаголовки PDU (сеточный, фрагментации и управления предоставлением доступа) могут размещаться в PDU MAC сразу после общего заголовка МАС. Если присутствуют подзаголовки фрагментации и управления предоставления доступа, последний должен быть первым. Если имеется сеточный заголовок, он всегда размещается первым.

Если бит ARQ обратной связи в поле type МАС-заголовка =1, в поле данных транспортируется ARQ-отклик.

Таблица 8.37. Кодирование поля Type
Бит поля TypeНазначение
5 (старший)Сеточный подзаголовок. 1 = присутствует; 0= отсутствует
4ARQ Feedback Payload (поле данных обратной связи)
3Расширенный тип. 1 = расширенный; 0 = нерасширенный

Указывает, являются ли расширенными данные подзаголовки упаковки или фрагментации

2Подзаголовок фрагментации. 1=присутствует; 0=отсутствует
1Подзаголовок упаковки. 1=присутствует; 0=отсутствует
0 (младший)Подзаголовок управления предоставлением доступа. 1=присутствует; 0=отсутствует. Для DL следует установить равным 0

Во время AAS части кадра сообщения DL-MAP, UL-MAP, DCD, UCD и CLK-CMP должны посылаться с использованием базового CID.

AASAdaptive Antenna System.

В сеточном (Mesh) режиме узел-кандидат на регистрацию генерирует сообщения REG-RSP, включающие следующие параметры:

  1. SS MAC-адрес (SS – Subscriber Station);
  2. версия MAC (используемая в узле-кандидате);
  3. HMAC Tuple (дайджест сообщения, вычисленный с помощью HMAC_KEY_U).
Таблица 8.38. Сообщения управления уровня МАС
Код типаНазвание сообщенияОписание сообщенияСоединение
33ARQ-FeedbackARQ обратная связь для изолированной системыБазовое
34ARQ-DiscardСообщение отмены ARQБазовое
35ARQ-ResetСообщение сброса ARQБазовое
36REP-REQЗапрос канальных измерительных данныхБазовое
37REP-RSPОтклик на запрос канальных измерительных данныхБазовое
39MSH-NCFGКонфигурации сетиШироковещательное
40MSH-NENTВход в сеточную сетьБазовое
41MSH-DSCHРаспределенное расписание сеткиШироковещательное
42MSH-CSCHЦентрализованное расписание для сеткиШироковещательное
43MSH-CSCFКонфигурирование централизованного расписания для сеткиШироковещательное
44AAS-FBCK-REQЗапрос обратной связи AASБазовое
45AAS-FBCK-RSPОтклик обратной связи AASБазовое
38, 46-255Зарезервировано

Сообщение REG-REQ может, кроме того, содержать следующие параметры:

  1. IP-версия;
  2. возможности кодирования SS;
  3. идентификатор поставщика кодировщика.

В сеточном режиме при регистрации узел генерирует REG-RSP сообщения, содержащие следующие параметры:

  1. Node ID (идентификатор узла);
  2. MAC Version (MAC-версия, используемая в сети);
  3. HMAC Tuple (дайджест сообщения, вычисленный с помощью HMAC_KEY_D).

Сообщение REG-RSP может, кроме того, содержать следующие параметры:

  1. IP-версия;
  2. возможности кодирования SS.

Возможности, указанные в REG-RSP, не устанавливаются выше того, что указано в REG-REQ.

Механизм ARQ (Automatic Repeat Request) является опционной частью МАС-уровня и может быть активирован перед формированием соединения. Параметры ARQ согласуются на фазе формирования соединения или изменения его характеристик. В соединении не могут смешиваться трафики, поддерживающие и не поддерживающие ARQ. Информация обратной связи ARQ может быть послана в виде управляющего МАС сообщения. Такое сообщение не может быть фрагментировано.

В таблице 8.39 определен формат информационного элемента обратной связи ARQ. Элемент используется получателем для сообщения положительного или отрицательного подтверждения. Несколько таких IE может быть помещено в одно поле данных (PDU).

FSN

If(тип ACK == 0х0): значение FSN соответствует наиболее значимому биту первого 16-битового кода соответствия ARQ (mapping).

If(тип ACK == 0х1): значение FSN указывает, что соответствующие его фрагменты с меньшими значениями окна передачи успешно получены.

If(тип ACK == 0х2): комбинирует ситуации типов 0х0 и 0х1.

ACK Map

Каждый бит, равный 1, указывает, что соответствующий фрагмент ARQ получен без ошибки. Бит, соответствующий значению FSN в IE, является наиболее значимым битом в первой записи соответствия. Биты для успешно доставленных номеров фрагментов присваиваются слева направо в пределах карты соответствия. Если тип ACK равен 0х2, старший бит первой записи соответствия будет установлен равным 1 и IE будет интерпретироваться как совокупный ACK для значения FSN в IE.

Таблица 8.39. Формат информационного элемента обратной связи ARQ
СинтаксисРазмерКомментарий
ARQ_feedback_IE(LAST) {
CID16 битИдентификатор сообщения, к которому относится элемент
LAST1 бит0= в списке имеются еще IE обратной связи ARQ

1= последний IE в списке ARQ

Тип ACK2 бита0x0 = селективная запись ACK

0x1 = общая запись ACK

0x2 = общая запись селективного ACK

0x3 = зарезервировано

FSN11 бит
Число соответствий (MAP) ACK2 битаЕсли тип ACK==01, поле резервируется и устанавливается равным 00. В противном случае в поле записывается число соответствий ACK: 0x0 =1, 0x1 =2, 0x2 =3, 0x3 =4
if(ACK тип != 01) {
for(i=0; i< NumberOfACK_Maps+1; ++i) {
ACK Map} } }16 бит

Сообщение запроса ключа

При работе в сеточном режиме используются следующие атрибуты Таблица 8.40.

Таблица 8.40.
АтрибутСодержимое
Сертификат SSСертификат X.509 узла
SAIDИдентификатор SA
Дайджест HMACHMAC при использовании HMAC_KEY_S

Формат сообщения обратной связи ARQ. Таблица 8.41:

Таблица 8.41.
СинтаксисРазмерКомментарий
ARQ_Feedback_Message_Format() {
Тип сообщения управления = 338 бит
ARQ_Feedback_Payload }переменный

8.3. Широкополосный канал для подключения периферийных устройств UWB

Расширение многообразия периферийных устройств ЭВМ требует новых широкополосных интерфейсов. Одним из таких решений стал последовательный интерфейс USB (Universal Serial BUS), порт IEEE-1394 (FireWire) и некоторые другие. Эти интерфейсы позволяют объединить несколько внешних устройств в сеть. Еще одной тенденцией в подключении внешних устройств является исключение проводов (вспомним беспроводные клавиатуры и мыши, а также стандарт Bluetooth ). Но Bluetooth может гарантировать скорость обмена не более 232 Кбит/c, USB 2.0 – до 480 Мбит/c.

Малая пропускная способность современных беспроводных стандартов является следствием узости используемой частотной полосы. В 2004 году компания Intel объявила о разработке набора микросхем, предназначенного для реализации стандарта широкополосной связи UWB (Ultra-WideBand, IEEE 802.15.3a).

UWB использует диапазон частот 3-10ГГц. Стандарт позволяет осуществлять обмен со скоростью 110Мбит/c для расстояний вплоть до 10 м. Проблемы здесь связаны, кроме всего прочего, с тем, что этот частотный диапазон занят военными для целей радиолокации. Использование широкой полосы позволяет теоретически UWB обеспечить скорость обмена до 480 Мбит/c при расстоянии 3 м.

Зависимость пропускной способности UWB от расстояния


Рис. 8.25.  Зависимость пропускной способности UWB от расстояния

Для расстояния 10 м пропускная способность интерфейса составляет всего 110 Мбит/c. Сопоставление этих данных с быстродействием IEEE 802.11a/g 54 Мбит/c для расстояний до 100м может удивить. Все дело в том, что на частотах UWB дисперсия радиосигнала в воздухе существенно больше, чем на частоте 2,4 ГГц.

Есть предложения разделить частотный диапазон UWB на ряд субдиапазонов по 528МГц и использовать технологию мультиплексирования сигналов по ортогональным несущим OFDM (Orthogonal Frequency Division Multiplexing). Разбиение на субдиапазоны позволяет снизить искажения в каждом из субдиапазонов и немного увеличить дальность связи.

Разработчики Motorola предлагают использовать весь спектр, что, по их мнению, позволит достичь быстродействия 1Гбит/c (DS-UWB).

Задачей стандарта UWB является обеспечения широкополосных обменов в пределах одной комнаты или офиса.

Несмотря на значительный прогресс в беспроводных телекоммуникационных технологиях, в области скоростных каналов первенство навечно закреплено за оптоволоконными средствами.

Лекция 9. Оптические каналы связи

Оптические волокна, оптические каналы связи, одномодовый и мультимодовый режимы, беспроводные оптические каналы, протоколы PPP и L2TP.

А.Г. Белл в 1880 году запатентовал фотофон – прибор для передачи голоса посредством светового сигнала с селеновым фотодетектором. Основы оптоволоконики были заложены в 1966 году (Као и Хокэм). Первые коммерческие телефонные оптоволоконные системы были созданы лишь в 1977 году. Одномодовые волоконные кабели начали производиться в 1983 году.

В 1990 году Линн Моллинер (Bellcore) продемонстрировал передачу данных со скоростью 2,5 Гбит/c на расстояние 7500 км (без промежуточных усилителей сигнала).

В 2000 году суммарная длина оптических волокон только в США превысила 30 миллионов километров.

Оптоволоконное соединение гарантирует минимум шумов и высокую безопасность (практически почти невозможно сделать отвод). Пластиковые волокна применимы при длинах соединений не более 100 метров и при ограниченном быстродействии (<50 МГц). Вероятность ошибки при передаче по оптическому волокну составляет <10-10, что во многих случаях делает ненужным контроль целостности сообщений.

При построении сетей используются многожильные кабели (рис. 9.1; существуют и другие разновидности кабеля: например, двух- или четырехжильные, а также плоские). В верхней части рисунка [ A ] изображено отдельное оптоволокно, а в нижней [ Б ] — сечение восьмижильного оптического кабеля. Свет (длина волны ~ 1350 или 1500 нм) вводится в оптоволокно (диаметром ) с помощью светоизлучающего диода или полупроводникового лазера. Центральное волокно покрывается слоем ( клэдинг, 1А), коэффициент преломления которого меньше, чем у центрального ядра (стрелками условно показан ход лучей света в волокне). Для обеспечения механической прочности извне волокно покрывается полимерным слоем ( ). Кабель может содержать много волокон, например, 8 ( ). В центре кабеля помещается стальной трос ( ), который используется при прокладке кабеля. С внешней стороны кабель защищен (от крыс!) стальной оплеткой ( ) и герметизирован эластичным полимерным покрытием.

Сечение оптоволоконного кабеля


Рис. 9.1.  Сечение оптоволоконного кабеля

Существует несколько типов оптических волокон, обладающих различными свойствами. Они отличаются друг от друга зависимостью коэффициента преломления от радиуса центральной части волокна. На рис. 9.2 показаны три разновидности волокна (А, Б и В; для коэффициентов преломления всегда должно быть ). Буквами А и Б помечен мультимодовый вид волокон. Тип Б имеет меньшую дисперсию времени распространения и по этой причине вносит меньшие искажения в форму передаваемого сигнала. Установлено, что, придавая световым импульсам определенную форму (обратный гиперболический косинус), дисперсионные эффекты можно полностью исключить. При этом появляется возможность передавать импульсы на расстояние в тысячи километров без искажения их формы. Такие импульсы называются солетонами. При традиционных же технологиях необходимо использовать повторители через каждые 30 км (против 5 км для медных проводов). По сравнению с медными проводами, оптоволоконные кабели несравненно легче. Так, одна тысяча скрученных пар при длине 1 км весит 8 тонн, а два волокна той же длины, обладающие большей пропускной способностью, имеют вес 100кг. Это обстоятельство открывает возможность укладки оптических кабелей вдоль высоковольтных силовых линий передачи, подвешивая или обвивая их вокруг проводников.

Разновидности оптических волокон, отличающиеся зависимостью коэффициента преломления от радиуса


Рис. 9.2.  Разновидности оптических волокон, отличающиеся зависимостью коэффициента преломления от радиуса

Буквой В помечен одномодовый вид волокна (понятие мода связано с характером распространения электромагнитных волн). Одномодовая разновидность волокна воспринимает меньшую долю света на входе, зато обеспечивает минимальное искажение сигнала. Следует иметь в виду, что оборудование для работы с одномодовым волокном значительно дороже. Центральная часть одномодового волокна имеет диаметр , а диаметр клэдинга составляет . Число мод, допускаемых волокном, в известной мере определяет его информационную емкость. Модовая дисперсия приводит к расплыванию импульсов и их "наезжанию" друг на друга. Дисперсия зависит от диаметра центральной части волокна и длины волны света.

Волокно со сглаженным профилем показателя преломления имеет дисперсию 1нсек/км и меньше. Это, в частности, связано с тем, что свет в периферийных областях волокна с большей длиной траектории движется быстрее (там меньший коэффициент преломления). Число мод N равно для волокна типа А:

где – диаметр центральной части (ядра), – численная апертура волокна, а – длина волны. Волокно с диаметром центральной части волокна поддерживает 1000 мод. Для волокна типа Б (рис. 3.2) значение в два раза меньше. Численная апертура равна , где и — соответственно коэффициенты преломления ядра и клэдинга. Величина определяет ширину входного конуса волокна (телесный угол захвата входного излучения) .

Для оптических каналов передачи данных вероятность ошибки (BER) находится на уровне 10-9-10-10.

Мода представляет собой одно из возможных решений уравнения Максвелла. В упрощенном виде можно считать, что мода – это одна из возможных траекторий, по которой может распространяться свет в волокне.

Чем больше мод, тем больше дисперсионное искажение формы сигнала. Одномодовое волокно позволяет получить полосу пропускания в диапазоне 50-100 ГГц-км. Типовое значение модовой дисперсии лежит в пределах от 15 до 30 нсек/км.

Одномодовый режим реализуется тогда, когда длина волны света становится сравнимой с диаметром ядра волокна. Длина волны, при которой волокно становится одномодовым, называется пороговой.

В отличие от многомодового волокна, в одномодовом — излучение присутствует не только внутри ядра. По этой причине повышаются требования к оптическим свойствам клэдинга . Для многомодового волокна требования к прозрачности клэдинга весьма умеренны.

Затуханием обычно называется ослабление сигнала по мере его движения по волокну. Оно измеряется в децибелах на километр и варьируется от 300 дБ/км для пластиковых волокон до 0,21 дБ/км – для одномодовых волокон.

Полоса пропускания волокна определяется дисперсией. Приближенно полосу пропускания одномодового волокна можно оценить согласно формуле

где

Если диаметр источника света не соответствует диаметру ядра волокна, то потери света, связанные с геометрическим рассогласованием могут быть охарактеризованы следующей формулой:

Потерь нет, когда волокно имеет диаметр больше диаметра источника света. Если числовая апертура источника больше апертуры волокна, то потери света составят:

Помимо дисперсии, быстродействие оптического канала ограничивается шумами. Шумы имеют две составляющие: дробовой и тепловой шум. Дробовой шум определяется соотношением:

isn2=2eiB

где е – заряд электрона, i – средний ток, протекающий через приемник, и В – ширина полосы пропускания приемника. Типовое значение дробового шума составляет 25 нА при температуре 25 градусов Цельсия. Тепловой шум характеризуется соотношением:

itn2=(4kTB)/RL

где k – постоянная Больцмана, Т – температура по шкале Кельвина, В – ширина полосы пропускания приемника, RL — сопротивление нагрузки. При полосе в 10 МГц и температуре 2980К эта составляющая шума равна 18 нА. Одной из составляющих теплового шума является темновой ток, который возрастает на 10% при росте температуры на 1 градус.

Чувствительность приемника задается квантовой эффективностью, которая характеризует отношение числа первичных электронно-дырочных пар к числу падающих на детектор фотонов. Этот параметр часто выражается в процентах (реже в амперах на люмен). Так, если на каждые 100 фотонов приходится 60 пар электрон-дырка, то квантовая эффективность равна 60%. Чувствительность фотодетектора R может быть вычислена на основе квантовой чувствительности:

где – заряд электрона, – постоянная Планка, – скорость света, – длина волны, а - квантовая чувствительность.

В 2002 году компанией Zonu (http://www.zonu.com) разработан фототрансивер (GBIC) на 1,25Гбит/c для передачи и приема данных по одному и тому же волокну при длине волны 1310 нм.

Для одномодового волокна расстояние передачи может составлять до 10 км. При длине волны 1550 нм достижимо расстояние передачи в 40 км.

Очевидно, что чем больше длина волны, тем меньше число мод и меньше искажения сигнала. Это, в частности, является причиной работы в длинноволновом инфракрасном диапазоне. Но даже для одной и той же моды различные длины волн распространяются по волокну с разной скоростью. Одномодовое волокно позволяет получить полосу пропускания в диапазоне 50-100 ГГц на км. Источники излучения, инжектируемого в волокно, имеют конечную полосу частот. Так, светоизлучающие диоды испускают свет с шириной полосы 35 нм, а лазеры 2-3 нм (лазеры имеют, кроме того, более узкую диаграмму направленности, чем диоды). Характеристики светодиодов и инжекционных лазерных диодов приведены в таблице 9.1. Лазерные диоды, рассчитанные на работу с длинными кабелями при высоком быстродействии, стоят достаточно дорого.

Таблица 9.1. Характеристики светодиодов и инжекционных лазерных диодов
ПараметрыСветодиод (LED)Инжекционные лазерные диоды
Выходная мощность0,5 – 11,5 мВт3 – 10 мВт
Время нарастания1 – 20 нс1 – 2 нс
Диапазон тока смещения5 – 150 мА100 – 500 мА

Время нарастания сигнала фотодиода ограничивает быстродействие системы. Немалую роль играет и уровень шумов на входе приемника. При этом световой импульс должен нести достаточно энергии (заметно больше уровня шума), чтобы обеспечить низкий уровень ошибок. В таблице 9.2 приведены характеристики оптических приемников.

Таблица 9.2. Характеристики оптических приемников
ПараметрыPINЛавинный фотодиодФототранзисторФотоприемник Дарлингтона
Чувствительность0,5 мкA/мкВт15 мкA/мкВт35 мкA/мкВт180 мкA/мкВт
Время нарастания1 нс2 нс2 мкс40 мкс
Напряжение смещения10 В100 В10 В10 В

Поглощение света в волокне происходит по нескольким причинам. Поглощение в собственно стекле волокна падает с уменьшением частоты, в то время как потери из-за рассеяния на дефектах стекла (релеевское рассеяние) с увеличением частоты растет. При сгибании волокна поглощение также увеличивается. По этой причине следует избегать малых радиусов изгиба (кроме всего прочего, это может привести к растрескиванию и обрыву). В результате потери света в волокне обычно лежат в диапазоне (2-5) дБ/км для длин волн . Зависимость поглощения света в волокне от длины волны показана на рис. 9.3. Используемые диапазоны отмечены на рисунке серыми полосами. Все эти диапазоны имеют ширину 25000 - 30000 ГГц.

Зависимость поглощения света в волокне от длины волны


Рис. 9.3.  Зависимость поглощения света в волокне от длины волны

При прокладке трасс следует также проявлять расчетливость и осторожность. Так, в ИТЭФ несколько лет назад между двумя зданиями был проложен 8-волоконный кабель. На одном из участков не было готовых кабельных каналов, и мы проложили его по воздуху, подвесив к тросу из нержавеющей стали. Кабель был нами разделан, померено затухание сигнала (доли децибела), и около полутора лет он работал без замечаний. Потом мы обнаружили потерю сигнала в одном из волокон и были вынуждены перевести сигнал на одно из резервных. Через некоторое время отказало и оно. Сначала мы предположили плохую заделку кабеля, потом грешили на не слишком хорошую прокладку кабеля на первом этаже одного из зданий (радиус изгиба был около полуметра). В конце концов, нам пришлось пригласить знакомых специалистов из управления перспективных технологий с рефлектометром, которые указали, что имеет место обрыв в 66 метрах от точки разделки кабеля. Что же оказалось?

Обнаружить причину было непросто, даже имея достаточно точное указание. Обрыв был на высоте около 4 м и с земли не виден. В одном месте в 30-40 см от троса находился ствол тополя, который при ветре по нему ударял. Трос перемещался в горизонтальной плоскости. С одной из сторон, где кабель уходил с троса вниз, он огибал болт. При монтаже эта часть кабеля была помещена в стальной рукав, но в процессе раскачивания троса рукав сполз вниз. Резьба болта работала как пила, сначала была повреждена изоляция, затем стальная оплетка и, наконец, были оборваны волокна одно за другим (4 из 8). Дальнейшее разрушение приостановил центральный встроенный в оптический кабель стальной трос. На эту разрушительную "работу" ушло более года, ведь сильный ветер дует не каждый день, да и перепилить стальную проволоку защитной оплетки не простая задача. Пришлось пригласить специалистов, которые устранили обрыв, сварив волокна заново. Надеюсь, что наш негативный опыт окажется полезным для других.

Из рисунка видно, что минимумы поглощения приходятся на 1300 и ~1500 нм, что и используется для целей телекоммуникаций. При длине волны 1300 нм дисперсия скоростей распространения различных длин волн минимальна. Диапазон ~850 нм характеризуется высоким поглощением, но он привлекателен тем, что как лазеры, так и электроника могут быть изготовлены из одного материала (арсенида галлия). Зависимость дисперсии от длины волны показана на рис. 9.4.

Зависимость дисперсии от длины волны


Рис. 9.4.  Зависимость дисперсии от длины волны

Из рисунка видно, что в области ниже 1300 нм более длинные волны движутся быстрее коротких. Для длин волн >1300нм имеет место обратная ситуация – более длинные волны движутся медленнее коротких. Для одномодовых волокон определяющий вклад в искажения вносится дисперсией скоростей распространения, для многомодовых основной вклад вносит модовая дисперсия. Зависимость полосы пропускания волокна от его длины приведена на рис. 9.5.

Зависимость полосы пропускания волокна от его длины


Рис. 9.5.  Зависимость полосы пропускания волокна от его длины

Типовые характеристики оптических волокон приведены в таблице 9.3. (См. также Дональд Дж. Стерлинг, Волоконная оптика. Техническое руководство. Изд. "ЛОРИ, Москва, 1998 а также Дж. Гауэр, Оптические системы связи. Москва, "Радио и связь", 1989). А в данной таблице – цифровая апертура волокна.

Таблица 9.3. Типовые параметры волокон
Тип волокна ядра [мкм] клэдинга NAМаксимальное затухание [дб/км]Полоса пропускания [МГц/км]
65079085013001550
Одномодовое3,780(125)10500 @ 850нм

6 дисп./км (*)

5,080(125)2,3
9,31250,130,40,3
8,11250,170,50,25
Сглаженный индекс501250,202,40,60,5600@850нм

1500@1300нм

62,51250,2753,00,70,3200@850нм

1000@1300нм

851250,262,80,70,4200@850нм

400@1300нм

1001400,293,51,50,9300@850нм

500@1300нм

Ступенчатый индекс2003800,276,06@850нм
3004400,276,06@850нм
PCS2003500,31020@790нм
Пластик4855000,52405@680нм
7357500,5230
98010000,5220
* Дисперсия на нанометр ширины источника.

Одним из критических мест волоконных систем являются сростки волокон и разъемы. Учитывая диаметр центральной части волокна, нетрудно предположить, к каким последствиям приведет смещение осей стыкуемых волокон даже на несколько микрон (особенно в одномодовом варианте, где диаметр центрального ядра менее 10 микрон) или деформация формы сечения волокон.

Соединители для оптических волокон имеют обычно конструкцию, показанную на рис. 9.6, и изготовляются из керамики. Оптические аттенюаторы для оптимального согласования динамического диапазона оптического сигнала и интервала чувствительности входного устройства представляют собой тонкие металлические шайбы, которые увеличивают зазор между волокном кабеля и приемником.

Схема оптического разъема


Рис. 9.6.  Схема оптического разъема

Если длина волокна должна быть значительной из-за расстояния, которое нужно перекрыть, а потребителей по дороге нет, приходится ставить промежуточные усилители сигнала (см. рис. 9.7, присутствие ЭВМ необязательно).

Промежуточный волоконный усилитель


Рис. 9.7.  Промежуточный волоконный усилитель

С использованием оптических волокон можно создавать не только кольцевые структуры. Возможно построение фрагмента сети, по характеру связей эквивалентного кабельному сегменту или хабу. Схема такого фрагмента сети представлена на рис. 9.8 (пассивный хаб-концентратор). Базовым элементом этой субсети является прозрачный цилиндр, на один из торцов которого подключаются выходные волокна всех передатчиков интерфейсов устройств, составляющих субсеть. Сигнал с другого торца через волокна поступает на вход фото приемников интерфейсов. Таким образом, сигнал, переданный одним из интерфейсов, поступает на вход всех остальных интерфейсов, подключенных к этой субсети. При этом потери света составляют 2С + S + 10*log(N), где С — потери в разъеме, S — потери в пассивном разветвителе, а N — число оптических каналов ( N может достигать 64). Современные микросхемы приемопередатчиков (корпус DIP) имеют встроенные разъемы для оптического кабеля (62,5/125мкм или 10/125 мкм). Некоторые из них (например, ODL 200 AT&T) способны осуществлять переключение на обходной оптический путь (bypass) при отключении питания.

Схема пассивного оптоволоконного хаба (разветвителя)


Рис. 9.8.  Схема пассивного оптоволоконного хаба (разветвителя)

Преимущество оптического волокна перед проводной системой связано с физическими процессами, происходящими в нем. Электроны, движущиеся в проводнике, взаимодействуют с его атомами и другими электронами, в том числе, за счет создаваемого электромагнитного поля. Фотоны в волокне не взаимодействуют друг с другом и, тем более, с фотонами за пределами волокна и не покидают волокно через его боковые поверхности. Все это делает волокна привлекательными с точки зрения безопасности – трудно сделать ответвление. Интерфейсное оптоволоконное оборудование на сегодняшний день стоит дороже устройств для работы с проводниковыми каналами, и при длине канала в несколько метров скрученные пары пока предпочтительнее.

В последнее время заметного удешевления оптических каналов удалось достичь за счет мультиплексирования с делением по длине волны. За счет этой техники стало возможно в 16-32 раза увеличить широкополосность канала из расчета на одно волокно. Схема мультиплексирования показана на рис. 9.9. На входе канала сигналы с помощью призмы объединяются в одно общее волокно. На выходе с помощью аналогичной призмы эти сигналы разделяются. Число световых потоков на входе и выходе может достигать 64 и более.

Мультиплексирование с делением по длине волны в оптическом волокне


Рис. 9.9.  Мультиплексирование с делением по длине волны в оптическом волокне

9.1. Беспроводные оптические каналы

Для стационарных каналов оптоволоконный кабель не имеет конкурентов. Но при формировании каналов в городе, где требуется лицензия на прокладку и разрешение для использования канализации, все становится не так просто. При расстояниях до 1-5 км во многих случаях становятся привлекательны каналы с открытым лазерным лучом. Ниже приведена таблица 9.3.1, где сравниваются параметры различных беспроводных систем.

Таблица 9.3.1. (GBL – Communication by light GmbH http://www.cbl.ru)
Беспроводные телекоммуникационные системы
Широкополосные системы (802.11; 802.16)Оптические каналыРадиорелейные системы
Скорость передачиНесколько Мбит/c 155 Мбит/cДо 155 Мбит/c
Максимальное расстояниеНесколько км 2 км 50 км
Защита от прослушиваниявысокаяКрайне высокаяОчень высокая
Проблемы интерференцииимеютсяотсутствуютмалые
Интерфейсы10/100 MbpsEthernetE1, волоконный стандарт, FE, GEE1, STM-1 Eth, FE
Точность настройкималаяОчень высокаясредняя
Разрешение на применениеЛицензия не требуетсяЛицензия не требуетсяНужна лицензия PTT
Относительная стоимость 5200 евро 6000 евро 26000 евро

Пример характеристики приемопередающего оборудования. Таблица 9.3.2.

Таблица 9.3.2.
LED-LINK 300LaserLink 4E1/300
Рекомендуемое расстояние [m]< 300< 300
Полоса пропускания [Mbps]2-434*2,048
BER 10-9 10-6
ПередатчикIP-LEDIP-LED
Передаваемая мощность [мВт]50/6050/60
Расходимость луча [мрад]< 10< 10
Динамический диапазон [дБ]>30 (1:1000)>40 (1:10000)
Сетевой интерфейсМультимодовое волокно4*E1, G.703
Диаметр волокна [мкм]50-60/120-
Длина волны (RX) [нм]780..900-
Длина волны (TX) [нм]850-
Рабочая температура 0C-20ч+50-20ч+50

В качестве принимающего устройства используются PIN.диоды или лавинные фотодиоды (APD). Таблица 9.3.3. VCSEL (Vertical Cavity Emitting Laser) – излучающий лазер с вертикальным резонатором. Вышеназванные лазеры (CBL – Мюнстер, ФРГ) относятся к классу 1М (безопасны для глаз).

Таблица 9.3.3.
AirLaser IP100AirLaser IP1000
Максимальная дальность [м]20001000
Скорость передачи [Мбит/c]1251250
Передатчик2/4 VCSEL4 VCSEL
Мощность [мВт]2/4*7,54*7,5
Апертура [см2]2/4*28,254*28,25
Расходимость луча [мрад]2
Динамический диапазон [дВ]3630
ПриемникPIN/APDAPD
Чувствительность [дБм]-33/-43-33
Длина волны [нм]1300SX:850, LX:1300
Стандарт100BaseFX (IEEE 802.3u)1000BaseSX/LX (IEEE802.3z)
Рабочая температура [0 C](-25 +50)(-25 +50)
Потребляемая мощность [Вт]2735

На рис. 9.10 показана зависимость вероятности отказов канала изза погодных условий (снег – сильный дождь) в Германии на основе 1000 инсталляций (доступность канала и число минут неработоспособности за год). Если требуется 100% эффективность, рекомендуется использовать резервные широкополосные каналы или ISDN.

Зависимость вероятности отказа канала от расстояния в условиях плохой погоды


Рис. 9.10.  Зависимость вероятности отказа канала от расстояния в условиях плохой погоды

Принципиально новые возможности открыло изобретение инфракрасных лазеров. Лазер генерирует слабо расходящийся в воздухе пучок света (диаметр порядка 1 мм). Это позволяет осуществлять передачу открытым лучом на относительно большое расстояние (до 10 км). Но это же свойство луча создает и определенные проблемы. В атмосфере от горячих предметов поднимаются вверх конвекционные потоки горячего воздуха, варьирующие коэффициент преломления. Многие наблюдали это явление над шоссе жарким летним днем, когда идущая впереди машина как бы отрывается от земли и парит в колышущемся мареве. То же самое явление лежит в основе появления миражей. Следует также учитывать, что солнце создает поток излучения в инфракрасной области не меньше, чем в видимой области. Оптические каналы предполагают использование двух параллельных лучей, по одному для каждого направления передачи (смотри рис. 9.11). Диаметр чувствительной поверхности детектора обычно не превышает 1 мм.



Рис. 9.11. 

Чтобы исключить влияние конвективных воздушных потоков от разогретой поверхности крыши, обычно используют дефокусировку пучка, при которой даже при отклонении оси пучка пятно засветки не покидает чувствительную область детектора. Этот метод предполагает, что имеется избыток световой мощности передающего лазера.

По этой причине, а также из-за поглощения луча дождем и туманом, каналы связи с открытым лазерным пучком широкого применения не находят. Но иногда из-за отсутствия нужных кабельных каналов, или из-за возражений телефонных компаний, открытый луч может оказаться полезным для организации связи между не слишком удаленными зданиями. Открытый луч предоставляет достаточно высокий уровень безопасности, так как для перехвата сообщений нужно "дотянуться" до пучка. Да и обнаружить инфракрасный луч без специальных средств не так легко. Проектируя такие каналы связи надо учитывать ослабление сигнала [дБ], связанное с геометрией пучка:

где — угол расхождения в радианах, R – расстояние передачи в метрах, dвх – диаметр входного окна в метрах. Необходимо также принимать во внимание ослабление, связанное с поглощением и рассеянием:

где – ослабление в децибелах на километр, — длина волны излучения в микронах, S – дальность видимости [км]. Надо сказать, что дальность и надежность передачи в этом случае сильно зависит от погодных условий, в чем можно убедиться на рис. 9.12.

Зависимость ослабления лазерного сигнала лазерного луча в зависимости от состояния атмосферы


Рис. 9.12.  Зависимость ослабления лазерного сигнала лазерного луча в зависимости от состояния атмосферы

Главным преимуществом варианта с открытым лазерным лучом является отсутствие необходимости лицензирования или получения специальных разрешений для прокладки кабеля, в условиях РФ этим обстоятельством не следует пренебрегать.

А вот для связи в пределах залов с большими объемами этот вариант вполне привлекателен. Здесь используются специальные дефокусирующие системы и рефлексы от стен и других предметов. Такая схема привлекательна также с точки зрения безопасности. Ведь, в отличие от радиоволн, инфракрасное излучение не может пройти через стены и даже стекла. Локальная сеть, построенная на таком принципе, представляет собой односегментную LAN.

Но земная атмосфера является плохой средой для распространения света. По этой причине только разработка кремниевых волокон с низким коэффициентом поглощения в инфракрасном диапазоне (< 0,2 дБ/км) сделала возможным широкое распространение оптоволоконных каналов связи. Укладывается ~1000км оптоволоконного кабеля в день. В настоящее время каналы обычно имеют пропускную способность ~1-100 Гбит/c. В ближайшие годы следует ожидать увеличения быстродействия таких устройств в 10-100 раз. Учитывая, что

, где — скорость света, — частота, а — длина волны, для наиболее популярного диапазона и , мы имеем .

Телефонные компании шаг за шагом переходят со скрученных пар на оптические волокна, предлагая широкополосные услуги SMDS и B-ISDN (ATM).

Рассматривая параметры оптоволоконных каналов и радиорелейных линий нужно помнить, что последние имеют задержку , а оптоволоконные — , что иногда оказывается существенным (в воздухе электромагнитные волны распространяются быстрее, чем в кварце).

Сопоставляя возможности спутниковых каналов с оптоволоконными, следует учитывать, что одна волоконная пара обладает пропускной способностью больше, чем все запущенные до сих пор телекоммуникационные спутники.

Но это не означает, что спутниковая связь не имеет перспективы, у нее имеется несколько ниш, где она имеет неоспоримые преимущества.

  1. Представим себе одинокий остров, где размещена метеорологическая или геофизическая станция. Прокладывать туда кабель по дну моря совершенно не выгодно с экономической точки зрения.
  2. Мобильная телефония, которая стала достоянием десятков миллионов человек, вошла в привычку, и люди не хотят терять связь со своими близкими или деловыми партнерами ни на борту лайнера, ни за рулем автомобиля на пустынной автостраде. Здесь спутниковый вариант также трудно заменим.
  3. Преимущество широковещательности создает еще одну нишу для этого вида связи. Трансляция биржевых новостей или курса акций в реальном масштабе времени сразу на целые континенты делает спутниковый вариант привлекательным.
  4. Не следует упускать из виду и военные приложения, где оптоволоконика не всегда применима, а иногда и неприменима вовсе.
  5. Оптоволоконные системы связи в городе часто могут предоставить индивидуальному пользователю только определенную полосу. Спутниковый канал может быть смонтирован быстро и дать пользователю, то, что ему нужно.

Проводные, радио и оптоволоконные каналы образуют физический уровень транспортировки данных (L1). Далее пойдет речь о следующем уровне (L2), к которому относятся Ethernet, ISDN, ATM, Frame Relay и многие другие. Среди них одно из почетных мест занимает протокол точка-точка PPP.

9.2. Протокол PPP

Протокол PPP (Point-to-Point Protocol; RFC-2716, -2701, -2688, -2687, -2686, -2615, -2516, -2509, -2508, -2507, -2484, -2472, -2433, -2420, -2419, -2364, -2363, -2290, -2284, -2153, -2125, -2097, -2043, -1994, -1993, -1990, -1989, -1979, -1978, -1977, -1976, -1975, -1974, -1973, -1969, -1968, -1967, -1963, -1962, -1915, -1877, -1841, -1764, -1763, -1762, -1663, -1662, -1661, -1638, -1619, -1618, -1598, -1570, -1552, -1378, -1377, -1334, -1332, -1331, и STD-51, смотри также http://www.spitbrook.destek.com:81/pptp.txt) предназначен для передачи мультипротокольных дейтограмм от одного узла к другому. Сам по себе список RFC, приведенный выше, впечатляющ. Он говорит о том, что данный протокол относится к числу наиболее важных и широко используемых. Это и понятно: большинство региональных сетей строится с использованием соединений точка-точка. PPP поддерживает, как асинхронный режим с 8 битами данных без бита четности (согласуется со свойствами последовательного интерфейса, имеющегося практически на всех ЭВМ), так и побитовый синхронный режим. Протокол содержит в себе три составные части:

Протокол управления каналом LCP (Link Control Protocol) является частью PPP. Идеология NCP (Network Control Protocol) реализована и в протоколе TCP. Каждый кадр PPP начинается и завершается флагом 0x7E. За стартовым флагом-октетом следует байт адреса, который всегда равен 0xFF. Формат кадра PPP представлен на рисунке 9.13. Кадр PPP может содержать только целое число байт. При инкапсуляции других пакетов в PPP используется бит-ориентированный протокол HDLC (High-level Data Link Control).

Формат кадра в протоколе PPP


Рис. 9.13.  Формат кадра в протоколе PPP

Поле адрес всегда содержит байт 0xff (смотри описание HDLC). Это указывает на то, что все станции должны принять этот кадр, и исключает необходимость выделения каких-то специальных адресов. Байт управления всегда равен 0x03, что указывает на ненумерованный тип кадра. По умолчанию кадры PPP передаются в режиме без установления соединения. Если требуется надежная доставка, используется версия, описанная в RFC-1663. Двухоктетное поле протокол сходно по функции с полем тип в кадре Ethernet и определяет то, как следует интерпретировать информационное поле (см. табл. 9.4). Значение 0x0021 этого поля говорит о том, что последующее информационное поле содержит в себе IP-дейтограмму. Поле CRC (Cyclic Redundancy Check) представляет собой циклическую контрольную сумму, предназначенную для выявления ошибок при транспортировке PPP -кадра. Применение флагов-ограничителей кадра (0x7E) создает определенные проблемы, — эти байты не могут присутствовать в информационном поле. В синхронном режиме эта проблема решается на аппаратном уровне. При работе в асинхронном режиме для этого используется специальный ESC-символ, равный 0x7D. Когда этот esc-символ встречается в информационном поле, шестой бит в следующем за ним байте инвертируется. Так байт 0x7E будет преобразован в последовательность 0x7D, 0x5E, а байт 0x7D — в два байта 0x7D, 0x5D. Все символы с кодами меньше 0x20 также преобразуются в ESC-последовательности. Например, 0x07 будет преобразован в 0x7D, 0x27. Это необходимо делать, так как управляющие символы могут оказать непредсказуемые воздействия на режим работы драйверов или модемов, используемых в канале. Протокол PPP допускает мультипротокольность и динамическое определение IP-адресов партнеров.

Таблица 9.4. Стандартизованные DLL-номера протоколов для PPP (поле протокол)
DLL-код протокола (шестнадцатеричный)Наименование протокола
0001Протокол заполнения (padding)
0003-001FЗарезервировано
0021IP-протокол
0023Сетевой уровень OSI
0025Xerox NS IDP
0027Decnet фаза IV
0029Appletalk
002BNovell IPX
002DКомпрессированный TCP/IP протокол Ван Джекобсона
002FНе компрессированный TCP/IP протокол Ван Джекобсона
0031Протокол PDU мостов
0033Потоковый протокол (ST-II)
0035Banyan Vines
0039Appletalk EDDP
003BAppletalk Smartbuffered
003DMulti-link
003FКадры Netbios
0041Cisco Systems
0043Ascom Timeplex
0047Удаленная локальная сеть DCA
0049Транспортный протокол для последовательных данных ( PPP -SDTP)
004BSNA через 802.2
004DSNA
004FСжатие заголовков IPv6
007DЗарезервировано (Управл. ESC) [RFC1661]
00FD1-ый вариант компрессии
0201Пакеты отклика 802.1d
0203IBM BPDU базовой маршрутизации
8021Управляющий протокол Интернет (IPCP)
8023Управляющий протокол сетевого уровня OSI
8025Управляющий протокол Xerox NS IDP
8027Управляющий протокол Decnet фаза VI
8029Управляющий протокол Appletalk
802BУправляющий протокол Novell IPX
8031Бридж NCP
8033Потоковый управляющий протокол
8035Управляющий протокол Banyan Vines
803DМногосвязный управляющий протокол
803FУправляющий протокол кадров NetBIOS
8041Управляющий протокол Cisco
8043Ascom Timeplex
8045Управляющий протокол Fujitsu LBLB
8047Управляющий протокол удаленных локальных сетей DCA (RLNCP)
8049Управляющий протокол передачи последовательных данных ( PPP -SDCP)
Управляющий протокол для передачи SNA поверх 802.2
804DУправляющий протокол SNA
804FУправляющий протокол сжатия заголовков IPv6
80FDУправляющий протокол сжатия
C021Канальный управляющий протокол
C023Протокол аутентификации паролей
C025Сообщение о состоянии канала
C081Управляющий протокол для работы с контейнерами

Значения кодов поля протокола от 0xxx до 3xxx идентифицируют протоколы сетевого уровня, а значения в интервале 8xxx-Bxxx говорят о том, что протокол соответствует NCP. Коды из диапазона 4xxx-7xxx используются для протоколов с низким уровнем трафика, а коды от Сxxx до Exxx соответствуют управляющим протоколам (например, LCP).

Протокол PPP при установлении соединения предусматривает процедуру аутентификации, которая является опционной (смотри рис. 9.14.). После перехода на сетевой уровень вызывается NCP-протокол, который выполняет необходимую конфигурацию канала.

Алгоритм установления соединения PPP


Рис. 9.14.  Алгоритм установления соединения PPP

При обнаружении несущей или по инициативе клиента система может попытаться установить соединение. В случае успеха система переходит в фазу аутентификации. Если же и фаза аутентификации завершается благополучно, система выполняет подключение к сети (IP, IPX, Appletalk и т.д.), настройка сетевого уровня производится в рамках протокола NCP. Во всех остальных случаях происходит возврат в исходное состояние. Процедура закрытия соединения осуществляется протоколом LCP.

В поле данных PPP -пакета может быть вложен один LCP-пакет, в этом случае в поле протокол должен быть записан код 0xC021 (Link Control Protocol). LCP-протокол служит для установления соединения путем обмена конфигурационными пакетами. По завершении этого обмена система переходит в фазу аутентификации (рис. 9.14). Формат LCP-пакета показан на рис. 9.15.

Формат заголовка LCP-пакета


Рис. 9.15.  Формат заголовка LCP-пакета

Вслед за заголовком следует поле данных. Поле код (1 октет) идентифицирует модификацию LCP-пакета. Если получен пакет с неизвестным полем код, посылается пакет-отклик "отклонение кода". Поле идентификатор (1 октет) служит для нахождения соответствия между запросами и откликами. Если получен пакет с неправильным идентификатором, он просто уничтожается. Двухоктетное поле длина определяет размер LCP-пакета, включая размер заголовка. Октеты принятого пакета за пределами, заданными полем длина, игнорируются.

В качестве примера можно рассмотреть процедуру подключения персональной ЭВМ к серверу через модем. После того как модем маршрутизатора ответит на вызов модема-клиента и установит физическое соединение, ЭВМ посылает последовательность LCP-пакетов, вложенных в поля данных одного или нескольких PPP -кадров. Это позволяет выбрать необходимые параметры PPP. По завершении этой процедуры посылается последовательность NCP-пакетов, которые конфигурируют сетевой уровень. Вероятно, ЭВМ захочет работать со стеком протоколов TCP/IP и по этой причине нуждается в IP-адресе. Если провайдер имеет N IP-адресов в резерве, он может подключить одновременно N ЭВМ. Присвоение IP-адреса осуществляется также в рамках NCP-протокола. После этого ЭВМ становится узлом Интернет. Завершение сессии и освобождение IP-адреса выполняется также через NCP-протокол. Разрыв соединения осуществляет протокол LCP.

За полем длина могут следовать поля опций. Опции определяются все сразу на фазе конфигурирования канала. Описание опции содержит однооктетные субполя типа и длины, за которыми следует поле данных. Значения субполя типа представлены ниже в таблице 9.41.

Таблица 9.4.1.
Значение кода поля типаНазначение опции
0Зарезервировано
1Maximum-Receive-Unit (указывает максимальный размер блока данных, который может быть принят)
3Authentication-Protocol (протокол аутентификации)
4Quality-Protocol (протокол качества обслуживания)
5Magic-Number (магическое число, опция служит для выявления каналов с петлями обратной связи)
6Protocol-Field-Compression (сжатие протокольных полей)
7Address-and-Control-Field-Compression

Существует три класса LCP-пакетов.

  1. Пакеты конфигурации канала, которые используются при формировании виртуального канала (Configure-Request, Configure-Ack, Configure-Nak и Configure-Reject).
  2. Пакеты закрытия канала (Terminate-Request и Terminate-Ack).
  3. Пакеты поддержания, которые служат для управления и отладки (Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request).

Аналогом LCP является протокол IPCP (IP Control Protocol). В поле код протокола в этом случае записывается 8021 (RFC-1332). Формат пакета IPCP показан на рис. 9.16

Формат пакета IPCP. Младшие биты слева.


Рис. 9.16.  Формат пакета IPCP. Младшие биты слева.

Поле тип содержит 2, в поле длина заносится число байт в пакете ( ). В поле протокол сжатия IP заносится код алгоритма сжатия (0х02D — в случае алгоритма Ван Джекобсона). Поле данные может содержать нуль или более октетов. Конфигурационный запрос может потребовать присылки (присвоения) IP-адреса. Для решения этой задачи предусмотрена опция IPCP-пакета, где поле тип =3, длина =6, а последующие 4 байта выделены для IP-адреса, куда отправитель должен его записать. Если туда записаны нули, это говорит о том, что отправитель запрашивает свой IP-адрес.

Протоколы PPP, LCP (Link Control Protocol), CCP (Compression Control Protocol; RFC-1962, -1967) и некоторые другие управляющие протоколы содержат 8-битовые поля код. Значения этих кодов приведены в таблице 9.5.

Таблица 9.5. Значения поля код LCP-заголовка
КодТип пакета
1Запрос конфигурацииConfigure-Request
2Подтверждение конфигурацииConfigure-Ack
3Неподтверждение конфигурацииConfigure-Nak
4Отклонение конфигурацииConfigure-Reject
5Запрос завершенияTerminate-Request
6Подтверждение завершенияTerminate-Ack
7Отклонение кодаCode-Reject
8*Отклонение протоколаProtocol-Reject
9*Запрос откликаEcho-Request
10*Эхо-откликEcho-Reply
11*Запрос отменыDiscard-Request
12*Идентификация
13*Остающееся время
14**Запрос сброса
15**Отклик на запрос сброса
*) Только LCP; **) Только CCP

Для случая запроса Discard-Request между полями длина и данные помещается 4-байтовое поле Magic-Number (магическое число).

Протокол PPP многолик, он способен поддерживать и многоканальные соединения (RFC-1990). Это бывает полезно при работе через ISDN, X.25, Frame Relay или при необходимости расширить пропускную способность за счет подключения нескольких параллельных каналов (MP – MultiLink Protocol).

Так как я не сталкивался со случаями, когда пропускной способности было вполне достаточно, MP модификацию PPP -протокола следует считать крайне важной.

При этом одной из проблем является распределение пакетов по каналам и последующее их упорядочение принимающей стороной. Особую осторожность в этом случае следует соблюдать при использовании заполнителей. В этом режиме по виртуальному каналу MultiLink запрещается посылать конфигурационные LCP-пакеты Configure-Request, -Reject, -Ack, -Nak, Terminate-Request или -Ack. Принимающая сторона в случае их обнаружения должна их игнорировать. Применение других LCP-пакетов допускается (например, Code-Reject, Protocol-Reject, Echo-Request, Echo-Reply и Discard-Request). Формат MP-пакета представлен на рис. 9.17.

Формат MР-пакета


Рис. 9.17.  Формат MР-пакета

Поля PID - идентификатор протокола. Субполе B (Beginning) - бит фрагмента =1 для первого фрагмента PPP и =0 для всех последующих фрагментов. Субполе E (Ending) — бит фрагмента =1 для последнего фрагмента PPP и =0 для всех прочих фрагментов. Поле номер по порядку имеет длину 24 бита. Существует модификация пакета с укороченным кодом (12 бит) номера по порядку. При этом к этому полю отходят 4 нулевые бита после BE00. Выбор длины этого поля осуществляется протоколом LCP. Значение поля увеличивается на 1 при посылке очередного фрагмента. Для вышерасположенных уровней совокупность совместно используемых каналов выглядит как один виртуальный канал.

При передаче пакетов по каналу Multilink инкапсуляция производится согласно следующим правилам, которые задаются вручную:

Для предварительно фрагментированных пакетов запрещено дополнение нулями или использование каких-либо иных заполнителей. Рассмотрим пример Multilink-соединения, приведенный на рис. 9.18. Канал 1 между двумя системами согласуется сетевыми уровнями NL1, NL2 и MP. Затем эти две системы согласуют с MP канал 2. Кадры, полученные каналом 1, демультиплексируются на канальном уровне согласно сетевому протокольному идентификатору PPP и могут быть посланы NL1, NL2 или MP. Канал 2 примет кадры со всеми сетевыми протокольными идентификаторами, с которыми принимает их канал 1. Кадры, полученные MP, позднее демультиплексируются на сетевом уровне согласно протокольному идентификатору PPP и посылаются NL1 или NL2. Любые кадры, полученные MP для других протоколов сетевого уровня, отбрасываются с помощью стандартного протокольного механизма (Reject).

Пример Multilink-конфигурации


Рис. 9.18.  Пример Multilink-конфигурации

Так как межсетевые связи часто используют последовательные каналы (выделенные линии, радиомодемы и пр.), протокол PPP распространен достаточно широко. Он служит и для создания межсетевых туннелей (протокол PPTP — Point to Point Tunneling Protocol; RFC-2637). Протокол PPTP использует MTU=1532, номер порта 5678 и номер версии 0x0100, пакеты данных здесь транспортируются с использованием шифрования и протокола инкапсуляции GRE V2 (см. сноску в начале раздела). Этот протокол поддерживает связь поверх других протоколов, например, TCP/IP или NetBEUI.

9.3. Протокол туннелей на сетевом уровне L2 (L2TP)

Важным дополнением Протоколов РРР и РРТР является протокол L2TP (Layer Two Tunneling Protocol, более подробное описание смотри http://book.itep.ru/4/44/l2pr.htm). Протокол L2TP расширяет модель PPP, позволяя размещение терминальных точек L2 и PPP в различных физических устройствах, подключенных к сети с коммутацией пакетов. В L2TP пользователь имеет соединение L2 с концентратором доступа (например, модемным пулом, ADSL DSLAM, и т.д.), а концентратор, в свою очередь, туннелирует индивидуальные PPP -кадры в NAS (Network Access Server). Это позволяет разделить обработку PPP -пакетов и реализацию шлюза L2.

Очевидным преимуществом такого разделения является то, что вместо требования завершения соединения L2 в NAS, соединение может завершаться в локальном концентраторе, который затем продлевает логический канал PPP через общую инфраструктуру, такую, как, например, Интернет. C точки зрения пользователя нет никакой разницы между завершением туннеля на уровне L2 в NAS или через L2TP.

Многоканальный PPP [RFC1990] требует, чтобы все каналы, образующие многоканальную связь, были объединены в группу с помощью одного NAS. Благодаря возможности формирования сессий PPP с оконечными адресами, отличными от точки присоединения, L2TP может использоваться для схем, когда все каналы приходят на вход одного NAS.

На диаграмме (рис. 9.19) показана схема работы протокола L2TP и функции LAC и LNS. Целью здесь является туннелирование кадров PPP между удаленной системой или клиентом LAC (L2TP Access Concentrator) и LNS (L2TP Network Server), размещенной в LAN.

Схема работы протокола L2TP


Рис. 9.19.  Схема работы протокола L2TP

Удаленная система инициирует PPP -соединение с LAC через коммутируемую телефонную сеть PSTN. LAC затем прокладывает туннель для PPP -соединения через Интернет, Frame Relay или ATM к LNS, посредством чего осуществляется доступ к исходной LAN (Home LAN). Адреса удаленной системе предоставляются исходной LAN через согласование с PPP NCP. Аутентификация, авторизация и аккоунтинг могут быть предоставлены областью управления LAN, как если бы пользователь был непосредственно соединен с сервером сетевого доступа NAS.

LAC-клиент (ЭВМ, которая исполняет программу L2TP) может также участвовать в туннелировании до исходной LAN без использования отдельного LAC. В этом случае, ЭВМ, содержащая программу LAC клиента, уже имеет соединение с Интернет. Затем создается "виртуальное" PPP -соединение и локальная программа L2TP LAC формирует туннель до LNS. Как и в вышеописанном случае, адресация, аутентификация, авторизация и аккоунтинг будут обеспечены областью управления исходной LAN.

L2TP использует два вида пакетов, управляющие и информационные сообщения. Управляющие сообщения используются при установлении, поддержании и аннулировании туннелей и вызовов. Информационные сообщения используются для инкапсуляции PPP -кадров, пересылаемых по туннелю. Управляющие сообщения используют надежный контрольный канал в пределах L2TP, чтобы гарантировать доставку. Информационные сообщения, если происходит их потеря, повторно не пересылаются.

На рис. 9.20 показано взаимоотношение PPP -кадров и управляющих сообщений по управляющему и информационному каналам L2TP. PPP -кадры передаются через ненадежный канал данных, инкапсулированных сначала в L2TP, а затем в транспортные пакеты, такие, как UDP, Frame Relay, ATM и т.д.. Управляющие сообщения посылаются через надежный управляющий канал L2TP, который передает пакеты в пределах того же пакетного транспорта.

Структура протокола L2TP


Рис. 9.20.  Структура протокола L2TP

Порядковые номера необходимы во всех управляющих сообщениях и применяются в управляющем канале для обеспечения надежной доставки. Информационные сообщения могут использовать порядковые номера, чтобы восстановить порядок пакетов и детектировать потерю кадров. Все коды посылаются в порядке, принятом для сетей (старшие октеты — первые).

Необходимая процедура установления PPP -сессии туннелирования L2TP включает в себя два этапа (см. рис. 9.21):

  1. установление управляющего канала для туннеля, и
  2. формирование сессии в соответствии с запросом входящего или исходящего вызова.

Туннель и соответствующий управляющий канал должны быть сформированы до инициализации входящего или исходящего вызовов.

L2TP-сессия должна быть реализована до того, как L2TP сможет передавать PPP -кадры через туннель. В одном туннеле могут существовать несколько сессий между одними и теми же LAC и LNS.

PPP-туннелирование в протоколе L2TP


Рис. 9.21.  PPP-туннелирование в протоколе L2TP

Лекция 10. Введение в сети передачи данных

Сетевые топологии, методы доступа к сети, принципы построения сетевых программных интерфейсов. Алгоритмы и применения сетей, алгоритм клиент-сервер и P2P. Классификация сетей.

Полагаю, что идея компьютерных сетей заимствована из практики использования магистрально-модульных систем, которые служат для передачи данных от различных источников информации в ЭВМ и обратно в режиме реального времени. Такие системы стали активно развиваться с начала 60-х годов прошлого века. Наиболее характерным примером может служить система САМАС, где для передачи данных от или к большому числу объектов использовалась общая аппаратная транспортная среда (шина, как правило, параллельная). Строго говоря, локальная сеть ЭВМ является частным случаем магистрально модульной системы. Другим источником вдохновения могли служить каналы связи ЭВМ с периферийными приборами (например, дисковыми запоминающими устройствами или удаленными терминалами; достаточно вспомнить канал SCSI, который был разработан в том числе и для целей сбора данных). Следует отметить принципиальное различие между такими системами и сетями. В последнем случае данные передаются от ЭВМ к ЭВМ. Важным фактором для развития сетей явилась разработка пакетного принципа передачи данных, который был создан еще до начала Второй мировой войны. Прототипом современных сетей, возможно, явились терминальные сети крупных вычислительных центров.

Первой сетью, где применен пакетный принцип передачи данных, была ARPANET (1969; Advanced Research Project Agency NETwork). Эта сеть имела всего 4 узла. Примерно тогда же стали разрабатываться протоколы последовательной, синхронной (SDLC) и асинхронной ("старт/стоп") передачи данных, интеллектуальные терминалы и канальные концентраторы. В рамках этих работ были разработаны устройства и программы доступа к среде с разделением по времени ( TDMTime Division Multiplexing). Такая схема доступа используется практически во всех многозадачных операционных системах. Все это создало предпосылки для разработки реальных сетей. Целью строительства сетей является эффективное использование ресурсов машин, объединяемых сетью, и повышение надежности системы в целом. Через сеть передаются тексты, сообщения, файлы, изображения, задания, команды, видео- или акустические данные. Попытаемся ответить на вопрос, почему сети получили столь широкое распространение?

Сети делают возможным:

Сети – это системы мультиплексирования доступа к каналам и ресурсам.

Это достаточно обобщенный и неполный список приложений — полный список можно было бы издать отдельным томом. Сети использованы для расчета генома человека, проверки надежности ключей шифрования. Фермы ЭВМ, объединенных сетью, применяются вместо супер-ЭВМ для обработки больших объемов экспериментальных данных в физике высоких энергий, причем кластеры этих машин размещаются иногда на нескольких континентах. Локальные сети появились в поездах, лайнерах, автомобилях и жилище человека.

Сети по своей принадлежности делятся на локальные ( LAN — Local Area Network), городские ( MANMetropolitan Area Network), региональные ( WAN – Wide Area Network) и всемирные (Интернет). В настоящее время существует огромное разнообразие сетей. Но есть у них и нечто общее: практически все они базируются на пакетном принципе передачи данных. Пакет представляет собой последовательность нулей и единиц. Нулю и единице (часто их называют логическим нулем и логической единицей ) ставится в соответствие определенный уровень амплитуды или знак перепада. В этой связи во всех сетях приходится решать проблему выделения начала и конца пакетов. Как правило, для этой цели используются уникальные последовательности бит или уникальные коды. При этом возникает проблема, когда подобные сигнатуры встречаются в теле пакета, ведь это может вызвать сбой – система по ошибке может принять такую последовательность за сигнал прерывания обработки пакета. Задача решается с использованием ESC-последовательностей или техники бит-стаффинга. Esc-последовательность представляет собой строку из двух или более символов, первый из которых, как правило, имеет код 27 (десятичный; ESC). Строка имеет такой формат, который не может встретиться в пределах пакета; если же такая последовательность все же встречается, включается алгоритм, обеспечивающий ее преобразование к уникальному виду. Эта последовательность служит для подмены сигнатуры начала или конца пакета, если она встретится в его поле данных. Техника бит-стафинга предполагает добавление в определенных ситуациях нулевого или единичного бита или использование определенных комбинаций сигналов на физическом уровне. Рассмотрим пример сети ISDN, где для выделения начала и конца кадра служит байт 01111110. Если внутри кадра встретится такой байт, то он будет заменен последовательностью 011111010. Приемное устройство преобразует эту последовательность назад в 01111110. Так входная последовательность бит 010011111111111111110010 будет преобразована в

010011111011111011111010010,

где выделенные нули являются вставленными специально, чтобы была невозможна имитация сигнатуры конца кадра. Последовательность стала длиннее. Принимающая сторона восстановит исходную строку бит.

Эти комбинации решают те же задачи, что и ESC-последовательности, но более экономно.

При передаче данных нужно обеспечивать синхронизацию и стабилизацию уровня регистрации. Синхронизация между передатчиком и приемником необходима прежде всего потому, что не каждому биту в передаваемом коде соответствует изменение уровня сигнала. А это может приводить к тому, что одна из сторон передаст N бит, а другая при этом будет считать, что приняла N-1 или N+1 бит. Синхронизация тактовых частот передатчика и приемника чаще всего осуществляется самой кодовой последовательностью, транспортирующей данные, или независимо, как, например, это делается в сетях SDH.

Так как между передатчиком и приемником не всегда имеется гальваническая связь, средний уровень сигнала может дрейфовать в зависимости от числа предыдущих нулей или единиц. Такой дрейф может приводить к ошибкам, так как в суперпозиции с шумами или наводками может превысить уровень дискриминации, отделяющий состояния логического нуля и единицы.

Практически все сети так или иначе решают проблему мультиплексирования данных (как правило, это определяет алгоритм доступа к сетевой среде).

В сетях для формирования виртуального канала и транспортировки данных используются схемы с коммутацией каналов и с коммутацией пакетов. Эти схемы представлены на рис. 10.1. В случае коммутации каналов сначала осуществляется формирование связи между инициатором и адресатом и только затем начинается обмен данными (или разговор при телефонном соединении). Канал может реализоваться из медных проводов, оптических волокон или с помощью радио. В качестве параметра при установлении соединения используется код места назначения, например, его телефонный номер или IP-адрес. При наборе первой цифры выбирается номер выхода первого коммутатора, при наборе второй цифры — номер выходного канала второго коммутатора и т.д. Цифры могут группироваться в блоки. Время формирования канала достигает 10 секунд и не зависит от расстояния между клиентами. Зато после сформирования канала характерная задержка передачи данных не превышает 5 мс на 1000 км.

Сформированный виртуальный канал используется только конечными клиентами, и полоса пропускания канала остается постоянной в течение сессии, а неиспользованный ресурс канала пропадает.

Схемы сетей с коммутацией каналов (А) и с коммутацией пакетов (Б)


Рис. 10.1.  Схемы сетей с коммутацией каналов (А) и с коммутацией пакетов (Б)

Принцип коммутации каналов применяется системами ISDN, ATM и Х.25. Это не означает, что там ни при каких обстоятельствах не используется коммутация пакетов. Приведенное выше замечание о постоянстве полосы пропускания не исключает, тем не менее, ситуаций перегрузки. Реальные коммутаторы, в отличие от нарисованных, имеют многие сотни и даже тысячи входных/выходных каналов. При поступлении данных по большому числу каналов одновременно коммутатор может не справиться с такой ситуацией. В случае коммутации пакетов один и тот же канал может использоваться большим числом пользователей одновременно. Здесь перегрузка является скорее нормой, чем исключением. В современных системах часто совмещаются методы коммутации каналов и пакетов.

Помимо названных режимов, существует также система коммутации сообщений. Наистарейшим примером такого рода является система передачи телеграмм, где очередная станция получает телеграмму в виде перфоленты, оператор (или специализированный коммутатор) считывает ее адрес и принимает решение о том, по какому из каналов ее следует передать дальше. Такие системы называются "запомнить-и-переадресовать". В современных сетях такой принцип используется при передаче новостей (протокол NNTP — близкий родственник e-mail ). При передаче сообщений не регламентируется их размер, что вынуждает в точках коммутации записывать их на диски. Отсутствие такого рода ограничений приводит к тому, что канал может быть занят достаточно долго. Новое сообщение может быть послано лишь после завершения отправки предыдущего. Все эти проблемы легко разрешаются в системах с коммутацией пакетов, размер которых регламентирован. В этом методе задержка доставки пакета может варьироваться в довольно широких пределах. Более того, может меняться порядок доставляемых пакетов, и кадр, посланный раньше, может быть доставлен позже, — принимающая сторона должна уметь обрабатывать такие события. Пакетный способ транспортировки легко адаптируется к любым форматам, скоростям передачи и алгоритмам формирования и обработки пакетов. Здесь, как правило, исключается возможность монополизации канала каким-либо пользователем, система допускает кодирование или преобразование данных в пакете. Емкость буфера определяется максимальным размером пакета. Для буферизации может использоваться оперативная память маршрутизатора. В данной схеме решение о переадресации может приниматься до того, как пакет будет принят коммутирующим устройством целиком (режим cut-through – коммутация на пролете).

Данный прием реализован в коммутаторах ATM, именно по этой причине там контрольное суммирование охватывает лишь заголовок, а не всю ячейку, хотя ее протяженность ограничена. Ведь именно в заголовке содержится адрес места назначения, а ошибка в нем приведет к тому, что истинный адресат не получит пакет, зато какое-то другое устройство получит пакет, ему не предназначенный.

Но даже 155 Мбит/с быстродействия АТМ-коммутаторов не избавляет их от перегрузок. Достаточно попытаться представить, что на вход 1000-канального переключателя пришло одновременно 100 ячеек (а это ординарная ситуация) — здесь могут не спасти даже достаточно большие объемы буферов и изощренные системы конвейерной обработки. Недаром АТМ-коммутаторы так дороги!

Разные участки маршрута могут иметь разные предельные длины пакетов (MTU), и это может требовать фрагментации получаемых пакетов. Значение MTU, как правило, определяется вероятностью ошибки при транспортировке (BER) или предельно допустимым временем занятости канала.

Именно гибкая система фрагментации и дефрагментации пакетов сделало сети Интернет столь универсальными.

Как локальные, так и региональные сети могут отличаться по топологии и методу доступа.

10.1. Сетевые топологии

Среди топологических схем наиболее популярными являются (см. рис. 10.2):

  1. шина;
  2. звезда;
  3. кольцо;
  4. многокаскадные и многосвязные сети.

Примеры сетевых топологий


Рис. 10.2.  Примеры сетевых топологий

К первым трем типам топологии относятся 99% всех локальных сетей. Деление сетей на локальные и региональные достаточно условно. Под локальной сетью подразумевается сеть предприятия, конторы, учреждения или кампуса, имеющая, как правило, одного администратора. Такая сеть обычно имеет шлюз, который соединяет ее с региональной сетью. Наиболее популярный тип локальной сети физического уровня — Ethernet — может строиться по схемам 1 и 2 (рис. 10.2). В нынешнем виде стандарт на сети типа Ethernet был сформулирован сравнительно недавно — в 1985 году (IEEE Std 802.3-1985; ISO DIS 8802/2).

Сети Token Ring и FDDI применяют кольцевую топологию (3 на рис. 10.2), где каждый узел должен иметь два сетевых интерфейса. Эта топология удобна для оптоволоконных каналов, где сигнал может передаваться только в одном направлении (но при наличии двух колец, как в FDDI или 802.17, возможна и двунаправленная передача). Нетрудно видеть, что кольцевая топология строится из последовательности соединений "точка-точка". Именно эта топология используется для построения каналов на базе оптических волокон. В настоящее время разработана технология двунаправленной передачи данных по одному волокну.

Применяется и немалое количество других топологий, которые являются комбинациями уже названных. Примеры таких топологий даны на рис. 10.3.

Вариант А на рис. 10.3 представляет собой схему с полным набором связей (все узлы соединены со всеми), такая схема используется только в случае, когда необходимо обеспечить высокую надежность соединений. Эта версия требует для каждого из узлов наличия N-1 интерфейсов при полном числе узлов N. Вариант Б является примером нерегулярной топологии, а вариант В – иерархический случай связи (древовидная топология).

Различные сетевые топологические схемы


Рис. 10.3.  Различные сетевые топологические схемы

Если топологии на рис. 10.3 В чаще применимы для локальных сетей, то топологии на рис. 10.3 А и Б более типичны для региональных и глобальных сетей. Выбор топологии локальной или региональной сети существенно сказывается на ее стоимости и рабочих характеристиках. При этом важным параметром для однородной сети является среднее число шагов между узлами D.

где Nd – число ЭВМ на расстоянии d ; N – полное число ЭВМ в сети; d – расстояние между ЭВМ. Для сети типа А на рис. 10.3 D = 1. Данная топология гарантирует сохранение связности даже при обрыве любых трех соединений. Она применима при ограниченном числе узлов.

Именно многосвязность в сочетании с динамическими протоколами маршрутизации делает Интернет достаточно надежным и устойчивым.

Современные вычислительные системы используют и другие топологии (см. рис. 10.4): решетки (А), кубы (В), гипердеревья (Б), гиперкубы и т.д. В некоторых системах топология может программно настраиваться на решаемую задачу.

Некоторые топологии вычислительных систем


Рис. 10.4.  Некоторые топологии вычислительных систем

10.2. Метод доступа к сети

Метод доступа определяет алгоритм, согласно которому узлы сети получают доступ к среде передачи данных и осуществляют мультиплексирование/ демультиплексирование данных.

В 1970-х годах Норман Абрахамсон вместе с сотрудниками Гавайского университета предложил оригинальный способ решения проблемы доступа к сети, который был назван позднее ALOHA. Этот алгоритм использовался для доступа к радиоканалу большого числа независимых пользователей. ALOHA разрешает всем пользователям передачу тогда, когда им это оказалось нужно. При этом неизбежны столкновения и искажения передаваемых данных. Алгоритм, благодаря обратной связи, позволяет отправителям узнать, были ли данные в процессе передачи искажены. Если зарегистрировано такое столкновение, все вовлеченные участники выжидают некоторое время и предпринимают повторную попытку. Время выдержки выбирается случайным образом, что делает повторные столкновения менее вероятными.

Принципиальное отличие алгоритма ALOHA от CSMA/CD (используемого в Ethernet) с точки зрения столкновений заключается в том, что в первом случае столкновения детектируются на входе получателя, а во втором – на выходе отправителя.

Мультиплексирование можно осуществлять по частоте (по длине волны — FDM ), предоставляя разным клиентам разные частотные диапазоны, или по времени ( TDM ), разрешая доступ клиентов к сетевой среде по очереди и резервируя каждому из них для работы фиксированные последовательные временные интервалы. При этом необходима синхронизация работы всех участников процесса. В последнее время стало использоваться также мультиплексирование по кодам CDMA (Code Division Multiple Access), где каждому участнику выделяется уникальный чип-код и допускается использование всеми клиентами всего частотного диапазона в любой момент времени.

Большая часть современных локальных сетей базируется на алгоритме доступа CSMA/CD (Carrier Sensitive Multiple Access with Collision Detection), где все узлы имеют равные возможности доступа к сетевой среде, а при одновременной попытке фиксируется столкновение и сеанс передачи повторяется позднее. Ряд разновидностей такого протокола рассмотрели Кляйнрок и Тобаги еще в 1975 году. После передачи очередного пакета (кадра) обычно делается некоторая пауза. После этого любой узел, подключенный к сетевому сегменту, может попытать счастья. Модификацией CSMA-алгоритма является схема, в которой после передачи кадра выделяется определенный временной домен (соревнования), когда претенденты могут выяснять отношения между собой. При столкновении начало передачи возможно только во время очередного домена соревнования. В этой модификации должен быть предусмотрен некоторый механизм синхронизации и исключения бесконечной череды столкновений.

Алгоритм CSMA предпочтительнее ALOHA, так как здесь ни один из пользователей не начинает передачу, если канал занят. Этот способ доступа покрывается патентами США 4063220 и 4099024 (Ксерокс), но IEEE имеет соглашение с этой компанией, которое разрешает использовать данный алгоритм без каких-либо ограничений. Здесь нет возможности приоритетного доступа, и по этой причине такие сети плохо приспособлены для задач управления в реальном масштабе времени. Некоторое видоизменение алгоритма CSMA/CD (как это сделано в сетях CAN или в IBM DSDB) позволяют преодолеть эти ограничения. Доступ по схеме CSMA/CD (из-за столкновений) предполагает ограничение на минимальную длину пакета. По существу метод доступа CSMA/CD (в полудуплексном случае) предполагает широковещательную передачу пакетов (не путать с широковещательной адресацией). Все рабочие станции логического сетевого сегмента воспринимают эти пакеты хотя бы частично, чтобы прочесть адресную часть. При широковещательной адресации пакеты не только считываются целиком в буфер, но и производится прерывание процессора для обработки факта прихода такого пакета.

Логика поведения субъектов в сети с доступом CSMA/CD может варьироваться. Здесь существенную роль играет то, синхронизовано ли время доступа у этих субъектов. В случае Ethernet такой синхронизации нет. В общем случае при наличии синхронизации возможны следующие алгоритмы:

А.

  1. Если канал свободен, терминал передает пакет с вероятностью 1.
  2. Если канал занят, терминал ждет его освобождения, после чего производится передача.

Б.

  1. Если канал свободен, терминал передает пакет.
  2. Если канал занят, терминал определяет время следующей попытки передачи. Это время может задаваться некоторым статистическим распределением.

В.

  1. Если канал свободен, терминал с вероятностью р передает пакет, а с вероятностью он откладывает передачу на t секунд (например, на следующий временной домен).
  2. При повторении попытки в случае свободного канала алгоритм не изменяется.
  3. Если канал занят, терминал ждет, пока канал не освободится, после чего действует снова согласно алгоритму пункта 1.

Алгоритм А на первый взгляд представляется привлекательным, но в нем заложена возможность столкновений с вероятностью 100%. Алгоритмы Б и В более устойчивы в отношении этой проблемы.

Эффективность алгоритма CSMA зависит от того, как быстро передающая сторона узнает о факте столкновения и прерывает передачу, ведь продолжение бессмысленно — данные уже повреждены. Это время зависит от длины сетевого сегмента и задержек в оборудовании сегмента. Удвоенное значение задержки определяет минимальную длину пакета, передаваемого в такой сети. Если пакет короче, он может быть передан так, что передающая сторона не узнает о его повреждении в результате столкновения. Для современных локальных сетей Ethernet, построенных на переключателях и полнодуплексных соединениях, эта проблема неактуальна.

С целью пояснения этого утверждения рассмотрим случай, когда одна из станций (1) передает пакет самой удаленной ЭВМ (2) в данном сетевом сегменте. Время распространения сигнала до этой машины пусть равно Т. Предположим также, что машина (2) попытается начать передачу как раз в момент прихода пакета от станции (1). В этом случае станция (1) узнает о столкновении лишь спустя время 2Т после начала передачи (время распространения сигнала от (1) до (2) плюс время распространения сигнала столкновения от (2) к (1)). Следует учитывать, что регистрация столкновения — это аналоговый процесс и передающая станция должна "прослушивать" сигнал в кабеле в процессе передачи, сравнивая результат чтения с тем, что она передает. Важно, чтобы схема кодирования сигнала допускала детектирование столкновения. Например, сумма двух сигналов с уровнем 0 этого сделать не позволит. Можно подумать, что передача короткого пакета с искажением из-за столкновения — не такая уж большая беда, проблему может решить контроль доставки и повторная передача.

Следует только учесть, что повторная передача в случае зарегистрированного интерфейсом столкновения осуществляется самим интерфейсом, а повторная передача в случае контроля доставки по отклику выполняется прикладным процессом, требуя ресурсов центрального процессора рабочей станции.

Сопоставление эффективности использования канала для различных протоколов произвольного доступа произведено на рис. 10.5.

Сравнение эффективности канала для различных протоколов произвольного доступа и разных значений p


Рис. 10.5.  Сравнение эффективности канала для различных протоколов произвольного доступа и разных значений p

Протокол доступа CSMA может предполагать, что когда канал оказывается свободным, а рабочая станция готова начать передачу, реальная пересылка кадра в рамках заданного временного домена происходит с определенной вероятностью p. С вероятностью 1-р передача будет отложена до следующего временного домена. В следующем домене, если канал свободен, с вероятностью р осуществится передача или будет отложена до следующего домена и так далее. Процесс продолжается до тех пор, пока кадр не будет передан. На рисунке эта вероятность р отмечена цифрами после аббревиатуры "CSMA". В случае Ethernet эта вероятность равна единице (CSMA-1) [46, Э. Таненбаум, стр. 302], то есть рабочая станция безусловно начнет передачу, если она к этому готова, а канал свободен. Из рисунка видно, что чем меньше эта вероятность, тем выше эффективность (среднее время доступа к сетевой среде также увеличивается). Очевидно, что все разновидности протокола доступа CSMA эффективнее протокола ALOHA в обеих его разновидностях. Связано это с тем, что ни одна станция не начинает передачу, если обнаружит, что сетевая среда занята. Существует еще одна разновидность протокола CSMA ( nonpersistent ), в которой сетевой субъект при готовности анализирует состояние сетевой среды и, если канал занят, возобновляет попытку спустя псевдослучайный интервал времени, то есть ведет себя так, будто произошло столкновение. Такой алгоритм повышает эффективность использования канала при существенном возрастании усредненной задержки доступа.

Здесь уместно обратить внимание на то, что если загрузка канала невелика, а требуется малая задержка доступа к каналу, то лучше алгоритма ALOHA трудно что-либо придумать. Напротив, когда задержка доступа несущественна, а загрузка канала велика, то следует использовать одну из разновидностей протокола доступа CSMA или один из протоколов, исключающих возможность столкновения кадров. Такие алгоритмы описаны ниже.

Рассмотрим, как можно избежать проблем столкновений пакетов. Пусть к сетевому сегменту подключено N рабочих станций. После передачи любого пакета выделяется N временных интервалов. Каждой подключенной к сетевому сегменту машине ставится в соответствие один из этих интервалов длительностью L. Если машина имеет данные и готова начать передачу, она записывает в этот интервал бит, равный 1. По завершении этих N интервалов рабочие станции по очереди, определяемой номером приписанного интервала, передают свои пакеты (см. рис. 10.6, N = 8 ).



Рис. 10.6. 

В примере на рис. 10.6 сначала право передачи получают станции 0, 2 и 6, а в следующем цикле — 2 и 5 (пересылаемые пакеты окрашены в серый цвет). Если рабочая станция захочет что-то передать, когда ее интервал (домен) уже прошел, ей придется ждать следующего цикла. По существу данный алгоритм является протоколом резервирования. Машина сообщает о своих намерениях до того, как начинает что-либо передавать. Чем больше ЭВМ подключено к сетевому сегменту, тем больше временных интервалов должно быть зарезервировано и тем ниже эффективность сети. Понятно, что эффективность растет с ростом L.

Вариация данного алгоритма доступа реализована в сетях сбора данных реального времени CAN (Controller Area Networkhttp://www.kvaser.se/can/protocol/index.htm — алгоритм доступа CSMA/CAcollision avoidance — с исключением столкновений). Там в указанные выше интервалы записывается код приоритета рабочей станции. Причем станции должны быть синхронизованы и начинать запись своего уникального кода одновременно, если все или часть из них готовы начать передачу. Эти сигналы на шине суммируются с помощью операции "проволочное ИЛИ" (если хотя бы один из участников выставляет логическую единицу, на шине будет низкий уровень). В процессе побитового арбитража каждый передатчик сравнивает уровень передаваемого сигнала с реальным уровнем на шине. Если эти уровни идентичны, он может продолжить, в противном случае передача прерывается и шина остается в распоряжении более приоритетного кадра. Для пояснения работы алгоритма предположим, что N = 5 и одновременно производится попытка начать передачу станции с кодами приоритета 10000, 10100, и 00100. Первыми будут посланы станциями биты 1, 1 и 0. Третья станция сразу выбывает из конкурса (ее бит равен 0). Первая и вторая продолжают передачу. На следующем такте станции передадут биты 0 и 0, что позволяет им продолжить передачу. На третьем такте они выдадут 0 и 1, что вынудит первую станцию выбыть из соревнования. Оставшаяся станция ( 10100 ) продолжит передачу кода приоритета, а затем и данных. Число рабочих станций, подключенных к сетевому сегменту, может достигать 2N-1. Необходимость синхронизации ограничивает длину сетевого сегмента или быстродействие передачи.

Базовыми характеристиками алгоритмов доступа являются задержка при малых загрузках и эффективность канала при загрузках больших. Предположим, что k станций борются за доступ к каналу, каждая из них имеет вероятность р осуществить передачу. Вероятность того, что станция получит доступ к каналу при данной попытке, равна kp(1-p)k-1. Чтобы найти оптимальное значение p, продифференцируем полученное выражение вероятности по p, а результат приравняем к нулю. После преобразования получается, что оптимальным значением является p = 1/k. Подставив это значение в выражение вероятности успешного доступа, получим

.

Для малого числа станций вероятность получить доступ к каналу относительно высока, но уже при k = 3 - 5 вероятность приближается к асимптотическому значению 1/e.

Существует еще один относительно эффективный алгоритм доступа к каналу, называемый адаптивным протоколом перебора. Рассмотрим случай, когда в сетевом сегменте имеется 8 активных станций. На базе этих станций строится дерево (см. рис. 10.7).

Алгоритм адаптивного обхода


Рис. 10.7.  Алгоритм адаптивного обхода

Первая ниша доступа следует за очередной успешной передачей и соответствует узлу дерева 0 (на рис. 10.7 не показан). В этом узле всем станциям предоставлена возможность доступа. Если одна из них его получила, очень хорошо. Если же произошло столкновение, то в нише узла 1 до конкурса допускаются станции, связанные с узлом 2 (А, Б, В и Г). Если одна из них получила доступ, в нише, следующей за переданным кадром, будут соревноваться станции, связанные с узлом 3 (Д, Е, Ж и З). Если же на предшествующем этапе произошло столкновение, следующая попытка предоставляется станциям, связанным узлом 4 (А и Б), и т.д. Если столкновение произошло в нише узла 0, то сначала исследуется все дерево, чтобы выявить все готовые к передаче станции. Каждая бит-ниша ассоциируется с определенным узлом дерева. Если происходит столкновение, поиск продолжается рекурсивно для правой и левой ветвей узла. Если бит-ниша пассивна (нет заявок на передачу) или если имеется только одна станция-претендент, поиск будет прерван, так как все станции-претенденты найдены. Существует достаточно большое число вариаций данного алгоритма доступа к сети.

Следующим по популярности после CSMA/CD является маркерный доступ (Token Ring, IEEE-802.4, ArcNet и FDDI), который более гибок и обеспечивает приоритетную иерархию обслуживания. Массовому его внедрению препятствует сложность и дороговизна. Хотя региональные сети имеют самую разнообразную топологию, практически всегда они строятся на связях "точка-точка".

В таблице 10.1 представлены сводные данные по основным видам локальных сетей, используемых в настоящее время (список не является полным).

Таблица 10.1. Параметры различных локальных сетей
Название сетиТопологияБыстродействие Мбит/сДоступТип кабеляNEXT при макс. частоте [дБ]Размер сети (сегмента)Макс. число узлов
10BASE5шина10CSMA/CDRG-8 (50 Ом)500м1024
10BASE2шина10CSMA/CDRG-58 (50 Ом)185м90
10BROAD36шина10CSMA/CDRG-59 (75 Ом)3600м1024
100BASE-TXзвезда100CSMA/CDUTP (V; 100 Ом)29200м-
100BASE-FXзвезда100CSMA/CDоптоволокно300м-
1000baseFXзвезда1000CSMAоптоволокно2км
10GEзвезда10000CSMAоптоволокно2км
IEEE 802.4шина1/5/10/20маркерRG-59 (75 Ом)
ARCNETзвезда2,5/20маркерRG-62/UTP (93 Ом)600/125 м255
IEEE 802.5звезда4/16маркерSTP/UTP (150/120 Ом)22/32366 м260
AppleTalkшина/звезда0,23CSMA/CDSTP/UTP (100 Ом)22/32300/3000 м32 на сегмент
EtherTalkшина/звезда10CSMA/CDSTP/UTP, коаксиальный кабель500/3000 м254/1023
ISNзвезда8,64Шина доступаSTP, оптоволокноНе ограничено336/1920
PC LANдерево,звезда2CSMA/CDRG-59 (75 Ом), UTP/STP32/22200072
Hyperchannelшина50CSMA/CDRG-59, оптоволокно3500 м256
E-Netшина10CSMA/CDRG-58 (50 Ом)700 м100
G-Netшина1CSMA/CDRG-58, RG-592000 м100
FDDIдвойное кольцо100маркероптоволокно100 км1000
MAP Busшина1, 5, 50маркеркабель
PX-NETшина/звезда1маркерRG-62 (93 Ом)7000 м100
S-NETшина/звезда1ИндивидуальныйSTP (100 Ом)21700 м24
WANGNETдвойное дерево10CSMA/CDRG-59 (75 Ом)2800 м65000

Приведенная таблица не может претендовать на полноту. Так, сюда не вошла сеть IBM DSDB, разработанная в начале 1980-х годов. Полоса пропускания сети составляет 64 Мбит/с. Эта сеть рассчитана на обслуживание процессов реального времени. Сеть имеет топологию шины с приоритетным доступом (длина шины — до 500м). Коммуникационная шина логически делится на три магистрали: сигнальная — для реализации приоритетного доступа; лексемная шина — для резервирования в буфере места назначения; и, наконец, коммуникационная шина — для передачи данных. Каждая из указанных магистралей использует идеологию независимых временных доменов, границы которых синхронизованы для всех трех магистралей. Схема доступа сходна с описанной для сетей CAN (CSMA/CA — Collision Avoidance).

Существует целое семейство методов доступа, исключающих столкновение: это мультиплексирование по времени ( TDM ), по частоте ( FDM ) или длине волны ( WDMAWavelength Division Multiple Access). Здесь каждому клиенту выделяется определенный временной домен или частотный диапазон. Когда наступает его временной интервал и клиент имеет кадр (или бит), предназначенный для отправки, он делает это. При этом каждый клиент ждет в среднем N/2 временных интервалов (предполагается, что работает N клиентов). При FDM передача не требует ожидания, так как каждому из участников выделяется определенный частотный диапазон, которым он может пользоваться когда угодно по своему усмотрению. Методы доступа TDM и FDM могут совмещаться. Но в обоих случаях временные интервалы или частотные диапазоны используются клиентом по мере необходимости и могут заметное время быть не заняты (простаивать). Следует также учесть, что если мы хотим обеспечить двухсторонний обмен при фиксированном частотном диапазоне, максимально возможное число участников следует уменьшить вдвое. Такие протоколы доступа часто используются в мобильной связи. Схема работы алгоритма WDMA показана на рис. 10.8.

Пояснение работы алгоритма доступа  WDMA


Рис. 10.8.  Пояснение работы алгоритма доступа WDMA

На рисунке 10.8 представлен случай с четырьмя станциями (A, B, C и D). Каждая станция имеет два канала. Один канал (менее широкополосный) является управляющим каналом станции. Второй (широкополосный) служит для передачи данных. В каждом из каналов выделяется определенное число временных доменов. Будем считать, что число доменов в управляющем канале равно k, а число доменов в информационном канале – N+1, где N из них предназначены для данных, а последний служит для передачи станцией своего статуса (например, информации о свободных доменах). Все каналы синхронизуются от общих часов. Протокол поддерживает три типа трафика: постоянный поток данных с ориентацией на соединение (1), например видеотрафик; переменный поток, ориентированный на соединение (2), и поток дейтограмм, например UDP (3). В протоколах, ориентированных на соединение, станция А, прежде чем осуществить обмен с В, должна послать запрос на соединение (CONNECTION REQUEST), в свободном домене канала управления станции В. Если станция В воспринимает запрос, обмен осуществляется через канал данных станции А. Каждая станция имеет два передающих элемента и два принимающих.

  1. Приемник с фиксированной длиной волны для прослушивания своего собственного канала управления.
  2. Настраиваемый передатчик для посылки сообщений управляющим каналам других станций.
  3. Передатчик с фиксированной длиной волны для посылки информационных кадров.
  4. Настраиваемый приемник для приема данных от одного из передатчиков.

Каждая станция прослушивает свой управляющий канал с целью приема запросов и настраивается на длину определенного передатчика для получения данных. Настройка на определенную длину волны производится с помощью ячеек Фабри-Перо или интерферометров Маха-Цандера (предполагается, что мы работаем с оптическими волокнами).

Рассмотрим, как станция А устанавливает тип обмена b со станцией В, например, для файлового обмена. Сначала А настраивает свой приемник данных на частоту информационного канала В и ждет его статусного домена. Этот домен позволяет определить, какой из управляющих доменов свободен (на рисунке занятые домены окрашены в серый цвет). На рис. 10.8 В имеет 8 доменов, из них 0, 3 и 5 свободны. Пусть принято решение занять запросом на соединение домен 5. Так как станция В постоянно прослушивает свой управляющий канал, она предоставит свободный домен для станции А. Это присвоение отражается в статусном домене информационного канала. Когда станция А обнаружит, что присвоение выполнено, можно считать, что осуществлено однонаправленное соединение между А и В. Если для А требуется двунаправленное соединение (что реально для протокола FTP), то В повторит ту же процедуру со станцией А. Вполне возможна ситуация, когда одновременно станции А и С пытаются захватить один и тот же домен с номером 5. Ни одна из них его не получит и узнает об этом из статусного кода в домене управляющего канала В. После этого обе станции ждут псевдослучайное время и делают еще одну попытку.

Для осуществления пересылки файла станция А посылает В управляющее сообщение типа "загляните в домен данных 3, там кадр для вас". Когда В получает управляющее сообщение, она настраивает свой приемник на выходной канал А, чтобы принять кадр данных от А. Станция В может использовать ту же схему для посылки подтверждения получения кадра, если это необходимо. Заметим, что может возникнуть проблема, если с В имеют одновременно соединения А и С и обе станции предлагают В заглянуть в информационный домен 3. Станция В воспримет одно из этих сообщений, второе будет потеряно. При постоянной скорости передачи используется модификация данного протокола. Когда станция А запрашивает соединение, она одновременно посылает сообщение типа "не возражаете, если я буду посылать данные в каждом домене 3?". Если В способна принять данные (домен 3 не занят), устанавливается соединение с фиксированной полосой. Если это не так, А может попытаться использовать другой свободный временной домен. Для типа обмена 3 (дейтограммы) используется другая вариация протокола. Вместо посылки запроса соединения в найденный свободный домен управляющего канала станция записывает сообщение "DATA FOR YOU in SLOT 3" (для вас есть данные в домене 3). Если В свободна во время следующего информационного домена 3, обмен будет успешным, в противном случае кадр теряется. Существует большое число различных вариантов протокола WDMA, например, с общим управляющим каналом для всех рабочих станций.

Рассмотрим случай ( FDM ) в предположении, что длина кадра имеет экспоненциальную плотность вероятности со средним значением 1/m, тогда среднее время задержки T для канала с пропускной способностью С бит/с при частоте кадров f с-1 составит T = 1/(mC-f). Теперь предположим, что канал поделен на N независимых субканалов с пропускной способностью C/N бит/с. Средняя загрузка каждого из субканалов станет равной f/N. Теперь для среднего значения задержки мы получим выражение

Таким образом, FDM -доступ в N раз хуже, чем вариант, когда мы все кадры помещаем каким-то образом в некоторую общую очередь. Точно такая же аргументация может быть применена для метода TDM. По этой причине предпочтительнее динамические методы организации доступа к каналу (сетевой среде).

Интересной разновидностью Ethernet является широкополосная сеть типа Net/One. Она может базироваться на коаксиальном кабеле (суммарная длина до 1500 м) или на оптическом волокне (полная длина до 2500 м). Эта сеть по многим характеристикам аналогична обычному Ethernet ( CSMA/CD ), за исключением того, что коммуникационное оборудование передает данные на одной частоте, а принимает — на другой. Для каждого канала выделяется полоса 5 Мбит/с (полоса пропускания 6 МГц соответствует телевизионному стандарту). Предусматривается 5 передающих (59,75-89,75 МГц) и 5 принимающих (252-282 МГц) каналов для каждого из сетевых сегментов. Частота ошибок ( BER ) для сети данного типа меньше 10-8.

Другой Ethernet-совместимой сетью является Fibercom Whispernet. Сеть имеет кольцевую структуру (до 8 км), полосу пропускания 10 Мбит/c, число узлов до 100 на сегменте при полном числе узлов в сети — 1024. Число кольцевых сегментов может достигать 101. Максимальное межузловое расстояние — 2 км.

Примером нетрадиционного типа сети может служить Localnet 20 (Sytek). Сеть базируется на одном коаксиальном кабеле и имеет полную полосу пропускания 400 МГц. Сеть делится на 120 каналов, каждый из которых работает со скоростью 128 Кбит/с. Каналы используют две 36МГц-полосы, одна для передачи, другая для приема. Каждый из коммуникационных каналов занимает 300 КГц из 36 МГц. Сеть использует алгоритм доступа CSMA/CD, что позволяет подключать к одному каналу большое число сетевых устройств. Предусматривается совместимость с интерфейсом RS-232. Вероятность ошибок в сети не более 10-8.

Традиционные сети и телекоммуникационные каналы образуют основу сети – ее физический уровень. Реальная топология сети может динамически изменяться, хотя это и происходит обычно незаметно для участников. При реализации сети применяются десятки протоколов. В любых коммуникационных протоколах важное значение имеют операции передачи данных, ориентированные на установление соединения (connection-oriented), и операции, не требующие связи (connectionless — "бессвязные", ISO 8473). Интернет использует оба типа операций. При первом типе пользователь и сеть сначала устанавливают логическую связь и только затем начинают обмен данными. Причем между отдельными пересылаемыми блоками данных (пакетами) поддерживается некоторое взаимодействие. "Бессвязные" операции не предполагают установления какой-либо связи между пользователем и сетью (например, протокол UDP) до начала обмена. Отдельные блоки передаваемых данных в этом случае абсолютно независимы и не требуют подтверждения получения. Пакеты могут быть потеряны, задублированы или доставлены не в порядке их отправки, причем ни отправитель, ни получатель не будут об этом оповещены. Именно к этому типу относится базовый протокол Интернет — IP.

Для каждой сети характерен свой интервал размеров пакетов (MTU). Среди факторов, влияющих на выбор размеров кадра, можно выделить:

Ниже приведены максимальные размеры пакетов ( MTU – Maximum Transfer Unit) для ряда сетей. Таблица 10.11.

Таблица 10.11.
СетьMTU БайтБыстродействие Мбит/с
IEEE 802.3150010
IEEE 802.4819110
IEEE 802.550004

Не следует думать, что современные сети, в частности Ethernet, обладают таким уж высоким быстродействием по сравнению с "традиционными" средствами транспорта.

Предположим, что товарный вагон загружен 10000 картриджами Exabyte, емкостью 10 Гбайт каждый (эта цифра может быть и больше). Вагон движется со скоростью 72 км/ч. Какой информационный поток создает такой вагон? В секунду он перемещается на 20 метров, перенося 10000*10*109*8 1015 бит данных. Скорость передачи данных по скрученной паре или оптическому волокну составляет около 200000 км/c. Если измерять передающую способность в м*бит/с, то для 100 Мбит/c Ethernet это будет 20*10^15 м*бит/c, как и для нашего вагона. Таким образом, вагон обеспечивает тот же темп переноса данных, что и Fast Ethernet.

Приведенное выше соображение, безусловно, поверхностно, так как не учитывает того факта, что мало доставить данные, надо их загрузить в ЭВМ (а вагоны машиной приниматься не могут). Но при построении сетей передачи данных и столь архаичный вариант не следует совершенно снимать со счетов.

Операции, ориентированные на установление связи (например, протокол TCP), предполагают трехстороннее соглашение между двумя пользователями и провайдером услуг. В процессе обмена они хранят необходимую информацию друг о друге, с тем чтобы не перегружать вспомогательными данными пересылаемые пакеты.

В этом режиме обмена обычно требуется подтверждение получения пакета, а при обнаружении сбоя предусматривается механизм повторной передачи поврежденного или потерянного пакета. "Бессвязная" сеть более надежна, так как она может отправлять отдельные пакеты по разным маршрутам, обходя поврежденные участки. Такая сеть не зависит от протоколов, применяемых в субсетях. Большинство протоколов Интернета используют именно эту схему обмена, например базовый протокол IP. Концептуально TCP/IP-сети предлагают три типа сервиса в порядке нарастания уровня иерархии:

  1. "бессвязная" доставка пакетов;
  2. надежная транспортировка информации;
  3. реализация прикладных задач.

Для сопоставления быстродействия различных видов сетей Сталлингс (Stallings, W. Data and Computer Communications, New York: Mac-Millan Publishing Company, 1985) в 1985 году разработал важный критерий. Этот критерий предполагает вычисление битовой длины BL (максимальное число бит в сегменте), которая равна произведению максимальной длины сегмента ( L в метрах) на полосу пропускания ( W в бит/с), поделенному на скорость распространения сигнала в сегменте ( s в метрах в секунду):

BL=L*W/s

Для Ethernet BL = [200(м)*100 106(бит/c)]/2 108 (м/c) = 100 бит.

Коэффициент использования сети равен , где

Для Ethernet при длине пакета 1500 байт , что дает для эффективности использования сети 0,93. Таким образом, максимальная пропускная способность Ethernet составляет 93 Мбит/c или 11,6 Мбайт/с (для 100-мегабитного Ethernet). Разумеется, в этом подходе не учитываются издержки, связанные с заголовками пакетов, которые дополнительно снижают эффективность сети. Из данного рассмотрения может показаться, что чем больше пакет, тем лучше. С точки зрения пропускной способности так оно и есть. Но с увеличением длины пакета увеличивается время отклика сети. Таким образом, выбор MTU определяется реальными требованиями пользователей.

10.3. Принципы построения сетевых программных интерфейсов

Существует большое разнообразие сетевых интерфейсов. Их структура зависит от характера физического уровня сетевой среды, от метода доступа, от используемого набора интегральных схем и т.д. Здесь пойдет речь о принципах построения программного интерфейса.

Существует три возможности построения интерфейса: с базированием на памяти, с использованием прямого доступа и с применением запросов обслуживания.

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

Здесь уместно позаботиться о том, чтобы ни при каких обстоятельствах данные не были уложены поверх кода программы. Это может быть реализовано, например, путем использования кольцевого буфера. На такую возможность рассчитывают хакеры, предпринимая атаки типа "переполнения буфера".

Остальные методы предполагают использование традиционных способов управления памятью с помощью средств операционной системы. Критической проблемой является обеспечение достаточного места в буфере для приходящих сообщений. Ведь при отсутствии свободной памяти приходящее или записанное ранее сообщение может быть потеряно. Недостаток места для исходящих сообщений не является критическим, так как приводит обычно к задержке передачи, а не к потере сообщения.

Второй компонент интерфейса, базирующегося на использовании памяти, часто реализуется в виде так называемых буферов управления передачей ( TCB — Transmission Control Buffer). Эти буферы содержат такую информацию, как положение сообщения в памяти, длина сообщения, адрес места назначения, идентификатор процесса-отправителя, приоритет сообщения, предельное значение числа попыток передачи, а также флаг, указывающий на необходимость присылки подтверждения от получателя. TCB создается процессом-отправителем и передается интерфейсу после завершения записи в буфер сообщений. Параметры TCB используются интерфейсом при организации процесса передачи сообщения.

Третий компонент интерфейса, базирующегося на использовании памяти, называется буфером управления приемом ( RCB – Reception Control Buffer). RCB содержит в себе информацию, сходную с той, что записывается в TCB, например идентификатор отправителя, длина сообщения, индикатор ошибки, время приема и идентификатор процесса места назначения. RCB заполняется интерфейсом при получении сообщения и передается процессору ЭВМ. Основополагающим принципом построения всех трех компонент является совместное использование памяти и гибкая система указателей.

Во втором варианте широко применяются схемы доступа к сети ("прямой доступ"), взаимодействие ЭВМ и интерфейса строится по схеме "клиент-сервер". Конкретная реализация программы в этом случае в большей степени зависит от структуры регистров физического интерфейса.

В третьем варианте сетевого программного интерфейса используются служебные запросы. Этот тип сетевого доступа удобен для коммуникационных протоколов высокого уровня, таких как команды ввода/вывода CSP -стиля (Communicating Sequential Processes) или процедуры обмена языка Ада. В этом методе накладываются определенные ограничения на реализацию нижележащих коммуникационных уровней.

Программирование для сетей существенным образом является программированием для процессов реального времени. Здесь часто можно столкнуться с тем, что одна и та же программа ведет себя по-разному в разных ситуациях. Особое внимание нужно уделять написанию многопроцессных сетевых программ, где, так же как в случае работы с сокетами, могут возникать ситуации блокировок. Пример такой ситуации показан на рис. 10.9.



Рис. 10.9. 

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

Необычайно важной проблемой при построении сетей является их устойчивость при возникновении перегрузок. В Интернете для этого используется специальная опция протокола ICMP или CWND в ТСР, а во Frame Relay имеются меры для преодоления перегрузок непосредственно на нижних протокольных уровнях.

Взаимодействие сетевых объектов между собой обычно производится по схеме "клиент-сервер" ("master-slave"). В этой схеме один из объектов (клиент) посылает запрос, а получатель запроса (сервер) реализует запрошенную функцию или услугу. В общем случае клиент и сервер могут меняться местами. Известны варианты схемы, когда сервер обслуживает несколько клиентов. Схема этого взаимодействия существует уже не один десяток лет. Но в последнее время после широкого внедрения Интернета с его неиерархической схемой все чаще и шире стала применяться схема Р2Р. Идея P2P является альтернативой принципа – "клиент-сервер".

10.4. Алгоритмы и применения сетей P2P

Использование компьютерных технологий начиналось в те времена, когда ЭВМ занимала целое здание — можно сказать, что пользователь входил в машину в буквальном смысле. Не исключено, что через какое-то время чипы ЭВМ будут встраиваться в организм человека. Но на протяжении достаточно длительного времени доступ к ресурсам машины осуществлялся через удаленное терминальное устройство. Именно эта схема породила алгоритм взаимодействия "клиент-сервер". Позднее, когда терминальным устройством стала персональная ЭВМ, клиент и сервер стали временами меняться местами, но суть взаимодействия сохранялась прежней. Алгоритм "клиент-сервер" предполагает взаимодействие по схеме "точка-точка".

Первые локальные сети (Ethernet), несмотря на однородность топологии, логически функционировали согласно алгоритму "клиент-сервер". По мере развития сетевых технологий число серверов в сети росло, появилась функциональная дифференциация (DB, DNS, mail и т.д.), но и на этом уровне взаимодействие в любой момент времени строилось по схеме "клиент-сервер".

Интернет открыл возможность равноправного взаимодействия для миллионов пользователей сети, но даже это в первые годы алгоритмически мало что поменяло. Это может показаться парадоксальным, но Интернет, который построен по неиерархической схеме, до недавнего времени на прикладном уровне использовал иерархическую схему обмена.

В начале 1990-х годов начали широко применяться технологии мультикастинга, в частности MBONE. Техника мультикастинга в сочетании с соответствующими протоколами маршрутизации (например, PIM) и средствами обеспечения качества обслуживания (RSVP-TE и MPLS-TE) идеально подходит для транспортировки мультимедиа и, в частности, для цифрового телевидения через Интернет.

В начале 1990-х стали заключаться пиринговые (peer-to-peer) соглашения между сервис-провайдерами, но и это было лишь новым подходом в политике маршрутизации. Сети ICQ, например, по-прежнему строятся по схеме "клиент-сервер", хотя в некоторых режимах реализуется схема взаимодействия "точка-мультиточка".

Впервые термин "peer-to-peer" была использована в 1984 году компанией IBM в разработке сетевой архитектуры для построения динамической маршрутизации через компьютерные сети с произвольной топологией – "Advanced Peer to Peer Networking" [10.1].

В основе технологии лежит принцип децентрализации, то есть все узлы в сети P2P – равноправны (рис. 10.10). Этот принцип обеспечил такие преимущества технологии P2P перед клиент-серверным подходом, как отказоустойчивость к потере связи с узлами сети, увеличение скорости копирования за счет копирования сразу из нескольких источников (рис. 10.11), возможность разделения ресурсов без привязки к конкретным IP-адресам, огромная мощность сети в целом и др.



Рис. 10.10. 

Создаваемые приложения в начале ставили узкую цель – ускорение получения копии файла, иногда за счет сокращения полосы и сетевых возможностей конкурирующих процессов и пользователей. В этих приложениях использовалась особенность протокола ТСР, распределяющего полосу пропускания поровну между конкурирующими процессами. Если один из пользователей запустил 10 обменных процессов, а конкурент – только 1, последний получит в 10 раз меньшую полосу пропускания. Может показаться, что схема, показанная на рис. 10.11, не является в чистом виде P2P, так как в ней реализован принцип "несколько серверов обслуживают одного клиента". Сетевые объекты здесь не являются равноправными. Но благодаря тому, что клиентом в следующий момент может стать любой другой узел сети или даже группа узлов, эту схему можно считать классическим случаем реализации алгоритма Р2Р. Более того, этот тип сети является на данный момент наиболее массовым.

Скорость копирования увеличивается за счет копирования из нескольких источников одновременно


Рис. 10.11.  Скорость копирования увеличивается за счет копирования из нескольких источников одновременно

Отказоустойчивость, свойственная алгоритмам Р2Р, может стать причиной внедрения этой технологии для управления технологически опасными производствами, например атомными электростанциями. Здесь важно, чтобы узлы Р2Р не располагались в одном и том же помещении и не были подключены к общим каналам питания. Выход из строя части управляющих машин может уменьшить функциональность, но не управляемость системы.

Р2Р может предложить и достаточно высокий уровень катастрофоустойчивости, когда нужно гарантировать сохранность определенных данных в случае пожара или каких-либо иных природных или рукотворных инцидентов. Для таких приложений географическая удаленность узлов является важным преимуществом.

Для поддержания надежности обмена могут использоваться самые разные технологии, в частности, протокол FEC (Forward Error Correction) или MDC (Multi Description Coding [10.12]) в случае транспортировки мультимедийных данных, когда повторная передача пакетов невозможна или крайне нежелательна.

Незаменимыми могут оказаться системы Р2Р в банковском бизнесе, где важна сохранность данных и высокая надежность расчетов. Методики дублирования в банковских приложениях применяются уже достаточно давно.

Широко используемые сейчас распределенные вычислительные системы типа GRID являются частным случаем реализации технологии Р2Р.

Так, по некоторым данным [10.6], в настоящее время в сети Internet более половины всего трафика приходится на трафик файлообменных P2P сетей, а размеры самых крупных из них перевалили отметку в миллион одновременно работающих узлов, разделяющих петабайты (1015 байт) информации. Общее количество зарегистрированных участников файлообменных сетей P2P во всем мире составляет порядка ста миллионов.

Хотя в первую очередь P2P -сети используются сейчас для разделения файлов, существует еще много других областей, [10.3] где данная технология также успешно применяется. Это телевидение и аудиотрансляции, параллельное программирование, распределенное кэширование ресурсов для разгрузки серверов, рассылка уведомлений и статей, поддержка системы доменных имен, индексирование распределенных ресурсов и их поиск, резервное копирование и создание устойчивых распределенных хранилищ данных, обмен сообщениями, создание систем-серверов, устойчивых к атакам типа "отказ в обслуживании", распространение программных модулей. Имеется огромное количество клиентских программ для работы с P2P -сетями, как коммерческих, так и с открытым кодом. Постоянно идет работа по усовершенствованию протоколов и увеличению функциональности систем, и, судя по всему, недалек тот момент, когда клиентское программное обеспечение для P2P будет интегрировано с операционными системами. Так, уже сейчас крупные компании проявляют интерес или вплотную занимаются Р2Р, например, компания Sun разрабатывает протокол, поддерживающий доступ к основным P2P -сетям для карманных компьютеров и смартфонов, а компания Microsoft создала реализацию протоколов P2P Scribe и Pastry.

При этом скорость копирования равна сумме скоростей, обеспечиваемых виртуальными соединениями, и ограничена сверху пропускной способностью канала, с помощью которого клиент подсоединен к сети Интернет.

Определения:

P2P -технология — технология построения сети распределенных равноправных узлов по принципу децентрализации.

В существующих сегодня реализациях P2P файлообменных сетей изначально был использован смешанный подход, с присутствием выделенных узлов (и/или серверов), однако в последние несколько лет все самые крупные сети включили поддержку протоколов, обеспечивающих полностью автономное функционирование сети без серверов — чистый P2P -подход.

P2P -сеть — множество узлов (компьютеров, смартфонов и пр.), объединенных в единую систему и взаимодействующих посредством P2P -протокола.

P2P -протокол — сетевой протокол, обеспечивающий возможность создания и функционирования сети равноправных узлов, их взаимодействия.

Протоколом, или набором протоколов, определяется логическая топология сети, механизм подключения и отключения узлов от сети, а также алгоритм взаимодействия узлов. Решение таких задач, как коррекция ошибок, форматы сообщений и служебных запросов и откликов, протоколы маршрутизации в условиях постоянного подключения и отключения узлов — также прерогатива протокола P2P.

В модели стека сетевых протоколов TCP/IP протоколы P2P относятся к прикладному уровню, таким образом, P2P -сеть является наложенной сетью (overlay), функционирующей поверх сети Интернет и использующей существующие транспортные протоколы TCP или UDP.

Клиентская программа P2P , или просто "клиент", – программа, которая реализует функциональность узла и сама является реализацией заложенного в основу сети P2P -протокола. Клиент может запрашивать сервер или выделенные узлы, получать ответ с информацией о запрошенных файлах и узлах, на которых они находятся, и далее уже работать напрямую с указанными узлами. В последних реализациях клиентов заложена также возможность обмена служебной информацией, построения запросов и поиска ресурсов клиентом во всей сети без участия серверов.

ID узла — уникальный идентификатор узла, вычисляется с помощью хэш-функции [10.6] из IP-адреса и дополнительной информации (имени компьютера, MAC-адреса сетевой карты и пр.). Присваивается при регистрации в сети P2P и используется для идентификации узла.

ID или ключ ресурсауникальный идентификатор файла или любого другого ресурса, вычисляется с помощью хэш-функции из имени файла и его содержимого. Используется для идентификации ресурса.

Р2Р файлообменные сети

Протоколами обеспечивается равномерное распределение ключей ресурсов вместе с идентификаторами узлов, опубликовавшими данный ресурс, по всем узлам (или по некоторым выделенным узлам и/или серверам), зарегистрированным в сети. Задача поиска ресурса сводится к нахождению ID узла, на котором хранится ключ ресурса [10.4].

Распределение ключей ресурсов по узлам сети. Поиск ресурса


Рис. 10.12.  Распределение ключей ресурсов по узлам сети. Поиск ресурса

На рис. 10.12 приведен пример чистой P2P -сети, созданной по протоколу DHT Kademlia [10.15]. На рисунке к сети, способной поддерживать максимум 16 узлов и 16 ресурсов, подсоединились 7 узлов (черные кружки), разделяющих 12 ресурсов (номера в белых прямоугольниках). Узлам присвоены соответствующие ID, ресурсам присвоены ключи. Ключи вместе с адресами опубликовавших их узлов (адреса на рисунке не показаны) равномерно распределены между узлами сети. На рисунке изображено, какие ключи хранятся на каких узлах.

Узел с ID 0 хочет найти ресурс, соответствующий ключу 14, для чего посылает запрос на поиск. Запрос проходит определенный маршрут (подробнее о маршрутизации см. [10.3]) и достигает узла, на котором находится ключ 14. Далее узел ID 14 пересылает узлу ID 0 адреса всех узлов, обладающих ресурсом, который соответствует ключу 14.

Причинами большого роста популярности сетей P2P являются привлекательные идеи данной технологии: децентрализация, распределенность и самоорганизуемость сети. Эти принципы обеспечивают такие преимущества сети, как простота и дешевизна внедрения и поддержки, отказоустойчивость, масштабируемость, увеличение скорости копирования, колоссальная мощность сети в целом.

На данный момент среди файлообменных сетей по количеству узлов лидируют такие сети, как Bittorrent [10.16], eDonkey2000 [10.14], Gnutella2+Gnutella.

Для инициализации узла, например, в [10.13], клиентская программа обращается к серверу, который предоставляет информацию о файлах, доступных для копирования, а также статистическую и маршрутную информацию об узлах сети. Сервер и после инициализации помогает узлам взаимодействовать друг с другом.

Если узел хочет опубликовать файл, то программа разделяет файл на части и создает файл метаданных с информацией о частях файла, местонахождении и, опционально, расположении сервера, который будет поддерживать распространение этого файла. Первый узел, опубликовавший файл, называется распространителем. Узел, желающий скопировать файл, сам становится распространителем, по принципу "сколько копирую я, столько разрешаю скопировать у меня". Узлы, скопировавшие весь файл, становятся распространителями для этого файла и, вместе с не полностью скопировавшими узлами, дают возможность другим узлам получать части файла из нескольких источников, что ускоряет копирование (см. рис. 10.11).

Существуют модификации протоколов, которые позволяют работать с файлами метаданных, не привязанными к серверам.

Одной из первых пиринговых сетей, Gnutella, была создана в 2000 году [10.17]. Сеть функционирует до сих пор, хотя из-за серьезных недостатков алгоритма пользователи сейчас предпочитают сеть Gnutella2 (G2, [10.18]).

Подключившийся клиент получает от узла, с которым ему удалось соединиться, список из 5 активных узлов и отсылает им запрос на поиск ресурса по ключевому слову. Узлы ищут у себя соответствующие запросу ресурсы и, если не находят, пересылают запрос своим активным узлам вверх по дереву, пока не найдется ресурс или не будет превышено максимальное число шагов. Такой поиск называется размножением запросов. С помощью протокола также отслеживается, чтобы топология создаваемой сети узлов имела древовидную структуру графа.

Понятно, что подобный алгоритм ведет к экспоненциальному росту числа запросов и, соответственно, на верхних уровнях может привести к отказу в обслуживании, что и наблюдалось на практике неоднократно. Разработчиками были проведены работы по улучшению алгоритма, введены правила, в соответствии с которыми запросы могут пересылать вверх по дереву только определенные узлы (так называемые выделенные узлы), а остальные могут лишь посылать им запросы.

Недостатки протокола Gnutella инициировали разработки принципиально новых алгоритмов поиска маршрутов и ресурсов, и привели к созданию группы протоколов DHT (Distributed Hash Tables) [10.7], в частности, протокола Kademlia [10.4], который сейчас широко используется в наиболее крупных сетях.

Запросы в сети Gnutella пересылаются по TCP или UDP , копирование файлов происходит посредством протокола HTTP.

В последнее время появились расширения для клиентских программ, позволяющие копировать файлы по UDP , делать XWL-запросы метаинформации о файлах.

В 2003 году появился принципиально новый протокол Gnutella2. В соответствии с данным протоколом некоторые узлы становятся концентраторами, остальные являются обычными узлами. Каждый обычный узел имеет соединение с одним-двумя концентраторами. У концентратора есть связь с сотнями обычных узлов и десятки соединений с другими концентраторами. Каждый узел периодически пересылает концентратору список идентификаторов ключевых слов, по которым могут быть найдены публикуемые данным узлом ресурсы. Идентификаторы сохраняются в общей таблице на концентраторе. Когда узел хочет найти ресурс, он посылает запрос по ключевому слову своему концентратору, который либо находит ресурс в своей таблице и возвращает ID узла, обладающего ресурсом, либо возвращает список других концентраторов, которые узел вновь запрашивает по очереди, случайным образом. Такой поиск называется поиском с помощью метода блужданий.

Для улучшения качества поиска используются метаданные файлов — информация о содержании, рейтинг. Примечательной особенностью данной сети является возможность размножения информации о файле в сети без копирования самого файла, что очень полезно для отслеживания вирусов.

Для передаваемых пакетов в Gnutella2 разработан собственный формат, похожий на XML. Он гибко реализует возможность наращивания функциональности сети путем добавления дополнительной служебной информации. Запросы и списки ID ключевых слов пересылаются по UDP.

Сеть EDonkey2000 [10.14] появилась в 2000 году. Информация о наличии файлов публикуется клиентом на многочисленных серверах в виде ed2k -ссылок, использующих уникальный ID ресурса. Серверное ПО доступно для установки любым пользователем. Сервер обеспечивает поиск узлов и информации. Сейчас в сети имеется от 100 до 200 серверов, которые обслуживают одновременно около миллиона пользователей, использующих порядка миллиарда различных файлов. Общее количество зарегистрированных пользователей составляет порядка 10 миллионов.

Когда клиент копирует желаемый ресурс, он копирует его одновременно из нескольких источников при помощи MFTP ( Multisource File Transfer Protocol ).

В настоящее время информацию о доступных файлах можно получать не только с серверов eDonkey. С 2004 года в состав сети EDonkey2000 интегрирована сеть Overnet — полностью децентрализованная сеть, позволяющая осуществлять взаимодействие между узлами без привязки к серверам, для чего используется DHT протокол Kademlia.

Клиент EDonkey имеет очень интересное расширение, позволяющее копировать метафайлы, которые пользуются большим доверием пользователей, а также использовать верификационную информацию из метафайлов для работы с файлами собственной сети.

Такая интеграция возможностей разных сетей и дополнительная верификация способствовали развитию EDonkey2000, в которую начали переходить пользователи других сетей, например сети FastTreсk, базирующейся на протоколе FastTreсk, а наиболее популярным клиентом ее является Kazaa [10.17].

Провайдеры сетевых услуг, например, провайдеры московских домашних сетей, а также администраторы компаний, до недавнего времени старались блокировать на своих файерволлах порты, через которые общаются клиенты сетей Bittorrent, eDonkey2000, Gnutella, Fasttreck.

Поэтому пользователям осталась только возможность использовать локальные пиринговые сети. Наиболее удобной для этого оказалась сеть Direct Connect (DC) [10.16].

Клиенты подключаются к одному или нескольким серверам для поиска файлов. Серверы не связаны между собой. Информация о файлах, доступ к которым узел хочет открыть, отсылается на сервер. Копирование файлов происходит напрямую между узлами, как и в классической P2P -сети.

В клиент встроены возможности для общения участников сети, список файлов каждого пользователя можно получать в виде древовидной структуры папок, есть простой механизм поиска информации, существует возможность копирования целых каталогов. Перечисленные возможности сделали сеть DC идеальным решением для локальной файлообменной сети P2P.

P2P-телевидение

В настоящее время телевидение находится на перепутье – происходит смена поколений телевизионных технологий (аналог-цифра, ТВ с традиционным и высоким разрешением (HDTV), ТВ по запросу, спутниковое и кабельное и пр.). Как всегда возникают трудности унификации стандартов. Традиционное ТВ базировалось на иерархических схемах доставки (от ТВ-центра по кабелю или эфиру к клиентам).

Современному клиенту предлагаются десятки телевизионных каналов. Что же могут предложить клиентам компании, продвигающие на рынок Р2Р ТВ-услуги?

Прежде всего, это бесплатный доступ к каналам (во всяком случае, первое время), возможности ТВ по запросу и т.д. Издержки провайдера услуг минимизируются тем, что он практически не тратит средств на развитие и поддержку инфраструктуры (кабели, передатчики, специализированное оборудование, студии, сервис и т.д.) — он предлагает клиентам, как правило, продукты вторичного рынка (фильмы, музыкальные и развлекательные программы и пр.). Доход он получает в основном от размещения рекламы. Не имея доступа к сети доставки телевизионного сигнала, такие провайдеры используют Интернет и специализированное программное обеспечение, ориентированное на Р2Р-технологию. Это программное обеспечение загружается в машины всех клиентов, подключаемых к сети. Загрузка программ через Интернет создает дополнительную уязвимость, которая может быть парирована использованием надежной системы аутентификации. Сеть рассылки ТВ-данных образуется из машин клиентов, — по желанию клиентов машины могут подключаться и отключаться от сети.

Такая сеть может иметь топологию множества деревьев или сетки, может использовать в качестве транспорта протоколы UDP или TFRC. В случае древовидной топологии каждый клиент получает субпотоки данных от узлов нескольких, например четырех деревьев (при этом используется метод кодирования субпотоков MDC). При отключении узла от сети, структура дерева перестраивается, при подключении нового узла — достраивается. В любом случае топология доставки данных носит топологию дерева, в одних случая статического (рис. 10.13), в других – динамического, меняющего топологию после передачи каждого очередного сегмента данных.

На рис. 10.13 представлена схема с MDC и разделением потока на четыре субпотока (4 дерева). Буквами G1, G2 и G3 обозначены поколения узлов-партнеров (peer), которые участвуют в доставке видеоданных другим узлам.

Топология с четырьмя деревьями


Рис. 10.13.  Топология с четырьмя деревьями

Топология решетки GBS (Gossip Based Streaming)


Рис. 10.14.  Топология решетки GBS (Gossip Based Streaming)

При сеточной топологии [10, 11] поток данных делится на небольшие модули, например, соответствующие одной секунде фильма. Эти модули клиент получает от узлов сетки случайным образом или согласно некоторой закономерности.

На рис. 10.14 показана схема работы алгоритма Gossip Based Streaming. Узлом — источником первичного видеопотока здесь является узел А. Эволюция графа доставки видеофрагментов зависит от того, какие узлы направят запросы первыми. Размер сегментов обычно постоянный. Предположим, что узел А может обслужить не более трех узлов (ограничение выходной полосы). При развитии дерева доставки учитывается выходная полоса узлов, которая предполагается большей, чем требуется для одного видеопотока, и случайный характер выбора партнера — источника данных. Узлы информируют партнеров (не только соседей) об имеющихся у них видеосегментах. Любой из узлов может стать отправителем, если у него имеется нужный сегмент и ему поступил запрос на этот сегмент. Для любого из видеосегментов можно отследить его путь от А до узла редистрибьютера. Для такой схемы характерна большая задержка воспроизведения. Причина в том, что при М шагах маршрута доставки сегмента задержка , где — время передачи сегмента между смежными узлами (~1 с), – время оповещения о наличии сегмента и обслуживания запроса.

При анализе эволюции графа доставки следует учитывать доступную выходную полосу узлов. Обозначим скорость передачи видео как ВW (Кбит/с). Пусть базовый узел А может обслуживать на постоянной основе только два узла ( B и D на рис. 10.14 b), а вторичные узлы B, C, D… имеют выходную полосу пропускания ТB. На рисунке каждый из вторичных узлов обслуживает одновременно три узла.

Если для обеспечения требующегося разрешения необходим входной поток ~400 Кбит/c, то выходная полоса пропускания должна быть больше этой величины. Если численность узлов с числом шагов доставки К составляет MK, то численность узлов с числом шагов доставки К+1 будет равно MK+1 = МК x ТВ/BW. По этой причине ТВ/BW желательно иметь как можно больше (всегда должно быть ТВ/BW>1 ), что не всегда возможно. В качестве транспорта в таких сетях часто используют протокол TFRC (TCP Fair Rate Control), c возможностями повторной пересылки. Это позволяет сделать К достаточно большим (вероятность накопления ошибок невелика), но еще более увеличивает задержку воспроизведения (до нескольких минут). Двунаправленные стрелки на рис. 10.14 означают возможность обмена в обоих направлениях, хотя трудно представить, что видеоданные будут поступать из узла G в узел D, ведь в узел D они поступают из первичного узла А. Но следует учитывать, что, в отличие от алгоритма, использующего деревья, здесь нет однозначного направления передачи данных между узлами. Источником очередного сегмента для узла i может стать любой узел, у которого в буфере такой сегмент имеется (ведь выбор отправителя производится случайным образом). Но такой подход может вынудить, например, узел D послать по запросу "старый" сегмент, лежащий у него в буфере, вместо того чтобы послать "новый" сегмент узлу Н. Эта особенность может приводить к накоплению задержки доставки видеоматериала по мере трансляции фильма. Именно по этой причине в программе-клиенте используется изощренная двухуровневая буферизация. Замечу, что число шагов доставки данных ( K ) в алгоритме GBS — величина статистическая, а не постоянная, и его значение лежит в интервале от 2 до некоторого максимума, определяемого суммарным числом узлов в сети S. Статистическое распределение K, строго говоря, не идентично для узлов сетки (например, узлы первого поколения (B и D) явно выделены).

Полное число узлов в сети

где q = ТВ/BW, а n — число шагов доставки данных. Это выражение справедливо как для древовидной, так и для сеточной схемы организации сети.

Но при любой реализуемой схеме выходной поток данных узла должен превосходить входной, чтобы можно было реализовать сеть достаточно большого размера при ограниченном числе пересылок исходных данных (например, не более 5).

Проблемы безопасности

Реализация и использование распределенных систем имеет не только плюсы, но и минусы, связанные с особенностями обеспечения безопасности.

Получить контроль над столь разветвленной и крупной структурой, каковой является сеть Р2Р, или использовать пробелы в реализации протоколов для собственных нужд является желанной целью любого хакера. С другой стороны, защитить распределенную структуру сложнее, чем централизованный сервер [10.9].

Столь огромное количество ресурсов тяжело шифровать/дешифровать, поэтому большая часть информации о IP-адресах и ресурсах участников хранится и пересылается в незашифрованном виде, что делает ее доступной для перехвата. Только в последнее время клиенты большинства крупных сетей обеспечивают решение этой проблемы путем шифрования заголовков пакетов и идентификационной информации, реализации клиентов с использованием SSL, построения полностью анонимных сетей и пр.

Серьезной проблемой является рассылка "червей" и подделка ID-ресурсов для их фальсификации и распространения фальшивых ресурсов в сети.

Так, например, в клиенте Kazaa используется хэш-функция UUHash, которая позволяет быстро находить ID для больших файлов даже на слабых компьютерах, но при этом оставляет возможность для подделки файлов и записи испорченного файла, имеющего тот же ID. Эта возможность была использована Американской Ассоциацией Звукозаписывающих Компаний (RIAA), которая наводнила сеть поддельными и испорченными файлами.

Для решения проблемы клиентам нужно пользоваться надежными хэшами (деревьями хэшей, если файл копируется по частям) такими как SHA-1, Whirlpool, Tiger, и только для малоответственных задач, а также контрольными суммами CRC. Для уменьшения объемов пересылаемых данных и облегчения их шифрования можно использовать компрессию. Для защиты от вирусов нужно иметь возможность хранить идентифицирующую метаинформацию о "червях", как это, например, сделано в Gnutella2.

Другой проблемой является возможность подделки ID серверов и узлов. При отсутствии механизма проверки подлинности пересылаемых служебных сообщений, например, с помощью сертификатов, существует возможность фальсификации сервера или узла. Так как узлы обмениваются информацией, подделка некоторых узлов или серверов приведет к компрометации всей или части сети. Закрытое программное обеспечение клиентов и серверов не является решением проблемы, так как есть возможность для реинжиниринга протоколов и программ.

В настоящее время выделенные узлы, серверы и обычные узлы периодически обмениваются между собой верифицирующей информацией и при необходимости добавляют поддельные серверы/узлы в черный список блокировки доступа.

Часть клиентов только копируют чужие файлы, но не предлагают ничего для копирования другим.

Например, в московских домашних сетях на нескольких активистов, делающих доступными более 100 Гб, приходится около сотни выкладывающих менее 1 GB. Для борьбы с этим фактором используются разные методы. В eMule применен метод кредитов: скопировал файл — кредит уменьшился, позволил скопировать свой файл — кредит увеличился. xMule — кредитная система с поощрением распространения редких файлов, в eDonkey используется стимулирование размножения источников, в Bittorrent реализована схема "сколько блоков файла получил, столько отдал" и т.д.

При создании информационных сетей, ориентированных на пересылку мультимедиа, следует учитывать возможность пересылки через эту сеть нелегальных сообщений, в том числе террористами. Ведь выявить наличие скрытых сообщений внутри изображения крайне трудно, практически невозможно.

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

При передаче данных важным компонентом являются алгоритмы организации и обработки записей в очередях. Наиболее известные алгоритмы рассмотрены ниже.

Лекция 11. Методы организации и обработки очередей

Методы организации и обработки очередей, FIFO, PQ, CQ, WFQ, CBWFQ, LLQ, методы работы в условиях перегрузки. Алгоритм leaky bucket ("дырявое ведро"), алгоритм "маркерное ведро", Алгоритмы RED и WRED.

11.1. Очереди FIFO

Очереди FIFO (First-In-First-Out) используются обычно в скоростных интерфейсах (быстродействие > 2048 Кбит/c). Здесь первый пришедший пакет первым покидает очередь. Порядок следования пакетов при этом алгоритме не изменяется. Приоритетное обслуживание в этом варианте также не может быть осуществлено. Когда очередь заполнена, все последующие пакеты будут отбрасываться до тех пор, пока из очереди не будет изъят хотя бы один пакет.

11.2. Приоритетное обслуживание очередей (PQ)

Приоритетное обслуживание ( PQ ) является эффективной и прямой формой управления перегрузкой. PQ позволяет сетевому администратору выделить до четырех очередей в сетевом трафике. Предусмотрены очереди высокого, среднего, нормального и низкого приоритета. Маршрутизатор обрабатывает очереди строго в соответствии с их приоритетом. Пакеты из очереди с высоким приоритетом обрабатываются, пока в очереди не останется ни одного пакета, после этого начинается обработка очереди со средним приоритетом, параллельно осуществляется контроль появления пакетов в очереди с высоким приоритетом. Пакеты из очереди с низким приоритетом обрабатываются лишь тогда, когда остальные очереди пусты. Низко приоритетный трафик при определенных обстоятельствах может быть полностью блокирован, а пакеты потеряны. Обычно PQ используется, когда приложения, критичные к задержкам, сталкиваются с проблемами. Если высокоприоритетный трафик имеет высокую интенсивность, высока вероятность того, что остальные составляющие трафика будут блокированы. Пакеты, не классифицированные PQ, автоматически относятся к очереди с нормальным приоритетом. Системная очередь имеет приоритет выше высокого. По умолчанию очереди разных приоритетов имеют следующие размеры (CISCO): Таблица 11.1.

Таблица 11.1.
ПриоритетДлина очереди
Высокий20 пакетов
Средний40 пакетов
Нормальный60 пакетов
Низкий80 пакетов

11.3. Обычное обслуживание очередей (СQ)

Чтобы избежать жесткой регламентации системы обслуживания очередей PQ, системный администратор может выбрать стратегию CQ (Custom Queuing — обычное обслуживание очередей). CQ позволяет сетевому администратору реализовать приоритетное обслуживание трафика без побочных эффектов, связанных с блокировкой низкоприоритетных потоков. С помощью CQ можно сформировать 16 очередей трафика. Каждая из очередей обслуживается в карусельном режиме (round-robin). По умолчанию CQ обслуживает 1500 байт за цикл. Однако CQ не может фрагментировать пакеты. Это означает, что если CQ обрабатывает пакет длиной 1000 байт, следующий 1500-байтный пакет будет обработан вне очереди. При этом может возникнуть ситуация, когда для коротких очередей возникает тайм-аут. CQ может конфигурироваться так же, как и PQ. Процесс классификации трафика приписывает пакеты одной из 16 конфигурируемых очередей, работающих в режиме "дырявого ведра". Существует очередь с номером 0 (системная очередь), которая зарезервирована для пакетов управления сетью и имеет наивысший приоритет. При больших потоках возможна потеря пакетов из-за переполнения очередей. Длина очереди может быть задана в пределах от 0 до 32767 (20 — значение по умолчанию).

11.4. Справедливые очереди (WFQ)

Стратегия справедливых (взвешенных) очередей WFQ (Weighted Fair Queuing) используется по умолчанию для интерфейсов низкого быстродействия (другим названием этого алгоритма является SFQ — Stochastic Fairness Queuing). WFQ делит трафик на несколько потоков, используя в качестве параметров (для IP-протокола): IP-адреса и порты получателя и отправителя, а также поле IP-заголовка ToS. Значение ToS служит для квалификации (части выделяемой полосы) потока. Для каждого из потоков формируется своя очередь. Максимально возможное число очередей равно 256. Очереди обслуживаются в соответствии с карусельным принципом (round-robin). Более высокий приоритет имеют потоки с меньшей полосой, например telnet. По умолчанию каждая из очередей имеет емкость 64 пакета (но допускается значение и <4096 пакетов).

В сетях существует 8 уровней приоритета. Следует иметь в виду, что WFQ не поддерживается в случае туннелирования или шифрования. Субпоток с низким весом получает более высокий уровень обслуживания, чем с высоким. Не реализуется WFQ и в сетях АТМ. Когда задействованы биты ToS, WFQ реализует приоритетное обслуживание пакетов согласно значению этого кода. Весовой фактор обратно пропорционален уровню приоритета.

11.5. Справедливые очереди, базирующиеся на классах (CBWFQ)

Дальнейшим развитием технологии WFQ является формирование классов потоков, задаваемых пользователем. Алгоритм построения очередей, базирующихся на классах, называется CBWFQ (Class-Based Weighted Fair Queuing). Алгоритм CBWFQ предоставляет механизм управления перегрузкой. Параметры, которые характеризуют класс, те же, что и в случае WFQ (только вместо ToS используется приоритет). В отличие от WFQ здесь можно в широких пределах перераспределять полосу пропускания между потоками. Для выделения класса могут привлекаться ACL (Access Control List) или даже номер входного интерфейса. Каждому классу ставится в соответствие очередь. В отличие от RSVP данный алгоритм гарантирует полосу лишь в условиях перегрузки. Всего может быть определено 64 класса. Нераспределенная полоса может использоваться потоками согласно их приоритетам. Если используется резервирование CBWFQ и RSVP, то возможны конфликты, так как IOS маршрутизатора не проверяет баланса зарезервированной полосы разными протоколами.

11.6. Очереди с малой задержкой (LLQ)

В некоторых случаях, например в случае VoIP, более важно обеспечить малую задержку, а не полосу пропускания. Для таких задач разработан алгоритм LLQ (Low Latency Queuing), который является модификацией CBWFQ. В этом алгоритме пакеты всех приоритетов, кроме наивысшего, вынуждены ждать, пока очередь более высокого приоритета будет опустошена (см. PQ ). Разброс задержки в высокоприоритетном потоке может быть связан только с ожиданием завершения передачи пакета низкого приоритета, начавшейся до прихода приоритетного кадра. Такой разброс определяется диапазоном длин кадров (MTU).

11.7. Методы работы в условиях перегрузки

Когда в субсеть (или какое-то сетевое устройство) поступает слишком много пакетов, ее (его) рабочие характеристики деградируют. Такая ситуация называется перегрузкой. Оптимальность управления сетью в условиях перегрузок определяет эффективность использования сети. Пока субсеть загружена незначительно, число принимаемых и обрабатываемых пакетов равно числу пришедших. При очень больших загрузках пропускная способность канала или сети может стать нулевой. Варианты нагрузочных характеристик сетей показаны на рис. 11.1.

Различные варианты нагрузочной характеристики сети


Рис. 11.1.  Различные варианты нагрузочной характеристики сети

Идеальная (с точки зрения потребителя) нагрузочная характеристика сети сначала описывается прямой линией, то есть числа посланных и доставленных пакетов равны или почти равны. При достижении максимума пропускной способности сети число пакетов, доставляемых в единицу времени, становится постоянным, в то время как число посланных пакетов продолжает расти. К сожалению, такого в реальной жизни не происходит. Желательной нагрузочной характеристикой является такая, которая при малых и максимальных загрузках ведет себя как идеальная, а при переходных скоростях имеет плавный характер и доставляет несколько меньший процент пакетов, чем в идеале. Реальная нагрузочная характеристика (например, для Ethernet) много хуже даже желательного варианта. Сначала по мере роста загрузки начинает расти процент потери пакетов. Далее при входных потоках, превышающих некоторый порог, число доставляемых пакетов начинает падать при росте числа посланных пакетов, а при дальнейшем нарастании загрузки число доставляемых пакетов может стать равным нулю ("коллапс"). В версиях Ethernet, где столкновения исключены (в сети используются только переключатели и маршрутизаторы), ситуация более благоприятна.

Отчасти это может быть связано с недостатком памяти для входных буферов, по этой причине некоторое увеличение памяти может помочь. Но следует помнить, что всякое лекарство хорошо в меру. Еще в 1987 году Нагле (Nagle) обнаружил, что если маршрутизатор имеет даже беспредельную память, эффект перегрузки может оказаться еще более тяжелым. Это сопряжено со временем, в течение которого пакеты ожидают обработки. Если время ожидания в очереди превышает длительность тайм-аута, появятся дубликаты пакетов, что понижает эффективность системы. Причиной перегрузки может быть медленный процессор или недостаточная пропускная способность какого-то участка сети. Простая замена процессора или интерфейса на более быстродействующий не всегда решает проблему — чаще переносит "узкое место" в другую часть системы. Перегрузка, как правило, включает механизмы, усиливающие ее негативное воздействие. Так, переполнение буфера приводит к потере пакетов, которые позднее должны будут быть переданы повторно (возможно, даже несколько раз). Процессор передающей стороны получает дополнительную паразитную загрузку. Все это указывает на то, что контроль перегрузки является крайне важным процессом.

Перегрузка, в сущности, связана с временной или стационарной несогласованностью характеристик каких-то частей системы.

Следует делать различие между управлением потоком и контролем перегрузки. Под контролем потока подразумевается балансировка потока отправителя и возможностей приема и обработки получателя. Этот вид контроля предполагает наличие обратной связи между получателем и отправителем. В таком процессе участвуют, как правило, только два партнера. Перегрузка же — более общее явление, относящееся к сети в целом или к какой-то ее части. Например, 10 ЭВМ хотят передать одновременно какие-то файлы другим 10 ЭВМ. Конфликта потоков здесь нет, каждая из ЭВМ способна переработать поступающие данные, но сеть не может пропустить поток, генерируемый 10 сетевыми интерфейсами одновременно. Часто эти явления не так просто разделить. Отправитель может получить сообщение ICMP (quench – в случае стека протоколов TCP/IP) при перегрузке получателя или при перегрузке какого-то сетевого устройства.

Начинать надо с решения проблемы выявления перегрузок. Перегрузкой следует считать ситуацию, когда нагрузка в течение некоторого оговоренного времени превышает заданную величину. Параметрами, которые позволяют судить о наличии перегрузки, могут служить:

Когда перегрузка выявлена, нужно передать необходимую информацию из точки, где она обнаружена, туда, где можно что-то сделать для исправления ситуации.

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

При использовании обратной связи путем посылки сообщения запроса понижения скорости передачи следует тщательно настраивать временные характеристики. В противном случае система либо попадает в незатухающий осциллятивный режим, либо корректирующее понижение потока будет осуществляться слишком поздно. Для корректного выбора режима обратной связи необходимо некоторое усреднение. Но применение слишком больших времен усреднения может породить осцилляцию длины очереди.

Преодоление перегрузки может быть осуществлено понижением нагрузки или добавлением ресурсов приемнику.

Положительный результат может быть достигнут изменением механизма подтверждения (например, уменьшением размера окна), вариацией значений таймаутов, изменением политики повторной передачи пакетов. В некоторых случаях позитивного результата можно достичь модификацией схемы буферизации. Иногда решить проблему может маршрутизатор, например, перераспределяющий трафик по нескольким путям.

Одной из причин перегрузки часто являются импульсные загрузки сегмента сети или сетевого устройства. По этой причине любые меры (например, pipelining — конвейер), которые могут выравнивать поток пакетов, безусловно, улучшат ситуацию (например, traffic shaping в сетях ATM). В TCP же с его окнами импульсные загрузки предопределены.

11.8. Алгоритм leaky bucket ("дырявое ведро")

Для систем без обратной связи решение проблемы выравнивания скорости передачи данных может быть решено с помощью алгоритма leaky bucket ( "дырявое ведро" ). Суть этого алгоритма заключается в том, что на пути потока устанавливается буфер, выходной поток которого постоянен и согласован с возможностью приемника. Если буфер переполняется, пакеты теряются.

Потеря пакетов — вещь малоприятная, но это блокирует процессы, которые могут привести к коллапсу сегмента или всей сети.

Там, где потеря пакетов нежелательна, можно применить более гибкий алгоритм.

11.9. Алгоритм "маркерное ведро"

Алгоритм token bucket (маркерное ведро) предполагает наличие в буферном устройстве (или программе) некоторого количества маркеров. При поступлении на вход буфера пакетов маркеры используются для их транспортировки на выход. Дальнейшая передача данных на выход зависит от генерации новых маркеров. Поступающие извне пакеты тем временем накапливаются в буфере. Таким образом, полной гарантии отсутствия потерь мы не имеем и здесь. Но алгоритм token bucket позволяет передавать на выход "плотные" группы пакетов ограниченной численности (по числу маркеров), снижая в некоторых случаях вероятность потери. Если буферное устройство "смонтировано" внутри ЭВМ отправителя, потерь можно избежать вовсе, блокируя передачу при заполнении буфера. Как в одном, так и в другом алгоритме мерой передаваемой информации может быть не пакет, а n -байт (где n — некоторое оговоренное заранее число).

11.10. Алгоритмы RED и WRED

Одним из возможных подходов при решении проблемы перегрузки является алгоритм RED (Random Early Detection). RED позволяет маршрутизатору отбрасывать пакеты, даже когда в очереди еще имеется место.

Алгоритм WRED использует взвешенное значение длины очереди в качестве фактора, определяющего вероятность отбрасывания пакета. По мере роста средней длины очереди растет вероятность отбрасывания пакетов. Если средняя длина очереди меньше определенного порога, вероятность отбрасывания пакета равна нулю. Небольшие кластеры пакетов могут успешно пройти через фильтр RED. Более крупные кластеры могут понести потери. Это приводит к тому, что ТСР-сессии с большими открытыми окнами имеют большую вероятность отбрасывания пакетов.

Главной целью алгоритма RED является исключение ситуации, когда несколько ТСР-потоков перегружаются почти одновременно и затем синхронно начинают процедуру восстановления.

Интересное предложение относительно выборочного (приоритетного) отбрасывания пакетов содержится в работе [11.1] в отношении мультимедиа-потоков.

Алгоритм RED позволяет организовать очереди таким образом, что их размер отслеживает осцилляции величины RTT.

RED пытается увеличить число коротких перегрузок и избежать долгих. Задача RED заключается в том, чтобы сообщить отправителю о возможности перегрузки, и отправитель должен адаптироваться к этой ситуации.

Существует модификация алгоритма обработки очередей WRED (Weighted Random Early Detection), широко используемая в маршрутизаторах. Этот алгоритм применяется и при реализации DiffServ и гарантированной переадресации ( AF ), когда решение об обработке пакета принимается в каждом транзитном узле независимо ( PHB — Per Hop Behavior). При этом может учитываться код DSCP (Differential Service Code Point) IP-заголовка.

Алгоритм WRED удобен для адаптивного трафика, который формируется протоколом ТСР, так как здесь потеря пакетов приводит к снижению темпа их посылки отправителем. Алгоритм WRED присваивает пакетам не IP-типа нулевой приоритет, повышая вероятность их потери. Имеется возможность конфигурации WRED и WFQ для одного и того же интерфейса.

WRED полезен для любого выходного интерфейса, где ожидается перегрузка. Когда приходит пакет, вычисляется среднее значение длины очереди. Если вычисленное значение меньше минимального порога очереди (Т1), приходящий пакет ставится в очередь. Если вычисленное значение лежит между минимальным порогом очереди для данного типа трафика и максимальным порогом для интерфейса (Т2), пакет ставится в очередь или отбрасывается в зависимости от вероятности отброса, установленной для данного типа трафика. И, наконец, если усредненный размер очереди больше максимального порога, пакет безальтернативно отбрасывается (см. рис. 11.2).

WRED статистически отбрасывает больше пакетов для сессий с большими потоками. По этой причине ТСР-отправители больших потоков будут вынуждены в большей степени понизить поток, чем отправители малого трафика.



Рис. 11.2. 

Ни АТМ-интерфейсы маршрутизаторов, ни АТМ-коммутаторы не предоставляют гарантий QoS для UBR виртуальных каналов. Маршрутизатор CISCO может специфицировать только пиковую скорость передачи ( PCR ) для UBR-канала.

Маршрутизатор автоматически задает параметры, которые нужно использовать в вычислениях WRED. Среднее значение длины очереди определяется на основе предыдущего значения и текущего размера очереди, согласно

Среднее = (old_evarage * (1-2-n)) + (current_queue_size * 2-n),

где n — экспоненциальный весовой фактор, конфигурируемый пользователем.

Большое значение этого фактора сглаживает пики и провалы значения длины очереди. Средняя длина очереди не будет меняться быстро. Процесс WRED не сразу начнет отбрасывать пакеты при перегрузке, зато продолжит отбрасывание, даже когда перегрузки уже нет (очередь уже сократилась ниже минимального порога). См. рис. 11.3 (кривая с ромбиками соответствует реальной длине очереди, вторая, более гладкая кривая отображает вариацию усредненной длины очереди).

Осцилляция длины очереди (результат моделирования с помощью NS-2)


Рис. 11.3.  Осцилляция длины очереди (результат моделирования с помощью NS-2)

При этом возможно осциллирование длины очереди, что во многих случаях нежелательно, так как приводит к неэффективному использованию буфера и увеличению дисперсии времени доставки данных.

Когда n становится слишком большим, WRED не будет реагировать на перегрузку. Пакеты будут посылаться или отбрасываться так, как если бы WRED не работал.

Для малых значений n среднее значение длины очереди практически совпадает с текущей ее величиной, что вызывает значительные флуктуации среднего значения. В этом случае реакция WRED на превышение длины очереди становится практически мгновенной. Если значение n слишком мало, WRED чрезвычайно чувствителен к флуктуациям трафика, что может снижать пропускную способность. Следует учитывать, что на практике флуктуации трафика имеют дисперсию, в несколько раз превосходящую гауссову.

Вероятность отбрасывания пакета зависит от минимального порога ( Т1 ), максимального порога ( Т2 ) и маркерного деноминатора вероятности PC. Когда средняя длина очереди выше T1, RED начинает отбрасывать пакеты. Частота отбрасываний увеличивается линейно по мере роста длины очереди до тех пор, пока усредненный размер очереди не достигнет максимального порога ( Т2 ).

Маркерный деноминатор вероятности PC равен доле теряемых пакетов, когда средняя длина очереди равна максимальному порогу. Например, если PC равен 1/512, один из 512 пакетов отбрасывается, когда средняя длина очереди достигает максимального порога (см. рис. 11.2). Когда усредненная длина очереди превышает T2, отбрасываются все пакеты. Минимальный порог T1 следует выбрать достаточно высоким, чтобы максимизировать использование канала. Значение PC можно задать и больше 1, но в этом случае длина очереди никогда не достигнет T2.

В системах, где управление трафиком осуществляется с использованием обратной связи, можно достичь большей эффективности. Одним из механизмов преодоления перегрузок является управление разрешением (admission control). Суть метода заключается в том, что при регистрации перегрузки не формируется более никаких виртуальных соединений до тех пор, пока ситуация не улучшится. Альтернативным вариантом может служить решение, где формирование нового соединения разрешается, но при этом маршрутизация осуществляется так, чтобы обойти узлы, в которых выявлена перегрузка (см. рис. 11.4).

Выбор маршрута нового виртуального канала при наличии перегрузки


Рис. 11.4.  Выбор маршрута нового виртуального канала при наличии перегрузки

На рис. 11.4 (верх) показан пример сети с двумя узлами, характеризующимися перегрузкой (помечены черным цветом). Предположим, что необходимо проложить виртуальный канал из узла А в узел Б. Из графа маршрутов удаляются перегруженные узлы, после чего осуществляется прокладка пути. В нижней части рисунка жирными линиями показан новый виртуальный канал.

Еще более универсальным решением, пригодным для работы с установлением соединения и без, является посылка пакетов блокировки (choke Packets). Маршрутизатор обычно контролирует загруженность всех своих внешних каналов L, которая может принимать значения от 0 до 1. Когда L достигает некоторого порогового значения, отправителю посылается пакет блокировки. При вычислении L следует использовать какую-либо методику усреднения, чтобы избежать слишком частых блокировок.

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

ЭВМ может понижать трафик, корректируя свои параметры, например ширину окна или темп передачи, на выходе устройства типа "дырявое ведро". Обычно первый блокирующий пакет уменьшает поток вдвое, следующий на — 0,25 и т.д. Увеличение потока также производится аналогичными шагами. Существует большое число вариантов алгоритма управления потоком с использованием пакетов блокировки. Параметром, который контролируется и определяет условие отправки пакета блокировки, может служить длина очереди или степень заполнения буфера.

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

Ситуация перегрузки не всегда управляется однозначно. Например, при поступлении на вход пакетов от трех источников возможна ситуация, когда приемник посылает блокирующие пакеты всем отправителям, а откликнется сокращением потока только один. В результате этот узел, который "играет по правилам" (как это часто бывает и в жизни), оказывается в проигрыше. В 1987 году Нагле был предложен алгоритм fair queuing (справедливая очередь, см. соответствующий раздел WFQ выше). В этом алгоритме маршрутизатор организует независимые очереди для пакетов, поступающих от разных источников. Когда выходной канал маршрутизатора оказывается свободным, он просматривает очереди циклически и отправляет очередной пакет. В результате при n очередях по завершении такого цикла просмотров-посылок будет послано по одному пакету из каждой очереди. Этот алгоритм используется в некоторых ATM-переключателях. Следует заметить, что этот алгоритм дает преимущества тем узлам, которые посылают более длинные пакеты. Демерс (Demers) и др. в 1990 году предложили усовершенствование алгоритма. В данном варианте организуется циклический просмотр очередей не попакетно, а побайтно. Система последовательно сканирует очереди и определяет положение концов пакетов. Первыми отправляются более короткие пакеты. Для иллюстрации предлагается рассмотреть рис. 11.5.

Маршрутизатор с 4 входными каналами, в каждом из которых ждет очереди передачи по одному пакету. В правой части рисунка представлен порядок посылки этих пакетов


Рис. 11.5.  Маршрутизатор с 4 входными каналами, в каждом из которых ждет очереди передачи по одному пакету. В правой части рисунка представлен порядок посылки этих пакетов

Пакеты на рисунке имеют от трех до девяти октетов. Порядок пересылки октетов показан в левой части рисунка. В отсутствие поступления новых пакетов кадры, записанные в буфер, будут переданы в порядке, представленном в правой части рисунка. Особенностью этого алгоритма является равенство приоритета всех каналов.

При передаче данных на большие расстояния с большими значениями RTT эффективность использования метода блокирующих пакетов снижается. Пока блокирующий пакет дойдет через ряд промежуточных узлов до отправителя, на вход получателя поступит большое число пакетов, которые не только усугубят ситуацию перегрузки, но и могут вызвать потерю какой-то их доли, что в свою очередь может потребовать повторной пересылки следовавших за ними кадров. Для повышения эффективности часто применяется схема, при которой блокирующие пакеты воздействуют на все маршрутизаторы по пути своего следования. В этом случае снижения потока можно ожидать уже через время, равное RTT до узла, ближайшего к получателю пакетов. Такая схема требует, чтобы все промежуточные узлы имели достаточно емкие буферы, в противном случае возможны потери.

В протоколе TCP используется алгоритм управления трафиком, называемый "скользящее окно". Здесь размер окна, которое определяет число сегментов, посылаемых без получения подтверждения, варьируется в зависимости от наличия потерь пакетов. При большой вероятности потери система переходит в режим, когда очередной пакет не посылается до тех пор, пока не будет подтверждено получение предшествующего.

При серьезных перегрузках, когда потери становятся значительными, нарушается механизм вычисления значений RTT и тайм-аутов, что может приводить к труднопредсказуемым последствиям.

Следует обратить внимание, что в протоколе UDP какого-либо механизма управления трафиком не предусмотрено. По этой причине для мультимедийных задач, следует предусматривать другие, например ICMP-способы подавления перегрузки (хотя это часто неприемлемо и решение следует искать в привлечении методов резервирования или DiffServ).

Если другие способы испробованы, а перегрузка не исчезла, маршрутизатор начинает отбрасывать приходящие пакеты, которые уже не может обработать. Самое простое — это предоставить случаю выбор отбрасываемых пакетов. Но это не лучшая тактика. В случае пересылки мультимедийных данных предпочтение следует отдавать последним полученным пакетам, а "старые" пакеты выбрасывать. При передаче файлов, наоборот, "старый" пакет имеет приоритет, ведь если его отбросить, придется повторно передавать не только его, но и все последующие пакеты. Некоторые методы передачи изображения требуют передачи время от времени всего кадра с последующей пересылкой только фрагментов, где произошли изменения. В таких условиях потеря пакета, составляющего базовый кадр, менее желательна. Сходные обстоятельства могут возникать и в других приложениях. Можно помечать пакеты, присваивая им определенные уровни приоритетов, что позволит осознанно принимать решение об отбрасывании того или иного пакета в условиях перегрузки. В перспективе проблема может быть решена на чисто коммерческой основе: компонента трафика, помеченная как высокоприоритетная, будет оплачиваться по более высокому тарифу. В некоторых сетях определенное количество пакетов объединяется в группы, образующие сообщение. Если одна ячейка такого сообщения выброшена, все сообщение будет повторно переслано (смотри, например, адаптационные уровни сетей ATM).

Лекция 12. Сетевые уровни

7-уровневая эталонная модель ISO. Физический, канальный и сетевой уровни. Бит-ориентированная процедура управления HDLC. "Апокалипсис двух слонов". Некоторые примеры сетей. Маркерные сети. Сеть DQDB.

Международная организация по стандартизации (ISO) определила 7-уровневую эталонную сетевую модель для открытых систем (OSI) (Интернет использует 4-уровневое подмножество, и то лишь с определенными оговорками). Ниже на рис. 12.1 показана схема этих уровней, справа записаны коды документов Международного Телекоммуникационного союза (ITU), регламентирующих протоколы соответствующих уровней.

Семиуровневая эталонная модель ISO


Рис. 12.1.  Семиуровневая эталонная модель ISO

Разбиение совокупности (стека) сетевых протоколов по уровням связано с попыткой унификации аппаратного и программного обеспечения. Предполагается, что каждому из уровней соответствует определенная функциональная программа с жестко заданными входным и выходным интерфейсами. Форматы данных на заданном уровне модели для отправителя и получателя должны быть идентичны. Физический уровень локальных сетей определен документами, например Ethernet II, IEEE 802.3 и т.д. Модели ISO наиболее полно соответствуют сети X.25, хотя этот протокол к настоящему времени устарел.

Физический уровень X.25 определяет стандарт на связь между ЭВМ и сетевыми коммутаторами (X.21), а также на процедуры обмена пакетами между ЭВМ. X.21 характеризует некоторые аспекты построения общественных сетей передачи данных. Следует учитывать, что стандарт X.25 появился раньше рекомендаций ITU-T и опыт его применения был учтен при составлении новейших рекомендаций. На физическом уровне могут использоваться также протоколы X.21bis, RS232, Ethernet или V.35.

Канальный уровень определяет то, как информация передается от ЭВМ к пакетному коммутатору ( HDLC — High Data Link Communication, бит-ориентированная процедура управления), на этом уровне исправляются ошибки, возникающие на физическом уровне.

Сетевой уровень определяет взаимодействие различных частей субсети, форматы пакетов, процедуры повторной передачи пакетов, стандартизует схему адресации и маршрутизации.

Транспортный уровень определяет надежность передачи данных по схеме "точка-точка", избавляет уровень сессий от забот по обеспечению надежной и эффективной передачи данных.

Уровень сессий описывает то, как протокольное программное обеспечение должно организовать обеспечение выполнения любых прикладных программ. Организует двухстороннее взаимодействие сетевых объектов и необходимую синхронизацию процедур.

Презентационный уровень обеспечивает прикладной уровень стандартными услугами (сжатие информации, поддержка ASN.1 (Abstract Syntax Notation 1) управляющих протоколов и т.д.).

Прикладной уровень — это все, что может понадобиться пользователям сетей, например X.400.

Международным стандартом в процедуре HDLC определены два вида кадров:



Рис. 12.2. 

Флаг F = 01111110 задает границы кадра, FCS — контрольная сумма. Поле информация может иметь переменную длину, кратную восьми бит. Для HDLC определены три класса кадров: информационные ( I ), управляющие ( S — supervisory) и ненумерованные ( U — unnumbered). Формат поля управление I-кадра показан на рис. 12.3.



Рис. 12.3. 

N(S) и N(R) представляют собой поля номера кадров, N(S) — номер текущего кадра, а N(R) — номер следующего кадра, который отправитель текущего кадра ожидает получить. При несоответствии ожидаемого и полученного номеров возникает ошибка. Если используется нумерация кадров по модулю 8, то максимальное число кадров, не получивших подтверждение, не может превышать 7, а размер полей N(S) и N(R) равен трем битам. Это справедливо и для S-кадров. I-, S- и U-кадры могут иметь обычный (один байт) и расширенный (2 байта) форматы. Младший бит (1) расположен слева. Поле P/F — флаг "опрос/окончание опроса". Информационный (I) кадр содержит поле информация (см. рис. 12.2). Формат S-кадра показан на рис. 12.4.



Рис. 12.4. 

Для однобайтовой версии S-кадра за полем S следует непосредственно поле P/F. Поле S определяет тип управляющего кадра (см. таблицу 12.1).

Таблица 12.1. Коды поля S
Код S-поляНазначение
00RR-кадр (Receiver Ready) готов к приему
01RNR-кадр (Receiver Not Ready) не готов к приему
10REJ-кадр (reject) отказ от приема
11SREJ-кадр (selected reject) выборочный отказ от приема

S-кадры служат для передачи сигналов подтверждения, запросов повторной передачи или прекращения посылки кадров из-за блокировки приема в местной станции. При получении кадра с неверным порядковым номером (например, предшествующий кадр потерян), приемник посылает S-кадр REJ, что означает необходимость повторной посылки предшествующего кадра и всех последующих. Кадр SREJ(n) указывает на то, что все кадры, до n-1 включительно, доставлены без ошибок, а при доставке кадра n допущена ошибка и он должен быть послан повторно. В отличие от rej , запрашивается пересылка только одного кадра. Связь с терминалом является временной, если бит P/F равен 1. Если адрес места назначения равен 11111111, то обращение является широковещательным. Формат U-кадра представлен на рис. 12.5.

Формат поля управления U.кадра


Рис. 12.5.  Формат поля управления U.кадра

U-кадр используется для формирования канала, изменения режима работы и управления системой передачи данных. Существует версия, когда поле "0" размещается не в 8-й позиции, а в 5-й. В нижней части рисунка показана расширенная версия формата. Младшие разряды располагаются слева. Поле M может принимать значения, приведенные в таблице 12.2.

Таблица 12.2. Коды поля M ( U-кадр )
Код поля ММнемоникаНазначение
00000UIНенумерованная информация
00001SNRMУстановка нормального отклика (set normal regime mode)
00010DISC/RDОтсоединение (disconnect / request disconnect)
00100UPНенумерованный запрос передачи (unnumbered poll)
00110UAНенумерованный отклик (unnumbered acknowledgment)
00111TESTТестирование системы передачи данных
10000SIM/RIMУстановка режима асинхронного отклика (set initialization mode / request initialization mode)
10001FRMRОтклонение кадра (frame reject)
11000SARM/DMУстановка режима асинхронного отклика (set asynchronous acknowledgment regime mode / disconnect mode)
11001RSETСброс (возврат в исходное состояние)
11010SARMESARM с расширенной нумерацией
11011SNRMESNRM с расширенной нумерацией
11100SAMBУстановка асинхронного сбалансированного режима
11101XIDИдентификация коммутатора (exchange identifier)
11110SABMESABM с расширенной нумерацией

Установление соединения начинается с передачи в канал команды SABM (или SABME). Если удаленной станцией эта команда принята правильно и имеется возможность установления соединения, то присылается отклик UA. При этом переменные состояния на удаленной станции V(S) и V(R) (аналоги полей N(S) и N(R) в пакетах) устанавливаются в нулевое состояние.

После благополучного получения пакета UA локальной станцией соединение считается установленным и может начинаться обмен данными. Информацию несут кадры типа I, а также FRMR и UI-кадры типа U. В кадре ответа FRMR должно присутствовать информационное поле, содержащее обоснование присылки такого ответа. Структура этого поля для обычного и расширенного (внизу) форматов показана на рис. 12.6.

Структура информационного поля для FRMR.кадров


Рис. 12.6.  Структура информационного поля для FRMR.кадров

Биты A, B, C и D определяют причину, по который кадр не был доставлен. Если бит равен 1, то это указывает на соответствующую причины недоставки. Бит A указывает на неверное значение N(R). Бит B=1 говорит о слишком большой длине информационного поля. Бит C указывает на то, что поле управления неопределенно из-за наличия в кадре недопустимого для данной команды или отклика информационного поля, а D=1 означает, что поле управления принятого кадра не определено или же неприемлемо. V(R) и V(S) — текущие значения переменных приема и передачи соответственно. C/R (Command/Response) =1 означает, что ошибочное сообщение является откликом (=0 — командой). Большинство U-кадров интерпретируются как команды или отклики в зависимости от контекста и того, кто их послал. В некоторых случаях для разделения откликов и команд используется поле адреса.

Приведенным выше регламентациям следуют сетевые протоколы ISDN, ATM, Frame Relay и Х.25. Ограниченность размера адресного поля и полей номеров кадров устанавливают определенные ограничения на эксплуатационные характеристики этих сетей (исключена динамическая маршрутизация и лимитирована пропускная способность при больших задержках в канале).

За последние годы сложилась традиция начала рассказа о стеке сетевых протоколов с 7-уровневой модели ISO, хотя уже давно стало ясно, что протоколы TCP/IP в эту модель уложить совсем не просто.

Дэвид Кларк из Масачусетского университета предложил теорию, которую назвал "апокалипсисом двух слонов". В этой модели анализируется активность вокруг любого нового объекта. Сначала появляется идея, созываются семинары, затем конференции, публикуются статьи в журналах, проводятся пробные испытания. Спустя некоторое время, когда идея доказала свою полезность, начинаются серьезные инвестиции, разрабатывается оборудование, программное обеспечение и т.д. Эта активность проиллюстрирована на рис. 12.7.

Апокалипсис двух слонов


Рис. 12.7.  Апокалипсис двух слонов

Момент разработки стандартов на оборудование и программы (протоколы) должен располагаться точно между двумя пиками активности. Если стандарты начнут создаваться во время первого пика активности, то неизбежно не учтут многих важных обстоятельств и проблем. При разработке стандартов во время второго пика различные компании успеют выполнить разработки или запустить в серию оборудование, не отвечающее этим стандартам, и будет трудно убедить их, что они потратили деньги впустую. Судьба 7-уровневой модели хорошо укладывается в эту теорию. Она возникла слишком рано. Сегодня видно, что большинство приложений игнорирует уровень сессий, да и уровень презентаций можно выявить отнюдь не всегда. Эта модель в нынешнем виде обречена. История весьма поучительна и полностью укладывается в теорию "апокалипсиса двух слонов". Впрочем, это совершенно не означает, что послойная модель несостоятельна. На рисунке 12.8 представлен достаточно общий случай такого построения сети.

Послойная 5-уровневая модель сети


Рис. 12.8.  Послойная 5-уровневая модель сети

Уровень 1 остается как обычно для физической транспортной среды. В случае Ethernet второй уровень занят протоколом, определяющим формат пакета Ethernet, систему МАС-адресации и взаимодействия объектов такой сети (CSMA/CD). На рис. 12.8 этому уровню принадлежат заголовки Н2 и контрольные суммы Т2. В случае стека протоколов TCP/IP в Ethernet-кадр вкладывается IP-дейтограммы с ее заголовками Н3. Уровню 4 будет соответствовать протокол UDP или TCP с заголовком Н4. На верху пирамиды размещается прикладная программа, посылающая сообщение М. Как показано на рисунке, на уровне 3, если это требуется, возможна фрагментация, при которой исходное сообщение М делится на два или более фрагментов (на рисунке — М1 и М2 ).

Не следует думать, что стек протоколов TCP/IP является идеальным и безгрешным. Эти протоколы впервые были реализованы в качестве составной части ОС UNIX (Berkeley). Программы оказались удачными и (что весьма важно) бесплатными. Это способствовало их популярности и сформировало достаточно широкий круг пользователей.

К сожалению, в TCP/IP не было проведено четкого разграничения между услугами, интерфейсом и протоколом. Слой ЭВМ-сеть плохо прописан и представляет собой интерфейс между сетью и канальным уровнем. В TCP/IP вообще не оговариваются требования для физического и канального уровней (это имеет и некоторые преимущества). Здесь не оговорены форматы разграничения кадров и требования к характеристикам физической среды (скрученные пары, оптические волокна, радиоканалы). Уместно также отметить слабую устойчивость данного стека протоколов против сетевых атак. Несовершенны и некоторые прикладные протоколы, например, TELNET рассчитан на работу исключительно в символьном режиме, в нем не проработаны графические возможности, не предусмотрена работа с мышью. Несмотря на эти недостатки, данный протокол уже более 25 лет в работе. Широкое распространение протоколов TCP/IP создает определенные трудности для их модификации. Примером может служить удивительно медленное внедрение IPv6. Впрочем, многие другие протокольные системы вообще не были приспособлены к модификации и по этой причине исчезли.

7-уровневая модель OSI в настоящее время представляет интерес лишь для обсуждения сетевых проблем.

История TCP/IP показывает, что для Всемирной Сети имеют шансы лишь открытые сетевые протоколы, хорошо документированные и общедоступные. Это позволяет участвовать в разработке прикладных программ широким массам пользователей.

Машина считается подключенной к сети Интернет, если ее работа базируется на стеке протоколов TCP/IP, она имеет IP-адрес и может посылать IP-пакеты другим ЭВМ. Базовыми процедурами Интернет являются прием/передача почтовых сообщений (протокол SMTP ), передача новостей ( NNTP ), удаленный доступ (telnet, Rlogin, SSH), передача файлов ( FTP ), и World Wide Web (WWW — HTTP ) и т.д.

В сущности, Интернет — это система взаимодействующих друг с другом программ. Протоколы TCP/IP — это правила, которым эти программы должны отвечать, чтобы успешно взаимодействовать друг с другом.

Все виды сетей предназначены для передачи данных (ведь и случай использования сети для управления сопряжен с передачей информации). Передача данных в Интернете происходит от отправителя к месту назначения, определяемого IP-адресом. Но сетевое оборудование (кроме маршрутизаторов (L3)) работает с МАС-адресами ( МАС – Media Access Control — физический адрес). Пакет от отправителя к получателю проходит сплошь и рядом через самые разные сети. При этом МАС-адреса меняются, IP-адрес места назначения остается неизменным. Схема преобразования адресов показана на рис. 12.9. Машина-отправитель находится в сети Ethernet-A, а получатель с адресом IP-B — в сети Ethernet-В. Как видно из рисунка, информационная дейтограмма при транспортировке остается неизменной, она содержит IP-адрес места назначения, IP-адрес отправителя, некоторую другую служебную информацию в заголовке, и несет данные, предназначенные для получателя. По пути к месту назначения в приведенном примере использованы каналы сетей FDDI и PPP. МАС-адрес места назначения на каждом промежуточном этапе равен МАС-адресу очередного получателя, которым обычно является маршрутизатор. При этом следует иметь в виду, что каждый из маршрутизаторов сам имеет не менее двух IP-адресов (по одному на каждый вход/выход). В каждом маршрутизаторе после получения кадра информационная дейтограмма извлекается и помещается в новый кадр с соответствующим МАС-адресом назначения. Когда кадр доходит до сети места назначения, формируется кадр с адресом Ethernet-интерфейса ЭВМ-адресата. Разумеется, данная схема является упрощенной, но она отражает логику преобразования адресов.

Схема преобразования адресов


Рис. 12.9.  Схема преобразования адресов

Человеку, которому приходится выбирать ту или иную сеть впервые, задача может показаться непростой, тем более что большинство из них имеют сопоставимые эксплуатационные характеристики. Попытаемся сравнить наиболее популярные стандарты локальных сетей из ряда 802.3 (Ethernet), 802.4 (маркерная шина) и 802.5 (маркерное кольцо). Начнем с сети Ethernet, распространенность которой в мире составляет около 70%, а в России — более 95% (возможно, даже 99%).

Некоторые примеры сетевых протоколов

Протокол 802.3 достаточно прост, и сетевые интерфейсы за счет массового производства весьма дешевы. Станция может быть подключена к сети без прерывания работы других сетевых устройств. Задержка доступа к сетевой среде при малых загрузках практически равна нулю. В Ethernet присутствует аналоговая обработка сигналов, ведь станция должна уметь обнаружить сигнал другой станции даже, когда она сама занята передачей кадра (способность обнаружить столкновение). Ограничение на минимальную длину кадра, налагаемое из-за задержек в сегментах и необходимости детектирования столкновений, приводит к снижению эффективности, так как для передачи одного байта при нажатии клавиши будет передаваться 64-байтный кадр. Задержка отклика при возникновении в системе определенных условий в 802.3 непредсказуема и может варьироваться от миллисекунды до десятка секунд в зависимости от ситуации в сети. Здесь обычно не предусмотрено приоритетов, а при высоких загрузках возможно снижение пропускной способности сети до нуля. Следует заметить, что если в сети, построенной с привлечением скрученных пар, используются только переключатели (с полным дуплексом), столкновения практически исключены, но это сохраняет неопределенности времени доступа и доставки, так как время пребывания кадра в буферах (очередях) может варьироваться в весьма широких пределах.

Сеть 802.4 (маркерная шина) использует стандартный телевизионный кабель и соответствующее стандартное интерфейсное оборудование, выпускаемое многими производителями. Степень неопределенности доступа к сетевой среде здесь меньше, чем в случае 802.3, хотя повторные потери маркера в критические моменты могут создать серьезные проблемы. Здесь поддерживаются приоритеты, и по этой причине эти сети более удобны для задач реального времени. Сеть может быть сконфигурирована для гарантированного пропускания определенного трафика, например цифрового голоса или мультимедиа. 802.4 имеет хорошую нагрузочную характеристику и неплохо работает при высоких загрузках. Широкополосный кабель в данном случае может поддерживать несколько каналов не только для данных, но и для речи или телевидения. Протокол 802.4 крайне сложен, задержка доступа к сетевой среде определяется приходом маркера. Станция вынуждена ждать маркер даже в условиях, когда других станций нет в наличии. Протокол мало приспособлен для работы с оптическим волокном.

Протокол 802.5 (маркерное кольцо) использует соединение "точка-точка" и работает исключительно с цифровыми данными. В качестве физической среды можно использовать что угодно: скрученную пару, коаксиальный кабель или оптическое волокно. Понятно, что самым дешевым решением для ограниченных расстояний является скрученная пара. Это одна из немногих сетей, где возможно автоматическое обнаружение и парирование обрывов связи. Так же как и в 802.4, она поддерживает приоритетное обслуживание, но станция, прежде чем получит доступ к сетевой среде, должна дождаться свободного маркера. Здесь допустимы кадры минимально достаточной длины. Но допустимы и сколь угодно длинные кадры, размер которых ограничивается только регламентным временем удержания маркера. Нагрузочная характеристика этой сети близка к идеальной. Уязвимой частью сети 802.5 является центральный монитор. Ниже представлена сравнительная таблица рассмотренных трех протоколов (табл. 12.3).

Таблица 12.3. Характеристики сетей 802.3, 802.4 и 802.5
Свойства802.3802.4802.5
Простота протокола+--
Задержка доступа при малой загрузкеНулеваяОжидание маркераОжидание маркера
Передача короткого кадранетдада
Автоматическое обнаружение и парирование обрыва кабелянетнетда
Возможность длинных кадровMTUMTUОграничено только временем удержания маркера
Работа при высоких загрузкахплохаяхорошаявеликолепная
Наличие приоритетов-++
Наличие единого центра управления (и его уязвимость)нетнетда

Следующий уровень после локальных сетей (LAN) занимают районные сети университетов, научных центров, крупных фирм и т.д. ( MAN – Metropolitan Area Network). Для реализации таких сетей применяются соответствующие сетевые протоколы – SDH (Synchronous Digital Hierarchy), DQDB (Distributed Queue Dual Bus – распределенная очередь и двойная шина) и т.д. Оба протокола пригодны для организации опорных сетей, объединяющих локальные сети. Наметилась тенденция применения технологии 10GE для сетей уровня МАN.

Сети с двойной шиной и распределенной очередью DQDB используют алгоритм доступа, называемый распределенным переключением пакетов ( QPSX — Queued-Packet Distributed-Switch). Здесь используется две несвязанные однонаправленные шины, сформированные из цепочки соединений "точка-точка". Описание работы сети содержится в документе IEEE 802.6. Пропускная способность сети составляет 150 Мбит/с (планируется 600 Мбит/с), максимально возможная длина сети — 160 км. Максимальное число узлов равно 512. В качестве транспортной среды можно использовать одно- и мультимодовое оптическое волокно (длина волны 1300 нм). Средняя частота ошибок (BER) составляет 10-9. По сетям DQDB пересылаются, так же, как и по ATM-каналам, ячейки фиксированного размера (L = 53 байта). Формат поля данных совместим с некоторыми типами AAL.

Ячейка DQDB отличается от ячейки ATM тем, что не содержит поля VPI (идентификатор виртуального пути), а поле VCI имеет на 4 бита больше. Упрощенная схема подключения узлов к сети показана на рис. 12.10. Шины А и Б служат для передачи ячеек в противоположных направлениях. Если станция намерена передать ячейку по шине Б, она должна выполнить резервирование заранее на шине А. Каждый из узлов подключен к обеим шинам. По каждой из шин всегда циркулирует фиксированное число контейнеров. Содержимое контейнеров может передаваться с одной шины на другую.



Рис. 12.10. 

Для опорных сетей (LAN и MAN) в настоящее время разрабатывается новый стандарт — IEEE 802.17. В этой сети предусматривается гибкая система управления трафиком.

Совсем еще недавно почти все учебники и просто книги о сетях начинались с изложения 7-уровневой модели построения сетей ISO (International Standardization Organization). Этой модели уже не один десяток лет. В основе модели лежит вполне логичный принцип: форматы данных и протоколы взаимодействия для перехода с уровня N на N+1 и обратно должны быть идентичными. Это может существенно упростить программирование и гарантирует совместимость различных программных продуктов. На первых порах (при разработке ISDN, X25 и пр.) этот принцип соблюдался — во всяком случае, для первых трех уровней (физического, канального и сетевого, см. http://book.itep.ru/4/43/iso_431.htm, а также описание сети ISDN). Предполагалось, что со временем протокольные требования будут реализованы аппаратно для всех уровней кроме, может быть, прикладного. Разработчики стека протоколов TCP/IP вначале также пытались следовать этим рекомендациям. Но вскоре выяснилось, что слепое выполнение требований по межуровневым интерфейсам вызывает много функциональных ограничений. В стеке TCP/IP неформально используются понятия четырех уровней (L1-L4). Но здесь проследить аналогию можно лишь на физическом уровне L1, хотя и здесь возникают проблемы из-за протокольного многообразия оборудования. Некоторые виды оборудование уровня L2 могут фильтровать пакеты по IP-адресам (уровень L3) и даже по портам (уровень L4). Для оборудования L3, например маршрутизаторов, отбор по номеру порта становится практически общепринятым.

Сегодня трудно себе представить, как можно было бы реализовать, например, протокол MPLS или туннельные технологии в рамках 7-уровневой модели.

Исторически первыми появились крупные сети типа ISDN/X.25, одно время они конкурировали с TCP/IP, и даже обсуждалось, какие из них лучше. Сегодня ISDN сохраняет за собой нишу телефонии, но полагаю, она постепенно сужается, теснимая IP-телефонией.

Лекция 13. Интегрированные сети ISDN и ATM

Модель сети ISDN, точки U, S и Т. Интерфейсы NT1 и NT2. Синхронная и асинхронная передача данных. Адресация в ISDN и ATM, процедура setup, SAPI и TEI. Услуги, предлагаемые ISDN.

Название ISDN (Integrated System Digital Network — интегрированные цифровые сети) было предложено группой XI CCITT в 1971 году (cм. Боккер П., ISDN. Цифровая сеть с интеграцией услуг. Понятия, методы, системы. Радио и связь, М., 1991). Основное назначение ISDN — передача 64 Кбит/с по 4-килогерцной проводной линии и обеспечение интегрированных телекоммуникационных услуг (телефон, факс, данные и пр.). Использование для этой цели телефонных проводов имеет два преимущества: они уже существуют и могут использоваться для подачи питания на терминальное оборудование. Выбор 64Кбит/c-стандарта был определен простыми соображениями.

При 4-килогерцной полосе, согласно теореме Найквиста-Котельникова, частота стробирований должна быть не ниже 8 КГц. Минимальное число двоичных разрядов для представления результатов стробирования голосового сигнала при условии логарифмического преобразования равна 8. Таким образом, в результате перемножения этих чисел и получается значение полосы B-канала ISDN , равная 64 Кбит/c.

Базовая конфигурация каналов имеет вид 2*B + D = 2*64 +16 = 144Кбит/с. Помимо B-каналов и вспомогательного D-канала (16 Кбит/с) ISDN может предложить и другие каналы с большей пропускной способностью, канал Н0 с полосой 384 Кбит/с, Н11 — 1536 и Н12 — 1920 Кбит/c (реальные скорости цифрового потока). Для первичных каналов (1544 и 2048 Кбит/с) полоса D-канала может составлять 64 Кбит/с (см. http://book.itep.ru/4/43/isdn_433.htm).

Идея интегрирования услуг остается актуальной спустя десятилетия после выработки стандарта ISDN. Меняется только перечень и характер сервисов. Но следует понимать, что интеграция новых услуг потребует формирования нового протокола.

ISDN предполагает, что по телекоммуникационным каналам передаются цифровые коды, следовательно, аналоговые сигналы при телефонной или факсимильной связи должны быть преобразованы соответствующим образом, прежде чем их можно будет передать. При передаче цифровых сигналов используется кодово-импульсная модуляция, впервые примененная во время второй мировой войны. Широкое внедрение этого метода передачи относится к началу 1960-х годов.

Чтобы обеспечить пропускную способность 64 Кбит/с по имеющимся телефонным проводам, не нарушая теоремы Шеннона, надо ставить ретрансляторы на расстоянии 2 км друг от друга (ведь ослабление сигнала в стандартном кабеле составляет около 15 дБ/км).

Унификация скоростей передачи данных в ISDN способствует уменьшению объема оборудования, так как исключает необходимость межсетевых интерфейсов, согласующих быстродействие отдельных частей сети. Одной из наиболее массовых приложений ISDN является цифровая телефония. Человеческий голос можно удовлетворительно закодировать, используя лишь 6 бит, но вариации уровня входного сигнала приводят к тому, что нужно не менее 8 бит (с учетом логарифмической характеристики аналого-цифрового преобразователя — АЦП). Значения кодов, полученных в результате последовательных преобразований звука человеческой речи, сильно коррелированны, а это открывает дополнительные возможности для сжатия информации.

Сети ISDN дали толчок развитию сетевой технологии. На очереди — интеграция Интернета с кабельным телевидением, а там, глядишь, появятся квартирные сети, объединяющие телевизор, ЭВМ, бытовую технику, телефон, охранную и противопожарную системы и т.д. Это неудивительно, когда цена хорошего телевизора почти сравнялась с ценой персональной ЭВМ, а многие бытовые устройства имеют встроенные процессоры. Но должно быть решено несколько проблем. Сейчас телевизионные кабели имеют полосу пропускания, достаточную для передачи как аналогового (заведомо более 20 каналов), так и цифрового телевидения. Современные телевизионные системы обеспечивают порядка 50 каналов одновременно, что накладывает весьма жесткие требования на кабельную разводку между локальным распределительным узлом и оконечными пользователями. Распределительные узлы сегодня объединяются с помощью ATM -каналов (~150 Мбит/с, широкополосный ISDN ), что уже сегодня недостаточно. По мере удешевления можно ожидать, что в ближайшем будущем дома конечных пользователей будут оборудованы оптоволоконными кабелями, и это изменит ситуацию радикально (не нужен не только телевизионный, но и телефонный кабель). Попутно это решит проблему видеотелефона и широкополосного Интернета.

Так как первоначально ISDN создавалась для передачи голоса и изображения (факс), начнем именно с этих приложений.

Для иллюстрации взаимодействия различных частей ISDN рассмотрим рис. 13.1.

Традиционная схема сети ISDN


Рис. 13.1.  Традиционная схема сети ISDN

Network termination 1 (NT-1) представляет собой прибор, который преобразует 2-проводную ISDN -линию (от телефонной компании), называемую U-интерфейсом, в 8-проводный S/T-интерфейс. Как правило, к точке Т может быть подключено только одно оконечное устройство. NT2 же предназначено для подключения большого числа разнотипного оборудования (функции NT1 и NT2 могут быть совмещены в одном приборе). Допускается объединение интерфейсов NT2 и TA; возможна работа нескольких NT1 с одним NT2. Интерфейс NT2 может обеспечивать внутриофисный трафик, образуя шину, к которой может подключаться несколько терминалов. Терминальное оборудование (TE) в режиме "точка-точка" может быть подключено к системе кабелем длиной до 1 км, реальным ограничением служит ослабление в 6 дБ на частоте 96 КГц. В режиме "точка-мультиточка" (до 8 терминалов) подсоединение производится параллельно, но длина шины в этом случае не должна превышать 200 м (по временным ограничениям). Оборудование, следующее рекомендациям ISDN, может подключаться в точках S и T.

Точки S и T обеспечивают доступ к канальным услугам ISDN. В точке R (на рис. 13.1 TA — терминальный адаптер), в зависимости от типа терминального адаптера, доступны некоторые другие стандартные CCITT-услуги (X.21 или X.25, V.35, RS-232 или V.24). Входы TE1 и TE2 предназначены для удаленных телекоммуникационных услуг. Все виды услуг могут быть разделены на три группы по форме доступа к 64 Кбит/с:

  1. услуги, для которых меняется лишь скорость исполнения (например, файловый обмен или электронная почта);
  2. принципиально новые услуги, которые недоступны при низких скоростях обмена, например, видеотекст;
  3. услуги, абсолютно невозможные при скоростях ниже 64 Кбит/с. Например, видеотелефон или высококачественная передача звука (G.722; ADPCM — Adaptive Differential Pulse Code Modulation). Телефония часто использует каналы со скоростью передачи 32 Кбит/с (G.721).

Функционально здесь могут быть реализованы следующие классы услуг (помимо названных, существуют и некоторые другие разновидности услуг):

  1. цифровая телефония:
  2. служба коммутации каналов;
  3. коммутация пакетов (Х.25);
  4. служба данных Frame Relay;
  5. e-mail;
  6. цифровое видео;
  7. teletext;
  8. факсимильная связь (группа VI);
  9. ускоренный набор номера;
  10. служба идентификации вызывающей стороны;
  11. конференц-связь (групповые номера);
  12. переадресация вызова.

Эталонная конфигурация системы передачи и приема сигналов, а также подачи питания на терминальное оборудование, показана на рис. 13.2. Дополнительная пара проводов питания является в настоящее время опционной.

Эталонная конфигурация системы передачи и приема сигналов, а также подачи питания на терминальное оборудование (*) Относится к полярности кадровых сигналов. (**) Относится к полярности питающего напряжения.


Рис. 13.2.  Эталонная конфигурация системы передачи и приема сигналов, а также подачи питания на терминальное оборудование (*) Относится к полярности кадровых сигналов. (**) Относится к полярности питающего напряжения.

Процессом передачи информации между узлами управляет сигнальная система общего канала ( CCS — Common Channel Signaling System). В ISDN используется 7-я сигнальная система CCITT (рис. 13.1). Ее уровни сходны, но не идентичны OSI. На нижних уровнях используется MTP (Message Transfer Part — система передачи сообщений), задачей которой является надежная пересылка сигнальных пакетов по сети. Пользовательские (прикладные) сообщения иерархически расположены над MTP, которая имеет три уровня.

Формат кадра первого уровня показан на рис. 13.3, он содержит 48 бит и имеет длительность 250 мкс. Физическая скорость обмена составляет 192 Кбит/с (~5,2 мкс на бит). Кадр включает в себя несколько l -битов, которые служат для балансировки цуга по постоянному току. Для направления NT —> TE (связь сетевого оборудования с терминальным) первыми битами кадра являются F/L -пары (см. начало и конец диаграмм; временная ось направлена слева направо), нарушающие AMI-правила (чередование полярности сигнала при передаче логической единицы). Раз чередование нарушено, до завершения кадра должно присутствовать еще одно такое нарушение. Бит FA реализует это второе нарушение чередования полярности. A -бит используется в процедуре активации для того, чтобы сообщить терминалу о том, что система синхронизована. Активация может проводиться по инициативе терминала или сетевого оборудования, а деактивация может быть выполнена только сетью. Помимо B1, B2 (байты выделены стрелками) и D-каналов, формируются также виртуальные E- и A-каналы. E-канал служит для передачи эха от NT1 к TE в D-канале. Существует 10-битовое смещение (задержка) между D -битом, посылаемым терминалом, и E -битом эхо (отмечено стрелкой на рис. 13.3). M -бит используется для выделения мультифреймов (эта услуга недоступна в Европе). M -бит идентифицирует некоторые FA -биты, которые могут быть изъяты для того, чтобы сформировать канал управления (например, при проведении видеоконференций). S -бит является резервным. Назначения различных вспомогательных каналов собраны в таблице А.

Формат кадра первого уровня


Рис. 13.3.  Формат кадра первого уровня

Таблица A.
A4-килогерцный аналоговый телефонный канал
BЦифровой ИКМ-канал для голоса и данных с полосой 64 Кбит/c
CЦифровой канал с полосой 8 или 16 Кбит/c
DЦифровой канал для внедиапазонного управления с полосой 16 Кбит/c
EЦифровой канал ISDN для внутреннего управления с полосой 64 Кбит/c
HЦифровой канал с полосой 384, 1536 или 1920 Кбит/c

Следует обратить внимание на то, что базовый ISDN -канал содержит два В-канала по 64 Кбит/c и один D-канал с 16 Кбит/c. Первичный же ISDN -канал содержит 24 или 30 стандартных В-каналов и один D-канал с полосой 64 Кбит/c.

На первом уровне протокола разрешаются конфликты доступа терминалов к D-каналу. Активация и деактивация осуществляется сигналом <info>. info=0 означает отсутствие сигнала в линии. info=1 передает запрос активации от терминала к NT. info=2 передается от NT к TE с целью запроса активации или указывает, что NT активировано вследствие появления info=1.

info=3 и info=4 представляют собой кадры, содержащие оперативную информацию, передаваемую из TE и NT соответственно. NT активирует местную передающую систему, которая информирует коммутатор о начале работы пользователя. Все терминалы активируются одновременно.

Второй уровень решает проблему надежной передачи сообщений по схеме "точка-точка". К каждому сообщению добавляется 16 контрольных чисел, включающих в себя идентификатор сообщения. Этот уровень описывает HDLC -процедуры (High Level Data Link Communication), которые обычно называются процедурами доступа для D-канала ( LAP — Link Access Procedure). LAP D базировался первоначально на рекомендациях X.25 слоя 2, но в настоящее время процедуры LAP D функционально обогатились (разрешено много LAP для одного и того же физического соединения, что позволяет 8 терминалам использовать один D-канал ). Уровень 2 должен передать уровню 3 сообщения, лишенные ошибок. На уровне 2 решается проблема повторной передачи пакетов в случае их потери или доставки с ошибкой. Кадры на уровне 2 представляют собой последовательности 8-битных элементов. Формат кадра второго уровня показан на рис. 13.4.

Структура кадра для слоя 2


Рис. 13.4.  Структура кадра для слоя 2

Стартовый и завершающие флаги передаются так, что к любым 5 единицам подряд добавляется нуль (чтобы избежать имитации сигнатуры в других, в том числе информационных полях). Принимающая сторона эти нули убирает. FCS вычисляется по методике CRC.

Каждый кадр начинается и завершается одной и той же последовательностью (сигнатура начала/конца кадра). Размер управляющего поля зависит от типа кадра (1 или 2 октета). Информационные элементы присутствуют только в кадрах, содержащих данные 3-го уровня. Формат двухбайтного поля адреса для уровня 2 показан на рис. 13.4. Адрес имеет лишь локальное значение и известен только участникам процедуры обмена. Формат байтов адреса показан на рис. 13.5.

Адресное поле кадра слоя 2


Рис. 13.5.  Адресное поле кадра слоя 2

SAPI =0 — запрос соединения по схеме коммутации каналов;

SAPI =16 — переключение пакетов согласно протоколу X.25;

SAPI =63 — административные или управленческие функции (опционно). Точка доступа к услугам представляет собой виртуальный интерфейс между слоем 2 и 3 (см. рис. 13.6).

Таблица A.1.
EAбит расширения адресного поля
C/Rбит поля "команда/отклик"
SAPI service access point identifier — идентификатор точки доступа, служит для описания характера реализуемого сервиса
TEI Terminal endpoint identifier — идентификатор точки подключения терминала

Виртуальный интерфейс между слоями 2 и 3


Рис. 13.6.  Виртуальный интерфейс между слоями 2 и 3

Как видно из рисунка, в системе могут использоваться и идентичные коды TEI, если они относятся к разным видам услуг (уникальными должны быть лишь комбинации SAPI - TEI ).

Форматы полей управления для кадров различных модификаций представлены на рисунках 13.7, 13.8 и 13.9.

Формат поля управления информационных кадров


Рис. 13.7.  Формат поля управления информационных кадров

N(S) — номер кадра, посылаемого отправителем;

N(R) — номер кадра, получаемого отправителем;

P/F — флаг опроса, если кадр является командой, или флаг окончания, в случае отклика.

Формат поля управления управляющих кадров


Рис. 13.8.  Формат поля управления управляющих кадров

S — разряды кода управляющей функции;

X — зарезервировано, должно быть равно нулю.

Формат поля управления ненумерованных кадров


Рис. 13.9.  Формат поля управления ненумерованных кадров

M — бит модификатора функции (см. таблицу 4.3.1.2 по адресу http://book.itep.ru/4/43/isdn_433.htm).

Мультиплексирование на уровне 2 осуществляется за счет использования отдельного адреса для каждого LAP (Link Access Procedure) в системе. Адрес содержит два байта и определяет приемник командного кадра и адрес передатчика кадра-отклика. SAPI применяется для идентификации типа услуг. Если наряду с цифровым телефоном происходит обмен данными, то эти два терминала будут подключены к разным типам сервиса и, вообще говоря, к разным сетям. Для каждого вида услуг фиксируется определенный код SAPI. TEI (Terminal Endpoint Identifier) обычно имеет определенное значение для каждого из терминалов пользователя.

Комбинация SAPI и TEI однозначно описывает LAP и определяет адрес второго уровня. Так как в сети не может быть двух идентичных TEI, коды TEI распределяются следующим образом (таблица A.2.):

Таблица A.2.
0-63коды TEI, присваиваемые пользователем
64-126коды TEI, присваиваемые автоматически (сетью)
127глобальный TEI (для широковещательных целей)

TEI с кодом в диапазоне 0-63 не нуждаются в диалоге с сетью в процессе установления связи на уровне 2. Но пользователь должен следить сам, чтобы в системе не было двух TEI с идентичными кодами. Терминалы с TEI в диапазоне 64-126 должны договариваться с сетью о TEI при установлении связи на уровне 2. Широковещательный TEI =127 служит для обращения ко всем терминалам, имеющим тот же код SAPI. Прежде чем предложить услуги уровню 3, уровень 2 должен запустить LAP. Это производится путем обмена пакетами между драйвером терминала уровня 2 и соответствующим сетевым драйвером. Предварительно должен быть активирован интерфейс уровня 1. До установления LAP возможен обмен только ненумерованными кадрами.

Этот процесс включает в себя передачу команды SET Asynchronous Balanced Mode Extended ( SABME ), адресат при этом должен откликнуться посылкой ненумерованного отклика ( UA — Unnumbered Acknowledgment). После установления канала уровень 2 может передавать информацию для уровня 3. Ниже (рис. 13.10) приведена последовательность обмена кадрами на уровне 2:

Последовательность обмена кадрами на уровне 2


Рис. 13.10.  Последовательность обмена кадрами на уровне 2

Получение каждого информационного кадра (Iframe) должно быть в конце концов подтверждено (прислан пакет RR; см. таблицу 13.1). Число Iframe, которое может быть послано, не дожидаясь подтверждения получения, может лежать в пределах 1-127 (размер окна). В случае телефонии это число равно 1. Если ресурс окна исчерпан, партнер вынужден задержать отправку очередного пакета до подтверждения получения посланного ранее кадра (RR). Для выявления потери кадров используется таймер. Таймер запускается всякий раз при посылке командного кадра и останавливается при получении подтверждения. Этого таймера достаточно, чтобы проконтролировать доставку как команды, так и отклика. Если произошел тайм-аут, нельзя определить, какой из этих двух кадров потерян. Кадр, поврежденный на уровне 1, будет принят с неверной FCS (Frame Check Sequence) и по истечении времени, заданного таймером, будет произведена посылка командного кадра с битом poll=1. Партнер при этом вынужден прислать значение системной переменной, характеризующей ситуацию. По этой переменной можно судить, был ли получен исходный кадр.

Таблица 13.1.
Кодировка байтов
КомандаОтклик87654321
Информационные кадры
iframeN(S)0
IframeN(R)P/F
Кадры управления (supervisory)
RRRR00000001
RRRRN(R)P/F
RNRRNR00000101
RNRRNRN(R)P/F
REJREJ00001001
REJREJN(R)P/F
Ненумерованные кадры
SABME011p1111
DM000f1111
UI000p0011
DISC010p0011
UA011f0011
FRMR100f0111
P/Fpoll=1 для команды, в противном случае — конечный бит для отклика.
Iframe(Information Frame) Информационный кадр
DISC(Disconnect) Отсоединить
RR(Receiver Ready) Приемник готов
UA(Unnumbered Acknowledge) Ненумерованное подтверждение
RNR(Receiver Not Ready) Приемник не готов
FRMR(Frame Reject) Кадр отвергнут
REJ(Reject) Отказ
DM(Disconnect Mode) Режим отключения
SABME(SET Asynchronous Balanced Mode Extended) Установка расширенного асинхронного сбалансированного режима
UI(Unnumbered Information) Ненумерованная информация

Таким образом, можно идентифицировать факт потери информационного кадра (нужна ретрансмиссия) или отклика на него. После трех ретрансмиссий считается, что канал разорван, и предпринимается попытка его восстановить. FCS получается путем деления последовательности бит, начиная с адреса и кончая (но не включая) началом FCS, на образующий полином x16+x12+x5+1. Практически это делается с использованием сдвигового регистра (рис. 13.11), который в исходном состоянии устанавливается в единичное состояние. В конечном результате в регистре оказывается код остатка от деления. Дополнение по модулю 1 этого остатка и есть FCS.

Схема вычисления контрольной суммы (FCS/CRC)


Рис. 13.11.  Схема вычисления контрольной суммы (FCS/CRC)

Другой возможной ошибкой является получение I-кадра с неверным номером N(S). Это возможно, когда LAP работает при ширине окна более 1. Если потерян кадр с номером N(s)=k, принимающая сторона не должна посылать подтверждение приема кадра k+1. Отклик при этом имеет тип REJ (см. таблицу 13.1) с N(R)=k+1. Это укажет передающей стороне, что все кадры до k получены, но необходимо возобновить передачу, начиная с кадра k. При выявлении ошибки в N(R) связь прерывается, реинициализируются переменные состояния передающей и принимающей сторон, после чего канал восстанавливается и обмен возобновляется с самого начала.

Сигнал RNR (получатель не готов) применяется для запрета пересылки пакетов партнеру на уровне 2 и может использоваться при реализации приоритетных услуг. Другим пакетом, который специфицирован на уровне 2, является кадр FRMR (Frame Reject). Этот кадр может быть получен объектом второго уровня, но не может быть послан. При получении этого кадра система сбрасывается в исходное состояние. После завершения процедуры обмена разрыв канала производится путем посылки кадров DISC (disconnect) и отклика UA (Unnumbered Acknowledgment), с этого момента обмен кадрами I-типа невозможен. Кадр DM (Disconnect Mode) может выполнять те же функции, что и UA. Он используется в качестве отклика на SABME, если слой 2 не может установить связь, или отклика на DISC, если связь уже разорвана.

Для управления и контроля за выделяемыми идентификаторами TEI предназначен специальный драйвер, который имеет возможность выделять и удалять используемые TEI. Так как работа с TEI должна выполняться вне зависимости от состояния уровня 2, все TEI -сообщения являются ненумерованными ( UI ) и не требуют отклика. Надежность достигается путем многократной пересылки пакетов. Пока терминалу не присвоен TEI (Terminal Endpoint Identifier), используется широковещательный метод обмена. Все терминалы пользователя должны воспринимать любые управляющие кадры. Кадры управления в процессе присвоения TEI терминалу рассылаются широковещательно.

Третий уровень X.25 служит для доставки управляющих сообщений даже в случае отказа сети, именно здесь выполняется реконфигурация маршрута, если это необходимо. Сигнальный пакет 3-го уровня имеет формат (рис. 13.12):

Формат сигнального пакета уровня 3


Рис. 13.12.  Формат сигнального пакета уровня 3

Эти пакеты следуют от терминала к коммутатору и наоборот. Первый октет (поле протокольный дискриминатор ) дает D-каналу в будущем возможность поддержки нескольких протоколов. Приведенный код соответствует стандартному управляющему запросу пользователя. Третий октет (поле код запроса — call reference value) используется для идентификации запроса вне зависимости от типа коммуникационного канала, где этот запрос может быть реализован. Четвертый байт характеризует назначение пакета (например, Setup — запрос установления канала). Возможные типы сообщений перечислены в таблице 13.2. Длина сообщения зависит от его типа. Стандарт не регламентирует содержания полей, следующих за полем тип сообщения, и они могут использоваться по усмотрению пользователя для расширения функциональных возможностей системы.

Таблица 13.2. Коды типов сообщений
87654321
00000000Переход к определенным типам сообщений:
000Сообщения о состоянии:
00001Alerting (оповещение)
00010Call proceeding (состояние запроса)
00011Progress (прогресс)
00101Setup (начальная установка)
00111Connect (соединение)
01101Setup acknowledge (подтверждение начальной установки)
01111Connect acknowledge (подтверждение соединения)
001Сообщения фазы запроса информации:
00000User information (пользовательские данные)
00001Suspend reject (отложенный отказ)
00010Resume reject (отказ возобновления)
00101Suspend (откладывание выполнения)
00110Resume (возобновление)
01101Suspend acknowledge (подтверждение откладывания)
01110Resume acknowledge (подтверждение возобновления)
010Сообщения об устранении дефекта:
00101Disconnect (отсоединение)
00110Restart (повторный старт)
01101Release (освобождение)
01110Restart acknowledge (подтверждение повторного старта)
11010Release complete (освобождения завершено)
011Прочие сообщения:
00000Segment (сегмент)
00010Facility (возможность)
01110Notify (обращение внимания)
10101Status inquiry (запрос состояния)
11001Congestion control (управление перегрузкой)
11011Information (информация)
11101Status (состояние)
* Цифрами в верхней части таблицы пронумерованы биты кодов

Сигнальная система ISDN позволяет пользователю уже на фазе формирования канала с помощью запроса setup сформулировать требования к каналу, задав значение BC (Bearer Capability), а также HLC (High Layer Compatibility) и LLC (Low Layer Compatibility), характеризуя необходимый вид услуг. При этом проверяется совместимость запрашиваемых скоростей и имеющихся в распоряжении возможностей. HLC определяет тип сервиса или оборудования (телефон, факс группы 3 или 4, видеотекст), а LLC — быстродействие терминала пользователя, механизм адаптации к скорости передачи данных, контроль четности, синхронный/асинхронный интерфейс и т.д. BC может принимать значения (например, "BC=speech") (таблица 13.2.1.):

Таблица 13.2.1.
BC=speechОзначает, что используется обычная для этого вида услуг маршрутизация — может быть задействовано не более двух спутников, (G.711)
3.1khz audioНе должно использоваться эхо-подавление и dcme — (Digital Circuit Multiplication Equipment — оборудование уплотнения), необходим /a-адаптер
7 khzВысококачественная телефония (рекомендации CCITT G.722/G.725), требует 64 Кбит/с
64kbit/s unrestrictedСкоростной информационный обмен

Услуги типа speech или 3.1khz audio возможны и через общественную коммутируемую телефонную сеть (PSTN), остальные из числа перечисленных услуг требуют 64-килобитного цифрового канала. Помимо названных услуг, существуют и другие, например видеотелефония, видеоконференции и пр., список этот постоянно расширяется. При реализации 7КГц-телефонии должны быть выполнены следующие требования:

Вызываемый партнер получает setup-сообщение через широковещательное обращение. Все терминалы, соединенные с NT1, могут анализировать setup-сообщение с тем, чтобы определить, соответствуют ли они вызывающей стороне. Соответствие определяется по возможностям канала и по совместимости информационных элементов нижнего уровня. Если терминал соответствует требованиям запроса, он посылает сети сообщение alerting (оповещение). В то же время, если необходимо, терминал должен сформировать локальный сигнал вызова (например, звонок). После получения всей необходимой информации сеть выдает сообщение "call proceeding", которое указывает на то, что начата установка связи с объектом вызова. Когда терминал обнаружил, что на запрос получен отклик, он переадресует connect-сообщение сети. Сеть регистрирует запрос и выдает команду терминалу соединиться с соответствующим B-каналом, послав пакет connect acknowledge, содержащий код B-канала. В любой момент времени к В-каналу может иметь доступ только один терминал. Пользователь может отменить запрос в любое время, послав три сообщения: disconnect, release и release complete.

Существует два механизма обращения к заданному терминалу. Первый использует вспомогательную службу DDI (Direct Dialing-In), которая в случае реализации обычного доступа к ISDN называется MSN (Multiple Subscriber Number). В DDI и MSN номер сети применяется для целей маршрутизации в пределах локальной сети пользователя. Каждому терминалу в сети должен быть присвоен уникальный MSN-номер. Именно этот номер используется для идентификации при setup.процедуре.

Второй механизм адресации к заданному терминалу базируется на субадресации. В этом варианте дополнительная адресная информация передается от источника запроса к адресату. Этот адрес не является частью ISDN -номера, который применяется для целей маршрутизации. Этот адрес может быть применен для обращения к некоторому процессу внутри терминала (не следует забывать, терминалом может быть ЭВМ) или к приложениям. Каждый терминал, подсоединенный к пассивной шине, нуждается в присвоении ему субадреса.

Принципиальное различие между DDI/MSN- и SUB-методами адресации заключается в том, что для DDI/MSN адрес является частью ISDN -номера, в то время как для SUB это не так.

В случае функциональной сигнальной процедуры терминал должен знать все о вспомогательном виде услуг и хранить всю необходимую информацию о них. Функциональный протокол использует информационные элементы facility. В таблице 13.3 приведен перечень дополнительных услуг, предоставляемых ISDN и поддерживаемых функциональным протоколом.

Таблица 13.3. Дополнительные услуги сети ISDN

Реально это лишь ядро списка, разные сети могут предоставлять и многие другие услуги.

При установлении телефонного канала используется сообщение TUP (Telephony User Part). В ISDN определены также сообщения ISUP (Integrated Services User Part), которые должны стать основой всех будущих разработок. Примерами ISUP могут служить следующие сообщения (таблица 13.3.1.).

Таблица 13.3.1.
IAM(Initial Address Message) используется для инициализации канала, передачи маршрутной информации и параметров запроса
SAM(Subsequent Address Message) посылается вслед за iam, когда еобходимо передать дополнительную информацию о предстоящей сессии
INR(Information Request Message) посылается коммутатором для получения информации по текущей сессии
INF(Information Message) передает информацию, запрошенную inr
ACM(Address Complete Message) подтверждает получение всей необходимой маршрутной информации
CPG(Call Progress Message) посылается адресатом вызывающей стороне и информирует о том, что имело место какое-то событие
ANM(Answer Message) подтверждает получение запроса, используется для начала измерения времени обработки запроса, для контроля информационного потока и доступа пользователей
FAR(Facility Request Message) посылается одним коммутатором другому для активации его состояния
FAA(Facility Accepted Message) является позитивным откликом на запрос far
FRJ(Facility Reject Message) отклик на запрос far, если он не может быть выполнен
USR(User-to-user Information Message) используется для обмена информацией между пользователями (помимо сигнальной информации)
CMR(Call Modification Request Message) сообщение, которое может быть послано в любом направлении, для модификации сессии, например, для перехода от передачи данных к передаче голоса
CMC(Call Modification Completed Message) сообщение-отклик на запрос CMR, подтверждающее его исполнение
CMRJ(Call Modification Reject Message) сообщение-отклик на запрос cmr, оповещающее об отклонении этого запроса
REL(Release Message) сообщение, посылаемое в любом направлении и оповещающее о том, что система свободна и готова перейти в пассивное состояние при получении сообщения о завершении процедуры release.
RLC(Release Complete Message) — посылается в ответ на REL

В ISDN используются базовая ( B-канал, 64 Кбит/с) и первичная (1,544/2,048 Мбит/с) скорости передачи информации. Сигнальный D-канал формируется на основе 24-го временного домена (timeslot) в случае 1,544 Мбит/с и 16-го для 2,048 Мбит/с. Различие между базовой и первичной скоростями обмена заключается в следующем.

Для первичной скорости интерфейс многоточечного обмена в локальной сети пользователя не предусматривается; связь устанавливается между сетью и одним из PABX (Public Automatic Branch eXchange) или другим терминалом.

В случае первичной скорости отсутствуют какие-либо средства для деактивации связи с целью экономии энергии. Для пользователя желательно иметь доступ как к базовым, так и первичным каналам.

Для базовой скорости передачи работает сигнальная цифровая система доступа DASS (Digital Access Signaling System). Формат кадра при этом имеет вид (DASS2/DPNSS — Digital Private Network Signaling System):

DASS2/DPNSS-кадр уровня 2


Рис. 13.13.  DASS2/DPNSS-кадр уровня 2

Этот формат не отличается от общепринятого для уровня 2 ISDN, за исключением числа байт управления (см. рис. 13.13 и 13.14), что допускается регламентирующими документами. Использование местной ISDN -АТС открывает дополнительные возможности. Помимо высококачественной локальной связи, появляются коллективные (групповые) номера, что снимает ограничение на число пользователей, подключенных к узлу через обычные аналоговые модемы. Все пользовательские модемы дозваниваются по одному и тому же номеру, а коммутатор выполняет функцию пакетного мультиплексора. Емкость таких АТС легко наращивается, отдельные АТС могут объединяться друг с другом.

Доступ к программам обработки пакетов возможен через B- или D-каналы. В зависимости от вида приложения доступ через D-канал имеет определенные преимущества. D-канал, в отличие от B-канала, принципиально не может быть заблокирован. Возможна работа одновременно с 8-ю терминалами, подключенными к пассивной ISDN -шине. Кроме того, работа с D-каналом оставляет B-канал свободным для задач, которые не могут быть решены через D из-за его малого быстродействия (16 Кбит/с). (А согласно рекомендациям LAPD быстродействие D-канала не может быть увеличено.) К недостаткам использования D-канала можно отнести возможное увеличение задержек из-за низкого быстродействия.

Дальнейшим развитием идеологии ISDN явились сети АТМ (широкополосное ISDN ). При разработке этого стандарта пришлось делать нелегкий выбор между гибкостью передачи голоса, которая требует коротких пакетов, и эффективностью передачи данных, где нужно низкое значение отношения длин заголовка и поля данных. Выбор был сделан в пользу первого варианта, так как тогда АТМ предназначался в основном для транспортировки телефонных переговоров.

13.1. Протоколы сетей ATM

В настоящее время широко внедряются каналы с пропускной способностью 150,52 и 622,08 Мбит/с. Эти каналы, пригодные как для соединения локальных сетей, так и непосредственно для построения скоростных LAN, могут обеспечить любые современные телекоммуникационные услуги, кроме телевидения высокого разрешения. Предусмотрен стандарт и на скорость передачи 2,48832 Гбит/c. Так как время доставки для многих видов сетевых услуг реального времени является крайне важной характеристикой, АТМ находит широкое применение в телефонии, кабельном телевидении и других областях. Следует учитывать, что оцифрованный видеосигнал качества VHS требует 100 Мбит/с при отсутствии сжатия и 1,5-6 Мбит/c — при использовании сжатия. Кадр изображения 1000х1000 пикселей при 24 битах, характеризующих цвет, занимает 3 Мбайта. ATM справится с передачей такого кадра, с учетом накладных расходов (заголовок), за ~0,2 с. Понятно, что при использовании сжатия можно получить заметно большее быстродействие.

Это не значит, что доступны лишь указанные скорости: интерфейсы позволяют мультиплексировать большое число каналов с самыми разными скоростями обмена. Но мультиплексирование на таких частотах представляет собой значительную проблему. Определенные трудности создает то обстоятельство, что в ATM трудно реализовать обмен без установления соединения (аналог UDP в Интернете).

Протокол ATM (Asynchronous Transfer Mode; см. также Назаров А.Н., Симонов М.В. АТМ. Технология высокоскоростных сетей. М.: ЭКО-Трендз, 1998) является широкополосной версией ISDN, работает на скорости 150,52 Мбит/с с пакетом постоянной длины и минимальным заголовком. Слово "асинхронный" в названии означает, что тактовые генераторы передатчика и приемника не синхронизованы, а сами ячейки передаются и мультиплексируются по запросам. При мультиплексировании используется статистическая технология. Асинхронная передача не предполагает упорядочивания ячеек по каналам при пересылке. ATM поддерживает аппаратную и пакетную коммутации (см. также http://book.itep.ru/4/43/atm_435.htm).

Каждый пакет ATM имеет 53 байта (в англоязычной документации пакеты ATM носят название cell (ячейка), этот термин введен, чтобы отличить пакеты ATM от пакетов низкоскоростных каналов), из них 48 байт несут полезную информацию.

Ячейка АТМ в случае транспортировки голосовых данных соответствует 6 мс звучания.

Для выделения пакета из потока используются такие же, как в ISDN, разделительные байты (0x7E). Заголовок пакета содержит лишь 5 байт и предназначен главным образом для того, чтобы определить, принадлежит ли данный пакет определенному виртуальному каналу. Отсутствие контроля ошибок и повторной передачи на физическом уровне приводит к эффекту размножения ошибок. Если происходит ошибка в поле идентификатора виртуального пути или виртуального канала, то коммутатор может отправить ячейку другому получателю. Таким образом, один получатель не получит ячейку, а другой получит то, что ему не предназначалось.

ATM -коммутаторы используют входной порт и значение поля VPI / VCI входящего пакета в качестве индекса в таблице коммутации (crossconnect), из которой они получают номер выходного порта и выходного значения VPI / VCI.

Виртуальный канал в ATM формируется так же, как и в ISDN. Формально эта процедура не является частью ATM -протокола. Сначала здесь формируется сигнальная схема, для этого посылается запрос с VPI =0 и VCI =5. Если процедура завершилась успешно, можно начинать формирование виртуального канала. При создании канала могут использоваться 6 разновидностей сообщений:

Схема обмена сообщениями при установлении (и разрыве) виртуального соединения показана на рис. 13.14. Предполагается, что между ЭВМ-инициализатором и ЭВМ-адресатом находится два ATM -переключателя. Каждый из узлов по пути к месту назначения при получении запроса setup откликается, посылая сообщение "call proceeding". Адрес места назначения указывается в сообщении setup. В ATM используется три вида адресов. Первый адрес имеет 20 байт и структуру OSI-адреса. Первый байт указывает на вид адреса (один из трех). Байты 2 и 3 указывают на принадлежность стране, а байт 4 задает формат последующей части кода адреса, которая содержит 3 байта кода администрации (authority), 2 байта домена, 2 байта области и 6 байтов собственно адреса. Во втором формате байты 2 и 3 выделены для международных организаций, а не стран. Остальная часть адреса имеет тот же формат, что и в варианте 1. Третий формат является старой формой (CCITT E.164) 15-цифровых десятичных телефонных номеров ISDN. В ATM не специфицировано никакого алгоритма маршрутизации. Для выбора маршрута (от коммутатора к коммутатору) используется поле VCP. VCI применяется лишь на последнем шаге, когда ячейка посылается от переключателя к ЭВМ. Такой подход упрощает маршрутизацию отдельных ячеек, так как при этом анализируется 12-, а не 28-битовые коды. В каждом коммутаторе (переключателе) формируются специальные таблицы, которые решают проблему переадресации ячеек.

Обмен сообщениями при установлении и разрыве виртуального соединения


Рис. 13.14.  Обмен сообщениями при установлении и разрыве виртуального соединения

Следует обратить внимание на то, что виртуальный канал (circuit) и виртуальный проход (path) в данном контексте не тождественны. Виртуальный проход (маршрут) может содержать несколько виртуальных каналов. Виртуальные каналы всегда являются полностью дуплексными.

Сети ATM допускают создание мультикастных каналов. Такой канал имеет одного отправителя и много получателей (например, в случае многоканальных телефонных или видеоконференций). Первый канал формируется обычным путем, последующие участники сессии подключаются позднее путем посылки сообщения add party.

За видимую простоту ячеек приходится платить тем, что управляющая информация передается в общем информационном потоке. Высокая скорость передачи данных требует применения аппаратно реализованных маршрутных таблиц на каждом переключателе пакетов. На рис. 13.15 представлен формат заголовка пакета ATM. Заголовок обеспечивает два механизма маршрутизации пакетов:

Эти два субполя вместе образуют поле маршрута, которое занимает 24 бита.

Формат заголовка ATM-пакета (сетевой интерфейс пользователя — UNI


Рис. 13.15.  Формат заголовка ATM-пакета (сетевой интерфейс пользователя — UNI

Для интерфейса "сеть-сеть" ( NNI ) используется ячейка с несколько иным форматом заголовка. Там весь первый октет выделен для VPI, а поле GFC отсутствует (таблица 13.3.1.).

Таблица 13.3.1.
GFCGeneric Flow Control (4 бита, смотри описание пакетов ISDN ) — общее управление потоком
VPI Virtual Path Identifier (8 бит, служит для целей маршрутизации) — идентификатор виртуального пути
VCI Virtual Call Identifier (16 бит, служит для целей маршрутизации) — идентификатор виртуального канала
PTPayload Type (2 бита, тип данных; это поле может занимать и зарезервированное субполе RES)
RESзарезервированный бит
CLP(Cell Loss Priority — уровень приоритета при потере пакета) указывает на то, какой приоритет имеет пакет (cell), и будет ли он отброшен в случае перегрузки канала
HECHeader Error Control (8 бит, поле контроля ошибок – контрольная сумма)

Ряд значений VCI и VPI имеют фиксированные значения, приведенные в таблице 13.4.

Таблица 13.4.
VCI VPI Назначение
0только 0Неопределенная ячейка
1всеМетауправление
3всеСетевое управление VP-каналом
4всеvP-управление для соединения между конечными точками
5всеУправление доступом по схеме "точка-точка"
6всеЯчейка управления ресурсами (для подавления перегрузки)
16только 0UNI (snmp) управление сетью

Некоторые значения поля PT зафиксированы, их значения представлены в таблице 13.5.

Таблица 13.5. Заданные значения поля PT (Идентификатор Payload Type)
PTНазначение ячейкиВзаимодействие "пользователь-пользователь"
000Пользовательские данные (перегрузка отсутствует)нет
001Пользовательские данные (перегрузка отсутствует)нет
010Пользовательские данные (имеет место перегрузка)да
011Пользовательские данные (имеет место перегрузка)да
100Ячейка виртуального канала oam сегментного потока f5
101Соединение "точка-точка" oam сегментного потока f5
110Управление ресурсами
111Зарезервировано

OAM — эксплуатация и техническое обслуживание. ATM обеспечивает любые услуги в сети.

В ATM предусмотрено несколько категорий услуг (таблица 13.6).

Таблица 13.6. Типы категорий ATM -услуг
КлассОписаниеПример
cbrПостоянная скорость передачиКанал Т1
rt-vbrПеременная скорость передачи (реальное время)Видеоконференции
nrt-vbrПеременная скорость передачи (нереальное время)Мультимедиа по электронной почте
abrДоступная скорость передачиПросмотр web-информации
ubrНеспецифицированная скорость передачиПересылка файлов в фоновом режиме

CBR не предусматривает контроля ошибок, управления трафиком или какой-либо другой обработки. Класс CBR пригоден для работы с мультимедиа реального времени.

Класс VBR содержит в себе два подкласса — обычный и для реального времени (см. таблицу выше). ATM в процессе доставки не вносит никакого разброса ячеек по времени. Случаи потери ячеек игнорируются.

Класс ABR предназначен для работы в условиях мгновенных вариаций трафика. Система гарантирует некоторую пропускную способность, но в течение короткого времени может выдержать и большую нагрузку. Этот класс предусматривает наличие обратной связи между приемником и отправителем, которая позволяет понизить загрузку канала, если это необходимо.

Класс UBR хорошо пригоден для посылки IP-пакетов (нет гарантии доставки и в случае перегрузки неизбежны потери).

ATM использует исключительно модель с установлением соединения (здесь нет аналогий с UDP-протоколом). Это создает определенные трудности для управления трафиком с целью обеспечения требуемого качества обслуживания (QoS). Для решения этой задачи применяется алгоритм GCRA (Generic Rate Algorithm). Работа этого алгоритма проиллюстрирована на рис. 13.16.

GCRA имеет два параметра. Один из них характеризует максимально допустимую скорость передачи PCR (Peak Cell Rate); T=1/PCR — минимальное расстояние между ячейками), другой — допустимую вариацию значения скорости передачи ( CDVT=L ). Если клиент не собирается посылать более 100 000 ячеек в секунду, то Т = 10 мкс. На рис. 13.16 представлены разные варианты следования ячеек. Если ячейка приходит раньше, чем T-τ, она считается неподтверждаемой и может быть отброшена. Ячейка может быть сохранена, но при этом должен быть установлен бит CLP=1. Применение бита CLP может быть разным для разных категорий услуг (см. рисунок 13.16). Данный механизм управления трафиком сходен с алгоритмом "дырявое ведро".

Можно вычислить число подтверждаемых ячеек N, которые могут быть переданы при пиковом потоке ячеек PCR=1/T. Пусть время ячейки в пути равно . Тогда . Если полученное число оказалось нецелым, оно должно быть округлено до ближайшего меньшего целого.

Иллюстрация работы алгоритма GCRA


Рис. 13.16.  Иллюстрация работы алгоритма GCRA

Трудноустранимой проблемой для ATM является предотвращение перегрузки на промежуточных коммутаторах-переключателях. Коммутаторы могут иметь 100 внешних каналов, а загрузка может достигать 350000 ячеек/с. Здесь можно рассматривать две задачи: подавление долговременных перегрузок, когда поток ячеек превосходит имеющиеся возможности их обработки, и кратковременные пиковые загрузки. Эти проблемы решаются различными способами: административный контроль, резервирование ресурсов и управление перегрузкой, привязанное к уровню трафика.

В низкоскоростных сетях с относительно медленно меняющейся или постоянной загрузкой администратор вмешивается лишь при возникновении критической ситуации и предпринимает меры для понижения скорости передачи. Очень часто такой подход не слишком эффективен, так как за время доставки управляющих команд приходят многие тысячи ячеек. Кроме того, многие источники ячеек в ATM работают с фиксированной скоростью передачи (например, видеоконференция). Требование понизить скорость передачи здесь достаточно бессмысленно. По этой причине в АТМ разумнее предотвращать перегрузку. Но для трафика типа CBR, VBR и UBR не существует никакого динамического управления перегрузкой, и административное управление является единственной возможностью. Когда ЭВМ желает установить новый виртуальный канал, она должна охарактеризовать ожидаемый трафик. Сеть анализирует возможность обработки дополнительного трафика с учетом различных маршрутов. Если реализовать дополнительный трафик нельзя, запрос аннулируется. В отсутствии административного контроля несколько широкополосных пользователей могут блокировать работу массы узкополосных клиентов сети, например, читающих свою почту.

Резервирование ресурсов по своей сути близко административному контролю и выполняется на фазе формирования виртуального канала. Резервирование производится вдоль всего маршрута (во всех коммутаторах) в ходе реализации процедуры setup. Параметрами резервирования могут быть: пиковое значение полосы пропускания и/или допустимая средняя загрузка.

Для типов сервиса CBR и VBR отправитель даже в случае перегрузки не может понизить уровень трафика. В случае UBR потери не играют никакой роли. Но сервис ABR допускает регулирование трафика. Более того, такое управление здесь весьма эффективно. Существует несколько механизмов его реализации. Так, предлагалось, чтобы отправитель, желающий послать блок данных, сначала посылал специальную ячейку, резервирующую требуемую полосу пропускания. После получения подтверждения блок данных начинает пересылаться. Преимуществом данного способа следует считать то, что перегрузки вообще не возникает. Но данное решение не используется из-за больших задержек (решение ATM -форума).

Другой способ сопряжен с посылкой коммутаторами специальных ячеек отправителю в случае возникновения условий перегрузки. При получении такой ячейки отправитель должен понизить скорость передачи вдвое. Предложены различные алгоритмы последующего восстановления скорости передачи. Но и эта схема отвергнута форумом ATM из-за того, что сигнальные ячейки могут быть потеряны при перегрузке. Действительно, данный алгоритм не всегда можно признать разумным. Например, в случае, когда коммутатор имеет 10 каналов с трафиком по 50 Мбит/с и один канал с потоком в 100 Кбит/c, глупо требовать понижения трафика в этом канале из-за перегрузки.

Третье предложение использует тот факт, что граница пакета помечается битом в последней ячейке. Коммутатор просматривает входящий поток и ищет конец пакета, после чего выбрасывает все ячейки, относящиеся к следующему пакету. Этот пакет будет переслан позднее, а отбрасывание M ячеек случайным образом может вынудить повторение передачи m пакетов, что значительно хуже. Данный вариант подавления перегрузки был также не принят, так как выброшенный пакет совсем не обязательно послан источником, вызвавшим перегрузку. Но этот способ может быть использован отдельными производителями коммутаторов.

Обсуждались решения, сходные с тем, что используется в протоколе TCP "скользящее окно". Это решение требует слишком большого числа буферов в коммутаторах (как минимум по одному для каждого виртуального канала). После длинных дискуссий был принят за основу совершенно другой метод.

После каждых М информационных ячеек каждый отправитель посылает специальную RM -ячейку (Resource Management). Эта ячейка движется по тому же маршруту, что и информационные, но RM-ячейка обрабатывается всеми коммутаторами вдоль пути. Когда она достигает места назначения, ее содержимое просматривается и корректируется, после чего ячейка посылается назад отправителю. При этом появляются два дополнительных механизма управления перегрузкой. Во-первых, RM-ячейки могут посылаться не только первичным отправителем, но и перегруженными коммутаторами в направлении перегрузившего их отправителя. Во-вторых, перегруженные коммутаторы могут устанавливать средний PTI-бит в информационных ячейках, движущихся от первоисточника к адресату. Но даже выбранный метод подавления перегрузки не идеален, поскольку также уязвим из-за потерь управляющих ячеек.

Управление перегрузкой для услуг типа ABR базируется на том, что каждый отправитель имеет текущую скорость передачи ( ACR — Actual Cell Rate), которая лежит между MCR (Minimum Cell Rate) и PCR (Peak Cell Rate). Когда происходит перегрузка, ACR уменьшается, но не ниже MCR. При исчезновении перегрузки acr увеличивается, но не выше PCR. Каждая RM-ячейка содержит значение загрузки, которую намеривается реализовать отправитель. Это значение называется ER (explicit rate). По пути к месту назначения эта величина может быть уменьшена попутными коммутаторами. Ни один из коммутаторов не может увеличивать ER. Модификация ER может производиться по пути как туда, так и обратно. При получении RM-ячейки отправитель может скорректировать значение ACR, если это необходимо.

С точки зрения построения интерфейса и точек доступа (T, S и R) сеть ATM сходна с ISDN (см. рис. 13.1).

Для физического уровня предусмотрены две скорости обмена 155,52 и 622,08 Мбит/с. Эти скорости соответствуют уровням иерархии SDH STM-1 и 4*STM-1.

При номинальной скорости 155.52 Мбит/с пользователю доступна реально скорость обмена 135 Мбит/c, что связано с издержками на заголовки и управление.

Скрамблерный метод не меняет частоту переключения, но его эффективность зависит от передаваемой информации. CMI предпочтительней для 155 Мбит/с. В настоящее время используется две схемы передачи данных применительно к ATM: базирующийся на потоке пакетов (cell stream) и на SDH-структурах. В первом случае мы имеем непрерывный поток 53-октетных пакетов, во втором эти пакеты уложены в STM-1 кадры. Управляющие сообщения располагаются в заголовках секции и пути кадра SDH. AAL ( ATM Adaptation Layer) служит для адаптации различных видов сервиса к требованиям ATM -уровня. Каждый вид услуг требует своего AAL -протокола. Главной целью AAL является обеспечение удобства при создании и исполнении программ прикладного уровня. Для всех AAL определены два субуровня (таблица 13.6.1.):

Таблица 13.6.1.
SAR(Segmentation And Reassemble) делит пакеты высокого уровня, передает atm и наоборот (сборка сообщений из сегментов).
CS(Convergent Sub-layer) зависит от вида услуг (обработка случаев потери пакета, компенсация задержек, мониторирование ошибок и т.д.). Этот подуровень может в свою очередь делиться на две секции: CPCS (Common Part Convergence Sublayer) — общая часть субуровня конвергенции и SSCS (Service-Specific Convergence Sublayer) — служебно-ориентированный подуровень конвергенции (последний может и отсутствовать).

AAL -протоколы управляются значениями следующих переменных:

В настоящее время определены четыре класса услуг, которые могут требовать или не требовать синхронизации между отправителем и получателем, осуществлять обмен при постоянной или переменной частоте передачи бит, с установлением связи или без. Особенности этих видов услуг для адаптивного уровня систематизированы в таблице 13.7. Каждая из услуг имеет свой AAL -протокол.

Таблица 13.7. Особенности видов услуг для адаптивного уровня
Класс a ( AAL 1)Класс b ( AAL 2)Класс c ( AAL 3/4 или 5)Класс d ( AAL 3/4 или 5)
Синхронизация работы отправителя и получателянеобходиманеобходимане нужнане нужна
Частота следования битовпостояннаяпеременнаяпеременнаяпеременная
Режим соединенияс соединениемс соединениемс соединениембез соединения

Уровень адаптации 1-го уровня ( AAL ) выполняет для верхнего уровня следующие услуги (передача аудио и видео по каналам DS-1 и DS-3; постоянная скорость передачи):

Для решения этих задач AAL первого уровня должен устранять разброс задержек, выявлять ячейки, доставленные не по адресу, и потерянные ячейки, производить сегментацию пакетов и последующее их восстановление, выполнять мониторирование ошибок в управляющей информации протокола AAL - PCI (Protocol Control Information). Характер обмена здесь строго ориентирован на соединение. AAL -1 использует субуровни конвергенции и SAR. Субуровень конвергенции обеспечивает постоянство скорости передачи ячеек. AAL -1 конвергенции не имеет какого-то специфического протокольного заголовка. Этот субуровень разбивает входные сообщения на 46- или 47-байтные блоки и передает их субуровню SAR для пересылки.

Структура протокольной части информационного поля ячейки SAR-PDU представлена на рис. 13.17.

CSI позволяет приемнику распознать уровень конвергенции. Подуровень SAR получает значение SN (порядковый номер) для каждого 47-октетного блока данных от подуровня конвергенции. Поле SNP (Sequence Number Protection — контрольная сумма) служит для обнаружения и исправления ошибок в заголовке, в качестве производящего полинома используется R(x) = x3 + x + 1. Один из битов SNP представляет собой бит четности. Если CSI=1, то после поля SNP следует однобайтовое поле указатель, которое используется для определения положения начала следующего сообщения (значения 0-92; старший бит поля указатель зарезервирован на будущее).



Рис. 13.17. 

CSI(Convergence Sublayer Indicator) — индикатор подуровня конвергенции
SN(Sequence Number) — номер по порядку
SNP(Sequence Number Protection) — защита номера последовательности

Для сжатой аудио- и видеоинформации скорость передачи может варьироваться в широких пределах. Ведь многие схемы предусматривают периодическую отправку полного видеокадра, и при последующей передаче транспортируются лишь отличия последовательных кадров. Уровень адаптации 2-го типа предоставляет вышестоящему уровню возможность синхронизовать передатчик и приемник, осуществлять обмен с изменяющейся скоростью, оповещать об ошибках и потерях ячеек. Структура ячейки AAL 2-го типа показана на рис. 13.18 (субуровень SAR). Из-за переменной скорости передачи заполнение ячеек может быть неполным.

Поля SN и IT имеют общую длину 1 байт, поля же LI и CRC вместе занимают 2 байта. Поле данных (PDU) в такой ячейке имеет длину 45 байт.



Рис. 13.18. 

IT(information type) — тип данных. Служит для указания начала, продолжения или окончания сообщения
LI(length indicator) — индикатор длины. Указывает число октетов в поле данных
CRCКонтрольная сумма

Уровень адаптации 3/4 типов предназначен для передачи данных как в режиме с установлением соединения, так и без него. Определены два типа обмена: сообщение и поток. В первом случае блок данных передается в одном интерфейсном блоке (IDU). Сервисные блоки данных могут иметь переменную длину. В режиме поток сервисный блок данных передается через интерфейс уровня адаптации в одном или нескольких IDU. В этом режиме может быть реализована услуга "внутренний контейнер". Здесь допускается и прерывание передачи, частично переданный блок теряется. AAL 3/4 допускает организацию нескольких сессий одновременно (например, несколько удаленных login). Структура протокольного блока данных подуровня SAR 3/4 типа представлена на рис. 13.19. Длина поля данных (PDU) составляет 44 байта. Заметим, что AAL 3/4 имеет два уровня издержек — 8 байт добавляется для каждого сообщения и 4 избыточных байта приходятся на каждую ячейку, это достаточно много, особенно для коротких сообщений.



Рис. 13.19. 

ST(Segment Type) - тип сегмента. Начало сообщения - 10 (BOM - Beginning Of Message), продолжение - 00 (COM - Continuation Of Message), завершение сообщения - 01 (EOM - End Of Message), односегментное сообщение - 11
SN(Sequence Number) — номер по порядку
MID(Multiplexing Identifier) — идентификатор мультиплексирования для протокола 4-го уровня (позволяет мультиплексировать до 1024 пользователей для одного соединения). Поле служит для определения того, к какой из активных сессий принадлежит данная ячейка
LIдлина заполнения поля данных

При вычислении CRC используется образующий полином R(x) = x11 + x9 + x5 + x4 + x + 1. Подуровень конвергенции AAL содержит общую часть подуровня CPCS (Common Path Convergence Sublayer) и служебную часть подуровня SSCS (Service Specific Convergence Sublayer). CPCS обеспечивает негарантированную доставку кадров любой длины в диапазоне 1-65535 байт. Данные пользователя передаются непосредственно на субуровень AAL. Формат протокольного блока данных подуровня конвергенции AAL 3/4-типа показан на рис. 13.20.



Рис. 13.20. 

CPI(Common Part Iindicator) — однооктетный индикатор общей части, используется при интерпретации последующих полей
BTAG(Beginning Tag) — однооктетная метка начала, в сочетании с ETAG определяет границы протокольного блока данных (PDU)
BAsize(Buffer Allocation Size) — емкость буфера, сообщает получателю максимальный размер буфера. Поле занимает 2 байта
PADзаполнитель, обеспечивает кратность поля данных 4 октетам
AL(ALignment) — выравнивание, заполняется нулями
ETAG(End Tag) — метка конца (один октет)
Длиназадает протяженность cpcs-pdu
CPCS-PDU(Common Part Convergence SublayerProtocol Data Unit) — протокольный блок данных общей части подуровня конвергенции

Тип 3/4 имеет существенную избыточность (4 байта из 48 на каждый SAR-PDU). По этой причине был введен 5-й тип. Этот уровень обеспечивает канал, ориентированный на соединение, с переменной скоростью обмена ( VBR ) в широковещательном режиме при минимальном контроле ошибок (или вовсе без него). IP-дейтограммы передаются через сети ATM через адаптационный уровень 5 (RFC-1577). Уровень AAL 5 иногда называют SEAL (Simple and Efficient Adaptation Layer — простой и эффективный адаптационный уровень). AAL 5 занимает в наборе протоколов семейства ATM нишу протокола UDP стека TCP/IP. Формат ячейки SAR-PDU 5-го типа показан на рис. 13.21.

Однобайтовое поле, расположенное между полями UU и длина, зарезервировано для использования в будущем. Так как здесь для переноса информации используется заголовок, работа AAL становится зависимой от нижележащего уровня, что является нарушением эталонной модели. Инкапсулироваться в поля данных AAL 5 могут блоки длиной до 216-1 октетов (65535). Выполнение операций здесь зависит от того, работает ли система в режиме сообщения или потока. На подуровне конвергенции для передачи протокольного блока данных используется 4-байтовая CRC с образующим полиномом G(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1, что обеспечивает высокую надежность корректности доставки.

Формат ячейки SAR-PDU 5-го типа AAL


Рис. 13.21.  Формат ячейки SAR-PDU 5-го типа AAL

Формат сообщения AAL5 субуровня конвергенции


Рис. 13.21a.  Формат сообщения AAL5 субуровня конвергенции

UU(User to User) — поле необходимо для верхних уровней, чтобы обеспечить мультиплексирование
Длинадвухоктетное поле длины поля данных (PDU)
CRC4-октетная контрольная сумма

Верхние уровни управления для ATM базируются на рекомендациях CCITT I450/1 (Q.930/1). В случае использования ATM для Интернета значение MTU по умолчанию равно 9180 (RFC-1626), так как фрагментация IP-дейтограмм крайне нежелательна ( AAL ). Работа протоколов TCP/IP поверх ATM описана в документах RFC -1483, -1577, -1626, -1680, -1695, -1754, -1755, -1821, -1926, -1932 (полужирным шрифтом выделены коды документов, являющиеся стандартами Интернета). Ниже на рис. 13.22 показано, как пакеты ATM размещаются в кадрах STM-1 (виртуальный контейнер VC-4).

В STM-1 для передачи ячеек выделяется полоса пропускания

Мбит/c (9 рядов по 261 байту, передаваемые каждые 125 мкс).

Размещение ATM пакетов в STM-1 кадре


Рис. 13.22.  Размещение ATM пакетов в STM-1 кадре

Поток ячеек OAM F5 уровня виртуального канала каких-либо специальных идентификаторов виртуальных путей не использует. В заголовках ячеек потока OAM F5 типа точка-точка в поле типа данных (PT) записывается код 100, а для сегментных потоков виртуальных каналов PT=101. Значения кодов полей тип OAM и тип выполняемой функции приведены в таблице 13.8. Для решения проблем выявления и локализации отказов в сети АТМ используются ячейки AIS (Alarm Indication Signal — аварийный сигнал), RDI/FERF (Remote Defect Indication / Far End Reporting Failure — указатель отказа на удаленном конце), контроля непрерывности (continuity check) и проверки с применением обратной связи (loopback). Для ячеек AIS и RDI поля тип отказа имеет 8 байт (по умолчанию во все октеты записывается 0х6А), а для указателя места отказа выделено 9 байт. Полезная часть поля данных в этих ячейках равна 45 байтам, из них 28 зарезервировано на будущее.

Таблица 13.8.
Код поля тип oamНазначениеКод поля тип выполняемой функцииНазначение
0001Обнаружение и определение места отказов (fault management)0000Указание отказа (AIS)
0001Указание на удаленный дефект (RDI/FERF)
0100Проверка непрерывности (continuity check)
1000Обратная связь (loopback)
0010Контроль рабочих характеристик0000Прямой мониторинг (forward monitoring)
0001Сообщение о предыстории (backward reporting)
0010Мониторирование и предоставление результатов (monitoring and reporting)
1000Активизация и завершение процессов oam0000Мониторинг рабочих характеристик (performance monitoring)
0001Проверка непрерывности (continuity check)

Контроль рабочих характеристик сети АТМ производится без нарушения соединений и без снижения качества обслуживания. Для запуска и остановки процесса измерения служат ячейки типа activation/deactivation.

Субполе неиспользуемые октеты заполняется байтами 0х6А, а субполя блок РМ — кодами 0000. Значения кодов поля идентификатор сообщения приведены в таблице 13.9.

Таблица 13.9.
Код поля идентификатор сообщенияНазначение
000001Активация (запрос)
000010Подтверждение активации
000011Отклонение запроса активации
000101Деактивация
000110Подтверждение деактивации
000111Чтение запроса деактивации

В субполе направление действия заносится код 10 при направлении от А к В и 01 при противоположном направлении. В поле размер записывается код 1000 при длине 1024 ячеек, 0100 — при 512, 0010 — при 256 и 0001 — при 128. Размеры блоков для направлений А —> b и В —> a могут быть и неравными. Мониторинг рабочих параметров может выполняться для А —> b, В —> a или для обоих направлений одновременно.

Пропускная способность сети АТМ (150 Мбит/с) позволяет передавать немногим более 360000 ячеек в секунду, что означает для ATM -переключателя время коммутации менее 2,7 мксек. Реальный переключатель может иметь от 16 до 1024 входных линий, что может означать коммутацию 16-1024 ячеек каждые 2,7 мкс. При быстродействии 622 Мбит/с новая порция ячеек поступает каждые 700 нс. Постоянство длины ячеек упрощает конструкцию ключа. Все АТМ-ключи имеют целью обеспечить коммутацию с минимальной вероятностью потери и исключить возможность изменения порядка следования ячеек.

Приемлемой считается вероятность потери ячейки не более 10 -12 . Для большого коммутатора это эквивалентно потере 1-2 ячеек в час.

Уменьшению вероятности потери способствует создание буферов конвейерного типа. Если на вход переключателя приходят две ячейки одновременно, одна из них обслуживается, а вторая ставится в очередь (запоминается в буфере). Выбор ячеек может производиться псевдослучайно или циклически. При этом не должно возникать предпочтений для каких-то каналов. Если в один цикл на вход (каналы 1, 2, 3 и 4) коммутатора пришли четыре ячейки, предназначенные для выходных линий J+2, J, J+2 и J+1 соответственно, то на линии J+2 возникает конфликт. Предположим, что будет обслужена ячейка, поступившая по первой входной линии, а ячейка на входной линии 3 будет поставлена в очередь. В начале следующего цикла на выход попадут три ячейки. Предположим также, что в этот цикл на ходы коммутатора (1 и 3) придут ячейки, адресованные для линий J+3 и J соответственно. Ячейка, адресованная J, будет поставлена в очередь вслед за ячейкой, адресованной J+2. Все эти ячейки будут переданы только на 4-м цикле. Таким образом, попадание в очередь на входе ячейки блокирует передачу последующих ячеек, даже если выходные каналы для их передачи свободны. Чтобы исключить блокировку такого рода, можно организовать очередь не на входе, а на выходе коммутатора. При этом для коммутатора с 1024 входами теоретически может понадобиться 1024 буфера на каждом выходе. Реально число таких буферов значительно меньше. Такая схема АТМ-коммутатора (8*8) показана на рис. 13.23.

Схема переключателя с организацией очередей на выходе


Рис. 13.23.  Схема переключателя с организацией очередей на выходе

Концентратор выбирает N ячеек для помещения в очередь (предполагается, что максимальная длина очереди может быть равна N ). Если выходной буфер уже заполнен, ячейка может быть потеряна. При построении АТМ-коммутаторов часто используется схема сети с многокаскадными соединениями.

Было время, когда сети АТМ обладали наивысшим быстродействием, что стимулировало адаптацию этого протокола для локальных сетей. И такая модификация ( LANE ) была разработана. LANE осуществляет взаимодействие соединенных посредством АТМ оконечных станций для сегментов LAN. LANE не оказывает воздействия на работу сети АТМ и не требует никаких специальных модификаций протокола. После внедрения FE и тем более GE область использования техники LANE сместилась в область WAN. LANE работает как система "клиент-сервер", ее основная задача — установление соответствия между адресами МАС и АТМ.

Лекция 14. Протоколы frame relay, fibre channel, hippi

Описание протокола межсетевого обмена Frame Relay. Форматы кадров FR. Интерфейс информационного канала. Мостовые кадры FR. Особенности сетей Fibre Channel. Закон Amdahl. Классы FC. Параллельный интерфейс HIPPI. HIPPI-IPI.

Протокол Frame Relay (I.122 ITU-t; ANSI T1S1.2; RFC-1490, -1315, -1604; cм. также http://www.frforum.com/frame.relay/5000/approved/frf.3/frf.3.1/frf3.f.0.html) является одним из относительно новых телекоммуникационных протоколов (1993 г.), он обеспечивает скорость передачи данных ~1,5 Мбит/с, меньшие задержки, но и меньшую надежность доставки информации. Frame Relay предназначен для межсетевого общения, ориентирован на соединение и использует два протокольных уровня модели OSI. Остальные уровни должны реализоваться программно. Такая схема заметно удешевляет интерфейс. Протокол вводит понятие CIR (Committed Information Rates — оговоренные скорости передачи), обеспечивая каждому приложению гарантированную полосу пропускания. Если приложение не использует полностью выделенную полосу, другие приложения могут поделить между собой свободный ресурс. Frame Relay гарантирует большее быстродействие, чем X.25. Стандарт предусматривает 2-, 3- и 4-байтовые форматы заголовков (ANSI T1.618 и ITU-T Q.922) и синхронную передачу данных. Применение инкапсуляции гарантирует транспортировку пакетов других протоколов через сети Frame Relay. Пакет Frame Relay начинается и завершается разграничительным байтом 0x7E. Максимальный размер кадра 1600 октетов. Формат пакета показан на рис. 14.1.

Формат пакетов Frame Relay (цифры сверху — номера байт)


Рис. 14.1.  Формат пакетов Frame Relay (цифры сверху — номера байт)

NLPID — идентификатор протокола сетевого уровня (Network Layer Protocol ID).

FCS — двухбайтовая контрольная сумма кадра (Frame Control Sum). Заполнитель является опционным и может отсутствовать.

Различные форматы заголовков кадров Frame Relay показаны на рисунках 14.2, 14.3 и 14.4. В верхней части рисунка приведена нумерация бит.

2-байтовый заголовок пакета Frame Relay (адрес)


Рис. 14.2.  2-байтовый заголовок пакета Frame Relay (адрес)

C/Rбит Command/Response (Команда/Отклик).
E/Aбит Extended Address (Расширенный адрес) определяет, следует ли рассматривать следующий байт в качестве части адреса (E/A=0, заголовок продолжается в следующем октете)
DLCI (Data Link Control Interface) адрес управляющего интерфейса информационного канала (имеет только локальный смысл). В двухбайтовой версии DLCI занимает в сумме 10 бит
FECN бит Forward Explicit Congestion Notification (указание на возможность реагирования на перегрузку при посылке пакетов). Сигнализирует отправителю о переполнении буферов при приеме
BECN бит Backward Explicit Congestion Notification (тоже для случая приема пакетов)
DEбит discard eligibility (пометка пакета при перегрузке канала). Помеченный пакет может быть отброшен, и потребуется его повторная пересылка

При возникновении перегрузки DCE-узел отправляет устройствам -адресатам пакет с FECN =1, а узлам, шлющим ему информацию, — пакет с битом BECN =1. Большое число пакетов с такими битами говорит о перегрузке, и отправитель должен снизить частоту посылки пакетов или вовсе ее прекратить.

D/C — бит Data/Control (данные/управление) определяет, является ли последующее поле младшей частью DLCI или его следует интерпретировать как управляющую информацию DL-core.

Первым передается младший бит байта. Для управления сетью используется протокол SNMP и база данных MIB. Формат кадра Frame Relay показан на рис. 14.4.

3-байтовый заголовок пакета Frame Relay


Рис. 14.3.  3-байтовый заголовок пакета Frame Relay

4-байтовый заголовок пакета Frame Relay


Рис. 14.4.  4-байтовый заголовок пакета Frame Relay

NLPID — (Network Layer Protocol Identifier) — идентификатор протокола сетевого уровня. Это поле может содержать коды многих протоколов, включая IP, CCITT Q.933, ISO 8208, IEEE SNAP, CLNP (ISO 8473) и т.д. Оно говорит получателю, какой тип протокола инкапсулирован. Коды NLPID стандартизованы документом ISO/IEC TR 9577. Некоторые допустимые коды этого поля приведены в таблице 14.1. Пользовательская информация располагается, начиная с поля управления, где в случае пересылки без подтверждения содержится код 0x03 (Q.922, UI). Для всех прочих видов обмена (кадры I- S-типов) подтверждение доставки является обязательным. Поле заполнитель предназначено для выравнивания границы полей на 2-байтовый уровень. Длина этого поля может быть равной нулю или одному байту. Поле адрес описано выше (см. рис. 14.1, 14.2, 14.3). Если за кодом NLPID следует 4 октета уровней 2 и 3, это указывает на то, что используется связь, ориентированная на соединение. Протокол Frame Relay предусматривает гибкую систему межсетевых соединений на основе мостов-шлюзов и маршрутизаторов. Все мосты и маршрутизаторы должны быть способны воспринимать и правильно интерпретировать как NLPID -, так и SNAP-инкапсуляцию. Для обеспечения правильной интерпретации идентификатора протокола PID предусмотрен 3-октетный уникальный идентификатор OUI (Organizationally Unique Identifier). В пакетах для мостов и маршрутизаторов поле OUI предшествует двухоктетному полю PID.

Формат маршрутизуемого кадра Frame Relay


Рис. 14.5.  Формат маршрутизуемого кадра Frame Relay

Нетрудно видеть, что кадр Frame Relay имеет много общего с X.25 и ISDN. Здесь уже на протокольном уровне предусматривается мультикастинг.

Таблица 14.1. Коды поля NLPID (идентификатор протокола сетевого уровня)
Тип кадраНазвание протоколаКод
I-кадр (ISO 8208)N по модулю 80x01
N по модулю 1280x10
UI-кадрIP0xcc
clnp0x81
Q.9330x08
SNAP0x80
Q.9220x4e
802.20x4c
Протокол, заданный пользователем (уровень 3)0x70

Код протокола SNAP используется и для протоколов 802.3, 802.4, 802.5, FDDI и 802.6. При вложении IP в кадры Frame Relay в поле управления записывается код 0x03, а в поле NLPID — 0xcc; начиная с байта 5, располагается тело IP-дейтограммы, за которой следует поле FCS. Формат маршрутизируемой IP-дейтограммы показан на рис. 14.5a.

Формат маршрутизируемой IP-дейтограммы


Рис. 14.5a.  Формат маршрутизируемой IP-дейтограммы

Аналогично осуществляется инкапсуляция пакетов протокола CLNP, только здесь в поле NLPID записывается код 0x81. Для примера на рис. 14.6 показан формат пакета для мостов 802.3.

Формат мостового кадра Ethernet 802.3


Рис. 14.6.  Формат мостового кадра Ethernet 802.3

14.1. Канальный протокол Fibre Channel

Известно, что производительность микропроцессоров рабочих станций удваивается каждые 18 месяцев.

Каждому миллиону операций в секунду процессора должна соответствовать пропускная способность ввода/вывода, равная мегабиту в секунду (закон Amdahl).

По этой причине требования к широкополосности телекоммуникационных каналов уже сегодня лежат в диапазоне от 100 Мбит/с до 10 Гбит/c. Наиболее популярные скоростные сети — Fast Ethernet, GE и ATM — соответствуют этим требованиям на пределе. Уже одно это заставляет обратить внимание на такие протоколы, как 10-гигабитный Ethernet и стандарт ANSI. Fibre Channel сочетает в себе преимущества канальных и сетевых технологий. Работы по разработке стандарта FC начаты группой ANSI в 1988 году. В настоящее время Fibre Channel конкурирует как с Ethernet, так и с SCSI. (См. http://www.prz.tu-berlin.de/docs/html/EANTC/INFOSYS/fibrechannel/detail, http://www.fibrechannel.com/technology/physical.htm и http://www.ancor.com, http://www.iol.unh.edu/training/fc/fc_tutorial.html.) Он легко стыкуется с протоколами локальных и региональных сетей. Fibre Channel имеет уникальную систему физического интерфейса и форматы кадров, которые позволяют этому стандарту обеспечить простую стыковку с канальными протоколами IPI (Intelligent Peripheral Interface), SCSI, HIPPI, ATM, IP и 802.2. Это позволяет, например, организовать скоростной канал между ЭВМ и дисковой накопительной системой RAID. Быстродействие сетей Fibre Channel составляет n x 100Мбайт/с при длинах канала 10 км и более. Предусмотрена работа и на меньших скоростях (например, 12,5 Мбайт/c). Максимальная скорость передачи сегодня составляет 4,25 Гбод. В качестве транспортной среды может использоваться одномодовое или мультимодовое оптическое волокно. Допускается применение медного коаксиального кабеля и скрученных пар (при скоростях до 200 Мбайт/с). Fibre Channel имеет шесть независимых классов услуг (каждый класс представляет определенную стратегию обмена информацией), которые облегчают решение широкого диапазона прикладных задач (таблица 14.11.).

Таблица 14.11.
Класс 1Соединение с коммутацией каналов по схеме "точка-точка" между портами типа n_port. Класс удобен для аудио- и видеоприложений, например видеоконференций. После установления соединения используется вся доступная полоса пропускания канала. При этом гарантируется, что кадры будут получены в том же порядке, в каком они были посланы
Класс 2Обмен без установления соединения с коммутацией пакетов, гарантирующий доставку данных. Так как соединение не устанавливается, порт может взаимодействовать одновременно с любым числом портов типа n_port, получая и передавая кадры. Здесь не может быть гарантии того, что кадры будут доставлены в том же порядке, в каком были переданы (за исключением случаев соединения "точка-точка" или "арбитражное кольцо"). В этом классе допустимы схемы управления потоком "буфер-буфер" и "точка-точка". Этот класс характерен для локальных сетей, где время доставки данных не является критическим
Класс 3Обмен дейтограммами без установления соединения и без гарантии доставки. Схема управления потоком "буфер-буфер". Применяется для каналов scsi
Класс 4Обеспечивает выделение определенной доли пропускной способности канала с заданным значением качества обслуживания (QoS). Работает только с топологией fabric, где соединяются два порта типа n_port. При этом формируется два виртуальных соединения, обслуживающих встречные потоки данных. Пропускная способность этих соединений может быть различной. Как и в классе 1, здесь гарантируется порядок доставки кадров. Допускается одновременное соединение более чем с одним портом типа n_port. Используется схема управления потоком "буфер-буфер". Каждое виртуальное соединение управляется независимо с помощью сигнала-примитива fc_rdy
Класс 5Предполагает изохронное обслуживание
Класс 6Предусматривает мультикастинг-обслуживание в рамках топологии типа fabric. При этом используется стандартный адрес 0xfffff5. n_port становится членом мультикаст-группы путем регистрации по адресу 0xfffff8

Fibre Channel использует пакеты переменной длины (до 2148 байт), содержащие до 2112 байт данных. Такая длина пакета заметно снижает издержки, связанные с пересылкой заголовков (эффективность 98%). С этой точки зрения в наихудшем положении оказывается ATM (83% эффективность 48 байт данных при 53-байтном пакете). Только FDDI превосходит Fibre Channel по этому параметру (99%). В отличие от других локальных сетей, использующих 6-октетные адреса, fibre channel работает с 3-байтовыми адресами, распределяемыми динамически в процессе выполнения операции login. Адрес 0xffffff зарезервирован для широковещательной адресации. Адреса же в диапазоне 0xfffff0-0xfffffe выделены для обращения к структуре fabric, мультикастинг-серверу и серверу псевдонимов (alias-server). n_port передает кадры от своего source_id (s_id) к destination_id (d_id). До выполнения операции fabric login s_id порта не определен. В случае арбитражного кольца применяются 3-октетные адреса al_pa, задаваемые при инициализации кольца. Для однозначной идентификации узлов используются 64-битовые имена-идентификаторы.

Формат пакетов в сетях Fibre Channel показан на рис. 14.7. Здесь используются 24-битовые адреса, что позволяет адресовать до 16 миллионов объектов. Сеть может строить соединения по схеме "точка-точка", допускается и кольцевая архитектура с возможностью арбитража (FC-al) и другие схемы (например fabric, допускающие большое число независимых обменов одновременно). Схема кольцевого соединения показана на рис. 14.8. К кольцу может быть подключено до 128 узлов. Протокол Fibre Channel предусматривает 5 уровней, которые определяют физическую среду, скорости передачи, схему кодирования, форматы пакетов, управление потоком и различные виды услуг. На физическом уровне (FC-ph, 1993 год) предусмотрены три подуровня. FC использует оптические волокна диаметром 62,5, 50 мкм и одномодовые. Для обеспечения безопасности предусмотрен опционный контроль подключенности оптического разъема (OFC). Для этого передатчик время от времени посылает короткие световые импульсы приемнику. Если приемник получает такой импульс, процесс обмена продолжается (таблица 14.12.).

Таблица 14.12.
FC-0Определяет физические характеристики интерфейса и среды, включая кабели, разъемы, драйверы (ECL, LED, лазеры), передатчики и приемники. Вместе с FC-1 этот уровень образует физический слой
FC-1Определяет метод кодирования/декодирования (8B/10B) и протокол передачи, где объединяется пересылка данных и синхронизирующей информации
FC-2Определяет правила сигнального протокола, классы услуг, топологию, методику сегментации, задает формат кадра и описывает передачу информационных кадров
FC-3Определяет работу нескольких портов на одном узле и обеспечивает общие виды сервиса
FC-4Обеспечивает реализацию набора прикладных команд и протоколов вышележащего уровня (например, для SCSI, IPI, IEEE 802, SBCCS, HIPPI, IP, ATM и т.д.)

Формат пакета Fibre Channel


Рис. 14.7.  Формат пакета Fibre Channel

FC-0 и FC-1 образуют физический уровень, соответствующий стандартной модели ISO.

Стандарт FC допускает соединение типа "точка-точка", "арбитражное кольцо" и "структура" (верх, середина и низ рисунка 14.8). Кольцевая архитектура обеспечивает самое дешевое подключение. Система арбитража допускает обмен только между двумя узлами одновременно. Следует учесть, что кольцевая структура не предполагает применения маркерной схемы доступа. Когда подключенное к сети устройство готово передать данные, оно передает сигнал-примитив ARBX, где X — физический адрес устройства в кольце арбитража (al_pa). Если устройство получит свой собственный сигнал-примитив ARBX, оно получает контроль над кольцом и может начать передачу. Инициатор обмена посылает сигнал-примитив open (OPN) и устанавливает связь с адресатом. Время удержания контроля над кольцом не лимитируется. Если контроль над кольцом одновременно пытаются захватить два устройства, сравниваются значения X сигналов ARB. Устройство с меньшим al_pa получает преимущество, прибор с большим al_pa блокируется.

Прежде чем использовать кольцо, его нужно инициализировать (процедура LIP), так чтобы каждый порт получил свой физический адрес (al_pa — один октет, что и определяет максимальное число портов в кольце арбитража). Процедура инициализации начинается сразу после включения питания посылкой сигнала-примитива LIP через порт l_port. Затем осуществляется выбор устройства, которое будет управлять процессом выбора al_pa.

Перед передачей октеты преобразуются в 10-битовые кодовые последовательности, называемые символами передачи (кодировка IBM 8B/10B). Логической единице соответствует больший уровень световой энергии.

Типы топологии FC


Рис. 14.8.  Типы топологии FC

В Fibre Channel предусмотрено два режима обмена: "буфер-буфер" и "точка-точка". Передача данных осуществляется, только когда принимающая сторона готова к этому. Прежде чем что-либо посылать, стороны должны выполнить операцию login. В ходе выполнения операции login определяется верхний предел объема пересылаемых данных (credit). Значение параметра credit задает число кадров, которые могут быть приняты. После передачи очередного кадра значение credit уменьшается на единицу. Когда значение этой переменной достигает нуля, дальнейшая передача блокируется до тех пор, пока получатель не обработает один или более кадров и не будет готов продолжить прием. Здесь очевидна довольно тесная аналогия с окнами в протоколе TCP. Режим обмена "буфер-буфер" предполагает установление связи между портами N_Port и F_Port или между двумя N_Port. При установлении соединения каждая из сторон сообщает партнеру, сколько кадров она готова принять (значение переменной BB_Credit). Режим "точка-точка" реализуется между портами типа N_Port. Предельное число кадров, которые сторона может принять, задается переменной EE_Credit. Эта переменная устанавливается равной нулю при инициализации, увеличивается на единицу при передаче кадра и уменьшается при получении кадра ACK Link Control. Кадр ACK может указывать на то, что порт получил и обработал один кадр, N кадров или всю последовательность кадров. (См. также Definitions of Managed Objects for the Fabric Element in Fibre Channel Standard. K. Teow. May 2000, RFC-2837.)

14.2. Параллельный сетевой интерфейс HIPPI

Все рассматриваемые до сих пор системы передачи информации использовали исключительно последовательный код. На разных этапах эволюции телекоммуникаций предпочтение отдавалось и параллельному, и последовательному методам обмена данными. В данный момент параллельный интерфейс сохранился только для подключения принтеров. Главным преимуществом последовательных схем передачи информации является экономия на кабелях. Ниже описан еще один стандарт, где применен параллельный интерфейс (начало разработки относится к 1987 году). HIPPI ( High Performance Parallel Interface, см. ftp://ftp.network.com; http://www.cern.ch/hsi/hippi/spec/introduc.htm; RFC-2067, IP over HIPPI, J. Renwick; RFC-1374, IP and ARP on HIPPI, J. Renwick, ANSI x3t9.3/90-043, 1990 и X3t9.3/91-005) представляет собой быстродействующий параллельный интерфейс, рассчитанный на пропускную способность 800 Мбит/с (но возможны версии со 100, 200 400 и 1600 Мбит/с). Разработка интерфейса выполнена в Лос-Аламосе. Позднее на базе этого интерфейса была подготовлена идеология сети.

Длина кода, передаваемого за один такт в HIPPI, составляет 32 разряда (версия HIPPI, рассчитанная на скорость 1600 Мбит/с, имеет длину кода 64 бита). Все пересылки являются симплексными. Существует стандарт Superhippi ( HIPPI -6400, 6,4 Гбайт/с), который описывает систему передачи данных, в 8 раз более быстродействующую, чем HIPPI. Разработана версия последовательного HIPPI на скорость обмена 1,2 Гбод для коаксиального и оптоволоконного кабеля (до 10 км; версия HIPPI -FC — fiber channel). Максимальное расстояние между станцией и переключателем составляет 25 м. Максимальное расстояние между станциями ("станция-переключатель-станция") равно 50 м. Предельное число станций зависит от типа используемых переключателей. Переключатели могут взаимодействовать друг с другом ( HIPPI -SC), обеспечивая информационный обмен между станциями. Пример топологии сети HIPPI представлен на рис. 14.9.

Пример топологии сети HIPPI (П — переключатели, С — станции)


Рис. 14.9.  Пример топологии сети HIPPI (П — переключатели, С — станции)

HIPPI предполагает передачу данных по медному кабелю (или оптическому волокну) только в одном направлении по схеме связи "точка-точка", но два канала HIPPI могут обеспечить и двунаправленный обмен данными. Передающий кабель может содержать 50/100 скрученных пар или соответствующее число оптических волокон. Длина пакета данных может варьироваться. Протокол HIPPI рассчитан на работу при суммарных длинах кабелей до десятков километров. Стандартный блок данных состоит из 256 слов (1024 или 2048 байт). Для контроля корректности передачи предусмотрен контроль по четности для каждого байта на шине, кроме того, для каждого блока данных вычисляется "продольная" контрольная сумма ( LLRC — Length/Longitudinal Redundancy Checkword). На рис. 14.10 показана схема передачи данных в рамках протокола HIPPI. На каждое соединение может быть передано любое число пакетов, пакет, в свою очередь, может содержать любое число блоков. Время между пакетами не регламентировано и может меняться, оно зависит от потока данных и протокола верхнего уровня.

Структура передаваемой информации (каждое слово содержит 32 или 64 бита)


Рис. 14.10.  Структура передаваемой информации (каждое слово содержит 32 или 64 бита)

Каждый пакет содержит в конце субполе контроля четности. Все сигналы, кроме соединения (interconnect), используют приемники и передатчики эмиттерно-связанной логики (ECL). Формат I-поля показан на рис. 14.11.



Рис. 14.11. 

Поле L=1 – локально заданный формат; W=1 указывает на 64-битное соединение; D=1 отмечает смену положения адресов отправителя и получателя; PS – биты выбора пути (path selection); С – задержка вызова при занятой линии (camp-on; переключатель не разрывает соединения при занятом получателе, а ждет его освобождения). 12-битовые адреса отправителя и получателя часто делятся на 6-битовые секции, определяющие адрес переключателя и номер порта. HIPPI -IPI (Intelligent Peripheral Interface) представляет собой быстродействующий интерфейс периферийных устройств, выполняющий команды SCSI. Расширение HIPPI -LE (Link Encapsulation) обеспечивает поддержку IEEE 802.2.

Блок-схема канала HIPPI


Рис. 14.12.  Блок-схема канала HIPPI

При расстояниях до 25 метров используется кабель, содержащий 50 скрученных пар. Такты часов следуют с периодом 40 нс. В сетях HIPPI предусмотрен транзит пакетов формата TCP/IP. Блок-схема канала HIPPI показана на рис. 14.12.

Предусмотрена работа HIPPI с протоколами TCP/IP. См. также ARP and IP Broadcast over HIPPI -800. J.-M. Pittet. May 2000, RFC-2834, IP and ARP over HIPPI -6400 (GSN). J.-M. Pittet. May 2000, RFC-2835.

Лекция 15. Синхронные каналы SDH/SONET, технологические сети CAN, коммутируемая мультимегабитная информационная служба SMDS и протокол IEEE 802.17

Синхронная цифровая иерархия и PDH, виртуальные контейнеры, STM, архитектурные уровни SDH. Особенности протокола САN, алгоритм доступа, механизм синхронизации станций. Коммутируемая мультимегабитная информационная служба SMDS. Описание протокола адаптивных, кольцевых, высокоскоростных сетей IEEE 802.17.

Мультиплексирование потоков информации при формировании мощных региональных и межрегиональных каналов имеет два решения. Одно базируется на синхронном мультиплексировании и носит название синхронная цифровая иерархия SDH, (cм. Слепов Н.Н. Синхронные цифровые сети SDH. М.: ЭКО-ТРЕНДЗ, 1998), другое использует простой асинхронный пакетный обмен и носит название "асинхронный режим передачи" (ATM, см. раздел 13.1 данной главы).

Стандарт SDH (Synchronous Digital Hierarchy) разработан в Европе, предназначен для замены иерархии асинхронных линий E-1/E-3, применяется в настоящее время многими сетями и представляет собой модификацию американского стандарта на передачу данных по оптическим каналам связи SONET (Synchronous Optical NETwork). Несмотря на свое название, SONET не ограничивается исключительно оптическими каналами. Спецификация определяет требования для оптического одно. и мультимодового волокна, а также для 75-омного коаксиального кабеля CATV 75. Пропускная способность SONET начинается с 51,84 Мбит/с STS-1 (Synchronous Transport Signal-1). Более высокие скорости передачи информации в Sonet кратны этому значению. Стандартизованы следующие скорости передачи, которые кратны скорости 64 Кбит/с (таблица 15.01.).

Соответствие каналов SONET и SDH приведено ниже (W. Simpson RFC-1619 PPP over SONET/SDH) (и тот и другой могут использоваться для организации связей по схеме PPP) (таблица 15.02.):

Таблица 15.01.
STS-151,840STS-18933,120
STS-3155,520STS-241244,160
STS-9466,560STS-361866,240
STS-12622,080STS-482488,320
Таблица 15.02.
SonetSDH
STS-3cSTM -1
STS-12cSTM -4
STS-48cSTM -16

SONET (стандарт ANSI, предназначенный для замены NADH — North American Digital Hierarchy) использует улучшенную PDH — (Plesiochronous Digital Hierarchy — plesios — близкий (греч.)) схему мультиплексирования каналов. В плезиохронной (почти синхронной) иерархии используется мультиплексирование с чередованием бит, а не байт. Мультиплексор формирует из N входных потоков один выходной (сети, где разные часы сфазированы с разными стандартами, но все они привязаны к одной базовой частоте, называются плезиохронными). Так как скорости разных каналов могут не совпадать и нет структур, которые могли бы определить позиции битов для каждого из каналов, используется побитовая синхронизация. Здесь мультиплексор сам выравнивает скорости входных потоков путем введения (или изъятия) соответствующего числа бит. Информация о введенных и изъятых битах передается по служебным каналам. Помимо синхронизации на уровне мультиплексора происходит формирование кадров и мультикадров. Так, для канала Т2 (6312 Кбит/с) длина кадра равна 789 бит при частоте кадров 8 кГц. Мультикадр содержит 12 кадров. Помимо европейской и американской иерархии каналов, существует также японская. Каждая из этих иерархий имеет несколько уровней. Сравнение иерархий представлено в таблице 15.1.

Но добавление выравнивающих бит в PDH делает затруднительным идентификацию и вывод потоков 64 Кбит/с или 2 Мбит/с, замешанных в потоке 140 Мбит/с, без полного демультиплексирования и удаления выравнивающих бит. Если для цифровой телефонии PDH вполне эффективна, то для передачи данных она оказалась недостаточно гибкой. Именно это обстоятельство определило преимущество систем SONET/SDH. Эти виды иерархических систем позволяют оперировать потоками без необходимости сборки/разборки. Структура кадров позволяет не только выполнять маршрутизацию, но и осуществлять управление сетями любой топологии. Здесь использован чисто синхронный принцип передачи и побайтовое, а не побитовое чередование при мультиплексировании.

Таблица 15.1. Сравнение европейской и американской иерархии каналов
Уровень иерархииСкорости передачи для иерархий
Американская 1544 Кбит/cЕвропейская 2048 Кбит/cЯпонская 1544 Кбит/c
064 (DS0)6464
11544 (DS1)2048 (Е1)1544 (DS1)
26312 (DS2)8448 (Е2)6312 (DS2)
344736 (DS3)34368 (Е3)32064 (DSJ3)
4274176 (Не входит в рекомендации МСЭ-Т)139264 (Е4)97728 (DSJ4)

Первичной скоростью SONET выбрана 50688 Кбит/с (ОС1). Число уровней иерархии значительно расширено (до 48). Кратность уровней иерархии равна номеру уровня.

CCITT выработал следующие рекомендации на эту тему: G.707, G.708 и G.709. CCITT разработал рекомендации для высокоскоростных каналов H (таблица 15.11.):

Таблица 15.11.
H0384 Кбит/с = 4*64 Кбит/с. 3*H0 = 1,544 Мбит/с
H1H111536 Кбит/с
H121920 Кбит/с
H4~135 Мбит/с
H21~34 Мбит/с
H22~55 Мбит/с

На нижних уровнях SDH и SONET в некоторых деталях различаются. Внедрение стандарта SONET ликвидировало многие недостатки каналов T-1 (ограничения на размер максимальной полезной нагрузки, простота стыковки скоростных каналов связи). SONET хорошо согласуется с ATM, что создает фундаментальный базис для широкополосных сетей ISDN (B-ISDN). Следует учитывать, что SONET сохраняет совместимость с уже существующими каналами, убирая лишь некоторые присущие им недостатки. Одним из базовых каналов сегодня является T-1 (1544 Кбит/с для США). Он содержит в себе 24 субканала DS-0 (Digital Signal at zero level, 64 Кбит/с, США). Мультиплексирование 24 каналов DS-0 по времени формирует канал DS-1 (24 канала*64 Кбит/с) + 8 Кбит/с = 1544 Кбит/с, последнее слагаемое связано с заголовками информационных блоков). Этой величине соответствует в Европе 2048 Кбит/с (канал E-1 = 30*ds 0). Два канала T-1 образуют канал T-1c, четыре канала T-1 формируют канал T-2, а семь T-2 (28 T-1) образуют T-3. Для оптических систем связи в качестве базового принят канал OC-1, равный по пропускной способности T-3. А кадр STS-1 выбран в качестве основного в системе SONET. Кадр STS-1 имеет 9 строк и 90 столбцов (810 байт). Кадры передаются с частотой 8 кГц, что дает для канала STS-1 51840 Кбит/с = 8000Гц*810байт*8бит. Эта цифра характеризует физическую скорость обмена, включающую в себя передачу служебной информации (заголовков), эффективная информационная пропускная способность равна 50112 Кбит/с. Быстродействие каналов более высокого уровня SONET получается умножением пропускной способности STS-1 (51,84 Мбит/с) на целое число. Так, пропускная способность OC-3 будет равна 155,52 Мбит/с, а OC-24 — 1244,16 Мбит/с и т.д. Целью создателей SONET было прямая стыковка оптических каналов различных сервис.провайдеров (вспомним, что непосредственное соединение каналов T-1 и E-1 невозможно). SDH допускает сцепление нескольких контейнеров (в том числе и разных размеров), если в один контейнер данные не помещаются. Допускается объединение нескольких контейнеров равного размера в один большой. Хотя относительный размер заголовка виртуального контейнера невелик (~3,33%), его объем достаточен для передачи довольно больших объемов служебной информации (до 5,184 Мбит/с).

В SONET предусмотрено четыре варианта соединений: "точка-точка", "линейная цепочка" ("add-drop"), "простое кольцо" и "сцепленное кольцо" ("interlocking ring"). Линейные варианты используются для ответвлений от основного кольца сети. Наиболее распространенная топология — "самовосстанавливающееся кольцо". Такое кольцо состоит из ряда узлов, которые связаны между собой двухсторонними линиями связи, образующими кольцо и обеспечивающими передачу сообщений по и против часовой стрелки. Способность сетей SONET к самовосстановлению определяется не только топологией, но и средствами управления и контроля состояния. При повреждении трафик перенаправляется в обход, локально это приводит к возрастанию информационного потока, по этой причине для самовосстановления сеть должна иметь резерв пропускной способности (как минимум двойной). Но, проектируя сеть, нужно избегать схем, при которых основной и резервный маршрут проходят через одну и ту же точку, так как они могут быть, при некотором невезении, повреждены одновременно.

Сети SONET (и SDH) имеют 4 архитектурных уровня:

Существующие PDH -сети мультиплексируют каналы, используя каскадную схему, показанную на рис. 15.1.

PDH-мультиплесирование


Рис. 15.1.  PDH-мультиплесирование

SDH-иерархия распространяется до 2500 Мбит/с и может быть расширена вплоть до 13 Гбит/с (ограничение оптического кабеля). SDH предоставляет существенно улучшенную схему мультиплексирования каналов для быстродействующих интерфейсов с полосой 150 Мбит/с и выше:

При передаче по сети SDH информация вкладывается в специальные структуры, называемые виртуальными контейнерами ( VC ). Эти контейнеры состоят из двух частей:

  1. собственно контейнер (C), где лежит передаваемая информация;
  2. заголовок (Path OverheadPOH ), который содержит вспомогательную информацию о канале, управляющую информацию, связанную с маршрутом передачи.

Описано несколько типов виртуальных контейнеров для использования в различных каналах.

Таблица 15.2. Виды виртуальных контейнеров
Виртуальный контейнерПоддерживаемые услуги
VC -111,544 Мбит/с североамериканские каналы
VC -122,048 Мбит/с европейские каналы
VC -26,312 Мбит/с каналы (используются редко). VC -2 могут также объединяться для достижения больших скоростей
VC -334,368 Мбит/с и 44,736 Мбит/с каналы
VC -4139,264 Мбит/с каналы и другие высокоскоростные услуги

В схеме мультиплексирования применены следующие обозначения (таблица 15.21.):

Таблица 15.21.
С-nКонтейнер уровня n ( n = 1, 2, 3, 4 );
VC -nВиртуальный контейнер уровня n ( n = 1, 2, 3, 4 );
TU-nТрибные блоки уровня n ( n = 1, 2, 3 );
TUG -nГруппа трибных блоков n ( n = 2, 3 );
AU-nАдминистративные блоки уровня n ( n = 3, 4 );
AUGГруппа административных блоков (стандарт G.709).

Контейнеры С-n используются для инкапсуляции сигналов каналов доступа или трибов, при этом уровни n соответствуют уровням PDH. Контейнер С-1 может нести в себе контейнер С-11, который содержит триб Т1 = 1,54 Мбит/с, и контейнер С-12, несущий триб Е1 = 2 Мбит/с. Контейнер С-2 разбивается на контейнер С-21, содержащий триб Т2 = 6 Мбит/с, и контейнер С-22 с трибом Е2 = 8 Мбит/с. Контейнер С-3 разбивается на контейнер С-31 (триб Е3 = 34 Мбит/с ) и контейнер С-32 с трибом Т3 = 45 Мбит/с. С-4 не имеет подуровней и несет в себе триб Е4 = 140 Мбит/с.

Виртуальный контейнер VC -3 делится на два виртуальных контейнера — VC -31 и VC -32, полезная нагрузка VC -3 образуется из одного контейнера С-3 или с помощью мультиплексирования нескольких групп TUG -2.

Административный блок AU-3 разбивается на подуровни AU-31 и AU-32, поле данных которых формируется из виртуального контейнера VC -31 или VC -32 соответственно.

Административный блок AU-4 не имеет подуровней, его поле данных формируется из виртуального контейнера VC -4 или комбинаций других блоков: 4* VC -31 или 3* VC -32 или 21* TUG -21 или 16* TUG -22.

Иерархия мультиплексирования SDH


Рис. 15.2.  Иерархия мультиплексирования SDH

На рис. 15.2 отображена иерархия мультиплексирования потоков информации в SDH. Здесь не показана возможность вложения контейнера VC -11 в TU-12. SDH-сигнал состоит из STM -1 кадров (Synchronous Transport Module уровень 1; рис. 15.3). Этот сигнал обеспечивает интерфейс для обмена со скоростью 155,52 Мбит/c, что является базовым блоком, из которого строятся интерфейсы с более высоким быстродействием. Для более высоких скоростей может быть использовано n STM -1 кадров с перекрытием байтов (byte interleave, см. рис. 15.6). Согласно требованиям CCITT n может принимать значения 1, 4 и 16, предоставляя интерфейс для каналов с полосой 155,52, 622,08 и 2488 Мбит/с. Каждый STM -1 кадр содержит 2430 байтов, передаваемых каждые 125 мкс. Для удобства такой кадр можно отобразить в виде блока, содержащего 9 строк по 270 байт.

Структура кадра STM-1


Рис. 15.3.  Структура кадра STM-1

Первые 9 колонок кадра, исключая строку 4, используются в качестве заголовка. Регенераторная часть служит для передачи сигнала между линейным оборудованием и несет в себе флаги разграничения кадров, средства для обнаружения ошибок и управления телекоммуникационным каналом.

Мультиплексорный заголовок используется мультиплексорами, обеспечивая детектирование ошибок и информационный канал с пропускной способностью 576 Кбит/с. AU (Aministrative Units) предлагает механизм эффективной транспортировки информации STM -1. Административный блок перераспределяет информацию внутри виртуального контейнера. Начало виртуального контейнера индицируется указателем AU, где содержится номер байта, с которого начинается контейнер. Таким образом, начала STM -1 и VC не обязательно совпадают.

Вложение виртуального контейнера VC-4 в STM-1


Рис. 15.4.  Вложение виртуального контейнера VC-4 в STM-1

Структура заголовков и указателей позволяет не только размещать меньшие кадры в больших, но и большие — в малых. Но вряд ли это можно рекомендовать.

VC-4, плавающий в AU-4


Рис. 15.5.  VC-4, плавающий в AU-4

VC -4 (см. рис. 15.5) позволяет реализовать каналы с быстродействием 139,264 Кбит/с. Более высокая скорость обмена может быть достигнута путем соединения нескольких VC -4 вместе. Для более низких скоростей (около 50 Мбит/с) предлагается структура AU-3.

Три VC -3 помещаются в один кадр STM -1, каждый со своим AU-указателем. Когда три VC -3 мультиплексируются в один STM -1, их байты чередуются, то есть за байтом первого VC -3 следует байт второго VC -3, а затем — третьего. Чередование байтов (byte interleaving) используется для минимизации задержек при буферизации. Каждый VC -3 имеет свой AU-указатель, что позволяет им произвольно размещаться в пределах кадра STM -1.

Три VC-3 в STM-1 кадре


Рис. 15.6.  Три VC-3 в STM-1 кадре

Каждому VC -3 при занесении в STM -1 добавляется 2 колонки заполнителей, которые размещаются между 29 и 30 колонками, а также между 57- и 58-й колонками контейнера VC -3. VC, соответствующие низким скоростям, сначала вкладываются в структуры, называемые TU (Tributary Units — вложенные блоки), и лишь затем в более крупные — VC -3 или VC -4. TU-указатели позволяют VC низкого уровня размещаться независимо друг от друга и от VC высокого уровня.

VC -4 может нести в себе три VC -3 непосредственно, используя TU-3 структуры, аналогичные AU-3. Однако транспортировка VC -1 и VC -2 внутри VC -3 несколько сложнее. Необходим дополнительный шаг для облегчения процесса мультиплексирования VC -1 и VC -2 в структуры более высокого уровня (см. рис. 15.7).

Транспортировка VC при низких скоростях с использованием TU-структур


Рис. 15.7.  Транспортировка VC при низких скоростях с использованием TU-структур

Так как VC -1 и VC -2 оформляются как TU, они вкладываются в TUG (Tributary Unit Group). TUG -2 имеет 9 рядов и 12 колонок, куда укладывается 4 VC -11, 3 VC -12 или один VC -2. Каждый TUG -2 может содержать VC только одного типа. Но TUG -2, содержащие различные VC, могут быть перемешаны произвольным образом. Фиксированный размер TUG -2 ликвидирует различия между размерами VC -1 и VC -2, упрощая мультиплексирование виртуальных контейнеров различных типов и их размещение в контейнерах более высокого уровня. Данная схема мультиплексирования требует более простого и дешевого оборудования для осуществления мультиплексирования, чем PDH.

Если в SDH управление осуществляется на скоростях в несколько килобайт, в ATM оно реализуется на скорости канала, что влечет за собой определенные издержки.

Для управления SDH/SONET используется протокол SNMP (см. RFC-1595, "Definitions of Managed Objects for the SONET/SDH Interface Type") и база данных MIB.

Архитектура сети, базирующейся на SDH, может иметь кольцевую структуру или схему точка-точка.

15.1. Сети управления и сбора данных в реальном масштабе времени (CAN )

Стандарт CAN (Controller Area Network — см. http://www.kvaser.se/can/protocol/index.htm или http://www.omegas.co.uk/can/canworks.htm, а также http://www.can.cia.de) был разработан в Германии компанией Robert Bosch gmbh для автомобильной промышленности (70-е годы прошлого века). Сеть CAN ориентирована на последовательные каналы связи, выполненные из скрученных пар проводов (или оптических волокон), стандарт определяет протоколы физического уровня и субуровней MAC и LLC. Все узлы сети равноправны и подключаются к общему каналу. Уровни сигналов протоколом не нормированы. В CAN использована кодировка типа NRZ (Non Return to Zero). Для распознавания сигнатур начала (SOF) и конца (EOF) кадра используется бит-стафинг. В настоящее время в ЕС разрабатывается новый протокол для сети автомобиля, который бы позволял передачу высококачественного стерео аудио- и видеосигналов, обеспечивал работу с мобильными телефонными сетями и Интернетом. Предполагается, что пропускная способность протокола составит 45 Мбит/c.

Высокая надежность и дешевизна сделала сети CAN привлекательными для промышленности и науки. Сеть предназначена для сбора информации и управления в реальном масштабе времени, но может быть использована и для других целей. Канал CAN реализует принцип множественного доступа с детектированием столкновений (CSMA/CD — Carrier Sense Multiple Access with Collision Detection, аналогично Ethernet). Сеть может содержать только один сегмент. В соответствии со стандартом ISO 11898 сеть способна работать при обрыве одного из проводов, при замыкании одного из проводов на шину питания или на землю. Скорость работы канала программируется и может достигать 1 Мбит/с. Недиструктивная схема арбитража позволяет сделать доступ к общему каналу существенно более эффективным, чем в случае Ethernet.

В сети САN работа всех узлов должна быть синхронизирована, именно эта особенность дает этой системе преимущество перед Ethernet.

В настоящее время действуют две версии стандарта с полями арбитража длиной в 11 бит (2.0a) и 29 бит (расширенная версия, 2.0b). Код арбитража одновременно является идентификатором кадра и задается на фазе инициализации сети. При одновременной попытке передачи кадров двумя узлами арбитраж выполняется побитно с использованием схемы проволочного "И", при этом доминантным состоянием является логический "0". Выигравший соревнование узел продолжает передачу, а проигравший ждет момента, когда канал освободится. Код-адрес объекта (узла CAN ) задается с помощью переключателей на плате CAN при формировании сети.

Когда канал свободен, любой из подключенных узлов может начать передачу. Кадры могут иметь переменную, но конечную длину. Формат информационного кадра сети CAN, содержащего семь полей, показан на рис. 15.8.

Стандартный информационный кадр 1 2.0a CAN


Рис. 15.8.  Стандартный информационный кадр 1 2.0a CAN

Кадр начинается с доминантного бита начала кадра (логический нуль, SOF — Start Of Frame). Далее следует поле арбитража (идентификатор кадра), содержащее 11 бит (эти разряды носят имена ID-28, ..., ID-18 ) и завершающееся битом RTR (Remote Transmission Request) удаленного запроса передачи. В информационном кадре RTR=0, для кадра запроса RTR=1. Семь наиболее значимых бит ID-28 - ID-22 никогда не должны быть все одновременно равными 1. Первым передается бит ID 28. Доминантные биты r0 и r1 (=0) зарезервированы для будущего использования (в некоторых спецификациях бит r1 называется IDE и относится для стандартных кадров к полю управления). Поле DLC (Data Length Code; биты поля имеют имена DCL 3 — DCL 0) несет в себе код длины поля данных в байтах. Поле данных, размещенное вслед за ним, может иметь переменную длину или вообще отсутствовать. CRC — циклическая контрольная сумма. В качестве образующего полинома при вычислении CRC используется x15 + x14 + x10 + x8 + x7 + x4 + x3 + 1. Формально, следующий за контрольной суммой бит-разграничитель (=1) принадлежит полю CRC. Поле отклика (ACK) содержит два бита, первый из которых первоначально имеет уровень 1, а узлы.получатели меняют его значение на доминантное (логический 0). Бит используется для сообщения о корректности контрольной суммы. Второй бит поля всегда имеет уровень логической 1. Завершающее поле EOF (End Of Frame) содержит семь единичных бит. За этим полем следует поле-заполнитель (INT) из трех единичных бит, после него может следовать очередной кадр. Формат расширенного информационного кадра сети CAN показан на рис. 15.9.

Расширенный информационный кадр 2.0b CAN


Рис. 15.9.  Расширенный информационный кадр 2.0b CAN

Однобитовое субполе SRR (Substitute Remote Request) включено в поле арбитража (идентификатора кадра) и всегда содержит код 1, что гарантирует преимущество стандартного информационного кадра (2.0a) в случае его соревнования с расширенным кадром (2.0b) (при равных 11 битах идентификатора). Субполе IDE (IDentifier Extension) служит для идентификации расширенного формата и для этого типа кадра всегда имеет уровень логической 1. Вслед за IDE следует 18-битовое поле (биты имеют имена ID-17, ..., ID-0; первым передается бит ID-28) расширения идентификатора кадра. Контроллеры 2.0b полностью совместимы с кадрами 2.0a и могут посылать и принимать пакеты обоих типов. Идентификаторы в пределах одной сети должны быть уникальными. Следует иметь в виду, что 18-битное поле расширения идентификатора можно при определенных условиях использовать и для передачи информации. Идентификатор не является адресом места назначения, а определяет назначение передаваемых данных (адресация по содержанию). По этой причине пакет может быть принят отдельным узлом, группой узлов, всеми узлами сети или не воспринят вообще. Предельное число различных идентификаторов для версии 2.0a составляет 2032, а для 2.0b превышает 500 миллионов.

Послав кадр-запрос другому узлу, отправитель может затребовать присылку определенной информации. Удаленный узел должен откликнуться информационным кадром с тем же идентификатором, что и запрос.

Если несколько узлов начнут передачу одновременно, право передать кадр будет предоставлено узлу с более высоким приоритетом, который задается идентификатором кадра. Механизм арбитража гарантирует, что ни информация, ни время не будут потеряны. Если одновременно начнется передача запроса и информационного кадра с равными идентификаторами, предпочтение будет дано информационному пакету. В процессе арбитража каждый передатчик сравнивает уровень передаваемого сигнала с реальным уровнем на шине. Если эти уровни идентичны, он может продолжить передачу, в противном случае передача прерывается и шина остается в распоряжении более приоритетного кадра.

Протокол CAN имеет развитую систему диагностики ошибок. В результате вероятность невыявленной ошибки составляет менее 4,7 x 10-11 . При выявлении ошибки кадр отбрасывается и его передача повторяется. Высокие требования к надежности выявления ошибок диктуются необходимостью обеспечения безопасности транспортного средства.

Число узлов, подключенных к каналу, протоколом не лимитируется. Практически такое ограничение налагается задержкой или предельной нагрузкой канала.

Любой модуль CAN может быть переведен в пассивный режим ("состояние сна"), при котором внутренняя активность прекращается, а драйверы отключаются от канала. Выход из этого режима возможен либо по внутренним причинам, либо вследствие сетевой активности. После "пробуждения" модуль ждет, пока стабилизируется его внутренний тактовый генератор, после чего производится синхронизация его работы с тактами канала (11 тактов). Благодаря синхронизации отдельные узлы не могут начать передачу асинхронно (со сдвигом на часть такта). Протокол предусматривает использование четырех типов кадров:

Информационные кадры и удаленные запросы могут использовать как стандартные, так и расширенные форматы кадров (2.0a и 2.0b).

Кадр удаленного запроса может иметь стандартный и расширенный форматы. В обоих случаях он содержит 6 полей: SOF, поле арбитража, поле управления, CRC, поля ACK и EOF. Для этого типа кадров бит RTR=1, а поле данных отсутствует вне зависимости от того, какой код содержится в субполе длины.

Кадр сообщения об ошибке имеет только два поля: суперпозиция флагов ошибки и разграничитель ошибки. Флаги ошибки бывают активными и пассивными. Активный флаг состоит из шести нулевых бит, а пассивный — из шести единиц. Суперпозиция флагов может содержать от 6 до 12 бит. Разграничитель ошибки состоит из восьми единичных бит.

Кадр перегрузки включает в себя два поля: суперпозиция флагов перегрузки и разграничитель перегрузки (8 бит = 1). В поле флаг перегрузки записывается 6 бит, равных нулю (как и в поле флаг активной ошибки ). Кадры ошибки или перегрузки не требуют межкадровых разделителей. Существует ряд условий перегрузки, каждое из которых вызывает посылку такого кадра:

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

Поля SOF, идентификатор, управляющее поле, данные и CRC кодируются таким образом, что при появлении пяти идентичных бит подряд, в поток вставляется бит противоположного уровня. Так, 0000000 преобразуется в 00000100, а 1111110 — в 11111010. Это правило не распространяется на CRC-разделители, поля ACK и EOF, а также на кадры сообщения об ошибке или переполнении. Существует 5 разновидностей ошибок (таблица 15.3).

Таблица 15.3. Разновидности ошибок
Тип ошибкиОписание
Bit errorПередающий узел обнаружил, что состояние шины не соответствует тому, что он туда передает
Stuff errorНарушено правило кодирования (вставка бита противоположного значения после 5 идентичных бит, см. абзац выше)
CRC errorПриемник обнаружил ошибку в контрольной сумме
Form errorОбнаружено нарушение формата кадра
Acknowledgment errorВыявлен неверный уровень первого бита поля ack

Любой узел CAN должен регистрировать и по запросу сообщать число ошибок при передаче и приеме.

Номинальное время, выделенное для передачи одного бита, включает в себя четыре временные области: sync_seg, prop_seg, phase_seg1, phase_seg2 (рис. 15.10).

Временные зоны периода передачи одного бита


Рис. 15.10.  Временные зоны периода передачи одного бита

Первая временная область (SYNC_SEG) служит для синхронизации работы различных узлов сети. Область PROP_SEG предназначена для компенсации временных задержек в сети и равна сумме времени распространения сигнала по каналу и задержки во входных компараторах. PHASE_SEG1 и PHASE_SEG2 служат для компенсации фазовых ошибок и могут увеличиваться или уменьшаться после синхронизации. T0 — минимальный квант времени, используемый для формирования временной шкалы в пределах периода передачи одного бита (длительность внутреннего такта может быть значительно короче). Момент стробирования определяет момент времени, когда проверяется состояние канала. Этот момент должен быть синхронным для всех узлов сети. Длительность этих временных областей может задаваться программно. Чем длиннее канал, тем меньшую скорость передачи информации он может обеспечить (см. табл. 15.4).

Таблица 15.4. Зависимость пропускной способности канала от его длины
Длина канала в метрахПропускная способность сети, Кбит/с
100500
200250
500125
600010

В сетях CAN используются 9-, 6- и 5-контактные разъемы. Тип разъема или какие. либо его характеристики стандартом не регламентируются. Разъем определяется протоколом HLP (High Layer Protocol).

В 1998 году компанией OASIS Silicon Systems разработан стандарт нового поколения для автомобильных сетей MOST (Media Oriented Systems Transport). В этом стандарте для передачи данных вместо скрученной пары используется пластиковое оптическое волокно, что позволяет реализовать многие широкополосные приложения, невозможные ранее (см. http://www.oasis.com).

15.2. Коммутируемая мультимегабитная информационная служба SMDS

Коммутируемая мультимегабитная информационная служба SMDS (Switched Multimegabit Data Service; RFC-1209, -1694) создана для объединения большого числа локальных сетей.. Система была разработана в 1980-е годы и реализована в начале 1990-х годов. Система SMDS функционирует как высокоскоростная опорная сеть, транспортирующая пакеты от одной локальной сети к другой. SMDS рассчитана на большие краткосрочные всплески трафика. При N локальных сетях, соединенных выделенными каналами, полносвязная схема их соединения требует N(N-1)/2 каналов (см. рис. 15.11А). Для системы SMDS требуется только N каналов до ближайшего SMDS -маршрутизатора (рис. 15.11В).

Быстродействие системы SMDS составляет 45 Мбит/с. Система SMDS использует передачу данных без установления соединения. Формат пакета SMDS показан на рис. 15.12.

Адреса места назначения и отправителя состоят из 4-битного кода, за которым следует телефонный номер, содержащий до 15 десятичных чисел. Каждая цифра кодируется посредством четырех бит. Телефонный номер содержит код страны, код зоны и номер клиента.подписчика, что делает сеть SMDS международной. Длина поля данные является переменной. Когда пакет попадает в сеть SMDS, первый маршрутизатор проверяет, соответствует ли адрес отправителя номеру входной линии. При несоответствии пакет отбрасывается.

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

Разные варианты объединения локальных сетей


Рис. 15.11.  Разные варианты объединения локальных сетей

Формат SMDS-пакета


Рис. 15.12.  Формат SMDS-пакета

Другой особенностью адресации в SMDS является возможность использования списков доступа (screening) для входящих и исходящих пакетов. Кроме того, такая функция позволяет эффективно строить корпоративные сети типа Интранет. Поле данных может содержать в себе кадр Ethernet или пакет Token Ring, что также повышает эффективность и надежность работы сети, упрощая задачу интерфейсного оборудования.

Работа в условиях всплесков загрузки осуществляется следующим образом. Маршрутизатор в каждом из интерфейсов содержит счетчик, который инкрементируется с постоянной частотой (например, раз в 10 мкс). Когда на вход маршрутизатора приходит пакет, производится сравнение длины пакета в байтах с содержимым этого счетчика. Если содержимое счетчика больше, пакет немедленно пересылается, а содержимое счетчика уменьшается на длину пакета. Если длина пакета больше содержимого счетчика, такой пакет отбрасывается. В результате при данной частоте приращения счетчика в среднем допускается передача 100000 байт/с. Но импульсная загрузка может существенно превышать это значение.

15.3. Адаптивные, кольцевые, высокоскоростные сети IEEE 802.17

Региональные сети МАN обычно выполняют функции опорных сетей. В качестве MAN часто использовались FDDI, Token Ring или SDH. Кольцевая топология сети обеспечивает высокую надежность (при использовании "двойного кольца") и удобна для работы с оптическими волокнами. Топология "звезды" уязвима в случае выхода из строя центрального узла. Топология "сетки" гарантирует высокую надежность, но существенно дороже "кольца". Так как сети FDDI с их полосой 100 Мбит/c устарели, а Token Ring еще более медлительна, приемлемого современного решения нет. Попутно замечу, что первая опорная сеть в РФ (ЮМОС, 1993 г.) была выполнена с применением именно технологии FDDI. В FDDI пакеты уничтожаются отправителем и по этой причине совершают полный круг. Маркерный доступ в принципе имеет определенные ограничения. Сегодня требуются адаптивные решения для региональных опорных сетей (МАN). Здесь желательны подходы, гарантирующие равноправное распределение ресурсов между разными потоками. Конечно, можно использовать решения, предлагаемые SONET (SDH). Но SDH гарантирует определенную полосу при связи "точка-точка", но при этом неиспользуемая пропускная способность не может быть предложена для транспортировки других потоков. Можно построить кольцевую сеть на основе Гига-Ethernet (GE). Но этот протокол не может гарантировать равные возможности для разных потоков, да и эффективность использования доступной полосы нельзя признать хорошей. Низкая эффективность связана с тем, что протокол STP блокирует некоторые связи, препятствуя образованию петлевых маршрутов, и это в некоторых случаях удлиняет путь. GE, несмотря на ряд привлекательных черт, имеет четыре ограничения.

Во-первых, как уже отмечалось выше, протокол Ethernet лишен механизмов выравнивания возможностей для разных потоков. Во-вторых, протокол Ethernet/STP запрещает кольцевые маршруты и один из участков кольцевой сети должен быть блокирован или замыкаться через маршрутизатор, что уводит сеть с уровня L2. В-третьих, когда канал или узел отказывается, дерево связей Ethernet должно быть заново вычислено, а это может потребовать нескольких сотен миллисекунд. Определенное замедление может вызвать восстановление связности, когда используется протокол маршрутизации уровня L3. Наконец, хотя GE может предоставить простую схему приоритетного обслуживания, такая сеть не имеет механизмов гарантирования полосы пропускания, задержки и разброса времени доставки, которые имеют SONET и RPR.

Кольца SONET обеспечивают связь между узлами кольца по схеме "точка-точка". SONET может гарантировать базовые параметры качества обслуживания. Время восстановления такой сети в случае отказа измеряется десятками миллисекунд. Основным недостатком SONET является неэффективность использования доступной полосы. Если все узлы требуют соединения со всеми, кольцо с N узлами будет требовать N2 соединений. Даже при ограниченном числе узлов в кольце, например при N=100, это может вызвать определенные проблемы.

Начиная с 2000 года, разрабатывается новый протокол для опорных региональных сетей с двойной кольцевой топологией (http://www.ieee802.org/17, сервер, к сожалению, платный и мало кому доступен). Этот протокол IEEE 802.17 называется RPR (Resilient Packet Ring — адаптивное кольцо для пакетов). В отличие от FDDI (а также Token Ring или DQDB) в этом протоколе пакеты удаляются из кольца узлом-адресатом, что позволяет осуществлять несколько обменов одновременно. Но такая схема параллельных обменов осложняет равенство возможностей для разных узлов в кольце. Кроме того, схема уничтожения пакета отправителем имеет и определенные преимущества. Так транспортировка пакета от получателя к отправителю обеспечивает подтверждение получения, что все равно надо делать, например в случае протокола ТСР. Для пояснения особенностей работы RPR рассмотрим схему на рис. 15.13, где четыре потока совместно используют канал 4, чтобы достичь узла 5. В этом примере каждый из этих потоков должен получить 1/4 долю полосы (алгоритм parallel parking lot ).



Рис. 15.13. 

Чтобы полностью использовать имеющиеся ресурсы на участке <1-2>, можно пропустить через канал еще 3/4 от того, что протекает между узлами 1 и 5. Чтобы максимально полно использовать имеющиеся ресурсы, узлы должны взаимодействовать друг с другом. Таким образом, для обеспечения равенства доступа к ресурсам алгоритм должен дросселировать трафик на входе узлов.

В RPR пакет удаляется в точке назначения, что позволяет использовать незадействованную часть кольца. RPR реализует алгоритм распределенного выравнивания возможностей для разных потоков. Протокол не использует алгоритм STP и по этой причине может работать с замкнутыми маршрутами без ограничений. Кольца RPR транспортируют пакеты по пути вдоль кольца с минимальным числом шагов. Если какой-то узел или двунаправленный участок кольца откажет, RPR формирует альтернативный маршрут за время не более 50 мс. Например, если канал между узами 4 и 5 будет оборван, узлы 4 и 5 будут соединены по маршруту 4-3-2-1-10-9-8-7-6-5.

Наконец, в RPR можно определить несколько классов трафика, что крайне важно для мультимедийных приложений. Класс А реализует канальное соединение между узлами кольца с гарантированной полосой, задержкой доставки и дисперсией времени доставки (аналогично SONET, но без ограничений дискретных значений полосы — OC-3, OC-12 и т.д.). Класс В имеет гарантированную полосу, но допускает кратковременные возрастания трафика сверх согласованных значений за счет потоков, которые не имеют гарантии полосы. Класс С предлагает услуги типа "лучшее-что-возможно", при этом не гарантируются никакие параметры трафика.

Целью RPR является одновременное достижение равных возможностей для разных потоков и высокая эффективность использования имеющихся ресурсов. Достижение равных возможностей можно проследить на примере реализации алгоритма parallel parking lot на рис. 15.13. Региональный сервис-провайдер стремится предоставить равные возможности всем клиентам, вне зависимости от того, к какому узлу они подключены. На рис. 15.13 это означает предоставление каждому из потоков 1/4 полосы пропускания узла 5. Требования высокой эффективности использования ресурсов предполагают возможность привлечения всех ресурсов, не задействованных для обеспечения равных возможностей для всех конкурирующих потоков. Примером использования имеющихся ресурсов является поток между узлами 1 и 2 на рис. 15.13, который задействует до 75% пропускной способности этого канала. Если реализовать указанные цели, то любые два узла в кольце смогут обмениваться данными со скоростью, ограниченной уровнем насыщения (перегрузки) канала. Таким образом, целью алгоритма справедливого распределения ресурсов является дросселирование потоков во входных точках узлов, чтобы обеспечить равенство доступа к ресурсам.

Это означает, что в случае, показанном на рис. 15.13, поток между узлами 1 и 5 должен быть дросселирован в точке 1 до уровня 0.25 от пропускной способности участка 4-5, оставляя доступной полосу на участке 1-2 на уровне 75%. Такое идеальное поведение может быть описано с помощью модели RIAS (Ring Ingress Aggregated with Spatial Reuse). Модель RIAS содержит в себе два ключевых компонента. Первый определяет степень гранулярности трафика для задания справедливости распределения ресурсов. Модель RIAS гарантирует, что все узлы-отправители получат равные доли полосы пропускания для каждого канала относительно долей других узлов-отправителей. Второй компонент RIAS гарантирует максимальное использование ресурса сети при равном выделении полосы пропускания. Ресурс полосы может анонсироваться, если он не затребован или если не может быть использован из-за наличия узкого места где-то в другом узле или канале. Похожий (но несколько отличный от RPR ) алгоритм распределения ресурсов реализован протоколом ТСР в сетях Интернет (уровень L4), здесь же это предлагается делать на уровне L2.

В случае класса А узлам запрещается анонсировать неиспользуемые ресурсы. Рассмотрим работу алгоритма для классов В (фиксированная полоса) и С ( лучшее-что-возможно ), в которых каждый узел анонсирует неиспользуемую полосу взвешенным образом. Архитектура RPR -узла показана на рис. 15.14. Весь трафик, входящий в кольцо, дросселируется контроллерами потоков. В случае алгоритма parallel parking lot поток <1-5> должен быть снижен до уровня 1/4. Контроллеры потоков работают с учетом гранулярности, определяемой адресатом. Трафик делится на две категории в зависимости от того, проходит ли он через перегруженный участок. Протокол RPR поддерживает обслуживание выходных очередей, как это делается в обычных переключателях.

Узлы RPR имеют модули измерения (счетчики байт), которые контролируют информационный поток станции и транзитные потоки. Результаты этих измерений используются алгоритмом справедливого распределения ресурсов полосы пропускания (fairness algorithm) для вычисления параметров управляющего сигнала, направляемого вышестоящим узлам для дросселирования их потоков. Узлы, которые получают такие сообщения, используют полученные данные совместно с локальной информацией для управления контроллерами входных потоков (см. рис. 15.14).



Рис. 15.14. 

Узел, кроме того, содержит планировщик, который осуществляет арбитраж для внутренних и транзитных потоков. В режиме одной очереди для транзитного потока имеется один буфер типа FIFO, эта очередь называется PTQ (Primary Transit Queue). В этом случае планировщик предоставляет абсолютный приоритет транзитному трафику по отношению к локальному. В режиме двойной очереди (dual-queue mode) имеется две транзитные очереди, одна для класса А (PTQ) и одна для класса В и С — STQ (Secondary Transit Queue). В этом режиме планировщик всегда обслуживает в первую очередь трафик класса А. Трафик класса А самой станции будет обслужен сразу после PTQ, если STQ не заполнена. В противном случае планировщик обслуживает сначала трафик STQ, гарантируя отсутствие потерь. При прочих равных условиях планировщик использует карусельный принцип обслуживания очереди STQ для транзитного трафика и трафика станции классов В и С до тех пор, пока не будет достигнут порог для STQ. Когда достигается порог буфера STQ, транзитный трафик STQ получает преимущество по отношению к трафику станции.

В обоих случаях определяющим является стремление к простоте оборудования (исключение дорогостоящих решений с индивидуальными очередями для каждого потока или каждого входа) и подавлению потерь. Пакет, вошедший в кольцо, не должен быть потерян в последующих узлах.

Существуют два режима работы алгоритма справедливого распределения полосы RPR. Первый из них — агрессивный ( АМAggressive Mode) — сопряжен с протоколом SRP (Spatial Reuse Protocol), широко используемым во многих региональных сетях. Второй — консервативный режим СМ — связан с алгоритмом Аладдина. Оба режима работают схожим образом. Перегруженный узел, размещенный ниже по течению, передает свое состояние перегрузки узлам вверх, так что они дросселируют свой трафик, обеспечивая достаточную полосу транспортировки для станции внизу. Чтобы достичь этого, перегруженный узел передает информацию вверх по течению, и все узлы, расположенные там, должны соответствующим образом дросселировать свои потоки. Спустя некоторое время перегрузка ослабеет, и все узлы получат справедливые доли пропускной способности. Аналогично, когда перегрузка исчезает, станции станут периодически увеличивать свой темп отправки данных, таким образом, получая максимально возможную долю полосы пропускания.

Существует два ключевых параметра для управления полосой пропускания в RPR: это forward_rate и add_rate. Первый представляет загрузку от транзитного трафика, а второй — полную загрузку от трафика станции. Оба параметра измеряются в байтах за фиксированный период времени ( aging_interval ). Измерение обеих величин производится на выходе планировщика и подвергается экспоненциальному усреднению.

Один раз за aging_interval каждый узел проверяет свое состояние перегрузки c учетом режима работы (АМ/CM). Когда узел N перегружен, он вычисляет свою скорость обмена local_fair_rate[N], она является справедливым ( fair ) значением потока, который может быть передан узлу N. Узел N затем передает управляющее сообщение, содержащее значение local_fair_rate[N], своему вышестоящему соседу.

Если вышерасположенный узел (N-1) при получении сообщения перегрузки от узла N, сам является перегруженным, он направит это сообщение вышерасположенному узлу, используя значение, которое является минимальным из local_fair_rate[N] и local_fair_rate[N-1 ]. Определяющим здесь является информирование вышестоящих узлов о минимальной скорости передачи, которую они могут допустить, направляя трафик к месту назначения. Если узел N-1 не перегружен, но его forward_rate больше полученного значения local_fair_rate[N], он переадресует управляющее сообщение, содержащее local_fair_rate[N], вверх по течению, так как перегрузка сопряжена с транзитным трафиком, идущем сверху. В противном случае посылается управляющее сообщение с нулевым значением уровня перегрузки. Когда вышестоящий узел i получает управляющее сообщение с параметром local_fair_rate[N], он понижает свое ограничение на скорость передачи для потоков, следующих через перегруженный канал ( allowed_rate_congested ). Это значение равно сумме допустимых скоростей передачи потоков ( i,j ) для всех j, для которых n лежит на пути от i к j. Система настраивается так, чтобы вышерасположенные узлы отрегулировали свои контроллеры потоков на уровень, соответствующий допустимому. Следовательно, трафик станции не будет превосходить анонсированного значения local_fair_rate для любого из перегруженных узлов ниже по течению. В противном случае, если получено управляющее сообщение с нулевым значением fairness, узел увеличивает allowed_rate_congested на фиксированную величину, так что он может анонсировать наличие дополнительной полосы пропускания в случае, если один из потоков ниже по течению снизит свою интенсивность. Более того, такое сокращение потока существенно для сходимости процесса установки справедливых долей потоков даже в случае статического запроса.

Главным отличием между режимами АМ и СМ является детектирование перегрузки и вычисление локального значения справедливой величины потока. По умолчанию АМ использует режим двойной очереди, а СM — режим одной очереди.

Агрессивный режим (АМ) является режимом работы алгоритма обеспечения справедливого распределения ресурсов в RPR по умолчанию. В режиме АМ узел N считается перегруженным, если

ST Q_depth[N] > low_threshold

или

forward_rate[N] + add_rate[N] > unreserved_rate

где, как это было описано выше, STQ является транзитной очередью для трафика классов В и С. Значение порога low_threshold является долей размера транзитной очереди, по умолчанию равной 1/8 от размера очереди STQ. Значение unreserved_rate равно полосе канала минус доля полосы, зарезервированной для трафика с гарантированным качеством обслуживания. Так как здесь рассматривается только режим лучшее-что-возможно, далее будем считать, что unreserved_rate равно полосе канала.

Когда узел перегружен, он вычисляет свое значение local_fair_rate как нормированную скорость обслуживания собственного трафика, и add_rate, а затем посылает управляющее сообщение, содержащее add_rate, вышестоящим узлам.

Рассмотрим пример алгоритма parking lot (рис. 15.13). Если нижерасположенный узел анонсирует значение add_rate ниже уровня справедливого значения потока (что типично для ситуации без перегрузки), все вышестоящие узлы дросселируют потоки до этого уровня. Этот процесс осциллирует вокруг справедливого значения потока.

Каждый СМ (Conservative mode) узел имеет таймер доступа, измеряющий время между двумя последовательными передачами пакетов. Так как СМ использует приоритет транзитного трафика по отношению к трафику станции в рамках режима одной очереди, этот таймер служит для того, чтобы гарантировать отсутствие блокировки трафика станции. Таким образом, в режиме СМ узел N считается перегруженным, если истекло время таймера доступа, или

forward_rate[N] + add_rate[N] > low_threshold

В отличие от АМ, low_threshold для СМ представляет собой параметр, имеющий размерность скорости передачи, и значение меньше полосы пропускания канала. Значение 0,8 от полосы канала является величиной по умолчанию. В дополнение к forward_rate и add_rate СМ режим выявляет ID узла путем анализа заголовка каждого пакета и измеряет число активных станций, которые прислали хотя бы один пакет за время aging_interval.

Если узел СМ перегружен за время текущего aging_interval, но не был перегружен в предыдущий интервал, значение local_fair_rate вычисляется как общая незарезервированная скорость обмена, поделенная на число активных станций. Если узел постоянно перегружен, значение local_fair_rate зависит от суммы forward_rate и add_rate. Если эта сумма меньше low_threshold, что индицирует недогруженность канала, значение local_fair_rate линейно увеличивается. Если эта сумма больше high_threshold (0,95 от емкости канала), то local_fair_rate линейно понижается.

Рассмотрим снова пример алгоритма parking lot (рис. 15.13): когда канал между узлами 4 и 5 оказался впервые перегружен, узел 4 передает данные со скоростью 1/4 (истинно справедливая доля полосы). Канал при этом будет рассматриваться перегруженным, так как его полный поток больше low_threshold. Более того, поскольку полный поток больше high_threshold, local_fair_rate будет периодически понижаться, пока сумма add_rate и forward_rate в узле 4 не станет меньше high_threshold, но больше low_threshold. Таким образом, для СМ максимальное использование канала будет соответствовать high_threshold.

Переходные процессы установления справедливых долей потока в системе могут иметь осциллятивный характер (смотри [15.1,15.2]).

Лекция 16. Сети Ethernet

Архитектура сетей Ethernet. Повторители, мосты, мультиплексоры, переключатели и маршрутизаторы, качество обслуживания в LAN. Fast Ethernet. Гигабитный Ethernet. 10-Гигабитный Ethernet. Интернет в Ethernet

История создания протокола IEEE-802.3 (Ethernet) достаточно любопытна. Первоначальная версия базировалась на алгоритме доступа ALOHA и предназначалась для установления связи между машинами, раскиданными по Гавайским островам. Позднее компания Xerox создала систему на основе алгоритма CSMA/CD с быстродействием 2,94 Мбит/c. Окончательно принципы сети Ethernet разработаны в 1976 году Меткальфом и Боггсом (фирма Xerox). Ethernet совместно со своими скоростными версиями Fast Ethernet ( FE ), Giga Ethernet ( GE ) и 10GE занимает в настоящее время абсолютно лидирующее положение. Единственным недостатком данной сети является отсутствие гарантии времени доступа к среде (и механизмов, обеспечивающих приоритетное обслуживание), что делает сеть малоперспективной для решения технологических задач реального времени. Определенные проблемы иногда создает ограничение на максимальное поле данных, равное ~1500 байт.

Выбор длины поля данных диктовался уровнем ошибок (BER) для технологий, существовавших на момент разработки стандарта Ethernet.

Первоначально в качестве среды передачи данных использовался толстый коаксиальный кабель ( Z = 50 Ом ), а подключение к нему выполнялось через специальные устройства (трансиверы). Позднее сети начали строиться на основе тонкого коаксиального кабеля. Но и такое решение было достаточно дорогим. Разработка дешевых широкополосных скрученных пар и соответствующих разъемов открыла перед Ethernet широкие перспективы. Те, кому приходилось работать с коаксиальными кабелями Ethernet, знают, что при подсоединении или отсоединении разъема можно получить болезненные удары тока. Для скрученных пар это исключено. Но и эта технология не вечна: скрученные пары мало-помалу уступают свои позиции оптоволоконным кабелям.

Для разного быстродействия Ethernet используются разные схемы кодирования, но алгоритм доступа и формат кадра остается неизменным, что гарантирует программную совместимость.

Однако наличие сотен миллионов интерфейсов Ethernet является серьезным препятствие замены стандарта на более совершенный.

16.1. Архитектура сетей Ethernet

Многие современные физические сетевые среды используют последовательный формат передачи информации. К этой разновидности относится и Ethernet. Фирма "Ксерокс" осуществила разработку протокола Ethernet в 1973 году, а в 1979 году объединение компаний Xerox, Intel и DEC (DIX) предоставило документ для стандартизации протокола в IEEE. Предложение с небольшими изменениями было принято комитетом 802.3 в 1983 году. Кадр Ethernet в современном стандарте имеет формат, показанный на рис. 16.1.

Формат кадра сетей Ethernet (цифры в верхней части рисунка показывают размер поля в байтах)


Рис. 16.1.  Формат кадра сетей Ethernet (цифры в верхней части рисунка показывают размер поля в байтах)

Поле преамбула содержит 7 байт 0хАА и служит для стабилизации и синхронизации среды (чередующиеся сигналы CD1 и CD0 при завершающем CD0), далее следует поле SFD (Start Frame Delimiter = 0xAB), которое предназначено для выявления начала кадра. Поле EFD (End Frame Delimiter) задает конец кадра. Поле контрольной суммы ( CRCCyclic Redundancy Check), так же как и преамбула, SFD и EFD, формируются и контролируются на аппаратном уровне. В некоторых модификациях протокола поле EFD не применяется. Пользователю доступны поля, начиная с адреса получателя и кончая полем информация, включительно. После CRC и EFD следует межпакетная пауза ( IPGInterPacket Gapмежпакетный интервал) длиной 96 бит-тактов (9,6 мкс для 10-мегабитного Ethernet) или более. Максимальный размер кадра равен 1518 байт (сюда не включены поля преамбулы, SFD и EFD). Интерфейс просматривает все пакеты, следующие по кабельному сегменту, к которому он подключен: ведь определить, корректен ли принятый пакет и кому он адресован, можно лишь приняв его целиком. Корректность пакета по CRC, по длине и кратности целому числу байт определяется после проверки адреса места назначения. Вероятность ошибки передачи при наличии CRC-контроля составляет ~2-32. При вычислении CRC используется образующий полином R(x):

R(x) = x32 + x26 + x23 + x22 + x16 + x12 + x11 + x10 + x8 + x7 + x5 + x4 + x2 + x + 1.

Алгоритм вычисления CRC сводится к вычислению остатка от деления кода M(x), характеризующего кадр, на образующий полином R(x) ( Carrier Sense Multiple Access with Collision Detection Access Method and Physical Layer Specification. Published by IEEE 802.3-1985. Wiley-Interscience, John & Sons, Inc.). CRC представляет собой дополнение полученного остатка R(x). CRC вычисляется сетевым интерфейсом и пересылается, начиная со старших разрядов.

Для пересылки данных в сети (быстродействием <1 Гбит/с) используется манчестерский код, который служит как для передачи данных, так и для синхронизации. Каждый бит-символ делится на две части, причем вторая часть всегда является инверсной по отношению к первой. В первой половине кодируемый сигнал представлен в логически дополнительном виде, а во второй – в обычном. Таким образом, сигнал логического 0 – CD0 характеризуется в первой половине уровнем HI (+0,85 В), а во второй — LO (-0,85 В). Соответственно сигнал CD1 характеризуется в первой половине бит-символа уровнем LO, а во второй – HI. Примеры форм сигналов при манчестерском кодировании представлены на рис. 16.2. Верхний уровень сигнала соответствует +0,85 В, нижний — -0,85 В.

Примеры кодировки с использованием манчестерского кода


Рис. 16.2.  Примеры кодировки с использованием манчестерского кода

Минимальная длительность пакета в Ethernet определяется тем, что отправитель должен узнать о столкновении пакетов, если оно произошло, раньше, чем закончит передачу кадра. При этом длительность передаваемого пакета должна быть больше удвоенного максимального времени распространения кадра до самой удаленной точки сетевого сегмента.

Здесь подразумевается сегмент, образуемый кабелями и повторителями. Минимальная длительность кадра, равная 64 байтам, была определена для конфигураций 10 Мбит/c сети с четырьмя повторителями и 500-метровыми кабельными сегментами. Наибольший вклад в задержку вносят повторители (если они используются).

Если размер пакета меньше 64 байт, добавляются байты-заполнители, чтобы кадр в любом случае имел соответствующий размер. При приеме контролируется длина пакета, и если она превышает 1518 байт, пакет считается избыточным и обрабатываться не будет. Аналогичная судьба ждет кадры короче 64 байт. Любой пакет должен иметь длину, кратную 8 бит (целое число байт). Если в поле адресата содержатся все единицы, адрес считается широковещательным, то есть обращенным ко всем рабочим станциям локального сегмента сети.

При подключении ЭВМ к сети непосредственно с помощью переключателя ограничение на минимальную длину кадра теоретически снимается. Но работа с более короткими кадрами в этом случае станет возможной лишь при замене сетевого интерфейса на нестандартный (причем как у отправителя, так и получателя)!

Пакет Ethernet может нести от 46 до 1500 байт данных. Формат MAC-адреса получателя или отправителя показан на рис. 16.3.

Формат MAC-адреса


Рис. 16.3.  Формат MAC-адреса

В верхней части рисунка указана длина полей адреса, в нижней – нумерация разрядов. Субполе I/G представляет собой флаг индивидуального или группового адреса. I/G=0 – указывает на то, что адрес является индивидуальным адресом сетевого объекта. I/G=1 характеризует адрес как мультикастинговый, в этом случае дальнейшее разбиение адреса на субполя теряет смысл. Мультикастинговые адреса позволяют обращаться сразу к нескольким станциям в пределах субсети. Субполе U/L является флагом универсального или местного управления (определяет механизм присвоения адреса сетевому интерфейсу). U/L=1 указывает на локальную адресацию (адрес задан не производителем и ответственность за уникальность лежит на администраторе LAN или на пользователе). U/L=I/G=0 характерно для стандартных уникальных адресов, присваиваемых интерфейсу его изготовителем. Субполе OUI (Organizationally Unique Identifier) позволяет определить производителя сетевого интерфейса. Каждому производителю присваивается один или несколько OUI. Размер субполя позволяет идентифицировать около 4 миллионов различных производителей. За корректность присвоения уникального адреса интерфейса ( OUA – Organizationally Unique Address) несет ответственность производитель. Двух интерфейсов одного и того же производителя с идентичными номерами не должно существовать. Размер поля позволяет произвести примерно 16 миллионов интерфейсов. Комбинация OUI и OUA составляют UAA (Universally Administrated Address = IEEE-адрес).

Если в поле кадра протокол/тип записан код менее 1500, то это поле характеризует длину кадра. В противном случае – это код протокола, пакет которого инкапсулирован в поле данных кадра.

Доступ к каналу Ethernet базируется на алгоритме CSMA/CD (Carrier Sense Multiple Access with Collision Detection). В Ethernet любая станция, подключенная к сети, может попытаться начать передачу пакета (кадра), если кабельный сегмент, к которому она подключена, свободен. Свободен ли сегмент, интерфейс определяет по отсутствию "несущей" в течение 96 бит-тактов. Так как первый бит пакета достигает остальных станций сети не одновременно, может случиться, что попытку передачи совершат две или более станций, тем более что задержки в повторителях и кабелях могут достигать достаточно больших величин. Такие совпадения попыток называются столкновениями. Столкновение (коллизия) распознается по наличию в канале сигнала, уровень которого соответствует работе двух или более трансиверов одновременно. При обнаружении столкновения станция прерывает передачу. Возобновление попытки может быть произведено после выдержки (кратной 51,2 мксек, но не превосходящей 52 мс), значение которой является псевдослучайной величиной и вычисляется каждой станцией независимо ( T= RAND(0,2min(N,10) ), где N – содержимое счетчика попыток, а число 10 — backoffLimit).

Обычно после столкновения время разбивается на ряд дискретных доменов с длиной, равной удвоенному времени распространения пакета в сегменте (RTT). Для максимально возможного RTT это время равно 512 бит-тактам. После первого столкновения каждая станция ждет 0 или 2 временного домена, прежде чем совершить еще одну попытку. После второго столкновения каждая из станций может выждать 0, 1, 2 или 3 временного домена и т.д. После n-го столкновения случайное число лежит в пределах 0 – (2n – 1). После 10 столкновений максимальное значение случайной выдержки перестает расти и остается на уровне 1023.

Теперь рассмотрим поведение сети при наличии k станций, готовых к передаче. Если некоторая станция осуществляет передачу во время домена доступа с вероятностью p, вероятность того, что станция захватит канал, равна:

достигает максимума при . при . Среднее число доменов на один доступ равно 1/А. Так как каждый домен имеет протяженность RTT, то средняя длительность времени доступа составит RTT/A. Если среднее время передачи кадра составляет P секунд, то при большом числе станций, готовых к передаче, эффективность канала составит P/(P+RTT/A).

Таким образом, чем длиннее кабельный сегмент, тем больше среднее время доступа.

После выдержки при столкновении станция увеличивает на единицу счетчик попыток и начинает очередную передачу. Предельное число попыток по умолчанию равно 16; если число попыток исчерпано, связь прерывается и выдается соответствующее сообщение (о недоступности). При этом передаваемый кадр будет безвозвратно потерян.

Длинный кадр способствует "синхронизации" начала передачи пакетов несколькими станциями. Ведь за время передачи с заметной вероятностью может возникнуть необходимость передачи у двух и более станций. В момент, когда они обнаружат завершение пакета, будут включены таймеры IPG. К счастью, информация о завершении передачи пакета доходит до станций сегмента не одновременно. Но задержки, с которыми это связано, являются также причиной того, что факт начала передачи нового пакета одной из станций не становится известным немедленно. При вовлечении в столкновение нескольких станций они могут уведомить остальные станции об этом, послав сигнал "затора" (JAM — не менее 32 бит). Содержимое этих 32 бит не регламентируется. Такая схема делает менее вероятным повторное столкновение. Источником большого числа столкновений (помимо информационной перегрузки) может служить запредельная суммарная длина логического кабельного сегмента, слишком большое число повторителей, обрыв кабеля или неисправность одного из интерфейсов. Но сами по себе столкновения не являются чем-то негативным – это механизм, регулирующий доступ к сетевой среде.

Под логическим кабельным сегментом (иногда называемым областью столкновений ) подразумевается один или несколько кабельных сегментов, объединенных повторителями. Анализ столкновений является одним из средств эффективной диагностики сети. Локальные столкновения ( столкновения на сегменте, к которому непосредственно подключена рабочая станция) порождают укороченные пакеты-фрагменты (ведь их передача прерывается). Большинство трансиверов и репитеров имеют на своих передних панелях индикаторы столкновений. Блок-схема реализации протокола CSMA/CD показана на рис. 16.4. Особое внимание я бы хотел обратить на влияние сигнала JAM. В процессе пересылки столкнувшихся пакетов и за время передачи сигнала JAM другие узлы могли захотеть что-то передать. Если таких узлов больше одного, то это приведет к синхронизации начала передачи этими узлами и к увеличению вероятности столкновения. Такая синхронизация является причиной "коллапса" сети при большой загрузке.

Что будет, если превышено допустимое число повторителей (или превышена предельно допустимая длина кабелей) в сетевом сегменте? Добавление повторителя (хаба) приведет к увеличению задержки RTT. А это означает, что при минимальной длине пакета (64 байта) возможна ситуация, когда передача такого пакета завершится раньше, чем отправитель обнаружит столкновение. Кадр не будет доставлен, так как принимающая сторона его отвергнет из-за ошибки в CRC, а отправитель сможет узнать об этом лишь на прикладном уровне. Конечно, кадр после этого может быть послан повторно и в конце концов доставлен. Но это потребует ресурса центрального процессора, на порядок увеличится задержка доставки, в то время как при выполнении сетевых регламентаций задача решается на уровне сетевой карты. Я уж не говорю о том, что в случае UDP-дейтограмм при передаче, например, голосовых данных, это приведет к потере информации (там, на прикладном уровне, не выполняется контроль доставки). Следует иметь в виду, что даже если машины соединены кабелем нулевой длины, столкновение все равно возможно, так как машины могут начать передачу кадра одновременно. Это становится невозможным, если прием и передача производится через разные скрученные пары, а повторители не используются. Синхронизирующим фактором может служить передача кадра третьей машиной. Тогда не важно, когда эти две машины пожелали что-либо передать, — начнут они свою передачу по завершении передачи кадра третьей машиной.

Обойти проблему роста вероятности столкновений в сети можно, исключив из сети повторители и строя сеть исключительно на основе переключателей и маршрутизаторов, работающих в полнодуплексном режиме.

Блок-схема алгоритма доступа CSMA/CD показана на рис. 16.4. Для диагностики работы физического уровня могут использоваться специальные сетевые тестеры или анализаторы. Для поиска обрывов или коротких замыканий в кабелях наиболее эффективны доменные рефлектометры.

Программа активируется при необходимости передать кадр. При этом счетчик попыток устанавливается в нуль. Проверка занятости сегмента осуществляется постоянно, и, если в течение 96 бит-тактов сегмент свободен, то, если требуется, запускается передача.

Если в ходе передачи зарегистрировано столкновение, посылается сигнал JAM и счетчик попыток инкрементируется. После этого вычисляется задержка следующей попытки, и выполнение алгоритма возвращается в исходную точку. Если содержимое счетчика попыток превысит 16, сессия прерывается.

Метод CSMA/CD создает неопределенность времени доступа к сети, что делает ее неудобной для решения некоторых задач управления в реальном масштабе времени, где требуется малое время реакции системы на внешнее воздействие.

Исторически первой появилась схема подключения к толстому 50-омному коаксиальному кабелю (сегмент 1 на рис. 16.5; Z = 50 Ом ) через трансивер и многожильный кабель типа AUI (Attachment Unit Interface, максимальная длина 50 м). Кабельный сегмент должен быть согласован с обеих сторон с помощью терминаторов (50 Ом).



Рис. 16.4. 

Типовые современные варианты сетевых сегментов имеют номера 3 и 4 (на рис. 16.5).

Полагаю, что и скрученные пары уступят со временем свои позиции оптоволоконным кабелям (когда их цена будет низкой, а стандартное быстродействие станет больше или равно 1 Гбит/c).

Схема некоторых возможных вариантов подключения рабочих станций к Ethernet


Рис. 16.5.  Схема некоторых возможных вариантов подключения рабочих станций к Ethernet

Схема интерфейса на уровне MAU (Medium Attachment Unit) в упрощенном виде имеет вид, показанный на рис. 16.6.

Схема Signal Quality регистрирует коллизии и другие искажения сигнала и выдает в этом случае флаг SQE (Signal Quality Error). SQE представляет собой сигнал CS0, посылаемый от MAU к DTE (точнее, PMA к PLS). Сигнал SQE посылается MAU также в случае завершения процесса передачи ( output_idle ). Узел ISOLATE служит для блокировки передачи данных в сетевую среду, при этом DTE передает MAU сигнал CS0.

Схема интерфейса на уровне MAU


Рис. 16.6.  Схема интерфейса на уровне MAU

Помимо столкновений в сети может быть зарегистрировано появление ложной несущей ( FCE — False Carrier Event) — битовая последовательность не имеет байта SFD, соответствующего конкретному типу физической среды. Появление ложной несущей обычно связано с состоянием кабеля или шумами. Если фиксируется появление двух ложных несущих подряд, повторитель должен отключить порт (перевести в состояние LINK UNSTABLE) и послать сигнал JAM во все остальные порты. Сигнал JAM должен продолжаться до конца потока данных, вызвавшего появление ложной несущей. Если канал восстановлен, повторитель переводит порт в нормальное состояние. Отключение порта возможно также при возникновении множественных коллизий ( ECE — Excessive Collision Error) — более 60 коллизий подряд. После блокировки порта он будет восстановлен, если в течение 500 тактов коллизии не обнаружены или при повторном включении повторителя.

Если рассмотреть зависимость пропускной способности сети L от ее суммарной загрузки Lin, мы для Ethernet получим кривую, показанную на рис. 16.7.



Рис. 16.7. 

Вначале эта зависимость линейна, и на участке А пропускная способность удовлетворительна. Но при больших входных загрузках из-за коллизий сначала наступает насыщение за счет резкого роста процента потерянных пакетов, а затем и резкий спад (Ethernet collapse). Если в сети не используются повторители и нет сегментов на основе коаксиального кабеля, причины для коллапса исчезают.

Учитывая эту особенность Ethernet, создатели сетей должны ориентироваться не на предельно допустимые длины сегментов (потом пригодится), а на минимально необходимые длины. Чем меньше длина логического сегмента, тем меньше вероятность столкновения и тем больше его реальная пропускная способность (меньше длина домена (RTT)). А еще лучше – исключить из пользования повторители.

Помимо уже описанных модификаций сетей Ethernet в последнее время получили распространение сети для частот 100 Мбит/с ( FE ), 1000 Мбит/с ( GE ), которые базируются на каналах, построенных из скрученных пар или оптоволоконных кабелей, а также 10 Гбит/с ( 10GE и даже 100GE). Оптические связи используются и в обычном 10-мегабитном Ethernet (10BASE-FL, стандарт разработан в 1980 году, см. рис. 16.8). Наиболее часто это делается при прокладке сетевых сегментов между зданиями, чтобы исключить проблемы разности потенциалов между их землями.

Оптоволоконная версия Ethernet привлекательна при объединении сегментов сети, размещенных в различных зданиях, при этом увеличивается надежность сети, так как ослабляется влияние электромагнитных наводок. Облегчается переход от 10- к 100-мегагерцному Ethernet, ведь можно использовать уже имеющиеся оптоволоконные каналы, они будут работать и на 1 Гбит/с (возможна реализация сетей со смешанной структурой, где применяется как 100-, так и 10-мегагерцное оборудование). На программном уровне 10-, 100- и 1000-МГц Ethernet неразличимы.

Требования к параметрам оптоволоконных кабелей не зависят от используемого протокола (FDDI, Token Ring, Fast Ethernet и т.д.) и определяются документом EN 50173 (European Norm). Это утверждение не относится к топологии кабельных связей, которые в общем случае зависят от используемого протокола. При работе с оптоволоконными системами необходимы специальные тестеры, способные измерять потери света и отражения методом OTDR (рефлектометрия с использованием метода временных доменов). При пассивной звездообразной схеме длины оптоволоконных сегментов могут достигать 500 метров, а число подключенных ЭВМ — 33. Для передачи сигналов на расстояния до 2 км используются многомодовые волокна ( MMF ) с диаметром ядра 62,5 микрон и клэдинга 125 микрон. Длина волны излучения равна 850 (или 1350) нанометров при ослаблении сигнала в кабельном сегменте не более 12,5 дБ. Обычный кабель имеет ослабление 4-5 дБ/км. Оптические разъемы должны соответствовать требованиям стандарта ISO/IEC BFOC/2,5 и вносить ослабление не более 0,5-2,0 дБ. Количество используемых MAU в логическом сегменте не должно превышать двух.

Схема 10-мегагерцового оптоволоконного Ethernet


Рис. 16.8.  Схема 10-мегагерцового оптоволоконного Ethernet

На данном рисунке видно, что соединения повторителя с FOMAU (Fiber Optic Medium Attachment Unit) является дуплексным, аналогичные возможности предоставляют многие современные переключатели. Полнодуплексное подключение оборудования во многих случаях может обеспечить практическое удвоение скорости обмена и, что, возможно, более важно, исключить столкновения пакетов. Кабель AUI может быть заменен скрученной парой, последнее в большей мере отвечает духу времени. Длина такого кабеля может быть несколько больше. Схема полнодуплексного соединения показана на рис. 16.9.

Схеме реализации полно дуплексного канала Ethernet. (Буква К с цифрой отмечает номера ножек контактов разъема)


Рис. 16.9.  Схеме реализации полно дуплексного канала Ethernet. (Буква К с цифрой отмечает номера ножек контактов разъема)

В заключение — небольшая история из опыта эксплуатации сети в ИТЭФ. Локальная сеть у нас началась в 1987 году с одного сегмента "толстого" Ethernet, который соединял VAX с PDP11/40, вовлеченных в обработку данных по аттестации камер для эксперимента L3 в ЦЕРН. Почти все компоненты этой сети пришлось у кого-то одалживать. Дальше дело пошло неожиданно быстро, особенно если учитывать нашу тогдашнюю бедность. Мы прокладывали сегмент за сегментом. Один из них проходил из одного здания, прилегавшего к циклическому ускорителю У-10, к зданию медицинского пучка. Кабель был подвешен к стальному тросу. Но, на его беду, в одном месте он проходил примерно в 1,5-1,7 метрах от земляной обваловки ускорителя. Нас это обстоятельство нисколько не беспокоило, так как это было в радиационно опасной зоне, куда люди попасть не могли. Но спустя несколько лет мы убедились в своем легкомыслии.

На территории ИТЭФ жила стая собак во главе с рыжим вожаком, которого звали Чубайс. Сотрудники их подкармливали, и все шло тихо и мирно. Но однажды мы обнаружили обрыв связи между указанными корпусами. Провели диагностику и по отражению сигнала определили место обрыва. Каково же было наше удивление, когда мы выяснили, что участок кабеля длиной около 20 см сильно изгрызен. Наблюдение показало, что собаки использовали близость кабеля от земли, подпрыгивали и повисали на нем, как на спортивном снаряде (а может быть, они так хотели подключиться к Интернет?). С тех пор в одной из комнат моей лаборатории на стене висит отрезок того изгрызенного кабеля…

При практической реализации локальной сети обычно возникает проблема защиты и заземления. Если этой проблеме не уделить внимание в самом начале, она даст о себе знать позднее и обойдется дороже. Можно выделить три аспекта: безопасность персонала, работающего с ЭВМ и сетевым оборудованием, устойчивость к внешним наводкам и помехам, а также безопасность самого сетевого оборудования (противостояние грозовым разрядам или резким скачкам в сети переменного тока). Безопасность персонала обеспечивается тем, что все объекты, до которых может дотронуться человек, должны иметь равные потенциалы и в любом случае разница потенциалов не должна превышать 50 вольт. При работе с коаксиальным кабелем существуют рекомендации его заземления в одной точке. Возникает вопрос: что делать с заземлением экранов в случае использования экранированных скрученных пар? Этой проблеме посвящена, например, статья в журнале LANline Special Juli/August 2002, стр. 27-32. Следует сразу заметить, что нужно избегать применения экранированных и неэкранированных скрученных пар в пределах одной системы. Представляется также естественной и разумной зонная концепция, рассматриваемая в упомянутой статье. На рис. 16.10 показана схема защиты. Эта схема содержит защитные выключатели на случай грозы или бросков напряжения (линия L). Буквой N обозначена нулевая (нейтральная) шина, а буквами PE — защитная шина.

Схема защиты для случая использования экранированных скрученных пар


Рис. 16.10.  Схема защиты для случая использования экранированных скрученных пар

Земли.экраны соседних зон соединяются только в одной точке (рис. 16.11). Между зонами могут включаться пограничные устройства фильтрации, предназначенные для снижения уровня шумов и помех. В пределах зоны все устройства должны быть эквипотенциальны. Это достигается за счет подключения к общему экрану.

Зоны заземлений


Рис. 16.11.  Зоны заземлений

Следует учитывать, что для сетей Ethernet практически нет ограничений по размеру (за счет использования оптоволоконных переключателей). Сеть может быть локальной, общегородской или даже междугородней.

16.2. Повторители, мосты, мультиплексоры, переключатели и маршрутизаторы

На физическом уровне ( L1 ) пакет представляет собой цуг импульсов, распространяющихся по коаксиальному кабелю, скрученной паре или оптическому волокну. За счет дисперсии, частичных отражений от точек подключения и поглощению в среде импульсы в пакете "расплываются" и искажаются (ухудшается отношение сигнал/шум), это является одной из причин ограничения длин кабельных сегментов. Для преодоления этих ограничений вводятся сетевые повторители (repeater/hub). Повторитель воспринимает входные импульсы, удаляет шумовые сигналы и передает вновь сформированные пакеты в следующий кабельный сегмент или сегменты. Никакого редактирования или анализа поступающих данных не производится. Задержка сигнала повторителем не должна превышать 7,5 бит-тактов.

Все входы/выходы повторителя с точки зрения пакетов эквивалентны. Если повторитель многовходовый, то пакет, пришедший по любому из входов, будет ретранслирован на все остальные входы/выходы повторителя. Чем больше кабельных сегментов объединено повторителями, тем больше загрузка всех сегментов. При объединении нескольких сегментов с помощью повторителя загрузка каждого из них становится равной сумме всех загрузок до объединения. Повторители являются сетевыми приборами уровня L1 (физический уровень). Некоторые повторители контролируют наличие связи между портом и узлом (Link Status), регистрируют коллизии и затянувшиеся передачи (Jabber — ситуация, когда узел осуществляет передачу дольше, чем это предусмотрено протоколом), выполняют согласование типа соединения (Autonegotiation). Иногда они имеют SNMP-поддержку.

Для преодоления нежелательного объединения трафика используются сетевые мосты или переключатели (уровень L2 ). Мост соединяет два сегмента сети (см. рис. 16.12), при инициализации он изучает списки МАС-адресов устройств, подсоединенных к каждому из сегментов. В дальнейшем мост записывает в свою память эти списки и пропускает из сегмента в сегмент лишь транзитные пакеты. Читатели могут встретиться и с мостами, связывающими различные сети класса 802, например, между сетью 802.3 и 802.4. Такого типа мосты несравненно сложнее и при их применении нужно хорошо понимать алгоритмы работы обеих сетей.

Схема сетевого моста


Рис. 16.12.  Схема сетевого моста

Мост является активным устройством, которое способно адаптироваться к изменениям в окружающей сетевой среде. При этом пакеты, отправленные из сегмента А и адресованные устройству, которое подключено к этому же сегменту, никогда не попадут в сегмент Б, и наоборот. Через мост проходят лишь пакеты, отправленные из сети А в Б или из Б в А. Все входы моста или переключателя работают в режиме 6 (promiscuous mode) и воспринимают все приходящие пакеты. Интерфейсы входов/выходов, как правило, не имеют физических адресов (МАС). Исключение составляют случаи сетевого оборудования с поддержкой SNMP/MIB.

Функцию моста с определенными скоростными ограничениями может выполнять и обычная ЭВМ, имеющая два сетевых интерфейса и соответствующее программное обеспечение. Мосты и переключатели при разумном перераспределении серверов и рабочих станций по сетевым сегментам позволяют выровнять и даже эффективно снизить среднюю сетевую загрузку. Когда на один из входов моста приходит пакет, производится сравнение адреса получателя с содержимым внутренней таблицы переадресации. Если адрес в таблице отсутствует, мост посылает пакет в порт, противоположный тому, откуда получен данный пакет. Понятно, что появление в субсетях A и Б двух объектов с идентичными адресами ни к чему хорошему не приведет. Параллельно анализируется и адрес отправителя и, если этот адрес в таблице отсутствует, производится его запись в банк адресов соответствующего порта. В таблицу записывается также время записи адреса в базу данных. Содержимое таблицы переадресации периодически обновляется. К любой подсети может вести несколько путей, но для нормальной работы мостов и переключателей все пути, кроме одного, должны быть заблокированы. Функциональная схема работы моста показана на рис. 16.13.

Если мост включен достаточно долго, а алгоритм обновления таблиц несовершенен, возможна ситуация переполнения таблицы, так как появляются все новые ЭВМ и адреса (а старые записи не уничтожаются). Тогда последствия могут стать непредсказуемыми. В этом случае у администратора может не остаться выбора, за ислючением нажатия кнопки Reset или выключения и повторного включения сетевого питания моста (если соответствующей кнопки сброса нет).

Сети, между которыми включается мост, не обязательно должны работать согласно идентичным протоколам. Возможны мосты между Ethernet и Token Ring или между Ethernet и ATM.

Блок.схема работы сетевого моста


Рис. 16.13.  Блок.схема работы сетевого моста

Мост, имеющий более двух портов, называется переключателем (switch). Как мост, так и переключатель, являясь сетевыми устройствами уровня L2, оперируют с MAC-адресами. Первый переключатель был разработан фирмой Калпане в 1991 году. Иногда переключатели называются маршрутизаторами, тем более что некоторые из них поддерживают внутренние протоколы маршрутизации (например, RIP). Некоторые современные переключатели способны фильтровать пакеты по IP-адресам и даже портам (L4!). Переключатели имеют внутреннюю параллельную магистраль очень высокого быстродействия (от десятков мегабит до гигабит в секунду). Эта магистраль позволяет переключателю совместить преимущества повторителя (быстродействие) и моста (разделение информационных потоков) в одном устройстве. Схемы реализации переключателей варьируются значительно, каких-либо единых стандартов не существует. Алгоритм работы с адресами здесь тот же, что и в случае мостов. В переключателе все входы идентичны, но внешняя информация, записанная в их память, делает входы неэквивалентными. Рассмотрим схему сети, показанную на рис. 16.14. В последнее время переключатели стали наиболее широко используемыми сетевыми приборами, так как они практически исключают столкновения .

Пример сети с тремя переключателями и четырьмя субсетями


Рис. 16.14.  Пример сети с тремя переключателями и четырьмя субсетями

Если предположить, что в каждой из субсетей содержится порядка 250 ЭВМ, то число записей в хэш-таблицах переключателей может достигать 1000, и это не предел. Ведь любой из переключателей должен знать, куда передавать кадры, адресованные ЭВМ из любой субсети. К сожалению, поставщики сетевого оборудования редко сообщают предельные объемы маршрутных таблиц. Переключатели — это приборы для небольших сетей (или субсетей), где доступ к остальному миру осуществляется через специальный шлюз. На рис. 16.15 приведена схема 8-входового переключателя.

Схема 8-входового сетевого переключателя


Рис. 16.15.  Схема 8-входового сетевого переключателя

В отличие от повторителей, число мостов/переключателей в локальной сети не регламентировано. Переключатели позволяют построить сеть практически неограниченного размера, например, Москва—Пекин.

Определенные проблемы возникают, когда к одному из входов переключателя подключен сервер, с которым работают пользователи, подключенные к остальным входам. Если все ЭВМ, подключенные к переключателю, одновременно попытаются обратиться к серверу, переключатель перегрузится. Некоторые типы переключателей способны в случае перегрузки посылать отправителям ICMP-уведомления. При данной схеме вероятность таких событий значительна, так как несколько каналов работают на один общий канал с той же полосой пропускания. Для преодоления проблем этого рода следует распределять нагрузки между портами переключателя равномерно, а также подключать серверы через полнодуплексные каналы. Полнодуплексные каналы полезны и для соединения переключателей между собой. Современные переключатели имеют много различных возможностей – SNMP поддержка, автоматическая настройка быстродействия и определения типа соединения (дуплексная/полудуплексная). Имеется возможность внешней загрузки программы работы переключателя. Способы проверки производительности переключателей описаны в документах RFC-1242 и RFC-1944 (тесты Бреднера, см. http://www.wiley.com/compbooks/FastEthernet и http://www.tolly.com).

Существуют переключатели, работающие в режиме "на пролет" ( cut through ). Здесь первые биты пакета поступают на выход переключателя, когда последующие еще только приходят на вход. Задержка в этом случае минимальна (определяется временем приема и анализа МАС-адреса назначения), но переключатель пропускает через себя поврежденные пакеты. Альтернативой такому режиму является передача через буферную память (схема передачи SAF – Store And Forward). Поврежденные пакеты в этом режиме отбрасываются, но задержка заметно возрастает, так как кадр должен быть принят полностью, прежде чем будет принято решение о переадресации. Кроме того, буферная память должна иметься на всех входах (или должна использоваться общая многопортовая). При проектировании сетей следует иметь в виду, что переключатели превосходят маршрутизаторы по соотношению производительность/цена.

Но при проектировании сетей с большим числом машин рекомендуется применять маршрутизаторы, где администратору предоставляются дополнительные инструменты структурирования сети.

Маршрутизаторы являются сетевыми устройствами уровня L3 и оперируют с IP-адресами.

При проектировании локальной сети следует учитывать то обстоятельство, что узлы с самым напряженным трафиком должны располагаться как можно ближе к мосту или переключателю. Вообще нужно минимизировать задержку в сетевом сегменте (особенно при использовании концентраторов). В этом случае среднее число коллизий в единицу времени будет ниже. По этой причине сервер должен располагаться как можно ближе к переключателю или маршрутизатору.

Схема внутренних связей переключателя может отличаться от приведенной на рис. 16.15 и иметь конфигурацию, показанную на рис. 16.16. Привлекательность такой схемы заключается в возможности реализации обмена по двум непересекающимся направлениям одновременно (см. LAN, Журнал сетевых решений, май 1998, том 4, № 5, стр. 21, Дмитрий Ганжа, "От разделяемых к коммутируемым сетям"). При этом эффективная пропускная способность многопортового переключателя может в несколько раз превосходить полосу пропускания сети.

Вариант схемы внутренних связей переключателя


Рис. 16.16.  Вариант схемы внутренних связей переключателя

Схема подключения сервера к переключателю


Рис. 16.17.  Схема подключения сервера к переключателю

При использовании в сети большого числа мостов и/или переключателей (SW) может сформироваться топология связей, когда от одного сегмента к другому пакет может попасть более чем одним путем (см. рис. 16.18). Проблема связана с тем, что на фазе заполнения таблиц мостов и переключателей эти устройства перенаправляют пакет на все выходы, кроме того, через который он пришел. Такой алгоритм работы с неизбежностью приведет к зацикливанию пакетов и блокировке каналов. Если такая схема реализована уже после того, как маршрутные таблицы сформированы, первый же пакет с неизвестным (например, ошибочным) адресом вызовет катастрофу.

При проектировании локальной сети следует помнить, что ее граф не должен содержать циклических структур, как это, например, имеет место на рис. 16.18 .



Рис. 16.18. 

Приведенная на рисунке 16.19 схема также неработоспособна и некоторые связи должны быть ликвидированы. В данном конкретном примере проблема может быть решена удалением мостов BR-2 и BR-3 или разрывом связей, помеченных символом "X".

Проблему ликвидации связей, способных привести к зацикливанию, решает протокол STP (Spanning Tree Protocol; алгоритм предложен Перлманом в 1992 году), который автоматически блокирует некоторые соединения, а в случае недоступности основного пути открывает эти заблокированные соединения, обеспечивая высокую надежность сети. STP является частью протокола мостов IEEE 802.1d. В сущности STP преобразует граф сети к древовидной структуре (которая не имеет замкнутых маршрутов). Можно также утверждать, что STP является динамическим протоколом маршрутизации, повышающим надежность сети.

При использовании протокола STP каждой связи присваивается на стадии конфигурации определенный вес (чем меньше, тем выше приоритет). Мосты периодически рассылают специальные сообщения ( BPDU — Bridge Protocol Data Unit), которые содержат коды их уникальных идентификаторов, присвоенные им при изготовлении. Мост или переключатель с наименьшим значением такого кода становится корневым ("корень дерева"). Затем выявляется наикратчайшее расстояние от корневого моста/переключателя до любого другого моста или переключателя в сети. Граф, описывающий дерево наикратчайших связей, и является "деревом связей". Такое дерево включает все узлы сети, но необязательно все мосты/переключатели. Этот алгоритм функционирует постоянно, отслеживая все топологические изменения.

Современные мосты позволяют создавать виртуальные субсети ( VLAN ), увеличивающие сетевую безопасность (см., например, рис. 16.20). Такие виртуальные сети удобны, когда в пределах одного здания размещаются две или более небольших фирмы, которые не хотели бы, чтобы их пакеты попадали соседям. При этом не следует переоценивать уровень безопасности VLAN.

VLAN позволяет ограничить зону распространения широковещательных пакетов, улучшая эксплуатационные характеристики сети в целом.

Пример реализации алгоритма "дерево связей" (STP)


Рис. 16.19.  Пример реализации алгоритма "дерево связей" (STP)

В стандарте IEEE 802.1p предусмотрено разделение трафика по приоритетам (QoS). В IEEE 802.1q предусмотрено 8 уровней приоритета. Данная технология была реализована в сети 100VG-AnyLan (IEEE 802.12), где были предусмотрены очереди с высоким приоритетом (HPQ). 3-битовые коды CoS присваиваются пользователем. Поле CoS является частью 32-битовой метки пакета в стандарте 802.1q. Значения кодов CoS перечислены в таблице 16.01 (см. также http://book.itep.ru/4/44/qos_lan.htm).

Таблица 16.01. Классы трафика CoS (IEEE 802.1q)
Код приоритета пользователяКласс приоритета трафика
111Критически важный для сети <7>
110Голосовой интерактивный <6>
101Мультимедийный интерактивный <5>
100Мультимедийный потоковый <4>
011Важный для дела <3>
010Стандартный <2>
001Фоновый <1>
000Наинизший <0>

VLAN могут строиться согласно протоколу IEEE 802.3ac (если имеющееся оборудование его поддерживает). Формат кадра этого протокола показан на рис. 16.20. Кадр при попадании во входной интерфейс VLAN снабжается 4-октетной меткой, которая анализируется коммутаторами 802.1q. Эта метка размещается в заголовке кадра между полями адреса отправителя и длины кадра (см. рис. 16.20). Когда кадр покидает VLAN, метка из кадра удаляется. В остальных свойствах форматы кадров 802.3 и 802.3ас совпадают.

Формат кадра уровня L2 в случае использования протокола 802.3ас


Рис. 16.20.  Формат кадра уровня L2 в случае использования протокола 802.3ас

Некоторые современные мосты используют так называемую маршрутизацию отправителя (source routing). Такая маршрутизация предполагает, что отправитель знает, находится ли адресат в пределах локальной сети, и может оптимально определить путь доставки. При посылке кадра другой сети отправитель устанавливает старший бит своего адреса равным единице. Одновременно в заголовке кадра прописывается весь маршрут. Каждой сети присваивается 12-битовый идентификатор, а каждому мосту ставится в соответствие 4-битовый код, уникальный в контексте данной сети. Это означает, что мосты в пределах одной сети должны иметь разные идентификаторы, но их коды могут совпадать, если они находятся в разных сетях. Мост рассматривает только кадры с единицей в старшем бите адреса места назначения. Для этих кадров просматриваются коды сети в списке, записанном в заголовке. Если в списке содержится код, совпадающий с тем, который характеризует сеть, где находится мост, кадр переадресуется в эту сеть. Реализация алгоритма может осуществляться программно или аппаратно. Если путь до места назначения неизвестен, отправитель генерирует специальный пакет, посылаемый широковещательно (discovery frame) и достигающий всех мостов и всех субсетей. Когда приходит отклик от адресата, мосты записывают его идентификатор, а первичный отправитель фиксирует маршрут до адресата. Данный алгоритм достаточно прост, но сопряжен с лавинным размножением "исследовательских" пакетов, особенно в случае, когда смежные сети соединяются через несколько мостов/переключателей.

Обеспечение QoS предполагает два процесса: выделение определенного субпотока (класса трафика) и обеспечение заданного класса сервиса для этого субпотока.

Следующим шагом в направлении развития технологии виртуальных локальных сетей является протокол IEEE 802.1Q (1998 год, см. grouper.ieee.org/groups/802/1/pages/802.1v.html). Так как здесь приходится иметь дело с Ethernet, где нет возможностей ввести дополнительные поля, например, поле идентификатора VLAN, задача достаточно деликатна. Нельзя забывать о сотнях миллионах владельцах сетевых карт... Одним из возможных решений является подход, реализованный в протоколе коммутации кадров по меткам (см. раздел MPLS). К счастью, поле идентификатора VLAN должно использоваться переключателями и маршрутизаторами, а не ЭВМ пользователей. Если сетевая карта не формирует идентификатор VLAN, он должен быть сформирован первым встретившимся переключателем или маршрутизатором. Выходной переключатель или маршрутизатор VLAN должны удалять эти идентификаторы. Эффективность технологии виртуальных локальных сетей будет много выше, когда стандарт 802.1Q будет поддерживаться сетевыми картами ЭВМ. Маршрутные таблицы в переключателях формируются автоматически с привлечением алгоритма Перлмана (описан в стандарте 802.1D).

Поле идентификатор протокола VLAN (IDP VLAN) имеет длину два байта и содержит код 0х8100 (см. рис. 16.21). Поскольку это число больше 1500, сетевые карты Ethernet будут интерпретировать его как тип, а не как длину. Как будет реагировать карта и машина, не поддерживающая 802.1Q, получив такой кадр, сказать трудно. По этой причине это следует по возможности исключить. Структура полей флаг и длина представлена в нижней части рисунка. Поле идентификатор VLAN имеет длину 12 бит и определяет, какой виртуальной сети принадлежит кадр. Поле приоритет (три бита) позволяет выделять трафик реального времени, трафик со средними требованиями и трафик, для которого время доставки не критично. Это открывает возможность использования Ethernet для задач управления и обеспечения качества обслуживания при транспортировке мультимедийных данных. Однобитовое поле CFI (Canonical Format Indicator) первоначально определял, прямой или обратный порядок байт используется. В настоящее время его функцией (=1) является указание того, что в поле данных содержится кадр 802.5.

Формат кадра протокола 802.1q


Рис. 16.21.  Формат кадра протокола 802.1q

Группа IETF, разрабатывающая систему обеспечения требуемого уровня услуг на специфических нижних уровнях ISSLL (Integrated Services over Specific Lower Layers), предлагает способы отображения запросов протокола резервирования уровня L3 (RSVP) на 802.1р с помощью системы управления полосой пропускания субсети SBM (Subnet Bandwidth Manager) (см. http://www.ietf.org/html.charters/issll.charter.html.) Протокол SBM предполагает, что одна из станций в субсети выполняет функцию DSBM (Designated SBM) и осуществляет управление доступом для всех запросов на резервирование ресурсов, посылаемых DSBM-клиентами. При работе протокола SBM используются мультикастинг-адреса 224.0.0.17 (все станции прослушивают этот адрес), а DSBM-кандидаты прослушивают — 224.0.0.16. Данная технология может использоваться, например, в IP-телефонии (TDMoIP — Time Division Multiplexing over IP). В этом случае UDP-порт порт получателя равен 2142.

Маршрутизатор отличается от переключателя тем, что поддерживает хотя бы один протокол маршрутизации. Существуют внутренние и внешние протоколы маршрутизации. Если маршрутизатор осуществляет связь данной автономной системы с другими автономными системами, его называют пограничным (border). Маршрутизатор же, который имеет только один внешний канал связи, в литературе часто называют gateway (входной шлюз сети). Любой маршрутизатор может поддерживать в любой момент только один внутренний и один внешний протокол маршрутизации, выбор этих протоколов осуществляет администратор сети из имеющегося списка. Маршрутизаторы представляют собой наиболее сложные сетевые устройства.

Одним из основных достоинств маршрутизаторов в локальной сети является ограничение влияния потоков широковещательных сообщений.

Обязательным компонентом маршрутизатора является таблица маршрутизации, которая формируется протоколом маршрутизации или сетевым администратором. По мере роста скорости каналов связи возрастали требования к быстродействию внутренней шины этих аппаратов. На рис. 16.22 показана крайне упрощенная схема такого устройства.

Схема обработки пакетов в маршрутизаторе


Рис. 16.22.  Схема обработки пакетов в маршрутизаторе

Минимальное расстояние между последовательными IP-адресами места назначения, которые маршрутизатор должен обработать, определяется IPG=96 бит-тактом (бт), МАС-заголовком (176 бт), и IP-заголовком (128 бт). При поле данных нулевой длины период следования IP-адресов может достигать 432 бит-тактов. Для гигабитного Ethernet это составляет 432 нс. За это время маршрутизатор должен просмотреть 100-Мбайтную маршрутную таблицу и принять решение, через какой из выходных портов передать данный пакет. Необходимость гарантирования определенного качества обслуживания (QoS) ужесточают требования к системе буферизации (увеличивается число очередей). Таким образом, одной из самых сложных субсистем маршрутизатора является устройство буферизации пакетов.

В последнее время заметное распространение получил гибрид маршрутизатора и моста – brouter. Некоторые протоколы (например, NetBIOS) не допускают маршрутизации. Когда необходимо использовать такие протоколы совместно с TCP/IP, необходим brouter. Широко применяются такие приборы в сетях Token Ring.

Особый класс образуют мультиплексоры/демультиплексоры, которые используют собственные протоколы и служат для предоставления общего канала большему числу потребителей. Эти устройства широко задействованы при построении сетей типа Интранет (корпоративные сети, где субсети разных филиалов разнесены на большие расстояния). Такие сети строятся на базе специальных выделенных (физических или виртуальных) каналов, а мультиплексоры позволяют использовать эти каналы для предоставления комплексных услуг (телефонной связи, передачи факсов и цифровой информации), экономя значительные средства.

Если перед вами стоит задача создания локальной сети с выходом в Интернет, вам нужно последовательно решить ряд проблем, помимо финансовых. Должны быть сформулированы задачи, ради которых эта сеть создается, определена топология сети и ее быстродействие, число сегментов и характер их связей, число ЭВМ-участников, определен сервис-провайдер, или провайдеры, если вам нужно обеспечить более высокую надежность и живучесть сети. Вам надо оценить требуемую загрузку сегментов сети и внешних каналов связи, выбрать программную среду (ОС). После этого вы можете приступить к составлению списка необходимого оборудования и программного обеспечения. Если ваша сеть является оконечной и она имеет только один внешний канал связи, то вам не нужен маршрутизатор и вы можете ограничиться переключателем или ЭВМ-шлюзом (gateway), которая должна иметь необходимый интерфейс. Внешним каналом может стать коммутируемая телефонная сеть, выделенная телефонная линия, оптоволоконный кабель, спутниковый или радиорелейный канал. Во всех перечисленных случаях вам будет необходим соответствующий модем.

16.3. Fast Ethernet

100-мегагерцную сеть Ethernet ( FE ) дешевле создать на базе скрученных пар. Существует несколько версий 100-мегагерцного Ethernet ( 100BASE-T4, 100BASE-TX, 100BASE-FX, стандарт 100VG-AnyLAN — IEEE 802.12).

Сегменты TX (100BASE-TX, стандарт ANSI TP-PMD) состоят из двух скрученных пар проводов информационного качества (волновое сопротивление 100-150 Ом, экранированные и неэкранированные скрученные пары проводов категории 5, длина до 100 м).

FX -сегменты (100BASE-FX) представляют собой оптоволоконные кабели, отвечающие требованиям стандарта ANSI. Мультимодовое волокно 62,5/125 (см. выше) работает в инфракрасном диапазоне 1350 нм. Максимальная длина сегмента (в случае использования повторителей) составляет 412 метров, ограничение определяется соображениями допустимых задержек. Предельное ослабление сигнала в волокне не должно превышать 11 дБ, стандартный кабель имеет 1-5 дБ/км. Оптические разъемы должны отвечать требованиям MIC (Media Interface Connector).

Для того чтобы выявить, к какой модификации относится тот или иной сегмент, разработан специальный протокол распознавания, позволяющий строить сети, которые содержат оборудование и кабельные сегменты, отвечающие разным требованиям.

Физическая среда служит для передачи сигналов Ethernet от одной ЭВМ к другой. Выше были перечислены виды физических сред, используемых 100-мегагерцным Ethernet (T4, TX и FX). Здесь используется 8-контактный разъем (RJ-45) для скрученных пар или специальный оптоволоконный соединитель. Блок PHY (физический уровень) выполняет ту же функцию, что и трансивер в 10-мегагерцном Ethernet. Он может представлять собой набор интегральных схем в сетевом порту или иметь вид небольшой коробочки на MII-кабеле. Интерфейс MII является опционным, он может поддерживать работу с 10- и 100-мегагерцным Ethernet. Задачей MII является преобразование сигналов, поступающих от PHY, в форму, приемлемую для стандартного набора ИС Ethernet. Соединительный кабель не должен быть длиннее 0,5 м. PHY и MII могут быть объединены на одной интерфейсной плате, вставляемой в ЭВМ.

В сетях 100-мегагерцного Ethernet могут использоваться повторители двух классов ( I и II ). Задержки сигналов в повторителях класса I больше (~140 нс = 14 бит-тактов), зато они преобразуют входные сигналы в соответствии с регламентациями, применяемыми при работе с цифровыми кодами. Такие повторители могут соединять каналы, отвечающие разным требованиям, например, 100BASE-TX и 100BASE-T4 или 100BASE-FX. Преобразование сигнала может занимать время, соответствующее передаче нескольких бит, поэтому в пределах одного логического сегмента может быть применен только один повторитель класса I, если кабельные сегменты имеют предельную длину. Повторители часто имеют встроенные возможности управления с использованием протокола SNMP.

Повторители класса II имеют небольшие задержки, но никакого преобразования сигналов здесь не производится. Логический сегмент может содержать не более двух повторителей класса II, если кабели имеют предельную длину. Повторители класса II не могут объединять сегменты разных типов, например, 100BASE-TX и 100BASE-T4. Согласно требованиям комитета IEEE, время задержки сигнала JAM в повторителе Fast Ethernet (TX и FX) не должно превышать 460 нс, а для 100BASE-T4 – 670 нс. Для повторителей класса I эта задержка не должна быть больше 1400 нс. Значения предельных длин сегментов для различных конфигураций сети приведены в таблице 16.1.

Таблица 16.1. Максимальные размеры логического кабельного сегмента
Тип повторителяСкрученные пары [м]Оптическое волокно [м]
Один сегмент ЭВМ-ЭВМ100412
Один повторитель класса I200272
Один повторитель класса II200320
Два повторителя класса II205228

Типовые задержки для различных устройств Fast Ethernet представлены в табл. 16.2.

Таблица 16.2.
Сетевое устройствоЗадержка [нсек]
Повторитель класса I700
Повторитель класса II (порты T4 и TX/FX)460
Повторитель класса II (все порты T4)340
Сетевая карта T4345
Сетевая карта ТХ или FX250

Вариант построения 100-мегагерцной сети Ethernet показан на рис. 16.23.

Возможная схема 100-мегагерцной сети Ethernet


Рис. 16.23.  Возможная схема 100-мегагерцной сети Ethernet

Из рисунка видно, что максимальная длина логического сегмента не может превышать А + Б + В = 205 метров (см. табл. 16.2.). Предельно допустимые длины кабелей А и В приведены в табл. 16.3.

Таблица 16.3. Максимально допустимые длины кабелей для сети, показанной на рис. 16.23 (Таблица взята из книги Лаема Куина и Ричарда Рассела "Fast Ethernet", BHV, Киев, 1998.).
Тип кабеля А (категория)Тип кабеля В (категория)Класс повторителяМакс. длина кабеля А [м]Макс. длина кабеля В [м]Макс. диаметр сети [м]
5,4,3 (TX, FX)5,4,3 (TX, FX)I или II100100200
5 (TX)ОптоволокноI100160,8260,8
3 или 4 (T4)ОптоволокноI100131231
ОптоволокноОптоволокноI136136272
5 (TX)ОптоволокноII100208,8308,8
3 или 4 (T4)ОптоволокноII100204304
ОптоволокноОптоволокноII160160320

При работе со скрученными парами (стандарт TX) используется 8-контактный разъем RJ-45 со следующим назначением контактов (таблица 16.4.):

Таблица 16.4.
Номер контактаНазначение сигналаНомер контактаНазначение сигнала
1Передача +5Не используется
2Передача -6Прием -
3Прием +7Не используется
4Не используется8Не используется

Если используются экранированные пары и 9-контактный разъем "D"-типа, то назначение контактов следующее (таблица 16.5.):

Таблица 16.5.
Контакт 1Прием +
Контакт 5Передача +
Контакт 6Прием -
Контакт 9Передача -

Пары 2 и 3, так же, как и в ТХ, предназначены для приема и передачи данных. Пары 1 и 4 задействованы в двух направлениях, преобразуя канал между узлом и повторителем в полудуплексный. В процессе передачи узел использует пары 1, 2 и 4, а повторитель – пары 1, 3 и 4.

В сетях Fast Ethernet максимальное значение окна коллизий равно 5,12 мкс и называется временем канала (slot time). Это время в точности соответствует минимальной длине пакета в 64 байта. Для более короткого пакета коллизия может быть не зафиксирована. Окно коллизий представляет собой время от начала передачи первого бита кадра до потери возможности регистрации коллизии с любым узлом сегмента; это время равно удвоенной задержке распространения сигнала между узлами (RTT). Конфигурация сети Fast Ethernet, для которой значение окна коллизий превышает время канала, не может быть признана корректной. Для пояснения разных взаимозависимостей рассмотрим сеть, показанную на рис. 16.24.



Рис. 16.24. 

Задержка повторителя складывается из задержек физического уровня обоих портов и собственно задержки повторителя. Задержка на физическом уровне сетевого интерфейса считается равной 250 нс. Рассмотрим задержки сигнала для всех пар узлов (A, B и C) изображенных на рисунке сети (таблица 16.6.):

Таблица 16.6.
250 + 110 + 700 + 11 + 250= 1321 нс
250 + 110 + 700 + 495 + 250= 1805 нс
250 + 11 + 700 + 495 + 250= 1706 нс

Когда А передает кадр, узлы В и С отслеживают наличие несущей. Это продолжается до тех пор, пока А не завершит процедуру. Как только узлы В и С фиксируют окончание передачи кадра узлом А, они запускают свои таймеры IPG. Запускает свой таймер IPG и узел А, причем его таймер стартует первым. На рис. 16.25 показана временная диаграмма развития событий в сетевом сегменте. Таймер В стартует следующим через 1321 нс после А. Таймер узла С стартует спустя 1805 нс после А.

Временная диаграмма, поясняющая возникновение коллизий (все времена — в наносекундах)


Рис. 16.25.  Временная диаграмма, поясняющая возникновение коллизий (все времена — в наносекундах)

Узел В начинает передачу сразу после срабатывания его IPG-таймера, а через 484 наносекунды передачу начнет и узел С, так как канал с его точки зрения свободен. Но коллизии еще не происходит, так как их кадры еще не "столкнулись". Для того чтобы первый бит от узла В достиг узла С, требуется 1706 наносекунд. Узел С зарегистрирует столкновение первым, это произойдет в момент 3987 нс. После этого С будет продолжать передачу еще в течение 320 нс (сигнал JAM). Сигнал JAM гарантирует регистрацию коллизии повторителем. Только спустя 484 нс коллизию обнаружит узел В, и начнет передачу своего сигнала JAM, после чего прекратит передачу. При этом предполагается, что JAM не является контрольной суммой передаваемого пакета.

Стандарт IEEE предусматривает возможность полнодуплексной связи при использовании скрученных пар или оптоволокна.

Реализуется это путем выделения для каждого из направлений передачи независимого канала. Такая схема осуществляет связь "точка-точка" и при определенных условиях позволяет удвоить пропускную способность сети. Здесь нет нужды в стандартном механизме доступа к сетевой среде, невозможны здесь и столкновения. Дуплексную схему могут поддерживать все три модификации 100-мегагерцного Ethernet (100BASE-TX, 100BASE-T4 и 100BASE-FX). Для оптоволоконной версии дуплексной связи предельная длина сегмента может достигать 2 км (для полудуплексного варианта предельная длина сегмента может быть 412 м). Следует иметь в виду, что для локальных сетей целесообразнее применение мультимодового оптоволокна (дешевле и больше коэффициент захвата света, но больше удельное поглощение).

16.4. Гигабитный Ethernet

В 1998 году в качестве стандарта утвержден гигабайтный Ethernet (IEEE 802.3z); 1000BASE-FX; FTP:/stdsbbs.ieee.org/pub, см. также http://www.gigabit-rethernet.org/technology/faq.html). Эти сети ориентированы на применение 4 скрученных пар категории 5 (до 100 м) и оптоволоконных кабелей. Используется кодировка сигналов на физическом уровне 8В/10B. Эта нотация означает, что каждый байт кодируется при передаче десятью битами. При этом не должно быть более 4 идентичных бит подряд и ни в одном коде не должно быть более 6 нулей или 6 единиц. Так достигаются хорошие условия синхронизации и высокая стабильность постоянной составляющей. В рассматриваемом варианте по каждой паре передаются сигналы с частотой 125 МГц, и за каждый такт транспортируется два бита. Сетевые интерфейсы используют шину PCI. В этом стандарте могут применяться полнодуплексные повторители ( FRD ). Эти повторители, в отличие от традиционных, имеют встроенные буферы на каждом из портов. Схема передачи предполагает карусельный способ доступа портов к шине повторителя. Но в этом приборе, в отличие от коммутатора, нет анализа адреса места назначения, и пакет передается всем портам устройства.

Блок-схема сетевого интерфейса GE и 10GE показана на рис. 16.26 (работа через скрученную пару). Поскольку в локальной сети могут присутствовать сегменты как FE, так и GE, возможны переполнения буферов в переключателях и потери кадров. Перекладывание подавления перегрузки на уровень L3 или L4 в данном случае особенно накладно.

Для решения проблемы перегрузки в GE и 10GE одна из сторон посылает служебный кадр, сообщающий о том, что другая сторона на некоторое время должна прервать передачу. В поле тип такого кадра заносится код 0x8808, а первые два байта поля данных являются управляющими, последующие октеты могут содержать параметры команды. Для управления используются кадры типа PAUSE, в качестве параметра может быть указана длительность паузы в единицах времени передачи кадра минимальной длины.

Для GE такая единица равна 512 нс. Максимальная длительность паузы равна 33,6 мс. Хотя использование концентраторов не запрещено, оно крайне нежелательно, так как приводит к понижению эффективности использования сети (таблица 16.7.).

Таблица 16.7. Соединительные кабели для GE
Тип сетиВид кабеляДлинаОсобенности
1000Base-SXОптоволокно550мМногомодовое
1000Base-LXОптоволокно5000мОдно- или многомодовое
1000Base-СX2 экранир. пары25мЭкранированная витая пара
1000Base-Т4 экранир. пары100мВитые пары 5-й категории

Новые Ethernet-протоколы 1000BASE-T и 10GBASE-T требуют применения скрученных пар существенно более высокого качества (с большей полосой пропускания, с низкими уровнями NEXT и FEXT). Передача в этом случае производится по четырем скрученным парам одновременно (см. ieee802.3/10GBT). Предполагается, что эта технология станет стандартной в первой половине 2006 года и будет частью спецификации IEEE 803.3ae. Требования к кабелю определяются документом ISO/IEC-11801:2002 для классов D или выше. Анализ распределения используемых длин показывает, что наиболее часто используются кабели длиной 40 м, а с вероятностью более 90% длина кабеля не превышает 80 м. Кабели классов D-F имеют полосу пропускания 250-625 МГц.

Блок-схема сетевой карты для работы с GE и 10GE


Рис. 16.26.  Блок-схема сетевой карты для работы с GE и 10GE

Из рисунка видно, что цифровая обработка сигналов стала основой работы такого устройства. Для кабелей класса F (категория 7) максимальная длина составляет 100 м, для класса Е (категория 6) — от 55 до 100 м, а для класса D (категория 5е) — 20-60м. При этом ожидается уровень BER не хуже 10-12. Скрученные пары предлагаются в качестве дешевого решения, при больших длинах оптическое волокно остается вне конкуренции. Ниже в таблице приводится сравнение режимов работы приемо-передатчиков в 1000BASE-T и 10GBASE-T (таблица 16.8.).

Таблица 16.8.
1000BASE-T10GBASE-T
5-уровневая амплитудно-импульсная модуляция (2 бита на символ)10-уровневая амплитудно-импульсная модуляция (3 бита на символ)
4D код Треллиса на пару (8 состояний)4D код Треллиса на пару (8 состояний)
Полный дуплекс с эхоподавлением при передачеПолный дуплекс с эхоподавлением при передаче
125 Мбод, ~80MГц используемой полосы833 Мбод, ~450МГц используемой полосы
Подавления FEXT нетНеобходимо подавление FEXT

Всякая, даже гигантская сеть была когда-то маленькой. Обычно сеть начинается с одного сегмента. Когда ресурсы одного сегмента или концентратора (повторители для скрученных пар) исчерпаны, добавляется повторитель или переключатель. Так продолжается до тех пор, пока ресурсы удлинения сегментов и каналы концентраторов не закончатся. Если при построении сети длина кабельных сегментов и их качество не контролировалось, возможен и худший сценарий — резкое увеличение числа столкновений или вообще самопроизвольное отключение от сети некоторых ЭВМ. Когда это произошло, администратор сети должен понять, что время дешевого развития сети прошло: надо думать о приобретении сетевых переключателей, маршрутизаторов, а возможно, и диагностического оборудования. Применение этих устройств может решить и проблему загрузки некоторых сегментов, ведь в пределах одного логического сегмента потоки, создаваемые каждым сервером или обычной ЭВМ, суммируются. Не исключено, что именно в этот момент сетевой администратор заметит, что топология сети неудачна и ее нужно изменить. Чтобы этого не произошло, рекомендуется с самого начала тщательно документировать все элементы (кабельные сегменты, интерфейсы, повторители и пр.). Сегодня я бы рекомендовал внедрять переключатели уже на раннем периоде эволюции сети.

Хорошо, если уже на первом этапе вы представляете конечную цель и те возможности, которыми располагаете. Бухгалтерская сеть и сеть, ориентированная на выход в Интернет, будут иметь разные структуры. Прокладывая кабели, рекомендуется учитывать, что расположение ЭВМ время от времени меняется и это не должно приводить к изменению длины сегмента или к появлению дополнительных "сросток" кабелей. Если сеть уже создана, научитесь измерять информационные потоки в сегментах и внешние потоки (если ваша сеть соединена с другими сетями, например с Интернет), это позволит осмысленно намечать пути дальнейшей эволюции сети, а в случае аренды оценить величину трафика. Сетевая архитектура требует немалых знаний, и это дело лучше поручить профессионалам.

Когда потоки данных в сети достигают уровня, при котором использование сетевых переключателей уже недостаточно, можно подумать о внедрении маршрутизаторов либо оптоволоконных сегментов FE (100 Мбит/с), GE или даже 10GE Ethernet. Эти субсети будут играть роль магистралей, по которым идет основной поток данных, ответвляясь в нужных местах в субсети, построенные по традиционной технологии. Если в вашей сети имеются серверы общего пользования, их рекомендуется подключить к быстродействующим сегментам.

Особую проблему составляют переходы 100 Мбит/с 10 Мбит/с (или FE - GE ) (см. рис. 16.27). Дело в том, что на MAC-уровне нет механизмов понижения скорости передачи для согласования возможностей отправителя и приемника (для сетей со скоростью <1 Гбит/c). Такие возможности существуют только на IP-уровне (ICMP-quench или алгоритм медленного старта в TCP). Если функцию шлюза исполняет, например, переключатель, то исключить переполнение его буфера невозможно. Такое переполнение неизбежно приведет к потере пакетов, повторным передачам и, как следствие, к потере эффективной пропускной способности канала. Решить проблему может применение в качестве шлюза маршрутизатора (здесь может работать ICMP-механизм "обратного давления").

Схема переходов 10-100-10 Мбит/с


Рис. 16.27.  Схема переходов 10-100-10 Мбит/с

Если любые 2 или более каналов справа попытаются начать работу с одним из каналов слева или наоборот, потери пакетов неизбежны. Потерь не будет, если объединения потоков нет, например, i-канал справа осуществляет обмен с i-каналом слева.

16.5. 10-гигабитный Ethernet

Хотя Ethernet на 1 Гбит/с и не использовал все свои возможности, реализован уже 10-гигабитный Ethernet ( IEEE 802.3ae, 10GBase-LW или 10GBase-ER ). Этот стандарт утвержден в июне 2002 года и в случае применения для построения региональных каналов соответствует спецификациям OC-192c/SDH VC-4-46c (WAN). В 2002 году опробован канал длиной 200 км с 10 сегментами. Существует серийное сетевое оборудование, обеспечивающее надежную передачу на скорости 10 Гбит/с при длине одномодового кабеля 10 км ( = 1310 нм). Эти данные взяты из журнала "LANline" (http://www.lanline.de) № 7, Juli 2002. При работе с оптическими волокнами могут применяться лазеры с вертикальными резонаторами и поверхностным излучением VCSEL (Vertical Cavity Surface Emitting Laser). В случае мультимодовых вариантов используются волокна с радиальным градиентом коэффициента преломления. В протоколе 10 Гбит/c Ethernet предусмотрен интерфейс chip-to-chip (802.3ae-XAUI — буквы ае означают здесь Ethernet Alliance — http://www.10gea.org).

Такие каналы могут использоваться и в LAN для соединения переключателей сетевых кластеров. Соединение организуется по схеме "точка-точка". Эта технология удобна для использования в фермах ЭВМ. Стандартизованы порты: 10Gbase-LR (до 10 км по одномодовому волокну — для высокопроизводительных магистральных и корпоративных каналов), 10Gbase-ER (до 40 км по одномодовому волокну), 10Gbase-SR (до 28 м по мультимодовому волокну — для соединений переключателей друг с другом), а также 10Gbase-LХ4 (до 300 м по мультимодовому волокну стандарта FDDI — для сетей в пределах одного здания). Обсуждается возможность построения 100Гбит/c Ethernet. В 10Gbase для локальных сетей применяется кодирование 64В/66B (вместо 8В/10B, используемого в обычном гигабитном Ethernet), так как старая схема дает 25% увеличение паразитного трафика. Следует обратить внимание, что такое решение делает непригодными существующие оптоволоконные технологии SDH/SONET. К концу 2002 года технология 10Гбит-Ethernet вторглась в область региональных (MAN; см. форум Metro-Ethernet и EFM Task Force) и даже межрегиональных (WAN) сетей, тесня SDH, Fibre Channel, OC-192, PCI Express и InfiniBand.

В версии 10Gbase-X4 формируется 4 потока по 3,125 Гбит/с, которые передаются по одному волокну (1310 нм) с привлечением техники мультиплексирования длин волн ( WWDM ). В случае 10Gbase-W на уровне МАС вводится большая минимальная длина IPG. Схема уровней для 10Gbase Ethernet показана на рис. 16.28.

Схема уровней для 10Gbase Ethernet


Рис. 16.28.  Схема уровней для 10Gbase Ethernet

Классификация категорий оптических волокон для сетевых приложений (таблица 16.9.).

  1. Представлены значения для волокон с диаметрами 62.5/125 и 50/125 (MMF). Там, где значения отличаются, в скобках дается величина для 50 мкм.
  2. Приложение в настоящее время промышленностью не поддерживается.
  3. Приложение в настоящее время не поддерживается разрабатывавшей его группой.
  4. Приложение в стадии разработки.
  5. Приложение с ограниченной полосой пропускания для указанных длин канала. Использование для каналов с более высокими требованиями в случае применения компонентов с меньшим ослаблением не рекомендуется.
  6. Длина канала может быть ограничена для волокон с диаметром 50 мкм.
  7. Длина канала для одномодового волокна может быть больше, но это находится вне пределов регламентаций стандарта.
Таблица 16.9. Классификация категорий оптических волокон для сетевых приложений (данные взяты из журнала "LANline Special" за июль-август 2002 года; www.lanline.de). Согласно принятым сокращениям, буквы в конце обозначения канала (например 10Gbase-LX) характеризуют оптическое волокно[E — Extended (для WAN или MAN, длина волны 1550 нм), L — Long (для расстояний <10 км при длине волны 1310 нм, возможен вариант с многомодовым волокном длиной до 300 м и привлечением техники WWDM) и S — Short (для расстояний менее 35 м при длине волны 850 нм; для волокон с 160 МГц*км длина <28 м, а для 200 МГц*км < 35 м)] и тип кодирования (R, W или X).
Тип сетиПотери ввода (дБ)Канал ISO/IEC 11801на основе
МногомодОдномодaВолокна ОМ1Волокна ОМ2Волокна ОМ3Волокно ОS1
850 нм1300 нм1300 нм850 нм1300 нм850 нм1300 нм850 нм1300 нм1300 нм1500 нм
ISO/IEC 8802-3: 10Base-FL, FPb & FBf12,5(6,8)--OF-2000OF-2000OF-2000
ISO/IEC TR 11802-4: 4 & 16 Мбит/c, Token Ringf13,0(8,0)--OF-2000OF-2000OF-2000
ATM @ 52 Мбит/cgNA10,0(5,3)10.0OF-2000OF-2000OF-2000OF-2000
ATM @ 155 Мбит/cg7,210,0(5,3)7.0OF-500OF-2000OF-500OF-2000OF-500OF-2000OF-2000
ATM @ 622 Мбит/ce,f,g4.06,0(2,0)7,0OF-300OF-500OF-300OF-500OF-300OF-500OF-2000
ISO/IEC 14165-111: Fibre Channel (FC-PH)@ 133 Мбит/cc,fNA6,0OF-2000OF-2000OF-2000
ISO/IEC 14165-111: Fibre Channel (FC-PH)@ 266 Мбит/cc,g12.06,0(5.5)6.0OF-2000OF-2000OF-2000OF-2000OF-2000OF-2000OF-2000
ISO/IEC 14165-111: Fibre Channel (FC-PH)@ 531 Мбит/cc,g8.0-14.0OF-500OF-500OF-500OF-2000
ISO/IEC 14165-111: Fibre Channel (FC-PH)@ 1062 Мбит/ce,g4.0-6.0OF-300OF-500OF-500OF-2000
ISO/IEC 8802-3: 1000Base-SXe2.6(3.56)--OF-500OF-500
ISO/IEC 8802-3: 1000Base-LXe,g-2.354.56OF-500OF-500OF-500OF-2000
ISO/IEC 9314-9: FDDI LCFPMDb,f-7.0(2.0)-OF-500OF-500OF-500
ISO/IEC 9314-3: FDDI PMDf-11.0(6.0)-OF-2000OF-2000OF-2000
ISO/IEC 9314-3: FDDI SMFPMDg--10.0OF-2000
ISO/IEC 8802-3: 100BASE-FXf11.0(6.0)-OF-2000OF-2000OF-2000
IEEE 802.3: 10GBASE-LX4d2.06.2OF-300OF-300OF-300OF-2000
IEEE 802.3: 10GBASE-ER/EWdOF-2000
IEEE 802.3: 10GBASE-SR/SWd1.6(62.5)

1.8(OM-2)

2.6(OM-3)

--OF-300
IEEE 802.3: 10GBASE-LR/LWd,g--6.2OF-2000

Максимальные длины каналов с мультимодовыми волокнами (таблица 16.10.).

  1. Максимальное ослабление на км (850/130 нм): 3,5/1,5 дБ/км; минимальная полоса пропускания для длин волн (850/130 нм): 500М Гц · км.
  2. Максимальное ослабление на км (850/130 нм): 3,5/1,5 дБ/км; минимальная полоса пропускания для длин волн (850/130 нм): 200МГц · км / 500 МГц · км
  3. Эти приложения ограничены по полосе. Использование компонентов с меньшим поглощением для получения каналов с улучшенными параметрами не рекомендуется.
Таблица 16.10. Максимальные длины каналов с мультимодовыми волокнами
Сетевое приложениеНоминальная длина волны [нм]Максимальная длина канала в м
Волокно 50 мкмaВолокно 62,5 мкмb
ISO/IEC 8802-3: FOIRL8505141000
ISO/IEC 8802-3: 10BASE-FL&FB85015142000
ISO/IEC TR 11802-4: 4 &16Мбит/c Token Ring85018572000
ATM @ 155 Мбит/c8501000a1000b
ATM @ 622 Мбит/c850300a300b
ISO/IEC 14165-111: Fibre Channel (FC-PH) @ 266 Мбит/c8502000700
ISO/IEC 14165-111: Fibre Channel (FC-PH) @ 531 Мбит/c8501000350
ISO/IEC 14165-111: Fibre Channel (FC-PH) @ 1062 Мбит/cc850500a350b
IEEE 802.3: 1000BASE-SX850550a275b
ISO/IEC 9314-9: FDDI LCFPMD1300500500
ISO/IEC 9314-3: FDDI PMD130020002000
ISO/IEC 8802-3: 100BASE-FX130020002000
IEEE 802.5t: 100 Мбит/c Token Ring130020002000
ATM @ 52 Мбит/c130020002000
ATM @ 155 Мбит/c100020002000
ATM @ 622 Мбит/c1300330500
ISO/IEC 14165-111: Fibre Channel (FC-PH) @ 133 Мбит/c1300Не поддерживается1500
ISO/IEC 14165-111: Fibre Channel (FC-PH) @ 266 Мбит/c130020001500
IEEE 802.3: 1000BASE-LXc1300550a550b

16.6. Интернет в Ethernet

В Интернете не существует иерархии сетей. Локальная сеть на основе Ethernet, две ЭВМ, связанные через последовательный интерфейс, или общенациональная сеть страны — это все сети и, по логике Интернета, они все равны. Каждая сеть имеет свое имя и как минимум один IP-адрес. Имена привычнее для людей, адреса — для машин. Между именами и адресами существует строгое соответствие.

Чтобы пояснить взаимодействие различных систем в сети (см. рис. 16.29), рассмотрим сильно упрощенную схему обработки команды telnet vxdesy.desy.de, которая предполагает осуществление удаленного доступа к VX-кластеру в ДЕЗИ, Гамбург (вызов через Windows обрабатывается практически аналогично). Сначала ЭВМ выделяет команду telnet и запускает соответствующую программу-демон. Эта программа рассматривает символьный адрес vxdesy.desy.de в качестве параметра команды telnet.

Схема обработки сетевого запроса


Рис. 16.29.  Схема обработки сетевого запроса

Сначала определим, что же нужно сделать для решения стоящей задачи? Чтобы обратиться к нужной ЭВМ, система должна знать ее IP-адрес, маску субсети и адрес маршрутизатора или ЭВМ, через которые можно обратиться с запросом на установление канала связи. Рассмотрим решение проблемы поэтапно. Сначала символьный адрес vxdesy.desy.de передается серверу имен, где преобразуется в цифровой IP-адрес (предварительно надо узнать MAC-адрес DNS-сервера). Но знания IP-адреса недостаточно, надо выяснить, где находится объект с этим адресом. На IP-адрес накладывается сетевая маска (задается при конфигурации рабочей станции), чтобы определить, не является ли данный адрес локальным. Если адрес локален, IP-адрес должен быть преобразован в физический Ethernet-адрес (MAC), ведь ваша ЭВМ на уровне L2 может оперировать только с Ethernet-адресами. Для решения этой задачи посылается широковещательный на МАС-уровне (обращенный ко всем объектам локальной субсети) ARP-запрос. Если адресат находится в пределах локальной субсети, то он откликнется, прислав Ethernet-адрес своей сетевой карты. Если дело обстоит иначе, как в приведенном примере, производится обращение к шлюзу сети или маршрутизатору, IP-адрес которого задан при конфигурации рабочей станции. MAC-адрес шлюза, если его нет в кэше ЭВМ, определяется с помощью ARP-запроса. Наконец, с использованием полученного IP-адреса программа telnet формирует IP-пакет, который вкладывается в Ethernet-кадр и посылается маршрутизатору узла (ведь именно его адрес записан при конфигурации ЭВМ в данном примере). Последний анализирует имеющиеся у него маршрутные таблицы и выбирает, по какому из нескольких возможных путей послать указанный пакет. Если адресат внешний, IP-дейтограмма вкладывается в PPP- FDDI- Ethernet- или какой-то другой кадр (зависит от протокола внешнего канала) и отправляется по каналам Интернета. В реальной жизни все бывает сложней. Например, присланный символьный адрес может быть неизвестен локальной DNS-системе (серверу имен), и она вынуждена посылать запросы вышестоящим DNS-серверам и т.д. и т.п. Следует иметь в виду, что, скажем, в системе UNIX все виды Интернет-услуг обслуживает демон inetd. Конкретный запрос (telnet/ssh, FTP/scp, finger, WWW, Whois, SMTP и т.д.) поступает именно к нему, inetd резервирует номер порта и запускает соответствующий процесс, после чего переходит в режим ожидания новых запросов. Такая схема позволяет эффективно и экономно работать со стандартными номерами портов. Ну, а теперь начнем с фундаментальных положений Интернета.

В Интернете информация и команды передаются в виде пакетов, содержащих как исходящий адрес, так и адрес места назначения (IP-адрес для IPv4 имеет 32 двоичных разряда). Каждой ЭВМ в сети поставлен в соответствие уникальный адрес, появление двух объектов с идентичными IP-адресами может дезорганизовать сеть. IP-адресация поддерживает пять различных классов сетей (практически используется только три) и, соответственно, адресов (версия IPv4). Класс А предназначен в основном для небольшого числа очень больших сетей. Здесь для кода сети выделено только 7 бит, это означает, что таких сетей в мире не может быть больше 127 (27-1). Класс B выделяет 14 бит для кода сети, а класс С — 22 бита. В классе C для кода ЭВМ (host) предназначено 8 бит, поэтому число ЭВМ в сети ограничено (<256). Самые левые биты адреса предназначены для кода класса.

IP-адрес характеризует точку подключения машины к сети. Поэтому, если ЭВМ перенесена в другую сеть, ее адрес должен быть изменен. Старшие биты адреса определяют номер подсети, остальные биты задают номер узла (номер ЭВМ). В таблице 16.11 приведено соответствие классов адресов значениям первого октета адреса и указано количество возможных IP-адресов каждого класса.

Таблица 16.11. Характеристики классов адресов
Класс адресаДиапазон значений первого октетаВозможное количество сетейВозможное количество узлов
A001 ... 12612816777214
B128 ... 1911638265534
C192 ... 2232097150254
D224 ... 239228
E240 ... 247227

Структура IP-адресов изображена на рис. 16.30.

Структура IP-адресов (NetID = идентификатор сети — ее адрес)


Рис. 16.30.  Структура IP-адресов (NetID = идентификатор сети — ее адрес)

Для удобства чтения IP-адреса обычно записываются в десятично-точечной нотации, например: 192.148.166.129 (адрес класса C).

Классу A соответствует диапазон адресов 1.0.0.0 — 127.255.255.255.

Классу B соответствует диапазон адресов 128.0.0.0 — 191.255.255.255.

Классу С соответствует диапазон адресов 192.0.0.0 — 223.255.255.255.

Классу D соответствует диапазон адресов 224.0.0.0 — 239.255.255.255.

Классу E соответствует диапазон адресов 240.0.0.0 — 247.255.255.255.

Некоторые адреса являются выделенными для специальных целей (таблица 16.12.):

Таблица 16.12.
0.0.0.0обращение к ЭВМ, на которой производится работа; используется в процессе загрузки машины (boot)
255.255.255.255обращение ко всем машинам сети
127.xxx.xxx.xxxпомещение пакета во входной поток данной ЭВМ (Loopback), при этом он не попадает в сеть. Режим используется для отладки сетевых программных продуктов и web-страниц со скриптами и CGI

Два другие специальные адреса показаны на рис. 16.30a.

Специальные IP-адреса


Рис. 16.30a.  Специальные IP-адреса

Число нулей в правой секции адреса на диаграмме в верхней части рисунка 16.30а зависит от класса IP-адреса.

Кроме того, в классах В и С зарезервированы адреса 191.225.0.0 и 223.255.255.0, соответственно. Адреса типа нижнего на рис. 16.30a (адреса Х.Х.Х.255, например, класс С ) рекомендуется закрывать для доступа внешних по отношению к локальной сети отправителей, так как они могут использоваться для атак типа SMURF любых сетевых объектов (атака DoS — Denial of Service). В документе RFC-1519 были введены правила для выделения IP-адресов. Там мир поделен на четыре зоны:

Адреса 194.0.0.0 — 195.255.255.255 выделены для Европы;

198.0.0.0 — 199.255.255.255 — для северной Америки;

200.0.0.0 — 201.255.255.255 — для Центральной и Южной Америки;

202.0.0.0 — 203.255.255.255 — для Азии и бассейна Тихого океана.

Этим перечнем блоков выделены для каждого региона 32 миллиона адресов, другие 320 миллионов адресов С-класса от 204.0.0.0 до 223.255.255.255 оставлены в качестве резерва на будущее. Можно считать, что это первый шаг к внедрению географической адресации и маршрутизации.

IP-адрес имеет Интернет-часть и местную секцию, первая характеризует место (организацию, сеть или даже группу сетей), вторая — конкретную ЭВМ. Местная секция адреса может быть разделена на части, характеризующие локальную сеть и конкретную ЭВМ (рис. 16.31).

Локальная часть IP-адреса


Рис. 16.31.  Локальная часть IP-адреса

Такая схема обеспечивает необходимую гибкость, дает возможность разделить локальную сеть на субсети. При работе с субсетью необходимо использовать 32-разрядную маску. Разряды маски должны равняться 1, если сеть рассматривает данный бит как часть адреса сети, и 0, если он характеризует адрес ЭВМ в этой сети. Все субсети одного адресного блока (А, В или С) должны иметь одну и ту же маску субсети. Например:

255.255.255.254 (десятично-точечное представление)

11111111 11111111 11111111 11111110 (двоичное представление)

описывает маску субсети, в которой работает автор. Некоторую информацию о масках в работающей сети можно получить с помощью команды ifconfig (SUN):

/usr/etc/ifconfig -a (курсивом здесь и далее выделяются команды, введенные с клавиатуры)

le0: flags=863<UP,BROADCAST,NOTRAILERS,RUNNING,MULTICAST>

inet 193.124.224.35 netmask ffffffe0 broadcast 193.124.224.32

lo0: flags=869<UP,LOOPBACK,NOTRAILERS,RUNNING,MULTICAST>

inet 127.0.0.1 netmask ffffff00,

где le0 и lo0 — имена интерфейсов, флаг -a предполагает выдачу данных обо всех интерфейсах.

Во всех схемах IP-адресации адрес со всеми единицами в секции "адрес ЭВМ" (host) означает широковещательное обращение ко всем ЭВМ субсети. Следует помнить, что широковещательные запросы сильно перегружают сеть, и без особой необходимости их использовать не следует.

Разбивка сети на субсети имеет целью, среди прочего, ограничение области рассылки широковещательных пакетов (имеются в виду широковещательные МАС-адреса).

IP-адрес, безусловно удобный для использования ЭВМ, плохо запоминается людьми, поэтому они разработали символьную систему имен для узлов Интернета. Эта система ( DNS — Domain Name System) имеет иерархический характер. Имя содержит несколько полей, разделенных символом "." (точка). В качестве примера можно привести имя домена ITEPnet — cl.itep.ru. Это имя содержит три поля. Поле ru указывает на принадлежность данного домена России, поле itep определяет принадлежность узла ITEP (Institute for Theoretical and Experimental Physics), cl — характеризует то, что данное конкретное имя относится к кластеру ЭВМ (имя субдомена). Никаких ограничений на число полей в имени, кроме налагаемых здравым смыслом, не существует. Собственно имя домена — это itep.ru. Самое правое поле в имени домена характеризует принадлежность к определенному типу организации или стране. Преобразование символьного имени в IP-адрес производится в DNS-сервере узла, который представляет собой базу данных с удаленным доступом. Если искомое имя узла в локальном DNS-сервере отсутствует, он может прислать в качестве ответа адрес другого DNS-сервера, куда следует обратиться, чтобы определить IP-адрес искомого узла. Анализ имени обычно производится справа налево. Более подробно DNS-система описана в документах RFC-819, -823. О правилах получения IP-адресов и регистрации имен сетей можно прочесть в [18.8].

При формировании пакетов различного уровня используется принцип инкапсуляции (вложения). Так IP-пакеты вкладываются в Ethernet-пакеты (кадры). Всякий пакет имеет заголовок и тело, некоторые из них снабжены контрольной суммой. Схема такого вложения представлена на рис. 16.32 и 16.33.

Поле тип определяет используемый в дейтограмме протокол, PAD — пустые биты, дополняющие размер дейтограммы до 48 бит.

Пакетный принцип позволяет передавать информацию от разных источников к различным адресатам по общему телекоммуникационному каналу. Схема вложения пакетов в рамках TCP/IP показана на рис. 16.32.

Схема вложения пакетов в TCP/IP (в данном примере в поле тип Ethernet кадра будет записан код 0800, в случае IPv6 там будет код 89DD)


Рис. 16.32.  Схема вложения пакетов в TCP/IP (в данном примере в поле тип Ethernet кадра будет записан код 0800, в случае IPv6 там будет код 89DD)

Принцип вложения (так же как и фрагментации) является фундаментальным для любых современных сетей.

Этот принцип используется в сетях NetWare, Apple Talk, TCP/IP и т.д.

Отдельные сети в Интернете соединяются друг с другом через узловые серверы (Gateway, иногда их называют пограничными маршрутизаторами — Boarder Gateway), расстояние между которыми может измеряться метрами или тысячами километров.

Прикладные программы, так же как и все протокольное программное обеспечение уровня Интернет (L3) и выше работают только с IP-адресами, в то время как уровень сетевого программного обеспечения работает с физическими сетевыми адресами (МАС).

Обычно при описании сетей используется терминология 7-уровневой модели ISO (стек протоколов). Так уж получилось, но Интернет лишь с определенными натяжками можно описать, придерживаясь этой схемы. Ethernet-инкапсуляция продемонстрирована на рис. 16.33 (RFC 894; размеры полей указаны в байтах).

Вложение пакетов Интернета в Ethernet- и IEEE 802 пакеты


Рис. 16.33.  Вложение пакетов Интернета в Ethernet- и IEEE 802 пакеты

LLC — управление логической связью (Logical Link Control); DSAP = 0xAA (Destination Service Access Point) — поле адреса доступа к службе получателя; SSAP = 0xAA (Source Service Access Point) — поле адреса доступа к службе отправителя; SNAP — протокол доступа к субсетям (SubNetwork Access Protocol). PAD — поле-заполнитель. В общем случае форматы полей DSAP и SSAP имеют вид, показанный на рис. 16.34, где: I/G = 0 — индивидуальный адрес, I/G = 1 — групповой адрес; D — бит адреса службы места назначения, S — бит адреса службы отправителя; C/R = 0 — команда, C/R = 1 — подтверждение.

Структура адресов DSAP и SSAP


Рис. 16.34.  Структура адресов DSAP и SSAP

Поле CNTL может иметь длину 1 или 2 байта, а его структура — соответствовать I-, S- или U-форматам. В однобайтовых полях DSAP и SSAP записывается код типа протокола сетевого уровня. Поле CNTL=03 обозначает нечисловой формат для уровня Ethernet 802.2. Эти три байта часто представляют собой код производителя, как правило, совпадающий с первыми тремя байтами адреса отправителя. Иногда они просто делаются равными нулю. Поле тип (2 байта) характеризует используемую версию Ethernet. Из рис. 16.33 видно, что первые два поля ( адреса получателя и отправителя ) и последнее поле ( CRC ) во всех форматах идентичны. При расчете CRC содержимое кадра рассматривается как двоичный полином. Производится деление этого кода на специальный образующий полином. Полученный остаток от деления дополняется по модулю один, результат этой операции и считается CRC-суммой. В поле адрес получателя может быть записан код 0xFFFFFFFFFFFF, что указывает на широковещательную адресацию кадра. Адрес отправителя такой код содержать не может. Третье поле может служить для выявления типа используемого протокола. Если в этом поле содержится число, большее 1500 (десятичное), это означает, что данный кадр имеет формат Ethernet II, а само поле содержит не длину кадра, а тип данных. Теперь, надеюсь, читателю понятно, почему кадр Ethernet 802.3 не может содержать более 1500 байт.

Кадр Ethernet 802.2 помимо первых трех полей содержит дополнительные три однобайтовые поля, следующие вслед за ними ( DSAP, SSAP и CNTL ). Кадр Ethernet SNAP является модификацией кадра Ethernet 802.2. Для этого кадра коды полей DSAP и SSAP равны 0xAA (признак кадра Ethernet SNAP), код CNTL=03 (нечисловой формат), поле код организации (3 байта, характеризует организацию сети) равен нулю (для IPX/SPX), а двухбайтовое поле тип характеризует протокол высокого уровня. Для протокола IP в это поле записывается 0x0800, для ARP — 0x0806, для RARP — 0x8035, а для Apple Talk — 0x809B). Поля тип протокола и по смыслу и по содержанию идентичны для всех разновидностей кадра Ethernet (кроме IEEE 802.3).

Транспортный уровень должен воспринимать данные от нескольких пользовательских программ и пересылать их на более низкий уровень. Многоуровневые протоколы спроектированы так, чтобы слой n по месту назначения получал ту же самую информацию, что была послана слоем n отправителя. Прикладные программы, так же как и все протокольное программное обеспечение уровня Интернет, используют только IP-адреса (32 бита), в то время как уровень сетевого программного обеспечения работает с физическими сетевыми адресами (так, Ethernet использует 48-битные адреса).

Когда IP-дейтограмма попадает в ЭВМ, сетевое программное обеспечение (драйвер) передает ее программе IP-уровня. Если адрес места назначения совпадает с IP-адресом ЭВМ, дейтограмма принимается и передается на более высокий уровень для дальнейшей обработки. При несовпадении адресов дейтограмма уничтожается (переадресация дейтограмм для ЭВМ запрещена, это функция маршрутизатора). Хотя можно заставить ЭВМ выполнять задачи маршрутизации, с точки зрения общей философии Интернета это плохая идея.

Различные сети и каналы имеют разные скорости обмена и надежность передачи. Это определяет длину пакета, пересылка которого с высокой вероятностью будет осуществлена без ошибки. Так как Интернет объединяет самые разные узлы и сети, использующие разные длины посылок, при реализации связи между такими объектами размер пакета задается наименее надежным узлом и длина пакета выбирается минимальной. Поэтому при передаче длинного пакета через такой участок сети он сегментируется и передается по частям. Размер фрагмента определяется величиной максимального передаваемого блока ( MTU — Maximum Transfer Unit, в Ethernet MTU = 1500 октетам). Величины MTU для других сред приведены в таблице 16.13.

Таблица 16.13. Значения MTU для различных сетевых стандартов
СетьMTU (байт)
Hyperchannel (сеть с топологией типа шина, с CSMA/CD -доступом, числом подключений <256, максимальной длиной сети около 3,5 км (93-омный коаксиальный кабель RG59 или оптоволокно))65535
16 Мбит/с маркерное кольцо (IBM)17914
4 Мбит/с маркерное кольцо (IEEE 802.5)4464
FDDI4352
Ethernet II1500
IEEE 802.3/802.21492
X.25576
Point-to-Point (при малой задержке)296

Рассмотрим пофрагментную передачу дейтограммы с длиной в 1300 октетов в предположении, что более 576 октетов за один раз передать нельзя (рис. 16.35).

Пример фрагментации пакета


Рис. 16.35.  Пример фрагментации пакета

Куда будет направлен Ethernet-кадр указывает значение типа в заголовке кадра (рис. 16.33). Если пакет попадает в модуль IP, то содержащиеся в нем данные могут быть переданы либо модулю TCP (Transmission Control Protocol), либо UDP, что определяется полем протокол в заголовке IP-пакета.

Ethernet все шире применяется не только в локальных, но и в региональных сетях. Этому способствует введение системы подавления перегрузок в протоколах GE и 10GE. Но для работы в качестве опорной сети в Ethernet не хватает механизмов балансировки нагрузок и оптимизации использования полосы каналов. Решения этих проблем можно найти в протоколе IEEE 802.17.

Лекция 17. Моделирование сетей, сетевая надежность и сетевые драйверы

Аналитическое и симуляционное моделирование. Элементы теории массового обслуживания. Проблемы оценки надежности сетей. Принципы работы сетевых драйверов.

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

На модели можно опробовать влияние всплесков загрузки, воздействие большого потока широковещательных запросов или реализовать режим коллапса (для Ethernet), что вряд ли кто-то может себе позволить в работающей сети. В процессе моделирования выясняются следующие параметры:

Перечисленные задачи предъявляют различные требования к программам. В одних случаях достаточно провести моделирование на физическом (MAC) уровне, в других нужен уже уровень транспортных протоколов (например, UDP и TCP), а для наиболее сложных задач нужно воспроизвести поведение прикладных программ. Все это должно приниматься во внимание при выборе или разработке моделирующей программы. Ведь нужно учесть, что ваша машина должна в той или иной мере воспроизвести действия всех машин в моделируемой сети. Таким образом, машина эта должна быть достаточно быстродействующей, и, несмотря на это, моделирование одной секунды работы сети может занять при определенных условиях не один час.

Задачи моделирования обработки очередей в виртуальном канале с целью оценки параметров качества облуживания требуют не столь значительных ресурсов. Но с учетом перебора возможных значений параметров конфигурации это также может занять много часов.

Результаты моделирования должны иметь точность 10-20%, этого достаточно для большинства целей и не требует слишком много машинного времени. Следует иметь в виду, что для моделирования поведения реальной сети надо знать все ее рабочие параметры: длины кабеля от концентратора до конкретной ЭВМ, задержки используемых кабелей, задержки концентраторов (этот параметр часто отсутствует в документации и его придется брать из документации на сетевой протокол, например, из IEEE 802.3). Параметры могут быть определены и прямым измерением. Чем точнее вы воспроизводите поведение сети, тем больше машинного времени это потребует. Кроме того, вам предстоит сделать некоторые предположения относительно распределения загрузки для конкретных ЭВМ и других сетевых элементов, задержек в переключателях, мостах, времени обработки запросов в серверах. Здесь нужно учитывать и характер решаемых на ЭВМ задач: www/ftp-сервер или обычная персональная рабочая станция создают различные сетевые трафики. Определенное влияние на результат могут оказывать и используемые ОС. В случае моделирования реальной сети можно произвести соответствующие измерения, что иногда тоже не слишком просто. Учитывая сложность моделирования на одной ординарной ЭВМ, следует ограничиваться моделированием не более чем одной минуты для каждого из наборов параметров (этого времени достаточно для копирования практически любого файла через локальную сеть). Исключение может составлять моделирование внешнего трафика, но в этом случае весь локальный трафик должен рассматриваться как фоновый.

Современные распределенные технологии дают новые возможности для решения задач моделирования.

17.1. Аналитическое моделирование

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

Аналитическая модель сети представляет собой совокупность математических соотношений, связывающих между собой входные и выходные характеристики сети. При выводе таких соотношений приходится пренебрегать какими-то малосущественными деталями или обстоятельствами.

Телекоммуникационная сеть при некотором упрощении может быть представлена в виде совокупности процессоров (узлов), соединенных каналами связи. Сообщение, пришедшее в узел, некоторое время пребывает в очереди до того, как оно будет обработано. Время передачи или полное время задержки сообщения равно:

,

где , и соответственно - время распространения, время обслуживания и время ожидания. Одной из задач аналитического моделирование является определение среднего значения . При больших загрузках основной вклад дает ожидание обслуживания . Для описания очередей в дальнейшем будет использована нотация Д. Дж. Кенделла:

,

где - процесс прибытия: - процесс обслуживания; - число серверов (узлов); - максимальный размер очереди (по умолчанию - ); - число клиентов (по умолчанию - ); - схема работы буфера (по умолчанию FIFO). Буквы и представляют процессы прихода и обслуживания и обычно заменяются следующими буквами, которые характеризуют закон, соответствующий распределения событий:

Наиболее распространенными схемами работы буферов являются FIFO (First-In-First-Out), LIFO (Last-In-First-Out) и FIRO (First-In-Random-Out). Например, запись означает очередь, для которой времена прихода и обслуживания соответствует экспоненциальному распределению, имеется два сервера, длина очереди и число клиентов могут быть сколь угодно большими, а буфер работает по схеме FIFO. Среднее значение длины очереди при заданной средней входной частоте сообщений и среднем времени ожидания определяется на основе теоремы Литла (1961):

Для варианта очереди входной процесс характеризуется распределением Пуассона со скоростью поступления сообщений . Вероятность поступления сообщений на вход за время равно:

, .

Пусть - число клиентов в системе, - число клиентов в очереди, и пусть вероятность того, что входящий клиент обнаружит других клиентов, равна:

Тогда среднее время ожидания :

( формула Поллажека-Хинчина )

- среднеквадратичное отклонение для распределения времени обслуживания.

Для варианта очереди ( - функция распределения времени обслуживания). Откуда следует .

Для варианта очереди время обслуживания постоянно, а среднее время ожидания составляет:

Аналитическая модель для сетей Ethernet (CSMA-CD) разработана Лэмом (S.S.Lam: "A Carrier Sense Multiple Access Protocol for Local Networks," Computer Networks, vol. 4, n. 1, pp. 21-32, January 1980). Здесь предполагается, что сеть состоит из бесконечного числа станций, соединенных каналами с доменным доступом. То есть станция может начать передачу только в начале какого-то временного домена. Распределение сообщений подчиняется закону Пуассона с постоянной скоростью следования . Среднее значение времени ожидания для таких сетей составляет:

где - основание натурального логарифма, - задержка распространения сигнала в сети. и - соответственно первый и второй моменты распределения передачи или обслуживания сообщения. преобразование Лапласа для распределения времени передачи сообщения. Следовательно,

, а для сообщений постоянной длины , где . Для экспоненциального распределения длин сообщений:

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

где ,

, , а равно вероятности того, что сообщение отправителя направлено получателю . Требование стабильности обязывает, чтобы

Для больших это приводит к .

Среднее время распространения сообщения в сети равно где равно .

Особое место занимает моделирование систем работы с очередями. Эти задачи стали особенно актуальными в связи необходимостью получения гарантированных параметров качества обслуживания. Этот тип моделирования можно реализовать с помощью общедоступной программы NS-2. (Смотри http://www-nrg.ee.lbl.gov/ns/ и http://www-mash.cs.berkeley.edu/ns.)

17.2. Симуляционное моделирование

Симуляционное (статистическое) моделирование служит для анализа системы с целью выявления критических элементов сети. Этот тип моделирования используется также для предсказания будущих характеристик системы. Такое моделирование может осуществляться с использованием специализированных языков симулирования и требует априорного знания относительно статистических свойств системы в целом и составляющих ее элементов. Процесс моделирования включат в себя формирование модели, отладку моделирующей программы и проверку корректности выбранной модели. Последний этап обычно состоит из сравнения расчетных результатов с экспериментальными данными, полученными для реальной сети.

При статистическом моделировании необходимо задать ряд временных характеристик, например: таблица 17.1.

Таблица 17.1.
Системное времяИнтервал от момента генерации сообщения до получения его адресатом, включая ожидание в очереди
Время ожиданияПромежуток времени от приема сообщения сетевым интерфейсом до обработки его процессором
Время распространенияЗадержка передачи сообщения от одного сетевого интерфейса до другого

Полный список таких временных характеристик включает в себя значительно больше величин. В процессе моделирования рассчитываются следующие параметры: таблица 17.2.

Таблица 17.2.
Статистика очередей
Средняя длина очереди
Пиковая длина очереди
Среднеквадратичное отклонение длины очереди от среднего значения
Статистика времени ожидания
Среднее время ожидания
Максимальное время ожидания
Среднеквадратичное отклонение времени ожидания
Статистика системного времени
Среднее системное время
Максимальное системное время
Среднеквадратичное отклонение системного времени
Полное число сообщений в статистике системного времени
Пиковое значение числа системных сообщений
Среднеквадратичное отклонение числа системных сообщений
Статистика потерь сообщений
Полное число потерянных сообщений
Частота потери сообщений
Доля потерь из-за переполнения очереди
Доля потерь из-за таймаутов

Разумеется, реальный перечень вычисляемых параметров может быть существенно шире и определяется конкретными целями расчетов. Рассмотрим частную задачу определения среднего числа связей между процессорами (узлами). Предполагается, что полное число узлов равно , а схема соединения узлов соответствует изображенной на рис. 17.1.



Рис. 17.1. 

Среднее расстояние от произвольного узла до всех остальных узлов равно , где - расстояние между соседними узлами (предполагается константой).

Возможны разные подходы к моделированию. Классический подход заключается в воспроизведении событий в сети как можно точнее и поэтапном моделировании последствий этих событий. В реальной жизни события могут происходить одновременно в различных точках сети. По этой причине для моделирования идеально подошел бы многопроцессорный компьютер, где можно воспроизводить любое число процессов одновременно (современные распределенные вычислительные системы для решения таких задач подходят идеально). В любом случае необходимо выбрать некоторый постоянный временной интервал и считать, что события произошли одновременно, если расстояние между ними меньше этого интервала. Для сетей типа Ethernet таким временным интервалом может быть бит-такт (для 10-мегагбитного Ethernet это 100нс). Понятно, что это уже отступление от реальности (ведь задержки в сетевом кабеле не кратны этому времени), но не слишком значительное. Надо сказать, что такого рода предположений при моделировании приходится делать много. По этой причине крайне важно сравнивать результаты моделирования с данными, полученными для реальной сети. Если отличия лежат в пределах 10-20%, можно считать, что сделанные предположения не увели программу слишком далеко от жизни и ею можно пользоваться для расчетов. Рассмотренный выше подход пригоден для моделирования сетевого коллапса, так как скорость расчетов здесь зависит от числа узлов и почти не зависит от сетевой загрузки.

Другим подходом может стать метод, где для каждого логического сегмента (зоны столкновений) сначала моделируется очередь событий. При этом в каждой рабочей станции моделируется последовательность пакетов, ожидающих отправки. Эта очередь может время от времени модифицироваться, например, при получении ЭВМ пакета извне и необходимости послать на него отклик. После того как такая очередь для каждого сетевого объекта (сюда, помимо ЭВМ, входят мосты, переключатели и маршрутизаторы) построена, запускается программа отправки пакетов: выбирается самый первый по времени пакет (ожидающий дольше других) и проверяются для него условия начала передачи (отсутствие несущей на входе сетевого интерфейса в данный момент и в течение предыдущих 96 бит-тактов). Если условия отправки выполнены, пакет посылается в сеть. Вычисляются моменты достижения им всех узлов данного логического сегмента, проверяются условия его столкновения с другими пакетами. Следует заметить, что в этом подходе снимаются ограничения дискретности временной шкалы, использованной в предыдущем "классическом" подходе. Этот подход позволяет заметно ускорить расчеты при большом числе узлов, но малой загрузке сети. Проблемы реализации данной концепции моделирования связаны с обслуживанием довольно сложного списка, который описывает очередь пакетов, ожидающих отправки. В структуру этого списка включается и описание ситуации в сети на данный временной период. Дополнительные трудности сопряжены с поведением мостов, переключателей и маршрутизаторов, так как они могут вставлять в очередь дополнительные элементы, требующие немедленного обслуживания. Аналогичные вставки в очередь будут вызывать полученные станцией пакеты ICMP или TCP, требующие откликов. Причем такое вставление в очередь асинхронно по отношению к процедуре "отправки" пакетов. Очередь для всей локальной сети может быть единой, тогда пакеты разных логических сегментов должны быть помечены определенными флагами. При переходе из сегмента в сегмент флаг будет меняться. Возможно и построение независимых очередей для каждого из логических сетевых сегментов.

Данный метод был использован студентом ТСС МФТИ Алексеем Овчаровым в его магистрской диссертации (2000 год) для определения свойств фрагмента сети в условиях, близких к предельным (загрузка на уровне 70-100%). Такие режимы трудно реализовать на практике без нанесения серьезного ущерба клиентам сети. Результаты расчета представлены на рис. 17.2.

Целью моделирования является определение зависимости пропускной способности сети и вероятности потери пакета от загрузки, числа узлов в сети, длины пакета и размера области столкновений.

Исходные данные о структуре и параметрах сети берутся из базы данных. Ряд параметров сети задаются конфигурационным файлом (профайлом). Сюда могут записываться емкость буфера интерфейса и драйвера, время задержки обработки запроса (хотя в общем случае эта величина может также иметь распределение) и т.д.. К таким параметрам относятся также: MTU, MSS, TTL, window, некоторые значения таймаутов и т.д.

Сеть разбивается на логические сегменты, в каждом из которых работает независимая синхронизация процессов (хотя эти процессы и влияют друг на друга через мосты, переключатели и маршрутизаторы).

Зависимость вероятности потери пакета в процентах от загрузки фрагмента сети


Рис. 17.2.  Зависимость вероятности потери пакета в процентах от загрузки фрагмента сети

Полное моделирование сети с учетом рабочих приложений предполагает использование следующих распределений:

Последние два пункта существенным образом коррелированы с первым, так как используемые протоколы зависят от приложения, а активность узла может определяться, например, длиной пересылаемого файла. По этой причине при полномасштабном моделировании сначала определяется, что собирается делать рабочая станция или сервер (с учетом распределения по приложениям определяется характер задачи: FTP, MS explorer и т.д.). Затем разыгрываются параметры задания (длина файла, удаленность объекта и пр.), а уже на основе этого формируется фрагмент очереди пакетов.

Задача первого этапа: проверка пропускной способности при вариации загрузки и длин пакетов, подсчет числа столкновений (если они возможны), проверка влияния размера буфера сетевого интерфейса на пропускную способность (влияние размера буфера переключателей по пути до адресата).

Исходные данные для первого этапа:

Структура описания каждого из узлов включает в себя (формируется с учетом будущего расширения):

Формат описания топологии сети (список) Элемент списка:

Процесс посылки пакета включает в себя (в соответствии с требованиями документа IEEE 802.3):

  1. проверку возможности начала (отсутствует чужая активность, ipg=96 бит-тактов);
  2. последовательную передачу битов (каждый бит-такт);
  3. контроль состояния столкновений (если столкновение возможно);
  4. обработка случаев столкновения (посылка jam);
  5. при столкновении вычисление номера бит-такта попытки возобновления передачи.

Попытка начала передачи предполагает проверку:

  1. осуществлялась ли передача на предыдущем бит-такте;
  2. контроля числа свободных от передачи бит-тактов (<96 ?).

Процесс приема предполагает:

  1. контроль окончания приема (бит-такт без данных в канале). Окончание приема может означать переход в режим анализа полученных данных;
  2. контроль наличия столкновения;
  3. необходимость предусмотреть возможность (в некоторых режимах) контроля адресов (MAC и IP) и содержимого пакета и т.д. (включая изменение режима работы узла, например, переход от чтения к передаче). Данный пункт абсолютно необходим для мостов и переключателей.

Центральный менеджер осуществляет:

  1. регистрацию начала передачи любым из узлов (номер узла и номер бит-такта);
  2. расчет положения начала пакета к началу очередного бит-такта для всех возможных путей распространения;
  3. запись статуса узлов

Равномерное распределение по времени

Для каждого узла устанавливается определенная средняя частота посылки пакетов. Время начала сессии предполагается случайным. Средняя частота может быть задана равной для всех узлов.

Минимальный средний период посылки пакетов определяется в бит-тактах и должен быть больше 512 бит-тактов. Понятно, что пока узел осуществляет передачу, он не может пытаться передать новый пакет. По этой причине частота посылки пакетов однозначно определяется паузой между концом предыдущего пакета и началом нового . Среднее значение периода посылки пакетов равно (значение величина в общем случае статистическая). Для каждого узла задается значение (сначала равное для всех узлов). Если предположить равномерное распределение вероятности, передача пакета может начаться в любой бит-такт с равной вероятностью.

При определении того, пытаться ли начинать передачу в данный бит-такт, будет произведена проверка условия:

(выполнение условия предполагает попытку начала передачи).

Если вероятность прихода пакетов на время распределена по закону Пуассона:

, где - средняя частота следования событий, то реальное время между событиями может быть определено как . - случайное число , а .

Результатами моделирования могут являться (фиксируются отдельно для каждого набора входных параметров): таблица 17.3.

Таблица 17.3.
1.Вероятность потери пакета для логического сегмента и каждой из рабочих станций
2.Пропускная способность серверов для каждого из логических сегментов (путь сервер -> логический сегмент)
3.Вероятность столкновения для каждого логического сегмента и каждой рабочей станции
4.Распределение потоков по логическим сегментам (и рабочим станциям) независимо для каждого направления (вход и выход)
5.Распределение потоков для всех входов/выходов переключателей мостов и маршрутизаторов
6.Доля вспомогательного трафика (ICMP, SNMP, отклики TCP, широковещательные запросы и т.д.) по отношению к информационному потоку для различных узлов сети (серверов, маршрутизаторов)
7.Уровень широковещательного трафика для каждого из логических сегментов

Набор параметров, распределений и алгоритм моделирования сильно зависит от стоящей задачи.

17.3. Сетевая надежность

Современный Интернет насчитывает десятки миллионов серверов и сотни миллионов рабочих станций. Данная технология стала широко использоваться в информационных системах и бизнесе, именно по этой причине проблема надежности сетей становится все более актуальной. Ведь совсем не безразлично, получит ли человек своевременно отклик от банкомата, произведет ли клиент покупку, будут ли корректно введены данные в систему навигации ракеты и т.д.

Но прежде чем поставить вопрос о надежности Интернет или даже локальной сети, нужно определить некоторые базовые понятия. Надежность всякой системы определяется надежностью составляющих ее элементов. А надежность элементов задается временем наработки на отказ или вероятностью отказа за оговоренный период времени. Надежности разных элементов могут отличаться существенно. В результате как усредненные значения надежности, так и распределения вероятности отказов разных сетевых устройств могут варьироваться в очень широких пределах. Во многих случаях надежность и распределения надежности определяются эмпирически.

И если требование надежности определить как работоспособность всех элементов, надежность Интернета окажется равной нулю, ведь всегда найдется неисправный или отключенный узел или рабочая станция. Если же определить надежность системы как возможность коммуникации между, скажем, 1000 каких-либо узлов или рабочих станций, то надежность Интернет окажется практически равной единице. Конечно, если ваша рабочая станция не попадет в число этих 1000 узлов, вы вряд ли согласитесь с утверждением абсолютной надежности. Понятно поэтому, что оба определения совершенно неприемлемы. Не нужно думать, что случай оценки надежности локальной сети, содержащей, например, 100 рабочих станций, много проще.

Здесь нужно будет определить, что такое отказ. Современная персональная ЭВМ - достаточно сложный прибор, содержащий несколько внешних устройств, один или более процессоров, оперативную память, сетевой интерфейс, ОС и т.д. Что следует считать отказом рабочей станции? Выход из строя источника питания, повисание ОС, разрушение системного диска, отказ сетевой карты и пр. или что-то еще, например, ошибка в прикладной программе или выдергивание уборщицей кабеля из розетки? Надо сразу сказать, что однозначного ответа на этот вопрос нет, все зависит от обстоятельств.

Прежде чем переходить к теоретической части, посмотрим, что можно сделать для улучшения надежности сети с практической точки зрения. Конечно, этому будет способствовать использование RAID-систем жестких дисков, катастрофоустойчивой системы дублирования резервных копий дисков в удаленных узлах, размещенных в разных зданиях, и т.д.. Но не следует снимать со счета дублирование базовых серверов: DNS, NTP (если они нужны), почтовых серверов, серверов баз данных и пр. Внутри локальной сети повышению надежности может способствовать применение протокола STP, который может автоматически обеспечить обход отказавшего участка LAN (если применение динамического протокола внутренней маршрутизации невозможно или нежелательно, например, по соображениям безопасности). Во многих случаях крайне важно задублировать шлюз сети, ведущий в Интернет, так как его отказ оставит всех пользователей сети без связи. Компания CISCO и многие другие фирмы разработали протоколы резервирования маршрутизаторов. В этих протоколах два или более устройств совместно используют виртуальные IP и МАС-адреса, которые указаны в сетевом сегменте для шлюза по умолчанию. Для реализации такой схемы существует три протокола:

Компания CISCO поддерживает только протокол HSRP. В этом протоколе один из маршрутизаторов является основным (primary), а второй - резервным (standby). После ввода этого протокола в строй все запросы и весь трафик шлюза обслуживаются основным маршрутизатором. Дублирующий маршрутизатор остается пассивным до выхода основного из строя (решение не самое дешевое, если учесть стоимость маршрутизатора, даже если дублирующий прибор проще и дешевле основного).

При рассмотрении сетевой надежности сеть обычно описывается графом, где ребра отображают сетевые каналы, а в качестве узлов выступают рабочие станции, серверы, повторители, переключатели, маршрутизаторы или другие устройства.

Выход из строя рабочей станции (терминальный узел) создает проблемы ее пользователю, остальные пользователи Интернет, скорее всего, этого не заметят, но отказ сервера скажется на работе всех его клиентов, в том числе и удаленных. Выход же из строя маршрутизатора (если это транзитный узел) может оказать влияние на работу целого региона. Отсюда видно, что отдельные узлы могут по-разному влиять на работу сети в целом. Даже в классе серверов можно выделить группы разного влияния на уровень надежности. Например, отказ сервера IN-ADDR.ARPA практически парализует работу всех программ traceroute. Еще худшее воздействие окажет выход из строя регионального сервера DNS. Именно по этой причине такие серверы обычно дублируются (даже в локальных сетях). Существуют и другие серверы, которые влияют на реализацию определенных сетевых функций (почтовые серверы, серверы баз данных в системах платежей, серверы центров сертификации и пр.). Очевидно, что влияние на надежность сети может оказывать не только оборудование или ОС, но и прикладные программы.

Этим список факторов, влияющих на надежность, не исчерпывается. Если пользователь не может получить доступ к определенному сетевому ресурсу, это очень часто связано не с отказом оборудования или программы, а просто с перегрузкой одного из участков сети по дороге к указанному ресурсу (некомпетентность пользователя в данном анализе не рассматривается). Здесь имеется в виду не только ограничение пропускной способности, но и возможное увеличение задержки доставки, что достаточно критично в случае, например, IP-телефонии или видео-конференций. Таким образом, параметры надежности часто зависят от вектора загрузок (список значений загрузок каналов, влияющих на доступ и качество обслуживания). По этой причине, формулируя задачу оценки надежности, нужно определить, какие из параметров важны: связность, пропускная способность, время восстановления связности или минимизация задержек обслуживания.

Если мы рассмотрим в качестве примера полный граф с четырьмя узлами, размещенными в вершинах квадрата (6 ребер), то расчет связности такой сети будет включать комбинаторику перебора ребер и учет распределения вероятности обрыва каждой из связей. Нетрудно понять, что если попытаться проанализировать надежность структурированной локальной сети с сотней ЭВМ, задача окажется на много порядков сложней, я уже не говорю об Интернете в целом. Обычно множественность в таких задачах равна ! (где - число узлов в графе связей). В любом случае в качестве исходных данных должны использоваться значения надежности отдельных узлов и каналов, вычисленные или измеренные с учетом тех факторов, влияние которых вы хотите учесть. Во многих случаях бывает нужно сделать предположение относительно распределения вероятности отказа рассматриваемых сетевых элементов. Кроме того, надо решить, какая оценка вам нужна: для работы сети в среднем или для функционирования в экстремальных условиях. Ради упрощения проблемы часто делается предположение об идентичности распределений и даже равенстве вероятности отказа для всех узлов. Понятно, что такие предположения делают полученный результат весьма приблизительным. По этой причине даже оценки границ надежности довольно часто корректны лишь по порядку величины. Во многих случаях, когда требуется получить оценку надежности конкретной сети, неплохие результаты может дать расчет по методу Монте-Карло.

По этой причине, прежде чем писать и запускать программу расчета надежности сети надо научиться оценивать: а хватит ли имеющихся вычислительных ресурсов для решения поставленной задачи в текущем тысячелетии. Для этого существует математические методы оценки сложности алгоритмов [ А. V. AHO, J. D.Ullman, "Foundation of Computer Science", Computer Science Press, 1992, или V.V. Leeuwen, "Algorithms and Complexity", The MIT Cambridge, Massachusetts, Elsevier Science Publishers, 1990 ]. Из-за сложности прямых вычислений многие исследователи ограничиваются лишь оценкой возможных границ надежности. На практике, даже используя самые производительные вычислительные системы, можно оценить надежность сети с ограниченным числом узлов. Для больших сетей доступными являются лишь оценки нижней или верхней границы надежности.

За отправную точку примем сеть , в которой - набор узлов или вершин графа сети, а - набор неориентированных ребер или набор ориентированных дуг. Большинство исследований по сетевой надежности посвящены -терминальным мерам. Пусть имеется набор из узлов и узел . Задана сеть , и все дуги графа, описывающего сеть, имеют вероятность надежности . Тогда к-терминальная мера надежности определяется как ( - вероятность):

То есть, надежность сети с графом для набора узлов и выбранного узла при вероятности иметь надежную связь для всех ребер графа равна вероятности того, что узел имеет хотя бы один доступный путь до каждого из узлов . Обычно эта величина соответствует определенному временному интервалу. Следует помнить, что для локальных сетей не может быть двух путей от до любого из узлов .

Существует два важных частных случая мер: 2-терминальная мера с и всетерминальная мера, где . Эти меры принято обозначать и , соответственно ( - надежность).

Читателю, рассчитывающему найти какие-то формулы, подставив в которые число узлов, вероятности отказа каналов и требования к пропускной способности, можно получить оценку надежности сети, читать далее данную лекцию не стоит. Таких формул просто не может существовать для сколько-нибудь сложных сетевых топологий (сети с несколькими десятками машин и структурированной схемой соединений уже относятся к такому типу). Формулы, которые представлены ниже, демонстрируют алгоритмы или модели оценки надежности и, как правило, не имеют практического значения. В остальной части данной статьи верхний индекс - соответствует ограничению надежности сверху, а - ограничению снизу.

Сетевая надежность содержит ряд аспектов, касающихся проектирования и анализа сетей, которые зависят от случайных отказов их компонентов. На примере сравнительно простых и в то же время обобщенных сетевых моделей можно рассматривать большинство сетевых сбоев, которые возникают на практике. Сетевые классы и модели охватывают сети передачи данных и голоса, коммуникационных сети, архитектуры ЭВМ, сети электропередачи и системы управления.

В самых первых моделях ЭВМ память организовывалась из множества отдельно стоящих реле и вакуумных ламп. Компьютерные системы, которые отказывали при выходе из строя одного из их элементов, были крайне ненадежны, так как вероятность отказа одного элемента из тысяч является высокой, даже если вероятность отказа отдельного компонента низка.

Первые активные разработки в области систем повышенной надежности проводились для систем, чей отказ мог повлечь катастрофы и гибель людей. Примерами таких систем является авиа- и космические системы, управление ядерными реакторами, системы управления оборонными комплексами. В последнее время широко распространено мнение, что в ряде промышленных отраслей с экономической точки зрения выгодней применять системы повышенной надежности. Например, это экономически оправданно в телекоммуникационных сетях, банковских системах - сетях подтверждения кредитоспособности и в системах оформления заказов.

Основной целью исследований в области сетевой надежности является стремление разработать методы для инженеров-проектировщиков, упрощающие проектирование сетей, которые требуют повышенной надежности. В идеале, желательно сформировать модели проектирования сетей и алгоритмы, которые используют в качестве входных данных характеристики сетевых компонентов, а также критерии проектирования, и выдают на выходе оптимальную структуру сети. Так как точные выражения для надежности сети очень сложны, в моделях для проектирования сетей вместо явных выражений надежности используются заменители. В этом разделе мы рассматриваем проблему анализа меры сетевой надежности. Различные модели исследования применяются совместно с процедурами проектирования сети. Если значение меры надежности окажется неудовлетворительным, то следует изменить входные параметры проектной модели. В противном случае, проектировщик может вручную скорректировать схему сети. Когда одним из вышеупомянутых методов получена очередная топология сети, вычисляется новое значение меры сетевой надежности. Построив, таким образом, итерационный процесс, мы добьемся соответствия между вновь полученным и желаемым значением меры сетевой надежности.

В результате расчетов надежности упрощенной модели сети могут быть выработаны рекомендации и критерии по выбору топологии и структуры, которые помогут достичь более высокой надежности.

Области применения

Сети с коммутацией пакетов, уровень опорной сети.

Первые сети с коммутацией пакетов были разработаны в 1960-х. Их создали с целью поделить высокоскоростные каналы между большим количеством пользователей. Трафик, порождаемый одним пользователем, имеет много всплесков и пауз. Трафик нескольких пользователей можно динамически разнести по времени и передавать по одному соединению. ARPANET была первой крупной сетью с коммутацией пакетов. Большая часть исследований в области сетевой надежности до и после 1970 г. велась именно для ARPANET. Надежность ARPANET в основном рассматривалась с точки зрения связанности сети. Считалось, что сеть функционирует, если она остается связанной, т.е. пока каждый из пользователей специфицированного субнабора связан друг с другом. Такой подход был оправдан, так как в ARPANET использовалась динамическая маршрутизация, так что данные могли быть направлены в обход отказавших узлов. Хотя имелась возможность транспортировки данных по другому маршруту, в сети могли возникнуть перегрузки и задержки, вызванные падением общей пропускной способности сети.

При сравнении ARPANET с коммерческими опорными сетями с коммутацией пакетов, используемыми в 1980-х годах, такими, как Telnet и Tymnet, ясно, что коммерческие сети много компактнее. Как следствие, вероятность нарушения связанности в коммерческих сетях много меньше, но, как правило, загрузка каналов там достаточно высока. Отсюда напрашивается вывод, что следует более детально вычислять параметры сетевой надежности и учитывать перегрузки и пропускную способность сети. Будем считать, что сеть работоспособна, если она связана и параметры сетевой работоспособности, коими могут быть средние задержки, не превышают заданных пределов.

Сегодня сеть ArpaNet может показаться топологически достаточно простой, но даже для такой сети расчет надежности отнюдь не простая задача даже при оценке простой связности.

Для того чтобы минимизировать перебор, можно использовать различные методы эквивалентного преобразования графа сети, минимизирующего число узлов или ребер при сохранении значения надежности.

Опорный уровень в сетях с коммутацией каналов.

На сегодняшний день крупнейшие телекоммуникационные сети являются сетями с коммутацией каналов, которые образуют всемирные телефонные сети общего назначения. В таких сетях пара пользователей занимает канал на время разговора. Отказ в работе некоторых сетевых компонентов снижает полную пропускную способность сети, и сокращается максимально возможное количество соединений. Это неблагоприятно сказывается на пользователях, возрастает вероятность того, что, когда человек захочет позвонить, линия будет занята. Это явление называется "блокировкой вызова". В случае повреждения узлов в сети с коммутацией пакетов может увеличиться задержка передачи данных, но блокировки вызова не произойдет. Конечно, для обоих типов сетей верно, что, если отсутствует связанность сети между двумя пользователями, они не смогут друг с другом общаться. В ранних работах по сетевой надежности предлагались модели сети с коммутацией каналов, где сетевые каналы считались неисправными, если они оказались блокированными.

Связные сети

Особый случай сетей с коммутацией каналов возникает при проектировании связных сетей в параллельных вычислительных архитектурах для объединения параллельных процессоров и памяти. Модели, основанные на связанности сети, одинаково применимы и к отказам по причине перегрузок, и к отказам в работе сетевых узлов. Эквивалентом производительности системы считается среднее значение параметра связанности сети между ее входной и выходной точками.

Локальные оптоволоконные сети для передачи голоса

Оптические кабели - одно из последних достижений современной технологии. Телекоммуникационные сети всего мира переводятся на использование этой техники (смотри, например, T. Flanagan, "Fiber Network Survivability" IEEE Communication Magazine 28 (1990) 46-53 ). Основным преимуществом оптической среды передачи по сравнению с передачей по медным кабелям является существенный рост пропускной способности и снижение уровня шумов. Именно по этой причине многие телефонные сети общего пользования осуществляют быстрый переход на оптику. Как, однако, оказалось, в проблематике надежности сетей существуют более важные проблемы, и именно их следует изучать. А именно: пропускная способность оптоволоконных сетей чрезвычайно высока, поэтому структура таких сетей, в отличие от обычных, имеет более распределенный характер. Старые сети были более разветвленными и имели большое число связей, вопрос сетевой надежности стоял не так остро. При проектировании современных сетей следует серьезно отнестись к проблеме сетевой надежности, т.к. перебои в работе даже одного из оптических каналов могут вызвать разрыв сети.

К оптическим каналам добавляют каналы-дублеры с возможностью переключения между основным и дублирующим каналом. При этом желательно, чтобы трассы их прокладки не совпадали (по стране рыщут бульдозеры и экскаваторы, так и норовящие порвать любые кабели). В результате мы сможем применить к оптической сети уже имеющиеся методы оценки надежности.

Архитектуры переключателей и компьютеров, устойчивые к сбоям.

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

Прочие применения

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

Наконец, применение многих средств оценки надежности сети, которые разработаны для мер, базирующихся на связности, распространяется на совершенно другие проблемы надежности, например, в сфере диспетчеризации и распределения ресурсов (в том числе операционных систем или сетей электроснабжения).

Причины возникновения сбоев

Механизмы потерь и причины их возникновения относительно хорошо изучены в классической теории надежности. Например, в электронных системах деградация узлов происходит, когда они подвергаются непрерывному тепловому воздействию. В результате такие узлы случайным образом выходят из строя. Анализ надежности для подобных систем обычно включает в себя изучение этих случайных процессов и параметры их распределений. При анализе сетевой надежности часть механизмов, вызывающих потери, известна также как и параметры их функций распределения. Но остается много не менее важных механизмов, о функции распределения которых мы ничего не можем сказать. Например, существует много публикаций о возникновении отказов в работе оптоволоконных сетей, вызванных естественными причинами, такими, как пожары, или ошибками оператора транзитной сети, который совместно использовал канал. Таким образом, трудно построить модель сбоев в канале, удовлетворяющую реальной частоте сбоев. Обычно, прогноз частоты сбоев в сети строится на основе исторического анализа или результатов измерений. Более подробное рассмотрение проблемы представлено в книге M.O. Ball, C.J. Colbourn, J.S. Provan, "Network Reliability".

Основные определения

Из-за отсутствия приемлемой модели механизма потерь в сети и присущей сложности расчета сетевой надежности используются времязависимые модели с дискретной вероятностью. Здесь мы рассмотрим наиболее популярную модель. В ней предполагается, что сетевые компоненты (узлы и ребра на языке графов) могут принимать лишь два состояния: работает или не работает. Состояние сетевого компонента - случайная величина, не зависящая от состояния других компонентов (в общем случае это может быть и не так). Постановка задачи вычисления надежности: для каждого компонента сети задана вероятность того, что он находится в рабочем состоянии, и требуется вычислить меру надежности сети.

Рассмотрим некое обобщение этой модели. В частности, будем рассматривать модели, в которых каждый компонент может находиться в одном из нескольких состояний, или модели, в которых рабочее состояние характеризуется численным значением. Численные значения этих характеристик обычно приравниваются метрике расстояния или величине пропускной способности. Простая модель с двумя состояниями хорошо подходит для вычисления меры связанности. Когда возникает необходимость посчитать более сложную меру, например, производительность системы, применяют более сложные характеристики состояний компонентов.

Для модели с двумя состояниями вероятность работоспособности компонента или, проще, надежность, можно понимать по-разному. Наиболее распространенными являются формулировки:

  1. доступность компонента;
  2. надежность компонента.

Вообще в этом разделе договоримся применять термин надежность для обозначения вероятности того, что компонент или система работает. Здесь мы обсуждаем более частное определение. Доступность используется в контексте ремонтоспособных систем. Из сказанного следует, что компонент может находиться в одном из трех состояний: работает, не работает, в процессе восстановления. Доступность компонента определяется как вероятность его работы в случайный момент времени. Оценка величины доступности производится с учетом среднего времени восстановления в рабочее состояние и среднего времени в нерабочем состоянии. Надежность можно записать так:

Определение надежности компонента не учитывает время восстановления. Специфицируется промежуток времени , а надежность компонента определяется как вероятность того, что за это время компонент останется в рабочем состоянии. Допускаются также иные трактовки для вероятности того, что компонент работает. Конечно, интерпретация уровня надежности компонента определяет в свою очередь интерпретацию мер сетевой надежности. В оставшейся части статьи мы будем использовать вероятность работоспособности или надежности и не будем пытаться это как-либо интерпретировать.

За отправную точку примем сеть , в которой - набор узлов или вершин, а - набор неориентированных ребер или набор ориентированных дуг. При изучении моделей связанности для каждого мы определяем надежность как . При изучении простых моделей потоков (кратчайших путей), мы ассоциируем пропускную способность (расстояние ) с каждым . Мы интерпретируем , как вероятность того, что работает и имеет пропускную способность (расстояние ), а - как вероятность того, что не работает и имеет пропускную способность (расстояние равно бесконечности). При изучении моделей потоков (кратчайших путей) с множеством состояний мы ассоциируем распределение пропускной способности (распределение расстояний для . Здесь - вероятность того, что будет иметь пропускную способность (расстояние ).

Иногда, при изучении сетевой надежности, бывает удобно переходить к обобщенным случаям и рассматривать когерентные двоичные системы. Стохастическая бинарная система SBS (stochastic binary system) - представляет собой систему, которая отказывает случайным образом в результате случайного выхода из строя ее компонента. Каждый компонент из набора сетевых компонентов может принимать одно из двух значений: работает, не работает. Структура системы описывается функцией , определенной для .

Функция SBS является когерентной, если и выполняется условие для . Последнее свойство означает, что выход из строя любого из компонентов может только повредить работе системы. Представляет интерес задача вычисления выражения:

, где - набор работающих компонентов,

если известен вид распределения . Иногда мы рассматриваем задачи надежности, где для всех , в этих случаях мы заменяем на в представленной выше нотации. Для произвольной стохастической когерентной двоичной системы ( SCBS - stochastic coherent binary system) определим набор путей как набор компонентов, работоспособность которых означает работу системы в целом. Назовем минипроходом минимальный набор путей, обеспечивающих работоспособность системы. Аналогично определим набор разрезов как набор компонентов, чей отказ вызовет отказ системы, а миниразрезом назовем минимальный набор таких разрезов.

Во многих приложениях могут отказывать как дуги, так и узлы. Следовательно, приходится изучать модели, способные реагировать и на отказы узлов, и на обрывы дуг. К счастью, для случая ориентированных сетей с помощью преобразования, показанного на рисунке 17.3, задачу с ненадежными ребрами и узлами можно свести к задаче с абсолютно надежными узлами и ненадежными ребрами. В каждом случае дуга, которая замещает узлы, наследует характеристики соответствующих узлов.

Замена ненадежного узла


Рис. 17.3.  Замена ненадежного узла

Выше представленное обсуждение указывает, что с практической точки зрения предпочтительнее коды для анализа надежности ориентированной сети по отношению к кодам для неориентированного случая. При условии тщательного подбора входных данных ориентированные сетевые коды можно применять для анализа ориентированных и неориентированных моделей сети и задач с отказом и без отказа узлов.

Введение к сложности анализа надежности

При вычислении надежности приходится учитывать не только топологию сети, но и потоки данных в ней. Следовательно, анализ их сложности включает соображения, которые связаны с механизмом, используемым при рассмотрении проблем распознавания и оптимизации, но отличаются от него.

Чтобы наиболее простым образом свести задачи анализа надежности к более знакомым комбинаторным проблемам, рассмотрим частный случай задачи анализа надежности, которая возникает, когда все индивидуальные компоненты надежности равны, т.е. для всех . В этом случае можно записать в виде полинома по степеням :

Этот полином является полиномом надежности. Задача по его вычислению называется задачей анализа функциональной надежности, где в качестве входных данных используется представление SBS, а на выходе получается вектор .

Общий член в полиноме надежности представляет собой вероятность того, что работает ровно компонентов сети и функционирует система в целом.

Результатом задачи по распознавания гамильтоновых контуров может быть либо "Да", если в графе содержатся контуры, либо "Нет", а результатом задачи подсчета гамильтоновых контуров в графе является число таких контуров. NP и NP-полный являются классами задач распознавания. Классы, соответствующие задачам подсчета, обозначаются #P и #P-полный. Очевидно, что любая задача подсчета, по крайней мере, не проще, чем соответствующая ей задача распознавания. Например, если известно число гамильтоновых контуров в графе, то не составит труда ответить на вопрос: "Больше ли нуля число гамильтоновых контуров?". Получается, что любая разновидность задачи подсчета из NP-полного класса часто является #P-полной. С другой стороны, существуют примеры задач распознавания, у которых время решения является полиномиальным, а их счетные аналоги относятся к NP-полному классу. Например, задача поиска точного соответствия в двудольном графе имеет полиномиальное время решения, а задача поиска точного числа полных соответствий в двудольном графе является #P-полной. Чтобы не усложнять этот обзор, мы не будем подробней вдаваться в проблему сложности, а будем лишь указывать, относится ли она к полиномиальному классу или классу NP сложности.

Многие практические приложения требуют использования моделей с разной надежностью компонентов. В таких моделях все вероятности являются рациональными числами. Мы формулируем проблему анализа рациональной надежности следующим образом. В качестве входной информации используется представление SBS и для каждого компонента пара целых чисел , . На выходе получается пара целых чисел и таких, что .

Мы начинаем с установления того, что, если конкретный анализ функциональной надежности является NP-сложными, тогда соответствующий анализ рациональной надежности является NP-сложными.

Для любой задачи анализа рациональной надежности r-Rel и соответствующей ей задачи анализа функциональной надежности, f-Rel за полиномиальное время может быть сведена к r-Rel.

В f-Rel входит представление функции SBS. На выходе необходимо получить набор коэффициентов полинома надежности. Чтобы преобразовать f-Rel в r-Rel, выберем рациональное значение вероятности . Для обозначим решения соответствующей задачи анализа рациональной надежности как , где все компоненты надежности установлены равными . Теперь мы можем записать систему уравнений:

для .

Решив задачу анализа рациональной надежности, найдем и . Получим систему из линейного уравнения с неизвестными . Коэффициенты матрицы имеют свойство матрицы Вандермонде и, следовательно, матрица является невырожденной, таким образом, можно вычислить значения .

Исследуем более детально вид полинома надежности для функций SCBS. Если задана SCBS, мы определяем значения:

Заметим сразу, что коэффициенты полинома надежности обладают следующими свойствами:

, для

для ,

для ,

для ,

для

Эти свойства означают, что, вычисляя полином надежности, мы легко определяем важные свойства SCBS функции. Например, исследовав полином надежности, мы сможем определить размер набора разрезов с минимальной мощностью. Таким образом, если задача распознавания набора разрезов с минимальной мощностью имеет сложность NP, то задача вычисления полинома надежности тоже имеет сложность NP.

Сложность анализа сетевой надежности

Приведем результаты, полученные для сложности анализа сетевой надежности в трех частных задачах: k-терминальной 2-терминальной и всетерминальной.

k терминалов

Набор путей с минимальной мощностью для k-терминальной меры является деревом Штейнера с минимальной мощностью. Известно, что задача распознавания является NP сложной для ориентированных и неориентированных сетей. Анализ функциональной и рациональной надежности для задачи анализа имеют NP сложность. Валиант [L.G.Valiant, "The complexity the enumeration and reliability problems", SIAM, J. Computing, 8 (1979), 410-421] приводит альтернативное доказательство, заключающееся в демонстрации того, что вычисление

, имеет сложность . Здесь является набором терминалов.

2 терминала

Задачи распознавания минимального набора путей и разрезов, сопряженные с 2-терминальной мерой, являются проблемами кратчайшего пути и минимального разреза, соответственно. Известны полиномиальные алгоритмы для обеих этих задач. Валиант впервые показал, что задачи анализа надежности в случае 2-терминальной меры имеют сложность NP. Его результаты служат хорошей иллюстрацией методик, используемых в данной области.

Всетерминальная мера

Для ориентированной всетерминальной меры проблемы с наборами путей и разрезов с минимальной мощностью являются задачами поиска минимального покрывающего дерева и минимального s-ориентированного разреза, соответственно.

Обе эти задачи решаются за полиномиальное время. Задача подсчета минимального s-ориентированных разрезов имеет сложность NP. А это, в свою очередь, означает, что связанная с ней задача надежности имеет сложность NP. Для случая неориентированной меры задачи по распознаванию и подсчету минимального набора путей и разрезов имеют полиномиальную сложность. Однако задача вычисления общего члена в полиноме надежности имеет сложность NP, потому что задачи анализа надежности для неориентированного случая имеют сложность NP.

В свете этих негативных результатов, большинство исследований имело целью анализ структурированных сети. Самый широкий класс сетей, для которых можно выполнить вычисления за полиномиальное время, базируется на последовательно-параллельных графах и определенных обобщениях. Прован ( J.S.Provan, "The complexity of reliability computations in planar and acyclic graphs", SIAM, J. Computings 8 (1986), 694-702 ) показал, что неориентированная 2-терминальная проблема надежности обладает сложностью NP в планарных нециклических сетях, имеющих степени узлов не выше трех.

Результаты данного раздела указывают на то, что полиномиальные алгоритмы для сетевой надежности существуют только для маленького класса сетей. Благодаря этому факту большое число исследований посвящено изучению ограничений сетевой надежности и подходов, основанных на методе Монте-Карло.

Решение задач оценки надежности опирается на простое, но важное соображение: существует такое преобразование графа, которое не меняет значений различных мер надежности, и это преобразование может быть использовано для упрощения топологии сети, для которой нужно вычислить точное значение надежности. Наша первая цель - преобразования графов, которые приводят к упрощению.

Ребро или дуга, которые не входят ни в один из минимальных наборов путей, называется нерелевантным: работоспособность таких нерелевантных ребер не влияет на работу или отказ сети. Самым простым способом упрощающим преобразования графа является удаление нерелевантных ребер. По определению, такое преобразование не меняет меру надежности. Чтобы преобразование имело практическое применение для сети, время его эффективной реализации должно быть полиномиальным. Для все-, k- и 2-терминальных мер надежности петли всегда являются нерелевантными. А для k- и 2- терминальных мер надежности нерелевантными являются также все оконечные ребра, не имеющие терминального окончания. Такие ребра легко находить и удалять. В случае ориентированных задач надежности поиск нерелевантных дуг отнюдь не простая задача. Было показано, что задача нахождения нерелевантных дуг в случае -связанности имеет сложность NP, в то время как общая неориентированная задача допускает эффективное решение.

Проблема сетевой надежности исследуется достаточно давно. В настоящее время ясно, что точного решения даже для сетей ограниченного размера эта задача не имеет. Но можно уже сегодня, если требуется, произвести оценку надежности сверху и снизу. Следует, впрочем, иметь в виду, что даже это требует достаточно сложных расчетов.

17.4. Сетевые драйверы

Читатели, знакомые с телекоммуникационными протоколами, могут заинтересоваться тем, как писать прикладные программы для работы с пакетами. В большинстве случаев вполне достаточно воспользоваться стандартной библиотекой для работы с сокетами. В особых случаях может возникнуть необходимость получения данных непосредственно от сетевого интерфейса. Прикладная программа взаимодействует с драйвером сетевого интерфейса. Ethernet-интерфейс, как и всякий другой, содержит несколько статусных управляющих регистров ( CSR – Control Status Register) и один или несколько регистров данных. Запись (чтение) в эти регистры выполняется в IBM/PC с помощью команд IN (OUT). Каждому регистру ставится в соответствие определенный номер порта. Блок номеров портов задается в процессе постановки пакетного драйвера.

Следует иметь в виду, что разные интерфейсы могут иметь разное число CSR -регистров и отличные от приведенных ниже функции (NE2100). Интерфейс характеризуется тремя целыми числами: класс (8 бит), тип (16 бит) и номер. Класс говорит о том, для какой из сетевых сред предназначен данный прибор (PPP, DIX Ethernet, IEEE 802.3, IEEE 802.5, Pronet-10, Appletalk и т.д.). Тип описывает конкретную реализацию интерфейса (NE2100, NI5210, 3C501 и т.д.). Тип 0xffff соответствует всем интерфейсам данного класса. В случае, когда ЭВМ оснащена более чем одним интерфейсом идентичного типа, для их идентификации используется номер. На рис. 17.4 показана структура управляющего ( CSR ) регистра сетевого интерфейса.

Структура CSR-регистра интерфейса (CSR0)


Рис. 17.4.  Структура CSR-регистра интерфейса (CSR0)

Таблица 17.4.
Initинициализация (initialize)
Strtстарт
Stopстоп
Tdndзапрос передачи (transmit demand)
Txonвключение передачи
Rxonвключение приема
Ineaразрешение прерываний (interrupt enable)
Intrпрерывание
Idonинициализация выполнена (стирание записью 1)
Tintпрерывание при передаче (стирание записью 1)
Rintпрерывание при чтении (стирание записью 1)
Merrошибка при тайм-ауте на шине (стирание записью 1)
Missнет буфера для приема (стирание записью 1)
Cerrошибка из-за столкновения (стирание записью 1)
Bablтайм-аут при передаче (стирание записью 1)
Errошибка типа Babl, Cerr, Miss, Merr (только для чтения)

CSR 1 (доступ разрешен при CSR 0[stop] = 1)

CSR1


Рис. 17.4b.  CSR1

CSR2 (доступ разрешен при CSR0[stop] = 1)

CSR2


Рис. 17.4c.  CSR2

Таблица 17.5.
Bcon0 = <0:7> перестановка байтов адресов
Acon0 = ale, 1 = /as
Bswp0 = /bm1, bm0, /hold;

CSR 3 (доступ разрешен при CSR 0[stop] = 1)



Рис. 17.4d. 

Структура переменных init_mode (смещение = 0) имеет вид

Структура переменных init_mode


Рис. 17.5.  Структура переменных init_mode

Таблица 17.6.
Drxзапрет приема
Dtxзапрет передачи
Loopцикл
Dtcrзапрет передачи crc
Collстолкновение
Drtyзапрет повторов
Intlвнутренний цикл
Promрежим приема всех пакетов (promiscuous mode)

Приведенное выше описание регистров интерфейса не является единственно возможным. Структура драйверов варьируется для разных операционных систем. Для системных программистов полезно иметь возможность настраивать драйвер или непосредственно интерфейс на определенный режим, например, на прием всех пакетов, проходящих по кабельному сегменту. Последнее может представлять интерес в диагностических целях, так как вслед за пакетным драйвером загружается Etherdrv, Winsock или winpkt и т.д., блокирующие режим приема всех пакетов (mode=6).

Существует множество пакетных драйверов. Можно обнаружить несколько модификаций для одного и того же типа интерфейса. Эти драйверы могут быть ориентированы на работу в разных программных средах и иметь разные возможности. Драйвер может использовать минимум возможностей интерфейса (базовый уровень), реализовать более широкий набор функций (мультикастинг, сбор статистики и т.д.) или поддерживать практически все, на что способен данный интерфейс. В последнем случае он занимает больше места в памяти. При написании программы следует помнить, что порядок байтов в Ethernet противоположен тому, который используется в вашей машине.

ПакетЂЕЄZQVЂЕЄZQVPђtZQV°µYQVиЕЄZQV ЕЄZQV@ ЕЄZQV0d2.png" alt="" style="display: inline; position: relative; top: 5;" width="99" height="18">. Следует сразу заметить, что не все прерывания из этого списка свободны, и при конфигурировании системы следует проявлять осмотрительность. Для того, чтобы избежать конфликтов с другими внешними устройствами, предусматривается возможность реконфигурации прерываний. Практически все драйверы могут работать с различными протоколами (TCP/IP, OSI и др.). Решить задачу мультиплексирования на связном уровне помогает процедура access_type, которая обеспечивает доступ для пакетов определенного типа.

Все функции реализуются с помощью обращения к драйверу с набором определенных параметров. Каждому типу используемого сетевого протокола, с которым работает интерфейс, ставится в соответствие целочисленный указатель (handle), получаемый с помощью процедуры access_type. Выполнимость драйвером тех или иных операций может быть выяснена с помощью запроса driver_info.

Следует помнить, что порядок байтов в PC и в некоторых сетях, включая Ethernet, не совпадает. Мультикастинг адресация реализуется на уровне L2, при этом список мультикаст-адресов подписки пользователей хранится в сетевом интерфейсе и может быть прочитан по запросу.

Современные сетевые интерфейсы производят подсчет принятых и переданных октетов, количество различного типа ошибок и пр. Получение статистических данных об ошибках и трафике через данный интерфейс осуществляется с помощью запроса get_statistics(handle). Статистические данные имеют вид целых 32-разрядных чисел.

Практически все интерфейсы допускают смену МАС-адреса, прошитого изготовителем интерфейса.

Лекция 18. Заключение

Заключение

Трудно найти другой такой проект, который бы имел сопоставимое воздействие на развитие человеческой цивилизации, как Интернет.

Человечество все в большей мере зависит от информации, хранящейся в ЭВМ. Вся жизнь людей скоро будет записываться в базы данных (информация на владельцев автомашин, недвижимости, кредитные истории, страхование, уплата налогов, истории болезней и т.д.). На очереди фиксация индивидуальных генетических кодов и разработка лекарств, предназначенных для конкретного человека. Воздействие любого сбоя или ошибки становится все более весомыми.

При этом требования к надежности и устойчивости сетевых вычислительных систем к любым внешним воздействиям растет, так как от этого зависит управляемость предприятий, банковских и корпоративных систем и государств.

Технологии Интернет продолжают стремительно развиваться, усложняясь с каждым годом. Это с неизбежностью ставит проблему уязвимости этой технологии, как к случайным, так и преднамеренным внешним воздействиям.

Здесь нужно учитывать конечную надежность вычислительных машин, реальные значения вероятности сбоев телекоммуникационных каналов (BER), а также наличие ошибок в системном и прикладном программном обеспечении.

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

Дополнения

Дополнение. Приложение

Таблица кодов поля протокол заголовка Ethernet
EthernetОписание
Десятичный кодHex
00000000-05DCПоле длины IEEE 802.3
02570101-01FFЭкспериментальные
05120200XEROX PUP
05130201PUP Addr Trans
0400Nixdorf
15360600XEROX NS IDP
0660DLOG
0661DLOG
20480800Internet IP (IPv4)
20490801X.75 Internet
20500802NBS Internet
20510803ECMA Internet
20520804Chaosnet
20530805X.25 Level 3
20540806ARP
20550807XNS Compatibility
20560808Frame Relay ARP
2076081CSymbolics Private
21840888-088AXyplex
23040900Ungermann-Bass net debugr
25600A00Xerox IEEE802.3 PUP
25610A01PUP Addr Trans
29890BADBanyan VINES
29900BAEVINES Loopback
29910BAFVINES Echo
40961000Berkeley Trailer nego
40971001-100FBerkeley Trailer encap/IP
56321600Valid Systems
169624242Протокол базовых модулей PCS
210005208BBN Simnet
245766000DEC Unassigned (Exp.)
245776001DEC MOP Dump/Load
245786002DEC MOP Remote Console
245796003DEC DECNET Phase IV Route
245806004DEC LAT
245816005DEC Diagnostic Protocol
245826006DEC Customer Protocol
245836007DEC LAVC, SCA
245846008-6009DEC Unassigned
245866010-60143Com Corporation
249446558Trans Ether Bridging
249456559Raw Frame Relay
286727000Ungermann-Bass download
286747002Ungermann-Bass dia/loop
287047020-7029LRT
287207030Proteon
287247034Cabletron
327718003Cronus VLN
327728004Cronus Direct
327738005HP Probe
327748006Nestar
327768008AT&T
327848010Excelan
327878013SGI диагностика
327888014Сетевые игры SGI
327898015Зарезервировано SGI
327908016SGI bounce server
327938019Apollo Domain
32815802ETymshare
32816802FTigan, Inc.
328218035Reverse ARP
328228036Aeonic Systems
328248038DEC LANBridge
328258039-803CDEC Unassigned
32829803DDEC Ethernet Encryption
32830803EDEC Unassigned
32831803FМонитор трафика DEC LAN
328328040-8042DEC Unassigned
328368044Planning Research Corp.
328388046AT&T
328398047AT&T
328418049ExperData
32859805BStanford V Kernel exp.
32861805DEvans & Sutherland
328648060Малые машины
328668062Counterpoint Computers
328698065Univ. of Mass. @ Amherst
328708066Univ. of Mass. @ Amherst
328718067Veeco Integrated Auto.
328728068General Dynamics
328738069AT&T
32874806AAutophon
32876806CComDesign
32877806DComputgraphic Corp.
32878806E-8077Landmark Graphics Corp.
32890807AMatra
32891807BDansk Data Elektronik
32892807CMerit Internodal
32893807D-807FVitalink Communications
328968080Vitalink TransLAN III
328978081-8083Counterpoint Computers
32923809BAppletalk
32924809C-809EDatability
32927809FSpider Systems Ltd.
3293180A3Nixdorf Computers
3293280A4-80B3Siemens Gammasonics Inc.
3296080C0-80C3DCA Data Exchange Cluster
3296480C4Banyan Systems
3296580C5Banyan Systems
3296680C6Pacer Software
3296780C7Applitek Corporation
3296880C8-80CCIntergraph Corporation
3297380CD-80CEHarris Corporation
3297580CF-80D2Taylor Instrument
3297980D3-80D4Rosemount Corporation
3298180D5IBM SNA Service on Ether
3298980DDVarian Associates
3299080DE-80DFIntegrated Solutions TRFS
3299280E0-80E3Allen-Bradley
3299680E4-80F0Datability
3301080F2Retix
3301180F3AppleTalk AARP (Kinetics)
3301280F4-80F5Kinetics
3301580F7Apollo Computer
3302380FF-8103Wellfleet Communications
330318107-8109Symbolics Private
330728130Hayes Microcomputers
330738131VG Laboratory Systems
330748132-8136Коммуникации мостов
330798137-8138Novell, Inc.
330818139-813DKTI
8148Logicraft
8149Сетевые вычислительные устройства
814AAlpha Micro
33100814CSNMP
814DBIIN
814EBIIN
814FTechnically Elite Concept
8150Rational Corp
8151-8153Qualcomm
815C-815EComputer Protocol Pty Ltd
8164-8166Charles River Data System
817DXTP
817ESGI/Time Warner prop.
8180Инкапсуляция HIPPI-FP
8181STP, HIPPI-ST
8182Зарезервировано для HIPPI-6400
8183Зарезервировано для HIPPI-6400
8184-818CSilicon Graphics prop.
818DMotorola Computer
819A-81A3Qualcomm
81A4ARAI Bunkichi
81A5-81AERAD Network Devices
81B7-81B9Xyplex
81CC-81D5Apricot Computers
81D6-rtisoft
81E6-81EFPolygon
81F0-81F2Comsat Labs
81F3-81F5SAIC
81F6-81F8VG Analytical
8203-8205Quantum Software
8221-8222Ascom Banking Systems
823E-8240Advanced Encryption Systems
827F-8282Athena Programming
8263-826ACharles River Data System
829A-829BInst Ind Info Tech
829C-82ABTaurus Controls
82AC-8693Walker Richer & Quinn
8694-869DIdea Courier
869E-86A1Computer Network Tech
86A3-86ACКоммуникации шлюзов
86DBSECTRA
86DEУправление Delta
86DDIPv6
3454386DFATOMIC
86E0-86EFLandis & Gyr Powers
8700-8710Motorola
34667876BTCP/IP Compression
34668876CIP Autonomous Systems
34669876DSecure Data
880BPPP
8847MPLS Unicast
8848MPLS Multicast
8A96-8A97Invisible Software
368649000Loopback
3686590013Com(мост) XNS Sys Mgmt
3686690023Com(мост) TCP-IP Sys
3686790033Com(мост) loop detect
65280FF00BBN VITAL-LanBridge cache
FF00-FF0FISC Bunker Ramo
65535FFFFЗарезервировано

Литература

  1. Ziv J. and Lempel A, A universal algorithm for sequential data compression, IEEE Transactions on Information Theory. Vol. IT-23, № 3, May 1977, pp. 337-343
  2. Ziv J. and Lempel A, Compression of individual sequences via variable rate coding, IEEE Transactions on Information Theory. Vol. IT-24. № 5, September 1978, pp. 530-535
  3. Burrows M. and Wheeler D.J, A block-sorting Lossless Data Compression Algorithm, Digital Systems Research Center. SRC report 124. May 10, 1994
  4. Bently J.L., Sleator D.D., Tarjan R.E., and Wei V.K, A locally adaptive data compression algorithm, Communications of the ACM, Vol. 29, № 4, April 1986, pp. 320-330
  5. , Saleem Bhatti,
  6. Wicker, Error Control Systems for Digital Communication and Storage, Prentice-hall 1995
  7. Lin and Costello, Error Control Coding: Fundamentals and Applications, Prentice-hall 1983
  8. Clark and Cain, Error Correction Coding for Digital Communications, Plenum 1988
  9. Wilson, Digital Modulation and Coding, Prentice-hall 1996
  10. , Reed-Solomon error correction,
  11. , Forward error correction,
  12. , BCh code,
  13. , Polynomial Codes over Certain Finite Fields,
  14. Фил Карн, DSP and FEC Library,
  15. , Собрание ссылок на книги, статьи и программные коды,
  16. , Библиотека программ,
  17. , Приложения для видеокоммуникаций,
  18. , Учебные материалы,
  19. , Reed-Solomon coding/decoding package v1.0,
  20. , Commsdesign,
  21. , Аппаратные и программные реализации,
  22. , Crosslink -The Aerospace Corporation magazine of advances in aerospace technology, The Aerospace Corporation (Volume 3, № 1 (Winter 2001/2002))
  23. Rohit Puri, Kannan Ramchandran, Multiple Description Source Coding using Forward Error Correction Codes, University of California, Berkeley (rpuri, kannan@eecs.berkeley.edu)
  24. Morelos-Zaragoza, Robert, The Error Correcting Codes (ECC) Page,
  25. , ISO/IEC TR 21000-1:2001(E) Part 1: Vision, Technologies and Strategy,
  26. , Требования текущей версии MPEG-21,
  27. , High Speed Network Technologies,
  28. Eugene A. Gryazin, Service Discovery in Bluetooth,
  29. Сергей Митилино, Беспроводные сети Bluetooth,
  30. Э. Таненбаум, Компьютерные сети, Питер, 2003, стр. 361-370
  31. , Bluetooth,
  32. , Bluetooth,
  33. , Palowireless,
  34. , Requirements and architectures for broadband fixed radio access networks (HIPERACCESS), ETSI TR101 177 V1.1.1, .Broadband Radio Access Networks (BRAN)
  35. , Rules for Coexistence of P-P and P-MP systems using different access methods in the same frequency band, ETSI TR101 853 V1.1.1 (2000-10)
  36. , Radio frequency channel arrangements for fixed services in the range 22.0 GHz to 29.5 GHz, ITU-R Recommendation F.746-1
  37. , Considerations in the development of criteria for sharing between the terrestrial fixed service and other services, ITU-R Recommendation F.758-2
  38. , Bandwidths and unwanted emissions of digital radio relay systems, ITU-R Recommendation F.1191
  39. , Maximum equivalent isotropically radiated power of transmitting stations in the fixed service operating in the frequency band 25.25.27.5 GHz shared with the intersatellite service, ITU-R Recommendation F.1249-1
  40. , Vocabulary of terms for wireless access, ITU-R Recommendation F.1399
  41. , Prediction procedure for the evaluation of microwave interference between stations on the surface of the Earth at frequencies above about 0.7 GHz, ITU-R Recommendation P.452
  42. , Attenuation by atmospheric gases, ITU-R Recommendation P.676-4
  43. , Specific attenuation model for rain for use in prediction methods, ITU-R Recommendation P.838
  44. , Attenuation due to clouds and fog, ITU-R Recommendation P.840-3
  45. , Propagation data and prediction methods required for the design of terrestrial broadband millimetric radio access systems, ITU-R Recommendation P.1410
  46. , Point-to-Multipoint digital radio systems bands in the range 3 GHz to 11 GHz, ETSI EN 301021 v1.4.1 (2001/03) Fixed Radio Systems; Point-tomultipoint equipment; Time division Multiple access (TDMA)
  47. Falconer, D. and Ariyavisitakul, S. L., Frequency Domain Equalization for 2.11 GHz Fixed Broadband Wireless systems, Tutorial, presented during Session #11 of IEEE 802.16 in Ottawa, Canada, Jan. 22, 2001
  48. Cantoni A., and Godara, L. C, Fast Algorithm for Time Domain Broad Band Adaptive Array Processing, IEEE Trans. Aerops. Electr. Syst., AES-18, 682, Sept. 1982
  49. Alamouti, S. M, A Simple Transmit Diversity Technique for Wireless Communications, IEEE Journal on Select Areas in Communications, vol. 16, no. 8, pp. 1451.1458, Oct. 1998
  50. Viterbi, A. J., Wolf, J. K., Zehavi, E., and Padovani, R, A pragmatic approach to trellis-coded modulation, IEEE Communications Magazine, July 1989, pp. 11.19
  51. Wolf, J. K., and Zehavi, E, P2 codes: Pragmatic trellis codes utilizing punctured convolutional codes, IEEE Communications Magazine, February 1995, pp. 94.99
  52. , ERC Report 72: Compatibility Studies Related to the possible Extension Band for HIPERLAN at 5 GHz,
  53. , IEEE 802.11a-1999: Wireless LAN Medium Access Control (MAC) and Physical Layer (PHY) specifications: High Speed Physical Layer in the 5 GHz Band,
  54. U. K. Dept, Of the Environment, Transport and the Regions, Digest of environmental Statistics, 15.03.2001
  55. , ERC Report 15:Compatibility Studies Between Radar and WLANs Operating at Frequencies Around 5.5 GHz,
  56. , ERC/DEC/(99)23 ERC Decision on the harmonised frequency bands to be designated for the introduction of HIPERLANS, 29.11.1999
  57. , CEPT/ERC/REC 70-03 Relating to the use of short range devices (SRD),
  58. Liberti, J. C. and Rappaport, T. S, Smart Antenna for Wireless Communications, Prentice-Hall, Englewood Cliffs, NJ, 1999
  59. Erceg, V., et al, Channel models for fixed wireless access applications,
  60. , Analysis of potential interference between spaceborne SARS and U-NII devices around 5.3 GHz, USA ITU-R WP7C/24, 8A-9B/3 (2000-2003)
  61. , APPN/HPR in IP Networks (APPN Implementers’ Workshop Closed Pages Document)., IBM
  62. Гуркин Ю.Н., Семенов Ю.А, P2P. Файлообменные сети: принципы работы, номер 11 стр. 62. ISSN 1605-5055, 2006, № 2006. Курс Алгоритмы и протоколы каналов и сетей передачи данных 434
  63. Liben-Nowell, Balakrishnan, Karger, Analysis of the evolution of peertopeer systems, Communications of the cm February 2003/Vol. 46, № 2
  64. Petar Maymounkov and David Mazi`eres, Kademlia: A Peer-to-peer Information System Based on the XOR Metric,
  65. Balakrishnan H., FransKaashoek M., Karger D/, Morris R., and Stoica I, Looking up DATA in P2P systems, In Proc. Acm SIGCOMM’01, San Diego, CA, Aug. 2001
  66. , Understanding the Impact of P2P: Architecture and Protocols,
  67. Karger D., Lehman E., Leighton F., Levine M., Lewin D., Panigrahy R, Consistent hashing and random trees: Distributed caching protocols for relieving hot spots on the World Wide Web, In Proc. 29th Annual ACM Symposium on Theory of Computing (El Paso, TX, May 1997), pp. 654-663
  68. Hildrum K., Kubiatowicz J., Rao S., and Zhao B, Distributed Object Location in a Dynamic Network, In Proceedings of 14th ACM Symp. on Parallel Algorithms and Architectures (SPAA), August 2002
  69. , Marling Engle: Vulnerabilities of P2P Systems and a Critical look at Their Solutions, Kent State University, Date: April 2006
  70. Hei X., Liang C., Liu Y., and Ross K.W, Insight into PPLive: A Measurement Study of a Large-Scale P2P IPTV System,
  71. Zhang X., Liu J., Li B., and Tak-Shing Peter Yum, CoolStreaming/DONet: A Data-Driven Overlay Network for Efficient Live Media Streaming,
  72. Venkata N. Padmanabhan, Helen J. Wang, Philip A. Chou, Resilient Peer-to-Peer Streaming (MDC),
  73. , Overnet,
  74. , eDonkey2000,
  75. , Emule,
  76. , Bittorrent,
  77. , Gnutella,
  78. , Gnutella2,
  79. , KaZaA,
  80. , Gossip Based Streaming,
  81. Floyd S., Fall K, Promoting the Use of End.to.End Congestion Control in the Internet, IEEE/ACM Transactions on Internetworking, V. 7, № 4. August 1999
  82. Yuan P., Gambiroza V., Knightly E, The IEEE 802.17 Media Access Protocol for High-Speed Metropolitan-Area Resilient Packet Rings, IEEE Network, May/June 2004
  83. Gambiroza V., Yuan P., Balzano L., Knightly E., Liu Y., Sheafor S, Design, Analysis, and Implementation of DVSR: A High-Performance Protocol for Packet Rings, IEEE/ACM Transactions on Networking, V. 12, N 1, February 2004
  84. Яновский Г.Г., Руин А.А, Транспортные сети следующего поколения, Вестник связи, № 2, 2004
  85. , Rice Packet Ring Project,
  86. Ю. В. Прохоров, Ю. А. Розанов, Теория вероятностей. Основные понятия, предельные теоремы, случайные процессы, Наука, Глав. Ред. Физмат литературы, М. 1967, серия “Справочная математическая библиотека”
  87. , Guide to Network Resource, Tools EARN Association, Sept. 15, 1993, V2.0. (ISBN 2- 910286-03-7)
  88. , Packets and Protocols, Spider Systems, Stanwell Street, Ltd. Edinburgh, UK. EH6 5NG, 1990
  89. Paul J. Fortier, Handbook of LAN Technology, 2-nd Edition, McGraw-Hill, 1992
  90. Лаура Ф. Чаппелл и Дэн Е. Хейкс, Анализатор локальных сетей NetWare (Руководство Novell), Москва, Изд. “ЛОРИ”, 1995
  91. А. В. Фролов и Г. В. Фролов, Локальные сети персональных компьютеров. Использование протоколов IPX, SPX, NETBIOS, Москва, “Диалог-МИФИ”, 1993
  92. К. Джамса, К. Коуп, Программирование для INTERNET в среде Windows, Санкт-Петербург, “ПИТЕР”, 1996
  93. Charles Summers, Bryant Dunetz, ISDN How to get a high-speed connection to the Internet, “John Wiley @ Sons, Inc.”
  94. John M. Griffiths, ISDN Explained, Worldwide Network and Applications Technology, 2 edition, John Wiley & sons
  95. П. Боккер, ISDN. Цифровая сеть с интеграцией служб. Понятия, методы, системы, Москва, Радио и связь, 1991
  96. С. Вильховченко, Модем 96. Выбор, настройка и использование, Москва, ABF, 1995
  97. И. А. Мизин и А. П. Кулешов, Справочник “Протоколы информационно-вычислительных сетей”, Радио и связь, Москва 1990
  98. , Carrier Sense Multiple Access with Collision detection Access Method and Physical Layer Specification, Published by IEEE 802.3-1985. WileyInterscience, John & Sons, Inc
  99. А. В. Фролов и Г.В. Фролов, Модемы и факс-модемы. Программирование для MS-DOS и Windows, Москва, “Диалог-МИФИ”, 1995
  100. Семенов Ю. А, “Протоколы и ресурсы INTERNET”, Радио и связь”, Москва, 1996
  101. Семенов Ю. А, “Сети Интернет. Архитектура и протоколы”, СИРИНЪ, 1998
  102. А. Н. Назаров, М.В. Симонов, “ATM-технология высокоскоростных сетей”, ЭКО-ТРЕНДЗ, Москва 1998. 631
  103. Н. Н. Слепов, “Синхронные цифровые сети SDH”, ЭКО-ТРЕНДЗ, Москва 1998
  104. Лаем Куин, Ричард Рассел, Fast Ethernet, bhv, Киев, 1998
  105. Дж. Гауэр, Оптические системы связи. Москва, “Радио и связь”, 1989
  106. Tarek N. Saadawi, Mostafa H. Ammar, Ahmed El Hakeem, Fundamentals of Telecommunication Networks, John Wiley & Sons, 1996
  107. К.Шеннон, Работы по теории информации и кибернетике, Москва,”Изд. иностранной литературы”, 1963
  108. В.Е.Котов, Сети Петри, ”Наука”, Москва, Глав. ред. физ-мат. лит., 1984
  109. Лайза Хендерсон, Том Дженкинс, Frame Relay межсетевые взаимодействия, Москва, “Горячая линия — Телеком”, 2000
  110. Семенов Ю.А., Протоколы Интернет. Энциклопедия, Москва, “Горячая линия — Телеком”, 2001
  111. Семенов Ю.А., Протоколы Интернет для электронной торговли, Москва, “Горячая линия — Телеком”, 2003
  112. Майкл Дж. Мартин, Введение в сетевые технологии, Москва, “Лори”, 2002
  113. Э. Таненбаум, Компьютерные сети, 4-е издание, Санкт-Петербург, Москва, “Питер”, 2003