Текст
                    Д. Харль
ПЕРЕДАЧА ДАННЫХ
В СЕТЯХ:
ИНЖЕНЕРНЫЙ ПОДХОД
Многоуровневые коммуникационные
модели
Криптография и защита данных
Сети: конфигурация, топология,
маршрутизация
Среда передачи и управление
доступом
УЧЕБНОЕ ПОСОБИЕ iWi

Джеймс Ирвин, Дэвид Харль ПЕРЕДАЧА ДАННЫХ В СЕТЯХ: ИНЖЕНЕРНЫЙ ПОДХОД Санкт-Петербург «БХВ-Петербург» 2003
Джеймс Ирвин, Дэвид Харль ПЕРЕДАЧА ДАННЫХ В СЕТЯХ: ИНЖЕНЕРНЫЙ ПОДХОД Санкт-Петербург «БХВ-Петербург» 2003
УДК 681.3.06 ББК 32.973.202 И.77 Ирвин Дж., Харль Д. И77 Передача данных в сетях: инженерный подход: Пер. с англ. — СПб.: БХВ-Петербург, 2003. — 448 с.: ил. ISBN 5-94157-113-5 В книге рассматриваются современные системы передачи данных с точки зрения организации взаимо- действия соответствующих сетевых служб и техники связи, подробно исследуется влияние требований пользователей на сетевой проект. Сначала даны принципы и технологии, связанные с сетевой структурой в целом и иерархией ее компонентов верхнего уровня, затем — проблемы уровня канала передачи данных и, наконец, ключевые принципы, обеспечивающие передачу индивидуальных информационных бигов. При- водятся примеры действующих систем, иллюстрирующие, как изложенные концепции комбинируются на практике при построении целостной службы. В книге содержатся вопросы, снабженные обстоятельными ответами, и задания по всем основным темам. Для студентов, аспирантов и специалистов в области телекоммуникационных систем УДК 681.3.06 ББК 32.973.202 Группа подготовки издания: Главный редактор Зав. редакцией Перевод с английского Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производством Екатерина Кондукова Анна Кузьмина Борис Желваков Григорий Добин Татьяны Олоновой Вера Александрова Игоря Цырульникова Николай Тверских All rights reserved. Authorized translation from the English language edition published by John Willey & Sons, Ltd. No part of this book may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording or by any information storage retrieval system, without permission from the Publisher. Russian language edition published by BHV-St. Petersburg. Все права защищены. Авторизованный перевод английской редакции, выпущенной John Willey & Sons, Ltd. Никакая часть настоящей книги не может быть воспроизведена или передана в какой бы то ни было форме и какими бы то ни было средствами, будь то электронные или механические, включая фотокопирование и запись на магнитный носитель, если на то нет письменного разреше- ния издательства. Русская редакция выпущена "БХВ-Петербург". Лицензия ИД Nt 02429 от 24.07.00. Подписано в печать 25.01.02. Формат ТОхЮО’/ц. Печать офсетная. Усл. печ. л. 36,12. Тираж 4000 экз. Заказ 4014 "БХВ-Петербург*. 198005, Санкт-Петербург, Измайловский пр., 29. Гигиеническое заключение на продукцию, товар, Nt 77.99.1.953.П.950.3.99 от 01.03.1999 г. выдано Департаментом ГСЭН Минздрава России. Отпечатано с готовых диапозитивов в Академической типографии "Наука* РАН 199034, Санкт-Петербург, 9 линия, 12. ISBN 0-471-80872-5 (англ.) © 2002 by John Wifey & Sons, Ltd Baffin] Lane, Chichester West Sussex, PO19 IUD, England ISBN 5-94157-113-5 © Перевод на русский язык, оформление "БХВ-Петербург", 2003
Содержание Сокращения..................................................... VII Предисловие.....................................................XXXI Глава 1. Коммуникационные системы..................................1 1.1. Обзор........................................................1 1.2. Декомпозиция коммуникационных систем.........................2 1.3. Многоуровневые коммуникационные архитектуры..................4 1.3.1. Потребность в стандартах.................................5 1.3.2. Эталонная модель Internet.............................. 7 1.3.3. Эталонная модель взаимодействия открытых систем..........7 1.4. Структура книги.............................................10 Глава 2. С точки зрения пользователя..............................19 2.1. Данные пользователя.........................................19 2.2. Введение в теорию информации................................19 s 2.2.1. Количество информации...................................19 2.2.2. Взаимная информация.....................................22 2.3. Источники информации........................................23 2.4. Кодирование.................................................24 2.4.1. Свойства кодов..........................................24 2.4.2. Минимальные разрядности кода............................26 2.4.3. Избыточность и эффективность............................26 2.4.4. Типы кодирования........................................26 2.5. Кодирование источника.......................................27 2.5.1. Квантование.............................................27 2.5.2. Точность квантования....................................28 2.5.3. Частота дискретизации...................................29 2.5.4. Ряды Фурье..............................................30 2.5.5. Вычисление частотного спектра...........................30
УШ Содержание 2.5.6. Частотный спектр..........................................32 2.5.7. Минимальная скорость выборки..............................34 2.5.8. Импульсно-кодовая модуляция (ИКМ).........................34 2.5.9. Кодирование источников без памяти.........................35 Кодирование Шеннона-Фано........................................35 Кодирование Хаффмана............................................35 2.5.10. Кодирование источников с памятью.........................37 Подавление нулей................................................38 Групповое кодирование...........................................38 Подстановка образцов............................................38 Дифференциальное сжатие.........................................39 Сжатие на основе преобразования.................................39 Векторное квантование...........................................39 Примеры сжатия..................................................40 Практическое сжатие — JPEG......................................41 2.6. Вопросы к главе..............................................42 2.6.1. Вопросы по теории информации..............................42 2.6.2. Вопросы по кодированию источника без памяти...............43 2.6.3. Вопросы по кодированию источника с памятью................44 Глава 3. С точки зрения защиты......................................47 3.1. Введение.....................................................47 3.2. Криптографические типы.......................................47 3.2.1. Рассеивание...............................................48 3.2.2. Перемешивание.............................................50 3.3. Криптографические сценарии...................................51 3.4. Системы с частными ключами...................................52 3.4.1. Введение..................................................52 3.42. Перестановочные шифры.....................................52 3.4.3. Трансформационные шифры...................................53 Моноалфавитный шифр.............................................53 Полиалфавитный шифр.............................................55 3.4.4. Одноразовое заполнение....................................56 3.4.5. Кодировщики со сдвиговым регистром........................56 3.4.6. Продукционные шифры.......................................57 DES.............................................................58 Расширенный стандарт шифрования (AES)...........................60 3.4.7. Поточные шифры............................................61 3.5. Криптосистемы с общим ключом.................................64 3.5.1. Проблема распределения ключей.............................64 3.5.2. Односторонние функции.....................................65 3.5.3. Ключевой обмен Диффи-Хеллмана.............................67 3.5.4. Криптосистема RSA (Rivest, Shamir, Adleman)...............68
Содержание IX 3.6. Идентификация.................................................70 3.6.1. Введение...................................................70 3.6.2. Целостность................................................70 ' 3.6.3. Идентификация...............................................73 3.6.4. Цифровые подписи...........................................75 3.7. Другие криптографические протоколы............................75 • 3.7.1. Удаленное бросание монеты...................................75 3.7.2. Неосознанная передача......................................77 3.8. Практическая защита...........................................79 3.8.1. Какова необходимая степень защиты?.........................79 3.8.2. Проверка полномочий........................................80 3.8.3. Аварийные ситуации.........................................80 3.8.4. Человеческий фактор........................................81 3.9. Вопросы к главе..............’................................81 Глава 4. С точки зрения сетей........................................83 4.1. Введение......................................................83 4.2. Сетевые конфигурации..........................................84 4.2.1. Сетевая топология..........................................87 Сеточная топология..............................................87 Звездообразная топология........................................87 Кольцевая топология.............................................88 Шинная топология................................................89 4.2.2. Связность..........................*.......................90 Алгоритм Клейтмана..............................................92 Алгоритм Ивена..................................................94 4.3. Размер сети...................................................95 4.3.1. Глобальные сети............................................96 4.3.2. Региональные сети..........................................96 4.3.3. Локальные сети.............................................96 4.4. Типы коммутации...............................................97 4.4.1. Коммутация каналов.........................................98 4.4.2. Коммутация пакетов.........................................99 Коммутация дейтаграмм..........................................101 Виртуальные каналы.............................................101 4.5. Качество работы сетевых служб................................102 4.5.1. Параметры качества обслуживания, не связанные с производительностью............................................103 4.5.2. Параметры качества обслуживания, связанные с производительностью............................................103 4.6. Пропускная способность сетей.................................105 4.6.1. Пропускная способность сетей с коммутацией каналов........105 4.6.2. Пропускная способность систем с коммутацией пакетов.......109 4.7. Свойства звеньев передачи данных.............................117 4.8. Межсетевые взаимодействия....................................118 4.8.1. Повторители...............................................119
X Содержание 4.8.2. Мосты..................................................... 119 4.8.3. Маршрутизаторы.............................................120 4.8.4. Шлюзы высокого уровня......................................120 4.9. Маршрутизация..................................................121 4.9.1. Наикратчайший путь.........................................123 Алгоритм Дейкстры................................................124 4.9.2. Лавинная маршрутизация.....................................127 4.9.3. Распределенная маршрутизация...............................128 Маршрутизация по вектору расстояния..............................128 Маршрутизация по состоянию связей................................129 4.9.4. Широковещательная маршрутизация............................131 . 4.10. Перегрузка...................................................132 , 4.10.1. Управление на входе.......................................133 4.10.2 . Сброс загрузки...........................................133 4.10.3 . Управление потоками данных...............................134 4.11. Защита от ошибок..............................................134 4.11.1. Обнаружение ошибок........................................135 4.11.2. ARQ.......................................................137 4.12 Службы транспортного уровня...................................144 4.12.1. Адресация.................................................145 Иерархическая адресация..........................................146 Сплошная адресация...............................................146 Протокол начального соединения...................................146 4.12.2. Классы транспортных служб OSI.............................147 4.12.3. Классы транспортных служб Internet........................148 Протокол пользовательских дейтаграмм.............................149 Протокол управления передачей (TCP)..............................150 Сегмент TCP......................................................151 4.13. Протокол Internet (IP)........................................155 4.13.1. Формат IP-пакета..........................................155 4.13.2. Адресация.................................................158 4.13.3. Подсети...................................................159 4.13.4. Бесклассовая адресация....................................161 4.13.5. Служба доменных имен......................................162 4.13.6. 1Р-маршрутизация..........................................167 4.13.7. IP-протокол версии 6 (IPv6)...............................168 4.14. Качество обслуживания на IP...................................171 4.14.1. Интегрированные службы....................................171 4.14.2. Протокол резервирования ресурсов..........................172 4.14.3. Дифференцированные службы.................................173 Переключение многопротокольной метки.............................176 4.15. Вопросы к главе...............................................177 4.15.1. Вопросы по сетевым конфигурациям..........................177 4.15.2. Вопросы по технике коммутации.............................178 4.15.3. Вопросы по расчетам в сетях...............................178
Содержание XI 4.15.4. Вопросы по маршрутизации..................................179 4.15.5. Вопросы по защите от ошибок...............................180 Глава 5. С точки зрения звена........................................183 5.1. Уровень звена данных..........................................183 5.2. Разграничение кадров..........................................184 5.3. Управление доступом к среде передачи..........................185 5.3.1. Схемы с состязаниями.......................................186 ALOHA............................................................186 Квантованная ALOHA...............................................187 Множественный доступ с контролем несущей й обнаружением столкновений (CSMA/CD)................................187 5.3.2. Схемы с резервированием.......♦............................190 Опрос........;...................................................190 Схемы с маркерами................................................191 5.3.3. Сравнение методов доступа..................................196 5.4. Кодирование канала............................................197 5.4.1. Вероятность ошибки.........................................200 5.4.2. Построение кодов с исправлением ошибок.....................201 Коды с повторениями..............................................201 Код с одним разрядом контроля четности...........................201 Код Хемминга................................................... 202 5.4.3. Линейные коды.......................у,.....................203 Матричная форма кодов Хемминга...................................204 Циклические коды.................................................205 Пример линейного кода: расширенный код Хемминга..................206 5.4.4. Сверточные коды......................;.....................208 5.4.5. Чередование................................................212 5.4.6. Объединение кодов..........................................213 Композиционные коды..............................................213 Каскадные коды................................................. 214 Турбо-коды.......................................................216 5.5. Сравнение методов коррекции ошибок............................217 5.6. Локальные сети................................................218 5.6.1. Конфигурации локальных сетей...............................219 5.6.2. Локальные сети группы стандартов IEEE 802 .................220 5.6.3. Адресация устройств........................................222 Протокол преобразования адресов..................................222 Обратный протокол преобразования адресов.........................223 5.6.4. Локальная сеть IEEE 802.3 (Ethernet).......................224 5.6.5. Высокоскоростные сети Ethernet.............................226 Изохронная Ethernet..............................................226 Быстрая Ethernet.................................................227 Гигабитная Ethernet..............................................228 10-гигабитная Ethernet...........................................231
XII Содержание 5.6.6. Локальные сети IEEE Token Ring (Маркерное кольцо).........232 5.6.7. Стандарт IEEE 802.11 Wireless LAN (Беспроводные локальные сети)..................................................233 Управление доступом к среде....................................234 Конфигурации...................................................235 5.7. Соединение локальных сетей...................................235 5.7.1. Повторители...............................................236 5.7.2. Мосты................................................... 237 Прозрачные мосты...............................................237 Алгоритм дерева охвата.........................................238 Мост с маршрутизацией от источника.............................239 5.8. Протоколы глобальных сетей...................................240 5.8.1. Стандарты SDH/SONET.......................................240 5.8.2 Режим асинхронной передачи (ATM)...........................241 Службы ATM.....................................................242 Стек протоколов ATM............................................243 Передача ATM...................................................245 Контракт АТМ-трафика...........................................246 Контроль параметра использования...............................247 Коммутация в ATM...............................................248 Поля АТМ-ячейки................................................250 5.9. IP-транспортировка в глобальных сетях........................252 5.9.1. Двухточечный протокол.....................................252 5.9.2. IP и SDH/SONET............................................254 5.9.3. IP и ATM..................................................254 ARP-протокол для IP/ATM........................................255 5.10. Региональные сети...........................................256 5.10.1. Интерфейс передачи данных по оптоволокну.................257 Работа МАС-уровня FDDI.........................................260 Производительность FDDI........................................262 5.10.2. Двойная шина с распределенной очередью...................263 5.11. Вопросы к главе.............................................268 5.11.1. Вопросы по линейным кодам................................268 5.11.2. Вопросы по сверточным кодам..............................270 5.11.3. Вопросы по локальным и региональным сетям................272 гава 6. С точки зрения канала передачи............................273 5.1. Введение.....................................................273 5.2. Пропускная способность канала................................273 6.2.1. Дискретный канал без памяти...............................273 6.2.2. Пропускная способность дискретного канала без памяти......275 6.2.3. Теорема кодирования канала................................276 6.2.4. Аналоговые каналы — теорема о пропускной способности канала...........................................................277
XIII 6.3. Передающая среда............................................278 6.3.1. Проводная среда...........................................278 6.3.2. Оптическое волокно........................................281 6.3.3. Радиоэфир.................................................285 Радиовещание..................................................285 Двухточечная радиосвязь между терминалами.....................287 Мобильное радио...............................................288 Спутник.......................................................290 Самолетный ретранслятор.......................................292 6.3.4. Другие виды передающих сред...............................292 Инфракрасная среда............................................292 Индуктивные контуры...........................................293 Линии электропередач..........................................293 6.4. Кодирование в линиях связи..................................294 6.4.1. Двоичные линейные коды....................................295 Униполярные коды с возвратом и без возврата к нулю............295 Биполярные коды с возвратом и без возврата к нулю.............296 Биполярный код с чередующейся инверсией маркеров..............296 Манчестерский код.............................................297 Модуляция с задержкой (Код Миллара)...........................297 Кодирование с инверсией кодовых посылок.......................298 Расщепление по фазе...........................................298 Бифазиый код................................................. 299 Двоичный код с замещением N нулей........................... 299 6.4.2. Многоуровневые коды.......................................301 6.4.3. Перемешивание.............................................304 6.4.4. Пример применения линейного кодирования...................306 6.5. Модуляция...................................................307 6.5.1. Введение..................................................307 6.5.2. Множественный доступ......................................308 Множественный доступ с частотным разделением канала...........309 Множественный доступ с временным разделением канала...........311 Комбинация FDM и TDM..........................................313 6.5.3. Цифровая модуляция........................................314 Типы модуляции................................................314 Формирование импульсов........................................315 Амплитудная манипуляция (ASK).................................317 Частотная манипуляция (FSK)...................................319 Минимальная частотная манипуляция (MSK).......................320 Двоичная фазовая манипуляция (BPSK)...........................320 Дифференциальная фазовая манипуляция (DPSK)...................320 Квадратурная фазовая манипуляция (QPSK).......................321 m-арная фазовая манипуляция (m-ary PSK).......................323 Квадратурная амплитудная модуляция (QAM)......................323
XIV Содержание 6.6. Пример применения: ADSL........................................327 6.7. Вопросы к главе................................................330 6.6.1. Вопросы по пропускной способности канала....................330 Глава 7. Соединим все вместе----.........__________......______________333 7.1. Введение.......................................................333 7.2. Мобильная телефонная система GSM...............................333 7.2.1. Передающая среда............................................333 7.2.2. Кодирование и модуляция.....................................333 , 7.2.3. Управление средой доступа....................................334 7.2.4. Кодирование.................................................337 7.3. Передача речи по IP-каналам (VoIP).............................339 7.3.1. Требования..................................................340 7.3.2. Защита от ошибок............................................341 7.3.3. Протокол передачи...........................................342 7.3.4 Архитектура..................................................345 Глава 8. Ответы на упражнения.........................................349 8.1. Ответы на вопросы к главе 2....................................349 8.1.1. Ответы на вопросы по теории информации......................349 8.1.2. Ответы на вопросы по кодированию источника без памяти........355 8.1.3. Ответы на вопросы по кодированию источника с памятью.........361 8.2. Ответы на вопросы к главе 3....................................364 8.3. Ответы на вопросы главе 4......................................367 8.3.1. Ответы на вопросы по сетевым конфигурациям..................367 8.3.2. Ответы на вопросы по технике коммутации.....................368 8.3.3. Ответы на вопросы по расчетам в сетях.......................369 8.3.4. Ответы на вопросы по маршрутизации..........................371 8.3.5. Ответы на вопросы по защите от ошибок.......................373 8.4. Ответы на вопросы к главе 5....................................377 8.4.1. Ответы на вопросы по линейным кодам.........................377 8.4.2. Ответы на вопросы по сверточным кодам.......................385 8.4.3. Вопросы по локальным и региональным сетям...................389 8.5. Ответы на вопросы к главе 6.....................................392 8.5.1. Ответы на вопросы по пропускной способности канала..........392 Предметный указатель...................................................397
Сокращения AAL ABR ATM Adaption Layer — уровень адаптации ATM Available Bit Rate — доступная скорость передачи двоичных данных, измеряется в бит/с, Кбит/с, Мбит/с и т. д. ACELP Algebraic CELP — алгебраическое линейное прогнозирова- ние с помощью кодовой книги ADC Analogue to Digital Conversion — аналого-цифровое преоб- разование ADCP Advanced Data Communications Protocol — расширенный протокол передачи данных ADPCM Adaptive Differential Pulse Code Modulation— адаптивная дифференциальная кодо-импульсная модуляция ADSL Asymmetric Digital Subscriber Line — асимметричная цифро- вая абонентская линия AFC Al AM AMI Access Control Field — поле управления доступом Air Interface — беспроводной интерфейс Amplitude Modulation — амплитудная модуляция Alternative Mark Inversion— кодирование с чередованием полярности элементов Amps Advanced Mobile Phone System — усовершенствованная сис- тема мобильной телефонной связи ANSI American National Standards Institute— Американский на- циональный институт стандартов APK ARP ARPA Amplitude Phase Keying — амплитудная фазовая модуляция Address Resolution Protocol — протокол определения адресов Advance Research Projects Agency — Агентство перспектив- ных исследовательских разработок ARQ Automatic Repeat reQuest — автоматический запрос повтор- ной передачи
XVI Передача данных в сетях: инженерный подход ASCI Advanced Speech Call Items (GSM) — расширенные элемен- ты речевого вызова Глобальной системы мобильной связи , ASK AT Amplitude Shift Keying — амплитудная модуляция Attention, Advanced Technology — Внимание, усовершенст- вованная технология ATD Asynchronous Time Division multiplexing— асинхронное временное уплотнение ATM Asynchronous Transfer Mode— режим асинхронной пере- дачи AuC Authentication Centre (AC) — Центр аутентификации — опознавания, проверки полномочий, прав доступа и т. п. BEB Binaiy Exponential Back-off— двоичная экспоненциальная задержка BER BGF Bit Error Rate — частота появления ошибочных битов Border Gateway Protocol — протокол пограничной маршру- тизации B-ISDN Broad Band — Integrated Services Digital Network — широко- полосная цифровая сеть с интеграцией служб BnZS Bipolar with n zeros substituted — биполярное кодирование с подстановкой п нулей BOOTP BPSK BS BSC Bootstrap Protocol — протокол начальной загрузки Binary Phase Shift Keying — двоичная фазовая манипуляция Base Station — базовая станция Binary Symmetric Channel; Base Station Controller— двоич- ный симметричный канал, контроллер базовой станции BSI BSS BTS British Standards Institute — Британский институт стандартов Base Station Subsystem — подсистема базовой станции Base Transceiver Station — базовая приемо-передающая станция BW Bandwidth — полоса пропускания CAC Call Admission Control; Connection Admission Control — управление доступом к вызову или соединению CAP Carrierless Amplitude and Phase—бескамерная амплитуда и фаза
Сокращения XVII CATV СВС CBR Cable Access Television — кабельное телевидение Cipher Block Chaining — цепочка цифровых блоков Constant Bit Rate Service — служба с постоянной скоростью передачи двоичных данных СС CCITT Call Control — управление вызовом Comite Consultatif International T61dgraphique et T6l phonique (International Telegraph and Telephone Consultative Commit- tee) — Международный Консультативный Комитет по Те- леграфии и Телефонии, МККТТ CCR Commitment, Concurrency and Recovery Protocol — протокол передачи, согласования и возврата, CCR-протокол CDMA Code Division Multiple Access — множественный доступ с кодовым разделением каналов CDPD Cellular Digital Packet Data — пакеты цифровых данных для сотовых сетей связи CDV Cell Delay Variation — непостоянство времени задержки (при передаче ячеек ATM) CELP Codebook-Excited Linear Predictive — линейное предсказа- ние с помощью кодовой таблицы (книги) CEPT Conference Еигорёеппе des Postes et Telecommunication — Европейская конференция почтовых и телекоммуникацион- ных ведомств CER CGI CIDR Cell Error Rate — интенсивность сотовых ошибок Common Gateway Interface — общий шлюзовой интерфейс Classless Inter-Domain Routing — маршрутизация между до- менами без разделения на классы CIR Carrier to Interference Ratio — отношение мощности несущей к уровню помехи CL CLR ,cmi CMIP Link Connectivity — возможности подключения линии связи Cell Loss Rate — скорость потери ячеек Coded Mark Inversion — инверсия кодовых маркеров Common Management Information Protocol — протокол об- щей управляющей информации CMIS Common Management Information System — система общей управляющей информации Cn Node Connectivity — возможности подключения узла
XVIII Передача данных в сетях: инженерный подход CNLS connectionless (packet data service) — служба передачи па- кетных данных без установки соединения CNM Central Network Management — централизованное управле- ние сетью CONP Connection-Oriented Network Protocol — сетевой протокол, ориентированный на соединения CPCS Common Part Convergence Sub-layer — общая часть поду- ровня сходимости CRC Cyclic Redundancy Check — контроль с использованием циклического избыточного кода CSMA/CA Carrier Sense Multiple Access / Collision Avoidance — множе- ственный доступ с контролем несущей и предотвращением конфликтов CSMA/CD Carrier Sense Multiple Access / Collision Detection — множе- ственный доступ с контролем несущей и обнаружением конфликтов CTD CVDT Cell Transfer Delay — задержка при передаче ячеек в ATM Cell Variation Delay Tolerance — допустимое изменение за- держки при передаче ячеек DARPA Defence Advance Research Projects Agency — Управление перспективных исследований Министерства обороны США DAWS Digital Advanced Wireless System — усовершенствованная беспроводная цифровая система dB Decibel — децибел, одна десятая от бела, логарифмической единицы отношения двух физических величин dBm decibel with reference to a milli-watt power — децибел, в сравнении с мощностью в милливаттах DCE Data Communication Equipment — аппаратура передачи данных DDB DECT Distributed Database — распределенная база данных Digital Enhanced Cordless Telecommunication — модифици- рованная цифровая беспроволочная телефония DES DIFS Data Encryption Standard — стандарт шифрования данных Distributed Interface Specification; Distributed Inter Frame Space — Спецификация распределенного интерфейса; Рас- пределенное межфреймовое пространство
(Сокращения XIX DMSP Distributed Mail System Protocol — протокол распределен- ной почтовой системы DMT Discrete Multi-Tone (modulation) — цифровая многоканаль- ная тоновая модуляция DNS Domain Name System — система имен доменов DPP Demand Priority Protocol — протокол приоритетов запросов DPSK Differential Phase Shift Keying — относительная фазовая манипуляция • DQDB Distributed Queue Dual Bus — двойная шина с распреде- ленной очередью DQPSK Differential Quaternary Phase Shift Keying — дифференциаль- * ’ ное четвертичное переключение со сдвигом фазы DSB-AM Double Sideband Amplitude Modulation — двухполосная и амплитудная модуляция DSCP DiffServ Control Protocol — протокол управления диффе- ренциальными службами DSL Digital Subscriber Line — цифровая абонентская линия DSRR Digital Short Range Radio system — цифровая коротковол- новая радио-система DSS Digital Signature Standard — стандарт цифровой подписи DTE Data Terminal Equipment; Data Termination Equipment — терминальное оборудование данных; оконечное оборудо- вание данных DTMF Dual Tone Multi Frequency — тональный набор с разделе- нием частот DVMRP Distance Vector Multicast Routing Protocol — протокол дис- танционной векторной групповой многоадресной маршру- тизации ЕСМА European Computer Manufacturers Association — Европей- ская ассоциация производителей компьютеров EDACS Enhanced Digital Access Communication System — система связи с расширенным цифровым доступом EGP Exterior Gateway Protocol — протокол внешних шлюзов; про- токол внешней маршрутизации EIA Electrical Industries Association — Ассоциация электронной промышленности США
XX____ EIRP EMC ER ETSI FCC FCS FDDI FDM FDMA FEC FHMA FM FSK FTP GCRA GMSK GoS GPRS GSM GSM-R Передача данных в сетях: инженерный подход Effective Isotropic Radiated Power — эффективная мощ- ность изотропного излучения ElectroMagnetic Compatibility — электромагнитная совместимость Explicit Rate — явная скорость, интенсивность European Telecommunications Standards Institute — Евро- пейский институт стандартов по телекоммуникациям Federal Communications Commission — Федеральная ко- миссия связи США Frame Check Sequence — контрольная последовательность кадров Fibre Distributed Data Interface — распределенный интер- фейс передачи данных по оптоволоконным каналам Frequency Division Multiplexing — мультиплексирование с частотным разделением каналов) Frequency Division Multiple Access — множественный дос- туп с разделением частот Forward Error Correction — упреждающая или прямая кор- рекция ошибок Frequency Hopping Multiple Access — множественный дос- туп с перескакивающей частотой Frequency Modulation — частотная модуляция Frequency Shift Keying — частотная манипуляция File Transfer Protocol — протокол передачи файлов Generic Cell Rate Algorithm — универсальный алгоритм скорости ячеек Gaussian Minimum Shift Keying — гауссова модуляция с минимальным сдвигом Grade of Service — категория обслуживания General Packet Radio Service — система пакетной радиосвя- зи общего пользования Global System for Mobile communications — глобальная система мобильной связи GSM for Railways — GSM для железных дорог
Сокращения XXI HDB HDB3 HDLC Home DataBase — домашняя база данных High Density Bipolar — высокочувствительный биполярный High Level Data Link Control — высокоуровневый протокол управления каналом (звеном) передачи данных HDTV High Definition Television — телевидение с высоким раз- решением HLR Home Location Register — опорный регистр местонахожде- ния в сотовых сетях GSM HSCSD High Speed Circuit Switched Data — данные высокоскоро- стных переключаемых цепей HSLN High Speed Local Network — высокоскоростные локальные сети HTML Hyper Text Mark Up Language — язык гипертекстовой раз- метки Http Hyper Text Transfer Protocol — протокол передачи гипер- текста ICMP Internet Control Message Protocol — протокол управления сообщениями Internet ICP IDC Initial Connection Protocol— протокол начального соеди- нения Insulation Displacement Connector — изолирующий заме- щающий соединитель Idea International Data Encryption Algorithm — международный iDEN алгоритм шифрования данных Integrated Digital Enhanced Technology — интегрированная усовершенствованная цифровая технология ©FT Inverse Discrete Fourier Transform — обратное дискретное преобразование Фурье ©U IEEE Interface Data Unit — интерфейсный блок данных Institute of Electrical and Electronics Engineers — Институт электро- и радиоинженеров США IP I-MAC Intermediate Frequency — промежуточная частота Isochronous MAC — изохронное управление доступом к среде передачи, изохронный МАС IMAP Interactive Mail Access Protocol — интерактивный протокол почтового доступа
XXII Передача данных в сетях: инженерный подход IMEI International Mobile Equipment Identity — именование меж- дународного мобильного оборудования IMP Interface Message Processor — интерфейсный процессор, сообщений IMSI International Mobile Subscriber Identity — именование меж- дународных мобильных абонентов IMTS Improved Mobile Telephone Service — служба усовершенст- вованной мобильной телефонии IN IP IPX Intelligent Network — интеллектуальная сеть Internet Protocol — протокол Internet Internetwork Packet Exchange — протокол межсетевого об- мена пакетами ISDN Integrated Services Digital Network — цифровая сеть с ин- тегрированными службами ISI ISO Inter-Symbol Interface — межсимвольный интерфейс International Standards Organization — Международная ор- ганизация по стандартизации ISP ITU Internet Service Provider — поставщик услуг Internet International Telecommunications Union — Международный союз по электросвязи ITU-R Radio communications sector of the ITU — сектор радиосвя- зи ITU ITU-T Telecommunications standardization sector of the ITU — сек- тор стандартизации передачи данных ITU rv Initial Value — начальное значение JPEG Joint Photographic Experts Group — Объединенная группа фото-экспертов KSG Key Stream Generator — генератор потока ключей LA LAC LAN LAP Location Area — область размещения Location Area Code — код области размещения Local Area Network — локальная сеть Link Access Procedure — процедура доступа к каналу (зве- ну) передачи данных
ения XXIII LAP-B LAP-D LCN LCP LED LFSR us LLC LMN Link Access Protocol - В — протокол доступа к В-каналу Link Access Protocol - D — протокол доступа к D-каналу Logical Channel Number — номер логического канала Link Control Protocol — протокол управления каналом Light Emitting Diode — светодиод Linear Feedback Shift Register — линейный сдвиговый ре- гистр обратной связи Logical IP Subnet — логическая IP-подсеть Logical Link Control — управление логическим каналом Land Mobile Network — наземная мобильная сеть LMR &M £pc Land Mobile Radio — наземное мобильное радио Local Network Management — управление локальной сетью Linear Predictive Coding — кодирование методом линейно- го предсказания LS Line(-connected) Station — станция, присоединенная к ли- нии связи tSR Label Switched Routers — маршрутизаторы, переключае- мые метками л LTR LTU Logic Trunked Radio — радио с магистральной логикой Line Termination Unit — линейное оконечное устройство MAC Man Mcc MCR MEGACC) Media Access Control — управление доступом к среде Metropolitan Area Network — региональная сеть Mobile Country Code — мобильный код страны Minimum Cell Rate — минимальная скорость ячейки Media Gateway Control Protocol — протокол управления шлюзовой средой MER MIB Message Error Rate — интенсивность ошибок сообщений Management Information Base— база управляющей инфор- мации MIME Multipurpose Internet Mail Extension — многоцелевое расши- рение электронной почты в Internet MLT-3 MMF Multi-Level Transition 3 — многоуровневый переход 3 Multi-Mode Fibre — многомодовый волоконно-оптический кабель
XXIV MMI MNC MNI MoU MPEG MPT MS MSC MSK MTBF MTP MTTR NAK NAP NCP NIC N-ISDN NIST NMU NN1 NPA NRZ NRZI Передача данных в сетях: инженерный подход Man Machine Interface — интерфейс "человек-машина" Mobile Network Code — код мобильной сети Mobile Network Identity — идентификатор мобильной сети Memorandum of Understanding — меморандум о понимании Motion Picture Experts Group — Экспертная группа по во- просам движущегося изображения Ministry of Post and Telecommunications — Министерство почты и телекоммуникаций Mobile Station — мобильная станция Mobile Switching Centre — центр коммутационный подвиж- ных объектов Minimum Shift Keying — минимальные манипуляции сдвига Mean Time Between Failure — среднее время безотказной работы Message Transfer Part — раздел передачи сообщений Mean Time to Repair — среднее время работы до ремонта Negative Acknowledgement — символ неподтверждения приема Network Access Point — точка входа в сеть Network Control Protocol (related to PPP) — протокол управления сетью, связан с PPP-протоколом, протоколом "точка-точка"; Network Core Protocol (Novell Netware) — основной сете- вой протокол фирмы Novell Netware Network Information Centre—сетевой информационный центр Narrow Band — Integrated Services Digital Network — узко- полосная ISDN National Institute of Standards and Technology— Нацио- нальный институт стандартов и технологии Network Management Unit — устройство управления сетью Network Network Interface — интерфейс "сеть-сеть" Network Point of Attachment — точка подключения к сети Non Return to Zero — без возврата к нулю Non Return to Zero Invert to one — инверсия к 1 без возвра- та к нулю
Сокращения XXV - NSAP Network Service Access Point—точка доступа к сетевой службе NUA Network User Address — адрес сетевого пользователя ОМС Operations & Management Centre — центр операций и :> 1 S управления рок On-Off Keying — манипуляции типа "включено- выключено" OQPSK Offset Quaternary Phase Shift Keying — квадратурная фазо- вая манипуляция со смещением OSI Open Systems Interconnection — модель взаимодействия открытых систем QSPF Open Shortest Path First — первоочередное открытие крат- чайших маршрутов OTAR Over The Air Re-keying — ретрансляция по воздуху щ. Pre-Arbitrated Access; Power Amplifier — доступ с предва- рительным арбитражем; усилитель мощности IAD Packet Assembler/Disassembler — сборка/разборка пакета Шм Pulse Amplitude Modulation — импульсно-амплитудная мо- дуляция * PAMR Public Access Mobile Radio — мобильное радио с общим доступом FBR Private Business Radio — частное деловое радио РВХ Private Branch Exchange — телефонная система частного пользования, офисная АТС JPC Personal Computer; Protocol Control — персональный ком- пьютер; управление протоколом РСМ Pulse Code Modulation — импульсно-кодовая модуляция PCR Peak Cell Rate — пиковая скорость ячейки PD Packet Data — пакетные данные PDA Personal Digital Assistant — персональный цифровой асси- стент PDN Public Data Network — сеть передачи данных общего поль- зования PDU Protocol Data Unit — протокольный блок данных PEI Peripheral Equipment Interface — интерфейс периферийного оборудования
XXVI_____________________________Передача данных в сетях: инженерный подход PICS Protocol Implementation Conformance Statement — свиде- тельство о конформности реализации протокола PIN PINX Personal Identity Number — персональный код пользователя Private Integrated Network eXchange — частный обмен в интегрированной сети PISN Private Integrated Services Network — частная сеть с интег- рированными службами PLMN Public Land Mobile Network — сеть связи с подвижными системами PLP PM PMD Packet Level Protocol — протокол пакетного уровня Phase Modulation — фазовая модуляция Physical Media Dependent— зависимый от физического носителя PMR PN POTS Private Mobile Radio — частное мобильное радио Pseudo raNdom — псевдослучайный Plain Old Telephone System — обычная старая телефонная система PPP PSK Point to Point Protocol — протокол "точка-точка" Phase Shift Keying — кодирование co сдвигом фазы, фазо- вая манипуляция PSS PSTN Packet Switched Service — служба коммутации пакетов Public Switched Telephone Network — телефонная комму- тируемая сеть общего пользования PTT Press То Talk; Post, Telegraphy & Telecommunications — Нажать для разговора; предприятие почтовой телеграфной и телефонной связи PVC Permanent Virtual Circuit; Permanent Virtual Connection — постоянный виртуальный канал; постоянное виртуальное соединение QA Queue Arbitrated Access — метод доступа с очередями и арбитражем QAM Quadrature Amplitude Modulation — квадратурная ампли- тудная модуляция QoS QPSK Quality of Service — качество обслуживания Quadrature Phase Shift Keying — квадратурная фазовая ма- нипуляция сдвига
XXVII RARP Reverse Address Resolution Protocol — протокол определе- ния обратного адреса RES RFC RF RIP Radio Equipment and System — радиооборудование и системы Request For Comment — запрос на комментарий Radio Frequency — радиочастота Routing Information Protocol — протокол маршрутной ин- формации RL ROSE Ring Latency — кольцевая задержка Remote Operations Service Element — сервисный элемент удаленной обработки RPE Regular Pulse Excitation (compression technique) — регуляр- ное возбуждение импульсов (техника сжатия) RSA Rivest Shamir Adleman (ciyptographic system) — алгоритм цифровой подписи Райвеста-Шамира-Адлемана (крипто- графическая система) RSSI Received Signal Strength Indicator — индикатор интенсив- ности принятого сигнала RSVP Resource Reservation Protocol — протокол резервирования ресурсов RTCP Real Time Control Protocol — прЛокол управления переда- чей в реальном времени RTP Real Time Protocol — протокол передачи данных в реаль- ном времени SAGE Security Algorithms Group of Experts — группа экспертов алгоритмов безопасности SAP Service Access Point; Service Advertising Protocol (Novell Netware) — точка доступа к службам; протокол оповещения о сервисе Novell Netware SC SCR Sub-Committee — подкомитет Sustainable / Sustained Cell Rate — нормальная/устойчивая скорость передачи (ячеек ATM) SDH Synchronous Digital Hierarchy— синхронная цифровая ие- рархия SDL SDLC Simple Data Link — простой канал (звено) передачи данных Synchronous Data Link Control — синхронное управление каналом (звеном) передачи данных
ХХУШ_____________________________Передача данных в сетях: инженерный подход SDS SDU SIFS Short Data Service — служба коротких данных Service Data Unit — сервисный блок данных Short Interframe Space — сокращенное межфреймовое про- странство SIM Subscriber Identity Module — модуль идентификации або- нентов SIP SIR SLA SLIP Session Initiation Protocol — протокол инициирования сеанса Signal to Interference Ratio — отношение сигнал/шум Service Level Agreement — соглашение служебного уровня Serial Line IP — межсетевой протокол для последователь- ного канала SMDS Switched Multi Megabit Data Service — коммутируемая служба передачи мультимегабитных данных SMF SMR SMS SMT SMTP Single Mode Fibre — однорежимный оптоволоконный кабель Specialist Mobile Radio — мобильное радио для специалистов Short Message Service — служба коротких сообщений Station Management — управление станцией Simple Mail Transfer Protocol — простой протокол пере- сылки почты SNMP Simple Network Management Protocol — простой протокол управления сетью SNR SONET SPX Signal to Noise Ratio — отношение сигнал/шум Synchronous Optical Network — синхронная оптическая сеть Sequenced Packet Exchange — последовательный обмен пакетами SRBR SS7 SSI Short Range Business Radio — коротковолновое деловое радио Signalling System 7 — система 7 передачи сигналов Short Subscriber Identity — короткая идентификация або- нентов STD Synchronous Time Division multiplexing — синхронное мультиплексирование с разделением времени STE STP Signalling Terminal Exchange—терминальный обмен сигналами Shielded Twisted Pair; Spanning Tree Protocol — экраниро- ванная витая пара; протокол остовного дерева (сети) SVC Switched Virtual Circuit— коммутируемый виртуальный канал
ицения XXIX SwMI Switching and Management Infrastructure — инфраструктура коммутации и управления ТА 7 Terminal Adapter (or Adapting) — адаптер или адаптация терминала ТАС iTACS лгс Type Approval Code — код улучшения шрифта Total Access Communication System — система связи с об- щим доступом Technical Committee — технический комитет тем TCP TDD Trellis Code Modulation — решетчатое кодирование Transmission Control Protocol — протокол управления пе- редачей Time Division Duplex — дуплексная передача с разделени- ем времени ТОМ Time Division Multiplexing — мультиплексирование с раз- делением времени TDM А Time Division Multiple Access — множественный доступ с разделением времени ТЕ TETRA Terminal Equipment — терминальное оборудование Л, TErrestrial Trunked RAdio (Private Mobile Radio system) — наземное магистральное радио (частная мобильная радио- система) TMN Telecommunications Management Network — сеть управле- TSAP ния телекоммуникациями Transport Service Access Point — точка доступа транспорт- ной службы TTRP Target Token Rotation Protocol — протокол обхода кольца (Token Ring) маркером TTRT Target Token Rotation Time — время обхода кольца (Token Ring) маркером UBR Unspecified Bit Rate — передача с не заданной заранее ско- ростью UDP UNI UPC User Datagram Protocol — протокол дейтаграмм пользователя User Network Interface — интерфейс пользователя с сетью Usage Parameter Control — контроль за использованием (полосы пропускания)
XXX Передача данных в сетях: инженерный подход URI Universal Resource Identifier — универсальный идентифи- катор ресурсов URL Uniform Resource Locator — универсальный указатель ре- сурсов UTP Unshielded Twisted Pair — неэкранированная витая пара VAD VBR Voice Activity Detector — детектор голосовой активности Variable Bit Rate — переменная скорость передачи двоич- ных данных VC Virtual Circuit; Virtual Channel — виртуальная цепь; вирту- альный канал VCI VLAN VoD VoIP VP VPI VPN VSELP Virtual Channel Indicator — индикатор виртуального канала Virtual LAN — виртуальная локальная сеть Video on Demand — видео по запросу Voice over IP — передача голоса по IP Virtual Path — виртуальный путь Virtual Path Indicator — индикатор виртуального пути Virtual Private Network — виртуальная частная сеть Vector Sum Excited Linear Predictive — линейное предска- зание с помощью векторной суммы WAN WAP Wide Area Network — глобальная сеть Wireless Application Protocol — беспроводной прикладной протокол WDM Wavelength Division Multiplexing — спектральное разделе- ние WG WLAN WLL WT WWW WYSIWYG Working Group — рабочая группа Wireless Local Area Network — беспроводная локальная сеть Wireless Local Loop — беспроводной локальный цикл Waiting Time — время ожидания World Wide Web — Всемирная паутина What You See Is What You Get — "Что вы видите, то вы и получаете"— режим полного соответствия изображения на экране тому, что будет распечатано на принтере
Предисловие Когда-то считали, что передача информации от пользователя к пользователю 'ркорее походит на плавное движение лебедя, плывущего от одного берега водоема к другому. Сверху оно кажется легким, элегантным и простым, тогда как под водой, невидимая для всех, происходит бурная, энергичная деятель- ность, и нет никакого, даже малейшего, хаоса. Теперь же, с определенной до- преувеличения, можно говорить, что мы хорошо знакомы с возможно- стями передачи цифровой информации по коммуникационным сетям. ^Свидетельством того является очевидный рост пользователей Интернета, Йирокое распространение цифровой мобильной телефонии и связанных с ней SMS'-служб. Нам предоставлены почти универсальные возможности по час- связи и коммуникаций. Теперь можно сказать, что наши достижения пре- Щзошли даже все самые смелые надежды. Однака такой очевидной легкости ^пользования и сервисного обеспечения противоречит довольно высокая ^ложность той техники, которая поддерживается этими широко распростра- ненными службами. В этой книге мы рассматриваем цели передачи данных Прежде всего с точки зрения перспектив обслуживания соответствующей Техники связи, подробно исследуя влияние требований пользователей на се- тевой проект. Следуя нисходящему подходу к проектированию, сначала |йучаются принципы и технологии, связанные с сетевой структурой в целом # -иерархией ее компонентов верхнего уровня, затем — проблемы уровня ка- ЙЙЛа (звена) передачи данных и, наконец, — ключевые принципы, связанные передачей индивидуальных информационных битов. Книгу завершают Примеры, которые иллюстрируют, как изложенные концепции комбинируют- ся на практике при построении целостной службы, которая удовлетворяет Потребностям пользователей, предпочитающих инженерный подход к реше- нию проблем. Такое изложение контрастирует с другими книгами по анало- гичной тематике, где либо принят восходящий подход к проектированию (от сигналов к службам), либо рассматривается лишь сервисная перспектива (то есть службы верхних уровней), ограниченная обзором пакетов и лишь кратким рассмотрением физических уровней. * SMS — службы передачи коротких сообщений, например, пейджинговая связь. — Пер.
XXXII Предисловие Круг читателей Эта книга предназначена скорее для последовательного чтения, а не для ис- пользования в качестве справочника, хранящегося на полке и просматривае- мого только тогда, когда нужно разыскать какую-то специфическую часть информации. Мы надеемся, что после прочтения этой книги читатель полу- чит понимание ключевых концепций, связанных с передачей информации по сетям связи. Такое понимание в свою очередь даст возможность читателю эффективно разыскивать и использовать информацию из несметного числа книг, стандартов, оперативно поступающих материалов, статей, обучающих программ и других доступных источников. Книга написана для студентов или профессионалов, склонных к научной или инженерной деятельности и желающих получить понимание ключевых кон- цепций, лежащих в основе инженерных разработок систем передачи данных. Это прежде всего такие группы читателей, как студенты предпоследних и заключительных лет обучения в специализациях, связанных с передачей дан- ных, аспиранты первого или переходного семестра обучения, а также про- фессиональные инженеры, желающие получить начальные знания в области передачи данных или обновить свои базовые знания в этой области. Хотя и не явно математическая по своему характеру, книга использует математиче- ские и статистические методы, чтобы описать передачу данных и сетевые концепции. Следовательно, мы предполагали наличие у читателей математи- ческих и статистических знаний, эквивалентных полученным после двух или трех лет работы в научных или инженерных учреждениях. Поддержка Чтобы обеспечить дальнейшее углубление в предметные области, представленные в этой книге, был создан Web-сайт bttp://comms.eee.strath.ac.uk/datacomms, содержащий дополнительные примеры и ссылки на другие материалы. В сайт включены также Java- апплеты, иллюстрирующие ключевые моменты и алгоритмы. Пожалуй- ста, не стесняйтесь посещать его и посылать нам ваши комментарии. Благодарности Авторы обязаны поблагодарить очень многих людей, которые внесли свой непосредственный или косвенный вклад в создание этой книги. Во-первых, мы хотели бы поблагодарить весь штат издательства Wiley & Sons и, в част- ности, Марка Хаммонда (Mark Hammond) и Сару Хинтон (Sarah Hinton), ко-
Предисловие XXXIII торые проявляли большое доверие и терпение, чтобы дать нам возможность завершить эту книгу. Дополнительно выражаем благодарность нашим колле- гам из отдела электронных и электроинженеров, которые поддержали, про- комментировали и довели до совершенства содержащиеся в книге материалы. Наши обсуждения технологических и педагогических проблем были всегда живыми, стимулирующими и информативными, и некоторые из них, как мы надеемся, нашли отражение и в этой книге. Определенный вклад в книгу был Также сделан нашими студентами, которые участвовали в обсуждении мно- гих материалов и вопросов, и чьей наградой были лишь списки участников Этих обсуждений в конце года. Наконец, авторы хотели бы выразить сердеч- ную благодарность своим семействам за поддержку наших ежедневных тру- пов, без чего их завершение было бы невозможно. Спасибо!
Глава 1 Коммуникационные системы 1.1. Обзор ЗЭту книгу следует рассматривать как техническое введение в общие проблемы Передачи данных. Передача данных связана с проблемой надежной (гаранти- руюгцей как от сбоев (разрывов) каналов связи, так и от помех) пересылки ин- формации из одного пункта в другой в соответствии с требованиями полъзо- Ъатепей. В этой книге освещены ключевые моменты, связанные собственно с Информацией и ее надежной передачей, удовлетворяющей требованиям поль- зователей. В последние несколько лет важность связи (коммуникаций) в жизни общества существенно возросла. Часто говорят, что информация — это сила, но на са- мом деле она становится силой только тогда, когда вы получаете ее в нужном месте в нужное время. Мы намного мобильнее наших предков и, поскольку мы все больше передвигаемся с места на место и занимаемся разнообразной дея- тельностью на все больших пространствах, потребность в связи постоянно воз- растает. С другой стороны, чем более простой и более доступной становится связь, тем большее количество людей хочет ею воспользоваться. Хорошие системы связи основываются на пользующихся большим успехом приложениях. Пользователь в буквальном смысле находится в начале и конце коммуникационной системы. Это можно подтвердить заметным успехом рече- вых и WAP (Wireless Application Protocol, протокол беспроводных приложе- ний) служб в мобильной телефонии. Произошел беспрецедентный рост поль- зователей таких служб, и теперь уже больше половины населения Великобритании имеет мобильные телефоны. Подобные устройства очень про- сты в использовании, удобны и относительно недороги. Разговаривать по ним можно почти везде. С другой стороны, сами WAP-службы довольно сложны, трудны в использовании и дороги для обмена информацией. Кроме того, име- ются более простые и дешевые способы получения того же самого результата. Такое положение, однако, может измениться, если больше людей для получе-
2 Передача данных в сетях: инженерный подход ния информации во время движения начнут пользоваться PDA1- микрокомпьюгерами. Впрочем, WAP-протокол на мобильных телефонах оказался менее успешным, чем предполагалось. 1.2. Декомпозиция коммуникационных систем Полезно начать рассмотрение коммуникационной системы с позиции пользо- вателя, а не с проблем связи низкого уровня. Пользователи взаимодействуют с системой связи не напрямую, а через приложения, которые сами связываются друг с другом (рис. 1.1). Пользователи, например, могут связываться с помощью таких компьютерных приложений, как Web-браузеры, которые в свою очередь взаимодействуют с удаленными Web-серверами. Для связи друг с другом эти приложения исполь- зуют коммуникационную систему, которая поддерживается их операционными системами. Для коммуникационной системы было бы очень обременительно работать с каждым приложением индивидуально. Это означало бы, что всякий раз, когда было бы разработано новое приложение, коммуникационная система должна была бы изменяться. Более удобный для приложения способ заключа- ется в том, чтобы форматировать свои запросы для фиксированного набора служб (услуг), обеспечивающих работу коммуникационной системы. Компьютер берет у пользователя сообщение e-mail и форматирует его для пересылки по доступной сети, например, no Internet с протоколами TCP/IP Пользователь - Пользователь (например, обмен электронной почтой) Компьютер принимает сообщение e-mail и передает его приложению для показа пользователю Связь по сети (TCP по IP) Рис. 1.1. Система связи с точки зрения пользователя 1 PDA - Personal Digital Assistant. У нас подобный карманный компьютер принято называть Электронным секретарем. — Пер.
(лава 1. Общий обзор языка 3 Хорошим примером такого подхода является факсимильный аппарат, который ;переносит документы по системе связи, разработанной для приложений с голо- совым вызовом. Поскольку факсимильные аппараты могут использовать уже существующую инфраструктуру, то их установка не приводит к большим за- тратам и неудобствам. Это означает, что можно довольно быстро разработать и установить базовую систему факсимильных аппаратов, что в свою очередь подтолкнет многих пользователей к установке новых устройств, и т. д. По этой причине в большинстве коммуникационных систем обеспечен опреде- ленный набор интерфейсов для установки необходимых служб. В эти службы приложения и направляют свои запросы на услуги связи. Преимуществом та- кого подхода является то, что приложение не должно что-либо знать о деталях системы служб связи. Приложению должен быть известен лишь интерфейс .службы, к которой оно направляет свои данные. С другой стороны, коммуни- кационную систему также не должны беспокоить детали приложения. Еще од- но преимущество такой методики состоит в том, что связь возможна между двумя различными приложениями, если оба они используют службы связи ана- логичным образом. Например, пользователь программы Microsoft Outlook мо- жет посылать электронную почту пользователю обозревателя Netscape Com- municator, или пользователь телефона с дисковым номеронабирателем может позвонить пользователю кнопочного аппарата. Телефонная система проектируется так, чтобы поаылать изменяющийся элек- трический сигнал от одного абонента к другому. Приложением в этом случае . является сам телефон, а интерфейсом службы — настенный телефонный разъ- ем. В розетку можно включать любые телефоны, которые "понимают" интер- ? фейс, обеспечиваемый сетью (в данном случае это переменный электрический сигнал для речи и набора номера). Если вы включите в настенный разъём фак- , симильный аппарат, то ваше приложение должно измениться, тогда как ника- кого изменения в системе связи не потребуется, потому что коммуникационная • служба останется той же самой. Расширяя этот подход, можно разделить на службы и остальную часть системы связи. Обеспечение прямой коммуникационной связи каждого источника с ка- ждым адресатом было бы непрактично. Чтобы обойти эту проблему, все ком- х муникационные системы, кроме самых простых, будут состоять из сети — набора переключаемых линий (каналов) связи, соединяющих источники и ад- ресаты. На самом низком уровне в этой иерархии находится связь по индивидуальному каналу. Здесь происходит процесс передачи данных по заданной среде переда- чи из одного места в другое. Подобная четырехуровневая иерархия, включающая приложения, использую- щие службы, переключаемые по сети линий связи, каждая из которых транс-
портирует данные из одного места в другое через среду передачи, называется многоуровневой иерархией потому что на каждом уровне происходит абстра- гирование от подробностей нижележащих уровней. 1.3. Многоуровневые коммуникационные архитектуры Многоуровневую структуру можно определить более формально. Коммуника- ционные системы разделяются на вертикальный набор уровней, в котором ка- ждый уровень выполняет определенным образом связанное подмножество функций, требуемых для связи с другой системой. Функции в пределах уровня собраны в группы, называемые объектами. Объекты одного уровня в разных системах связываются друг с другом, используя один или несколько протоко- лов. Протокол определяется, как набор правил для передачи информации или команд- Подобную многослойную архитектуру часто называют стеком прото- колов. Любой конкретный уровень такой архитектуры зависит от нижележаще- го уровня (если таковой имеется), выполняющего более примитивные функции и скрывающего детали этих функций. Интерфейсы между уровнями называют- ся точками доступа к службам (Service Access Points, SAP) — рис. 1.2. Рис. 1.2. Точки доступа к службам
Объекты, связывающиеся на заданном уровне, обмениваются сообщениями, которые называют протокольными блоками данных (Protocol Data Units- .PDU) — рис. 1.3. Синтаксис протокола определяет формат, а его семантика — значение сообщений. Чтобы избежать беспорядка, синтаксис протокола должен быть точно определен. Блок PDU каждого уровня состоит из протокольной информации этого уровня, а в качестве полезной нагрузки использует PDU- блоки вышележащего уровня. Одноуровневые протоколы используются соответствующими объектами для рвязи друг с другом с целью реализации определенной службы. Используемый .протокол можно изменять при условии, что сама служба, с точки зрения ее пользователя, не изменяется. Таким образом, служба и протокол всегда разде- ляются. Прикладной PDU Представи- тельский PDU Сеансовый PDU Транспортный PDU Пакет/ Диаграмма кадр Символ Рис. 1.3. PDU-блоки различных уровней 1.3.1. Потребность в стандартах Как отмечено раньше, чтобы система работала, протокол должен быть согла- сован с поддерживающими связь объектами. Так как эти объекты могут распо- лагаться даже в различных странах, то, очевидно, существует потребность в согласованных международных стандартах. Существуют стандарты "де фак- то", такие как UNIX или IBM PC, или "де юре", формально узаконенные стан- дарты, принятые полномочными органами, занимающимися стандартизацией. Они могут быть национальными, такими как Американский национальный ин-
6 Передача данных в сетях: инженерный подход статут стандартов (ANSI, American National Standards Institute), Британский институт стандартизации (BSI, British Standards Institution), ARIB или между- народными, управляемыми в соответствии с соглашением национальных пра- вительств, такими как Международный телекоммуникационный союз (ITU, International Telecommunications Union). К стандартам приходят разными путями, и создаются они разными организа- циями, включая правительственные, межправительственные и профессиональ- ные, а также промышленные группы. Международная организация по стандартизации (ISO, International Standards Organisation) — это добровольная, не договорная организация, выпускающая широкий диапазон стандартов по самым разным темам. Она имеет почти 90 членов, включая ANSI, BSI, AFNOR (Association Francaise de Normalisasion, Французская организация стандартов) и DIN (Deutsche Industrie-Normen, Не- мецкие промышленные стандарты), и состоит почти из 200 технических коми- тетов (ТС, Technical Committee), пронумерованных в порядке их создания и имеющих дело с универсальной тематикой (ТС1), компьютерами и обработкой информации (ТС97) и т. п. Каждый ТС состоит из подкомитетов (SC, Sub- committee), которые разделены на рабочие группы (WG, Working Groops). Ра- бота выполняется главным образом рабочими группами, которые включают добровольцев из академических кругов, правительственных должностных лиц и представителей промышленности. Чтобы избежать несовместимых стандар- тов, ISO сотрудничает с ITU. ITU, первоначально называвшийся Международ- ным консультативным комитетом по телеграфии и телефонии (CCITT, Consul- tative Committee on International Telegraph and Telephone ), состоит из сектора радиосвязи (ITU-R) и сектора телекоммуникационных стандартов (ITU-T), а также включает секретариат и сектор разработок. Интересно отметить существенное различие между подходами к проблеме стандартов, принятыми в Соединенных Штатах и Европе. Европа занимает очень активную позицию в области стандартов. Европейский институт теле- коммуникационных стандартов (ETSI, European Telecommunications Standards Institute) имеет очень активную программу стандартизации. Европейские пра- вительства часто требуют, чтобы изготовители телекоммуникационного обо- рудования изготовляли его в соответствии с соответствующими стандартами, прежде чем разрешать его к продаже в Европейском Содружестве. В Соеди- ненных Штатах Америки подход иной, намного более независимый, допус- кающий рыночные решения. Одним из главных органов, разрабатывающих стандарты США, является Институт инженеров по электротехнике и электро- нике (IEEE, Institute of Electrical and Electronic Engineers), который является профессиональной организацией, а не правительственным учреждением.
Глава 1. Общий обзор языка 7 1.3.2. Эталонная модель Internet Четырехуровневая модель — одна из самых простых моделей, которую можно применять к системам связи, но существуют и другие. Хотя полного стандарта для стека Internet-протоколов не существует, архитектура, которая была разра- ботана на основе исходной сети ARPANET, имеет пять уровней: Прикладной, Транспортный, Internet (Межсетевой), Канальный и Физический (рис. 1.4). Рис. 1.4. Стек протоколов ARPANET (Internet) Различие между простой четырехуровневой архитектурой и архитектурой Internet состоит в том, что сетевой уровень разбит на два: уровень для индиви- дуальной коммуникационной системы (называемый Уровнем передачи (звена) данных) и уровень Internet, который обеспечивает сетевое обслуживание гло- бальной сети. 1.3.3. Эталонная модель взаимодействия открытых систем Модель Internet имеет довольно прочную основу. Одной из наиболее общих моделей передачи данных является модель взаимодействия открытых систем (OSI, Open Systems Interconnection), которая имеет семь уровней, как показано рис. 1.5. Ее часто называют семиуровневой моделью. Замыслом разработчиков модели OSI было обеспечение всех преимуществ для взаимодействующих сетей. Предполагалось, что если модель OSI используется всеми изготовителями, то любая машина, в которой реализована эта модель, будет "открытой”, т. е. способной соединиться со всеми другими подобными
<8 Передача данных в сетях: инженерный подход системами во всем мире. Разработанная в 1979 году в ISO (International Standar- tization Organization, Международная организация по стандартизации), модель OSI предназначалась для обеспечения общего базиса с целью координации разработки стандартов для соединения различных систем и одновременно по- зволяла включить в полную эталонную модель все существующие стандарты. Прикладной Прикладной Прикладной Служебный Представительский Представительский Сеансовый Сеансовый Транспортный Транспортный Сетевой Сетевой Сетевой Сетевой Сетевой Канальный Канальный Канальный Канальный Среды передачи Физический Физический Физический Физический Рис. 1.5. Стеки протоколов OSI в сравнении с четырехуровневой моделью Уровни на рис. 1.5. нумеруются снизу вверх от 1 до 7, и предполагается, что в диаграмме имеется пользователь А (вверху левого стека), желающий связаться с пользователем В (вверху правого стека). Информация от пользователя А должна быть послана вниз по уровням — к уровню 1, где она передается через сеть уровню 1 пользователя В; затем она перемещается вверх через аналогич- ные уровни— к пользователю В. На рис. 1.5 показан промежуточный узел между двумя пользовательскими узлами. Этот узел имеет отношение к мар- шрутизации информации от пользователя А к пользователю Вив обратном направлении, и поэтому выполняет только функции, связанные с первыми тре- мя уровнями (см. небольшие стеки в центре рис. 1.5). Ситуация, когда четыре верхних уровня существуют только в конечных пунктах, довольно часто про- исходит в сети. Исключением является случай, когда требуется перекодировка одного типа данных в другой, тогда в промежуточных узлах использовались бы и остальные уровни. Уровни модели OSI можно разделить на три категории. Протоколы четырех верхних уровней выполняют функции организации и представления данных таким способом, который в итоге имеет смысл только для конечного пользова- теля. Они соответствуют уровню обслуживания и прикладному уровню. Про- токолы этих уровней должны быть согласованными для пар связывающихся программ конечных пользователей.
fjiaaa 1. Общий обзор языка 9 Уровень 3 (Сетевой) занимается маршрутизацией сообщений между приложе- ниями через промежуточные узлы. Протоколы этого уровня должны быть со- гласованы для всей сети. Два нижних уровня занимаются физической передачей сообщений между смежными узлами. Протоколы должны быть согласованы между каждой парой смежных узлов. О Прикладной (Application) уровень (7-й) обеспечивает интерфейс пользователя с коммуникационной системой. В качестве примеров можно привести электронную почту, распределенные базы данных и сетевые операционные системы. О Представительский (Presentation) уровень обеспечивает общий формат представления данных для прикладного уровня. Он позволяет хост2- устройствам связываться между собой, даже если они используют различ- ные представления данных. Например, разные Web-браузеры (программы просмотра) обеспечивают различные пользовательские интерфейсы (то есть являются разными приложениями), но все они понимают формат HTML-страниц, формат изображений JPEG и т. д. Эти файловые форматы являются примерами протоколов представительского уровня, тогда как сами браузеры постоянно находятся на прикладном уровне. Поэтому службы, которые поддерживает представительский уровень, обеспечивают такие услуги, как передача файлов, протоколы виртуальных терминалов, сжатие, преобразование кодов и шифрование. ^3 Сеансовый (Session) уровень разделяет поток данных, формируемый службами представительного уровня на несколько основных потоков — сеансов (связи), которые посылаются через систему и управляют взаи- модействиями между парами сообщающихся прикладных процессов. Сеансы могут быть короткими или длинными, включающими одно или несколько взаимодействий с помощью обмена сообщениями, например дозатор наличных денег банка на компьютер; терминал, зарегистриро- ванный в удаленном компьютере. Услуги, предоставляемые представи- тельскому уровню, включают организацию/завершение сеанса, идентификацию/регистрацию, синхронизацию передачи данных и сообщения об исключительных ситуациях. □ Транспортный (Transport) уровень обеспечивает начальную установку канала связи, передачу данных и заключительное освобождение канала. Для передачи данных он взаимодействует с сетевым уровнем, чтобы гарантиро- вать свободное от ошибок виртуальное прямое соединение, где связь про- исходит в правильной последовательности. В случае когда компьютеры об- 2 Хост — любое устройство, подключенное к сети и использующее протоколы TCP/IP. — Лер.
10 Передача данных в сетях: инженерный подход ладают многозадачными возможностями, транспортный уровень гарантиру- ет, что связь происходит в правильной последовательности и выполняет любое требуемое мультиплексирование или разделение каналов. □ Сетевой (Network) уровень связывает коммуникационные каналы (зве- нья) данных в глобальную сеть, которая соединяет все "открытые" систе- мы, т. е. выполняет маршрутизацию передач данных из узла источника к узлу адресата. Он реализует правила маршрутизации пакетов через сеть и, если это необходимо, правила управления потоком данных, гарантирую- ,щие, чтобы не слишком много пакетов находилось в системе. □ Канальный (Data Link) уровень. Его иногда называют уровнем кана- ла или звена данных. Он гарантирует надежную связь на физическом уровне. Протокол этого уровня определяет структуру данных, напри- мер, размер кадра или пакета, и имеет дело с такими аспектами, как управление потоком данных, обнаружением и устранением ошибок. □ Физический (Physical) уровень имеет дело с физическими характеристи- ками линии связи — механическими и электрическими — и обеспечивает средства для передачи битов данных через непрерывный связной путь. Протокол этого уровня оперирует с такими деталями, как размер, потери и частотные характеристики кабеля, тип соединителя, размещение штырь- ков контактных разъемов, уровни напряжений и кодирование передачи. Модель OSI четко определяет службы, интерфейсы и протоколы. Архитектура Internet очень проста. Она была разработана с позиций передачи данных, тогда как в действительности идея Internet-модели базируется на компьютерах. Она имеет большое количество уровней, роли которых не всегда четко определены. Другие же уровни, такие, например, как уровень канала данных (канальный), являются неуправляемыми и часто разбиваются на подуровни. Он проектиро- вался для решения общих проблем связи и был разработан прежде, чем были разработаны протоколы. Отсутствие опыта работы с протоколами и работа на крупные корпорации привели к сверхсложному решению для этого уровня. С другой стороны, модель Internet в действительности не является формальной моделью, она просто устанавливается вокруг работающих протоколов. Она имеет меньшее количество уровней, но не очень хороша для описания вещей, отличных от TCP/IP. Модель OSI популярна, но ее протоколы не используются так широко, как Internet. Протоколы TCP/IP более популярны. 1.4. Структура книги В этой книге мы придерживаемся иерархической многоуровневой модели, хо- тя, в отличие от большинства книг по данной тематике, мы начинаем с верхних уровней и спускаемся вниз (рис. 1.6).
1. Общий обзор языка 11 Рис. 1.6. Структура этой книги Етоуровневая модель немного абстрактна, так что лучший способ увидеть, происходит, — привести пример. Превосходным примером системы связи ется Internet, обеспеченный различными инструментальные средствами, Йоторые можно использовать для того, чтобы видеть, что же фактически в этой ^Истеме происходит. Чтобы показать различные принципы в действии, возьмем случай просмот- ра домашней страницы Института телекоммуникационных исследований (Institute for Telecommunication Research) Университета Южной Австралии. Его домашняя страница дана на рис. 1.7. Здесь показано ее представление в браузерах только одного типа. Браузеры других типов могут отображать ее Несколько иначе. Сами Web-браузеры находятся на прикладном (7-м) уров- не модели OSI. Web-браузер интерпретирует HTML-страницу, которая является примером Протокола 6-го уровня. Web-страница, которая выглядит так, как показано на рис. 1.7, кодируется (на языке HTML) следующим образом: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <title>Welcome to the ITR web site</title> </head> <body link-"#OOOOFF" alink-"#800080" vlink="#FFOOOO" text="#OOOOOO" leftmargin-"O" topmargin="0" bgcolor="#FFFFFF”> </body> </html>
12 Передача данных в сетях: инженерный подход SPECIAL EVENTS Postgraduate Research Scholarships Systems Users Quick Links «Mof 1 Wrto Vrst Search the ITR Me ZSSi Рис. 1.7. Пример домашней страницы ITR Вначале отметим, что, т. к. этот пример пользуется в Internet, где четко опреде- ленный сеансовый уровень отсутствует, то взаимодействие приложения с сете- выми программами компьютера работает следующим образом (Протокол 1.1). Сначала наш компьютер соединяется с компьютером ITR и запрашивает файл http://www.itr.unisa.edu.au. По строке 3-ей (сверху) листинга видно, что прото- кол, который в нем используется— это НТТР/1.1, что наш компьютер может принимать все что угодно (строка 4), что он использует английский язык (строка 5), определенный тип браузера (строка 7) и т. д. Компьютер ITR отвечает, посы- лая код результата 200, в котором говорится, что запрос принят и дальше после- дует файл. Затем он посылает этот файл. Однако во время получения файла, браузер замечает, что тот содержит изображение, и открывает второе соедине- ние, чтобы получить это изображение. Так как это довольно медленное соедине- ние, то данные поставляются приложению "кусками". Эти куски в общем случае кратны 536 байтам, что и определяет размер используемых здесь ТСР-сегментов. ЙйЁ, CONNECTION 1: Connecting to server CONNECTION 1: Client to Server (250 bytes)
рива 1. Общий обзор языка 13 (gST http://www.itr.unisa.edu.au/ НТТР/1.1 ^cept: */* Accept-Language: en-gb Xgcept-Encoding: gzip, deflate (ftier-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) |tost: www.itr.unisa.edu.au Proxy-Connection: Keep-Alive\ pragma: no—cache CONNECTION 1: Server to Client (536 bytes) КГТР/1.1 200 OK jjkte: Sun, 29 Jul 2001 16:38:27 GMT •^erver: Apache/1.3.9 (Unix) Transfer-Encoding: chunked Content-Type: text/html «!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EM"> «html> «head> «title>Welcome to the ITR web site</title> </head> *, «body link="#0000FF" alink="#800080" vlink="#FF0000" text="#000000" leftmargin="0" topmargin="0" bgcolor="#FFFFFF"> «div align="center"xcenter> «table BORDER="0" CELLPADDING="0" CELLSPACING="0" WIDTH="100%" teight="100%"> <tr> Xtd valign="center" al • * J CONNECTION 1: Server to Client (1072 bytes) Align="center"xl—webbot bot="ImageMap" startspan CONNECTION 1: Server to Client (1608 bytes) HREF="tech__res/tech_res.html"XAREA SHAPE="RECT" COORDS="140, 106, 208, 124" HREF="about_us/about.html"x/MAP> <img src=” images/itr_new.gif" width <font face="verdana, arial, helve- tica" size="2"xform action="/cgi-bin/htsearch” methods="post">
р 14 Передача данных в сетях: инженерный подход CONNECTION 2; Connecting to server CONNECTION 2: Client to Server (307 bytes) GET http://www.itr.unisa.edu.au/images/itr_new.gif HTTP/1.1 Accept: */* । Referer: http://www.itr.unisa.edu.au/ Accept-Language: en-gb Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows 98) Host: www.itr.unisa.edu.au i Proxy-connection: Keep-Alive Pragma: no-cache CONNECTION 1: Server to Client (450 bytes) type="hidden" name="config” value="itr"xinput type="hidden" name="method" value="or"xinput type=”hidden" name="format" value="builtin-long"> <font face="verdana, arial, helvetica" size="l"xb><p>Search:</b> 1 <input type="Text" name="words" size="20"> <input type="Submit" name="submit" value="go"> </fontx/fontx/p> </form> </td> </tr> </table> </centerx/divx! —crc_sat_sys .html—> </body> </html> CONNECTION 2: Server to Client (536 bytes) HTTP/1.1 200 OK CONNECTION 2: Server to Client (1072 bytes) CONNECTION 2: Server to Client (1608 bytes) CONNECTION 2: Server to Client (1608 bytes) CONNECTION 2: Server to Client (1072 bytes) CONNECTION 2: Server to Client .(1608 bytes) CONNECTION 2: Server to Client (1608 bytes) CONNECTION 2: Server to Client (1072 bytes) CONNECTION 2: Server to Client (536 bytes) CONNECTION 2: Server to Client (536 bytes)
Глава 1. Общий обзор языка 15 CONNECTION 2: Server to Client (8040 bytes) CONNECTION 2: Server to Client (3752 bytes) CONNECTION 2: Server to Client (4824 bytes) CONNECTION 2: Server to Client (4824 bytes) CONNECTION 2: Server to Client (4589 bytes) CONNECTION 2: Server to Client (3216 bytes) CONNECTION 2: Server to Client (3405 bytes) CONNECTION 1: Server disconnected CONNECTION 2: Server disconnected Следующим, более низким уровнем, является транспортный с протоколом TCP (Transmission Control Protocol, протокол управления передачей). В TCP/IP (Internet Protocol, межсетевой протокол) каждый TCP-сегмент размещается в Двух IP-пакетах, так что два таких пакета оказываются связанными. Работа на этом уровне начинается так, как показано в приведенном ниже Дисплейном протоколе 1.2. Каждая строка представляет IP-пакет, и боль- шинство пакетов содержит TCP-сегменты, хотя некоторые содержат дей- таграммные UDP-пакеты (см. разд. "Протокол пользовательских дейта- грамм" гл. 4) для запроса сервера имен hestia.clara.net. Это локальный Сервер имен, который наш компьютер (те) использует для запроса адре- сов. Первая проблема, с которой приходится сталкиваться компьютеру, ЭТО контакт с сервером имен. В строке 1 выдается ARP-пакет, за- прашивающий адрес локальной сети, где может находиться сервер имен. Получив его, компьютер посылает на сервер имен (соединение через порт 1300) пакет (строка 2), запрашивающий адрес http://www.itr.unisa.edu.au. Сервер имен отвечает, что каноническим именем является http://www.itr.unisa.edu.au, а реальным — charli.levels.unisa.edu.au. Запро- сы сервера имен приведены в разд. 4.13.5. Затем посылается другой ARP- запрос, чтобы найти узел, к которому нужно посылать запросы для charli.levels.unisa.edu.au. Конечно, этот адрес находится не в нашей сети, НО маршрутизатор нашей сети, ответственный за организацию трафика к Другим сетям, выдаст ответ с этим адресом. До этого момента вся деятель- ность была направлена только на установку соединения, а не на посылку Самих данных. Имея необходимый адрес, компьютер посылает его в виде сегмента в порт 80 (порт Web-сервера), требуя, чтобы было установлено соединение (строка 5). Web-сервер отвечает (строка 6) подтверждением на запрос и разрешает соединение, а наш компьютер подтверждает это (стро- ка 7). Это трехкратное подтверждение (квитирование) связи и устанавлива- ет TCP-соединение. Наконец, в строке 8, выполняется посылка данных, ко- торые содержат описанный выше запрос. Сервер отвечает (строка 9) подтверждением, но еще не посылает каких-либо данных. Данные следуют
16 Передача данных в сетях: инженерный подход в строке 10, что наш компьютер (те) и подтверждает в строке 11. Это со- единение имеет, по предварительной договоренности, максимальный раз- мер сегмента 536 байтов, так что TCP-сегменты имеют этот же размер. За- тем от сервера следуют еще два таких сегмента с подтверждением, выдаваемым в строке 14. Остальные данные следуют в сегментах строк 15, 16, 18 и 21 с подтверждениями в строках 17 (двух сегментов), 19 и 22. Строки 20, 23 и 24 — трехкратное подтверждение второго соединения, ор- ганизуемого для получения изображения. 1 arp request for hestia.clara.net 2 me.1300 > hestia.clara.net.53 1+ А? www.itr.unisa.edu.au. (38) 3 hestia.clara.net.53 > me.1300: 1 2/3/3 CNAME cha (201) 4 arp request for charli.levels.unisa.edu.au 5 me.1305 > charli.levels.unisa.edu.au.80: S 5637114:5637114(0) win 8192 <mss 536,sackOK> 6 charli.levels, imisa.edu.au.80 > me. 1305: S 2454387047:2454387047(0) ack 5637115 win 9112 <mss 536> 7 me.1305 > charli.levels .unisa.edu.au.80: 8 me.1305 > charli.levels.unisa.edu.au.80: 9 charli.levels.unisa.edu.au.80 > me.1305: 10 charli.levels.unisa.edu.au.80 > me.1305: 11 me.1305 > charli.levels.unisa.edu.au.80: 12 charli.levels.unisa.edu.au.80 > me.1305: 13 charli.levels.unisa.edu.au.80 > me.1305; 14 me.1305 > charli.levels.unisa.edu.au.80: 15 charli.levels.unisa.edu.au.80 > me.1305: 16 charli.levels.unisa.edu.au.80 > me.1305: 17 me.1305 > charli.levels.unisa.edu.au.80: 18 charli.levels.unisa.edu.au.80 > me.1305: 19 me.1305 > charli.levels.unisa.edu.au.80: 20 me.1308 > charli.levels.unisa.edu.au.80: 21 charli.levels.unisa.edu.au.80 > me.1305: 22 me.1305 > charli.levels.unisa.edu.au.80: 23 charli.levels.unisa.edu.au.80 > me.1308: 5641263 24 me.1308 > charli.levels.unisa.edu.au.80: . ack 1 win 8576 P 1:286(285) ack 1 win 8576 . ack 286 win 9112 P 1:537(536) ack 286 win 9112 . ack 537 win 8576 . 537:1073(536) ack 286 win 9112 P 1073:1609(536) ack 286 win 9112 . ack 1609 win 8576 . 1609:2145(536) ack 286 win 9112 . 2145:2681(536) ack 286 win 9112 . ack 2681 win 8576 P 2681:3217(536) ack 286 win 9112 . ack 3217 win 8576 S 5641262:5641262(0) win 8192 <mss 536,sackCK> P 3217:3667(450) ack 286 win 9112 . ack 3667 win 8126 S 2455265723:2455265723(0) ack win 9112 <mss 536> . ack I win 8576
Слава 1. Общий обзор языка 17 Фактические данные, посылаемые на канальном уровне для транспортировки этих IP-пакетов, будут зависеть от используемой технологии. Они изменяются во время своего путешествия по узлам сети. Путь из Лондона в австралийский город Аделаида имеет 23 транзитных участка. Начало — в портативном ком- пьютере в Глазго с телефонным подключением через модем к поставщику ус- луг (провайдеру) Claranet Internet Service Provider. Следующий ниже список направляет эти сообщения на Web-сервер в Австралии. Довольно замыслова- тый маршрут этого путешествия показан на рис. 1.8. 1. ftr-rk-35.access.clara.net (195.8.83.35) в Лондоне 2. access-fe-0-0-0-banner-starbuck.router.clara.net(195.8.83.128) в Лондоне (Claranet) 3. ge-5-0-0-banner-bildad.router.clara.net (195.8.68.62) в Лондоне (Claranet) 4. atm-6-0-0-telee-peleg.router.clara.net (195.8.68.158) в Лондоне 5. fastethemetl-0.1th-icr-02.carrierl .net в Лондоне (Carrierl AG, Цюрих) 6. fastethemet4-0-0.lth-bir-01.carrierl.net (212.4.203.209) в Лондоне 7. pos!3-0.1on-bbr-02.carrierl.net(212.4.200.121) в Лондоне 8. posl3-0.nyc-bbr-02.carrierl.net (213.239.20.254) 9. gigabitethemet2-0.nyc-pni-03.carrierl .net (212.4.193.202) 10. p4-l.nycmnyl-cr7.bbnplanet.net(4.24.163.17) в Нью-Йорке (BBN Planet) 11. p2-0.nycmnyl-nbrl.bbnplanet.net(4.24.7.1) в Нью-Йорке ,12. pl-0.nycmnyl-brl.bbnplanet.net(4.24; 10.82) в Нью-Йорке 13. pI-0.nycmnyl-bal.bbnplanet.net(4.24.6.230) в Нью-Йорке 14. pl-O.xnycl-mci.bbnplanet.net (4.24.7.70) в Нью-Йорке 15. acrl-loopback.SantaClara.cw.net (208.172.146.61) в Сан-Франциско (кабель и беспроводная линия) 16. -(208.172.147.210) 17. optus-netwoiks.Sydney.cw.net (166.63.225.166) в Сиднее 18. GigEthl2-0-0.ia4.optus.net.au (202.139.191.18) в Сиднее (CWO Infrastructure Network) 19. SA-RNO-Int.ia4.optus.net.au (202.139.32.206) в Сиднее 20. ethemetl.city-east.unisa.gw.saard.net (203.21.37.110) в Аделаиде (South Australian Academic, Research and Development Network) 21. MLgate.levels.unisa.edu.au (130.220.10.2) в Аделаиде (Uni of South Australia) 22. MLCamp.levels.unisa.edu.au (130.220.2.106) в Аделаиде 23. www.itr.unisa.edu.au (130.220.36.143) в Аделаиде
18 Передача данных в сетях: инженерный подход Рис. 1.8. Маршрут к Web-серверу ITR Основная работа IP состоит в изоляции верхних уровней от деталей работы сети так, чтобы невозможно было сказать, какие типы передач фактически ис- пользуются. Начальное соединение выполняется по телефонному проводу с использованием модема и PPP-протокола (протокол "точка—точка", см. разд. 5.9.1), а имена различных компьютеров вдоль маршрута говорят, что ис- пользуют ATM (см. разд. 5.8.2), быстрый Ethernet (см. разд. "Быстрый Ethernet", гл. 5), гигабитовый Ethernet (см. разд. "Гигабитовый Ethernet, гл. 5) и, почти определенно, — американскую синхронную оптическую сеть SONET (см. разд. 5.8.1). Трафик к Австралии часто проходит через Америку, тогда как имеются много резервных мощностей через Атлантику. Каналы, проходящие через Тихий океан, часто прокладываются через спутник, но данное соедине- ние использует кабель и оптоволоконную линию. Вы можете просматривать маршрут Internet-соединения с помощью программы traceroute (UNIX) или tracert (DOS).
Глава 2 С точки зрения пользователя 2.1. Данные пользователя И" Пользователи располагаются на верхнем уровне иерархии коммуникацион- ной системы. Стратегия многоуровневого иерархического представления, обсуждавшаяся в главе 1, предполагает, что пользователи "видят" систему Только через свои приложения и изолированы от деталей ее работы. Такая Стратегия имеет интересный побочный эффект, позволяющий системе связг ^управлять передаваемыми данными таким способом, чтобы придавать им Наиболее эффективную для передачи форму. Этот процесс называется коди- рованием источника. Перед погружениемg детали такого кодирования необ- Зй&дймо рассмотреть основные принципы теории информации. 22. Введение в теорию информации JJ.2.1. Количество информации Информация — это знание чего-то, причем вопрос, является ли это "что-то' Истинным — оставим для философов. В нашем случае мы будем иметь деле Просто с сообщениями, составленными из одного или нескольких символов to, что создает эти сообщения, называется источником. Первая попытка ма Шматически определить количество того, что, по предположению, являете: Информацие" была предпринята Хартли (Hartley) в 1928 году. Его подхо, Постоял в cj 1ующем. Пусть источник производит одиночный символ, на Пример, s, который входит в состав полного набора возможных символьны: значений ..., Пусть информация, задаваемая этим символом, буде обозначена как ц. Если источник производит / символов, то, интуитивно, ре зультирующая информация должно быть равна / х Хартли связал количе ство информации с числом возможных выходов, так как он чувствовал, чт чем больше у источника таких выходов, тем больше информации передаете
20 Передача данных в сетях: инженерный подход в форме знания того, что произошло. Одиночный символ может иметь « воз- можных значений, а если у нас I таких символов, то получаем п возможных комбинаций. Если мы говорим, что информация — это функция числа воз- можных выходов, то мы имеем »1=/(п) и Кроме того, / = 7 х ц = 1 xf (и), так что f (n‘) = l*.f (л). Единственная функция, которая удовлетворяет обоим этим уравнениям,— ЭТО логарифм, так что Хартли определил меру информации источника с п различными символами как 1= log л. Чаще всего используются логарифмы с основанием 2, которые дают единицу измерения информации, называе- мую бит, хотя существует и другая единица — нат (nat), когда вместо дво- ичных используются натуральные логарифмы (с основанием е). Единица бит означает, что информация, задаваемая 7 двоичными символами, равна У„ log2 П = /log2«(= log2 n1). Определение Хартли иногда записывается как I=-\og2P(S), где P(S) — вероятность появления одного символа, а все символы равноверо- ятны. Это довольно простое определение, но оно справедливо только тогда, когда все сообщения равновероятны. Однако обычно это не так. Поскольку интуи- тивно информация зависит от вероятности, то для уточнения этого определе- ния мы должны использовать концепцию вероятности. Если событие являет- ся очень вероятным или не очень, то, как правило, мы можем предсказать, каков будет результат. Это также означает, что количество информации, содержащейся в фактически известном результате, уменьшается. Чтобы по- дойти к уточненному математическому представлению информации, которая учитывает вероятностный фактор, мы должны слегка изменить наш взгляд на нее. Вместо того чтобы говорить, что информация — это знание, мы говорим, что информация—уменьшение (снятие) неопределенности. Существует чет- кая методика измерения неопределенности — теория вероятности. Если мы определим меру неопределенности, то сможем использовать ее для определе- ния информации. Этот подход был использован Шенноном в 1948 году. Мера неопределенности (обозначим ее как Н(х)) должна иметь следующие свойства: □ если два эксперимента имеют равновероятные результаты, то тот экспе- римент, у которого больше возможных значений, имеет большую неопре- деленность, т. е. Н(х\) > Н(х2), если эксперимент xj имеет больше равно- вероятных результатов, чем х2. Например, неопределенность при
(рава 2. С точки зрения пользователя 21 бросании игральной кости (6 возможностей, каждая с вероятностью 1/6) больше, чем при бросании монеты (2 возможности, с вероятностями 1/2). Обратите внимание— последний случай соответствует неопределенно- сти в определении информации Хартли; В если имеются два независимых эксперимента, неопределенность относи- тельно результатов обоих экспериментов должна быть равна сумме неоп- ределенностей результатов каждого индивидуального эксперимента; 0 если результаты эксперимента разделены на две группы, то неопределен- ность всего эксперимента должна быть равна сумме неопределенностей каждой из групп, взвешенных вероятностями соответствующих групп. yip» первых свойства требуют чтобы как; и прежде мера Н(х) была основана На логарифмах. Третье свойство потребовало от Шеннона добавления веро- Йгностных множителей. Он определил неопределенность, или энтропию слу- чайного события (величины) X. которое может иметь п возможных результа- тов (значений), получаемых в результате экспериментов с вероятностями р\, Ц,.,р„, как Н(Х) = -^кР№2Рк. (Энтропия, которая является неопределенностью события X, имеет следующие Ьвойства: •Ч-; "* Йр она максимальна, когда каждый возможный результат равновероятен; Ц , упорядочивание различных вероятностей не имеет значения; ' энтропия равняется нулю только тогда, когда нет никакой неопределен- ности (то есть когда вероятность каждого из результатов равна 1); $ добавление события с вероятностью 0 к набору возможных значений слу- чайной величины не изменяет энтропию; энтропия увеличивается с числом возможных экспериментальных резуль- татов (число событий, бросков игральной кости имеет больше энтропии, чем число бросков монеты); энтропия является непрерывной функцией ее аргументов; энтропия двух независимых событий равна сумме энтропий индивиду- альных событий; если набор возможных результатов экспериментов разбить на группы, то для получения результирующей энтропии нужно значения энтропий ин- дивидуальных групп умножить на их статистические веса. & ь Некоторые из этих свойств показаны на рис. 2.1, где изображена энтропия Двоичного случайного события (имеющего только два возможных значения), кйк функция вероятностей. Она имеет максимум, равный 0,5, в точке р = 0,5
22 Передача данных в сетях: инженерный подход (в этой точке одинаково вероятно, что событие произойдет, как и то, что оно не произойдет). Кроме того, видно, что энтропия равна нулю как для собы- тия, происходящего всегда (р = 1), так и для события, не происходящего ни- когда (р = 0). Энтропия и информация связаны следующим образом: Я(А') = - У* рк log2 рк = рк1(Х = хк ), т. е. энтропия — это средняя информация для данной (дискретной) случайной величины (с к возможными значениями). Рис. 2.1. Энтропия двоичной случайной величины для различных вероятностей 2.2.2. Взаимная информация Итак, информация— это уменьшение (снятие) неопределенности. Отсюда следует, что, строго говоря, когда речь заходит об информации, необходимо рассматривать два события: одно "исходное", рассматриваемое перед получе- нием информации, и другое "предначертанное", рассматриваемое после того как информация получена (предполагается, что второе событие дает инфор- мацию о первом). Иначе говоря, насколько меньшую неопределенность мы получим относительно первого события, получив определенные знания о втором. Термин взаимная информация часто используется для того чтобы подчеркнуть, что требуется рассматривать два события. Рассмотрим два события Xu Y. Информация об X, передаваемая событием Y, равна I(X; Y) = H(X)- //(A'l Y). Н(Х)— это неопределенность события X. H(X\Y) — неопределенность события X при условии, что Y — известно, и то, насколько меньше становится эта неопределенность по сравнению с первона-
/лаза 2. С точки зрения пользователя чальной, когда происходит событие Y и определяет их взаимную информг цию. Если XhY независимы, то Я(Х| Y) = Н(Х), так что /(X; У)=0, и У не дае никакой информации об X. Обратите внимание, что ЦХ, У) = I(Y\ X). Эти сс отношения показаны графически на рис. 2.2. Рис. 2.2. Отношения между энтропией и информацией для двух событий 2.3. Источники информации Источник информации— это производитель информационных символе (значений). Источник без памяти— это-Специальный тип источника, где в< роятность производимого символа не зависит от какого-либо из предыдущи символов. Если вероятность каждого символа неизменна во времени, то гов( 0ят, что источник стационарный. Поэтому для такого источника P(S,,= ак) =pk Vi. Строка символов, произведенная таким источником где все сил волы принадлежат одному и тому же распределению вероятностей. Энтропи Этого источника определяется как H = EkPkiog2Pk’ где сумма берется по всем к и рк > 0. Набор допустимых символов называете алфавитом. Бросание монеты или игральной кости формирует источник без памяти, т. 1 каждый бросок не зависит от предыдущих. Если имеется некоторая завис! Мость от предыдущих результатов, то говорят, что источник имеет памят Большинство реальных источников имеют память. Например, символы г Странице имеют память, потому что они не независимы. Так за буквой "q" ( английском языке) почти всегда будет следовать буква "и". Источники с памятью — это обычно не индивидуальные символы, а ск< рее группы символов, которые формируют различные сообщения. Каждг
24 Передача данных в сетях: инженерный подход буква английского языка — это символ, но только некоторые группы сим- волов формируют правильные (допустимые) комбинации выходов источ- ника. Энтропия такого источника рассчитывается по сообщениям, а не по символам. Если некоторые из возможных комбинаций символов не фор- мируют правильных сообщений, то говорят, что они избыточны (напри- мер, "thear"). Вычисление энтропии источников с памятью требует рассмотрения групп зависимых символов вместе с ситуацией, когда результирующие сообщения можно рассматривать как независимые. Тогда энтропия рассчитывается по сообщениям, а не по символам. Для некоторых источников сделать это чрез- вычайно трудно, потому что для большинства групповых символов зависи- мость существует. Снова используя пример английского языка, следует отме- тить, что его индивидуальные слова или даже предложения не являются независимыми. В таких случаях энтропию индивидуального символа можно вычислять, лишь оценивая (угадывая) вероятность следования некоторого символа за предыдущим. Для больших участков английского текста люди могут правильно отгадывать следующий символ немного меньше чем в поло- вине случаев, что приводит к энтропии, которая лишь немного больше одно- го бита на символ. 2.4. Кодирование Источники обычно не производят индивидуальных сообщений в удобной форме. Разговорный язык, например, состоит из нескольких сотен тысяч слов (в случае английского языка — из многих миллионов слов), и иметь отдель- ный символ для каждого из них непрактично. Решение состоит в том, чтобы отображать сообщения на более управляемый набор кодовых символов (зна- чений). Этот процесс называется кодированием. Алфавит кода может быть тем же самым или отличным от исходного алфави- та. Часто, но не обязательно, это двоичный алфавит. 2.4.1. Свойства кодов Код называют разборчивым (distinct), если все кодовые слова различны. Код называют однозначно дешифруемым (uniquely decipherable), если любая ко- нечная строка из закодированной строки соответствует по крайней мере од- ному сообщению. Код называют моментальным (instantaneous), или префиксно-свободным (prefix-free), если никакое кодовое слово не является префиксом какого-либо
Елава 2. С точки зрения пользователя 21 другого кодового слова, что делает код также и однозначно дешифруемым. Для проектирования кодов можно использовать так называемое дерево решений. Необходимым и достаточным условием моментального кода является нера- венство Крафта. Оно утверждает, что для моментального кода сумма разме- ров алфавита D в степени индивидуальных длин слов должна быть меньше или равна 1, т. е. D4i sb Для однозначно дешифруемого кода такое же условие определяется неравенством Макмиллана, так что однозначно де- шифруемый код существует только тогда, когда существует также и мгно- венный код. Это неравенство часто называют неравенством Крафта- Макмиллана. Для проектирования кода можно использовать кодовое дерево (рис. 2.3). На- чинаясь в корне, дерево разветвляется для каждого возможного кодового римвола. Каждый узел в дереве соответствует набору кодовых символов и, Следовательно, возможному кодовому слову. Код является однозначно де- шифруемым, если каждый исходный символ представлен отдельным узлом. Код является моментальным, если каждый исходный символ представлен конечным узлом (то есть листом) дерева. На рис. 2.3 узел А — корневой. Моментальный код может быть сформирован из узлов В, F, G, J, К, L и М Или их подмножеств. На рисунке показаны коды 0, 100, 101, 1100, 1101 и 1111. Если бы не было одного из промежуточных узлов (скажем, D), то при Удалении нижележащих кодовых слов этого узла (F и G, например) код пере- Йап бы быть моментальным. Моментальный код можно расширять с приве- дением его к форме нового мгновенного кода, только путем добавления к Промежуточному узлу концевых узлов. Добавление узла D прибавляет к коду D — 1 новых кодовых слов (так как добавляется D новых концевых вершин, а Исходный узел больше не может использоваться в качестве кодового слова, потому что он больше не является концевым).
26 Передача данных в сетях: инженерный подход 2.4.2. Минимальные разрядности кода Если источник (без памяти) имеет энтропию Н, то любой однозначно дешиф- руемый код для этого источника с алфавитом из D символов должен иметь длину (разрядность) по меньшей мере Н / log Z>(= Lmjn), и существует код с длиной <(! + // /log£>). Это утверждение называется теоремой помехоустой- чивого кодирования, потому что она определяет самый короткий возможный код, который полностью описывает источник (и поэтому не производит ни- каких искажений или шума). Для частного случая двоичных кодов длина должна быть больше или равна энтропии в битах. 2.4.3. Избыточность и эффективность Избыточность кода определяется как относительная разность между сред- ней и минимальной длиной кодовых слов, т. е. как Средняя длина кодовых слов где // — длина кодового слова i и р, — вероятность этого кодового слова. Близко связанным понятием является эффективность кода (обозначается как т|), которая определяется как £тт/£Ср и обычно выражается в процентах. Обрати- те внимание, что избыточность кода равна 1 - т], и если код имеет эффектив- ность 100%, то у него нет никакой избыточности. Для случая двоичного кода ^min= И, так что можно упростить эти уравнения: избыточность= (Zcp - H)ILCV, г) = H/L^. 2.4.4. Типы кодирования Существует четыре типа кодирования, хотя многие авторы говорят только о трех. Математики обычно забывают кодирование линии передачи, в то время как инженеры-электронщики имеют тенденцию забывать криптографическое кодирование. □ Кодирование источника. Состоит в максимально возможном сжатии информации до нескольких символов, чтобы сэкономить ресурсы переда- чи или памяти. Число исходных комбинаций больше числа закодирован- ных комбинаций.
Глава 2. С точки зрения пользователя 27 □ Кодирование канала. Состоит в расширении кодового алфавита, позво- ляющем распознавать ошибки после передачи через канал, который мо- жет искажать или разрушать данные. Число исходных комбинаций мень- ше числа закодированных комбинаций. О Криптографическое кодирование. Состоит в таком преобразовании сообщения, чтобы другие пользователи не смогли понять его. Число ис- ходных комбинаций равно числу закодированных комбинаций (в общем , случае). st) Кодирование линии связи. Состоит в таком преобразовании сообщения, чтобы его можно было легче передавать через среду передачи. Число ис- ходных комбинаций равно числу закодированных комбинаций. ♦ 2.5. Кодирование источника Если мы хотим эффективно передавать информацию, то для того чтобы со- хранять низкую среднюю длину сообщения, нужно кодировать наиболее вероятные сообщения с помощью коротких кодовых слов. Когда мы знаем Исходные характеристики источника, очень полезными оказываются страте- гии кодирования Шеннона-Фано и Хаффмана. Когда мы не знаем характе- ристик источника, можно использовать другие методики, такие как группо- вое кодирование (run length encoding), используемое в факсимильной связи, кодирование Лемпеля-Зива (Lempel-Ziv coding), используемое в архивато- рах pkzip, и т. д. ^еред любым кодированием информации она должна быть приведена к удоб- |юй для обработки форме. В некоторых случаях источник представляет информацию в виде дискретных символов, которые могут быть закодированы ’^прямую. Однако информационный сигнал, который нужно посылать в сис- тему связи, это часто аналоговый сигнал (например, звуковой или выходной Сигнал датчика), из которого перед преобразованием в индивидуальное со- общение нужно сначала сделать выборку. 2.5.1. Квантование Чтобы было возможно передавать сигнал, находящийся в аналоговой форме, Содержащиеся в нем данные необходимо некоторым образом обработать — /оцифровать. Например, измерения расстояний — неизбежно аналоговые, но Для передачи их обычно оцифровывают. Ширина монеты в один пенни — 20,20... мм, является бесконечным дробным числом, но стоит только это чис- ло ограничить некоторым конечным числом цифр, измерение становится оцифрованным. Таким образом значения 20,2 мм и 20 мм являются выбороч- ными значениями ширины монеты.
28 Передача данных в сетях: инженерный подход 2.5.2. Точность квантования Когда производится выборка аналогового сигнала, он квантуется, т. е. оце- нивается его ближайшими дискретными значениями. Если мы делаем изме- рения ширины монеты с точностью до одного десятичного знака, то нашими выборочными значениями будут 20,0 мм, 20,1 мм, 20,2 мм, и т. д. Разность между соседними квантованными значениями определяет шаг квантования. Разность между фактическим и квантованным значением называют ошибкой квантования, которую обозначают символом е. Максимальное значение этой ошибки равно половине шага квантования (рис. 2.4). a б Рис. 2.4. Квантование аналогового сигнала: a — общий вид; б — фрагмент квантованного сигнала Отношение сигнал-шум (SNR, Signal to Noise ratio) — это отношение мощности сигнала к мощности шума. Шумом в этом случае является ошибка квантования. Мы не знаем точного значения ошибки на конкрет- ной выборке, но мы можем сделать разумное предположение, что все зна- чения в диапазоне изменения входного сигнала являются равновероятны- ми. Для шага квантования d ошибка находится в диапазоне (-J/2, J/2). При возведении в квадрат и усреднении это дает мощность шума <72/12 (рис. 2.5, а). Следовательно, мощность шума пропорциональна квадрату шага квантования. Альтернативно, если мы имеем сигнал с q уровнями квантования, то ошибка квантования обратно пропорциональна q2 (рис. 2.5, б) Чем больше количество уровней квантования, тем выше SNR, но тем больше имеется различных информационных символов. Пороги квантования не обязательно должны быть равномерно распределенными, и чаще всего — это не так. В звуковых системах уровни располагаются по логарифмической шкале, так что на низких уровнях их имеется больше, чем на высоких.
^ава 2. С точки зрения пользователя а Рис. 2.5. Вычисление шума квантования $.5.3. Частота дискретизации Для изменяющихся во времени величин, подобных электрическим сигналам, Й дополнение к точности каждой выборки существует еще одна проблема — Частота дискретизации, или скорость выборки (sampling rate). Если частота Дискретизации слишком низка, то мы не будем способны восстанавливать Сигнал по выборкам. j». Рассмотрим рис. 2.6. Исходный сигнал представлен черной линией, и Доказанные выборки позволяют должным образом восстановить сигнал. Од- Дако, если мы возьмем только каждую вторую выборку, то результатом вос- становления будет серая линия, в которой многие детали исходного сигнала потеряны. Чем выше частота дискретизации, тем больше требуется выборок, К придется передавать большее количество сигнальных значений (символов), ключевой вопрос состоит в том, сколько требуются выборок, чтобы полно- стью описать сигнал. Ответ на этот вопрос требует понимания индивидуаль- ных компонентов, из которых состоит сигнал. Мы можем расчленять сигнал pa различные частотные компоненты с помощью анализа Фурье. Рис. 2.6. Форма сигнала при разных скоростях выборки
30 Передача данных в сетях: инженерный подход 2.5.4. Ряды Фурье С помощью этих рядов почти любой периодический сигнал можно предста- вить в виде ряда синусоидальных сигналов. Сила этого подхода состоит в том, что если мы определим отклик цепей на синусоиды различных частот, то сможем вычислить, как эти цепи будут реагировать на соответствующий сиг- нал. Синусоидальные составляющие сигнала, называемые его спектром, формируют представление сигнала в частотной области. Это очень мощный подход к проектированию цепей. Хотя представление сигналов в частотной области напрямую соответствует физическим объектам в форме волн, напри- мер, когда речь идет об электромагнитных излучениях (радиоволнах, свете и т. д.), но важно помнить, что представление сигнала в частотной области — это в своей основе математическая модель. Таким образом, мы можем вы- полнять частотный анализ сигналов, которые изменяются не только во вре- мени, но по другим параметрам, например, в пространстве. 2.5.5. Вычисление частотного спектра Почти любой периодический сигнал можно представить в виде суммы ряда Фурье. Существует две главных формы ряда Фурье— экспоненциальная и тригонометрическая. Они эквивалентны вследствие того, что е70 = cose+jsinfl. Для экспоненциальной формы сигнал формируется из о(/)= У cnej2mf“‘, где сп =±- [v^^dt. А, /0 Для реальных сигналов можно также использовать тригонометрическую форму ~ао+ (ai cosx + fcj sin х)+(а2 cos2x+b2 sin 2x)+... где коэффициенты an = ~ [ /(x)cosnxdx Hbn= — ( /(a) sinnxdx To "o TB fr> Для тригонометрической формы период обычно принимается равным 2л, что дает 1 f2n 1 f2/r ап= —I f(x)cosnxdx и bn=—\f (x)sinnxdx • И 71 ^0 В качестве примера рассмотрим треугольный сигнал, где у - х/2 в интервале от -л до л. На рис. 2.7 показаны три первых члена ряда Фурье для этого сиг- нала, а также сумма двух и трех первых членов. С учетом трех первых членов основная форма сигнала проявляется уже достаточно четко. На рис. 2.8 пока- зано приближение, учитывающее 30 первых членов ряда Фурье.
Глава 2. С точки зрения пользователя 31 Рис. 2.7. Индивидуальные синусоиды трех первых членов ряда Фурье для треугольного сигнала, у = х/2, интервал [-и, и] Хотя не каждый возможный периодический сивнал имеет представление в ваде ряда Фурье, одно из условий такого представления (которое является достаточным, но не необходимым) состоит в том, что интеграл квадрата функции должен быть конечным. Такое же условие имеет место и для мощ- ности сигнала (сигнала с конечной мощностью на периоде). Все реальные сигналы должны иметь конечную мощность, так что все реальные сигналы Юнеют представления в виде ряда Фурье. Рад Фурье непрерывной функции также является непрерывным. Если исход- |№1Й сигнал не является непрерывным, то для ряда Фурье наблюдается эф- }фект Гиббса, когда ряд Фурье сходится в средней точке разрыва. Ряд Фурье Юнеет примерно 18-процентные выбросы на концах разрыва с колебаниями, которые имеют ту же частоту, что и самый высокочастотный компонент в ряде Фурье. Энергия этих выбросов, называемых "ушами Гиббса", уменьша- ется при А'-> оо, а их амплитуда не уменьшается. Треугольный сигнал на рис. 2.8 имеет разрыв, так что "уши Гиббса" присутствуют, но они еще лучше вадны на прямоугольном сигнале (рис. 2.9). Обратите внимание, что никакой реальный сигнал не имеет разрывов, т. к. это потребовало бы, чтобы электро- ны двигались с бесконечной скоростью, что невозможно. Однако математи- ческая форма, которую мы используем для представления реального сигнала, может иметь разрывы для того, чтобы аппроксимировать сигнал (примером такой формы является ступенчатая функция).
32 Передача данных в сетях: инженерный подход Рис. 2.8. Первые 30 членов ряда Фурье треугольного сигнала, показанного на рис. 2.7 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 -0.2 -0.4 -8 -6 -4 -2 0 2 4 6 8 Рис. 2.9. Ряд Фурье функции у - 0, 0 ^х < п, у = п/2, п <х < 2п. Показан ряд с 2, 3 и 4 членами и ряд с количеством членов до л = 4. 2.5.6. Частотный спектр Члены ряда Фурье можно использовать для того, чтобы определять частот- ный спектр периодических сигналов. Частотный спектр — это график час- тотных компонентов и их амплитуд. Частотный спектр периодических сигна-
Глава 2. С точки зрения пользователя 33 лов называется линейчатым, т. к. он имеет компоненты в точках 1/7', 2/7', 3/7' и т. д. (где Т— период сигнала). Самая низкая из этих частот 1/7', называется основной частотой. Линейчатым спектром обладают сигналы, которые являются истинно перио- дическими, т. е. простираются от -со до со. Хотя реальные сигналы не обла- дают этим свойством, но часто мы можем считать их истинно периодически- ми в пределах той временной области, в которой мы их рассматриваем. Тогда возникает следующий вопрос: как следует обрабатывать непериодиче- ские сигналы? Можно вычислять их частотную характеристику, используя преобразование Фурье. Преобразование Фурье определяется так: F{f) = Г vffie-^dt. J—со Обратите внимание, что преобразование Фурье— непрерывная функция, и поэтому апериодический сигнал имеет непрерывный спектр, а не линейчатый, как у периодических сигналов. Уместно отметить два специальных преобразования. Первое — преобразова- ние импульса, т. е. дельта-функции 5(7), которая равна 1 в точке t = 0, и рав- на 0 в других точках оси времени. Ее преобразование Фурье выглядит так: F(/) = J” u(t)e~J2^dt =J” | 1 0e~j2^ldt = J_1A = 1. В более общем случае F(A8(t)) = А, так что частотным спектром импульса является константа, содержащая все частоты. Вторая функция, стоящая упоминания, — это спектр прямоугольного им- пульса. Рассмотрим импульс с амплитудой А в интервале -Т/2 до Т/2 и значе- нием 0 в остальных точках. F(/) = f = J-eo 3-т/2 =^sin(^F)=yirsinc(/T) «Взаимосвязь между частотной и временной областью подчеркивается тем фактом, что константа амплитуды А является преобразованием дельта- функции величины в точке/= 0, т. е. dc'-компонентом. Кроме того, импульс sine временной области имеет прямоугольный (масштабированный) отклик в частотной области. 1 de (direct current) — постоянная часть импульсного компонента. — Пер.
34 Передача данных в сетях: инженерный подход Некоторые свойства преобразований Фурье показаны в табл. 2.1. Умножение во временной области соответствует свертке в частотной области, и наобо- рот. Повторение во временной области соответствует выборке в частотной области (с масштабным коэффициентом), и наоборот. 2.5.7. Минимальная скорость выборки Из изложенного следует, что выборке (sampling) сигнала во временной облас- ти соответствует его повторение (repeating) в частотной области. Поэтому, если частота выборки больше чем удвоенная полоса частот сигнала, то мы можем восстанавливать исходный сигнал, потому что его повторения не бу- дут перекрываться с исходным сигналом. Следовательно, если аналоговый сигнал имеет полосу частот W, то требуется выборка со скоростью, по край- ней мере, 2W (или больше). Таблица 2.1. Свойства преобразований Фурье Параметр gft) F(g(t))~G(f) Квантование времени I Временной сдвиг g('-r) Дуализм С(0 gH) Перемножение «(оад Свертка g(0 ♦ Л(0 Повторение £(g(0*<5('-«r)) neZ kM k Выборка к 8(т - m)) neZ k;fel I TJ) Восстановление сигнала выполняется путем удаления высокочастотных копий частотного спектра с помощью идеального низкочастотного фильтра. Прямо- угольный частотный отклик соответствует функции sine во временной области. Обратите внимание — поскольку эта функция имеет бесконечный отклик, то все физические системы будут обладать некоторыми искажениями. 2.5.8. Импульсно-кодовая модуляция (ИКМ) Импульсно-кодовая модуляция (PCM, Pulse Code Modulation) — это название процесса выборки аналогового сигнала и замены его дискретными выборками, взятыми в определенные моменты времени. Чем больше делается выборок, тем
Гпава 2. С точки зрения пользователя 35 выше частота соответствующих значений (символов) сигнала. Кроме того, чем более точно выполняются выборки, тем больше число возможных символов. Символы часто представляются строками двоичных цифр, поэтому чем больше число выборок и выше их точность, тем выше битовые скорости передачи. 2.5.9. Кодирование источников без памяти Кодирование Шеннона-Фано Перечислите все сообщения в порядке убывания их вероятностей, затем разбейте этот список на приблизительно равновероятные разделы (два раздела для двоичного кода, три — для троичного, и т. д.). Назначьте 0 — первой части списка, 1 — второй, и т. д.* Продолжайте процесс до тех пор, пока не останется непронумерованных разделов. Кодирование Хаффмана Процесс кодирования Хаффмана выполняется следующим образом. Символы сообщения, которые нужно закодировать, перечисляются в порядке убывания вероятности (то есть символы с самой высокой вероятностью должны быть в верхней части этого списка). Если используется двоичный кодовый алфавит, то две ветви с самыми низкими вероятностями объединяются (со сложением их вероятностей), но перед этим одна из них маркируется как 0, а другая — как 1. Затем эти ветви вновь упорядочиваются по вероятности и процесс по- вторяется. Процесс продолжается до тех пор, пока не останется только одна ветвь. Затем считываются кодовые слова, причем чтение выполняется в об- ратном порядке от последнего элемента с добавлением в кодовое слово встречающихся по пути нулей и единиц. - Например, возьмем систему со следующими вероятностями: А 0,25; В 0,3; С 0,35; D 0,1. Ранжируем их так: О С —0,35; & В —0,3; О А —0,25; О D —0,1. Самые маленькие вероятности у элементов А и D (0,25 и 0,1 соответственно). Они объединяются в одну ветвь AD, ветвь А маркируется как 0, а ветвь D— как 1 (рис. 2.10), и выполняется их новое упорядочивание по убыванию вероятности: О С —0,35; О AD — 0,35; □ В —0,3.
36 Передача данных в сетях: инженерный подход Относительно упорядочивания компонента AD имеется следующая свобода выбора: располагать его можно либо выше, либо ниже компонента С. В каж- дом случае мы получим различные, но эквивалентные коды. Затем объединяются компоненты AD и В, причем AD помечается как 0, а В — как 1. Это приводит к следующему списку: □ ADB — 0,65; □ С —0,35, в котором объединены компоненты AD и В, список переупорядочен, компо- нент ADB маркирован как 0, а С — как 1, что дает только одну ветвь, на этом процесс заканчивается. Извлечение кодовых слов выполняется следующим образом (начиная с последнего столбца, в обратном порядке): □ А: 0 — от ветви ADB (последний столбец), 0 — от ветви AD (средний столбец) и 0 — от ветви А (первый столбец), что дает первое кодовое сло- во: ООО; □ В: 0 — от ветви ADB, 1 — от ветви В (средний столбец), что дает второе кодовое слово: 01; □ С: 1 — от ветви С (последний столбец), что дает третье кодовое слово: 1; □ D: 0 — от ветви ADB, 0 — от ветви В (средний столбец) и 1 — от ветви D (первый столбец), что дает последнее кодовое слово: 001. Весь процесс кодирования показан на рис. 2.10. 0,35 0,3 0,25 0,1 С В А D ADB 0,65 С 0,35 Рис. 2.10. Пример построения кода Хаффмана Чтобы использовать кодирование Хаффмана для кодовых алфавитов, со- стоящих из большего количества символов, нужно выполнить небольшую модификацию этапа группировки: вместо объединения двух самых малове- роятных компонентов перед переходом к следующему этапу нужно объеди- нять п таких компонентов, где п — число символов кодового алфавита. Эти символы следует использовать для нумерации последних ветвей дерева на
Гпава 2. С точки зрения пользователя 37 различных этапах процесса построения кодов Хаффмана. Отсюда следует, что на каждом этапе этого процесса удаляются (и - 1) входов (элементов) списка. Поскольку в конце концов мы остаемся с элементом, помечаемым как 1, то в предыдущем списке мы должны иметь 1 + (и — 1) элементов, в его предшественнике должно быть 1 + 2 (п - 1) элементов, и т. д. Если чис- ло элементов, с которых мы начинаем процедуру, не равно 1 (mod п - 1), то нужно прибавлять дополнительные фиктивные элементы с вероятностью 0. Число таких дополнительных элементов равно такому наименьшему числу, при котором новое общее число элементов оказывается конгруэнтным 1 (mod п - 1). 2.5.10. Кодирование источников с памятью Кодирование (сжатие), использующее алгоритмы Хаффмана и Шеннона- Фано, хорошо работает для источников, производящих символы с довольно ограниченным алфавитом, но оно не работает, когда алфавит достаточно ве- лик и каждый символ используется несколько раз. Например, изображение может состоять из многих миллионов пикселов, каждый из которых будет иметь немного разный цвет. В этом случае можно использовать память ис- точника. Для таких целей были разработаны другие типы сжатия. Основные типы сжатия приведены в табл. 2.2. Сжатие происходит без потерь, если источник может быть точно восстановлен по сжатым данным. Сжатие с потерями в процессе кодирования отбрасывает некоторую информацию, так что источник не может быть точно восстановлен. Так, например, при сжатии изображения происходит уменьшение количества различаемых цветов. Сжатая версия изображения будет отличаться от исходной, но при должным образом спроектированной системе компрессии она должна восприниматься пользователем почти так же, как исходная. Таблица 2.2. Основные типы сжатия Основа кодирования Тип кодирования Тип сжатия Кодирование на основе сим- волов (в информатике это называется энтропийным ко- дированием). Осуществля- ется без потерь Подавление повторя- ющихся последова- тельностей Подавление незначащих нулей Групповое кодирование Статистическое коди- рование Хаффмана/Шеннона-Фано Подстановка образцов Арифметическое
38 Передача данных в сетях: инженерный подход Таблица 2.2 (окончание) Основа кодирования Тип кодирования Тип сжатия Кодирование на основе синтаксиса (в информатике это называется кодирова- нием источника). Приводит к потерям (хотя некоторые дифференциальные схемы (см.*) могут приводить к потерям при их комбинаци- ях с кодированием на осно- ве символов) Преобразующее ко- дирование FFT DCT Дифференциальное кодирование Дифференциальная ИКМ* Дельта-модуляция Адаптивно- дифференциальная ИКМ* Векторное квантова- ние CELP (для речи) Фрактальное (для изображе- ний) Подавление нулей В этом случае один часто повторяющийся символ заменяется специальной лексемой, представляющей сам этот символ и количество его повторений. Другие символы передаются без изменений. Чаще всего в качестве такого символа используется 0 (отчего и происходит название метода), но это может быть и другой символ. Групповое кодирование Эго расширение предыдущего метода, когда группы любых смежных симво- лов изображения заменяются соответствующим одиночным символом и чис- лом его повторений. Чисто черно-белое изображение, например, можно ко- дировать просто посылками нужного количества пар, состоящих из числа белых пикселов, за которым следует число черных. Например, пиксельная последовательность 1111111000000110000010000000000010 кодируется как 07625119021. Блок из одиннадцати нулей расщепляется на два и представля- ется как 902, поскольку в противном случае 11 нулей были бы перепутаны с последующим числом единиц (1). Таким образом, здесь 9 является самым большим допустимым количественным значением для нулевых символов. Подстановка образцов в этой методике сжатия общие последовательности символов заменяются специальным мета-символом, представляющим всю последователь- ность. Форма подстановки образцов, например, ЕС вместо Европейского Со- общества, называется акронимом. Два широко используемых алгоритма для
Гпава 2. С точки зрения пользователя 39 подстановки образцов были разработаны Зивом и Лемпелем (Ziv, Lempel) в 1977 и 1978 годах. В алгоритме 1977 года первые несколько символов пере- даются без сжатия, а затем следующие символы проверяются по предвари- тельно переданному набору. Если некоторый образец уже был предваритель- но послан, то вместо последовательности символов посылается ее позиция и длина. Алгоритм 1978 года, улучшенный относительно алгоритма 1977 года, начинает работу с создания словаря, содержащего все символы из алфавита источника, и затем добавляет к нему новые элементы переданных строк. Дифференциальное сжатие Здесь кодируется разность между предыдущим и текущим символами, а не сам символ. Если имеются взаимосвязи между символами (например, выбор- ками сигнала), то разность может быть существенно меньше, чем абсолютное значение, и следовательно, ее проще кодировать. Эту методику можно улучшить, используя адаптивное дифференциальное кодирование, где ко- дирующее устройство предсказывает следующий символ и посылает раз- ность между предсказанием и фактическим значением. Простая форма дифференциального кодера — дельта-модулятор, который для увеличения или уменьшения вывода посылает только один бит. Сжатие на основе преобразования А Цель этого вида кодирования состоит в том, чтобы преобразовать сигнал в Другую область, где он может быть представлен более эффективно, и сжать его в этой области. Например, если сигнал из временной области преобразо- вать в частотную, и если у него нет высокочастотных компонентов, то для Пересылки этой информации необходимо меньшее количество коэффициен- тов. Прямое и обратное преобразования не будут вызывать никаких искаже- ний сигнала, если данные не усечены каким-нибудь способом, так что транс- формационное кодирование в чистой форме происходит без потерь. В общем случае в пределах целевого диапазона находится несколько компо- нентов, иногда небольших. При сжатии незначащие компоненты отбрасыва- ются с помощью процесса называемого "квантованием". Чем больше количе- ство отбрасываемых компонентов, тем больше коэффициент сжатия, но тем больше и искажения. Векторное квантование Векторное квантование заменяет источник восстановленным сигналом, со- стоящим из компонентов, определяемых кодером. Речевое кодирующее уст- ройство (CELP-кодер), используемое в мобильном радио, имеет очень низ- кую битовую скорость (до 2,4 Кбит/с) и использует кодовую таблицу (книгу)
.40 Передача данных в сетях: инженерный подход шифров речевых звуков, которая может быть отрегулирована путем измене- ния параметров. Эти-то параметры, а не сами звуки, и посылаются кодером получателю. Та же методика используется при фрактальном сжатии изо- бражений, когда вместо точной копии самого изображения посылаются спе- циальные изображения — фракталы вместе с инструкциями по их использо- ванию. Фракталы— это произвольные образцы, которые находятся (в различных формах) в исходном изображении. Примеры сжатия Далее приведены примеры сжатия различных сигналов рассмотренными спо- собами. □ Факс. Факсы 3-й группы используют групповое кодирование и коди- рование Хаффмана. Отсканированное изображение содержит 1145 строк, состоящих из 1728 белых и черных пикселов. Для каждой стро- ки сначала выполняется групповое кодирование, а затем для получен- ных таким способом чисел используется кодирование Хаффмана. Этот процесс заменяет два миллиона исходных битов четвертью миллиона кодовых битов. □ Текст. Алгоритм Лемпеля-Зива хорошо работает с текстами, обычно обеспечивая уменьшение исходного размера на 20—25%. Отметим, что здесь не происходит уменьшения до уровня, близкого к истинной энтро- пии речи, потому что алгоритм рассматривает только последовательность символов, а не произношение и грамматику. □ Речь. Стандартный речевой ITU-кодер имеет полосу пропускания 4 кГц и скорость 8000 8-разрядных выборок/секунду (64 Кбит/с). Современные CELP-кодеры могут обеспечивать такое же качество звука (называемого качеством телефонной связи) при скорости 8Кбит/с. Однако, поскольку CELP-кодеры используют кодовые таблицы звуков, согласованных толь- ко с речью, качество других звуков (например, музыкальных) невысоко. ITU-кодер будет работать на любом звуковом источнике с полосой про- пускания до 4 кГц. □ Изображения. Для статичных изображений часто используется формат GIF, который уменьшает цветовую глубину до 256 цветов и затем ис- пользует алгоритм Лемпеля-Зива, чтобы выполнить сжатие без потерь. В формате JPEG2 3 используется дискретное косинусное преобразование на 2 GIF, Graphic Interchange Format — формат обмена графическими данными. — Пер. 3 JPEG, Joint Photographic Experts Group — формат объединенной группы фото-экспертов. — Пер.
Гпава 2. С точки зрения пользователя 41 блоках 8x8 пиксел. Оно уменьшает результирующие компоненты, усекая незначительные высокочастотные компоненты ("квантование"). Для наи- более важного DC-компонента используется дифференциальное кодиро- вание, а для максимально возможного сжатия остающихся компонен- тов— групповое кодирование и, наконец, кодирование Хаффмана, или арифметическое кодирование. В формате MPEG4 для максимального уменьшения битовой скорости передачи используется конечное преобра- зование Фурье совместно с системой эталонных и прогнозирующих фреймов. Для прогнозирующих фреймов передаются только различия. Формат MPEG-1 дает качество, близкое к качеству видеофильмов, при скорости выше 1 Мбит/с. Формат MPEG-2 дает качество, близкое к каче- ству радиовещания, при скорости выше 2 Мбит/с, и используется новыми цифровыми телевизионными службами. Формат MPEG-4 разработан для очень низких битовых скоростей (менее 64 Кбит/с), и используется, на- пример, для видеоконференций. Здесь возможны чрезвычайно низкие би- товые скорости. Практическое сжатие — JPEG Хорошим примером практического сжатия является стандарт сжатия изо- бражений JPEG. Для максимально возможного* сжатия изображения в нем используется трансформационное, дифференциальное и групповое кодирова- ние. Изображения разбивается на блоки размером 8x8 пиксел и затем на каж- дом из этих блоков используется двумерное дискретное косинусное преобра- зование. Если изображение цветное, то преобразование применяется к каждому каналу цветности отдельно. Квантование в JPEG выполняется путем деления каждого из коэффициентов на массив предопределенных значений размером 8x8. При этом предпочте- ние отдается низкочастотным компонентам, и оставляется только целая часть от такого деления. Это означает, что правая нижняя часть массива заполнится нулями. Наиболее значимым будет левый верхний компонент, который и представляет dc-значение (среднее значение данных в блоке размером 8x8 пиксел). Чтобы ввести еще большее сжатие, используется дифференциальное кодирование этого значения, и затем коэффициенты считываются по диагонали так, чтобы нулевые значения были в максимально возможной степени сгруппированы вместе. Наконец, чтобы сжать последовательности нулей, выполняется групповое кодирование. 4 MPEG — Motion Picture Experts Group — формат группы киноэкспертов. — Пер.
42 Передача данных в сетях: инженерный подход 2.6. Вопросы к главе 2.6.1. Вопросы по теории информации 1. Каково количество информации (в битах) для следующих событий: а) бросание монеты; б) бросание двух игральных костей; в) вытаскивание карты из перетасованной колоды: рассматривая каж- дую карту индивидуально, рассматривая каждую масть отдельно, рассматривая каждую карту независимо от масти и рассматривая только цвет карты. 2. Путем разумных рассуждений в отношении разрешающей способности изображений, оцените количество информации телевизионного изображения формата PAL. 3. Вычислите энтропию следующих событий бросания пары игральных костей: а) рассматривая индивидуальные очки на каждой кости (то есть считая выпадение очков (1,6) и (6,1) разными событиями); б) рассматривая очки безотносительно порядка их расположения на костях (то есть считая выпадения очков (1,6) и (6,1), как одно и то же событие); в) рассматривая только сумму очков; г) сколько информации (в среднем) дает сумма очков об индивидуаль- ных очках, выпавших на каждой кости. 4. В телевизионном игровом шоу "Кто хочет стать миллионером?" игроки должны выбрать один правильный ответ из четырех возможных, скажем— А, В, С или D. На одном из этапов игры им позволяют сделать специальный выбор 50:50, когда два неправильных ответа удаляются, а для выбора остается один правильный и один неправильный ответ: а) предполагая, что у игрока нет никаких идей относительно того, ка- кой из двух ответов является правильным, и, рассматривая каждый результат как равновероятный, сколько информации дает данный вариант игры;
Глава 2. С точки зрения пользователя 43 б) Алиса начала игру и застряла на некотором вопросе. Она уверена, что правильным ответом является А или В, и надеется, что, играя вариант 50:50, она правильно удалит один из них. Предположим, что она использует следующие оценки: с вероятностью 45% правильным ответом является А, с вероятностью 40% — ответ В, с вероятностью 10% — ответ С и с вероятностью 5% — ответ D. Основываясь на ее предположениях, вычислите энтропию до и после игры 50:50, если при этом удаляются ответы В и D; в) основываясь на предположениях Алисы, вычислите энтропию до и после игры "50:50", если при этом удаляются ответы С и D; г) какую информацию (в битах) дает игра "50:50" в каждом из двух вышеупомянутых случаев. 5. Выражая Н(А,В) в терминах вероятностей и используя теорему Байеса, покажите, что Н(А,В) = (А | В) + Н(В). 2.6.2. Вопросы по кодированию источника без памяти 1. Информационный источник без памяти генерирует 8 различных символов (значений) с вероятностями 1/2, 1/4, 1/8, 1/Ц>, 1/32, 1/64, 1/128 и 1/128. Эти символы кодируются как 000, 001, 010, ОН, 100, 101, НО и 111 соответственно: а) чему равна энтропия на символ данного источника; б) какова эффективность этого кода; в) постройте код, используя алгоритм Шеннона-Фано, и вычислите его эффективность; г) постройте код, используя алгоритм Хаффмана, и вычислите его эф- фективность; д) если интенсивность источника равна, в среднем, 1000 символов/секунду, то какова скорость передачи информации (в битах/с). 2. Источник информации без памяти генерирует символы с вероятностью 0,65; 0,2 и 0,15: а) вычислите энтропию на символ; б) вычислите вероятности всех возможных сообщений, состоящих из двух символов, и соответствующую энтропию. Сравните этот ре- зультат с предыдущим; в) вычислите избыточность источника информации.
Передача данных в сетях: инженерный подход 3. Постройте код для источника без памяти с шестью значе- ниями (символами), используя трехзначный кодовый алфавит {0,1,2}. Пусть выборка вывода такого источника выглядит так: ACAAABEBCDAEABDCAEFAABDF. Какова эффективность этого кода? Сравните ее с эффективностью кода {А:00, В:01, С:02, D:10, Е:11, F:12}. 4. Удаленные датчики могут иметь два состояния — SET ("Установлен") и 1 CLEAR ("Сброшен"). В среднем 99% датчиков находятся в состоянии CLEAR: а) используется одноразрядный код: 0 — CLEAR, 1 — SET. Какова его эффективность; б) для повышения эффективности постоянно используются два смеж- ных одноразрядных сообщения. Определите подходящий двоичный код для этой ситуации и вычислите его эффективность; в) повторите процедуру предыдущего пункта для групп, состоящих из 3 символов; г) повторите процедуру предыдущего пункта для групп, состоящих из 4 символов; д) прокомментируйте любые тенденции, которые вы видите в выше- упомянутых результатах. 2.6.3. Вопросы по кодированию источника с памятью 1. Закодируйте последовательность 1, 2, 4, 4, 4, 4, 5, 6, 6, 5, 5, 4, 3, 1, 0, используя дельта-модуляцию. Предположите, что декодер выводит 0 перед приемом первого бита. Какова среднеквадратическая ошибка? 2. Источник генерирует последовательность 15, 14, 12, 9, 8, 8, 10, 11, 12, 14, 15,15, 14, 12,10, 9: а) закодируйте эту последовательность, используя импульсно-кодовую модуляцию (ИКМ); б) если вам скажут, что значения, которые будут получены — это це- лые числа в диапазоне от 0 до 15, сколько потребуется битов на сим- вол для дифференциальной ИКМ? Обоснуйте ваш ответ; в) является ли система, которую вы предлагаете, системой с потерями или без потерь? Если с потерями, то как можно сделать ее системой без потерь.
Гпава 2. С точки зрения пользователя 45 3. С помощью адаптивной ИКМ нужно передать ту же последовательность, что и в предыдущем пункте. Оценка, используемая для выборки, предполагает, что разность между текущим и следующим значениями та же, что между текущим и последним значениями: а) какие значения нужно посылать; б) оцените количество требуемых битов на символ. 4. Используйте алгоритм Лемперля-Зива’77, чтобы сжать последовательность ABCCDABDCCBCCBECDA. Сравните число битов до и после сжатия. Последовательность имеет длину (размер) в 18 символов, так что для ее адресации (обращения к ней) необходимо использовать 5 битов. Прокомментируйте, что случится, если придется обращаться к более длинным последовательностям. Если бы алгоритм мог адресовать только предыдущие строки в конечной хронологии, используя так называемое скользящее окно, то каковы были бы преимущества и недостатки такой методики?
This page intentionally left blank
Глава 3 С точки зрения защиты 3.1. Введение Криптографическое кодирование преследует несколько целей. Наиболее оче- видная из них— необходимость гарантировать, что кодируемая информация сохраняется в секрете от всех получателей, кроме тех кому она предназначе- на. Однако, поскольку взаимодействующие с помощью связи партнеры могут быть физически разделены, то существуют и другие требования защиты. Они включают гарантии того, что противоположная сторона является именно тем, кем она себя объявляет, и что она придерживается любых других предвари- тельно принятых соглашений. Поэтому вторым требованием криптографиче- ского кодирования является гарантия того, что связывающиеся стороны не , мошенничают, т. е.: Л О не играют не по правилам; О не притворяются кем-то еще; О не получают информацию, которую они не предполагали иметь; О не отвергают ложно транзакцию, которая имела место в действительности. 3.2. Криптографические типы Отношения между различными криптографическими категориями показаны на рис. 3.1. Криптография Шифрование Криптографические протоколы Подпись (сообщения) Аутентификация Другие протоколы Рис. 3.1. Категории криптографии
48 Передача данных в сетях: инженерный подход Шифрование — перестановка, или маскировка информации — используется для защиты данных от чтения неуполномоченными сторонами. Существует два типа шифрования: рассеивание (diffusion), когда информация скрывается, и перемешивание (confusion), когда информация переставляется так, чтобы, хотя сообщение и можно обнаружить, но его содержание (значение) устано- вить невозможно. 3.2.1. Рассеивание Рассеивание известно также как стеганография (steganography), или искусст- во секретного письма. Классические методики использовали невидимые чер- нила или размещение татуировок на бритых головах курьеров, ожидание рос- та их волос и затем отправку курьеров получателю. Рассеивание все еще используется и сегодня. Например, в электронной почте можно использовать специальные литеры или комбинации литер, которые имеют значение только для того получателя, кому они предназначены. Дру- гие читатели в этом случае видели бы просто безобидное сообщение. Сле- дующее английское предложение: "This sentence also appears innocent, being text advocating a key idea" — также кажется безобидным текстом, пропаган- дирующим некую ключевую идею. Однако вторая литера каждого слова это- го предложения посылает иное сообщение — "help needed". Широкополосная радиосвязь, которая используется военными, тоже является формой рассеи- вания. Частота, на которой передается радиосигнал, быстро изменяется не- предсказуемым способом, который известен только тому получателю, кому этот сигнал предназначен. Эта методика называется "скачкообразной пере- стройкой частоты", и если приемник получателя будет переходить (переска- кивать) к правильным частотам, то он примет полное сообщение. Подслуши- вающий на одной частоте субъект примет только крошечную часть сообщения, и поэтому может даже не знать, что оно передавалось. Стеганографию используют также для того, чтобы посылать информацию в составе видео- или звуковых файлов. Можно изменять случайные биты изо- бражения (или звука в случае аудиофайла), добавляя в них информацию, кото- рую нужно передать. При просмотре или прослушивании изображения или звука, которые содержат скрытую информацию, они будут выглядеть (звучать) так же, как до передачи. На рис. 3.2, а показан штриховой рисунок (схема), ко- торый скрыт в фотографии (рис. 3.2, б). Фотография состоит из 16-битных по- лутоновых значений, младший бит которых используется для скрытия схемы. Ту же методику иногда используют и для защиты от копирования. Изображе- ния Moiyr нести водяные знаки, которые невидимы при просмотре, но содержатся в некоторых пикселах. Их можно использовать для идентифика- ции факта копирования изображения из первоначального источника. Сложные схемы водяных знаков позволяют им оставаться в составе изобра- жения, даже если само изображение изменяется, причем система также га-
Гпава 3. С точки зрения защиты 49 рантирует, что если изображение изменено, то это изменение может быть об- наружено. Это важно, например, для изображений от полицейских камер, фиксирующих скорость движения автотранспорта. Более старый пример этой методики — практика добавления побочных слов к словарям, так что если словарь скопирован, побочное слово будет обнаружено, и факт, что словарь был скопирован, установлен. По подобной же причине проектировщики чи- пов часто добавляют в свои конструкции небольшие участки избыточной ло- гики на тот случай, если конструкция их маски копируется. б Рис. 3.2. Штриховой рисунок, скрытый в фотографии Серьезной проблемой рассеивания является то, что раз метод известен, то до- вольно просто предпринять попытку нападения (атаки) на него (то есть попы- таться нарушить защиту). Если рассеивание используется для передачи инфор- мации между несколькими людьми, секрет неизбежно будет раскрыт. Если, например, существует несколько программ для скрытия информации в изобра-
SO Передача данных в сетях: инженерный подход жениях, то эти же программы можно применить для того чтобы увидеть, не скрыта ли в изображениях какая-то информация. Чтобы защитить скрытую ин- формацию, необходимо дальнейшее ее шифрование, но это приводит к исполь- зованию второго метода—перемешиванию информации, обсуждаемому далее. Другая проблема, связанная с рассеиванием, заключается в следующем — что- бы спрятать небольшое сообщение, требуется большое количество данных. Чтобы спрятать дерево в лесу, нужен лес. Если в каждом фрейме используется один бит для передачи скрытой информации, то количество остающихся битов должно быть достаточно, чтобы скрытые биты не могли быть обнаружены. Это означает, что необработанный размер файла должен, по крайней мере в 8 раз, если не больше, превышать размер скрываемых данных. 3.2.2. Перемешивание Второй метод шифрования — перемешивание, при котором сообщение изме- няется так, что даже если его присутствие обнаружено, то оно не может быть расшифровано. Существует два основных способа перемешивания: переста- новка, когда изменяется позиция индивидуальных символов сообщения, и преобразование (трансформация), когда изменяется значение символа. Оба способа могут использоваться одновременно. Мы уже сталкивались с концепцией кода — набором правил, которые преоб- разуют каждое входное сообщение в определенный набор символов. Кодиро- вание предпринимается для того, чтобы сделать передачу сообщений более легкой (линейные коды) или чтобы обнаруживать или исправлять ошибки (коды с исправлением ошибок). Шифр — это код, цель которого состоит в том, чтобы маскировать посылаемое сообщение. Шифры можно подразделять на блочные и поточные. В блочном шифре каждая часть, или блок сообще- ния, шифруется независимо от других. В поточном шифре имеется некоторая форма обратной связи, так что шифрование символов сообщения зависит от предварительно зашифрованных символов. Алгоритм шифрования состоит из двух частей: секретной и открытой. Ус- пех системы зависит от того, остается ли секретная часть тайной, поэтому обычно пытаются ограничить количество требуемой секретной информации. Секретная информация называется ключом шифра. Сам алгоритм должен находиться в пределах открытой части шифра, чтобы он был известен каж- дому пользователю системы (в противоположность ключу, который должен быть уникален для фактически связывающихся сторон). Следует предполо- жить, что он должен быть также известен определенному числу людей, имеющих доступ к этому алгоритму. На самом деле в таком подходе имеются некоторые преимущества, т. к. более вероятно обнаружить изъяны в защите в опубликованных алгоритмах, чем в тех, которые остаются секретными, и по- этому изучаются только со злостными намерениями.
Глава 3. С точки зрения защиты 51 3.3. Криптографические сценарии Связь происходит между источником и адресатом. Однако в криптографи- ческом сообществе существует соглашение, по которому не обращаются к источнику А и адресату В, а используют специальный сценарий, где источ- ник, называемый Алисой, пытается связываться с адресатом по имени Боб, причем канал между ними считается открытым для нападения (атаки). Существует две возможности для нападающего (по-разному, в зависимости от автора, называемого Чарльзом или Евой). Первое нападение (атака) носит Название канал прослушивания (wiretap channel), когда Ева может прослушивать сообщения, передаваемые между Алисой и Бобом, но не может изменять их (рис. 3.3, а), и второе — нападение с подстановкой (substitution attack), когда Ева может также изменять сообщения или заменять их (рис. 3.3, б). Первая форма Нападения относительно проста для большинства передающих сред, особенно для радио, где физическое соединение не требуется, тогда как возрастающее ис- пользование сетей пакетной коммутации, где данные обрабатываются в каждом маршрутизаторе, означает, что нападение с подстановкой также вполне возмож- Хорошим действующим примером второго типа канала нападения (с пере- хватом сообщений) является брандмауэр (firewall1) Internet. Рис. 3.3. Канал прослушивания и перехвата Наряду с нападениями на криптографические протоколы, которые будут рас- смотрены позже, существует несколько типов нападений на алгоритм коди- ,рования. □ Только зашифрованный текст. Это простое прослушивание, при кото- ром Ева может только читать зашифрованные сообщения, когда они про- ходят по каналу. О Известный открытый текст. В этом варианте нападения Ева получает и незашифрованный, и зашифрованный текст некоторых сообщений. При этом нередко часть открытого текста можно разгадать. Обычно она является адресом или именем отправителя или временем передачи. Этот подход ис- 1 Firewall — программно-аппаратное средство межсетевой зашиты. — Пер.
52 Передача данных в сетях: инженерный подход пользовался во время Второй мировой войны — когда бомбы сбрасывались на какой-нибудь порт, то зашифрованные сообщения об этом записывались в надежде, что в них будут включены имя порта и другие детали нападения. □ Выбранный открытый текст. При этом варианте атаки Ева может включать в зашифрованный текст свои сообщения, которые должны быть каким-то образом зашифрованы и затем прочитаны Бобом. Делает она это либо обманным путем заставляя Алису посылать свои сообщения, либо похищая оборудование кодирования и используя его самостоятельно. □ Выбранный зашифрованный текст. Заключительная возможность для Евы состоит в том, чтобы заставлять Боба дешифровать зашифрованные сообщения, которые она генерирует, а она могла бы читать их расшифров- ку. Это опять-таки можно сделать, лишь захватывая или подменяя обору- дование шифрования. При всех видах нападений следует предполагать, что сам алгоритм шифрования известен. Объясняется это совсем просто — слишком много людей знают любой из этих алгоритмов, чтобы хранить их в тайне. Это предположение известно как предположение Керхкоффа (Kerchoff). Защита зависит только от ключа. Некото- рые разработчики коммерческих программ шифрования в целях повышенной защиты пытаются сохранять свои алгоритмы в секрете. Однако реверсировать машинный код обратно в ассемблерный — относительно простая задача, и не- благоразумно предполагать, что такие коды не попадут в плохие руки. 3.4. Системы с частными ключами 3.4.1. Введение Системы (шифрования) с частными ключами также называются симметричными системами, потому что обе связывающиеся стороны имеют тот же самый ключ, а расшифровка— это просто обратное кодирование с помощью ключа. Наиболее существенным преимуществом систем с частными ключами является то, что для данного уровня защиты они обладают относительно невысокой сложностью. 3.4.2. Перестановочные шифры В перестановочных шифрах позиции символов сообщения изменяются, но значение сообщения остается неизменным. Простой шифр — это специальная таблица (сетка), куда сообщение вписывается одним способом, а затем счи- тывается — другим. Эта операция показана на рис. 3.4. Сообщение вписыва- ется в строки сетки, а считывается по столбцам. Древний вариант этого спо- соба состоял в записи сообщения на полосу, обернутую вокруг цилиндра, которая затем раскручивалась и отправлялась с посыльным. Как будет пока- зано в разд. 5.4.5, обе эти формы являются простым чередованием (расслое-
Глава 3. С точки зрения защиты 53 нием), только используемым для различных целей. Все, что подслушиваю- щему нужно сделать, — это определить глубину сетки (или диаметр цилинд- ра). Увеличение глубины сетки приводит к тем же проблемам с задержкой, Усовершенствование этой методики состоит в том, чтобы читать столбцы сетки в более сложном порядке, чем просто слева направо. Для указания по- рядка считывания столбцов можно использовать ключевое слово, алфавитное упорядочивание букв которого и определяет порядок чтения столбцов. На- пример, если бы ключевым было слово cipher, то мы вписывали бы шифруе- мое сообщение в 6 столбцов, и затем считывали бы столбцы в следующем порядке 1 (с), 5 (е), 4 (h), 2 (i), 3 (р) и 6 (г). Однако такая система остается все еще очень восприимчивой к нападениям по методу проб и ошибок. 3.4.3. Трансформационные шифрь1 Моноалфавитный шифр Самый простой тип трансформационного шифра должен брать каждый сим- вол в сообщении и заменять его в зашифрованном тексте другим символом. Символы для зашифрованного текста обычно берутся из того же алфавита, что и для сообщения, но это не обязательно. Система называется мо- ноалфавитной из-за того, что каждый символ сообщения всегда преобразует- ся в один и тот же символ зашифрованного текста. О раннем использовании такой системы сообщил древнеримский коммента- тор сплетен Светоний, хотя это ни в коем случае не первое зарегистрирован- ное использование криптографии, которое относится к древнему Египту, и использовалось в узнаваемых сегодня формах еще греками. Светоний напи- сал, что еще Юлий Цезарь использовал систему преобразований при обще- нии со своими друзьями. Он заменял каждую букву сообщения на третью бу- кву из того же алфавита (рис. 3.5), доказывая не только потребность в секретной политической связи, но и трудность сохранения такой связи в тай- не от прессы! Термин "подстановка Цезаря" теперь применяется к любому шифру с подобным сдвигом между символами сообщения и алфавитом шиф- ра, даже если этот сдвиг не равен трем.
Iпередана данных в, сетях: инуенарный подход l1^1 I1!1 I1?1 I1 J I1 I1!1?1 I1?1 I1?1!1 I1 I 1 |1У171|1|Т | D | Е | F | G | Н ] I | J | К | L | М | N | О | Р | Q | R | S | Т | U | V | w| X | Y [ Z | А | В | С ] Рис. 3.5. Шифр с подстановкой Цезаря Бдлее безопасной (но лишь незначительно) является произвольная подста- новка, когда изменяется порядок подстановочных символов. Однако, хотя Такая система имеет больше возможных ключей (26! вместо 26 возможных в системе Цезаря, один из которых тривиален), проблема со всеми моноалфа- вйтными трансформационными шифрами состоит в том, что их очень просто атаковать с использованием частотного анализа. Избыточность, свойственная английскому языку, такова, что только около 25 символов зашифрованного текста требуются для того, чтобы дешифровать сообщение. Если в зашифро- ванном тексте остаются пробелы, расшифровка его даже упрощается, т. к. однобуквенным словом может быть лишь "а" или "I". Через эти прорехи мо- жет просачиваться и другая информация сообщения. Испытательная версия подобной "защитной" программы используется в системе программирования Java для шифрования адреса Web-сайта в том случае, если не был введен пра- вильный ключ. Однако такой зашифрованный текст легко перехватывать, поскольку все URL-адреса Web-сети начинаются с последовательности "http", а большинство из них содержат строку "www" и заканчиваются на ".html" или ".htm". Таким образом, кодирование символов h, t, р, w и m обычно считается заданным. Разработчики программы облегчили жизнь хакера, оставляя пунк- туацию без кодировки, так что ".xyz" в конце имени хост-машины — это ве- роятнее всего ".сот". Такой код оставляет для расшифровки так мало букв, что остающиеся возможности можно проверить методом проб и ошибок. Другая проблема с произвольной подстановкой — длина ключа, т. к. должно быть определено преобразование каждого символа. Это непросто запомнить. В простой системе подобного рода, иногда называемой подстановкой Виже- нёра (Vigenere) (хотя на самом деле она не имеет никакой связи с этим фран- цузским дипломатом 16-ого столетия), используется специальное кодовое слово» чтобы определить несколько первых подстановок, и затем вставляются остальные буквы. Ключ в форме кодового слова легко запомнить, но шифр очень беден, т. к. последние символы алфавита (такие как w или у) вряд ли будут вообще зашифрованы (рис. 3.6). [ a|b|c|d|e|f|g|h|।|j[k|l[m|n|o|p|q|r|s|t|u|v|w|x|y|z c|o|d|e|a|b|f|g|h|i|j|k|l|m|n|p|q[r|s|t|u|v|w|x|y|z Рис. 3.6. Шифр с подстановками Виженера
Глава 3. С точки зрения защиты S5 Полиалфавитный шифр Одним из способов преодоления атаки частотного анализа является исполь- зование разных алфавитов преобразования, зависящих от позиции символа в сообщении. Система, изобретенная Джироламо Кардано (Girolamo Cardano), упоминается после системы Виженера, хотя на самом деле именно он (Виже- йер) разработал автоключевую систему, описанную в разд. 3.4.7. Имя Блэза де Виженера, к сожалению, неправильно связывают с созданием двух шиф- ров, которые он на самом деле не разрабатывал, и наоборот, не связывают с намного более качественным шифром, который действительно он изобрел. Для определения числа подстановок Цезаря, которые впоследствии будут ис- пользоваться для кодирования, применяется специальное кодовое слово. На- пример, пусть этим кодовым словом будет "code". Оно определяет четыре алфавита (рис. 3.7, а), первый— со сдвигом 2, второй — со сдвигом 14, тре- тий — со сдвигом 3 и четвертый — со сдвигом 4. Пример кодирования пока- зан на рис. 3.7, б. Такие полиалфавитные шифры лучше, чем моноалфавитные, но они все еще уязвимы для нападения, использующего частотный анализ, когда нападающий вычисляет длину повторения кодового слова и может затем выполнить частот- ный анализ для каждого алфавита индивидуально. В системе Виженера атака даже облегчается, т. к. каждый алфавит является подстановкой Цезаря. abode f g h i j k Imnopq rs t uvwxyz 1 c de f g h i jklmnopqrstuvwxyzab Рис. 3.7. Полиалфавитный шифр Веженера: а — таблица шифрования; б — пример кодирования
56 Передача данных в сетях: инженерный подход 3.4.4. Одноразовое заполнение Можно расширить понятие полиалфавитного шифрования до системы, назы- ваемой "одноразовым заполнением" (One Time Pad), которая является единст- венной полностью безопасной криптосистемой. В полиалфавитном шифро- вании существует проблема повторения ключа. В системе одноразового заполнения каждое сообщение шифруется с ключом, который затем сбрасы- вается и никогда не используется снова. Поэтому ключ используется только один раз, давая шифру его название. Криптограмма зависит от сообщения и ключа, но так как ключ уникален для данной передачи и никогда повторно не используется, то подслушивающий не имеет никакой возможности узнать его и взломать шифр. Процесс кодирования может быть очень простым — нужно просто добавлять ключ к сообщению (рис. 3.8). Offline-ключ, Рис. 3.8. Система одноразового шифрования Хотя этот метод выбрал бы любой уважающий себя шпион, трудность состоит в том, что ключ используется с такой же скоростью, как и сообщение, и не мо- жет генерироваться любым предсказуемым способом (но есть возможность отгадать ключ). Проблема безопасной транспортировки зашифрованного со- общения заменяется проблемами транспортировки ключа эквивалентной дли- ны и генерации такого ключа. Эта система подходит для посылки относитель- но небольшого количества очень высокозащищенных данных, в которой ключ можно надежно транспортировать только автономно. 3.4.5. Кодировщики со сдвиговым регистром В разд. 6.4.3 будет рассмотрено использование перестановок в приложениях линейного кодирования, с помощью которых мы попытаемся разрушать длинные ряды нулей и единиц. Подобную методику можно применять и для шифрования, используя линейный сдвиговый регистр с обратной связью (Linear Feedback Shift Register, LFSR), инициализируя его некоторым значе- нием и затем добавляя его вывод к сообщению. Аналогичный LFSR-регистр в приемнике будет возвращать биты к их первоначальной последовательности (рис. 3.9). m-каскадный регистр сдвига в общем случае способен к созданию
Гпава 3. С точки зрения защиты 57 неповторяющихся последовательностей длины до 2т-1, которые предполагают хорошую защиту даже для относительно небольших значений т, но, к сожалению, система очень восприимчива к известному нападению с открытым текстом. Так как существует только m каскадов, то требуются лишь 2m разрядов в последовательности сдвигового регистра для того, чтобы вычислить ответвления обратной связи и взломать код. Функция обратной связи Функция обратной связи Рис. 3.9. LFSR-система шифрования В практических приложениях используются также нелинейные сдвиговые реги- стры с обратной связью, которые обладают устойчивостью против подобных нападений. Нелинейным элементом может быть JK-триггер или мультиплексор. Можно также использовать и умножение, но проблема состоит в том, что оно является асимметричной операцией и дает 0 в трех случаях, al — только в од- ном (для 1x1). Это означает, что в выходной последовательности может быть слишком много нулей и характеристики сообщения могут "утекать" через нее. Начальную установку регистра сдвига можно использовать как ключ, но это из- меняет только начальную точку в генерируемой последовательности, делая ре- гистры сдвига относительно негибкими системами. Системы с регистрами сдви- га просты в реализации, но реально подходят только для приложений с низкой степенью защиты. 3.4.6. Продукционные шифры Как перестановочные, так и трансформационные шифры имеют свои преиму- щества. Поэтому безопасную криптосистему можно построить путем их объе- динения. Продукционный шифр — это такой шифр, в котором объединены две или несколько криптографических функции, выполняемых одна за другой. Примером такой системы является шифровальная машина военного времени "Enigma" (Загадка), в которой ряд кодовых колес переставлял и преобразовы- вал символы сообщения в кодовые символы. Многие коммерческие шифры основаны на принципе выполнения достаточного количества относительно простых перестановок и преобразований, формирующих безопасную систему.
Передача данных в сетях: инженерный подход SB Хорошим примером системы этого типа является стандарт шифрования данных (Data Encryption Standard, DES), который использует последователь- ность из 16 преобразовании и перестановок. Он имеет 56-разрядный ключ, который, хотя и восприимчив к нападениям "в лоб", но все еще очень попу- лярен. Другие примеры продукционных шифров коммерческого использова- ния — Blowfish Брюса Шнейера, ТС4 Рональда Райвеста (соавтора криптоси- стемы RSA) и IDEA (International Data Encryption Algorithm) — международный алгоритм шифрования данных, который использует 128- разрядный ключ и ряд, состоящий из 8 преобразований и перестановок. Продукционные шифры обеспечивают очень хороший компромисс между защитой, сложностью и генерацией/распределением ключей. Они продолжа- ют быть популярными и приняты Национальным институтом стандартов и технологий CHIA (NIST, National Institute of Standards and Technology) для замены стандарта DES под названием Advanced Encryption Standard, AES (Расширенный стандарт шифрования). DES DES — это стандарт шифрования данных, созданный для американского пра- вительства с целью использования в финансовых транзакциях. Он был разра- ботан на базе криптосистемы Lucifer компании IBM. DES — нелинейный алго- ритм. Это означает, что невозможно формировать правильные сообщения простым дополнением зашифрованных текстов (шифрограмм). DES включает только простые подстановки и дополнения, что делает его идеальным для реа- лизации на интегральных схемах. Теперь доступно много соответствующих процессоров со скоростями обработки порядка мегабит в секунду. Другое пре- имущество — для дешифровки DES использует то же самое оборудование, что и для шифрования, только с секциями подключей в обратном порядке. Кроме шифрования передаваемых данных стандарт DES также используется для шифрования паролей в операционной системе UNIX и для проверки PIN- кодов2 на кэш-картах ATM. DES-алгоритм состоит из 16 стандартных конструктивных блоков, которые переставляют и преобразуют 64-разрядные входные блоки в 64-разрядные выходные (рис. 3.10, а). Каждый стандартный конструктивный блок работает с отдельным 48-разрядным ключом, который получается из первоначального ключа. Ключ состоит из 64 разрядов, но 8 из них — разряды проверки на чет- ность, так что фактически ключ имеет длину 56 разрядов. До подачи в пер- вый стандартный конструктивный блок, 64-разрядный ввод подвергается пе- рестановке, а после прохождения через блоки — обратной перестановке. 2 PIN — сокращение от Personal Identification Number, личный идентификационный номер (код) в различных электронных, в частности, банковских системах. — Пер.
Гпава 3. С точки зрения защиты 59 Каждый стандартный конструктивный блок преобразует левую и правую части 64 разрядного входа в 64-разрядный выход (рис. 3.10, б). Правая часть входа передается напрямую и принимает участие в формировании левой по- ловины выхода. Правая часть выхода формируется с помощью нелинейной функции из левой и правой частей входа и ключа, предназначенного для дан- ного конкретного блока. Рис. 3.10. DES-шифрование Нелинейная функция детализирована на рис. 3.10, в. 32-разрядный правый блок входа расширяется до 48 битов путем двойного повторения половины его разрядов и их перестановки. Затем к этому блоку добавляется специ- фический 48-разрядный ключ. Результат делится на восемь 6-разрядных блоков. Каждый из этих блоков используется как адрес для массива, со- стоящего из 8 S'-элементов. Каждый S-элемент в этом массиве представля- ет число от 0 до 15, так что выходом каждого S-элемента является 4-разрядное
60 Передача данных в сетях: инженерный подход число, поэтому функции 5-элементов уменьшают выход до 32 разрядного чис- ла. Функция 5-элемента нелинейна, т. е. F(A) + /(В) * f(A + В), а сами 5-элементы различны. Перед добавлением к левому 32-разрядному блоку 32- разрядный выход 5-элементов снова подвергается перестановке и затем ис- пользуется для формирования нового 32-разрядного правого блока выхода. 16 секций подключей формируются из 56 значащих разрядов ключа (без уче- та разрядов проверки на четность) путем их расщепления на две секции по 28 разрядов. Затем эти 28-разрядные секции циклически сдвигаются на один или два разряда и между каждым этапом каждые 48 разрядов соответствующего этапа извлекаются и переставляются, формируя подключи К\—Ку,. Если под- ключи используются в прямом порядке (Ку, Ki, К3,..., К1й), то выполняется прямое шифрование. Если же они используются в обратном порядке (Ку, Ку,..., К\), то в результате происходит инверсия функции шифрования, т. е. зашифрованный блок преобразуется обратно в соответствующий блок сооб- щения. Это означает, что для шифрования и дешифровки может использо- ваться одно и то же оборудование. DES очень популярен. Его алгоритм опубликован, и машинный код его реа- лизации доступен для многих языков программирования. Лучшей атакой на него остается полный перебор всех 256 ключей, впрочем, поскольку шифро- вание дополнения сообщения с дополнением ключа дает дополнение полей шифрограммы, мы можем обойтись лишь половиной числа переборов (255). Для работы с DES требуются весьма мощные компьютеры. В течение ряда лет полный перебор в течение нескольких часов был возможен только для очень богатых организаций, но прогресс в изготовлении микропроцессоров теперь вкладывает эти возможности в руки любой организации, позволяя экономить десятки миллионов долларов на использовании чужих секретов. Двойная шиф- ровка сообщений приводит к небольшому увеличению защиты из-за возмож- ности применения так называемого "встречающегося посередине" (meet in the middle) нападения. Однако шифрование с одним ключом, дешифрование — со вторым и повторное шифрование — с третьим, которое называется тройным DES-шифрованием, увеличивает число ключей, требующих проверки, прибли- зительно до 280, что снова можно считать безопасным. Расширенный стандарт шифрования (AES) Как отмечалось ранее, DES-стандарту присуща повышенная сложность обра- батывающего оборудования, что привело к практическим предложениям по его пересмотру. После открытого приглашения к разработке алгоритмов, на кото- рое было получено 21 предложение от 11 стран, и двухлетней процедуры их оценки Национальный институт стандартов и технологий США (NIST) выбрал замену для DES в форме Расширенного стандарта шифрования (AES). Для него был принят шифр, строящийся по алгоритму Райндала (Rijndael). Это сложный блочный продукционный шифр, который может быть эффективно
Глава 3. С точки зрения защиты 61 реализован. Шифр Райндала был разработан фламандскими исследователями Джоан Даймен (Joan Daemen) и Винсентом Райменом (Vincent Rijmen). В стандарте определяется три размера ключей: 128,192 и 256 разрядов. Также как DES, алгоритм состоит из нескольких раундов, точное число кото- рых зависит от размера ключа, состоящих из перестановок и добавления под- ключа. Хотя алгоритм Райндала может работать и на других размерах блоков, стандарт AES определяет размер блока, равным 128 разрядов. Этот блок раз- бивается на 168-разрядных байтов, размещаемых в массивах размером 4 строки х 4 столбца. Каждый раунд обработки состоит из четырех этапов: нелинейного преобразования S'-элемента, которое реализуется как отображе- ние одного байта в другой, перестановки строк, перемешивания столбцов и, наконец, добавления подключа текущего раунда. Одним из первых приложений AES будет шифрование информации, посылае- мой в эфир, в новой системе мобильного радио 3-го поколения CDMA2000. 3.4.7. Поточные шифры В поточных шифрах имеется обратная связь от открытого текста или, аналогич- но, от зашифрованного текста к ключу. Использование сообщения для формиро- вания ключа таким способом называется автоключом (autokey) и было впервые предложено Виженером в 1568 году. Этот способ шифрования имеет преимуще- ство в части сокращения длины ключа, который нужно сохранять или транспор- тировать, но есть в нем и очень существенный недостаток, состоящий в том что, если в посылаемом сообщении содержится какая-нибудь ошибка, то эта ошибка будет размножаться. В блочном шифре каждый блок рассматривается отдельно, так что ошибки будут затрагивать только один блок. Система Виженера подобна полиалфавитной системе, которая теперь носит его имя, но вместо повторения ключевого слова для определения алфавита (см. рис. 3.7), после начального ключевого слова (в качестве которого Виже- нер использовал одиночный символ) используется сам текст сообщения (рис. 3.11). Это позволяет избегать повторений, которые ослабляют полиал- фавитные системы, но если хотя бы один символ искажен, то, начиная от этой точки, расшифровка будет ошибочной. Рис. 3.11. Кодирование в автоключевой системе Виженера
62 Передача данных в сетях: инженерный подход Для того чтобы дешифровать сообщение, приемник знает ключевое слово или символ (в примере, показанном на рис. 3.11, это один символ — "С"), что по- зволяет расшифровать первый символ сообщения. Это дает ключ для следую- щего символа, и т. д. Шифрованию и расшифровке помогает таблица Виженера (рис 3.12). Шифром буквы в первой строке по алфавиту, заданному в первом столбце, является буква на пересечении этой строки и столбца. abcdefghi j k Imnopq rstuvwxyz bcdefghi jklmnopqrstuvwxyza cdefghjjklmnopqrstuvwxyzab defgh i j k Imnopqrst uvwxyzabc efghi jk Imnopq rstuvwxyzabcd f g h i j k Imnopqrstuvwxyzabcde g h i j k Imnopqrstuvwxyzabcdec hi j k Imnopqrstuvwxyzabcdefg i j k Imnopqrs tuvwxyzabcdefgh j k Imnopqrs tuvwxyzabcdefgh i klmnopqrstuvwxyzabcdefgh i j Imnopqrstuvwxyzabcdefgh i j k mnopqrstuvwxyzabcdefghi jki nopqrs tuvwxyzabcdefgh i j k Im opqrs tuvwxyzabcdefgh i j k Imn pqrstuvwxyzabcdefgh i j k Imno qrs tuvwxyzabcdefgh i j k Imnop rstuvwxyzabcdefgh I j k Imnopq stuvwxyzabcdefgh i j k Imnopqr tuvwxyzabcdefgh i j k Imnopq rs uvwxyzabcdefghi jklmnopqrst vwxyzabcdefgh I j k Imnopqrstu wxyzabcdefgh i j k Imnopqrst uv xyzabcdefghi jklmnopqrstuvw yzabcdefgh i j k Imnopqrs tuvwx zabcdefghi j klmnopqrstuvwxy Рис. 3.12. Таблица Виженера Такая автоключевая система не ограничивается системой Виженера, ее мож- но использовать и с другими шифрами. Достаточно серьезной проблемой яв- ляется распространение ошибок, но, чтобы оказывать влияние на текущее кодирование, можно использовать предыдущие сообщения, открытые или
Гпава 3. С точки зрения защиты 63 закодированные. Это обеспечивает существенное преимущество, состоящее в том, что нарушаются взаимно-однозначные отношения между входными и выходными блоками, от которых страдают даже сложные блочные шиф- ры. Например, если для защиты банковской системы используется DES- шифрование, то могут существовать короткие сообщения (например, подтверждающие транзакции), которые являются одинаковыми во всех случаях. Подслушивающий может сформировать справочную таблицу шифрограмм без необходимости фактической расшифровки сообщений. Чтобы предотвратить это, DES-шифрование можно использовать в поточном режиме — этот очень популярный режим, называемый "сцеплением блоков шифра” (СВС-операция3) показан на рис. 3.13. Прежде чем шифровать сооб- щение, к нему добавляется предыдущий блок шифрограммы, а для первого блока используется некоторое начальное значение (НЗ) этой шифрограммы. Существует, правда, еще и проблема с очень короткими сообщениями, кото- рые все еще можно распознавать, так что НЗ часто делается зависящим от номера коммуникационной последовательности или от некоторой другой пе- ременной, известной обеим связывающимся сторонам. Рис. 3.13. DES-операция сцепления блоков шифра 5 СВС — Cipher Block Chaining, сцепление блоков шифра. — Пер.
64 Передача данных в сетях: инженерный подход 3.5. Криптосистемы с общим ключом 3.5.1. Проблема распределения ключей Серьезной проблемой является распределение и управление ключами. В крип- тосистеме с частными ключами каждое коммуникационное звено требует отдельного ключа. Для двух пользователей требуется только один ключ, но когда к системе с п - 1 уже существующими пользователями каждый раз до- бавляется по одному пользователю, то требуется п - 1 дополнительных клю- Ел-1. .1 различных ключей. Система, показанная на рис. 3.14, имеет 8 пользователей, так что для нее требуются 28 ключей. Криптосистема с общим ключом, как подсказывает название, имеет ключ, который является общим и поэтому доступным для всех сторон, которые же- лают поддерживать связь. Это решает проблему распределения ключей — они могут быть опубликованы в чем-то похожем на телефонную книгу, на- пример. Устраняется также потребность для поддерживающих связь сторон в заблаговременном согласовании ключей. Алиса может посылать зашифро- ванное сообщение Бобу, даже если она никогда не имела никакого предыду- щего контакта с ним, что важно для таких приложений, как электронная тор- говля, где требуется безопасная связь с незнакомцами. Рис. 3.14. Ключи для системы с частными ключами (а) и системы с общим ключом (б) Однако опубликованный ключ вводит новую проблему. Раз сообщение бы- ло зашифровано с ключом, то не должно быть возможности восстанавли-
Гпава 3. С точки зрения защиты 65 вать сообщение из закодированного текста даже со знанием ключа, кото- рый, как сказано, является доступным каждому. Это требует введения кон- цепции односторонней функции, функции, которая не может быть (легко) обратимой, но должна обладать некоторой "лазейкой", чтобы с помощью некоторого секретного знания получатель мог обращать процесс получения сообщения. На первый взгляд, это выглядит так, как если бы система с общим ключом требовала большего количества ключей, т. к. каждая дуплексная связь тре- бует двух ключей, по одному для каждого направления. Однако в системе с общим ключом, хотя имеется 56 коммуникационных связей, каждая связь с одним и тем же адресатом использует один и тот же ключ (общий ключ это- го адресата), так что фактически требуется только 8 ключей. Кроме того, каждая связывающаяся сторона должна хранить только один ключ — свой частный секретный ключ, вместо n ~ 1 ключей в случае системы с частны- ми ключами. Системы с общим ключом также называют асимметричными системами, по- тому что процесс, используемый для декодирования, не является простым обращением процесса кодирования. В этом состоит их главное отличие от систем с частными ключами, которые называют симметричными системами, потому что функция дешифрования является обратной по отношению к функции шифрования (и наоборот). * 3.5.2. Односторонние функции Односторонняя (one-way) функция — это функция, которую просто вы- числять, но трудно обращать. Пример — умножение больших чисел. Мы можем вычислить без слишком больших трудностей произведение 89 681 х 96 079 = 8 616 460 799, но обратный процесс — факторизация (разложение на множители) числа 8 616 460 799 существенно труднее. В. С. Джевонс (W. S. Jevons), рассматривавший эту проблему в 1873 г., резю- мировал, что "мы можем легко... сделать некоторую вещь, но можем иметь много неприятностей, если попытаемся разделить ее". Это наблюдение, ко- торое имеет отношение не только к арифметике! В качестве операции факторизации для системы с общим ключом нам бы хо- телось иметь такую функцию, которая при работе на сообщении т давала бы в результате криптограмму с, по которой практически невозможно раскрыть т. Другими словами, мы должны быть способны легко выполнять функцию f(m) = с (так, чтобы криптосистема оставалась реализуемой), но реализовать f‘(c) = т было бы практически невозможно. Заметим, что обращение функ- ции теоретически всегда возможно (скажем, просто путем вычисления f(m)
66 Передача данных в сетях: инженерный подход для каждого возможного сообщения m до тех пор, пока результат не совпадет с с). Однако стоимость выполнения таких вычислений была бы значительно выше, чем значимость информации, которая могла быть получена таким спо- собом, или время, затраченное на это было бы так велико, что полученная информация оказалась бы устаревшей. Односторонние функции, используемые для криптографических целей, должны обладать еще одним свойством — они должны иметь специальную "лазейку", т. е. способ, с помощью которого некто, обладающий специальным знанием, смог бы восстановить тп по с, затратив разумное количество усилий. Это секретное знание формирует частный ключ, который тайно хранится по- лучателем, позволяя ему расшифровывать сообщения. Система работает следующим образом. 1. Каждый пользователь имеет пару ключей К, и Z,. 2. Сообщение т шифруется с помощью функции Е(т, К,) = с. 3. Выполняется дешифрация с помощью функции D(E(m, К,), L,) = т. 4. Ей D проектируются так, чтобы: • для заданных т и К, можно было легко находить с = Е (т, К,\, • для заданного с было бы нереально найти т (то есть функция Е должна быть односторонней); • для заданных с и Z, можно было легко найти т (то есть функция Е должна иметь "лазейку", задаваемую параметром £(). Для использования в криптосистемах были предложены различные функции. □ Ключевой обмен Диффи-Хеллмана (Diffie-Hellman). Основан на трудно- сти вычисления дискретных логарифмов полей, которая возрастает по сравнению с вычислениями на основе степенных функций. Это не совсем шифр, но это первая опубликованная система с общим ключом. □ RSA (криптосистема Райвеста, Шамира, Альдемана). Основана на трудности факторизации (разбиения на множители) произведения по сравнению с операцией умножения. Это наиболее популярная система с общим ключом, используемая, например, для почтовой программы, реали- зующей протокол POP (Post Office Protocol). Но в вычислительном отно- шении она довольно дорогая, и коммерческое ее использование в США подлежит патентованию. □ Knapsack. Методика с таким странным4 названием основана на трудности разделения суммы на индивидуальные элементы по сравнению с добавле- нием этих элементов в начало суммы. Было много успешных атак на эту 4 "Knapsack" (англ.) — означает ранец, заплечный мешок. — Пер.
Гпава 3. С точки зрения защиты 67 систему и в результате она используется довольно редко. Однако, она ме- нее сложна, чем RSA, и до появления более современных систем с эллип- тическими кривыми ее считали системой, вполне оправдывающей свои обещания, т. е. обладающей низкой сложностью и относительной безопас- ностью. П Эллиптические кривые. Эллиптические кривые — это специальные ли- нии, определенные над первичным полем. Задав некоторую точку на этой линии, легче вычислять и все другие ее точки. Без генерации всех возмож- ных точек (что не практично, если поле достаточно велико) обращение операции довольно затруднительно. Эти схемы являются довольно много- обещающими, потому что кодирование и декодирование в них не очень-то сложное. Если не касаться защиты, то эта схема обладает всеми преиму- ществами предыдущей. П Коды с исправлением ошибок. Хотя код с исправлением ошибок (см. разд. 5.4) способен исправлять до (d - 1 )/2 ошибок, но без набора декоди- рующих правил единственный способ реализовать эту возможность со- стоит в том, чтобы сравнивать полученный вектор с каждым кодовым сло- вом и выбирать тот, который находится на расстоянии (d- 1)/2 от него. Для длинных кодов это практически невозможно. Поэтому можно сфор- мировать криптосистему, использующую код с исправлением ошибок, выполняя перестановки генерирующей матрицы. Исходный генератор формирует частный ключ, позволяющий декодировать сообщения, а гене- ратор с перестановками используется в качестве общего ключа. Посылае- мые сообщения маскируются добавлением ошибок, которые подслуши- вающий не может удалить, т. к. генератор с перестановками не позволяет выполнить простое декодирование. 3.5.3. Ключевой обмен Диффи-Хеллмана Протокол обмена ключей Диффи-Хеллмана в действительности не является обычной системой с общим ключом, т. к. передаваемый секрет случаен, но его можно использовать для передачи информации, применяя общий секрет для шифрования передаваемых данных. Это была первая опубликованная система с общим ключом. В ней возникают трудности, связанные с вычисле- ниями логарифмов первичных полей, которые значительно выше, чем при вычислениях с помощью экспоненциальных функций. Протокол выполняет обмен секретом между двумя сторонами по опасному каналу, не требуя ни знания, ни даже существования этого секрета. Работает это следующим образом. 1. Алиса и Боб соглашаются использовать генератор g и простой модуль р. 2. Алиса генерирует случайное число х. Это ее частный ключ. Она вычисля- ет свой общий ключ X, который равен X = g mod р.
68 Передача данных в сетях: инженерный подход 3. Подобным же образом Боб генерирует случайный частный ключ у и об- щий ключ Y = g' mod р. 4. Алиса и Боб обмениваются их общими ключами X и Y. 5. Алиса принимает ключ Y и использует свой частный ключ х для следую- щего вычисления: X mod р = ^у mod р-к. 6. Боб также может вычислить к по ключу X, который он принимает от Али- сы, и своему частному ключу у, т. к. X mod р = £у mod р-к. 5. И Алиса и Боб теперь знают к, но подслушивающий не может вычислять к по наблюдениям g,p, X, и Y. В качестве примера такого обмена рассмотрим следующую процедуру. 1. P=llHg = 2. 2. Алиса получает случайный х = 4, Боб выбирает у = 6. 3. Алиса вычисляетХ= 24 mod 11=5. 4. Боб вычисляет Y = 26 mod 11=9. 5. Алиса посылает Бобу число 5, а Боб посылает Алисе число 9. 6. Алиса вычисляет Yx mod 11 = 94 = 6561 = 5 mod 11. 7. Боб вычисляет X mod 11 = 56 = 15 625 = 5 mod 11. 8. Поэтому к = 5. Обратите внимание, что общий секрет случаен, т. к. к = g' mod р, так что его нельзя использовать, чтобы напрямую посылать информацию. Если Алиса и Боб не выбирают свои частные ключи чисто случайно, то это знание можно использовать для нападения на систему. Когда Png опубликованы, то нападение на эту систему становится эффек- тивным с помощью задачи дискретного логарифмирования. X = g mod Р оз- начает, что х = loggA" mod Р. Поэтому Ева может находить к, вычисляя yloggXmod Р. В вышеупомянутом примере нахождение log25 mod И триви- ально, но очень трудно, если Р велико. 3.5.4. Криптосистема RSA (Rivest, Shamir, Adleman) Схема RSA Райвеста, Шамира, Адлемана (Rivest, Shamir, Adleman) связана с от- носительной трудностью факторизации чисел по сравнению с их умножением. Это одна из наиболее популярных систем, используемых, например, в PGP- программе5 шифрования почты. Она запатентована в Соединенных Штатах. 5 PGP — Pretty Good Privacy, алгоритм "надежной конфиденциальности". — Пер.
Гпава 3. С точки зрения защиты 69 Для генерации ключа выбираются два больших простых случайных числа: р и q. Насколько больших — зависит от приложения и соглашения, но часто используются числа порядка сотни цифр. Эти простые числа хранятся в секре- те, но их произведение n=pq и случайное число е, простое по отношению к (р - 1)(<7 - 1), публикуются и формируют общий ключ. Частный ключ d выбира- ется таким, чтобы соблюдалось следующее равенство: de = 1 mod(p - 1)(<? - 1). Обратите внимание, что т. к. р и q хранятся в секрете, то любой подслуши- вающий не может вычислить d без факторизации и. Сообщение m шифруется с помощью следующего выражения с-тп mod п, где с — зашифрованное сообщение. Расшифровка же выполняется с помощью выражения m = cd mod n, результатам которого является число т, т. е. исходное незашифрованное со- общение. Факт, что расшифровка работает (то есть что (me)d mod n = m mod ri) не оче- виден, но зависит от теоремы Эйлера, в которой утверждается, что аф(гС> = (mod п) для относительно простых чисел аип, таких что 0 < а < п. Здесь ф(п) — ^-функция Эйлера (тотиент), определяемая как количество по- ложительных целых чисел, меньших п, которые являются относительно про- стыми для п. Если п — простое число, то ф(и) — п - 1. Если же п — это произ- ведение двух простых чисел р и q, как в нашем случае (то есть n =pq), то -!)-(#- V)=pq-p-q+l=(p- 1)(?- 1), т. к. нет числа, меньшего, чем п, которое является множителем как числа р, так и числа q. Это говорит о том, что de - 1 mod ф(п) по определению и, в свою очередь, означает, что de = 1ф(п) + 1 для некоторых i. Дешифрация приводит к сле- дующей цепочке вычислений: cd mod и = med mod n = mod n = mod n = (1 }km mod n = m mod n. В RSA используется потенцирование (возведение в степень), которое являет- ся в вычислительном отношении довольно интенсивной операцией. По этой причине некоторые схемы шифрования используют RSA, чтобы установить ключ сеанса связи, а затем применяют более быструю, но менее безопасную схему для фактической передачи данных. Очевидное нападение на эту систему — это факторизация п на два множи- теля р и q. Оно требует eV|n(n>ln(ln<n» операций, основанных на более доступ-
70 Передача данных в сетях: инженерный подход них алгоритмах факторизации. В году содержится приблизительно 225 се- кунд, так что при использовании одного процессора, работающего со ско- ростью в один миллиард операций в секунду, потребуется приблизительно 241 лет, чтобы факторизовать 1024-разрядный ключ (который используется в PGP-алгоритме защиты почты). Это больше чем время существования Все- ленной со времени большого взрыва, и сравнимо примерно с годом, кото- рый потребовался бы, чтобы взломать защиту системы DES, использующей аналогичные предположения. Для организаций, подобных правительствен- ным, способных вложить большие деньги в решение этой проблемы, время взлома DES-защиты можно сократить всего лишь до нескольких часов, используя параллельно несколько компьютеров, но масштаб проблемы в случае RSA-защиты делает эту задачу вообще невыполнимой, если не ис- пользовать иной подход. Другое нападение могло бы заключаться в том, чтобы найти такое число х, которое удовлетворяло бы уравнению хе mod п = с. Но это привело бы только к взлому (расшифровке) индивидуального сообщения и не взламывало бы всю систему в целом, и, в любом случае проблема отгадки сообщений была бы столь же трудной, как и проблема факторизации. Однако эта превосходная защита может быть полностью подорвана неудач- ным выбором ключей, и поскольку защита системы зависит от наличия больших простых чисел, то возникает проблема выбора таких чисел. Сущест- вует несколько методик для нахождения подходящих больших чисел, но лю- бая система, базирующаяся на RSA, должна иметь систему локальной генера- ции этих чисел для создания ключей, т. к. если простые числа передаются по линии связи или, еще хуже, берутся из списка, то защита может быть серьез- но скомпрометирована. 3.6. Идентификация 3.6.1. Введение Секретная передача информации— только часть проблемы. Важно также знать, что этой информации можно доверять, т. е. что она не подделана или не принята с ошибками, и что человек на другом конце звена связи — тот, кто требуется, и может настаивать на сообщении, которое он послал. Таким образом, речь идет о трех дополнительных аспектах защиты — целостности сообщения, идентификации терминала и подписи сообщения. 3.6.2. Целостность Первая проблема — это получение информации, посылаемой из одного места в другое в зашифрованной форме. Однако в коммуникационной системе мы должны также быть уверены, что эта информация прибыла в неискаженном
Гпава 3. С точки зрения защиты 71 виде. Искажение может возникнуть из-за блокирования нападающим линии связи, из-за вмешательства или даже замены им сообщения или от обычных ошибок в канале связи. Простой способ обеспечить правильный прием — попросить, чтобы отправ- ленное сообщение было послано обратно (рис 3.15, а). Однако работа с таки- ми протоколами требует осторожности. Если речь идет о системе с частным ключом, то ключи, используемые Алисой и Бобом, будут одинаковыми, так что все, что Боб должен будет сделать, получив зашифрованное сообще- ние, — это послать его назад Алисе, и оно будет таким же, как криптограмма, посланная от Алисы к Бобу. Если Еве вместо простого отвода от линии связи удастся включиться в разрыв этой линии, то она сможет, получив крипто- грамму от Алисы, отправить ее назад (Алисе) без ее декодирования. Тогда Алиса будет думать, что именно Боб прийял и понял ее сообщение, тогда как фактически оно так никогда до него и не доходило (рис 3.15, б). Такой пере- хват сообщения более труден, чем простой отвод в обычной цепи связни, но для пакетных систем, подобных Internet, где сообщения посылаются от ма- шины к машине, сброс или подстановка сообщения выполняются тривиально при обращении к промежуточному компьютеру. Ева не может декодировать сообщение, но она может вводить в заблуждение Алису, заставляя ее думать, что сообщение получил Боб, когда на самом деле этого не произошло. Если сообщение — это что-то вроде "заплатите 1 000 000 $ по счету X", то удале- ние таких сообщений может очень дорого стоить.* Алис* Боб Зашифрованное сообщением посыпается Бобу Принимается сообщение м, подтверждающее успешный прием Правильно принимает сообщением и посылает его Алисе Алиса Зашифрованное сообщение м посылается Бобу Принимается сообщение м, подтверждающее успешный прием Перехватывает зашифрованное сообщение с и посылает его обратно Алисе Боб ничего не знает, ничего не принимает, но не зная этого, он теряет все а б Рис. 3.15. Простой протокол передачи: а — успешный обмен; б — нападение на простой протокол с аозвратом ложного подтверждения Единственный способ предотвратить это нападение состоит в том, чтобы за- шифровать адрес и, таким образом, изменять возвращаемое сообщение. Од- нако здесь требуется осторожность. Если в качестве дополнения к сообще- нию посылается зашифрованный адрес, то мы имеем с = е(т, к) + е(а, к). Теперь все, что должна делать Ева, это — прослушать несколько правильных сообщений между Алисой и Бобом, чтобы выяснить е(а, к), где аА — адрес Алисы, а ав — адрес Боба. Когда она хочет перехватить сообщение, она от- бирает из сообщения зашифрованный адрес е(аА, к) и заменяет его на е(ан, к).
72 Передача данных в сетях: инженерный подход Посылка в дополнение к адресу времени получения, например, не может по- мочь, т. к. Ева может вычислить его и повторно запустить часть подтвержде- ния с подходящего момента времени. В худшем случае такой протокол обес- печивает Еве возможность нападения на известный открытый текст, потому что она знает адрес в этом тексте и его зашифрованную форму. Она может использовать это знание, чтобы попытаться вычислить ключ к. Этих нападений можно избежать, если вместо добавления адреса в конец со- общения сделать сообщение функцией от посылаемой информации и адреса. Тогда мы имеем с = e(f(m,a)k). Теперь, хотя Ева знает аА, и ав, она не может вычислить правильный ответ effim.a^k), чтобы обмануть Алису. На первый взгляд, системы с общим ключом в этом отношении лучше, чем симметричные шифры, т. к. зашифрованные сообщения от Алисы к Бобу, за- кодированные с общим ключом Боба, отличаются от сообщений от Боба к Алисе, которые используют общий ключ Алисы. Однако слабая конструкция протокола в этом случае может привести к расшифровке сообщения Евой, а не просто к его блокировке. Если Боб, со своей стороны, не знает адрес, откуда передает Алиса, все что Ева должна делать при передаче сообщения, — заменить свой адрес на адрес Алисы (рис. 3.16). Боб отвечает кодированием сообщения с общим ключом "Алиса", который фактически является ключом Евы, т. к. она поменяла адре- са. Поскольку ответ кодируется с общим ключом Евы, она может декодиро- вать его и восстановить сообщение. Затем она заново кодирует сообщение с общим ключом Алисы и посылает его так, чтобы Алиса и не подозревала о перехвате. Как в случае симметричного шифра, это нападение можно предот- вратить, сделав сообщение функцией посылаемой информации и адреса, при- чем так, чтобы адрес нельзя было извлечь отдельно. Алиса Ева Боб Зашифрованное сообщение т посылается Бобу Принимается сообщение т, подтверждающее успешный прием с = е(т, РЬ) с = е(т, Ра) Перехватывает с, заменяет адрес Алисы своим с = е(т, РЬ) Боб принимает т и отвечает, кодируя ответ с общим ключом Евы, думая, что это ключ Алисы с = е(т, Ре) Декодирует т, повторно кодирует его с Ра, чтобы послать адрес Алисе Рис. 3.16. Нападение с подстановкой на схему с адресованным подтверждением
Гпава 3. С точки зрения защиты 73 Вместо посылки сообщения обратно к источнику, некоторые из этих проблем можно обойти, посылая обратно случайные (хеш-) сообщения, h(m). Хеш- функция отображает входной набор символов на выходной набор фиксирован- ной длины. Хеш-функция должна быть достаточно простой для вычислений, но очень трудной или даже невозможной для инвертирования, и такой, чтобы с вы- сокой вероятностью выполнялось соотношение h(m\) - hfnfy) => = m2. Чем больше фиксированная длина выхода, тем выше эта вероятность, но тем больше информации должно быть послано. Этим требованиям удовлетворя- ют односторонние функции, так что можно использовать общий ключ систе- мы с общим ключом, но его не очень просто вычислять. Однако никакого ча- стного ключа не требуется. Так как Алиса знает сообщение т, она может кодировать его, чтобы найти е(т, Ph) и сравнить его с полученной хеш- функцией. Когда первоначальная криптограмма посылается Алисой, то для Евы атака тоже затруднена. Весьма популярны в качестве хеш-функций стан- дарты DES и MD5 , т. к. они вводят менее сложные вычисления, чем одно- сторонние функции, используемые для общих ключей. 3.6.3. Идентификация В некоторых случаях более важным, чем передача собственно информации, является доверие к аутентичности (подлинности) поддерживающего связь терминала. Например, в мобильной телефонной* системе фактическая связь может не быть зашифрована (хотя часто именно это и делается), но для сети важно знать, что связывающийся терминал уполномочен использовать сеть, и что это за терминал, так чтобы абоненту можно было выписать счет за вызов. Проблема сводится к следующему: Бобу нужно точно знать, что человек, с которым он разговаривает, это — Алиса, а не Ева. Категоризированные идентификационные (опознавательные) системы амери- канского ФБР основаны на том, что человек знает (например, пароль), что он имеет (например, ключ), и что он собой представляет (например, отпечатки пальцев или образец сетчатки глаза). Любая опознавательная схема должна быть основана по крайней мере на двух категориях — на соответствующей физической безопасности и все еще остающейся проблеме удаленной связи. Система не может зависеть от того, что Алиса просто скажет: "Я Алиса", по- тому что Ева способна сделать запись предыдущего опознавательного сеанса и воспроизвести это сообщение. Чтобы избежать подобной атаки, хороший опознавательный протокол должен включать вызов, за которым последует ответ, базирующийся на этом вызове, который доказывает, что партнер по связи именно тот, кем он себя объявляет. 6 MD5 — Message Digest 5, профиль сообщения 5. — Пер.
74 Передача данных в сетях: инженерный подход Основу для идентификации может обеспечить система с общим ключом. Только подлинные партнеры по связи будут знать их собственные частные ключи, и можно будет использовать этот факт, чтобы их опознавать (иденти- фицировать). В системе с общим ключом, обозначив функцию шифрования как Е, а дешифрования — как D, получим = m, т. е. дешифровка шифрованного сообщения m приводит к исходному сообщению. Однако, ес- ли начать преобразования с криптограммы, то можно получить выражение E(D(c)) = с, т. е. шифрование дешифровки криптограммы с дает исходную криптограмму. Вокруг этих фактов можно построить протокол. Если Боб желает опознать Алису, то можно поступить следующим образом. 1. Генерировать случайную криптограмму (с), т. е. сообщение с тем же алфавитом, как в зашифрованном сообщении. 2. Послать криптограмму Алисе для дешифровки. 3. Алиса дешифрует сообщение, используя свой частный ключ. Так как первоначальная криптограмма была случайна, то дешифрованное сообщение будет бессмысленно, но только тот, кто обладает частным ключом, может сгенерировать его. 4. Алиса посылает дешифрованное сообщение (щ) обратно Бобу, который затем зашифровывает это с общим ключом Алисы. 5. Если заново зашифрованное сообщение соответствует случайной криптограмме, которую Боб первоначально сгенерировал, т. е. если E(ni) = с, то Алиса должна иметь частный ключ и, если имеет, то поэтому действительно является Алисой. Если бы Ева претендовала быть Алисой, то ей пришлось бы быть способной к генерации такого сообщения т, чтобы выполнялось соотношение Е(т) = с, где с — шифрованное сообщение, посланное Бобом. Это эквивалентно тому, что Ева может декодировать криптограммы и тем самым взламывать шифр. Однако требуется некоторая осторожность, чтобы генерируемое Бобом со- общение с было действительно случайным. Если бы это было не так, то Ева была бы способна подобрать подходящее значение т для специфического значения с, используемого Бобом, вероятно просто наблюдая предыду- щие попытки опознавания. Этим способом была взломана система смарт- карт оплаты телевидения, поскольку "случайный" вызов был фактически 8-разрядным двоичным числом. Хакеры взломали эту систему, делая запись всех возможных опознавательных вызовов и ответов, даваемых подлинными картами, и затем программируя точные копии карт со справочной таблицей правильных ответов без необходимости что-нибудь знать относительно дей- ствий алгоритма. Это нападение было возможно, потому что подлинные кар- ты имели чрезвычайно ограниченную память и мощность обработки.
Глава 3. С точки зрения защиты 75 3.6.4. Цифровые подписи Алиса и Боб могут быть уверены в тождественности друг друга, но это не то же самое, что доверие к их слову. Должна иметься возможность приписать определенные сообщения их создателю, чтобы другие были способны прове- рить его оригинал и чтобы создатель мог держать свое слово так, как указано в его документе. Это делается с помощью цифровых подписей, которые слу- жат тем целям, что и их традиционные двойники, т. е. необходимо "подписывать" сообщение или квитанцию так, чтобы можно было доказать, что это сделал именно их создатель, т. е. в нашем случае — Алиса. Такое возможно в системе с частным ключом, если ключи хранятся у Алисы, Боба и в системном реестре. Боб будет принимать сообщения как подписан- ные, если он может дешифровать подпись с помощью своего ключа. Спор- ную подпись может проверять системный реестр, а если он может также и дешифровать ее, то вынесет решение в пользу Боба. Однако это означает, что должен быть установлен центральный реестр, и что системный реестр будет содержать некоторую информацию об Алисе и Бобе. Системы с общим ключом обеспечивают возможность обойти эту проблему, используя процесс, подобный процессу идентификации. В данном случае в качестве "случайной" криптограммы мы используем сообщение или случайно перемешанное сообщение. Алиса подписывает документ, используя свой ча- стный ключ, чтобы "дешифровать" перемешанное сообщение. Это дешифро- ванное сообщение и есть подпись. Затем Алиса посылает сообщение и под- пись Бобу, шифруя все, что посылается, общим ключом Боба. Боб дешифрует сообщение своим частным ключом и проверяет подпись, зашифрованную общим ключом Алисы, на равенство случайно перемешанному сообщению. 3.7. Другие криптографические протоколы Кодирование и идентификация данных— два наиболее очевидных крипто- графических приложения, но имеется множество других криптографических функций, которые не попадают в эти категории, но становятся все более важ- ными в коммуникационных системах и не могут быть решены традиционны- ми методами. 3.7.1. Удаленное бросание монеты Пример удаленного бросания монеты демонстрирует такой тип конструкции, который требуется для создания хороших протоколов. Рассмотрим следую- щий сценарий: Алиса и Боб решают отпраздновать некоторую дату. Алиса хочет встретиться в ресторане, но Боб предпочел бы паб. При обсуждении вечерней программы по телефону Боб предлагает бросить монету и пригла-
76 Передача данных в сетях: инженерный подход шает Алису назвать исход. Она говорит "орел", после чего Боб сообщает, что, к сожалению, у монеты выпала "решка", так что они идут в паб. Может ли Алиса доверять Бобу? Фактически, даже если бы Боб сказал, что у монеты выпал "орел", как Алиса может узнать, был ли это правильный ответ или Боб просто проявил учтивость? Хороший протокол должен защитить как от лож- ных проигрышей, так и от ложных побед. Бросание монеты в традиционной манере работает потому, что сторона, бро- сающая монету, не может влиять на результат, зависящий от выбора, прогнозирующего результат партнера. Если Алиса называет результат, а Боб бросает монету, то требуется такой протокол, который вынуждает Алису вы- брать результат перед броском, а Боба — сохранять ее выбор до тех пор, пока бросок не будет выполнен. Однако Боб не может знать, какой результат вы- брала Алиса, до тех пор, пока не появится действительный результат броска, так что у него нет возможности обмануть ее. Подходящий протокол может быть основан на нахождении корней для полей простых чисел. Уравнение х2 = а имеет два решения (корня) для любого положительного числа а, который является квадратом некоторого числа. Например, если a равно 4, то х может быть равным 2 или -2. То же правило можно применить и для числовых полей, сравниваемых по простому модулю р. Например, х2 = 4 mod 5 также имеет два решения Xi = 2 и хг = 3 (= -2 mod 5). (Обратите внимание, что а должно быть квадратом некоторого числа в этом поле. Приведенный случай не имеет решения для а = 2 или 3). Если вместо простого модуля мы используем композицию, составленную из двух простых чисел, то получим 4 корня. Например, если р = 3 и q = 5, то I? mod 15 = 1 имеет решения 1, 4, 11 (= —4 mod 15) и 14 (=-1 mod 15). Для многих простых р существуют методы вычисления корней по mod р, но для больших составных чисел их очень трудно выполнять. Однако если для со- ставного числа n=pq мы знаем р и q, то мы можем вычислить корни п по корням р и q, вычисленным по mod р и mod q, соответственно. Протокол ра- ботает следующим образом. 1. Алиса выбирает два больших простых числа р и q и посылает их произведение п = pq Бобу. 2. Боб случайным образом выбирает целое число и между I и п/2 включительно, и посылает его квадрат Алисе. Этот квадрат имеет четыре корня, два из которых будут между 1 и пГ2 (т. к. если х находится между 1 и л/2, его отрицательное значение -х не будет находиться в этом интервале, и наоборот). 3. Используя свои знания о р и q, Алиса вычисляет четыре квадратных корня выражения z mod п. Обозначим корни этого выражения как ±х и ±у. Она
Глава 3. С точки зрения защиты 77 выбирает два корня между 1 и п/2. Пусть это будут х' и у. Пусть, кроме того, она знает, что и — это один из этих корней, но не знает — какой. 4. Алиса выбирает один из этих корней и посылает его Бобу. Это делается путем определения такого наименьшего /, для которого z-й разряд в числах У и у' различается, и в предположении, что z-й разряд и есть 0 или 1. Заметим, что Алиса не посылает все число Бобу, т. к. если бы она выбрала его неправильно, то Боб тогда знал бы как и, который выбрал он, так и другой корень, посланный Алисой, и мог бы тогда заявить, что Алиса выиграла, когда она на самом деле проиграла. 5. Боб сообщает Алисе, является ли ее выбор правильным или нет, и посылает ее и, чтобы доказать это. 6. Алиса посылает р и q Бобу так, чтобы он мог найти другие корни и проверить, что Алиса придерживалась соответствующей процедуры. Обратите внимание, что этот протокол совместно использует секрет, поэтому на каждом этапе ни одна сторона не имеет достаточных знаний, чтобы обманывать другую. Так как существуют два решения для корня в правильном диапазоне, то Алиса не знает и, а знает только, что это может быть лишь одно число из двух возможных. Боб же не может обманывать Алису, заменяя одно решение другим, после того как он получил название броска от Алисы, потому что он сам не знает другого решения. Это потре- бовало бы от него факторизации (разложения на*множители) п, что он прак- тически не может сделать. 3.7.2. Неосознанная передача Пример 50%-го шанса на успех, очевидного при удаленном бросании моне- ты, можно использовать в протоколах для "неосознанной передачи". Не- осознанной называют такую передачу, при которой секрет совместно ис- пользуется (скажем, Алисой с Бобом), но так, что она не знает (или не обращает внимания на то), получил ли Боб секрет или нет. Хотя это может казаться довольно бессмысленным в коммуникационной системе, сущест- вуют случаи, когда вы не хотели бы, чтобы '"владелец" секрета знал, полу- чил ли кто-нибудь доступ к этому секрету или нет. Примером может быть система голосования, где важно, чтобы избирательные бюллетени были проверены, но человек, опускающий их, остается анонимным. Система дей- ствует следующим образом. 1. Алиса выбирает n-pq, где р и q— это большие простые числа, и посылает п Бобу. 2. Боб выбирает х и посылает его квадрат по mod п обратно Алисе. Заметим, что в отличие от бросания монеты, в данном случае это значение может
78 Передача данных в сетях: инженерный подход не находиться в интервале между 1 и п/2. В этой точке протокола Боб знает два из четырех корней (х и -х). 3. Алиса вычисляет корни полученного значения (±х и ±у) и посылает один из них Бобу. Так как Алиса не знает число, выбранное Бобом, то имеется 50%-й шанс, что Алиса пошлет Бобу один из корней, который он уже имеет. Если Боб получа- ет такой корень, то он не получает никакой информации и не владеет секре- том. Однако, если он получает другой корень, то он может использовать эту информацию для факторизации п на множители р и q.. Поэтому с вероятно- стью И Боб получает секрет, но Алиса сама не знает, получил ли Боб его или нет. Эта базовая система может быть расширена на случай, когда Алиса передает Бобу один из двух секретов, но не знает, какой из них Боб принял. На первый взгляд применение неосознанной передачи не кажется очевид- ным, но на самом деле оно обеспечивает значительную степень секретно- сти для получателя информации. Нормальные передачи содержат все что угодно, кроме частной информации, включая следы подтверждений, по которым наблюдатель может понять, кто, что и когда узнавал. Однако су- ществуют обстоятельства, когда требуется секретность, например, при электронном голосовании. Можно расширить тип протоколов, продемон- стрированных при обсуждении неосознанной передачи, чтобы позволить Бобу проводить голосование с Алисой, а Алисе — проверять правильность голосования без знания того, как Боб подает свой голос. Это существенно и для настоящего электронного голосования, т. к. иначе правительство или организаторы выборов знали бы, каким образом каждый индивидуум по- дает свой голос. Этот тип протоколов имеет также применение к системам электронных рас- четов. Обычные наличные деньги имеют следующие свойства. □ Защита от подделки. Выпускать банкноты не просто, поэтому и подде- лывать их довольно трудно. □ Универсальная аккредитация. Наличным деньгам доверяют все, потому что они имеют под держку банка, кроме того известно, что их все принимают. □ Анонимность. Владение наличными деньгами не связывает вас с кон- кретной транзакцией, и те, кто вовлечены в транзакцию, не должны знать Друг друга или доверять друг другу для проведения транзакции. Верят в деньги, а не в человека. Этим же требованиям должна удовлетворять и электронная система, предна- значенная для замены банкнот, а требование анонимности приводит к систе-
Гпава 3. С точки зрения защиты 79 мам с неосознанной передачей. Однако многим правительствам хотелось бы, чтобы электронные выплаты были более прослеживаемыми, что позволило бы устранить возможность легкого отмывания денег. 3.8. Практическая защита В этой главе мы рассмотрели несколько способов построения криптографи- чески защищенных систем передачи, предназначенных для инженеров в сфе- ре коммуникаций. За несколько прошедших лет в связи с разработкой хоро- ших криптографических алгоритмов, мы достигли этапа, когда имеется набор доступных для использования протоколов с различными уровнями защиты. Инженер должен только видеть, что работа по проектированию ведется так, чтобы прежде всего обеспечивать корректные требования. Хорошая зашита требует глобального подхода. Нет смысла в двойном запоре и креплении на болтах двери вашего дома только для того, чтобы оставить боковое окно открытым. Существует несколько факторов, которые непосред- ственно не касаются коммуникационной системы, но являются существен- ными для гарантии ее безопасности. 3.8.1. Какова необходимая степеньгзащиты? Важный вопрос — какую степень защиты нужно обеспечивать? В настоя- щее время можно использовать очень защищенные схемы, но когда системы становятся более защищенными, растет и их сложность, увеличиваются объемы передаваемых данных и затраты на их обработку. Стоимость напа- дения на систему также изменяется, поскольку чем более мощная обработка используется для атаки на код, тем быстрее может быть взломан алгоритм защиты. Между этими тремя факторами существует определенная связь: дополнительная передача и стоимость обработки имеют отношение к схеме защиты, к стоимости нападения на схему и стоимости самой информации (в терминах ее ценности для нападающего или потерь для владельца). На- пример, для атаки на транзакцию кредитной карточки с лимитом в 100£ (фунтов стерлингов) не стоило бы подключать большие обрабатывающие мощности, но для нападения на систему передачи международного банка, обрабатывающую сотни миллионов фунтов, стоило бы инвестировать в со- ответствующие вычислительные мощности несколько миллионов фунтов. По этой причине одиночная DES-защита безопасна для первого случая, но недостаточна для последнего, хотя тройной DES-защиты было бы достаточ- но. Однако для небольших устройств слишком сложна даже одиночная DES-защита.
80 Передача данных в сетях: инженерный подход Данные с коротким сроком годности не требуют сильной защиты. Например, система, затрачивающая около недели на декодирование, была бы совершенно не подходящей для посылки данных о передвижениях на поле битвы, потому что к тому времени, когда нападающий декодирует данные, они больше не бу- дет актуальными. Однако пользователи должны знать это и использовать такие системы для более долгосрочных данных. Ценность данных не всегда очевидна. Идентичность клиентов мобильного телефона можно рассматривать как нечто намного менее важное, чем данные, которые они передают, за исключением того случая, когда их звонок из зарубежного города предупреждает нападающего о том, что дом клиентов пуст и его можно поэтому безнаказанно ограбить. 3.8.2. Проверка полномочий Обычно протоколы защиты стремятся требовать как можно меньше таких проверок от самих вступающих в связь сторон, даже в случае использования схем с идентификацией и подписью. Однако некоторая проверка требуется всегда, даже если это только индивидуальный пользователь. Остерегайтесь необоснованных требований подобных проверок. Например, использование программы защиты, исходный код которой недоступен, означает организа- цию проверки полномочий авторов этого кода, для того чтобы (а) — знать их право, разработку и написание безопасных программ и (б) — не обманывать их пользователей включением в программу скрытых лазеек. Некоторые поль- зователи думают, что система с опубликованным исходным кодом должна быть менее безопасна, чем та, исходный код которой не опубликован. Но в соответствии с предположением Керкхоффа нужно всегда предполагать, что подслушивающий имеет исходный код и код, опубликованный для крипто- графического сообщества, чтобы видеть пути обхода как ситуации (а), так и ситуации (б). 3.8.3. Аварийные ситуации В некотором смысле сообщение, не поддающееся дешифровке, — это то же самое, что аварийная ситуация. Хорошо спроектированная коммуникацион- ная система будет справляться с такими ситуациями, но будьте осторожны, чтобы эти процедуры не обошли протоколы защиты. Например, популярная компьютерная операционная система имела хорошую защиту, но и большой недостаток, заключавшийся в том, что полная перезагрузка машины приводила ее к такому состоянию, когда пользователь терминала мог полу- чить доступ к любому файлу и изменить его. Ранние версии другой операци-
Глава 3. С точки зрения защиты б/ онной системы восстанавливались после "ошибки" отсутствия файла пароля путем разрешения беспарольного доступа. Доступ разрешался с помощью загрузки с системного диска и удаления файлов пароля. 3.8.4. Человеческий фактор Коммуникационная среда может быть опасна, но это "надежная" опас- ность. Часто самым слабым звеном в цепи является человек. Люди могут обходить системы очень творчески или злонамеренно или просто от не- достатка знания соответствующей системы. Еще один из самых общих и очевидных недостатков — это бедный выбор паролей или других ключей системы. Может показаться, что стремление сделать систему более слож- ной, сделает ее и более безопасной, но это часто заставляет пользователей попытаться обмануть ее (чтобы сэкономить время или усилия), например, записывая ключи, которые должны запоминаться. И наконец, как бы ни была защищена система, в некоторой ее точке человек должен управлять ею или интерпретировать ее данные. Этот человек может быть подкуплен или принужден обойти защиту. 3.9. Вопросы к главе 1. Используя перестановочный шифр с глубиной сетки 8, закодируйте сообщение: "Takeover announcement will be made at noon tomorrow" (Объявление о слиянии компаний будет сделано завтра утром). 2. Повторите кодирование, используя перестановочный шифр с ключевым сло- вом "COLUMNAR" (которое используется для определения упорядочивания по столбцам). 3. Используя шифр Цезаря со сдвигом 4, закодируйте сообщение: "Now is the time for all good men to come to the aid of the part" (Для всех хороших людей настало время прийти на помощь партии). 4. Дешифруйте сообщение: KWWS://ZZZ.DQtHQQD-PRGHOV.FRP/VHFUHt/LQGHA.htPO. 5. Используя шифр Виженера и ключевое слово "hide", закодируйте "We must meet under the clock" (Мы должны встретиться под часами). 6. Используя поточный шифр и начальный ключ "D", закодируйте сообщение: "The documents will be sent tomorrow" (Документы будут посланы завтра.) 7. Какой битовый поток будет генерировать LFSR-регистр, показанный на рис. 3.17?
82 Передача данных в сетях: инженерный подход Рис. 3.17. LFSR-регистр к вопросу 7 8. Для RSA-системы с простыми /> = 7 и </ = 13 и ключом шифрования е = 5, найдите ответы на следующие вопросы: а) каково значение частного ключа d\ б) используя данную систему, зашифруйте число 2 и проверьте, что можно дешифровать получившееся в результате кодовое слово об- ратно в сообщение. Обратите внимание, что, если вы не используете компьютер, способный точ- но выполнять операцию сравнения по модулю для очень больших чисел, то нужно будет использовать следующие факты: a х f>(mod с) = (a (mod с)) х (fe(mod с)) и abc = abac.
Глава 4 С точки зрения сетей 4.1. Введение рДо сих пор мы рассматривали коммуникационный процесс в терминах пря- мой связи между отправителем и получателем. Хотя именно такое представ- ление о системе имеется у пользователя и приложения, оно редко реализуется на практике. Рассмотрим структуру, показанную на рис. 4.1. Чтобы обеспе- чить прямые соединения между всеми объектами, требуется большое количе- Зство отдельных коммуникационных линий. Даже для такой небольшой сис- темы это неэффективно, а для больших структур, подобных телефонным сетям, совершенно неприемлемо. Рис. 4.1. Прямые соединения между всеми коммуникационными устройствами Вместо этого следует использовать сеть— объединение переключаемых ком- муникационных звеньев (communication links), обеспечивающих возможность соединения между терминалами (рис. 4.2). Термин звено (link) используется в
84 Передача данных в сетях: инженерный подход сети, чтобы сослаться на коммуникационный путь между двумя объектами. Эти объекты, которые могут быть терминалами или промежуточными переключате- лями, называют узлами (nodes). Узлы, напрямую не соединенные с внешним ми- ром, а соединенные только, например, с хост-узлами (hosts) или терминальными узлами (terminals), называют промежуточными, или коммутационными. Сеть должна иметь следующие характеристики: □ задержки, т. е. время передачи и обработки должно сводиться к мини- муму; П ресурсы сети (ширина полосы) должны эффективно использоваться и ни- какая часть сети не должна простаивать в течение длительного периода. П стоимость установления, поддержания и функционирования сети должна сводиться к минимуму. Рис. 4.2. Простая сеть 4.2. Сетевые конфигурации Самая простая сеть — это пара коммуникационных устройств, соединенных напрямую через некоторую передающую среду, например, в двухточечной1 конфигурации, показанной на рис. 4.3. 1 В оригинале такую конфигурация называют "point-to-point" — конфигурация типа “точка- точка”. — Пер.
Глава 4. С точки зрения сетей 85 Передающей средой может быть все что угодно — от простой пары медных проводов до радиоканала или оптического волокна. Можно вспомнить много примеров, от простых до самых сложных, где успешно используется такая конфигурация. Вот лишь некоторые из них: простой домашний дверной зво- нок, радиоканал "бэби-монитора", соединение по стандарту RS-232 между персональным компьютером и принтером и т. п. Ри?. 4.3. Одиночное двухточечное звено (звено "точка-точка") ♦ .Обычно в системе имеется больше двух устройств. При этом существуют две 'возможности: широковещательная и коммутируемая сети (рис. 4.4). Разделяемое звено а Рис. 4.4. Широковещательные (а) и коммутируемые (б) сети Коммутационный узел б В случае широковещательной сети каждый терминал разделяет (совместно использует) общую среду передачи. Это означает, что каждый терминал дол- жен заботиться о том, чтобы использовать среду только тогда, когда другие терминалы ее не используют, и поэтому в действительности он сам выполня- ет свои переключения. Это подводит к концепции управления доступом к среде (передачи) (MAC, Media Access Control), суть которой состоит в том, чтобы на место каждого узла поместить некоторый механизм, регулирующий передачу его данных по общей среде. Термин "широковещательный" означа- ет, что, поскольку среда используется всеми терминалами совместно, то от- правляемые сообщения принимаются всеми терминалами. Каждый терминал исследует полученные сообщения и проверяет, кому они предназначены. В коммутируемой сети каждый терминал имеет выделенное звено к узлу коммутации, который и соединяет его с терминалом, с которым он поддер- живает связь или напрямую, или через другие узлы. В отличие от Широкове-
86 Передача данных в сетях: инженерный подход щательной сети, данные от узла коммутируемой сети принимаются только узлом на конце соответствующего канала, а не всеми остальными узлами. В такой сети требуется, чтобы узлы действовали как посредники и ретрансли- ровали или коммутировали данные от других узлов, чтобы эти данные могли бы достичь своего адресата. В таких сетях не явно выполняется функция мар- шрутизации. Удобно провести различие между сетями доступа (access networks) и базо- выми сетями (core networks). Базовая сеть— это сеть, соединяющая узлы коммутации. Сеть доступа — это часть сети, которая позволяет пользовате- лям получить доступ к базовой сети, и поэтому она состоит из сети терми- нальных узлов и узлов коммутации. Такое различие довольно произвольно, поскольку сеть доступа может содержать и узлы коммутации. Делается это лишь для удобства управления, хотя первичная цель такого разделения со- стоит в том, чтобы обеспечить доступ к системе. На рис. 4.2 (см. с. 84) звенья серого цвета образуют сеть доступа, а черного — базовую сеть. Термин база (core) подводит к концепции сети доступа, формирующей края сети. Можно также провести различие между узлами, расположенными внутри сети доступа, и узлами в базовой сети. Базовые узлы требуются для того, чтобы просто транспортировать информацию между другими базовыми узлами и узлами доступа, тогда как узлы в сети доступа вероятнее всего являются терминальными, и поэтому для них требуется прямое взаимо- действие с источниками информации. Узлы доступа часто можно пред- ставлять себе как генераторы, или пользователи информации, а не просто как ее носители', базовые же узлы выполняют только роль носителей ин- формации. Хорошим примером подобного разделения является телефонная сеть. Ее уз- лами являются коммутаторы. Соединения между коммутаторами называются магистралями, и на этих магистралях выполняется большое число вызовов. Сеть доступа формируется из большого количества индивидуальных або- нентских линий, подходящих к локальным коммутаторам. Базовая сеть имеет множество промежуточных коммутаторов, выполняющих переключения ме- жду локальными коммутаторами. Базовые сети обычно являются коммутируемыми, т. к. в общем случае такие сети более эффективны. Сети доступа чаще всего являются широковеща- тельными, потому что они очень просты в управлении. Добавление узлов к широковещательной сети не влияет на другие узлы, так что терминальные узлы можно добавлять и удалять довольно легко. Широковещательные сети ограничены в размерах из-за наличия разделяемого всеми узлами звена, так что часто они формируются из нескольких чисто широковещательных секций с промежуточными переключателями.
рлава 4. С точки зрения сетей 87 4.2.1. Сетевая топология род топологией сети понимают способ соединения ее узлов. Имеется четыре рсновных сетевых топологии: сетка, звезда, кольцо и шина. Щеточная топология '^Сеточная (или mesh-) топология — это такая топология, в которой узлы сети Напрямую соединены друг с другом. В полной сеточной топологии соединены все узлы. В частичной сеточной топологии некоторые звенья пропускаются, это означает, что некоторые узлы должны связываться через промежуточ- ные узлы (рис. 4.5). Рис. 4.5. Сети с полной (а) и частичной (б) суточной топологией © полной сеточной топологии никакие переключения не используются, по- скольку каждый узел имеет выделенные связи со всеми остальными, но при этом мы возвращаемся к очень непрактичной ситуации (см. рис. 4.1): если чис- ло узлов возрастает, стоимость добавления новых узлов к сети растет по экс- поненте, причем даже для небольших сетей. Существенным сдерживающим фактором для применения таких сетей является то, что при добавлении нового узла каждый из остальных узлов должен быть изменен. Однако центральная базовая сеть некоторых крупных сетей иногда строится как полная сетка. Частичная же сеточная топология является практичной и наиболее общей се- тевой конфигурацией. Узлы, которые имеют большой трафик, соединяются напрямую, в то время как остальные узлы соединяются через промежуточные узлы. Звездообразная топология Топология типа звезда — это простая топология, в которой каждый узел со- единен напрямую с общим центральным узлом (рис. 4.6, а). Этот централь- ный узел и осуществляет связь между узлами. Центральный узел должен справляться с запросами всех узлов и, как следствие, он достаточно сложен и
88 Передача данных в сетях: инженерный подход дорог. Существует также проблема надежности: если центральный узел вый- дет из строя, то вместе с ним выйдет из строя и вся сеть. Для предотвращения таких ситуаций нужно задать высокий уровень избыточности в центральном узле с помощью нескольких процессоров, переключателей и т. п., чтобы обеспечить необходимое дублирование любой отказывающей части системы. Примером сети со звездообразной топологией является учрежденческая АТС (РВХ2), разработанная для речевого обмена. Кольцевая топология Кольцевая топология, показанная на рис. 4.6, б, — это такое размещение уз- лов, когда все узлы сети соединяются друг с другом двухточечными звеньями так, чтобы сформировать замкнутый контур. Информация пересылается от узла к узлу, пока не достигнет своего адресата. Рис. 4.6. Звездообразная (а) и кольцевая (б) топологии Кольцевая сеть — это попытка реализовать более распределенную сеть, по- скольку главные мощности коммуникационной обработки больше не концен- трируются в одном узле. Каждый узел имеет возможность принимать собст- венные решения относительно сетевой передачи данных и другие функции. Однако в некоторых кольцевых системах, таких как Кембриджское кольцо (Cambridge Ring — кольцевая сеть Кембриджского университета), распреде- ленный характер сети уменьшен из-за наличия общего узла, или станции- монитора (Monitor Station), которая играет центральную роль в функциони- ровании сети. Эта станция контролирует сеть, собирает статистику ошибок, очищает испорченные пакеты и выполняет функции включения/выключения 2 РВХ — сокр. от Private Branch exchange, телефонная система для частного пользования. — Пер.
Гпава 4. С точки зрения сетей 89 сети. При сбое в этом узле работа сети, вероятно, серьезно нарушится. Другая проблема в этой топологии — сохранение замкнутого контура кольца; если кольцо каким-то образом разрывается, то сеть обычно полностью выходит из строя. Шинная топология Эта топология — пример полностью распределенной сети. В сети, базирую- щейся на шине, нет никакой центральной обработки, так что фактически сре- дой передачи является сама коммуникационная сеть. Каждый узел просто присоединяется напрямую к кабелю или шине, используя соответствующие интерфейсы и оборудование. К обоим концам шины присоединяются специ- альные оконечные устройства, которые помогает обеспечивать правильные ^передаточные характеристики шины. Это размещение может быть расширено, если использовать несколько взаи- мосвязанных шин, чтобы сформировать то, что иногда называют древовидной ретъю (рис. 4.7). Повторители Рис. 4.7. Шинная и древовидная сети В отличие от кольцевой топологии, в шинной и древовидной сетях нет требо- вания замкнутости среды передачи. При этом, как и в случае кольцевой сети, все станции разделяют (совместно используют) общее звено передачи дан- ных, а это означает, что в каждый момент только одно устройство может пе- редавать данные. Таким образом, требуется некоторый способ управления доступом, позволяющий определять, когда станции могут передавать свои Данные на шину. Наиболее общий метод доступа, используемый в шинных сетях, — это множественный доступ с контролем несущей и (необязатель- но) обнаружением столкновений (CSMA/CD, Carrier Sense Multiple Ас- cess/Collision Detection). Он используется в сетях типа Ethernet.
90 Передача данных в сетях: инженерный подход 4.2.2. Связность Ключевой концепцией коммуникаций является так называемая связность (connectivity), которая определяет, насколько легко добираться из одной точ- ки сети в другую. В общем случае существует несколько различных способов выполнить эту задачу. Выбор конкретного способа — это задача маршрути- зации. Однако на более высоком уровне существует другая проблема — на- сколько хорошо различные части сети соединены друг с другом, и какие в ней имеются маршруты. Существуют также проблемы надежности— если узел или звено отказывают, есть ли у сети возможность продолжать работу? Хотя для очень простых сетей, вероятно, можно установить их связность с по- мощью обследования, но в общем случае эта проблема гораздо сложнее. По- этому мы можем воспользоваться математической концепцией, называемой теорией графов и представить сеть в виде набора узлов (nodes), объединенных связями (links), что эквивалентно математической концепции графа. Направ- ленные связи обеспечивают трафик (поток обмена информацией) в одном на- правлении, тогда как ненаправленные связи обеспечивают двухсторонний тра- фик. Узлы называют смежными, если имеются прямые связи между ними. Степенью (degree) узла называют количество связей, заканчивающихся на этом узле. Минимальная степень всей сети определяется минимальной степе- нью любого из ее узлов. Регулярный граф состоит из узлов одинаковой степе- ни. Примером регулярного графа степени 2 является кольцо. Путь (path) — это последовательность узлов и связей, по которым проходит трафик от исходного узла А к узлу назначения В. Длиной пути называют ко- личество связей в этом пути. Геодезическим называют путь между узлами А и В с наименьшим количеством связей. Часто его называют наикратчайшим путем, но это не совсем правильно. Диаметр графа (то есть всей сети) опре- деляется величиной самого длинного геодезического пути. Пути с разделенными связями — это такие маршруты, которые не имеют об- щих связей. Пути ABCDE и AFGHE первой сети на рис. 4.8, а имеют разде- ленные связи, а маршруты ABCDE и АВС — нет. Во второй сети (рис. 4.8, б) разделенными связями обладают пути STUWX и SUX. Пути с разделенными узлами — это такие пути, у которых нет общих узлов. Пути ABCDE и AFGHE сети на рис. 4.8, а имеют разделенные узлы, а мар- шруты STUWX и SUX сети на рис. 4.8, б — нет. Концепция разделенных путей важна при рассмотрении надежности сети. Два пути между узлами М и N в сети (рис. 4.8, в) разделены как по связям, так и по узлам, и если связь или узел в одном из соединяющих их маршрутов отказывают, то все еще существует доступный путь для передачи данных между этими двумя источниками. С другой стороны, между узлами М и Р существует два возможных пути, но они не разделены по связям и узлам, так
Глава 4. С точки зрения сетей 91 .что если узел N или О или связь Q откажут, то никакого альтернативного пу- ,ти существовать не будет и соединение прервется. Рис. 4.8. Сети с разделенными связями и узлами в Надежность сети (то есть ее способность противостоять отказу узла или свя- зи) зависит от количества разделенных узлов или связей между узлами ис- точника и адресата. Связность по звеньям (link connectivity) между двумя уз- Лами определяется как минимальное число звеньев, которые должны быть Удалены, чтобы отсоединить источник от адресата. Например, минимальное число связей, которые должны быть удалены для от- соединения узла С от узла J в сети, показанной на,рис. 4.9, равно 3. Из рисунка Лидно, что это значение можно определить, проводя на графе отсекающие ли- онии (csl, cs2, ...). Минимальным является то отсечение, которое пересекает 'самое малое число связей. Размер минимального отсечения — это число разде- ленных путей между узлами С и J, что и определяет их связность по звеньям. ^Различные пары узлов имеют разную связность по звеньям. Такая связность Для узлов А и L (рис 4.9), определяемая линией минимального отсечения cs4, равна 2. Связность по звеньям всей сети — это минимальная связность всех пар узлов. Аналогично можно рассматривать связность по узлам (node connec- tivity) между каждой парой узлов и полную узловую связность всей сети, ко- торая определяется как минимальная узловая связность в парах узлов. Связ- ности по звеньям и узлам (С„ и С/) и минимальная степень сети (£)) связаны отношением С„ < С/ < Лтш. Другими словами, связность по звеньям сети не может превышать ее минимальной степени, а связность по узлам не может быть больше, чем по звеньям. Поскольку степень связности определяет относительную устойчивость (robustness) сети, полезно уметь рассчитывать ее связность. Существует не- сколько алгоритмов, которые отвечают на вопрос, имеет ли данная сеть связ- ность, равную т. Эти алгоритмы проверяют, имеет ли исследуемая сеть за- данную связность, но не определяют вида этой связности. Однако для определения фактической связности их можно применять итерационно.
92 Передача данных в сетях: инженерный подход Рис. 4.9. Различные отсечения на образце сети Пригодность используемого алгоритма будет зависеть от скорости достижения им соответствующего заключения, которая зависит от размеров сети. Здесь мы рассмотрим два таких алгоритма — Клейтмана (Kleitman) и Ивена (Even). Алгоритм Клейтмана Алгоритм Клейтмана, проверяющий, имеет ли сеть узловую связность, рав- ную по крайней мере ш, формулируется следующим образом. 1. Выберите любой узел N1. 2. Убедитесь, что узловая связность узла Ni со всеми другими узлами равна по крайней мере т. 3. Удалите узел Ni и все его связи. 4. Выберите второй узел Уз. 5. Убедитесь, что узел N2 имеет т - 1 соединений со всеми другими узлами. 6. Удалите узел N2 и все его связи. 7. Выберите третий узел Уз. 8. Убедитесь, что он имеет по крайней мере т— 2 соединений со всеми другими узлами. 9. Повторяйте процедуру, пока не доберетесь до узла т, т. е. выберите узел Ут и убедитесь, что он соединен по крайней мере еще с одним узлом.
^лава 4. С точки зрения сетей 93 Вели проверки всех шагов проходят удовлетворительно, то сеть имеет связ- ность, равную, по крайней мере, т. Однако, если хотя бы в одной точке алго- ритма проверка терпит неудачу, то связность не равна т. Р качестве примера рассмотрим следующую сеть (рис. 4.10). BA: BA, ВСА, BEFA ВС: ВС, ВАС, BEDC BD: BCD, BAFD, BED BE: BE, BAFE, BCDE BF: BAF, BCDF,BEF Рис. 4.10. Пример алгоритма Клейтмана — первый шаг {Выберите любой узел, скажем, пусть это будет узел В, и убедитесь, что между узлом В и всеми другими узлами этой сети существует т = 3 путей с разделен- ными узлами. Так как это условие удовлетворяется, то удалите из сети узел В вместе с его свя- |ями. Выберите другой узел, скажем, D, и убедитесь, что между узлом D и всеми другими узлами имеется т = 3 - 1 = 2 пути с разделенными узлами (рис. 4.11). Рис. 4.11. Пример алгоритма Клейтмана — второй шаг DA: DCA, DEFA DC: DC, DFAC DE: DE,DFE DF: DF, DEF Поскольку это условие удовлетворяется, то удалите из сети узел D вместе с его связями. Выберите другой узел, например, F, и убедитесь, что между узлом F и всеми другими узлами существует т = 3 - 2 = I путь (рис. 4.12). FA: FA FC: FAC FE: FE Рис. 4.12. Пример алгоритма Клейтмана — третий шаг Таким образом, связность равна по крайней мере 3.
94 Передача данных в сетях: инженерный подход Алгоритм Ивена Алгоритм Ивена, проверяющий, имеет ли сеть узловую связность, равную по крайней мере т, выполняется следующим образом. 1. Пронумеруйте узлы от I до N. 2. Сформируйте подмножество из узлов с номерами от 1 до т, где т — искомая связность. 3. Проверьте, что каждый узел в этом подмножестве имеет по крайней мере т маршрутов с разделенными узлами к каждому из других узлов в этом подмножестве. 4. Если предыдущий шаг неуспешен, то связность— меньше т. Если успешен, то перейдите к следующему этапу. 5. Для каждого из оставшихся j узлов (т <=j <-N) сформируйте подмножество узлов (£), содержащее набор, заданный в шаге 1 (размера т), увеличенный на число узлов из множества J 6. Добавьте к сети новый узел X и соедините его с каждым узлом множества L. Проверьте, что между узлом X и каждым узлом j существует по крайней мере т маршрутов с разделенными узлами. Затем добавьте к множеству L узел j, удаленный из множества J, и продолжите процедуру со следующим узлом j. Если выполнение всех шагов завершается успехом, сеть имеет связность по крайней мере равную т. Неудача в любом пункте алгоритма означает, что связность не обладает этим значением. В качестве примера выберите т - 3 узлам (В, Е и F) и подтвердите, что в этом множестве между каждой парой узлов имеется т = 3 путей (рис. 4.13). BE: BE, BAFE, BCDE BF: BAF, BCDF, BEF EF: EF, EDF, EBAF Рис. 4.13. Пример алгоритма Ивена — первый шаг Добавьте к сети новый фиктивный узел X и соедините его с узлами В, Е и F. Выберите другой узел — С, и подтвердите, что между С и новым узлом X имеется т = 3 путей (рис. 4.14).
Глава 4. С точки зрения сетей 95 СХ: СВХ, CAFX, CDEX Рис. 4.14. Пример алгоритма Ивена — второй шаг Подсоедините С к фиктивному узлу X. Выберите другой узел, А, и подтвер- дите, что между А и новым узлом X имеется m = 3 путей (рис. 4.15). АХ: АВХ, АСХ, AFX Рис. 4.15. Пример алгоритма Ивена —«.третий шаг Подсоедините А к фиктивному узлу X. Выберите другой узел — D и под- твердите, что между D и новым узлом X имеется m = 3 путей (рис. 4.16). DX: DCX, DFX, DEX Рис. 4.16. Пример алгоритма Ивена — четвертый шаг Таким образом, связность равна по крайней мере 3. 4.3. Размер сети В терминах размеров сети можно классифицировать на: □ глобальные, WAN;
дб Передача данных в сетях: инженерный подход О региональные (общегородские), MAN; О локальные, LAN. 4.3.1. Глобальные сети Глобальная сеть (Wide Area Networks,WAN) — это сеть передачи данных, которая охватывает очень большую географическую область (более 100 ки- лометров). Такие сети обычно формировались из арендованных каналов ком- мутируемой телефонной сети общего пользования (Public Switched Telephone Network, PSTN), но с недавнего времени отмена госконтроля в индустрии те- лекоммуникаций привела к тому, что многие телекоммуникационные и сер- висные компании установили высокоскоростные сети передачи данных об- щенациональных или даже глобальных масштабов. Самые высокоскоростные глобальные сети работают на скоростях порядка 10 Гбит/с. 4.3.2. Региональные сети Региональные сети (Metropolitan Area Networks, MAN) обслуживают то, что часто называют "зоной метро" и, по существу, обеспечивают передачу дан- ных для довольно густонаселенных регионов типа городов. Первоначально ограниченные зоны действия региональных сетей (порядка десятков кило- метров) позволяли определять в стандартах этих сетей более высокие скоро- сти передачи данных, чем для глобальных сетей, но современные WAN- стандарты допускают столь же высокие скорости, как и в MAN-стандартах, стирая различие между MAN- и WAN-сетями. 4.3.3. Локальные сети Локальная сеть (Local Area Networks, LAN) это система, которая имеет ограниченный географический размер и соединяет множество отдельных вы- числительных или иных устройств обработки данных (например, неречевых служб), находящихся внутри некоторого операционного узла. Она позволяет устройствам этого узла связываться с другими устройствами того же самого узла. В общем случае в таких сетях могут поддерживаться самые разные службы и скорости передачи данных, а в отношении задержек и потерь они обладают относительно высокоэффективными характеристиками. Классификация сетей передачи данных по признаку принадлежности анало- гична классификации по географическому признаку. Глобальные сети, как правило, принадлежат сетевому провайдеру и пользователям сетевых плат- ных услуг или через затраты, связанные с оплатой арендуемых каналов, или непосредственно, в зависимости от того, сколько времени они используют сеть (подобно повременному телефонному вызову). Хотя локальные вычис-
Гпава 4. С точки зрения сетей 97 лительные сети и принадлежат пользователям, но они не несут никакой от- ветственности за их использование. Главные затраты для их владельца свя- заны с закупкой и установкой таких сетей. В этом отношении региональные и локальные вычислительные сети похожи друг на друга, хотя в региональ- ных сетях могут использоваться арендованные каналы на основе сетевых несущих частот. 4.4. Типы коммутации Существует два метода организации сквозной связи через сеть — с соеди- нением и без соединения. В первом случае между передатчиком и приемни- ком устанавливается определенный марщрут передачи информации. Клас- сическим примером сетей первого типа является телефонная сеть. Во втором случае информация упаковывается в объекты, называемые дейта- граммами, которые могут прокладывать свой путь к приемнику через сеть без установки соединения. Наилучшей аналогией для сетей такого типа яв- ляются почтовые службы. Различие между этими двумя типами коммутаций весьма условно. Можно реализовать связь, ориентированную на соединения, и в системе без соеди- нений. Например, возвращаясь к почтовой аналогии, если бы компания от- правляла ежедневно послания своим менеджерам по почте, то такое сквоз- ное сообщение (компании с менеджером) было бы ориентировано на соединения, потому что в таком случае установился бы регулярный комму- никационный путь. Фактическую транспортировку информации реализует почтовая служба без соединений более низкого уровня, которая не видна на более высоких уровнях. Именно эту систему использует один из наиболее распространенных сетевых протоколов — TCP/IP. TCP — это протокол, ориентированный на соединения, тогда как IP-протокол на соединения не ориентирован. Традиционные сети связи были ориентированы на соединения, тогда как сети ЭВМ работали без соединений. Ввиду того что межкомпьютерные связи ор- ганизуются по телекоммуникационным сетям, классический межкомпьютер- ный IP-протокол часто выполняется на однонаправленном канале, исполь- зующем соединения, например, на канале с ATM (Asynchronus Transfer Mode, режим асинхронной передачи). Это означает, что протоколы TCP/IP, работая на прикладном уровне с ATM, используют режим с соединениями. Переходя на сетевой уровень, они переключаются в режим без соединений, а на ка- нальном уровне — снова переключаются в режим с соединениями. Это обу- словлено тем, что на разных уровнях системы протоколов каждый подход имеет свои преимущества.
98 Передача данных в сетях: инженерный подход Существует и другая классификация коммутационных систем — их разделя- ют на системы с коммутацией каналов и с коммутацией пакетов. Система с коммутацией каналов эквивалентна системе с соединениями, в которой пере- датчик соединен с приемником через физический канал. Системы пакетной коммутации посылают данные в виде пакетов. Если пакеты обрабатываются и направляются сетью их адресатам индивидуально, то они называются дей- таграммами, а сама система работает в режиме без соединений. Однако па- кеты могут быть и не индивидуальными, а формирующими лишь часть по- следовательности. В этом случае из пакетов формируется так называемый виртуальный канал. Классификация сетевых систем с различными режимами коммутации показана на рис. 4.17. С соединениями Без соединений С коммутацией каналов С коммутацией пакетов С коммутацией ячеек С коммутацией сообщений Виртуальные каналы С коммутацией дейтаграммы Рис 4.17. Отношения между различными типами коммутационных сетевых систем 4.4.1. Коммутация каналов При коммутации каналов между сторонами устанавливается выделенный коммуникационный путь (path), проходящий через определенные узлы сети (рис. 4.18). В традиционных архитектурах с коммутацией каналов это соеди- нение остается на одном и том же месте в течение всего вызова, хотя сущест- вуют варианты этой методики, когда такое условие не выполняется, напри- мер, при так называемой быстрой коммутации каналов. Преимуществом этого вида коммутации является то, что, как только вызов был установлен, пользователи соответствующего пути могут передавать ин- формацию, независимо от нагрузки на сеть, и это соединение гарантируется в течение всего вызова. Задержки передачи через сеть остаются постоянными и обычно незначительными. Главным компонентом задержки является время, требуемое для первоначальной установки пути через сеть. Величина этого времени зависит от конкретной сети и используемого пути. Главный недостаток этой методики— ее неэффективность. Путь остается открытым в течение всего вызова, что чрезвычайно расточительно по отно- шению к пропускной способности канала.
Глава 4. С точки зрения сетей 99 Рис. 4.18. Коммутация каналов 4.4.2. Коммутация пакетов В том случае, когда нужно передавать только очень небольшое количество информации, установка канала для передачи данных оказывается чрезвычай- но неэффективной. Лучший подход состоит в том, чтобы добавлять к данным адресную информацию и посылать их в отдельном блоке, известном под названием пакет (данных). Пакет передается соответствующему адресату через различные узлы сети. Преимуществом пакетной коммутации является то, что сеть используется только тогда, когда имеется информация для передачи, тогда как при коммутации каналов линия устанавливается незави- симо от того, имеется ли информационный поток в соответствующей точке в данный момент или нет. Это важно для некоторых служб, таких, например, как передача данных с пульсирующим трафиком. Основная форма пакета показана на рис. 4.19. В начало и конец пакета добав- ляется служебная информация — заголовок, содержащий информацию, кото- рая идентифицирует источник и адресат пакета, а также биты синхронизации, которые указывают начало или конец пакета. Пакет передается через сеть поэтапно, сохраняясь в буфере, пока соответствующее звено пути не освобо- дится. Дополнительная информация, присоединяемая к пакету для идентифи- кации его источника, адресата или сетевого маршрута, относительно невели- ка по сравнению с самим сообщением. Флажок Адрес Информация Флажок Рис. 4.10. Пакет данных
100 Передача данных в сетях: инженерный подход Существует два специальных типа систем пакетной коммутации. В системе с коммутацией сообщений, схема которой показана на рис. 4.20, пакет включа- ет все сообщение целиком. Системы с коммутацией сообщений часто назы- вают системами хранения и отправки сообщений. Хотя коммутация сообще- ний позволяет избежать разделения передаваемой информации на меньшие по размеру пакеты и последующую их сборку в приемнике, все же можно отметить несколько недостатков, связанных с использованием этого вида коммутации в коммуникационных сетях: □ размеры сообщений изменяются от десятков байтов до десятков тысяч байтов, а аппаратное оборудование должно иметь возможность сохранять все сообщения. Очевидно, что это неэффективно и существенно удорожа- ет сетевые ресурсы; □ длинные сообщения приводят к недопустимым задержкам, которые могут также влиять и на задержки коротких сообщений. Рис. 4.20. Схема коммутации сообщений Второй специальный тип пакетной коммутации называется коммутацией ячеек (рис. 4.21). В системе коммутации ячеек все пакеты, которые называ- ются здесь ячейками, имеют фиксированную длину. Такой формат позволяет уменьшить объем работ, который сетевые узлы должны выполнять над паке- тами, сохранить сложность системы на достаточно низком, а скорость пере- дачи — на довольно высоком уровне. Однако существует определенный ком- промисс, связанный с длиной ячеек. Короткие ячейки уменьшают задержку, потому что перед обработкой и отправкой каждая ячейка считывается узлом. Однако, если ячейка слишком мала, то служебная информация (заголовки и окончания пакетов) будет составлять существенную часть потока данных, что неэффективно. С другой стороны, более длинная ячейка будет увеличивать задержку, что приведет к трудностям с низкоскоростными службами переда- чи данных, такими, например, как передача речи, поскольку многие из ячеек останутся неиспользованными, что снова приведет к неэффективности сис- темы. В асинхронном режиме передачи (ATM) используется коммутация яче- ек с 48-байтовым полем информации и 5-байтовым полем заголовка.
Гпава 4. С точки зрения сетей 101 Чтобы уменьшить время обработки и размеры служебных заголовков, систе- мы с коммутацией ячеек используют виртуальные каналы, что позволяет за- ранее устанавливать путь через каждый маршрутизатор. Рис. 4.21. Схема коммутации ячеек Коммутация дейтаграмм В системе, использующей дейтаграммы, все пакеты рассматриваются и на- правляются через систему как отдельные объекты. Это означает, что пакеты от источника, предназначенные для одного и того же адресата, будут путеше- ствовать по разным маршрутам и, возможно, прибудут к адресату не в исход- ной последовательности (рис. 4.22). Маршрут, по которому проходит пакет, будет в каждый конкретный момент зависеть от состояния сети. Восстановить правильную последовательность пакетов позволяет установка в заголовке каждого пакета его порядкового но- мера. Поскольку каждый пакет направляется через сеть независимо, то заго- ловок должен также содержать адреса источника и адрес пункта назначения, а также, возможно, информацию о маршруте. Рис. 4.22. Схема потока данных, использующего коммутацию дейтаграмм Виртуальные каналы Работа виртуальных каналов немного напоминает коммутацию каналов: пер- вый пакет прокладывает путь между источником и пунктом назначения, и по
102 Передача данных в сетях: инженерный подход этому пути следуют все последующие пакеты этого источника. Таким обра- зом, пакеты не могут прибывать в пункт назначения не по порядку (рис. 4.23). Кроме того, это позволяет назначать ресурсы для информацион- ного потока на весь сеанс связи, потому что в узлах заранее известно, чего можно ожидать. Заголовок виртуального канала в принципе проще, чем заго- ловок дейтаграммы, потому что маршрут пакетов не изменяется, и не требу- ется заново восстанавливать их последовательность. Виртуальный канал — это логический двухточечный путь между двумя око- нечными станциями. Соответствующая служба обычно выполняется в три этапа: вызов (установка канала), передача данных и отмена вызова (или за- крытие канала). Для установки виртуального канала используются полные адреса источника и пункта назначения. Затем виртуальному каналу назнача- ется номер виртуального канала, который используется всеми последующи- ми сообщениями. В установленном виртуальном канале обычно выполняется управление ошибками и потоком данных. Рис. 4.23. Схема потока данных в виртуальном канале Заголовок виртуального канала короче, чем заголовок дейтаграммы, что, в принципе, обеспечивает и более высокую эффективность передачи. Задержки в системе с виртуальными каналами могут быть уменьшены, поскольку паке- ты способны быстрее обрабатываться каждым узлом, а в пункте назначения не требуется заново восстанавливать их последовательность. Однако эти пре- имущества сводятся на нет, т. к. коммуникационным службам легче пересе- кать сетевые границы, используя дейтаграммы, а не виртуальные каналы. 4.5. Качество работы сетевых служб Цель коммуникационной системы состоит в переносе информации между двумя или несколькими конечными точками сети для удовлетворения потребностей их пользователей. Пользователь взаимодействует с приложением, находящимся на прикладном уровне. После того как данные были обработаны тем или иным спо- собом, сеть взаимодействует с несколькими уровнями данных, расположенными
Глава 4. С точки зрения сетей 103 ниже прикладного уровня. Однако наиболее существенным процессом как в от- ношении изменения данных, так и в отношении восприятия пользователем этих данных, будет, вероятно, кодирование источника. Для сетевого дизайнера такая работа обеспечивает целый ряд преимуществ. Что касается приложений или служб, работающих на прикладном уровне, то их задачей может быть передача речи, видеоклипов или файлов других типов, к сети же предъявляется требование просто передавать данные адресату в соответствии с некоторыми критериями качества. В стандарте ITU-T опреде- лено несколько критериев качества обслуживания (Quality of Service, QoS), которые разбиваются на две группы — критерии, связанные и не связанные с производительностью (эффективностью) соответствующих служб. 4.5.1. Параметры качества обслуживания, не связанные с производительностью Параметры, не связанные с производительностью, напрямую не влияют на производительность коммуникационных служб, но имеют отношение к смежным с ней вопросам. О Уровень обслуживания. Определяется степенью уверенности в том, что будут достигнуты уровни обслуживания, соответствующие QoS- критериям. Уровень обслуживания называю^ детерминированным, если гарантируется заданный QoS-уровень, прогнозируемым, если QoS-уровень службы время от времени деградирует из-за статистического характера се- тевых коммуникаций или наилучшим из возможных, если соответствую- щая служба только получает сетевые ресурсы после того как были обслу- жены другие уровни, но ничего не гарантирует в отношении уровня QoS. □ Стоимость. Это плата за использование службы и получение согласован- ного качества. О Приоритет. Определяет порядок работы служб— высокоприоритетные соединения обслуживаются раньше, чем низкоприоритетные. 4.5.2. Параметры качества обслуживания, связанные с производительностью Как в стандартах ITU, так и в стандартах ISO определены параметры для прямо- го измерения качества соединений. Терминология этих стандартов слегка разли- чается, но в общем они эквивалентны. В парах приведенных далее терминов первый используется в стандартах ISO, а второй — в стандартах ITU. □ Задержка установки соединения, средняя задержка доступа или за- держка установки вызова. Задержка между вводом нового запроса на вызов соединения и подтверждением, что соединение было установлено.
104 Передача данных в сетях: инженерный подход □ Вероятность отказа при установке соединения, вероятность блоки- ровки. Вероятность того, что требуемое соединение не установлено (в пределах максимально допустимой задержки установки). □ Пропускная способность. Максимальное количество данных, которые могут быть успешно переданы в единицу времени по соединению в непре- рывном режиме. □ Транзитная задержка, задержка кадра. Количество времени между вы- дачей PDU-блока и его получением. □ Вариации задержки, "дрожание" кадра. Расхождение между минималь- ной и максимальной транзитной или кадровой задержкой. □ Скорость остаточных (не обнаруженных) ошибок, скорость кадровых ошибок (Frame Error Rate, FER). Вероятность того, что кадр или PDU-блок будет испорчен, потерян или дублирован в приемнике. □ Устойчивость, вероятность сброса соединения. Вероятность того, что соединение будет сброшено или восстановлено в пределах указанного ин- тервала времени. □ Задержка-в освобождении соединения. Задержка между выдачей конца запроса вызова и подтверждением освобождения соединения. Задержками установки и освобождения соединения управляют с помощью специальной сетевой сигнализации и маршрутизации. И хотя очевидно, что полезно минимизировать эти задержки, следует учитывать, что они случают- ся только один раз за соединение. Довольно серьезной является проблема доступности сети, которая связана с блокировками, препятствующими установке соединений, или сбросами, раз- рывающими уже существующие соединения. В общем случае сброс соедине- ний оказывается особенно нежелательным, т. к. предпочтительнее с самого начала блокировать соединение, а не прекращать его, когда оно уже функ- ционирует. Иногда используемый термин уровень обслуживания (grade of service) указывает, в первую очередь, на доступность сети, т. е. на вероят- ность отказа в установке соединения, чем он отличается от термина качество обслуживания (quality of service), в котором речь идет о предоставлении фак- тического обслуживания. Тремя фундаментальными параметрами качества транспортировки данных являются задержка (delay), пропускная способность (throughput) и искаже- ния (corruption), включающие ошибки и пропуски данных. Для первых двух параметров чаще всего используются такие характеристики, как изменчи- вость (variation) и среднее значение. Изменчивость пропускной способности
Гпава 4. С точки зрения сетей 105 обычно связывают со скоростью передачи, измеряемую в битах в секунду3. Изменчивость пропускной способности называют пульсацией (burstiness) и задают в терминах разности между средней и пиковой битовой скоростью. Требования к этим значениям часто определяется с помощью специальной службы. Вариации задержки называют дрожанием (jitter). 4.6. Пропускная способность сетей Определив требования к сети в терминах услуг, можно приступить к вычис- лению ее пропускной способности. Подходы к вычислению пропускной спо- собности сетей с коммутацией каналов и с коммутацией пакетов существенно различаются. 4.6.1. Пропускная способность сетей с коммутацией каналов В сетях с коммутацией каналов каждый терминал обеспечивается выделен- ным сетевым каналом. Однако, в силу того, что было бы слишком дорого создавать сеть с полной сеточной топологией, межузловые соединения под- держивают все терминалы сразу. Такой подход весьма удобен, поскольку большинство терминалов будут использоваться только в течение коротких периодов времени. Поэтому достаточную пропускную способность нужно ' обеспечить только в базовой части сети, учитывая максимальную ожидаемую нагрузку. Это особенно справедливо, когда имеется большое количество тер- миналов, каждый из которых используется не очень часто, как, например, в телефонной системе. Сколько ресурсов потребуется, чтобы удовлетворить пользователей, и какова вероятность того, что пользователь обнаружит, что все ресурсы заняты? Мы предполагаем, что пользователь, не найдя доступ- ных ресурсов, не будет ждать и покинет систему. Именно так обстоят дела в коммуникационной системе, в которой ресурсами являются каналы. Если количество пользователей ненамного больше, чем количество каналов, то вероятность поступления вызова от нового пользователя будет умень- шаться, когда количество пользователей, которые в текущий момент уже на- ходятся в сети, увеличивается. Однако, поскольку число пользователей дос- таточно велико, то мы можем предположить, что число пользователей, которые в текущий момент уже используют ресурсы, не влияет на вероят- ность поступления вызова пользователя в систему, ожидающую канал. Пусть 3 В отечественной литературе английское словосочетание "bit rate” вместо формального перево- да на русский язык (скорость в битах) часто называют более кратким словом “битрейт”, ко- пирующим английское произношение этого словосочетания. — Пер.
106 Передача данных в сетях: инженерный подход вероятность (частота) поступления вызовов будет равна X. В зависимости от числа используемых каналов, система может быть в нескольких состояниях. Если имеется п каналов, то существует n + 1 состояний (единица добавляется потому, что существует также и возможность того, что никакие каналы не используются). Обозначим эти состояния как Ео, Е\, ..., и пусть вероят- ность состояния i будет Р,. Это означает, что доля времени, когда система находится в состоянии равна Р,, так что вероятность получения вызова и перехода в состояние Ем равна ХР(, исключая случай i = и, когда вероятность равна 0 (так как каналов больше нет). Вероятность завершения вызова в состоянии £, зависит от продолжительно- сти вызовов. Пусть средняя продолжительность вызова, называемая средним временем удержания вызова, равна т. Это означает, что вероятность того, что вызов будет оставаться в индивидуальном канале, равна 1/т, так что если имеется i вызовов, то вероятность пребывания любого из них в этом канале равна Нт. Следовательно, вероятность пребывания вызова в канале и перехо- да в состояние Et равна Рм . Эта ситуация показана на рис. 4.24. В предположении, что система является устойчивой (какими и должны быть все практические системы), вероятности перехода в состояние и пребыва- ния в этом состоянии должны быть равны. Что дает нам следующее выра- жение 1^.= —Р/+1 Vi е {0,..., л-1}. т Рис. 4.24. Различные состояния вызовов Мы можем выразить каждую из этих вероятностей через Ро следующим об- разом P.=^Lp0 Vi 6 {0,...,н} /I (4-1)
Глава 4. С точки зрения сетей 107 Однако система всегда должна быть в одном из состояний, поэтому = 1. Использование этого равенства позволяет решить уравнение (4.1) относительно Ро, что дает (4-2) Подстановка (4.2) в (4.1) дает долю времени, в течение которого система бу- дет в состоянии занятости j вызовами. /!(2г)у hjW (43) Различие интервалов времени, которые система проводит в каждом состоя- нии, зависит скорее от произведения Хт, чем от любой из этих величин в от- дельности. Произведение частоты поступления вызовов и времени удержа- ния вызова дает среднюю нагрузку на систему. Это количество называется предлагаемой нагрузкой (offered load) и обозначается символом А. После того как А. К. Эрланг (А. К. Erlang) опубликовал эту формулу в 1917 году, предлагаемая нагрузка измеряется в эрлангах. Эрланги обычно измеряют в вызовах. Отметим также, что поступающие за- просы принято измерять количеством вызовов в час, причем измерения обычно проводятся на основе часа максимальной нагрузки, т. е. часа с мак- симальным количеством вызовов в течение дня. Если подставить А = Хт в выражение (4.3) и установить j = п, то мы получим формулу потерь Эрланга . ^ИАп Е{А,п) = ^-—. (4.4) (=о п'-А Формула потерь Эрланга определяет ту долю времени работы системы, когда она будет полностью занята обработкой уже имеющихся вызовов, и поэтому любой поступающий вызов будет блокирован. В основе этой формулы лежит следующее предположение — вероятность поступления вызова не зависит от числа вызовов, уже находящихся в системе, поэтому формула Эрланга по существу вычисляет вероятность блокировки системы. Величина этой веро- ятности обычно невелика, возможно, всего несколько процентов. Формулу (4.4) часто называют В-формулой Эрланга, где В происходит от англ. Blocked — блокированный. (Имеется и С-формула Эрланга, которая охваты- вает тот случай, когда вызовы, поступающие в заполненную систему, ставят- ся в очередь.)
/08 Передача данных в сетях: инженерный подход Предыдущее обсуждение предполагает, что любой входной канал коммута- тора допустимо соединять с любым свободным выходным каналом этого же коммутатора. Такую систему можно легко организовать с помощью устрой- ства, называемого матричным (или координатным') коммутатором, в кото- ром каждая входная линия через подходящие соединители может быть со- единена с любой выходной линией. Так как большая часть внутренних соединений не будет использоваться, то количество оборудования в такой системе можно уменьшить за счет введения многоступенчатых устройств. Они работают аналогично двум коммутаторам с промежуточной магистра- лью, но могут привести к блокировкам в коммутаторе. Поскольку в современных телефонных станциях все данные — цифровые, то можно избрать иной подход, использующий переключение с разделением времени. Каждая цифровая линия в таком коммутаторе соединяется с общей шиной через переключатель. Линия буферизирована, так что данные можно считывать и выводить с разными скоростями. Для переключения двух линий обе они присоединяются к общей шине, следовательно данные можно пере- мещать между их буферами. При этом данные движутся с высокой скоро- стью, и в распоряжении переключателя оказывается большое количество от- дельных временных интервалов, каждый из которых можно использовать для пересылки данных между парой линий. Если данные поступают в переключа- тель в восемь раз быстрее, чем может получать и отправлять любая из его линий, то для передачи этих данных он может соединить любые восемь пар своих линий. Блокировки можно предотвратить, если сделать коммутатор достаточно быстродействующим. Однако, чем быстрее работает коммутатор, тем дороже обходится его построение. На рис. 4.25 показаны различные ва- рианты архитектуры коммутаторов. 9QQQ00QQ ******* ******* а Рис. 4.25. Различная архитектура коммутаторов: а — матричный коммутатор; б — многоступенчатый коммутатор; в — коммутатор с временным разделением, использующий шину
Глава 4. С точки зрения сетей 109 Возможно разделение (совместное использование) подключений к сети не- сколькими терминалами. Для этого требуется, чтобы коммутатор подключал с каналу только один из терминалов и отсоединял другие. В качестве просто- го примера можно привести телефонный коммутатор, где все телефоны раз- деляют одну и ту же линию, причем в любой момент времени функционирует только один вызов. Аналогично устроена линия коллективного пользования между несколькими абонентами. Несколько сложнее система автоматическо- го переключения телефона/факса и, возможно, компьютера, которая автома- тически отвечает на поступающий вызов нужного устройства в зависимости от того, слышит ли она вызов факса или тон модема, и соединяется с телефо- ном или автоответчиком, если ни один их этих вызовов не слышен. Такие системы работают весьма эффективно для голосовых или факсовых вызовов, поскольку эти вызовы обычно довольно'короткие. Однако, этого нельзя ска- зать о вызовах для данных (т. е. от компьютерных модемов), которые могут привести к семейной дисгармонии и созданию хорошего рынка для телефон- ных компаний, прокладывающих вторые домашние линии. Так как телефон- ная линия физически способна обеспечить трафик для нескольких вызовов, то существует еще одна возможность — преобразовывать сигналы двух вы- зовов в цифровую форму и посылать по той же линии. Этот подход принят в цифровой сети с интеграцией служб (ISDN), но для получения обычного ана- логового телефонного сигнала и преобразования его в цифровую форму он требует более дорогого телефонного или конвертирующего оборудования (оборудование коммутатора не требует изменений, так как оно уже цифро- вое.) Более простое решение состоит в том, чтобы обеспечить вторую анало- говую линию. Так как телефонный кабель обычно снабжается двумя парами проводов, то часто требуется просто присоединить вторую пару. 4.6.2. Пропускная способность систем с коммутацией пакетов Поток обмена (трафик) данных по своей природе неравномерен. Он состоит из относительно коротких вспышек активности, сопровождаемых более длинными неактивными периодами, что контрастирует с речевым трафиком, в котором обмен информацией после установки вызова представляет собой непрерывный поток данных, распространяющихся с одинаковой скоростью. В результате трафик данных не столь идеально подходит для передачи по выделенному фиксированному каналу, как в случае коммутации каналов, и выделенный канал используется неэффективно. Лучший подход, возможно, состоит в том, чтобы объединить всю нагрузку индивидуальных каналов и совместно использовать ее всеми пользователями. Пики и спады нагрузки индивидуальных каналов могут "гасить" друг друга,
110 Передача данных в сетях: инженерный подход так что исходную ширину полосы пропускания можно свободно использо- вать для поддержки дополнительных вызовов. Статистическое мультиплексирование приводит к более эффективному исполь- зованию системных ресурсов, но им нужно пользоваться с осторожностью. Ключевой вопрос состоит в том, сколько каналов нужно мультиплексировать друг с другом. Если слишком мало, то увеличение ширины полосы пропускания может оказаться небольшим, если слишком много, то ширина полосы может оказаться недостаточной, что приведет к увеличению задержки или потерь. Выделенные каналы Мультиплексированный канал Рис. 4.26. Статистическое мультиплексирование Используя процедуры мультиплексирования, можно независимо передавать несколько отдельных потоков данных по одной и той же физической среде. Для выполнения мультиплексирования можно использовать физические свойства среды. Как это делать на физическом уровне, описывается в разд. 6.5. В частности, эту форму мультиплексирования используют совре- менные оптические и радио-сети. На сетевом уровне имеется режим мультиплексирования с разделением вре- мени (Time Division Multiplexing, TDM ). Это просто распределение времени работы звена передачи между различными службами или пользователями. В таком режиме работает, например, пакетная система асинхронного мультип- лексирования с разделением времени (Asynchronous Time Division multiplexing, ATD). Существует другой тип TDM — синхронное мультиплек- сирование с разделением времени (Synchronous Time Division multiplexing, STD), которое можно использовать для реализации систем с коммутацией каналов. В системах синхронного TDM для передачи данных используются специальные передающие кадры (transmission frames), каждый из которых содержит некоторое количество интервалов времени фиксированной длины. 4 Этот режим иногда называют режимом временного уплотнения. — Пер.
Гпава 4. С точки зрения сетей 111 Эти интервалы распределяются между пользователями. В течение выделен- ного ему времени пользователь может посылать или принимать информаци- онные элементы, а позиция интервала в передающем кадре определяет канал (пользователя). Режим называется синхронным, потому что при передаче кад- ра каждый его временной интервал всегда прибывает в пункт назначения в один и тот же момент времени, начиная от начала кадра (рис. 4.27). Кадры Рис. 4.27. Синхронное мультиплексирование с разделением времени Определение пропускной способности системы с пакетной коммутацией, ко- торая использует синхронное мультиплексирование с разделением времени, похоже на случай с коммутацией каналов. Каждый временной интервал мо- жет обслуживать только одну передачу, образуя таким образом виртуальный канал. Поэтому номер канала совпадает с номером временного интервала. Ситуация осложняется тем, что не все временные интервалы должны быть одинакового размера. Эти размеры можно устанавливать так, чтобы они были согласованы с требованиями данных соответствующего виртуального канала. Однако, хотя количество каналов может при этом изменяться, к ним приме- няется один и тот же базовый подход. В асинхронной системе разделения времени нет распределения временных интервалов для каждого маршрута передачи. Вместо этого пакеты, посту- пающие в мультиплексор, пересылаются как можно скорее. Пакеты, ожи- дающие передачи, хранятся в очереди. Когда нагрузка на систему возрастает, все большее количество временных пакетов будет ожидать передачу в этой очереди. Поэтому пропускная способность системы будет диктоваться мак- симальным количеством пользователей, желающих ждать (рис. 4.28). Это — "мягкое" ограничение, т. к. пропускная способность не ограничена опреде- ленным значением. Системы с коммутацией каналов имеют "жесткое" огра- ничение количеством доступных каналов. Рис. 4.28. Асинхронное мультиплексирование с разделением времени
112 Передача данных в сетях: инженерный подход Очередь, определяемая четырьмя параметрами, обычно обозначается как A/B/a/b, где А — распределение поступивших элементов, В — распределение обслуженных (то есть отправленных) элементов, a — количество серверов и b— максимальное количество элементов, которые могут присутствовать в очереди (необязательный параметр). В простейшем случае можно считать, что коммуникационная система имеет случайные поступления. Такое распре- деление обычно представляется показательным распределением или распре- делением без памяти и обозначается как М. Среди других распределений по- ступающих пакетов известны, например, такие, как детерминированное (D) или распределение Эрланга (£). Если пакеты имеют переменный размер, то обслуживающее распределение также будет распределением без памяти. Для простоты предположим, что очередь имеет бесконечный размер, так что па- кеты никогда не будут теряться от столкновения с до конца заполненной оче- редью. Так как есть всего один коммуникационный путь от мультиплексора и один сервер, то в результате мы имеем очередь, обозначаемую как М1М1\. Чтобы найти время, необходимое пакету для прохода через мультиплексор, мы начнем с диаграммы перехода состояний, показанной на рис. 4.29. Рис. 4.29. Диаграмма перехода состояний для очереди М/М/\ Как и в случае обсуждения формулы Эрланга в разд. 4.6.1, можно предпола- гать, что система устойчива, так что вероятность перехода в некоторое со- стояние снова должна быть равна вероятности выхода из этого состояния, т. е. А,р, = |л,+1Днт В отличие от случая обсуждения эрланга (как единицы измерения сетевой на- грузки), когда каждый вызов имел свой собственный канал, здесь имеется только один сервер, так что скорость отправки пакетов и будет постоянной и не будет зависеть от состояния системы. Предположим также, что входное распределение является распределением без памяти, так что скорость поступления пакетов р. тоже будет постоянной и не будет зависеть от состояния системы. Поэтому, А. (А,^ ^Pt ~ Wm, ^Ро = ppi, и 1р\ = рр2, так что р2 = — р, = — р0. В общем случае (яУ Л я Pi = — Ро или Pj = р р0, где р = — р, причем р должно быть меньше 1, Р
Глава 4. С точки зрения сетей 113 иначе очередь увеличилась бы до бесконечности. Так как система должна находиться в одном из своих состояний, то оо оо Еа- = Ер'А) =1. i=0 i=0 Используя тот факт, что сумма бесконечного геометрического ряда ат/' (при п а г < 1) равна---- 1 — г получим: Pt = р' А) = р'(< - р) Коэффициент использования системы определяется как отношение суммарно- го времени активности системы к полному времени ее функционирования. В данной системе это соответствует тому времени, когда в очереди находится хотя бы один пакет, и равно 1 -р^. Как только что было показано, рп = 1 - р, так что в этом выражении р — это и есть коэффициент использования системы. Нам нужно найти среднюю задержку пакетов, поступающих в систему. Для этого мы сначала должны найти среднее количество пакетов в системе N. Ве- роятность того, что в системе имеется i пакетов, равна р„ так что: N=EL ip‘= 27оipi о - =и - ipi = (1 _ +2р2 + Зр3 + •)= = О - р)р(1 + 2р + Зр2 +...) = (1 - Р)Р^-Г = 1 1 т. к. 1 + 2х + Зх +... — это разложение в степенной ряд выражения--. (1 - X)2 Закон Литтла (Little's law) утверждает, что при заданном количестве поступ- лений элементов со средней скоростью %, остающихся в системе в течение среднего времени Т, число элементов в системе составят в среднем N = кТ. А. Так как N = , то мы имеем Т = — = —-—- или, т. к. р = —, 1-р к Ц1-р) ц 5 В оригинале этот сетевой параметр называется "utilization” — использование. Речь здесь идет о коэффициенте использования как всей сетевой системы в целом, так и отдельных ее компо- нентов, таких как звенья (каналы) передачи. — Пер.
114 Передача данных в сетях: инженерный подход Предположения относительно случайных поступлений и отправлений вряд ли будут правильны на практике, но подобный анализ обеспечивает полезную от- правную точку для реальных систем. На практике трафик поступления данных не совсем случаен, но он выражает то, что известно как долгосрочная зависи- мость— основная тенденция, которая подразумевает, что в трафике группы больших пакетов оказываются вместе друг с другом. Это означает, что оценки, основанные на очередях без памяти, слегка переоценивают пропускную способ- ность системы. Более детальное планирование пропускной способности реаль- ных систем обычно выполняется путем моделирования на ЭВМ. Рассмотрим звено с пропускной способностью в 20 Кбит/с, средним трафи- ком 14 пакетов в секунду и средним размером пакета 800 битов. Пропускная способность такого звена равна 25 пакетам в секунду, так что задержка в этом звене равна Т= 1/(25 - 14) = 91 мс. Уравнение (4.5) обеспечивает основу для выполнения простых расчетов в пакет- ных сетях, а следующий пример иллюстрирует, как это можно использовать. Рассмотрим следующую ситуацию: пакетный мультиплексор обеспечивает связь с сетью передачи данных для нескольких пользовательских терминалов через выходную линию передачи, работающую со скоростью 64 Кбит/с. Известно, что в самый занятый период каждый терминал производит в среднем 3 пакета в се- кунду, а средняя длина пакета равна 400 байтам. Зададим следующий вопрос, сколько терминалов можно соединить с этим мультиплексором? Чтобы ответить на этот вопрос, необходимо связать уравнение задержки, заданное ранее, с тер- минами, которые имеют отношение непосредственно к сети с пакетной комму- тацией, при условии что допускаются следующие упрощения и предположения относительно поведения сети. □ Задержка пакета. Полная задержка асинхронного мультиплексного паке- та состоит из нескольких ключевых компонентов — задержки распростра- нения, задержки обработки в мультиплексоре, времени ожидания (в буфе- ре), прежде чем пакет будет обработан, и времени, необходимого для передачи пакета по следующему звену. Для упрощения проблемы мы бу- дем игнорировать задержки распространения и обработки — шаг вполне благоразумный, при условии, что обе задержки незначительны (в предпо- ложении коротких звеньев и быстрых процессоров) по сравнению со вре- менем передачи пакета. Задержка передачи— это просто длина пакета, поделенная на скорость передачи в битах: 3200 бит „ -----------= 50 мс. 64 000 бит/с □ Скорость обслуживания. Представляя задержку передачи просто как время удержания пакета и предполагая, что полная задержка состоит из задержки в очереди и задержки передачи, можно представить мультип-
Гпава 4. С точки зрения сетей 115 лексор как простую очередь. Поскольку скорость обслуживания пакета обратно пропорциональна средней задержке его передачи, то числовое решение тривиально: ц = 64 000/3200 = 20 пакетов в секунду. Для того чтобы ввести этот параметр в уравнение задержки для очереди типа Ml МП, нужно предположить, что длины пакетов являются случайными и подчиняются отрицательному экспоненциальному распределению. Если время передачи и, следовательно, время удержания пакета подчиняется отрицательному экспоненциальному распределению, то обслуживающий процесс можно описывать как процесс Пуассона и использовать очередь типа М1М1\. Реальные длины пакетов не обладают таким поведением, но для консервативной оценки первого порядка такое приближение доста- точно. □ Скорость поступления. Численно каждый источник генерирует 3 пакета в секунду, и мы будем предполагать, что временной интервал между по- ступлением пакетов подчинен отрицательному экспоненциальному рас- пределению, так что каждый источник пакетов можно считать пуассонов- ским. Такое предположение существенно по двум причинам: во-первых, оно позволяет применить уравнение задержки для очередей типа М1М1\, и, во-вторых, дает возможность представить общую скорость поступления пакетов как сумму индивидуальных скоростей каждого источника. Таким образом, два источника генерируют объединенный процесс поступления пакетов со скоростью 6 пакетов в секунду. □ Количество серверов. Мультиплексор состоит из единственной выходя- щей линии, таким образом количество серверов равно 1. О Размер буфера. Будем предполагать, что буферное пространство в муль- типлексоре достаточно, чтобы рассматривать его как бесконечное. Если такое предположение сделать невозможно, то система становится систе- мой с потерями, и нужно использовать альтернативную модель. Для решения проблемы вычислений, обсуждавшейся ранее, следует объеди- нить все эти предположения, чтобы использовать уравнение задержки для очередей типа М1М1\. Мы будем рассматривать эту проблему на трех уровнях сложности. Этап 1. Чтобы мультиплексор не был перенасыщен, скорость поступления пакетов не должна превышать скорости их отправления (то есть р < 1). Таким образом, общая предлагаемая нагрузка не должна превышать 20 пакетов в секунду. Поскольку каждый источник производит 3 пакета в секунду, то мы ограничены присоединением к мультиплексору максимум 6 источников. Присоединение 7 источников сделало бы предлагаемую нагрузку равной 21 пакету в секунду, и в результате произошло бы насыщение мультиплексо- ра. Соединение 6 источников с мультиплексором дает оценку среднего вре-
116 Передача данных в сетях: инженерный подход мени ожидания Т = ——— = 0,5 . Это очень высокое значение, которое неприемлемо. Теперь рассмотрим случай, когда на задержку накладывается некоторое ограничение. Этап 2. На этом этапе на мультиплексор накладывается дальнейшее ограни- чение, состоящее в том, что средняя задержка пакета не должна превышать 250 мс. Используя уравнение для очередей типа М1М1\ мы можем определить максимальный предлагаемый трафик как Т = 1 20 — А. < 0,25 с. Таким образом, максимальное число поддерживаемых источников, не может превышать 5 (5 х 3 = 15 < 16). С 5 присоединенными источниками среднее время ожида- ния оценивается как 1 20-15 = 0,2 с, что лучше, чем указанный выше Т = предел. Введение простого ограничения на задержку уменьшило число под- держиваемых источников до 1. Можно ввести дальнейшее ограничение, при- знав тот факт, что речь идет только о средней задержке — 50% пакетов име- ют задержку меньше, чем заданное значение, в то время как 50% имеют задержку больше, чем средняя. Уровни обслуживания обычно выражаются в терминах средней задержки и верхнего предела задержки, который не должен превышать указанного числа пакетов. Эта ситуация рассматривается на третьем этапе. Этап 3. Третий критерий мультиплексора устанавливается таким образом, чтобы 90% всех пакетов были переданы за 0,325 секунды. Для применения этого критерия задержку следует считать случайной величиной, которая име- ет собственную функцию плотности вероятности. Для систем типа М1М1\ можно показать, что реальные задержки имеют негативное экспоненциальное распределение Р(х < X) = 1 - е~тХ, где т = р. - А,. Доказательство такого ут- верждения нетривиально и не является предметом обсуждения в данной кни- ге. Однако это соответствует интуитивному ожиданию того, что занятость очереди по существу описывается геометрическим рядом. Мы показали, что средняя задержка, связанная с очередью М1М1\, равна Т = —-—. Чтобы рас- ц - А. смотреть третью часть проблемы нужно комбинировать это выражение с об- щим выражением для отрицательного экспоненциального распределения. На предыдущем этапе мы предположили, что, присоединив к мультиплексору только 5 источников, можно получить среднее время ожидания 200 мс. Кро- ме того, можно подсчитать вероятность того, что задержка пакета будет меньше первоначально объявленной величины (250 мс): Р(х £ 0,25) = 1 - е°'25/0-2 = 0,713.
tea 4. С точки зрения сетей. 117 |В случае с 5 присоединенными источниками (т = 5), только 80% пакетов ^ответствуют новому, более строгому верхнему пределу. Нам же необхо- димо иметь не менее 90%. Новый критерий, состоящий в том, что 90% па- кетов должны иметь задержку ниже 350 мс, определяется как l-Pfx < 0,325) = 0,9 = 1 - е 0 И5т. Решая это уравнение относительно ш, получа- дам m = 7,085 = ц - Х= 20 - X. Таким образом, А. = 12,91. Это означает, что те- перь только 4 источника должны быть соединены с мультиплексором. размер буфера. Мы предположили, что буфер мультиплексора достаточно §велик, чтобы его можно было считать бесконечным. Теперь можно вкратце рассмотреть смысл этого утверждения. На первой стадии проблемы измере- ний мы указали, что к мультиплексору можно присоединить 6 источников. В данном случае коэффициент использования системы (р) равен 0,9 (то есть 0 = 0,9), что с применением закона Литтла или при прямом вычислении (——), дает среднюю занятость буфера в 9 пакетов. Ясно, что если буфер !. 1" Р |*меет размер, достаточный для размещения 100 пакетов, то наше предполо- жение о бесконечной вместимости буфера довольно разумно. Однако, если буфер имеет размер, достаточный для размещения только 20 пакетов, то со- вершенно очевидно, что существует большая вероятность (более 10%) насы- щения буфера, и пакеты будут отвергнуты. В таком случае должна приме- няться альтернативная модель, учитывающая потери. В двух других сценариях (при 5 и 4 источниках) средняя занятость системы намного меньше (3 и 1,5 пакета, соответственно), и наше предположение о бесконечном раз- мере буфера будет выдержано. $4.7. Свойства звеньев передачи данных Кроме связности и коммутационной способности узлов, сетевые возможно- сти определяются также свойствами ее индивидуальных звеньев. Звенья {links) могут быть одно- или двунаправленными. В двунаправленном звене Пропускная способность обеспечивается в обоих направлениях, а в однона- правленном — только в одном. Двунаправленное звено можно представить в виде двух однонаправленных звеньев, работающих в противоположных на- правлениях. Звенья можно также описывать как дуплексные или полудуп- лексные. Дуплексное звено — это по существу двухточечное двунаправлен- ное звено, обеспечивающее равную пропускную способность в обоих направлениях одновременно. Полудуплексное звено — это такое звено, кото- рое может обеспечивать пропускную способность в любом направлении, но не одновременно, т. е. направление передачи в нем может переключаться по мере необходимости.
lie Передача данных в сетях: инженерный подход Главные рабочие параметры звена передачи данных: □ пропускная способность — скорость, с которой информация может быть послана по звену; □ задержка распространения— промежуток времени между моментом, когда сообщение становится доступным в передатчике для передачи, и моментом его поступления в приемник; □ искажения данных— доля сообщений, потерянных или искаженных во время их передачи. Так как искаженные сообщения обычно отвергаются, то это свойство часто называют "потерей данных". Существует определенная взаимосвязь между значениями этих параметров, особенно на физическом уровне. Увеличение пропускной способности может увеличить очереди и задержки в отдельных частях звена передачи. Весьма вероятно также, что увеличатся и искажения. 4.8. Межсетевые взаимодействия До сих пор мы предполагали, что сеть, переносящая информацию, является единственным гомогенным объектом. На самом деле это не так. В действи- тельности используется множество типов сетевых протоколов, которые по различным причинам требуют объединения друг с другом. Межсетевое взаимодействие реализуется с помощью устройства, известного под названием шлюз (рис. 4.30), который функционирует как интерфейс или канал передачи между двумя связываемыми сетями. Так как разные сети ра- ботают по-разному, то шлюз "должен браться за решение" множества про- блем, таких как перенос служб, использование протоколов, обеспечение ка- чества обслуживания, пакетных и адресных форматов и т. п. Рис. 4.30. Взаимодействие сетей через шлюз Существует два подхода к рассмотрению межсетевых взаимодействий — межсетевой (network-by-network) и сквозной (end-to-end). При межсетевом подходе формируется эффективный виртуальный канал между станциями пу- тем сращивания надежных виртуальных каналов каждой сети. При сквозном подходе предполагается, что каждая сеть снабжена дейтаграммными служба- ми, а затем, если требуется, для выполнения надежного обслуживания исполь- зуется обычный сквозной протокол. Примером стандартного формата пере- сылки данных между сетями является Internet-протокол (Internet Protocol, IP).
'Глава 4. С точки зрения сетей 119 Различают четыре типа шлюзов: повторители (ретрансляторы), мосты, маршрутизаторы и шлюзы высокого уровня. Однако на практике шлюзы не- редко выполняют множество различных функций, причем функции моста и маршрутизатора часто объединяются. 4.8.1. Повторители Повторители обеспечивают соединения физического уровня между сегмен- тами одной и той же сети (рис. 4.31). Их называют "глухими" (то есть рабо- тающими без программного обеспечения), т. к. они только копируют биты из водного сегмента в другой. Это означает, что сети А и В на рис. 4.31 — это [логически одна и та же сеть. Концентратор (hub) — это повторитель в физи- ческой звездной или логической шине локальной вычислительной сети, кото- рый пересылает биты между сетевыми адаптерами (Network Interface Cards, [NIC), которые в свою очередь могут быть или индивидуальными станциями, > или концентраторами более высокого уровня. Рис. 4.31. Стек протоколов повторителя 4.8.2. Мосты Мосты соединяют сети на канальном уровне (рис. 4.32). Их можно использо- вать для соединения двух сетей идентичного типа или для связи двух различ- ных сетей, которые имеют одинаковые сетевые уровни. Примером последних является семейство ЛВС-стандартов IEEE 802, которые предусматривают различные протоколы управления доступом к среде, но одинаковые сетевые уровни. Мосты имеют развитую логику и их можно сконфигурировать так, чтобы выборочно копировать кадры из одного сегмента сети в другой. Они, как правило, прозрачны для сети и поэтому не требуют адреса. Однако часто мосты устанавливаются таким образом, чтобы можно было осуществлять с их помощью функции управления сетью. Чтобы посылать кадры между ло- кальными вычислительными сетями, которые соединены мостами, использу-
120 Передача данных в сетях: инженерный подход ются специальные адреса управления доступом к среде передачи (МАС- ядреса). Для организации мостов между локальными сетями различных типов можно использовать так называемые многопортовые мосты. Рис. 4.32. Стек протоколов моста 4.8.3. Маршрутизаторы Маршрутизаторы используются для соединения сетей, которые имеют оди- наковые транспортные и различные сетевые уровни (рис. 4.33). Маршрутиза- тор имеет адрес на каждой из соединяемых сетей. Кадры, которые использу- ют сетевой адрес (или lntemet-адрес), передаются между сетями с помощью маршрутизатора. Такие устройства позволяют соединять сети различных ти- пов, например, локальную вычислительную сеть Института электро- и элек- тронных инженеров США (IEEE LAN) с сетью Х-25. Рис. 4.33. Стек протоколов маршрутизатора 4.8.4. Шлюзы высокого уровня Шлюзы высокого уровня обеспечивают связность между службами на транс- портном или на прикладном уровне, как показано на рис. 4.34.
Гпава 4. С точки зрения сетей 121 4.9. Маршрутизация Ключевой функцией сетевого уровня является маршрутизация пакетов ме- жду узлами источника и адресата. В случае виртуального канала или пакет- ного режима дейтаграмм выбор пути через сеть можно делать только один раз в сеансе связи. В режиме дейтаграмм решение о маршрутизации может принимать либо только исходный узел, либо (альтернативно) каждый проме- жуточный узел, который должен маршрутизировать каждый пакет. Алгоритм маршрутизации, который определяет путь отбывающего пакета, является частью программного обеспечения сетевого уровня. Например, в относительно простой сети, показанной на рис. 4*35, имеется шесть возмож- ных маршрутов, соединяющих узлы X и Y. Выбираемый путь может изобра- жаться только выходящей линией, которую допустимо использовать (в узле X, например, имеется две таких линии) или он может изображаться в виде детального многозвенного пути между источником и адресатом. В других случаях, узел вообще может не принимать никаких решений по маршрутиза- ции и будет только гарантировать, что пакет отправлен в выходящее звено, как это происходит в узле Z. Существует несколько критериев выбора алгоритма маршрутизации. В идеа- ле желательно иметь алгоритм, который был бы корректным, простым, ста- бильным, ясным, привлекательным и оптимальным. Два первых критерия самоочевидны — любой используемый алгоритм должен работать правильно и быть настолько простым, насколько это возможно. Любая реальная сеть подвержена сбоям — в звене, узле, аппаратуре и программном обеспечении, и любой алгоритм маршрутизации должен обладать способностью противо- стоять изменениям в состоянии сети без необходимости аварийного заверше- ния или повторного запуска. Важна также стабильность, поскольку трафик, представленный в сети, вероятно, значительно изменяется, и эти изменения не должны вызывать чрезмерных изменений в использовании звеньев и узлов в ущерб другим компонентам сети. Алгоритм маршрутизации должен обес- печивать справедливое обслуживание для всех пользователей. Отдельные ин-
122 Передача данных в сетях: инженерный подход дивидуумы не должны получать непреднамеренный отказ в обслуживании из-за требований, предъявляемых к сети другими пользователями. Это требо- вание должно быть сбалансировано с желанием оптимизировать производи- тельность сети. Алгоритм маршрутизации мог бы, вероятно, попытаться ми- нимизировать задержку пакетов при одновременной максимизации использования звеньев сети. Однако эти две цели конфликтуют — использо- вание может быть улучшено за счет больших наполненных очередей, что в свою очередь приводит к увеличению задержек — так что требуется некото- рого рода компромисс. Адаптивные алгоритмы базируют свои решения по маршрутизации на теку- щем состоянии системы. Неадаптивные алгоритмы не принимают во внима- ние состояние системы при выборе подходящего маршрута. Рис. 4.35. Маршрутизация Поскольку адаптивный алгоритм хорошо реагирует на изменения трафика или топологии сети, то кажется, что он должен был бы вытеснить неадаптив- ные стратегии. Однако реализация и выполнение адаптивных алгоритмов значительно сложнее, чем неадаптивных. При централизованной маршрутизации имеется специальный центральный узел, который сопоставляет всю имеющую отношение к делу информацию, вычисляет все подходящие маршруты, оптимальные и/или альтернативные, и передает эту информацию каждому узлу сети. Децентрализованные методы
’("лава 4. С точки зрения сетей 123 маршрутизации можно разделить на два вида: изолированные и распределен- ные. В изолированных методах узел использует только ту информацию о со- стоянии сети, которую он сам собрал. При распределенной маршрутизации для обновления таблиц маршрутов происходит обращение к соседним узлам, обменивающимся информацией. Изолированные схемы относительно просты •в реализации, но, в общем случае, не дают оптимальных маршрутов. Центра- лизованную маршрутизацию трудно поддерживать, если сеть изменяется. Можно комбинировать оба метода, используя динамические децентрализо- ванные методы и записывая централизованный "маршрут последней инстан- ции", по которому должен направляться пакет с неопознанным адресатом. Это увеличивает шансы того, что маршрут будет всегда найден. Возможен также подход, ставящий своей целью получить единственный, наилучший из всех возможных путей для сетевых данных. Кроме того, понимая, что для Пересылки данных адресату может существовать не один, а несколько путей, можно использовать так называемую многопутевую маршрутизацию. Она имеет то преимущество, что, неизбежно, более надежна, чем маршрутизация с единственным (обычно самым коротким) путем, однако она не всегда ис- пользует наилучший из возможных маршрутов. 4.9.1. Наикратчайший путь Наикратчайшим путем между двумя узлами называют самый лучший или .оптимальный путь, который можно использоватнкдля передачи информации •между ними. Что в действительности называть наикратчайшим путем, зави- сит от критериев, привлекаемых для его оценки. Для такой оценки можно Использовать много различных параметров: число связей (звеньев), расстоя- ние, задержку, битовую скорость передачи и стоимость. Наикратчайший путь между двумя узлами, использующий в качестве единственного критерия чис- ;ло звеньев, это не обязательно тот же путь, который считался бы наикрат- чайшим по критерию задержки. При определении наилучших, наикратчайших или оптимальных путей в сети ; необходимо иметь некоторую оценку качества каждого звена, поскольку ма- ловероятно, что все они одинаковы. Это достигается маркировкой каждого звена специальным весом, который должен вычисляться с применением опре- деленной системы мер. Конкретная мера может, конечно, изменяться для раз- ных сетей. Звенья с меньшим весом предпочтительнее звеньев с более высоким весом. Заметим также, что если единственной мерой является число звеньев, то все звенья считаются равными и имеющими одинаковый вес. Следующим шагом, учитывающим взвешенность звеньев, является поиск оп- тимального или наикратчайшего пути. В простых сетях его можно найти с помощью обычного обследования сети. Для сложных сетей возникают про- блемы, и простое обследование сетей в действительности не является подхо- дящей методикой, которую можно использовать как основу управления та-
124 Передача данных в сетях: инженерный подход ким сложным и дорогостоящим ресурсом. Здесь нужно опираться на фор- мальные методы, и есть множество алгоритмов, разработанных специально для выполнения такой задачи. Алгоритмы Белмана-Форда (Bellman-Ford) и Дейкстры (Dijkstra) берут оди- ночный узел и вычисляют наикратчашие пути между этим узлом и всеми дру- гими узлами сети. Другие алгоритмы, такие как алгоритм Флойда (Floyd), находят наикратчайшие пути между всеми парами узлов сети. Алгоритм Дейкстры Алгоритм Дейкстры, который находит самый короткий путь от данного узла до всех других узлов сети, работает следующим образом. 1. Маркируйте все узлы, кроме стартового, парой значений, состоящей из расстояния до данного узла (первоначально "оо") и именем узла подхода6 (первоначально "-"). 2. Начиная со стартового узла, выберите узел с самым низким совокупным весом; считайте этот узел "установленным" (или "фиксированным"). 3. Маркируйте соседние с установленным узлы совокупным расстоянием от стартового узла и именем узла подхода. 4. Если узел уже маркирован, то его метка заменяется на новую, совокупное расстояние которой меньше, чем существующее совокупное расстояние. 5. Продолжайте маркировку, пока все узлы не будут установлены. После фиксации всех узлов результирующий совокупный вес позволяет рас- считать самый короткий путь от исходного узла. Это можно сделать, читая в обратном порядке узлы подхода каждого узла на соответствующем пути. Рас- смотрим пример действий по алгоритму Дейкстры более подробно. 1. Каждый узел, кроме стартового, первоначально маркируется как (°о, -) (рис. 4.36). Рис. 4.36. Пример применения алгоритма Дейкстры, шаг первый Узел подхода — это ближайший (слева) соседний узел, к которому осуществляется непосред- ственный подход через маркируемый узел. — Пер.
Глава 4. С точки зрения сетей 125 2. Начните с узла А, зафиксируйте его, перемаркируйте соседние (справа) узлы В и F с учетом их расстояний (рис. 4.37). («.-) Рис. 4.37. Пример применения алгоритма Дейкстры, шаг второй 3. Теперь самым малым весом обладает узел В, поэтому повторите с этим узлом все действия пункта 2 (рис. 4.38). Рис. 4.38. Пример применения алгоритма Дейкстры, шаг третий 4. Теперь узел G имеет самый малый вес, поэтому он и используется. Новый вес для F меньше чем существующий, поэтому старая метка (6,А) заменяется новой (5,G). Тот же самое происходит и с узлом С (рис. 4.39). Рис. 4.39. Пример применения алгоритма Дейкстры, шаг четвертый 5. Повторите предыдущую процедуру для узла F. В результате узел Е должен был бы получить метку (9, F), но его существующая метка (6,G)
126 Передача данных в сетях: инженерный подход имеет более низкий суммарный вес до исходного узла, так что она оставлена без изменения (рис. 4.40). Рис. 4.40. Пример применения алгоритма Дейкстры, шаг пятый 6. Повторите процедуру для узла С (рис. 4.41). Рис. 4.41. Пример применения алгоритма Дейкстры, шаг шестой 7. Повторите процедуру для узла Е. В результате метка узла D (9,С) будет заменена на (8,Е) (рис. 4.42). Рис. 4.42. Пример применения алгоритма Дейкстры, шаг седьмой Установка узла D завершает процедуру алгоритма Дейкстры. Нетрудно ви- деть, что самый короткий путь от А до D имеет совокупный вес 8, и читая метки, начинающиеся с узла D, в обратном порядке, мы получаем наикрат- чайший маршрут: D <— Е <—G <- В <—А.
Гпава 4. С точки зрения сетей 127 4.9.2. Лавинная маршрутизация Это, возможно, самый грубый из методов маршрутизации, когда любой па- кет, полученный узлом, немедленно отправляется через все выходящие зве- нья, кроме входного звена (рис. 4.43). Такой метод всегда находит оптималь- ный маршрут, т. к. испытываются все маршруты, и информация достигнет адресата скорее всего по самому короткому из них. Однако очевидный и су- щественный недостаток метода состоит в том, что в сети начинает циркули- ровать очень большое количество пакетов, поэтому требуется некоторый ме- ханизм, чтобы упорядочить этот процесс. Один из возможных подходов мог бы состоять в том, чтобы иметь в каждом пакете специальное поле — счетчик звейьев, которое уменьшалось бы на 1 в каждом принимающем узле. Если поле становится нулевым, то пакет отбра- сывается. Значение этого поля должно лежать между числом звеньев в опти- мальном пути от источника к адресату и диаметром сети, что предотвратит бесконечную циркуляцию пакетов в сети. Вторая методика могла бы состоять в том, чтобы уникально идентифициро- вать каждый пакет и хранить в каждом узле запись всех пакетов, которые они обработали. Тогда, если узел принимает пакет, который он уже предвари- тельно отправил, то это будет дубликат, и его мо^но будет сбросить. Рис. 4.43. Маршрутизация при лавинном подходе Варианты этого подхода включают избирательную "лавину", когда пакеты отправляются только по тем звеньям, которые находятся в "правильном на- правлении", и алгоритм случайного обхода, когда пакет отправляется по оди- ночному звену, выбранному случайно, так что в конечном счете пакет доби- рается до своего адресата.
Передача данных в сетях: инженерный подход -ЦЙ9.3. Распределенная маршрутизация 'Маршрутизация по вектору расстояния и маршрутизация по состоянию свя- зей — вот два примера распределенной динамической маршрутизации, когда маршрутные узлы получают информацию о состоянии сети или оценку мар- шрутов от других узлов и затем используют их, чтобы получить таблицу или вектор маршрутизации. В распределенной системе узлы запрашивают ин- формацию, на которой они базируют свои решения по маршрутизации, у смежных узлов. Такие системы могут работать напрямую, запрашивая опре- деленную информацию через регулярные временные интервалы. Маршрутизация по вектору расстояния Маршрутизация, базирующаяся на векторе расстояния, применяется в прото- коле маршрутной информации (Routing Information Protocol, RIP), который используется для маршрутизации в сети Internet. Рассмотрим узел А в сети, показанной на рис. 4.44. Он периодически запра- шивает в узлах В и С информацию о самых коротких маршрутах от этих уз- лов до всех других узлов в сети. При этом узел А будет также получать ин- формацию о расстоянии между собой и соседними узлами и будет использовать полученную информацию для вычисления самых коротких маршрутов между собой и всеми другими узлами. Часть требуемой информа- ции может быть получена косвенно. Если в качестве параметра, на основании которого принимаются решения по маршрутизации, используется задержка, то узел А может находить расстояние до соседних узлов, посылая к каждому узлу специальные эхо-пакеты. Как только эти пакеты отправляются, стартует таймер. Он останавливается, когда отраженный эхо-пакет возвращается назад и правильно принимается узлом А, позволяя, таким образом, узлу А вычис- лить задержку, связанную с этим звеном. В примере сети, показанной на рис. 4.44, для узлов В и С требуется 10 и 12 единиц времени (соответственно), чтобы ответить и послать их текущие век- торы расстояния узлу А. Теперь узел А может сделать вывод, что для путе- шествия пакета к узлам В и С требуется 5 и 6 единиц времени соответствен- но. Оценки 6 и 4 в таблицах узлов В и С игнорируются, поскольку оценки 5 и 6 считаются более свежими. После этого получение для узла А новой табли- цы является относительно простой задачей. Рассмотрим случай определения маршрута от узла А к узлу D. Узел А оценивает, что, если он направит пакет, предназначенный для D, прямо к узлу В, то потребуется 5(АВ) плюс 4 (С - D) = 9 единиц времени. Оценка для направления пакета через узел С дает 6(АС) плюс 5 (С - D) = 11 единиц времени, так что принимается первый вы- бор — направление через узел В, Процедура повторяется для всех других, не-
Гпава 4. С точки зрения сетей 129 смежных узлов сети. Трафик между АЕ направляется через узел В с суммар- ным расстоянием 11 (5 + 6), а не через узел С с суммарным расстоянием 12 (6 + 6). Наконец, пакеты, предназначенные для узла F, отправляются не через узел В (маршрут с суммарным расстоянием 18), а через более короткий путь, проходящий через узел С, за 16 временных единиц. в А В С D Е F 6(A) ОН 12(E) 4(D) 6(E) 13(E) Рис. 4.44. Маршрутизация по вектору расстояния । Главный недостаток этой схемы — медленная реакция на "плохие" события типа аварийного отключения узлов, из-за которой система продолжает ис- пользовать непригодные маршруты. В более крупных сетях изменение длины маршрутов до всех остальных узлов сети может потребовать существенных затрат времени, если это вообще возможно. В частности, маршрутизация по вектору расстояния может продолжать посылать пакеты по направлению к звеньям, которые больше не существуют, и такие пакеты останутся циркули- ровать в сети. С другой стороны, схема хорошо реагирует на "хорошие" со- бытия, например на совершенствование маршрутов. Маршрутизация по состоянию связей Этот вид маршрутизации является улучшенной альтернативой маршрутиза- ции по вектору расстояния и теперь широко используется в практических устройствах маршрутизации, например, в протоколе OSPF (Open Shortest Path First, Первоочередное открытие кратчайших маршрутов), который все в большей степени используется для маршрутизации в сети Internet и исправ- ляет некоторые из недостатков RIP-протокола. Маршрутизация по состоянию
130 Передача данных в сетях: инженерный подход связей преодолевает такие недостатки предыдущей схемы, как счет до беско- нечности и проблему сходимости решения. В широком смысле это простая автономная схема, состоящая из четырех шагов. 1. Идентификация и контакт с соседними узлами. Для каждого узла необходимо знать, кто с ним соединен в любой заданный момент. Такую информацию получают с помощью передачи специальных пакетов. Ключевым моментом здесь является то, что каждый узел должен иметь уникальный идентификатор. 2. Определение стоимости каждого смежного узла. На этом шаге каждый узел пытается определить расстояние или стоимость, которые связаны с каждым из его звеньев, и затем создает таблицу с этой информацией. 3. Отправка таблицы всем остальным узлам. На этом шаге важно, чтобы каждый узел мог принимать эти пакеты или начинал использовать их одновременно со всеми другими узлами, иначе маршрутизация может оказаться нарушенной. 4. Вычисление каждым узлом наилучших путей ко всем остальным узлам. Для определения наикратчайшего пути до всех остальных узлов каждый узел может использовать формальные алгоритмы, такие как алгоритм Дейкстры. С этой схемой связан ряд проблем. Необходимо обеспечить, чтобы в подхо- дящие моменты времени создавались или обновлялись таблицы состояний звеньев, чтобы модифицированные пакеты правильно посылались и прини- мались, и чтобы было известно, что нужно делать, когда узлы теряются. Схе- ма, иллюстрирующая маршрутизацию по состоянию связей, показана на рис. 4.45. Подсветкой указаны маршруты, которые будет выбирать пакет ме- жду узлами А—F и F—А соответственно. Рис. 4.45. Маршрутизация по состоянию связей
Глава 4. С точки зрения сетей 131 4.9.4. Широковещательная маршрутизация В заключение рассмотрим широковещательную маршрутизацию. Она ис- пользуется в тех случаях, когда узел хочет посылать одни и те же данные Овеем другим узлам. Каждому узлу адресата можно посылать различные паке- >ты, причем каждый пакет уникально идентифицируется своим адресным по- шлем. Это может быть расточительно в части использования пропускной спо- собности системы и будет отнимать много времени, требуя, чтобы каждый <узел имел полный список всех сетевых узлов. ^Можно использовать и лавинную маршрутизацию, хотя (как в двухточечном Случае) при этом генерируется слишком много пакетов и требуется значи- ггельная полоса пропускания. ^Широковещательные пакеты могут содержать больше одного адреса в адрес- атом поле. Когда пакет достигает узла, тот проверяет таблицу маршрутизации |и адресатов, чтобы определить необходимые выходные линии. Затем изго- Ьговляются копии пакета с адресным полем, содержащим адреса только тех адресатов, которые соответствуют выходной линии, по которой отправляется ^кет. При получении такого пакета узел адресата удалит свой адрес из поля реса и повторит процедуры копирования и отправки. В конечном счете Широковещательный пакет будет содержа^ только один адрес — адрес ко- нечного узла — и, таким образом, процесс широковещательной передачи бу- щет завершен. иЕсли каждый узел знает оптимальные пути источников широковещательных ^Пакетов, т. е. дерево стоков, то пакет может быть отправлен только тем смеж- ным узлам, которые формируют часть оптимального тракта. Эта схема пре- доставляет наиболее эффективный способ передачи широковещательных па- кетов, но, учитывая динамический характер пакетных сетей и их полный размер, такую информацию практически невозможно получить. ^Существует и другой способ, при котором узел будет отправлять полученный ^Широковещательный пакет только в том случае, если он прибыл по специ- альному звену, который обычно используется этим узлом для передач широ- |Ковещательных пакетов обратно к их источнику. В противном случае пакет ^'считается дубликатом и сбрасывается. Это более простой по сравнению с ^предыдущим алгоритм, поскольку каждый узел не должен ничего знать о со- ' стоянии системы, т. е. о деревьях стоков. Такая методика называется переда- чей по обратному маршруту (Reverse Path Forwarding, RPF). На рис. 4.46 по- . казан простой пример того, как работает RPF, и выполнено сравнение этого метода с широковещательной схемой, основанной на дереве стоков.
132 Передача данных в сетях: инженерный подход 1-е звено: 2 пакета 2-е звено: 3 пакета 3-е звено: 3 пакета Рис. 4.46. Широковещательная маршрутизация: а — лавинная передача; б — схема, основанная на дереве стоков; в — передача по обратному маршруту Сравнение здесь не столь очевидно, поскольку сеть не велика. Однако, если сеть большая, то можно увидеть, что передача по обратному маршруту не будет давать столь же хорошего решения, как схема с деревом стоков, но бу- дет намного лучше, чем прямая лавина с ограничением по сегментам (hopes). Если бы последняя схема применялась к сети, показанной на рис. 4.46, в (в предположении, что предел счетчика сегментов равен 3), то было бы передано 10 пакетов, по сравнению с 8 пакетами, передаваемыми схемой передачи по обратному маршруту. 4.10. Перегрузка До сих пор мы предполагали идеальное поведение узлов. Пакеты, поступаю- щие в узел, остаются в очереди до тех пор, пока не будут отправлены дальше. Если пакеты поступают в узел со скоростью, которая приближается к пропу- скной способности узла, то пакеты будут накапливаться в буфере, и средняя задержка увеличится до бесконечности. На практике буфер имеет конечную длину, и пакеты будут теряться или будет изменяться их маршрут. Подобная
(лава 4. С точки зрения сетей 133 перегрузка (или переполнение) системы может стать результатом решений, связанных с маршрутизацией, или просто следствием непомерной нагрузки на трафик (рис. 4.47, а). Перегрузка имеет тенденцию становиться бесконеч- ной — когда один сеанс теряет пакеты, то после некоторого интервала он бу- дет делать попытку повторной передачи, которая увеличит количество паке- тов в системе и еще больше увеличит перегрузку. Это означает, что при увеличении перегрузки пропускная способность переполненной системы фактически будет уменьшаться (рис. 4.47, б). Нужно четко различать управление маршрутизацией и управление перегруз- кой. Алгоритм маршрутизации может уменьшить вероятность перегрузки, но если она все же происходит, то потребуется механизм управления перегрузкой, чтобы усилить этот эффект. Алгоритмы маршрутизации, вероятно, ухудшат ситуацию, если не будет включен механизм управления перегрузкой. Рис. 4.47. Эффект перегрузки 4.10.1. Управление на входе Виртуальный канал заранее выделяет запасное пространство в каждом буфе- ре в узлах своего маршрута, так что в каждом узле всегда имеется место для хранения поступающих пакетов. Если виртуальный канал не может распре- делить память в буферах, то вызов отклоняется. Это гарантирует, что любое увеличение предлагаемой нагрузки не оказывает особого влияния на вызовы, действующие в текущий момент. 4.10.2. Сброс загрузки Эта методика противоположна предыдущей. Никакого пространства в буфе- рах заранее не выделяется, и все вызовы конкурируют за доступ к буферам. Когда буфер приближается к заполнению, вновь поступающие пакеты сбра- сываются. При этом другие уровни и функции пытаются организовать по- вторную передачу. Ясно, что существует предел для сброса пакетов, и долж- ны быть установлены правила, позволяющие определить, нужно ли сбрасывать или сохранять пакет. Нет никакого смысла сбрасывать пакеты
134 Передача данных в сетях: инженерный подход подтверждений, поэтому в каждом узле обычно гарантируется наличие места для хранения одного или нескольких пакетов подтверждений. Сброс пакетов не обязательно должен начинаться только тогда, когда буферы полностью заполнены. Алгоритмы сброса загрузки часто начинают выборочно сбрасы- вать пакеты при заполнении буфера на 80—90%. 4.10.3. Управление потоками данных Это механизм обратной связи, с помощью которого узел генерирует специ- альные пакеты ("заглушки") всякий раз, когда нагрузка на этот узел достигает определенного уровня. Эти пакеты инструктируют источник пакетов о том, чтобы он уменьшил скорость передачи на определенную величину, предот- вращая тем самым перегрузку данного узла. Преимуществом такой методики является то, что она становится продуктивной только при высоких нагрузках и не влияет на производительность сети в нормальных условиях. Нагрузку на узел можно контролировать, оценивая мгновенное и среднее значение пара- метра его использования (utilization) или рассматривая заполнение очереди. Чтобы контролировать параметр использования звена (U), можно воспользо- ваться следующим выражением: Un = aUn^+(\-a)f, где f— параметр мгновенного использования линии (то есть/= 1, если линия занята, или/= 0, если — не занята); a — постоянная, которая определяет, как быстро узел забывает предысторию; Un— новая, a (7„-i— предыдущая оценка среднего значения параметра использования. Эффективность этого выражения зависит от оценок среднего значения параметра использования и от того, насколько быстро оно может реагировать на изменения в состоянии системы. Управление потоками данных может применяться как к дейтаграммным или виртуальным каналам, так и при сквозном (point-to-point) и поэлементном (link-by-Iink) подходе к сетевым системам. Поэтому можно иметь механизм, который контролировал бы различные системные параметры одного или не- скольких узлов или звеньев, выделяя таким образом потенциально перегру- женные компоненты сети. 4.11. Защита от ошибок Для защиты от ошибок, вносимых средой передачи в передающую систему, используется кодирование с исправлением ошибок, включающее три страте- гических направления. О Скрытие ошибок. По этой методике выполняется обнаружение ошибок, а испорченная информация отбрасывается. Остающаяся информация оказы-
%лава 4. С точки зрения сетей 135 вается доступной, и в некоторых случаях ее можно использовать так, что- бы замаскировать отсутствующие испорченные данные. Это можно сде- лать, например, повторяя предыдущий фрагмент данных, заменяя им ис- порченный участок или пытаясь интерполировать данные по окружающим значениям. Скрытие ошибок хорошо работает в речевых и аудиосистемах до тех пор, пока интенсивность ошибок не очень высока. В некоторых случаях эту методику можно также использовать для изображений, но не для общих данных. Автоматический запрос повторения передачи (Automatic Repetition Query, ARQ). Как и в предыдущем случае, выполняется обнаружение ошибок, с помощью ARQ передатчик информируется об этом и получает запрос на повторную посылку данных. ARQ имеет несколько недостатков: он требует наличия канала обратной связи к передатчику, передатчик должен хранить данные до тех пор, пока он не будет информирован о том, что они были получены правильно, а в случае ошибки в передачу данных вводится задержка. Однако с помощью схем ARQ можно добиться очень низкой интенсивности ошибок при относительно малых накладных расхо- дах и небольшом усложнении системы. Упреждающая (прямая) коррекция ошибок (Forward Error Correction, FEC). В этом случае к посылаемому сообщению добавляются дополни- тельные символы, так что у приемника появляется возможность восста- навливать сообщение, если хотя бы часть его была испорчена. В вычисли- тельном отношении FEC-методика сложна и требует дополнительных затрат при передаче, но обладает существенным преимуществом, не тре- буя обратной связи с передатчиком. Кроме того, из-за включения в пере- дачу дополнительных символов вводится лишь небольшая дополнитель- ная задержка. Можно использовать комбинации этих стратегий, пытаясь применить сначала FEC на каждом уровне, а затем используя ARQ или скрытие ошибок, если FEC-методика терпит неудачу. Методика скрытия ошибок может выполнять- ся только приложением, потому что лишь оно знает контекст данных. Наибо- лее подходящей стратегией для транспортного уровня является ARQ. 4.11.1. Обнаружение ошибок Для того чтобы система откликалась на ошибки, она сначала должна узнать, что они произошли. Здесь есть две проблемы. Во-первых, кадр, который при- был в приемник, может пострадать от одной или нескольких ошибок. Во- вторых, кадр может вообще не прибыть в приемник. От второй проблемы можно защититься, включая в каждый кадр порядковый номер. Если кадр с конкретным порядковым номером не прибывает, то он считается потерян-
136 Передача данных в сетях: инженерный подход ным. Обнаружение ошибок — более сложная задача. Передатчик вычисляет по сообщению некоторую функцию и добавляет результат ее вычисления к кадру в виде проверочной последовательности кадра (Frame Check Sequence, FCS). Когда приемник получает кадр, он вычисляет по нему ту же самую функцию, что и передатчик, и сравнивает результат с полученной FCS. Если расчетное значение отличается от того, которое было принято, то можно сде- лать заключение, что между моментами вычисления этих функций (то есть между передачей и приемом) в сообщении произошли какие-то изменения, следовательно обнаружена ошибка (рис. 4.48). ШЙЙЛЙВМ Данные Данные Рис. 4.48. Проверочная последовательность кадра Опасность заключается в том, что может произойти такая ошибка, при кото- рой используемая функция не сможет дать правильного результата. Напри- мер, если функция состоит в простом добавлении к кадру 16-разрядного сло- ва, как в пакете UDP7, и если одна ошибка добавляет к этому слову одно значение, а другая — вычитает из него точно такое же значение, то ошибка не будет обнаружена. Если придерживаться принципов, обсуждаемых далее в разд. 5.4, то для заданного числа ошибок этот эффект можно ослабить и даже устранить путем тщательного проектирования функций, вычисляющих про- верочные последовательности. Часто используются проверки с помощью циклического избыточного кода, CRC (см. разд. 5.4.3). Обычно используется 16-разрядный CRC-код, определенный комиссией CCITT, который может обнаруживать: □ все пачки ошибок длиной до 16 битов, где пачка определяется как блок, начинающийся и оканчивающийся ошибкой, и чьи промежуточные биты могут или не могут быть ошибочными; 7 UDP — сокр. от User Data Protocol, пользовательский протокол данных. — Пер.
Глава 4. С точки зрения сетей/37 •О 99,997% пачек длиной 17 битов; Л 99,998 % пачек длиной больше, чем 17 битов; О все возможные комбинации 3-х или меньшего количества случайных ощибок; □ все возможные комбинации нечетного количества ошибок. 4.11.2. ARQ Существует три типа ARQ — с остановом и ожиданием, с возвратом N кадров и с избирательным повторением. Самая простая форма этой систе- мы — с остановом и ожиданием. Каждое сообщение передается от источни- ка к адресату, а адресат посылает подтверждающее сообщение назад к ис- точнику (рис. 4.49). Источник не передает следующее сообщение до тех пор, пока не примет подтверждения приема предыдущего. В это время пе- редатчик находится в состоянии ожидания, что и объясняет происхождение термина ARQ с ожиданием. Чтобы предотвратить потерю подтверждений, используется тайм-аут (блокировка по времени), так что если источник ни- чего "не услышит" от адресата за это время, то он снова передает это же со- ;общение. Время передачи сообщения Время передачи заголовка Время распространения Время передачи подтверждения Время распространения Перед атчи) Приемник т/С й/С т а/С Данные Заголовок Передача сообщения Данные Заголовок Время т ‘^Передача подтверждения Рис. 4.49. ARQ с остановом и ожиданием Коэффициент использования (utilisation) канала определяется как доля време- ни активности канала. Если кадр состоит из h битов заголовка и т битов со- общения, подтверждение содержит а битов, скорость передачи канала — В бит/с, а задержка распространения (время, которое требуется для перехода сообщения от передатчика к приемнику) равна т, то в идеальном, свободном от ошибок, звене потребуется (h + т)!В + т Секунд, для того чтобы кадр дос- тиг приемника. Затем приемник подтвердит получение этого кадра, посылая подтверждение, которое будет получено источником кадра через а/В + т се- кунд. Теперь узел может передавать следующий кадр. Таким образом, полное
1$8 Передача данных в сетях: инженерный подход время (с), требуемое для передачи одиночного кадра, равно ----= 2т. В течение этого периода передается m битов сообщения, так что полезное время равно m/В. Коэффициент использования равен отношению полезного времени (то есть времени передачи информационных битов /и) к общему ко- тя личеству времени, затраченному на передачу кадра, т. е. -----—-. п+т+а+ 2Вх Для высокой степени использования канала требуется, чтобы заголовок и подтверждение были короткими, а время распространения — небольшим. Для преодоления неэффективности ARQ с остановом и ожиданием можно продолжать передавать новые кадры, не ожидая получения никаких подтвер- ждений (ASK-сообщений8). Для числа9 кадров, ожидающих получения под- тверждения, устанавливается некоторый максимум, а соответствующий про- токол называют ARQ-протоколом со скользящим окном. ARQ-протокол с остановом и ожиданием часто называют ARQ-протоколом со скользящим окном размера 1. Использование таких окон обеспечивает определенную сте- пень управления потоком данных и предохраняет передающий узел от пере- полнения приемника (что весьма вероятно в случае повторной передачи) и, кроме того, задает верхний предел для объема необходимого буферного про- странства. Чтобы справиться с потерей подтверждений, можно для каждого кадра ис- пользовать тайм-аут (как в ARQ с остановом и ожиданием). Если подтвер- ждение не было своевременно получено, то интервал тайм-аута завершается по таймеру, а передатчик предполагает, что кадр потерян, и что нужно по- вторно передать только что переданный кадр. В качестве альтернативного способа обнаружения потерянных кадров можно отслеживать на принимаю- щем конце канала передачи перерывы в их последовательности. Существуют два режима повторной передачи: или передатчик передает толь- ко тот кадр, в котором была ошибка (избирательная повторная передача), или он также повторно передает все кадры, которые были переданы после потери кадра (повторная передача с возвратом N кадров). В избирательной схеме передатчик повторно посылает только тот кадр, кото- рый был ошибочным. Преимущество этой схемы заключается в том, что она иенее расточительна с точки зрения пропускной способности канала, но за- висит от способности приемника гарантировать, что кадры поставляются се- тевому уровню в правильном порядке. Это означает, что сетевой уровень АСК — сокр. or acknowledgement (подтверждение). — Пер. Это число называют окном (window). — Пер.
Гпава 4. С точки зрения сетей 139 должен правильно буферизовать полученные кадры во время ожидания по- вторно передаваемых кадров. В схеме с возвратом N кадров, передатчик "возвращается назад" к потерян- ному кадру и от этой точки снова посылает все кадры. Преимущество этого подхода состоит в том, что в приемнике не требуется буферизации или по- вторного построения последовательности кадров. Но вследствие того, что эта схема ARQ требует повторной передачи даже тех кадров, которые, возможно, были приняты правильно, она не столь эффективна в случае ошибок, как схема с избирательной повторной передачей. •Вели задержка распространения мала, и поэтому перед получением подтвер- ждения передается мало кадров, то число кадров, на которые воздействует эта схема, также будет небольшим. Однако в сетях с большим числом длин- ных звеньев может появиться довольно существенная задержка, так что по- рядок повторной передачи можно будет сохранять только за счет уменьше- 'Ния пропускной способности. нВ системе с возвратом N кадров для определения того момента, когда про- изошла ошибка или когда были приняты дубликаты кадра, приемник прове- ряет порядковые номера кадров. Если был получен правильный кадр с поряд- ковым номером N, то следующий полученный кадр должен иметь номер ,2V+ 1. Если номер следующего принятого кадра равен N+ 2, то кадр с номе- ром N+ 1 считается потерянным. * ’В протоколах со скользящим окном роль порядковых номеров является ре- шающей. Когда передается кадр, ему приписывается номер, который опреде- ляет порядок его вывода по отношению к другим кадрам. Эти номера исполь- зуются приемником для того, чтобы гарантировать, что кадры, передаваемые йа сетевой уровень, расположены в правильном порядке. •Диапазон допустимых порядковых номеров является функцией размера окна метода повторной передачи. В случае протокола со скользящим окном раз- мера 1 требуется одноразрядный порядковый номер. В общем случае для ок- на размером К кадров, диапазон требуемых порядковых номеров простирает- ся от 0 до 2X4-1 для системы, использующей избирательную повторную передачу, и от 0 до Х4-1 — для систем с возвратом N кадров. Для указания последовательного номера в каждом кадре обычно задается специальное поле "размером в 3 или 8 разрядов. Вычисление коэффициента использования (р) для протоколов со скользящим окном несколько сложнее. Здесь различают два случая. При большом окне его размер оказывается достаточным для непрерывной передачи в условиях отсутствия ошибок. В случае маленького окна его размер не достаточен для не- прерывной передачи, но можно использовать эффективную схему ARQ с оста- новом и ожиданием, позволяющую одновременно передавать несколько кадров.
140 Передача данных в сетях: инженерный подход Пусть на передачу кадра затрачивается h + m В секунд, а на прием подтвер- ждения — 2т + секунд. Это В означает, что при ожидании подтверждения (2т + a / В) 2Вт + а _ . , можно передавать —------ -------- кадров. Если размер окна на 1 (или ((h + m)/В) h + m на еще большую величину) больше, чем это значение, то возможна непре- рывная передача, а коэффициент использования в таком случае определяется как m/(h + m). Дополнительная единица в этом условии появляется из-за на- чального кадра, для которого было получено подтверждение. В случае не- большого окна его размер (W) удовлетворяет следующему соотношению: W < (2Вт + a)/(h + m). „ „ - h + m + а ~ За каждый временной интервал размером в-------+ 2т секунд можно пе- В редать W кадров, так что эффективность свободной от ошибок передачи воз- , W(h + m) растает (в формуле ее вычисления появляется множитель-----------). (h + m + а + 2Вт) Поэтому в канале с малым окном эффективность можно вычислять по фор- муле m W(h + m) h + m (h + m + a + 2Вт) ’ где W— размер окна для случая ARQ с остановом и ожиданием. На рис. 4.50 показаны схемы работы ARQ различных типов. В каждом случае канал страдает от ошибок в одной и той же точке. Для ARQ с остановом и ожиданием (рис. 4.50, о) 1, 2 и 3-й блоки передаются и принимаются пра- вильно, т. к. первый пакет ошибок канала происходит в период ожидания. 4-е сообщение искажено ошибками и имеет отрицательное подтверждение, по- этому оно передается повторно. Для случая ARQ с возвратом N кадров (рис. 4.50, б) первый пакет ошибок искажает 2-й блок сообщения, но источ- ник находится в счастливом неведении, пока не примет подтверждение, пе- редавая за это время 3-й и 4-й блоки сообщения. После этого источник дол- жен вернуться ко 2-му блоку и передать его снова. В таком случае величина N должна быть равной 3 или больше. Если бы N было равно только 2, источ- ник должен был бы остановиться после передачи блока 3 до тех пор, пока не будет принято подтверждение приема блока 2. В системе ARQ с избиратель- ным повторением передачи (рис. 4.50, в) предполагается также наличие ми- нимального буфера для хранения по крайней мере 3-х блоков, и повторно передается только ошибочный блок. Обратите внимание, что эта система передает 11 блоков, в то время как другие системы справляются только с 7 или 5 блоками.
Гrjaea 4. С точки зрения сетей 141 ARQ с остановом и ожиданием ARQ с возврвтом N кадров Пакет ошибок Пакет ошибок ARQ с избирательным повторением а В Рис. 4.50. Работа различных типов ARQ Если в блоке есть ошибки, то его нужно передавать повторно. Поэтому для уменьшения количества повторно передаваемой информации разумно иметь короткие блоки. Однако уменьшение длины блоков приводит к увеличению количества сообщений и подтверждений, а в случае передачи, свободной от ошибок, и к уменьшению коэффициента использования канала (из-за того что заголовок имеет минимальный размер). Коэффициент использования для ARQ с остановом и ожиданием при возник- новении ошибок можно рассчитать следующим образом. Пусть используется тайм-аут, который запускает повторную передачу, если не получено под- тверждение. Минимальный размер интервала тайм-аута равен 2/ + а/В (время, которое обычно требуется для возврата подтверждения). В этом случае кадры будут передаваться с одним и тем же интервалом, независимо от того возни- кает ошибка или нет. Пусть Pf— вероятность потери кадра, а Ра — вероят-
142 Передача данных в сетях: инженерный подход ность потери подтверждения. Вероятность правильного приема кадра pJ = (l-Pz)(l-Ря). Поэтому полезная пропускная способность (в кадрах) равна тхР„ а коэффициент использования вычисляется как mPJ(h + m + a + 2Вх). Подобный подход можно использовать и для ARQ с избирательным повторе- нием передачи, если допустить некоторое упрощение, состоящее в том, что повторные передачи потерянных пакетов — это еще не сами потери, и что система должна уменьшить число пакетов, которые она посылает вследствие переполнения буферов. Это соответствует условию низкой интенсивности ошибок. В'таком случае коэффициент использования свободной от ошибок передачи равен Р,, так что для случая большого окна он становится равным mPg/(h + m), а для случая малого окна — равным mWPsl(h + m + a + 2Вт). К сожалению, мы не можем прямо применять этот подход для ARQ с возвра- том N кадров, потому что в дополнение к тому, что нужно снова посылать более одного кадра (А кадров в случае большого окна и W кадров — в случае малого окна), неудача в повторной передаче сбойного кадра заставит прото- кол остановиться. Однако, если допустить упрощение, состоящее в том, что этого не случится, то каждый потерянный кадр приведет к повторной переда- че N или W кадров. Среднее число передач, требуемых для того, чтобы полу- чить успешно переданный кадр, равно MPS. Средне число повторных передач на 1 меньше, чем эта величина, т. е. 1/Р4—1, так что общее количество пере- данных кадров будет равно (1/Л- 1)А+1 для большого окна или (\/Ps- l)W +1 — для малого. Из-за этого множителя коэффициент использования уменьшается и становится равным г^-((1/Л-1)А + 1) — для большого окна Л + m rn IIP ~г-----------((1 / А - 1)^ + 0 — Для малого окна п + m + a + 2Вт На рис. 4.51 показаны графики относительной производительности схем ARQ с остановом и ожиданием и с избирательным повторением для систе- мы со скоростью передачи 1 Мбит/с, 40-разрядным заголовком и 40- разрядным пакетом подтверждения. Показаны два случая: с задержкой рас- пространения в 10 мкс, наиболее вероятной для локальных каналов, и с задержкой распространения 10 мс, представляющей быстрый многосег- ментный канал. Внутригосударственные каналы могут иметь задержки распространения порядка сотни миллисекунд, увеличивающиеся во много раз на континентальных каналах, где используются спутники (см. разд. 6.3.3). Вероятность появления ошибочного бита на передаваемых данных или на их подтверждении равна 10"4.
Гпава 4. С точки зрения сетей 143 Рис. 4.51. Относительная производительность схем ARQ: 1 — с остановом и ожиданием (задержка 10 мс); 2 — с остановом и ожиданием (задержка 10 мкс); 3 — с избирательным повторением (оба случая) Нужно заметить, что во всех случаях коэффициент использования увеличи- вается до максимума и затем быстро спадает. Начальный рост происходит потому, что увеличение размера пакета пропорционально уменьшает не- производительные затраты при передаче сигналов. Однако из-за того, что вероятность побитовых ошибок фиксирована, вероятность правильного приема пакетов с увеличением их размеров уменьшается, и на правой сто- роне кривых (см. рис. 4.38) этот фактор начинает доминировать. Например, при интенсивности побитовых ошибок 10*4 только около трети пакетов раз- мером в 10 000 битов будут приняты правильно. Лучше всех работает ARQ с избирательным повторением, и это справедливо всегда. Для пакетов больших размеров (и поэтому с большой интенсивностью ошибок) для под- держки показанной на рис. 4.51 производительности требуются буферы больших размеров, причем, если размер буфера ограничен, то производи- тельность будет уменьшаться, приближаясь к случаю ARQ с остановом и ожиданием. При низкой интенсивности ошибок производительность ARQ с возвратом N кадров приближается к производительности ARQ с избирательным повторе-
144 Передача данных в сетях: инженерный подход нием, а при высокой интенсивности ошибок — к производительности ARQ с остановом и ожиданием. В силу того, что на практике системы разрабатыва- ются таким образом, чтобы обеспечить низкую вероятность повторной пере- дачи, это означает, что ARQ с возвратом N кадров часто оказывается пред- почтительнее других схем. Обратите внимание, что приведенные выше аппроксимации производительности ARQ с возвратом N кадров не поддер- живаются в этом примере для пакетов с размерами, превышающими пример- но 1000 битов, потому что вероятность повторной передачи превышает 10%, а вероятность остановов повторной передачи незначительна. Но будьте осто- рожны— применение формулы в случае высокой интенсивности ошибок создает ложное впечатление, что ARQ с возвратом N кадров работает хуже, чем ARQ с остановом и ожиданием, что невозможно. Задержки распространения не сильно влияют на ARQ с избирательным по- вторением (в предположении, что буфера имеют достаточно большой объем), но этого нельзя сказать об ARQ с остановом и ожиданием. При не- больших задержках распространения ARQ с остановом и ожиданием имеет разумную производительность, но если система должна относительно долго ждать подтверждения, то время ожидания становится довольно существен- ным. ARQ с избирательным повторением превосходит ARQ с остановом и ожиданием даже при небольших задержках распространения, но для низкой интенсивности ошибок это различие не очень велико. Для более высокой интенсивности ошибок различие увеличивается. Например, при интенсив- ности ошибок 10 3 максимальный коэффициент использования ARQ с изби- рательным повторением равен -65%, тогда как для ARQ с остановом и ожи- данием —50%. Однако в любом случае коэффициент использования не особенно высок, и лучшая стратегия состояла бы в том, чтобы использовать некоторое предварительное исправление ошибок, позволяющее уменьшить высокую интенсивность ошибок на более низких уровнях. Обсуждение от- носительных достоинств этих двух подходов приводится в разд. 5.5. 4.12 Службы транспортного уровня Сетевая часть коммуникационной системы охватывает два уровня стека про- токолов OSI — транспортный и сетевой. Сетевой уровень отвечает за мар- шрутизацию, а механизм маршрутизации должен охватывать сеть или сети, лежащие в основе этой системы. Транспортный уровень обеспечивает транс- портный протокол, который выполняет транспортировку сообщений от од- ного сетевого процесса к другому и совершенно не зависит от сетевого уров- ня. Работа транспортного уровня, по существу, должна обеспечить сквозное
Глава 4. С точки зрения сетей 145 взаимодействие, которое не зависит от сетевой инфраструктуры. Он должен иметь дело с адресацией, установкой соединений, управлением потоком дан- ных и восстановлением после аварийных отказов. Чтобы обслуживать различные типы сетей (например, сети с соединениями и без соединений) и различные запросы приложений, транспортный уровень предлагает несколько классов различных служб. Классы транспортных служб определены как в модели Международной организация по стандартизации (ISO), так и в модели Internet. Первые были разработаны скорее для общих телекоммуникационных служб, а не для служб передачи пакетных данных. Развитие же Internet означает, что, хотя эта система обеспечивает только два класса служб — протокол пользовательских дейтаграмм (UDP), работающий без соединений, и основанный на соединениях протокол управления переда- чей (TCP), но именно такая модель сейчас наиболее популярна. Подобное же разнообразие представлений можно заметить и в отношении услуг, предоставляемых сетевым уровнем транспортному. В подходе OSI се- тевой уровень может обеспечить 3 разных службы для трафиков различных типов. В подходе Internet имеется только одна служба— Internet-протокол (Internet Protocol, IP). IP — очень простая служба, предназначенная для рабо- ты в нескольких, возможно, различных сетях. Разработчики протокола стави- ли своей целью построить некоторый общий знаменатель для любых сетей, позволяющий в то же время сделать лежащую в его основе сеть более про- стой. Популярность IP-протокола связана с тем, что он позволил разработать Протоколы некоторых служб, которые никогда ранее не выполнялись по IP, например, голосовых. Обе модели поддерживают службы с соединениями и без соединений, но в различной манере. OSI выдает свое телекоммуникационное происхождение поддержкой обеих служб на сетевом уровне, но на транспортном уровне предлагает только службы, ориентированные на соединения. Подход Internet обеспечивает сетевой уровень без соединений, но на транспортном уровне обеспечиваются обе службы — с соединениями и без соединений. 4.12.1. Адресация Для того чтобы вступать в связь, объекты должны обладать способностью оп- ределять местонахождение и адресовать своих одноуровневых партнеров. Сле- дует отличать адреса транспортного уровня от адресов сетевого уровня. Адреса транспортного уровня должны отображаться на процессы, использующиеся для идентификации фактически общающихся друг с другом объектов, которые, вероятно, являются отдельными процессами на хост-узлах10 сети. Сетевой уро- вень посылает информацию к определенному терминальному устройству, так что адреса сетевого уровня относятся к самому терминалу. 10 Хост — любое устройство, подключенное к сети и использующее протоколы TCP/IP. — Пер.
146 Передача данных в сетях: инженерный подход Иерархическая адресация Иерархическая адресация использует ряд полей, каждое из которых более точно определяет размещение адресуемого объекта. В качестве примера можно привести телефонный номер в формате <страна, город, АТС, номер телефонам Иерархическая адресация часто используется на сетевом уровне, где она упрощает маршрутизацию, поскольку в адресе неявно указывается место расположения адресата. Однако вследствие того, что транспортный уровень не занимается маршрутизацией, то такое преимущество не использу- ется. На самом деле это может оказаться и недостатком, т. к. если поддержи- вающий связь объект перемещается в новое расположение, то он не может взять с собой и свой адрес, потому что тот содержится в сетевом компоненте. Возвращаясь к примеру телефонной сети, можно привести следующую ана- логию: если бизнесмен перемещается в новую географическую область, он не может взять с собой свой номер телефона, если этот номер является стан- дартным номером АТС. Новые персональные номера, начинающиеся в Вели- кобритании на 07, можно перемещать, поскольку они используют структуру простой, так называемой сплошной (flat) адресации, описанной далее. Одна- ко, поскольку телефонная сеть использует иерархическую нумерацию, то во время установки вызова сплошной адрес должен быть преобразован в иерар- хический. Это накладывает на сеть дополнительные обязательства. Сплошная адресация Сплошные (flat) адреса используют единое поле, без специальной привязки к географической или иной иерархии. Это поле должно быть достаточной дли- ны, чтобы представлять адреса всех точек доступа к транспортным сетевым службам. Чтобы гарантировать уникальность каждого адресного идентифи- катора, сплошная адресация требует централизованной записи всех назна- ченных адресов. Поскольку эта запись может быть распределенной, то уста- новка соединения может оказаться более сложной задачей. Сплошная адресация позволяет общающимся сторонам быть более мобильными, но маршрутизация при этом оказывается более сложной. Протокол начального соединения Если система предлагает множество служб, то невозможно назначить посто- янные транспортные адреса для каждой из них. Одним из решений этой про- блемы является процедура, называемая протоколом начального соединения (Initial Connection Protocol, ICP), использующим так называемый сервер про- цессов (process server). Потенциальные пользователи любой службы сначала соединяются с сервером процессов, который затем генерирует новый процесс и назначает транспортный адрес для этого нового процесса. Затем сервер процессов отсоединяется от пользователя, и тот получает возможность со- единиться с новым процессом (рис. 4.52).
jl.12.2. Классы транспортных служб OSI В модели OSI имеется пять классов транспортийх служб. Сетевой уровень ЙНогда бывает ненадежен, поэтому могут существовать остаточные ошибки, |; е. ошибки, которые все еще присутствуют после того, как более низкие уровни выполнили их обработку. Кроме того, могут существовать так назы- ваемые сигнализирующие отказы (signalled failures). Так называют ошибки, обнаруживаемые сетевым уровнем, с которыми он не может справиться. Транспортный уровень должен самостоятельно обнаруживать остаточные Ошибки. В модели OSI определены сети следующих трех типов: □ тип А — сетевые соединения с приемлемым уровнем остаточных ошибок и приемлемым уровнем сигнализирующих отказов; О тип В — сетевые соединения с приемлемым уровнем остаточных ошибок и с недопустимым уровнем сигнализирующих отказов; О тип С — сетевые соединения с уровнем остаточных ошибок, неприемле- мым для пользователя транспортных служб. Для этих сетей определено пять служб транспортного уровня: □ класс 0 — это простой класс, используемый в сетях типа А, т. е. сетях, ко- торые самостоятельно обеспечивают приемлемую производительность.
148 Передача данных в сетях: инженерный подход Он был разработан предшественником CCITT для использования с теле- ксным оборудованием, обеспечивая соединения, базирующиеся на управ- лении потоком данных сетевого уровня с освобождением соединений; О класс 1— это основной класс с исправлением ошибок, используемый в сетях типа В. Он был разработан CCITT и предназначен для работы в се- тях Х25, где он обеспечивает минимальное восстановление после ошибок (до уровня сетевых сигнализирующих ошибок); О класс 2 — это класс мультиплексирования, используемый в сетях типа А. Он является усовершенствованной версией транспортных служб класса О и, подобно этим службам, предполагает надежное сетевое обслуживание. Службы этого класса поддерживают мультиплексирование множествен- ных транспортных соединений на одном сетевом соединении наряду с ин- дивидуальным управлением потоком данных для каждого транспортного соединения; □ класс 3 — это класс служб с исправлением ошибок и мультиплексирова- нием, используемый в сетях типа В. Он является комбинацией классов 1 и 2 и обеспечивает мультиплексирование и управление потоком данных (как в классе 2) наряду с восстановлением синхронизации (как в классе 1) для сетей, склонных к отказам; □ класс 4 — этот класс обеспечивает обнаружение и исправление ошибок и используется в сетях типа С. В отличие от других классов, которые тре- буют сетевых служб, базирующихся на соединениях, службы 4-го класса могут поддерживать сетевые услуги без установки соединений. Он пред- полагает, что сетевое обслуживание ненадежно, имеет недопустимо низ- кий уровень управления остаточными ошибками и обеспечивает управле- ние потоком данных, установку/завершение соединения и восстановление после сбоя. Транспортная служба класса 4 ISO и транспортная служба TCP Internet ана- логичны. Однако все транспортные службы ISO ориентированы на установку соединений, и в них нет никакого эквивалента транспортной службе UDP Internet. 4.12.3. Классы транспортных служб Internet В модели Internet реализован другой подход. Он, по существу, предполагает, что сеть может обеспечивать только ненадежное обслуживание без установки соединений, и обеспечивает только два транспортных класса — TCP, кото- рый соответствует службе класса 4 ISO, и UDP, который не поддерживает соединений. Оба эти протокола работают над IP-протоколом, который явля- ется отдельной службой сетевого уровня и разработан для того, чтобы испол- нять роль "игрового поля" этого уровня, на котором доступна любая сеть.
Глава 4. С точки зрения сетей__________________________________149 Протокол пользовательских дейтаграмм Протокол пользовательских дейтаграмм (User Datagram Protocol, UDP) обеспечивает простой механизм, работающий без установки соединений и позволяющий приложениям обмениваться сообщениями. Хотя факт отсутст- вия установки соединений означает, что протокол имеет очень низкий уро- вень непроизводительных затрат (служебных данных) при передаче, это так- же означает, что в нем нет никакого управления ошибками или потоком данных. Для некоторых служб реального времени с очень низкими требова- ниями к задержкам, таких как передача речи, отсутствие управления потоком является преимуществом, поскольку любые потерянные данные никаким об- разом не могут быть повторены. UDP используется также для передачи ши- роковещательных сообщений, т. к. подход с установкой соединений в этом случае неприменим, а для периодических сообщений, подобных сообщениям для модификации таблиц маршрутизации, потеря данных не имеет значения, поскольку существующие данные можно сохранять до следующей модифи- кации. Некоторые службы, подобные службе доменных имен (Domain Name Service, DNS), которая могла бы использовать TCP, обычно используют UDP (ради эффективности). Вместо ненужной траты времени на установку соеди- нения и добавления нагрузки на хост-узел, выполняется UDP-запрос без ус- тановки соединения. Если этот запрос или отклик на него потеряны, тб после тайм-аута будет испытан другой DNS-сервер. Протокольная единица обмена (Protocol Data Unit, PDU) протокола UDP име- ет заголовок, содержащий четыре 16-разрядных поля (рис. 4.53). Два первых поля (порт источника и Порт назначения) содержат ссылки на процессы при- ложений на локальном и удаленном хост-узлах, соответственно, исходный порт — необязательное поле; оно устанавливается в ноль, если такой порт не используется. В поле длина дейтаграммы указывается общее количество ок- тетов в дейтаграмме, включая заголовок. Порт источника Порт назначения Длина дейтаграммы Контрольная сумма Данные (максимальная длина 65 527 байтов) Рис 4.53. Пакет UDP Обратите внимание, что сегмент UDP не содержит адреса получателя, а толь- ко номер его порта. Это происходит потому, что UDP разработан для транс- портировки через IP-протокол, и эту информацию (адрес получателя) содер- жит IP-заголовок, описываемый в разд. 4.13. Есть и еще одна проблема — поскольку заголовок UDP не содержит прямо информацию об адресе получа-
150 Передача данных в сетях: инженерный подход теля, то UDP-дейтаграмма может быть доставлена в неправильный хост-узел, и транспортный уровень ничего не будет знать об этом. Чтобы решить эту Проблему, ИЗ полей Адрес источника, Адрес назначения, Протокол И Длина заголовка пакета IP (см. рис. 4.56) формируется псевдо-заголовок, который добавляется к дейтаграмме UDP с целью вычисления контрольной последо- вательности кадра. Эта последовательность представляет собой дополнение до единицы" арифметической суммы дейтаграммы, вычисляемой последова- тельно по всем ее 16-разрядным полям. Если дейтаграмма доставляется на неправильный хост-узел, то контрольная сумма будет ошибочной. Поле Контрольная сумма— не обязательно устанавливается в ноль, если кон- трольная последовательность не используется. Но если она используется, то промежуточные маршрутизаторы могут проверять ее и сбрасывать испорчен- ные пакеты (для сохранения сетевой загрузки). Обратите внимание — сказанное означает, что UDP-протокол зависит от IP- протокола и не может использоваться как транспортный протокол для других сетевых протоколов. Однако эта зависимость работает только в одном на- правлении— IP-протокол не ограничивается поддержкой только UDP- протокола. Протокол управления передачей (TCP) Протокол управления передачей (Transmission Control Protocol, TCP) — это ориентированный на соединения коммуникационный протокол, предназна- ченный для работы с IP-протоколом (рис. 4.54). Подобно UDP, TCP позволя- ет организовать связь между определенными процессами на каждом хост- узле, так что между двумя хост-узлами может существовать много различных соединений одновременно. Однако, поскольку идентификация соединения выполняется на основе портов каждого хост-компьютера, то для пары соот- ветствующих узлов может существовать только одно соединение— между портом источника и портом адресата. Поскольку IP-протокол обеспечивает недостаточно надежный механизм пе- редачи, а TCP-протокол ориентирован на соединения, то последний должен обеспечить механизмы, гарантирующие, что любые потерянные или иска- женные данные перед их доставкой к верхним уровням будут восстанавли- ваться. Для этого используются механизмы ARQ. Работа TCP разделена на три этапа: установка соединения, передача данных и завершение соединения. На этапе установки соединения из-за недостаточной надежности сетевого обслуживания используется тройное квитирование. 11 Дополнение до единицы некоторого числа — это его двоичное представление с инверсией всех разрядов: 0 заменяется на 1, а 1 — на 0.
Гпава 4. С точки зрения сетей 151 Рис. 4.54. Протокол управления передачей (TCP) TCP является полнодуплексным поточно-ориентированным протоколом. Данные непрерывно передаются в TCP из протокола верхнего уровня. Затем они произвольным образом разделяются на блоки (сегменты). Являясь пол- ным дуплексом, протокол позволяет организовать межпроцессный обмен данными в любом направлении. Сегмент TCP Структура сегмента TCP показана на рис. 4.55. Каждый сегмент имеет двой- ное назначение. Он посылает данные соответствующему одноуровневому партнеру (процессу на другом конце передающей линии), а вследствие того что TCP-протокол является полнодуплексным, он подтверждает получение отправленных данных. Рио. 4.55. Сегмент TCP
152 Передача данных в сетях: инженерный подход В ПОЛЯХ Порт источника И Порт назначения хранятся 16-разряДНЫе ЧИСЛЯ (номера указанных портов). Эти поля комбинируются с IP-адресом хост-узла и задают номер сокета'2. Этот уникальный адрес называют точкой доступа к транспортным службам (Transport Service Access Point, TSAP). Чтобы контролировать правильность приема данных, в TCP выполняется последовательная нумерация сегментов. Поскольку сегменты могут изме- няться в размерах, нумерация выполняется на базе индивидуальных байтов потока передаваемых данных (по модулю 232), а не посегментно. Второе поле каждого сегмента содержит порядковый номер, а третье — номер подтвер- ждения. Порядковый номер — это номер первого байта сегмента. Номер под- тверждения — это номер следующего байта, который данный хост-узел ожи- дает получить от своего одноуровневого партнера и который должен подтвердить, что все данные до этой точки были приняты правильно. Каждый сегмент не требует индивидуального подтверждения. Перед посыл- кой подтверждения рекомендуется подождать полсекунды после приема па- кета на тот случай, если будут продолжать прибывать дальнейшие данные, уменьшая тем самым нагрузку на канал подтверждений. Если за это время принимается второй сегмент, то оба они немедленно подтверждаются. Если полсекунды проходит без приема следующего сегмента, то для первого сег- мента посылается его собственное подтверждение. Потеря сегментов может привести или к потере данных, или к потере под- тверждений. Потерю данных может указать адресат, подтверждая прием сег- мента с более низким порядковым номером, чем ожидается. В этом случае данные должны быть посланы повторно. Потерянное подтверждение выну- дит передатчик повторно посылать данные после завершения тайм-аута. Если приемник принимает данные, которые он уже правильно принял, он посылает дополнительное подтверждение и сбрасывает дубликаты данных. Во время тайм-аута можно получить подтверждение приема следующего сегмента. Так как подтверждения определяют, что все данные предшествующие данному байту, уже были приняты, то это подтверждение может также подтвердить прием тех данных, первоначальное подтверждение которых было потеряно, устраняя необходимость повторной посылки этих данных. В заголовке TCP допускаются различные необязательные элементы, предна- значенные для согласования с параметрами сеанса. Например, 4-разрядное поле длины заголовка, которое указывает длину заголовка в 32-разрядных словах. Обычно это поле не используется, так что размер заголовка остается равным 20 байтам. 12 12 Сокет — объект, являющийся конечным элементом соединения, обеспечивающего взаимо- действие между процессами транспортного уровня сети. — Пер.
Гпава 4. С точки зрения сетей 153 поле флажков (на рис. 4.55 вынесено в отдельный фрагмент) содержит сле- дующие флажки: □ URG — указывает, что ДОЛЖНО использоваться поле Указатель срочности. Это поле содержит номер байта поля данных, где кончаются срочные дан- ные. Хотя это поле определено, во многих реализациях оно не используется; □ дек — указывает, что данный PDU переносит подтверждение, и поэтому в поле подтверждение содержится его правильный номер; □ psh — указывает, что данные, которые узел держит в ожидании передачи, должны пересылаться напрямую, а не помещаться в буфер; □ rst — указывает, что соединение должен быть восстановлено; □ syn — используется для установки соединения; □ fin — используется для завершения соединения. В поле Размер окна указывается количество байтов, которые способен при- нимать приемник. В TCP существует та же проблем отсутствия адреса приемника, как и в про- токоле UDP. Разрешается она таким же способом, что и в UDP — путем по- строения псевдо-заголовка, включающего адрес источника, адрес пункта на- значения, тип протокола и длину заголовка IP-пакета, который используется вместе с другими 16-разрядными словами сегмента для построения кон- трольной последовательности кадра. Однако контрольная последователь- ность кадра TCP не является необязательной, как это было в протоколе UDP. Как и в UDP, это ограничивает TCP работой с IP-протоколом, а не с любым Сетевым протоколом, но уменьшает общие накладные расходы протоколов TCP и IP до 40-байтного заголовка. Чтобы представить TCP в действии, вернемся к примеру поиска Web- .страницы из разд. 1.4 с помощью Web-сервера Боб и клиента Алиса. Чтобы установить соединение, Алиса посылает Бобу сегмент TCP, с ус- тановленным флажком syn, и порядковым номером, который выбрала Алиса (в данном случае это 5637114). Сегмент TCP не содержит никаких данных. Если соединение может быть установлено, то Боб отвечает: (а) — своим собственным порядковым номером (в данном случае это 2454387047), и (Ь) — подтверждением порядкового номера Алисы (5637114 + 1 = 5637115), потому что это следующий байт, который он ожидает принять. Поскольку такой сегмент содержит подтверждение, то флажок аск установлен, также как и флажок syn. Наконец, Алиса под- тверждает подтверждение Боба, не посылая никаких данных, кроме но- мера подтверждения (2454387048 = 2454387047 + 1). Отметим два момента. Во-первых, все эти сегменты содержат размер окна, указывающий количество данных, которые они хотят получать снова. Во-
154 Передача данных в сетях: инженерный подход вторых, максимальный размер сегмента (MSS, Maximum Segment Size), согласуется через необязательные поля в заголовке TCP. Алиса запрашивает MSS = 536 байтов, что Боб и делает. Последовательность этих действий следующая. 1. Алиса посылает Бобу сегмент с порядковым номером 5637114, без данных, без подтверждения, с размером окна = 8192, установленным флажком syn и MSS = 536. 2. Боб посылает Алисе сегмент с порядковым номером 2454387047, без данных, с подтверждением 5637115, размером окна 9112, установленным флажком syn и MSS = 536. 3. Алиса посылает Бобу сегмент с порядковым номером 5637114, без данных, с подтверждением 2454387048 и размером окна 8576. Теперь соединение установлено. Затем Алиса посылает Бобу сегмент. Этот сегмент содержит запрос на Web- страницу. Нормализуя порядковый номер к 0, Алиса посылает 285 байтов данных, с порядковым номером 1 (номер первого байта данных в сегменте) и подтверждение 1 (потому что Алиса ожидает, что следующий байт от Бо- ба будет с номером 1). В этом примере в запросе также посылается флажок psh, требующий, чтобы данные были доставлены в приложение немедлен- но. Использование PSH-флажка не определено в стандарте и зависит от кон- кретной реализации На данном компьютере. Боб отвечает без данных, но с подтверждением 286 (285 + 1). Затем Боб посылает свои 536 байтов данных (первую часть Web-страницы). Так как Web-страница по длине больше, чем MSS, то Боб разбивает ее на блоки, каждый длиной MSS, кроме последнего, который имеет длину только 450 байт. Алиса подтверждает эти передачи, иногда посылая одно подтверждение для двух пакетов, если эти пакеты по- лучены в пределах тайм-аута размером в 500 мс. Полная последователь- ность выглядит так: Alice—>ВоЬ PSH Seq = 1, 285 data bytes. Ack = 1 win 8576 Bob—>Alice . . . Seq = 1, no data bytes. Ack = 286 win 9112 Bob—>Alice PSH Seq = 1, 536 data bytes. Ack = 286 win 9112 Alice—>Bob . . . Seq = 286, no data bytes. Ack = 537 win 8576 Bob->Alice • . . Seq = 537, 536 data bytes. Ack = 286 win 9112 Bob->Alice PSH Seq = 1073, 536 data bytes, Ack = 286 win 9112 Alice—»Bob . . . Seq = 286, no data bytes. Ack = 1609 win 8576 Bob—>Alice . . . Seq = 1609, 536 data bytes, Ack = 286 win 9112 Bob—»Alice . . . Seq = 2145, 536 data bytes. Ack = 286 win 9112
Глава 4. С точки зрения сетей 155 Mice—>ВоЬ . . . Seq = 2 8 6, no data bytes. Ack = 2681 win 8576 Bob—>Alice PSH Seq = 2681, 536 data bytes. Ack = 286 win 9112 Mice—>Bob . . . Seq = 2 8 6, no data bytes. Ack = 3217 win 8576 pob—>Alice PSH Seq = 3217, 450 data bytes. Ack = 286 win 9112 Klice—>Bob . . . Seq = 2 8 6, no data bytes, Ack = 3667 win 8126 основа сети Internet. IP- 4.13. Протокол Internet (IP) г Протокол Internet (Internet Protocol, IP)— это протокол был разработан, прежде всего, для организации межсетевых Взаимодействий. Это простой протокол, который может использовать пом- оги любая сеть. Он обеспечивает, пожалуй, одну из самых распространен- ных служб сетевого уровня — службу дейтаграмм. Данные транспортного уровня (TCP или UDP) преобразуются в IP-дейтаграммы и передаются по Йети. IP-сеть — это сеть соединенных друг с другом узлов, использующих IP-протокол, но поскольку сами эти соединения могут формироваться в других сетях, то IP-сеть можно рассматривать как сеть, наложенную на реть других протоколов, используемых для фактической транспортировки Данных. Иля того чтобы расширить применение сетей различных типов, IP-протокол предъявляет к ним очень мало требований. Кроме того, он предполагает, что петь "неинтеллектуальна" и ненадежна, так что право подтверждать, что при- кладные данные были доставлены правильно (то есть не имели искажений и отвечали всем требованиям синхронизации) протокол предоставляет оконеч- ным пунктам или приложениям. Если же с доставкой данных что-то не в по- рядке, то они должны самостоятельно предпринимать любые необходимые ^Действия. Подобный упрощенный подход распространяется и на промежуточные узлы ЖР-сети — маршрутизаторы. Они выполняют две основных функции — про- Кладывают маршруты, направляя по ним IP-пакеты к их адресатам, и фраг- ментируют большие IP-блоки на более мелкие, как этого требует соответст- вующая технология сетевой транспортировки. 4.13.1. Формат IP-пакета Текущая версия IP-протокола — четвертая (IPv4). Пакет протокола IPv4 со- стоит из заголовка переменной длины (13 полей) плюс поле данных. Макси- мальная длина IP-дейтаграммы (заголовка и данных) составляет 64 Кбайт. Поля заголовка подразделяются на 4-байтовые блоки, и принято соглашение, Что IP-пакет состоит из 32-разрядных строк, как показано на рис. 4.56.
156 Передача данных в сетях: инженерный подход 1 Не используемый 2 Не фрагментированный 3 Добавочные фрагменты (все один байт) Максимум 64 Кбайт Четыре поля первой строки связаны с общим форматированием IP-пакета. 4-битовое поле V (Version, версия), указывает версию используемого про- токола. Поле ihl (Internet Header Length, длина заголовка Internet) также 4- битовое, указывает длину IP-заголовка в 32-разрядных блоках, включая блоки необязательных свойств заголовка, размещаемые в поле Опции после адресных полей. Третье поле Tos имеет длину 8 битов и указывает тип службы (Type of Service). Теоретически оно позволяет хост-узлу определять приоритеты (0—7), указы- вающие, что представляется наиболее важным при передаче пакета— за- держка, производительность или надежность. Однако на практике, большин- ство маршрутизаторов игнорируют это поле. Назначение поля длина очевидно: в нем задается общая длина дейтаграммы. Максимальный размер, который можно задать в этом 16-разрядном поле, ра- вен^ (то есть 65 536) байтов, однако типичный размер дейтаграммы обычно не превышает 1500 байтов и часто ограничивается 576 байтами (это мини- мальный размер дейтаграмм, с которым гарантированно работают все меха- низмы IP-транспортировки). Вторая строка заголовка используется для управления процессом фрагмента- ции. Перед передачей большие пакеты разбиваются на более мелкие, причем для согласования с возможностями сети фрагментация может выполняться и в промежуточных маршрутизаторах. Но если пакет уже фрагментирован, то он повторно не собирается до тех пор, пока не достигнет приемника. 16-разрядное поле Идентификатор позволяет определить (в принимающем хост-узле), какой дейтаграмме принадлежит данный фрагмент— все части принимаемой дейтаграммы должны иметь одинаковое поле идентификатора. Поля 2 (Don't Fragment, DF— не фрагментированный), з (More Fragments, MF — добавочные фрагменты) и смещение фрагментов, связаны с управлением
Гпава 4. С точки зрения сетей 157 фрагментацией дейтаграммы. Установка одноразрядного поля (флажка) df ука- зывает, что фрагментация пакета не разрешается. Флажок mf указывает, что далее следует несколько фрагментов, причем MF-флажки всех фрагментов, кроме последнего, устанавливаются в 1. Поле Смещение фрагментов указывает, где в текущей дейтаграмме установлен текущий фрагмент. Длина этого поля — 13 разрядов, что на 3 разряда короче 16-разрядного поля длина IP-пакета (за счет флажков df, mf и первого разряда (поле 1), который в настоящее время не используется), так что IP-дейтаграммы фрагментируются на целое число бло- ков по 8 байтов. Процесс фрагментации показан на рис. 4.57. Заголовок Исходное сообщение | зз | о | о [;£ | ЗД Фрагменты (минимальный размер 2) I зз I О I 1 1331 4 I 1 I 33 I 7 | О Рис. 4.57. Фрагментация IP-пакета Третья строка (см. рис. 4.56) имеет дело с аспектами оперативного управле- ния продвижением пакетов через сеть. Поле время жизни (Lifetime или Time То Live, TTL) используется как счетчик сетевых переходов (hopes) и для того, чтобы предохранять пакеты от задержки в сети, например, при циклической маршрутизации. Первоначально предназначенное для счета времени, оно стало, по умолчанию, считать сетевые переходы, поскольку большинство маршрутизаторов было неспособно давать точную и скоординированную версию времени. Каждый раз, когда пакет проходит через маршрутизатор, значение этого поля просто уменьшается на 1 (операция декремента). Когда значение поле достигает нуля, пакет сбрасывается. Поле протокол указывает, с каким транспортным протоколом связана дейта- грамма, например, с TCP или UDP. Оно полностью определено в RFC13 1700. 13 RFC — сокр. от Requests for Comments, Запросы на комментарии (серия документов 1ETF, начатая в 1969 году и содержащая описания набора протоколов Internet и связанную с ними информацию). IETF — сокр. от Internet Engineering Task Force, Проблемная группа проекти- рования Internet (одна из групп IAB, отвечающая за решение инженерных задач Internet, выпускает большинство RFC, используемых производителями для внедрения стандартов в архитектуру TCP/IP). IAB — сокр. от Internet Activities Board, Координационный совет сети Internet (технический орган, отвечающий за развитие набора протоколов Internet (TCP); включает технические группы IRTF и IETF, каждая из которых занимается решением своих задач). — Пер.
158 Передача данных в сетях: инженерный подход Поле Заголовок контрольной суммы используется для защиты заголовка от искажений при его передаче по сети. Так как поле время жизни изменяется маршрутизатором, то контрольная сумма должна повторно рассчитываться для каждого сетевого перехода. Расчет основан на простом двоичном допол- нении последовательных двухбайтовых слов и операции дополнения до 1 окончательного результата. Контрольная сумма очень проста и обеспечива- ет элементарный уровень защиты, хотя, в зависимости от их позиции, две однобитовые ошибки могут оказаться незамеченными. Пакеты с поврежден- ными заголовками сбрасываются. 4.13.2. Адресация Ключевым аспектом работы протокола IPv4 является маршрутизация. Для прокладки маршрута пакета необходимо знать пункт его назначения (адре- сат), а также полезно знать и его источник. В IPv4 это делается явно — с по- мощью двух адресных 32-разрядных полей, позволяющих определять более 4 миллиардов адресов. На первый взгляд это, казалось бы, довольно большое число, но при близком рассмотрении организации этих адресов мы видим иную картину. Структура 1Ру4-адресов показана на рис. 4.58. 0 8 16 24 (31) 1.1.111 ID сети I ID хост-узла 101 ID сети I ID хост-узла 1101 ID сети ID хост-узла 1110 I Широковещательный (групповой) адрес 1111 I Экспериментальное использование Класс А Класс В Класс С КлассD КлассЕ Рис. 4.58. Различные классы адресов (здесь ID — идентификатор) В IPv4 определено 5 возможных классов адресов— А, В, С, D и Е, хотя большинство специалистов используют только 3 класса, т. к. два последних класса предназначены для широковещательных операций и будущих сетей. Класс (или группа), к которому принадлежит адрес, определяется состоянием его первого, второго, третьего и четвертого битов. По соглашению, IP-адреса являются иерархическими, так что соответствующий адрес выражается в
Глава 4. С точки зрения сетей 159 терминах сетевого и хост-идентификаторов, а класс адреса указывает тип се- ти и количество индивидуальных устройств, поддерживаемых этой сетью. IP-адреса имеют 4-байтовый размер и обычно записываются в виде четырех подполей десятичных цифр, разделенных точками: ххх.ххх.ххх.ххх (табл. 4.1). Формат взаимного адреса определяется значением первого подполя. Таблица 4.1. Классы адресов IPv4 Класс Диапазон Формат А 0-127 nnn.hhh.hhh.hhh\8 В 128-191 nnn. nnn. hhh. hhh\16 С 192-223 nnn.nnn.nnn.hhh\24 По умолчанию для маршрутизации всегда используется сетевой идентифика- тор, состоящий из всех нулей. Конкретным сетям такой идентификатор не назначается. Для целей обратной связи используется сетевой идентификатор, состоящий из всех единиц. Он тоже не назначается конкретным сетям. По- добные ограничения применяются и к идентификаторам хост-узлов— все нули устанавливаются для указания текущей сети, тогда как все единицы указывают на использование широковещательных пакетов. 4.13.3. Подсети Рассмотрим случай, когда для некоторой организации требуется адресовать несколько отдельных сетей. Один из подходов состоит в том, чтобы в зави- симости от числа хост-узлов назначать каждому сегменту свой собственный адрес класса В или С. Адрес класса С можно использовать, если число хост- узлов меньше 254, иначе нужно использовать адресацию класса В. Это, одна- ко, означает, что внешние маршрутизаторы должны знать, какая сеть органи- зации играет главную роль (то есть является хост-сетью). Поскольку все они выступают в роли отдельных сетей, у организации нет возможности пере- ключать хост-роль между ними, что ограничивает любые изменения, которые могут делать ее сетевые менеджеры. Кроме того, назначение нескольких се- тей индивидуальной организации оказывается неэффективным, поскольку диапазон адресов класса В содержит 216 - 2 = 65 534 адреса. Если число тер- миналов в одной сети было бы, например, равно 300, то ясно, что потребуется адресация класса В. Однако применение адресации такого класса оставляет неиспользованными 65 234 адреса. Одним из решений указанной проблемы является использование подсетей. Это означает, что сеть внутренне (в смысле адресации) разбивается на не-
160 Передача данных в сетях: инженерный подход сколько подсетей, но при просмотре внешними по отношению к этой сети узлами она остается единым объектом. Для этого в иерархию адресов вводит- ся третий подсетевой уровень (см. поле Подсеть между сетевой и хост- частью адреса на рис. 4.59). Благодаря этому часть хост-адресного простран- ства, которую контролирует сетевой менеджер, резервируется для указания не отдельной хост-машины, а подсети крупной организации. Сначала внешние маршрутизаторы направляют пакеты в сеть обычным спо- собом, базируясь на сетевом адресе. Затем локальные маршрутизаторы, ис- прльзуя маску подсети, определяют, для какого локального маршрутизатора предназначен конкретный пакет, причем локальный маршрутизатор не дол- жен точно знать, для какого хост-узла данный пакет предназначен (если хост нё ассоциируется со своей подсетью). Это означает, что для отображения но- вой трехуровневой (а не двухуровневой!) иерархии адресов нужно изменить только уже существующие таблицы маршрутизации внутренних узлов сети. Внешние маршрутизаторы этими изменениями не затрагиваются. Организа- ция подсетей определена в документе RFC 950. Простой пример с подсетями показан на рис 4.59, где три отдельные сети некоторой организации пред- ставляются для остальной части сети как одна сеть. 130.159. подсеть 130.159.подсеть5 130.159.подсеть 3 1111111111111111 11111 00 00000000 1 Сеть Подсеть Хост Рис. 4.59. Адресация подсетей В этом примере показано, что пакеты, предназначенные для ЛВС типа 130.159/16, поступают в маршрутизатор в форме сегментов типа 130.159.28/22. Затем маршрутизатор использует маску подсети, чтобы с по- мощью простой операции "И" получить адрес подсети пункта назначения. После этого пакет отправляется в маршрутизатор соответствующей подсети. Сети типа 130.159/16 класса В можно разбить максимум на 64 подсети, каж- дая из которых может содержать до 1022 хост-узлов. Разбиение на подсети является внутренней операцией, которая скрыта от "внешнего мира", причем внутренняя конфшурация подсетей выполняется сетевыми менеджерами— путем программирования внутренних маршрути- заторов с подходящими масками.
Глава 4. С точки зрения сетей 161 Например: О маска 255.255.252/22 обеспечивает 64 подсети с 1022 хост-узлами; □ маска 255.255.224/19 обеспечивает 8 подсетей с 8190 хост-узлами; □ маска 255.255.255/24 — это эквивалент адресации подсети класса С; О маска 255.255/16 — это эквивалент адресации подсети класса В. 4.13.4. Бесклассовая адресация Схема адресации, предлагаемая IP-протоколом, приводит к неэффективному использованию адресного пространства, которое по современным меркам не так уж и велико, и нехватке адресов класса В. В документе RFC 1519 опреде- лена бесклассовая междоменная маршрутизация (Classless InterDomain Rout- ing, CIDR). Она работает следующим образом: сетям, которые первоначально намеревались использовать адреса класса В (но не использовали бы все эти адреса), адреса назначаются в виде блоков адресов класса С. В CIDR больше не делается различий между адресами классов А, В и С — отсюда и назва- ние — бесклассовая. CIDR позволяет не ограничивать больше адресный сег- мент типами /8, /16 или /24. Маршрутизаторы обращаются с этими адресами почти так же, как при мар- шрутизации подсетей — с каждым набором бесклассовых адресов они связы- вают так называемую адресную маску (address mask), с помощью которой ка- ждый входящий пакетный адрес получает базовый адрес (base address) и, таким образом, определяет маршрутизатор, связанный с соответствующей Сетью, причем эта маска теперь имеет переменный размер. С бесклассовой маршрутизацией связывают дополнительную концепцию, состоящую в том, что конкретные адресные диапазоны связываются с гео- графическими областями; например, адреса диапазона 194.0.0.0 — 195.255.255.255 выделяются для Европы, а адреса диапазона 198.0.0.0 — 199.255.255.255— для Северной Америки. Это облегчает маршрутизацию между сетями. Используется так называемая агрегация маршрутов, с помо- щью которой для описания или представления множественных сетей можно использовать отдельный сетевой префикс. Рассмотрим случай, когда организации был назначен диапазон IP-адресов от 130.159.80.00 до 130.159.95.255, который она будет соответствующим обра- зом распределять между несколькими отделами. Эта адресация приведена на рис. 4.60. Сети известно, что маршрутизатор может принимать любой пакет, чьи пер- вые 20 битов адреса есть 10000010100111110101, что эквивалентно IP-адресу 130.159.80.0/20. В приведенном примере для четырех отделов организации требуется соответственно 510, 510, 1022 и 254 хост-узла, поэтому им может быть назначено адресное пространство 130.159.80.0/20.
162 Передача данных в сетях: инженерный подход 130.159.88.0/21 130.159.84.0/23 130.159.80.0/22 130.159.86.0/23 Рис. 4.60. Пример CIDR-адресов Если бы одна из организаций должна была сменить своего Intemet-провайдера (ISP), то CIDR-маршругизация позволила бы сохранить назначенный ей диапа- зон адресов. Новый ISP будет использовать как свой диапазон IP-адресов, так и старый диапазон адресов своего нового клиента. Рассмотрим, например, поль- зователя с диапазоном адресов 130.84.0/23. Первоначальный провайдер ис- пользовал свой диапазон адресов 130.159.80.0/20, в то время как новый ISP бу- дет использовать диапазон 130.159.84.0/23. Промежуточные маршрутизаторы будут использовать самый длинный префикс, который сможет распознавать, что пакеты диапазона 130.159.84.0/23 следует отправлять новому ISP, а не ста- рому (с диапазоном 130.159.80.0/20), поскольку диапазон /23 имеет приоритет над диапазоном /20. 4.13.5. Служба доменных имен Хотя с точки зрения компьютеров и маршрутизаторов IP-адреса достаточно эффективны, но они не особенно дружественны по отношению к пользовате- лям. По этой причине числовые адреса заменяются своей текстовой фор- мой — доменными именами. Доменные имена имеют иерархическую струк- туру и состоят из последовательности элементов, разделенных точками, которые идентифицируют (справа налево) сначала сеть, затем индивидуаль- ный хост-узел и, иногда — службу хоста (WWW, FTP и т. д.). Правый эле- мент — является доменом верхнего уровня, который базируется либо на гео- графическом положении (например, uk— для Великобритании, us— для Соединенных Штатов Америки, аи — для Австралии) или на типе организа- ции (этот тип доменов используется главным образом в США) Так, напри- мер, для того чтобы получить имя, заканчивающееся на сот, многие органи- зации регистрируют свои доменные имена в США. Для отображения доменных имен на IP-адреса используются специальные базы данных, содержащие IP-адреса для каждого доменного имени. Эти базы данных поддерживаются особыми серверами имен, доступ к которым выпол-
Гпава 4. С точки зрения сетей 163 няется через специальный DNS-иротеокол'4, а вся система доменов является иерархической. Домены верхнего уровня регистрируются в одном из не- скольких реестров, главным из которых является InterNIC14 15 (США). Эта сис- тема недавно была изменена, чтобы допустить некоторую конкуренцию с другими провайдерами серверов имен. Домены верхнего уровня разбиваются на поддомены, а регистраторы доменов верхнего уровня регистрируют раз- мещение серверов имен каждого из этих поддоменов. Регистраторы способны добавлять новые имена в свои поддомены, не контактируя с сервером имен верхнего уровня. Например, домен верхнего уровня uk разделяется на под- домены ac.uk, co.uk, gov.uk и org.uk. Поддомен ac.uk академических инсти- тутов Великобритании работает в сети JANET16. Поддомен strath.ac.uk, ко- торый назначен университету Strathclyde, регистрирует свои серверы имен с помощью сети JANET. Это означает, что он может назначить поддомен еее факультету Электронных Инженеров, а поддомен garland — некоторому инди- видуальному хост-узлу этой сети, путем простого обновления их локальных серверов имени (рис. 4.61). еее gariand.eee.srtath.ac.uk Рис. 4.61. Иерархия имен адреса garland.eee.strath.ac.uk Чтобы иметь короткий, запоминающийся адрес, многие компании регист- рируются прямо в домене верхнего уровня (скажем, в сот) и затем для 14 DNS, Domain Name Service — служба доменных имен. — Пер. 15 InterNIC — сокр. от Internet Network Information Center, Информационный центр сети Internet (организация, занимающаяся вопросами формирования, регистрации и стратегического раз- вития сети Internet, включая регистрацию доменных имен). — Пер. 16 JANET — сокр. от Joint Academic Network, университетская сеть Великобритании. — Пер.
$64 Передача данных в сетях: инженерный подход выхода на Web-сервер своей компании организуют запросы по адресу www.organisation.com. На самом деле регистрируется домен organisa- tion.com, и поскольку компания может создавать любой IP-адрес, согласо- ванный с этим доменным именем, то Web-сервер может быть расположен на любом хост-узле любой сети, даже если он будет направлен на сервер другой компании, которая специализируется на хостинге (публикации и обслужива- ние) Web-серверов. Изменяя возвращаемые IP-адреса, DNS обеспечивает также ряд дополни- тельных служб, таких например, как службы замещения (aliasing) имен хост- узлов и почтовых серверов и служба распределения нагрузки. Формально эти сдужбы определяются в документах RFC 1034/1035. IP-адрес и отображение имени хоста хранятся в форме записи ресурса (Resource Record, RR). Она состоит из 4 полей: имя, значение, Тип и время жизни. Существует четыре основных типа RR-записей. Если сервер имен зна- ет IP-адрес требуемого доменного имени, то он хранится в записи типа А (от authoritative— авторитетный), которая сопоставляет IP-адрес (из поля Значе- ние) с именем хоста (из поля имя). Если сервер имен не знает такого IP- адреса, то он будет знать адреса другого сервера имен, который должен знать Этот адрес (сам или через кого-то еще), а записи типа NS сопоставляют имя домена (из поля имя) с сервером имен (из поля значение). Записи типа MX сопоставляют имя хоста почтового сервера (из поля Имя) с его псевдонимом (jH3 ПОЛЯ Значение). И наконец, последний тип записи— CN. Записи этого типа сопоставляют каноническое имя (из поля Значение) с именем хоста (из поля имя). Некото- рые компьютеры для удобства задают дополнительные, обычно более ко- роткие, имена, а CN-запись сопоставляет эти имена с полным именем хоста. Компьютер австралийского Института телекоммуникационных исследова- ний (ITR) из примера, приведенного в разд. 1.4, отвечает на имя www.itr.unisa.edu.au, хотя его полное (то есть каноническое) имя — charli.levels.unisa.edu.au. Эта система предоставляет услугу Web-хостинга17, когда любой пользователь может купить доменное имя, зарегистрировать его и договориться с компанией насчет хостинга его Web-страниц. После этого CN-записи направляют их доменные имена на компьютеры предоставляющей хостинг компании, так что владелец доменного имени может и не иметь ком- пьютера. Локальные серверы хранят результаты предыдущих запросов DNS в своей кэш-памяти. Это дает возможность ускорить DNS-процесс, т. к. нет никакой 17 Web-хостинг (Web hosting) — предоставление провайдером своего дискового пространства для публикации и обслуживания пользовательских Web-сайтов. —Пер.
Глава 4. С точки зрения сетей 165 потребности входить в контакт с другими серверами. Ясно, что нужно доби- ваться равновесия между сохранением и сбросом входов кэша. Наконец, по- следнее поле RR-записи — время жизни — указывает время, в течении кото- рого запись должна оставаться в кэше перед выводом их него. При обмене DNS-сообщениями между хостами и серверами имен использу- ется UDP-протокол. Он вызывает подходящие серверы имен, которые ото- бражают имена на IP-адреса. DNS возвращает запись ресурса, поддерживае- мую сервером, которая содержит IP-адрес, так что приложения, например, telnet, FTP или HTTP, могут его использовать. Различают локальные, корневые и авторитетные серверы имен. В коммуни- кационной цепочке могут также использоваться промежуточные серверы имен. DNS-запросы могут быть рекурсивными или итеративными. В первом (наи- более общем) случае, каждый сервер домена получает отображение имени сервера или хоста, который сделал запрос. Итеративные запросы (обычно выполняющиеся между корневым и локальным серверами, чтобы минимизи- ровать обработку загрузки в корневом сервере) приводят в результате или к требуемому отображению, или к адресу следующего в цепочке сервера, кото- рый позволяет сделать следующий прямой DNS-запрос. В примере на рис. 4.62 показан итеративный запрос (шаг 2), который дает отклик (шаг 3), Сообщающий локальному серверу, чтобы он вводил в прямой контакт с промежуточным сервером. Если бы запрос (2) был рекурсивным, то отклик (3) был бы направлен прямо к промежуточному серверу и поэтому не было бы никакого прямого диалога в любом направлении между промежуточным и локальным серверами. Рекурсивный ----------► запрос Итеративный ----------> запрос Рис. 4.62. Рекурсивный и итеративный DNS-запросы
166 Передача данных в сетях: инженерный подход Последовательность событий при установке TCP-соединения с хост-узлом www.dufc.co.uk иллюстрирует рис. 4.63. 1. DNS-запрос хост-узла www.dufc.co.uk, 2. ARP-запрос'8 к 130.159.86.4, ARP-ответ от 130.159.86.4. 3. Разрешенный DNS-запрос, посылаемый к 130.159.86.4. Если запрос не разрешен локально, то следующие запросы посылаются к дополнительным нелокальным DNS-серверам. 4. DNS-ответ от 130.159.86.4. 5. Передача решения, основанного на входе по умолчанию таблицы передач. 6. ARP-запрос 130.159.86.1, ARP-ответ от 130.159.86.1. 7. Запрос TCP-соединения посылается в www.dufc.co.uk через 130.159.86.1. 8. Запрос TCP-соединения поступает в узел www.dufc.co.uk. 9. Возврат ответа ТСР-соединения. 10. Ответ ТСР-соединения поступает в узел garland. 11. HTTP-запрос посылается узлу www.dufc.co.uk. Рис. 4.63. Цепочка событий для DNS-запроса к узлу www.dufc.co.uk 18 ARP, Address Resolution Protocol — протокол разрешения адресов (протокол из семейства TCP/IP, обеспечивающий преобразование IP-адреса в МАС-адрес (MAC address) для пакетов 1Р). — Пер.
Глава 4. С точки зрения сетей 167 4.13.6. IP-маршрутизация Маршрутизация в IP-сетях точно такая же, как в любой сети передачи дан- ных, поскольку применяются те же основные принципы. Сеть рассматривается как объединение так называемых автономных сетей. Каждая из этих сетей независима и может выполнять свой собственный алгоритм маршрутизации. Проблема заключается в соединении различных сетей, которая требует согласованного Internet-протокола маршрутизации между соседними сетями. В настоящее время существует два общих протокола подобного типа — OSPF и BGP19, которые заменяют первоначальный протокол маршрутной информации (RIP-протокол) и внешний шлюзовой протокол (EGP20), используемый в Internet. RIP и OSPF- протоколы разработаны для маршрутизации в индивидуальных автономных сетях, тогда как EGP и BGP-протоколы предназначены для маршрутизаци между автономными подсетями (рис. 4.64). Рис. 4.64. Маршрутизация между автономными подсетями 19 BGP — усовершенствованный внешний шлюзовой протокол, основанный на опыте исполь- зования протокола EGP в магистральной сети NSFNET. — Пер. 20 EGP — сокр. от Exterior Gateway Protocol, внешний шлюзовой протокол (протокол внешней маршрутизации, реализующий пересылку маршрутной информации на маршрутизаторы, которые соединяют между собой автономные системы). — Пер.
468 Передача данных в сетях: инженерный подход Рассмотрим эти протоколы подробнее. О RIP — протокол маршрутной информации (Routing Information Protocol). ’ Это внутридоменный протокол, основанный на маршрутизации по вектору расстояния. Он базируется на счетчике сетевых переходов (hope-count), -к который ограничен числом 15 и обновляется каждые 30 с. О OSPF— протокол первоочередного открытия кратчайших маршрутов (Open Shortest Path First). Применяется в задачах маршрутизации внутри каждой подсети. По существу, это версия маршрутизации по состоянию ' связей, которая обсуждалась ранее. Разрешает аутентификацию сообще- ний маршрутизации и множественные маршруты. Кроме того, протокол позволяет устанавливать, каким образом домены разделяются на области, < так что пакеты не всегда можно точно направлять в конкретный домен, а только — в правильном направлении. D BGP — пограничной шлюзовой протокол (Border Gateway Protocol). Это, по существу, протокол, который определяет правила обмена так называе- мой информацией достижимости (reachability information) между мар- шрутизаторами. Чтобы достичь сети назначения, трафик может заканчи- . ваться в автономной сети или проходить через нее транзитом. BGP не 5 имеет дела с поиском наилучшего пути — подходит любой путь, если он h не замыкается на себе. Пакеты передаются через различные домены, ис- , >:: пользуя разные режимы маршрутизации, так что оптимальные маршруты реально невозможны. Существует некоторый элемент выбора, позволяю- щий найти "хорошие" пути. Политика выбора может базироваться на тех- ,. нических, деловых, политических, стоимостных задачах, решение которых предоставлено индивидуальным BGP-маршрутизаторам. Сложность BGP- протокола растет, скорее, с ростом числа автономных сетей, а не с числом хост-узлов в этих сетях. Сложность протоколов внутридоменной маршру- тизации, подобных RIP или OSPF, зависит от числа хостов-узлов или под- сетей в каждой автономной сети. 4.13.7.IP-протокол версии 6 (IPv6) IPv6 принадлежит к следующему поколению IP-протоколов. Начальным толчком к его разработке была ощутимая (с ростом числа хост-узлов и сетей) нехватка адресного пространства в протоколе IPv4. Динамическое распреде- ление IP-адресов Intemet-провайдерами и бесклассовая адресация фактически продлили жизнь адресного пространства IPv4. Новые разработки в техноло- гии мобильной телефонии и ASDL, которые всегда взаимосвязаны, требуют дополнительных IP-адресов. Хотя существует обходной путь, позволяющий разделять (совместно использовать) IP-адреса сети и преобразовывать их с помощью шлюзов в меньший динамический диапазон IP-адресов и портов,
Гпава 4. С точки зрения сетей 1G9 видимых из внешней сети, адресное пространство IPv4 рано или поздно за- кончится. У IPv6 нет никаких шансов исчерпать все свои адреса, поскольку их размер увеличен до 128 разрядов. При таких размерах можно назначить IP-адрес не только каждому пользователю, терминалу или даже электровыключателю, но электронные устройства будут способны подобным же способом назначать адреса и всем адресатам Ethernet-карт, ничуть не опасаясь уступить их кому- то до конца жизни. Появляется также возможность назначать несколько адре- сов одному устройству, выделяя дополнительные адреса различным его ком- понентам или службам. Дополнительное свойство протокола — поддержка адресов специального ви- да, предназначенных для любого устройства в группе терминалов (anycast address), когда пакет направляется любому из нескольких терминалов груп- пы. Это облегчает адресацию запросов для служб, которые расположены в нескольких местах сети, так что для доступа к любой из них может использо- ваться локальный провайдер. Дополнительное адресное пространство— не единственное преимущество IPv6. В настоящее время используются много служб, для которых не была предусмотрена передача по IP-протоколу, не устанавливающему соединений. Серьезной проблемой для IPv4 было отсутствие ^оддержки службы качества. Протокол IPv6 использует специальные ресурсы— класс трафика и метку потока, которые позволяют идентифицировать пакеты конкретного потока для их специальной обработки, но эти дополнительные ресурсы должны быть предварительно согласованы. Кроме того, IPv6 обеспечивает улучшенную поддержку средств защиты и механизм добавления необязательных полей к заголовку с целью его расширения. Процедура фрагментации в IPv6 выполняется немного иначе, чем в IPv4. Ми- нимальный размер пакета, подлежащего обработке, увеличен с 576 байтов для IPv4 до 1280 байтов для IPv6. Кроме того, маршрутизаторы IPv6 не фраг- ментируют пакеты, если это требуется, а посылают сообщение обратно на передатчик и просят, чтобы он сделал фрагментацию сам. Это означает, что маршрутизаторы могут быть более простыми. В IPv6 имеется также возмож- ность использовать более крупные пакеты, называемые суперграммами (jum- bograms). Упрощению маршрутизаторов способствует тот факт, что заголовки IPv6 имеют меньше полей, чем заголовки IPv4. Однако даже без необязательных полей они вдвое больше по размеру заголовков IPv4. Для протоколов, кото- рые производят большое количество мелких пакетов, подобных протоколу "Речь через IP", это неприемлемо, но дополнительная поддержка качества обслуживания смягчает такую ситуацию. Однако IPv6 пока не получил ши-
170 Передача данных в сетях: инженерный подход рокой поддержки среди производителей, так что, возможно, потребуется не- которое время, прежде чем он получит достаточное распространение. Час- тично проблема состоит в том, что, хотя довольно просто обеспечить терми- налы пользователя двойными стеками, способными использовать IPv4 или IPv6 (в зависимости от того, с помощью какого из этих протоколов они под- держивают связь), но если IPv6 не поддерживается базовой сетью или в лю- бом звене между сторонами, то 1Р\6-пакеты должны пересылаться с помо- щью протокола IPv4, т. е. они должны быть вложены (инкапсулированы) в дейтаграммы IPv4. Такой процесс известен как туннелирование (tunnelling). Оно увеличивает дополнительные непроизводительные затраты, но вследст- вие того что IPv4 не поддерживает качественных сервисных средств IPv6, никакой выгоды от туннелирования получено не будет. Это означает, что пользователи получат немного пользы от своих вложений, пока большое ко- личество других пользователей также не модернизируют свое оборудова- ние — ситуация яйца и цыпленка. Структура пакета протокола IPv6 показана на рис. 4.65. В поле v (Version, версия) указывается версия IP. В поле р (Priority, приоритет) указываются служебные типы с различными требованиями к качеству обслуживания (Quality of Service, QoS). Значения p в диапазоне от 0 до 7 указывают данные с управляемым потоком, т. е. данные не в реальном масштабе времени, в то время как значения р в диапазоне от 8 до 15 указывают данные в реальном масштабе времени, которые не являются данными с управляемым потоком. Поле метка потока позволяет узлам различать потоки трафика и их запросы. Наряду с адресом источника и адресом пункта назначения, метка потока ис- пользуется для уникальной адресации потока. 16-разрядное поле Длина опре- деляет длину полезной нагрузки в байтах. Поле Следующий заголовок указы- вает, что используются необязательные "заголовки расширений" (extension headers), т. е. дополнительные функции, связанные с пакетом. Определено шесть типов расширений со следующими названиями: Последовательные опции (Hop-by-hop options), Маршрутизация (Routing), Фрагментация (Frag- mentation), Аутентификация (Authentication), Шифрование (Encryption) и Пункт назначения (Destination). Эти заголовки используются только когда требуется, и в специфическом порядке. Необязательные заголовки имеют фиксированный формат или определяются в виде полей тип, длина и Значение. Если поле следующий заголовок в пакете или расширении согласу- ется с полем полезной информации IPv4, то никакие дополнительные функ- циональные возможности не требуются. Наконец, поле предельное число переходов указывает максимальное число переходов маршрута. Когда пакет передается по межузловому переходу, это число уменьшается на 1 (декре- ментная операция); при нулевом значении этого поля пакет сбрасывается. Оно похоже на поле Время жизни (TTL) в IPv4.
Глава 4. С точки зрения сетей 171 1 2 3 4 V Р Метка потока Длина Следующий заголовок Предельное число переходов Адрес источника (16 байтов) Адрес пункта назначения (16 байтов) Следующий заголовок Тип Длина Значение Специальные опции Рис. 4.65. Структура пакета протокола IPv6 4.14. Качество обслуживания на IP Стек протоколов TCP/IP предлагает, по существу, максимальное обслужива- ние. Однако такое обслуживание не соответствует разнообразным потребно- стям многих приложений, которые требуют намного более жестких ограни- чений на передаваемую информацию. В качестве средств, обеспечивающих аспект качественного обслуживания (Quality of Service, QoS) IP-передач, бы- ло предложено несколько механизмов. 4.14.1. Интегрированные службы Интегрированные службы (Integrated Services, IntServ) пытаются распреде- лять ресурсы потокам одно- и многоабонентского трафика на поточной (flow- by-flow) основе. IntServ требуют, чтобы сеть была способна (через свои мар- шрутизаторы) распределять ресурсы конкретным потокам (парам источ- ник/адресат) и управлять или контролировать потоки или объединенные по- токи в различных точках сети. Это означает фундаментальное изменение стандартной модели Internet, которая имела дело с потоками только на чисто сквозной (end-to-end) основе. В модели IntServ маршрутизаторы требуют идентифицировать потоки и сохранять информацию их текущего состояния. Это требует явного отображения или связывания потоков и служб. Ключевые элементы IntServ включают: управление соединением, протокол резервиро- вания и поддержку порядка с помощью механизмов маршрутизации и про- движения пакетов.
1 /72 Передача данных в сетях: инженерный подход 4.14.2. Протокол резервирования ресурсов Ключевой частью IntServ, а в действительности и всех других Intemet-схем, имеющих отношение к QoS, является протокол резервирования ресурсов (Re- source Reservation Protocol, RSVP). Этот протокол, по существу, является механизмом, с помощью которого резер- вируются все ресурсы вдоль предварительно полученного пути как для одно-, так и для многоадресных коммуникаций. RSVP ориентирован на приемник, поскольку запросы на ресурсы поступают от адресата, а не от источника. Первый этап протокола — установка пути между источником и адресатом. RSVP выполняет его, посылая специальные IP-пакеты, называемые РАТН- сообщениями, которые позволяют маршрутизаторам, расположенным меж- ду источником и адресатом, отмечать обратный путь пакетов. Как только приемник принимает это сообщение (которое содержит также специфику трафика), он возвращает обратно по пути маршрутизатора так называемое RESV-сообщение (рис. 4.66). Это сообщение содержит QoS-спецификации как приемника, так и передатчика. Поскольку эти сообщения передаются обратно по тому же пути, каждый маршрутизатор решает, можно ли выпол- нить резервирование, которое удовлетворяло бы требованиям трафика каж- дой из сторон. Получатель X Рис. 4.66. Работа RSVP Если такое резервирование возможно, т. е. маршрутизатор чувствует, что у него имеется достаточно ресурсов, чтобы удовлетворить QoS-требования, он передает RESV-сообщение обратно по дереву маршрутов предыдущему маршрутизатору. Этот процесс продолжается до тех пор, пока RESV- сообщение не доберется до источника или, в случае многоадресной передачи, не доберется до первого маршрутизатора, который поддерживает этот специ- фический поток. Если в любой точке маршрутизатор решает, что он не может поддерживать такой поток и качество его обслуживания (QoS) ограничено, то назад к приемнику посылается сообщение об ошибке.
Глава 4. С точки зрения сетей 173 Каждый маршрутизатор сохраняет запись состояния потоков, которые он поддерживает. Эти состояния нуждаются в регулярном обновлении. В RSVP- протоколе обновления RESV-сообщения посылаются приемниками каждые 30 секунд или так, чтобы поддерживать данное "соединение". Если маршру- тизатор не принимает обновления, то он удаляет такую запись. Это помогает поддерживать устойчивость и, кроме того, увеличивает гибкость. Приемники могут пытаться изменять свои требования в любой точке, а также изменять свои маршруты без явного уведомления всех маршрутизаторов системы. Ес- ли в любой части пути происходит сбой, то IP-маршрутизация обладает дос- таточной устойчивостью, чтобы найти альтернативный маршрут, а RSVP- соединения могут реагировать на это автоматически, с минимальными уси- лиями. Заметим, что приемник не знает фактического пути, по которому про- ходит поток. RSVP поддерживает групповые (multicast) соединения, когда потоки могут быть слиты, поддерживаются также различные QoS-требования (рис. 4.67). Могут быть поддержаны даже множественные отправители. Отправитель А Получатель X Рис. 4.67. Работа многопоточного RSVP 4.14.3. Дифференцированные службы Хотя IntServ и RSVP в некоторой степени удовлетворяют требованиям QoS в IP-сетях, можно отметить и несколько основных их недостатков. Отображе- ние (резервирование) требований QoS на специфические потоки и связанная с этим обработка потоков в каждом маршрутизаторе является существенным усложнением, и поэтому такой метод, по существу, не может быть расширен. RSVP не всегда доступен для хост-узлов, т. к. этот подход требует весьма сложного отображения требований QoS и сетевых ресурсов. Дифференцированные службы (DiffServ) предлагают альтернативный подход к обеспечению качества обслуживания. Они организуют пакеты в небольшое число четко идентифицируемых потоков, которые получают специфическое обслуживание и распределенные ресурсы. Затем эти агре- гированные потоки обрабатываются DiffServ-маршрутизаторами, причем
174 Передача данных в сетях: инженерный подход различными способами, соответствующими их спецификациям. Этот под- ход требует намного меньших усилий со стороны маршрутизаторов, чем управление индивидуальными потоками и поэтому является более расши- ряемым. Однако, он не столь же гибок, как IntServ, поскольку потокам должно быть назначено ограниченное число поточных типов, но за опре- делениями служб не закреплены специфицированные поточные типы и их можно обновлять и изменять. Между источником и провайдером служб устанавливается соглашение об уровне обслуживания (Service Level Agreement, SLA), и затем провайдер служб отображает исходный поток на поток конкретного типа, который удовлетворяет требованиям QoS. Потоки от нескольких различных источни- ков объединяются в поток специального типа в соответствии с ресурсами, которые доступны в сети. DiffServ включает три ключевых элемента: классификацию пакета, создание условий для трафика и планирование пакета. Два первых выполняются на границе сети, т. е. в первом же DiffServ-маршрутизаторе, который встречает- ся на пути IP-пакета. Более простая функция планирования пакета (то есть его продвижение) выполняется промежуточными маршрутизаторами в базо- вой сети (рис. 4.68). Классификация пакета и создание условий для Получатель X Рис. 4.68. Функциональные возможности DiffServ Классификация пакета — это, по существу, отображение потока пользователя на подходящий поточный тип. Граничный маршрутизатор определяет тип нужного потока, рассматривая SLA-соглашения (то есть QoS-требования) и доступные потоки. Затем пакеты из потока этого пользователя помечаются, чтобы указать, что они отображены на подходящий поток. Создание условий для трафика проводится также и на границе сети. Оно со- стоит из замеров поступающего потока, позволяющих убедиться, что он со- ответствует согласованному профилю трафика. Пакеты, выпадающие из про-
Глава 4. С точки зрения сетей 175 У" '" -'--'---'--------------------------------------------------— ^)иля или перемаркировываются на поток с более низким классом обслужи- вания, или к ним применяется процедура формирования трафика, чтобы он соответствовал текущему профилю. DiffServ-маршрутизация все еще остается IP-маршрутизацией, т. к. функ- ция планирования пакета просто определяет механизмы, с помощью кото- рых обслуживаются пакеты, а не путь, который они проходят по сети. Что- бы точно определять, какой тип обслуживания должен получать IP-пакет рт DS-маршрутизатора (например, РНВ — Per Hop Behaviour, по- сегментное21 поведение). DiffServ использует 8-разрядное поле ToS пакета IP (рис. 4.69). На самом деле, РНВ представляет класс обслуживания. Он |не определяет, как такое поведение достигается, а только указывает, како- во это поведение. Шесть битов поля DS (подполе dscp — DiffServ Code Point) используются для представления 64 возможных типов поведения. Остальные два бита не опре- деляют никакого РНВ, но гарантируют некоторую степень обратной совмес- тимости с другими (не DiffServ) маршрутизаторами. Не трудно заметить, что поле ds — это поле тез в IPv4 и поле Traffic class (Класс трафика) в IPv6. Последнее является объединением части поля р (Priority, приоритет) и поля Flow Label (Метка потока). Рис. 4.69. Идентификация DiffServ При стандартной работе поле ds устанавливается на границе сети и в идеале остается постоянным, пока IP-пакет путешествует к адресату. Однако есть возможность изменять или перемаркировывать это поле, когда при прохож- 21 Здесь имеется в виду межузловой переход (hop) сети. —Пер.
176 Передача данных в сетях: инженерный подход дении через новые DiffServ-домены пакет должен быть "выведен" из профиля или РЦВ, и DiffServ-поля необходимо отображать заново. Переключение многопротокольной метки IP-маршрутизация базируется на автономной маршрутизации по самому ко- роткому пути, которая может сберечь сетевые ресурсы, но может привести к перегрузке некоторых каналов и недоиспользованию других. Переключение многопротокольных меток (Multi-Protocol Label Switching, MPLS) позволяет направлять пакеты, опираясь на определенную метку, а не на IP-адрес в заголовке IP-пакета. Для этого используются специальные устройства, известные как маршрутизаторы с переключаемыми метками (Label Switched Routers, LSR). LSR согласует метку пакета со входом сво- ей таблицы продвижения и пересылает пакет по подходящему выходному звену, заменив или обновив подходящим образом метку пакета. Метки на- значаются IP-пакетам, когда их вводят в MPLS-домен (с помощью входно- го маршрутизатора), и удаляют, когда они покидают MPLS-домен (с по- мощью выходного маршрутизатора) (рис. 4.70). Пакеты следуют по маркированному переключаемому пути (Labelled Switched Path, LSP), ко- торый определяется до передачи и выбирается в соответствии качеством услуг (QoS) источника или получателя. LSP можно определять, используя различные схемы, включая протокол резервирования ресурсов (Resource Reservation Protocol, RSVP) и маршрутизацию, базирующуюся на ограничениях. Граничный маршрутизатор (входной LSR) Граничный маршрутизатор (выходной LSR) Рис. 4.70. Работа MPLS
Глава 4. С точки зрения сетей 177 4.15. Вопросы к главе 4.15.1. Вопросы по сетевым конфигурациям 1. Коммуникационная сеть состоит из N узлов. Определите число звеньев, требуемых для соединения этих узлов, предполагая, что каждое звено является двунаправленным для следующих случаев: а) кольцо из 5 узлов; б) объединение 8 полностью связанных узлов; в) частично связанное объединение — 10 узлов, 5 соединений; г) повторите три предыдущих случая для N= 96. 2. Определить связность двух сетей, заданных в двух диаграммах на рис.4.71 и 4.72. Сколько требуются итераций, чтобы определить связность каждой из этих сетей? Рис. 4.71. Сетевая диаграмма для расчета связности сетей Рис. 4.72. Табличная диаграмма для расчета связности сетей
178 Передача данных в сетях: инженерный подход 4.15.2. Вопросы по технике коммутации 1. Путь с переключением каналов и скоростью передачи 64 Кбит/с, между двумя пользователями, использующими 9 ступеней коммутации требует 5 секунд на установку. Сколько всего потребуется времени, чтобы напрямую передать полное содержимое дискеты 1,4 Мбайт между двумя пользователями, использующими этот канал? 2. Если вышеупомянутый путь с переключением каналов заменить 9-ти узловой системой с пакетной коммутацией, использующей звенья со скоростью передачи 1 Мбит/с, то сколько потребуется времени, чтобы передать файл объемом 1,4 Мбайт, предполагая, что нет задержки в узлах коммутации; полезная нагрузка пакета составляет 256 байтов, а накладные расходы пакета эквивалентны 18 байтам? 3. Сравните задержки, когда полезная нагрузка пакета изменится до 128, 512, 1024 и 4096 байтов соответственно. 4.15.3. Вопросы по расчетам в сетях 1. Простой телефонный коммутатор состоит из 4 каналов. Если в самое занятое время дня вызовы прибывают каждые 240 секунд, вычислите занятость коммутатора и определите вероятность того, что вызов будет отвергнут. 2. Если в системе, описанной в п. 1, пользователей удовлетворяют 2%-е потери, определите число требуемых каналов мультиплексора. 3. Если интенсивность вызовов в системе, описанной в п. 1, увеличится впятеро, определите вероятность потерь вызовов и коэффициент использования каждого из 4-х каналов коммутатора. 4. Терминальный концентратор состоит из шести входных линий со скоростями 56 Кбит/с и единственной выходной линии со скоростью 128 Кбит/с. Средний размер пакета— 450 байтов, и скорость поступления каждой входной линии равна 5 пакетам в секунду. Какова средняя задержка пакета и каково среднее число пакетов, хранящихся в концентраторе? 8. Два компьютера связаны линией со скоростью передачи 64 Кбит/с и поддерживают 8 диалоговых сеансов связи (соединений). Если средняя длина пакета 150 битов, а сеансовая скорость — 4 пакета/с, то должна ли сеть обеспечить каждый сеанс своим собственным выделенным каналом со скоростью передачи 8 Кбит/с, или все сеансы должны состязаться за полную пропускную способность канала, когда наиболее важным критерием является задержка пакета?
Глава 4. С точки зрения сетей 179 4.15.4. Вопросы по маршрутизации 1. Маршрутизёация сети из 6 узлов базируется на векторе расстояния; маршрутизатор А расположен рядом с маршрутизаторами В, D и Е. На рис 4.73 приведены таблицы с векторами расстояний, связанных с каждым из этих трех маршрутизаторов. Используя указанные таблицы, выведите новую таблицу маршрутизации для узла А. Предположите, что текущее расстояние между узлом А и его соседями таблицах. точно отражено в этих Узел В А 10 В - С 20 D 30 Е 10 F 10 Узел D А 20 В 15 С 40 D - Е 10 F 25 Узел Е А 15 В 10 С 25 D 10 Е - F 5 Рис. 4.73. Таблицы с векторами расстояний для трех узлов сети 2. На рис. 4.74 приведены текущие состояния звеньев сети, состоящей из 6 узлов. Нарисуйте эту сеть и определите таблицу маршрутизации, связанную с узлом А. Узел А BflO) D(5) Е(20) В С(20) Е(Ю) Е(Ю) С В(20) F(20) D А(5) Е(10) Е А(20) В(10) 0(10) F(10) F В(10) С(20) Е(10) Рис. 4.74. Текущие состояния звеньев 6-узловой сети 3. Чтобы передать пакет всем другим маршрутизаторам сети, описанной в п. 2, используется маршрутизатор А. Если поле пакета содержит счетчик сегментов (переходов), инициализированный диаметром сети, определите минимальное и максимальное число пакетов, которые могут потребоваться этой сети для передачи широковещательного пакета.
Передача данных в сетях: инженерный подход \f80 4.15.5. Вопросы по защите от ошибок 1. Протокол звена данных имеет характеристики, показанные в табл. 4.2. Таблица 4.2. Характеристики протокола звена данных Характеристика Значение Длина данных 100 байтов Длина заголовка 8 байтов Пропускная способность канала 2 Мбит/с Длина кадра подтверждения 8 байтов Вероятность потери кадра 2x10'3 Вероятность потери подтверждения 5x10“ Задержка обслуживания и распространения 0,15мс а) оцените максимально возможную эффективность этой системы, если протокол работает в простом режиме останова с ожиданием, исполь- зуя положительные подтверждения. Каково влияние установки тайм- аута с интервалом 1 мс; б) чтобы максимизировать эффективность канала, протокол с остано- вом и ожиданием должен быть заменен на протокол со скользящим окном. Оцените подходящий размер окна, если в первом случае ка- нал предполагается свободным от ошибок. 2. В табл. 4.3 заданы ключевые параметры канала связи и его ARQ-протокола. Если используется 3-битовое поле seq, какой механизм повторной передачи дает оптимальную производительность канала? Таблица 4.3. Ключевые параметры канала связи и его ARQ-протокола Параметр Значение Информационное поле 150 байтов Накладные расходы кадра 16 байтов Длина подтверждения 16 байтов Вероятность потери кадра 10~3 Вероятность потери подтверждения 2x10”* Размер поля seq 3 бита
Глава 4. С точки зрения сетей 181 Таблица 4.3. (окончание) Параметр wOCnVUI WRJ Тайм-аут подтверждения 150 мс Битрейт канала 64 Кбит/с Задержка распространения канала 50 мс 3. Двойное скоростное двухточечное коммуникационное звено использует канальный протокол двойного режима, который способен переключаться между протоколом упреждающей защиты от ошибок (FEC) и ARQ- протоколом, базирующемся на схеме повторной передачи с возвратом N кадров. Этот канал работает на одной из двух скоростей— низкой и высокой — и имеет ключевые характеристики, приведенные в табл. 4.4. FEC-механизм коррекции ошибок канала характеризуется 50%-й избыточностью и совершенным механизмом коррекции ошибок. Какой режим защиты от ошибок должен применяться для каждой скорости канала, если ключевая цель состоит в том, чтобы максимизировать его эффективность? Таблица 4.4. Ключевые характеристики звена Характеристика Значение Информационное поле 200 байт Накладные расходы кадра 16 байт Длина подтверждения 20 байт Вероятность потери кадра 10-3 Вероятность потери подтверждения 2x10”* Размер окна 8 Тайм-аут подтверждения 250 мс Звено с низким битрейтом 32 Кбит/с Звено с высоким битрейтом 256 Кбит/с Задержка распространения в звене 100 мс
Передача данных в сетях: инженерный подход Обозначим вход через X, выход — через Y, а р(А" = 0) = а. Пропускная способность вычисляется как максимальное значение взаим- . ной информации I(X, Y) = H(Y) - H(Y| X). Соответствующие вероятности приводятся в табл. 8.18. Таблица 8.18. Вероятности для вычисления энтропии H(X/Y) р(Х=0) = а p(Y= 0 | Х = 0) = р р(У=0, X=Q)=pa p(Y = 0)=pa p(Y=U\X=0) = = ]-р p(Y=U,X=0) = = (l-p)a р(У= 11 А"= 0) = 0 р(У=1,А'=0) = 0 P(X-U)~ = (l-p) р(Х=1)=1-а p(Y=0\X= 1) = 0 p(Y=0,X= 1) = 0 р(У=1Л¥=1) = = 1 -р p(Y=U,X=l) = = (l-p)(l-a) р(У=1) = = p(l -a) р(У=1^=1) = р р(У=1,Х=1) = = p(l - a) =p(Y= 0) lOg2(p(K = 0)) -p(Y = U)log^Y = U) ~p(Y = 1)) lOg2(p(K=l) = = -palo&pa - (1 -p) iog2( 1 -p) ~p{ 1 - a) log^pC 1 - a) = = -plog2p-(l -p) log2(l -p)-palog2a-p(l -«) log2(l - a); H(Y\X) = p(X= 0)H(Y\X= 0) +p(X= 1)Я(4¥= 1) = а(-р10ё2р - (1 -p)iog2(l -p)) + + (1 - a)(- (1 — p)log2(l -p) -plog^) = -plog^ - (1 -p)log2(l -p); H(Y) - ДУ|Л) = -plogjp - (1 -p)logXl -p) -palog2a -p(l - a)logXI - a) + plog^p + + (1 -p) log2 (I -p) = -palog2 -p(l - a)log2(l - a) =p(alog2a - (1 - a)log2(l - a)); Далее, (alog2a - (1 - a)log2(l - a)) — это энтропия двоичного источника A'. Ее максимальное значение равно 1 и, следовательно, максимальная про- пускная способность канала равна р. Телефонный канал имеет полосу шириной 3,4 кГц: а) вычислите пропускную способность канала, если отношение сиг- нал/шум составляет 30 дБ: используя закон Шеннона, получаем С = $iog2((S + N)/N) или С = Blog2(l + S/N). Отношение сигнал/шум задано, равным 30 дБ.
Гпава 8. Ответы на упражнения 395 В абсолютных единицах это 103 = 1000. Поэтому S/N = 1000, 5 = 3400, так что С = 34001og2(l + 1000) = 3400 х 9,96722 = 33 888 бит/с; б) вычислите минимальное отношение сигнал/шум, требуемое (теоре- тически), чтобы поддерживать передачу информации со скоростью 4800 бит/с: для обеспечения передач со скоростью 4800 бит/с, необходимо, что- бы выполнялось неравенство В log2(l + S/N) > 4800. В = 3400, поэтому log2 (1 + S/N) > 4800/3400, 1 + S/N> 21’412, S/N> 2,66 или 4,25 дБ.
Глава 5 С точки зрения звена 5.1. Уровень звена данных Уровень звена данных предоставляет сетевому "уровню соединение между двумя терминалами. Он выполняет несколько функций, среди которых мож- но выделить три основные. □ Синхронизация кадров. Позволяет распознавать различные части ин- формации и управлять передачей сигналов. □ Доступ к среде передачи. Позволяет посылать данные по звену в соответ- • ствии с определенными требованиями. Заметим, что эта функция приме- ‘ няется только к совместно используемым (разделяемым) средам. Если ме- . жду поддерживающими связь терминалами имеется^выделенная линия, I никакого управления доступом к среде передачи не требуется. Ь Защита от ошибок. Уровень звена данных пытается обеспечить надеж- : ные данные для сетевого уровня, так что, попадая на этот уровень, данные будут либо правильными, либо помечены как ошибочные. Для этого тре- ? буется обнаружение и исправление ошибок, хотя, если информация ис- порчена, то эту проблему обычно решают на верхних уровнях с помощью методики ARQ или маскировки. Р этой главе мы рассмотрим указанные функции и затем — некоторые LAN- Й MAN-системы, которые обеспечивают большинство функциональных воз- можностей звеньев данных в существующих сетях. Одной из таких систем является асинхронный режим передачи, ATM1, который был разработан как Цля сетей, так и для обеспечения функциональных возможностей уровня зве- на данных. Однако IP-технология развивается так, что она становится доми- нирующей на сетевом уровне, тогда как ATM часто используется для под- 1 ATM, Asynchronous Transfer Mode, асинхронный режим передачи —стандартизованная техно- логия коммутации пакетов фиксированной длины (1TU); является асинхронной в том смыс- ле, что пакеты от отдельных пользователей передаются апериодически; обеспечивает эффек- тивную передачу различных типов данных (голос, видео, мультимедиа-трафик ЛВС) на значительные расстояния. —Пер.
184 Передача данных в сетях: инженерный подход держки IP-протокола на уровне звена данных, что и является предметом об- суждения в данной главе. 5.2. Разграничение кадров Начало и конец кадра должны быть отмечены. Это особенно актуально, когда среда передачи является разделяемой, но даже если имеется выделенная ли- ния, то все равно требуется некоторая форма синхронизации. Первая воз- можность состоит в том, чтобы для определения числа символов в каждом кадре использовать специальное поле заголовка. Читая это поле, уровень зве- на данных адресата узнает, где находится конец кадра. Такая методика неус- тойчива, и целостность кадра будет нарушаться из-за ошибок передачи. Вторая методика предусматривает маркировку начала и конца каждого кадра последовательностью символов ASCII. Если кадр каким-то образом искажа- ется (включая старт-стопные символы), то звено данных может снова настро- иться, отыскивая маркеры следующего кадра, и потеряв в результате лишь несколько кадров. Вполне возможно, что такие последовательности ASCII- символов могут образовываться внутри кадра естественным образом. Чтобы предотвратить ошибочную интерпретацию границ кадра, перед каждой по- следовательностью внутренних (не граничных) символов вставляются специ- альные символы, которые указывают, что следующие за ними символы не являются ни началом, ни концом кадра. Эта процедура известна как вставка символов (character-stuffing), или байт- стаффинг. Она тесно связана с 8-битовыми символами и, в частности, с ко- дами ASCII. Однако по мере развития сетей зависимость от 8-битовых кодов постепенно уменьшалась, делая этот метод все более и более неприемлемым. Альтернатива состоит в том, чтобы отмечать границы кадра уникальной последовательностью символов. Наиболее часто используемой последова- тельностью такого рода является 01111110, которая используется, напри- мер, в протоколе HDLC2 версии 5.9.1. Чтобы гарантировать ее уникаль- ность, всякий раз, когда передатчик встречает в кадре 5 последовательных единиц, он автоматически, вставляет 0 в выходной поток, так что, напри- мер, последовательность 1010101111011011111100101 принимает вид 10101011110110111110100101 . Этот процесс называется вставкой битов, или бит-стаффингом (bit-stuffing). Процессы бит- или байт-стаффинга прозрач- ны для сетевого уровня, поскольку приемник будет автоматически удалять вставленный бит или байт. 2 HDLC, High-level Data Link Control, высокоуровневый протокол управления звеном данных (каналом). Этот международный коммуникационный протокол разработан в ISO. — Пер.
Глава 5. С точки зрения звена 185 Последний способ маркировки начала/конца кадра звена данных состоит в ис- пользовании физической среды и нарушении специфических правил кодирова- ния границ кадра. Эта методика зависит от существования некоторой избыточ- ности в кодированном сигнале и широко используется в локальных сетях и спецификациях S-шин ISDN (цифровых, сетей с интегрированными службами). Такие механизмы являются наиболее общими, но, независимо от метода, марки- ровка границ кадра всегда будет вводить элементы служебной информации. 5.3. Управление доступом к среде передачи Преимуществом статистического мультиплексирования является то, что со- вместное использование общей среды передачи— довольно эффективная стратегия. Однако она вносит также и дополнительную проблему — терми- налам нужно разрешать использовать эту среду, когда у них возникает в этом необходимость, но когда ее уже используют другие терминалы. Это и есть задача управления средой доступа. Для любой схемы управления доступом к среде можно сформулировать следующие требования: О система должна быть надежна; О протокол должен быть устойчив; О схема должна обеспечивать абсолютный доступ к системе; П необходимо управлять доступом к системе в соответствии с потребностя- ми служб или по другим причинам; О схема должна быть эффективной; П она должна быть простой в управлении. Существует несколько различных схем доступа. Их можно разделить на две категории — централизованные схемы, в которых ресурсы сети распределя- ются специальными узлами, и распределенные схемы, в которых все узлы работают кооперативно и в одинаковой манере. Другое различие проводят между системами, базирующимися на резервировании (где конкретные ре- сурсы распределяются между терминалами), и системами, базирующимися на состязаниях за обладание этими ресурсами (где терминалы запрашивают ре- сурсы, когда они в них нуждаются). Возможны также гибридные схемы, включающие как резервирование, так и состязания, и базирующиеся на тре- буемом обслуживании. Централизованная схема может также основываться на системе, в которой состязания используются терминалом для того, чтобы информировать центральный контроллер о том, что требуются ресурсы, а за- тем этот контроллер применяет резервирование для их распределения терми- налам. Эту стратегию используют многие радиосистемы.
1В6 Передача данных в сетях: инженерный подход 5.3.1. Схемы с состязаниями ALOHA Самой простой системой доступа к среде передачи, базирующейся на состяза- ниях, является ALOHA3. Эта система работает следующим образом — когда у терминала имеется информация для передачи, он передает ее. Если в это время начинает передачу другой терминал, то происходит наложение пакетов, и обе передачи искажаются (рис. 5.1). Это называется столкновением кадров. Если терминал принимает подтверждение своей передачи, это значит, что прини- мающий узел принял данные. Если — нет, то, вероятно, произошло столкнове- ние с другой передачей, и должен быть получен отказ. Затем передатчик ждет в течение случайного промежутка времени и снова пытается выполнить переда- чу. Важен тот факт, что этот период времени является случайным. Если бы терминал ждал фиксированный промежуток времени, и на первой же попытке передачи произошло столкновение с кадром другого терминала, то это проис- ходило бы также и при всех последующих попытках передач. Еще одна тон- кость, связанная со схемой ALOHA, — следует ограничить количество дан- ных, передаваемых в любой момент времени. Это не только хорошо для других пользователей, но и не перегружает канал. Так как терминалы перед передачей не прослушивают канал, чтобы определять, свободна ли среда передачи, то чем больше размер передаваемого пакета, тем больше шансов, что другой терми- нал тоже будет передавать свой пакет и столкнется с ним. Удачная Удачная передача передача Пакет 1 Пакет 1 Пакет 2 Пакет 1 вкл выкл вкл выкл Столкновение Пакет 1 Пакет 2 вкл вкл Второй пакет передается в то время, когда первый находится в канале. Столкновение разрушает оба пакета, и они должны быть переданы повторно. Рис. 5.1. Схема базовой сети ALOHA ALOHA — простая система, и поскольку она не требует централизованного управления, то ею довольно просто управлять. Однако она крайне неэффек- тивна. В лучшем случае она может использовать в среднем только 18% емко- сти канала. 3 ALOHA — сетевая система университета штата Гавайи (США), базирующаяся на спутнико- вых радиоканалах. — Пер.
'fnaea 5. С точки зрения звена Квантованная ALOHA 187 ^Наряду с тем что ALOHA неэффективна, не всегда доступно и очевидное средство — прослушивание канала перед началом передачи. Например, в сис- теме мобильного радио терминалы могут поддерживать связь с базовой стан- цией, но из-за препятствий при прохождении радиосигналов или больших расстояний между узлами могут не знать о передачах других терминалов, даже при том, что сигналы от них будут доходить до базовой станции и сме- шиваться с тем, что она передает (рис. 5.2). Это называется проблемой скры- тых терминалов. Мобильный телефон 1, передающий информацию на базовую станцию, не слышен для телефонов 2 или 3 Телефон 3 находится вне зоны приема и поэтому не может быть слышен телефоном 1, но его сигнал может принять базовая станция, и тогда этот сигнал смешивается с сигналом от телефона 1 Преграда Телефон 2 начинает передачу сигнала, который смешивается с сигналом от телефона 1 Рис. 5.2. Проблема скрытых терминалов Квантованная ALOHA улучшает простую, ограничивая передачу внутри кад- ров. Это вдвое уменьшает шанс столкновений, потому что когда два терми- нала, которые собираются передавать в одном и том же кадровом интервале, начнут передачу в следующем кадре (и поэтому столкнутся), любой терми- нал, решающий передавать во втором кадровом интервале, не начнет переда- чу до начала следующего кадра, и поэтому столкновения не произойдет. Это повышает пропускную способность почти до 36% емкости канала. Кванто- ванная ALOHA формирует часть схем управления доступом к среде боль- шинства систем мобильного радио. Множественный доступ с контролем несущей и обнаружением столкновений (CSMA/CD) CSMA/CD— это только один из протоколов доступа, используемых в ло- кальных сетях Ethernet. Такой протокол воспитанные люди используют для телеконференций, когда обычные визуальные способы вставки слов отсутст- вуют. Вот его правила: □ слушайте, прежде чем начать говорить; □ не говорите, пока кто-то говорит;
Передача данных в сетях: инженерный подход □ не говорите много и сбивчиво; О если вы начали говорить, когда кто-то уже говорит, остановитесь и замолчите. Главное отличие рассматриваемого протокола от ALOHA состоит в том, что узлы перед передачей прослушивают линию для того чтобы узнать, свободна ли она. Это приводит к значительному повышению пропускной способности. Если линия занята, терминал ждет, пока она не освободится. Так как ожидать освобождения линии могут несколько терминалов, то чтобы уменьшить ве- роятность столкновений, некоторые реализации CSMA/CD требуют, чтобы перед началом передачи терминалы выжидали некоторый случайный интер- вал времени после того, как канал освободится. В Ethernet, однако, использу- ется обычная техника, когда передача начинается сразу же после того как ка- нал становится свободным, без ожидания. Если два узла пытаются передавать в одно и то же или почти в одно и то же время, то в передающей среде происходит столкновение двух кадров. Обна- ружение столкновений выполняется путем отслеживания каждым узлом со- стояния шины при передаче кадра. Если данные в шине отличаются от пере- даваемых данных, то столкновение произошло. Хотя узлы и не будут пытаться передавать пакеты в то время, когда линия занята, столкновения все равно происходят, потому что для распространения кадра по всей длине шины требуется некоторое время, и узлы могут начинать передачу, когда предварительно переданный кадр уже находится в пути. Это показано на рис. 5.3. Передача распространяется по шине приблизительно за (2*108)1 мс. В худшем случае сталкивающиеся терминалы находятся на про- тивоположных концах шины (рис. 5.3, а), и второй терминал начнет передачу непосредственно перед получением первого кадра (рис. 5.3, б). Чтобы обна- ружить, что столкновение произошло, каждый терминал должен продолжать передачу, иначе пакеты могут столкнуться без того, чтобы передатчикам ста- ло известно об этом факте. Второй терминал обнаруживает столкновение очень быстро (рис. 5.3, в), но для того чтобы первый терминал обнаружил его, сигнал должен распространиться по шине в обратном направлении (рис 5.3, г). Это означает, что в системе CMSA/CD минимальная длина пакета должна равняться удвоенному времени распространения по всей шине (плюс некоторое дополнительное время для обработки). Для коаксиального кабеля длиной 2,5 км это время составляет 51,2 мкс, следовательно при скорости 10 Мбит/с минимальный размер кадра составляет 64 байта. Именно этот фактор ограничивает пропускную способность CSMA/CD-схем. Если задержка распространения мала по сравнению со скоростью передачи по шине, то кадры могут быть небольшими, а пропускная способность мак- симальна. Однако, когда скорость передачи возрастает, ограничение времени распространения становится значительным, поэтому или размер кадра дол- жен увеличиться, ограничивая производительность, или длина шины должна быть уменьшена. Первое решение нежелательно не только с точки зрения Неэффективности передачи небольших кадров, но и в плане обеспечения
рпава 5. С точки зрения звена 189 ^обратной совместимости с предыдущими (более медленными) версиями стандарта. Более быстрые версии Ethernet обходят эту проблему, используя вместо физической логическую шину на физической звезде. Концентратор в ‘центре звезды может обнаруживать столкновения и генерировать сигнал столкновения, если несколько соединений активны одновременно. Это озна- чает, что существует ограничение на длину отдельного сегмента концентра- тора, а не сквозное ограничение на шину (рис. 5.4). Рис. 5.3. Столкновения в сети Ethernet, использующей шину Рис. 5.4. Обнаружение столкновений в сети Ethernet с концентратором Когда происходит столкновение, оба узла прекращают передачу и будут пы- таться повторять передачу кадра после некоторого интервала времени, из- вестного как время выдержки (Back-Off time). В идеале время выдержки
190 Передача данных в сетях: инженерный подход должно быть различно для каждого из узлов, вовлеченных в процесс столк- новения, и поэтому обязано быть случайным. Для решения проблем состязаний между несколькими узлами (максимум 1024) разработан специальный алгоритм, известный под названием Алгоритм двоичной экспоненциальной выдержки (Binary Exponential Back-off Algorithm, BEB), используемый в Ethernet. В ВЕВ-алгоритме после столкновения узел ждет X единиц времени (размером 51,2 мс), где X— случайное число между 0 и (2W- 1) для 0 < N< 10, или 0 и 1023 для 11< N< 16, где N— число попы- ток повторной передачи. После 16 попыток кадр считается потерянным, и решение, что с ним делать, предоставляется более высоким уровням. 5.3.2. Схемы с резервированием Более эффективное использование среды передачи обеспечивают схемы с резервированием, потому что при этом доступ становится управляемым и столкновений не происходит. Их можно разделить на системы с опросом, ис- пользующие центральное устройство управления, и распределенные системы. Опрос В схеме с опросом за разрешение доступа к разделяемой среде отвечает цен- тральный контроллер. Он направляет хост-узлам специальные сообщения, раз- решающие им использовать среду в течение определенного периода времени. Самый простой метод — схема циклического опроса, когда контроллер входит в контакт с каждым опрашиваемым хост-узлом и приглашает его передавать свои данные. Когда тот заканчивает передачу, центральный контроллер опра- шивает следующий хост-узел. В расширенной методике время передачи хост- узла ограничено, так что каждый узел получает хороший шанс для передачи. Существенное преимущество схемы с центральным управлением состоит в том, что у хост-узлов появляется возможность сообщать центральному кон- троллеру об имеющемся у них трафике, который часто измеряется в терми- нах наполнения их локальных очередей, но это можно, например, сделать также на основе приоритета или скорости поступления трафика. Отсюда сле- дует, что центральный контроллер имеет глобальное представление о состоя- нии системы, намного превосходящее более ограниченное представление о состоянии хост-узлов, и поэтому может располагать доступом к соответст- вующим хост-узлам по приоритетам. В примере на рис. 5.5, а очередь хост- узла С почти полна, и контроллер назначает ему высокий приоритет передачи ( рис. 5.5, б). Так как контроллер обладает знаниями о доступе к каналу, то он может в некоторых пределах предсказывать требования хост-узлов, умень- шая тем самым необходимость сообщать ему их точное состояние. Одним из недостатков данной схемы опроса является то, что хост-узел опра- шивается независимо от того, имеются ли у него данные для передачи или
Гпава 5. С точки зрения звена 191 нет. Если ему нечего передавать, он немедленно просигнализирует об этом контроллеру, и тот будет опрашивать следующий хост-узел. Если в сети име- ется достаточно большое количество хост-узлов, которые не часто передают свою информацию, то в этом процессе наблюдаются значительные издержки. Обойти эти проблемы позволяют так называемые гибридные схемы, исполь- зующие в определенные "установочные" периоды времени схему с состяза- ниями, а все остальное время — схему с опросом. б Рис. 5.5. Схема опроса, базирующегося на приоритетах В гибридных схемах вместо опроса всех хост-узлов контроллер хранит список опроса активных узлов и опрашивает только узлы из этого списка. В устано- вочные периоды хост-узлы используют схему с состязаниями для того, чтобы информировать контроллер о том, что они имеют информацию для передачи. Контроллер будет помещать информировавшие его узлы в список опроса и управлять их передачами вне установочных периодов (по схеме с опросом). Когда хост-узлы заканчивают передачу, они удаляются из списка опроса. Схемы с маркерами Схемы с маркерами позволяют организовать опрос в распределенной манере, так что никакого центрального контроллера не требуется, хотя на практике один из узлов должен первоначально сгенерировать специальный кадр — маркер— и затем постоянно проверять, распространяется ли он по сети. Маркер в такой схеме передается от узла к узлу. Обладание маркером дает разрешение на передачу данных. Чтобы гарантировать успешный доступ, от- резок времени, в течение которого узел может хранить маркер и передавать свои данные, ограничивается. Когда достигается конец этого интервала или когда узлу с маркером нечего передавать, он пересылает маркер на следую-
192 Передача данных в сетях: инженерный подход щий узел. Этот процесс продолжается в цикле или логическом кольце до тех пор, пока все узлы не получат шанс принять маркер и передать данные, после чего цикл повторяется. Существует много разновидностей схем с маркером, однако типичным пред- ставителем такой схемы является МАС-стандарт IEEE 802.5 "Маркерное кольцо" (Token Ring). Маркер в этой системе формируется из пустого ин- формационного кадра. Если данные для передачи отсутствуют, то маркер (или пустой кадр) передается от узла к узлу. Когда у узла есть что переда- вать, он ждет маркерный кадр, вставляет в него данные, которые он должен передать, а также адрес пункта назначения (и свой собственный адрес — в качестве адреса источника), и посылает его в сеть. Приняв информационный кадр, каждый узел проверяет его, чтобы узнать, не является ли адрес пункта назначения его собственным адресом. Если нет, то кадр пересылается дальше без изменения. Когда достигается адрес узла назначения, тот извлекает ин- формацию из кадра, заменяет его данные подтверждением приема и направляет его назад в кольцо для отправки к источнику. Получив этот кадр, узел источника извлекает подтверждение (получив, таким образом, подтвер- ждение приема отправленных адресату данных) и пересылает пустой кадр назад в кольцо к следующему узлу. Это означает, что каждый узел может пе- редавать свои данные только один раз, когда он владеет маркером. Если все узлы имеют какие-то данные для передачи, то они будут циклически пере- мещаться вокруг кольца от терминала к терминалу. В качестве примера рассмотрим цепочку событий в системе, показанной на рис. 5.6, где узел А хочет послать данные узлу С. Узел А ждет свободный маркер (рис. 5.6, а). Получив его, он заполняет его своими данными, устанав- ливает флажок занятости маркера и направляет этот кадр по кольцу к узлу С (рис. 5.6, 6). Узел С принимает кадр, устанавливает в "хвосте" кадра биты от- вета, подтверждающие прием данных от узла А, и помещает его обратно в кольцо для отправки к узлу А (рис. 5.6, в). Узел А принимает кадр, подтвер- ждающий получение данных, сбрасывает биты ответа и возвращает свобод- ный маркер в кольцо (рис. 5.6, г). Другой МАС-протокол — FDDI (Fiber Distributed Data Interface, интерфейс передачи данных по оптоволокну) — использует ту же базовую процедуру, хотя и с некоторыми различиями в деталях. Главное различие состоит в том, что под управлением FDDI узел посылает свободный маркер сразу же после того, как он послал свои данные (то есть перед тем как он примет подтвер- ждение). В больших сетях, для которых был разработан FDDI, ожидание подтверждения перед освобождением маркера было бы слишком неэффек- тивным. При этом появляется возможность второй (и даже нескольких) пе- редач данных или их подтверждений по кольцу, но так, чтобы в любой дан- ный момент только одна передача присутствовала в каждой отдельной части кольца.
Глава 5. С точки зрения звена 193 Рис. 5.6. Схема управления доступом юсреде передачи, использующая маркеры Существенным преимуществом схем с маркерами по отношению к распреде- ленным CSMA/CD-схемам с состязаниями, является то, что продолжая рабо- тать в распределенной манере, они могут назначать передачам различные приоритеты. Для этого в маркере выделяется специальное поле — поле при- оритета— и указывается, что использовать этот маркер могут только те службы, приоритет которых больше, чем уровень приоритета, заданный в маркере. Чтобы гарантировать передачу кадров в приоритетном порядке, не- обходимо также дополнительное поле для указания приоритета следующего передаваемого кадра. Различные маркерные схемы по-разному реализуют систему управления доступом к среде передачи, но самой типичной общей процедурой является протокол IEEE 802.5. Когда у узла имеется кадр для передачи, он вычисляет его приоритет, причем этот приоритет, по всей вероятности, будет связан со службой, для которой предназначены данные. Так, например, передача речи, требующая более же- стких ограничений на задержку, будет иметь более высокий приоритет, чем передача файла. В каждом маркере указывается текущий и резервный уровни приоритетов. Когда свободный маркер достигает узла, желающего передавать данные с приоритетом, равным или меньшим, чем приоритет передаваемого
194 Передача данных в сетях: инженерный подход трафика, узел использует кадр нормальным способом. Если приоритет мар- кера больше, чем приоритет трафика, то маркер передается немедленно. Чтобы сигнализировать, что у них имеется готовая для отправки приоритет- ная информация, узлы используют второе приоритетное поле кадра— поле резервирования (reservation field). В нем указывается так называемый резерв- ный приоритет (или приоритет резервирования). Если приоритет в поле ре- зервирования проходящего кадра оказывается ниже, чем у данных, ожидаю- щих передачи, то узел вставляет в поле резервирования передаваемого кадра приоритетный уровень этих данных. Когда владелец маркера освобождает маркер, подтверждающий прием его кадра, он сравнивает приоритет маркера с приоритетом в поле резервирования. Если приоритет резервирования ока- зывается больше, чем приоритет маркера, то приоритет маркера повышается До приоритета резервирования, что гарантирует передачу маркера по кольцу До тех пор, пока он не достигнет высокоприоритетного передатчика. Этот приоритетный механизм работает следующим образом. Для всех поль- зователей одного приоритетного уровня кадры передач следуют друг за дру- гом в циклической последовательности, а когда все передачи на этом уровне заканчиваются, происходит переход к передачам следующего приоритетного Уровня и т. д. Любой узел, который при освобождении маркера с подтвер- ждением повышает его приоритетный уровень до уровня резервирования, отвечает также и за понижение этого уровня до его предыдущего значения. Это произойдет только тогда, когда высокоприоритетные передачи закончат- ся, и кроме того, это позволяет избежать ситуации блокировки сети с высо- коприоритетным маркером при наличии низкоприоритетного трафика, кото- рый ожидает продолжения передачи. Пример работы маркерной схемы с приоритетами приведен на рис. 5.7, где показано 6 последовательных состояний этой схемы. В исходном состоянии (рис. 5.7, а) отражена текущая ситуация, когда текущий передающий узел А Посылает в кольцо кадр с параметрами P(Priority) = 0 и R(Reservation) = 0, а в Узлах В и С имеются данные для передач с приоритетами 3 и 4 соответствен- но. Когда этот кадр передается узлу В, он занят трафиком данных узла А, по- тому узел В только заполняет поле резервирования кадра значением приори- тета своих данных (R = 3) и отправляет кадр дальше (рис. 5.7, б). Когда он Достигнет узла С, который имеет данные более высокого приоритета, то С тоже только заменяет приоритет резервирования на 4 (то есть устанавливает R- = 4) (рис. 5.7, в). Когда узел А освобождает маркер с подтверждением Приема своих данных, он помещает в поле приоритета значение 4 (Р = 4) (рис. 5.7, г). Этот маркер снова передается в узел В, который устанавливает в Поле резервирования значение 3 (R = 3) (рис. 5.7, <)). Получив этот маркер, Узел С начинает передачу своих данных (рис. 5.7, е). Когда их передача будет закончена, он выпустит в сеть свободный маркер, но вследствие того что он Принял маркер с приоритетным уровнем 4 (Р = 4), оставит этот приоритет на том же уровне. Затем свободный маркер, циркулируя по кольцу, прибывает в
Гпава 5. С точки зрения звена 195 узел А, который распознает (по полю Priority), что перед этим пересылался высокоприоритетный трафик и поэтому уменьшает приоритетный уровень. В обычной ситуации узел А уменьшил бы этот уровень до 0, но из-за того что он получил свободный маркер с уровнем резервного приоритета 3 (R = 3), выпустит маркер с приоритетом 3, запомнив, что он теперь поднял приоритет маркера с 0 до 3, но возвратит приоритет к уровню 0 в следующий раз, когда встретится с пустым маркером приоритета 3. Рис. 5.7. Маркерная схема с приоритетами б
196 Передача данных в сетях: инженерный подход У протокола FDDI другая система приоритетов, потому что его узлы передают маркеры немедленно после посылки своих данных, но результат тот же. 5.3.3. Сравнение методов доступа Среди различных систем с состязаниями только CSMA/CD обеспечивает са- мую высокую пропускную способность. Квантованная ALOHA обеспечивает более высокую пропускную способность, по сравнению с простой, поэтому лучше использовать именно квантованный вариант ALOHA. Если использу- ется схема с состязаниями и возможно считывание состояния среды, то сле- дует выбирать CSMA/CD. Из схем резервирования, самой лучшей является схема централизованного опроса, которая обеспечивает и наивысшую производительность, потому что распределитель ресурсов обладает полным знанием состояния системы. Од- нако наличие центрального управления часто нежелательно. Маркерные системы обладают преимуществами распределенного подхода, но даже в варианте с приоритетами, такие системы только приближаются по произво- дительности к централизованной схеме с резервированием. Если сравнивать схемы с состязаниями и с резервированием, то первые в об- щем случае проще и, когда загрузка невелика, обеспечивают более быстрый Доступ;, поскольку терминалы не должны ждать разрешения на передачу. Од- нако в таких системах невозможно назначать различные приоритеты трафи- кам различных типов, так что они не подходят для сетей со смешанным тра- фиком или для сетей с высокоприоритетным трафиком и низкими требованиями к задержкам. Доступ к каналу с помощью CSMA/CD имеет ве- роятностный характер, что может привести к переменным и неограниченным задержкам, и он очень нестабилен при нагрузке, превышающей -30% полосы пропускания канала. Кроме того, такие схемы сравнительно неэффективны и не очень хорошо масштабируются, т. к. с увеличением размеров сети растет и задержка распространения. Для небольших сетей, например, локальных, распределенный характер и низ- кая стоимость CSMA/CD, безусловно, делают его выбор наиболее популяр- ным. Относительная неэффективность не так важна, поскольку при коротких расстояниях недостаточная скорость передачи может быть существенно скомпенсирована. Для больших сетей стоимость среды передачи становится существенно выше, чем затраты на терминалы, поэтому предпочтительнее более эффективный механизм, даже если он приводит к весьма сложным и поэтому дорогим терминалам. Кроме того, более важным является требова- ние гарантии качества обслуживания. Поэтому большие сети используют схемы с резервированием.
Гпава 5. С точки зрения звена 197 5.4. Кодирование канала Реальный канал может добавлять к передаваемому сообщению некоторое ко- личество ошибок. Для обнаружения этих ошибок приемнику необходимо просто заметить, что они были добавлены, а для прямого исправления оши- бок (Forward Error Correction, FEC) существует дополнительное требова- ние — нужно определить их расположение в принятом сообщении. Проектировщик кода не может контролировать ошибки, но у него есть воз- можность определить код таким образом, чтобы для большинства возникаю- щих ошибок сообщение можно было восстановить по принятому кодовому слову. Распознавание возможно до тех пор, пока сообщения достаточно от- личаются друг от друга, а число ошибок не слишком велико. Задачу форми- рования достаточно различающихся кодовых слов можно решить путем до- бавления к сообщению избыточной информации. Примером добавок такого рода является акустический алфавит, используемый при чтении слов по слогам в радиоканалах. Многие буквы (английского) алфа- вита, например, В, С и D, имеют очень близкое звучание, которое можно пере- путать при произношении по шумящему каналу. Чтобы было легче отличить друг от друга буквы алфавита, в акустическом алфавите для каждой буквы ис- пользуются специальные кодовые слова. В табл. 5.1 приведен акустический алфавит, используемый британской полицией. Кр$ме того, числа произносят с небольшими изменениями и гиперболизацией слогов, например, nine— как niner и five — как fife, чтобы их было легче произносить по слогам. При проектировании кода, исправляющего ошибки, избыточность, которая добавляется в форме дополнительных символов (в двоичном коде — это дво- ичные символы, или биты), следует использовать с осторожностью, чтобы она была эффективной. В частности, избыточность должна делать похожие кодовые слова более разными. Различие между кодовыми словами можно представить в виде расстояния между ними. Коррекцию ошибок следует выполнять путем просмотра рас- стояний от полученного кодового слова до всех возможных допустимых ко- довых слов, и выбора самого близкого кодового слова. Если это сделано, то ошибки можно всегда исправить, если они разрушают кодовые слова на рас- стоянии, которое меньше, чем половина расстояния между двумя самыми близкими кодовыми словами, или их можно обнаружить, если они разру- шают кодовые слова на расстоянии, которое меньше, чем минимальное рас- стояние между двумя кодовыми словами. 4 Прямое исправление ошибок — исправление ошибок без требования повторения передачи. — Пер.
198 Передача данных в сетях: инженерный подход Таблица 5.1. Акустический алфавит Буква (сообщение) Акустическое “кодовое слово" Буква (сообщение) Акустическое "кодовое слово" А а Alpha N en November В bee Bravo 0 О Oscar С see Charlie P pee Papa D dee Delta Q cue Quebec Е е Echo R ar Romeo F ef Foxtrot S es Sierra G gee Golf T tee Tango Н aitch Hotel u u Unifor I I India V vee Victor J jay Juliet w double- you Whiskey К kay Kilo X ex Xray L el Lima Y wye Yankee М em Mike* z zed Zulu Коррекцию и обнаружение ошибок можно выполнять одновременно. Если минимальное расстояние между любой парой кодовых слов обозначить как dmln (рис. 5.8), то пока <Vinin > dd + dc, исправлять ошибки можно в радиусе dc, а обнаруживать— в радиусе <7(/от каждого кодового слова, т. к. если получен- ное сообщение находится вне изображенных кругов, то можно лишь узнать, что имеется ошибка, хотя ее нельзя "исправить", потому что она не находится в круге радиуса dc вокруг любого кодового слова. Изменяя размер кругов, можно поменять местами возможности исправления и обнаружения ошибок. Заметим, что для фиксированного dmin увеличение dc уменьшает dd, и появля- ется еще одна проблема — возможность неправильного "исправления" полу- ченного сообщения. Если сообщение было так сильно разрушено, что пере- местилось более чем на dd и попало в круг радиуса dc другого кодового слова, то оно будет декодировано неправильно. Математическим аналогом расстояния является метрика. Самый простой и наиболее общей метрикой для бинарных сигналов является расстояние Хем- минга. Расстояние Хемминга между двумя битовыми потоками определяется выражением а-b, где а и b — это так называемые веса этих битовых пото- ков, которые определяются числом их ненулевых компонентов.
Гпава 5. С точки зрения звена 199 Рис. 5.8. Расстояние между кодовыми словами Рассмотрим три кода, использующих символы, составленные из трех двоич- ных цифр (рис. 5.9). Первый код (рис. 5.9, а) использует все возможные ком- бинации трех битов и поэтому имеет минимальное расстояние 1. Он не может исправлять или обнаруживать никакие ошибки, потому что любая ошибка формировала бы новое кодовое слово. Второй код (рис. 5.9, б) имеет мини- мальное расстояние 2. Он построен путем удаления всех кодовых слов с рас- стоянием 1 из кодового слова на рис. 5.9, а. Этот код может обнаруживать одиночную ошибку, хотя не исправляет ее (ошибочный код 010 мог бы сформировать кодовые слова ООО, 011 или даже ПО). Две ошибки не могут быть обнаружены. Код на рис. 5.9, б— это, в действительности, код провер- ки на четность, который обнаруживает также и ари ошибки. Код (рис. 5.9, в) имеет расстояние 3. Он будет исправлять одну ошибку или обнаруживать 2 (но не одновременно). Если бы он использовался для исправления ошибок, то код 010 был бы исправлен на 000, как было бы и для кодов 100 и 001, что по- казано маленькими стрелками. Рис. 5.9. Коды, составленные из трех двоичных цифр Существование расстояния между кодовыми словами не обязательно означа- ет, что сообщение можно легко извлечь из полученного кодового слова, даже если случается меньше ошибок, чем код может теоретически исправить. В наихудшем случае нужно будет сравнивать полученный битовый поток со
200 Передача данных в сетях: инженерный подход всеми возможными кодовыми словами, чтобы увидеть, к какому из них он ближе всего. Если длина потока велика, то существует много возможных ко- довых слов, так что этот процесс может сильно затянуться во времени. По- этому выбор кодирующей функции должен быть сделан так, чтобы сущест- вовал простой метод декодирования. Рассмотрим, например, относительно небольшой циклический композици- онный код (143 120). Блочный код этого типа можно декодировать, исполь- зуя правила его кодирования за 264 простых шага (сдвига). Однако этот код имеет 2120 кодовых слов, так что полный перебор потребовал бы порядка 1 000 000 000 000 000 000 000 000 000 000 000 000 (то есть 1036) сравнений. Существует несколько методов проектирования кодов, позволяющих выполнять кодирование и декодирование на практике. Если кодирование есть линейная функция относительно информационного сообщения и если принятые слова яв- ляются кодовыми, то мы получаем простой метод кодирования и тестирования. Коды с повторениями— очень просты, но не очень эффективны. Коды Хеммин- га— это специальный класс кодов, исправляющих одиночные ошибки. Такие коды достаточно просты в построении и использовании. К другим общим кодам относятся циклические коды, и один из их типов — коды Рида-Соломона, кото- рые являются сложными, но теперь все шире используются на практике (напри- мер, в компакт-дисках). Сверточные коды работают с данными в последователь- ной мйнере, и хотя они не столь эффективны, как коды Рида-Соломона, в проектировании и использовании они достаточно гибки и просты. 5.4.1. Вероятность ошибки Рассмотрим передачу информации через двоичный симметричный канал с вероятностью перехода а. Двоичный симметричный канал не имеет памяти, и вероятность перехода (то есть ошибки) одна и та же как для нулей, так и для единиц. Вероятность того, что п битов принимаются без ошибки, равна (1 - а)п. Вероятность одной ошибки равна вероятности того, что данный бит — ошибочный, а все другие — правильные, т. е. (а х (1 - а)п~ ’) п, поскольку для конкретного бита имеется п возможностей быть ошибочным. В общем слу- чае, вероятность того, что е из п битов — ошибочны, равна _ п\ _ и(л - 1) • • • (л - е +1) еЦп-е)\~ /! Чаще нас интересует вероятность того, что произошло более, чем заданное число (скажем, е) ошибок, которая вычисляется следующим образом: Р(число ошибок > е) = 1 - Р (число ошибок < е) =
Гпава 5. С точки зрения звена 20/ 5.4.2. Построение кодов с исправлением ошибок Здесь будем рассматривать только двоичные коды (если не утверждается противоположное). Коды, исправляющие ошибки, можно строить и из других символов, но мы не будем детально рассматривать такой случай. Коды с повторениями Очень простой метод кодирования состоит в том, чтобы повторять сообще- ние 2d + 1 раз и декодировать полученные кодовые слова, опираясь на боль- шинство принятых символов. В этом случае расстояние между кодовыми словами будет равно 2d + 1, и это означает, что может быть исправлено до d ошибок. Такой код оптимален для d = 1 .и сообщения длиной 1, т. е. для кода с исправлением однобитовых ошибок и кодовыми словами ООО и 111. Одна- ко, когда нужно передавать больше двоичных символов, эффективность кода (в смысле скорости передачи при заданной способности коррекции ошибок) очень мала. Заметим, что определение скорости для кода с исправлением ошибок выглядит так: R = (среднее число исходных символов) / (среднее число символов кодо- вых слов). Концепции эффективности кода не существует^ однако его избыточность можно определить как 1 - R (сравните с кодированием источника, когда ско- рость рассматривается как эквивалент эффективности и предполагается, что источник имеет максимальную энтропию — один бит на двоичный символ). Двоичный код с повторениями способен исправлять 2-битовые ошибки в 6- битовом коде (для d= 2) и имеет скорость 0,2. Сверточный код типа (2, 1, 3), о котором речь пойдет далее, имеет такую же способность коррекции оши- бок, но скорость 0,5, а более сложные блочные коды — еще больше. Код с одним разрядом контроля четности Код с исправлением ошибок на самом деле не относится к наиболее общей и простой форме кодов, т. к. он может обнаруживать только одиночные ошибки. Таким свойством, скорее, обладает так называемый код с одним разрядом кон- троля четности (single parity check code) — двоичный код, в котором к каж- дому сообщению добавляется один дополнительный бит, гарантирующий, что в нем имеется четное число единиц. Это означает, что к сообщениям с четным числом единиц добавляется 0, а к сообщениям с нечетным числом единиц— 1. Любой одиночный ошибочный бит оставляет в сообщении нечетное число единиц, так что могут быть обнаружены одиночные ошибки, но двойные ошибки (или любое четное число ошибок) в результате дадут четное число единиц и пройдут незамеченными. Поэтому такой код обнаруживает только
Передача данных в сетях: инженерный подход одну ошибку и не способен ее исправлять. Но т. к. все сообщения различны и имеют четное число единиц, то минимальное расстояние равно 2, что, вообще говоря, согласуется с возможностью коррекции. Если биты сообщения обозначить как то бит проверки на чет- ность — это просто сумма (по модулю 2) этих битов р = тп\ +... + тп, так что проверку на четность можно задать как + ... + тп +р = 0. Код Хемминга Научный метод определения кода мог бы состоять в предположении, что для разрешения проблемы ошибок кодовое слово должно поставлять достаточно информации, чтобы содержать как сообщение, так и ошибку. Рассмотрим не- обходимость исправления одиночной ошибки. Если мы снова обратимся к трехбитовым кодам (см. рис. 5.9), то увидим, что одиночная ошибка может произойти в любом из их битов. Кроме того, может вообще не быть никакой ошибки. Поэтому имеется 3 + 1=4 возможных сообщения об ошибках. Что- бы их кодировать, требуется два бита информации (log2 4). Число битов про- верки на четность (избыточность), добавляемое к коду, должно равняться по крайней мере 2. Всего в коде имеется три бита (л = 3). Поэтому число инфор- мационных битов равняется 1 (то есть к = 1). Код на рис. 5.9, в — это фактически код с исправлением однобитовых оши- бок с £= 1 и двумя кодовыми словами ООО и 111. Мы можем расширить нашу гипотезу следующим образом. Если бы мы имели в кодовом слове п битов, то нам нужно бы было log2(w + 1) битов проверки на четность, оставляя для информации & = «-log2(« +1) битов. Чтобы наиболее эффективно использовать разряды проверки на четность, имеет смысл сделать п ~2Ч-1, так чтобы мы могли выдвинуть гипотезу, что имеются коды с пара- метрами п=2ч -\,k = n-q (например, (3, 1), (7, 4), (15,11) и т. д.). Оказывает- ся, что такие коды существуют и называются по имени их исследователя кода- ми Хемминга. Тривиальным примером такого кода и является код на рис 5.9, в. Первый интересный пример этого кода — код (7, 4), который может исправ- лять одну ошибку в 7 битах и имеет скорость 57,1%. Впрочем, все еще существует проблема построения этих кодов. Простая про- верка на четность может только обнаружить, но не исправить ошибку. Мы, од- нако, имеем три бита проверки на четность. Если для формирования четности мы используем различные комбинации этих битов, то когда такие комбинации покажут сбой, мы сможем найти ошибку. С 3 битами проверки на четность мы имеем 8 различных комбинаций их значений. Пусть комбинация ООО, т. е. от- сутствие сбоев в четности соответствует отсутствию ошибок. Пусть каждый бит четности проверяет сам себя и три из четырех битов сообщения. Тогда три бита сообщения проверяются двумя битами четности, а один — тремя такими битами, в то время как каждый бит четности проверяет только самого себя.
Гпава 5. С точки зрения звена 203 Единичное значение в одном бите проверки четности свидетельствует об ошибке в самом этом бите. Единицы в двух проверочных битах показывают сбой в соответствующем бите сообщения, а единицы во всех трех битах про- верки на четность указывают ошибку в бите сообщения, который проверяется всеми тремя битами проверки на четность. 5.4.3. Линейные коды Если проектирование кодов с повторениями было довольно простой процеду- рой, то когда мы создаем более эффективные коды, эти процедуры становятся сложнее, и мы вынуждены искать более систематические пути проектирова- ния. Линейным называют такой код, в котором каждое кодовое слово форми- руется как линейная комбинация векторов сообщения. Двумерный код можно сформировать следующим образом— сообщение i кодируется в двумерное кодовое слово (z, 2zj. Этот код — линейный, т. к. каждая линейная комбинация кодовых слов формирует другое кодовое слово. Наилучшие коды формируют- ся теми функциями, которые строят широко раздвинутые кодовые слова— с большими расстояниями между ними. В данном примере формируется код с исправлением одиночных ошибок, поскольку ошибки могут изменять только один элемент в каждом измерении. Так, на рис. 5.10 буквами А, В, С, D и Е обозначены пять кодовых слов. Каждая из остальных точек двумерной сетки занимает по крайней мере одну горизонтальную или вертикальную позицию около каждого кодового слова. Их можно видеть по маркировке каждого не- кодового слова малыми буквами ближайшего кодового слова. Если принима- ется код, обозначенный любой из малых букв, то предполагается, что был по- слан код соответствующей заглавной буквы. Линейные коды часто определяются с помощью так называемой порож- дающей матрицы, составленной из кодовых слов, причем к этих кодовых слов независимы, так что порождающая матрица (скажем, G) имеет к строк и п столбцов. Все кодовые слова можно формировать добавлением строк, так что кодовое слово, скажем с, формируется из сообщения, ска- жем т, с помощью выражения с = mG. Структура матрицы G такова, что, когда она помещается в стандартную ступенчатую форму, то имеет струк- туру [7]Р]5. Существует соответствующая матрица Н - [Рт|7], называемая матрицей проверок на четность. GHT = 0. Матрица Н используется для декодирования кода. Если нет ошибок, то сНТ = mGHT = т0 = 0. Если случается ошибка, например, е, то мы принимаем кодовое слово с' = с + е, так что c'lf = (с + e)Hr - elf + elf = 0 + elf = elf. Эта величина, назы- ваемая синдромом, зависит только от ошибки, а не от передаваемого кодо- вого слова. В этом — ключевое свойство линейных кодов. 5 / — от англ. Information, а Р— от Parity. — Пер.
204 Передача данных в сетях: инженерный подход Рис. 5.10. Простые двумерные линейные коды (вычисляемые по модулю 5) Синдром используется для исправления ошибок. Синдром 0 указывает, что было получено кодовое слово, причем это означает, что или никаких ошибок не произошло, или что ошибка является кодовым словом, поскольку линей- ные свойства кода таковы, что принимаемый код (с' = с + е) также будет ко- довым словом. Любая ошибка, имеющая ту же форму кодового слова, имеет вес, равный или превышающий минимальное расстояние между кодовыми словами, и не может быть никак исправлена. Линейные коды достаточно просты в реализации, потому что вместо записи деталей каждого кодового слова, можно записывать детали линейной функ- ции и умножать на них сообщение. Однако в общем случае коррекция оши- бок не так проста. Для некоторых линейных кодов нужно определять специ- альные методы для обнаружения ближайшего кодового слова в присутствии ошибок, но в общем случае, чем лучше код (в смысле числа ошибок, которые он исправляет и числа добавляемых дополнительных битов), тем более слож- ный алгоритм требуются для его декодирования. Матричная форма кодов Хемминга Напомним определение кода Хемминга. Уравнение проверки на четность формируется из линейной комбинации кодовых слов, поэтому код Хемминга линеен и может быть выражен в матричной форме. Матрица проверок кода на четность, которую мы сформировали ранее, фактически выглядит так: Р\ = Ш\ + т-2 + т4 => /И] + т2 + ш4 +pi ~ О Рг = /И] + т3 + т4 => т\ + т3 + /и4 +р2 = О Р\ = т2 + т3 + т4 => т2 + т3 + т4 + р3 =0 4 10 1 /7= 1 0 1 1 0 111 1 0 О' 0 1 О 0 0 1,
Гпава 5. С точки зрения звена 205 Построение кода (15, 11) затруднено из-за того, что отсутствует простое правило проектирования. Обратите, однако, внимание, что в форме ступенча- тых строк каждая строка отличается по крайней мере двумя элементами (из-за /-части матрицы). Если каждая строка в /’-части матрицы различна, и содер- жит по крайней мере 2 бита (чтобы обеспечить минимальное расстояние, равное 3; любая строка с меньшим количеством битов была бы ближе чем в 3-х битах от всех нулей кодового слова), результатом будет матрица, пред- ставляющая комбинацию проверок, которые удовлетворяют всем нашим тре- бованиям. Поэтому, чтобы построить код Хемминга, мы просто заполняем Р каждой комбинацией битовых последовательностей с двумя или большим количеством единиц в любом порядке. Различные порядки будут давать раз- личные, но эквивалентные коды Хемминга. Коды Хемминга очень просто декодируются с помощью //-матриц, поскольку они позволяют исправлять одиночные ошибки. Любое кодо- вое слово умножается в обычном порядке (начиная с младшего раз- ряда) на транспозицию //-матрицы, что дает нулевой вектор. Если име- ется одиночная ошибка, то принятое кодовое слово с' можно считать равным однобитовому вектору е плюс кодовое слово с, так что с'if = (с + е)Нт = сНт + elf = 0 + elf. Однако, поскольку е — это вектор только с одной единицей, то elf — это просто столбец в //-матрице, пози- ция которого соответствует ошибке. Этот аргумент применяется ко всем исправлениям однобитовых ошибок с помощью линейного кода, а не только к кодам Хемминга. Циклические коды Специальные типы линейных кодов, называемых циклическими, имеют чет- кую структуру и простую реализацию. В дополнение к формированию новых кодовых слов из их линейных комбинаций, в циклических кодах новые кодо- вые слова формируются также путем циклического сдвига кодового слова. Например, левый циклический сдвиг кодового слова 01001011 дает новые кодовые слова 10010110, 00101101 и т. д., поэтому такие коды можно созда- вать из сдвигов и линейных комбинаций единственного кодового слова, ко- торое называют генератором. При подходящем проектировании такой гене- ратор обеспечивает равномерное распределение кодовых слов в кодовом пространстве, и код имеет хорошие дистанционные свойства. Легко также проверять, имеет ли принятое кодовое слово какие-нибудь ошибки, посколь- ку все кодовые слова кратны генератору. По этой же причине для обнаруже- ния (но не коррекции!) ошибок используются специальные циклические ко- ды, называемые кодами с циклической проверкой избыточности (Cyclic Redundancy Check, CRC).
206 Передача данных в сетях: инженерный подход Пример линейного кода: расширенный код Хемминга Код Хемминга (7,4), исправляющий одиночные ошибки, имеет следующую порождающую матрицу: "1 0 0 0 1 1 (Р 0 10 0 10 1 0 0 1 0 0 11 J) 0 0 1 1 1 1, Чтобы сформировать код (8, 4) с минимальным расстоянием 4, мы можем до- бавить к этому коду полную проверку на четность6. Это выполняется путем кодирования выхода кода Хемминга с полной проверкой на четность. Выход кода Хемминга задается выражением с = mG, где G — порождающая матрица кода Хемминга. '1 0 0 0 0 0 0 г 0 1 0 0 0 0 0 1 0 0 1 0 0 0 0 1 (С1 С2 сз с4 с5 Сб С7 ) 0 0 0 1 0 0 0 1 = 0 0 0 0 1 0 0 1 0 0 0 0 0 1 0 1 <0 0 0 0 0 0 1 '1 0 0 0 0 0 0 г 0 1 0 0 0 0 0 1 Э 0 0 0 1 1 0 Г 0 0 1 0 0 0 0 1 0 1 0 0 1 0 1 1 (mi m2 т3 тл4) 0 0 1 0 0 1 1 1 0 0 0 1 0 0 0 1 — 0 0 0 0 1 0 0 1 ч0 0 0 1 1 1 1 1 / 0 0 0 0 0 1 0 1 <0 0 0 0 0 0 1 L э 0 0 0 1 1 0 1^ 0 1 0 0 1 0 1 1 (тщ m2 m3 пц) 0 0 1 0 0 1 1 1 <0 0 0 1 1 1 1 ъ 6 Мы можем добавлять полную проверку на четность к любому коду, который еще не имеет такой проверки, и расстояние будет увеличено на 1. Если код уже имеет полную четность, все кодовые слова будут иметь четный вес, поэтому бит проверки на четность всегда будет 0, так что и расстояние, и способность коррекции ошибок останутся неизменными.
Глава 5. С точки зрения звена 207 Поэтому генератор полного кода (8, 4), называемый расширенным кодом Лемминга, имеет вид: '10 0 0 1 1 0 Г 0 10 0 10 11 0 0 1 0 0 1 11 ЧО 0 0 1 1 1 1 1у Рот кодовые слова этого кода: 00000000 00100111 00011110 00111001 10001101 10101010 10010011 10110100 01001011 01101100 01010101 01110010 11000110 11100001 11011000 11111111 Кодовые слова можно генерировать прямо из порождающей матрицы или Перечисляя кодовые слова кода Хемминга и добавляя завершающий бит, что- ры обеспечить четное число единиц. ^Если нет ошибки, синдром равен 0 (точнее, 00000000). Как выглядят ^синдромы для всех одиночных ошибок, показано в табл. 5.2. Таблица 5.2. Синдромы одиночных ошибок | Ошибка Синдром Ошибка * Синдром [10000000 1101 00001000 1000 |;оюооооо 1011 00000100 0100 Г00100000 0111 00000010 0010 j: 00010000 1110 00000001 0001 !Все синдромы различны, так что могут быть исправлены все одиночные юшибки. 28 возможных двойных ошибок показаны в табл. 5.3. Таблица 5.3. Синдромы двойных ошибок f Ошибки Синд- ром Ошибки Синд- ром Ошибки Синд- ром Ошибки Синд- ром 11000000 0110 01100000 1100 00101000 1111 00010001 1111 10100000 1010 01010000 0101 00100100 0011 00001100 1100 10010000 0011 01001000 0011 00100010 0101 00001010 1010 10001000 0101 01000100 1111 00100001 0110 00001001 1001
208 Передача данных в сетях: инженерный подход Таблица 5.3. (окончание) Ошибки Синд* ром Ошибки Синд- ром Ошибки Синд- ром Ошибки Синд- ром 10000100 1001 01000010 1001 00011000 0110 00000110 0110 10000010 1111 01000001 1010 00010100 1010 00000101 0101 10000001 1100 00110000 1001 00010010 1100 00000011 0011 Хотя не все синдромы двойных ошибок различны (например, коды 11000000, 00100001 и 00011000 производят одни и те же синдромы), все они отличаются от синдромов для одиночных ошибок. Это означает, что, хотя мы не можем исправлять две ошибки, мы можем обнаруживать их в дополнение к исправле- нию одиночных ошибок. Это и составляет отличие от стандартного кода Хем- минга, где мы мо>кем или исправлять одну ошибку, или обнаруживать две ошибки. Для расширенного Кода Хемминга мы можем исправлять одну и об- наруживать две ошибки или обнаруживать три ошибки. 5.4.4. Сверточные коды Коды, обсуждавшиеся до сих пор, — это так называемые блочные коды, где информация обрабатывается блоками. Альтернативой им является последо- вательное кодирование и декодирование. При этом каждый раз, когда прини- мается входной бит, генерируется несколько выходных битов. То же самое делает однобитовый Код с повторениями, который просто повторяет входной бит несколько раз. Если бы скорость повторения была равна 2, то мы получи- ли бы следующее: □ Вход— 1 I 0 1 □ Выход— 11 и оо п действительности это очень бедный код. Он имеет скорость 1/2, а расстоя- ние только 2, и поэтому может обнаруживать лишь одну ошибку. Произ- водительность моищо значительно увеличить путем добавления в кодер (кодирующее устройство) некоторой памяти и делая текущие выходные биты зависимыми не только от текущего входа, но также и от предыдущих битов, акие коды называются сверточными. Число принимаемых в расчет битов — память кода + 1 называется длиной (кодового) ограничения (constraint length). римером простого сверточного кода является код (2,1, 3). Два первых числа в этом обозначении указывают, что 2 выходных бита приходятся на 1 вход- ной, а последнее — это ддИна кодового ограничения (3). Первый бит этого
Гпава 5. С точки зрения звена 209 кода является двоичной суммой текущего входного бита, последнего и двух предшествующих ему входных битов. Второй бит является суммой текущего входного бита и бита, расположенного через два бита после него. Схема, ге- нерирующая этот код, показана на рис. 5.11. Кодовое расстояние этого кода равно 5, так что он может исправлять две ошибки. Он может исправлять и больше ошибок, если они находятся на достаточно больших расстояниях (превышающих размер его памяти). Рис. 5.11. Сверточный код (2, 1, 3) Кодировать и декодировать сверточные коды довольно просто, но если при этом происходят ошибки, то многие выходные биты будут искажены, по- скольку декодер будет пытаться исправлять битовый поток и внесет в про- цесс дополнительные ошибки. По этой причине желательно иметь возмож- ность обнаружения таких ошибок. Л Состояние системы определяется памятью на сдвиговых регистрах сверточно- го кодера. Для сверточного кода (2, 1, 3) имеется 2L- 1 = 4 различных состоя- ния7. В диаграмме переходов состояний этого кода (рис. 5.12) имеются узлы для каждого возможного состояния, соединенные линиями, изображающими все возможные изменения этих состояний. Эти линии маркированы входами, которые вызывают данное изменение состояния, и соответствующими выхо- дами. Например, если кодер находится в состоянии 00, он может остаться в состоянии 00, приняв на входе 0, после чего на выходе будет 00, или он может перейти в состояние 10, когда при приеме 1 на выходе будет 11. Рис. 5.12. Диаграмма переходов состояний кода (2, 1, 3) 7 L здесь обозначает длину кодовых ограничений (в данном случае L — 3). — Пер.
210 Передача данных в сетях: инженерный подход Хотя диаграмма переходов состояний полезна для показа возможных перехо- дов между состояниями системы, для сверточного кода важнее прослеживать последовательность изменений состояний и соответствующих выходов, по- лучаемых в ответ на различные входы. Для этой цели полезна кодовая ре- шетка. Она похожа на диаграмму переходов состояний, но существующие состояния перечисляются в ней слева, следующие состояния — справа, а пе- реходы состояний изображаются в виде стрелок между ними (рис. 5.13). Рис. 5.13. Решетчатая диаграмма для кода (2, 1, 3) В табл. 5.4 приведен пример состояний и выходов кода (2, 1, 3) при кодиро- вании двоичного потока 101001011100. Последовательность переходов со- стояний на соответствующей решетчатой диаграмме (рис. 5.14) обозначена толстой линией. Таблица 5.4. Состояния входов и выходов Номер шага 1 2 3 4 5 6 7 8 9 10 11 12 Входной бит 1 0 1 0 0 1 0 1 1 1 0 0 Текущее состояние 00 10 01 10 01 00 10 01 10 11 11 01 Следую- щее состояние 10 01 10 01 00 10 01 10 11 11 01 10 Выходные биты 11 10 00 10 11 11 10 00 01 10 01 11
Гпава 5. С точки зрения звена 211 и и и и и и и и и и 11 и 11 Рис. 5.14. Пример кодирования, использующий код (2,1,3) Известно несколько методов декодирования сверточных кодов и, как и следо- вало ожидать, существует компромисс между сложностью декодирования и производительностью. Относительно простой метод, называемый последова- тельным декодированием, состоит в прокладке трассы переходов через после- довательность решеток кодирования, опираясь на биты, поступающие на вход декодера (отмечены на рис. 5.15 толстыми линиями). Путь трассы в каждом узле выбирается по наименьшему числу расхождений между полученными битами и битами, которые были бы сгенерированы (на рис. 5.15 эти числа ука- заны над стрелками переходов). Такие числа отражают метриту ветвлений. Если два пути, исходящих из узла, имеют одинаковою метрику, то между ними производится случайный выбор и декодирование продолжается. Если метрика превышает порог, основанный на ожидаемом числе ошибок, то декодер реша- ет, что на одном из ее случайных выборов, по всей вероятности, была сделана ошибка, удаляет этот путь и пытается сделать выбор снова. Вход 1 2 3 4 5 6 7 8 9 10 11 12 11 10 01 10 01 00 10 01 10 11 11 01 и 11 и и и и и и и и и 101001011100 Рис. 5.15. Пример декодирования, использующий код (2, 1, 3) Выход
212 Передача данных в сетях: инженерный подход Этот подход можно расширить, обеспечив декодирование по критерию макси- мального правдоподобия (то есть выбирая такую передаваемую последова- тельность, которая обеспечит наименьшее число различий между ее кодовыми словами и получаемыми последовательностями). Если от каждого узла исходит несколько возможных путей, то в расчет принимаются все возможности. Одна- ко, если два или большее число путей входят в один и тот же узел, все они бу- дут продолжены совершенно одинаково, так что можно удалить все входящие пути, кроме пути с наименьшей метрикой. Это значит, что число "выживших" (при построении трассы) путей в большинстве случаев сохраняется равным числу состояний, так что такое усложнение процедуры прокладки трассы пере- ходов имеет определенный смысл. Этот алгоритм называют алгоритмом Ви- терби (Viterbi). И хотя он сложнее последовательного алгоритма, современная техника позволяет довольно легко его реализовать. Еще одна проблема, связанная со сверточными кодами, состоит в том, что они имеют довольно низкую скорость, обычно меньше 50%. Скорость можно увеличить "прокалывая" код. Прокалывание (code puncturing) — это процесс удаления некоторых дополнительных битов коррекции ошибок. Такой метод уменьшает способность кода исправлять ошибки, но дает возможность найти компромисс между числом добавляемых битов и, следовательно, способно- стью кода к исправлению ошибок, и требованиями передачи в смысле уменьшения числа битов. 5.4.5. Чередование Двоичный симметричный канал вводит ошибки случайным образом. Это ра- зумная оценка работы некоторых каналов (в частности, каналов с белым шу- мом). Но многие каналы имеют память, и ошибки возникают пакетами (этим свойством, в частности, обладают радиоканалы). Большинство кодов с ис- правлением ошибок (включая коды Хемминга и сверточные коды) наиболее эффективны при случайных ошибках. Если ошибки возникают группами, то их оказывается слишком много для исправления в конкретном интервале, хотя в среднем интенсивность ошибок находится в пределах корректирую- щей способности кода. Чтобы справиться с этой проблемой, используется специальная процедура— интерливинг (interleaving), или чередование, по- зволяющая разнести биты так, чтобы перед кодированием смежные переда- ваемые биты оказались разбросанными по битовому потоку (рис. 5.16), огра- ничивая число находящихся рядом битов в пределах корректирующей способности кода. Если количество ошибок при таком разбросе превышает возможности успешной работы кода, исправляющего ошибки, то использова- ние этого кода приведет к еще большему числу ошибок. Отсюда следует, что если средняя интенсивность ошибок больше, чем код может исправить, то интерливинг будет уменьшать производительность, т. к. он будет вносить
Гпава 5. С точки зрения звена 213 ошибки, которые не могут быть исправлены, в предварительно свободные от ошибок кодовые слова. Последовательность битов после чередования (используется для передачи) Чтение битов по горизонтали Чтение битов по вертикали Последовательность битов после дечередования - обратите внимание на разброс ошибок Рис. 5.16. Чередование 5.4.6. Объединение кодов 'Различные типы кодирования могут быть объединены. Часто это может ока- заться полезным для объединения преимуществ компонентных кодов. Композиционные коды Один из самых простых способов объединения кодов состоит в формирова- нии композиционного кода. Символы, которые нужно кодировать, размеща- ются в массиве (рис. 5.17), и затем один тип блочных кодов применяется к строкам, а другой — к столбцам. Возможно объединение нескольких (более 2) кодов, но наиболее общей является композиция двух кодов.
214 Передача данных в сетях: инженерный подход Символы сообщения Код проверки четности строк Код проверки Проверка четности столбцов проверок Рис. 5.17. Композиционный код Композиционные коды не должны быть различными. Простой композицион- ный код является произведением двух кодов с одиночным разрядом проверки на четность (Single Parity Check, SPC), которые иногда называют кодами Гильберта. Сами SPC-коды не могут исправлять ошибки, но в композицион- ном коде пакет ошибок может быть идентифицирован перекрестной ссылкой проверки на четность (рис. 5.18). Если пг\— число строк, a — число столбцов, то код имеет следующие параметры: □ полное число битов в кодовом слове: и = пцтг, □ число информационных битов: к = - 1) (/и2 - 1)- Такой код способен исправлять одиночные пакеты ошибок длиной до т\ - 1 битов. Биты проверки Каскадные коды Другой метод объединения кодов состоит в том, чтобы по отдельности приме- нять к данным два или большее количество кодов в процессе, который назы- вают конкатенацией, или сцеплением. Конкатенация может принимать две
глаеа 5. С точки зрения звена 215 |юрмы. Чаще всего используется последовательная конкатенация, когда один код применяется к данным, которые будут передаваться, а затем к выходу, со- общению и четности первого кода применяется второй код. Часто перед при- менением второго кода используется интерливинг, как показано на рис. 5.19. Рис. 5.19. Последовательная конкатенация !В качестве канальных кодов обычно используются сверточные коды. Для ‘Повышения производительности и обнаружения ошибок, с которыми свер- хточный код не справляется, используются также интерливинг и обнаруже- ние ошибок. Для дополнительной коррекции ошибок часто используются эффективные линейные блочные коды Рида-Соломона, которые хороши Для исправлении пакетов ошибок. Кодирование выполняется в следующей Последовательности: коррекция блоков ошибок или обнаружение ошибок, Коррекция случайных ошибок, интерливинг. Неприемном конце все это осуществляется в обратной последовательности й с выполнением обрат- ных процедур (рис. 5.19). Интерливинг выполняется на самом низком уровне, самом близком к каналу, так что любые пакеты ошибок, вызван- ных каналом, разбрасываются по потоку так, чтобы код, корректирующий ^случайные ошибки (обычно это сверточный код), мог бы их исправить. Если сверточный код перегружен ошибками, то при их исправлении он, вероятно, будет ошибаться, генерируя блок ошибок, который может ис- править внешний код (если этот код способен исправлять блочные ошиб- ки). В конце таких последовательностей обычно используется цикличе- ская проверка избыточности, которая просто обнаруживает, являются ли полученные данные правильными. Второй метод— параллельная конкатенация (рис. 5.20). Здесь входные дан- ные преобразуются одновременно в два различных кода, причем символы четности одного кода при втором кодировании не изменяются. Чтобы изме- нить взаимосвязи между символами сообщения и сделать комбинацию более эффективной, используется интерливинг. С учетом интерливинга параллель- ная конкатенация двух кодов становится похожей на композиционный код за исключением того, что проверки четности одного кода не накладываются на проверки четности другого.
216 Передача данных в сетях: инженерный подход Рис. 5.20. Параллельная конкатенация Турбо-коды Принцип параллельной конкатенации обладает существенным преимуще- ством. Поскольку два кода строятся на одних и тех же данных, мы можем использовать информацию о позиции ошибок, предоставляемую одним кодом, чтобы помочь другому коду в коррекции этих ошибок. Этот про- цесс можно применять итерационно, делая несколько проходов с обме- ном информацией между разными кодами. Рассмотрим два кода, рабо- тающих на строках и столбцах, каждый из которых способен исправлять одну ошибку. Корректирующие коды, отмеченные на карте ошибок (рис. 5.21, а), ликвидируют эти ошибки следующим образом: первый про- ход позволит исправить две ошибки с помощью строчного кода (рис. 5.21, б), который затем позволит кодам столбцов очистить данные и удалить остающиеся ошибки (рис. 5.21, в). Эта процедура была изобретена Беру (Berrou), Главье (Glavieux) и Титимайшимой (Thitimajshima) для их "Параллельно-сцепленных рекурсивно- систематических сверточных кодов", которым они дали также краткое назва- ние "турбо-коды". Первоначально это было применено к систематическим сверточным кодам, подобным коду, рассмотренному в вопросе 1 разд. 5.11.2 (с кодирующим устройством, модифицированным так, чтобы его выходной сигнал был сформирован отдельно из сообщения и разрядов проверки четно- сти). Турбо-принцип может применяться также и к другим типам кодов. Фак- тически его можно применять прямо к композиционным кодам, просто заме- няя декодер. Композиционные коды с итеративным декодером называются турбо-композиционными кодами.
Гпава 5. С точки зрения звена 217 Интерес к турбо-кодам возник, в основном, из-за того, что они обладают очень высокой производительностью и приближаются к теоретическим пре- делам пропускной способности, задаваемой границей Шеннона (см. разд. 6.2.4). Недостаток турбо-кодов состоит в том, что для того, чтобы близко по- дойти к этому пределу, требуется довольно громоздкая и сложная аппаратура временного уплотнения, которая вводит большую задержку, хотя это только одна из самых незначительных проблем турбо-композиционных кодов. Клас- сические турбо-коды не очень подходят для передачи речи, но современные приложения передачи данных все шире используют эту новую технологию. 5.5. Сравнение методов коррекции ошибок Представляет определенный интерес сравнить методику прямой коррекции ошибок (FEC) со стратегией коррекции ошибок в системах с обратной связью (ARQ), обсуждавшейся в разд. 4.11.2. Недостатком FEC является то, что дополнительная избыточность вводится таким образом, чтобы можно было исправлять максимально возможное ко- личество ожидаемых ошибок. Если же ошибок будет меньше, чем ожидалось, то эта избыточность будет растрачиваться впустую. В результате мы получа- ем более низкую, чем обычно, пропускную способность канала. При использовании ARQ, если происходит ошибка^ то приемник просит, что- бы передатчик повторил передачу информации. Схемы ARQ будут работать только в том случае, когда есть разумный шанс передать информационный блок без ошибок. Если существует вероятность, что передаваемый блок уже содержит ошибки, то в некоторых случаях он тоже будет передаваться по- вторно. Лучше всего схемы ARQ работают при наличии грубых случайных ошибок, которые происходят не часто, но при использовании FEC-методики потребовали бы слишком много избыточности. Проведем количественное сравнение избыточности FEC- и ARQ-систем. Для FEC-систем избыточность фиксирована и определяется количеством битов коррекции ошибок в коде (заштрихованные участки на рис. 5.22, а). В схеме ARQ тоже имеется фиксированный резервный элемент — биты обнаружения ошибок, но их меньше, чем в FEC-системах. Однако в схемах ARQ эффек- тивно избыточны также и отдельные блоки передаваемой информации (за- штрихованные участки на рис. 5.22, б), так что если их передачу приходится повторять слишком часто, то полная производительность будет ниже, чем в FEC-системах. Схемы ARQ, как правило, обладают меньшей сложностью, чем FEC-системы, поскольку обнаружение ошибок проще, чем их исправление. Однако схемы ARQ требуют обратного канала к передатчику с достаточно низкой интен-
218 Передача данных в сетях: инженерный подход сивностью ошибок. Кроме того, в то время как FEC-схемы имеют фиксиро- ванную задержку, схемы ARQ вводят переменную задержку, зависящую от количества необходимых повторных передач. Поэтому они не подходят для служб с постоянной задержкой, подобных речевым службам. Рис. 5.22. Сравнение избыточности FEC и ARQ-систем ARQ б Возможно объединение FEC- и ARQ-методик. FEC-стратегия наиболее эф- фективна, когда интенсивность ошибок относительно постоянна, в то время как ARQ-системы лучше применять для ошибок переменной интенсивности. Если характеристики канальных ошибок таковы, что наряду с большими па- кетами ошибок существуют фоновые случайные ошибки с постоянной ин- тенсивностью, то FEC можно использовать внутри ARQ для того, чтобы ис- правлять фоновые ошибки постоянной интенсивности. Если же встретится пакет ошибок, то FEC-система откажет, но тогда сработает схема ARQ, кото- рая повторит посылку информации, чтобы попытаться исправить эти ошибки. Примером такой системы является так называемая "гибридная" схема ARQ. В ней используется FEC-методика, но если она терпит неудачу, то вместо вто- ричной посылки блока посылается дополнительная информация коррекции ошибок, которая объединяется с уже посланными данными, чтобы попытать- ся исправить ошибки. Гибридные схемы ARQ требуют сложных схем кор- рекции ошибок, но очень эффективны для служб, в которых допустима пере- менная задержка. 5.6. Локальные сети Локальные сети (Local Area Networks, LAN8) — это, по существу, достаточно высокоскоростные сети передачи данных, которые связывают вычислитель- ные устройства внутри небольшой географической или производственной зоны (локальной области). По преимуществу, они принадлежат одной орга- низации и не зависят от сетей общего пользования. 8 В отечественной литературе этому сокращению соответствует ЛВС — локальная вычисли- тельная сеть. — Пер.
Глава 5. С точки зрения звена 219 Локальные сети— это, как правило, ведомственные частные сети в том смысле, что они обслуживают одну организацию в пределах ограниченного пространства. Затраты, связанные с локальной сетью и ее установкой, осуще- ствляются из собственных средств пользователей (владельцев). Локальная среда обычно охватывает площадь максимум в несколько километров, заня- тую относительно небольшим числом строений. Существует несколько требований к проектированию ЛВС: □ они должны быть способны к обработке трафика данных, поскольку это основной и характерный для них тип трафика; □ они должны обеспечивать высокие скорости передачи. Большинство коммуникационных требований сосредоточено именно в локальных областях, так что локальные сети должны иметь более высокие скорости передачи данных по сравнению с глобальными сетями. Речь идет о скоро- стях от 10 до нескольких сотен мегабит в секунду; □ они должны быть достаточно просты в управлении, так как операторами таких сетей являются сами пользователи, а не специалисты коммуникаци- онной компании. Это вообще-то требует некоторой формы распределен- ного управления и общей среды передачи с совместным доступом; □ они должны иметь низкую стоимость установки и обслуживания. Все эти требования приводят к необходимости использования общего стан- дарта на устройство, управление и недорогую среду передачи сети. Такой стандарт должен также обеспечить независимость от изготовителя сетевого оборудования. К настоящему времени соответствующими организациями разработано и ут- верждено довольно много сетевых стандартов, так что существует большая свобода их выбора. 5.6.1. Конфигурации локальных сетей Ранние локальные сети обычно имели шинную конфигурацию, поскольку это позволяло избегать дополнительных сложностей, связанных с узлами комму- тации, и добавлять терминалы в любое место шины, а также облегчало управление. Однако в этом случае требуется довольно дорогая среда переда- чи в виде коаксиального кабеля. С прогрессом в обработке сигналов и уменьшением затрат на компоненты появились недорогие концентраторы, которые позволяют использовать более дешевые и достаточно скоростные неэкранированные витые пары, так что в настоящее время самой популярной конфигурацией является физическая звезда, построенная на базе таких кон- центраторов.
Передача данных в сетях: инженерный подход 220 Оптическое волокно не подходит для шинной системы, поскольку оно обра- зует двухточечное звено. Поэтому оптоволоконные локальные сети имеют кольцевую или звездообразную конфигурацию. Но независимо от того, используется ли физическая шина или звезда, локаль- ные сети имеют общую среду передачи, которая, хотя и требует управления доступом к среде, но существенно уменьшает сложность управления, так что любую абонентскую систему можно просто подключить к ней и запустить в работу. Локальные сети ориентированы на работу с пакетами, т. к. для обработки пульсирующего и непредсказуемого трафика данных от самых разных источ- ников больше подходит пакетная коммутация, а не коммутация каналов. 5.6.2. Локальные сети группы стандартов IEEE 802 Наиболее популярными стандартами локальных сетей является ряд стан- дартов американского Института электро- и электронных инженеров IEEE 802. Эти стандарты (названные по имени одного из подкомитетов IEEE) определяют семейство локальных сетей, дифференцированных в соответ- ствии с их схемой управления доступом к среде передачи. На рис. 5.23 по- казаны упрощенные соотношения между различными стандартами IEEE и моделью взаимодействия открытых систем (OSI) Международного инсти- тута стандартов (ISO). В настоящее время существует более двадцати стандартов IEEE. Стандарт IEEE 802.1 покрывает два нижних уровня модели OSI — 1-й (Звено данных, или Канальный) и 2-й (Физический). Этот стандарт обеспечивает ос- нову для формирования более высоких уровней и, по существу, является кон- текстом для других стандартов. Стандарты 802.3, 802.4 и 802.5 определяют спецификации физического и МАС-уровней для трех различных типов ло- кальных сетей: CSMA/CD, Token Bus (маркерной шины) и Token Ring (мар- керного кольца). МАС-элементы определяют способы доступа к физической среде и обеспечивают подмножество функций звена данных. Функции верхнего уровня звена данных определены в стандарте IEEE 802.2. Этот стандарт обеспечивает единообразный интерфейс между МАС-уровнем любой локальной сети и протоколами более высоких уровней. Полное назва- ние стандарта: IEEE 802.2 Logical Link Control (LLC) — Управление логиче- ским звеном. Он обеспечивает унифицированный интерфейс между протоко- лами более высоких уровней и фактической сетью и делает реализацию МАС-уровня локальной сети прозрачной (невидимой) для более высоких уровней и, в частности, — для приложений.
Глава 5. С точки зрения звена 221 Управление логическим звеном Управление доступом к среде Физический уровень Сетевой уровень OSI 802.1 802.2 Уровень логического звена Звено данных 802.3 CSMA/CD 802.4 Token Bus 802.5 Token Ring Физический уровень Среда передачи Рис. 5.23. Стек протоколов IEEE 802 Благодаря LLC9 радиовещательная сеть, например, представляется на сетевом уровне в виде двухточечного звена. LLC обеспечивает работу следующих служб: О обслуживания без подтверждений и соединений— это дейтаграммная служба, которая поддерживает только отправку и прием кадров. Простота делает ее самой легкой в реализации и полезной в ситуациях, когда сквоз- ное управление ошибками и потоком данных обеспечиваются более высо- кими уровнями; О обслуживания, ориентированного на соединения — обеспечивает вир- ' туальный стиль соединения между точками доступа к службам, позволяет пользователю запрашивать установку и завершение логиче- ского соединения, обеспечивает также управление ошибками и потоком данных. Полезно в приложениях, где оконечное устройство относи- тельно простое и работает с несколькими протоколами верхнего уровня (если таковые вообще имеются). Примерами таких устройств являются терминалы; О обслуживания с подтверждениями без установки соединений — обеспечивает механизм, с помощью которого доставка кадра подтвержда- ется без необходимости установки соединения. Такое обслуживание по- лезно в приложениях реального времени, когда сигналы требуют подтверждений. 9 Из рис. 5.23 видно, что LLC (уровень логического звена) является верхним подуровнем ка- нального уровня (уровня звена данных) модели OSI. — Пер.
?22 Передача данных в сетях: инженерный подход 5.6.3. Адресация устройств Стандарты IEEE определяют 48-разрядный МАС-адрес, который разделен на 4 части (рис. S.24). Первый бит указывает, предназначен ли кадр для одиноч- ного (0) или группового (1) адресата, а второй — является ли он универсаль- ным (0) или локально управляемым (1). Третье поле указывает часть адреса, которую изготовители регистрируют (при получении) в IEEE, а три послед- них октета выбираются изготовителем устройства. Адрес устройства гло- бально уникален и обычно зашивается в аппаратуру. Зарегистрирован в IEEE Номер интерфейса - 4__________ 0: одиночный 1: групповой 0: универсальный 1: локально управляемый Рис. 5.24. МАС-адрес IEEE 802 Протокол преобразования адресов Адрес канального уровня (например, определенный в IEEE 802) — это адрес, который распознает сетевая плата хост-узла. Он называется адресом точки присоединения к сети (Network Point of Attachment, NPA). Более высокие уровни используют другой адрес (обычно, IP), поэтому пакет более высокого уровня с IP-адресом должен быть инкапсулирован (встроен) в пакет каналь- ного уровня с адресом канального уровня (рис. 5.25). Таким образом, сущест- вует потребность в отображении (преобразовании) между этими двумя типа- ми адресов. Для IP-адресов это отображение выполняет протокол разрешения (преобразования) адресов (Address Resolution Protocol, ARP). IP-дейтаграмма Кадр (Frame) 802.3 Рис. 5.25. IP-пакет и его адрес, инкапсулированный в пакет Ethernet
Глава 5. С точки зрения звена 223 Хост-узлы и шлюзы хранят пары адресов IP/NPA всех хост-узлов своей сети в специальной таблице, которую называют ARP-таблицей. ARP-протокол ис- пользуется для того, чтобы информировать станции об этих адресных парах и обеспечить преобразования между IP- и NPA-адресами и наоборот. В примере на рис. 5.26 шлюз принимает IP-дейтаграмму для хост-узла, чей NPA-адрес он не знает. Поэтому он рассылает широковещательный пакет ARP-запроса с собственной парой IP/NPA- адресов и IP-адресом узла, кото- рый он разыскивает. Соответствующий хост-узел распознает свой IP-адрес и посылает обратно на шлюз сообщение ARP-ответа со своей парой IP/NPA-адресов. Узнав, куда следует посылать данный пакет, шлюз отправ- ляет его нужному адресату и обновляет ARP-таблицу для будущего исполь- зования. Входы ARP-таблицы периодически объявляются устаревшими, что позволяет учитывать любые изменения в’структуре сети. Полезным свойст- вом ARP-протокола является то, что ARP-таблицы строятся автоматически и не должны устанавливаться вручную. Шлюз Широковещательный APR-запрос •> ! Ответ на APR-запрос Рис. 5.26. Операции ARP-протокола Обратный протокол преобразования адресов Обратный протокол преобразования адресов (Reverse Address Resolution Protocol, RARP), как видно из его названия, выполняет обратное отображе- ние адресов, т. е. аппаратный адрес преобразуется в IP-адрес. Полезно не
224 Передача данных в сетях: инженерный подход хранить IP-адреса в хост-узлах, а иметь один, централизованно управляемый список этих адресов. Эго позволяет легко изменять адреса и справляться с про- блемами бездисковых рабочих станций, которые не могут хранить постоянные записи своих IP-адресов. Протокол применяется во время загрузки узла, когда тот направляет в сеть (и в частности на сервер) групповое сообщение: "Знает ли кто-нибудь Мой п>-адрес?". Сервер принимает это сообщение и просматривает свои таблицы (или просит об этом кого-то еще), и затем пересылает найденный адрес обратно на запросивший узел. Другие станции сети тоже могут слушать этот диалог и локально сохранять эту информацию в своих ARP-таблицах. RARP позволяет разделять IP-адреса между не часто используемыми хост- узлами. Однако, поскольку эти узлы не имеют постоянных IP-адресов, с ними будет трудно вступать в контакт, и поэтому на них невозможно выполнять такие программы, как программа Web-сервера. С другой стороны, такие службы могут нормально работать на узлах, которые постоянно включены. 5.6.4. Локальная сеть IEEE 802.3 (Ethernet) Стандарт IEEE 802.3 описывает физический и МАС-слои локальной сети, использующей множественный доступ с контролем несущей и обнаружением столкновений (Carrier Sense Multiple Access with Collision Detection, CSMA/CD). Этот стандарт базируется на локальной сети Ethernet, разработанной фирмой Xerox, а имена Ethernet и CSMA/CD часто рассматриваются как синонимы. Впрочем, хотя между ними много общего, но все же они не в точности одинаковы. CSMA/ CD-сети используют шинную технологию (на основе логической ши- ны) и так Называемое манчестерское кодирование. Физическая среда переда- чи таких сетей строится по следующим стандартам: □ 10Base-S — "толстый" коаксиальный кабель с линейной скоростью 10 Мбит/с. Это оригинальная версия Ethernet с максимальной длиной сег- мента 500 м; □ 10Base-2 — "тонкий" коаксиальный кабель с линейной скоростью 10 Мбит/с. Такую сеть часто называют Cheapernet. Она имеет максималь- ную длину сегмента 185 м; О lBase-5 •— витая пара с линейной скоростью 1 Мбит/с и топологией физи- ческой звезды, но логически она действует как шина; О 10Base-T — витая пара с линейной скоростью 10 Мбит/с и топологией физической звезды; О 10Base-F — оптоволокно с линейной скоростью 10 Мбит/с и звездной то- пологией- О 10Broad3( — широкополосная версия, работающая по коаксиальному ка- белю.
Гпава 5. С точки зрения звена 225 На рис. 5.27 показана CSMA|CD-ceTb простой конфигурации. Логически сеть представлена одиночной шиной. Если у узла есть информация для передачи, то его трансивер (приемопередатчик) "прослушивает" трафик линии (контро- лирует несущую). Если на шине нет трафика, то передается один кадр дан- ных. Если шина используется другим узлом, т. е. занята, то трансивер ждет, пока линия не освободится и только тогда начинает передачу. МАС-кадры принимаются всеми узлами как в широковещательных сетях. Трансивер ад- ресата идентифицирует кадр, предназначенный для этого узла, по адресному полю принятого кадра. Нежелательные кадры сбрасываются. Длина сегмента Рис. 5.27. Шинная структура lEEyjj 802.3 На рис. 5.28 показан формат кадра IEEE 802.3. Кадр имеет переменную длину и начинается с 8-байтовой преамбулы, первые 7 байтов которой содержат код 10101010, а последний байт — код 10101011, так что два последних бита это- го байта (11) отмечают начало кадра. За преамбулой следует адрес пункта назначения и адрес источника, оба в 6-байтном NPA-формате. В двух сле- дующих байтах указывается длина поля данных, затем идет само поле дан- ных и, наконец, 4-байтовая проверочная последовательность кадра. Если длина поля данных меньше 46 байтов, оно расширяется символами- заполнителями до 46 октетов, так что полный кадр имеет длину, достаточную для схемы доступа CSMA/CD. 7 1 6 6 2 46 < L < 1500 байтов 4 Преамбула Разделитель Адрес пункта назначения Адрес источника Длина LLC-данные Заполнители (если нужно) FCS Рис. 5.28. Формат кадра IEEE 802.3
226 Передача данных в сетях: инженерный подход формат кадра оригинальной Ethernet слегка отличается от формата кадра ЕЕЕ 802.3. В нем определяется просто 8-байтовая преамбула, без выделения разделителя начала кадра, но биты в действительности те же. Однако поле длины в оригинале было полем типа, определяющим используемый прото- кол, например, IP. Совместимость поддерживается тем фактом, что все пер- воначально определенные типы кодов используют числа, большие 1500, так что сетевой адаптер может отличить кадр Ethernet от кадра IEEE 803.2. Если в сети IEEE 802.3 используются другие протоколы, это указывается в начале поля данных. 5.6.5. Высокоскоростные сети Ethernet Высокоскоростные сети Ethernet— это набор сетей, базирующихся на кон- центраторах и методах доступа протокола CSMA/CD. Хотя работа ориги- нального протокола CSMA/CD была ограничена физическими факторами, архитектуры с центральными концентраторами не имеют таких ограничений, поскольку шина в таких архитектурах скорее логический, а не физический элемент, и поэтому нет никаких проблем, связанных с распространением сиг- налов. Высокоскоростной доступ реализуется через комбинацию усовершен- ствованной среды передачи и методов кодирования плюс увеличение числа проводов. Существуют высокоскоростные Ethernet-сети трех типов: □ изохронная Ethernet (isoENET); □ быстрая Ethernet; О гигабитная Ethernet. Изохронная Ethernet Изохронная (синхронная) Ethernet — это, по существу, расширение стандарта 10Base-T. Пропускная способность синхронного канала увеличена почти вдвое (точнее, на 6,144 Мбит/с). Это расширение предназначено для обслуживания мультимедийного трафика, чувствительного ко времени (multi-media time sensitive traffic). Характеристики такой сети определены в стандарте IEEE 802.9 IsoENET. Сеть IsoENET может поддерживать 96 синхронных каналов по 64 Кбит/с вместе с поддержкой голосовой связи по телефонной сети. Синхронный сигнал 20 Мбит/с передается по витой паре, но манчестерское кодирование заменяется кодированием по схеме 4В5В, которое используется в FDDI-протоколе передачи данных по оптическим линиям. Эта схема коди- рования имеет 80%-ю эффективность (для сравнения — манчестерское коди- рование имеет 50%-ю эффективность). Система является гибкой и обновляемой. Для нее требуется специальный isoENET-концентратор, но пользователи, не требующие изохронной под-
Гпава 5. С точки зрения звена 227 держки, могут использовать адаптерные платы стандарта 10Base-T. В покуп- ке платы адаптера isoENET нуждаются только пользователи, требующие поддержки изохронных передач. Быстрая Ethernet Быстрая Ethernet— это термин, который отсылает нас к трем спецификациям физического уровня (предназначенным для работы на скоростях до 100 Мбит/с), формирующим часть дополнения к стандарту IEEE 802.3ц (рис 5.29). Эти спецификации отличаются используемыми методами кодирования и средой передачи. Они совместимы со всеми другими стандартами IEEE 802. Уровень звена данных . LLC МАС Подуровень синхронизации Независимый интерфейс среды Кодирование 8B6T Кодирование 4B5B Физический уровень РМА РМА PMD PMD 100Base-T4 100Base-TX Рис. 5.29. Стек протоколов быстрого Ethernet (РМА — Physical Medium Attachment, подсоединение к физической среде, PMD — Physical Medium Dependent, зависимый от физического носителя) Изменения в среде и методике кодирования возможны из-за использования физической звезды вместо шины. Манчестерское кодирование работает на тактовой частоте, которая вдвое превышает требуемую скорость передачи данных. При кодировании по схеме 4В5Т выбираются 4 двоичные цифры и заменяются на 5 двоичных цифр. Дополнительный бит используется для за- щиты. По существу — это блочный код с эффективностью 80%. Он перено- сит в 1,6 раза больше данных, чем манчестерский код, использующий ту же тактовую частоту. При кодировании по схеме 8В6Т берутся 8 двоичных цифр и отображаются 6 троичными. Такая методика кодирования способна переда- вать в 2,6 раза больше данных, чем манчестерская схема, использующая ту
228 Передача данных в сетях: инженерный подход же тактовую частоту. Далее приводится краткая характеристика трех стан- дартных спецификаций физической среды для таких сетей: □ 100Base-TX — использует две пары высококачественного сбалансирован- ного UTP10 11- (или STP -) кабеля 5-й категории и кодирование по схеме 4В5В12 с высокой тактовой частотой. Это та же конфигурация пар, что и у спецификаций 10 Base-T Ethernet (10 Мбит/с), те же разъемы (RJ45) и та же максимальная длина сегмента (100 м), но спецификация 100Base-TX требует кабеля более высокого качества. Если установлена сеть Ethernet типа 10Base-T с UTP-кабелем 5-й категории, то в дальнейшем возможно ее обновление до типа 100Base-TX; □ 100Base-T4 — работает с UTP-кабелем более низкого качества (3-й кате- гории) с тактовой частотой 25 Мбит/с. Хотя длина сегмента (100 м) та же, что и у сетей типа 10Base-T и lOOBaseTX, данная сеть использует четыре пары проводов, а не две. Три пары выделяются для данных (с мультиплек- сированием передаваемых по ним CSMA/CD-кадров), а последняя пара используется для управления. Для кодирования применяется схема 8В6Т; □ 100BASE-FX — использует два многожильных многомодовых оптоволо- конных кабеля, один — для передачи, другой — для приема. Используется кодирование по схеме 4BSB и такое преимущество сетей типа 100Base-T, как возможность построения больших сетей. Гигабитная Ethernet Гигабитная Ethernet — это дальнейшее расширение стандарта IEEE 802.3. По аналогии с быстрой Ethernet основные принципы работы (структура кадра, доступ к среде по протоколу CSMA/CD) были сохранены, что позволяет ис- пользовать в этой схеме более медленные Ethernet-стандарты, в то время как скорость работы была увеличена. На рис. 5.30 показан типичный пример гигабитной Ethernet, где она используется как магистраль между концентра- торами типа 100Base-T. В таком варианте гигабитная Ethernet заменяет ста- рые технологии, подобные FDDI. Несмотря на то, что в этом случае узлы должны быть заменены, можно использовать те же оптоволоконные связи с существенным увеличением скоростей. И хотя нет никакой технической при- чины напрямую использовать гигабитную Ethernet для терминалов, все еще существует несколько типов настольных компьютеров, требующих столь вы- соких скоростей передачи данных. 10 UTP — сокр. от Unshielded Twisted Pair, неэкранированная витая пара (кабельные системы на основе неэкранированных попарно скрученных медных проводов). — Пер. 11 STP — сокр. от Shielded Twisted Pair, экранированная витая пара (термин используемый для кабельных систем на основе экранированных скрученных пар медных проводов). — Пер. 12 4В5В — читается как ”4 из 5". — Пер.
Глава 5. С точки зрения звена 229 1000Base-X/T Концентратор/Переключатель Рис. 5.30. Гибридная сеть о гигабитной Ethernet ’Далее приводится краткое описание спецификаций четырех типов физиче- ских сред, используемых в гигабитной Ethernet: iO 1000Base-CX— средой передачи является одножильный 150-омный мед- i ный провод с максимальным расстоянием между устройством и концен- ‘ тратором 25 м; '□ 1000Base-TX — использует 4 пары UTP-кабеля 5-й категории (каждая пе- I редает со скоростью 250 Мбит/с) с максимальным расстоянием между уст- ройством и концентратором 100 м; * .О 1000Base-SX — использует коротковолновую передачу (длина волны 850 нм) по одно- или многомодовому оптоволокну. Многомодовые опто- г волоконные линии могут быть длиной до 275 м, с удвоением до 550 м для одномодового оптоволокна; О 1000Base-LX — использует одно- или многомодовоое оптоволокно и передачу на длине волны 1300 нм. В этом случае многомодовые оптоволо- конные линии могут быть длиной до 550 м, а одномодовые — до 5 км. • Метод доступа, связанный с гигабитной Ethernet, должен быть функциональ- но эквивалентен методам доступа всех других версий стандарта 802.3. Одна- ко, как отмечалось в разд. 5.3.1, схемы CSMA/CD требуют, чтобы передачи имели минимальную длину, равную удвоенной задержке распространения по среде. Десятикратное увеличение эффективной битовой скорости по сравне- нию с высокоскоростным Ethernet (С8МА/СО)-протоколом (или стократ- ное — по сравнению со стандартным CSMA/CD-протоколом) может сущест- венно сократить диапазон передач или эффективность звена. Для систем с ограничениями на задержку распространения/передачи разрабо- тан специальный способ передачи кадров, называемый расширением несу- щей, который позволяет терминалам обнаружить любое возможное столкно-
230 Передача данных в сетях: инженерный подход вение. После передачи стандартного CSMA/CD-кадра терминал в течение времени, равного, по крайней мере, удвоенному времени распространения, продолжает передавать некоторые дополнительные данные. Эти данные добавляются к кадрам, длина которых меньше 512 байт13 (рис. 5.31). Характер дополнительных данных расширения не столь важен, но они должны добавляться в конец кадра, сразу после поля с проверочной последовательностью (FCS). Для идентификации и удаления этих данных средства физического кодирования используют помощь концентрато- ров/переключателей. Заметим, что CSMA/CD-кадр остается без изменений, и его можно передавать в подходящий выводной порт без каких-либо изме- нений или дополнительной обработки. Минимальный размер кадра 1 6 6 2 46<К1500байТ 4 Преамбула | Разделитель | Адрес пункта назначения Адрес источника | Длина | LLC-данные Заполнители (если нужно) PCS Расширение Минимальный временной интервал = 512 байт @ 1000 Мбит/с Рис. 5.31. Столкновения в гигабитной сети Ethernet Недостатком этой методики является добавление к коротким пакетам слиш- ком большого числа служебных байтов. Кроме того, если нужно передавать меньше байтов, чем в минимально допустимом по размеру кадре, то размер кадра должен оставаться таким же, как в быстрой Ethernet (с битрейтом 13 Напомним, что для сетей Ethernet 10 и 100 Мбит/с минимальный размер кадра равен 64 байтам, так что 512 — это восьмикратный минимальный размер (512 = 64 х 8).
Гпава 5, С точки зрения звена 231 100 Мбит/с). Этого следует ожидать, т. к. синхронизация у этих вариантов Ethernet устроена одинаково. Если терминалу нужно передать несколько ко- ротких кадров, то для повышения эффективности можно использовать мето- дику пакетирования кадров (frame bursting). Если при передаче минимально- го по размеру кадра (512 байт) не произошло никаких столкновений, то опасность миновала, и терминал эффективно управляет средой. Это значит, что при передаче первого кадра терминал может использовать расширение несущей, и, если никакого столкновения не произошло, то ему разрешается продолжать передачу других коротких кадров, но уже без расширения (рис. 5.32). Чтобы предотвратить монополизацию среды терминалами, время, в течение которого отдельный терминал может передавать пакеты, ограничи- вается. Этот предел называют порогом пакета (burstlimit) и устанавливают равным 8192 байтам. МАС-кадр МАС-кадр МАС-кадр Возможны столкновения Нет столкновений, поэтому расширения не требуются могут -> осуществлять доступ 4---------- Начальный Порог пакета 8192 бита доступ Рис. 5.32. Пакетирование кадров 10-гигабитная Ethernet Один из подходов к разработке новых коммуникационных систем можно проиллюстрировать на примере работ по расширению гигабитной Ethernet до 10-гигабитной. В расширенном варианте Ethernet используется та же струк- тура кадра и тот же протокол, что и в стандартной Ethernet, хотя возможен только переключаемый доступ, известный под названием полный дуплекс. Полнодуплексный режим был необязательным режимом в более медленных стандартах Ethernet (где с его помощью терминал имел выделенное подклю- чение к переключающему концентратору), но он становится обязательным для 10-гигабитной Ethernet. Преимущество этого режима состоит в том, что он делает доступной для терминала полную пропускную способность канала, так что коэффициент ее использования может приближаться к 100%, и по-
232 Передача данных в сетях: инженерный подход скольку среда не разделена между несколькими терминалами, то нет никаких столкновений, ограничений на размер кадра или потребности в расширении несущей. При этой скорости большинство физических линий должны про- кладываться только двухточечным оптоволокном, а медные провода можно было бы использовать лишь для очень коротких линий, длиной приблизи- тельно 20 метров. 10-гигабитный вариант Ethernet предложен как более де- шевая альтернатива сетям типа SDH/SONET, единственной технологии, ра- ботающей на таких скоростях. 5.6.6. Локальные сети IEEE Token Ring (Маркерное кольцо) Стандарт IEEE 802.5 Token Ring описывает локальную сеть с маркерным кольцом. В отличие от стандарта IEEE 802.3 (для сетей CSMA/CD) доступ к среде в таких сетях управляется при помощи специального кадра — маркера (token). В локальных сетях, использующих маркеры, имеются один маркер и узлы, которые могут передавать свои данные, только завладев этим марке- ром. Маркерные сети работают в логическом кольце (рис. 5.33), но физически допустимы кольцо, шина или звезда. Физические кольцевые конфигурации используются в региональных (MAN-) сетях, а локальные (LAN-) сети обыч- но имеют шиную или звездообразную конфигурацию. Высокоскоростная версия стандарта 802.5 требует конфигурации звезды. Рис. 5.33. Token Ring Подобно стандарту 802.3, возникшему из локальной сети Ethernet, стандарт 802.5 вырос из маркерной локальной сети, разработанной фирмой IBM. Сис- тема работает на скоростях 4 и 16 Мбит/с и поддерживает 8 приоритетных уровней. Определена также версия со скоростью 100 Мбит/с, работающая как переключаемая звезда. Сети с маркерным кольцом (Token Ring) имеют преимущество перед CSMA/CD-сетями, потому что доступ в них детерминирован, и узлам можно назначать различные приоритеты. Однако кольцо не устойчиво в том смысле,
Гпава 5. С точки зрения звена 233 что маркер движется по кольцу, и отказ узла может разорвать это кольцо и привести к отказу всей сети. Другой стандарт IEEE 802.4 Token Bus (Маркер- ная шина) пытается устранить эту проблему, позволяя узлам отсоединяться или присоединяться к логическому кольцу. Он поддерживает 4 уровня при- оритетов, но чрезвычайно сложен, т. к. каждый узел требует поддержки 10 таймеров и 25 переменных состояния. Маркеры пересылаются от старших к младшим адресам, причем каждый узел хранит адрес следующей станции в логическом кольце. Если следующий узел будет не в состоянии принять мар- кер (или сам узел будет потерян), то держатель маркера начинает процедуру восстановления, чтобы найти нового преемника и удалить этот узел из логи- ческого кольца. Узлы, покидающие кольцо, не принимают маркеры. Перио- дически текущий держатель маркера принимает запросы от узлов, желающих присоединиться к кольцу. Это достигается использованием специальных кад- ров "запрос преемника". Затем предшествующий узел настраивает свой хра- нимый адрес на следующую станцию. Рис. 5.34. Форматы кадров стандарта IEEE 802.5 5.6.7. Стандарт IEEE 802.11 Wireless LAN (Беспроводные локальные сети) Стандарт IEEE 802.11 определяет несколько связанных стандартов беспро- водных локальных сетей (Wireless LAN, WLAN), которые работают на раз- личных скоростях. Подобно другим сериям стандартов IEEE 802, WLAN- стандарты 802.11 совместно используют функции уровня звена, что облег- чает взаимодействие различных стандартов. Как и другие серийные стан- дарты, эти стандарты различаются средой передачи, конфигурацией и мето- дом доступа.
234 Передача данных в сетях: инженерный подход Управление доступом к среде Стандарты IEEE 802.11 WLAN используют схему с состязаниями, подоб- ную CSMA/CD. Однако, как отмечено в разд. 5.3.1, схемы с контролем не- сущей не очень хорошо работают в радиосреде из-за проблемы скрытых терминалов. Однако квантованную схему было бы трудно организовать в распределенной WLAN-среде, т. к. она потребовала бы использования центральной базовой станции, а в локальной среде проблема скрытых терминалов не слишком ощутима, поэтому IEEE 802.11 пытается исполь- зовать схему множественного доступа с контролем несущей (Carrier Sense Multiple Access, CSMA). Обнаружение столкновений в радиосреде — весьма непростое занятие, пото- му что оно требует, чтобы терминал был способен передавать и принимать данные в одно и то же время, а также, чтобы он был способен отличать по- ступающий сигнал от того, который он передает (на той же частоте). Это сложная задача, которая, если была бы решена, сделала бы терминалы до- вольно дорогими устройствами. В любом случае, если бы столкновение про- изошло с кадром скрытого терминала, то оно никогда не было бы обнаруже- но передатчиком. Это означает, что обнаружение столкновений в схеме CSMA/CD заменяется на "предотвращение столкновений", т. е. CSMA/CD заменяется на схему CSMA/CA (Carrier Sense Multiple Access/Collision Avoid- ance — множественный доступ с контролем несущей и предотвращением столкновений). Прежде чем начинать свою передачу, терминалы прослушивают линию, что- бы узнать, выполняется ли в ней чья-то передача. Хотя это не очень надежно, но уменьшает риск столкновений. Если они не слышат никакой передачи в течение интервала, известного как распределенное межкадровое простран- ство (Distributed Inter Frame Space, DIPS), то они передают свой пакет. По- дождав некоторое время после приема кадра (которое называют коротким межкадровым пространством (Short Inter Frame Space, SIFS), принимающий узел посылает сообщение подтверждения. Эти подтверждения требуются из- за того, что сам терминал не может обнаружить столкновения, поэтому об- ратно на передатчик должен быть послан положительный признак того, что данные были получены правильно. Ожидая DIPS-интервал, остальные тер- миналы не будут сталкиваться по ошибке в течение SIFS-интервала и разру- шать подтверждение еще одного правильного сообщения (направляемого пе- редатчику другим терминалом). Как и в протоколе IEEE 802.3, когда терминал захочет что-то передать, то, обнаружив передачу в канале, он будет ждать. Однако, в отличие от стан- дартного варианта IEEE 802.3, где терминал делает свою первую попытку передачи немедленно, протокол IEEE 802.11 требует, чтобы терминалы с це-
Гпава 5. С точки зрения звена 235 лью уменьшения вероятности столкновений ждали в течение случайного ин- тервала времени даже при первой попытке. Кроме того, протокол позволяет терминалам объявлять об их намерении пе- редавать данные. Передатчик посылает приемнику специальный сигнал, тре- бующий разрешения на посылку данных, приемник подтверждает его, после чего передатчик посылает свои данные. При посылке сообщений с обоих концов линии возрастает вероятность того, что любой терминал, достаточно закрытый от взаимодействия с передачей, все же будет слышать подтвержде- ния или передатчика, или приемника, что смягчает проблему скрытого тер- минала. Конфигурации WLAN-сети имеют эффективную шинную структуру с беспроводным ("воз- душным") интерфейсом, формирующим общую среду. Обычная компоновка состоит из узлов, объединенных в локальную сеть, реализующую доступ к внешнему миру или фиксированным внешним устройствам, таким как прин- теры (рис. 5.35, а). Поскольку WLAN не имеет центрального контроллера, ; возможна также независимая группировка узлов, называемая специальной (ad hoc-) сетью, которая формируется из любых терминалов в пределах дально- сти связи (рис. 5.35, б). Рис. 5.35. Конфигурации беспроволочных локальных сетей 5.7. Соединение локальных сетей Первоначальные спецификации локальных сетей IEEE 802.3 CSMA/CD уста- навливают физические ограничения для длины сегмента и числа пользовате- лей, которые могут быть присоединены к этому сегменту. Для обычной вер- сии CSMA/CD максимальная длина сегмента равна 185 м, а число пользователей не должно превышать 30. Ясно, что индивидуальный сегмент имеет весьма ограниченный размер, что особо чувствительно для больших
236 Передача данных в сетях: инженерный подход организаций. Однако для эффективного расширения масштаба локальной се- ти индивидуальные сегменты можно связывать с помощью повторителей, концентраторов и мостов. 5.7.1. Повторители По стандарту IEEE 802.3 CSMA/CD LAN для соединения сегментов допуска- ется максимум 4 повторителя, что позволяет построить 5-сегментную сеть Длиной 985 м, способную поддерживать до 150 присоединенных узлов. При этом создается довольно большая зона столкновений. Соединять повторители можно по каскадной (рис. 5.36, а) или многопортовой (рис. 5.36, б) схеме. Поскольку повторитель это довольно простое устройство— он повторяет (ретранслирует) поступающие биты для всех других активных сегментов — протокол CSMA/CD не обращает внимания на его присутствие. Это значит, что одновременная передача любой парой узлов на любом сегменте приводит к столкновению (рис. 5.36, в). Единственной дополнительной функцией, появ- ляющейся у сетевого менеджера при использовании ретранслятора, является возможность блокировать индивидуальные сегменты и останавливать повто- рение битов между этим и остальными сегментами. Такая изоляция может лег- ко нарушить управление и должна выполняться с большой осторожностью — например, в случае каскадной конфигурации, подобная изоляция сегмента мо- жет закончиться тем, что "большая" локальная сеть будет разделена на две. в Рис. 5.36. Соединение локальных сетей с помощью повторителей: а — каскад; б — многопортовая схема; в — область столкноаения
Гпава 5. С точки зрения звена 237 Вообще говоря, роль повторителя состоит в обеспечении физического соедине- ния сегментов локальной сети. Однако следует признать, что, несмотря на свою простоту, физическая шинная структура не идеальна. Существуют активные устройства, так называемые концентраторы (hubs), которые выполняют функ- ции управления доступом к среде передачи (обычно по протоколу CSMA/CD) в звездообразной схеме. Логически концентратор продолжает работать по схеме широковещательной шины, но станции могут теперь связываться через цен- тральное устройство, используя иную передающую среду, например, неэкрани- рованную витую пару UTP-5, а не просто коаксиальный кабель. Для соединения устройств с концентратором используются разъемы RJ-45 и витые пары проводов класса lOBaseT длиной до 100 м, что обеспечивает мак- симальное расстояние между узлами порядка 200 м. Далее LAN-сегменты можно связывать иерархически через специальные магистральные (backbone) концентраторы (на самом деле это просто повторители). Концентраторы и повторители выполняют, по существу, одну и ту же функцию — имитацию CSMA/CD-доступа. Кроме того, концентраторы обеспечивают дополнительные свойства управления сетью, включая сред- ства изоляции индивидуальных ветвей сети, сбор и просмотр статистики сегментов (например, интенсивность столкновений, коэффициент использо- вания и т. д.). 5.7.2. Мосты В отличие от концентраторов и повторителей, мосты позволяют сохранять независимость индивидуальных локальных сетей. Соединение трех CSMA/CD-сегментов через концентратор создает единую сеть с максималь- ной суммарной скоростью 10 Мбит/с. Использование же моста позволяет увеличить суммарную скорость до 30 Мбит/с, т. к. образуется, по существу, три отдельных области столкновений. Столкновение в одном сегменте не бу- дет отражаться на других сегментах. Прозрачные мосты Наиболее общим типом моста является так называемый "прозрачный", или "древовидный", мост. Такое устройство должно быть полностью "открытым" в том смысле, что им можно быстро и просто пользоваться. Мост работает, по существу, в смешанном режиме. Он принимает все кадры, передаваемые по всем присоединенным к нему сетям, и затем пытается направить кадр в подходящую локальную сеть, просматривая большую маршрутную таблицу. Алгоритм маршрутизации работает следующим образом. Первоначально таб- лицы пусты, и все принимаемые мостом кадры направляются во все осталь-
238 Передача данных в сетях: инженерный подход ные непередающие сегменты. Когда мост принимает кадры, он может ре- шать, какой локальной сети принадлежит каждый узел. Например, в трехсегментной сети, показанной на рис. 5.37, узел А хочет послать кадр уз- лу D через Мост 1. Когда мост принимает кадр из сегмента с узлом А, он на- правляет его на оба сегмента, содержащих узлы В и D. Но мост также "запо- минает", что сегмент узла А включен, и обновляет маршрутную таблицу. Если какой-нибудь кадр прибудет в Мост 1 для узла А, то мост теперь знает, что'сегмент этого узла включен. Чтобы гарантировать, что маршрутные таблицы отражают динамическое со- стояние сети (когда машины могут подключаться к линии и отключаться от нее), они периодически очищаются и процесс запускается повторно. Однако для правильной работы этой схемы в ее структуре не должно быть циклов, и должно быть сформировано дерево охвата (spanning tree). Рис. 5.37. LAN-сегменты, соединенные мостами Алгоритм дерева охвата Простой подход, не допускающий циклов, не особенно устойчив. Если мост около вершины структуры откажет, то большая часть сети станет недоступ- ной. Противостоять этому можно только с помощью циклов — множествен- ных соединений между сегментами — но если мы сделаем это, то простой алгоритм, описанный ранее, не будет работать, и пакеты будут циркулиро- вать бесконечно. По этой причине в мосты встраивается специальный алго- ритм, который отсекает некоторые пути в сети с множественными соедине- ниями, формируя так называемое дерево охвата (spanning tree), которое является не содержащим циклов подмножеством системы. В качестве корневого моста выбирается мост с самым высоким приоритетом и наименьшим идентификатором. Мосты регулярно обмениваются сообще- ниями, позволяющими определять, какой из их портов прокладывает к кор- невому мосту путь наименьшей стоимости. Этот порт называют корневым (root port) и используют для связи с корневым мостом. Стоимость пути, свя- занного с портом, зависит от его битрейта (скорости передачи информации в битах). Чем выше битрейт, тем ниже назначаемая стоимость.
Гпава 5. С точки зрения звена 239 Для отправки кадров каждого LAN-сегмента к корневому мосту выбирается мост с путем наименьшей стоимости. Если два моста имеют пути одинаковой стоимости, то выбирается мост с минимальным идентификатором. Порт, со- единяющий мост с сегментом кабеля, называется обозначенным портом (designated port). После того, как это сделано, любой порт моста, который не является ни корневым, ни обозначенным, отключается. При этом остается только один маршрут от любого сегмента до корневого моста, что и форми- рует дерево охвата. Мосты периодически обмениваются сообщениями, так что, если какой-то мост откажет, то дерево охватов будет изменено так, что- бы принять это во внимание. На рис. 5.38, а представлена исходная сеть с множественными соединениями (мосты обозначены однобуквенными идентификаторами, а кабельные сег- менты — алфавитно-цифровыми). На рис.’5.38, б показана сеть после работы алгоритма дерева охвата (корневые порты отмечены как RP (Root Port), а обо- значенные — как DP (Designated Port)). Мост с маршрутизацией от источника Подход с деревом охвата не оптимален, т. к. используется только подмноже- ство сети — дерево охвата. Альтернативой прозрачных мостов с деревом ох- вата является схема на базе мостов с маршрутизацией от источника. Разра- ботанная для использования в сетях с маркерным кольцом (Token Ring), эта схема гарантирует максимальное использование полосы пропускания ло- кальной сети. Такая схема, по существу, базируется на знании узлом передачи, где нахо- дится узел адресата и какой путь нужно выбрать. Эту информацию получают при помощи специальных широковещательных кадров "обнаружения", кото-
240 Передача данных в сетях: инженерный подход рые передаются всякий раз, когда узел не имеет такой маршрутной информа- ции. Кадры обнаружения содержат маршруты, что и позволяет системе найти все маршруты и выбирать наилучший, но их передача может существенно повлиять на производительность, а схема становится непрозрачной. 5.8. Протоколы глобальных сетей 5.8.1. Стандарты SDH/SONET До введения в 1992 г. стандартов SDHI4/SONET15 оптоволоконные системы базировались, в основном, на патентованной архитектуре и оборудовании. Это значит, что сетевые операторы часто привязывались к одному изготови- телю оборудования. Нет ничего удивительного, что они были заинтересованы в появлении открытого стандарта, который позволял бы им покупать совмес- тимое оборудование от разных изготовителей, обеспечивать конкурентоспо- собные цены на оборудование и сокращать потребность в дорогом и сложном взаимодействии с другими сетями. Следующий недостаток традиционных систем — то, что все они относятся к классу иерархических плезиохронных (почти синхронных) систем. В плезио- хронных системах наблюдается колебания скоростей битовых потоков. В стандартах SDH/SONET применяет синхронный подход, вследствие чего битовые потоки имеют совершенно одинаковые скорости передачи. Глав- ный недостаток плезиохронных систем состоит в следующем — для мультиплексирования (уплотнения) несколько потоков, которые имеют раз- личные скорости, в них добавляются дополнительные биты, чтобы довести скорости всех потоков до единого общего уровня. Эта методика известна как бит-сшаффинг (битовая подстановка). Ее не следует путать с одноименным процессом, который обычно используют при описании кадров. Чтобы из- влечь конкретный битовый поток, вся иерархия сигналов плезиохронной сис- темы должна быть демультиплексирована, а остальные битовые потоки перед отправкой к их адресату должны быть повторно мультиплексированы. Нетрудно заметить, что это сложная и дорогостоящая операция. Для транспортировки сигналов в стандарте SDH предусмотрены так называе- мые синхронные транспортные модули (Synchronous Transport Modules, STM). Они определены для различных битовых скоростей, а самый низкоскоростной 14 SDH — Synchronous Digital Hierarchy, синхронная цифровая иерархия, европейский стандарт на оптоволоконные средства передачи данных. — Пер. 15 SONET — Synchronous Optical Network, стандарт синхронных оптических сетей, определяю- щий скорости, сигналы и интерфейсы для синхронной передачи по оптоволоконным лини- ям. — Пер.
Глава 5. С точки зрения звена 24 У модуль называют кадром STM-1. STM-кадр содержит верхний раздел и раздел полезной нагрузки (информации) — это так называемый административный элемент. Формат кадра STM-1 включает 9 строк и 270 столбцов, где каждая позиция содержит один байт. Из этих 270 столбцов, первые девять формируют верхний раздел, а остальные 261 предусмотрены для полезной нагрузки. Раздел полезной нагрузки содержит виртуальные контейнеры (Virtual Containers, VC). Виртуальные контейнеры могут быть вложенными, так что в один виртуаль- ный контейнер допускается поместить другой. Полезная нагрузка STM-1 мо- жет содержать один контейнер VC-4, в который, в свою очередь, допустимо поместить другие виртуальные контейнеры, например VC-4 может содержать четыре контейнера VC-31. Кроме того, виртуальные каналы возможно сцеп- лять, что обеспечивает ряд дополнительных свойств поточной полосы пропус- кания. Расположение виртуальных контейнеров в административном блоке не фиксировано, им разрешается "плавать" по последовательности STM-модулей; это позволяет компенсировать рассогласование по фазе. Например, если один из подчиненных сигналов имеет более низкую скорость, виртуальному контей- неру может быть разрешено плавно скользить (изменять свою начальную по- зицию в кадре) по временному периоду. Указатели в верхнем разделе помечают начало виртуального контейнера, т. е. начало пакета данных в STM- модуле. Это ключевое свойство SDH-протокола, которое подготавливает дан- ные к извлечению из битового потока. В SDH имеется полный набор сообщений об авариях и ошибках (в стандарте их называют дефектами и аномалиями). Аварийные сообщения передаются в верхнем разделе SDH. Полный отказ линии передачи вызывает аварийное сообщение "Loss of Signal" (Потеря сигнала). Приемный узел информирует передающий узел об отказе линии через обратную линию в форме аварийно- го сообщения "Remote Defect Indication" (Индикация удаленного дефекта). Когда генерируется сообщение "Loss of Signal", служба Automatic Protection Switching (Переключение на автоматическую защиту) SDK, переключает бу- дущие передачи на резервную линию. Аналогично, ошибки на принятом сиг- нале обозначаются аварийным сообщением "Remote Error Indication" (Инди- кация удаленной ошибки). Надежность стандарта SDH/SONET является существенным фактором его популярности. 5.8.2 Режим асинхронной передачи (ATM) ip — очень гибкий протокол, который работает во многих сетях и технологи- ях передачи данных. Однако эта гибкость отражается на стоимости. Общий характер формата IP-пакетов показывает, что они не оптимизированы по от- ношению к любому транспортному механизму и трудны для обработки. Это важно для высокоскоростных сетей, где сложность влияет на обработку за- держек в переключателях и маршрутизаторах.
Передача данных в сетях: инженерный подход 242. Режим асинхронной передачи (Asynchronous Transfer Mode, ATM) предлагает иной подход. Он использует небольшие пакеты фиксированного размера, на* чываемые ячейками, и очень простые функции в транзитных узлах. В заго- ловках выполняется несколько простых операций обнаружения ошибок, но для содержимого ячеек никакой проверки или восстановления ошибок не вы- полняется, и используется передача информации, ориентированная на соеди- нения, что позволяет применять в сети очень быстрое и простое переклю- чающее оборудование. Каков бы ни был тип трафика, он переносит ряды ячеек. Узкополосный тра- фик будет использовать ячейки намного реже, чем, скажем, широкополосный (такой, например, как видеотрафик). Поскольку использование ячеек не син- хронизировано и ведется по требованию, то поток ячеек не вписывается во фреймовую структуру. Когда источник трафика генерирует интенсивный па- кет, то используется много ячеек, если же у источника нет трафика, то ячейки становятся доступны для использования другими потоками, образуемыми, например, с помощью статистического мультиплексирования. Службы ATM Режим асинхронной передачи (ATM) поддерживает трафики 4-х типов (рис. 5.39): □ CBR (Constant Bit-Rate) — с постоянным битрейтом (битовой скоростью). Разработан прежде всего, чтобы нести синхронный чувствительный ко времени (time-sensitive) трафик, типа голосового; □ VBR (Variable Bit-Rate) — с переменным битрейтом. Разделен на два под- класса: реального времени (Real Time, RT) или не реального времени. VBR используется для служб, в которых поток данных не производится или транспортируется на постоянной скорости, например, видеослужб. Для RT-служб ограничения, связанные с задержками (дрожание и пр.), намного более жесткие. VBR-служба определяется в терминах средних и пиковых битрейтов; □ ABR (Available Bit-Rate) — с доступным битрейтом. Обеспечивает службу "максимальных усилий" и пытается использовать пики и спады, связанные с мультиплексным VBR-трафиком. Если пропускная способность велика, ABR-источники могут передавать на более высокой скорости, но, когда VBR-нагрузки увеличиваются, ABR-источники должны уменьшать свои скорости. ABR-трафик предназначен для приложений, где задержка не со- ставляет особой проблемы. Полоса пропускания ABR-трафика может быть ограничена так, чтобы пользователь получил по крайней мере минималь- ный уровень обслуживания;
Глава 5. С точки зрения звена 243 О UBR (Unspecified Bit-Rate) — с неопределенным битрейтом. Это служба с низкой стоимостью и низким качеством обслуживания (QoS), которая не обеспечивает никаких гарантий производительности. Идеален для таких приложений, как фоновая передача файлов. CBR VBR ABR UBR Вывод ячеек Фиксирован- ный Средний и пи- ковый гаранти- рован Управляемый сетью Неопределенный Задержка Чувствителен к задержкам Нечувствительны к задержкам Управление перегрузкой Нет Да Нет Рис. 5.39. Типы трафиков ATM На рис. 5.40 приводятся основные характеристики четырех основных служб уровня адаптации ATM (ATM Adaptation Layer, AAL). Каждая служба разра- ботана для поддержки различных приложений в ATM-сетях и описывается в терминах режима переключения, битовых скоростей, допуска по задержкам и примера приложения, использующего этот уровень адаптации. AAL1 AAL2 AAL5 AAL 3/4'6 Ориентированные на соединения Без соединений Постоянные Переменные Чувствительны к задержке Нечувствительны к задержке Голос Пакетное видео IP для протокола Х.25 Переключаемые мультимедиа цифровые служ- бы (SMDS16 17) Рис. 5.40. AAL службы Стек протоколов ATM Стек протоколов ATM показан на рис. 5.41. Уровень ATM полностью незави- сим от физического механизма, используемого для передачи. Он посылает данные, передаваемые уровнем адаптации ATM, своему адресату. Подуро- вень сходимости передачи (Transmission Convergence sub-layer) обеспечивает 16 Первоначально AAL 3 и AAL 4 были похожими, но разными службами, но затем было при- нято решение слить их в единую AAL-службу — AAL 3/4. 17 SMDS — Switched Multimedia Digital Service, переключаемая мультимедиа цифровая служ- ба. — Пер.
244 Передача данных в сетях: инженерный подход интерфейс с транспортной средой. Наиболее важные его функции — это вы- явление ячеек и генерация НЕС-сообщений18. AAL AAL ATM ATM ATM Сходимость транспортировки Сходимость транспортировки Сходимость транспортировки Физический Физический Физический Конечная точка Переключатель Конечная точка ATM ATM ATM Рис. 5.41. Набор протоколов ATM. Слева приведен стек протоколов OSI: A (Application) — прикладной; Р (Presentation) — представительный; S (Session) — сеансовый; Т (Transport) — транспортный; N (Network) — сетевой; D (Data Link) — канальный; Р (Physical) — физический Поскольку ATM не обеспечивает услуг типа повторной передачи искажен- ных данных, уровень адаптации ATM (AAL) задает сквозной протокол, кото- рый обеспечивает интерфейс между уровнем ATM и протоколами более вы- соких уровней (включая приложения). AAL отвечает за прием сообщений от протоколов более высоких уровней и их фрагментацию на меньшие объекты, предназначенные для транспортировки в ячейках. Он также обеспечивает любые дополнительные услуги, которые могли бы потребоваться приложе- ниям более высокого уровня, такие как синхронизация, упорядочивание, так- тирование и обнаружение/исправление ошибок. AAL, таким образом, обеспечивает основные функциональные возможности ATM. Наличие AAL-уровня у ATM означает, что ATM — это не только канальная технология, но она может также обеспечить транспортный и сетевой уровни, без необходимости использования других протоколов, таких как TCP/IP. Од- нако популярность IP-протокола в обеспечении общей структуры сетей пока- зывает, что сквозной ATM-протокол не оказался столь успешным, как ожи- далось, хотя он имеет намного лучшую поддержку гарантий качества 18 НЕС — Header Error Control, контроль ошибок заголовка. — Пер.
Гпава 5. С точки зрения звена 245 обслуживания, чем даже у служб базового IP-протокола. Впрочем, именно ATM обычно используется для обеспечения связи с базовой сетью. Передача ATM Парадигма ATM ориентирована на соединения. Ячейки транспортируются по тракту передачи и переключаются таким образом, чтобы они достигли своего адресата. Тракты передачи организованы логически в виртуальные каналы (Virtual Channel, VC) и виртуальные пути (Virtual Path, VP). Виртуальный канал — это, по существу, виртуальная схема и основная транспортная еди- ница ATM, образующая соединение между источником и адресатом. Порядок передач гарантирован, но виртуальный канал предрасположен к потере ячеек. Виртуальный путь — это эффективно сгруппированные и упакованные вир- туальные каналы (рис. 5.42). Виртуальные каналы Виртуальные каналы Виртуальные каналы путь путь Путь передачи Рис. 5.42. Виртуальные каналы, упакованные в виртуальные пути Ячейка ATM имеет длину 53 байта: 5 байтов — заголовок и 48 байтов — информация. Заголовок используется для адресации, контроля ошибок и управления сетью. Имеется возможность использовать отдельный бит для указания высокого или низкого приоритета. Это свойство привлекает зна- чительное внимание исследователей при разработке приоритетных схем принятия вызовов. На рис. 5.43 приводятся два формата ячеек: первый представляет ячейки интерфейса Пользователь-Сеть (User to Network Interface, UNI), а второй — ячейки интерфейса Сеть-Сеть (Network to Network Interface, NNI). Формат и, следовательно, функциональные возможности этих ячеек аналогичны, не- много различаются только заголовки. Различие состоит в том, что NNI- ячейка предоставляет больше возможностей для адресации— у нее в 12- разрядном поле Идентификатор виртуального пути (Virtual Path Identifier, VPI) выделено поле Контроль обобщенного потока (Generic Flow Control, GFC), которое управляет передачей ячеек, когда необходим множественный доступ к среде.
246 Передача данных в сетях: инженерный подход Ячейка интерфейса Пользователь-Сеть (UNI) Полезная нагрузка (48 байтов) Контроль ошибок заголовка 01234567 4 Г я Тип полезной нагрузки gnogKreT потер ЧвЙКИ23456 в 7 Идентифи!- иртуального _ ... 01234567 :атор канала Заголовок (5 байтов) 0 1234 И/ вир 567 1ентификатор туального пути ► 01234567 Полезная нагрузка (48 байтов) Контроль ошибок заголовка 1 Тип полезной нагрузки Идентификатор виртуального канала Идентификатор виртуального пути Контроль обобщенного потока Ячейка интерфейса Сеть-Сеть (NNI) Рис. 5.43. Форматы ячеек ATM Контракт АТМ-трафика Прежде чем направлять поток ячеек между конечными точками, должно быть установлено соединение. Частью этого процесса является передача так назы- ваемого контракта трафика (traffic contract), описывающего характеристики трафика. Все взаимодействующие стороны должны твердо придерживаться этого контракта. Ключевыми элементами контракта являются дескриптор (описатель) источника и требуемое качество обслуживания (QoS). Дескриптор содержит информацию о скоростях передачи, задержках и потерях. О Пиковой скоростью (передачи) ячеек (Peak Cell Rate, PCR) называют верхний предел скорости потока ячеек. Эта скорость не требуется все вре- мя, если трафик не относится к типу CBR (с постоянным битрейтом). Нормальная скорость (передачи) ячеек (Sustainable Cell Rate, SCR) — это верхний предел средней скорости передачи ячеек (она меньше или равна PCR). Групповым допуском (burst tolerance) называют флуктуации времен- ного интервала между двумя последовательными ячейками. О Разброс (времени) задержки ячеек (Cell Delay Variation, CDV) описывает от- клонения, которые существуют между моментами отправки (или моментами прибытия в пункт назначения) последовательных ячеек в данном потоке. О Скорость потери ячеек (Cell Loss Rate, CLR) определяет число отброшен- ных ячеек в схеме ATM. Скорость ошибочных ячеек (cell error rate) связа- на с искажением содержимого ячеек, которые вызываются главным обра- зом незначительными сбоями в среде передачи. Скорость потери ячеек является более полной характеристикой потерь, чем скорость ошибочных ячеек, и, как правило, должна быть больше последней. Процесс определения контракта трафика и затем распределение ресурсов Для поддержки соединения и удовлетворения требований качества обслу- живания (если возможно) называют контролем за установкой соединений (Connection Admission Control, САС).
Гпава 5. С точки зрения звена 247 Контроль параметра использования После согласования контракта между пользователем и сетью сеть должна га- рантировать, что трафик, направляемый в сеть источником, не превышает ограничений контракта. Нарушение контракта способно привести к перегруз- ке, которая может затронуть других пользователей, не нарушавших своих контрактов. Контракт может быть нарушен пользователем умышленно, или сетевые эффекты могут неосторожно заставить поток превысить согласован- ные пределы. Поэтому существует необходимость в системе наблюдения за потоками трафика, которую часто называют контролем параметра использо- вания (Usage Parameter Control, UPC). Используя эту систему (рис. 5.44), сеть следит за потоками ячеек (в виртуаль- ных каналах или виртуальных путях) и определяет ячейки, нарушающие рабо- ту сети. Эти ячейки либо маркируются, чтобы сбросить их на более поздней стадии передачи, если поток столкнется с ситуацией перегрузки, либо сбрасы- ваются немедленно. Отмеченные ячейки вносят в сеть дополнительную стои- 'мость, которая может быть переложена на пользователей. Маркировка выпол- няется изменением CLP-бита в заголовке ячейки и части AAL-заголовка. Все “ячейки с подтверждениями передаются без изменений. «Циковая и, иногда, средняя скорость, достигаются с помощью специального ^механизма, который называют "протекающим сосудом". Это— простой счетчик, который увеличивается на 1 (инкрементная операция) с прибытием каждой ячейки и уменьшается на 1 (декрементная, операция) с предваритель- но согласованной скоростью, т. е. ведет себя точно так же, как дырявый сосуд ;;йри заполнении его водой. Когда счетчик достигает предопределенного поро- ! ta, ячейки маркируются или отбрасываются. UPC-контроль размещается как /внутри сети, так и на ее границах. Чтобы максимизировать производительность и гарантировать, что контракт не нарушается, источники могут формировать трафик еще до его ввода в ; сеть. Для этого используются соответствующие устройства. Согласованная скорость Рис. 5.44. Система наблюдения ATM
248 Передача данных в сетях: инженерный подход Коммутация в ATM ATM базируется на концепции быстродействующих аппаратно-реализованных коммутирующих (переключающих) устройств (рис. 5.45). Существует большое разнообразие различных коммутационных архитектур, каждая со своими "за" и "против". Независимо от своей внутренней структуры, ATM-коммутатор вы- полняет две ключевые функции: □ он должен быть способен распознавать и интерпретировать адресную ин- формацию в заголовке ячейки. Наряду с входным портом, эта информация указывает, куда должна быть направлена ячейка; □ он должен передавать ATM-ячейку со своего входа на правильный выход очень быстро. Кроме того, существует дополнительное требование — до того, как ячейки покинут коммутатор, их заголовки должны быть откор- ректированы. Маршрутизация выполняется либо в форме самомаршрутизации, либо на основе таблиц маршрутизации. В первом случае входной каскад коммутато- ра добавляет в заголовок ячейки дополнительную информацию, которая ис- пользуется, чтобы направлять ячейку через коммутирующую матрицу. До момента отправки ячейки ее заголовок удаляется. В случае табличной мар- шрутизации, используются специальные справочные таблицы, отображаю- щие адресную информацию заголовков на направления в коммутирующей матрице и связанные с ними элементы. ATM-коммутаторы, подобные показанному на рис. 5.45, по существу, явля- ются мультиплексорами. Они должны иметь дело с состязанием, т. е. с си- туацией, когда две ячейки, прибывающие в одно и то же время, требуют от- правки через один и тот же порт. Эта ситуация разрешается с помощью буферизации или сброса ячеек. Поскольку обе этих процедуры влияют на ка- чество обслуживания (первая добавляет задержку, а вторая увеличивает ско- рость потери ячеек), то они должны быть под контролем. Рис. 5.45. Коммутация в ATM
Гпава 5. С точки зрения звена 249 Ячейка ATM содержит два адресных поля — Индикатор виртуального кана- ла (Virtual Channel Indicator, VCI) и Индикатор виртуального пути (Virtual Path Indicator, VPI). VCI-индикатор используется, чтобы определить вирту- альный канал, по которому должна передаваться ячейка. Таблица маршрути- зации в каждом узле будет преобразовывать VCI поступающей ячейки в VCI следующего узла, куда будет направляться эта ячейка. VPI-индикатор ис- пользуется, чтобы указать виртуальный путь, на котором запланирована ус- тановка сквозного соединения для передачи ячеек. Возможна также коммута- ция виртуальных путей. В этом, случае используются сразу оба поля — VPI и VCI. Для преобразования адресов и модификации VPI- и VCI-полей требуют- ся специальные коммутаторы. VP- и VC-коммутация показаны на рис. 5.46. При VP-коммутации переклю- чаются виртуальные пути и все виртуальные каналы, которые в них содер- жатся. При VC-коммутации переключаются только индивидуальные вирту- альные каналы. Коммутация Коммутация виртуальных путей виртуальных каналов Рис. 5.46. Коммутация виртуальных путей Термин виртуальный используется потому, что хотя ячейка считает канал или путь, по которым она передается, своей собственностью, они не предна- значены для использования только одной этой ячейкой. На самом деле канал или путь совместно используются многими другими ячейками. Ключевой проблемой управления является назначение ресурсов каждому виртуальному пути или каналу. Возможны соединения разных типов. Постоянные виртуальные схемы (со- единения) (Permanent Virtual Circuits, PVC) эквивалентны перекрестным со- единениям и означают продолжительное назначение ресурсов соответствую- щим путям или потокам. Коммутируемые виртуальные схемы (Switched Virtual Circuits, SVC) переключают пути и, следовательно, ресурсы динами- чески, когда требуется соединение. Непрактично нумеровать виртуальные каналы в масштабах всей сети. VC- номера назначаются динамически на каждом сегменте соединения между ис- точником и адресатом. По мере прохождения ячеек через коммутационные узлы VC-номера могут изменяться. Всю работу, связанную с этими измене-
250 Передача данных в сетях: инженерный подход ниями, выполняет сетевой уровень (с помощью таблиц маршрутизации). На рис. 5.47 показан пример сети с тремя маршрутами и соответствующая таб- лица маршрутизации коммутационного узла X. Рис. 5.47. Нумерация виртуальных путей Поля АТМ-ячейки Формат АТМ-ячейки показан на рис. 5.43. В дополнение к 48-разрядному по- лю полезной нагрузки, в ней имеются три главных поля управления. Поле Идентификатор типа полезной нагрузки (Payload Type Identifier, PTI) указы- вает, относится ли эта ячейка к пользовательскому или к сетевому потоку, перегружен ли поток или нет, и к AAL какого типа относится ячейка. Второе поле управления — это поле Приоритет потери ячейки (Cell Loss Priority, CLP), которое используется службой Контроля параметра использо- вания (UPC), чтобы определять относительный приоритет ячейки. Если CLP- флажок установлен ( = 1), то это указывает, что ячейка имеет более низкий приоритет и может быть сброшена сетью, если происходит перегрузка пото- ка. CLP = 0 указывает на более высокоприоритетные потоки. Флажок CLP может быть установлен источником или изменен сетью. 8-разрядное поле Контроль ошибок заголовка (Header Error Control, НЕС) защищает заголовок ячейки от любых ошибок, которые могут привести к не- правильной маршрутизации. Полезная нагрузка здесь не защищается — ре- шением этой задачи занимаются верхние уровни или даже само приложение. Для защиты полезной нагрузки потребовалось бы больше 8 разрядов и, кроме того, возросли бы непроизводительные затраты. Для защиты заголовка используется восьмиразрядный порождающий много- член, который способен обнаруживать и исправлять все однобитовые ошиб- ки, обнаруживать (но не исправлять) все двухбитовые ошибки в 4-байтовой
Гпава 5. С точки зрения звена 251 функциональной части заголовка. Механизм обнаружения и коррекции осно- ван на двух многочленах: □ ОД = х8 + х2 + х+ 1(100000111); □ ОД = х6 + х4 + х2+1(01010101). Их можно построить из простых цифровых схем. Как показано на рис. 5.48, защита работает в двух режимах — коррекция и обнаружения. Нормальная работа проходит в режиме коррекции, когда без- ошибочные ячейки пересылаются на более высокие уровни. Если происходит одиночная ошибка, то она исправляется, ячейка передаётся, но состояние из- меняется на состояние обнаружения. Изменение состояния происходит также и при обнаружении многократных ошибок. Устройство переходит из состоя- ния обнаружения обратно в состояние коррекции, в котором обнаруживаются безошибочные ячейки. Многократные ошибки Ячейки не передаются Нет ошибок Ячейки передаются Рис. 5.48. Обнаружение ошибок ATM Процедура синхронизации показана на рис. 5.49. Система стартует в состоя- нии поиска, а в состояние предсинхронизации переходит только тогда, когда получен успешный НЕС-процесс. Затем она или возвратится к поиску, если произойдет сбой следующего НЕС-процесса, или перейдет в состояние Син- хронизация (в котором ей и нужно быть), когда произойдет Д последователь- ных успешных НЕС-процессов. Система будет оставаться в этом состоянии, пока а последовательных НЕС-процессов не окончатся неудачей, после чего она возвратится к состоянию поиска. Типичными значениями параметров а и Д являются 7 и 6 или 7 и 8. Точное их значение зависит от используемой схе- мы передачи.
252 Передача данных в сетях: инженерный подход Рис. 5.49. Синхронизация ATM Одна ошибка 5.9. IP-транспортировка в глобальных сетях 5.9.1. Двухточечный протокол Двухточечный протокол (Point-to-Point Protocol, PPP) — это протокол транс- портировки сетевых пакетов по двухточечным линиям. Он было разработан для замены протокола SLIP (Serial Line IP, IP-протокол для последовательных линий). В отличие от SLIP PPP-протокол может переносить целый блок дей- таграмм сетевого уровня, тогда как SLIP предназначен исключительно для последовательных IP-передач. РРР был первоначально разработан для связи по простым последовательным линиям. Весьма вероятно, что из-за его спо- собности к изменению конфигурации и надежности, этот протокол использу- ется для соединения компьютеров по телефонным линиям с коммутируемым доступом. Но РРР не ограничен какой-то конкретной транспортной техноло- гией и может работать по любой двухточечной линии. Он используется, на- пример, для транспортировки IP-дейтаграмм (и других типов дейтаграмм 3-го уровня) между маршрутизаторами по протоколам SDH/SONET. Структура PPP-кадра показана на рис. 5.50. Каждый PPP-кадр начинается и заканчивается строкой 01111110. Она используется для определения границ кадра. Поскольку кадр имеет переменную длину, необходимо, чтобы эта строка не появлялась как часть информационного блока. РРР использует байт-стаффинг, подобный бит-стаффингу, описанному в разд. 5.2, но работающему на уровне байтов. Если в сообщении появляется строка 01111110, то перед ней вставляется управляющий (escape-) байт 01111101.
Гпава 5. С точки зрения звена 253 Над байтом данных, который отмечен escape-байтом, выполняется операция XOR (исключительное логическое ИЛИ) с числом 00100000 в качестве второ- го операнда. Если в сообщении появляется сама управляющая последова- тельность, то перед ней тоже вставляется управляющий байт. Приемник все- гда удаляет управляющий байт из данных сообщения. Единственная цель управляющего байта состоит в том, чтобы предотвратить ложную интерпре- тацию данных сообщения как разделителей кадров. В полях Адрес и Управление (оба размером по 8 битов) всегда устанавли- ваются значения 11111111 и 00000011 соответственно, хотя стандарт не исключает возможность установки других значений, определяемых позд- нее. Поле протокол определяет протокол сетевого уровня, который пере- носит кадр. 1 1 11 или 2 переменная 2 или 4 1 Флажок 0111110 Адрес 11111111 Управление 00000011 Протокол Полезная нагрузка Контрольная сумма Флажок 0111110 Рис. 5.50. Кадр РРР-протокола Для установки соединения и согласования параметров передачи РРР исполь- зует протокол управления линией (Link Control Protocol, LCP). Кроме того, LCP используется для проверки состояния соединения и упорядоченного его изменения при завершении сеанса связи. Правила формирования PPP-кадра заимствованы из протокола HDLC (High Level Data Link Control, управление звеном данных верхнего уровня), который РРР использует в качестве основы. HDLC имеет ту же структуру кадра и разделители, и от него в кадр РРР перешли довольно избыточный адрес и поля управления. Протокол HDLC, который был разработан в 1979 г., более сложен, чем РРР. Когда разрабатывался HDLC, проблем тактирования и синхронизации между устройствами было больше, чем те- перь, когда появились усовершенствованные методы обработки. HDLC асинхронен в том смысле, что разделитель кадра может появляться в лю- бой момент времени и будет обнаружен. Проблемами этого подхода явля- ются потребность в байт-стаффинге, а также ошибки, искажающие пакет и приводящие к потере синхронизации. РРР может работать с другими протоколами линии связи, например, с прото- колом SDL (Simple Data Link, простое звено данных). Кадр SDL имеет в заго- ловке поле длины, которое указывает длину кадра и позволяет быстрее обра- батывать пакет. Поле длины кадра защищено от ошибок проверочной последовательностью кадра.
254 Передача данных в сетях: инженерный подход 5.9.2. IP и SDH/SONET SDH/SONET — это простой интерфейс канального уровня, и поэтому сам по себе не способен выполнять IP-транспортировку. Чтобы реализовать такую транспортировку в качестве канального протокола, можно использовать пару протоколов PPP/HDLC. Были также разработаны предложения по использо- ванию пары PPP/SDL. ATM тоже может использовать SDH/SONET для своих транспортировок. В этом случае ATM будет переносить IP-кадры, как описано в разд. 5.9.3, а SDH/SONET будет переносить ячейки ATM. Стеки протоколов для различ- ных вариантов таких передач показаны на рис. 5.51. ip AAL-5 ATM Transport Convergence SONET Optical Fibre Рис. 5.51. Альтернативные подходы для передачи IP-кадров по SDH/SONET 5.9.3. IP и ATM Для переноса PDU-блоков IP-протокола по сетям ATM используется прото- кол AAL-5 (рис 5.52). AAL-5 — это простой протокол, обеспечивающий ми- нимальные накладные расходы при транспортировке таких высокоуровневых PDU-блоков, как ячейки ATM. IP-дейтаграмма передается в поле полезной нагрузки PDU-блока CPCS (Common Part Convergence Sub-layer) адаптационного уровня AAL-5. Размер поля полезной нагрузки CPCS-PDU колеблется между 0 и 65 538 байтами, так что этот PDU может переносить IP-пакет любого размера. Чтобы гарантиро- вать, что CPCS-PDU содержит целое число 48-байтных блоков, в него добав- ляется дополнительное поле Pad-заполнителей. Эти 48-байтные блоки из CPCS-PDU вставляются в поле полезной нагрузки ATM-ячейки. Обратите внимание, что AAL-5 не вносит в поле полезной нагрузки ATM-ячейки ника- ких служебных данных, так что все 48 байтов этого поля доступны для пере- носа полезной информации. Кроме того, блок CPCS-PDU содержит также поле длины (2 байта) и поле CRC (4 байта).
Глава 5. С точки зрения звена 255 протоколов Рис. 5.52. Перенос IP-пакетов по АТМ-сетям ARP-протокол для IP/ATM Благодаря взаимодействию ATM- и IP-протоколов 1Р-маршрутизаторы получают возможность организовать высокоскоростное межсетевое взаи- модействие по каналам, ориентированным на работу с ATM-ячейками. Со- единения между маршрутизаторами можно реализовать в форме SVC- или PVC-схем коммутации (см. разд. "Коммутация в ATM"). В дополнение к форматированию PDU-блоков, ATM/IP-протоколы требуют исполь- зования процедур разрешения адресов (чтобы согласовать адреса IP-маршрутизаторов с соответствующими ATM-адресами). Эти процедуры подобны ARP-процедурам локальных сетей за исключением того, что ATM-технология ориентирована на соединения, а не на широковещатель- ную передачу данных. Каждый маршрутизатор поддерживает ARP- таблицу (по существу, динамический список), которая указывает, куда следует направлять каждый прибывающий IP-пакет. Если эта таблица не содержит подходящего адреса, запускается специальная ARP-процедура. ARP-протокол имеет две формы: ARP-сервер и широковещательный ARP (рис. 5.53). В первом случае (рис. 5.53, а) маршрутизатор направляет сер- веру (по виртуальному каналу) специальный ARP-запрос. Получив этот запрос, сервер отвечает маршрутизатору подходящим адресом, по ко- торому маршрутизатор может отправлять полученную IP-дейтаграмму. В широковещательной ARP-системе (рис. 5.53, б), маршрутизатор направля- ет ARP-запрос всем маршрутизаторам, связанным с ATM-сетью, по специ- ально выделенному для ARP-запросов виртуальному каналу. Маршрутиза- тор адресата согласует свой IP-адрес с ATM-адресом и посылает ответ с адресом на исходный маршрутизатор, используя тот же виртуальный ка- нал. Затем исходный маршрутизатор может передавать 1Р-дейтаграмму.
256 Передача данных в сетях: инженерный подход Рис. 5.53. ARP-протокол для ATM-систем: а — серверный ARP; б — широковещательный ARP 5.10. Региональные сети Региональные (MAN-) сети— это высокоскоростные сети, охватывающие достаточно большие, по сравнению с локальными сетями, области, но не со столь длинными расстояниями, как в глобальных (WAN-) сетях. В отличие от локальных сетей региональные сети эксплуатируются телекоммуникацион- ными компаниями и обслуживают множество различных организаций. Идеи, заложенные в разработки региональных сетей, были заимствованы у локальных сетей, так что MAN-сети часто описывают как большие и быстрые LAN-сети. Это, однако, не означает, что МАС-схемы локальных сетей напря- мую подходят для использования в региональных сетях. С региональными сетями связано одно требование— широкая полоса про- пускания, т. е. более высокие скорости передачи. Для поддержки достаточно широкого диапазона приложений, использующих MAN-технологии, требу- ются высокоскоростные линии передачи (100 Мбит/с и выше). Кроме того, MAN-сети должны покрывать расстояния, превосходящие покрываемые ло- кальными сетями, скажем, 100 км (вместо максимум 5 км в случае локальных сетей). Необходимо, наконец, рассмотреть характер служб, поддерживаемых
Гпава 5. С точки зрения звена 257 MAN-сетями. В отличие от LAN-сетей в MAN-сетях требуется поддерживать как синхронный, так и асинхронный трафик. Видео- и голосовые службы, например, являются источниками с постоянной скоростью передачи (то есть с синхронным трафиком), что отличает их от более традиционных источни- ков данных с асинхронным трафиком. Стандарт локальных сетей IEEE 802.3 CSMA/CD не подходит для использо- вания в среде региональных сетей по ряду причин: □ увеличение скорости линии привело бы к тому, что протокол стал бы даже более неэффективным. Минимальную длину кадра пришлось бы увели- чить, чтобы не возросла вероятность столкновений; □ увеличение длины шины привело бы к увеличению задержки распростра- нения и поэтому возросла бы вероятность столкновений. Это, конечно, можно было бы компенсировать увеличением минимальной длины кадра, но за счет дальнейшего уменьшения эффективности передачи; □ CSMA/CD — это, по существу, механизм асинхронного доступа и больше подходит для асинхронного трафика данных. Он далек от идеала при под- держке синхронного трафика, который требует постоянных и предсказуе- мых задержек. Для больших сетей больше подходит резервируемый доступ. Он позволяет более эффективно использовать среду, что достаточно важно, поскольку стоимость большой сети зависит, скорее, от длин» линий, а не от стоимости индивидуальных узлов. Кроме того, поскольку региональная сеть использу- ется многими организациями, то доступ к среде для них должен быть гаран- тирован. Схемы с состязаниями не дают такой гарантии. Разделительная линия между региональными и локальными сетями всегда была довольно нечеткой, поэтому оптоволоконный FDDI-интерфейс часто используется и в локальных сетях. Поскольку локальные сети становятся бы- стрее, разработки, подобные гигабитной Ethernet, предлагают возможности, довольно похожие на возможности MAN-сетей, но по более низкой цене. С другой стороны, глобальные сети теперь способны предложить скорости пе- редачи, приближающиеся и даже превышающие скорости региональных се- тей, без каких-либо компромиссов по расстояниям. Поэтому, весьма вероят- но, что любые новые технологические разработки будут нацелены на рынок либо глобальных, либо локальных сетей. 5.10.1. Интерфейс передачи данных по оптоволокну Интерфейс FDDI (Fibre Distributed Data Interface, интерфейс передачи данных по оптоволокну) был разработан Американским национальным институтом стандартов (ANSI) исключительно для высокоскоростных сетей передачи
258 Передача данных в сетях: инженерный подход данных. Версия второго поколения FDDI II была создана для поддержки ин- тегрированного трафика, и именно эту версию мы и будем здесь обсуждать. FDDI ориентирован на работу в высокоскоростных сетях (с битрейтом по- рядка 100 Мбит/с), использующих топологию физического кольца. В приме- нении к региональным сетям FDDI обладает следующими ключевыми свой- ствами: О маркерная схема управления доступом к среде, построенная по стандарту ЕЕЕ 802.5, который совместим со стандартом IEEE 802.2 LLC (управление логическим звеном). FDDI совместим со всеми локальными сетями IEEE; □ топология двойного кольца, которая допускает полностью оптоволокон- ный тракт длиной до 200 км (100 повторителей с максимальным расстоя- нием между ними 2 км) и максимум 1000 оптоволоконных соединений. В результате FDDI может поддерживать до 500 пользователей, связанных Друг с другом на расстоянии более чем 100 км. Оптоволоконный кабель может быть одно- или многомодовым. FDDI можно также использовать как LAN-стандарт для сетей с витыми парами проводов вместо оптово- локна. Максимальное расстояние между повторителями в этом случае со- кращается до 100 м. Чаще всего FDDI используется для связывания не- скольких локальных сетей, как показано на рис. 5.54; О способность динамически распределять ширину полосы, чтобы можно было одновременно обеспечивать как асинхронную, так и синхронную службы. FDDI поддерживает до шестнадцати каналов по 6,144 Мбит/с со схемно-переключаемыми изохронными потоками данных. Каждый из этих потоков (по 6,144 Мбит/с) равен или трем CEPT-кадрам19 (по 2,048 Мбит/с) или четырем Т1-кадрам20 (по 1,544 Мбит/с). Рис. 5.54. Использование FDDI для связи локальных сетей FDDI базируется на топологии двойного кольца. Два кольца можно исполь- зовать или для параллельной передачи, что обеспечивает эффективную ско- рость передачи 200 Мбит/с, или, чаще, со вторым кольцом в качестве резерва. 19 CEPT — Conference of European Postal and Telecommunication Administrations, Европейская конференция почтовых и телекоммуникационных ведомств. — Пер. Т1 — линия Т1 (термин, используемый компанией AT&T для обозначения каналов передачи Цифровых данных с полосой 1.544 Мбит/с). — Пер.
Гпава 5. С точки зрения звена 259 В этом случае эффективная скорость передачи данных составляет 100 Мбит/с. Такая топология обеспечивает высокую степень отказоустойчивости (рис. 5.55, а). Если узел или линия отказывает, то два кольца меняют конфи- гурацию и формируют одно кольцо. Если происходит один разрыв, то под- держивается полная связность, но кольцо удваивает свою первоначальную длину (рис. 5.55, б). Если происходит второй разрыв, то сеть разделяется на две отдельных сети, каждая из которых способна работать независимо, но с потерей полной связности (рис. 5.55, в). Несмотря на свое название, FDDI-интерфейс можно использовать и с медным проводом (не только с оптическим волокном), хотя в этом случае расстояние между повторителями сокращается до 100 м. При использовании оптического волокна это расстояние возрастает до 2 км. Фактически в FDD1 используется скорость передачи 125 Мбит/с (по кольцу) и схема кодирования "4 из 5" (4В5В), где каждый символ представляется 5 тактовыми интервалами и эф- фективно представляет 4 бита. Это требует меньшей полосы пропускания, чем при манчестерском кодировании, но, в отличие от манчестерского коди- рования, никакой синхронизирующей информации в сигнале не присутству- ет, поэтому используется длинная преамбула. Медная версия протокола ис- пользует кодирование MLT-3. Рис. 5.55. Возможности отказоустойчивости FDDI: а — нормальная работа; б — одиночный отказ; в — двойной отказ В формате FDDI-фрейма допускается информационное поле переменной длины (рис. 5.56). Фрейм FDDI начинается с 8-байтовой преамбулы (РА), ко- торая используется для синхронизации приемников. За ней следует однобай- товый начальный разделитель (Start Delimiter, SD), который указывает начало кадра, и поле управления кадром (Frame Control, FC), в котором указывается функция фрейма. FDDI поддерживает 16- или 48-разрядную адресацию, а на кольце можно ис- пользовать смешанные адресные форматы: Адрес пункта назначения (Des- tination Address, DA) и Адрес источника (Source Address, SA) могут по- этому иметь длину 2 или 6 байтов. За информационным полем данные
260 Передача данных в сетях: инженерный подход следует поле последовательности проверки кадра (Frame Check Sequence, FCS), и 4-битовый (то есть односимвольный) концевой разделитель (End Delimiter, ED), указывающий конец кадра. За кадром следует поле состояния кадра (Frame Status, FS), которое используется для ответа источнику. В нем может быть указано, что была обнаружена ошибка, что адресат распознал свой адрес, и что кадр был принят. 10 2 2 4 или 12 4 или 12 8 Тили 2 3 РА SD FC Адрес пункта назначения Адрес источника Данные FCS ED FS а 10 2 2 1 или 2 РА SD FC ED б Рис. 5.56. Кадры FDDI (размеры приведены в символах: 4 символа = 2 октета): а — информационный кадр; б — маркер Работа МАС-уровня FDDI В FDDI используется маркерная система, подобная IEEE 802.5, и, так же как в этом стандарте, трафик может иметь разные приоритеты. Станции разрешено передавать кадры только в том случае, если она захватила маркер. В кольце может находиться сразу несколько маркеров. Правила захвата и освобождения маркера определяются типом трафика, типом маркера и уров- нем приоритета. Прием и захват маркера не синонимы, и, если станция при- нимает маркер, но он не разрешает передачу, то маркер должен быть возвращен следующей станции на кольце. Правила захвата и удержания мар- кера описаны в протоколе обращения (целевого) маркера (Target Token Rota- tion Protocol). FDDI-система поддерживает трафик 4 типов — с разными при- оритетными уровнями. Два трафика имеют дело с синхронными типами данных и два — с асинхронными. Синхронный трафик имеет две разновидности — просто синхронный и изо- хронный. Изохронный трафик связан с канально-коммутируемыми синхрон- ными данными, которые синхронизируются единственной (обычно внешней) временной привязкой. Трафик передается с использованием специальных кадров, чья длина фиксирована во время всего соединения и определяется требуемой пропускной способностью. Синхронизация этого трафика, бази- рующаяся на 8-килогерцовых циклах, устанавливается и управляется специ-
Гпава 5. С точки зрения звена 261 альной станцией, которую называют Владельцем циклов (Cycle Master). Стан- ции договариваются относительно использования этой пропускной способно- сти и права быть Владельцем циклов. Полоса пропускания для обеих форм синхронного трафика распределяется из общей полосы FDDI. Остающаяся полоса используется для передачи асин- хронного трафика. Различают два типа асинхронных трафиков: □ ограниченный асинхронный трафик — такой трафик может быть передан после захвата ограниченного или неограниченного маркера. Используя неограниченные маркеры, станции договариваются передавать информа- цию в ограниченной форме. Это, по существу, режим, ориентированный на виртуальные каналы и виртуальные соединения, в котором станции конкурируют за остаток полосы пропускания при каждой установке со- единения; □ Неограниченный асинхронный трафик — такой трафик может быть пере- дан после захвата только неограниченного маркера. Это, по существу, ре- жим дейтаграмм (без соединений), когда станции конкурируют за остаток полосы пропускания при передаче каждого пакета. В дополнение к двум классам асинхронного трафика имеется 8 уровней при- оритета, которыми можно пользоваться по желанию. Маркерная схема FDDI отличается от стандартаДЕЕЕ 802.5 тем, что маркер освобождается сразу же после того, как данные переданы, а не после того, как получено подтверждение. Преимуществом такой схемы является лучшее использования среды, но возникает проблема, связанная с одновременным присутствием в кольце сразу нескольких маркеров. Это означает, что система приоритетов IEEE 802.5 не будет работать, потому что станция могла бы ре- зервировать полосу с помощью одного маркера только для того, чтобы уви- деть, что она уже используется другой станцией, владеющей другим марке- ром. Еще одна проблема FDDI — присутствие синхронных данных. Схема FDDI позволяет всем узлам передавать свои синхронные данные, раз- деляя оставшуюся часть полосы пропускания среди узлов с асинхронным трафиком (рис. 5.57). На этапе инициализации все узлы согласовывают временной интервал, кото- рый называют временем обращения маркера (Target Token Rotation Time, TTRT). Это время, которое требуется для обращения маркера вокруг кольца. По величине TTRT должен быть больше, чем время, затрачиваемое на переда- чу синхронных данных всех узлов (его называют временем синхронного рас- пределения, Synchronous Allocation Time, SAT), плюс временной размер кадра, временной размер маркера и время распространения по кольцу (кольцевая за- держка, Ring Latency, RL)). Если бы это было не так, то не все узлы были бы способны передавать синхронные данные. Разность между TTRT и суммой
262 Передача данных в сетях: инженерный подход всех потребностей передачи синхронных данных (Е SAT) определяет время, доступное для асинхронной передачи. Поскольку потребности в передаче асинхронных данных всех узлов являются динамическими (то есть перемен- ными), то узлам довольно трудно решать, как долго они могут передавать та- кие данные. Чтобы решить эту задачу, каждый узел поддерживает специальный таймер, называемый таймером обращения маркера (Token Rotation Timer, TRT). Он считает, как долго маркер идет вокруг кольца и возвращается к данному узлу. Если при получении маркера счетчик TRT еще не сравнялся с TTRT, то име- ется резерв времени для передачи асинхронных данных. Количество данных, которое может быть передано, равно разности TTRT - TRT. Эту разность на- зывают временем удержания маркера (Token Hold Time, ТНТ). Приняв мар- кер, узел будет передавать свои синхронные данные, даже если TTRT- интервал еще не истек, и затем, если TRT < TTRT, будут переданы или все имеющиеся асинхронные данные, либо максимум те, которые удалось пере- дать за время удержания маркера (ТНТ). Синхронная передача Асинхронная передача Только синхронная передача Рис. 5.57. TTR-протокол Производительность FDDI Протокол FDDI обладает двумя важными характеристиками: □ гарантированным максимальным временем отклика — в наихудшем слу- чае прибытие двух последовательных кадров от синхронного источника не будет превышать 2 х TTRT единиц времени. Это произошло бы, если бы узел принял маркер назад немедленно (TRT = 0), после чего он передавал бы ТНТ - TTR - TTRT = TTRT единиц времени. Остальные синхронные кадры затратят на передачу по крайней мере TTRT единиц времени (так как TTRT > £ SAT, );
Гпава 5. С точки зрения звена 263 □ максимальным коэффициентом использования сети, который можно предсказать. Он равен N(TTRT-RL) TTRT - RL ~ (Nx TTRT + RL) TTRT ’ где RL — кольцевая задержка, a N — число активных станций. Отсюда сле- дует, что FDDI чувствителен к размеру кольца, значению параметра TTRT и полному числу станций (включая активные). Увеличение TTRT ведет к уве- личенной эффективности, но увеличивает задержку синхронных кадров. С ростом размеров кольца увеличивается кольцевая задержка, что сокращает эффективность. 5.10.2. Двойная шина с распределенной очередью Стандарт IEEE 802.6 —Двойная шина с распределенной очередью (Distributed Queue Dual Bus, DQDB) предназначен для региональных (MAN-) сетей. Хотя он разрабатывался для обслуживания тех же потребностей, что и FDDI, он по своей природе сильно отличается от более ранних MAN-стандартов. DQDB был создан специально для множественных типов трафика (в отличие от FDDI, который первоначально поддерживал только трафик данных и был расширен до версии FDDI II, поддерживающей асинхронный и синхронный трафики). Ключевые возможности DQDB включает: □ использование архитектуры двойной шины, где каждая шина работает не- зависимо от других. Чтобы обеспечить определенную степень отказо- устойчивости, можно использовать топологию зацикленных шин; □ переменные скорости передачи (от 34 Мбит/с до 155 Мбит/с и выше) и отсутствие единственной специфической среды. В качестве среды можно использовать все— коаксиальный кабель, оптическое волокно и микро- волновые каналы; □ практическую независимость работы от числа станций; □ поддержку спаренного изохронного и асинхронного трафика. Хотя система называется шиной— это не физическая шина в истинном смысле. Шина формируется из нескольких однонаправленных двухточечных звеньев между узлами (рис. 5.58). При наличии двух шин, по одной в каждом направлении, данные можно по- сылать узлам по любому передающему направлению. В начале каждой шины находится головная станция. Она может быть отдельным объектом или включаться в состав первого узла.
264 Передача данных в сетях: инженерный подход Головная станция Конец потока данных Рис. 5.58. Конфигурация DQDB-сетей Концепция шины возникла вследствие того, что данные распространяются по направлению ко всем узлам (по крайней мере, ко всем узлам "ниже" передат- чика). Узлы не могут удалять данные из шины, они могут только добавлять их, заменяя проходящие "О" на "1". Схема присоединения узла показана на рис. 5.59. Узел устроен так, что он может отслеживать индивидуальные биты внутри последовательных слотов проходящего потока данных и изменять их перед передачей следующему узлу шины. Блок OR выполняет логическую функцию OR (логическое ИЛИ), так что узел может только изменять прохо- дящие данные, заменяя "О" на "1", но не "1" на "О". Использование такой про- стой схемы сложения приводит к тому, что шина может работать очень быст- ро. На первый взгляд может показаться, что неэффективно пересылать данные за пределы того узла, которому они были предназначены. Но чтобы использовать ту дополнительную часть полосы пропускания, которую зани- мают эти данные, потребовались бы довольно сложные методы сигнализации и управления ресурсами, что не позволило бы извлечь из этого никакой су- щественной выгоды. Рис. 5.59. Работа DQDB-узла
Гпава 5. С точки зрения звена 265 Как и другие стандарты серии IEEE 802, стандарт DQDB сохраняет пол- ную совместимость со стандартом IEEE 802.2 LLC. В стандарте IEEE 802.6 определена высокоскоростная сеть, использующая МАС-стандарт DQDB, и описываются два уровня протоколов — физический и DQDB. Упрощенная версия архитектуры DQDB-протоколов показана на рис. 5.60. Текущий стандарт поддерживает ряд систем передачи данных, но явно не указывает ни максимальной длины шины, ни максимального числа стан- ций. Эти характеристики будут зависеть от фактически используемой сис- темы. LLC Службы данных, ориентированные на соединение Изохронные службы МАС-службы А к LLC________~ MCF Функции сходимости Функции сходимости КАНАЛЬНЫЙ Функции управляемой очереди (QA) Функции предуправления(РА) Общие функции Объекты управле- ния уровнем (LME) ФИЗИЧЕСКИЙ Функции сходимости физического уровня (LME) Среда передачи Рис. 5.60. Стек DQDB-протоколов DQDB-уровень эквивалентен нижней части канального уровня, т. е. МАС- уровням IEEE 802. Он обеспечивает поддержку трех базовых служб высокого уровня — синхронного трафика, трафика данных, ориентируемого на соеди- нения и трафика данных без соединений. Службы высоких уровней поддер- живаются с помощью двух методов доступа: □ доступ с предварительным управлением (Pre-Arbitrated Access) — исполь- зуется службами, чувствительными ко времени (time-sensitive services),
266 Передача данных в сетях: инженерный подход т. е. источниками синхронного трафика. Доступ реализуется путем пред- варительного назначения определенных окгетных позиций в слотах кон- кретного соединения; □ доступ с управляемой очередью (Queue Arbitrated Access) — используется асинхронными источниками, которые запрашивают свободные, нераспределенные слоты. Доступ к этим слотам определяется с помощью протокола доступа с распределенной очередью (Distributed Queue Access Protocol). DQDB-кадр (рис. 5.61, а) имеет синхронную структуру со слотами фиксиро- ванной длины (рис. 5.61, б). Каждый слот начинается с поля управления дос- тупом (Access Control Field, ACF), за которым следует сегмент с данными. ACF-поле содержит следующие элементы: □ занят (Busy) — указывает, содержит ли слот данные или нет; □ тип (Туре) — указывает тип слота (синхронный или асинхронный); □ psr (Previous Segment Received) — предыдущий сегмент принят (это, по существу, подтверждение приема предыдущего сегмента); □ Резерв (Reservation) — подтверждает, что слот зарезервирован; □ Запрос (Request) —.используется узлами для запроса доступа к слоту. Когда у узла имеются асинхронные данные для передачи, он будет ис- пользовать шину, идущую в противоположном направлении, чтобы заре- зервировать слот для переноса этих данных. В таком контексте эта шина называется шиной запроса, тогда как другая шина называется шиной пере- дачи. В узле инициализируются два счетчика — счетчик Запроса и счетчик Об- ратного счета, после чего узел начинает отслеживать кадры, которые не- сет шина запроса. Узел информирует головную станцию шины, что он хо- чет получить слот, пытаясь изменить биты запроса в слотах, проходящих по шине запроса. Но предыдущие узлы также могут запрашивать слоты, так что биты запроса в проходящих слотах могут быть уже установлены. Для каждого предварительно зарезервированного слота, который проходит через узел, счетчик запроса увеличивается на 1 (инкрементная операция). Таким образом, узел пытается оценить, сколько узлов перед ним находят- ся в очереди за свободным слотом.
Гпава 5. С точки зрения звена 267 Заголовок кадра Слот 1 Слот 2 Слот N Резерв а 1 бит 1 бит 1 бит 2 бита Збита 4 байта 48 байт Занят Тип PSR Резерв Запрос Заголовок сегмента Полезная нагрузка сегмента AFC Сегмент Рис. 5.61. Структура кадра (а) и слота (б) в стандарте DQDB Для передачи по шине В выполняется следующая процедура21: Inc сч.Запрос, если бит Запрос установлен на шине А dec сч.Запрос, если бит Занят сброшен на шине В Когда узел успешно изменяет соответствующий бит запроса (то есть передает невостребованный слот), содержание счетчика запроса передается в счетчик обратного счета: сч. Запрос —» сч. Обратный, установить запрос в О dec сч. Обратный, если бит Занят сброшен на^ине В когда сч. Обратный = 0, использовать следующий слот со сброшенным битом Занят на шине В Теперь узел контролирует слоты, передаваемые по шине передачи. Протокол доступа с очередью обеспечивает хороший доступ ко всем узлам, соединенным с сетью, если максимальное расстояние между узлами — меньше чем время, которое он тратит на передачу одного слота размером 53 бита. Однако, если расстояние между активными узлами превышает это рас- стояние, производительность QA-протокола уменьшается и возникают про- блемы, связанные с равнодоступностью узлов. В QA-протоколе вследствие эффектов распространения узлы, более близкие к головной станции, будут способны захватывать свободные слоты, прежде чем они достигнут узлов, расположенных ниже по шине. Это приводит к неравноправию, поскольку узлы, более близкие к головной станции шины, имеют более короткое время ожидания, чем узлы в середине шины. Чтобы противодействовать этому, ис- пользуется специальный механизм, балансирующий ширину полосы пропус- 21 inc — инкрементная операция, т.е. увеличение счетчика на 1; dec — декрементная операция, т.е. уменьшение счетчика на 1. — Пер.
268 Передача данных в сетях: инженерный подход кяния, который, по существу, разделяет доступную ширину полосы и защи- щает индивидуальные асинхронные источники от превышения своих долей распределения. Балансировка ширины полосы, хотя и гарантирует большее равноправие асинхронным пользователям, может привести к уменьшению пропускной способности. 5.11. Вопросы к главе 5.11.1. Вопросы по линейным кодам 1. Какова вероятность того, что в системе, использующей код Хемминга (7, 4), будет правильно принято 4-битовое сообщение, если вероятность однобитовой ошибки равна 2%? 2. Какая вероятность больше — свыше одной ошибки при передаче 16 битов через двоичный симметричный (BSC-) канал с вероятностью перехода 0,1 или свыше двух ошибок при передаче 8 битов через канал с вероятностью перехода 0,2? 3, Каково минимально возможное число разрядов проверки на четность, теоретически требуемых для 16-разрядного кода с исправлением двух ошибок? 4. Придайте следующей матрице стандартную ступенчатую форму: "0 0 0 1 0 1 Г 0 0 10 1 10 0 10 110 0 J 0 1 1 0 0 0, 5. Сформируйте порождающую матрицу кода Хемминга (15, 11) и ее матрицу проверок на четность. 6. Кодовое слово 0110010 было принято в системе, использующей код Хемминга со следующей порождающей матрицей: Г1 0 0 0 1 1 0" 0 10 0 10 1 0 0 1 0 0 1 1 J) 0 0 1 1 1 1, Какое было передано сообщение?
Гпава 5. С точки зрения звена 269 7. Двоичная схема кодирования сообщений построена из двух информационных символов bt и Ь2 и трех символов четности (рь р2 и рз). Порождающая матрица следующая: р 0 1 1 Г |о 1 1 0 1, а) сколько существует кодовых слов? Каковы эти кодовые слова? б) каково минимальное кодовое расстояние? в) каковы теоретические возможности коррекции ошибок этого кода? г) определите матрицу проверок на четность Я; д) каков синдром для следующих образцов с ошибками: (01000), (00101), (10010) и (11111)? е) сгенерировано следующее кодовое слово: (11010), которое искажено следующим образом: (10010). Если код используется для коррекции ошибок, то каково будет декодированное кодовое слово? Объясните ваш выбор. 8. Двоичный код строится добавлением к трем информационным символам (М, Ь2 и ЬЗ) трех символов проверки на^ четность. Для следующих кодовых символов: ci = Z>i c2 = b2 Сз = Ь2 с^ = Ь2 + Ьз с5 = Ь\+ Ьз c6 = bi + Ь2 необходимо определить: а) б) в) кодовые слова; порождающую матрицу G и матрицу проверок четности Я; минимальное расстояние Хемминга этого кода. Его возможности по обнаружению и исправлению ошибок. 9. Двоичный линейный блочный код построен из кода с одним разрядом проверки на четность (Single Parity Check, SPC), в котором для каждых
270 Передача данных в сетях: инженерный подход трех информационных символов добавляется один символ проверки на четность, так что в каждом кодовом слове имеется четное число единиц. а) определите G- и //-матрицы этого кода; б) каково его минимальное расстояние? 10. Двоичный линейный код имеет следующую матрицу проверок на четность: н= "1110 10 0" 0 0 11110 1 0 0 0 11 1, а) каковы параметры пик для этого кода? Сколько кодовых слов имеет этот код? б) представляя //-матрицу в виде [/*т/], где /— единичная матрица, оп- ределите систематическую порождающую матрицу (т. е. матрицу в форме [ZP], чтобы первые к разрядов кодового слова были те же, что и у сообщения); в) перечислите все кодовые слова; г) каково минимальное расстояние этого кода? Сколько ошибок он может исправлять? д) после передачи двух кодовых слов через двоичный симметричный (BSC-) канал, использующий систематическую форму кода, прини- маются кодовые слова (1000001) и (1001100). Вычислите синдром для каждого из полученных кодовых слов. В обоих случаях опреде- лите наиболее вероятное переданное кодовое слово и наиболее веро- ятное сообщение; е) предположим в этом примере, что BSC-канал имеет вероятность перехода менее 0,5. Что это говорит об относительных вероятно- стях ошибочных и безошибочных разрядов? Если бы было из- вестно, что вероятность перехода больше 0,5, нашелся ли бы про- стой способ использования кодов, подобных этим, и если да, то какой? 5.11.2. Вопросы по сверточным кодам 1. Сверточное кодирующее устройство имеет схему, показанную на рис. 5.62.
Гпава 5. С точки зрения звена 27 Нечетные выходные биты (1, 3, 5 и т.д.) Входные биты Четные выходные биты (2, 4, 6 и т.д.) Рис. 5.62. Схема кодера к вопросу 1 а) нарисуйте кодовую решетку для соответствующего кода; б) что ограничивает длину кода? Минимальный ненулевой путь этогс кода генерируется из входа 100... Найдите минимальное расстояние этого кода и опишите его возможности по коррекции ошибок; в) повторяя решетчатую диаграмму каждого входного бита и четко вы- деляя каждое изменение в состоянии, закодируйте последователь- ность 10110100; г) рисуя решетчатую диаграмму и показывая веса путей на каждом ша- ге, используйте алгоритм Витерби для декодирования последова- тельности 00 11 11 11 10 10 00 00 по методу максимального правдо- подобия и, следовательно, получите наиболее вероятную переданную последовательность. 2. Сверточное кодирующее устройство имеет схему, показанную на рис. 5.63: ». Входные биты Нечетные выходные биты (1, 3, 5 ит.д.) Четные выходные биты (2, 4, 6 и т.д.) Рис. 5.63. Схема кодера к вопросу 2 а) нарисуйте кодовую решетку для соответствующего кода;’ б) что ограничивает длину кода? Минимальный ненулевой путь этогс кода генерируется из входа 100... Найдите минимальное расстояние этого кода и опишите его возможности по коррекции ошибок; в) повторяя решетчатую диаграмму каждого входного бита и четко вы- деляя каждое изменение в состоянии, закодируйте последователь- ность 10110100; г) рисуя решетчатую диаграмму и показывая веса путей на каждом ша- ге, используйте алгоритм Витерби для декодирования последова- тельности 00 01 10 01 11 по методу максимального правдоподобия и следовательно, получите наиболее вероятную переданную последо- вательность.
Передача данных в сетях: инженерный подход 272 5.11.3. Вопросы по локальным и региональным сетям 1. Для передачи данных между двумя компьютерами, располагающимися на расстоянии 15 м друг от друга, используется LAN-сеть, построенная по стандарту IEEE 802.3 CSMA/CD 10Base2: а) если LLC использует простую службу без соединений, сколько по- требуется времени, чтобы передать файл объемом 1 Мбайт между этими устройствами при условии, что никакие другие устройства в сети не используются? Предполагается межкадровый промежуток 9,6 мкс и максимальный размер кадра; б) сколько времени будет длиться передача файла, если LLC использу- ет дейтаграммную службу с подтверждениями? в) если теперь другие устройства используют сеть, так что каждый кадр подвергается воздействию в среднем 4-х столкновений, оцените время, необходимое для передачи файла объемом 1 Мбайт с исполь- зованием LLC-службы без подтверждений. 2. Оцените время, необходимое для передачи 1 Мбайт данных по высоко- скоростной и гигабитной полнодуплексным Ethemet-сетям (для кадров с размерами полей полезной нагрузки 248 и 1500 октетов). 3. Определите эффективность процесса передачи, связанного с полудуп- лексной гигабитной Ethernet-сетью, при передаче кадров минимального размера с пакетированием кадров и без него. 4. Для CSMA/CD сетей типа lOOBase и lOOOBase оцените, сколько потребу- ется времени для передачи 1 Мбайт данных через полудуплексную кон- фигурацию без состязаний, когда полезная нагрузка кадра составляет 248 и 1500 октетов. 5. Региональная сеть, построенная по FDDI-стандарту, состоит из 50 узлов, отстоящих друг от друга на расстояние 4 км и соединенных кольцом, ра- ботающим со скоростью 100 Мбит/с. Каждый узел генерирует трафик данных со средней скоростью 100 Кбит/с, при этом половина узлов гене- рирует речевой трафик со скоростью 256 Кбит/с, а другая половина — видеотрафик со скоростью 2,5 Мбит/с, который имеет ограничение по за- держке в реальном масштабе времени, так что последовательные кадры не должны тратить более 12 мс на прохождение сети: а) если для циркуляции по сети МАС-маркер затрачивает 600 мкс, то оцените фактический и максимально возможный коэффициент ис- пользования сети в этих условиях; б) какие существуют возможности для улучшения максимальной эффек- тивности и как это будет сказываться на общей производительности?
Глава 6 С точки зрения канала передачи 6.1. Введение В этой главе рассматривается самый низкий уровень коммуникационной сис- темы — физический. Все верхние уровни действовали так, чтобы изолиро- вать систему от деталей работы более низких уровней, на физическом же уровне видно, что такая система фактически способна делать. Здесь следует учитывать два основных элемента — собственно физическую среду передачи и ее возможности, а также и кодирование и модуляцию сигналов в канале (линии) передачи, т. е., по существу, процессы подгонки "сырых" данных, представленных на физическом уровне, к форме, которая может успешно транспортироваться по каналу. 6.2. Пропускная способность канала 6.2.1. Дискретный канал без памяти В главе 2 мы рассматривали информационное содержание источников, гене- рирующих сообщения. Однако, в коммуникационной системе нас больше ин- тересуют каналы. Канал — это "трубопровод" для сообщений, объект, кото- рый транспортирует сообщения из одной точки системы в другую. Каналы могут быть бесшумными или шумящими. В бесшумном канале выходной сигнал эквивалентен входному и, хотя возможно преобразование входного сигнала, но имеется взаимно-однозначное отображение выходного сигнала обратно во входной. В шумящем канале к информационному сигналу добав- ляется некоторый шумовой сигнал, так что заданный выходной сигнал обра- зуется из нескольких (по крайней мере двух) входных сигналов — информа- ционного и шумового. В этом случае на входе канала мы имеем сигнал X, а на его выходе — сигнал Y (рис. 6.1), где X и Y— случайные величины. Обычно канал присоединяется к источнику с известными характеристиками, так что распределение вероятностей входного сигнала X известно. Нас инте-
274 Передача данных в сетях: инженерный подход ресует такая передача информации, когда наблюдатель находится на прием- ном конце канала, поэтому вопрос ставится так: "Что мы можем узнать об X, наблюдая У?". Рис. 6.1. Канал передачи с шумом Дискретный канал без памяти эквивалентен дискретному источнику без па- мяти. Такой канал передает (генерирует) символы сообщения с вероятно- стью, которая не изменяется во времени и не зависит от предварительно пе- реданных (сгенерированных) символов. Предположим, что источник Xможет генерировать символы алфавита А={х\, х2, ..., х,}, а на выходе канала прини- маются символы алфавита В= {у ьу2, у*}. Определим набор (множество) вероятностей переходов как {р(ук | х7) = Р(¥=ук | Х=х7)} для всех j и к. Из этих вероятностей можно сформировать массив значений, который называют матрицей канала (channel matrix). Эта матрица (вместе с алфавитами А и В) полностью определяет канал. Р(У11ч) р(у21ч) - Р(Ух1ч) >Oil^2) ^Ozl^z) - Р(Ук\х2} р{у\ I Xj ) р(у2 I Xj ) ... р(ук I Xj ) Каждая строка этого массива соответствует фиксированному входному сиг- налу канала. Сумма элементов каждой строки должна быть равна 1. Каждый столбец соответствует фиксированному выходному сигналу канала. Обычно входной и выходной алфавиты совпадают. Чаще всего используется так называемый "двоичный симметричный канал" с двоичными входным и выходным алфавитами и матрицей переходов, показанной на рис. 6.2. Двоич- ный симметричный канал вводит ошибки с вероятностью р. 1-р 1-р р _ Р 1~Р. Рис. 6.2. Двоичный симметричный канал
Гпава 6. С точки зрения канала передачи 275 6.2.2. Пропускная способность дискретного канала без памяти Напомним понятие взаимной информации. В главе 2 мы определили инфор- мацию о случайном событии X, передаваемую другим случайным событием Y, как I(X, Y) = Н(Х) — Н(Х| Y), т. е. неопределенность (энтропия) события X становится меньше после того, как становится известно событие Y. В каналь- ном контексте это звучит так: если Y — принятый, аХ— переданный символ, то взаимная информация — это та информация, которую принятый символ Y передает о символе X, так что при приеме символа Y неопределенность сим- вола X уменьшается. Итак, взаимная информация — это та информация, ко- торая передается по каналу. Рассмотрим вероятность перехода р = 0. Принятый символ равен переданно- му символу, так что Н(Х\ У) = 0 (то есть нет никакой неопределенности отно- сительно значения X после того, как принят Y). Поэтому, взаимная информа- ция равна Н(Х), т. е. энтропии источника. Если р = 0,5, то полученный бит будет с равной вероятностью либо переданным битом, либо его инверсией, так что никакой неопределенности относительно значения переданного сим- вола снято не будет, т. е. Я(Х| Y) = Н(Х), так что взаимная информация будет равна нулю (I(X, Y) - 0). Выражаясь более формально, энтропия случайной величины X при заданном конкретном значении (у*) другой случайной величины Y, определяется как: Я(Х | У = у, ) = -£ Р(Х = х, | У = х, )log2 (Р(Х = х, | У = ук )). J Вычисление энтропии X по всем значениям Y дает следующее выражение: Н(Х I У) = £(Я(* IУ = ук У)р (ук ) = -££> (X, ,ук )log2(р (х7. I ук )). к к j Обратите внимание, что Я(Х) = р (Xj) log2 р (xj). Но, поскольку Р (.Xj ) = YjkP(XJ ’У к ) > то Р (Xj,yk )log2 р (Xj ), то Z(X;У) = Н(Х) - Н{X | У) = £Р(х7 ,ук ) log2(р (Xj )р (Xj | ук )). j к
27&Передача данных в сетях: инженерный подход Заметим также, что информация, передаваемая по каналу, зависит от энтро- пии информационного источника, а также от вероятностей переходов. Дру- гими словами, она зависит не только от самого канала, но и от способа, кото- рым он используется. Это не очень удобно для изучения каналов, поэтому мы определяем максимальное количество информации, которое может переда- ваться по каналу (его называют пропускной способностью (capacity) канала), как максимальное среднее количество взаимной информации между источ- ником и приемником на любом этапе использования канала. Максимизация выполняется по всем возможным исходным распределениям вероятностей {p(Xj)} входного сигнала^. Она обычно измеряется в битах на символ. Рассмотрим двоичный симметричный канал, для которого rOo | *1) =Г(У1 I *о) =р;р(уо I Хо) =гО1 IХ1) = 1 -р. Пропускная способность такого канала вычисляется так: С = max ЦХ; Y) = 1 + /Hog2j> + (1 -р)log2( 1 -р). Заметим, что/?log2/; + (!-/?) log2 (1 - р) — это энтропия двоичного источника с вероятностями р и 1 —р. Максимальная энтропия двоичного источника рав- на 1 биту на символ, так что пропускная способность двоичного симметрич- ного канала равна 1 (энтропия источника) - Н(р) (энтропия двоичного источ- ника с вероятностью р : 1 -р). Если канал свободен от шумов, то р = 0 и пропускная способность канала равна 1 биту на символ, а если р = j-, то про- пускная способность канала равна 0. 6.2.3. Теорема кодирования канала Как показано ранее, даже если канал вводит ошибки, то, как правило, через него можно передать некоторую информацию. Количество передаваемой ин- формации определяется пропускной способностью канала. Шеннон дока- зал — если дискретный источник без памяти с энтропией Н(А), генерирую- щий символы каждые Ts секунд, передает сигналы по дискретному каналу без памяти с пропускной способностью С, используемому каждые Тс секунд, то возможно создать схему кодирования с произвольно малой вероятностью ошибки, если (H(A)/TS) < (С!Тс). Далее, если {Н(А)1Т^ > (С1Тс), то информация не может передаваться с произвольно малой вероятностью ошибки. Для дво- ичного симметричного (или BSC-)’ канала (1/Д) < (С/Т^. Скорость передачи при такой кодовой схеме г = TJTS. Иначе говоря, если г < С, то можно по- строить работающий код. С зависит от вероятности переходар. 1 BSC — Binary Symmetric Channel. — Пер.
Гпава 6. С точки зрения канала передачи 277 6.2.4. Аналоговые каналы — теорема о пропускной способности канала Предыдущее обсуждение имело дело с дискретными источниками и канала- ми. Во многих случаях мы можем использовать эти дискретные каналы (на- пример, в цифровой системе передачи), но реальный мир, как правило— аналоговый, а для аналоговой передачи нужен иной подход. Если мы расши- рим принцип энтропии на аналоговые сигналы, описывая сигнал в терминах бесконечно малых дискретных временных интервалов, то получим бесконеч- ную энтропию, поскольку мы совершенно не уверены, в каком интервале следует размещать значение аналогового сигнала. Можно использовать диф- ференциальную энтропию, но обосновать такой подход достаточно сложно. Наилучшим решением будет возврат к первоначальному методу Шеннона. Вспомним определение информации по Хартли: /= log2 s, где s — число воз- можных сообщений. Используя аналоговый сигнал с шириной спектра В, мы .можем получить скорость передачи 2В символов в секунду и пропускную способность канала С = 2В log2s битов (Закон Хартли). Заметим, что, во- первых, мы можем увеличивать пропускную способность, увеличивая число уровней сигнала, но, во-вторых, закон Хартли ничего не говорит нам о мак- симально возможном числе таких уровней и, таким образом, не может дать нам абсолютное значение пропускной способности канала. Для этого мы ^должны рассмотреть ошибки канала, уровень мощности и шум. Ответы на все эти вопросы дает теорема Шеннона, к выводу которой мы и ?переходим. Рассмотрим геометрическое место точек (годограф) на опреде- ленном расстоянии от некоторой точки пространства. Расстояние есть корень Суммы квадратов каждого измерения (х и у для 2-мерного пространства, х, у и лг— для 3-мерного). Этот годограф формирует окружность в двухмерном ^Пространстве, сферу — в трехмерном или гиперсферу в пространствах раз- мерностей более 3-х. Если мы рассмотрим и-мерное пространство с и»1,то 'получается очень интересная ситуация — большая часть "объема" этих ги- ;персфер сосредоточена около их границ. Для двухмерной сферы только 2% площади круга лежит вблизи внешней его границы (примерно на 1% расстоя- ния от центра), тогда как для стомерной гиперсферы уже 99,996% объема на- ходится на таком же расстоянии от ее центра. Пусть источник ведет передачу . по каналу с шириной полосы В каждые Т секунд. Если передаются символы Xj, х2 и т. д., то полная энергия пропорциональна Е = х] + хгг +...+х\. Это уравне- ние есть сумма квадратов расстояний от центральной точки гиперсферы. Ес- ли средняя энергия символа равна S', то полная энергия сообщения составит 2BTS джоулей. Когда «-><», эти точки стремятся к поверхности гиперсферы радиуса -J2BTS . Каждый символ может быть искажен шумом, так что мож-
278 Передача данных в сетях: инженерный подход но представить точки "сигнал + шум" как гиперсферы радиуса 41BTN с центром в каждой точке сообщения, где N— мощность шума. Вследствие охватывающего характера всех поверхностей системы, мы имеем объединен- ную гиперсферу радиуса ^2BT(S + W) . Если канал находится в пределах своей пропускной способности, эти гиперсферы не могут перекрываться, так что пропускная способность будет равна числу малых гиперсфер, которые вписываются в большую гиперсферу. Объем и-мерной гиперсферы равен а/, где a — некоторая константа (а = л — для 2-мерной сферы, а = -у л — для 3- мерной сферы и т. д.). Мы имеем 2ВГ-мерное пространство, поэтому объем большой гиперсферы равен a^2BT(S + TV) , а малой гиперсферы — I------гвт a-y2BTN . Максимальное число различимых сообщений, которые могут быть посланы по такому каналу, равно (г^)ВТ. Поэтому пропускная спо- собность канала равна вт\ log2 S + TV N где Т — длительность каждого сигнального символа и, хотя S и N соответст- вуют энергиям, обе эти величины соотносятся с некоторым временным ин- тервалом, и поэтому их отношение — это отношение мощностей. Приведенное рассуждение позволяет нам сформулировать теорему Шеннона о пропускной способности канала в следующем виде C = Blog2 1 + — бит/с. 6.3. Передающая среда Передающая среда — этот тот материал, из которого физически формируется канал (звено) передачи данных между передатчиком и приемником. 6.3.1. Проводная среда Самая простая форма материала среды передачи— медный провод. Такие провода почти всегда имеют изолирующее покрытие. Внутри оборудования и для связей на коротких расстояниях (меньше 1 метра) используются простые провода— без экранирования. Если нужно передавать большое количество сигналов, то используется многожильный провод, где много независимых изолированных проводов имеют общую защитную оболочку. Многожильный провод, изготовленный из индивидуальных проводников, расположенных
Гпава 6. С точки зрения канала передачи 279 рядом друг с другом, образует плоский ленточный кабель. Ленточные кабели могут использоваться со специальными врезными разъемами (Insulation Displacement Connectors, IDC), которые вжимаются в ленту для соединения с каждым из проводов, что устраняет потребность индивидуальной припайки разъемов к каждому проводу. Провода могут состоять из одиночного многожильного проводника, сформированного из многих одножильных, или из нескольких многожильных проводников, сформированных из множества меньших многожильных проводников, скрученных вместе. Проводники такого провода более прочны и лучше противостоят перегибам (при переме- щениях связанных с ними устройств), тогда как одиночный проводник не- много дешевле многожильного, но имеет меньшее сопротивление изгибам (для заданного размера провода). Одиночные многожильные провода можно использовать только в том случае, если их не будут сильно перегибать. Существует ряд проблем, связанных со следующими свойствами простых металлических проводников— сопротивлением, индуктивностью и емко- стью. Различают два вида сопротивлений — сопротивление между провод- никами или по отношению к земле, которое, в идеале, должно быть очень высоким, и сопротивление внутри проводника, которое должно быть на- столько низким, насколько возможно. Современные изоляционные материа- лы почти устранили проблему изоляции проводников друг от друга, и боль- шинство проводников хорошо изолированы по всей длине. Исключения составляют лишь линии электропередач. Внешни®, неизолированные кабели электропередач страдают от проблем, связанных с атмосферными осадка- ми — поскольку влага способна замкнуть провод через изолятор на подвеску и вызвать существенную утечку энергии при влажной погоде. Старые теле- фонные кабели не были изолированы и устанавливались на столбы с исполь- зованием керамических изоляторов, имевших форму, похожую на колоколь- чик, так что нижняя их сторона оставалась сухой, что минимизировало опасность увлажнения. Изоляторы линий электропередач имеют форму "гар- мошки", что позволяет максимизировать их поверхность, увеличивая, тем самым, поверхностное сопротивление слоя влажности. Кабели передачи дан- ных теперь всегда изолируются, но проникновение влаги все еще остается проблемой для соединительных блоков, где влажность может вызвать утечку между присоединяющими клеммами. Продольное сопротивление проводника есть функция сопротивления исполь- зуемого материала и площади его поперечного сечения. Обычно провода изготавливаются из меди, которая обеспечивает хорошее соотношение низкого сопротивления и низкой цены. Сопротивление можно понизить, если исполь- зовать провода с большей площадью поперечного сечения, но это увеличивает стоимость материала, из которого изготавливаются провода. При подвешива- нии на опоры более тяжелые провода требуют большего количества опор, что очень дорого. Если провода укладываются в магистральный каналопровод, то
280 Передача данных в сетях: инженерный подход чем больше сечение проводов, тем меньшее их количество можно вставить в такую магистраль. Чтобы не уменьшать число проводов в магистральном кана- ле, часто предпочитают устанавливать на его проводах специальные повтори- тели, регенерирующие сигналы (их распределяют равномерно по длине маги- страли). Повторители, однако, привносят свои собственные проблемы (необходимость источников питания и технического обслуживания). Вторая проблема для металлических проводов связана с их емкостью. Когда провода укладываются рядом, то между ними появляется емкостная связь, которая действует так, как будто между проводами установлен конденсатор. Эту проблему можно минимизировать путем скручивания проводов, что позволяет укладывать их достаточно близко друг к другу и одновременно уменьшает их емкостные связи. И, наконец, последней проблемой для металлических проводов является их индуктивность. Если несколько проводов проходят рядом друг с другом, пе- ременное напряжение в каждом из них индуцирует ток в соседних проводни- ках. Простое решение, которое обычно используется в ленточных кабелях передачи данных, состоит в заземлении соседних проводов. На ленточном кабеле это соответствует заземлению каждого второго разъема. Однако при этом все еще могут индуцироваться переходные процессы, а число проводов уменьшается наполовину. Наилучшим решением этой проблемы является такое спаривание проводов, которое позволяло бы образовывать токовые петли, т. е. чтобы для любого тока, текущего от передатчика к приемнику, существовал соответствующий ток, текущий в противоположном направле- нии — от приемника к передатчику. Переходные процессы в каждом проводе такой пары будут гаситься соответствующими переходными процессами в проводе другого направления. Это не будет нейтрализовать напряжения, на- веденные другими проводами, но их влияние может быть минимизировано путем скручивания двух спаренных проводников. Ориентация таких прово- дов по отношению к электрическому полю наведенного напряжения будет изменяться, и эти напряжения будут взаимно уничтожать друг друга. Для высокоскоростной передачи данных на относительно короткие расстоя- ния (десятки метров) обычно используются витые (или скрученные) пары проводов. Такие пары используются, например, в сетях Ethernet, использую- щих UTP-кабель2 для скоростей порядка 100 Мбит/с. Когда расстояния уве- личиваются, доступная скорость передачи уменьшается. Стандартизовано 5 различных категорий UTP-кабелей: □ категория 1 — для передачи речи или низкоскоростных данных (до 56 Кбит/с); 2 UTP — сокр. от Unshielded Twisted Pair, неэкранированная витая пара. — Пер.
Гпава 6. С точки зрения канала передачи 281 □ категория 2 — для скоростей передачи до 1 Мбит/с; □ категория 3 — для скоростей передачи до 16 Мбит/с; □ категория 4 — для скоростей передачи до 20 Мбит/с; □ категория 5 — для скоростей передачи до 100 Мбит/с. Эти характеристики можно улучшить, создав экранирующую оболочку под внешним покрытием вокруг изолированных проводов и присоединив ее к земле, что позволяет увеличить расстояние до нескольких километров. Ис- пользуя сложные способы линейного кодирования и различные способы мо- дуляции, можно еще поднять скорости передачи для этих расстояний, а пред- ложения стандартов SDL (Symplified Data Link) для упрощенных линий передачи данных позволяет обеспечить дальнейшее расширение полосы про- пускания витых пар в обычной телефонной сети. Можно еще повысить скорость передачи данных металлических провод- ников, если использовать коаксиальный кабель. Он состоит из провода, окруженного изолятором, и высококачественного твердого или плетеного экрана, соединенного с землей, и позволяет поддерживать более высокие скорости передачи данных на более длинных расстояниях. Так, в Ethernet- сетях класса 10base2 используется 50-омный кабель, который работает в основной полосе частот и поддерживает скорости передачи до 10 Мбит/с на расстояниях до километра. Из-за некоторых трудностей с присоедине- нием к коаксиальному кабелю и с совершенствованием способов предва- ' рительной обработки сигналов (например, с помощью линейного кодиро- рания) этот тип кабелей используется теперь довольно редко, поскольку ту же работу по передаче данных может делать и обычная, не витая пара проводов. Но на более высоких скоростях передачи наилучшим выбором все еще остается 75-омный широкополосный коаксиальный кабель, кото- рый применяется, например, в кабельном телевидении и имеет пропуск- ную способность почти 1 Гбит/с при расстояниях между повторителями до 4 км. Коаксиальный кабель часто используется в коммуникациях регио- нальных компьютерных сетей. Возможна работа даже на более высоких частотах (около 2 ГГц), если полно- стью удалить центральный провод и оставить в качестве волновода только внешний экран. Такой прием часто используется для подключения передат- чиков и приемников к антеннам. 6.3.2. Оптическое волокно Если увеличивать частоту передаваемого сигнала, то в конце концов можно достичь оптической части спектра. Световой сигнал можно посылать по.on-
282 Передача данных в сетях: инженерный подход тическому волокну— многожильному проводу из светопроводящего мате- риала (стекла или некоторых видов пластика) обычно покрытого непрозрач- ной оболочкой, предотвращающий проникновение в оптоволокно любого постороннего света. Хотя на коротких расстояниях дешевле использовать оптоволокно, содержащее единственный световод, для этих целей чаще ис- пользуется сдвоенный оптический световод, состоящий из центрального оп- товолокна, окруженного оболочкой из оптического материала с другим ко- эффициентом преломления. Использование световых сигналов позволяет устранить многие проблемы металлических проводников. В оптоволокне нет перекрестных наводок и на- водок между оптоволокном и внешними источниками питания. Незаконный отвод от оптоволокна затруднен. От электрического провода отвод можно выполнить напрямую или с помощью индуктивной катушки. Так же можно поступать и с некоторыми типами оптических волокон, но факт такого под- ключения намного заметнее, чем в электрических проводах. Отсутствие электрических сигналов делает более безопасным использование оптоволоконных линий в тех помещениях, где большую опасность представ- ляет электрическая искра (при появлении которой, скажем, от механического повреждения линии может возникнуть пожар или взрыв). При этом следует заметить, что, хотя сами аппараты, соединенные оптоволокном, электрически не связаны по входам и выходам, но чтобы обеспечить передачу определен- ной световой мощности от одного аппарата к другому, их все же нужно под- ключать к электросети и, следовательно, нужно изолировать от помещений, в которых проложен оптоволоконный кабель. В большинстве случаев, однако, электрическая изоляция между передатчиком и приемником дает определен- ные преимущества— оптоволоконные кабели меньше и легче чем коакси- альные, что упрощает их прокладку. В оптоволоконной линии нет проблем, связанных с резистивными, индуктив- ными или емкостными свойствами электрических проводников, так что опто- волоконные соединения могут быть более длинными (40—50 км между по- вторителями) и могут передавать более высокие частоты. Их недостатком является некоторое ослабление светового сигнала в материале, из которого изготавливается оптоволокно. Кроме того, возникает другая проблема — ог- раничение самых высоких передаваемых частот вследствие рассеивания све- тового сигнала. Скорость, с которой свет распространяется через оптическую среду, связана с показателем преломления материала т]. Оптические волокна работают таким образом, что когда свет встречается с границей разделения двух материалов с различными коэффициентами преломления (скажем, т]а и т)/,), его скорость и
Глава 6. С точки зрения канала передачи 283 направление изменяются, причем то же самое происходит и с углом падения и преломления 0. По закону преломления Снелла (Snell) Va _ : : sinefl vb n0 sine/ так что, если > T]z>, то 0* > 0а и существует точка, где 0* - 90°. Соответст- вующий угол 0а называют критическим. Если угол падения больше критиче- ского, то световой луч не пересекает границу между материалами а и Ь, а от- ражается от нее. Такое оптическое волокно построено в виде центрального сердечника, окруженного оптической оболочкой с более низким показателем преломления (рис. 6.3, а). Защитная оболочка Сердечник Рис. 6.3. Оптоволоконный кабель: а — строение, б — со ступенчатым показателем преломления; в — с многоуровневым показателем преломления; г — одномодовое оптоволокно
284 Передача данных в сетях: инженерный подход Оптоволокна различных типов имеют разные показатели преломления и светопроводящие свойства. Свет источника входит в волокно под разными углами, так что, когда один луч перемещается прямо по центру волокна, остальные отражаются от границ сердечника, формируя пучки отраженных лучей, которые принято называть модами (modes). Прежде чем достигнуть адресата, отраженный световой импульс проходит по более длинным путям, чем тот, который направлен вдоль сердечника. Это приводит к тому, что входной световой импульс, проходя по разным лучам пучка, будет двигать- ся вдоль оси кабеля с разными продольными скоростями до тех пор, пока не диспергирует (то есть не расплывется) до такой степени, что выделить его среди других импульсов будет невозможно. Стандартное многомодовое оп- товолокно со ступенчатым показателем преломления и диаметром сердеч- ника около 50—100 мкм, имеет полосу пропускания примерно 20— 200 МГц/км, что ограничивает его применение для больших расстояний. Ослабление сигнала в оптоволоконных кабелях этого типа составляет от 10 до 50 дБ/км (рис. 6.3, б). Ситуацию можно улучшить с помощью оптоволокна с многоуровневым пока- зателем преломления (graded index), значения которого изменяются по диа- метру сердечника, уменьшаясь к его краям (рис. 6.3, в). Это приведет не только к уменьшению отклонений светового пучка от центральной оси кабе- ля, но и к увеличению скорости лучей с более низким показателем преломле- ния, что ограничивает дисперсию выходного импульса. Оптоволоконные ка- бели с многоуровневым показателем преломления могут иметь полосу пропускания от 200 МГц/км до ЗГГц/км и ослабление порядка 7—15 дБ/км. Если диаметр сердечника достаточно мал (порядка нескольких длин волн), то по нему будет распространяться только одиночная волна, и единственной причиной расширения импульса будет несовершенство материала оптово- локна. Но даже если этот материал совершенен, то все же останется ограни- чение из-за несовершенства материала на молекулярном уровне, так что та- кие волокна можно использовать только в диапазоне частот 3—100 ГГц/км. Для наиболее часто используемых длин волн 1,3—1,5 мм, которые имеют малое затухание при проходе через стекло, потери на рассеяние импульса из- за дефектов материала составляют приблизительно 0,15 дБ/км. Эти цифры были получены в лабораторных исследованиях, а в коммерческих кабелях этот показатель возрастает примерно до 1 дБ/км. Одномодовый тип оптоволокна (рис. 6.3, г) — самый дорогой, но именно он наиболее часто используется в линиях связи. Стоимость собственно волокна составляет относительно небольшую часть стоимости установки кабеля, но более высокая пропускная способность и уменьшение потребности в повто- рителях, которые обеспечиваются этим типом волокна, намного перекрывают дополнительные расходы на его приобретение.
Гпава 6. С точки зрения канала передачи 285 Источником света для оптоволокна обычно является или светоизлучающий диод (Light Emitting Diode, LED), или инжекционный лазерный диод. Свето- диоды дешевле и служат дольше, чем инжекционные диоды, но они не гене- рируют света с достаточно узким спектром. Типичный светодиод, генери- рующий свет с длиной волны около 800 нм, испускает световой поток с длинами волн, колеблющимися в диапазоне 800±50 нм. Разные длины волны распространяются с разными скоростями, что ведет к диспергированию ("расползанию") светового импульса, похожему на расползание импульса в многомодовом оптоволокне с вариациями длин волн порядка 50 нм. Такое расползание составляет примерно 5 нм на километр, что ограничивает ско- рость передачи приблизительно до 50—100 МГц/км. Это означает, что, не- смотря на увеличенную стоимость и более сложное управление, для линий связи с большой полосой пропускания следует использовать не LED, а ин- жекционные лазерные диоды. Так же, как и в других средах, в оптоволокне можно использовать мульти- плексирование с частотным разделением каналов (TDM), только в этом случае его называют мультиплексированием с разделением длин волн (Wavelength Division Multiplexing, WDM). Инжекционные лазерные диоды используются потому, что они могут генерировать достаточно узкий свето- вой спектр, причем на одном волокне можно использовать десятки волн раз- ной длины, каждая из которых способна вести передачу примерно со скоро- стью одномодового волокна. WDM можно применять и после установки оптоволокна, что позволяет ретроспективно расширять пропускную способ- ность сети. 6.3.3. Радиоэфир Классической средой коллективного пользования является радиоэфир. От- сутствие проводов и способность преодолевать большие расстояния делают его естественной средой передачи для подвижных терминалов. Проблема только в том, что имеется только один диапазон радиочастот, который дол- жен быть разделен между всеми пользователями. Поскольку радиослужб создается все больше, нагрузка на радиочастотный спектр постоянно увели- чивается, а его верхние частоты используются все интенсивнее. К сожалению, верхние частоты радиоспектра не очень хорошо распространя- ются, да и сам этот поддиапазон не очень широк. Радиовещание Радиовещание— очень эффективное средство массового распространения информации. Очевидными примерами таких систем являются радио и теле- видение, где сам факт использования радиосигнала означает, что терминалы
286 Передача данных в сетях: инженерный подход не нуждаются в точке подключения к информационному "питанию", а радио- службы не требуют разворачивания слишком сложной и дорогой инфра- структуры. Именно отсутствие инфраструктуры, а не какие-то потенциальные выгоды от беспроволочного подключения, является главной причиной того, что эти службы в первую очередь использовали именно радиоканалы (рис. 6.4). Ю5 Ю6 107 ю8 ю® ю10 Частота (Гц) Рис. 6.4. Радиочастотные диапазоны Однако отсутствие доступного диапазона радиочастот для других служб, на- пример, для систем сотовой радиосвязи, которым радиолинии требуются для организации мобильной телефонной сети, увеличивает стоимость диапазона радиочастот, используемого широковещательными компаниями. В частности, отсюда следует, что новый спектр для радиовещательных услуг очень трудно получить. Это подталкивает в направлении использования цифровых, а не аналоговых служб, благодаря чему в заданном участке спектра можно раз- местить намного больше служб и, кроме того, можно обеспечить ряд допол- нительных услуг. Широковещательные службы могут переносить также и узкополосный тра- фик, но двухточечные проводные линии в этом случае намного эффективнее используют частотный спектр.
Гпава 6. С точки зрения канала передачи 287 В некоторых приложениях, таких как телевидение, нет смысла использовать широковещательные радиоканалы, поскольку неподвижное аппаратное со- единение через коаксиальный или оптический кабель обеспечивает намного большую ширину полосы для каждого пользователя. К сожалению, затраты на инфраструктуру при таком подходе достаточно высоки, так что он не эко- номичен для изолированных установок. Альтернативу в этих случаях могут обеспечить спутниковые системы, освобождающие широковещательный диапазон радиочастот. Двухточечная радиосвязь между терминалами Главным преимуществом двухточечной радиолинии является то, информа- цию можно пересылать от точки к точке, не имея между ними никакой ин- фраструктуры. Такую инфраструктуру довольно трудно создать, если, на- пример, между этими точками расположен гористый ландшафт, но даже при относительно ровной местности радиолиния имеет то преимущество, что она не требует получения права прокладки кабеля по чужой территории, наложе- ния на другие кабельные сети и т. д. □ Микроволновые линии связи. Хотя для радиолюбительских и некото- рых других низкоскоростных передач используется нижняя часть радио- диапазона, большинство двухточечных радиолиний строится на базе вы- сокочастотных (микроволновых) линии связи. Обычно в них используют- ся частоты 4, 6 и 11 ГГц, что позволяет фокусировать радиолуч в антеннах (рупорных или параболических) с направленной мощностью. Высокочас- тотный диапазон позволяет реализовать высокие скорости передачи — порядка 100 Мбит/с, но требует, чтобы радиотракт находился в зоне види- мости между передатчиком и приемником, так что антенны обычно уста- навливаются на высоких опорах с ретрансляторами через каждые 40—50 км. Заметим, что для частот порядка 10 ГГц, сигнал может быть ослаблен дождем и снегом. □ Беспроволочные локальные каналы. Отсутствие кабельной инфра- структуры довольно важно и для связи на коротких расстояниях. Напри- мер, когда нужно обеспечить связь между домами или офисами, располо- женными в разных районах города, предприятие связи должно будет пойти на значительные затраты по подземной прокладке кабеля через улицы. Альтернативой является использование воздушной радиолинии, проходящей над строениями, которую называют беспроволочным локаль- ным каналом (Wireless Local Loop, WLL). Такой канал обеспечивает очень дешевые средства выхода на рынок коммуникационных услуг и весьма популярен в странах со слаборазвитой инфраструктурой связи. Подобная технология используется в некоторых схемах беспроводной телефонии, и
288 Передача данных в сетях: инженерный подход есть предложения использовать WLL-каналы для высокоскоростного Internet-доступа к отдельным городским строениям. О Замена коротких проводов. Отсутствие инфраструктуры связи в форме ка- бельных соединений между передатчиком и приемником может оказаться чрезвычайно полезным даже при очень малых расстояниях между ними. Так, с быстрым распространением переносного электронного оборудования (компью- теров, РОА3-устройств, мобильных телефонов, электронных фото- и видео- камер и т. д.) возникли проблемы с обменом информацией между ними. Со- единяющие провода очень громоздки, а миниатюрные разъемы и гнезда при частом использовании быстро изнашиваются. Большие надежды возлагались на инфракрасные беспроволочные соединения, но они действуют только в пре- делах прямой видимости. Чтобы избежать этого ограничения, были предложе- ны различные радиосистемы. Одна из них— с романтическим названием "Го- лубой Зуб" (Bluetooth)4— может пересылать информацию со скоростью до 384 Кбит/с, используя нелицензированный диапазон 2,4 ГГц на расстояние около 10 м. Тот же частотный диапазон применяется и в беспроволочных ло- кальных сетях (WLAN). Для передачи данных со скоростью в нескольких ме- габит в секунду они используют более сложное (и поэтому более дорогое) обо- рудование. WLAN-сети обладают тем преимуществом перед обычными Проводными локальными сетями, что позволяют абонентам перемещаться по офису, оставаясь присоединенными к сети без проводов. Некоторые компании стали использовать WLAN-сети, например, в залах аэропортов. Мобильное радио Мобильные радиосистемы разработаны для обслуживания передвижных (или .мобильных) терминалов. Это означает, что хотя линия связи остается двухто- чечной, используется широковещательный сигнал, который будет интерфе- рировать (смешиваться) с сигналами других пользователей, если не предпри- нять специальных мер для разделения передач. Рис. 6.5. Интерференция, вызванная передачами мобильных радиостанций 3 PDA — Personal Digital Assistant, "карманный" компьютер, предназначенный для выполнения некоторых специальных функций. — Пер. 4 "Голубой Зуб” — технология Bluetooth ( новая универсальная технология беспроводной связи разнотипных микропроцессорных устройств локальной сети в диапазоне 2,4 ГГц, названная так в честь датского короля Гарольда II по прозвищу "Голубой Зуб", всемирно прославивше- гося в X веке собирательством датских земель). — Пер.
Глава 6. С точки зрения канала передачи 289 Есть несколько способов достижения этих целей. Основной способ — разде- лить обслуживаемую область (известную, как "зона охвата") на множество "ячеек" — индивидуальных областей, обслуживаемых одним передатчиком. Передатчики в различных ячейках используют различные радиочастоты так, чтобы они не смешивались друг с другом. На некотором расстоянии друг от друга частоты повторно используются. Чем меньше расстояние, тем больше частот доступно в каждой ячейке, но тем больше интерференция между ни- ми. Группу ячеек, использующих разные частоты, называют кнастером (cluster, рис. 6.6), а число ячеек в каждом повторяющемся образце кластера называют его "размером". Внутри ячейки пользователи разделяются путем выделения им для передачи разных частот (FDMA— Frequency Division Multiple Access, множественный доступ *c разделением частот), разных вре- менных интервалов (TDMA — Time-Division Multiple Access, множественный доступ с временным разделением или уплотнением каналов) или разных мо- дуляционных кодов (CDMA — Code Division Multiple Access, множественный доступ с кодовым разделением каналов). Более подробно различные способы модуляции рассматриваются в разд. 6.5. Рис. 6.6. Кластеры, содержащие 3 (а), 4 (б) и 7(в) ячеек Перемещения терминалов, свойственные системам мобильного радио, созда- ют дополнительные проблемы. При вещании на достаточно большую область терминал будет получать радиосигнал, распространяющийся по путям разной длины (рис. 6.7, а). Это означает, что компоненты передаваемого сигнала бу- дут изменяться по фазе, что приведет как к конструктивной, так и к деструк- тивной интерференции сигналов в точке приема (рис. 6.7, б). Мощность сиг- нала в приемнике будет быстро меняться, причем в широком диапазоне (рис. 6.7, в). Этот процесс известен как "быстрое замирание", или фаст- фединг (fast fading). Быстрое замирание влияет также и на фиксированные радиосистемы (если объекты двигаются около передатчика или приемни- ка), — но в меньшей степени.
290 Передача данных в сетях: инженерный подход а б в Рис. 6.7. Быстрое замирание (фастфединг) в системе связи с мобильными объектами При передвижении мобильного терминала позади какой-нибудь преграды по- лученный сигнал может ослабевать. Этот процесс называют "медленным зами- ранием" (slow fading). Наконец, с увеличением расстояния от передатчика мощность принимаемого сигнала уменьшается из-за потерь при его распро- странении. В системах мобильной радиосвязи должна использоваться сложная модуля- ция, а соответствующие схемы приемника должны уметь справляться с этими проблемами. Мощность передатчика обычно изменяется в соответст- вии с уровнем сигнала, фактически обнаруженного приемником. Этот про- цесс называют "регулировкой мощности". Кроме того, система в целом должна обладать достаточно сложными функциями управления ресурсами, которые гарантировали бы соединение перемещающихся мобильных стан- ций с самой близкой по отношению к ним базовой станцией. Это позволяет минимизировать интерференцию, вызванную сигналами от других пользо- вателей. Спутник Спутники предлагают во многих отношениях предельно возможные широко- вещательные радиоплатформы. Из-за их размещения на высоких орбитах земные преграды почти не влияют на сигнал (исключением являются прием- ники, находящиеся вблизи полюсов Земли, откуда геостационарные спутники видны очень низко над горизонтом). Спутники обычно используют широко- полосные соединения, Поскольку вследствие своей высокой стоимости они должны и ретранслировать достаточно большие объемы данных, чтобы быть экономически выгодными. Спутники относятся к той или иной категории по высоте своих орбит. Спут- ники на геостационарной орбите (35,784 км выше экватора) совершают обо- рот за то же время, что и Земля, и поэтому кажутся постоянно висящими в
Гпава 6. С точки зрения канала передачи 291 одной и той же точке небосвода. Такие спутники используются для фиксиро- ванных двухточечных и широковещательных коммуникаций, когда на спут- ники можно сфокусировать параболические антенны с достаточно высоким усилением. У геостационарных спутников имеется три недостатка, которые могут повлиять на некоторые приложения. Во-первых, из-за большой высоты спутника над земной поверхностью радиоволнам требуется довольно много времени, чтобы достичь поверхности, несмотря на то, что они движутся со скоростью света. Поэтому при прохождении сигналов туда и обратно суще- ствует большая задержка — примерно 300 мс, и это заметно даже при голо- совом телефонном вызове. Кроме того, на таком расстоянии возникает значи- тельное ослабление сигнала, вынуждающее использовать передатчики повышенной мощности, что является проблемой для батарейного силового оборудования спутника. Во-вторых, геостационарная орбита становится все более переполненной разными спутниками, что накладывает существенные ограничения на их размещение на орбите и используемые ими частоты. Большие параболические антенны можно фокусировать довольно точно, и поэтому они могут игнорировать другие спутники даже на угловых расстоя- ниях в доли градуса. Однако меньшие по размерам домашние параболиче- ские антенны, например, ведущие прямой прием широковещательных радио- сигналов, не обладают такой узкой направленностью. Ширина луча зависит от размера параболической антенны и частоты передачи. Типичная антенна для телевизионного вещания с полосой 1 ГТц имеет диаметр 60 см и ширину луча примерно 3°, так что направления на домашние широковещательные спутники должны отличаться, по крайней мере, на такую же величину. Ну, и в-третьих, поскольку орбиты геостационарных спутников проходят над эква- тором, то около полюсов они находятся под очень низким углом к горизонту, что также может привести к некоторым проблемам со связью. По этим причинам все чаще стали использоваться коммуникационные спут- ники с низкими околоземными орбитами. Они обеспечивают намного мень- шие задержки и меньшее ослабление сигналов, и поэтому спутниковые мо- бильные телефоны могут работать без эллиптических антенн с большим коэффициентом усиления. Однако каждый такой спутник охватывает лишь небольшую область земной поверхности, и поэтому на низких орбитах требу- ется размещать гораздо больше спутников связи, чем на высоких. Жизнь спутника обычно ограничена количеством имеющегося на нем топлива, с помощью которого он должен выходить на орбиту и поддерживать на ней соот- ветствующую станцию. Большие проблемы возникают у низкоорбитальных спутников при сходе с орбиты, поскольку она расположена слишком близко к атмосфере, а сами спутники должны заменяться каждые несколько лет.
292 Передача данных в сетях: инженерный подход Передающая станция Рис. 6.8. Системы спутниковой связи Самолетный ретранслятор Системы мобильной радиосвязи с высокой пропускной способностью требу- ют качественных радиоканалов. Одной из трудностей, связанных с использо- ванием наземных базовых станций, является то, что передаваемый сигнал отражается от препятствий и рассеивается. Это уменьшает максимальную скорость передачи. Решения, предлагаемые спутниковыми радиоканалами, довольно дороги и страдают от задержек, связанных с большими расстояния- ми. В качестве компромисса для ретрансляции радиосигналов и покрытия зон мобильных телефонов можно использовать высотные самолеты или аэроста- ты. Некоторые консорциумы выдвинули предварительные предложения по созданию служб передачи данных с использованием пилотируемых или бес- пилотных самолетов, которые работали бы в качестве ретрансляционных станций в течение десятков часов. 6.3.4. Другие виды передающих сред Инфракрасная среда Дешевое беспроволочное решение для коротких звеньев передачи данных может обеспечить инфракрасная передающая среда. Поскольку инфракрас- ный канал должен располагаться в зоне прямой видимости между передатчи- ком и приемником, то интерференция почти отсутствует. Дешевые устройст- ва со светоизлучающими диодами не обладают высокой направленностью и не подходят для наружного использования из-за помех от слишком сильного
Глава 6. С точки зрения канала передачи 293 солнечного освещения. Очень короткие инфракрасные каналы (длиной в не- скольких десятков сантиметров) могут работать на скоростях в несколько мегабит в секунду. Если в качестве передатчиков использовать инфракрасные лазеры и иметь возможность точной настройки оборудования, удается создавать намного бо- лее длинные (до нескольких километров) наружные инфракрасные каналы, работающие со скоростями до 155 Мбит/с. С их помощью можно, например, связать подсети, расположенные в разных зданиях предприятия — без про- кладки кабеля между ними. Индуктивные контуры На очень малых расстояниях (до нескольких сантиметров) для передачи ин- формации можно использовать т. н. индуктивные контуры (inductive loops). В системе индуктивных контуров применяются две катушки — когда в одной из них появляется ток, то он индуцирует ток в другой катушке. Напряжение, индуцированное в приемной катушке, часто используется в качестве силово- го питания приемника, который может работать без батарейного питания (требуется только, чтобы он находился вблизи от передающей катушки). В качестве примера такой среды передачи данных можно привести карточки со встроенными микропроцессорами ("интеллектуальные", или smart-карты), широко использующиеся для оплаты товаров (услуг) или для доступа в за- крытые помещения. Такую карточку нужно приблизить к передатчику, кото- рый выполнит ее опрос (транзакцию), причем данные на карте хранятся в долговременной памяти без какого либо источника питания. Кроме того, что с помощью таких контуров можно отказаться от быстро изнашиваю- щихся соединительных контактов, они могут работать даже тогда, когда приемный и передающий контуры находятся на некотором расстоянии друг от друга. Например, smart-карту, используемую для управления дос- тупом в помещение, можно проверять, даже когда она еще находится в кармане пользователя. Линии электропередач Разработано несколько систем для передачи данных по линиям, передающим электроэнергию в жилые или промышленные здания или к электрически управляемым устройствам типа электропоездов. Главным преимуществом такого способа передачи данных является использование уже существующей инфраструктуры передающей среды. Однако имеется ряд проблем, связанных с изоляцией коммуникационного оборудования от источников электропита- ния и с изоляцией нескольких источников электропитания друг от друга и от коммуникационного оборудования. Их решение направлено на то, чтобы энергосеть можно было использовать для организации сразу несколько линий связи.
294 Передача данных в сетях: инженерный подход 6.4. Кодирование в линиях связи Обычно среда не может принимать передаваемые символы в их "естествен- ной" форме. Требуется такое преобразование этой формы, чтобы она наи- лучшим образом соответствовала используемой физической среде передачи. Преобразование данных в наиболее удобную для передачи по физической линии форму принято называть кодированием линий связи, или линейным ко- дированием (line coding). Сигнал передается по физической среде в двух основных формах: □ в основной полосе частот, когда кодированные символы передаются напрямую, без преобразования их спектра (сигналы в такой форме обычно называют "линейным кодом"); □ в модулированной форме, когда передача ведется на некоторой "несущей" частоте, над которой во время передачи выполняются определенные ма- нипуляции. К линейным кодам предъявляются следующие требования: □ по синхронизации — линейный код должен иметь такую форму, чтобы не возникало никаких проблем с его синхронизацией; □ по наличию постоянной составляющей в спектре сигнала— линейный код должен следить за наличием постоянной составляющей в спектре пе- редаваемого сигнала, чтобы иметь возможность вести передачу через спа- ренную среду переменного тока; □ по энергетическому спектру— энергетический спектр сигнала должен быть как можно меньше, что существенно увеличивает эффективность (КПД) передачи; П ио контролю за производительностью — желательно иметь возможность обнаруживать ошибки, возникающие при передаче; □ ио низкой вероятности ошибки— код должен обеспечивать, по возможно- сти, наименьшую вероятность ошибки; □ ио прозрачности — код должен работать при любой форме передаваемых символов; □ ио сложности— линейное кодирование и декодирование должны быть достаточно простыми, чтобы уменьшить стоимость оборудования; □ ио уникальности — процесс декодирования должен быть способен одно- значно идентифицировать исходные данные.
Глава 6. С точки зрения канала передачи 295 Существует две основные формы линейных кодов —коды с уровнями и коды с переходами: П коды с уровнями — информация передается уровнями напряжения или то- ка сигнала. Различают две формы таких кодов: • без возврата к нулю (Non Return to Zero, NRZ) — уровень импульсов в коде символа поддерживается на постоянном уровне (см. рис. 6.9, а, б); • с возвратом к нулю (Return to Zero, RZ) — уровень возвращается нулю в конце каждого кодового импульса (см. рис. 6.9, в, г); П коды с переходами — информация передается изменениями уровня напря- жения или тока сигнала. 6 .4.1. Двоичные линейные коды Униполярные коды с возвратом и без возврата к нулю Униполярные коды без возврата к нулю являются самой простой схемой ли- нейного кодирования. Для передачи кодовой единицы используется постоян- ный сигнал (напряжение или ток) определенного уровня, а при передаче ко- дового нуля ничего не передается (рис. 6.9, а). При таком подходе возникают две проблемы. Во-первых, при передаче последовательных нулей или единиц не происходит никаких изменений сигнала, что Затрудняет его синхрониза- цию. Проблема может быть решена, если при передаче единицы посылать импульс, а не постоянное значение, так чтобы при передаче каждой единицы сигнал возвращался к нулю. Такая схема называется униполярным кодирова- нием "с возвратом к нулю" (рис 6.9, в). Однако синхронизация нулей все еще остается проблемой. В то же время схема с возвратом к нулю помогает также справиться с другой проблемой — смещением по постоянному току. Она га- рантирует, что изменения на выходе канала связаны именно с передачей ко- довых единиц, а не с прекращением их передачи при выходе из строя канала, который не передает сигналов постоянного тока. Существует разновидность униполярного NRZ-кода — NRZI-код (без возвра- та к нулю с инверсией единиц — Non-Retum to Zero, Invert to one) — который представляет 0 таким же сигналом, как в предыдущем временном интервале, а 1 — переходом к противоположному уровню. В некотором смысле NRZI- код является униполярной версией биполярного кода с чередующейся инвер- сией маркера (см. далее). Униполярный характер этой схемы означает, что код имеет постоянную составляющую. С точки зрения синхронизации NRZI- код лучше, чем NRZ, поскольку у него переходы между уровнями сигнала происходят только в последовательностях единиц (но не нулей). В NRZ- кодах никаких переходов не происходит ни в последовательностях нулей, ни в последовательностях единиц (рис. 6.9, а, б).
296 Передача данных в сетях: инженерный подход в Рис. 6.9. Линейные коды: а — униполярный код без возврата к нулю, б — биполярный код без возврата к нулю, в — униполярный код с возвратом к нулю, г — биполярный код с возвратом к нулю Биполярные коды с возвратом и без возврата к нулю В униполярных сигналах всегда присутствует постоянный (de-) компонент, который называют постоянным смещением (de offset) — см. рис. 6.9, а. Этот компонент можно устранить, если для передачи нулевого значения кода ис- пользовать сигнал с отрицательной полярностью (рис. 6.9, б). Чтобы обозна- чить моменты синхронизации каждого кодового символа, можно снова ис- пользовать схему с возвратом к нулю (рис. 6.9, г), но при этом предъявляются более высокие требования к ширине полосы пропускания линии связи. Поскольку каждый нулевой разряд кода теперь передается своим (отрица- тельным) сигналом, а не просто отмечается отсутствием напряжения, то воз- можность синхронизации — это настоящий подарок для длинной последова- тельности нулей. Однако, продолжает существовать проблема постоянной составляющей, которая отсутствует в передаваемом сигнале только тогда, когда в нем имеется равное количество нулевых и единичных компонентов. Но даже если это так для длинных кодовых последовательностей, то в сигна- лах более коротких отрезков кода постоянное смещение все же может при- сутствовать, что создает ряд проблем при их передаче. Биполярный код с чередующейся инверсией маркеров В биполярной системе кодирования с чередующейся инверсией маркеров (ко- довых единиц) (Alternate Mark Inversion, AMI) нули передаются напряжени-
Гпава 6. С точки зрения канала передачи 297 ем нулевого уровня, а единицы представлены чередующимися (по направле- нию) изменением полярности напряжения (рис 6.10, а). Меняющиеся по на- правлению переходы для передачи кодовых единиц довольно просто полу- чать с помощью простой триггерной электронной схемы. Чередование полярностей сигнала при передаче единиц гарантирует отсутствие постоян- ной составляющей, но существует проблема с синхронизацией в длинных последовательностях кодовых нулей, поскольку при этом сигнал остается на нулевом уровне. Манчестерский код Проблему синхронизации удается решить с помощью манчестерского кодирования. Переход полярности сигнала в этой схеме происходит в центре каждого временного интервала, передающего соответствующий кодовый символ (рис. 6.10, б). Нуль всегда представлен сигналом низкого (отрицательного) уровня (в первой половине своего интервала), за которым следует переход на высокий (положительный) уровень, а единица наоборот— сигналом высокого уровня, за которым следует переход к сигналу низкого уровня. Тот факт, что переход всегда происходит в одном и том же месте интервала очень хорош для синхронизации, но чтобы гарантировать это, сигнал должен быть разбит на два. Отсюда следует, что в потоке чередующихся нулевых и единичных^игналов число переходов вдвое превосходит битовую скорость передачи. Это удвоение скорости схем линейного кодирования мы уже рассматривали ранее. Манчестерское кодирование используется в качестве стандартного метода кодирования в LAN-стандарте IEEE 802.3 CSMA/CD. а Рис. 6.10. Биполярные коды: а —с чередующейся инверсией единиц, б — манчестерское кодирование lie- Модуляция с задержкой (Код Миллара) В биполярной схеме кодирования модуляции с задержкой, известной под на- званием код Миллара (Millar code), единицы кодовой последовательности представлены сигналами, по-прежнему изменяющими свою полярность в се-
298 Передача данных в сетях: инженерный подход редине соответствующего временного интервала, однако сигналы нулей сво- ей полярности внутри интервала не изменяют (рис. 6.11, а). При этом, чтобы избежать проблем с синхронизацией, вызванных последовательностями нулей в коде, переход полярности выполняется между каждой парой по- следовательных нулей. Это означает, что максимальная частота (когда в ко- довой последовательности— все единицы) возвращается к своей прежней величине — R/2, поэтому использование полосы пропускания улучшается, но тот факт, что переходы могут происходить или в середине сигнальных интер- валов, или на их концах, делает код более сложным для обнаружения. Фазо- вый сдвиг компонентов сигнала на половину интервала может также закан- чиваться записями ложных битов. Кодирование с инверсией кодовых посылок В биполярной схеме с инверсией кодовых посылок5 (Coded Mark Inversion, CMI) нуль представлен переходом в середине своего интерва- ла, а единица — чередующимися переходами с верхнего уровня на ниж- ний и обратно (рис. 6.11, б). Максимальная частота переходов уровней равна R (битовой скорости), но проблемы фазового смещения, как в мо- дуляции с задержкой, не возникают, хотя тот факт, что переходы не все- гда происходят в одном и том же месте сигнального промежутка, увели- чивает сложность кодирования. М J L 110100000101 110100000101 ВШ №ИИ- а б Рис. 6.11. Биполярные коды: а — модуляция с задержкой (код Миллара), б — кодирование с инверсией кодовых посылок Расщепление по фазе Обнаружение упрощается, когда каждый символ кодовой последовательно- сти имеет переход в середине своего сигнала, причем кодовые единицы пред- ставлены изменением направления перехода по отношению к предшествую- 5 Под кодовой посылкой (маркером) здесь понимают единицу. — Пер.
Глава 6. С точки зрения канала передачи 299 щему сигналу, а у нулевых символов переходы происходят всегда в том на- правлении, что и у предшествующего сигнала. Такую схему кодирования на- зывают расщеплением по фазе (Split Phase) кодовых посылок (рис. 6.12, а). Максимальная частота передаваемого сигнала равна битовой скорости пере- дачи (R). Расщепление фазы сигнала нулевого символа происходит аналогич- но, но хотя уровни сигнала в соответствующем интервале изменяются, это все равно означает, что в нем передается нулевой компонент кода. Заметим, что аналогичную схему манчестерского кодирования иногда называют коди- рованием по фазе, хотя манчестерский код относят к группе уровневых кодов, а данный код — к кодам с переходами. Бифазный код В бифазной схеме кодирования все кодовые разряды (как единичные, так и нулевые) имеют переход в начале сигнального интервала, что способствует хорошему восстановлению синхронизации на каждом сигнальном интервале, а вот единичные компоненты такого сигнала, кроме того, имеют переход в центре своего интервала (поэтому он и назван бифазным маркером — рис. 6.12, б). В то время как максимальная частота такого сигнала равна R, его средняя частота намного ниже, что дает этой схеме некоторое преимуще- ство перед схемой с расщеплением фазы. Альтернативная схема — с бифаз- ным нулем6 имеет дополнительные переходы на Йесте нулевого, а не единич- ного разряда передаваемого кода. 110100000101 110100000101 иии- мл» а б Рис. 6.12. Биполярные коды: а —с расщеплением по фазе кодовых посылок, б — бифазный Двоичный код с замещением N нулей Линейный AMI-код достаточно прост, имеет хорошие частотные характери- стики, а постоянная составляющая отсутствует. Его проблема— длинные 6 Представляет нулевой разряд кода. — Пер.
300 Передача данных в сетях: инженерный подход ряды нулей, где синхронизация теряется. Если для исправления этой ситуа- ции добавить в код больше переходов, как это делается в других линейных кодах, то можно добиться хорошей синхронизации, но за счет увеличения требований к ширине полосы пропускания линии. Однако мы можем испра- вить проблему другим способом— заменяя длинные последовательности нулей специальными последовательностями, которые содержат переходы и поэтому поддерживают синхронизацию приемника. Эти варианты AMI-кодов называются кодами с замещением N нулей, где N— длина нулевой последо- вательности, в которой один (обычно последний) нулевой сигнал заменяется единичным (рис. 6.13, б). Подстановочные последовательности отличаются от нормальных тем, что внутри них нарушаются правила переключения уровней положительного и отрицательного напряжения при представлении единичных разрядов AMI-кода. Одним из наиболее популярных типов таких линейных кодов является высокоплотный биполярный код 3 (High Density Bipolar 3, HDB3), к ко- тором 4-элементный ряд кодовых нулей заменяется специальными кода- ми 000V или B00V, где В — нормальный AMI-импульс, а V — импульс- "нарушитель", который имеет ту же полярность, что и предыдущий им- пульс. Код 000V используется, если имеется нечетное число стандарт- ных AMI-импульсов с момента последнего нарушения, a B00V, если их число — четное. Наличие двух несколько различающихся специальных кодов, нарушаю- щих AMI-правила, позволяет избежать постоянного смещения в любой его разновидности (рис. 6.13, б, в). Если бы имелся только один специальный код, скажем, 000V, то не трудно заметить, что длинный внутренний ряд нулей в кодовой последовательности вводил бы некоторое постоянное смещение в соответствующую часть передаваемого сигнала. А если бы единственным специальным кодом был B00V, то последовательность 000010000100001 создавала бы постоянное смещение в сигнальном пото- ке. На рис. 6.13, а показана AMl-последовательность, которая не имеет никакого постоянного смещения, но генерирует лишь несколько сигналь- ных переходов (в местах, где в коде расположены единицы), так что ее сигнал очень трудно синхронизировать. На рис. 6.13, б показана простая форма НОВЗ-кода, который использует только один тип нарушающей по- следовательности (000V). Не трудно заметить, как появляется и растет по- стоянное смещение. На рис. 6.13, в показан настоящий НОВЗ-код, где используются оба типа нарушающих последовательностей, почти устра- няющих постоянное смещение.
Гпава 6. С точки зрения канала передачи 301 1 10100000000000100000001 а б в Рис. 6.13. Сравнение влияния схем AMI- и НОВЗ-кодирования на передаваемую последовательность 6 .4.2. Многоуровневые коды Для уменьшения интенсивности переходов и, следовательно, ширины требуе- мой полосы пропускания, можно воспользоваться многоуровневыми сигналами (с количеством уровней больше 2). Для биполярного сигнала можно использо- вать, например, схему кодирования MLT-3 (Multi-Level Transition-3 — много- уровневая, с 3 переходами). Сигнал при такой схеме изменяется от -1 до 0, за- тем от 0 до +1, потом в обратном направлении— от +1 до 0 и от 0 до -1. Каждая единица исходного кода осуществляет переход к следующему уровню сигнала, а нуль не представляется никаким переходом. Максимальная интен- сивность изменений сигнала достигается при передаче сплошной последова- тельности единиц, когда они одна за другой переключают все возможные уровни сигнала. Поэтому максимальная частота смены уровней вчетверо меньше скорости передачи в битах. Линейные коды, которые мы рассматривали до сих пор, были двоичными, а каждый сигнальный элемент ("символ") передавал один бит (разряд) входно- го кода. Он может передавать и больше битов на символ. Это означает, что
302 Передача данных в сетях: инженерный подход скорость передачи в бодах7 отличается от скорости в битах. Передавая боль- ше одного бита на символ, мы можем понизить скорость в символах для за- данной скорости в битах и, следовательно, уменьшить требования к ширине полосы сигнала. Мы можем сохранить ширину полосы на том же уровне, но вести передачу с более высокой битовой скоростью. Эти режимы изображены на рис. 6.14. На рис. 6.14, а скорость передачи в битах сохраняется на всех графиках неизменной, а частота в канале постепенно уменьшается, что пока- зано в виде все более гладкой кривой. На рис. 6.14, б скорость в символах и, следовательно, ширина полосы остаются на графиках одинаковыми, а ско- рость в битах увеличивается (что показано как сокращение времени передачи одного и того же количества битов). Рис. 6.14. Влияние различных многоуровневых кодов на время передачи и ширину полосы сигнала Расплатой за такой подход является рост интенсивности потока ошибочных битов. Чем больше используется сигнальных уровней для передачи элемен- тов кода, тем меньше различий в уровнях соответствующих сигнальных ком- 7 Бод (baud) — единица скорости передачи сигнала, измеряемая числом дискретных переходов или событий в секунду. — Пер.
Глава 6. С точки зрения канала передачи 303 понентов, и тем труднее отличать их друг от друга. Если в канале появляются шумы, то они легко могут скрыть эту разницу и спровоцировать тем самым ошибочную ситуацию, когда один уровень сигнала будет принят за другой, т. е. передаваемая кодовая последовательность будет искажена. На рис. 6.15 показан простой многоуровневый 2B1Q-kojj с четырехуровне- вым сигналом: уровень -3 используется для передачи кода 00, уровень -1 — для передачи кода 01, уровень +1 — для передачи кода 11 и уровень +3 — для передачи кода 10. Двухразрядные последовательности 00, 01, 11, 10 на- зывается кодами Грея (Gray encoding). Они отличаются от естественного дво- ичного кодирования только одним битом, позволяющим различать сигналы соседних уровней; т. к. наиболее вероятная ошибка при приеме сигнала со- стоит в перепутывании соседних уровней, эта схема минимизирует вероят- ность однобитовых ошибок. k 1 о 3 (+3) 0 1 1 (-1) 0 0 0 (-3) 0 0 0 (-3) 0 1 0 (-1) 0 1 1 (-1) Рис. 6.15. Многоуровневый код, построенный по схеме 2B1Q Возможны более сложные схемы. В коде, использующем схему кодирования 4ВЗТ (рис. 6.16), 4 бита исходного кода передаются с помощью трехуровне- вой сигнализации. Уровни, передающие кодовые последовательности, могут иметь три значения: +V (11), 0 (-) и -V (U). Некоторые исходные кодовые по- следовательности отображаются на такую последовательность сигнальных уровней, которая не содержит постоянной составляющей, тогда как другие (например, 1000, которая передает на выход линии кодовую единицу с помо- щью сигнала UTTTT) — содержат такую составляющую. Для каждой последо- вательности с постоянным компонентом в этой схеме определены две воз- можные последовательности сигнальных уровней. Причем для передачи соответствующей части входного кода используется та из них, которая при- ближает к нулю значение постоянной составляющей во всем передаваемом сигнале. Используя схему кодирования 4ВЗТ, можно более чем в 2,6 раза по- высить пропускную способность канала по сравнению с манчестерским ко- дированием для той же максимальной битовой скорости передачи. Именно эта схема рекомендована в широкополосном варианте стандарта IEEE 802.3 CSMA/CD.
304 Передача данных в сетях: инженерный подход Данные (на входе канала) Выходной сигнал Выходной сигнал (вариант) для кодов с постоянным компонентом 0000 ft - ft (0) 0001 ft (1 - (0) 0010 - ft ft (0) ООН ft ft - (0) 0100 --ft(l) - - fl (-1) 0101 - ft - (1) -ft-(-l) оно ft--(l) U - - (-1) 0111 ft U ft (1) ft ft U (-1) 1000 ft ft ft (1) ft U ft (-1) 1001 ft ft ft (1) It ft ft (-1) 1010 ft ft ft (3) Ш (-3) 1011 ft - ft (2) ft - ft (-2) 1100 - ft ft (2) - ft ft (-2) 1101 ft ft - (2) ft ft - (-2) 1110 -ft V (0) 1111 U — ft (0) Рис. 6.16. Кодирование по схеме 4ВЗТ 6 .4.3. Перемешивание Коммуникационные системы часто передают достаточно регулярные после- довательности битов, и эта регулярность может порождать нежелательные побочные эффекты. Мы уже упоминали проблему синхронизации при пере- даче длинного ряда нулей, но регулярные образцы единиц и нулей также мо- гут создавать нежелательные частотные или постоянные составляющие сиг- нала в линейных кодах некоторых типов. Чтобы разрушить такие образцы, часто используется специальный процесс, называемый перемешиванием, или скремблированием. С помощью специальной схемы к передаваемой последо- вательности добавляется случайный набор нулей и единиц (рис. 6.17). На са- мом деле последовательность является псевдослучайной, поэтому, хотя в ней нет никаких регулярных образцов, но биты добавляются так, чтобы прием- ник, добавляя к принимаемой последовательности псевдослучайную, иден- тичную входной, мог восстанавливать исходное сообщение. Эффективный генератор перемешивающей последовательности можно построить на сдвиговом регистре с обратной связью, спроектированном так, чтобы выходной сигнал представлял собой приемлемую для переда- чи смесь битов. Такая последовательность должна начинаться по край-
Гпава 6. С точки зрения канала передачи ней мере с одной единицы, и если обратные связи (или сигналы ответ ления) тщательно подобраны, «-каскадный сдвиговый регистр будет г черировать псевдослучайную последовательность с периодом 2" - 1 б гов (без повторения). Например, 5-каскадный сдвиговый регистр многочленом ответвлений х + х* + 1 (рис. 6.18) генерирует последов гельность 00001010111011000111110011010010 и затем повторяет ее. последовательностью последовательностью Рис. 6.17, Система с перемешиванием ( Примечание ) "Тщательный подбор" отводов означает выбор в качестве многочлена, по кс рому строятся отводы регистра, примитивного многочлена, т.е. такого мн< члена, который не может быть факторизован (разбит на сомножители) и кс рый делится на 2*+ 1 для к = 2П- 1, цр не делится на 2*+ 1 для к < 2П - 1, п— степень многочлена. Таким примитивным многочленом является, наг мер, х5 + з? + 1. Функция обратной связи х5+л2+1 =0, или -1 =х5+л2 Рис. 6.18. Генератор перемешивающих последовательностей Можно просто добавить эту последовательность в передатчик и приемг как это делается в LFSR-схеме шифрования (см. рис. 3.9). Однако при з возникает проблема инициализации сдвигового регистра так, чтобы его следовательность содержала начальную "1", а передатчик и приемник за! кали свои последовательности одновременно. Систему можно сделать сг синхронизирующейся, используя немного иные подключения регистров, показано на рис. 6.19. До тех пор, пока в канале не происходит никаких о бок, приемник будет автоматически синхронизироваться с передатчш При появлении ошибок в канале может потребоваться периодическое от»
306 Передача данных в сетях: инженерный подход чение и возврат сдвигового регистра в определенное состояние, чтобы оста- новить распространение ошибок на правильно передаваемые биты. В мобильных радио- и других системах, где используется общая среда переда- чи, перемешивающая последовательность часто инициализируется с разными начальными значениями для каждого терминала, так что, если терминалом бу- дет принят неправильный сигнал, то перемешивание приведет к неправильным полученным значениям, и будет очевидно, что произошла ошибка. Рис. 6.19. Система самосинхронизирующегося перемешивания 6 .4.4. Пример применения линейного кодирования Стандарт последовательных линий связи RS-232 использует биполярное ли- нейное NRZ-кодирование. Такой способ кодирования достаточно прост и полностью подходит для низких скоростей передачи, предусмотренных в стандарте, — приблизительно до 9600 символов/с. Однако он меньше подхо- дит для использования в более высокоскоростных интерфейсах RS-232, в ко- торых скорости превышают сотни килобайт в секунду. Кодовое слово стан- дарта RS-232 состоит из нулевого стартового бита, за которым следуют 5, 6,7 или 8 битов данных, заканчивающихся единичным стоповым битом. Может быть определен разряд проверки на четность, а число стоповых битов (1,5 или 2) зависит от числа используемых битов данных. Если передается 8 битов данных, то разряд проверки четности отсутствует и используется только оди- ночный столовый бит. При передаче биты инвертируются. Единичный бит представляется напряже- нием ниже -3 в, а нулевой— напряжением, немного превышающим +3 в, причем первыми передаются наименее значащие биты. Код ASCII-символа "А" (01000001) передается как 01000000101. Передача асинхронная, так что никакого сигнала синхронизации вообще не требуется. В нормальном со- стоянии в канале поддерживается отрицательный уровень напряжения, по- этому стартовый бит всегда инициирует переход к следующему уровню. Он вызывает переустановку таймера приемника и генерацию тактовых импульсов, управляющих переходами между уровнями напряжения (0,5, 1,5, 2,5 и т. д.).
Гпава 6. С точки зрения канала передачи 307 Столовый бит означает возврат канала к отрицательному напряжению, кото- рое поддерживается до прихода следующего стартового бита. Переустановка таймера на каждом кодовом слове означает, что он может быть не очень точ- ным, а схема приемника — достаточно простой и не очень дорогой. Сети Ethernet работают с более высокими скоростями, так что для них реше- ние проблем синхронизации — одна из самых главных задач. Ethernet, рабо- тающая на скоростях порядка 10 Мбит/с, использует манчестерское кодиро- вание, которое обеспечивает очень хорошую синхронизацию8. Проблема лишь в том, что при такой схеме кодирования для обеспечения скорости 10 Мбит/с требуется канал с шириной полосы пропускания не менее 10 МГц. В быстрых сетях Ethernet, работающих на скоростях порядка 100 Мбит/с, и FDDI-сетях, работающих с такими же скоростями на проводной (не оптоволо- конной) среде, используется схема кодирования MLT-3. Дополнительно в обоих случаях применяется схема кодирования 4В5В, позволяющая гарантировать, что в выходном сигнале будет достаточно переходов, используемых для целей син- хронизации. В результате такая схема кодирования оказывается значительно бо- лее эффективной в отношении ширины полосы канала, чем манчестерская. Старые стандарты телефонных сетей использовали более простые и эффек- тивные (в отношении ширины полосы канала) схемы кодирования, отражая те времена, когда цифровая обработка не была столь быстрой и дешевой, как теперь. Стандарты СС1ТТ G702 цифровых магистралей Е1 (2 Мбит/с), Е2 и ЕЗ (34 Мбит/с) используют схему биполярного кодирования с высокой плот- ностью 3 (HDB3), в то время как стандарт Е4 (для магистралей, работающих на скоростях порядка 140 Мбит/с) использует схему кодирования с инверсией кодовых посылок (CMI). 6.5. Модуляция 6.5.1. Введение Многие физические среды не способны передавать постоянный ток. Этой способностью не обладают, например, радио- или ультразвуковые линии, а на инфракрасных линиях такая передача затруднена, поскольку вместе с полез- ным сигналом передается мешающий фоновый свет. Даже тех в случаях, ко- гда передающей средой является простой провод, наличие в системе индук- тивных катушек или иных аналогичных устройств препятствует передаче постоянных составляющих сигнала. Если данные посылаются по проводной 8 Манчестерский код с его переходами по центру импульсного интервала не требует использо- вания никаких дополнительных синхросигналов, поэтому его часто называют самосинхронизи- рующимся кодом. — Пер.
308 Передача данных в сетях: инженерный подход линии, например, из Глазго в Эдинбург, но потенциал "земли" на конце ли- нии в Глазго оказывается выше, чем в Эдинбурге, то из-за такой разности по- тенциалов коммуникационная система Глазго начнет поставлять в Эдинбург довольно мощный сигнал постоянного тока. По этой причине в целях изоля- ции на обоих концах линии связи устанавливаются катушки индуктивности (или другие изолирующие устройства, например, оптроны). Катушки индук- тивности используются также на установочных опорах телефонных линий, чтобы защитить коммуникационное оборудование от грозовых разрядов. Общее заземление, изолирующее линию передачи данных, очень полезно да- же в том случае, когда два устройства, имеющие различные напряжения пи- тания или пробующие одновременно управлять линией, расположены в од- ном помещении. Как бы ни выполнялась изоляция (с помощью катушек индуктивности или конденсаторов), линия передачи не сможет больше передавать постоянный ток. Решение состоит в том, чтобы вместо постоянного тока передавать по фи- зическому каналу модулированный синусоидальный сигнал. Синусоидаль- ную волну, на которую накладывается модуляция, называют несущей час- тотой. Передаваемый (модулирующий) сигнал может изменять любую из трех характеристик несущей: амплитуду (амплитудная модуляция), часто- ту (частотная модуляции), фазу (фазовая модуляция) и даже их комбина- цию. Другим существенным преимуществом такого способа передачи яв- ляется возможность передавать сразу несколько информационных сигналов по одной физической среде (каждый сигнал передается на своей несущей). 6.5.2. Множественный доступ Чаще всего передающая среда должна быть объектом коллективного поль- зования. Примеры некоторых служб такого рода показаны в табл. 6.1. Ши- рокополосная среда передачи (такая, например, как коаксиальный кабель или оптоволокно) может обслуживать сотни таких служб, так что возника- ет следующий вопрос: как можно мультиплексировать (уплотнить) всех пользователей в одной предающей среде? Ресурсами, с которыми мы должны работать, являются полоса пропускания (диапазон передаваемых частот) среды передачи и время доступа к этому ресурсу. Сигналы, пере- даваемые средой от разных пользователей, могут различаться по частоте (множественный доступ с частотным разделением канала), по времени (множественный доступ с временным разделением канала), или модули- рующему сигналу (множественный доступ с кодовым разделением кана- ла). Возможны также комбинации этих способов разделения (иногда гово- рят "уплотнения") канала.
Гпава 6. С точки зрения канала передачи 309 Таблица 6.1. Примеры служб, использующих модуляцию несущей частоты Служба Требуемая ширина полосы пропускания Фактическая ширина полосы пропускания Речь 3 кГц 4 кГц (POTS) Высококачественная музыка 15 кГц 15 кГц (FM-радио) 22 кГц (CD) FM-радиостанция 240 кГц Телевидение (аналоговое) 4,5 МГц 6 МГц Множественный доступ с частотным разделением канала Когда ширина полосы пропускания передающей среды достаточно велика (радиоканал, оптоволокно или коаксиальный кабель), обычно используется множественный доступ с частотным разделением канала (Frequency Division Multiple Access, FDMA). Весь диапазон частот разделяется на несколько более узких поддиапазонов, которые распределяются между пользователями широ- кополосного канала, образуя в нем несколько самостоятельных коммуника- ционных линий (подканалов). Между частотными подканалами должен ос- тавляться некоторый защитный интервал, чтобы предотвратить помехи от соседнего канала. Это означает, что практически невозможно использовать весь диапазон частот каждого подканала. Такой защитный интервал умень- шает эффективность системы, поскольку, когда мы увеличиваем число под- диапазонов и уменьшаем ширину каждого поддиапазона, доля диапазона час- тот, занятого защитными интервалами, в общей полосе частот канала увеличивается. Поэтому, когда мы уменьшаем ширину полосы частот подка- нала, мы уменьшаем также и количество информации, которую мы можем передавать в каждом подканале (рис. 6.20). Ширина спектра передаваемого сигнала зависит от частоты модулирующего сигнала. Очевидно, что полоса частот, выделяемая для передачи сигнала, должна быть столь же (или даже более) широкой, как и полоса частот модулированного сигнала. Так, при пе- редаче речи ширина каждого частотного поддиапазона ограничивается величиной в 5 кГц. Некоторые эффективные системы радиосвязи для передачи речевых сигналов используют интервал разделения несущих частот подканалов шириной в 6,25 кГц, но чаще используется интервал шириной в 12,5 кГц (в более старых системах — шириной в 25 кГц).
ЗЮ Передача данных в сетях: инженерный подход Время а Рис, 6.20. Разделение частотного ресурса (а): по частоте (б); по времени (в); и по времени, и по частоте (г) FDMA — концептуально простая система, но в ней имеется несколько про- блем. Каждый подканал занимает один поддиапазон частот, и для него требу- ется отдельный передатчик и отдельный приемник. Чтобы иметь двунаправ- ленный (дуплексный) канал, нужно передавать и принимать сигналы одновременно, кроме того, передатчик и приемник тоже должны быть актив- ными (то есть работать) одновременно, что требует весьма сложных схем для их построения. Более серьезной проблемой является передача данных с раз- ными скоростями. Если мы хотим увеличить скорость, с которой передаются данные в FDMA-системе, следует или увеличивать ширину каждого поддиа- пазона, или использовать несколько поддиапазонов с разной шириной поло- сы. Если мы увеличиваем ширину каждого поддиапазона, то те поддиапазо- ны, которые не требуют более высоких скоростей передачи, не до конца используют выделенные им частотные ресурсы. Использование нескольких
Глава 6. С точки зрения канала передачи 311 разных по величине частотных поддиапазонов для увеличения скорости пе- редачи увеличивает сложность системы. Однако, если для всех пользователей необходима одинаковая скорость передачи (как, например, при передаче ре- чевых или аналоговых телевизионных сигналов), то FDMA-системы предла- гают достаточно простое и надежное решение, которое не требует такой сложной синхронизации, как в системах множественного доступа с времен- ным разделением каналов (TDMA). Множественный доступ с временным разделением канала При передаче цифрового сигнала его можно сохранять и передавать не не- прерывно, а несмежными группами. Рассмотрим цифровой сигнал, который передается со скоростью 1000 бит/с. Если этот сигнал передается непрерыв- но, мы принимаем один бит каждую миллисекунду. Однако, если сохранять полученные сигналы и просматривать их только от случая к случаю, необхо- димость в непрерывной передаче сигнала отпадает. Рассмотрим наблюдателя, который записывает сигнал на некоторое устрой- ство. Записывающее устройство работает с пакетами, а не индивидуальными битами, записывая все, что было принято, каждые 10 мс. После того как за- пись закончена, ясно только одно — каждый из записанных битов был полу- чен в одну из предшествующих миллисекунд. Но* если вместо передачи по одному биту каждую миллисекунду делать паузы в 10 мс и затем быстро (пачкой) передавать все десять импульсов в конце каждой паузы, то для на- блюдателя ситуация остается неизменной — на магнитофоне в конце переда- чи будут записаны те же самые биты (и в том же порядке), что и в случае их непрерывной передачи (рис. 6.21). В этих точках наблюдения принимаются одни и те же биты при любых режимах передачи Рис. 6.21. Быстрая пересылка информации в разделенных по времени группах Этот принцип можно расширить и на другие, более длительные временные интервалы. Если мы записываем сигнал, скажем, каждые 100 миллисекунд, нам надо только передать эти 100 битов в любой точке внутри этого 100- миллисекундного интервала, но с более высокой скоростью. Что касается на-
312 Передача данных в сетях: инженерный подход блюдателя, то ему совершенно безразлично, когда внутри интервала ожида- ния последующей передачи были переданы биты и с какой скоростью. Мож- но было бы передавать биты непрерывно со скоростью 1 Кбит/с, пакетами длиной в 10 мс со скоростью 10 Кбит/с или даже пакетами длиной в 1 мс со скоростью 100 Кбит/с или как-то еще. Что здесь изменяется, так это задержка сигнала. Если сигнал посылается не- прерывно, то почти никакой задержки нет. Если сигнал посылается отдель- ными пачками (bursts) в конце каждого 10-миллисекундного интервала, то, хотя последний передаваемый бит передается почти без задержки, первый бит этого пакета должен ждать передачи почти 10 мс (рис. 6.22). Это величи- на и составляет здесь максимальную величину задержки. Для многих инфор- мационных потоков система должен выводить входной сигнал с исходной скоростью (как, например, в случае передачи речи). В таких случаях все биты должны передаваться с одинаковой максимальной задержкой, чтобы сохра- нить общую скорость. Самая небольшая задержка - у последнего бита в пачке Самая большая задержка - у последнего бита в пачке Рис. 6.22. Задержки в системе пакетной передачи Передача информации короткими пачками обеспечивает еще несколько воз- можностей. Первая, наиболее важная, состоит в том, что теперь можно муль- типлексировать несколько информационных потоков в один канал. Этого достигают путем передачи подобным же способом (пачками) информации других пользователей в те временные интервалы, когда канал не использует- ся. Так осуществляется временное разделение .(уплотнение) канала (Time Di- vision Multiple Access, TDMA), когда мы передаем информацию по каналу с большей скоростью, чем нужно индивидуальному пользователю, и затем рас- пределяем время передачи между всеми пользователями. Каждую индивиду- альную порцию информации называют пачкой (burst), а последовательность пачек образует кадр (frame), который непрерывно повторяется во времени. Кадр делится на слоты — небольшие по размеру временные интервалы, каж- дый из которых передает пачку сигналов. Этот процесс для TDMA-системы с четырьмя пользователями и поэтому с четырьмя пачками в кадре показан на рис. 6.23.
Гпава 6. С точки зрения канала передачи 313 Кроме того, наряду с разделением ресурсов между разными пользователями, имеется возможность включать в нормальный поток данных пользователя управляющую информацию, выделяя некоторые пачки сигналов специально для этой цели. Рис. 6.23. Система передачи с временным уплотнением (TDM) Главные вопросы при проектировании TDM-систем— сколько пачек нужно включать в кадр, и какова должна быть скорость передачи информации на несу- /щей. Для заданной длины кадра мы можем увеличивать скорость передачи, чис- ло слотов в кадре или количество информации в каждом слоте, так что главными ^параметрами TDM являются: число пачек в кадре и скорость передачи информа- <ции на несущей. Ограничениями, влияющими на этот выбор являются— мак- симальная задержка, которую может допустить служба (так как длина кадра должна быть меньше, чем эта задержка), и ширина полосы несущей. Комбинация FDM и TDM ! С увеличением скорости передачи увеличивается и ширина полосы передавае- , мого сигнала. В чистой TDM-системе она может стать равной ширине полосы : всего канала, но обычно принято комбинировать TDM и FDM, разделяя полосу 1 канала на несколько частотных FDM-поддиапазонов (каждый со свой несущей) и используя для каждой несущей TDM-доступ. Такая система применяется в радиосвязи, когда спектр радиочастот разделяется между различными пользо- вателями. Для широкополосных каналов чистая TDM-система должна была бы передавать с такой высокой скоростью, что обслуживающие их электронные схемы оказались бы очень сложными и дорогими, что является еще одной при- чиной использования комбинированных FDMA/TDMA-систем. FDM-системы концептуально проще и их легче реализовать для очень высоких скоростей
314 Передача данных в сетях: инженерный подход (вплоть до десятков ГГц). TDM-системы обладают тем преимуществом, что имеют дело скорее с пакетной информацией, а не с непрерывными потоками, а пакетированные данные легче переключать и маршрутизировать. Многочис- ленные приемопередатчики FDM-системы заменяются более сложными пере- ключателями, но возникает новая проблема — трудно создать переключатели, способные работать достаточно быстро. Уже для частот, превышающих несколько сотен мегагерц, они становятся очень дорогими. Лучший компромисс часто дают комбинации FDMA с TDMA. 6.5.3. Цифровая модуляция Типы модуляции Чтобы получить мультиплексирование с частотным разделением каналов, нужно передавать сигналы в диапазонах частот, начинающихся не с нулевой частоты. Это можно сделать, модулируя синусоидальный сигнал несущей сигналами других частот. Синусоидальный сигнал имеет форму v/f)=Acos(lirf(t + Тип модуляции определяется тем, какой из трех пара- метров будет изменять модулирующий сигнал: О изменение амплитуды несущей (Ас) дает амплитудную (AM) модуляцию (рис. 6.24, а); О изменение частоты несущей (fc) дает частотную (ЧМ, FM) модуляцию (рис. 6.24, б); □ Изменение фазы несущей (<э) дает фазовую (ФМ, РМ) модуляцию. Рис. 6.24. а — амплитудная (AM) модуляция и б — частотная (ЧМ) модуляция
Глава 6. С точки зрения канала передачи 315 Формирование импульсов На рис. 6.25, а показан прямоугольный импульс с мгновенно меняющимися фронтами во временной области. На рис. 6.25, б показан бесконечно широкий спектр этого импульса в частотной области, полученный с помощью преоб- разования Фурье: H(f) = AT njT H(f) Рис. 6.25. Преобразование Фурье для прямоугольного импульса: а — временная область; б — частотная область Чтобы уменьшить ширину полосы передаваемого импульса до разумного уровня, приходится прибегать к фильтрации. К сожалению, фильтрация при- водит к сглаживанию сигнала (во временной области), из-за чего символы "расползаются" и частично накладываются друг на друга, что называют меж- символьной интерференцией (Inter-Symbol Interference, ISI). На практике час- то используются фильтры, частотная характеристика которых имеет форму "приподнятой" косинусоиды (Raised Cosine Filters). Их называют так потому, что форма их амплитудно-частотной характеристики (АЧХ) меняется от пря- моугольной до косинусоидальной (рис. 6.26). Если через г обозначить коэф- фициент спада (roll-off factor) этой характеристики, то отклик (выходной сигнал) такого фильтра имеет плоскую форму в интервале частот от 0 до (1 - r)fc. В интервале от (1 -r)fc до (1 +r)fc отклик имеет форму косинусоиды, а выше (1 + r)fc отклик равен 0. При г = 0 мы имеем "идеальный" фильтр нижних частот. Это означает, что никакой дополнительной полосы канала не требуется, поскольку все посто- ронние сигналы будут отфильтрованы, но, к сожалению, такой "идеальный" фильтр построить невозможно. При г = 1 фильтр реализуется довольно легко, но имеет бесконечную полосу. Если обозначить ширину полосы канала как В, то максимальная скорость передачи (без учета межсимвольной интерферен- ции) составит (символов в секунду). На практике обычно используют коэффициент спада, равный примерно 1/3 (г ®1/3).
316 Передача данных в сетях: инженерный подход Рис. 6.26. Импульсы "приподнятой" (по краям) косинусоидальной формы Эффект фильтрации сигнала во временной области показан на рис. 6.27. Мгно- венные переходы в начале и конце символа обычно связаны с появлением высо- кочастотных компонентов, а амплитуда соответствующих сигналов быстро уменьшается. Это означает, что высокочастотные компоненты имеют неболь- шую мощность. а б в Рис. 6.27. Эффект фильтрации во временной области: а — двоичные данные для передачи; б — неотфильтрованный модулированный сигнал (в данном случае использован метод двоичной фазовой манипуляции, BPSK); в — модулированный сигнал после формирования
Глава 6. С точки зрения канала передачи 317 Амплитудная манипуляция (ASK) Самым простым способом модуляции является амплитудная модуляция (AM), когда информационный сигнал изменяет амплитуду несущей (рис. 6.28). При- менительно к цифровым модулирующим сигналам этот вид модуляции иногда называют амплитудной манипуляцией (АМн или ASK, Amplitude-Shift Keying). Для демодуляции таких сигналов выполняется две простых операции— вы- прямление и сглаживание. Передаваемый сигнал определяется как vc(t) = - hftyeo^nfct), где h(t) = А] или А?, в зависимости от передаваемого символа. Существует даже более простая форма амплитудной манипуляции, которую называют двухпозиционной манипуляцией (On-Off Keying, ООК). Когда сиг- нал в канале присутствует, то считается, что была послана 1, а когда отсутст- вует— то был послан 0. Манипуляция типа ООК— это ASK с двумя ам- плитудами: 0 и 1. Такой сигнал может генерироваться очень просто — применением выключателя, который или блокирует несущую или позволяет передавать ее по каналу. Хотя методика ООК-манипуляции достаточно про- ста в смысле модуляции и демодуляции, но сам факт отсутствия сигнала при передаче нулей может привести к трудностям с синхронизацией, т. к. сигнал синхронизации невозможно извлечь из несущей. Ширина полосы пропускания, требуемая для сигнала с ASK-модуляцией, со- ставляет В ask = 0 +r)R, где г — коэффициент спада АЧХ-фильтра, a R — скорость передачи инфор- мации в битах. Поэтому, в зависимости от формы передаваемого импульса, ширина полосы канала должна быть где-то между R и 2R, но ближе к 2R, ' иначе (скажем, при В = К) передача становится практически неосуществимой. В настоящее время ASK-модуляция используется довольно редко, поскольку преимущества простой модуляции/демодуляции не так велики, а производи- тельность этого способа модуляции не очень высока. Все методы амплитуд- ной модуляции, включая ASK, имеют еще один недостаток— соответст- вующие сигналы не столь просто поддаются регенерации, по сравнению с фазо- или частотномодулированными сигналами. ASK-сигналы направляют- ся в канал только с двумя амплитудными уровнями, но методика формирова- ния импульса такова, что любое искажение сигнала при его промежуточном усилении приводит к расширению его спектра, а это означает, что в точках регенерации требуются достаточно широкополосные линейные усилители. Однако линейные усилители не очень эффективно используют силовое пита- ние и, кроме того, вместе с сигналом они усиливают и шумы. При использо- вании двухуровневых сигналов более производительной оказывается фазовая модуляция. Однако ASK-модуляция все еще находит некоторое применение. Например, она иногда используется для передач по оптоволоконным каналам и для низкоскоростных передач от несложных устройств (например, от пуль- тов дистанционного управления).
318 Передача данных в сетях: инженерный подход Временная область Сигнал данных (основная полоса частот) Рис. 6.28. Временные и частотные характеристики различных схем модуляции Известен вариант АЗК-модуляции под названием "m-арная ASK" (m-ary Amplitude Shift Keying). В ней для передачи символа используется m ампли- тудных уровней (т >2). Требования к ширине полосы канала с точки зрения передачи символов не изменяются, а с точки зрения передачи битов стано- вятся следующими: О где г — коэффициент спада АЧХ, R — скорость передачи информации в би- тах. Выражение log2w? включено в это выражение потому, что скорость в символах определяется как T?/log2W. Хотя по этому выражению создается
Глава 6. С точки зрения канала передачи 319 впечатление, что скорость передач повышается без каких-либо дополнитель- ных затрат, однако, появляются затраты, связанные с ростом интенсивности ошибок, возникающих из-за уменьшения расстояний между амплитудными уровнями (их становится труднее отличать друг от друга). Это означает, что приемники должны быть более чувствительными, а допустимые электриче- ские помехи в передающей среде должны быть ограничены. Частотная манипуляция (FSK) При частотной манипуляции (Frequency Shift Keying, FSK), информация по- сылается путем изменения частоты несущего сигнала (см. рис. 6.28). Для передачи двоичных сигналов обычно используется двоичная частотная ма- нипуляция (Binary Frequency Shift Keying* BFSK), когда используются всего две частоты. Однако можно использовать и большее количество частот, что позволяет пересылать в каждом символе более одного бита информации. Ширину полосы, требуемую для передачи ЧМ-сигналов, можно найти, если рассмотреть сигнал, составленный из пары смежных ASK-сигналов (см. гра- фик FSK на рис. 6.28). Каждый FSK-сигнал имеет полосу шириной , Bask = (1 + r)R, где г — коэффициент спада АЧХ, a R — скорость передачи / информации в битах. Если разность между FSK-частотами обозначить как tsf, ! то окончательная ширина требуемой для передани таких сигналов полосы ; частот будет равна Bask =bf+(\ + r)R. Полоса частот FSK-сигнала шире, чем у ASK, но первый несколько сложнее в реализации. Однако FSK-модуляция обеспечивает более высокое качество передачи, в особенности когда число модулирующих частот увеличивается (такой вид модуляции называют ти-арным FSK). Проблема состоит в том, что, хотя этот вид модуляции улучшает качество передач за счет уменьшения ко- , личества ошибок (для других методов все как раз наоборот), но он также по- вышает и требования к полосе пропускания канала, а это часто более серьез- : ное ограничение, чем, скажем, ограничение, связанное с мощностью сигнала ‘ (которое становится серьезным лишь для очень длинных каналов, например, при связи с космическими аппаратами). Более популярен другой метод час- тотной модуляции— с минимальной частотной манипуляцией (Minimum Shift Keying, MSK, — см. далее), в котором ширина частотного спектра сиг- нала минимизируется. FSK-модуляция использовалась в старых модемах, ра- ботавших со скоростями около 300 бод/с. Стандарт V21 определяет два FSK- сигнала (по одному для каждого направления)— 1080 ± 100 Гц и 1750 ±100 Гц с шириной спектра примерно 600 Гц.
320 Передача данных в сетях: инженерный подход Минимальная частотная манипуляция (MSK) Носкольку ширина спектра FSK-сигнала зависит от разности несущих частот FSK-сигнала (А/), то возникает интересный вопрос: как определить допусти- мый минимум этой разности? Минимально допустимой разностью частот считается такая разность, когда в более высокочастотном элементе сигнала имеется один дополнительный полупериод (см. график MSK на рис. 6.28). Меньшие значения Д/ провели бы к нарушению непрерывности сигнала. По- этому А/= (fi -fo) = 1/(2Т) и, следовательно Bf-'хк = Я/2 + (1+г)Л. MSK используется в качестве базы для некоторых мобильных коммуникаци- онных систем, таких как сотовая GSM9 и TETRAPOL PMR, где важно иметь узкополосные сигналы. Двоичная фазовая манипуляция (BPSK) При фазовой манипуляции (Phase Shift Keying, PSK) для передачи информа- ции используются изменения фазы сигнала. Самой простой формой этого вида модуляции является двоичная фазовая манипуляция (Binaiy Phase Shift Keying, BPSK). Для передачи нулевого сигнала посылается просто несущая частота, а для передачи единичного сигнала посылается несущая, сдвинутая 180° (см. график BPSK на рис. 6.28). Поскольку смещение фазы на 180° — то же самое, что инверсия несущей, то BPSK эквивалентен ASK с амплитудами модулирующего сигнала +А и -А. Эта эквивалентность ASK показывает, что требования к ширине полосы у PSK — те же, что и у ASK BPSK = (\ +r)R, где, по-прежнему, г — коэффициент спада АЧХ-фильтра, R — скорость передачи информации в битах. Тот факт, что амплитуды несущей для двух символов модулирующего сигнала являются инверсией друг друга, означает, что компонент несущей частоты в формате PSK-сигнала, в среднем, отсутствует. Хотя отсутствие несущей достаточно эффективно в том смысле, что вся мощность используется для передачи информа- ционного сигнала, а не тратится впустую на передачу несущей, это не- много усложняет схемы приемника, потому что для детектирования сигнала он должен восстанавливать несущую. По этой причине часто используются т. н. дифференциальные методы модуляции. Дифференциальная фазовая манипуляция (DPSK) В системах фазовой модуляции для обнаружения абсолютных изменений фа- зы требуется специальный детектор. Практически его трудно построить, и 9 GSM — Global System for Mobile communications, глобальная система мобильной связи (стан- дарт сотовой связи в Европе). — Пер.
Гпава 6. С точки зрения канала передачи 321 он часто вносит ошибки, поскольку фаза любого передаваемого сигнала под- вержена случайным изменениям. Для преодоления этих трудностей можно использовать дифференциальную10 фазовую манипуляцию (Differential Phase Shift Keying, DPSK). В этом случае фаза изменяется в зависимости от преды- дущего переданного бита. Как показано на рис. 6.29, передача единичного бита всегда изменяет фазу передаваемого сигнала (относительно предыдуще- го переданного сигнала), тогда как передача нулевого бита никакого измене- ния фазы не вызывает. Очевидно, что для DPSK-сигналов требуется канал с такой же полосой, как для PSK- или ASK-сигналов. Поскольку приемник может использовать (в качестве ссылки) сигнал, полу- ченный при передаче предыдущего символа модулирующего сигнала, то в ка- честве детектора можно использовать дифференциальные (разностные) моду- ляционные схемы, довольно удобные для некогерентного детектирования. Проблема состоит в том, что отсутствие абсолютной ссылки приводит к рас- пространению ошибок. Если произойдет ошибка, то она затронет не только данный, только что переданный символ, но также и все последующие символы. Рис. 6.29. Сравнение PSK с DPSK Квадратурная фазовая манипуляция (QPSK) Вместо двух значений фазового параметра (0° и 180°) для целей модуляции можно использовать большее число фазовых значений. Если вместо сдвига на 180° воспользоваться 4 сдвигами на 90°, то мы получаем метод модуляции, который называют квадратурной фазовой манипуляцией (Quadrature Phase Shift Keying, QPSK). Для передачи символов модулирующего сигнала она использует четыре возможных фазовых сдвига несущей. QPSK-модуляция использует ту же мощность сигнала и имеет ту же произво- дительность по ошибкам, что и у BPSK, но только в том случае, если декодер может полностью разделить фазовые и квадратурные составляющие сигнала 10 В отечественной литературе этот вид модуляции чаше называют относительной фазовой мо- дуляцией. — Пер.
322 Передача данных в сетях: инженерный подход (так как в результате будет получено два BPSK-сигнала). Однако на практике полностью достичь этих целей невозможно, поэтому производительность по сравнению с BPSK несколько снижается. Однако для заданной скорости пере- дачи модулирующих сигналов и, следовательно, ширины полосы пропускания канала битовая скорость передачи для QPSK вдвое больше, чем у BPSK, т. к. один символ QPSK может кодировать два бита модулирующего сигнала. Вместо стандартного двоичного кодирования можно использовать двоичный циклический код Грея. Он гарантирует изменение только одного бита при пе- реходе между двумя любыми соседними кодами, что приводит к минимизации битовых ошибок, т. к. наиболее вероятно, что ошибка произойдет в соседнем символе, а не в том, который сдвинут по фазе на 180° по отношению к данному символу. Последовательность кода Грея выглядит так: 00, 01, 11 и 10 с цикли- ческим возвратом к 00 (рис. 6.30, а). Еще раз обратите внимание, что при лю- бом переходе в этой последовательности меняется только один символ пары. Последовательность стандартного двоичного кода выглядит несколько иначе: 00, 01, 10 и 11 с циклическим возвратом к 00. В нем имеется два двойных из- менения в соседних символах — при переходах от 01 к 10 и от 11 к 00. По тем же причинам, что и в BPSK, в квадратурной фазовой модуляции можно использовать методику дифференциального кодирования, когда пере- даваемые двоичные сигналы кодируются изменением фазы, а не абсолютного значения. Дифференциальным вариантом QPSK является разновидность фа- зовой модуляции с названием л/4-DQPSK, где между каждым символом до- бавлен дополнительный фазовый сдвиг на л/4 (рис. 6.30, б). Дополнительное смещение фазы означает, что переходы между символами не проходят через начальную фазу, и это уменьшает изменения амплитуды сигнала. Вследствие этого уменьшаются требования как к полосе канала, так и к формированию импульсов сигнала. Рис. 6.30. Совокупности QPSK и я/4-DQPSK символов
Глава 6. С точки зрения канала передачи 323 m-арная фазовая манипуляция (m-ary PSK) Можно увеличить число передаваемых сигналов, уменьшая изменение фазы между ними. Однако, в отличие от перехода от BPSK к QPSK, расстояния между передаваемыми символами с увеличением их количества будут уменьшаться, хотя для заданной скорости передачи сигнала битовая скорость возрастет, а количество ошибок уменьшится. С точки зрения передачи модулированных сигналов требование к полосе канала у m-PSK не изменяется (по сравнению с другими видами фазовой модуляции), а с точки зрения передачи битов модулирующего сигнала эти требования выражаются следующим образом: В = (1 + г) RJ\og2m, где В — необходимая ширина полосы пропускания канала, m — число значений модулированного сигнала. Поэтому для QPSK-сигналов требуется полоса шириной Bqpsi'— (1 + г) R/2, а для сигналов 8-значной PSK (то есть PSK с m - 8) требуется канал с полосой B8-psk = (1 + г) R/3 (рис. 6.31), где г — коэффициент спада АЧХ-фильтра, a R — скорость передачи в битах. С ростом пг требования к полосе уменьшаются, однако одновременно снижа- ется помехоустойчивость. Квадратура (<?) +iton ‘•ООО ♦—► •+1 В фазе (/) -1 ПО Рис. 6.31. Группирование сигналов в системе фазовой модуляции типа 8-PSK Квадратурная амплитудная модуляция (QAM) Можно увеличить объем передаваемой информации, если изменять как ам- плитудные, так и фазовые компоненты несущей. Наиболее общей формой фазоамплитудной модуляции является квадратурная амплитудная модуляция (Quadrature Amplitude Modulation, QAM), сигнал которой формируется путем сложения двух ASK-сигналов, смещенных по фазе на 90°. В зависимости от числа различающихся амплитуд составляющих ASK-сигналов, полная сово-
324 Передача данных в сетях: инженерный подход купность сигналов состоит из прямоугольной сетки сигнальных точек (рис. 6.32). Возможны также другие комбинации амплитуд и фаз, которые формируют специальный класс модуляционных систем, называемый ампли- тудно-фазовой манипуляцией (Amplitude and Phase Keying, АРК). QAM часто называется "квадратной QAM", чтобы отличить ее от других форм амплитуд- но-частотных манипуляций. Квадратура (q) • • --+3 • • • • --+1 • • ------1----------1----1---> -3 -1 +1 +3 В фазе (7) • • ---1 • • • • ---3 • • а б Рис. 6.32. Квадратная QAM (а) и прямоугольная сетка ее сигнальных точек (б) В своей базовой форме квадратная QAM включает всего четыре различных сигнала, и поэтому может кодировать пары входных битов. Они генерируют- ся путем сложения двух ASK-сигналов с амплитудами +1/->/2и — 1Д/2, дающих в результате QAM-сигнал с амплитудой 1 (табл. 6.2). Схема соответ- ствующего модулятора показана на рис. 6.33. Таблица 6.2. Сложение ASK-сигналов Инфомационные биты Сдвиг по фазе Амплитуда в фазированном сигнале (i) Амплитуда в квдратурном сигнале (q) 00 л/4 +U-J1 +I/V2 01 Зл/4 -1/V2 +1/V2 11 -Зл/4 -1/V2 -I/V2 10 -л/4 +1/V2 -1/V2
Гпава 6. С точки зрения канала передачи 325 Рис. 6.33. QAM-модулятор Чистый QAM-сигнал включает заостренные переходы на границах компо- нентов сигнала, как показано на рис. 6.33. Это означает, что практические модуляторы должны содержать специальные фильтры, формирующие соот- ветствующую форму импульса (на рис. 6.33 они доказаны в точках F, распо- ложенных до умножителя с несущей). Схема демодулятора сигналов QAM приведена на рис. 6.34. Рис. 6.34. QAM-демодулятор Амплитудные и фазовые компоненты сигналов квадратной QAM-модуляции достаточно сложны для распознавания, и в некоторых передающих средах это может привести к существенным трудностям. Хорошим примером такой ситуации является радиоканал. Определенные преимущества могут обеспе- чить другие методы групповой модуляции. Два конкретных примера — звез-
326 Передача данных в сетях: инженерный подход дообразная (star) QAM и круговая (circular) QAM, которые показаны на рис. 6.35, хотя, строго говоря, это скорее АРК-сигналы, чем сигналы QAM. При звездообразной QAM-модуляции (рис 6.35, а) предъявляются не очень высокие требования к средней мощности сигналов (для заданного минималь- ного расстояния между сигнальными точками). Поскольку от этого расстоя- ния зависит интенсивность ошибок, то такой вариант амплитудно-фазовой модуляции полезен для уменьшения интенсивности ошибок при передачах заданной мощности. Кроме того, сигналы заданной амплитуды в этом вари- анте амплитудно-фазовой модуляции имеют сдвиг по фазе 90°, что облегчает их распознавание в тех каналах, в которых фазовые искажения более вероят- ны, чем амплитудные (например, в телефонных каналах). Звездообразная QAM используется в некоторых модемных стандартах, например — в V29. Круговая QAM (рис. 6.35, б) — это PSK с двумя или большим количеством амплитудных уровней. Преимущество этого вида модуляции состоит в том, что использующееся в ней дифференциальное детектирование избавляет от необходимости восстановления несущей. Квадратура (q) 'lI011 1111 ООН \001 1101 -1 011IX 40001 •0000 • 1000 0101 -1 1110 а б Рис. 6.35. Варианты АРК: а — звездообразная QAM; б — круговая QAM С точки зрения передачи модулированного сигнала требование к ширине полосы канала у QAM-модуляции такое же, как у ASK, а с точки зрения передачи модулирующего сигнала — требуется полоса шириной ^is№(l + r)/?/log2»?, где г— коэффициент спада АЧХ-фильтра, R— ско- рость передачи в битах. Модуляция типа 4-QAM имеет те же показатели ин- тенсивности битовых ошибок, как и у -1/1 ASK (то есть у BPSK), но т-арный QAM имеет худшие показатели интенсивности ошибок сигнальных компо- нентов, поскольку сигнальные точки на его диаграмме расположены ближе
Гпава 6. С точки зрения канала передачи 327 друг к другу. Однако он работает лучше, чем /л-арный PSK, хотя системы модуляции 4-QAM и QPSK эквивалентны, и поэтому имеют примерно одина- ковые эксплуатационные характеристики. m-арные АРК-системы модуляции очень эффективны, особенно при больших значениях тп. Например, в модемах кабельного телевидения широко исполь- зуется системы 64-QAM (тп = 64) или 256-QAM (т = 256). Однако в каналах с высоким уровнем амплитудных и фазовых искажений (например, в радио- каналах) очень трудно отличить изменения, введенные в передаваемый сиг- нал каналом, от изменений, введенных передатчиком. Для этого требуется довольно сложная методика и аппаратура оценки текущих характеристик ка- нала. По этой причине схемы QAM-модуляции лишь относительно недавно были внедрены в мобильные радиосистемы. 6.6. Пример применения: ADSL Завершает главу, посвященную обзору канала, рассмотрение асимметричной цифровой абонентской линии (Asymmetrical Digital Subscriber Line, ADSL1’). ADSL — это интересная технология, которая показывает, как можно исполь- зовать модуляцию для расширения возможностей уже существующих пере- дающих сред, например, витых пар проводов. Она иллюстрирует постоянно меняющуюся тенденцию в экономике коммуникационных систем. Поскольку стоимость обрабатывающего оборудования постоянно падает, а стоимость монтажа новых линий передачи постоянно растет, то становится все более эффективным расширение возможностей уже существующих линий передач с помощью более сложной приемно-передающей аппаратуры. ADSL— это существенный элемент группы модемных технологий, из- вестных под общим названием xDSL. Другими членами этого семейства являются HDSL11 12, SDSL13 и VDSL14. Все эти технологии пытаются обеспе- чить относительно высокоскоростную связь между клиентом и коммуни- кационной сетью с использованием уже существующих в местной линии связи соединений через витые пары медных проводов. При этом, в зави- симости от конкретных условий, можно добиться скоростей передачи по- 11 ADSL-технология используется для несимметричного доступа по существующим телефонным линиям (на основе витых медных пар), позволяющая потребителю принимать сигналы со ско- ростью до 8 Мбит/с, а передавать — со скоростью до 1 Мбит/с на расстояние до 7 км. — Пер. 12 HDSL, High-bit-rate DSL — технология высокоскоростной передачи по абонентским цифро- вым линиям (кабелям на основе витых медных пар), обеспечивающая передачу двунаправ- ленных потоков информации на расстояние до 6 км со скоростью 2,048 Мбит/с; предложена компанией PairGain. — Пер. 13 SDSL, Symmetrical Digital Subscriber Line — симметричная цифровая абонентская линия. — Пер. 14 VDSL — Very high-bit-rate DSL — технология сверхскоростной передачи по цифровым абонентским линиям. — Пер.
$28 Передача данных в сетях: инженерный подход рядка нескольких десятков Мбит/с. Чтобы обеспечить высокоскоростной доступ, можно также применять и альтернативные технологии, такие как беспроводной доступ, связь по оптоволоконным линиям и через кабельные модемы, но почти все они требуют установки между пользователем и се- тью новой передающей среды. Учитывая огромный объем уже проложен- ных проводных линий связи и высокую стоимость прокладки любых но- вых кабелей, можно извлечь существенные выгоды от использовании уже установленного оборудования. Для использования xDSL-технологий дос- таточно просто установить в помещении клиента и в местном коммутаторе Подходящие модемы. Развертывание ADSL является теперь скорее поли- тической и экономической, а не технической проблемой. Уже существен- но проработаны стандарты xDSL, так что нет никаких препятствий на пу- ти внедрения подобных систем. Определение максимальных пределов широкого развертывания ADSL-систем — это теперь дело рынка, теле- коммуникационных компаний и соответствующих инспекций. Технология ADSL была стандартизирована в 1995 году (стандарт ANSI Т1.415) и первоначально поддерживалась воспринимаемой (но не осознавае- мой) потребностью в службах "визуализиции по требованию" (Video on De- mand, VoD). В таких службах возможности передачи по направлению "к кли- енту" должны быть намного большими, чем возможности передачи "от клиента", следовательно возникает потребность в асимметричной передаче данных. Такая характеристика присуща и сегодняшним Internet-технологиям, когда пользователи генерируют намного менее интенсивный трафик, чем ис- точники их информации. Так, для передачи запроса на Web-страницу требу- ется существенно меньшая полоса канала, чем для ее загрузки. Хочется ве- рить, что ADSL-технология еще сыграет заметную роль, которая позволит нам использовать всю мощь сети Internet и удалить из нее самое "узкое ме- сто" — 56-килобитовый модем. Хотя в телефонной среде работа кабелей, состоящих из медных витых пар, ограничена полосой 0—4 кГц, по таким проводам можно передавать сигналы и в полосе шириной свыше 1 МГц. В ADSL это достигается с помощью мето- дов частотного уплотнения (FDM), которые делят спектр на множество полос по 4 кГц каждая и используют их для переноса потоков данных (в обоих на- правлениях) между пользователем и устройством обмена, а также для под- держания выделенного канала в полосе (X—4 кГц для ведения речевого обме- на. Первые 25 кГц спектра распределяются для речевых сигналов (до 4 кГц)— неиспользуемая часть этого диапазона расходуется на предотвра- щение перекрестных помех между речевыми сигналами и сигналами данных. Использование первых 4 кГц для передачи речи позволяет осуществлять от- носительно простое взаимодействие с коммутационной сетью общего поль- зования (PSTN) через применение расщепляющих устройств. Сигналы в по- лосе частот выше 25 кГц служат для передачи информации между
Глава 6. С точки зрения канала передачи 329 пользователем и широковещательной сетью передачи данных, для чего и применяются модемные пары, поддерживающие ADSL. Для передачи данных в ADSL используются методы либо дискретной мно- готональной модуляции (Discrete Multitone modulation, DMT), либо ампли- тудно-фазовой модуляции без несущей (Carrierless Amplitude and Phase, CAP), либо квадратурной амплитудной модуляции (QAM). Первая из этих методик является стандартной и будет кратко описана далее. Основная концепция DMT, в сущности, весьма проста, но дает неправильное представление о сложности ее реализации. Спектр разделяется на множество индивидуальных каналов (256), каждый из которых связан со своим собственным несущим сигналом. Затем каждая несущая модулируется по QAM-методике, обеспечи- вающей потенциальную пропускную способность порядка 60 Кбит/с. Инди- видуальные модулированные несущие затем просто складываются, обеспечи- вая общую потенциальную пропускную способность 15,36 Мбит/с. Рис. 6.36. Спектр ADSL: ОТС — обычная телефонная сеть, КПС — канал от пользователя к сети, КСП — канал от сети к пользователю Частотные характеристики каждого индивидуального канала не одинаковы и возможности передачи информация каждого канала — разные (в зависимости от расстояния и состояния витой пары). Вообще, с увеличением несущей час- тоты частотная характеристика деградирует, что означает, что в более высо- кой части спектра информационная пропускная способность уменьшается. Во время установки модем определяет качество каждой несущей и соответст- вующим образом настраивает скорость передачи данных. Для передачи дан- ных устанавливается два диапазона частот: большой (около 256 каналов) — для входящих потоков и малый (32 канала) — для выходящих потоков. Эти диапазоны являются или отдельными частотными диапазонами, как показано на рис. 6.36, или малый выходной диапазон разделяет более низкую часть входного диапазона, но сохраняется в виде отдельного канала, используя эхо- подавление. Эхоподавление— это такая процедура, которая позволяет тер-
330 Передача данных в сетях: инженерный подход миналу извлечь сигнал удаленного передатчика из смеси сигналов, переда- ваемых по одному каналу, поскольку каждый терминал знает, что он сам пе- редает. При таком подходе этап эхоподавления увеличивает сложность мо- демных устройств, но обеспечивает серьезное усовершенствование и гибкость передач. Хотя, как можно видеть, ADSL предлагает скорости передачи, превышающие 10 Мбит/с, но некоторые технические факторы ограничивают эти скорости до 1,5—9 Мбит/с для нисходящих потоков данных и до16—640 Кбит/сдля ис- ходящих. К таким факторам относят затухание в линии, баланс кабеля, ин- терференцию радиочастот и перекрестные помехи на ближнем или на даль- нем конце канала. Для уменьшения влияния шумов применяется комбинация интерливинга (чередования) и прямого исправления ошибок (FEC), исполь- зующего коды Рида-Соломона. Существенное влияние на частотную харак- теристику и способность передавать информацию по конкретной кабельной линии оказывают как ее длина, так и радиосигналы, но ADSL-технология адаптивна и может изменять ширину полосы, чтобы удовлетворять требова- ния установленного соединения и максимизировать предлагаемую ширину полосы. 6.7. Вопросы к главе 6.6.1. Вопросы по пропускной способности канала 1. Двоичный симметричный канал с вероятностью перехода 1/4 каскадно соединен со вторым каналом с такой же с вероятностью перехода (1/4), так что выходной сигнал первого канала направляется во второй. Обозна- чим вход в первый канал через X, выходной сигнал первого канала и вход во второй — через У, а выходной сигнал второго канала — через Z. Ис- точник в Л" генерирует 0 с вероятностью 1/3, а 1 — с вероятностью 2/3. а) вычислите Н (X | У); б) вычислите взаимную информацию между А" и У; в) вычислите Н (X | Z); г) вычислите взаимную информацию между X и Z. 2. Двоичный канал со стиранием имеет следующую форму (рис. 6.37).
Глава 6. С точки зрения канала передачи 331 Рис. 6.37. Форма двоичного канала (к вопросу 2) Какова его пропускная способность в терминах вероятности //? 3. Телефонный канал имеет полосу шириной 3,4 кГц: а) вычислите пропускную способность канала, если отношение сиг- нал/шум составляет 30 дБ; б) вычислите минимальное отношение сигнал/шум, требуемое (теоре- тически), чтобы поддерживать передачу информации со скоростью 4800 бит/с.
This page intentionally left blank
Глава 7 Соединим все вместе 7.1. Введение В этой главе на примере двух коммуникационных систем рассматриваются принципы проектирования, описанные в предыдущих главах. 7.2. Мобильная телефонная система GSM В качестве первого примера рассмотрим систему мобильной цифровой теле- фонии, которую иногда относят к системам второго поколения (она считается наследницей систем аналоговой телефонии первого поколения). Существует несколько стандартов таких систем, включая cdmaOne™ — в Соединенных Штатах и PDC — в Японии. Каждый из них по-разному решает проблемы связи, но здесь будет рассматриваться только глобальная система мобильной связи GSM (Global System for Mobile communications), широко используемая в Европе и во многих других частях мира. 7.2.1. Передающая среда Средой передачи для систем мобильной телефонии является атмосфера. В то время как инфракрасный канал может работать лишь на небольших расстоя- ниях и в закрытом помещении, единственным практическим выбором для мобильной системы является радиоканал. Из-за большого числа желающих воспользоваться этим довольно ограниченным ресурсом, доступ к радиочас- тотному спектру регулируется и ограничивается правительством. Для мо- бильных цифровых радиосистем выделены два диапазона частот в районе 900 МГц (890—915 МГц и 935—960 МГц). 7.2.2. Кодирование и модуляция Кодированный сигнал можно передавать либо в основной полосе частот, ли- бо модулируя им некоторую несущую частоту. Модуляция необходима по- тому, что среда может передавать сигнал только в относительно узком диапа- зоне частот вокруг несущей.
334 Передача данных в сетях: инженерный подход В принципе можно использовать модуляцию любого вида— амплитудную, частотную или фазовую. Амплитудную модуляцию применять нет смысла из- за сильных колебаний коэффициента затухания в радиоканалах, так что на приемном конце канала довольно трудно разобраться, произошли ли измене- ния амплитуды сигнала вследствие изменений свойств канала или она изменя- ется уже на выходе передатчика. Достаточно эффективной является фазовая модуляция, но при сопровождающих ее резких изменениях формы выходного сигнала может потребоваться радиоканал с довольно широкой полосой про- пускания (если не использовать специальных методов формирования фазы). Чтобы избежать искажений, вызванных применением специальных методов формирования амплитуды выходного сигнала1, приходится использовать дос- таточно сложные и энергоемкие линейные усилители. Если точная форма ам- плитуды принимаемого сигнала не имеет особого значения, то можно исполь- зовать более простые в изготовлении и менее энергоемкие нелинейные усилители, что достаточно важно, например, для устройств с батарейным пи- танием. В связи с усовершенствованием схем передатчиков в последние годы стали доступны более дешевые и эффективные линейные усилители, так что некоторые системы радиосвязи теперь используют фазовую модуляцию, но когда разрабатывалась система GSM, это был опасный выбор. Поэтому с само- го начала разработки в GSM используется частотная модуляция. Для частотной модуляции можно было выбрать либо FSK — обычную час- тотную манипуляцию, либо MSK — минимальную частотную манипуляцию. MSK использует каналы с меньшей (по сравнению с FSK) полосой пропуска- ния, и поэтому является более предпочтительной для систем, в которых нуж- но максимизировать число пользователей (а следовательно, и доходы) ком- пании, предлагающей услуги связи. На самом деле, перед передачей в канал GSM использует специальный метод формирования (фильтрации) импульсов модулирующего сигнала. Вместо "приподнятой" косинусоиды (см. главу 6) они имеют форму гауссовой кривой. Соответствующую методику частотной модуляции называют гауссовой минимальной частотной манипуляцией (Gaussian Minimum Shift Keying, GMSK), но цель ее — та же, что и у MSK — снижение требований к ширине полосы канала и уменьшение резких колеба- ний частоты сигнала. 7.2.3. Управление средой доступа Радиоканал — это разделяемая, общедоступная среда, поэтому для нее нужно обеспечить коллективный, множественный доступ. Система должна обеспе- чить поддержку и гибкое обслуживания большого количества пользователей. 1 Например, фильтров с АЧХ в форме "приподнятой косинусоиды" (см. главу 6). — Пер.
Глава 7. Соединим все вместе 335 При разработке в GSM-систему заложено два режима множественного дос- тупа — FDMA (с разделением частот) и TDMA (с разделением времени). При использовании FDMA каждой паре передатчик/приемник выделяется собственный диапазон частот. Система проста, но с точки зрения мобильной коммуникационной системы она имеет множество недостатков. Между частотными каналами должен существовать некоторый защитный ин- тервал. Для передачи речи не нужно передавать больших объемов информа- ции, так что можно использовать не очень широкие каналы. Но, во-первых, это означает, что защитные интервалы будут занимать существенную долю спектра, что уменьшает эффективность использования выделенной радиока- налу общей полосы частот. Во-вторых, поскольку в FDMA-режиме передача ведется непрерывно во времени, то для организации дуплексной (то есть од- новременной двусторонней) связи, необходимой для передачи речи, каждый терминал должен быть оборудован передатчиком и приемником, работаю- щими одновременно. Проблема несколько сложнее из-за того, что, если мо- бильный телефон должен иметь возможность связываться и с другими (не .только со своим) передатчиками, то каждый раз, когда потребуется связь с третьим лицом, он должен будет сообщать операторам GSM, что выходит из данной ячейки. Это неудобно и довольно дорого. Так как GSM — цифровая система, то альтернативой частотного разделения каналов (FDMA) является их временное разделение (TDMA). Однако, если бы использовалось одно временное разделение, то возникла бы проблема, со- стоящая в том, что все пользователи работали бы на одной и той же несущей, и единственным способом ограничить интерференцию сигналов в смежных временных интервалах (слотах) был бы отказ от использования смежных ин- тервалов, т. е. смежных ячеек системы. Это потребовало бы, чтобы базовые станции функционировали в четко выделенных и выровненных временных интервалах, а управление ресурсами работало бы со всей системой в целом. Поэтому в GSM используется комбинация FDMA и TDMA. В этом случае возникает вопрос — как организовать разделение и распреде- ление общей полосы частот канала для временных слотов TDMA? Для высо- кочастотных несущих накладные расходы на защитные интервалы уменьша- ются. Однако это уменьшает гибкость процесса управления интерференцией и методов распределения несущих между ячейками системы. Сначала FDMA расщепляет весь выделенный GSM-системе спектр частот на ряд несущих с интервалом в 200 кГц, а затем используется TDMA, разделяющая временной интервал на кадры, каждому из которых выделяется своя несущая. Каждый кадр разделяется на восемь слотов, несущих закодированный речевой сигнал (рис. 7.1).
336 Передача данных в сетях: инженерный подход Пакет GSM содержит два блока данных, разделенных настроечными после- довательностями. Настроечная последовательность — это заранее извест- ный набор битов, который позволяет приемнику оценивать состояние канала. На рис. 7.1 показан нормальный пакет, предназначенный для передачи речи. Но существует несколько пакетов других, более специфических форматов — для передачи различных сигналов, хотя все они размещаются в той же 156,25-битовой структуре. Кадр GSM, 4,165 мс 3 57 1 26 1 57 1 8,25 битов <---------------------- Длина пакета 148 битов--------------------Ы <--------- 1 временной слот -156 J4 бит-периодов = 15/26 (0,577) мс -----------► Рис. 7.1. Структура нормального пакета, слота и кадра GSM Чтобы организовать эффективную дуплексную работу с полудуплексным приемо-передатчиком, GSM творчески подошла к использованию TDM- системы, что в итоге привело к уменьшению затрат. За исключением выделе- ния слотов, TDMA-система не ведет передач. GSM использует эти незанятые интервалы двумя способами. Во-первых, в них можно вести передачу в про- тивоположном направлении. Слоты GSM нумеруются так, что передаваемый от телефона к центральной станции (uplink) слот, располагается на три слота позже принимаемого им от станции (downlink) слота (рис. 7.2). Мобильный телефон принимает данные в выделенном ему слоте (например, в слоте 2) и затем (в слоте 3) переключается в режим передачи, чтобы передать третий, следующий за ним слот (5) в обратном направлении (на центральную стан- цию). Это можно сравнить с чистой FDMA-системой, для дуплексной работы которой требуются одновременно работающие раздельные передатчик и при- емник. Четыре остальных слота кадра (1,6, 7 и 8) GSM использует для подго- товки данного (и всех других) абонентских каналов к приему новых сообще-
Глава 7. Соединим все вместе 337 ний, переключения на другой канал, контроля мощности сигнала других цен- тральных узлов (для того чтобы решить, не выгоднее ли подключить абонен- та к другой ячейке сети). Передача на мобильный Кадр 1 Кадр 2 Кадр 3 Состояние мобильного телефона телефон (Downlink) (Uplink) Передача от мобильного телефона | 11 21 3| 4Е б| 7| 8|1| 2 6Г7Т81 Рис. 7.2. GSM организует дуплексную передачу, используя только одно направление в каждый момент времени Такая структура TDMA приводит к более гибкой инициализации служб. На- значая несколько слотов каждому кадру, GSM может поддерживать более высокоскоростные службы. Такой подход используется в технологии HSCSD2. Кроме того, с его помощью можно также поддерживать речевую службу, использующую половину нормальной скорости передачи. Ее называ- ет службой "полускоростной" передачи речи (half-rate speech). Поскольку речь передается на мобильный телефон только в каждом втором кадре, тре- буется более сложный речевой кодер, но число поддерживаемых пользовате- лей при этом удваивается. 7.2.4. Кодирование Для кодирования речи требуется хорошая, четкая речь и низкая скорость пе- редачи (битрейт). Существуют следующие методы кодирования речи: □ обычная импульсно-кодовая модуляция (ИКМ); □ адаптивная ИКМ; □ дифференциальная (или разностная) ИКМ; □ преобразующие кодирующие устройства; □ векторные кодирующие устройства. 2 HSCSD — High Speed Circuit Switched Data, технология высокоскоростной передачи данных по коммутируемым каналам. Используется в сетях GSM и обеспечивает увеличение скорости передачи данных до 14,4 Кбит/с, а с мультиплексированием четырех каналов в одном вре- менном слоте — до 57,6 Кбит/с (фирма Nokia). — Пер.
338 Передача данных в сетях: инженерный подход Поскольку внедрение комбинированных кодеков в практику GSM еще только намечается, то можно использовать и отдельные аудиоречевые или вектор- ные кодирующие устройства. Для них нужна более мощная обработка, но они выгодны в долгосрочном плане — из-за уменьшения требуемой скорости пе- редачи. В GSM используется специальный (RPE/LPC3) кодек, который коди- рует речь со скоростью 13 Кбит/с. Полускоростной речевой канал использует VSELP-кодирование4. Векторный кодек очень восприимчив к ошибкам из-за высокой степени их сжатия. Вследствие крайне невысокой помехоустойчивости среды передачи (с вероятностью битовой ошибки до 1%, по сравнению с 10“’° для высокока- чественного оптоволокна), требуется хорошая стратегия защиты от ошибок. Известны следующие способы защиты: □ маскировка ошибок; □ прямое исправление ошибок; □ коррекция ошибок с обратной связью. Методику коррекции ошибок с обратной связью не следует использовать при передаче речи из-за задержек, которые она вводит, работая с системой TDMA. К тому моменту, когда блок мог бы быть передан повторно, он уже не будет больше актуален. Однако в GSM имеется режим передачи данных, который использует ARQ-протокол. На речевых каналах используется ком- бинация методик маскировки и прямого исправления ошибок. Для прямого исправления ошибок можно выбирать между блочными и свер- точными кодами в режиме чередования (интерливинга). С учетом высокой интенсивности ошибок, предлагающие подходящую защиту блочные коды могут оказаться довольно сложными. Поэтому в GSM используются свер- точные коды. Однако у них довольно низкие скоростные характеристики, и поэтому, чтобы уменьшить число передаваемых битов, в речевых каналах защищаются только наиболее важные из них, тогда как при передаче данных защищаются все биты. Все биты речевого сигнала разделены на три класса: la, 1b и 2 (рис 7.3), причем биты наименее важного класса передаются без какой-либо защиты. Биты двух других классов имеют некоторую защиту, но, хотя отдельные ошибки допустимы, в особенности в битах наименее важного класса, ошибки в битах самого важного класса будут ухудшать звучание даже по сравнению 3 RPE/LPC — Regular Pulse Excitation/Linear Predictive Coding, кодироваение с регулярным возбуждением импульсов и линейным предсказанием. — Пер. 4 VSELP — Vector Sum Excited Linear Predictive coding, кодирование с возбуждением векторных сумм и линейным предсказанием. — Пер.
Гпава 7. Соединим все вместе 339 с простой маскировкой ошибочных кадров. Поэтому наиболее важные биты защищаются методом циклической проверки избыточности (CRC) и затем — сверточным кодированием. Если CRC-проверка принятого блока оказывается неудачной, то речевой блок маскируется путем замены его на блок "полной тишины". Речевой кадр (20 мс), упорядоченный по классам качества речи Кодированный речевой кадр 456 битов Рис. 7.3. Кодирование канала для речевого кодера GSM 456-битовый кадр кодированной речи разделяется на восемь 57-битовых бло- ков, каждый из которых передается в половине нормальных пакетов. Это обеспечивает интерливинг более чем для восьми GSM-кадров и помогает за- щите от ошибок, но приводит к задержке в 40 мс. Поэтому каждый GSM- пакет передает только части двух речевых кадров. Однако временной размер слота (4,615 мс) немного меньше 5 мс, которые необходимы для передачи этих речевых блоков. Это позволяет использовать каждые два кадра из 26 для передачи сигнальной информации (без прерывания потока пользовательских данных). 7.3. Передача речи по IP-каналам (VoIP) Как только Internet и IP-протокол получили достаточно широкое распростра- нение, возникла проблема транспортировки для одной из их самых широко распространенных пользовательских служб — службы передачи речи. Одна- ко в использовании IP-протокола как средства передачи речи существует ряд
340 Передача данных в сетях: инженерный подход проблем, поскольку это обычная пакетно-ориентированная система, только с лучшим качеством обслуживания. 7.3.1. Требования Речь можно кодировать с помощью различных кодеков, с разными скоростя- ми передачи и качеством. Стандартное телефонное ИКМ-кодирование обес- печивает скорость 64 Кбит/с, тогда как стандарт G.723.3 — только 5,3 Кбит/с. Возможны даже более низкие скорости — так кодек, используемый в частной системе мобильной радиосвязи TETRA, использует векторный ACELP-кодек5 с битрейтом 4,567 Кбит/с, но на таких скоростях становится трудно распо- знать говорящего (хотя то, что он говорит, понятно). Такие скорости неже- лательно использовать в стандартной телефонии. При низких скоростях передачи требуется весьма сложная обработка, хотя все кодеки, перечисленные в табл. 7.1, имеют примерно одинаковые средние оценки мнений экспертов (Mean Opinion Score, MOS) — качественной меры качества речи. Таблица 7.1. Характеристики речевого VoIP-кодека Кодек Сжатие Частота кван- тования Битрейт (скорость передачи) РСМ РСМ 8 кГц 64 Кбит/с G.727 ADPCM 8 кГц 40, 32, 24 или 16 Кбит/с GSM Векторное (PRE/LPC) 8 кГц 13 Кбит/с G.729 Векторное 8 кГц 8 Кбит/с (G.729A) G.723.3 Векторное 8 кГц 6,4 или 5,3 Кбит/с MP3 Различное (в основном — преобразование) 90 кГц Переменная, включая 128 и 112 Кбит/с Гораздо большее значение, чем требование определенной битовой скорости передачи (учитывая тот факт, что речь идет о транспортировке пакетов), имеют требования к задержкам. Передача речи очень чувствительна к таким задержкам. Задержки меньше чем примерно 150 мс — не заметны, задержки порядка 150—400 мс— еще терпимы, а те, что выше этого предела— уже 5 ACELP — скорее всего, это Algebraic Codebook-Excited Linear Predictive, алгебраическое ли- нейное прогнозирование с помощью кодовой книги (таблицы). —Ред.
Гпава 7. Соединим все вместе 341 нет. Это — очень жесткое требование, особенно, если речь идет об объеди- ненных сетях. Поскольку речь более терпима к потерям кадров, то лучше сбрасывать сильно задержанные пакеты, чем сохранять их. По этой причине проектировщики сетей пытаются добиться задержек, не превосходящих при- мерно 50 мс. Существенное влияние на качество речи оказывает дрожание (колебание) моментов прибытия отсчетов (выборок) данных или пакетов. Поскольку пе- редача речи терпимо относится к потере пакетов, то эффект дрожания можно в определенной степени минимизировать при помощи последовательной ну- мерации и временных меток (time stumps) речевых пакетов, которые указы- вают, когда пакет был послан. Однако лучшие результаты может дать про- пуск задержанных пакетов. Чтобы сбалансировать потери и задержки, можно добавлять в приемнике специальные задержки воспроизведения (например, путем организации кратковременных очередей пакетов, позволяющих вы- ровнять задержки), но при этом сами задержки могут недопустимо возрасти. Установка слишком жестких ограничений на задержки может привести к сбросу любых задержанных пакетов, а это означает, что интенсивность по- терь окажется слишком высока. При работе адаптивных схем оценивается величина и дисперсия (разброс) сквозных сетевых задержек и устанавливают- ся соответствующие пороги. Это можно сделать с помощью растяжения или сжатия интервалов "тишины", что позволяет изменять задержки. 7.3.2. Защита от ошибок Хотя IP-протокол считается наилучшим механизм транспортировки, во время передачи пакеты могут быть потеряны (обычно из-за перегрузки сети), кроме того, они могут быть преднамеренно сброшены, потому что их время переда- чи превысило приемлемые пределы. В применениях реального масштаба времени, подобных передаче речи, восстановление потерянных пакетов при наличии повторных передач не имеет особого смысла из-за того, что это тре- бует определенного времени. Поэтому приходится использовать либо режим маскировки ошибок, либо режим прямого их исправления. При маскировке ошибок приемникам приходится либо заменять потерянные пакеты дубликатами уже полученных пакетов, либо пытаться интерполиро- вать между отсчетами сигнала. Последнее подразумевает небольшое увели- чение времени ожидания, поскольку для хранения отсчетов требуется буфер. Методика прямого исправления ошибок (FEC) требует передачи дополни- тельных данных. В VoIP эти дополнительные данные могут быть в форме либо дополнительных (избыточных) отсчетов, либо передачи дополнительно- го потока данных более низкого качества. Когда пакеты теряются, то, чтобы восстановить часть потерянного потока, можно использовать дополнитель-
342 Передача данных в сетях: инженерный подход ные данные. Как обычно, при использовании FEC-методики борьбы с ошиб- ками существует цена, которую нужно будет за это заплатить — дополни- тельная ширина полосы канала. Для минимизации потерь пакетов может использоваться интерливинг. Рече- вой сигнал буферизуется, а его отсчеты перед передачей переупорядочивают- ся и пакетируются. Это увеличивает задержку, но приводит к минимальным издержкам при передаче. 7.3.3. Протокол передачи Для управления передачей пакетов с закодированными речевыми сигналами по IP-сети требуется протокол управления каналом. Для этого используются два протокола. Первый— UDP, протокол пользовательских данных, а над ним в стеке протоколов (рис. 7.4) находится второй — RTP, протокол реаль- ного времени. Для передачи трафика мультимедийных потоков (стандартного или нестан- дартного) RTP-протокол использует пакеты обычного формата. Структура кадра RTP показана на рис. 7.5. Он состоит, как минимум, из 12 байтов. В первых двух битах RTP-заголовка (поле версий, v) указывается версия прото- кола RTP (в настоящее время это версия 2). Следующее поле содержит два бита: р, который указывает, были ли добавлены в конце поля с полезной на- грузкой символы-наполнители (они обычно добавляются, если транспортный протокол или алгоритм кодирования требуют использования блоков фикси- рованного размера), и х, который указывает, используется ли расширенный заголовок. Следующие четыре бита (сс) определяют число CSRC-полей в конце RTP-заголовка (то есть число используемых источников). Маркерный бит м позволяет отмечать то, что стандарт определяет как существенные со-
Глава 7. Соединим все вместе 343 бытия, например, границы кадра. За ним следует поле рт (7 бит), где указы- вается код типа полезной нагрузки, определяющий содержимое поля полез- ной нагрузки Данные приложения (Application Data). По такому коду прило- жение может узнать, что нужно делать, чтобы декодировать эти данные (см. примеры на рис. 7.5). Остальная часть заголовка фиксированной длины со- стоит из поля Последовательный номер кадра (Sequence #), поля метка времени (Time Stamp) и поля источника синхронизации (ssrc), которое иден- тифицирует этот источник. В этом поле можно указывать единственное уст- ройство, имеющее только один сетевой адрес, множественные источники, которые могут представлять различные мультимедийные среды (аудио, видео и т. д.) или различные потоки одной и той же среды. Так как источники могут быть на различных устройствах, SSRC-идентификатор выбирается случай- ным образом, так чтобы шанс получать данные сразу от двух источников во время RTP-сеанса был минимальным. Однако определен также и механизм решения конфликтов, если они возникают. .. 11 11 Заголовок IP Звголовок UDPI; Данные приложения |У|Р|Х|СС|М| РТ I О = 64 Кбит/с РСМ 3 = 13 Кбит/с GSM 14 = MPEG Аудио 32 = MPEG1 Видео 16 Последова- тед^ный № Метке времени SSRC CSRC Рис. 7.5. VoIP-заголовки За фиксированной частью RTP-заголовка могут следовать до 15 32-разрядных CSRC-полей. Они идентифицируют источники данных. Пример их использо- вания приведен на рис. 7.6, где показан смеситель, который получает RTP- пакеты из двух различных источников и комбинирует их. Поток на выходе смесителя включает SSRC-сигналы от самого смесителя и сигналы от двух источников — S-А и S-С. Поля CSRC смеситель использует для идентифика- ции исходных компонентов. Благодаря смесителям устройства, обладающие различными возможностями, могут получать из потока то, что им требуется. RTP поддерживается другим протоколом — протоколом управления реально- го времени (Real Time Control Protocol, RTCP), который обеспечивает допол- нительные отчеты, содержащие информацию о сеансах связи RTP. Обратите внимание, что ни UDP-, ни RTP-протоколы не обеспечивают никаких служб повышения качества (QoS). Эти задачи должны решать сами приложения.
344 Передача данных в сетях: инженерный подход Рис. 7.6. Потоки после смесителя RTCP-протокол обеспечивает обратную связь с отправителями, а получате- лям потоков он предоставляет службы повышения качества, информацию о пакетах (потери, задержки, "дрожание") и сквозную информацию о пользо- вателе (приложении или потоке). Для управления потоком существуют от- четы двух типов — генерируемые отправителями и генерируемые получа- телями. Например, информация о доле потерянных пакетов и абсолютном количестве потерь позволяет отправителю (при получении отчета) обнару- живать, что перегрузка канала может заставить получателей не принимать потоки обслуживающих пакетов, которые они ожидали. В этом случае от- правитель имеет возможность понизить скорость кодирования, чтобы уменьшить перегрузку и улучшить прием. Отчет отправителя содержит информацию о том, когда был сгенерирован последний RTP-пакет (она включает как внутреннюю метку времени, так и "реальное" время). Эта ин- формация позволяет получателю координировать и синхронизировать мно- жественные потоки, например, видео и аудио. Если поток направляется не- скольким получателям, то организуются потоки RTCP-пакетов от каждого из них. При этом будут предприняты шаги для ограничения ширины поло- сы — обратно пропорционально скорости, с которой генерируются RTCP- отчеты, и числу получателей. Хотя RTCP работает отдельно от RTP, но цепочка RTP/UDP/IP приводит к существенным накладным расходам (в виде их заголовков). Кодек G.729 ге- нерирует пакеты размером в 10 байтов (80 битов каждые 10 мс). Один RTP- заголовок, размером в 12 байтов, больше, чем весь этот пакет. К нему, кроме того, должен быть добавлен 8-байтовый UDP-заголовок и 20-байтовый IP- заголовок (в версии IPv4), что создает заголовок, в четыре раза превосходя- щий по размеру передаваемые данные. Только 20% фактически переданных битов— данные пользователя. Грядущая версия IP-протокола (IPv6) увели- чит заголовок еще на 12 байтов. Очевидный путь сокращения этих накладных расходов — увеличить размеры передаваемых пакетов. Но чем больше пакеты, тем больше интервал дискре-
Глава 7. Соединим все вместе 345 тизации и тем выше задержки. Однако, если голосовые вызовы направляются от одного источника к одному и тому же адресату (что имеет место, напри- мер, если VoIP-протокол используется для транспортировки речевых вызовов между ISP (Internet-провайдером) и телефонной сетью), то разные речевые потоки можно мультиплексировать, используя слегка расширенный RTP- заголовок. Можно предложить другое решение, если обратить внимание, что многие поля заголовка в передаваемых пакетах не изменяются от пакета к пакету. Такой заголовок может быть сжат, чтобы удалить эту избыточную информацию, а статическую информацию можно сохранять в источнике и адресате. 7.3.4 Архитектура Все, о чем было сказано ранее, помогает поддерживать речевую связь между двумя терминалами по VoIP-протоколу. Однако существует одна проблема, которая касается всей системной архитектуры и состоит, в частности, в необ- ходимости предварительной установки сеансов связи. Одним из возможных решений является использование для этих целей про- токола инициализации сеанса связи (Session Initiation Protocol, SIP), который определяет протоколы для идентификации терминалов и определения их спо- собности работать либо на IP-сетях, либо через прямую связь с терминалом, либо с помощью сервера регистрации, определяющего их положение в сети. SIP-протокол обеспечивает средства только для начала сеанса связи — он не поддерживает проведения этих сеансов. Более общее решение, которое поддерживает не только установку сеанса связи, но также и соединение с телефонной сетью общего пользования (Public Switched Telephony network, PSTN) — это стандарт H.323 для аудио- и видео- конференций в среде Internet (работающих в реальном масштабе времени). Его архитектура показана на рис. 7.7. В стандарте Н.323 определены сле- дующие элементы: □ конечные пункты (терминалы)— это автономные устройства, которые действуют как источники и адресаты сеанса связи. Ими могут быть персо- нальные компьютеры и вычислительные устройства или телефонные уст- ройства PSTN; □ интерфейс между сетями различных типов, который обеспечивается шлю- зами. Обычно считают, что между PSTN и IP-сетью должны быть располо- жены специальные интерфейсные устройства. Как данные, так и остальные (например, служебные) передаваемые сигналы обычно подвергаются пре- образованию, например, PCM-потоки скоростью 64 Кбит/с и все сигналы, передаваемые между двумя сетевыми доменами, преобразуются в RTP-пакеты (и наоборот). Под сигнализацией (signalling) понимают меха-
346 Передача данных в сетях: инженерный подход низмы, с помощью которых обеспечиваются сквозные (end-to-end) функ- циональные возможности и службы пользователей; □ дополнительные функциональные возможности — их обеспечивает спе- циальная система, которую называют привратником (gatekeeper). При- вратники обеспечивают такие функции, как преобразование адресов, вы- писку счетов, авторизацию (контроль доступа, определяющий права доступа абонентов) и управление шириной полосы пропускания канала. Кроме того, привратники могут связываться непосредственно со шлюза- ми (от имени концевых пунктов), что обеспечивает более гибкие функ- циональные возможности по сравнению с прямой связью. Логическая группа конечных пунктов, обслуживаемая одним привратником, называ- ется доменом. Рис. 7.7. Архитектура VoIP-протокола Стандарт Н.323 — это всеобъемлющая спецификация, которая для достиже- ния своих целей использует несколько, других протоколов и стандартов. Стек протоколов разделен на две части— протоколы приложений и протоколы управления (рис. 7.8). Аудиостандартом по умолчанию является G.711, который представляет речевой PCM-сигнал со скоростями 64/56 Кбит/с. Поддерживаются также и другие речевые стандарты — G.lxx. Хотя поддержка видеостандартов — не- обязательна, но серия стандартов Н.26х все же поддерживается. Данные при- ложений инкапсулированы (защищены) и пересылаются через протоколы RTP и RTCP.
Гпава 7. Соединим все вместе 347 Аудио/Видео приложения Управление системой Рис. 7.8. Стек протоколов для данных пользователя и управления стандарта Н.323 Управление системой обеспечивается на разных уровнях. RAS-протокол6 управления каналом (Н.225) позволяет конечным пунктам связываться с при- вратником, если он присутствует. Стандарт Q.931 отвечает за установление и Завершение сеансов связи и обеспечивает стандарт PSTN функциональными Возможностями вызова конечных пунктов. Протокол Н.245 не связан полосой Пропускания. Он используется для установки таких протоколов, которые ис- пользуются каждым конечным пунктом стандарта Н.323. Другой архитектурой, имеющей ряд преимуществ по сравнению с архитектурой Н.323 и поддерживающей более широкий, чем IP, диапазон Се- ргей, является MEGACO (Media Gateway Control Protocol, протокол управле- ния шлюзовой средой). В этой сети шлюзы поддерживаются меньшим количеством шлюзовых контроллеров, что упрощает сами шлюзы и сокраща- ет их стоимость. 6 RAS — Registration/Admission/Status, протокол, обеспечивающий регистрацию, администри- рование и состояние канала. — Пер.
This page intentionally left blank
Глава 8 Ответы на упражнения 8.1. Ответы на вопросы к главе 2 8.1.1. Ответы на вопросы по теории информации 1. Каково количество информации (в битах) для следующих событий: а) бросание одной монеты: I = log2s, где s — число событий. Для бросания монеты существуют два события, поэтому 1= log22 = 1 бит; б) бросание двух игральных костей: при бросании двух костей учитывается 2 набора равновероятных ре- зультатов эксперимента (р(= 1/6, /=Д, 2,..., 6), поэтому /= 2xlog26 = 5,170 бита. Тот же ответ можно получить, если рас- сматривать 36 равновероятных результатов бросания двух костей, когдар, - 1/36, i =1,2,..., 36. В этом случае 1= log236 = 5,170 бита; в) вытаскивание карты из перетасованной колоды: рассматривая каж- дую карту индивидуально, рассматривая каждую масть отдельно, рассматривая каждую карту независимо от масти и рассматривая только цвет карты: в первом случае рассматривается 52 равновероятных события, так что 1= log252 = 5,70 бита. В втором — 4 возможных результата (тре- фы, пики, черви, бубны), так что I = log24 = 2 бита. В третьем случае будет 13 различных результатов, так что I = log213 = 3,70 бита. На- конец, карты могут быть красными или черными, что дает I = log22 = 1 бит информации. 2. Путем разумных рассуждений в отношении разрешающей способности изображений, оцените количество информации телевизионного изображения формата PAL: ответ весьма зависит от предположений. Будем рассматривать каждый элемент изображения на экране как один символ. Каждый из этих символов
350 Передача данных в сетях: инженерный подход имеет три цвета, скажем, с 1024 различимыми значениями каждый. Поэто- му количество информации каждого элемента изображения I - log210243 = 30 битов. В телевизионном кадре 625 строк, хотя видим мы из них только 600. Предполагая одинаковое разрешение по строкам, имеем по 800 элементов в каждой строке. Поэтому полное число элементов (или символов) кадра равно 480 000. Следовательно количество информации каждого кадра составляет приблизительно 14 400 000 битов. Кадры меняются на экране с частотой 25 кадров/с. Однако фактическая информация в TV-сигнале, хотя и велика, но не настолько, потому что этот анализ предполагает, что все элементы изображения могут прини- мать любое значение. Однако, ширина полосы ТВ-канала не столь велика, потому что соседние элементы изображения очень взаимосвязаны. 3. Вычислите энтропию следующих событий бросания пары игральных костей: а) рассматривая индивидуальные очки на каждой кости (то есть считая выпадение очков (1,6) и (6,1) разными событиями): имеется 36 возможностей с вероятностью 1/6 каждая. Поэтому эн- тропия равна-36 х (1/36) log2(l/36) = 5,170 бита; б) рассматривая очки безотносительно порядка их расположения на костях (то есть считая выпадения очков (1,6) и (6,1) как одно и то же событие): имеется 6 возможностей с выпадением одинаковых очков, 30 ос- тальных возможностей — это фактически 15 пар эквивалентных ре- зультатов, каждый из которых имеет два шанса появления (2/36). Поэтому энтропия равна: -6 х (1/36) х log2( 1/36) - 15 х (2/36) х log2(2/36) = = 0,862 + 3,475 = 4,337 бита; в) рассматривая только сумму очков: здесь существует 11 возможностей, показанных в табл. 8.1. Таблица 8.1. Суммы очков при бросании 2-х игральных костей Сумма Событие Число 2 (1, D 1 3 (1,2) (2, 1) 2 4 (1.3) (2, 2) (3. 1) 3 5 (1,4) (2, 3) (3, 2) (4, 1) 4 6 (1,5) (2, 4) (3, 3) (4, 2) (5, 1) 5
Гпава 8. Ответы на упражнения 351 Таблица 8.1 (окончание) Сумма Событие Число 7 (1, 6) (2, 5) (3, 4) (4, 3) (5. 2) (6, 1) 6 8 (2, 6) (3, 5) (4, 4) (5, 3) (6, 2) 5 9 (3, 6) (4, 5) (5, 4) (6, 3) 4 10 (4, 6) (5, 5) (6, 4) 3 11 (5, 6) (6, 5) 2 12 (6,6) 1 Вероятности 11 событий равны 1/36, 2/36, 3/36, 4/36, 5/36, 6/36, 5/36, 4/36, 3/36 2/36, 1/36, поэтому энтропия равна: -(1/36) X log2(1/36)- (2/36) X 1о&(2/36)- (3/36) х log2(3/36)- (3 /36) х х log2(4/36) - (5 /36)х log2(5 /36) - (6/36) х 1о& (6/36) - (5 /36) х log2(5 /36)- - (4/36) х log2 (4/36) - (3/36) х log2(3/36) - (2 /36) х log2(2 /36) - (1 /36) х х log2 (1 /36) = 2,711 бита; г) сколько информации (в среднем) дает сумма очков об индивидуаль- ных очках, выпавших на каждой кости: • пусть А"— очки, выпавшие на одной кости, a Y— сумма очков, вы- павших на обоих костях. Это означает, что Н(Х) — энтропия выпав- ших очков индивидуальной кости, а 77(А' | Y) — остаточная энтропия выпавших очков индивидуальной кости при заданной их сумме на обоих костях. Если сумма равна 2 или 12, то существует только один возможный результат, так что остаточная энтропия равна 0. Для суммы выпав- ших на двух костях очков, равной 3, имеется два одинаково вероят- ных возможных результата бросания: (2, 1) и (1, 2), так что остаточ- ная энтропия равна 1, и т.д. Результаты для каждой возможной суммы выпавших очков приведены в табл. 8.2. Таблица 8.2. Остаточная энтропия для разных сумм выпавших очков на двух костях Сумма Число событий Остаточная энтропия 2 1 0 3 2 2 х (1/2)1од2(1/2) = 1
352 Передача данных в сетях: инженерный подход Таблица 8.2 (окончание) Сумма Число событий Остаточная энтропия 4 3 3 х (1/3)1од2(1/3) = 1,585 5 4 4 х (1/4)1од2(1/4) = 2 6 5 5 х (1/5)1од2(1/5) = 2,322 7 6 6 х (1/6)1од2(1/6) = 2,585 8 5 5 х (1/5)1од2(1/5) = 2,322 9 4 4 х (1/4)1од2(1/4) = 2 10 3 3 х (1/3)1од2(1/3) = 1,585 11 2 2 х (1/2)1одг(1/2) = 1 12 1 0 Информация, задаваемая знанием суммы, определяется как I = = (Х; Y) = Н(Х)-Н (Х\ Y). Если сумма равна 2, то I(X;Y) = 5,170- -0 = 5,170 бита— для одного возможного результата. Если сумма равна 7, то I(X',Y) = 5,170 -2,585 = 2,585 бита— для 6 возможных результатов. Вычисляя I(X,Y) для каждого возможного результата и усредняя по всем экспериментам, получаем среднюю информацию 3,274 бита. 4. В телевизионном игровом шоу "Кто хочет быть миллионером?" игроки должны выбрать один правильный ответ из четырех возможных, скажем — А, В, С и D. На одном из этапов игры им позволяют сделать специальный выбор "50:50", когда два неправильных ответа удаляются, а для выбора остается один правильный и один неправильный ответ: а) предполагая, что у игрока нет никаких идей относительно того, ка- кой из двух ответов является правильным, и, рассматривая каждый результат как равновероятный, сколько информации дает данный вариант игры: Энтропия до начала игры "50:50" составляет Н(Х) = — У , -J-log j 4 s = 2 бита, после игры остаются две возможности, каждая из которых имеет равный шанс (то есть вероятность каждой 1/2), так что Н(X) = ,^-log^ = 1 бит. Полученная информация сокращает энтропию, так что эта информация равна 1 биту;
Гпава 8. Ответы на упражнения 353 б) Алиса начала игру и застряла на некотором вопросе. Она уверена, что правильным ответом является А или В, и надеется, что, играя вариант "50:50", она правильно удалит один из них. Предположим, что она использует следующие оценки: с вероятностью 45% пра- вильным ответом является А, с вероятностью 40% — ответ В, с ве- роятностью 10% — ответ С и с вероятностью 5% — ответ D. Осно- вываясь на ее предположениях, вычислите энтропию до и после игры "50:50", если при этом удаляются ответы В и D: до начала игры энтропия равна: ад = -0,45 log(0,45) - 0,40 log(0,40)-0,10 log(0,10)-0,05 log(0,05) = = 1,595. После игры остаются ответы А и С. Вероятность А равна 0,45/(0,45 + 0,10), а вероятность С равна 0,10/(0,45 + 0,10), так что энтропия после игры равна: Н(Х) = (0,45/(0,45 + 0,10))log(0,45/(0,45 + 0,10)) - (0,10/(0,45 + 0,10))log(0,10/(0,45 + 0,10)) = 0,684; в) основываясь на предположениях Алисы, вычислите энтропию до и после игры "50:50", если при этом удаляются ответы С и D: энтропия перед игрой — та же, что в предыдущем случае, т. е. 1,595 бита. После игры остаются два ответа— А и В. Вероятность ответа А теперь равна 0,45/(0,45 + 0,40), а вероятность В равна 0,45/(0,45 + 0,40), так что энтропия после игры вычисляется так: Н(Х) = (0,45/(0,45 + 0,40))log(0,45/(0,45 + 0,40)) - - (0,40/(0,45 + 0,40))log(0,40/(0,45 + 0,40)) = 0,9975; г) какую информацию (в битах) дает игра "50:50" в каждом из двух вышеупомянутых случаев: В каждом случае информация (как мера снятой неопределенности) связана с уменьшением послеигровой энтропии (по сравнению с до- игровой), так что информация в первом случае составит I = 1,595 - 0,684 = 0,911 бита, а во втором I = 1,595 - 0,9975 = 0,598 бита. Пер- вый случай дает больше информации, потому что один из наиболее вероятных входов был удален, что оставляет для игрока довольно ясный выбор. 5. Выражая Н(А, В) в терминах вероятностей и используя теорему Байеса, покажите, что Н(А,В) = (А\В) + Н(В)-. Н(А,В) = -££Р(Л = Oj,B = bk)log2 Р(А = aj,B = bk). J *
354 Передача данных в сетях: инженерный подход Раскладывая подлогарифмическое выражение по теореме Байеса, полу- чим Н{А,В) = -££Р(Л = O,A)log2(PG4 = aj\B = bk)P(B = bk)) j * H(A,B) = = aj,bk)\^2{P{A = Oj\B = bk)) j к ~ = <Ч’В = ЛР = M). J к Во втором члене этого равенства log2(P(Z? = Ьк)) не зависит от j, так что его можно переписать как - £(£Р(Л = ajtB = M)log2 Р(В = bk), к j Р(А = Gy ) включает все возможности и поэтому j Отсюда второй член становится равным ~^Р(В = bk)\og2 Р(В = Ьк) = Н(В) к Возвращаясь к первому члену - =an в=bk )iog2(p(^=। в=ьк)) J к и применяя к его вероятностям теорему Байеса, получаем - = ay I Я = Ьк)Р(В = Ьк))\^2(Р(А = О]\В = Ьк)) = j к = -XP(Z? = Ьк)^(Р(А = а}\В = ^))log2(PM = ay | J? = bk)). к J Вторая часть последнего равенства есть Н(А \ В = Ьк) — энтропия А при заданном конкретном значении В. Это дает следующую формулу -YkP<B = bk^(A\B = bk), которая теперь суммируется по всем возможным Ьк, давая требуемую энтропию Н(А | В). Следовательно Н(А,В) = Н(А\В) + ЩВ).
Гпава 8. Ответы на упражнения 355 8.1.2. Ответы на вопросы по кодированию источника без памяти 1. Информационный источник без памяти генерирует 8 различных символов с вероятностями 1/2, 1/4, 1/8, 1/16, 1/32, 1/64, 1/128 и 1/128. Эти символы кодируются как ООО, 001, 010, 011, 100,101, 110 и 111 соответственно: а) чему равна энтропия на символ данного источника: Энтропия на символ источника равна: H(U) = ~2=] р(щ) log р(щ) = -(l/2)log( 1 /2) - (1 /4)log( 1/4) - (1 /8)log( 1/8) - (1 /16)log( 1/16) - (l/32)log(l /32) - (1 /64)log( 1/64) - (l/128)log(l/128) — (l/128)log(l/128) = 1,98 бита; б) какова эффективность этого кода: Эффективность = LmirJL, где L — средняя длина кодовых слов. /.m„, = ///log2r= l,98/log22 = 1,98, но L = 3, поэтому эффектив- ность = 0,66; в) постройте код, используя алгоритм Шеннона-Фано, и вычислите его эффективность; г) постройте код, используя алгоритм Хаффмана, и вычислите его эф- фективность: Оба метода дают один и тот код, показанный в табл. 8.3. Таблица 8.3. Коды, построенные с помощью алгоритмов Шеннона-Фано и Хафмана Символ Вероятность Код L £хВероятность и. 1/2 0 1 64/128 u2 1/4 1 0 2 64/128 u3 1/8 1 1 0 3 48/128 щ 1/16 1110 4 32/128 Us 1/32 11110 5 20/128 Ue 1/64 111110 6 12/128 u? 1/128 1111110 7 7/128 Ue 1/128 1111111 7 7/128 Итого: 254/128
356 Передача данных в сетях: инженерный подход Эффективность равна минимальной длине, поделенной на среднюю длину = 1,98/1,98 = 1 (или 100%); д) если интенсивность источника равна, в среднем, 1000 символов/сек, то какова скорость передачи информации (в битах/с): Средняя длина символа равна 1,98 бита на каждый код, поэтому бит- рейт составит 1000 х 1,98 = 1980 бит/с. 2. Источник информации без памяти генерирует символы с вероятностью 0,65; 0,2 и 0,15: а) вычислите энтропию на символ: энтропия на символ источника равна HQJ} = “Xk-i ^и>) = ~ - 0,21og0,2 - 0,15 logO, 15 = 0,40397 + 0,46439 + 0,41055 = 1,2789 бита; б) вычислите вероятности всех возможных сообщений, состоящих из двух символов, и соответствующую энтропию. Сравните этот ре- зультат с предыдущим: пусть имеется источник, генерирующий три кодовых символа щ, u2 и щ. Рассмотрим все возможные комбинаций из двух символов (всего их — девять) и рассчитаем их вероятности: р(о\) =/’(wbWi) =/’(Mi)P(Mi) = 0,65 х 0,65 = 0,4225 p(i^) =p(Mi,M2) =Xmi)7’(m2) = 0,65 х 0,2 = 0,13 Хрз) =р(щ,Щ) =Р(щ)Р(Рз) ~ 0,65 х 0,15 = 0,0975 р(и4) =p(u2,u\) - 0,2 х 0,65 = 0,13 p(v5) =p(u2,u2) - 0,2 х 0,2 = 0,04 р(и6) =р(и2,из) = 0,2 х 0,15 = 0,03 рС^) ~p(P3,Ui) = 0,15 х 0,65 = 0,0975 p(os) =р(рз,И2) ~ 0,15 х 0,2 = 0,03 р(<л) =р(рз,из) = 0,15 х 0,15 = 0,0225 Расчет энтропии приведен в табл. 8.4.
Гпава 8. Ответы на упражнения 357 Таблица 8.4. Расчет энтропии комбинаций из двух символов Символ Вероятность p(v) 1од2р(ц) р(о) 1од2 (p(vg) 1>1 0,4225 -1,2430 -0,5282 02 0,13 -2,9434 -0,3826 Рз 0,0975 -3,3585 -0,3275 0,13 -2,9434 -0,3826 0,04 -4,6439 -0,1858 Цз 0,03 -5,0589 -0,1518 О7 0,0975 —3,3585 -0,3275 Ов 0,03 -5,0589 -0,1518 О') 0,0225 -5,4739 -0,1232 . Л -2,558 Следовательно, энтропия равна 2,558. Сравнение с предыдущим результатом — мы можем или вычислять энтропию как сумму по всем девяти событиям, или можем обратить внимание, что, поскольку символы независимы, энтропия двух сим- волов — это удвоенная энтропия одного символа (и вообще, сооб- щения с I символами имеют энтропию IH(U)). H(U)~ 1,2789 бита (см. ответ на вопрос 2, а). Для двух символов (/ = 2) удвоенная энтропия равна 2,5578 бита, а это то же самое, что в предыдущем примере. Обратите внимание, что результат получен с точностью до 4 значащих цифр, а внутренние вычисления использо- вали 5 значащих цифр; в) вычислите избыточность источника информации: избыточность равна 1 - H(U)/max Н(Ц). H(U) достигает максимального значения, когда каждый символ одинаково вероятен (то есть имеет вероятность, равную 1/3). Это значение вычисляется как log23. Поэтому избыточность равна 1 - (l,2789/log23) = 0,1931, или 19,3%. 3. Постройте код для источника без памяти с шестью значениями (символами), используя трехзначный кодовый алфавит {0,1,2}. Пусть выборка вывода
358 Передача данных в сетях: инженерный подход такого источника выглядит так: ACAAABEBCDAEABDCAEFAABDF. Какова эффективность этого кода? Сравните ее с эффективностью кода {А:00, В:01, С:02, D: 10, Е: 11, F: 12}. Символ А встречается в строке ACAAABEBCDAEABDCAEFAABDF 9 раз, символ В — 4 раза, С — 3 раза, D — 3 раза, Е — 3 раза и F — дваж- ды. Предположим, что эта строка является представительной, а вероятно- сти символов равны А = 9/24 = 3/8, В = 4/24 =1/6, С = 3/24 = 1/8, D = 3/24= 1/8 Е = 3/24= 1/8, В = 2/24= 1/12. Тогда методика Шеннона- Фано, применяемая для троичного кодирования, предлагает вести вычис- ления путем непрерывного деления символов на три примерно равнове- роятные группы. Работая в этой манере, получим код, показанный в табл. 8.5. Таблица 8.5. Таблица построения кодов по методу Шеннона-Фано Символ Вероятность L Z-хВероятность А 3/8 = 9/24 0 1 9/24 В 1/6 = 4/24 1 0 2 8/24 С 1/8 = 3/24 1 1 2 6/24 D 1/8 = 3/24 2 0 2 6/24 Е 1/8 = 3/24 2 1 2 6/24 F 1/12 = 2/24 2 2 2 4/24 1,625 6 H(U) = P(st) log p(Sj) = (9/24)log((9/24) - (6/24)log((6/24) - t=i 3x((3/24)log((3/24)) - (2/24)log((2/24) = 2,39 бита. T,™ = Z//log2r = 2,39/log23 = 1,511. Средняя'длина кодового слова (Z) есть сумма индивидуальных кодовых слов, умноженных на их длину: Z=1 х (9/24) 4-2 х (8/24) + 2 х (6/24)4-2 х (6/24)4-2 х (6/24)4-2 х (4/24) = = 1,625 бита Эффективность LmJL = 0,930 или 93% Расчет для второго заданного кода, который имеет постоянную длину с двумя символами на сообщение, дает L = 2 и эффективность 75,5%.
Гпава 8. Ответы на упражнения 359 4. Удаленные датчики могут иметь два состояния — SET ("Установлен") и CLEAR ("Сброшен"). В среднем, 99% датчиков находится в состоянии CLEAR: а) используется одноразрядный код: 0 — CLEAR, 1 — SET. Какова его эффективность: Энтропия Н = -0,01 х log20,01 - 0,99 х log20,99 = 0,080793 бита. Средняя длина кодового слова равна 1 (так как оба кодовых сло- ва имеют длину 1). Поэтому эффективность двоичного кода (LmiJLau = HILal^ равна 0,080793, или 8,08%; б) для повышения эффективности постоянно используются два смеж- ных одноразрядных сообщения. Определите подходящий двоичный код для этой ситуации и вычислите его эффективность: поскольку каждое событие установки/сброса независимо, полная энтропия есть сумма энтропий каждого события, так что Н = 0,080793 + 0,080793 = 0,161538 бита. Построения и расчеты для соответствующего кода, построенного по методу Шеннона-Фано, приведены в табл. 8.6. Таблица 8.6. Построение и расчет средней длины кодового слова Событие Вероятность L £хВероятность СС (0,99)2 0,9801 0 1 0,9801 CS (0,99)1(0,01)1 0,0099 1 0 2 0,0198 SC (0,99)40,01 )1 0,0099 1 1 0 3 0,0297 СС (0,01 )2 0,0001 1 1 1 3 0,0003 Средняя длина (сумма L х Вероятность) 1,0299 Эффективность = НИ av = 0,1615 83/1,0299 = 0,156894, или 15,69%; в) повторите процедуру предыдущего пункта для групп, состоящих из 3 символов: построения и расчеты для соответствующего кода, построенного по методу Шеннона-Фано, приведены в табл. 8.7.
360 Передача данных в сетях: инженерный подход Таблица 8.7. Построение и расчет средней длины кодового слова Событие Вероятность L I-хВероятность ссс (0,99)3 0,970299 0 1 0,970299 CCS (0,99)z(0,01)1 0,009801 1 0 0 3 0,029403 CSC (0,99)z(0,01)1 0,009801 1 0 1 3 0,029403 see (0,99)z(0,01)1 0,009801 1 1 0 3 0,029403 css (0,99)40,01)z 0,000099 1 1 1 0 0 5 0,000495 CSC (0,99)1(0,01 )2 0,000099 1 1 1 0 1 5 0,000495 CSC (0,99)40,01 )2 0,000099 1 1 1 1 0 5 0,000495 sec (0,01 )3 0,000001 1 1 1 1 1 5 0,000005 Средняя длина (сумма /.хВероятность) 1,059998 Эффективность = HILav = 0,242379/1,059998 = 0,2286598, или 22,87%; г) повторите процедуру предыдущего пункта для групп, состоящих из 4 символов: Энтропия (Я) теперь равна 4 х (энтропия отдельного собы- тия) = 0,32317254. Построения и расчеты для соответствующего кода, построенного по методу Шеннона-Фано, приведены в табл. 8.8. Таблица 8.8. Построение и расчет средней длины кодового слова Собы- тие Вероятность L £хВероятность CCCC (0,99)4 0,96059601 0 1 0,960596 CCCS (0,99)3(0,01)1 0,00970299 1 0 0 3 0,029109 ccsc (0,99)3(0,01)1 0,00970299 1 0 1 3 0,029109 cscc (0,99)3(0,01)1 0,00970299 1 1 0 3 0,029109 sccc (0,99)3(0,01)1 0,00970299 1 1 1 0 4 0,038881 CCSS- (0,99)z(0,02)2 0,00009801 1 1 1 1 0 0 6 0,000588 CSCS (0,99)z(0,02)2 0,00009801 1 1 1 1 0 1 0 7 0,000686 cssc (0,99)2(0,02)2 0,00009801 1 1 1 1 0 1 1 7 0,000686
Гпава 8. Ответы на упражнения 361 Таблица 8.8 (окончание) Собы- Вероятность L кхВероятность тие sees (0,99)2(0,02)2 0,00009801 1 1 1 1 1 0 0 7 0,000686 SCSC (0,99)2(0,02)2 0,00009801 1 1 1 1 1 0 1 7 0,000686 SSCC (0,99)2(0,02)2 0,00009801 1 1 1 1 1 1 0 7 0,000686 csss (0,99)1(0,01)3 0,00000099 1 1 1 1 1 1 1 0 0 9 0,000009 scss (0,99)1(0,01)3 0,00000099 1 1 1 1 1 1 1 0 1 9 0,000009 sscs (0,99)1(0,01)3 0,00000099 1 1 1 1 1 1 1 1 0 9 0,000009 sssc (0,99)1(0,01)3 0,00000099 1 1 1 1 1 1 1 1 1 0 10 0,000010 ssss (0,01)3 0,00000001 1 1 1 1 1 1 1 1 1 1 10 0,0000001 Средняя длина (сумма L х Вероятность) 1,0908591 Эффективность = H/Lal = 0,32317254/1,09(18591 = 0,296255, или 29,6%; д) прокомментируйте любые тенденции, которые вы видите в выше- упомянутых результатах: с ростом числа кодируемых событий эффективность увеличивается. Группировка нескольких событий позволяет иметь более длинные кодовые слова для маловероятных событий. Объединение событий, кроме всего прочего, приводит к более сложным кодам. 8.1.3. Ответы на вопросы по кодированию источника с памятью 1. Закодируйте последовательность 1, 2, 4, 4, 4, 4, 5, 6, 6, 5, 5, 4, 3, 1, 0, используя дельта-модуляцию. Предположите, что декодер выводит 0 перед приемом первого бита. Какова среднеквадратическая ошибка: Результаты кодировки показаны в табл. 8.9. В каждом столбце содержится очередной исходный символ (для первого столбца— это 1), ниже— соот- ветствующий ему выходной символ декодера (у нас это, по условию задачи, 0),
362 Передача данных в сетях: инженерный подход затем— двоичный передаваемый (по каналу связи) символ (у нас это 1), ниже— выход декодера (у нас это 1) и, наконец, в нижнем элементе столб- ца показана ошибка декодирования (для первого исходного символа это 0). Второй исходный символ по значению больше первого, поэтому в канал снова передается 1, а на выходе декодера образуется правильное значение (2), т. е. второй символ декодируется правильно, без ошибок (0) и т. д. Таблица 8.9.1 габлица кодировки Текущий вход 1 2 4 4 4 4 5 6 6 5 5 4 3 1 0 Текущий выход 0 1 2 3 4 5 4 5 6 7 6 5 4 3 2 Битовые по- сылки 1 1 1 1 1 0 1 1 1 0 0 0 0 0 0 Новый выход 1 2 3 4 5 4 5 6 7 6 5 4 3 2 1 Ошибка 0 0 1 0 1 0 0 0 -1 -2 0 0 0 -1 -1 В канал, таким образом, передается кодовая последовательность 111110111000000 (см. третью строку табл. 8.9). Несколько иная последо- вательность была бы передана при другом предположении, когда на вы- ходе декодера при передаче кода первого символа исходной последова- тельности вместо 1 был бы 0. Это зависит от реализации, так что допустимо любое исходное предположение. Среднеквадратическая ошибка вычисляется как среднее значение квадрата ошибок, т. е. среднее значение ряда (0, 0, 1, 0, 1, 0, 0, 0, 1, 4, 0, 0, 0, 1, 1), которое равно 0,6. 2. Источник генерирует следующую последовательность отсчетов (выборок) сигнала: 15, 14, 12, 9, 8, 8,10,11,12,14, 15, 15,14, 12,10,9: а) закодируйте эту последовательность, используя импульсно-кодовую модуляцию (ИКМ): первое значение посылается как опорное, а затем посылаются соответст- вующие разности, т.е. (15,-1,-2,-3,-1,0,2, 1,1,2,1,0,-1,-2,-2,-1); б) если вам скажут, что значения, которые будут получены — это це- лые числа в диапазоне от 0 до 15, сколько потребуется битов на сим- вол для дифференциальной ИКМ? Обоснуйте ваш ответ: имеется 16 значений, поэтому потребуется legal6 = 4 бита на отсчет; в) является ли система, которую вы предлагаете, системой с потерями или без потерь? Если — с потерями, то как можно сделать ее систе- мой без потерь:
Гпава 8. Ответы на упражнения 363 в первом случае (при 3-битовом кодировании) — это система с поте- рями. Система без потерь потребовала бы для кодирования 5 битов на символ (отсчет). Такая система способна кодировать 0 после 15 или наоборот. 3. С помощью адаптивной ИКМ нужно передать ту же последовательность, что и в предыдущем пункте. Оценка, используемая для выборки, предпо- лагает, что разность между текущим и следующим значениями та же, что между текущим и последним значениями: а) какие значения нужно посылать? В табл. 8.10 приводится оценочная последовательность, при по- строении которой предполагается, что разность между текущим и следующим значениями — та же, что между текущим и последним значениями. Ответ приведен в третьей строке табл. 8.10. Таблица 8.10. Таблица кодировки Значение 15 14 12 9 8 8 10 11 12 14 15 15 14 12 10 9 Оценка 0 15 13 10 6 7 8 12 12 13 16 16 15 13 10 8 Разность (посы- лаемое значение) 15 -1 -1 -1 2 1 2 -1 0 1 -1 -1 -1 -1 0 1 б) оцените количество требуемых битов на символ: в этом примере посылаются только четыре значения: -1,0,1 и 2 (не счи- тая начального). Поэтому достаточно двух битов на отсчет, хотя суще- ствует риск, что потребуется передавать и -2, которое система не смо- жет обработать. В таких случаях проектировщик кода может считать, что в результате произойдет увеличение количества ошибок. В качестве альтернативы для сжатия значений можно было бы использовать код Хаффмана. Обратите внимание, что для адаптивной ИКМ характерно небольшое количество и большая частота передаваемых значений. Для их сжатия лучше использовать код Хаффмана, а не дифференциальную ИКМ. 4. Используйте алгоритм Лемпеля-Зива’77, чтобы сжать последовательность ABCCDABDCCBCCBECDA. Сравните число битов до и после сжатия. Последовательность имеет длину (размер) в 18 символов, так что для ее адре- сации (обращения к ней) необходимо использовать 5 битов. Прокоммен- тируйте, что случится, если придется обращаться к более длинным после-
364 Передача данных в сетях: инженерный подход довательностям. Если бы алгоритм мог адресовать только предыдущие строки в конечной хронологии, используя так называемое скользящее окно, то каковы бы были преимущества и недостатки такой методики: первые пять символов исходной последовательности (ABCCD) посы- лаются без кодирования, поскольку не являются ничьим повторением (кодирование второго С не имеет особого смысла). Два следующих символа (АВ) являются повторением подстроки, начинающейся с по- зиции 1, и имеющей длину в два символа (так что в канал вместо них посылается числовой код (1, 2)). Последующий символ D посылается без кодирования, поскольку он не является повторением никакой час- ти предшествующей строки. Следующие два символа (СС) являются двузначным повтором позиции 3 строки, и поэтому передаются как (3, 2). Три следующих символа (ВСС) передаются как (2, 3). Сле- дующие два символа (BE) посылаются без кодирования, после чего посылается код заключительной тройки символов (CDA) в форме (4, 3); в данном случае в исходной последовательности используется пять сим- волов — А, В, С, D и Е. Если с помощью двоичного кодирования посы- лать каждый символ в отдельности, то потребуется всего 3 бита на сим- вол (в предположении, что никакого сжатия не используется). Повторная передача подстрок требует 5 битов для передачи адреса исходной под- строки и 2 бита — для указания ее длины, что в данном примере состав- ляет в сумме 7 битов. Нет смысла использовать эту методику, если пере- давать подстроки, состоящие из двух (а не из трех) символов, так как кодовая форма оказывается на один бит длиннее, чем при передаче про- стого текста. Методика трехсимвольных повторных передач обеспечивает определенную степень сжатия (2 бита на передачу каждой подстроки); если бы использовалась методика передач со скользящим окном, то это уменьшило бы требования к адресации в повторных передачах и ограни- чило бы число битов в кодовых формах. Однако система потеряла бы способность повторного кодирования и повторной трассировки по всей длине передачи. 8.2. Ответы на вопросы к главе 3 1. Используя перестановочный шифр с глубиной сетки 8, закодируйте сообщение: "Takeover announcement will be made at noon tomorrow" (Объявление о слиянии компаний будет сделано завтра утром). Сетка сообщения показана на рис. 8.1.
Гпава 8. Ответы на упражнения 365 т А К Е О V Е R А N N О и N С Е М Е N Т W 1 L L В Е М А D Е А Т N О О N Т О М О R R О W Рис. 8.1. Сетка сообщения Поэтому кодированное сообщение будет выглядеть так: TAMBNRANEEORKNNMOOEOTANWOUWDT VNIEO ECLAMRELTO. 2. Повторите кодирование, используя перестановочный шифр с ключевым словом "COLUMNAR" (которое используется для определения упорядочивания по столбцам). Алфавитное упорядочивание букв в "COLUMNAR" означает считывание столбцов сетки кодирования в следующем порядке: 26384517, что дает такой код: ECLAM TAMBNRKNNMOOOUWDT VNIEO ANEEORRELTO EOTANW. 3. Используя шифр Цезаря со сдвигом 4, закодируйте сообщение: "Now is the time for all good men to come to the aid o£the part" (Для всех хороших людей настало время прийти на помощь партии). RSA MW XLI XMQ1 JSV EPP KSSH QIR XS GSQI XS XLI EMH SJ XLI TEVXC. 4. Дешифруйте сообщение: KWWS.7/ZZZ.DQWHQQD-PRGHOV.FRP/VHFUHW/LQGHA.KWPO. Это сообщение выглядит как Web-адрес. Если такое предположение верно, то KWWS — это "http", a ZZZ — "www". Отсюда следует, что К — это "h", W — "t", a Z — "w", и все они являются результатом подстановок Цезаря со смещением 3, откуда и следует прямое решение этой задачи. Предполагая, однако, что было использовано произвольное упорядочива- ние литер, с учетом сделанных ранее догадок, получаем: http://www.DQtHQQD-PRGHOV.FRP/VHFUHt/LQGHA.htPO. Откуда следует, что Р — это "т", О — это " I". Первая часть слова после www — это доменное имя, содержащее три сим- вола расширения, последний из которых, скорее всего — "т", поэтому все расширение — это, возможно, "сот", так что теперь мы имеем: http://www.DQtHQQD-moGHlV.com/VHcUHt/LQGHA.html
збб Передача данных в сетях: инженерный подход У нас нет достаточного количества символов, чтобы угадать доменное имя, поэтому сделаем дальнейшие предположения. Начальная страница Web-сайта часто называется "main" или "welcome", но чаще всего — "in- dex". Сделав соответствующие подстановки, получаем: http://www.DntennD-modelV.com/VecL,et/index.html Буква V похожа на "s", что дает secUet, что, свою очередь, похоже на "se- cret" (для пароля это очень неудачное слово!). Остается расшифровать сло- во DntennD. Можно испытывать все оставшиеся буквы, но следует также заметить, что единственной буквой, наиболее подходящей для этого слова является "а". Доменное имя не должно быть осмысленным словом, но большинство из них именно таковыми и являются, поскольку такие имена легче запоминаются. Немного работы в Web-браузере, и можно получить подтверждение нашей догадке, так что окончательно получаем: http://www.antenna-modelV.com/VecUet/index.html 5. Используя шифр Виженера и ключевое слово "hide", закодируйте "We must meet under the clock" (Мы должны встретиться под часами). DM PYZB PILB XRKMU ХОМ FPVKN. э. Используя поточный шифр и начальный ключ "D", закодируйте сообщение: "The documents will be sent tomorrow" (Документы будут посланы завтра.). WDH KYAUGKXQI EMXIJN FJWPIWIWNESO. 1. Какой битовый поток будет генерировать LFSR-регистр, показанный на рис. 8.2? Рис. 8.2. LFSR-регистр к вопросу 7 Стартуя из состояния 1000, этот сдвиговый регистр выдаст следующую последовательность: 1000, 1100, 1110, 1111,0111, 1011,0101, 1010, 1101, ОНО, ООН, 1001, 0100, 0010, 0001 и обратно до 1000. Поэтому на выходе будет последовательность 0001111010110010. Для RSA-системы с простыми р = 7, q= 13 и ключом шифрования е = 5, найдите ответы на следующие вопросы: а) каково значение частного ключа сП ed = 1 (mod (р- l)(tf- 1)). Последовательно испытывая числа, полу- чаем d = 29, т. к. 5x29 = 145 mod 91 - 32;
Глава 8. Ответы на упражнения 367 б) используя данную систему, зашифруйте число 2 и проверьте, что можно дешифровать получившееся в результате кодовое слово об- ратно в сообщение: Сообщение 2 кодируется возведением его в степень 5 и вычислени- ем результата по модулю 91, т. е. 25 mod 91 = 32. Для дешифрации 32 необходимо возвести это число в степень 29 и вычислить по модулю 91. Большинство калькуляторов не может это- го сделать с необходимой точностью, поэтому поступим следующим образом: 3229 mod 91 = 325325325325325324 mod 91 = 2 х 2 х 2 х 2 х 74 mod 91 =2. 8.3. Ответы на вопросы главе 4 8.3.1. Ответы на вопросы по сетевым конфигурациям 1. Коммуникационная сеть состоит из N узлов. Определите число звеньев, требуемых для соединения этих узлов, предполагая, что каждое звено является двунаправленным, для следующих случаев: а) кольцо из 5 узлов: для кольца, состоящего из N узлов, требуется N двунаправленных звеньев, поэтому для 5-узлового кольца требуется 5 звеньев; б) объединение 8 полностью связанных узлов: для TV-узловой полносвязной сети требуется TVx (N-1)/2 двунаправ- ленных звеньев, так что для сети из 8 узлов требуются 28 звеньев; в) частично связанное объединение — 10 узлов, 5 соединений: в сети с 5-ю связями каждый узел имеет степень 5 и соединен с 5-ю другими узлами. Общее количество требуемых звеньев равно 5 х 10 х (1/2) = 25. Сравните это с полносвязной 10-узловой сетью, для которой требуется 45 звеньев; г) повторите три предыдущих случая для N = 96: для 96-узлового кольца требуется 96 звеньев, для полносвязной се- ти — 4560, а для сети с 5 соединениями — 240. 2. Определить связность двух сетей, заданных диаграммами на рис. 8.3 и 8.4. Сколько требуются итераций, чтобы определить связность каждой из этих сетей?
368 Передача данных в сетях: инженерный подход Рис. 8.3. Сетевая диаграмма первой сети Рис. 8.4. Табличная диаграмма второй сети Минимальная степень узлов в этих сетях равна 3, так что связность не может превышать 3. Хотя в одной сети— 8, а в другой— 10 узлов, но связность в обоих случаях равна 3. Расчет связности выполняется в предположении, что в сети имеется N уз- лов, а минимальная степень узлов равна М События Для первой сети требуется ЛЛ/2 плюс N- М операций (итераций) поиска решений, так что общее их количество равно ((М!/2) + N-М), т. е. это 8 операций для первой и 10 — для второй сети. Вычисления связности по алгоритму Клейтмана Требуется TV- 1 + TV- 2 + ... +N-M операций поиска, т. е. 18 операций — для первой и 24 — для второй сети. 8.3.2. Ответы на вопросы по технике коммутации 1. Путь с переключением каналов и скоростью передачи 64 Кбит/с между двумя пользователями, использующими 9 ступеней коммутации требует 5 с на установку. Сколько всего потребуется времени, чтобы напрямую
Гпава 8. Ответы на упражнения 369 передать полное содержимое дискеты 1,4 Мбайт между двумя пользователями, использующими этот канал? Время передачи данных = (количество данных) / (скорость переда- чи) = 1,4 Мбайт/64000 = 183,5 с. Полное время передачи = время передачи + время установки кана- ла = 183,5 + 5 = 188,5 с. 2. Если вышеупомянутый путь с переключением каналов заменить 9-узловой системой с пакетной коммутацией, использующей звенья со скоростью передачи 1 Мбит/с, то сколько потребуется времени, чтобы передать файл объемом 1,4 Мбайт, предполагая, что нет задержки в узлах коммутации, полезная нагрузка пакета составляет 256 байтов, а накладные расходы пакета эквивалентны 18 байтам? Время передачи пакета по одному звену сети составляет ((256 + 18) х 8)/106 = 2,192 мс. Для того чтобы попасть к адресату, пакет должен пройти 9+1 = 10 звеньев, так что на передачу 1 пакета затрачива- ется 21,92 мс. Файл, размером 1,4 Мбайта, эквивалентен по размеру 5735 пакетам. Тогда полное время передачи всего файла равно времени передачи одного пакета через 10 звеньев сети плюс время передачи остальных 5734 пакетов по по- следнему звену, так что полное время передачи составит 12,591 с. Л- 3. Сравните задержки, когда полезная нагрузка пакета изменится до 128, 512, 1024 и 4096 байтов соответственно. Когда размер пакета уменьшается до 128 октетов, время передачи по звену становится равным 1,168 мс на пакет, но теперь требуется послать 11 469 пакетов. Полное время передачи становится равным 13,4 с. Когда размер пакета увеличивается до 512 октетов, время передачи по звену становится равным 4,24 мс на пакет, но теперь требуется послать 2868 пакетов. Полное время передачи становится равным 12,198 с. Когда размер пакета увеличивается до 1024 октетов, время передачи по зве- ну становится равным 8,336 мс на пакет, но теперь требуется послать 1434 пакетов. Полное время передачи становится равным 12,028 с. Когда размер пакета увеличивается до 4096 октетов, время передачи по зве- ну становится равным 32,912 мс на пакет, но теперь требуется послать 359 пакетов. Полное время передачи становится равным 12,111 с. 8.3.3. Ответы на вопросы по расчетам в сетях 1. Простой телефонный коммутатор состоит из 4 каналов. Если в самое занятое время дня вызовы прибывают каждые 240 с, вычислите занятость коммутатора и определите вероятность того, что вызов будет отвергнут.
370 Передача данных в сетях: инженерный подход В этом случае параметр А в формуле Эрланга можно подсчитать так: А - 120/240 = 0,5. Речь идет о четырехканальной схеме коммутатора. Ре- шение может быть найдено прямым вводом значений в //-формулу Эрлан- га или решая ее итерационным способом. Е(А, п) = АЕ(А, п~ -1)/(Л£(Л,п-1) + п). Е(0,5, 0)= 1, Е(0,5, 1) = О,5/(О,5 + 1) = 1/3, Е(0,5, 2) = 0,5/3/(0,5/3 + 2) = = 0,0769. Наконец, Е(0,5, 4) = 1,579 х 10'3. Это означает, что выполняется 99,84% всех вызовов, а коэффициент занятости коммутатора составляет 0,9984 х 0,5 = 0,4992 на один канал коммутатора. 2. Если в системе, описанной в п. 1, пользователей удовлетворяют 2%-е потери, определите число требуемых каналов мультиплексора. Е(0,5, 3) = 0,0127 = 1,27% потерь. Таким образом, в данной системе можно иметь всего 3 коммутационных канала, которые обеспечивают уровень по- терь меньше 2%. 3. Если интенсивность вызовов в системе, описанной в п. 1, увеличится впятеро, определите вероятность потерь вызовов и коэффициент использования каждого из 4-х каналов коммутатора. Если бы скорость вызова для данного коммутатора увеличилась в пять раз, то новый трафик стал бы равным 2 эрлангам. По формуле Эрланга — Е(2, 4), мы получили бы 15% потерь. Рабочий трафик стал бы равным 2,5 х 0,85 = 2,125, т. е. на 15% ниже. Коэффициент использования канала комму- татора стал бы равным 0,53125, т. е. % от полного рабочего трафика. 4. Терминальный концентратор состоит из шести входных линий со скоростями 56 Кбит/с и единственной выходной линии со скоростью 128 Кбит/с. Средний размер пакета — 450 байт, и скорость поступления каждой входной линии равна 5 пакетам/с. Какова средняя задержка пакета и каково среднее число пакетов, хранящихся в концентраторе? ц = 128000/(450/8) = 35,56 пакета/с к = 6 х 5 = 30 пакетов/с р = Х/ц = 30/35,6 = 0,844 Средняя задержка Т= 1/(ц- X) = 1/(35,56 - 30) = 179,8 мс. Коэффициент занятости = р/(1 - р) = 0,844/(1 - 0,844) = 5,4. 5. Два компьютера связаны линией со скоростью передачи 64 Кбит/с и поддерживают 8 диалоговых сеансов связи (соединений). Если средняя длина пакета 150 битов, а сеансовая скорость — 4 пакета/с, то должна ли сеть обеспечить каждый сеанс своим собственным выделенным каналом со скоростью передачи 8 Кбит/с, или все сеансы должны состязаться за полную пропускную способность канала, когда наиболее важным критерием является задержка пакета?
Гпава 8. Ответы на упражнения 371 Общая пропускная способность: ц = 64000/(150/8) = 53,3 пакета/с X - 8 х 4 = 32 пакета/с X = Х/ц = 32/53.3 = 0,6 Средняя задержка Т= 1/(ц- X) = 1/(53,33 - 32) = 46,88 мс. Отдельный канал (один канал со скоростью 8 Кбит/с, поддерживающий 4 пакета/с): р. = 8000/(150/8) = 6,67 пакета/с X = 4 пакета/с р = Х/р. = 4/6,67 = 0,6 Средняя задержка Т= 1/(р - X) = 1/(6,67 - 4) = 375 мс. Лучше использовать общую пропускную способность, поскольку задерж- ка составляет 1/8 от пропускной способности отдельного канала. Коэффи- циент использования в обоих случаях одинаков. 8.3.4. Ответы на вопросы по маршрутизации 1. Маршрутизация сети из 6 узлов базируется на векторе расстояния; маршрутизатор А расположен рядом с маршрутизаторами В, D и Е. На рис. 8.5, а приведены таблицы с векторами расстояний, связанных с каждым из этих 3 маршрутизаторов. Используя указанные таблицы, выведите новую таблицу маршрутизации для узла А. Предположите, что текущее расстояние между узлом А и его соседями точно отражено в этих таблицах. Узел В Узел D Узел Е Узел А А 10 А 20 А 15 А - В - В 15 В 10 В В(10) С 20 С 40 С 25 С В(30) D 30 D - D 10 D D(20) Е 10 Е 10 Е - Е Е(15) F 10 F 25 F 5 F Е(20) а б Рис. 8.5. Таблицы с векторами расстояний для узлов В, D, Е сети (а) и для узла А (б)
372 Передача данных в сетях: инженерный подход Для ответа на этот вопрос необходимо определить маршруты от А до С и от А до F, поскольку все остальные узлы являются смежными узлами для А. Ответ приводится в таблице на рис. 8.5, б. 2. На рис. 8.6 приведены текущие состояния звеньев сети, состоящей из 6 узлов. Нарисуйте эту сеть и определите таблицу маршрутизации, связанную с узлом А. Узел А sno; 0(5) £(20) В A(7OJ С(20) Е(10) F(10) С В(20) F(20) D А(5) Е(10) Е А(20) В(10) 0(10) F(10) F В(10) С(20) Е(10) а Рис. 8.6. Текущие состояния звеньев 6-узловой сети Получите самый короткий путь от узла А до всех других узлов путем осмот- ра или использования формального алгоритма. Результат показан на рис. 8.7. Узел А А - В В(10) С В(30) D 0(5) Е 0(15) F В(30) а Рис. 8.7. Таблица маршрутизации узла А (а) и схема сети (б) 3. Чтобы передать пакет всем другим маршрутизаторам сети, описанной в п. 2, используется маршрутизатор А. Если поле пакета содержит счетчик сегментов (переходов), инициализированный диаметром сети, определите минимальное и максимальное число пакетов, которые могут потребоваться этой сети для передачи широковещательного пакета. Минимальное число пакетов — 5 (число связей в дереве охвата). Максималь- ное число пакетов — 24 (пакеты со счетчиком сегментов 3).
Гпава 8. Ответы на упражнения 373 8.3.5. Ответы на вопросы по защите от ошибок 1. Протокол звена данных имеет характеристики, показанные в табл. 8.11. Таблица 8.11. Характеристики протокола звена данных Характеристика Значение Длина данных 100 байт Длина заголовка 8 байт Пропускная способность канала 2 Мбит/с Длина кадра подтверждения 8 байт Вероятность потери кадра 2x1 О’3 Вероятность потери подтверждения 5x10’4 Задержка обслуживания и распространения 0,15 мс а) оцените максимально возможную эффективность этой системы, ес- ли протокол работает в простом режиме "останов с ожиданием", используя положительные подтверждения. Каково влияние уста- новки тайм-аута с интервалом 1 мс: эффективность = * = (m/(m + h + а + 2Вт)) = 100/(100 + 8 + 8) + 2 х 2000 х 0,15) = 0,524. Интервал тайм-аута Т = = (m + h + а)/В + 2т = (100 + 8 + 8) х 8/2000 + 2 х 0,15 = 0,764 мс. Установка этого интервала на 1 мс привела бы к понижению эффек- тивности, поскольку каждый потерянный кадр привнес бы задержку 1 мс, а не оптимальное значение 0,764 мс. Ps = (1 - Pf)(l - Ра) = (1 - 2х 10 3)( 1 - 5х 10 4) = 0,9975. Эго означает, что лишь около 0,0025 всех пакетов требуют повторной передачи — такая незначительная величина существенно не затрагивает полную эффективность звена; б) чтобы максимизировать эффективность канала, протокол с остано- вом и ожиданием должен быть заменен на протокол со скользящим окном. Оцените подходящий размер окна, если в первом случае ка- нал предполагается свободным от ошибок: решив неравенство JVm/B > (m + h + а) В + 2т относительно W, по- лучим пороговое значения размера окна: W> (/и + й + а + 2Вт)//и = (100 + 8 + 8) х 8 + 2 + 2 х 2000 х 0,15)/800 = = 1,91.
374 Передача данных в сетях: инженерный подход Это означает, что W должно быть меньше 2. 2. В табл. 8.12 заданы ключевые параметры канала связи и его ARQ- протокола. Если используется 3-битовое поле seq, какой механизм повторной передачи дает оптимальную производительность канала? Таблица 8.12. Ключевые параметры канала связи и его ARQ-протокола Параметр Значение Информационное поле 150 байт Накладные расходы кадра 16 байт Длина подтверждения 16 байт Вероятность потери кадра 10“3 Вероятность потери подтверждения 2x1 О*4 Размер поля seq 3 бита Тайм-аут подтверждения 150 мс Битрейт канала 64 Кбит/с Задержка распространения канала 50 мс Для схемы ARQ с возвратом Л-кадров требуемый размер окна (число по- вторно передаваемых кадров) равен W, а для схемы избирательного ARQ — 2W. Для поля SEQ заданного размера эта последовательность ле- жит в интервале от 0 до 7. Эффективный размер окна для схемы ARQ с возвратом Л-кадров равен 8, а для схемы избирательного ARQ — 4. Для обеих ARQ-схем нужно определить, насколько велик для них размер этого окна. Время передачи и получения подтверждения приема 1 кадра = (m + И)!В + + a/B + 2т= ((150 + 16 + 20)) /64 + 2 х 50 = 123,25 мс. Время передачи W ( = 4 кадров) = (W(m + h))!B = (4х(150+ 16)х8)/64 = = 83 мс, так что это — слишком маленькое окно. Время передачи W ( = 8 кадров) = (W(tn + h))/B = (8 х (150+16) х 8)/64 = = 166 мс, так что это — слишком большое окно.
Гпава 8. Ответы на упражнения 375 Рассмотрим эффекты, связанные с ошибками: Ps = (1 - РД1 - рд где Р/— вероятность того, что кадр потерян, а Ра — ве- роятность того, что подтверждение потеряно. В рассматриваемом случае: Л = 1 - (1 - 10-3) (1 - 2x10"*) = 0,9988002. Эта величина достаточно близка к единице, так что ее можно игнориро- вать. Приведенное рассуждение относится к обоим уравнениям эффективности: □ для схемы ARQ с возвратом N кадров: Размер окна (W) = 8 (непрерывно). Эффективность находится из следующего уравнения: Эффективность = (m/(m + Л)) х Р, = 150166 х 0,9988002) = 0,903; □ для избирательной схемы ARQ: Размер окна (W) = 4 (не непрерывно). Эффективность = mWPx/(m + h + а + 2Вт) = = ((150x8x4x0,9988)/((150 + 16 + 16) х 8)) + 2x64x50 = 0,6795. 3. Двойное скоростное двухточечное коммуникационное звено использует канальный протокол двойного режима, который способен переключаться между протоколом упреждающей защиты от^ошибок (FEC) и ARQ- протоколом, базирующемся на схеме повторной передачи с возвратом N кадров. Этот канал работает на одной из двух скоростей— низкой и высокой— и имеет ключевые характеристики, приведенные в табл. 8.13. FEC-механизм коррекции ошибок канала характеризуется 50%-й избыточностью и совершенным механизмом коррекции ошибок. Какой режим защиты от ошибок должен применяться для каждой скорости канала, если ключевая цель состоит в том, чтобы максимизировать его эффективность? Таблица 8.13. Ключевые характеристики звена Характеристика Значение Информационное поле 200 байт Накладные расходы кадра 16 байт Длина подтверждения 20 байт Вероятность потери кадра 10“3 Вероятность потери подтверждения 2x10м Размер окна 8
376 Передача данных в сетях: инженерный подход Таблица 8.13 (окончание) Характеристика Значение Тайм-аут подтверждения 250 мс Звено с низким битрейтом 32 Кбит/с Звено с высоким битрейтом 256 Кбит/с Задержка распространения в звене 100 мс Схема FEC (прямая коррекция ошибок): 100% дополнительные издержки означают, что для передачи 1 бита информации требуется передавать 2 бита данных (избыточность — 50%). Таким образом эффективность звена составляет 50%, независимо от ско- рости передачи данных. Схема ARQ с возвратом N кадров: Рассмотрим влияние ошибок — это можно сделать в разных точках ре- шения и интерпретировать по-разному. Ps = (1 - 10~3) (1 - 2х104) = 0,9988002. Величина Ps достаточно близка к единице, поэтому ее можно игнориро- вать. Влияние этого значения на окончательный результат не очень ве- лико. Высокоскоростная схема ARQ с возвратом N кадров: Размер окна (W) = 8. Мы должны определить, достаточен ли такой размер для непрерывной передачи или нет. Время передачи Wкадров = (W(m + h))IB = (8 х (200 + 16) х 8)/256 - 54 мс. Время передачи и получения подтверждения приема 1 кадра = (т + h)/B + + а/В + 2т = ((200 + 16 + 20) х8)) /256 + 2х 100 = 207,37 мс. В этом случае передача не является непрерывной, и передатчик должен будет останавливаться и ждать подтверждений, прежде чем он вернется к передаче кадров. Поэтому размер окна относительно небольшой. Эффективность = mWPJ(m + h + а + 2Вт) = = ((200 х 8 х 8 х 0,9988002)/((200 + 16 + 20) х 8))/ + 2 х 256 х 100 = 0,24 Низкоскоростная схема ARQ с возвратом N кадров: Размер окна (W) = 8. Мы должны определить, достаточен ли такой размер для непрерывной передачи или нет. Время передачи Wкадров = (W(m + й))/В = (8 х (200 + 16)х8)/32 = 432 мс.
Гпава 8. Ответы на упражнения 377 Время передачи и получения подтверждения приема 1 кадра = = (tn + И)!В + a/B + 2г= ((200 + 16 + 20)х8)/3)х2 + 2x100 = 259 мс. В этом случае передача непрерывна, и передатчик не должен будет оста- навливаться и ждать подтверждений, прежде чем он вернется к передаче кадров. Поэтому окно имеет достаточно большой размер. Эффективность = (»ixPs)/(/n + &)) = 200x0,9988002216) = 0,926. Результаты вычислений эффективности приведены в табл. 8.14. Таблица 8.14. Результаты вычисления эффективности FEC ARQ с возвратом N кадров Низкая скорость 50% 92,6% Высокая скорость 50% 24% Таким образом, FEC-коррекцию нужно использовать в высокоскоростных звеньях, a ARQ — в низкоскоростных. 8.4. Ответы на вопросы к главе 5 8.4.1. Ответы на вопросы по линейным кодам 1. Какова вероятность того, что в системе, использующей код Хемминга (7,4), будет правильно принято 4-битовое сообщение, если вероятность однобитовой ошибки равна 2%? Код Хемминга может исправлять одну ошибку. Сообщение будет получе- но правильно, если происходит 0 или одна ошибка. Поэтому: Р(0 ошибок) = (0,98)7 = 0,8681 Р(1 ошибка) = 7 (0,98)6(0,02)‘ = 0,1240 Следовательно, вероятность правильного приема равна: 0,8681 +0,1240 = = 0,992 (или 99,2%). 2. Какая вероятность больше— более чем одной ошибки при передаче 16 битов через двоичный симметричный (BSC-) канал с вероятностью перехода 0,1 или более чем двух ошибок при передаче 8 битов через канал с вероятностью перехода 0,2? Случай 1 — более одной ошибки в 16 битах: Р(более 1 ошибки) = 1 - Р(0) - Р(1) = 1 - (0,9)’6 - 16(0,9)’5(0,1)’ = 1 - (0,1853) - (0.3294) = 0.4853.
378 Передача данных в сетях: инженерный подход Случай 2 — более двух ошибок в 8 битах: Р(более 2 ошибок) = 1 — Р(0) — Р(1) — Р(2) = = 1 - (0,8)8 - 8(0,8)7(0,2)’ - (8/2)(0,8)6(0,2)2 = = 1 - (0.8)8 - 8 (0,8)7(0,2)’ - 28(0,8)6(0,2)2 = = 1 - (0,1678 + 0,3355 + 0,2936) = 1 - 0,7969 = 0,203. Поэтому, случай 1 более вероятен. 3. Каково минимально возможное число разрядов проверки на четность, теоретически требуемых для 16-разрядного кода с исправлением двух ошибок? Это число можно найти, вычисляя число возможных комбинаций ошибок: первая "комбинация" — это когда нет никаких ошибок, число возможных комбинаций одной ошибки равно 16 (так как ошибка может происходить в одной из 16 позиций кода); число возможных комбинаций кодов с двумя ошибками вычисляется как ’%= 161/(14’2!) = (16х15)/(2х1> 120. Поэтому, всего имеется 137 комбинаций для кодов с числом ошибок до 2. Для работы кода с исправлением ошибок нужно, чтобы каждая комбина- ция имела свой, отличный от других образец разрядов проверки на чет- ность. Иначе говоря, разряды проверки на четность должны быть способ- ны "кодировать" информацию комбинаций ошибок. Используя теорему Хартли определим, что количество информации в 137 событиях равно log2137, т. е. немного больше, чем 7 битов. Поэтому для поля проверки четности требуются по крайней мере 8 двоичных символов. Минимальный номер (число) разрядов проверки на четность — 8. 4. Придайте следующей матрице стандартную ступенчатую форму: г0 0 0 1 0 1 Г 0 0 10 110 0 10 1 10 0 J 0 1 1 0 0 0, Шаг 1: измените порядок строк на обратный. Строки 3 и 4 теперь на месте: "1 0 1 1 0 0 0" 0 10 110 0 0 0 10 110 ч0 о 0 1 0 1 1,
Гпава 8. Ответы на упражнения 379 Шаг 2: добавьте строки 3 и 4 к строке 1, чтобы удалить единицы в столб- цах 3 и 4: ''1 0 0 0 1 0 1'' 0 10 1 10 0 0 0 10 110 J) 0 0 1 0 1 I , Шаг 3: добавьте строку 4 к строке 2, чтобы удалить 1 в столбце 4: Г1 0 0 0 1 0 Г 0 10 0 111 0 0 10 110 J) 0 0 1 ’0 1 1, 5. Сформируйте порождающую матрицу кода Хемминга (15, 11) и ее матрицу проверок на четность. Порождающая матрица— это тоже код Хемминга, сформирований из кхк единичной матрицы, к каждой строке которой добавлены все воз- можные комбинации векторов размерности п - к с 2 или большим количе- ством единиц. Изменение порядка присоединяемых векторов дают раз- личные, но эквивалентные коды. Одна из матриц имеет следующий вид: возможных порождающих fl 0 0 0 G= 0 0 о о о о о о о о <° 0 0 0 0 0 0 0 1 о о 0 1 о 0 О 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 6. Кодовое слово 0110010 было Хемминга со следующей порождающей матрицей: 0 0 0 0 0 0 1 1 0 0" 0000001010 0000001001 00000001 10 0000000101 10 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 1 0 0 1 1 1 0000011 11 1> принято в системе, использующей код 0 1 0 0 0 0 '1 0 0 0 1 10" 0 10 0 10 1 0 0 10 0 1 1 ч0 0 0 1 1 1 1,
Передача данных в сетях: инженерный подход Какое было передано сообщение? Рассматривая порождающую матрицу формата [Л| Р], мы можем запи- „т ГН сать: Н = , что дает I/зJ 'I 1 О' 1 0 1 О 1 1 1 1 1 1 о о О 1 о <0 0 1, Отсюда можно вычислять синдром— он равен 100. Это соответствует синдрому для образца с ошибкой 0000100. Поэтому переданное кодовое слово было 0110110, а сообщение — 0110. 7. Двоичная схема кодирования сообщений построена из двух информационных символов Ы и Ь2 и трех символов четности (pl, р2 и рЗ). Порождающая матрица следующая: р 0 1 1 р 1^0 1 1 0 1J а) сколько существует кодовых слов? Каковы эти кодовые слова: из порождающей матрицы следует, что, п = 5 (число столбцов), а к = 2 (число строк). Так как это — двоичный код и к = 2, то имеется 4 кодовых слова; б) каково минимальное кодовое расстояние: кодовые слова— это 00000 (сообщение 00), 10111 (сообщение 10), 01101 (сообщение 01) и 11010 (сообщение 11); в) каковы теоретические возможности коррекции ошибок этого кода: минимальное расстояние является минимальным весом ненулевого кодового слова. Кодовые слова имеют веса 4, 3 и 3, поэтому мини- мальное расстояние равно 3. Теоретически код может исправлять одну ошибку или обнаруживать до двух ошибок;
Гпава 8. Ответы на упражнения 381 г) определите матрицу проверок на четность Н: матрица проверки на четность выглядит в этом случае так: '1 1 1 О (Г 10 0 10; 1 1 ° ° 1, д) каков синдром для следующих образцов с ошибками: (01000), (00101), (10010) и (11111): Синдром у всех этих образцов один и тот же — 101; е) сгенерировано следующее кодовое слово: (11010), которое искажено следующим образом: (10010). Если код используется для коррекции ошибок, то каково будет декодированное кодовое слово? Объясните ваш выбор: кодовое слово (ПОЮ) искажено (двойной) ошибкой (10010), так что принятое кодовое слово будет выглядеть как (01000). Синдром в этом случае— 101. Если бы код использовался для коррекции ошибки, то этот синдром соответствовал бы одиночной ошибке во втором бите, поэтому кодовое слово интерпретировалось бы как 00000, искаженное ошибкой 01000, а сообщение интерпретировалось бы как 00. Заметим, что это ошибка, так как кодовому слову 11010 в действи- тельности соответствует сообщение 11. Это происходит потому, что осуществляется исправление только одиночной ошибки, и если есть две ошибки, то кодовое слово искажается так сильно, что перемеща- ется за пределы корректирующего расстояния и попадает в точку другого кодового слова. Если бы код использовался только для кор- рекции ошибки, то можно было бы иметь дело с двумя ошибками. Действительно, синдром — не нулевой, так что мы обнаружили бы тот факт, что ошибка произошла. В случае простого обнаружения ошибки, мы не делали бы попытки ее коррекции. 8. Двоичный код строится добавлением к трем информационным символам (Ы, Ь2 и ЬЗ) трех символов проверки на четность. Для следующих кодовых символов: Ci =ЬХ Ci — Сз= &з
382 Передача данных в сетях: инженерный подход С4~ Ь2 + Ьз с$~ bi + Ьз Сб - Ь\ + Z>2 необходимо определить: а) кодовые слова: кодовые слова можно рассчитать или напрямую — из указанных в вопросе уравнений, или создавая порождающую матрицу. Все воз- можные значения Ь}, Ь2, Ьз приведены в табл. 8.15. Таблица 8.15. Исходный и вычисленный двоичный код bl Ьг *1 *2 *3 х* *5 *6 000000000 0 0 1 0 0 1 1 1 0 0 10 0 10 10 1 0 110 110 11 1 0 0 1 0 0 0 1 1 10 110 110 1 110 110 110 1111110 0 0 Отсюда же можно получить кодовые слова (с): 000000, ООП Ю, 010101, 011011, 100011, 101101,110110 и 111000; б) порождающую матрицу G и матрицу проверок четности Н: матрицу G можно построить, решая уравнение: Г£п £12 £в £14 £15 £16> G = ) £21 £22 £13 £24 £25 £26 = (с1С2СзС4С5С6), <£з1 £32 £зз £34 £35 £зб, и отыскивая различные коэффициенты gy. Например, Ci = wign +wjg2i + ni3g3y, и т. д. Подставляя биты информационных символов Ъ вместо битов сообщений m и биты х вместо битов кодо- вых слов с получаем: G = '10 0 0 0 10 1 0 0 11 1 г 0 1 1 о
Гпава 8. Ответы на упражнения 383 Матрица проверок на четность будет иметь вид: 'О Н= 1 1110 0' 0 10 10 1 0 0 0 1, в) минимальное расстояние Хемминга этого кода. Его возможности по обнаружению и исправлению ошибок: расстояние Хемминга, представляющее также и минимальный вес ненулевых кодовых слов, равно 3. Такой код может исправлять одну ошибку или обнаруживать до двух ошибок. 9. Двоичный линейный блочный код построен из кода с одним разрядом проверки на четность (Single Parity Check, SPC), в котором для каждых трех информационных символов добавляется один символ проверки на четность, так что в каждом кодовом слове имеется четное число единиц: а) определите G- и //-матрицы этого кода: в коде имеется три информационных символа. Обозначим их как т\ т2 и т3. Разряд проверки на четность (р) добавляется так, что р = 1, если mi + т2 + тз = 1 или р = 0, если т\ + т2 + т3 = 0. Обратите вни- мание, что мы работаем с отдельными двоичными цифрами, так что 0 + 0 = 0, 0+1 = 1, 1+0=1, 1 + 1 = 0, поэтому мы имеем р = т\ + т2 + т2. Кодовое слово — это Ci с2 сз сд, где С] = mi, с2 = т2, сз = тз, сд = р- /И| + т2 + тз. Отсюда: G = 0 10 0 0Р 1 0 1 0 1 1J Н = (1 1 1 1), б) каково его минимальное расстояние? Минимальное расстояние равно 2, поскольку кодовые слова— это 0000,0011,0101,0110,1001,1010,1100,1111. Существует два возможных синдрома: 0— для случая, когда нет ошибки, или 1 — в случае однобитовой ошибки. Заметим, что две или даже несколько ошибок также дают синдром 0 и, таким образом, остаются необнаруженными.
384 Передача данных в сетях: инженерный подход 10. Двоичный линейный код имеет следующую матрицу проверок на четность: "1110 10 0" Н= 0 0 1 1 1 1 0 J 0 0 0 1 1 1, а) каковы параметры п и к для этого кода? Сколько кодовых слов имеет этот код? Матрица Н— это матрица размерности 3x7, так что матрица G бу- дет иметь размерность 4x7, причем п = 7, к = 4 и имеется 16 кодо- вых слов; б) представляя Я-матрицу в виде [Рт7], где I— единичная матрица, оп- ределите систематическую порождающую матрицу (то есть матрицу в форме [7Р], чтобы первые к разрядов кодового слова были те же, что и у сообщения): перестраивая строки Н (строка 2 = строка 1 + строка 2, строка 3 = строка 1 + строка 2 + строка 3) получим "1110 10 0" Н= 1 1 0 1 0 1 0 ; J 0 1 1 0 0 1, Это означает, что "1 0 0 0 1 1 1" 0 1 0 0 1 10 ”0010101’ J) 0 О 1 0 1 1, в) перечислите все кодовые слова: кодовые слова перечислены в табл. 8.16. Таблица 8.16. Сообщения и кодовые слова Сооб- щение Кодовое слово Сооб- щение Кодовое слово Сооб- щение Кодовое слово Сооб- щение Кодовое слово 0000 0000000 0100 0100110 1000 1000111 1100 1100001 0001 0001011 0101 0101101 1001 1001100 1101 1101010 0010 0010101 0110 0110011 1010 1010010 1110 1110100 0011 0011110 0111 0111000 1011 1011001 1111 1111111
Гпава 8. Ответы на упражнения 385 г) каково минимальное расстояние этого кода? Сколько ошибок он может исправлять: минимальное расстояние равно 3. Код может исправлять 1 ошибку; д) после передачи двух кодовых слов через двоичный симметричный (BSC) канал, использующий систематическую форму кода, принимаются кодо- вые слова (1000001) и (1001100). Вычислите синдром для каждого из по- лученных кодовых слов. В обоих случаях определите наиболее вероятное переданное кодовое слово и наиболее вероятное сообщение: в первом случае синдром имеет вид (011), что предполагает ошибку во втором биге и кодовое слово (1100001), которому соответствует сообще- ние 1100. Во втором случае синдром представлен кодом (000), так что кодовое слово представляется правильным, а сообщение имеет вид 1001; е) предположим в этом примере, что BSC-канал имеет вероятность пере- хода менее 0,5. Что это говорит об относительных вероятностях оши- бочных и безошибочных разрядов? Если бы было известно, что веро- ятность перехода больше 0,5, нашелся ли простой способ исполь- зования кодов, подобных этим, и если да, то какой? Если вероятность перехода меньше 0,5, то ошибочные биты менее вероятны, чем безошибочные, и поэтому самое близкое кодовое слово является наиболее вероятным. Если вероятность перехода больше 0,5, то все полученные биты могут быть инвертированы, что приведет к тому, что вероятность перехода станет меньше 0,5, так что можно снова использовать предположение, что самое близкое кодовое слово является правильным. Если вероятность перехода равна 0,5, то нет такого кода, который можно было бы использовать для пересылки информации, а пропускная способность канала равна нулю. 8.4.2. Ответы на вопросы по сверточным кодам 1. Сверточное кодирующее устройство имеет схему, показанную на рис. 8.8. Нечетные выходные * биты (1, 3, 5 и т.д.) Входные биты Четные выходные биты (2,4,6 и т.д.) Рис. 8.8. Схема кодера к вопросу 1
SB6 Передача данных в сетях: инженерный подход а) нарисуйте кодовую решетку для соответствующего кода: ответ показан на рис. 8.9. Рис. 8.9. Решетка сверточного кода б) что ограничивает длину кода? Минимальный ненулевой путь этого кода генерируется из входа 100... Найдите минимальное расстояние этого кода и опишите его возможности по коррекции ошибок: длина ограничения— 2. Входной код 1000... генерирует выход 110100000 ..., который имеет вес 3. Поэтому код может исправлять 1 ошибку, происходящую в пределах окна размером 4 бита; в) повторяя решетчатую диаграмму каждого входного бита и четко вы- деляя каждое изменение в состоянии, закодируйте последователь- ность 10110100 (ответ показан на рис. 8.10): 1 2 3 4 5 6 7 8 Входной бит 10 1 10 10 0 Текущее 0 10 110 10 состояние Следующее 10 110 10 0 состояние Выходной бит 11 01 11 10 01 11 01 00 1 1 1 1 01 01 01 01 01 Рис. 8.10. Пример кодирования последовательности г) рисуя решетчатую диаграмму и показывая веса путей на каждом шаге, используйте алгоритм Витерби для декодирования последовательно- сти 00 11 11 11 10 10 00 00 по методу максимального правдоподобия и, следовательно, получите наиболее вероятную переданную последо- вательность (ответ показан на рис. 8.11):
Гпава 8. Ответы на упражнения 387 1 2 3 4 5 6 7 8 Входной бит 00 11 11 10 10 00 00 0 0 10 1110 0 Рис. 8.11. Пример декодирования последовательности Выходной бит 2. Сверточное кодирующее устройство имеет схему, показанную на рис 8.12. Входные биты Нечетные выходные биты (1, 3, 5 и т.д.) Четные выходные биты (2,4,6 и т.д.) Рис. 8.12. Схема кодера к вопросу 2 J», а) нарисуйте кодовую решетку для соответствующего кода (ответ показан на рис 8.13): Рис. 8.13. Решетка сверточного кода б) что ограничивает длину кода? Минимальный ненулевой путь этого кода генерируется из входа 100... Найдите минимальное расстояние этого кода и опишите его возможности по коррекции ошибок: длина ограничения— 2. Входной код 1000... генерирует выход 110111000..., который имеет вес 5. Поэтому код может исправлять 2 ошибки, происходящих в пределах окна размером б бит;
388 Передача данных в сетях: инженерный подход в) повторяя решетчатую диаграмму каждого входного бита и четко вы- деляя каждое изменение в состоянии, закодируйте последователь- ность 10110100 (ответ приведен на рис. 8.14): 1 2 3 4 5 6 7 8 Входной бит 10100101 Текущее 00 10 01 10 11 01 10 01 состояние Следующее 10 01 10 11 01 10 01 00 состояние Выходной 11 01 00 01 11 11 01 00 бит Рис. 8.14. Пример кодирования последовательности г) рисуя решетчатую диаграмму и показывая веса путей на каждом ша- ге, используйте алгоритм Витерби для декодирования последова- тельности 00 01 10 01 11 по методу максимального правдоподобия и, следовательно, получите наиболее вероятную переданную последо- вательность (ответ приведен на рис. 8.15): Вход Выход Рис. 8.15. Пример декодирования последовательности
Гпава 8. Ответы на упражнения 389 8.4.3. Вопросы по локальным и региональным сетям 1. Для передачи данных между двумя компьютерами, располагающимися на расстоянии 15м друг от друга, используется LAN-сеть, построенная по стандарту IEEE 802.3 CSMA/CD 10Base2: а) если LLC использует простую службу без соединений, сколько по- требуется времени, чтобы передать файл объемом 1 Мбайт между этими устройствами при условии, что никакие другие устройства в сети не используются? Предполагается межкадровый промежуток 9,6 мкс и максимальный размер кадра: полезная нагрузка пакета - 1500, байтов, а размер файла = 1 Мбайт (220 байтов), поэтому потребуется передать 700 кадров. Передача каждого кадра занимает 1518 х 8 х 0,1 мкс = 1,2144 мс плюс межкадровый промежуток 9,6 мкс и задержка преамбулы кадра 5,6 мкс. Полная задержка (время передачи кадра) составляет 1,2296 мс. Можно было бы также включить сюда задержку распростране- ния, которую допускается устанавливать по-разному — как полови- ну (временного) размера окна столкновений (25,6 мкс), задержку распространения в максимальном сегменте (12,5 мкс) или задержку распространения между устройствами, разнесенными на 15 метров друг от друга (0,075 мкс). Но все эти добавки малы по сравнению с задержкой передачи, так что мы пренебрежем ими. Время передачи файла = 700 х 1,2296 мс = 860,72 мс; б) сколько времени будет длиться передача файла, если LLC использу- ет дейтаграммную службу с подтверждениями: кадр подтвержения (ask-кадр) посылается в ответ на успешно пере- данный информационный кадр. При этом служба подтверждений предполагает, что передатчик останавливает передачу и ждет под- тверждения, а при передаче кадра подтверждения не происходит и никаких ошибок. Так что задержка передачи каждого следующего кадра складывается из времени передачи самого информационного кадра и времени передачи кадра подтверждения. Ask-кадр имеет ми- нимальный размер и вносит дополнительную задержку передачи на 51,2 мкс. С учетом преамбулы и межкадрового промежутка, дополни- тельная задержка составляет 47,04 мс для всех 700 кадров, общая за- держка оказывается равной 860,72 + 47,04 = 907,76 мс.
Передача данных в сетях: инженерный подход I. Оцените время, необходимое для передачи 1 Мбайта данных по высокоскоростной и гигабитной полнодуплексным Ethernet-сетям (для кадров с размерами полей полезной нагрузки 248 и 1500 октетов): • для сетей класса lOOBase— полезная нагрузка 248 октетов (полный размер — 266 октетов); время передачи составит 8 х 266 х 0,01 =21,28 мкс; • для сетей класса lOOBase — полезная нагрузка 1500 октетов (полный размер— 1518 октетов); время передачи составит 8 х 1518 х 0,01 = = 121,4 мкс; • для сетей класса lOOOBase— полезная нагрузка 248 октетов (полный размер— 266 октетов); время передачи составит 8x266x0,001 = = 2,128 мкс, но необходим специальный конфликтный слот; • для сетей класса lOOOBase — полезная нагрузка 1500 октетов (полный размер— 1518 октетов); время передачи составит 8х 1518x0,001= = 12,14 мкс. Определите эффективность процесса передачи, связанного с полудуплексной гигабитной Ethemet-сетью, при передаче кадров минимального размера с пакетированием кадров и без него. В системе без пакетирования кадров эффективность составит 64/512 = 12,5% или от 46/512 = 8,98%. В системе с пакетированием можно передавать 1 кадр в конфликтном сло- те и (максимум) 107 кадров в остальных 8192 - 512 = 7680 байтах пакета кадров. Первый кадр эффективен только на 8,98%, в то время как осталь- ные примерно 100 кадров эффективны на 46/72 = 0,634 = 63%. Следова- тельно, общая эффективность оказывается ниже 63%. . Для CSMA/CD-сетей типа lOOBase и lOOOBase оцените, сколько потребуется времени для передачи 1 Мбайта данных через полудуплексную конфигу- рацию без состязаний, когда полезная нагрузка кадра составляет 248 и 1500 октетов. Для передачи 1 Мбайт данных требуется примерно 700 кадров с полезной нагрузкой 1500 октетов. Полное время передачи для сетей типов lOOBase и lOOOBase можно подсчитать так: 700 х время передачи одного кадра (см. вопрос 2разд. 8.4.3), т. е. оно равно 85 мс (для сетей типа lOOBase) или 8,5 мс (для сетей типа lOOBase). Для передачи 1 Мбайта данных требуется примерно 4229 кадров с полезной нагрузкой 248 октетов. Для сетей типа lOOBase время передачи этих кадров составит 4229 х 21,28 = 90 мс. Для сетей типа lOOOBase мы должны учесть пакетирование кадров— один пакет содержит 8192 октетов, что эквива-
Гпава 8. Ответы на упражнения 391 лентно 29 кадрам. Таким образом, для передачи требуются 145,9 пакета, а полное время передачи составит 65,536 мкс х 145,9 = 9,56 мс. 5. Региональная сеть, построенная по FDDI-стандарту, состоит из 50 узлов, отстоящих друг от друга на расстояние 4 км и соединенных кольцом, работающим со скоростью 100 Мбит/с. Каждый узел генерирует трафик данных со средней скоростью 100 Кбит/с, при этом половина узлов генерирует речевой трафик со скоростью 256 Кбит/с, а другая половина — видеотрафик со скоростью 2,5 Мбит/с, который имеет ограничение по задержке в реальном масштабе времени, так что последовательные кадры не должны тратить более 12 мс на прохождение сети: а) если для циркуляции по сети МАС-маркер затрачивает 600 мкс, то оцените фактический и максимально возможный коэффициент ис- пользования сети в этих условиях: фактический коэффициент использования = фактическая нагру- зочная/общая пропускная способность = [(50x0,1) + (25x0,256) + + (25х2,5)]/100 = 73,9%, где все числа имеют размерность Мбит/с. В стандарте FDDI максимальная сквозная задержка определяется как 2 х TTRT (время обращения маркера), чТо дает в результате 12 мс, так что время обращения маркера (TTRT) = 6 мс. Кольцевая задержка (RL) = 0,6 мс от запроса. Число станций (N) = 50. Максимальный коэффициент использования = = (N(TTRT - RL))/((N х TTRT) + RL) = 89,9% или для больших N: Максимальный коэффициент использования = (TTRT- RL)/TTRT = 90%. б) какие существуют возможности для улучшения максимальной эф- фективности, и как это будет сказываться на общей производитель- ности? Чтобы увеличить эффективность, можно попробовать уменьшить кольцевую задержку (RL) или увеличить время обращения маркера (TTRT). Увеличение TTRT приведет к увеличению сквозной задержки, что повлияет на способность поддерживать службы реального времени. Гибкость по отношению к изменению этого параметра зависит от поддерживаемых служб. RL — это физический параметр, он может
Передача данных в сетях: инженерный подход быть уменьшен путем сокращения размера сети. Однако домини- рующим параметром является TTRT. 8.5. Ответы на вопросы к главе 6 8.5.1. Ответы на вопросы по пропускной способности канала 1. Двоичный симметричный канал с вероятностью перехода 1/4 каскадно соединен со вторым каналом с такой же с вероятностью перехода (1/4), так что выходной сигнал первого канала направляется во второй. Обозначим вход в первый канал через X, выходной сигнал первого канала и вход во второй — через У, а выходной сигнал второго канала — через Z. Источник в С генерирует 0 с вероятностью 1/3, а 1 — с вероятностью 2/3: а) вычислите Я (С | У): Н(С | У) = (Н | У = укУ)р(ук)• Чтобы упростить расчеты, мы сначала вычисляем все относящиеся к делу вероятности. Матрица канала имеет вид . Результаты вычислений приведены в табл. 8.17. Таблица 8.17. Вероятности для вычисления энтропии H(X/Y) р(Х=0)=1/3 р(%=/) = 2/3 р(У=0|Х=0) = 3/4 р(У=/|А'=0)= 1/4 р(У=0[У=/)=1/4 р(У=/[%=/) = 3/4 р(У=0Л=0)= 1/4 р(У=/, А'=0)= 1/12 р(У=0Л= /)=1/6 р(У=/Л=/)=’/’ р(У=0) = 5/12 р(У=/) = 7/12 р(%=0|У=0) = 3/5 p(X=l\Y = 0) = 2/5 р(%=0|У=/)=1/7 р(А"=/|У=/) = 6/7 Обратите внимание, что можно вычислять условные вероятности независимо от порядка следования событий во времени. Хотя собы- тие X происходит перед событием У, мы, все же, можем определять
Гпава в. Ответы на упражнения 393 p(X=O\Y=O), например, как вероятность события Х=0 при задан- ном событии Y = 0. H(X\Y= 0) = -р(Х= 0|У = 0) log2(p(%= 0|У= 0)) - р(Х— 1|У= 0) log2(p(* = 1|У = 0)) = = - 3/5 log23/5 - 2/51og22/5 = 0,97095 бита Н(X]Y « V = ~Р(* = 0|У = 1) log2(p/Y = 0|У = 1)) - Р(Х = 1|У = 1) log2(p(% = 1|У = 1)) = = - l/71og21/7 - 6/71og26/7 = - 0,59167 бита ад}? = ВДУ = Q№ 0) + ОДУ = \)p(Y = 1) = 0,97095 X (5/12) + + 0,59167 х (7/12) = 0,40456 + 0,34514 = 0,74970 бита; б) вычислите взаимную информацию между X и У: взаимная информация между Хи У вычисляется так: I(X;Y) = Н(Х)- -адУ)= - (l/3)log2(l/3) - (2/3)log2(2/3)- 0,74970 = 0,9183-0,7497 = = 0,169 бита; в) вычислите Н (X | Z): здесь можно применять те же методы, что и в предыдущих вопросах; г) вычислите взаимную информацию междуЛ" и Z: здесь можно применять те же методы, что и в предыдущих вопросах. 6. Двоичный канал со стиранием имеет следующую форму (рис. 8.16). Рис. 8.16. Форма двоичного канала (к вопросу 2) Какова его пропускная способность в терминах вероятности р? Матрица переходов имеет следующий вид: р 1-р О 0 l-р р‘
^4 Передача данных в сетях: инженерный подход Обозначим вход через X, выход — через Y, а р(Х= 0) = а. Пропускная способность вычисляется как максимальное значение взаим- . ной информации I(X; Y) = H(Y)~ H(Y\X). Соответствующие вероятности приводятся в табл. 8.18. Таблица 8.18. Вероятности для вычисления энтропии H(X/Y) Х*=о) = « р(У=0|Х=0)=р p(Y=0,X=0)=pa p(Y=0)=pa p(Y=U\X=O) = = \-р p(Y=U,X=O) = = (l-p)a р(У=1|А'=0) = 0 p(Y= I, X=0) = 0 p(Y=U) = = (l-p) р(А'=1)=1-а р(У=0|А'= 1) = 0 p(Y=0, X= l) = 0 p(y=MY=l) = = 1-р p(Y= U,X=l) = = (l-p)(l-«) р(У=1) = = p(l-a) р(У= 1|А'= 1)=р p(Y= 1,X=1) = =p(l ~a) H(Y)=p(Y=0)log^p(Y=0))-p(Y=lJ)\og^p(Y=lJ)-p(Y- 1)) 1оё2(р(У=1) = =-palog^pa ~ (1 -р) log2(l -р)-р(\-a) log^l -a) = = -jolog^ - (1 -p) log2( 1 -p) -palog2a-p{\ - a) log2( 1 - a); ВД) =p(X= 0)Я(Ж= 0) +p(X= \)H(Y\X= 1) = «(-plog^ - (1 -р)1о&(1 -p)) + + (1 - a)(- (1 —/?)log2(l -p) -plogjp) = -plogjp - (1 -/?)log2(l -p); H(Y) - H(Y\X)=-plog^ - (1 ~/?)log2(l -p) -paXog^a -p(X - t^log^l - a) + plogjp + + (1 -p) log2 (1 -p)=-paXog2 -pQ- n)logXl - a) =p(aXog2a - (1 - ^log^l - a)); Далее, (alog2a - (1 - a)log2(l - a)) — это энтропия двоичного источниках Ее максимальное значение равно 1 и, следовательно, максимальная про- пускная способность канала равна р. Телефонный канал имеет полосу шириной 3,4 кГц: а) вычислите пропускную способность канала, если отношение сиг- нал/шум составляет 30 дБ: используя закон Шеннона, получаем С = Slog2((5 + N)/N) или С = Blog2(l + S/N). Отношение сигнал/шум задано, равным 30 дБ.
Гпава 8. Ответы на упражнения 395 В абсолютных единицах это 103= 1000. Поэтому SW= 1000, В = 3400, так что С = 34001og2(l + 1000) = 3400 х 9,96722 = 33 888 бит/с; б) вычислите минимальное отношение сигнал/шум, требуемое (теоре- тически), чтобы поддерживать передачу информации со скоростью 4800 бит/с: для обеспечения передач со скоростью 4800 бит/с, необходимо, что- бы выполнялось неравенство В log2(l + S/N) > 4800. В = 3400, поэтому log2 (1 + S/N) > 4800/3400, 1 + S/N> 21’4'2, S/N> 2,66 или 4,25 дБ.
This page intentionally left blank
Предметный указатель 4 4В5Т, схема кодирования 227 8 8В6Т, схема кодирования 227 А AAL 5 — протокол уровня адаптации ATM 254 ADSL 327 AES — расширенный стандарт шифрования 58,60 ARP 15,222 ARP для IP/ATM 255 ARPANET — сеть министерства обороны США 7 ARQ: о гибридная схема 218 о с возвратом N кадров 137 о с избирательным повторением 137 о с остановом и ожиданием 137 о со скользящим окном 138 ATM: о режим асинхронной передачи 242 о контракт трафика 246 о стек протоколов 243 АТМ-ячейка: о поле CLP — приоритет потери ячейки 250 о поле НЕС — контроль ошибок заголовка 250 о поле PTI — идентификатор типа полезной нагрузки 250 В ВЕВ 190 С САР 329 CIDR 161 CPCS — общая часть подуровня сходимости AAL5,254,205 CSMA 234 CSMA/CA 234 CSMA/CD, МАС-стандарт IEEE 802.3, 224 Сетевой адаптер (NIC), 119 D DES 58 DiffServ 173 DIPS — распределенное межкадровое пространство 234 DMT 329 DNS 149,163 DQDB 263 DSCP 175
398 Предметный указатель Е EGP 167 Ethernet 189 о LAN-стандарт Xerox 224 О быстрая, высокоскоростная LAN 227 о гигабитная, высокоскоростная LAN 228 о изохронная, высокоскоростная LAN IsoENET 226 F FCS 136 FDDI 192,257 FDMA 309 FEC 197, 341 G G.711 — аудио-стандарт из H.323, 346 G.7xx — аудио-стандарты из H.323, 346 GSM 333 H H.26x—видео-стандарты из H.323 346 H.323 — стандарт аудио- и видео- конференций Interhet 345 HDLC 253 HSCSD 337 I ICP 146 IEEE 802.1 — стандарт 220 IEEE 802.11 — беспроводная LAN 233 IEEE 802.2 — стандарт LLC-уровня 220 IEEE 802.3р.—дополнение к стандарту IEEE 802.3 (быстрая Ethernet) 227 IEEE 802.3 — МАС-стандарт CSMA/CD 224,235 IEEE 802.4 — МАС-стандарт Маркерная шина 233 IEEE 802.5 — МАС-стандарт Маркерное кольцо 192,232 IEEE 802.9: о сеть IsoENET 226 Internet: о стек протоколов 7 о эталонная модель 7 IP — протокол Internet 155 IP (Internet Protocol) — межсетевой протокол 15 IP и ATM 254 IP и SDH/SONET 254 IPv4 — IP-протокол версии 4, 155 IPv6 — IP-протокол версии 6, 168 ISO 8 IsoENET — LAN-стандарт IEEE 802.9 226 L LAN — локальная сеть 218 LCP253 LED 285 LFSR 305 LLC 220 LSP — маркированный переключаемый путь 176 LSR 176 м MAN 256 MEGACO 347 MOS — Mean Opinion Score 340 MPLS — переключение многопротокольных меток 176 О OSI (Open Systems Interconnection): о уровни: ° канальный 10,17 ° представительский 9 ° прикладной 9 ° сеансовый 9 » сетевой 10
Предметный указатель___________________________________________ 399 ° транспортный 9,15 ° физический 10 0 взимодействие открытых систем 7 0 стандарт ISO 220 OSPF 129,168 S SAP (Service Access Point): 0 точка доступа к службам 4 SDH 240 SDH/SONET 254 Р SDL 253 SIFS 234 SIP 345 PDU (Protocol Data Units): SLA 174 0 протокольные блоки данных 5 0 протокольные единицы обмена 149 РНВ — посегментное поведение 175 РРР252 PSTN 328, 345 PVC 249 SLIP 252 SONET 240 SPC — код с одиночным разрядом проверки на четность 214 STM — синхронные транспортные модули 240 Q т QoS 103, 171 0 параметры: TCP 15, 150 ТНТ — время удержания маркера 262 TRT — таймер обращения ° не связанные с производительностью 103 ° приоритет 103 ° связанные с производительностью 103 ° стоимость 103 маркера 262 TSAP 152 JTRT261 и UDP 15, 149, 342 R V RARP 223 RFC 1034/1035 — документы IETF 164 RFC 1519 — документ IETF 161 RFC 1700 — документ IETF 157 RFC 950 — документ IETF 160 RIP 128, 168 RPE/LPC —кодек 338 RPF — передача по обратному маршруту 131 RS-232 — стандарт последовательных линий связи 306 RSVP 172,176 RTCP 343 RTP342 VoD 328 VoIP 339,343, 344 VP1249 VSELP 338 w WLAN 233,288 WLL 287 X xDSL-технологии 327 0 HDSL 327 0 SDSL 327 0 VDSL 327
400 Предметный указатель А Агрегация маршрутов 161 Адреса: о доменные ймена 162 о числовые 162 Адресация 145 о МАС-адрес 222 о NPA-адрес 222 о иерархическая 146 О сплошная 146 Акустический алфавит 197 Алгоритм о Витерби 212 О Дейкстры 124 о дерева охвата 238 о Ивена 94 о Клейтмана 92 о маршрутизации 121 ° адаптивный 122 Асимметричная цифровая абонентская линия, ADSL 327 Б Байт-стаффинг 184, 252 Бит (bit), 20 Бит-стаффинг 184,240 Брандмауэр (firewall), 51 В Вероятность о ошибки 200 о перехода 200 Виртуальные (VC) контейнеры 241 Виртуальный канал (VC) в ATM 245 Виртуальный путь (VP) в ATM 245 Время выдержки 189 Г Граф регулярный 90 д Дейтаграмма 97 Дерево охвата 238 Диод: о инжекционный лазерный 285 о светоизлучающий 285 Домен верхнего уровня 162 Доступ к среде передачи 183 Дрожание (jitter), 105 3 Задержка 104 Задержка распространения 139 Закон Литтла 113 Запись ресурса — Resource Record, RR164 Защита от ошибок 134, 183 Зив и Лемпель (Ziv, Lempel), 39 И Идентификация 70, 73 Иерархия многоуровневая 4 Измерения в сетях: о с коммутацией каналов 105 о с коммутацией пакетов 109 Изображения: о сжатие фрактальное 40 ИКМ — импульсно-кодовая модуляция 34 о адаптивная 337 о дифференциальная 337 о обычная 337 Интерливинг 212, 339 Интерференция: о межсимвольная (IS1), 315 Информация 19 о взаимная 22 о количество по Хартли 19 Искажение (данных) 104 Источник информации: о алфавит 23 о без памяти 23 о избыточность 24 О с памятью 23
Предметный указатель К Канал 273 о бесшумный 273 о двоичный симметричный 274 о дискретный без памяти 273 о шумящий 273 Квантование 27 о ошибка 28 о точность 28 о шаг 28 Классы адресов 158 Код: о алфавит 24 ° двоичный 24 о дерево решений 25 о избыточность 26 о кодовое дерево 25 о моментальный 24 о неравенство Крафта 25 о неравенство Крафта-Макмиллана 25 о неравенство Макмиллана 25 о однозначно дешифруемый 24 о префиксно-свободный 24 о разборчивый 24 о эффективность 26 Код Грея 303, 322 Кодирование: о источника 26 о источников с памятью 37 о канала 27 о криптогафическое 27,47 о сообщений 24 о теорема помехоустойчивого кодирования 26 о Хаффмана 35,40 о Шеннона-Фано 35 Кодовое слово 197 Коды: о блочные 338 о Гильберта 214 о исправляющие ошибки 201 о каскадные 214 о композиционные 213 о линейные 203 ° порождающая матрица 203 ° синдром 203 о Рида-Соломона 200,215 о с одним разрядом контроля четности 201 о с повторениями 200 о сверточные 200,208, 338 о схема кодирования 4ВЗТ 303 о турбо 216 о турбо-композиционные 216 о Хемминга 200,202 ° матричная форма 204 ° расширенные 207 о циклические 200,205 Коммутация 97 Конкатенация кодов 214 о параллельная 215 о последовательная 215 Концентратор (hub), 119 Концентраторы о магистральные 237 Коэффициент спада АЧХ 315 Криптография: о категории 47 Криптосистема: о RSA (Rivest, Shamir, Adleman) 68 о Диффи-Хеллмана 67 о с общим ключом 64 о с частными ключами (симметричные) 52 Л Линейное кодирование 294 Линейный код 294 о биполярный: ° с расщеплением по фазе 299 о двоичный 295 ° биполярный: ♦ AMI с замещением N нулей • AMI с чередующейся инверсией маркера 296 » бифазный 299 • высокоплотный биполярны кодЗ, HDB3 300 (окончание рубрики см. на с. 402)
402 Предметный указатель ° биполярный (окончание): • код Миллера (модуляция с задержкой), 297 ♦ манчестерский 297 » многоуровневый с 3 переходами, MLT-3,301 ♦ cBRZhBNRZ296 ♦ с инверсией кодовых посылок, CMI298 ° униполярный NRZ 295 = униполярный NRZI (с инверсией 1) 295 ° униполярный RZ 295 о с переходами 295 о с уровнями 295 м Манипуляция о m-арная частотная m-FSK 319 о амплитудная, ASK 317 о амплитудная, m-ASK 318 о амплитудно-фазовая, АРК 324 о гауссова минимальная частотная, GMFSK 334 о двоичная частотная BFSK 319 о двухпозиционное, ООК 317 о дифферециальная фазовая DPSK 321 о квадратурная фазовая, QPSK 321 о минимальная частотная, MSK 334 о фазовая 320 о частотная, FSK 319, 334 Маршрутизатор 120 Маршрутизация: о в 1Р-сетях 167 о децентрализованная: ° изолированная 123 ° распределенная 123, 128 о лавинная 127 о многопутевая 123 о пакетов 121 о распределенная: ° по вектору расстояния 128 ° по состоянию связей 129 о централизованная 122 о широковещательная 131 Межкодовое расстояние 197 Межсетевые взаимодействия 118 Методы зашиты от ошибок: о коррекция ошибок с обратной связью 338 О маскировка ошибок 338 о прямое исправление ошибок 338 Метрика ветвлений 211 Множественный доступ: о с временным разделением, ТОМА 312,335 о с частотным разделением, FDMA 309, 335 Модуляция 307 о амплитудная, AM 317 о амплитудно-фазовая без несущей, САР 329 о дискретная многотональная, DMT 329 о звездообразная QAM 326 о импульсно-кодовая 34 о квадратная QAM 324 о квдратурная амплитудная (QAM), 323 о круговая QAM 326 о цифровая 314 Мост 119 о многопортовый 120 Мосты 237 Мультиплексирование: о с разделением времени, асинхронное (ATD) 110, 111 о с разделением времени (TDM) 110 о с разделением времени, синхронное (STD)llO о статистическое 110 н Нападение: о канал прослушивания 51 о с подстановкой 51 Настроечная последовательность 336 Нат (nat), 20
Предметный указатель 403 О Обнаружение ошибок 135 Обнаружение столкновений 188 Объекты 4 Отношение сигнал-шум (SNR), 28 п Пакет протокола IPv4, формат 155 Пакетирование кадров 231 Передающая среда: о UTP-кабели 280 о Передающая среда: о беспроволочный локальный канал 287 о двухточечная радиолиния 287 о индуктивные контуры 293 о инфракрасная 292 о коаксиальный кабель 281 о ленточный кабель 279 о линия электропередачи 293 о оптоволокно 282 » многомодовое 285 ° одномодовое 284 ° с многоуровневым показателем преломления 284 о проводная 278 о радиовещание 285 о радиосреда 285 ° Bluetooth, "Голубой Зуб", 288 ° мобильные системы 288 о спутники 290 Перемешивание 304 Плезиохронные (почти синхронные) системы 240 Повторители 236 Повторитель 119 Подпись цифровая 75 Подсети 159 Порог пакета 231 Последовательное декодирование 211 Почтовый сервер 164 Предлагаемая нагрузка 107 Проблема скрытых терминалов 187 Прокалывание кода 212 Пропускная способность 104 Пропускная способность канала 278 Протоколы 4 Протокольные блоки данных 5 Пульсация 105 Путь 90 о геодезический 90 о наикратчайший 123 о с разделенными связями 90 о с разделенными узлами 90 Р Разграничение кадров 184 Рассеивание (стеганография), 48 Расстояние Хемминга 198 Расширение несущей — способ передачи кадров 229 *с Связность 90 Сервер: о имен 162 о процессов 146 Сеть 83 о без соединения 97 о глобальная (WAN) 96,240 о звено: ° дуплексное 117 ° полудуплексное 117 ° рабочие параметры 118 о как граф 90 ° степень узла 90 о компоненты ° звено 83 ° узел 84 » коммутационный 84 • промежуточный 84 • терминальный 84 • хост 84
404 Предметный указатель о о о о о о о о о конфигурации: о базовая 86 о двухточечная 84 ° доступа 86 о коммутируемая 85 о широковещательная 85 локальная (LAN), 96,218 региональная (MAN), 96,256 с виртуальными каналами 101 с коммутацией дейтаграмм 101 с коммутацией каналов 98 с коммутацией сообщений 100 с коммутацией ячеек 100 с соединением 97 о топология 87 древовидная 89 о о о звездообразная 87 кольцевая 88 о сеточная 87 о шинная 89 Сжатие 37 о о о о о о адаптивное дифференциальное 39 векторное квантование 39 ° CELP-кодер 39 групповое 38 ифференциальное 39 о дельта-модулятор 39 изображений: ° форматов GIF 40 ° форматов JPEG 40 ° форматов MPEG 41 мета-символ 38 о основные типы (таблица), 37 о подстановка образцов 3 8 о примеры 40 о с подавленим нулей 38 о с преобразованием 39 Синхронизация 184,304 Синхронизация кадров 183 Система мобильной цифровой телефонии 333 Скорость выборки 34 Служба полускоростной передачи речи 337 Службы ATM 242 0 ABR — с доступным битрейтом 242 о CBR — с постоянным битрейтом 242 о UBR — с неопределённым битрейтом 243 о VBR—с переменным битрейтом 242 Снелл: о закон преломления света 283 Сообщения 19 о источники 19 о символы 19 Спектр частотный 32 о линейчатый 33 о основная частота 33 Стеганография (рассеивание), 48 Стек протоколов 4 Столкновение кадров 186 Стратегии защиты от ошибок 134 о автоматический запрос повторения передачи, ARQ 135 о скрытие ошибок 134 о упреждающая (прямая) коррекция ошибок, FEC 135 Суперграмма (jumbogram), укрупненный пакет 169 Схемы доступа: 0 гибридные 191 о с маркерами 191 о с резервированием 190 ° с циклическим опросом 190 0 с состязаниями CSMA/CD 187 0 с состязаниями ALOHA 186 ° квантованная ALOHA 187 о сравнение 196 Теорема кодирования канала 276 Транспортные службы о классы 147 Туннелирование 170
405 У правление доступом к среде передачи 185 Управление потоками данных 134 Уровень звена данных 183 Циклический избыточный код, CRC 136 Частота дискретизации 29 Частотный спектр 30 Фильтр: о приподнятая косинусоида 315 Формирование импульсов 315 Формула потерь Эрланга 107 о В-формула 107 о С-формула 107 Фрагментация сообщений 157 Фрактал 40 Функция о односторонняя 65 Фурье о преобразование 33 о ряды 30 Характеристики АТМ-трафика: о САС-контроль за установкой соединений 246 о CDV-разброс задержки ячеек 246 о CLR- скорость потери ячеек 246 о PCR-пиковая скорость ячеек 246 о SCR-нормальная скорость ячеек 246 о UPC-контроль параметра использования 247 0 групповой допуск 246 о скорость ошибочных ячеек 246 Хартли 19 о закон о пропускной способности канала 277 ш Шеннон 20,276 о теорема о пропускной способности канала 278 Шифр 50 о блочный 50 о полиалфавитный 55 о поточный 50 о ключ 50 о моноалфавитный трансформационный 54 о на основе линейного сдвигового регистр с обратной связью 56 о перестановочный 52 о ««подстановка Цезаря 53 о поточный 61 ° с автоключом 61 о продукционный 57 ° Blowfish 58 ° IDEA (International Data Encryption Algorithm), 58 □ TC4,58 о с одноразовым заполнением 56 о трансформационный моноалфавитный 53 Шифрование 48 Шлюз 118 о высокого уровня 120 Энтропия 21 о дифференциальная 277 Эфект Гиббса 31 Эхоподавление 329