Text
                    Дж. Ир.ин
д. Харпь


ПЕР Ч HHblX
Т .
..
ЕН I ПОДХОД
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .


MHoroYPoBHeBbI8 коммуникационные
модели


КриптоrрафИII и защита данных


Сети: конфиrурвция, тополоrИII,
маршрутизвция


Среда передачи и управление
доступом


УЧЕБНОЕ ПОСОБИЕ


, v





Джеймс Ирвин, Дэвид Харль ПЕРЕДАЧА ДАННЫХ В СЕТЯХ: ИНЖЕНЕРНЫИ ПОДХОД СанктПетербурr сБХВПетербурr. 2003 
Джеймс Ирвин, Дэвид Харль ПЕРЕДАЧА ДАННЫХ В СЕТЯХ: ИНЖЕНЕРНЫИ ПОДХОД Санкт Петербурr сБХВ Петербурr. 2003
УДК 681.3.06 ББК 32.973.202 И.77 ИР.ИН Дж.. Харпь д. И77 Передача данных в сетях: инженерный подход: Пер. с анrл. СПб.: БХВ Петербурr, 2003. 448 с.: ил. ISBN 5--94157 11 5 в книre рассмmpиваются современные системы передачи данных с ТОЧКИ зрения орraнизации взаимо действия соответствующих сетеВЫХ служб и техники связи, подробно исследуется влияние требований пользовareлeй на сетевой проеlCf. Сначала даны принципы и технолоrnи, связанные с сетевой структурой В целом и иерархией ее КОМIЮнеlП'OВ вepxнero уроВИЯ, затем проблемы уроВНЯ канала передачи данных и, наконец. К/lючевые прииципы, обеспечивающие передачу ицциви,дуальных ннформационных бlПOВ. При вcwm:я примеры действующих систем, И1U1ЮС1Рирующие, как изложенные концепu.ии комбинируются на пpaкrике при построенни целocrnой службы. В книre содержатся вопросы, снабженные обстоятельными arвeraми, и 3ЦЦIUfИЯ по всем основным темам. для студентов, аспирантов и спеЦUШIистов в области телекоммуникационных систем УДК 681.3.06 ББК 32.973.202 Срynna DОдroтoвки И3ДаНИJl: fлавный peдalCfop Екатерина Кондукова Зав. редакцией Анна Кузьмина Перевод с анrлийскоrо Борис Желваков РедаlCfОр fpuzopuu Добин Компьютерная верстка Татьяны Олоновой Koppeкrop Вера Александрова Дизайн облоЖJ(И Иzоря Цырульникова Зав. производством Николай Тверских А11 rights reselVed. Authorized translation from the English language edition pubIished ьу John Wi11ey & Sons, Ш. No part of this book тау ье reproduced or transmitted in апу form or Ьу апу теаns, electronic or mechanica1, including photocopying, recording or Ьу апу information storage retrieval system, without permission fcom the PubIisher. Russian language edition pubIished Ьу BHV St. Petersburg. Все права защищены. Aвrоризованный перевод анrлийской редакции, выпущенной John Willey & Sons, Ш. Никакая часть настоящей книrи не может быть воспроизведена или передана в какой бы то ни было форме и какими бы то ни было средствами, будь то злекrpонные или механические, ВКЛЮчая фотокопирование и запись на маrнитный носитель, если на то нет письменноro разреше иия издательства. Русская редакция выпущена "БХВ Петербурr". Лицензия ид не 02429 от 24.07.00. Подписано в печать 25.01.02. Формат70х1оо 1 /18. Печать офсетная. Уел. печ. л. 36,12. Тираж 4000 ЭКЭ. Заказ 4014 "БХВ.Петербурr", 198005, Санкт Петербуpr, Измайловекий пр., 29. rиrwжИЧ6СК08 заключен е на продукцwo, ТOВ8J), не 71.99.1.953.П.950.3.99 от 01.03.1999 r. выдано Департаментом rсэн Минздрава России. Оmечатано с rOToBblX диапозитивов в Академической тиnоrpафии .Наука" РАН 199034, Санкт-Петербуpr, 9 линия, 12. ISBN 0-471 80872-5 (аиrл.) ci 2002 Ьу John Wllcy &. Soпs, Ltd Вaffins Lane, Cbichester West SusseJ(, РО19 100. Eag\8nd ci Перевод на русскиЙ А3ЫК, офоРNJIение .БХВ Петербур"', 2003 ISBN 5-94157 1l3-S
Содержание СОкращения ..................................................................................................................... VII 1JpeдислоВие.................................................................................................................XXXI f rлава 1. Коммуникационные системы ............................................................................1 1.1. Обзор ................... ............. .......... .......... ................ ..................... ......... ............. ...........1 ,1.2. Декомпозиция коммуникационных систем ........................................................2 1.3. MHoroypoBHeBbIe коммуникационные архитектуры ........................................4 1.3.1. Потребность в стандартах ................................................................................5 1.3.2. Эталонная модель Internet ............................: .'................................................ 7 1.3.3. Эталонная модель взаимодействия открытых систем ................................7 1.4. Структура книrи ....................................................................................................1 О , ,i1aвa 2. С точки зрения пользователя ..........................................................................19 2.1. данныe пользователя ............................................................................................19 2.2. Введение в теорию информации ..........................................................................19 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. Вычисление частотноrо спектра .............. ................ ....... ............. ..................30
V/II СодвржаIOf! 2.5.6. Частотный спектр ...............................................................................................32 2.5.7. Минимальная скорость выборки................ .................. ......... .................... ........34 2.5.8. Импульсно-кодовая модуляция (ИКМ) ............................................................34 2.5.9. Кодирование источников без памяти ...............................................................35 Кодирование Шеннона-Фано ...................................................................................35 Кодирование Хаффмана ......... ....................... ......... ................... ......... .................. .... 35 2.5.10. Кодирование источников с памятью ..............................................................37 Подавление нулей ................... .... '" ...... ........ ........ ......... ................. ......... ......... ..... .,. ..3 8 rрупповое кодирование ............................................................................................38 Подстановка образцов....... ......... ............................................................................... 3 8 Диффереициальиое сжатие.......................................................................................39 Сжатие на основе преобразования.......... .................... ........ ....... ................ ..............39 Векторное квантование .............................................................................................39 Примеры сжатия ........................................................................................................40 Практическое сжатие  JPEG .................................................................................41 2.6. Вопросы к rлаве......................................................................................................42 2.6.1. Вопросы по теории информации ......................................................................42 2.6.2. Вопросы по кодированию источника без памятн...........................................43 2.6.3. Вопросы по кодированию источника с паМятью.............................................44 rлава 3. С точки зрения защиты ....................................................................................47 3.1. Введение ............ ................ .......... ........ .......... ............ ................ ..... ...................... ....47 3.2. Криптоrpафические типы........... ........................... .............................. ..... ............47 3.2.1. рассеивание..................... ................ ................ .................. .................... .... ..........48 3.2.2. Перемешивание ..................................................................................................50 3.3. Криптоrpафические сценарии......... ...... .............. .......... ........ ...............................5 1 3.4. Системы с частными ключами.............................................................................52 3.4: 1. Введение ........................................... ...... .................. .................................... ......52 3.4.2. Перестановочные шифры.. ........... ................ ......... ............................ ............... .52 3.4.3. Трансформационные шифры ....... ...... ................ ............ ...................... ............ .53 Моноалфавитный шифр ............................................................................................53 Полиалфавитный шифр ...... ...................................................................................... 5 5 3:4.4. Одноразовое заполнение ...................................................................................56 3.4.5. Кодировщики со сдвиrовым pemcтpoM ...........................................................56 3.4.6. Продукционные шифры.....................................................................................57 DES ............................................................................................................................. 5 8 Расширенный стандарт шифрования (AES)............................................................60 3.4.7. Поточные шифры ...............................................................................................61 3.5. Криптосистемы с общим ключом .......................................................................64 3.5.1. Проблема распределения ключей .....................................................................64 3.5.2. Односторонние функции ...................................................................................65 3 .5.з. Ключевой обмен Диффи- Хеллмана ................................................................. .67 3.5.4. Криптосистема RSA (Rivest, Shamir, Adleman)..............................................68 
!Содержание /Х 3.6. Идентификация .. .... ...... ...... ...... ...... ............................... .............. .............. ............. 70 3.6.1. Введение...... .......... ....... .... .... ................ ........... ... ... ... ..... ................ ....... ...............70 , 3.6.2. Целостность. .......... ........ ............ ....... ..... ........ ... ........ ..... .... ....... ..... ......... ....... .....70 3.6.3. Идентификация ................. ................ ...... ............ ..... ......... .... ............ ..... ...... .......73 3.6.4. Цифровые подписи............................................................................................. 75 . 3.7. Друrие криптоrрафические протоколы .............................................................75 . 3.7.1. Удаленное бросание монеты ............................................................................. 75 ; 3.7.2. Неосознанная передача...................................................................................... 77 3.8. П рактическая защита.................... ........ ........... ........ ......... ...... ....... ....... .... ... .........79 3.8.1. Какова необходимая степень защиты? .............................................................79 3.8.2. Проверка полномочий........................................................................................80 3.8.3. Аварийные сиryации. ..... .............. ........ ......... ........ ... ....... ................ ....... ..... .......80 3.8.4. Человеческий фактор........................... ..... .............. ...................... .............. ....... 81 3.9. Вопросы к rлаве....................................:.................................................................81 rлава 4. С ТОЧКИ зреИИЯ сетей.........................................................................................83 4.1. Введение. ......... ............................... ........ ........... ...... ............. ........... .................... ..... 83 4.2. Сетевые конфиrурации .........................................................................................84 4.2.1. Сетевая тополоrия..................... ...... .... ....................... ......... .............. ......... .... ....87 Сеточная тополоrия...................................................................................................87 Звездообразная тополоrия ............ ...... .......... ... ................ ........... ....... ... .... ................87 Кольцевая тополоrия.................................................................................................88 Шинная тополоrия.....................................................................................................89 4.2.2. Связность.......... ....... ........................ ............ ....:-::............. ......... .... ... ......... ..........90 Алrоритм Клейтмана.................................................................................................92 Алrоритм ивена........................................................................................................94 4.3. Размер сети............................ ................. ..... ...... .... ......... .............. ....... .............. ......95 4.3.1. rлобальные сети.... ............ ...................... ............. .............. ........ .................. ......96 4.3 .2. Рrиональные сети... .... .......................... ......... ................... ........... ..... ................96 4.3.3. Локальные сети.. ....... ........... ...... ................. ...... ...... ........ .................. ..... ...... ....... 96 4.4. Типы коммутации .... ..................... .............. ................... ......... ... ............................ 97 4.4.1. Коммутация каналов ..........................................................................................98 4.4.2. Коммутация пакетов ..... ... ......................... ........ ............. .................... ......... .......99 Коммутация дейтаrpамм ................ ........ .... ..... ...... ............ ........... ....... ........... ..... ....1 О 1 Виртуальные каналы.................. .... .................... .... ............ ............. ....... ....... ..........1 О 1 4.5. Качество работы сетевых служб........................................................................102 4.5.1. Параметры качества обслуживания, не связанные с производительностью. .......... ........ ... ......... ........ ...... ..................... ........ ........1 03 4.5.2. Параметры качества обслуживания, связанные с производительностью..................................................................................1 03 4.6. Пропускная способность сетей ..........................................................................1 05 4.6.1. Пропускная способность сетей с коммутацией каналов.............................. 1 05 4.6.2. Пропускная способность систем с коммутацией пакетов............................l 09 4.7. Свойства звеНьев передачи данных ..................................................................117 4.8. Межсетевые взаимодействия ............... ......... ...................... ... ............................ .118 4.8.1. ПоВторители.......... ........... ......... ........ ............. ....................... .................... ........119 
х Содержание 4.8.2. Мосты ............................... ..................................................... ........................ ....119 4.8.3. Маршрутизаторы ..... .... ................................ ..... ....... ........... ... .... .., ............ ....... .120 4.8.4. Шлюзы BLIcoKoro уровня .................................................................................120 4.9. Маршрутизация......... ................... ...... ...... ......... ....... ...... ....... ...... ......... ... .......... ...121 4.9.1. Наикратчайший путь........................................................................................ 123 Алroритм Дейкстры ................................................................................................124 4.9.2. Лавинная маршрутизация ....................... .... ............. ........................................127 4.9.3. Распределенная маршрутизация .....................................................................128 Маршрутизация по вектору расстояния ................................................................128 Маршрутизация по состоянию связей ...................................................................129 4.9.4. Широковещательная маршрутизация .............................................................1 3 1 . 4.10. Переrpузка. ........ ........... ................. .......... ............. ....Н.. ........ ......... ........... ...... .....1 32 4.10.1. Управление на входе ......................................................................................1 33 4.10.2. Сброс заrpузки ................................................................................................1 33 4.10.3. Управление потоками данных....................................................................... 1 34 4.11. Защита от ошибок..............................................................................................134 4.11.1. Обнаружение ошибок ....................................................................................135 4.11.2. ARQ .................................................................................................................1 37 4.12 Службы тpaHcnopTHoro уровня ........................................................................144 4.12.1. Адресация .......................................................................................................145 Иерархическая адресация ............ ...... .............. ........... ................ ......... ................. ..146 Сплошная адресация .. ........................................ ......................... .............. ...... ....... .146 Протокол начальноrо соединения.................. ................... ................. ................... .146 4.12.2. Классы транспортных служб OSI .................................................................147 4.12.3. Классы транспортных служб Intemet............................................................148 Протокол пользовательских дейтаrpамм .....................................Н.......................149 Протокол управления передачей (ТСР).................................................................150 CerMeHT ТСР .............................. ............................ ............... ........... ......... ...... ......... 151 4.13. Протокол Internet (IP) .......................................................................................155 4.13.1. Формат IРпакета............................................................................................155 4.13.2. Адресация ........................................... ........ ............. ............... ............. ...... .....158 4.13.3. Подсети ......................... ..................... ........ ........... ....................... ............. ......159 4.13.4. Бесклассовая адресация .................................................................................161 4.13.5. Служба доменных имен .................................................................................162 4.1 3.6. IРМаршрутизациll ................. ............ .......... ................. ............. ................... ..167 4.13.7. IРпротокол версии 6 (IPv6) ..........................................................................168 4.14. Качество обслуживания на IP ..........................................................................171 4.14.1. Интеrpированные службы .............................................................................171 4.14.2. Протокол резервирования ресурсов ............................................................172 4.14.3. Дифференцированные службы...................................................................... 173 Переключение миоrопротокольной метки............................................................ 176 4.15. Вопросы к rлаВе..................................................................................................177 4.15.1. Вопросы по сетевым конфиryрациям...........................................................177 4.15.2. Вопросы по технике коммутации .................................................................178 4.15.3. Вопросы по расчетам в сетях ........................................................................178 
Содвржан",в Х/ 4.15.4. Вопросы по маршрутизации..........................................................................179 4.15.5. Вопросы по защите от ошибок......................................................................180 Fлава 5. С ТОЧКИ зрения зВена.......................................................................................183 5.1. Уровень звена данных .........................................................................................183 5.2. Разrpаничение кадров .........................................................................................184 5.3. Управление доступом к среде передачи ..........................................................185 5.3.1. Схемы с состязаниями .....................................................................................186 ALOHA .....................................................................................................................186 Квантованная ALOНA.............................................................................................187 Множественный доступ с контролем несущей . Обнаружением столкновений (CSMNCD) ..................................................................187 .. 5.3.2. Схемы с резервированием .................,.............................................................190 Опрос..............:..... ............. .......................... ................... ..... ....... ....... ......... ......... .....190 Схемы с маркерами .................................................................................................191 5.3.3. Сравнение методов доступа ............................................................................196 '5.4. Кодирование канала.... ..................... ........ ..................... .......... .... ........................ 197 . 5.4.1. Вероятность ошибки ........................................................................................200 5.4.2. Построение кодов с исправлением ошбок ...................................................201 Коды с повторениями............. ........ ..................... ....... ................. ........................... .20 1 Код с одним разрядом контроля четности ............................................................201 Код хемминra.................. .......... .............................. ........ ..... ......... .... ....... ......... ......202 5.4.3. Линейные коды............... '" ............ ................... :.11...... ............. ....... .................. ..203 Матричная форма кодов Хемминrа .......................................................................204 Циклические коды ...................................................................................................205 Пример линейноro кода: расширенный код Хемминrа .......................................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. Конфиryрации локальных сетей .....................................................................219 5.6.2. Локальные сети rpуппы стандартов ШЕЕ 802..............................................220 5.6.3. Адресация устройств........................................................................................222 Протокол преобразования адресов............... ....................................................... ..222 Обратный протокол преобразования aдPlicoB.......................................................223 5.6.4. Локальная сеть ШЕЕ 802.3 (Ethemet)..............................................................224 5.6.5. Высокоскоростные сети Ethemet ....................................................................226 Изохронная Ethemet ..............................................................................................226 Быстрая Ethemet .....................................................................................................227 rиrабитная Ethemet ...............................................................................................228 ] Оrиrаб итная Ethemet.. ..... .... ........... ........ .......... ......... ............ ........... ................... .23 ] 
Х// Содержание 5.6.6. Локальные сети IEEt Token Ring (Маркерное кольцо)...............................232 5.6.7. Стандарт ШЕЕ 802.11 Wireless LAN (Беспроводные локальные сети) ......... .... .... ........ ............... ..... .... ....... ........... ............................233 Управление ДОС1Упом к среде ................................................................................234 Конфиrypации..........................................................................................................235 5.7. Соединение локальных сетей .............................................................................235 5.7.1. Повторители... ................ ...... .......... .... ...... ........ .......................... .......................236 5.7.2. Мосты .................................................................................................................237 Прозрачные мосты ..................................................................................................237 Алrоритм дерева охвата..........................................................................................238 "Мост с маршрутизацией от источника ..................................................................239 5.8. Протоколы rлобальных сетей............................................................................240 5.8.1. Стандарты SDНlSONET ..................................................................................240 5.8.2 Режим асинхронной передачи (А ТМ) .............................................................241 Службы А ТМ ...........................................................................................................242 Стек протоколов А ТМ ............................................................................................243 Передача А ТМ ........ ...................... ....................................... .... ............. ...... ... ........ ..245 Контракт А ТМтрафика ..........................................................................................246 Контроль параметра использования ......................................................................247 Коммутация в А ТМ . ............. ............................. .... ......... ...... ........ ..... ...... ......... ...... .248 Поля А ТМЯчейки ...................................................................................................250 5.9. IР-транспортировка в rлобальных сетях .........................................................252 5.9.1. Двухточечный протокол.. ......... .......... ........ ............. .............. ........... ...... ...... ...252 5.9.2. IP и SDНlSONET .............................................................................................254 5.9.3. IP и А ТМ .., ................. ........................ .............. ............. ............ ..... ............. ......254 АRP-протокол ДЛЯ IР! А ТМ .................................. ............ ................ .... ....... ........ ....255 5.10. Реrиональные сети ............ ............. ........................... .......... ........ ...... ....... ..........256 5.10.1. Интерфейс передачи данных по оnтоволокну ............................................257 Работа MAC-урОВНЯ FDDI......................................................................................260 Производительность FDDI .....................................................................................262 5.10.2. Двойная шина с распределенной очередью .............................................:...263 5.11. Вопросы к rлаве..................................................................................................268 5.11.1. Вопросы по линейным кодам ........................................................................268 5.11.2. Вопросы по сверточным Кодам.....................................................................270 5ll.3. Вопросы по локальным и реrиональным сетям...........................................272 ,ава 6. С точкн зрения канала передачн..................................................................273 5.1. Введение................... .................. ...... ..................................................................... .273 >.2. Пропускная способность канала..................................... .... .......... ........... .... .....273 6.2.1. Дискретный канал без памяти .........................................................................273 6.2.2. Проnyскная способность дискретноrо канала без памяТи...........................275 6.2.3. Теорема кодирования канала ........................................... ...............................276 6.2.4. Аналоrовые каналы  теорема о проnyскной способности канала... ...... ..... ................................... ............................................................ .277 
2'держание 6.3. Передающая среда...............................................................................................278 6.3 .1. Про водная среда. ........ ..... ... ..... ........ ...... ...... ..... .......... ... ..... ........... ....... ..... ..... ..278 6.3.2. Оптическое волокно ....... ........ ............ .... ....... .... .................... ................... ... .....281 6.3.3. Радиоэфир . ....... ...... ............ ........ ................ ........... .... ................. ................ ..... ..285 Радиовещание ..........................................................................................................285 Двухточечная радиосвязь между терминалами ....................................................287 Мобильное радио.....................................................................................................288 Спутник ....................................................................................................................290 Самолетный ретранслятор ......................................................................................292 6.3.4. Друrие виды передающих сред.......................................................................292 Инфракрасная среда ................................................................................................292 Индуктивные контуры ............................................................................................293 Линии электропередач ............................................................................................293 6.4. Кодирование в линиях связи ....................:.........................................................294 6.4.1. Двоичные линейные коды ...............................................................................295 Униполярные коды с возвратом и без возврата к нулю.......................................295 Биполярные коды с возвратом и без возврата к нулю..........................................296 Биполярный код с чередующейся инверсией маркеров......................................296 Манчестерский код..................................................................................................297 Модуляция с задержкой (Код Миллара)................................................................297 Кодирование с инверсией кодовых посылок ........................................................298 Расщепление по фазе........ ............... ...... ........ ........... ..... ..... ...... ........... ....... ....... ..... .298 Бифазиый код...............................................................,"'.........................................299 Двоичный код с замещением N нулей .....................................................................299 6.4.2. MHoroypoBHeBbIe коды .......... .................... ....... ................ ................ ....... ... ......30 1 6.4.3. Перемешивание ................................................................................................304 6.4.4. Пример применения линейноro кодирования...............................................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арная фазовая манипуляция (mary PSK) ..........................................................323 Квадратурная амплитудная модуляция (QAM).....................................................323 Х/II 
X/V Содержание 6.6. Пример применения: ADSL................................................................................327 6.7. Вопросы к rлаве....... ...... ........ ........... .......... ........... ............ ... ............. ...... .............330 6.6.1. Вопросы по пропускной способности канала...............................................330 rлава 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. Передача речи по IР](аналам (V oIP) ...............................................................339 7.3.1. ТребоваНия........ .......... ........ ........ ...... .......... .... ......... .......................... ........... ....340 7.3.2. Защита от ошнбок ............................................................................................341 7.3.3. Протокол передачи...........................................................................................342 7.3.4 Архитектура.......................................................................................................345 r лава 8. Ответы ИВ упрвжнеиия ...................................................................................349 8.1. Ответы на вопросы ]( rлаве 2 .............................................................................349 8.1.1. Ответы на вопросы по теории информации...................................................349 , 8.1.2. Ответы на вопросы по кодированию источника без памяти .......................355 8.1.3. Ответы на'вопросы по кодированию источника с памятью ........................361 8.2. Отве,ты H вопросы К rлаве 3 .............................................................................364 8.3. ОТветы на вопросы rлаве 4.................................................................................367 8.3.1. Ответы на вопросы по сетевым конфиrypациям ...........................................367 8.3.2. Ответы на'ВОПРОСЫ ПО технике Коммутации..................................................368 8.3.3. Ответы на вопросы по расчетам в сетях.........................................................369 8.3.4. Ответы на вопросы по маршрутизации ..........................................................371 8.3.5. ответы на вопросы по защите от ошибок......................................................373 8.4. Ответы fia вопросы к rлаве 5 ....;........................................................................377 8.4.1. Ответы на вопросы по линейным кодам ........................................................377 8.4.2. Ответы на вопросы по сверточным кодам ....................................................385 8.4.3. Вопросы по локальным u реrиональным сетям............................................389 8.5. Ответы на вопросы к rлаве 6 .............................................................................392 8.5.1. Ответы на вопросы по пропускной способности канала ..............................392 Предметиый укsза1'eJJь...................................................................................................397 
Сокращения AAL i\ВR ACELP АОС ,АОСР АОРСМ ADSL o.AFC 'AI АМ . .AMI ; AMPS \ ANSI '"АРК ARP ARPA ARQ А ТМ Adaption Layer  уровень адаптации А ТМ А vaHabIe Bit Rate  ДОС'I)'пная скорость передачи двоичных данных, измеряется в бит/с, Кбит/с, Мбит/с и т. д. Algebraic CELP  алrебраическое линейное проrнозирова ние с помощью кодовой книrи Analogue to Digital Conversion  аналоrоцифровое преоб разование Advanced Data Communications Protocol  расширенный протокол передачи данных Adaptive Differential Pulse Code Modulation  адаптивная дифференциальная КОДОИМ[JУЛЬCjlая модуляция Asymmetric Digital Subscriber ипе  асимметричная цифро вая абонентская линия Access Control FieId  поле управления ДОС'I)'пом Air Interface  беспроводной интерфейс AmpIitиde Modulation  ампли'I)'ДНая модуляция Alternative Mark Inversion  кодирование с чередованием полярности элементов Advanced Mobile Phone System  усовершенствованная сис тема мобильной телефонной связи Аmепсап National Standards Institиte  Американский Ha циональный инсТИ1)'Т стандартов AmpIitude Phase Keying  аМПЛИ'I)'дная фазовая модуляция Address Resolution Protocol  протокол определения адресов Advance Research Projects Agency  AreHTcTBo перспектив ных исследовательских разработок Automatic Repeat reQuest  автоматический запрос повтор ной передачи 
XVI ASCI ASK АТ ATD АТМ AuC ВЕВ BER BGF B-ISDN BnZS воотр BPSK BS BSC BSI BSS BTS BW САС САР Передача данных в сетях: инженерный подхоА Advanced Speech СаП Items (GSM)  расширенные элемен- ты речевоrовызова rлобальной системы мобильной связи I Amplitude Shift Keying  аМПЛИ1Удная модуляция Attention. Advanced Technology  Внимание, усовершенст во ванная технолоrия Asynchronous Тime Division multiplexing  асинхронное временное уплотнение Asynchronous Transfer Mode  режим асинхронной пере дачи Authentication Centre (АС)  Центр аyrентификации  опознавания, проверки полномочий, прав досryпа и т. п. Binary Exponential Backoff  двоичная экспоненциальная задержка Bit Error Rate  частота появления ошибочных битов Border Gateway Protocol  протокол поrраничной маршру тизации Broad Band  Integrated Services Digital Network  широко полосная цифровая сеть с интеrрацией служб Bipolar with n zeros substituted  биполярное кодирование с подстановкой n нулей Bootstrap Protocol  протокол начальной заrpузки Binary Phase Shift Keying  двоичная фазовая манипуляция Base Station  базовая станция Binary Symmetric Channel; Base Station Controller  двоич- ный симметричный канал, контроллер базовой станции British Standards Institute  Британский инcтmyr стандартов Base Station Subsystem  подсистема базовой станции Base Transceiver Station  базовая приемопередающая станция Bandwidth  полоса пропускания СаН Admission Control; Connection Admission Control  управление доступом к вызову или соединению Сaлierlеss Amplitude and РЬзse  бескамерная 8МПЛИJ.yда и фаза 
,СОКращения ..... САТУ СВ С CBR СС CCIТT CCR CDMA CDPD CDV CELP СЕРТ ';. ...t, , ' , , CER CGI CIDR , CIR 'CL CLR MI CMIP CMIS Сп XVII СаЫе Access Television  кабельное телевидение Cipher Block Chaining  цепочка цифровых блоков Constant Bit Rate Service  служба с постоянной скоростью передачи двоичных данных СаН Control  управление вызовом Comite Consultatif Intemational Telegraphique et Теl phonique (Intemational Telegraph and Telephone Consultative Commit tee)  Международный Консультативный Комитет по Te леrрафии и Телефонии, МККТТ Commitment, Concurrency and Recovery Protocol  протокол передачи, соrласования и I!озврата, ССRпротокол Code Division Multiple Access  множественный дос'I)'П с кодовым разделением каналов CeHular Digital Packet Data  пакеты цифровых данных для сотовых сетей связи СеН Delay Variation  непостоянство времени задержки (при передаче ячеек АТМ) CodebookExcited Linear Predictive  линейное предсказа ние с помощью кодовой таблицы (книrи) ..... Conference Еиroрееппе des Postes. et TeIecommunication  Европейская конференция почтовых и телекоммуникацион ных ведомств Сеll Error Rate  интенсивность сотовых ошибок Соmmоп Gateway Interface  общий шлюзовой интерфейс Classless InterDomain Routing  маршрyrизация между дo менами без разделения на классы Carrier to Interference Ratio  опюшение мощности несущей к уровню помехи Link Connectivity  возможности подключения линии связи Сеll Loss Rate  скорость потери ячеек Coded Mark Inversion  инверсия кодовых маркеров Соmmоп Management Information Protocol  протокол об щей управляющей информации Соmmоп Management Information System  система общей управляющей информации Node Connectivity  возможности подключения узла 
XVIII CNLS Передача данных в сетях: инженерный подход CNM CONP CPCS CRC CSMAlCA CSMAlCD CTD CVDT DARPA DAWS dB dBm DCE ООВ DECT DES DIFS connectionless (packet data service)  служба передачи па кетных данных без установки соединения Central Network Management  централизованное управле ние сетью ConnectionOriented Network Protocol  сетевой протокол, ориентированный на соединения Соmmоп Part Convergence Sublayer  общая часть поду ровня сходимости Cyclic Redundancy Check  контроль с использованием циклическоrо избыточноrо кода Carrier Sense Multiple Access I Collision Avoidance  множе ственный доступ с контролем несущей и предотвращением конфликтов Carrier Sense Multiple Access I Collision Detection  множе ственный доступ с контролем несущей и обнаружением конфликтов СеIl Transfer Delay  задержка при передаче ячеек в А тм СеВ Variation Delay Tolerance  допустимое изменение за держки при передаче ячеек Defence Advance Research Projects Agency  Управление перспективных исследований Министерства обороны США Digital Advanced Wireless System  усовершенствованная беспроводная цифровая система Decibel  децибел, одна десятая от бела, лоrарифмической единицы отношения двух физических величин decibel with reference to а milliwatt power  децибел, в сравнении с мощностью в милливатrах Data Communication Equipment  аппаратура передачи данных Distributed Database  распределенная база данных Digital Enhanced Cordless Telecommunication  модифици рованная цифровая беспроволочная телефония Data Encryption Standard  стандарт шифрования данных Distributed Interface Specification; Distributed Inter Frame Space  Спецификация распределенною интерфейса; Pac пределенное межфреймовое пространство 
ркращения DMSP ОМТ DNS DPP DPSK ; JjQDB PSK DSBAM DSCP DSL JjSRR ...DSS .DТE DТМF DVMRP ЕСМА EDACS EGP EIA Х/Х Distributed Mail System Protocol  протокол распределен ной почтовой системы Discrete MultiTone (modulation)  цифровая мноrоканаль ная тоновая модуляция Domain Name System  система имен доменов Demand Priority Protocol  протокол приоритетов запросов Differential Phase Shift Keying  относительная фазовая манипуляция Distributed Queue Dual Bus  двойная шина с распреде ленной очередью Differential Quaternary Phase Shift Keying  дифференциаль ное четвертичное переключение со сдвиrом фазы ОоиЫе Sideband Amplitude Modulation  двухполосная и амплиryдная модуляция DiffServ Control Protocol  протокол управления диффе ренциальными службами Digital Subscriber Line  цифровая абонентская линия Digital Short Range Radio system  цифровая коротковол новая радиосистема ... Digital Signature Standard  стандарт цифровой подписи Data Terminal Equipment; Data Termination Equipment  терминальное оборудование данных; оконечное оборудо вание данных Оиаl Топе Multi Frequency  тональный набор с разделе нием частот Distance Vector Multicast Routing Protocol  протокол дис танционной векторной rрупповой мноrоадресной маршру тизации European Computer Manufacturers Association  Европей ская ассоциация производителей компьютеров Enhanced Digital Access Communication System  система связи с расширенным цифровым досryпом Exterior Gateway Protocol  протокол внешних шлюзов; про токол внешней маршрутизации Electrical Industries Association  Ассоциация электронной промышленности США 
хх EIRP ЕМС ER ETSI FCC FCS FDDI FDM FDMA FEC FИМА FM FSK FТP GCRA GMSK GoS GPRS GSM GSMR Передача данных в сетях: инженерный подх()д Effective Isotropic Radiated Power  эффективная мощ ность изотропноrо излучения ElectroMagnetic Compatibility электромаrнитная совместимость Explicit Rate  явная скорость, интенсивность European Telecommunications Standards Institute  EBp<r пейс кий институт стандартов по телекоммуникациям Federal Communications Commission  Федеральная KO миссия связи США Frame Check Sequence  контрольная последовательность кадров Fibre Distributed Data Interface  распределенный интер фейс передачи данных по оптоволоконным каналам Frequency Division Multiplexing  мультиплексирование с частотным разделением каналов) Frequency Division Multiple Access  множественный дoc 'I)'п с разделением частот Forward Error Correction  упреждающая или прямая KOp рекция ошибок Frequency Hopping Multiple Access  множественный дoc 'I)'п с перескакивающей частотой Frequency Modulation  частотная модуляция Frequency Shift Keying  частотная манипуляция File Transfer Protocol  протокол передачи файлов Generic Сеll Rate Algorithm  универсальный алrоритм скорости ячеек Gaussian Minimum Shift Keying  rayccoBa модуляция с минимальным сдвиrом Grade of Service  катеrория обслуживания General Packet Radio Service  система пакетной радиосвя зи общеrо пользования Global System for Mobile communications  rлобальная система мобильной связи GSM for Railways  GSM ДЛЯ железных дороr 
щения .НDB НDB3 НDLC НDTy НLR HSCSD НSLN ..tnML :Jmp I(::МР 'ICP IDC ,D.:>EA -, \:" :mEN 1}./ ' ФFТ 1Du ,IEEE IP I-MAC IМAP ХХ/ Ноте DataBase  домашняя база данных Нigh Density Bipolar  высокочувствительный биполярный Нigh Level Data Link Control  высокоуровневый протокол управления каналом (звеном) передачи данных Нigh Definition Television  телевидение с высоким раз решением Ноте Location Register  опорный реrистр местонахожде ния в сотовых сетях GSM Нigh Speed Circuit Switched Data  данные высокоскоро-- стных переключаемых цепей High Speed Local Network  высокоскоростные локальные сети Hyper Text Mark Up Language  язык rипертекстовой раз метки Hyper Text Transfer Protocol  протокол передачи rипер текста Internet Control Message Protocol  протокол управления сообщениями Internet .... Initial Connection Protocol  протоt<ол начальноrо соеди нения Insulation Displacement Connector  изолирующий заме щающий соединитель International Data Encryption Algorithm  международный алrоритм шифрования данных Integrated Digital Enhanced Technology  интеrрированная усовершенствованная цифровая технолоrия Inverse Discrete Fourier Transform  обратное дискретное преобразование Фурье Interface Data Unit  интерфейсный блок данных Institute of Electrical and Electronics Engineers  Институт электро и радиоинженеров США Intermediate Frequency  промежуточная частота Isochronous МАС  изохронное управление доступом к среде передачи, изохронный МАС InteractiveMail Access Protocol  интерактивный протокол почтовоrо доступа 
ХХ" [МEI Передача данных в сетях: инженерный ПОДХОД IМP IМSI IМTS IN IP IPX [SDN ISI [SO ISP IТU IТUR IТU Т [v JPEG KSG LA LAC LAN LAP Intemational Mobile Equipment Identity  именование меЖ дународноrо мобильноrо оборудования Interface Message Processor  интерфейсный процессор, сообщений Intemational МоЫlе Subscriber Identity  именование меж дународных мобильных абонентов Improved Mobile Telephone Service  служба усовершенст вованной мобильной телефонии Intelligent Network  интеллектуальная сеть Intemet Protocol  протокол Intemet Internetwork Packet Exchange  протокол межсетевоrо об мена пакетами Integrated Services Digital Network  цифровая сеть с ин теrрированными службами InterSymbol Interface  межсимвольный интерфейс International Standards Organization  Международная op rанизация по стандартизации Intemet Service Provider  поставщик услуr [ntemet Intemational Telecommunications Union  Международный союз по электросвязи Radio communications sector of the IТU  сектор радиосвя зи IТU Telecommunications standardization sector of the IТU  ceK тор стандартизации передачи данных lТU Initial V alue  начальное значение Joint Photographic Experts Group  Объединенная rруппа фотоэкспертов Кеу Stream Generator  reHepaTop потока ключей Location Area  область размещения Location Area Code  код области размещения Local Area Network  локальная сеть Link Access Procedure  процедура доступа к каналу (зве ну) передачи данных 
ения . LAPB LAPD LCN CP 'J;.ED ,Jl'SR . . . ,PS ис LМN 'tМR tNM fpc . LSR LТR I " LTU МA МAN Мсс MCR МEGACO MER МIB MIME МLТЗ MMF ХХI1l Link Access Protocol  В  протокол ДОС'I)'па к Вканалу Link Access Protocol  D  протокол ДОС'I)'па к Dканалу Logical Channel Number  номер лоrическоrо канала Link Control Protocol  протокол управления каналом Light Emitting Diode  светодиод Linear Feedback Shift Register  линейный сдвиrовый pe rистр обратной связи Logical IP Subnet  лоrическая IРподсеть Logical Link Control  управление лоrическим каналом Land Mobile Networ"  наземная М9бильная сеть Land Mobile Radio  наземное мобильное радио Local Network Management  управление локальной сетью Linear Predictive Coding  кодирование методом линейно ro предсказания Line( --connected) Station  станция, при соединенная к ли нии связи Label Switched Routers  маршрyrизаторы, переключае мые метками ... Logic Trunked Radio  радио с маrистральной лоrикой Line Termination Unit  линейное оконечное устройство Media Access Control  управление ДОС'I)'пом к среде Metropolitan Area Network  реrиональная сеть Mobile Country Code  мобильный код страны Minimum Сеll Rate  минимальная скорость ячейки Media Gateway Control Protocol  протокол управления шлюзовой средой Message Error Rate  интенсивность ошибок сообщений Management Information Base  база управляющей инфор мации Multipurpose Internet Mail Extension  мноrоцелевое расши рение электронной почты в Internet MultiLevel Transition 3  мноroуровневый переход 3 MultiMode Fibre  мноroмодовый волоконнооптический кабель 
XX/V Передача данных в сетях: инженерный подход MMI МNC МNI MoU MPEG МРТ MS MSC MSK MTBF МТР МТТR NAK NAP NCP NIC NISDN NIST NMU NNI NPA NRZ NRZI Мап МасЫпе Interface  интерфейс "человекмашина" Mobile Network Code  код мобильной сети Mobile Network Identity  идентификатор мобильной сети Memorandum of Understanding  меморандум о понимании Motion Picture Experts Group  Экспертная rpynna по BO просам движущеrося изображения Ministry of Post and Telecommunications  Министерство почты и телекоммуникаций Mobile Station  мобильная станция Mobile Switching Centre  центр коммутационный подвиж ных объектов Minimum Shift Keying  минимальные манипуляции сдвиrа Меап Time Between Failure  среднее время безотказной работы Message Transfer Part  раздел передачи сообщений Меап Time to Repair  среднее время работы до ремонта Negative Acknowledgement  символ неподтверждения приема Network Access Point  точка входа в сеть Network Contro] Protocol (related to РРР)  протокол управления сетью, связан с РРРпротоколом, протоколом "точкаточка "; Network Core Protocol (Novell Netware)  основной ceTe вой протокол фирмы Novell Netware Network Infonnation Centre  сетевой информационный цетр Narrow Band  Integrated Services Digital Network  узко- полосная ISDN National Institute of Standards and Technology  Нацио нальный инститyr стандартов и технолоrии Network Management Unit  устройство управления сетью Network Network Interface  интерфейс "ceтbceTЬ" Network Point of Attachment  точка подключения к сети Non Return to Zero  без возврата к нулю Non Return to Zero Invert to опе  инверсия к I без возвра- та к нулю 
щенИR ) NSAP NUA рмс . ' 1.  ; 4>й К 9QPSK OSI SPF ЮТЛR :tA .tAD itw ':PAMR :,PВR I"BX :ре Рем PCR PD РОА PDN PDU PEI XXV Network Service Access Point  точка ДОС1)'па к сетевой службе Network User Address  адрес ceтeBoro пользователя Operations & Management Centre  центр операций и управления OnOff Keying  манипуляции типа "включено-- выключено" Offset Quatemary Phase Shift Keying  квадратурная фазо-- вая манипуляция со смещением Ореп Systems Interconnection  модель взаимодействия открытых систем . Ореп Shortest Path First  первоочередное открытие KpaT чайших маршрутов Over The Air Rekeying  ретрансляция по воздуху PreArbitrated Access; Power Amplifier  доступ с предва рительным арбитражем; усилитель мощности Packet AssembIerlDisassembIer  сборка/разборка пакета Pulse Amplitude Modulation  импульсно--амплитудная мо-- дуляция  PubIic Access Mobile Radio  мобильное радио с общим доступом Private Business Radio  частное деловое радио Private Branch Exchange  телефонная система частноrо пользования, офисная АТС Personal Computer; Protocol Control  персональный KOM пьютер; управление протоколом Pulse Code Modulation  импульснокодовая модуляция Peak Сеll Rate  пиковая скорость ячейки Packet Data  пакетные данные Personal Digital Assistant  персональный цифровой асси стент PubIic Data Network  сеть передачи данных общеrо поль зования Protocol Data Unit  протокольный блок данных Peripheral Equipment Interface  интерфейс периферийноrо оборудования 
XXVI PICS PIN PINX PISN PLМN PLP РМ PМD PМR PN POTS РРР PSK PSS PSТN PТf PVC QA QAМ QoS QPSK Передача данных в сетях: инженерный подход Protocol Implementation Conformance Statement  СВИДе тельство о конформности реализации протокола Personal Identity Number  персональный код пользователя Private Integrated Network eXchange  частный обмен в интеrрированной сети Private Integrated Services Network  частная сеть с интеr рированными службами PubIic Land Mobile Network  сеть связи с подвижными системами Packet Level Protocol  протокол пакетноrо уровня Phase Modulation  фазовая модуляция Physical Media Dependent  зависимый от физическоrо носителя Private Mobile Radio  частное мобильное радио Pseudo raNdom  псевдослучайный Plain Old Т elephone System  обычная старая телефонная система Point to Point Protocol  протокол "точкаточка" Phase Shift Keying  кодирование со сдвиrом фазы, фазо-- вая манипуляция Packet Switched Service  служба коммyrации пакетов PubIic Switched Telephone Network  телефонная KOMMY тируемая сеть общеrо пользования Press То Talk; Post, Telegraphy & Telecommunications  Нажать для разrовора; предприятие почтовой телеrpафной и телефонной связи Permanent Virtual Circuit; Permanent Virtual Connection  постоянный виртуальный канал; постоянное виртуальное соединение Queue Arbitrated Access  метод доступа с очередями и арбитражем Quadrature Amplitude Modulation  квадратурная ампли тудная модуляция Quality of Service  качество обслуживания Quadrature Phase Shift Keying  квадратурная фазовая Ma нипуляция сдвиrа 
ащения RARP RES RFC RF ЮР RL ROSE RPE RSA 'SSI RSVP RTCP RTP S,AGE SAP SC SCR SDH SDL SDLC XXV/I Reverse Address Resolution Protocol  протокол определе ния обратноrо адреса Radio Equipment and System  радиооборудование и системы Request For Comment  запрос на комментарий Radio Frequency  радиочастота Routing Information Protocol  протокол маршрутной ин формации Ring Latency  кольцевая задержка Remote Operations Service Element  сервисный элемент удаленной обработки Regular Pulse Excitation (compression technique)  реryляр ное возбуждение импульсов (техника сжатия) Rivest Shamir Adleman (cryptographic system)  алrоритм цифровой подписи РайвестаШамираАдлемана (крипто rрафическая система) Received Signal Strength Indicator  индикатор интенсив ности принятоrо сиrнала Resource Reservation Protocol  протокол резервирования ресурсов Real Time Control Protocol  прd\-окол управления переда чей в реальном времени Real Time Protocol ,протокол передачи данных в реаль ном времени Security AIgorithms Group of Experts  rруппа экспертов алrоритмов безопасности Service Access Point; Service Advertising Protocol (Novell Netware)  точка доступа к службам; протокол оповещения о сервисе Novell Netware SubCommittee  подкомитет Sustainable / Sustained Сеll Rate  нормальная/устойчивая скорость передачи (ячеек А ТМ) Synchronous Digital Нierarchy  синхронная цифровая ие рархия Simple Data Link  простой канал (звено) передачи данных Synchronous Data Link Control  синхронное управление каналом (звеном) передачи данных 
XXVlII SDS SDU SIFS SIM SIP SIR "SLA SLIP SMDS SМF SMR SMS SMT SMTP SNMP SNR SONET SPX SRВR SS7 SSI STD STE STP SVC Передача данных в сетях инженерный подход Short Data Service  служба коротких данных Service Data Unit  сервисный блок данных Short Interframe Space  сокращенное межфреймовое про странство Subscriber Identity Module  модуль идентификации або нентов Session Initiation Protocol  протокол инициирования сеанса Signal to Interference Ratio  отношение сиrнал/шум Service Level Agreement  соrлашение служебноrо уровня Serial Line IP  межсетевой протокол для послеДователь Horo канала Switched Multi Megabit Data Service  коммутируемая служба передачи мультимеrабитных данных Single Мodе Fibre  однорежимный оmоволоконный кабель Specialist Mobile Radio  мобильное радио для специалистов Short Message Service  служба коротких сообщений Station Management  управление станцией SimpleMail Transfer Protocol  простой протокол пере сылки почты Simple Network Management Protocol  простой протокол управления сетью Signal to Noise Ratio  отношение сиrнал/шум Synchronous Optical Network  синхронная оптическая сеть Sequenced Packet Exchange  последовательный обмен пакетами Short Range Business Radio  коротковолновое деловое радио Signalling System 7  система 7 передачи сиrналов Short Subscriber ldentity  короткая идентификация або нентов Synchronous Time Division multiplexing  синхронное мультиплексирование с разделением времени SignalIing Теnninаl Exchange терминальный обмен сиrналами Shielded Twisted Pair; Spanning Tree Protocol  экраниро ванная витая пара; протокол OCToBHoro дерева (сети) Switched Virtual Circuit  коммутируемый виртуальный канал 
щенUR SwMI , 1 А ! .:, ,rrAC П'АСS \. Д-С ) . ;!'СМ .тосР t r.. :fi>D ii., /r; '1 '. :tDM ,,'.- '. .\ МA  , ::m ТETRA 1МN I 1rsAP ( ТТRP ТfRT UвR ООР UNI иРС ХХ/Х Switching and Management Infrastructure  инфраструктура коммyrации и управления Terminal Adapter (or Adapting)  адаптер или адаптация терминала Туре Approval Code  код улучшения шрифта Total Access Communication System  система связи с об щим доступом Technical Committee  технический комитет Trellis Code Modulation  решетчатое кодирование Transmission Control Protocol  протокол управления пе редачей Time Division Duplex  дуплексная передача с разделени ем времени Time Division Multiplexing  мультиплексирование с раз делением времени Time Division Multiple Access  множественный доступ с разделением времени Terminal Equipment  терминальное оборудование ... TErrestrial Trunked RAdio (Private Mobile Radio system)  наземное маrистральное радио (частная мобильная радио система) Telecommunications Management Network  сеть управле ния телекоммуникациями Transport Service Access Point  точка доступа транспорт ной службы Target Token Rotation Protocol  протокол обхода кольца (Token Ring) маркером Target Token Rotation Time  время обхода кольца (Token Ring) маркером Unspecified Bit Rate  передача с не заданной заранее ско- ростью User Datagram Protocol  протокол дейтаrpамм пользователя User Network Interface  интерфейс пользователя с сетью Usage Parameter Control  контроль за использованием (полосыпропускания) 
ххх URI Передача данных в сетях: инженерный подход URL UTP VAD VВR VC VCI VLAN VoD VoIP VP VPI VPN VSELP WAN WAP WDM WG WLAN WLL WT WWW WYSIWYG Universal Resource Identifier  универсальный идентифи катор ресурсов Uniforrn Resource Locator  универсальный указатель pe сурсов Unshielded Twisted Pair  неэкранированная витая пара V oice Activity Detector  детектор rолосовой активности VariabIe Вit Rate  переменная скорость передачи двоич ных данных VirtuaJ Circuit; VirtuaJ СЬаппе)  виртуальная цепь; вирту альный канал Virtual Channel Indicator  индикатор внртуальноrо канала VirtuaJ LAN  виртуальная локальная сеть Video оп Demand  видео по запросу V oice over IP  передача rолоса по IP VirtuaJ Path  виртуальный путь Virtual Path Indicator  индикатор виртуальноrо пути VirtuaJ Private Network  виртуальная частная сеть Vector Sum Excited Linear Predictive  линейное предска зание с помощью векторной суммы Wide Area Network  rлобальная сеть WireJess AppJication ProtocoJ  беспроводной прикладной протокол WaveJength Division Multiplexing  спектральное разделе- ние Working Group  рабочая ['руппа Wireless LocaJ Лrеа Network  беспроводная локальная сеть Wireless Local Loop  беспроводной локальный цикл Waiting Time  время ожидания World Wide Web  Всемирная паyrина What У ои See Is What У ои Get  "Что вы видите, то вы и получаете"  режим полноrо соответствия изображения на экране тому, что будет распечатано на принтере 
J1редисловие J'orдато считали, что передача информации от пользователя к пользователю рорее походит на плавное движение лбедя, плывущеrо от одноrо береrа ;\lP.доема к друrому. Сверху оно кажется леrким, элеrантным и простым, тоrда _ под водой, невидимая для всех, происходит бурная, энерrичная деятель Jюcть, и нет никакоrо, даже малейшеrо, хаоса. Теперь же, с определенной дo :iieя преувеличения, можно rоворить, что мы хорошо знакомы с возможно .#ttми передачи цифровой информации по коммуникационным сетям. видетельством Toro является очевидный рост пользователей Интернета, Koe распространение цифровой мобильной телефонии и связанных с ней .« . J $Мs -служб. Нам предоставлены почти универсальные возможности по час i*" .связи и коммуникаций. Теперь можно сказать, что наши достижения "ре- :-зошли даже все самые смелые надежды. Однака, такой очевидной леrкости )мпользования и сервисноrо обеспечения противоречит довольно высокая iюжность той техники, которая поддерживается этими широко распростра lfными службами. В этой книrе мы рассматриваем цели передачи данных )lpeжде Bcero с точки зрения перспектив обслуживания соответствующей ики связи, подробно исследуя влияние требований пользователей на ce й проект. Следуя нисходящему подходу к проектированию, сначала аются принципы и технолоrии, связанные с сетевой струкryрой в целом ;'(ерархией ее компонентов BepxHero уровня, затем  проблемы уровня ка- a (звена) передачи данных и, наконец,  ключевые принципы, связанные ..1 передачей индивидуальных информационных битов. Книry завершают :",имеры, которые иллюстрируют, как изложенные концепции комбинируют :ci На практике при построении целостной службы, которая удовлетворяет hоТребностям пользователей, предпочитающих инженерный подход к реше ,IDlЮ проблем. Такое изложение контрастирует с друrими книrами по анало 'rичной тематике, rде либо принят восходящий подход к проектированию (от сиrналов к службам), либо рассматривается лишь сервисная перспектива (то есть службы верхних уровней), оrраниченная обзором пакетов и лишь kратким рассмотрением физических уровней. 1 SMS  службы передачи коротких сообщений, например, пейджинroвая связь.  Пер. 
ХХХ// Предисловие Kpyr читателей Эта книrа предназначена скорее для последовательноrо чтения, а не для ис пользования в качестве справочника, хранящеrося на полке и просматривае Moro только тоrда, коrда нужно разыскать какуюто специфическую часть информации. Мы надеемся, что после прочтения этой книrи читатель полу чит понимание ключевых концепций, связанных с передачей информации по сетям связи. Такое понимание в свою очередь даст возможность читателю эффективно разыскивать и использовать информацию из HecMeтHoro числа книr, стандартов, оперативно ПОС1)'пающих материалов, статей, обучающих Проrрамм и друrих доступных источников. Книrа написана для студентов или профессионалов, склонных к научной или инженерной деятельности и желающих получить понимание ключевых KOH цепций, лежащих в основе инженерных разработок систем передачи данных. Это прежде Bcero такие rруппы читателей, как С1)'денты предпоследних и заключительных лет обучения в специализациях, связанных с передачей дaH ных, аспиранты первоrо или переходноrо семестра обучения, а также про фессиональные инженеры, желающие получить начальные знания в области передачи данных или обновить свои базовые знания в этой области. Хотя и не явно математическая по своему характеру, книrа использует математиче ские и статистические методы, чтобы описать переда.чу данных и сетевые концепции. Следовательно, мы предполаrали наличие у читателей математи ческих и статистических знаний, эквивалентных полученным после двух или трех лет работы в научных или инженерных учреждениях. Поддержка Чтобы обеспечить дальнейшее уrлубление в предметные области, представленные в этой книrе, был создан W еЬсайт http://comms.eee.strath.ac.uk/datacomms, содержащий допол нительные примеры и ссылки на друrие материалы. В сайт включены также Java апплеты, иллюстрирующие ключевые моменты и алrоритмы. Пожалуй ста, не стесняйтесь посещать ero и посылать нам ваши комментарии. Блаrодарности Авторы обязаны поблаrодарить очень мноrих людей, которые внесли свой непосредственный или косвенный вклад в создание этой книrи. Во-первых, мы хотели бы поблаroдарить весь штат издательства Wiley & Sons и, в част ности, Марка Хаммонда (Mark Hammond) и Сару Хинтон (Sarah Нinton), KO 
пРедисловие . ХХХ/ll торые проявляли большое доверие и терпение, чтобы дать нам возможность завершить эту книry. Дополнительно выражаем блаrодарность нашим колле raм из отдела электронных и электроинженеров, которые поддержали, про комментировали и довели до совершенства содержащиеся в книrе материалы. Наши обсуждения технолоrических и педаrоrических проблем были всеrда живыми, стимулирующими и информативными, и некоторые из них, как мы надеемся, нашли отражение и в этой книrе. Определенный вклад в книry был также сделан нашими студентами, которые участвовали в обсуждении MHO ..их материалов и вопросов, и чьей наrрадой были лишь списки участников этих обсуждений в конце rода. Наконец, авторы хотели бы выразить сердеч ftyю блаrодарность своим семействам за поддержку наших ежедневных TPy jltOB, без чеrо их завершение было бы нево.зможно. Спасибо! 
\ I J fлава 1 у/' '1 ,,' ; ;КоммуникаЦИОННblе систеМbI ; t1.1. Обзор ?  КНШУ следует рассматривать как техническое введение в общие проблемы lneредачи данных. Передача данных связана с проблемой надежной (rаранти рующей как от сбоев (разрывов) каналов связи, так и от помех) пересылки иH pMaции из одноrо пункта в друrой в соответствии с требоваНWlМи пользо taтелей. в этой книrе освещены ключевые моменты, связанные собственно с irнформацией и ее надежной передачей, удовлетворяющей требованиям поль $>вателей. В последние несколько лет важность связи (коммy1tuкаций) в жизни общества ущественно возросла. Часто rоворят, что информация  это сила, но на ca :мом деле она становится силой только тоrда, коrда вы получаете ее в нужном месте в нужное время. Мы HaMHoro мобильнее наших предков и, поскольку мы все больше передвиrаемся с места на место и занимаемся разнообразной дея тельностью на все больших пространствах, потребность в связи постоянно воз 'растает. С друrой стороны, чем более простой и более доступной становится связь, тем большее количество людей хочет ею воспользоваться. Хорошие системы связи основываются на пользующихся большим успехом приложениях. Пользователь в буквальном смысле находится в начале и конце коммуникационной системы. Это можно подтвердить заметным успехом рече BbIX и W АР (Wireless Application Protocol, протокол беспроводных приложе "ий) служб в мобильной телефонии. Произошел беспрецедентный рост поль 3Ователей таких служб, и теперь уже больше половины населения Великобритании имеет мобильные телефоны. Подобные устройства очень про-- сты в использовании, удобны и относительно недороrи. Разrоваривать по ним можно почти везде. С друrой стороны, сами W АРслужбы довольно сложны, трудны в использовании и дороrи для обмена информацией. Кроме Toro, име IOТCЯ более простые и дешевые способы получения Toro же caMoro результата. Такое положение, однако, может измениться, если больше людей ДЛЯ получе 
2 Передача данных в сетях: инженерный подход ния информации во время движения начнyr пользоваться РОА I  микрокомпьютерами. Впрочем, W АР-протокол на мобильных телефонах оказался менее успешным, чем предполаrалось. 1.2. Декомпозиция коммуникационных систем Цолезно начать рассмотрение коммуникационной системы с позиции пользо- Вателя, а не с проблем связи низкоrо уровня. Пользователи взаимодействуют с системой связи не напрямую, а через приложения, которые сами связываются друr с друroм (рис. 1.1). Пользователи, например, Moryr связываться с помощью таких компьютерных приложений, как Web-браузеры, которые в свою очередь взаимодействуют с удаленными Web-серверами. Для связи дрyr с друroм эти приложения исполь зуют коммуникационную систему, которая поддерживается их операционными системами. для коммуникационной системы было бы очень обременительно работать с каждым приложением индивидуально. Это означало бы, что всякий раз, коrда бьто бы разработано новое приложение, коммуникационная система должна была бы изменяться. Более удобный для приложения способ заключа- ется  том, чтобы форматировать свои запросы для фиксированноro набора служб (услуz), обеспечивающих рабо1)' коммуникационной системы. р "''(  f;.t '!: . ..l- Пользователь  Пользователь' . (например, обмен электронной почтой) "  11 .<.....  Компьютер берет у пользователя сообщение e-mai' и форматирует ero 11( для пересылки по доступной сети, например, по Internet с протоколами TCPIIP Связь ПО сети (ТСР nolP) Компьютер принимает . сообщение email и передает ero приложению для показа пользователю Рис. 1.1. Система связи с точки зрения пользователя I РОА  Personal Digita\ Assistant. У нас подобный карманный компьютер принято называть Электронным секретарeAl.  Лер. 
Слава 1. Общий обзор языка ""' з .Хорошим примером TaKoro подхода является факсимильный аппарат, который переносит документы по системе связи, разработанной для приложений с rоло ,совым вызовом. Поскольку факсимильные аппараты MOryr использовать уже существующую инфраструктуру, то их установка не приводит к большим за Тратам инеудобствам. Эrо означает, чrо можно довольно быстро разработать и установить базовую систему факсимильных аппаратов, что в свою очередь подтолкнет мноrих пользователей к установке новых устройств, и т. д. По этой причине в большинстве коммуникационных систем обеспечен опреде пенный набор интерфейсов для установки необходимых служб. В эти службы :приложения и направляют свои запросы на услуrи связи. Преимуществом Ta ;'f'oro подхода является то, что приложение не должно чтолибо знать о деталях истемы служб связи. Приложению должен быть известен лишь интерфейс '-службы, к которой оно направляет свои данные. С дрyrой стороны, коммуни 'кационную систему также не должны беспокоить детали приложения. Еще oд "НО преимущество такой методики состоит в том, что связь возможна между двумя различными приложениями, если оба они используют службы связи aHa tJ10rичным образом. Например, пользователь nporpaMMbI Microsoft Outlook MO жет посьтать электронную по'ПУ пользователю обозревателя Netscape Coт municator, или пользователь телефона с дисковым номеронабирателем может "позвонить пользователю кнопочноrо аппарата. .; Телефонная система проектируется так, чrобы пощ>шать изменяющийся элек . трический сиrнал от одноrо абонента к друrому. ПiJИложением в этом случае , является сам телефон, а инrерфейсом службы  настенный телефонный разъ . ем. В розетку можно включать любые телефоны, которые "понимают" интер . фейс, обеспечиваемый сетью (в данном случае это переменный электрический .' ,сиrнал для речи и набора номера). Если вы включите в настенный разъём фак , симильный аппарат, то ваше приложение должно измениться, тоrда как ника . Koro изменения в системе связи не потребуется, потому что коммуникационная . служба останется той же самой. Расширяя этот подход, можно разделить на службы и остальную часть системы СВязи. Обеспечение прямой коммуникационной связи каждоrо источника с Ka ЖДым адресатом было бы непрактично. Чтобы обойти эту проблему, все KOM ,муникационные системы, кроме самых npOCТbIx, будyr состоять из сети  набора переIOlючаемых линий (каналов) связи, соединяющих источники и aд ресаты. На самом низком уровне в этой иерархии находится связь по индивидуальному каналу. Здесь происходит процесс передачи данных по заданной среде переда чи из одноrо места в друrое. Подобная четыреХУРО6невая иерархия, включающая приложения, использую щие службы, переключаемые по сети линий связи, каждая из которых тpaHC 
. ......,.. ... ,.,..........'" ., ............ ......-..." ... nOJll1lP)'CТдalIные,из OДНOFO места,:вдруrое через среду передачи, называется мноzoуровllевой иерархией. потому чro на- каждом уровне происходит абстра- iШj108QНие от подробностей ниже:лежащих.уровней. , ,- 1 з. HoroYPoBHeBbIe коммуникационные архитектуры Мiюroуровневую cтpyкrypy можно определить более формально. Коммуника- nиоlmые системы раздетllОТСЯ на веРТИКaJlЬНЫЙ набор уровней, в котором ка. Ждьiй уровень выполняет определенным образом связанное подмножество ФУЮЩИЙ, требуемых для связи с друrой системой. Функции в пределах уровня собраны в rpуппы, называемые объектами. Объекты одноrо уровня в разных системах связываются дрyr с друrом, используя один или несколько протоко- лов. Протокол определяется, как набор nравшz для передачи информации или команд. Подобную мноrослойную архитекrypу часто называют стеком прото- колов. Любой конкретный уровень такой архитеК1)'рЫ зависит от нижележаще- ro уровня (если таковой имеется), выполняющеrо более примитивные функции и скрывающеrо детали этих функций. Интерфейсы между уровнями называют- ся точками доступа к службам (Service Access Points, SAP)  рис. 1.2. , . , I Слой N  ОбъеlCf с Одноуровневый протокол nOльзователь д Пользователь В ОбъеlCf ОбъеlCf Слой 1 Рис. 1.2. Точки доступа к службам 
,..."lUI/III ,'. VUUfИИ  'n<6D1N11 .Jo,;:" :.' .., Объекты, связывающиеся на заданНОМ' уровНе;, обмеНЙВaIOТCJI сообщениями, tЮТOрые называют протокольными БЛОКaJI,{и данных (Protocol Data Units  ,PDU)  рис. 1.3. Синтаксис протокола определяет формат, а ero семанrика  ; значение сообщений. Чтобы избежать беспорядка, синrаксис протокола должен .быть точно определен. Блок PDU каждоrо уровня состоит из протокольной ,информации этоrо уровня, а в качестве полезной нarрузки использует PDU блоки вышележащеrо уровня. . Рдноуровневые протоколы используются соответствующими объектами для язи дрyr с дрyrом С целью реализации определенной службы. Используемый ,JPoтокол можно изменять при условии, чт<? сама служба, с точки зрения ее рользователя, не изменяется. Таким образом, служба и протокол всеrда разде !lЯ lOТся . Новые заroловки Данные  Сеансовый Прикладной ПРИКЛ8Дной PDU Предct8вительский Представи- тельский PDU Сеансовый Сеансовый PDU Транспортный Транспортный PDU Gетевой Пакет/ Диаrрамма ..... Канальный Кадр Fi" 11 Физический Символ Прикладной Представительский Транспортный Сетевой Канальный Физический ' 1 Рис. 1.3. РDU.боки различных уровней 1.3.1. Потребность в стандартах Как отмечено раньше, чтобы система работала, протокол должен быть соrла сован с поддерживающими связь объектами. Так как эти объекты MOryr распо лаrаться даже в различных странах, '1"0, очевидно, существует потребность в соrласованных международных стандартах. Существуют стандарты "де фак то", такие как UNIX или IВМ РС, или "де юре", формально узаконенные cтaH дарты, принятые полномочными орrанами, занимающимися стандартизацией. Они MOryr быть национальными, такими как Американский национальный ин 
6 Передача данных в сетях: инженерный подход cтmyr стандартов (ANSI, American National Standards Institute), Британский инcтmyr стандартизации (BSI, British Standards Institution), ARIB или между народными, управляемыми в соответствии с соrлашением националЬНblХ пра вительств, такими как Международный телекоммуникационный союз (lТU, International Telecommunications Union). К стандартам приходят разными путями, и создаются они разными орrаниза циями, включая правительствеННblе, межправительствеННblе и профессиональ вые, а также ПРОМblшленные rpYnnbI. Международная орrанизация по стандартизации (ISO, Intemational Standards Organisation)  это добровольная, не доrоворная орrанизация, Вblпускающая широкий диапазон стандартов по самым разным темам. Она имеет почти 90 членов, включая ANSI, BSI, AFNOR (Association Francaise de Nonnalisasion, Французская орrанизация стандартов) и DIN (Deutsche IndustrieNonnen, He мецкие промышленные стандарты), и состоит почти из 200 технических коми тетов (ТС, Technical Committee), пронумерованных в порядке их создания и имеющих дело с универсальной тематикой (ТС 1), компьютерами и обработкой информации (ТС97) и т. п. Каждый ТС состоит из подкомитетов (SC, Sub Committee), которые разделеНbI на рабочие rpYnnbl (WG, Working Groops). Pa бота выполияется rлаВНblМ образом рабочими rруппами, которые включают добровольцев из академических KpyroB, правительствеННblХ должностных лиц и представителей ПРОМblшленности. Чтобbl избежать несовмеСТИМblХ CTaндap тов, ISO сотрудничает с lТU. lТU, первоначально назblвавшийся Международ ным консультативным комитетом по телеrpафии и телефонии (CCIТT, Consul tative Committee оп Intemational Telegraph and Telephone), состоит из сектора радиосвязи (IТUR) и сектора телекоммуникационных стандартов (IТU Т), а также включает секретариат и сектор разработок. Инreресно отметить существенное различие между подходами к проблеме стандартов, принятыми в СоединеННblХ Штатах и Европе. Европа занимает очень активную позицию в области стандартов. Европейский инстmyr теле коммуникаЦИОННblХ стандартов (ETSI, European Telecommunications Standards Institute) имеет очень активную проrpамму стандартизации. Европейские пра вительства часто требуют, чтобы изrотовители телекоммуникационноrо обо рудования изrотовляли ero в соответствии с соответствующими стандартами, прежде чем разрешать ero к продаже в Европейском Содружестве. В Соеди ненных Штатах Америки подход иной, намноro более незаВИСИМblЙ, доny<r кающий РЫНОЧНblе решения. Одним из rлаВНblХ opraHoB, разрабатывающих cтaндaprы США, является Инcтmyr инженеров по электротехнике и электро Нике (ШЕЕ, Institute of Electrical and Electronic Engineers), который является профессиональной орraнизацией, а не правительственным учреждением. 
:rлава 1. Общий обзор языка 7 1.3.2. Эталонная модель Internet Четырехуровневая модель  одна из самых простых моделей, которую можно применять к системам связи. но существуют и дрyrие. Хотя полноrо стандарта для стека Iпtеmеtпротоколов не существует, архитеК1)'ра, которая была разра ботана на основе исходной сети ARP ANET, имеет пять уровней: Прикладной, Транспортный, Intemet (Межсетевой), Канальный и Физический (рис. 1.4). Прикладной I Прикnадной I !'Щ' . -   L,   ;j Служебный Транспортный Internet Сетевой КаналЬНЬIЙ Среды передачи Физический с . 'Р ( . .... Рис. 1.4. Стек протоколов ARPANEТ (Internet) . Различие между простой четырехуровневой архитектурой и архитектурой :Jntemet состоит в том, что сетевой уровень разбит на два: уровень для индиви . дуальной коммуникационной системы (называемый Уровнем передачи (звена) . данных) и уровень Intemet, который обеспечивает сетевое обслуживание rло . бальной сети. 1.3.3. Эталонная модель взаимодействия открытых систем Модель Internet имеет довольно прочную основу. Одной из наиболее общих моделей передачи данных является модель взаимодействия открытых систем (OSI,Open Systems Interconnection), которая имеет семь уровней, как показано рис. 1.5. Ее часто называют семиуровневой моделью. Замыслом разработчиков модели OSI было обеспечение всех преимуществ для взаимодействующих сетей. Предполаrалось, что если модель OSI используется всеми изroтовителями, то любая машина, в которой реализована эта модель, будет "открытой", т. е. способной соединиться со всеми дрyrими подобными 
:8 Передача данных в сетях: инженерный подход системами во всем мире. Разработанная в 1979 [оду в ISO (International Standar tizatiGn OrgaaiШiоп, Международная орrанизация по стандартизации), модель OSI предназначалась для обеспечения общеrо базиса с целью координации разра6oтJщ. стандартов для соединения различных систем и одновременно по a ЮIюЧить в полную Э'{8Лонную мо.цель все существующие стандарты. . pMкn.дH Прикладной ;  i Представительский  : ,. Служебный Сеансовый Транспортный " Сетевой Сетевой Сетевой сетееоА Канальный Канальный Канальный OЫ Физический Фмзический Физический переД.." Прикладной Представительский Сеансовый Транспортный Сетевой Канальный Физический Ри(:. 1.5. Стеки протоколов 0$1 в cpabheJ-lИИ с четырехуровневой моделью . i УРОВНIЦЩРИС. 1.5. нумеруются снизу вверх от 1 до 7, и предполarается, что в диarpамме имеется пользоват€Щь А (вверху левоrо стека), желающий связаться с ПОЛI4С?вателем В (вверху правоrо стека). Информация от пользователя А долЖн ;бrrь послана вниз по уровням  к уровню 1, rде она передается через  ,уровню 1 пользователя В; затем она перемещается вверх через аналоrич Hble урови  к пользователю В. На рис. 1.5 показан промежуточный узел мж.цу двумя пользовательскими узлами. Эrот узел имеет отношение к Map шрутизацuu информации от пользователя А к пользователю В и в обратном направЛении, и поэтому выполняет только функции, связанные с первыми тpe мяуровнями (см. небольшие стеки в центре рис. 1.5). Ситуация, коrда четыре верхних уровня существуют тольк в конечных пунктах, довольно часто про ИСХодит  сети. Исключением является случай, коrда требуется перекодировка ОДноrо типа данных в дрyroй, тоrда в промежyrочных узлах использовались бы и остальные уровни. Уровни модели OSI можно .рделить на ч,и катеrории. Протоколы четырех верхних уровней выполняют функции орraнизации и представления данных таJЩМ способом, который в JП'щ'е Meeт смысл только для конечноrо пользова теля. Они соответствуют урОВ!lЮ оания и ПРИКЛ8Дному уровню. Про токолы этих уровней должны быть соrласованными для пар связывающихся проrpамм конечных пользователей. 
€Лава 1. Общий обзор языка 9 Уровень 3 (Сетевой) занимается маршрутизацией сообщений между приложе-- киями' через промежyroчные узлы. Протоколы этоrо уровня должны быть co rласованы для всей сети. Два нижних уровня занимаются физической передачей сообщений между :Смежными узлами. Протоколы должны бьпь соrласованы между каждой парой :смежных узлов. а Прнкладной (Application) уровень (7й) обеспечивает интерфейс пользователя с коммуникационной системой. В качестве примеров можно привести электронную почту, распределенные базы данных и сетевые операционные системы. tt] Представнтельскнй (presentation) У{Jовень обеспечивает общий формт представления данных для прикладноrо уровня. ОН позволяет хост  устройствам связываться между собой, даже если они используют различ ные представления данных. Например, разные WеЬбраузеры (протраммы npосмотра) обеспечивают различные пользовательские интерфейсы (то есть являются разными приложениями), но все они понимают формат НТМLстраниц, формат изображений JPEG и т. д. Эти файловые форматы являются примерами протоколов представительскоrо уровня, тотда как сами браузеры постоянно находятся на прикладном уровне. Поэтому службы. которые поддерживает представительский уровень, обеспечивают . такие услуrи, как передача файлов, протоко.rИ.1 виртуальных терминалов, : сжатие, преобразование кодов и шифрование. . ::8 Сеансовый (Session) уровень разделяет поток данных, формируемый .. , службами представительноrо уровня на несколько основных потоков  . сеансов (связи), которые посылаются через систему и управляют взаи модейсtвиями между парам и сообщающихся прикладных процессов. Сеансы мотут быть короткими или длинными, включающими одно или несколько взаимодействий с помощью обмена сообщениями, например дозатор наличных денет банка на компьютер; терминал. зареrистриро . ванный в удаленном компьютере. У слуrи, предоставляемые представи тельскому уровню, включают орrанизацию/завершение сеанса, идентификацию/реrистрацию, синхронизацию передачи данных и сообщения об исключительных ситуациях. [] Транспортньtй (Тransроrt) уровень обеспечивает начальную установку канала связи, передачу данных и заключительное освобождение канала. Для передачи данных он взаимодействует с сетевым уровнем, чтобы rарантиро вать свободное от ошибок виртуальное прямое соединение, тде связь про исходит в правильной последовательности. В случае котда компьютеры об 1 Хает  любое устройство, подключенное к сети и использующее ПротОКолы TCP/IP.  Пер. 
10 Передача данных в сетях: инженерный подход ладают мноrозадачными возможностями, транспортный уровень rарантиру ет, чro связь происходит в правильной последовательности и выполняет любое требуемое мультиплексирование или разделение каналов. [] Сетевой (Network) уровень связывает коммуникационные каналы (зве нья) данных в rлобальную сеть, которая соединяет все "открытые" систе мы, т. е. выполняет маршрyrизацию передач данных из узла источника к узлу адресата. Он реализует правила маршрyrизации пакетов через сеть и, если это необходимо, правила управления потоком данных, rарантирую .' щие, чтобы не слишком MHoro пакетов находилось в системе. [] Канальный (Data Link) уровень. Ero иноrда называют уровнем KaHa ла или звена данных. Он rарантирует надежную связь на физическом уровне. Протокол этоrо уровня определяет структуру данных, напри мер, размер кадра или пакета, и имеет дело с такими аспектами, как управление потоком данных, обнаружением и устранением ошибок. [] Физический (pbysical) уровень имеет дело с физическими характеристи ками линии связи  механическими и электрическими  и обеспечивает средства для передачи битов данных через непрерывный связной путь. Протокол этоro уровня оперирует с такими деталями, как размер, потери и частотные характеристики кабеля, тип соединителя, ,размещение штырь ков контактных разъемов, уровни напряжений и кодирование передачи. Модель OSI четко определяет службы, интерфейсы и протоколы. Архитектура Intemet очень проста. Она была разработана с позиций передачи данных, TOrдa как в действительности идея Iпtеmеtмодели базируется на компьютерах. Она имеет большое количество уровней, роли которых не вcerдa четко определены. Друrие же уровни, такие, например, как уровень канала данных (канальный), ЯВЛJlЮТСЯ неуправляемыми и часто разбиваются на подуровни. Он проектиро вался для решения общих проблем связи и был разработан прежде, чем были разработаны протоколы. Orcyrcтвие опыта работы с протоколами и работа на крупные корпорации привели к сверхсложному решению для этоrо уровня. С друroй стороны, модель Internet в действительности не является формальной моделью, она просто устанавливается BOKpyr работающих протоколов. Она имеет меньшее количество уровней, но не очень хороша для описания вещей, ОТличных от TCPIIP. Модель OSI популярна, но ее протоколы не используются так Широко, как Internet. Протоколы TCPIIP более популярны. 1.4. Структура книrи в этой книrе мы придерживаемся иерархической мноrоуровневой модели, xo тя, в отличие от большинства книr по данной тематике, мы начинаем с верхних уровней и спускаемся вниз (рис. 1.6). 
 1. Общий обзор языка 11 Служебный . Прикладной "1 ::",?,<,-T.м-.""!::'-""""7 ;) > 'i ; ' , ., f""... Прикладной Прикладной ' а r; '.,  , ..  &1". ,;. . . . (7, , ',-j Internet Представительский Сеансовый Транспортный Сетеаой Квнальный Физический ," S Транспортный :<"". у .. Сетевой j Канальный Среды передачи Физический , ... '". '. Рис. 1.6. Структура этой книrи Е rоуровневая модель HeMHoro абстрактна, так что лучший способ увидеть, , ;,: , происходит,  привести пример. Превосходным примером системы связи " ется Internet, обеспеченный различными инструментальные средствами, op ыe можно использовать для TOro, чтобы видеть, что же фактически в этой Me происходит. 1troбы показать различные принципы в действии, возьмем случай просмот Ia' домашней страницы Института телекоммуникационных исследований tInstitute for Telecommunication Research) Униве1'Ситета Южной Австралии. ,&О домашняя страница дана на рис. 1.7. Здесь показано ее представление в jpaузерах только одноrо типа. Браузеры друrих типов MOryт отображать ее _колько иначе. Сами WеЬраузеры находятся на прикладном (7M) ypOB  модели 081. 'Web-браузер интерпретирует НТМL--страницу, которая является примером IIpoтoкола 6ro уровня. "'eb--страница, которая выrлядит так, как показано на рис. 1.7, кодируется (на J!Зыке HTML) следующим образом: <!,ООСТУРЕ HTML PUBLIC "/ /И3С/ /ОТО HTML 3.2 Final/ /EN"> <Ьtrnl> <head> <title>Welcome to the ITR web site</title> </head> <Ьody link"#OOOOFF" alink"#800080" vlink"#FFOOOO" text"#OOOOOO" leftmargin"O" topmargin"O" bgcolor"#FFFFFF"> </body> </html> 
12 Передача данных в сетях: инженерный подход )lт;IIII.J\t:"tOl 1 еl("ОПIlП1Jn!f',''1lrнrl' Hp'>t'1th. М,,о'&пН In\elne\ litplOlel . [ ,::,:"  , ' ,: i1 C ,"   ,,,;, ']'J ", , :! r1 JI.и.uiu.eO.I. lII.II , J r::r:;;E:1 "f' ,д...ц.п.,. C..,.,.., . t.f ., !\:.', ..с.,-.... " ",. tifl' .;  .  ..OI!. , Abнt lI. iijjj'" """'" 'i1iii tиiJ,пl$ .  'tI.S''I/II' SYIlI,т. : JTRAqтDnll.dVIl.п ."'. -:- V,,ncl,. '. ..  :",'-<",. '."t'OMt.fUNICA TIONS RESEARCH SPECIAL EVENTS .$1 Post g raduate Research Scholarshi p s ?:...:: ,':" Qиlck L/лlt,l I ,.,.... ..Itot . linIt 10 V' .,..... ':::- $'lIlClllh. fTR 11ft. :;-\";: . Рис. 1.7. Пример домашней страницы 'ТА Вначале отметим, чro, Т. к. этот пример пользуется в Intemet, rде четко опреде- ленный сеансовый уровень oтcyrcтoyeт, 1'0 взаимодействие приложения с сете- выми проrpаммами компьютера работает следующим образом (Протокол 1.1). Сначала наш компьютер соединяется с компьютером IТR и запрашивает файл http://www.itr.unisa.edu.au. По строке 3-ей (сверху) листинrа видно, что прота- кол, который в нем используется это НТТР/l.1, что наш компьютер может принимать все что yrодно (строка 4), что он использует анrлийский язык (строка 5), определенный тип браузера (строка 7) и т. д. Компьютер IТR отвечает, посы- лая код результата 200, в котором roвориrcя, что запрос принят и дальше после- дует файл. Затем он посылает этот файл. Однако во время получения файла, браузер замечает, чro тот содержит изображение, и открывает второе соедине- Ние, чroбы получить это изображение. Так как это довольно меШ1енное соедине- Ние, то данные поставляются ПРИJ:IоженИlO "кусками". эти куски в общем случае кратны 536 байтам, чro и определяет размер используемых здесь TCP--сеrмеmов. ,,'':' :::kZ7,1=, CONNECTION 1: Connecting to server CONNECTION 1: Client to Server (250 bytes) 
rввa 1. Общий обзор языка T httр://www.itr.uпisа.еdu.аu/НТТР/1.1 ' cept: */* kceptLanguage: engb cePtEncoding: gzip, def1ate Q.erAgent: Mozi11a/4.0 (compatible; MSIE 5.5; Windows 98) " . )pst: www.itr.unisa.edu.au 'oxyconnection: KeepAli ve \ i:': :r:agma: no-----cache 13 CTION 1: Server to C1ient (536 bytes) 1.. P/1.1 200 ОК te: Sun, 29 Ju1 2001 16:38:27 GМТ Jrver: Apache/1.3.9 (Unix) :' ,;ansferEncoding: chunked OontentType: text/html .! ООСТУРЕ HTML PUBLIC .. / /W3C/ /ОТО НТМL 3.2 Fina1/ /ЕМ"> t,,'. tm1> I;; ead> it1e>we1come to the ITR web site</tit1e> </head> .... <body link"#OOOOFF" a1ink"#800080" v1ink"#FFOOOO" :text="#OOOOOO" leftmargin"O" topma:t;gin="O" bgco1or"#FFFFFF"> ,v align"center"><center> " <table BORDER"O" CELLPADDING=="O" CELLSPACING="O" WIDTH"100%" 'ыight=" 10'0% "> <tr> td va1ign"center" а1 CONNECTION 1: Server to C1ient (1072 bytes) Align="center"><1webbot bot"ImageМap" startspan ONNECTION 1: Server to C1ient (160В bytes) НREF"tech res/tech res.htm1"><AREA SНAPE"RECТ" C()()RDS"140, 106, 208, 124"   НREF"about us/about.html"></МAP> <img src" images/itrnew.gif" width <font face"verdana, aria1, he1ve tica" size=="2"><form action="/cgibin/htsearch" methods"post"> 
14 Передача данных в сетях: инженерный подход cONNEcтrON 2; Conпecting to server CONNE:cтroN 2: Client to Server (307 bytes) GET http://WWW.itr.uniSa.edи.aи/imageS/itrnew.gif HTTP/1.1 Accept: */* Referer: http://www.itr.Unisa.edи.aи/ AcceptLanguage: engb AcceptEncoding: gzip, def1ate UsеrЛgеnt: Mozi11a/4.0 (compatible; MsrE 5.5; Windows 98) Host: www.itr.unisa.edи.aи ProxYConпection: КеерЛlivе PragIna: nocache CONNECТrON 1: Server to Client (450 bytes) type=="hidden" name"config" va1иe"itr"><inpиt type"hidden" name=="method" value"or"><inpиt type"hidden" name"fonnat" valиe=="bиiltinlong"> <font face"verdana, arial, helvetica" size"l"><b><p>Search:</b> <input type"Text" name"words" size"20"> <input type="Submit" name="subrnit" valиe="go"> </font></font></p> </f01:1.l1':> </td> </tr> </table> </center></div><! crcsatsys .html> </body::. </html::. CONNECTrON 2: Server to Client (536 bytes) НТТР/1.1 200 ОК CONNECTION 2: Server to Client (1072 bytes) CONNECТION 2: Server to Client (1608 bytes) CONNECТION 2: Server to Client (1608 bytes) CONNECТION 2: Server to Client (1072 bytes) CONNECТION 2: Server to Client . (1608 bytes) CONNECТION 2: Server to Client (1608 bytes) CONNECТION 2: Server to Client (1072 bytes) CONNECТION 2: Server to Client (536 bytes) CONNECТION 2: Server to Client (536 bytes) 
rлава 1. Общий обзор языка 15 CONNECTION 2: Server to Client (8040 bytes) CONNECTION 2: Server to Client (3752 bytes) CONNECTION 2: Server to Client (4824 bytes) CONNECI'ION 2: Server to Client (4824 bytes) t';ONNECTION 2: Server to Client (4589 bytes) CONNECTION 2: Server to Client (3216 bytes) CONNECTION 2: Server to Client (3405 bytes) fDNNECTION 1: Server disconnected CONNECTION 2: Server disconnected Следующим, более низким уровнем, является транспортный с протоколом ТСР trransmission Control Protocol, протокол управления передачей). В TCPIIP (lnternet Protocol, межсетевой протокол) каждый ТСРсеrмент размещается в двух IPпакетах, так что два таких пакета оказываются связанными. 'абота на этом уровне начинается так, как показано в приведенном ниже Дисплейном протоколе 1.2. Каждая строка представляет IРпакет, и боль HCTBO пакетов содержит TCPcerMeHTbI, хотя некоторые содержат дей IfarpaMMHbIe UDРпакеты (см. разд. "Протокол пользовательских дейта ,Ра.мм" 2Л. 4) для запроса сервера имен hestia.clara.net. Это локальный pBep имен, который наш компьютер (те) ИlОльзует для запроса aдpe «iюв. Первая проблема, с которой приходится сталкиваться компьютеру, Это контакт с сервером имен. В строке 1 выдается АRРпакет, за .рашивающий адрес локальной сети, rде может находиться сервер имен. l,Iолучив ero, компьютер посылает на сервер имен (соединение через порт ;1300) пакет (строка 2), запрашивающий адрес http://www.itr.unisa.edu.au. Сервер имен отвечает, что каноническим именем является Irttр:llwww.itr.uпisа.еdu.аu.ареальнымсhаrli.lеvеls.uпisа.еdu.аu. Запро ры сервера имен приведены в разд. 4.13.5. Затем посылается друrой ARP ,ianрос, чтобы найти узел, к которому нужно посылать запросы для eharli.levels.unisa.edu.au. Конечно, этот адрес находится не в нашей сети, НО маршрутизатор нашей сети, ответственный за орrанизацию трафика к друrим сетям, выдаст ответ с этим адресом. До этоrо момента вся деятель ность была направлена только на установку соединения, а не на посылку самих данных. Имея необходимый адрес, компьютер посылает ero в виде cerмeHTa в порт 80 (порт WebcepBepa), требуя, чтобы было установлено Соединение (строка 5). W ebcepBep отвечает (строка 6) подтверждением на запрос и разрешает соединение, а наш компьютер подтверждает это (CTpo ка 7). Это трехкратное подтверждение (квитирование) связи и устанавлива ет ТСРсоединение. Наконец, в строке 8, выполняется посылка данных, KO торые содержат описанный выше запрос. Сервер отвечает (строка 9) подтверждением, но еще не посылает какихлибо данных. Данные следуют 
16 Передача данных в сетях: инженерный подход в строке 10, что наш компьютер (те) и подтверждает в строке 11. Это co единение имеет, по предварительной доrоворенности, максимальный раз мер cerMeHTa 536 байтов, так что TCPcerMeHTbI имеют этот же размер. За тем от сервера следуют еще два таких cerмeнтa с подтверждением, выдаваемым в строке 14. Остальные данные следуют в cerMeHTax строк 15, 16, 18 и 21 с подтверждениями в строках 17 (двух cerMeHToB), 19 и 22. Строки 20, 23 и 24  трехкратное подтверждение BToporo соединения, op rанизуемоrо для получения изображения. ,c;;/"l::==::::::::: i=:: : ::::: ::::i::::::::= ] 1 arp reqиest for hestia.c1ara.net 2 те.1300 > hestia.clara.net.53 3 hestia.c1ara.net.53 > те.1300: 4 arp reqиest for charli.1eve1s.unisa.edu.au 5 те.1305 > char1i.1eve1s.unisa.edu.au.80: 6 char1i.1eve1s.Unisa.edu.au.80 > те.1305: 5637115 7 те.1305 > char1i.1eve1s.unisa.edu.au.80: 8 те.1305 > char1i.1eve1s.unisa.edu.au.80: 9 charli.leve1s.unisa.edu.au.80 > me.lЗ05: 10 charli.1eve1s.unisa.edu.au.80 > me.lЗ05: 11 те.1305 > char1i.1eve1s.unisa.edu.au.80: 12 char1i.1eve1s.unisa.edu.au.80 > те.1305: 13 char1i.1eve1s.unisa.edu.au.80 > те.1305; 14 те.1305 > char1i.1eve1s.unisa.edu.au.80: 15 char1i.1eve1s.unisa.edu.au.80 > те.1305: 16 charli.leve1s.unisa.edu.au.80 > те.1305: 17 те.1305 > char1i.1eve1s.unisa.edu.au.80: 18 charli.1eve1s.unisa.edu.au.80 > me.lЗ05: 19 те.1305 > char1i.1eve1s.unisa.edu.au.80: 20 те.1308 > char1i.1eve1s.unisa.edu.au.80: 21 char1i.1eve1s.unisa.edu.aи.80 >те.1305: 22 те.1305 > char1i.1eve1s.unisa.edu.aи.80: 23 char1i.1eve1s.unisa.edu.aи.80 > те.1308: 5641263 24 те.1308 > char1i.1eve1s.unisa.edu.aи.80: 1+ А? www.itr.unisa.edи.aи. (38) 1 2/3/3 CNAМE cha (201) s 5637114:5637114(0) win 8192 <mзз 536, sасkOК> S 2454387047:2454387047(0) ack win 9112 <mзз 536> . ack 1 win 8576 р 1:286(285) ack 1 win 8576 . ack 286 win 9112 р 1:537(536) ack 286 win 9112 ack 537 win 8576 . 537:1073(536) ack 286 win 9112 р 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 р 2681:3217(536) ack 286 win 9112 . ack 3217 win 8576 S 5641262:5641262(0) win 8192 <mзз 536,засkOК> р 3217:3667(450) ack 286 win 9112 . ack 3667 win 8126 S 2455265723:2455265723(0) ack win 9112 <mзз 536> . ack 1 win 8576 
fлaва 1. Общий обзор языка 17 Фактические данные, посьmаемые на канальном уровне для транспортировки :rrиx IPnaкeтoB, будут зависеть от используемой технолоrии. Они изменяются 80 время cBoero путешествия по узлам сети. Путь из Лондона в австралийский rород Аделаида имеет 23 транзитных участка. Начало  в портативном KOM пьютере в rлазrо с телефонным подключением через модем к поставщику ус- nyr (провайдеру) Claranet Internet Service Provider. Следующий ниже список направляет эти сообщения на WebcepBep в Австралии. Довольно замыслова тый маршрут этоrо путешествия показан на рис. 1.8. . 1. ftHk35.access.clara.net (195.8.83.35) в Лондоне 2. accessfeOOObannerstarbuck.router.clara.net( 195 .8.83 .128) в Лондоне (Claranet) З. ge500bannerbildad.router.clara.net {I95.8.68.62) в Лондоне (Claranet) 4. atm60teleepeleg.router.clara.net (195.8.68.158) в Лондоне 5. fastethernetl0.lthicr02.carrierl .net в Лондоне (Carrierl AG, Цюрих) '6. fastethemet400.1 thbir I.carrierl.net (212.4.203.209) в Лондоне 7. posl3O.l onbbr02.carrierl.net(212.4.200.121) в Лондоне 8. posI30.nycbbr02.carrierl.net (213 .239 .20.254) 9. gigabitethernet20.nycpni03.carrierl .net (212.4.193.202) ]0. p4I.nycmnykr7.bbnplanet.net(4.24.163.17) в ИьюЙорке (BBN Planet) 11. p20.nycmnylnbrl.bbnplanet.net( 4.24.7.1) в НьюЙорке ,12. plO.nycmnylbrl.bbnplanet.net( 4.24; 10.82) в НьюЙорке :C t1 . pl0.nycmnylbal.bbnplanet.net(4.24.6.230) в НьюЙорке .14. plO.xnyclmci.bbnplanet.net (4.24.7.70) в НьюЙорке <15. acrlloopback.SantaClara.cw.net (208.172.146.61) в СанФранциско (кабель и беспроводная линия) 16. -(208.1 72.147.210) 17. optusnetworks.Sydney.cw.net (166.63.225.166) в Сиднее 18. GigEthI200.ia4.optus.net.au (202.139.191.18) в Сиднее (CWO Infrastructure Network) 19. SARNOInt.ia4.optus.net.au (202.139.32.206) в Сиднее 20. ethernetl.cityeast.unisa.gw.saard.net (203.21.37.11 О) в Аделаиде (South Australian Academic, Research and Development Network) 21. MLgate.levels.unisa.edu.au (130.220.10.2) в Аделаиде (Uni ofSouth Australia) 22. MLCamp.levels.unisa.edu.au (130.220.2.106) в Аделаиде 23. www.itr.unisa.edu.au (130.220.36.143) в Аделаиде 
18 Передача данных в сетях: инженерный подход <cr..  "'.1. '" H" .. ....... .  . . !!L . , ... ,.  c"\l'" ,  "  ;4, и ,>  .t;!.': Аделаид- СИДней   .  ..C .. .>. ;r \.. "!f. Рис. 1.8. Маршрут к WebcepBepy 'ТА Основная работа IP состоит в изоляции верхних уровней от деталей работы сети так, чтобы невозможно было сказать, какие типы передач фактически ис пользуются. Начальное соединение выполняется по телефонному проводу с использованием модема и РРРпротокола (протокол "точкаточка", см. разд. 5.9.1), а имена различных компьютеров вдоль маршрyrа rоворят, что ис пользуют А ТМ (см. разд. 5.8.2), быстрый Ethernet (см. разд. "Быстрый Еthеmеt",2Л. 5), rиraбитовый Ethernet (см. разд. 'Тuzабuтовый Ethemet, 2Л.5) и, почти определенно,  американскую синхронную оптическую сеть 80NET (см. разд. 5.8.1). Трафик к Австралии часто проходит через Америку, тorдa как имеются MHoro резервных мощностей через Атлантику. Каналы, проходящие через Тихий океан, часто прокладываются через спyrник, но данное соедине ние использует кабель и оптоволоконную линию. Вы можете просматривать маршрyr Iпtеrnеtсоединения с помощью проrpаммы traceroute (UNIX) или tracert (ОО8). 
. I , ,rлава 2 .1 L/ / \с точки зрения пользователя .1. Данные пользователя \С fkiльзователи располаrаютея на верхнем уровне иерархии коммуникацион- Ной системы. Стратеrия MHoroypoBHeBoro иерархическоro представления. уждавшаяся в 2Лаве 1, предполаrает, что пользователи "видят" систем) лько через свои приложения и изолированы от деталей ее работы. Такая теrия имеет интересный побочный эффект, позволяющий системе связ авлять передаваемыми данными таким способом, чтобы придавать ИIY. )f8иболее эффективную для передачи форму. Этот процесс называется коди- иeM источника. Перед поrружением.R детали TaKoro кодирования необ. ДИМО рассмотреть основные принципы теории информации. ;' ';-' ." -, 2. Введение в теорию информации {' >'t;L ; 2 1. Количество информации "'формация  это знание чеroто, причем вопрос, является ли это "чтото' ,HHЫM  оставим для философов. В нашем случае мы будем иметь дет TO с сообщениями, составленными из одноrо или нескольких символов ,to, что создает эти сообщения, называется источником. Первая попытка ма матически определить количество TOro, что, по предположению, являете: :Н8формацие:>< была предпринята Хартли (Hart1ey) в 1928 rоду. Ero подхо, ЯЛ в с! \ующем. Пусть источник производит одиночный символ, на 'имер, S, который входит в состав полноro набора возможных символьны: значений {Sj, ..., Sn}. Пусть информация, задаваемая этим символом, буде обозначена как ;\. Если источник производит 1 символов, то, интуитивно, ре зультирующая информация должно быть равна 1 х ;\. Хартли связал количf. ство информации с числом возможных выходов, так как он чувствовал, чт Чем больше у источника таких выходов, тем больше информации передаете 
20 Передача данных в сетях: инженерный подход в форме знания Toro, что произошло. Одиночный символ может иметь п воз  1 I можных значении, а если у нас таких символов, то получаем п возможных комбинаций. Если мы roворим, что информация  это функция числа воз можных выходов, то мы имеем ;1 == f(n) и ;1== f(п l ). Кроме Toro, i == 1 Х;1 == 1 xf(п), так чтоf(п / ) == 1 xf(п). Единственная функция, которая удовлетворяет обоим этим уравнениям, это лоrарифм, так что Хартли определил меру информации источника с п различными символами как 1 == logп. Чаще Bcero используются лоrарифмы с основанием 2, которые дают единицу измерения информации, называе мую бит, хотя существует и друrая единица  нат (nat), коrда вместо двo ичных используются натУРШlьные лоrарифмы (с основанием е). Единица бит означает, что информация, задаваемая 1 двоичными символами, равна )Og2 п = Ilog 2 п(= IOg2 п'). Определение Хартли иноrда записывается как . 1 ==  10g2P(S), rде P(S)  вероятность появления одноro символа, а все символы paBHOBepo Jl,ТHЫ. Эro довольно простое определение, но оно справедливо только тоrда, коrда все сообщения равновероятны. Однако обычно это не так. Поскольку интуи тивно информация зависит от вероятности, то для уточнения этоrо определе ния мы должны использовать концепцию вероятности. Если событие являет ся очнь вероятным или не очень, то, как правило, мы можем предсказать, каков будет результат. Эrо также означает, что количество информации, соде ржа щей с я в фактически известном результате, уменьшается. Чтобы по-- дойти к уточненному математическому представлению информации, которая учитывает вероятностный фактор, мы должны слеrка изменить наш взrляд на нее. Вместо TOro чтобы rоворить, что информация  это знание, мы rоворим, ЧТО информация  уменьшение (снятие) неопределенности. Существует чет кая методика измерения неопределенности  теория вероятности. Если мы определим меру неопределенности, то сможем использовать ее для определе ния информации. Эrот подход был использован Шенноном в 1948 roду. Мера неопределенности (обозначим ее как Н(х» должна иметь следующие свойства: [] если два эксперимента имеют равновероятные результаты, то тот эксп римент, у KOToporo больше возможных значений, имеет БОльшую неопре деленность, т. е. Н(хд > Н(Х2), если эксперимент хl имеет больше равно-- вероятных результатов.. чем Х2. Например, неопределенность при 
f:,tJaвa 2. С точки зрения пользователя 21 бросании иrральной кости (6 возможностей, каждая с вероятностью 1/6) больше, чем при бросании монеты (2 возможности, с вероятностями 1/2). Обратите внимание  последний случай соответствует неопределенно сти в определении информации Хартли; D если имеются два независимых эксперимента, неопределенность относи тельно результатов обоих экспериментов должна быть равна сумме неоп ределенностей результатов каждоrо индивидуальноrо эксперимента; I!J . если результаты эксперимента разделены на две rруппы, то неопределен ность Bcero эксперимента должна быть равна сумме неопределенностей каждой из rрупп, взвешенных вероятностями соответствующих rрупп.  первых свойства требуют чтобы как. и прежде мера Н(х) была основана  лоrарифмах. Третье свойство потребовало от Шеннона добавления Bepo OCТHЫX множителей. Он определил неопределенность, или энтропию слу jaйноrо события (величины) Х, которое может иметь п возможных результа 1.08 (значений), получаемых в результате экспериментов с вероятностями Рl, i' ,,.,Pп, как H(X)= Lk Pk log2 Pk' Qнтpoпия, которая является неопределенностью события Х, имеет следующие ioйства:  А 01' она максимальна, коrда каждый возможный результат равновероятен; !. ':  - . ,упорядочивание различных вероятностей не имеет значения; \' . tt,. 'энтропия равняется нулю только тоrда, коrда нет никакой неопределен ности (то есть коrда вероятность каждоro из результатов равна 1); ! добавление события с вероятностью О к набору возможных значений слу : чайной величины не изменяет энтропию; r;,'. энтропия увеличиваеся с числом возмоных экспериментальных резуль f,: татов (число событии, бросков иrральнои кости имеет больше энтропии, ,'. чем число бросков монеты); 't,' .. энтропия является непрерывной функцией ее apryMeHТOB;  энтропия двух независимых событий равна сумме энтропий индивиду :1, альных событий; i!t если набор возможных результатов экспериментов разбить на rpуппы, то для получения результирующей энтропии нужно значения энтропий ин дивидуальных rрупп умножить на их статистические веса. Некоторые из этих свойств показаны на рис. 2.1, rде изображена энтропия д80ичноrо случайноro события (имеющеrо только два возможных значения), как функция вероятностей. Она имеет максимум, равный 0,5, в точке р == 0,5 
22 Передача Данных в сетях: инженерный ПОДХОД (в этой точке одинаково вероятно, что событие произойдет, как и то, что оно не произойдет). Кроме тoI'o, видно, что энтропия равна нулю как для собы тия, происходящеrо всеrда (р == 1), так и для события, не происходящеrо ни коrда (р == О). Энтропия и информация связаны следующим образом: H(X)== LkPklog2Pk == L PkI(X = X k ), т. е. энтропия  это средняя информация для данной (дискретной) случайной величины (с k возможными значениями). 1 -- -- 0,9 - ---------- ------- )( 0,8 --- ------------ ----- I! 0,7 ------ ------------------ ----- s ':;: 0,6 - ----------------- -----  0,5  ------------ -- с 8. 0,4  ---------------- -  0,3  ----------------------- <'> 0,2 0,1 ------------------------- О о 0,2 0,4 0,6 0,8 1 Вероятность события р Рис. 2.1. Энтропия двоичной случайной величины ДЛЯ различных вероятностей 2.2.2. Взаимная информация Итак, информация  это уменьшение (снятие) неопределенности. Orсюда следует, что, cтporo rоворя, коrда речь заходит об информации, необходимо рассматривать два события: одно "исходное", рассматриваемое перед получе- нием информации, и друI'ое "предначертанное", рассматриваемое после Toro как информация получена (предполаrается, что второе событие дает инфор- мацию о первом). Иначе rоворя, насколько меньшую неопределенность мы получим относительно Первоro события, получив определенные знания о втором. Термин взаимная информация часто используется для Toro чтобы подчеркнyrь, что требуется рассматривать два события. Рассмотрим два события Х и У. Информация об Х передаваемая событием У, равна I(Х; У) == Н(Х)  H(XI У). Н(Х)  это неопределенность события Х. н (Х I У)  неопределенность события Х при условии, что У  известно, и то, насколько меньше становится эта неопределенность по сравнению с первона- 
[;лава 2. С точки зрения пользователя Ч.8Льной, коrда происходит событие У и определяет их взаимную ИНфОРМе цию. Если Х и У независимы, то Н(Х I У) == Н(Х), так что 1(Х; У)==о, и У не дае Нflкакой информации об Х. Обратите внимание, что I(Х; У) == I(У; Х). Эти се отношения показаны rрафически на рис. 2.2. Рис. 2.2. Отношения между энтропией и информацией для двух событий 2.3. ИСТОЧНИКИ информации Источник информации  это производитель информационных СИМВОЛ(J (значений). Источник без памяти  это -епециальный тип источника, rде в( роJlТНОСТЬ производимоro символа не зависит от какоroлибо из Предыдущи имволов. Если вероятность каждоro символа неизменна во времени, то rOB( Рит, что источник стационарный. Поэтому для TaKoro источника ,\ Р(8; == ak) == Pk \/;. prpOKa символов, произведенная таким источником 8.828з.. .8 п , rде все СИf\ волы при надлежат одному и тому же распределению вероятностей. ЭНТРОПI1 rnoro источника определяется как Н == Lk Pk log2 Pk' rде сумма берется по всем k и Pk > о. Набор допустимых символов называете Qllфавuтом. Бросание монеты или иrральной кости формирует источник без памяти, т. I ICaждый бросок не зависит от предыдущих. Если имеется не которая завис! Мость от предыдущих результатов, то roворят, что источник имеет памят Большинство реальных источников имеют память. Например, символы 1- странице имеют память, потому что они не независимы. Так за буквой "q" t .нrлийском языке) почт.. всеrда будет следовать буква "и". Источники с памятью  это обычно не индивидуальные символы, а сю рее rруппы символов, которые формируют различные сообщения. Кажд< 
24 Передача данных в сетях: инженерный подход буква анrлийскоrо языка  это символ, НО только некоторые rpYnnbI сим волов формируют праВИЛЬНЫе (допустимые) комбинации выходов источ ника. Энтропия TaKoro источника рассчитывается по сообщениям, а не по символам. Если некоторые из возможных комбинаций символов не фор мируют правильных сообщений, то rоворят, что они избыточны (напри мер, "thear"). Вычисление энтропии источников с памятью требует рассмотрения rрупп зависимых символов вместе с ситуацией, коrда результирующие сообщения можно рассматривать как независимые. Тоrда энтропия рассчитывается по сообщениям, а не по символам. Для некоторых источников сделать это чрез вычайно трудно, потому что для большинства rрупповых символов зависи мость существует. Снова используя пример анrлийскоrо языка, следует OТMe тить, что ero индивидуальные слова или даже предложения не являются независимыми. В таких случаях энтропию индивидуальноro символа можно вычислять, лишь оценивая (уraдывая) вероятность следования HeKOТOporo символа за предыдущим. Для больших участков анrлийскоrо текста люди MOryт правильно oTraдbIBaTb следующий символ HeMHoro меньше чем в поло вине случаев, что приводит к энтропии, которая лишь HeMHoro больше OДHO ro бита на символ. 2.4. Кодирование Источники обычно не производят индивидуальных сообщений в удобной форме. Разrоворный язык, например, состоит из нескольких сотен тысяч слов (в случае анrлийскоro языка из мноrих миллионов слов), и иметь отдель ный символ для каждоrо из них непрактично. Решение состоит в том, чтобы отображать сообщения на более управляемый набор кодовых символов (зна чений). Эrот процесс называется кодированием. Алфавит кода может быть тем же самым или отличным от исходноro алфави та. Часто, но не обязательно, это двоичный алфавит. 2.4.1. Свойства кодов Код называют разборчивым (distinct), если все кодовые слова различны. Код называют однозначно дешифруемым (uniquely decipherabIe), если любая ко- нечная строка из закодированной строки соответствует по крайней мере oд ному сообщению. Код называют моментальным (instantaneous), или префиксновободным (prefixfree), если никакое кодовое слово не является префиксом какоrолибо 
f!raвa 2. С точки зрения пользователя 2t. дpyroro кодовоrо слова, что делает код также и однозначно дешифруемым. Для проектирования кодов можно использовать так называемое дерево решений. Необходимым и достаточным условием моментальноro кода является Hepa венство Крафта. Оно yrверждает, что для моментальноro кода сумма разме ров алфавита D в степени индивидуальных длин слов /;, должна быть меньше или равна 1, т. е. L:. Dli :s;). Для однозначно дешифруемоrо кода такое же условие определяется не равенством МаКМWlЛана, так что однозначно дe шифруемый код существует только Torдa, коrда существует также и MrHO ieнный код. Эrо неравенство часто называют HepaвeHcmвoM Крафта МаКМWlЛана. о А с о о 100 101 1100 1101 ...... 1110 1111 Рис. 2.3. Кодовое. дерево Jtnя проектирования кода можно использовать кодовое дерево (рис. 2.3). Ha !fPIнаясь в корне, дерево разветвляется для каждоrо возможноrо кодовоro F;Имвола. Каждый узел в дереве соответствует набору кодовых символов и, едовательно, возможному кодовому слову. Код является однозначно дe tиuфруемblМ, если каждый исходный символ представлен отдельным узлом. J(од является моментальным, если каждый исходный символ представлен kОнечным узлом (то есть листом) дерева. На рис. 2.3 узел А  корневой. Моментальный код может быть сформирован из узлов В, .Р, G, J, К, L и М lIIIи их подмножеств. На рисунке показаны коды О, 100, 1 О 1, 1100, 11 О 1 и .illl. Если бы не было одноrо из промежуточных узлов (скажем, О), то при Удалении нижележащих кодовых слов этоrо узла (Р и G, например) код пере haл бы быть моментальным. Моментальный код можно расширять с приве Цением ero к форме HOBoro MrHoBeHHoro кода, только путем добавления к Rpoмежyrочному узлу концевых узлов. Добавление узла D прибавляет к коду D  1 новых кодовых слов (так как добавляется D новых концевых вершин, а исходный узел больше не может использоваться в качестве кодовоro слова, потому что он больше не является концевым). 
26 Передача дaHНblX в сетях: инженерный подход 2.4.2. Минимальные разрядности кода Если источник (без памяти) имеет энтропию Н, то любой однозначно дешиф руемый код для этоro источника с алфавитом из D символов должен иметь длину (разрядность) по меньшей мере Н Ilog D( = L min ), и существует код с длиной $ (1 + Н / log D). Эrо yrверждение называется теоремой пOMexoycтoй чивО20 кодирования, потому что она определяет самый короткий возможный код, который полностью описывает источник (и поэтому не производит ни каких искажений ИЛИ шума). Для частноrо случая двоичных кодов длина должна быть больше или'равна энтропии в битах. 2.4.3. Избыточность и эффективность Избыточность кода определяется как относительная разность между cpeд ней и минимальной длиной кодовых слов, т. е. как (Lcp  Lmin)ILcp. Средняя длина кодовых слов Lcp == LjP;lI, rде /[  длина кодовоrо слова i и pj  вероятность этоro кодовоrо слова. Близко связанным понятием является эффективность кода (обозначается как 1'), которая определяется как LmiolL cp и обычно выражается в процентах. Обрати те внимание, что избыточность кода равна 1  1'), и если код имеет эффектив ность 100%, то у Hero нет никакой избыточности. Для случая двоичноrо кода L min == Н, так что можно упростить эти уравнения: избыточность== (L cp  Н)IL ср , 1') == H1Lcp. 2.4.4. Типы кодирования Существует четыре типа кодирования, хотя мноrие авторы rоворят только о трех. Математики обычно забывают кодирование линии передачи, в то время как инженерыэлектронщики имеют тенденцию забывать крunтО2рафuческое кодирование. D Кодирование источника. Состоит в максимально возможном сжатии информации до нескольких символов, чтобы сэкономить ресурсы переда чи или памяти. Число исходных комбинаций больше числа закодирован ных комбинаций. 
[лава 2. С ТОЧКИ зреНИЯ пользователя 27 [:J Кодирование канала. Состоит в расширении кодовоrо алфавита, позво ляющем распознавать ошибки после передачи через канал, который мо-- жет искажать или разрушать данные. Число исходных комбинаций MeHЬ ше числа закодированных комбинаций. [:J Криптоrрафическое кодирование. Состоит в таком преобразовании сообщения, чтобы друrие пользователи не смоrли понять ero. Число ис ходных комбинаций равно числу закодированных комбинаций (в общем случае ). tI Кодирование линии связи. Состоит в таком преобразовании сообщения, чтобы ero можно было леrче передавать через среду передачи. Число ис ходных комбинаций равно числу закодированных комбинаций. 5.Кодированиеисточника ли мы хотим эффективно передавать информацию, то для Toro чтобы со-- '1q>aНЯТь низкую среднюю длину сообщения, нужно кодировать наиболее \ :Вероятные сообщения с помощью коротких кодовых слов. Коrда мы знаем ..сходные характеристики источника, очень полезными оказываются CTpaTe  кодирования ШеннонаФано и Хаффмана. Коrда мы не знаем xapaKTe ристик ИСТОЧf'ика, можно использовать друrие методики, такие как 2pyппo ;Ое кодирование (run length encoding), испльзуемое в факсимильной связи, ,. кодирование ЛемпеляЗива (LempelZiv coding), используемое в архивато '":t 'tn pkzip, и т. д. IJeред любым кодированием информации она должна быть приведена к удоб  для обработки форме. В некоторых случаях источник представляет tmформацию в виде дискретных символов, которые MOryт быть закодированы -Прямую. Однако информационный сиrнал, который нужно посылать в сис 'мy связи, это часто аналО20вый сиrнал (например, звуковой или выходной ал датчика), из KOТOpOro перед преобразованием в индивидуальное со-- 1Цение нужно сначала сделать выборку. 'j';' . 2.5.1. Квантование  'qтобы было возможно передавать сиrнал, находящийся в аналоroвой форме, держащиеся в нем данные необходимо некоторым образом обработать  р'чифровать. Например, измерения расстояний  неизбежно аналоroвые, но для передачи их обычно оцифровывают. Ширина монеты в один пенни  ,,20,20... мм, является бесконечным дробным числом, но стоит только это чис по оrраничить некоторым конечным числом цифр, измерение становится оцифрованным. Таким образом значения 20,2 мм и 20 мм являются выбороч ными значениями ширины монеты. 
28 Передача данных в сетях: инженерный подход 2.5.2. Точность квантования Коrда производится выборка аналоrовоrо сиrнала, он квантуется, т. е. oцe нивается ero ближайшими дискретными значениями. Если мы делаем изме реНИJI ширины монеты с точностью до одноrо десятичноrо знака, то нашими . выборочными значениями будут 20,0 мм, 20,1 мм, 20,2 мм, и т. д. Разность между соседними квантованными значениями определяет шаz квантования. Разность между фактическим и квантованным значением называют ошибкой кВантования, которую обозначают символом Е. Максимальное значение этой ошибки равно половине шаrа квантования (рис. 2.4). 1 0.9 0.8 0.1 0.6 0.5 О.. 0.3 0.2 0.1 О О 5 10 15 а 20 1.0 0.9 0.8 0.7 0.8 0.5 0.4 0.3 0.2 0.1 О 0.1 :::::::::::::::"::""""""""""".J"!."".'" ..............:............:......;;....!.................... б Рис. 2.4. Квантование аналоrовоrо сиrнала: а  общий вид; б  фраrмент KBaHToBaHHoro сиrнала Отношение сиrналшум (SNR, Signal to Noise ratio)  это отношение мощности сиrнала к мощности шума. Шумом в этом случае является ошибка квантования: Мы не знаем точноrо значения ошибки на KOHKpeT ной выборке, но мы можем сделать разумное предположение, что все зна чения в диапазоне изменения входноrо сиrнала являются равновероятны ми. Для шаrа квантования d ошибка находится в диапазоне (d/2, d/2). При возведении в квадрат и усреднении это дает мощность шума сР/12 (рис. 2.5, а). Следовательно, мощность шума пропорциональна квадрату шаrа квантования. Альтернативно, если мы имеем сиrнал с q уровнями квантования, то ошибка квантования обратно пропорциональна q2 (рис. 2.5, б) Чем больше количество уровней квантования, тем выше SNR, но тем больше имеется различных информационных символов. Пороrи квантования не обязательно должны быть равномерно распределенными, и чаще Bcero  это не так. В звуковых системах уровни располаrаются по лоrарифмической шкале, так что на низких уровнях их имеется больше, чем на высоких. 
ra 2. С ТОЧКИ зрения пользователя tU2 I. I  ) I ,,) I ...:' . 1",,,1  ., """""k'''''''' I ?y I . - I jj I ф2 ... ... 1. .1 2xd/2 I f/2 2 d 2 d !d// dE =)2 а 29 l /q    I .- . I ._ . I . I . I . .'..  .. ! l' W"" I >. I l/q I)j 2 х l/q I 1 119 2 I 2/ q 1/9E dE  зq2 Рис. 2.5. Вычисление шума квантования б J.5.З. Частота дискретизации   изменяющихся во времени величин, подобных электрическим сиrналам, 'дополнение к точности каждой выборки существует еще одна проблема  iocmoma дискретизации, или скорость выборки (sampling rate). Если частота ;"скретизации слишком низка, то мы не будем способны восстанавливать ал по выборкам.  4 мотрим рис. 2.6. Исходный сиrнал представлен черной линией, и роказанные выборки позволяют должным образом восстановить сиrнал. Oд o, если мы возьмем только каждую вторую выборку, то результатом BOC ОВJIения будет серая линия, в которой мноrие детали исходноrо сиrнала :вотсряны. 9ем выше частота дискретизации, тем больше требуется выборок, "придется передавать большее количество сиrнальных :щачений (символов). ючевой вопрос состоит в том, сколько требуются выборок, чтобы полно ю описать сиrнал. Ответ на этот вопрос требует понимания индивидуаль F компонентов, из которых состоит сиrнал. Мы можем расчленять сиrнал ;на различные частотные компоненты с помощью аНШlиза Фурье. Рис. 2.6. Форма сиrнала при разных скоростях выборки 
зо Передача данных в сетях: инженерный подход 2.5.4. Ряды Фурье С помощью этих рядов почти любой периодический сиrнал можно предста BIiТЬ в виде ряда синусоидшzьных сиrналов. Сила этоrо подхода состоит в том, что если мы определим отклик цепей на синусоиды различных частот, то сможем вычислить, как эти цепи будyr реаrировать на соответствующий сиr нал. Синусоидальные составляющие сиrнала, называемые ero спектром, формируют представление сиrнала в частотной области. Это очень мощный подход к проектированию цепей. Хотя представление сиrналов в частотной области напрямую соответствует физическим объектам в форме волн, напри мер, коrда речь идет об электромаrнитных излучениях (радиоволнах, свете и т. д.), но важно помнить, что представление сиrнала в частотной области  это в своей основе математическая модель. Таким образом, мы можем BЫ полнять частотный анализ сиrналов, которые изменяются не только во Bpe мени, но по друrим параметрам, например, в пространстве. 2.5.5. Вычисление частотноrо спектра Почти любой периодический сиrнал можно представить в виде суммы ряда Фурье. Существует две rлавных формы ряда Фурье  эксnоненциШlЬНая и mpu20номеmрическая. Они эквивалентны вследствие TOro, что e j () = cos() + jsin(). Для экспоненциальной формы сиrнал формируется из v(t) = ICnej21Ulfo/ , rде Сп = ; J v(t)ej21Ulfo/dt . п О То Для реальных сиrналов можно также использовать триrонометрическую форму .!..ао +(аl cosx+q sinx)+(a2 cos2x+b 2 sin2x)+... 2 rде коэффициенты а п = l:.... JТo f(x)cosnxdx и Ь п = 2.1. f(x)sin nxdx . ТОО То" Для триrонометрической формы период обычно принимается равным 2п, что дает 1 L 211 1 1 2" а п = f(x)cosпxdx и Ь п = f(x)sinпxdx. п о  о В качестве примера рассмотрим треуroльный сиrнал, rде у = х/2 в интервале от п ДО п. На рис. 2.7 по казаны три первых члена ряда Фурье для этоrо сиr Нала, а также сумма двух и трех первых членов. С учетом трех первых членов основная форма сиrнала проявляется уже достаточно четко. На рис. 2.8 пока зано приближение, учитывающее 30 первых членов ряда Фурье. 
fлава 2. С точки зрения пользователя 31 Первые три члена Первые два члена Первый член 1.5 о Третий член Второй член 0.5 0.5 1 1.5 8 6 4 2 о 2 4 6 8 Рис. 2.7. Индивидуальные синусоиды трех первых членов ряда Фурье для треуrольноrо сиrнала, у = Х/2, интервал [п, п] Хотя не каждый возможный периодический сиlittlал имеет представление в 8ИДе ряда Фурье, одно из условий TaKoro представления (которое является точным, но не необходимым) состоит в том, что интеrрал квадрата функции должен быть конечным. Такое же условие имеет место и для МОЩ Насти сиrнала (сиrнала с конечной мощностью на периоде). Все решzьные _rnaлы до,лжны иметь конечную мощность, так что все реальные сиrналы -ИМеют представления в виде ряда Фурье. '-яд Фурье непрерывной функции также является непрерывным. Если исход рй сиrнал не является непрерывным, то для ряда Фурье наблюдается эф Wюкт ruббса, коrда ряд Фурье сходится в средней точке разрыва. Ряд Фурье -Имеет примерно 18процентные выбросы на концах разрыва с колебаниями, 'Которые имеют ту же частоту, что и самый высокочастотный компонент в риде Фурье. Энерrия этих выбросов, называемых "ушами rиббса", уменьша ется при N --+ 00, а их амплитуда не уменьшается. Треуrольный сиrнал на рНС. 2.8 имеет разрыв, так что "уши rиббса" присутствуют, но они еще лучше видны на прямоуroльном сиrнале (рис. 2.9). Обратите внимание, что никакой реальный сиrнал не имеет разрЫВОВ, т. к. это потребовало бы, чтобы электро- ны двиrались с бесконечной скоростью, что невозможно. Однако математи ческая форма, которую мы используем для представления реальноrо сиrнала, Может иметь разрывы для Toro. чтобы аппроксимировать сиrнал (примером такой формы является С1)'пенчатая функция). 
32 передача данных в сетях: инженерный подход 2 о 1.5 0.5 0.5 1 1.5 2 8 6 4 2 о 2 4 6 8 Рис. 2.8. Первые 30 членов ряда Фурье треуrольноrо сиrнала, nоказанноrо на рис. 2.7 1.8 \ , \ I , I f , 1.6 1.4 1.2 0.8 0.6 0.4 I 1', , . 1\ // 1\ .. !j о,.  · · -  '\.,  ----------  ,.  ----- ... ..../ I I I , I , , I , I 0.2 O.2 O.4 8 6 4 2 о 2 4 6 8 Рис. 2.9. Ряд Фурье функции у = О, О :s х < 11, У = 11/2, 11 :s х < 211. Пока за н РЯД с 2, 3 и 4 членами и ряд с количеством членов до п = 4. 2.5.6. Частотный спектр Члены ряда Фурье можно использовать для Toro, чтобы определять частот- ный спектр периодических сиrналов. Частотный спектр  это rpафик час тотных компонентов и их амплитуд. Частотный спектр периодических сиrна 
rлава 2. С точки зрения пользователя зз лов называется линейчатым, т. к. он имеет компоненты в точках 1/Т, 2fT, 3fT и т. д. (rде т  период сиrнала). Самая низкая из этих частот 1/Т, называется основной частотой. Линейчатым спектром обладают сиrналы, которые вляются истинно перио дическими, т. е. простираются от  до 00. Хотя реальные сиrналы не обла дают этим свойством, но часто мы можем считать их истинно периодически ми в пределах той временной области, в которой мы их рассматриваем. Тоrда возникает следующий вопрос: как следует обрабатывать непериодиче ские сиrналы? Можно вычислять их частотную характеристику, используя преобразование Фурье. Преобразование Фурье определяется так: F(f) == J: v(tJej2tiftdt . Обратите внимание, что преобразование Фурье  непрерывная функция, и 'поэтому апериодический сиrнал имеет непрерывный спектр, а не линейчатый, ,как у периодических сиrналов. ;Уместно отметить два специальных преобразования. Первое  преобразова Jlие импульса, т. е. дельтафункции Б(t), которая равна 1 в точке t == О, и paB :на О в друrих точках оси времени. Ее преобразование Фурье выrлядит так: F(f) = [ v(t)ej21f1i dt = [ t5(t)ej21ff1 dt = r lej21f1idf+ r Oej21ff' dt = r ldt = 1 . '" ....., J,o - J,..o J,o ;8 более общем случае F(АБ(t)) == А, так что частотным спектром импульса ;Jlвляется константа, содржащая все частоты. ,Вторая функция, стоящая упоминания,  это спектр прямоуrольноrо им ;nyльса. Рассмотрим импульс с амплитудой А в интервале  Tf2 до Tf2 и значе .иием О в остальных точках. F(f) == [, v(t)ej21ifldt == JAej21ifldt == j [ej2tift]:2 == = 2А sin( 21t fI' ) = ATsinc(fI') 2п! 2 Взаимосвязь между частотной и временной областью подчеркивается тем - фактом, что константа амплитуды А является преобразованием делъта функции величины в точкеf== О, т. е. dсlкомпонентом. Кроме Toro, импульс sinc временной области имеет прямоуroльный (масштабированный) отклик в частотной области.  I dc (direct current)  постоянная часть импульсноro компонента.  Пер. 
-84 Передача данных в сетях: инженерный подход Некоторые свойства преобразований Фурье показаны в табл. 2.1. Умножение во временной области соответствует свертке в частотной области, и наобо P'!f. Повторение во временной области соответствует выборке в частотной области (с масштабным коэффициентом), и наоборот. 2.5.7. Минимальная скорость выборки Из изложенноrо следует, что выборке (sampling) сиrнала во временной облас ти соответствует ero повторение (repeating) в частотной области. Поэтому, еи частота выборки больше чем удвоенная полоса частот сиrнала, то мы можем восстанавливать исходный сиrнал, потому что ето повторения не бу дут перекрываться с исходным сиrналом. Следовательно, если аналоrовый сиrнал имеет полосу частот W, то требуется выборка со скоростью, по край ней мере, 2W(или больше). Таблица 2.1. Свойства прео6разований Фурье Параметр g(l) Квантование времени g(t / i) Временной сдвиr g(t  t') Дуализм G(t) Перемножение g(t)h(t) F (с (1)) = G (f) I t'1 G(f) G(f)e-1 2 1« с8ер11<а g(t) * h(t) g(Л СИ * НИ F(j)H(j) Повторение L(g(t)*б(tпt'» пeZ '( G(f)Хб(f )) '( G(f) * б(f )) Выборка L(g(t) х б(t  т» пeZ ВосстаНОВ1Iение сиrнала выполняется пyrем удаления высокочастотных копий Ч8СТОТНоrо спектра с помощью идеальноrо низкочастотноrо фильтра. ПрЯМ<r уrольный частотный отклик соответствует функции sinc во временной области. Обратите внимание  поскольку эта функция имеет бесконечный отклик, то все физические системы будyr обладать некоторыми искажениями. 2.5.8. Импульсно-кодовая модуляция (ИКМ) Имnyльсн<rкодовая модуляция (РСМ, Pulse Code Modulation)  это название процесса выборки аналоrовоrо сиrнала и замены ето дискретными выборками, взятыии в определенные моменты времени. Чем больше делается выборок, тем 
rлава 2. С точки зрения пользователя 35 выше частота соответствующих значений ( символов) сиrнала. Кроме Toro, чем более точно выполняются выборки, тем больше число возможных символов. Символы часто представляются строками двоичных цифр, поэтому чем больше число выборок и выше их точность, тем выше битовые скорости передачи. 2.5.9. Кодирование источников без памяти Кодирование ШеннонаФано Перечислите все сообщения в порядке убывания их вероятностей, затем разбейте этот список на приблизительно равно вероятные разделы (два раздела для двоичноrо кода, три  для троичноrо, и т. д.). Назначьте О  первой части списка, 1  второй, и т. д: Продолжайте процесс до тех пор, пока не останется непронумерованных разделов. Кодирование Хаффмана Процесс кодирования Хаффмана выполняется следующим образом. Символы сообщения, которые нужно закодировать, перечисляются в порядке убывания вероятности (то есть символы с самой высокой вероятностью должны быть в верхней части этоrо списка). Если используется двоичный кодовый алфавит, то две ветви с самыми низкими вероятностями объединяются (со сложением ,ИХ вероятностей), но перед этим одНа из них марkИруется как О, а дрyrая  kaK 1. Затем эти ветви вновь упорядочиваются по вероятности и процесс no 8Торяется. Процесс продолжается до тех пор, пока не останется только одна Ветвь. Затем считываются кодовые слова, причем чтение выполняется в об ,ратном порядке от последнеrо элемента с добавлением в кодовое слово 'встречающихся по пути нулей и единиц. 'Например, возьмем систему со следующими вероятностями: А 0,25; В 0,3; С :0,35; D 0,1. Ранжируем их так: ,а С  0,35; ' B0,3; D A0,25; D OO,1. Самые маленькие веРОЯПЮС11f у элеменroв А и D (0,25 и 0,1 соответственно). Они объединяются в одну вerвь АО, вerвь А маркируется как О, а вerвь D  как 1 (рис. 2.1 О), и выполняется их новое упорядочивание по убыванию вероятнocrn: D C0,35; D AOO,35; [3 B0,3. 
36 Передача данных в сетях: инженерный подход Orносительно упорядочивания компонента АО имеется следующая свобода выбора: располаrать ero можно либо выше, либо ниже компонента с. В каж дом случае мы получим различные, но эквивалентные коды. Затем объединяются компоненты АО и В, причем АО помечается как О, а В  как 1. Это приводит К следующему списку: [] ADB  0,65; [] C0,35, в: котором объединены компоненты АО и В, список переупорядочен, компо нент АОВ маркирован как О, а С  как 1, что дает только одну ветвь, на этом процесс заканчивается. Извлечение кодовых слов выполняется следующим образом (начиная с последнеro столбца, в обратном порядке): [] А: О  от ветви ADB (последний столбец), О  от ветви АО (средний столбец) и О  от ветви А (первый столбец), что дает первое кодовое сло- во: 000; [] В: О  от ветви АОВ, 1  от ветви В (средний столбец), что дает второе кодовое слово: 01; [] с: 1  от ветви С (последний столбец), что дает третье кодовое слово: 1; [] D: О  от ветви АОВ, О  от ветви В (средний столбец) и 1  от ветви D (первый столбец), что дает последнее кодовое слово: 001. Весь процесс кодирования показан на рис. 2.10. 0,35 С  С АОВ)? 0,35 05 1 0,3 В АО 0,35 0,35 0,25 А В 0,3 0,1 О Рис. 2.10. При мер построения кода Хаффмана Чтобы использовать кодирование Хаффмана для кодовых алфавитов, co стоящих из большеrо количества символов, нужно выполнить небольшую модификацию этапа rруппировки: вместо объединения двух самых малове роятных компонентов перед переходом к следующему этапу нужно объеди нять п таких компонентов, rде п  число СИМВОлов кодовоrо алфавита. Эти символы следует использовать для нумерации последних ветвей дерева на 
rлава 2. С точки зрения пользователя 37 различных этапах процесса построения кодов Хаффмана. Отсюда следует, что на каждом этапе этоrо процесса удаляются (п  1) входов (элементов) списка. Поскольку в конце концов мы остаемся с элементом, помечаемым как 1, то в предыдущем списке мы должны иметь 1 + (п  1) элементов, в ero предшественнике должно быть 1 + 2 (п  1) элементов, и т. д. Если чис ло элементов, с которых мы начинаем процедуру, не равно 1 (mod п  1), то нужно прибавлять дополнительные фиктивные элементы с вероятностью о. Число таких дополнительных элементов равно такому наименьшему числу, при котором новое общее число элементов оказывается конrруэнтным 1 (mod п  1). 2.5.10. Кодирование источников с памятью Кодирование (сжатие), использующее алrоритмы Хаффмана и Шеннона Фано, хорошо работает для источников, производящих символы С довольно оrраниченным алфавитом, но оно не работает, коrда алфавит достаточно B лик И каждый символ используется несколько раз. Например, изображение может состоять из мноrих миллионов пикселов, каждый из которых будет иметь HeMHoro разный цвет. В этом случае можно использовать память ис точника. Для таких целей были разработаны друrие типы сжатия. Основные типы сжатия приведены в табл. 2.2. .... Сжатие происходит без потерь, если источник может быть точно восстаНОвлен по сжатым данным. Сжатие с потерями в процессе кодирования отбрасывает некоторую информацию, так что источник не может быть точно восстановлен. Так, например, при сжатии изображения происходит уменьшение количества различаемых цветов. Сжатая версия изображения будет отличаться от исходной, но при должным образом спроектированной системе компрессии она должна восприниматься пользователем почти так же, как исходная. Таблица 2.2. Основные типы сжатия Основа кодирования Тип кодирования Тип сжатия Кодирование на основе сим Подавление повторя Подавление незначащих волов (в информатике зто ющихся последова нулей называется энтропийным КО-- тельностей дированием). Осуществля rpynnoвoe кодирование ется без потерь Статистическое коди ХаффманaJШеннонаФано рование Подстановка образцов Арифметическое 
38 Передача данных в сетях: инженерный подход Таблица 2.2 (окончание) Основа кодирования Тип кодирования Тип сжатия Кодирование на основе Преобразующее KO FFТ синтаксиса (в информатике дирование ОСТ это называется кодирова нием источника). Приводит Ди4хРеренциальное Ди4хРеренциальная ИКМ* к потерям (хотя некоторые ди4кРеренциальныесхемы кодирование Дельтамодуляция (см. *) мoryт приводить к потерям при их комбинаци Адаптивно ях с кодированием на осно- дифференциальная ИКМ* ве символов) Векторное KBaHTOBa CELP (для речи) ние Фрактальное (для изображе ний) Подавление нулей В этом случае один часто повторяющийся символ заменяется специальной лексемой, представляющей сам этот символ и количество ero повторений. Друrие символы передаются без изменений. Чаще Bcero в качестве TaKoro символа используется О (отчеrо и происходит название метода), но это может быть и друrой символ. rpynnoBoe кодирование это расширение предыдущеrо метода, коrда rруппы любых смежных симво- лов изображения заменяются соответствующим одиночным символом и ЧИс- лом ero повторений. Чисто черно-белое изображение, например, можно ко-- дировать просто посылками нужноro количества пар, состоящих из числа белых пикселов, за которым следует число черных. Например, пиксельная ПОСледовательность 1111111000000110000010000000000010 кодируется как 07625119021. Блок из одиннадцати нулей расщепляется на два и представля- ется как 902, поскольку в противном случае 11 нулей были бы перепyrаны с последующим числом единиц (1). Таким образом, здесь 9 является самым большим допустимым количественным значением для нулевых символов. Подстановка образцов в этой методике сжатия общие последовательности символов заменяются специальным мета-символом, представляющим всю последователь- ность. Форма подстановки образцов, например, ЕС вместо Европейскоrо Со- общества, называется ак.ронимом. Два широко используемых алrоритма для 
rлава 2. С точки зрения пользователя 39 подстановки образцов были разработаны Зивом и Лемпелем (Ziv, Lempel) в 1977 и 1978 rодах. В алrоритме 1977 roда первые несколько символов пере даются без сжатия, а затем следующие символы проверяются по предвари тельно переданному набору. Если некоторый образец уже был предваритель но послан, то вместо последовательности символов посылается ее позиция и длина. Алrоритм 1978 rода, улучшенный относительно алrоритма 1977 rода, начинает работу с создания словаря, содержащеrо все символы из алфавита источника, и затем добавляет к нему новые элементы переданных строк. Дифференциальное сжатие Здесь кодируется разность Между предыдущим и текущим символами, а не сам символ. Если имеются взаимосвязи ежду символами (например, выбор ками сиrнала), то разность может быть существенно меньше, чем абсолютное значение, и следовательно, ее проще кодировать. эту методику можно улучшить, используя адаптивное дифференциальное кодирование, rде KO дирующее устройство предсказывает следующий символ и посылает раз ность между предсказанием и фактическим значением. Простая форма дифференциальноrо кодера  дельтамодулятор, который для увеличения ИЛИ уменьшения вывода посылает только один бит. Сжатие на основе преобразования .... Цель этоrо вида кодирования состоит в том, чтобы преобразовать сиrнал в друryю область, rде он может быть представлен более эффективно, и сжать ero в этой области. Например, если С}.frнал из временной области преобразо вать в частотную, и если у Hero нет высокочастотных компонентов, то для nересылки этой информации необходимо меньшее количество коэффиuиен 1'08. Прямое и обратное преобразования не будyr вызывать никаких искаже.- Ний сиrнала, если данные не усечены какимнибудь способом, так что TpaHC формационное кодирование в чистой форме происходит без потерь. В общем случае в пределах целевоrо диапазона находится несколько компо Иешов, иноrда небольших. При сжатии незначащие компоненты oт6paCЫBa lOТCя с помощью процесса называемоrо "квантованием". Чем больше количе СТ80 отбрасываемых компонентов, тем больше коэффициент сжатия, но тем больше и искажения. Векторное квантование Векторное квантование заменяет источник восстановленным сиrналом, co стоящим из компонентов, определяемых кодером. Речевое кодирующее YCT ройство (СЕLРкодер), используемое в мобильном радио, имеет очень низ кую битовую скорость (до 2,4 Кбит/с) и использует кодовую таблицу (книry) 
.40 Передача даННЫХ В сетях: инженерный подход шифров речевых звуков, которая может быть отреryлирована путем измене НIЦ параметров. Эrито параметры, а не сами звуки, и посылаются кодером получателю. Та же методика используется при фрактальном сжатии uзо бра:ж: ений , коrда вместо точной копии caMoro изображения посылаются спе циальные изображения  фракталы вместе с инструкциями по их использо-- ванию. Фракталы  это произвольные образцы, которые находятся (8 различных формах) в исходном изображении. При меры сжатия Дee приведены примеры сжатия различных сиrналов рассмотренными спо-- собами. CJ Факс. Факсы Зй rруппы используют rрупповое кодирование и коди рование Хаффмана. Отсканированное изображение содержит 1145 строк, состоящих из 1728 белых и черных пикселов. Для каждой CTpO ки сначала выполняется rрупповое кодирование, а затем для получен ных таким способом чисел используется кодирование Хаффмана. Этот процесс заменяет два миллиона исходных битов четвертью миллиона кодовых битов. [] Текст. Алrоритм ЛемпеляЗива хорошо работает с текстами, обычно обеспечивая уменьшение исходноrо размера на 2().........25%. Отметим, что здесь не происходит уменьшения до уровня, близкоrо к истинной энтро-- пии речи, потому что алrоритм рассматривает только последовательность символов, а не произношение и rpамматику. [] Речь. Стандартный речевой lТUкодер имеет полосу пропускания 4 юц и скорость 8000 8разрядных выборок/секунду (64 Кбит/с). Современные СЕLРкодеры MOryт обеспечивать такое же качество звука (называемоrо качеством телефонной связи) при скорости 8Кбит/с. Однако, П0СКОЛЫ<У СЕLРкодеры используют кодовые таблицы звуков, соrласованных толь ко с речью, качество друrих звуков (например, музыкальных) невысоко. lТUкодер будет работать на любом звуковом источнике с полосой про пускания до 4 ЮЦ. CJ Изображення. для статичных изображений часто используется формат GIF 2 , который уменьшает цветовую rлубину до 256 цветов и затем ис пол.ьзует алrоритм Лемпеля-Зива, чтобы выполнить сжатие без потерь. В формате JPEG 3 используется дискретное косинусное преобразование на 2 GIF, Graphic Interchange Format  формат обмена rpафическими данными.  Пер. 3 JPEG, Joint Photographic Experts Group  формат объединенной rpynпы фотоэкспертов.  Пер. 
rлаsа 2. С точки зрения пользоsателя 41 блоках 8х8 пиксел. Оно уменьшает результирующие компоненты, усекая незначительные высокочастотные компоненты ("квантование"). Для наи более важноro DСкомпонента используется дuффереНЦUШlыюе Koдиpo вание, а для максимально возможноrо сжатия остающихся компонен 1'Ов  rрупповое кодирование и, наконец, кодирование Хаффмана, или арифметическое кодирование. В формате MPEG 4 дЛЯ максимальноrо уменьшения битовой скорости передачи используется конечное пре06ра зование Фурье совместно с системой эталонных и проrнозирующих фреймов. Для проrнозирующих фреймов передаются только различия. Формат MPEG 1 дает качество, близкое к качеству видеофильмов, при скорости выше 1 Мбит/с. Формат MPEG2 дает качество, близкое к каче ству радиовещания, при скорости выше 2 Мбит/с, и используется новыми цифровыми телевизионными службами. Формат MPEGA разработан для очень низких битовых скоростей (менее 64 Кбит/с), и используется, Ha пример, для видеоконференций. Здесь возможны чрезвычайно низкие би товые скорости. Практическое сжатие  JPEG Хорошим примером практuчеСКО20 сжатия является стандарт сжатия изо- бражений JPEG. Для максимально ВОЗМОЖНОf(}'l;сжатия изображения в нем используется трансформационное, дифференциальное и rрупповое кодирова ние. Изображения разбивается на блоки размером 8х8 пиксел и затем на каж дом из этих блоков используется двумерное дискретное косинусное пре06ра зование. Если изображение цветное, то пре06разование применяется к каждому каналу цветности отдельно. Квантование в JPEG выполняется путем деления каждоrо из коэффициентов на массив предопределенных значений размером 8х8. При этом предпочте ние отдается низкочастотным компонентам, и оставляется только целая часть от TaKoro деления. Это означает, что правая нижняя часть массива заполнится нулями. Наиболее значимым будет левый верхний компонент, который и представляет dсзначение (среднее значение данных в блоке размером 8х8 пиксел). Чтобы ввести еще большее сжатие, используется дифференциальное кодирование этоrо значения, и затем коэффициенты считываются по диаrонали так, чтобы нулевые значения были в максимально возможной степени сrруппированы вместе. Наконец, чтобы сжать последовательности нулей, выполняется rрупповое кодирование. 4 МРЕО . Motion Picture Experts Group  формат rpynпы КИffоэкспертов.  Пер. 
42 Передача данных в сетях: инженерный подход 2.6. Вопросы к rлаве 2.6.1. Вопросы по теории информации 1. Каково количество информации (в битах) для следующих событий: а) бросание монеты; б) бросание двух иrральных костей; в) вытаскивание карты из перетасованной колоды: рассматривая каж дую карту индивидуально, рассматривая каждую масть отдельно, рассматривая каждую кар1У независимо от масти и рассматривая только цвет карты. 2. Пyreм разумных рассуждений в отношении разрешающей способности изображений, оцените количество информации телевизионноrо изображения формата Р AL. 3. Вычислите энтропию следующих событий бросания пары иrральных костей: а) рассматривая индивидуальные очки на каждой кости (то есть считая выпадение очков (1,6) и (6,1) разными событиями); б) рассматривая очки безотносительно порядка их расположения на костях (то есть считая выпадения очков (1,6) и (6,1), как одно и то же событие); в) рассматривая только сумму очков; r) сколько информации (в среднем) дает сумма очков об индивидуаль ных очках, выпавших на каждой кости. 4. В телевизионном иrровом шоу "Кто хочет стать миллионером?" иrроки должны выбрать один правильный ответ из четырех возможных, скажем  А, В, С или D. На одном из этапов иrры им позволяют сделать специальный выбор 50:50, коrда два неправильных ответа удаляются, а для выбора остается один правильный и один неnpавильный ответ: а) предnолаrая, что у иrpока нет никаких идей относительно Toro, ка- кой из двух ответов является правильным, и, рассматривая каждый результат как равновероятный, сколько информации дает данный вариант иrры; 
rлава 2. С точки зрения пользователя 4з б) Алиса начала иrру и застряла на некотором вопросе. Она уверена, что правильным ответом является А или В, и надеется, что, иrpaя вариант 50:50, она правильно удалит один из них. Предположим, что она использует следующие оценки: с вероятностью 45% правильным ответом является А, с вероятностью 40%  ответ В, с вероятностью 1 0%  ответ С и с вероятностью 5%  ответ D. Основываясь на ее предположениях, вычислите энтропию до и после иrpы 50:50, если при этом удаляются ответы В и D; в) основываясь на предположениях Алисы, вычислите энтропию до и после иrры "50:50", если при этом удаляются ответы С и D; r) какую информацию (в битах) дает иrра "50:50" в каждом из двух вышеупомянуrых случаев. . 5. Выражая Н(А,В) в терминах вероятностей и используя теорему Б8Йеса, покажите, что Н(А,В) == (А I В) + Н(В). 2.6.2. Bonpocbl по кодированию источника без памяти 1. Информационный источник без памяти rенерирует 8 различных символов (значений) с вероятностями 1/2, 1/4, 1/8, 1/, 1/32, 1/64, 1/128 и 1/128. Эти символы кодируются как 000, 001, 010: 011, 100, 101, 110 и 111 соответственно: а) чему равна энтропия на символ данноrо источника; б) какова эффективность этоrо кода; в) постройте код, используя алrоритм ШеннонаФано, и вычислите ero эффективность; r) постройте код, используя алrоритм Хаффмана, и вычислите ero эф фективность; д) если инreнсивность источника равна, В среднем, 1000 символов/секунду, то какова скорость передачи информации (в биraxlс). 2. Источник информации без памяти rенерирует символы с вероятностью 0,65; 0,2 и 0,15: а) вычислите энтропию на символ; б) вычислите вероятности всех возможных сообщений, состоящих из двух символов, и соответствующую энтропию. Сравните этот p зультат с предыдущим; в) вычислите избыточность источника информации. 
:;. 1/44 Передача данных в сетях: инженерный подход .  3. Постройте код для источника без памяти с шестью значе ниями (символами), используя трехзначный кодовый алфавит {0,1,2}. Пусть выборка вывода TaKoro источника выrлядит так: ACAAABEBCOAEABOCAEFAABOF. Какова эффективность этоrо кода? Сравните ее с эффективностью кода {А:ОО, В:Оl, С:02, 0:10, Е:ll, F:12}. 4. Удаленные датчики MOryт иметь два состояния  SET ("Установлен") и CLEAR ("Сброшен"). В среднем 99% датчиков находятся в состоянии CLEAR: а) используется одноразрядный код: О  CLEAR, 1  SET. Какова ero эффективность; б) для повышения эффективности постоянно используются два смеж ных одноразрядных сообщения. Определите подходящий двоичный код для этой сmyации и вычислите ero эффективность; в) повторите процедуру предыдущеrо пункта для rрупп, состоящих из 3 символов; r) повторите процедуру предыдущеrо пункта для rрупп, состоящих из 4 символов; д) прокомментируйте любые тенденции, которые вы видите в выше упомянутых результатах. 2.6.3. ВОПрОСbl по кодированию источника с памятью 1. Закодируйте последовательность 1, 2, 4, 4, 4, 4, 5, 6, 6, 5, 5, 4, 3, 1, О, используя дельтамодуляцию. Предположите, что декодер выIодитT О перед приемом первоrо бита. Какова среднеквадратическая ошибка? 2. Источник rенерирует последовательность 15, 14, 12,9,8,8, 10, 11, 12, 14, 15,15,14,12,10,9: а) закодируйте эry последовательность, используя импульснокодовую модуляцию (ИКМ); б) если вам скажут, что значения, которые будут получены  это це- лые числа в диапазоне от О до 15, сколько потребуется битов на сим вол для дuфференцuШlЬНОЙ ИКМ? Обоснуйте ваш ответ; в) является ли система, которую вы предлаraете, системой с потерями или без потерь? Если с потерями, то как можно сделать ее системой без потерь. 
rлава 2. С точки зрения пользователя 45 3. С ПОМОЩЬЮ адаптивной ИКМ нужно передать ту же последовательность, что и в предыдущем пункте. Оценка, используемая для выборки, предполаrает, что разность между текущим и следующим значениями та же, что между текущим и последним значениями: а) какие значения нужно посылать; б) оцеНlffе количество требуемых бlffОВ на символ. 4. Используйте алrОрlffМ Лемперля Зива'77, чтобы сжать последовательность AВCCDAВDCCBCCBECDA. CpaBHlffe число бlffОВ ДО И после сжатия. Последовательность имеет длину (размер) в 18 символов, так что для ее адресации (обращения к ней) необходимо использовать 5 битов. Прокомментируйте, что случится, если придется обращаться к более длинным последовательностям. Если бы алrоритм Mor адресовать только предыдущие строки в конечной хронолоrии, используя так называемое скользящее окно, то каковы были бы преимущества и недостатки такой методики?
, I , rлава 3 ..:.'1 "" .\\...."- . ",. ,--- с точки зрения защиты 3.1. Введение Криптоrpафическое кодирование преследует несколько целей. Наиболее оче видная из них необходимость rарантировать, что кодируемая информация сохраняется в секрете от всех получателей, кроме тех кому она предназначе на. Однако, поскольку взаимодействующие с помощью связи партнеры MOryт быть физически разделены, то существуют и дрyrие требования защиты. Они включают rарантии тoro, что противоположная сторона является именно тем, кем она себя объявляет, и что она придерживается любых друrих предвари тельно принятыx соrлашений. Поэтому вторым требованием криптоrрафиче cKoro кодирования является rарантия Toro, что связывающиеся стороны не ,мошенничают, т. е.: ... (J не иrpaют не по правилам; (J не притворяются KeM TO еще; (J не получают информацию. которую они не предполаrали иметь; (J не отверrают ложно транзакцию, которая имела место в действительности. 3.2. Криптоrрафические типы Orношения между различными криптоrрафическими катеrориями показаны на рис. 3.1. Криптоrpафия Шифрование Криnтorpафические протоколы Jl\Утентификация Подпись (сообщения) Друrие протоколы Рис. 3.1. Катеrории криптоrрафии
48 Передача данных в сетях: инженерный подход Шифрование перестановка, или маскировка информации используется для защиты данных от чтения неуполномоченными сторонами. Существует два типа шифрования: рассеивание (diffusion), коrда информация скрывается, и перемешивание (confиsion), коrда информация переставляется так, чтобы, хотя сообщение и можно обнаружить, но ero содержание (значение) YCTaHO вить невозможно. 3.2.1. Рассеивание Рассеивание известно также как стеzаноzрафuя (steganography), или искусст во ceKpeтHoro письма. Классические методики использовали невидимые чер нила или размещение татуировок на бритых rоловах курьеров, ожидание poc та их волос и затем отправку курьеров получателю. Рассеивание все еще используется и сеrодня. Например, в электронной почте можно ИСПользовать специальные литеры или комбинации литер, которые имеют значение только для Toro получателя, кому они предназначены. Дpy rие читатели в этом случае видели бы просто безобидное сообщение. Сле дующее анrлийское предложение: "This sentence also appears innocent, being text advocating а key idea" также кажется безобидным текстом, пропаrан дирующим некую ключевую идею. Однако вторая литера каждоrо слова это ro предложения посылает иное сообщение "heJp needed". Широкополосная радиосвязь, которая используется военными, тоже является формой рассеи вания. Частота, на которой передается радиосиrнал, быстро изменяется He предсказуемым способом, который известен только тому получателю, кому этот сиrнал предназflачен. эта методика называется "скачкообразной пере стройкой частоты", и если приемник получателя будет переходить (переска кивать) к правильным частотам, то он примет полное сообщение. Подслуши вающий на одной частоте субъект примет только крошечную часть сообщения, и поэтому может даже не знать, что оно передавалось. Стеrаноrpафию используют также для TOro, чтобы посылать информацию в составе видео или звуковых файлов. Можно изменять случайные биты изо бражения (или звука в случае аудиофайла), добавляя в них информацию, KOTO рую HO передать. При просмотре или прослутпивании изображения или звука, которые содержат скрытую информацию, они будyr выrлядеть (звучать) так же, как до передачи. На рис. 3.2, а показан штриховой рисунок (схема), ко-- торый скрыт в фотоrpафии (рис. 3.2, 6). Фотоrрафия состоит из 16 битных по-- лyrоновых значений, МЛадший бит которых используется для скрытия схемы. Ту же методику иноrда используют и для защиты от копирования. Изображе ния MOryт нести водяные знаки, которые невидимы при просмотре, но содержатся в некоторых пикселах. Их можно использовать для идентифика ции факта копирования изображения из первоначальноrо источника. Сложные схемы водяных знаков позволяют им оставаться в составе изобра жения, даже если само изображение изменяется, причем система также ra
rлава з. с точки зрения защиты 49 рантирует, что если изображение изменено, то это изменение может быть об наружено. Это важно, например, для изображений от полицейских камер, фиксирующих скорость движения автотранспорта. Более старый пример этой методики  практика добавления побочных слов к словарям, так что если словарь скопирован, побочное слово будет обнаружено, и факт, что словарь был скопирован, установлен. По подобной же причине проектировщики чи пов часто добавляют в свои конструкции небольшие участки избыточной ло-- rики на тот случай, если конструкция их маски копируется. ЗапиСЬ! Вocnpoиэвeдение 15О2532/40/48164 Vccn 28 VCCA 18 Усе с. с? o.1.F'J' 'J'0.1.F с. O.1.F VSSD 12 Узs", 13 ... SP+ 14 sp AUX IN 11 НС IN 20 16n Динемик OUT 21 НС МlC REF' 1. НС Интерфейс MLC 11 НС проrpаммирования нс   ...., r J P/R а 11   ','1". ;,ис:>":,, .J..J. ,J e;1iIiI.yA,!.,!" ;.:.' 5 Y,:i;I rчi;.;:i'Ч_' о"; :""'::и;,.!;..., < ",  . >' -1 '....,. . :..; ... Рис. 3.2. Штриховой рисунок, скрытый в фотоrрафии б Серьезной пр06лемой рассеивания является то, что раз метод известен, то дo вольно просто предпринять попьrrкy нападения (атаки) на Hero (то есть попы таться нарушить защmy). Если рассеивание используется для передачи инфор мации между несколькими людьми, секрет неизбежно будет pacKpbrr. Если, например, существует несколько проrpамм для скрытия информации в из06ра 
50 Передача данных в сетях: инженерный подход жеНИJlX, то эти же проrpaммы можно применить для тoro чro6ы увидеть, не cкpыra ли в изображениях какаято информация. Чтобы зaщиrить скрьnyю ин формацию, необходимо дальнейшее ее шифрование, но это приводит киспол&-- зованию втoporo метода  перемешиванию информации, обсуждаемому далее. Дрyraя. проблема, связанная с рассеиванием, заключается в следующем  что бы спрятать небольшое сообщение, требуется большое количество данных. Чтобы спрятать дерево в лесу, нужен лес. Если в каждом фрейме используется один бкr для передачи СКрЫТОЙ информации, то количество остающихся бкrов должно быть достаточно, чтобы скрытыe биты не моrли быть обнаружены. Эro означает, что необработанный размер файла должен, по крайней мере в 8 раз, если не больше, превышать размер скрываемых данных. 3.2.2. Перемешивание Второй метод шифрования  перемешивание, при котором сообщение изме няется так, что даже если ero присутствие обнаружено, то оно не может быть расшифровано. Существует два основных способа перемешивания: nepecтa новка, коrда изменяется позиция индивидуальных символов сообщения, и nреобразование (трансформация), коrда изменяется значение символа. Оба способа MOryr использоваться одновременно. Мы уже сталкивались с концепцией кода  набором правил, которые преоб- разуют каждое входное сообщение в определенный набор СИМlЮЛов. Кодиро- вание предпринимается для Toro, чтобы сделать передачу сообщений более леrкой (линейные коды) или чтобы обнаруживать или исправлять ошибки (коды с исправлением ошибок). Шифр  это код, цель KOToporo состоит в том; чroбы маскировать посылаемое сообщение. Шифры можно подразделять на блочные и поточные. В блочном шифре каждая часть, или блок сообще ния, шифруется независимо от друrих. В поточном шифре имеется некоторая форма обратной связи, так что шифрование символов сообщения зависит от предварительно зашифрованных символов. Алroритм шифрования состоит из двух частей: секретной и открытой. Yc пех системы зависит от тoro, остается ли секретная часть тайной, поэтому обычно пытаются оrpаничкrь количество требуемой секретной информации. Секретная информация называется ключом шифра. Сам алrоритм должен находиться в пределах открытой части шифра, чтобы он бьт известен каж дому пользователю системы (в противоположность ключу, который должен быrь униКШlен для фактически связывающихся сторон). Следует предполо- ЖИТЬ, что он должен быть также известен определенному числу людей, имеющих дОС1)'П к этому алrоритму. На самом деле в таком подходе имеются некоторые преимущества, т. к. более вероятно обнаружить изъяны в защите в опубликованных алrоритмах, чем в тех, которые остаются секретными, и по- этому изучаются только со злостными намеренИJIМИ. 
rпaвa З. с точки зрения защиты  . 51 3.3. Криптоrрафические сценарии Связь происходит между источником и адресатом. Однако в криптоrрафи чес ком сообществе существует соrлашение, по которому не обращаются к сточнику А и адресату В, а используют специальный сценарий, rде источ ИИ к, называемый Алисой, пытается связываться с адресатом по имени Боб, ричем канал между ними считается открытым для нападения (атаки). Существует две возможности для нападающеro (по-разному, в зависимости от автора, называемоro Чарльзом или Евой). Первое нападение (атака) носит -звание канШl прослушивания (wiretap channel), кorдa Ева может прослушивать сообщения, передаваемые между Алисой и Бобом, но не может изменять их (рис. 3.3, а), и BТOpoe нападение с подстановкой (substitution attack), коrда Ева может также изменять сообщения или заМенять их (рис. 3.3,6). Первая форма JlaПадения относительно проста для большинства передающих сред, особенно ),tnя радио, rдe физическое соединение не требуется, тorдa как возрастающее ис Jtoльзoвание сетей пакетной коммyraции, rдe данные обрабатываются в каждом :маршрyrnзаторе, означает, что нападение с подстановкой также вполне воомож ,.jo. Хорошим действующим примером втoporo типа канала нападения (с пере -ЮМ сообщений) является брандмауэр (firewall l ) Internet. Алиса nвредающая ..... Ева подслушивающзя а Б Рис. 3.3. Канал прослушивания и перехвата , Наряду с нападениями на криптоrрафические протоколы, которые будут pac СМотрены позже, существует несколько типов нападений на алrоритм коди , вания. р Только зашифрованиый текст. Эro простое прослушивание, при KOТO ром Ева может только читать зашифрованные сообщения, коrда они про ходят по каналу. [] Известный открытый текст. В этом варианте нападения Ева получает и незашифрованный, и зашифрованный текст некоторых сообщений. При этом нередко часть OТKpbIТOro текста можно разrадать. Обычно она является адресом или именем отправителя или временем передачи. Эrот подход ис I Firewal1  проrpаммноаппаратное средство межсетевой защиты.  Лер. 
52 Передача данных в сетях: инженерный подход пользовался во время Второй мировой войны  Korдa бомбы сбрасывались на какойнибудь порт, то зашифрованные сообщения об этом записывались в надежде, что в них будут включены имя порта и друrие детали нападения. C:I Выбранный открьпый текст. При этом варианте атаки Ева может включать в зашифрованный текст свои сообщения, которые должны быть какимто образом зашифрованы и затем прочитаны Бобом. Делает она это либо обманным пyrем заставляя Алису посылать свои сообщения, либо похищая оборудование кодирования и используя ero самостоятельно. C:I Выбранный зашнфрованный текст. Заключительная возможность для Евы состоит в том, чтобы заставлять Боба дешифровать зашифрованные сообщения, которые она rенерирует, а она моrла бы читать их расшифров ку. Эro опятьтаки можно сделать, лишь захватывая или подменяя обору дование шифрования. При всех видах нападений следует предполаrать, что сам алrоритм шифрования известен. Объясняется это совсем просто  слишком MHoro людей знают любой из этих алroритмов, чтобы хранить их в тайне. Эro предположение известно как предположение Керхкоффа (Kerchoft). Защита зависит только от ключа. Некото-- рые разработчики коммерческих проrpамм шифрования в целях повышенной защиты пытаются сохранять свои алrоритмы в секрете. Однако реверсировать машинный код обратно в ассемблерный  относиreльно простая задача, и He блaroразумно предполаrатъ, что такие коды не попадут в плохие руки. 3.4. Системы с частными ключами 3.4.1. Введение Сиcreмы (шифрования) С частными ключами также называются симметричными системами, пaroму что обе связывающиеся стороны имеют тот же самый ключ, а расшифровка  это просто обрапюе кодирование с rюмощъю ключа. Наиболее сущecmенным преимуществом сиcreм с частными ключами является то, чro для дaннoro уровня защиrы они обладают ornосиreлъно невысокой сложностью. 3.4.2. Перестановочные шифры В перестановочных шифрах позиции символов сообщения изменяются, но значение сообщения остается неизменным. Простой шифр  это специальная таблица (сетка), куда сообщение вписывается одним способом, а затем счи тывается  друrим. Эта операция показана на рис. 3.4. Сообщение вписыва ется в строки сетки, а считывается по столбцам. Древний вариант этоrо спо соба состоял в записи сообщения на полосу, обернутую BOKpyr цилиндра, которая затем раскручивалась и отправлялась с посыльным. Как будет пока зано в разд. 5.4.5, обе эти формы являются простым чередованием (расслое 
',Fлава 3. С точки зрения защиты 'а 53 нием), только используемым для различных целей. Все, что подслушиваю , щему нужно сделать,  это определить rлубину сетки (или диаметр цилинk 'ра). Увеличение rлубины сетки приводит к тем же проблемам с задержкой, что и при чередовании с контролем ошибок. т н I 5 I 5 А М Е S 5 А G Е Т О 5 Е N D ТН 15 I 5АМ E55AG Е ТО5Е N D. U тмт Н EOl5555 EIAN 5G ОАЕ. Рис. 3.4. Простой перестановочный шифр . Усовершенствование этой методики состоит в том, чтобы читать столбцы ,:сетки в более сложном порядке, чем просто слева направо. Для указания по рядка считывания столбцов можно использовать ключевое слово, алфавитное :упорядочивание букв Koтoporo и определяет порядок чтения столбцов. Ha ,i1ример, если бы ключевым было слово cipher, то мы вписывали бы шифруе мое сообщение в 6 столбцов, и затем считывали бы столбцы в следующем порядке 1 (с), 5 (е), 4 (h), 2 (i), 3 (р) и 6 (r). Однако такая система остается все еще очень восприимчивой к нападениям по методу проб и ошибок. .4.З. Трансформационные шифрь1 Моноалфавитный шифр Самый простой тип трансформационноrо шифра должен брать каждый сим вол В сообщении и заменять ero в зашифрованном тексте друrим символом. Символы для зашифрованноro текста обычно берутся из TOro же алфавита, что и для сообщения, но это не обязательно. Система называется .мo ноалфавuтной изза Toro, что каждый символ сообщения всеrда преобразует си в один и тот же символ зашифрованноrо текста. О раннем использовании такой системы сообщил древнеримский KOMMeнтa тор сплетен Светоний, хотя это ни в коем случае не первое зареrистрирован ное использование криптоrрафии, которое относится к древнему Еrипту, и использовалось в узнаваемых сеroдня формах еще rреками. Светоний напи сал, что еще Юлий Цезарь использовал систему преобразований при обще нии со своими друзьями. Он заменял каждую букву сообщения на третью бу кву из Toro же алфавита (рис.3.5), доказывая не только потребность в секретной политической связи, но и трудность сохранения такой связи в тай не от прессы! Термин "подстановка Цезаря" теперь применяется к любому шифру с подобным сдвиrом между символами сообщения и алфавитом шиф ра, даже если этот сдвиr не равен трем. 
,1tIpeДaЧa данных в etmI)(: инж.elfllPНblЙподх .,  Рис. З.5. Шифр с подстановкой Цезаря Б()лее безопасной (но лишь незначительно) является произвольная подста НО8Ка, коrда изменяется порядок подстановочных символов. Однако, хотя такая система имеет больше возможных ключей (26! вместо 26 возможных в системе Цезаря, один из которых тривиален), проблема со всеми моноалфа &итными трансформационными шифрами состоит в том, что их очень просто атаковать с использованием частотноrо анализа. Избыточность, свойственная 8Jirл"йскому языку, такова, что только около 25 символов зашифрованноrо текста требуются для тoro, чтобы дешифровать сообщение. Если в зашифро ванном тексте остаются пробелы, расшифровка ero даже упрощается, т. к. однобуквенным словом может быть лишь "а" или "1". Через эти прорехи MO жет просачиваться и друrая информация сообщения. Испытательная версия подобной "защитной" проrpаммы используется в системе проrраммирования Java для шифрования адреса WеЬсайта в том случае, если не был введен пра в.ильный ключ. Однако такой зашифрованный текст леrко перехватывать, поскольку все URLaдpeca WеЬсети начинаются с последовательности "http", а большинство из них содержат строку "www" и заканчиваются на ".html" или ".htm". Таким образом, кодирование символов Ь, t, р, w и m обычно считается заданным. Разработчики проrpаммы облеrчнли жизнь хакера, ОСтaJЩяя пунк 1)'ацию без кодировки, так что ".xyz" в конце имени хостмашины  это вe роятнее Bcero ".сот". Такой код оставляет для расшифровки так мало букв, чro оста.ющиеся возможности можно проверить методом проб и ошибок. дpynur проблема с произвольной подстановкой  длина ключа, т. к. должно быть определено преобразование каждоrо символа. Эrо непросто запомнить. В простой системе подобноrо рода, иноrда называемой подстановкой Виже нера (Vigenere) (хотя на самом деле она не имеет никакой связи с этим фран цузоким дипломатом 16oro столетия), используется специальное кодовое слово; чтобы определить несколько первых подстановок, и затем вставляются остальные буквы. Ключ в форме кодовоrо слова леrко запомнить, но шифр очень беден, т. к. последние символы алфавита (такие как w или у) вряд ли будут вообще зашифрованы (рис. 3.6). Рис. З.6. Шифр с подстановками Виженера 
.rlllAвa 3. С ТОЧКИ эреНИR эащиты 56 Попиanфа8ИТНЫЙ wифр ОДНИМ ИЗ способов преодоления атаки частотноrо анализа является исполь зование разных алфавитов преобразования, зависящих от позиции символа в сообщении. Система, изобретенная Джироламо Кардано (Girolamo Cardano), упоминается после системы Виженера, хотя на самом деле именно он (Виже ep) разработал автоключевую систему, описанную в разд. 3.4.7. Имя Блэза Р.ое Виженера, к сожалению, неправильно связывают с созданием двух шиф ров, которые он на самом деле не разрабатывал, и наоборот, не связывают с нaмHoro более качественным шифром, который действительно он изобрел. 'Для определения числа подстановок Цезаря, которые впоследствии будут ис пользоваться для кодирования, применяется специальное кодовое слово. Ha пример, пусть этим кодовым словом будет "code". Оно определяет четыре алфавита (рис. 3.7, а), первый со сдвиrом 2, второй  со сдвиrом ]4, тpe тий  со сдвиrом 3 и четвертый  со сдвиrом 4. Пример кодирования пока заН на рис. 3.7, б. Такие полиалфавитные шифры лучше, чем моноалфавитные, но они все еще 'уязвимы для нападения, использующеrо частотный анализ, коrда нападающий вычисляет длину повторения кодовоrо слова и может затем выполнить частот ный анализ для каждоrо алфавита индивидуально. В системе Виженера атака , дe облеrчается, т. к. каждый алфавит является подстановкой Цезаря. ,-.... а Ь с d е f 9 h k m n о р q r s u v w х у z 1 с d е f 9 h k m n о р q r s t u v w х у z а Ь 2 о р q r s t u v w х у z а Ь с d f 9 h j k m n 3 d е f 9 h j k m n о р q r s t u v w х у z а Ь с 4 е f 9 h k I m n о р q. r s u v w х у z а Ь с d а б Рис. 3.7. Полиалфавитный шифр 8еженера: а  таблица шифрования; б  пример кодирования 
56 Передача данных в сетях: инженерный подход 3.4.4. Одноразовое заполнение . Можно расширить понятие полиалфавитноrо шифрования до системы, назы ваемой "одноразовым заполнением" (Опе Time Ршl), которая является едиНСТ венной полностью безопасной криптосистемой. В полиалфавитном шифро вании существует проблема повторения ключа. В системе одноразовоrо заполнения каждое сообщение шифруется с ключом, который затем сбрасы- вается и никоrда не используется снова. Поэтому ключ используется только один раз, давая шифру ero название. Криптоrpамма зависит от сообщения и ключа, но так как ключ уникалеН для данной передачи и никоrда повторно Не используется, то Подслушивающий не имеет никакой возможности узнать ero и взломать шифр. Процесс кодирования может быть очень простым  нужно просто добавлять ключ к сообщению (рис. 3.8). Оffliпе-ключ, передаваемый с соблюдением секретности Одноразовый ключ Одноразовый ключ Входное ,сообщение Передача Выход Рис. 3.8. Система одноразовоrо шифрования Хотя этот метод выбрал бы любой уважающий себя шпион, трудность состоит в ТОМ, что ключ используется с такой же скоростью, как и сообщение, и не мо- жет reнерироваться любым предсказуемым способом (но есть возможность omzaдamb ключ). Проблема безопасной транспортировки зашифрованноrо со- общения заменяется проблемами транспортировки ключа эквивалентной дли- ны и reнерации TaKoro ключа. Эта система подходит для посылки относитель- но не60льшоrо количества очень высокозащищенных данных, в которой ключ можно надежно транспортировать только aвroHoMHo. 3.4.5. Кодировщики со сдвиrовым реrистром в разд. 6.4.3 будет рассмотрено использование перестаново1С в приложениях линейноrо кодирования, с помощью которых мы попытаемся разрушать длинные ряды нулей и единиц. Подобную методику можно применять и для шифрования, используя линейный сдвиzовый pezucmp с обратной связью (Linear Feedback Shift Register, LFSR), инициализируя ero некоторым значе- нием и затем добавляя ero вывод к сообщению. Аналоrичный LFSR-реrистр в приемнике будет возвращать биты к их первоначальной последовательности (рис. 3.9). т-каскадный реrистр сдвиrа в общем случае способен к созданию 
rлава з. с точки зрения защиты 57 неповторяющихся последовательностей длины до 2т  1, которые предполаrают хорошую защиту даже для относительно небольших значений т, но, к сожалению, система очень восприимчива к известному нападению с открытым текстом. Так как существует только m каскадов, то требуются лишь 2т разрядов в последовательности сдвиrовоrо реrистра для TOro, чтобы вычислить ответвления обратной связи и взломать код. Функция обратной связи Функция обратной связи Входное сообщение Выход Рис. 3.9. LFSRсистема шифрования в практических приложениях используются также нелuнейные сдвиrовые реrи стры с обратной связью, которые обладают устойчивостью против подобных нападений. Нелинейным элементом может быть Жтr>иrrер или мультиплексор. Можно также использовать и умножение, но проблема состоит в том, что оно является асимметричной операцией и дает О в трех случаях, а 1  только в oд ном (для 1 х 1). Это означает, что в выходной последовательности может быть слишком MHOro нулей и характеристики сообщения MOryr "yreкaTb" через нее. Начальную установку pemcтpa сдвиra можно использовать как ключ, но это из меняет только начальную точку в rенерируемой последовательности, делая pe mстры сдвиrа относительно неrибкими системами. Системы с реrистрами сдви ra просты в реализации, но реально подходят только для приложений с низкой степенью защиты. 3.4.6. Продукционные шифры Как перестановочные, так и трансформационные шифры имеют свои преиму щества. Поэтому безопасную криптосистему можно построить пyrем их объе динения. Продукционный шифр  это такой шифр, в котором объединены две или несколько криптоrрафических функции, выполняемых одна за дрyrой. Примером такой системы является шифровальная машина вoeHHoro времени "Enigma" (Заrадка), в которой ряд кодовых колес переставлял и преобразовы вал символы сообщения в кодовые символы. MHome коммерческие шифры основаны на принципе выполнения достаточноrо количества относительно простых перестановок и преобразований, формирующих безопасную систему. 
'fiВ Передача данных в сетях: инженерный подход Хорошим примером системы этоro типа является стандарт шифрования данных (Data Encryption Standard, DES), который использует последователь ность из 16 преобразований и перестановок. Он имеет 56разрядный ключ, который, хотя и восприимчив к нападениям "в лоб", но все еще очень попу лярен. Друrие примеры продукционных шифров коммерческоro использова ния  Вlowfish Брюса Шнейера, ТС4 Рональда Райвеста (соавтора криптоси стемы RSA) и IDEA (Internationa1 Data Encryption Algorithm)  международный алrоритм шифрования данных, который использует 128 разрядный ключ и ряд, состоящий из 8 преобразований и перестановок. Продукционные шифры обеспечивают очень хороший компромисс между защитой, сложностью и rенерациейlраспределением ключей. Они продолжа ют быть популярными и приняты Национальным институтом стандартов и технолоrий США (NIST, National Institute of Standards and Technology) для замены стандарта DES под названием Advanced Encryption Standard, AES (Расширенный стандарт шифрования). DES DES  это стандарт шифрования данных, созданный для американскоro пра вительства с целью использования в финансовых транзакциях. Он бьт разра ботан на базе криптосистемы Lucifer компании ШМ. DES  нелинейный алrо риrм. Эro означает, что невозможно формировать правильные сообщения простым дополнением зашифрованных текстов (шифроrрамм). DES включает только простые подстановки и дополнения, что делает ero идеальным для pea лизации на интеrpальцых схемах. Теперь дос'I)'ПНО MHoro соответствующих процессоров со скоростями обработки порядка меrабит в секунду. Дpyroe пре имущество  для дешифровки DES использует то же самое оборудование, что и для шифрования, только с секциями подключей в обратном порядке. . . Кроме шифрования передаваемых данных стандарт DES также используется для шифрования паролей в операционной системе UNIX и для проверки PIN кодов 2 на кэшкартах А ТМ. DЕSалrоритм состоит из 16 стандартных конструктивных блоков, которые переставляют и преобразуют 64раЗрядные входные блоки в 64разрядные выходные (рис. 3.10, а). Каждый стандартный конструктивный блок работает с отдельным 48разрядным ключом, который получается из первоначальноrо ключа. Ключ состоит из 64 разрядов, но 8 из них  разряды проверки на чет ность, так что фактически ключ имеет длину 56 разрядов. До подачи в пер вый стандартный конструктивный блок, 64разрядный ввод подверrается пе рестановке, а после прохождения через блоки  обратной перестановке. 2 PIN  сокращение от Personal Identification Number, личный Идентификационный номер (код) в различных электронных, в частности, банковских системах.  Пер. 
rлава з. с точки зрения защиты 59 Каждый стандартный конструктивный блок преобразует левую и правую части 64 разрядноrо входа в 64разрядный выход (рис. 3.10,6). Правая часть входа передается напрямую и принимает участие в формировании левой по ловины выхода. Правая часть выхода формируется с помощью нелинейной функции из левой и правой частей входа и ключа, предназначенноrо для дaH Horo KOHкpeтHoro блока. Функция / Стандартные конструктивные блоки 2 15 а б в F!ис. 3.10. DЕSшифрование Нелинейная функция детализирована на рис. 3.10, 8. 32разрядный правый блок входа расширяется до 48 битов путем двойноrо повторения половины ero разрядов и их перестановки. Затем к этому блоку добавляется специ фический 48разрядный ключ. Результат делится на восемь 6разрядных блоков. Каждый из этих блоков используется как адрес для массива, co стоящеrо из 8 Sэлементов. Каждый Sэлемент в этом массиве представля ет число от О до 15, так что выходом каждоrо s.элемеtпа является 4разрядное 
60 Передача данных в сетях: инженерный подход число, поэтому функции Sэлементов уменьшают выход до 32 разрядноrо чис ла. Функция Sэлемента нелинейна, т. е. F(A) + ЛВ) *- ЛА + В), а сами Sэлементы различны. Перед добавлением к левому 32разрядному блоку 32 разрядный выход Sэлементов снова подверrается перестановке и затем ис пользуется для формирования HOBoro 32разрядноro правоrо блока выхода. 16 секций подключей формируются из 56 значащих разрядов ключа (без уче та разрядов проверки на четность) пyrем их расщепления на две секции по 28 разрядов. Затем эти 28разрядные секции циклически сдвиrаются на один или два разряда и между каждым этапом каждые 48 разрядов соответствующеrо этапа извлекаются и переставляются, формируя подключи K)K)6' Если под ключи используются в прямом порядке (К), К 2 , К з ,..., К)6), то выполняется прямое шифрование. Если же они используются в обратном порядке (К) 6, K)s,..., К), то в результате происходит инверсия функции шифрования, т. е. зашифрованный блок преобразуется обратно в соответствующий блок сооб щения. Это означает, что для шифрования и дешифровки может использо аться одно и то же оборудование. DES очень популярен. Ero алrоритм опубликован, и машинный код ero pea лизации доступен для мноrих языков проrраммирования. Лучшей атакой на  б 2 56  Ф Hero остается полныи пере ор всех ключеи, впрочем, поскольку ШИ po вание дополнения сообщения с дополнением ключа дает дополнение полей шифроrраммы, мы можем обойтись лишь половиной числа переборов (255). для работы с DES требуются весьма мощные компьютеры. В течение ряда лет полный перебор в течение нескольких часов был возможен только для очень боrатых орrанизаций, но проrресс в изrотовлении микропроцессоров теперь вкладывает эти возможности в руки любой орrанизации, позволяя экономить десятки миллионов долларов на использовании чужих секретов. Двойная шиф ровка сообщений приводит к небольшому увеличению защиты изза возмож ности применения так называемоrо "встречающеrося посередине" (meet in the middle) нападения. Однако шифрование с одним ключом, дешифрование со вторым и повторное шифрование  с третьим, которое называется тройным DЕs..шифрованием, увеличивает число ключей, требующих проверки, прибли 2 80 зкreльно ДО , что снова можно считать безопасным. Расширенный стандарт шифрования (AES) Как отмечалось ранее. DЕSстандарту присуща повышенная сложность обра бtпывающеrо оборудования, что привело к практическим предложениям по ero пересмотру. После OТKpbIтoro приrлашения к разработке алrоритмов, на KOТO рое было получено 21 пред)южение от 11 стран, и двухлетней процедуры их оценки Национальный инcтmyr стандартов и технолоrий США (NIST) выбрал замену дЛЯ DES в форме РасширеННО20 стандарта шифрованuя (AES). Дпя Hero бьт принят шифр, строящийся по алrоритму Райндала (RUndael). Это сложный блочный продукционный шифр, который может быть эффективно 
rлаВ8 з. с точки зрения защиты 61 реализован. Шифр Райндала бьш разработан фламандскими исследователями Джоан Даймен (Joan Daemen) и Винсентом Райменом (Vincent Rijmen). В стандарте определяется три размера ключей: 128,192 и 256 разрядов. Также как DES, алrоритм состоит из нескольких раундов, точное число KOТO рых зависит от размера ключа, состоящих из перестановок и добавления под ключа. Хотя алrоритм Райндала может работать и на друrих размерах блоков, стандарт AES определяет размер блока, равным 128 разрядов. Этот блок раз бивается на 168разрядных байтов, размещаемых в массивах размером 4 строки х 4 столбца. Каждый раунд обработки состоит из четырех этапов: нелинейноrо преобразования Sэлемента, которое реализуется как отображе ние одноrо байта в друrой, перестановки строк, перемешивания столбцов и, наконец, добавления подключа текущеrо pYHдa. Одним из первых приложений AES будет шифрование информации, посылае мой в эфир, в новой системе мобильноrо радио 3ro поколения CDМA2000. 3.4.7. Поточные шифры В поточных шифрах имеется обратная связь от OТKpbIToro текста или, аналоrич но, от зашифрованноrо текста к ключу. Использование сообщения для формиро вания ключа таким способом называется автоключом (autokey) и было впервые пред)южено Виженером в 1568 roдy. Этот способ шифрования имеет преимуще- ство в части сокращения длины ключа, который Н)'ЖfЮ сохранять или транспор тировать, но есть в нем и очень существенный недостаток, состоящий в том что, если в посылаемом сообщении содержится какаянибудь ошибка, то эта ошибка будет размножаться. В блочном шифре каждый блок рассматривается отдельно, так что ошибки будут затраrивать только один блок. Система Виженера подобна полиалфавитной системе, которая теперь носит ero имя, но вместо повторения ключевоrо слова для определения алфавита (см. рис. 3.7), после начальноrо ключевоrо слова (в качестве KOToporo Виже нер использовал одиночный символ) используется сам текст сообщения (рис. 3.1 ]). Это позволяет избеrать повторений, которые ослабляют полиал фавитные системы, но если хотя бы один символ искажен, то, начиная от этой точки, расшифровка будет ошибочной. Рис. 3.11. Кодирование в автоключевой системе 8иженера 
62 Передача данных в сетях: инженерный подход Для TOrO чтобы дешифровать сообщение, приемник знает ключевое слово или символ (в примере, показанном на рис. 3.11, это один символ  "с"), что по зволяет расшифровать первый символ сообщения. Эro дает ключ Д)1я следую щеrо символа. и т. д. Шифрованию и расшифровке nOMoraeт таблица Виженера (рис 3.12). Шифром буквы в первой строке по алфавmy, заданному в первом столбце, является буква на пересечении этой строки и столбца. а Ь с d е f 9 h k m n о р q r s t u v w х у z Ь с d е 9 h j k I m n о р q r s u v w х у z а с d е 9 h j k I m n о р q r s u v w х у z а Ь d е f 9 h j k m n о р q r s t u v w х у z а Ь с е f 9 h j k I m n о р q r s u v w х у z а Ь с d f 9 h j k I m n о р q r s u v w х у z а Ь с d е 9 h j k I m n о р q r s u v w х у z а Ь с d е с h j k I m n о р q r s u v w х у z а Ь с d е 9 I j k I m n о р q r s u v w х у z а Ь с d е f 9 h j k I m n о р q r s u v w х у z а Ь с d е f 9 h k I m n о р q r s u v w х у z а Ь с d е 9 h j I m n о р q r s t u v w х у z а Ь с d е f 9 h j k m n о р q r s u v w х у z а Ь с d е f 9 h j k I n о р q r s u v w х у z а Ь с d е 9 h j k I m о р q r s u v w х у z а Ь с d е 9 h j k I m n р q r s t u v w х у z а Ь с d е f 9 h j k I m n о q r s u v w х у z а Ь с d е f 9 h j k I m n о р r s u v w х у z а Ь с d е 9 h j k I m n о р q . t u v w х у z а Ь с d е f 9 h j k I m n о р q r t u v w х у z а Ь с d е f 9 h j k I m n о р .q r s u v w х у z а Ь с d е f 9 h j k I m n о р q r s v w х у z а Ь с d е f 9 h j k I m n о р q r 5 t u w х у z а Ь с d е f 9 h j k I m n о р q r s u v х у z а Ь с d е f 9 h j k I m n о р q r s u v w у z а Ь с d е 9 h j k m n о р q r s u v w х z а Ь с d е 9 h k I m n о р q r s u v w х у Рис. 3.12. Таблица 8иженера Такая авто ключевая система не оrраничивается системой Виженера, ее мож но использовать и с друrими шифрами. Достаточно серьезной проблемой яв ляется распространение ошибок, но, чтобы оказывать влияние на текущее кодирование, можно использовать предыдущие сообщения, открытые или ......."L   __ - .-.... 
rлаВ8 з. с точки зрения защиты 6з закодированные. Это обеспечивает существенное преимущество, состоящее в том, что нарушаются взаимнооднозначные отношения между входными и выходными блоками, от которых страдают даже сложные блочные шиф ры. Например, если для защиты банковской системы используется DES шифрование, то MorYT существовать короткие сообщения (например, подтверждающие транзакции), которые являются одинаковыми во всех случаях. Подслушивающий может сформировать справочную таблицу шифроrрамм без необходимости фактической расшифровки сообщений. Чтобы предотвратить это, DЕSшифрование можно использовать в поточном режиме  этот очень популярный режим, называемый "сцеплением блоков шифра" (СВСоперация3) показан на рис. 3.13. Прежде чем шифровать сооб щение, к нему добавляется предыдущий блок шифроrраммы, а для первоrо блока используется некоторое начальное значение (НЗ) этой шифроrраммы. Существует, правда, еще и проблема с очень короткими сообщениями, KOТO рые все еще можно распознавать, так что НЗ часто делается зависящим от номера коммуникационной последовательности или от некоторой друrой пе ременной, известной обеим связывающимся сторонам. Начальное значение Начальное значение Передатчик Приемник Рис. 3.13. DЕSоперация сцепления блоков шифра J СВС  Cipher Block Chaining, сuепление блоков шифра.  Лер. 
64 Передача данных в сетях: инженерный подход 3.5. Криптосистемы с общим ключом 3.5.1. Проблема распределения ключей Серьезной проблемой является распределение и управление ключами. В крип тосистеме с частными ключами каждое коммуникационное звено требует отдельноrо ключа. Для двух пользователей требуется ТОЛько один ключ, но коrда к системе с п  1 уже существующими пользователями каждый раз дo баВJlЯется по одному пользователю, то требуется п  1 дополнительных клю чей. Эrо означает, что система с п пользователями требует 'L:1i различных ключей. Система, показанная на рис. 3.14, имеет 8 пользователей, так что для нее требуются 28 ключей. Криптосистема с общим ключом, как подсказывает название, имеет ключ, который является общим и поэтому доступным для всех сторон, которые же лают поддерживать связь. Эrо решает проблему распределения ключей  они MOryт быть опубликованы в чемто похожем на телефонную книry, Ha пример. Устраняется также потребность для поддерживающих связь сторон в заблаrовременном соrласовании ключей. Алиса может посылать зашифро ванное сообщение Бобу, даже если она никоrда не имела никакоrо предыду щеrо контакта с ним, что важно для таких приложений, как электронная TOp rовля, rде требуется безопасная связь с незнакомцами. а б Рис. 3.14. Ключи для системы с частными ключами (а) и системы с общим ключом (6) Однако опубликованный ключ вводит новую проблему. Раз сообщение бы ло зашифровано с ключом, то не должно быть возможности восстанавли 
rлаВ8 З. с точки зрения защиты 65 вать сообщение из закодированноrо текста даже со знанием ключа, KOTO рый, как сказано, является доступным каждому. Это требует введения KOH цепции односторонней функции, функции, которая не может быть (леrко) обратимой, но должна обладать некоторой "лазейкой", чтобы с помощью HeKoToporo ceKpeтHoro знания получатель Mor обращать процесс получения сообщения. На первый взrляд, это выrлядит так, как если бы система с общим ключом требовала ббльшеrо количества ключей, т. к. каждая дуrтексная связь Tpe бует двух ключей, по одному для каждоrо направления. Однако в системе с общим ключом, хотя имеется S6 коммуникационных связей, каждая связь с одним и тем же адресатом использует один и тот же ключ (общий ключ это ro адресата), так что фактически требуется только 8 ключей. Кроме Toro, каждая связывающаяся сторона должна хранить только один ключ  свой частный секретный ключ, вместо п  ] ключей в случае системы с частны ми ключами. Системы с общим ключом также называют асимметричными системами, по тому что процесс, используемый для декодирования, не является простым обращением процесса кодирования. В этом состоит их rлавное отличие от систем с частными ключами, которые называют симметричными системами, потому что функция дешифрования является обратной по отношению к функции шифрования (и наоборот). ..r;., 3.5.2. Односторонние функции Односторонняя (oneway) функция  это функция, которую просто вы- числять, но трудно обращать. Пример  умножение больших чисел. Мы можем вычислить без слишком больших трудностей произведение 8968] х 96 079 == 8 6]6460799, но обратный процесс  факторизация (разложение на множители) числа 8616460799 существенно труднее. В. С. Джевонс (W. S. Jevons), рассматривавший эту проблему в 1873 r., резю мировал, что "мы можем леrко... сделать некоторую вещь, но можем иметь MHoro неприятностей, если попытаемся разделить ее". Это наблюдение, KO торое имеет отношение не только к арифметике! В качестве операции факторизации для системы с общим ключом нам бы xo телось иметь такую функцию, которая при работе на сообщении т давала бы в результате криптоrpамму с, по которой практически невозможно раскрыть т. Друrими словами, мы должны быть способны леrко выполнять функцию f(m) == с (так, чтобы криптосистема оставалась реализуемой), но реализовать fl(C) == т было бы практически невозможно. Заметим, что обращение функ ции теоретически всеrда возможно (скажем, просто пyrем вычисления Лт) 
66 Передача данных в сетях инженерный подход для каждоrо возможноrо сообщения т до тех пор, пока результат не совпадет с с). Однако стоимость выполнения таких вычислений была бы значительно выше, чем значимость информации, которая моша быть получена таким спо- собом, или время, затраченное на это было бы так велико, что полученная информация оказалась бы устаревшей. Односторонние функции, используемые для криптоrрафических целей, должны обладать еще одним свойством  они должны иметь специальную "лазейку", т. е. способ, с помощью Koтoporo некто, обладающий специальным знанием, cMor бы восстановить т по с, затратив разумное количество усилий. Это секретное знание формирует частный ключ, который тайно хранится по- лучателем, позволяя ему расшифровывать сообщения. Система работает следующим образом. 1. Каждый пользователь имеет пару ключей К; и L;. 2. Сообщение т шифруется с помощью функции Е (т, К;) == с. 3. Выполняется дешифрация с помощью функции п(Е(т, К;}, L;} == т. 4. Е и D проектируются так, чтобы: . для заданных т и К; можно было леrко находить с == Е (т, К;); . для задаННоrо с было бы нереально найти т (то есть функция Е должна быть односторонней); . для заданныХ с и L; можно было леrко найти т (то есть функция Е должна иметь "лазейку", задаваемую параметром L;). Для использования в криптосистемах были предложены различные функции. r:J Ключевой обмен ДиффиХеллмана (DiffiHellman). Основан на трудно- сти вычисления дискретных лоrарифмов полей, которая возрастает по сравнению с вычислениями на основе степенных функций. Это не совсем шифр, но это первая опубликованная система с общим ключом. r:J RSA (криптосистема Райвеста, Шамира, Альдемана). Основана на трудности факторизации (разбиения на множители) произведения по сравнению с операцией умножения. Это наиболее популярная система с общим ключом, используемая, например, для почтовой проrраммы, реали- зующей протокол РОР (Post Office Protocol). Но в вычислительном отно- шении она довольно дороrая, и коммерческое ее использование в США подлежит патентованию. r:J Кnapsack. Методика с таким странным 4 названием основана на трудности разделения суммы на индивидуальные элементы по сравнению с добавле- . нием этих элементов в начало суммы. Было MHoro успешных атак на эту 4 "Кnapsack" (анzл.)  означает ранец. заплечный .мешок.  Пер. 
rлаВ8 з. с точки зрения защиты 67 систему и в результате она используется довольно редко. Однако, она Me нее сложна, чем RSA, и до появления более современных систем с эллип тическими кривыми ее считали системой, вполне оправдывающей свои обещания, т. е. обладающей низкой сложностью и относительной безопас ностью. CJ Эллиптические кривые. Эллиптические кривые  это специальные ли нии, определенные над первичным полем. Задав некоторую точку на этой линии, леrче вычислять и все друrие ее точки. Без rенерации всех возмож ных точек (что не практично, если поле достаточно велико) обращение операции довольно затруднительно. Эти схемы являются довольно MHoro обещающими, потому что кодирование и декодирование в них не оченьто сложное. Если не касаться защиты, то эта схема обладает всеми преиму ществами предыдущей. . CJ Коды с исправлеиием ошибок. Хотя код с исправлением ошибок (см. разд. 5.4) способен исправлять до (d  1 )/2 ошибок, но без набора декоди рующих правил единственный способ реализовать эту возможность co стоит в том, чтобы сравнивать полученный вектор с каждым кодовым сло вом И выбирать тот, который находится на расстоянии (d  1 )/2 от Hero. Для длинных кодов это практически невозможно. Поэтому можно сфо мировать криптосистему. использующую код с исправлением ошибок, выполняя перестановки rенерирующей матрицы. Исходный reHepaTop формирует частный ключ, позволяющий декояировать сообщения, а reHe ратор с перестановками используется в качестве общеrо ключа. Посылае- мые сообщения маскируются добавлением ошибок, которые подслуши вающий не может удалить, т. к. reHepaTop с перестановками не позволяет выполнить простое декодирование. 3.5.3. Ключевой обмен Диффи-Хеллмана Протокол обмена ключей ДиффиХеллмана в действительности не является обычной системой с общим ключом, т. к. передаваемый секрет случаен, но ero можно использовать для передачи информации, применяя общий секрет для шифрования передаваемых данных. Это была первая опубликованная система с общим ключом. В ней возникают трудности, связанные с вычисле ниями лоrарифмоn первичных полей, которые значительно выше, чем при вычислениях с помощью экспоненциальных функций. Протокол выполняет обмен секретом между двумя сторонами по опасному каналу, не требуя ни знания, ни даже существования этоrо секрета. Работает это следующим образом. 1. Алиса и Боб соrлашаются использовать reHepaтop g и простой модуль р. 2. Алиса rенерирует случайное число х. Это ее частный ключ. Она вычисля ет свой общий ключ Х, который равен Х == 1/ mod р. 
68 Передача данных в сетях: инженерный подход 3. Подобным же образом Боб rенерирует случайный частный ключ у и об щий ключ У == g mod р. 4. Алиса и Боб обмениваются их общими ключами Х и у. 5. Алиса принимает ключ У и использует свой частный ключ х для следую щеrо вычисления: Jf mod р == lt y mod р == k. 6. Боб также может вычислить k по ключу  который он принимает от Али сы, и своему частному ключу у, т. к. Jf mod р == lt y mod р == k. 5. И Алиса и Боб теперь знают k, но подслушивающий не может вычислять k по наблюдениям g, р,  и У. В качестве примера TaKoro обмена рассмотрим следующую процедуру. 1. Р == 11 и g == 2. 2. Алиса получает случайный х == 4, Боб выбирает у == 6. 3. Алиса вычисляет х== 24 mod 11 == 5. 4. Боб вычисляет У == 26 mod 11==9. 5. Алиса посылает Бобу число 5, а Боб посылает Алисе число 9. 6. Алиса вычисляет уХ mod 11 == 94 == 6561 == 5 mod 11. 7. Боб вычисляет ](у mod 11 == 56 == 15 625 == 5 mod 11. 8'. Поэтому k == 5. Обратите внимание, что общий секрет случаен, т. к. k == g"Y mod р , так что ero нельзя использовать, чтобы напрямую посылать информацию. Если Алиса и Боб не выбирают свои частные ключи чисто случайно, то это знание можно использовать для нападения на систему. Korдa Р и g опубликованы, то нападение на эту систему становтся эффек тивным с помощью задачи дискретноrо лоrарифмирования. Х == lt mod Р оз начает, что х == 10ggX mod Р. Поэтому Ева может находить k, вычисляя log Х У g mod Р. В вышеупомянyrом примере нахождение log25 mod 11 триви ально, но очень трудно, если Р велико. 3.5.4. Криптосистема RSA (Rivest, Shamir, Adleman) Схема RSA Райвеста, Шамира, Адлемана (Rivest, Shamir, Adleman) связана с oт носительной трудностью факrоризации чисел по сравнению с их умножением. Это одна из наиболее популярных систем, используемых, например, в PGP проrpамме S шифрования почты. Она запатентована в Соединенных Штатах. s PGP  Pretty Good Privacy. алroритм "надежной конфиденuиальности".  Лер. 
rлава з. с точки зрения защиты 69 Для rенерации ключа выбираются два больших простых случайных числа: р и q. Насколько больших  зависиr от приложения и соrлашения, но часто используются числа порядка сотни цифр. эти простые числа хранятся в секре- те, но их про изведение п == pq и случайное число е, простое по отношению к (р  1 )(q  1), публикуются и формируют общий ключ. Частный ключ d выбира ется таким, чтобы соблюдалось следующее равенство: de == 1 mod(p  l)(q  1). Обратите внимание, что т. к. р И q хранятся в секрете, то любой подслуши вающий не может вычислить d без факторизации п. Сообщение т шифруется с помощью следующею выражения с == те mod п, rде с  зашифрованное сообщение. Расшифровка же выполняется с помощью выражения т == c d mod п, результатЬм KOToporo является число т, т. е. исходное незашифрованное co общение. Факт, что расшифровка работает (то есть что (me)d mod п == т mod п) не оче виден, но зависит от Теоремы Эйлера, в которой утверждается, что аф(п) == (mod п) для относительно простых чисел а и п, таких что О < а < n. Здесь ф(п)  ф-функция Эйлера (тотиент), опреДi,Jlяемая как количество по ложительных целых чисел, меньших п, которые являются относительно про стыми для п. Если п  простое число, то ф(п) == п  1. Если же п  это произ ведение двух простых чисел р и q, как в нашем случае (то есть п == pq), то ф(п)==рql(рl)(q l)==pqpq+l ==(p l)(q 1), т. к. нет числа, меньшеrо, чем п, которое является множителем как числа р, . так и числа q. : Эrо rовориr о том, что de == 1 mod ф(п) по определению и, в свою очередь, означает, что de == iф(п) + 1 для некоторых i. Дешифрация приводиr к сле дующей цепочке вычислений: c d mod п == m ed mod n == тiф(п)+ 1 mod п == (m;1..п)im mod п == (1 im mod п == т mod п. В RSA используется потенцирование (возведение в степень), которое являет ся в вычислительном отнощении довольно интенсивной операцией. По этой причине некоторые схемы шифрования используют RSA, чтобы установить ключ сеанса связи, а затем применяют более быструю, но менее безопасную схему для фактической передачи данных. Очевидное нападение на эту систе му  это факторизация п на два множи теля р и q. Оно требует e  ln(п)ln(ln(п» операций, основанных на более доступ 
70 Передача данных в сетях: инженерный подход ных алrоритмах факторизации. В rоду содержится приблизительно 225 ce кунд, так что при использовании одноrо процессора, работающеrо со CKO ростью В один миллиард операций в секунду, потребуется приблизительно 241 лет, чтобы факторизовать lО24разрядный ключ (который используется в РGРалrоритме защиты почты). Это больше чем время существования Bce ленной со времени большоrо взрыва, и сравнимо примерно с rодом, KOTO рый потребовался бы, чтобы взломать защиту системы DES, использующей аналоrичные предположения. Для орrанизаций, подобных правительствен ным, способных вложить большие деньrи в решение этой проблемы, время взлома DЕSзащиты можно сократить Bcero лишь до нескольких часов, используя параллельно несколько компьютеров, но масштаб проблемы в случае RSАзащиты делает эту задачу вообще невыполнимой, если не ис пользовать иной подход. Друrое нападение моrло бы заключаться в том, чтобы найти такое число х, которое удовлетворяло бы уравнению х е mod п == с. Но это привело бы только к взлому (расшифровке) индивидуальноrо сообщения и не взламывало бы всю систему в целом, и, в любом случае проблема отrадки сообщений была бы столь же трудной, как и проблема факторизации. Однако эта превосходная защита может быть полностью подорвана неудач ным выбором ключей, и поскольку защита системы зависит от наличия больших простых чисел, то возникает проблема выбора таких чисел. Сущест вует несколько методик для нахождения подходящих больших чисел, но лю бu система, базирующаяся на RSA, должна иметь систему ЛОКШlЬНОЙ reHepa ции этих чисел для создания ключей, т. к. если простые числа передаются по линии связи или, еще хуже, берyrся из списка, то защита может быть серьез но скомпромernрована. 3.6. Идентификация 3.6.1. Введение Секретная передача информации  только часть проблемы. Важно также знать, что этой информации можно доверять, т. е. что она не подделана или не принята с ошибками, и что человек на друroм конце звена связи  тот, кто требуется, и может настаивать на сообщении, которое он послал. Таким образом, речь идет о трех дополнительных аспектах защиты  целостности сообщения, идентификации терминала и подписи сообщения. 3.6.2. Целостность Первая проблема  это получение информации, посылаемой из одноrо места в дрyrое в зашифрованной форме. Однако в кОммуникационной системе мы должны также быть уверены, что эта информация прибыла внеискаженном 
rлава з. с точки зрения защиТЫ 71 виде. Искажение может возникнуть изза блокирования нападающим линии связи, изза вмешательства или даже замены им сообщения или от обычных ошибок в канале связи. Простой способ обеспечить правильный прием  попросить, чтобы отправ ленное сообщение было послано обратно (рис 3.15, а). Однако работа с таки ми протоколами требует осторожности. Если речь идет о системе с частным ключом, то ключи, используемые Алисой и Бобом, будут одинаковыми, так что все, что Боб должен будет сделать, получив зашифрованное сообщ ние,  это послать ero назад Алисе, и оно будет таким же, как криптоrрамма. посланная от Алисы к Бобу. Если Еве вместо простоrо отвода от линии связи удастся включиться в разрыв этой линии, то она сможет, получив крипто- rpaMMY от Алисы, отправить ее назад (Алисе) без ее декодирования. Torдa Алиса будет думать, что именно Боб принял и понял ее сообщение, Torдa как фактически оно так никоrда до Hero и не доходило (рис 3.15, 6). Такой пере хват сообщения более труден, чем простой отвод в обычной цепи связни, но для пакетных систем, подобных Internet, rде сообщения посылаются от Ma шины к машине, сброс или подстановка сообщения выполняются тривиально при обращении к промежуточному компьютеру. Ева не может декодировать сообщение, но она может вводить в заблуждение Алису, заставляя ее думать, что сообщение получил Боб, коrда на самом деле этоrо не произошло. Если сообщение  это чтото вроде "заплатите 1 000000 $ по счету Х", то удале ние таких сообщений может очень дороrо стоить:.оо Апи.. &06 Апиоа Ева &015 ЗаuмфрованtЮe сообщение т пocыn..тси бобу Правильно принимает сообщение т и посыпает ero Аписе ЗаuмФРОВ8ННое сообщение т посылается бобу Прмнммается сообщение т, nOДТВВР*дВlOщее ycnеUliЫЙ Прием  сообщение т, подтверждающее успешныА прием П_реnатынвет 18UМфроВ8НН08 сообщение с м посылает ero обратно Аписе Боб НИЧеrо нв .анает, Ничеrо не ПриНИМ8еТ. НО не зная этorо. он теряет все с в б Рис. 3.15. Простой протокол передачи: в  успешный обмен; б  нападение на простой протокол с возвратом ложноrо подтверждения Единственный способ предотвратить это нападение состоит в том, чтобы за шифровать адрес и, таким образом, изменять возвращаемое сообщение. Oд нако здесь требуется осторожность. Если в качестве дополнения к сообще нию посылается зашифрованный адрес, то мы имеем с == е(т, k) + е(а, k). Теперь все, что должна делать Ева, это  прослушать несколько правильных сообщений между Алисой и Бобом, чтобы выяснить е(а, k), rде аА  адрес Алисы, а ан  адрес Боба. Коrда она хочет перехватить сообщение, она OT бирает из сообщения зашифрованный адрес е(аА, k) и заменяет ero на е(ая, k). 
72 Передача данных в сетях: инженерный подход Посылка в дополнение к адресу времени получения, например, не может по мочь, т. к. Ева может вычислить ею и повторно запустить часть подтвержде НИJI с подходящеrо момента времени. В худшем случае такой протокол обес печивает Еве возможность нападения на известный открытый текст, потому что она знает адрес в этом тексте и ею зашифрованную форму. Она может "спользовать это знание, чтобы попытаться вычислить ключ k. Этих нападений можно избежать, если вместо добавления адреса в конец co общения сделать сообщение функцией от посылаемой информации и адреса. Тоrда мы имеем с = е(f(т,а)k). Теперь, хотя Ева знает аА, и ав, она не может вычислить правильный ответ е(j{т,ав)k), чтобы обмануть Алису. На первый взrляд, системы с общим ключом в этом отношении лучше, чем симметричные шифры, т. к. зашифрованные сообщения от Алисы к Бобу, за кодированные с общим ключом Боба, отличаются от сообщений от Боба к Алисе, которые используют общий ключ Алисы. Однако слабая конструкция протокола в этом случае может привести к расшифровке сообщения Евой, а не просто к ero блокировке. Если Боб, со своей стороны, не знает адрес, откуда передает Алиса, все что Ева должна делать при передаче сообщения,  заменить свой адрес на адрес Алисы (рис. 3.16). Боб отвечает кодированием сообщения с общим ключом "Алиса", который фактически является ключом Евы, т. к. она поменяла aдpe са. Поскольку ответ кодируется с общим ключом Евы, она может декодиро вать ero и восстановить сообщение. Затем она заново кодирует сообщение с общим ключом Алисы и посылает ero так, чтобы Алиса и не подозревала о перехвате. Как в случае симметричною шифра, это нападение можно предот вратить, сделав сообщение функцией посылаемой информации и адреса, при чем так, чтобы адрес нельзя было извлечь отдельно. Алиса Ева Боб Зашифрованное сообщение т посылается Бобу Перехватывает С, заменяет адрес Алисы своим с = е(т, РЬ) Боб принимает т и отвечает, кодируя ответ с общим ключом Евы, думая, что это ключ Алисы Принимается сообщение т, подтверждающее успешный прием с = е(т, Ре) с = е(т, Ра) Декодирует т, повторно кодирует ero с Ра, чтобы поспать адрес Алисе Рис. 3.16. Нападение с подстановкой на схему с адресованным подтверждением 
rлава 3. С точки зрения защиты 73 Вместо посылки сообщения обратно к источнику, некоторые из этих проблем можно обойти, посылая обратно случайные (хеш) сообщения, h(m). Хеш ФУНКЦИЯ отображает входной набор символов на выходной набор фиксирован ной длины. ХешФункция должна быть достаточно простой для вычислений, но очень трудной или даже невозможной МЯ инвертирования, и такой, чтобы с BЫ сокой вероятностью выполнялось соотношение h(mJ) == h(m2) => т, == т2. Чем больше фиксированная длина выхода, тем выше эта вероятность, но тем больше информации должно быть послано. Этим требованиям удовлетворя ют односторонние функции, так что можно использовать общий ключ систе мы с общим ключом, но ero не очень просто вычислять. Однако никакоro ча CТHoro ключа не требуется. Так как Алиса знает сообщение т, она может кодировать ero, чтобы найти е(т, Ph) и сравнить ero с полученной хеш функцией. Коrда пер во на чальная криптоrрамма посылается Алисой, то для Евы атака тоже за-.туднена. Весьма популярны в качестве хешфункций cтaH дарты DES и МО5 , т. к. они вводят менее сложные вычисления, чем OДHO сторонние функции, используемые для общих ключей. 3.6.3. Идентификация В некоторых случаях более важным, чем передача собственно информации, является доверие к аутентичности (подлинности) поддерживающеrо связь терминала. Например, в мобильной телефонноi+, системе фактическая связь может не быть зашифрована (хотя часто именно-это и делается), но для сети важно знать, что связывающийся терминал уполномочен использовать сеть, и что это за терминал, так чтобы абоненту можно было выписать счет за вызов. Проблема сводится к следующему: Бобу нужно точно знать, что человек, с которым он разrоваривает, это  Алиса, а не Ева. Катеrоризированные идентификационные (опознавательные) системы амери KaHcKoro ФБР основаны на том, что человек знает (например, пароль), что он имеет (например, Юlюч), и что он собой представляет (например, отпечатки пальцев или образец сетчатки rлаза). Любая опознавательная схема должна быть основана по крайней мере на двух катеrориях  на соответствующей физической безопасности и все еще остающейся проблеме удшrенной связи. Система не может зависеть от Toro, что Алиса просто скажет: "Я Алиса", по тому что Ева способна сделать запись предыдущеrо опознавательноrо сеанса и воспроизвести это сообщение. Чтобы избежать подобной атаки, хороший опознавательный протокол должен включать вызов, за которым последует ответ, базирующийся на этом вызове, который доказывает, что парrnер по связи именно тот, кем он себя объявляет. 6 МО5  Меssзgе Digest 5, профилъ сообщения 5.  Пер. 
74 Передача данных в сетях: инженерный подход Основу для идентификации может обеспечить система с общим ключом. Только подлинные партнеры по связи будут знать их собственные частные ключи, и можно будет использовать этот факт, чтобы их опознавать (иденти фицировать). В системе с общим ключом, обозначив функцию шифрования как Е, а дешифрования  как D, получим D(E(m)) == т, т. е. дешифровка шифрованноro сообщения т приводит к исходному сообщению. Однако, ec ли начать преобразования с криптоrраммы, то можно получить выражение E(D(c}) = с, т. е. шифрование дешифровки криптоrраммы с дает исходную криптоrрамму. Boкpyr этих фактов можно построить протокол. Если Боб желает опознать Алису, то можно ПОС1Упить следующим образом. 1. r енерировать случайную криптоrрамму (с), т. е. сообщение с тем же алфавитом, как в зашифрованном сообщении. 2. Послать криптоrрамму Алисе для дешифровки. 3. Алиса дешифрует сообщение, используя свой частный ключ. Так как первоначальная криптоrрамма была случайна, то дешифрованное сообщение будет бессмысленно, но только тот, кто обладает частным ключом, может сrенерировать ero. 4. Алиса посылает дешифрованное сообщение (т) обратно Бобу, который затем зашифровывает это с общим ключом Алисы. 5. Если заново зашифрованное сообщение соответствует случайной криптоrрамме, которую Боб первоначально сrенерировал, т. е. если Е(т) == С, то Алиса должна иметь частный ключ и, если имеет, то поэтому действительно является Алисой. Если бы Ева претендовала быть Алисой, то ей пришлось бы быть способной к rенерации TaKoro сообщения т, чтобы выполнялось соотношение Е(т) = с, rде с  шифрованное сообщение, посланное Бобом. Это эквивалентно тому, что Ева может декодировать криптоrраммы и тем самым взламывать шифр. Однако требуется некоторая осторожность, чтобы rенерируемое Бобом co общение с было действительно случайным. Если бы это было не так, то Ева была бы способна подобрать подходящее значение т для специфическоrо значения С, используемоrо Бобом, вероятно просто наблюдая предыду щие попытки опознавания. Этим способом была взломана система CMapT карт оплаты телевидения, поскольку "случайный" вызов был фактически 8разрядным двоичным числом. Хакеры взломали э1)' систему, делая запись всех возможных опознавательных вызовов и ответов, даваемых подлинными картами, и затем проrраммируя точные копии карт со справочной таблицей правильных ответов без необходимости чтонибудь знать относительно дей ствий алrоритма. Это нападение было возможно, потому что подлинные Kap ты имели чрезвычайно оrpаниченную память и мощность обработки. 
rлава з. с точки зрения защиты 75 3.6.4. Цифровые подписи Алиса и Боб MOryт быть уверены в тождественности друr друrа, но это не то же самое, что доверие к их слову. Должна иметься возможность приписать определенные сообщения их создателю, чтобы друrие были способны прове рить ero ориrинал и чтобы создатель Mor держать свое слово так. как указано в ero документе. Это делается с помощью цифровых подписей, которые слу жат тем целям, что и их традиционные двойники, т. е. необходимо "подписывать" сообщение или квитанцию так. чтобы можно было доказать, что это сделал именно их создатель, т. е. в нашем случае  Алиса. Такое возможно в системе с частным ключом, если ключи хранятся у Алисы, Боба и в системном реестре. Боб будет принимать сообщения как подписан ные, если он может дешифровать ПОДПИGЬ с помощью cBoero ключа. Спор ную подпись может проверять системный реестр, а если он может также и дешифровать ее, то вынесет решение в пользу Боба. Однако это означает, что должен быть установлен центрШlЬНЫЙ реестр, и что системный реестр будет содержать некоторую информацию об Алисе и Бобе. Системы с общим ключом обеспечивают возможность обойти эту проблему, используя процесс, подобный процессу идентификации. В данном случае в качестве "случайной" криптоrраммы мы используем сообщение или случайно перемешанное сообщение. Алиса подписывает документ, используя свой ча стный ключ, чтобы "дешифровать" перемешанно сообщение. Это дешифро ванное сообщение и есть подпись. Затем Алиса посылает сообщение и под пись Бобу, шифруя все, что посылается, общим ключом Боба. Боб дешифрует сообщение своим частным ключом и проверяет подпись, зашифрованную общим ключом Алисы, на равенство случайно перемешанному сообщению. 3.7. Друrие криптоrрафические ПРОТОКОЛbl Кодирование и идентификация данных  два наиболее очевидных крипто rрафических приложения, но имеется множество друrих криптоrрафических функций, которые не попадают в эти катеroрии, но становятся все более важ ными в коммуникационных системах и не MOryт быть решены традиционны ми методами. 3.7.1. Удаленное бросание монеты Пример удаленноrо бросания монеты демонстрирует такой тип конструкции, который требуется ДЛЯ создания хороших протоколов. Рассмотрим следую щий сценарий: Алиса и Боб решают отпраздновать некоторую дату. Алиса хочет встретиться в ресторане, но Боб предпочел бы паб. При обсуждении вечерней проrpаммы по телефону Боб предлаrает бросить монету и приrла 
76 Передача данных в сетях: инженерный подход шает Алису назвать исход. Она rоворит "орел", после чеrо Боб сообщает, что, к сожалению, у монеты выпала "решка", так что они идут в паб. Может ли Алиса доверять Бобу? Фактически, даже если бы Боб сказал, что у монеты выпал "орел", как Алиса может узнать, был ли это правильный ответ или Боб просто проявил учтивость? Хороший протокол должен защитить как от лож ных проиrpышей, так и от ложных побед. Бросание монеты в традиционной манере работает потому, что сторона, бро сающ8Я MOHery, не может влиять на результат, зависящий от выбора, проrнозирующеrо результат партнера. Если Алиса называет результат, а Боб бросает MOHery, то требуется такой протокол, который вынуждает Алису вы- брать результат перед броском, а Боба  сохранять ее выбор до тех пор, пока бросок не будет выполнен. Однако Боб не может знать, какой результат вы- брала Алиса, до тех пор, пока не появится действительный результат броска, так что у Hero нет возможности обмануть ее. Подходящий протокол может быть основан на нахождении корней для полей простых чисел. Уравнение х 2 == а имеет два решения (корня) для любоrо положительноrо числа а, который является квадратом HeKoToporo числа. Например, если а равно 4, ТО х может быть равным 2 или 2. То же правило можно применить и для числовых полей, сравниваемых по простому модулю р. Например,  = 4 mод 5 также имеет два решения Х\ == 2 и Х2 == 3 (= 2 mод 5). (Обратите внимание, что а должно быть квадратом HeKoToporo числа в этом поле. Приведенный случай не имеет решения для а = 2 или 3). Если вместо простоrо модуля мы используем композицию, составленную из двух простых чисел, то получим 4 корня. Например, если р = 3 и q = 5, ТО'; mод 15 = 1 имеет решения 1,4, 11 (=  mод 15) и 14 (== 1 mод 15). Для мноrих простых р существуют методы вычисления корней по mод р, но для больших составных чисел их очень трудно выполнять. Однако если для со-- cтaBHoro числа п = pq мы знаем р и q, то мы можем вычислить корни п по корням р и q, вычисленным по mод р и mод q, соответственно. Протокол pa ботает следующим образом. 1. Алиса выбирает два больших простых числа р и q и посылает их произведение п = pq Бобу. 2. Боб случайным образом выбирает целое число u между 1 и п/2 включительно, и посылает ero квадрат Алисе. ЭтОТ квадрат имеет четыре корня, два из которых будут между) и п/2 (т. к. если х находится между 1 и п/2, ero отрицательное значение x не будет находиться в этом интервале, и наоборот). 3. Используя свои знания ори q, Алиса вычисляет четыре квадратных корня выражения z mod п. Обозначим корни этоrо выражения как :tx и :f:y. Она 
rлава з. с точки зрения защиты 77 выбирает два корня между 1 и п/2. Пусть это будyr х' и у. Пусть, кроме Toro, она знает, что u  ЭТО один из этих корней, но не знает  какой. 4. Алиса выбирает один из этих корней и посылает ero Бобу. Это делается путем определения тaKoro наименьшеrо i, для KOToporo iй разряд в числах х и у' различается, и в предположении, что iй разряд u есть О или 1. Заметим, что Алиса не посылает все число Бобу, т. к. если бы она выбрала ero неправильно, то Боб тоrда знал бы как и, который выбрал он, так и друrой корень, посланный Алисой, и Mor бы тоrда заявить, что Алиса выиrрала, коrда она на самом деле проиrрала. 5. Боб сообщает Алисе, является ли ее выбор правильным или нет, и посылает ее и, чтобы доказать это. 6. Алиса посылает р и q Бобу так, чтОбы он Mor найти друrие корни и проверить, что Алиса придерживалась соответствующей процедуры. Обратите внимание, что этот протокол совместно использует секрет, поэтому на каждом этапе ни одна сторона не имеет достаточных знаний, чтобы обманывать друryю. Так как существуют два решения для корня в правильном диапазоне, то Алиса не знает и, а знает только, что это может быть лишь одно число из двух возможных. Боб же не может обманывать Алису, заменяя одно решение друrим, после Toro как он получил название броска от Алисы, потому что он сам не знает друrоrо решения. Это потре бовало бы от Hero факторизации (разложения нi"множители) п, что он прак тически не может сделать. 3.7.2. Неосознанная передача Пример 50%ro шанса на успех, очевидноrо при удаленном бросании MOHe ты, можно использовать в протоколах для "неосознанной передачи". He осознанной называют такую передачу, при которой секрет совместно ис пользуется (скажем, Алисой с Бобом), но так, что она не знает (или не обращает внимания на то), получил ли Боб секрет или нет. Хотя это может казаться довольно бессмысленным в коммуникационной системе, сущест вуют случаи, коrда вы не хотели бы, чтобы "'владелец" секрета знал, полу чил ли ктонибудь доступ к этому секрету или нет. Примером может быть система rолосования, rде важно, чтобы избирательные бюллетени были проверены, но человек, опускающий их, остается анонимным. Система дей ствует следующим образом. 1. Алиса выбирает п == pq, rде р и q  это большие простые числа, и посылает п Бобу. 2. Боб выбирает х и посылает ero квадрат по mod п обратно Алисе. Заметим, что в отличие от бросания монеты, в данном случае это значение может 
18 Передача данных в сетях: инженерный подход не находиться в интервале между 1 и n12. В этой точке протокола Боб . знает два из четырех корней (х и x). 3. Алиса вычисляет корни полученноro значения (и и i:y) и посылает один из них Бобу. Так как Алиса не знает число, выбранное Бобом, то имеется 50%й шанс, что Алиса пошлет Бобу один из корней, который он уже имеет. Если Боб получа ет такой корень, то он не получает никакой информации и не владеет ceKpe ТОМ. Однако, если он получает друrой корень, то он может использовать эту информацию для факторизации п на множители р и q. .поэтому с вероятно стью  Боб получает секрет, но Алиса сама не знает, получил ли Боб ero или нет. Эrа базовая система может быть расширена на случай, коrда Алиса передает Бобу один из двух секретов, но не знает, какой из них Боб принял. На первый взrляд применение неосознанной передачи не кажется очевид ным, но на самом деле оно обеспечивает значительную степень ceKpeTHO сти для получателя информации. Нормальные передачи содержат все что уrодно, кроме частной информации, включая следы подтверждений, по которым наблюдатель может понять, кто, что и коrда узнавал. Однако cy ществуют обстоятельства, коrда требуется секретность, например, при электронном rолосовании. Можно расширить тип протоколов, продемон стрированных при обсуждении неосознанной передачи, чтобы позволить Бобу проводить 20лосованuе с Алисой, а Алисе  проверять правильность rолосования без знания Toro, как Боб подает свой rолос. Это существенно и для настоящеrо электронноrо rолосования, т. к. иначе правительство или орrанизаторы выборов знали бы, каким образом каждый индивидуум по дает свой rолос. Эroт Тип протоколов имеет также применение к системам электронных pac четов. Обычные наличные деньrи имеют следующие свойства. [] Защита от подделки. Выпускать банкноты не просто, поэтому и подде лывать их довольно трудно. [] Универсальная аКJ(редитацвя. Наличным деньrам доверяют все, потому чro они имеют поддержку банка, кроме тoro известно, чro их все принимают. [] Аноннмность. Владение наличными деньrами не связывает вас с KOH кретной транзакцией, и те, кто вовлечены в транзакцию, не должны знать друr друrа или доверять друr дрyry для про ведения транзакции. Верят в деньrи, а не в человека. Эrим же требованиям должна удовлетворять и электронная система, предна значенная для замены банкнот, а требование анонимности при водит к систе 
rлава 3. С точки зрения защиты 79 мам с неосознанной передачей. Однако мноrим правительствам хотелось бы, чтобы электронные выплаты были более прослеживаемыми, что позволило бы устранить возможность леrкоrо отмывания денеr. 3.8. Практическая защита в этой rлаве мы рассмотрели несколько способов построения криптоrрафи чески защищенных систем передачи, предназначенных для инженеров в сфе ре коммуникаций. За несколько прошедших лет в связи с разработкой xopo ших криптоrрафических алrоритмов, мы достиrли этапа, коrда имеется набор доступных для использования протоколов.с различными уровнями защиты. Инженер должен только видеть, что работа по проектированию ведется так, чтобы прежде Bcero обеспечивать корректные требования. Хорошая защита требует rлобальноrо подхода. Нет смысла в двойном запоре и креплении на болтах двери вашеrо дома только для Toro, чтобы оставить боковое окно открытым. Существует несколько факторов, которые непосред ственно не касаются коммуникационной системы, но являются существен ными для raрантии ее безопасности. 3.8.1. Какова необходимая степены-,защиты? Важный вопрос  какую степень защиты нужно обеспечивать? В настоя щее время можно использовать очень защищенные схемы, но коrда системы становятся более защищенными, растет и их сложность, увеличиваются объемы передаваемых данных и затраты на их обработку. Стоимость напа дения на систему также изменяется, поскольку чем более мощная обработка используется для атаки на код, тем быстрее может быть взломан алrоритм защиты. Между этими тремя факторами существует определенная связь: дополнительная передача и стоимость обработки имеют отношение к схеме защиты, к стоимости нападения на схему и стоимости самой информации (в терминах ее ценности для нападающеrо или потерь для владельца). Ha пример, для атаки на транзакцию кредитной карточки с лимитом в 1001 (фунтов стерлинrов) не стоило бы подключать большие обрабатывающие мощности, но для нападения на систему передачи международноrо банка, обрабатывающую сотни миллионов фунтов, стоило бы инвестировать в co ответствующие вычислительные мощности несколько миллионов фунтов. По этой причине одиночная DЕSзащита безопасна для первоrо случая, но недостаточна ДЛЯ последнеrо, хотя тройной DЕSзащиты было бы достаточ но. Однако для небольших устройств слишком сложна даже одиночная DЕSзащита. 
80 Передача данных в сетях: инженерный подход Данные с коротким сроком rодности не требуют сильной защиты. Например, система, затрачивающая около недели на декодирование, бьта бы совершенно не подходящей для посьтки данных о передвижениях на поле битвы, потому чro к тому времени, коrда нападающий декодирует данные, они больше не бу дет аК1)'альными. Однако пользователи должны знать это и использовать такие системы для более долrосрочных данных. Ценность данных не всеrда очевидна. Идентичность клиентов мобильноrо телефона можно рассматривать как нечто HaMHoro менее важное, чем данные, которые они передают, за исключением TOro случая, коrда их звонок из зарубежноrо rорода предупреждает нападающеrо о том, что дом клиентов пуст и ero можно поэтому безнаказанно оrpабить. 3.8.2. Проверка полномочий Обычно протоколы защиты стремятся требовать как можно меньше таких проверок от самих вступающих в связь сторон, даже в случае использования схем с идентификацией и подписью. Однако некоторая проверка требуется Bcerдa, даже если это только индивидуальный пользователь. Остереrайтесь необоснованных требований подобных проверок. Например, использование проrpаммы защиты, исходный код которой недоступен, означает орrаниза цию проверки полномочий авторов этоrо кода, для TOro чтобы (а)  знать их право, разработку и написание безопасных проrpамм и (б)  не обманывать их пользователей включением в проrpамму скрытых лазеек. Некоторые поль зователи думают, что система с опубликованным исходным кодом должна быть менее безопасна, чем та, исходный код которой не опубликован. Но в соответствии с предположением Керкхоффа нужно всеrда предполаrать, что подслушивающий имеет исходный код и код, опубликованный для крипто rpафическоrо сообщества, чтобы видеть пути обхода как ситуации (а), так и ситуации (б). 3.8.3. Аварийные ситуа ции в некотором смысле сообщение, не поддающееся дешифровке,  это то же самое, что аварийная ситуация. Хорошо спроектированная коммуникацион ная система будет справляться с такими ситуациями, но будьте осторожны, чтобы эти процедуры не обошли протоколы защиты. Например, популярная компьютерная операционная система имела хорошую защиту, но и большой недостаток, заключавшийся в том, что полная перезarpузка машины приводила ее к такому состоянию, коrда пользователь терминала Mor полу чить доступ К любому файлу и изменить ero. Ранние версии друrой операци 
rлаsа з. с точки зрения защиты 81 онной системы восстанавливались после "ошибки" отсyrствия файла пароля пyrем разрешения беспарольноrо доступа. ДОС1)'п разрешался с помощью заrpузки с системноrо диска и удаления файлов пароля. 3.8.4. Человеческий фактор Коммуникационная среда может быть опасна, но это "надежная" опас ность. Часто самым слабым звеном в цепи является человек. Люди MOryT обходить системы очень творчески или злонамеренно или просто от He достатка знания соответствующей системы. Еще один из самых общих и очевидных недостатков  это бедный выбор паролей или друrих ключей системы. Может показаться, что стремление сделать систему более слож ной, сделает ее и более безопасной, но это часто заставляет пользователей попытаться обмануть ее (чтобы сэкономить время или усилия), например, записывая ключи, которые должны запоминаться. И наконец, как бы ни была защищена система, в некоторой ее точке человек должен управлять ею или интерпретировать ее данные. Этот человек может быть подкуплен или принужден обойти защи1)'. 3.9. Вопросы к rлаве ..... 1. Используя перестановочный шифр с rлуБИI:IОЙ сетки 8, закодируйте сообщение: "Takeover announcement will ье made at пооп tomorrow" (Объявление о слиянии компаний будет сделано завтра утром). 2. Повторите кодирование, используя перестановочный шифр с ключевым сло вом "COLUМNAR" (которое используется для определения упорядочивания по столбцам). з. Используя шифр Цезаря со сдвиrом 4, закодируйте сообщение: "Now is the time for аll good men to соте to the aid of the part" (Для всех хороших людей настало время прийти на помощь партии). 4. Дешифруйте сообщение: KWWS:/ /ZZZ.DQtHQQDPRGHOV.FRPjVНFUHt/LQGHA.htPO. 5. Используя шифр Виженера и ключевое слово "hide", закодируйте "We must meet under the clock" (Мы должны встретиться под часами). 6. Используя поточный шифр и начальный ключ "D", закодируйте сообщение: "The documents will ье sent tomorrow" (Документы будyr посланы завтра.) 7. Какой битовый поток будет rенерировать LFSRреrистр, показанный на рис. 3 .17? 
82 Передача данных в сетях: инженерный подход Рис. 3.17. LFSRреrистр к вопросу 7 8. Для RSАсистемы с простым и р == 7 и q == 13 и ключом шифрования е == 5, найдите ответы на следующие вопросы: а) каково значение частноrо ключа d; б) используя данную систему, зашифруйте число 2 и проверьте, что можно дешифровать получившееся в результате кодовое слово об ратно в сообщение. Обратите внимание, что, если вы не используете компьютер, способный точ но выполнять операцию сравнения по модулю для очень больших чисел, то нужно будет использовать следующие факты: а х b(mod с) == (a(mod с» х (b(mod с» и а ЬС == аЬа С . 
I , rлава 4 ;/ /" 1./ . 'J.J. с точки зрения сетей А.1. Введение !до сих пор мы рассматривали коммуникационный процесс в терминах пря ",ОЙ связи между оmравителем и получателем. Хотя именно такое представ 'пение о системе имеется у пользователя и приложения, оно редко реализуется На практике. Рассмотрим структуру, показанную на рис. 4.1. Чтобы обеспе 'чить прямые соединения между всеми объектами, требуется большое количе Crвo отдельных коммуникационных линий. Даже для такой небольшой сис ,темы это неэффективно, а для больших структур, подобных телефонным сетям, совершенно неприемлемо. Рис. 4.1. Прямые соединения между всеми коммуникационными устройствами Вместо этоrо следует использовать сеть  объединение переключаемых KOM муникационных звеньев (communication links), обеспечивающих возможность соединения между терминалами (рис. 4.2). Термин звено (link) используется в 
84 Передача данных в сетях: инженерный подход сети, чтобы сослаться на коммуникационный пyrь между двумя объектами. Эrи объекты, которые MOryr быть терминалами или промежyroчными переКJIючa:re лями, называют узлами (nodes). Узлы, напрямую не соединенные с внешним ми ром, а соединенные только, например, с хостузлами (hosts) или терминальными узлами (tелniпаls), называют проме:жуточны.ми, или коммутационными. Сеть должна иметь следующие характеристики: (] задержки, т. е. время передачи и обработки должно сводиться к мини муму; (] ресурсы сети (ширина полосы) должны эффективно использоваться и ни какая часть сети не должна простаивать в течение длительноrо периода. (] стоимость установления, поддержания и функционирования сети должна сводиться к минимуму. '   . 4" .. л /У=Л Внутреннее соединение (звено)  t / I / _..  iI . ... Промежуточный , узел , П   Рис. 4.2. Простая сеть 4.2. Сетевые конфиrурации Самая простая сеть  это пара коммуникационных устройств, соединенных напрямую через некоторую передающую среду, например, в двухточечной' конфиryрации, показанной на рис. 4.3. I В ориmнале такую КОНфИl)'pаuия называют "pointtopoint"  J<онфиryрация типа "точка точка".  Пер. 
Fлава 4. С точки зрения сетей 85 Передающей средой может быть все что уroдно  от простой пары медных проводов до радиоканала или оптическоrо волокна. Можно вспомнить MHoro примеров, от простых до самых сложных, rде успешно используется такая .J<онфиryрация. Вот лишь некоторые из них: простой домашний дверной зво БОК, радиоканал "бэбимонитора", соединение по стандарту RS232 между персональным компьютером и принтером и т. п.   · t   Звено РИ,? 4.3. Одиночное двухточечное звено (звено "точкаточка") . f:Обычно В системе имеется больше двух устройств. При этом существуют две f-i i.80ЗМОЖНОСТИ: широковещательная и коммутируемая сети (рис. 4.4). Разделяемое звено     I" p а Коммутационный узел Звено  Звено I . . .  .... Звено"" ,JJ ,JB l" p РИС. 4.4. Широковещательные (а) и коммутируемые (6) сети 6 'в случае широковещательной сети каждый терминал разделяет (совместно использует) общую среду передачи. Это означает, что каждый терминал дол .?кен заботиться о том, чтобы использовать среду только тоrда, коrда друrие терминалы ее не используют, и поэтому в действительности он сам выполня ет свои переключения. Это подводит к концепции управления доступом к среде (передачи) (МАС, Media Access Control), cyrb которой состоит в том, чтобы на место каждоrо узла поместить некоторый механизм, реryлирующий Передачу ero данных по общей среде. Термин "широковещательный" означа 'ет, что, поскольку среда используется всеми терминалами совместно, то OT правляемые сообщения принимаются всеми терминалами. Каждый терминал исследует полученные сообщения и проверяет, кому они предназначены. В коммyrируемой сети каждый терминал имеет выделенное звено к узлу коммyrации, который и соединяет ero с терминалом, с которым он подцер живает связь или напрямую, или через друrие узлы. В отличие от широкове-- 
86 Передача данных в сетях: инженерный подход щательной сети, данные от узла коммутируемой сети принимаются только узлом на конце соответствующеrо канала, а не всеми остальными узлами. В такой сети требуется, чтобы узлы действовали как посредники и ретрансли ровали или коммутировали данные от друrих узлов, чтобы эти данные моrли бы достичь CBoero адресата. В таких сетях не явно выполняется функция Map шруmuзации. у д06но провести различие между сетями доступа (access networks) и базо вы.ми сетями (core networks). Базовая сеть  это сеть, соединяющая узлы коммутации. Сеть доступа  это часть сети, которая позволяет пользовате лям получить доступ К базовой сети, и поэтому она состоит из сети терми нальных узлов и узлов коммутации. Такое различие довольно произвольно, поскольку сеть доступа может содержать и узлы коммутации. Делается это лишь для удобства управления, хотя первичная цель Taкoro разделения co стоит в том, чтобы обеспечить доступ к системе. На рис. 4.2 (см. с. 84) звенья ceporo цвета образуют сеть доступа, а черноrо  базовую сеть. Термин база (core) подводит к концепции сети доступа, формирующей края сети. Можно также провести различие между узлами, расположенными внутри сети доступа, и узлами в базовой сети. Базовые узлы требуются для Toro, чтобы просто транспортировать информацию между друrими базовыми узлами и узлами доступа, тоrда как узлы в сети доступа вероятнее Bcero являются терминальными, и поэтому для них требуется прямое взаимо действие с источниками информации. Узлы доступа часто можно пред ставлять себе как 2енераторы, или пользователи информации, а не просто как ее носители; базовые же узлы выполняют только роль носителей ин формации. Хорошим примером подобноrо разделения является телефонная сеть. Ее уз лами являются коммутаторы. Соединения между коммутаторами называются ма2истралями, и на этих маrистралях выполняется большое числО вызовов. Сеть доступа формируется из большоrо количества индивидуальных або нентских линий, подходящих к локальным KOMмyraтopaM. Базовая сеть имеет множество промежуточных KOMмyraTOpOB, выполняющих переключения Me жду локальными коммутаторами. Базовые сети обычно являются коммутируемыми, т. к. В общем случае такие сети более эффективны. Сети доступа чаще Bcero являются широковеща тельными, потому что они очень просты в управлении. Добавление узлов к широковещательной сети не влияет на друrие узлы, так что терминальные узлы можно добавлять и удалять довольно леrко. Широковещательные сети оrpаничены в размерах изза наличия разделяемоrо всеми узлами звена, так что часто они формируются из нескольких чисто широковещательных секций с промежуточными переключателями. 
!Лава 4. С точки зрения сетей , 87 11.2.1. Сетевая тополоrия ,. : Род тополоzuей сети понимают способ соединения ее узлов. Имеется четыре рсновных сетевых тополоrии: сетка, звезда, кольцо и шина. !Сеточная тополоrия !Сеточная (или mesh) тополоrия  это такая тополоrия, в которой узлы сети рямую соединены друr с друrом. В полной сеточной тополоrии соединены e узлы. В частичной сеточной тополоrии некоторые звенья пропускаются, t,. , это означает, что некоторые узлы должны связываться через промежуточ }tые узлы (рис. 4.5). а 6 Рис. 4.5. Сети с полной (а) и частичной (б) о&точной тополоrией  полной сеточной тополоrии никакие переключения не используются, по r.  ;скольку каждыи узел имеет выделенные связи со всеми остальными, но при i этом мы возвращаемся к очень непрактичной ситуации (см. рис. 4.1): если чис 'JlО узлов возрастает, стоимость добавления новых узлов к сети растет по экс .'поненте, причем даже для небольших сетей. Существенным сдерживающим фактором для применения таких сетей является то, что при добавлении HOBOro узла каждый из остальных узлов должен быть изменен. Однако цеmpальная .базовая сеть некоторых крупных сетей иноrда строится как полная сетка. 'Частичная же сеточная тополоrия является практичной и наиболее общей ce тевой конфиryрацией. Узлы, которые имеют большой трафик, соединяются напрямую, в то время как остальные узлы соединяются через промежуточные узлы. 3вездообразнаятополоrия Тополоrия типа звезда  это простая тополоrия, в которой каждый узел co единен напрямую с общим центральным узлом (рис. 4.6, а). Этот централь ный узел и осуществляет связь между узлами. Центральный узел должен справляться с запросами всех узлов и, как следствие, он достаточно сложен и 
88 Передача данных в сетях: инженерный подход дороr. Существует также проблема надежности: если центральный узел вый дет из строя, то вместе с ним выйдет из строя и вся сеть. Для предотвращения таких СИ1)'аций нужно задать высокий уровень избыточности в центральном узле с помощью нескольких процессоров, переключателей и т. п., чтобы обеспечить необходимое дублирование любой отказывающей части системы. Примером сети со звездообразной тополоrией является учрежденческая АТС (рвх 2 ), разработанная для речевоrо обмена. Копьцеваятополоrия Кольцевая тополоrия, показанная на рис. 4.6, б,  это такое размещение уз лов, коrда все узлы сети соединяются друr с друroм двухточечными звеньями так, чтобы сформировать замкнyrый коюур. Информация пересылается от узла к узлу, пока не до,<тиrнет cBoero адресата. а б Рис. 4.6. Звездообразная (а) и кольцевая (6) тополоrии Кольцевая сеть  это попытка реализовать более распределенную сеть, по скольку rлавные мощности коммуникационной обработки больше не KOHцeH трируются в одном узле. Каждый узел имеет возможность принимать собст венные решения относительно сетевой передачи данных и друrие функции. Однако в некоторых кольцевых системах, таких как Кембриджское кольцо (Cambridge Riпg  кольцевая сеть Кембриджскоrо университета), распреде ленный характер сети уменьшен изза наличия общеrо узла, или cтaHции монитора (Мопitоr 8tаtiоп), которая иrpает центральную роль в функциони ровании сети. Эта станция контролирует сеть, собирает статистику ошибок, очищает испорченные пакеты и выполняет функции включения/выключения 2 РВХ  сокр. от Private Branch eXchange, телефонная система для частноro пользования.  Пер. 
fлава 4. С точки зрения сетей 89 сети. При сбое в этом узле работа сети, вероятно, серьезно нарушится. Друraя проблема в этой тополоrии  сохранение замкнутоrо контура кольца; если кольцо какимто образом разрывается, то сеть обычно полностью выходит из строя. UUиннаятополоrия Эта тополоrия  пример полностью распределенной сети. В сети, базирую щейся на шине, нет никакой центральной обработки, так что фактически cpe дой передачи является сама коммуникационная сеть. Каждый узел просто при соединяется напрямую к кабелю или шине, используя соответствующие интерфейсы и оборудование. К обоим концам шины присоединяются специ !-льные оконечные устройства, которые rюмоrает обеспечивать прав ильные передаточные характеристики шины. Это размещение может быть расширено, если использовать несколько взаи :.мосвязанных шин, чтобы сформировать то, что иноrда называют древовидной :сетью (рис. 4.7). Шина Узлы  Рис. 4.7. Шинная и древовидная сети в отличие от кольцевой тополоrии, в шинной и древовидной сетях нет требо вания замкнутости среды передачи. При этом, как и в случае кольцевой сети, все станции разделяют (совместно используют) общее звено передачи дaн ных, а это означает, что в каждый момент только одно устройство может пе редавать данные. Таким образом, требуется не который способ управления доступом, позволяющий определять, коrда станции MOryт передавать свои данные на шину. Наиболее общий метод доступа, используемый в шинных сетях,  это множественный доступ с контролем несущей u (необязатель но) обнаружением столкновений (CSMA/CD, Carrier Sense Multiple Ac cess/Collision Detection). Он используется в сетях типа Ethernet. 
90 Передача данных в сетях: инженерный подход 4.2.2. Связность Ключевой концепцией коммуникаций является так называемая связность (connectivity), которая определяет, насколько леrко добираться из одной точ ки сети в друryю. В общем случае существует несколько различных способов выполнить эту задачу. Выбор KOHKpeтнoro способа  это задача маршрути зации. Однако на более высоком уровне существует друrая проблема  Ha сколько хорошо различные части сети соединены друr С друrом, и какие в ней имеются маршруты. Существуют также проблемы надежности  если узел или звено отказывают, есть ли у сети возможность продолжать работу? Хотя для очень простых сетей, вероятно, можно установить их связность с по- мощью обследования, но в общем случае эта проблема roраздо сложнее. По этому мы можем воспользоваться математической концепцией, называемой теорией zрафов и представить сеть в виде набора узлов (nodes), объединенных связями (links), что эквивалентно математической концепции zрафа. Haпpaв ленные связи обеспечивают трафик (поток обмена информацией) в одном Ha правлении, тоrда как ненаправленные связи обеспечивают двухсторонний тpa фик. Узлы называют смежными, если имеются прямые связи между ними. Степенью (degree) узла называют количество связей, заканчивающихся на этом узле. Минимальная степень всей сети определяется минимальной степе нью любоrо из ее узлов. Реzyлярный zраф состоит из узлов одинаковой степе НИ. Примером реryлярноrо rpафа степени 2 является кольцо. Путь (path)  это последовательность узлов и связей, по которым проходит трафик от исходноrо узла А к узлу назначения В. Длиной пути называют KO личество связей в этом пути. Fеодезuческuм называют путь между узлами А и В с наименьшим количеством связей. Часто ero называют наuкратчайшuм путем, но это не совсем правильно. Диаметр rрафа (то есть всей сети) опре деляется величиной caMoro длинноro rеодезическоro пути. Пym с разделенными связями  это такие маршруты, которые не имеют об щих связей. Пути ABCDE и AFGHE первой сети на рис. 4.8, а имеют разде ленные связи, а маршруты ABCDE и АВС  нет. Во второй сети (рис. 4.8, б) разделенными связями обладают пути STUWX и SUX. Пym с разделенными узлами  это такие пути, у которых нет общих узлов. Пym AВCDE и AFGHE сети на рис. 4.8, а имеют разделенные узлы, а Map шруты STUWX и SUX сети на рис. 4.8, б  нет. Концепция разделенных путей важна при рассмотрении надежности сети. Два пути между узлами М и N в сети (рис. 4.8, в) разделены как по связям, так и по узлам, и если связь или узел в одном из соединяющих их маршрутов отказывают, то все еще существует доступный путь для передачи данных между этими двумя источниками. С друrой стороны, между узлами М и р существует два возможных пути, но они не разделены по связям и узлам, так 
[лава 4. С точки зрения сетей 91 ;ЧТО если узел N или О или связь Q откажут, то никакоrо альтернативноrо пу l-ти существовать не будет и соединение прервется. u G т а б в Рис. 4.8. Сети с разделенными связями и узлами Надежность сети (то есть ее способность противостоять отказу узла или свя аи) зависит от количества разделенных узлов или связей между узлами ис чника и адресата. Связность по звеньям (link connectivity) между двумя уз Лами определяется как минимальное число звеньев, которые должны быть [fдалены, чтобы отсоединить источник от адресата. ример, минимальное число связей, которые должны быть удалены дЛЯ OT :&>единения узла С от узла J в сети, показанной на,.рис. 4.9, равно 3. из рисунка ;Jsидно, что это значение можно определить, провоДя на rpафе отсекающие ли pnm (cs 1, cs2, ...). Минимальным является то отсечение, которое пересекает :caмoe малое число связей. Размер минимальноrо отсечения  это число разде- ',.1IeHHbIx пyreй между узлами С и J, что и определяет их связность по звеньям. :Различные пары узлов имеют разную связность по звеньям. Такая связность lЩя узлов А и L (рис 4.9), определяемая линией минимальноrо отсечения cs4, равна 2. Связность по звеньям всей сети  это минимальная связность всех Пар узлов. Аналоrично можно рассматривать связность по узлам (Пodе соппес vity) между каждой парой узлов и полную узловую связность всей сети, KO 'ioрая определяется как минимальная узловая связность в парах узлов. Связ НОСТИ по звеньям и узлам (Сп И Сд и минимальная степень сети (D) связаны OI'Ношением Сп < С, < D min . Друrими словами, связность по звеньям сети не может превышать ее минимальной степени, а связность по узлам не может быть больше, чем по звеньям. Поскольку степень связности определяет относительную устойчивость (robustness) сети, полезно уметь рассчитывать ее связность. Существует He сколько алrоритмов, которые отвечают на вопрос, имеет ли данная сеть связ НОСТЬ, равную т. Эти алrоритмы проверяют, имеет ли исследуемая сеть за данную связность, но не определяют вида этой связности. Однако для определения фактической связности их можно применять итерационно. 
92 Передача данных в сетях: инженерный подход сз5 сз2 Рис. 4.9. Различные отсечения на образце сети Приrодность используемоrо алrоритма будет зависеть от скорости достижения им соответствующеrо заключения, которая зависит от размеров се1И. Здесь мы рассмотрим два таких алrоритма  Клейтмана (Кleitman) и Ивена (Even). Алrоритм Клейтмана Алrоритм Клейтмана, проверяющий, имеет ли сеть узловую связность, paB ную по крайней мере m, формулируется следующим образом. 1. Выберите любой узел Nl. 2. Убедитесь, что узловая связность узла N\ со всеми друrими узлами равна по крайней мере т. 3. Удалите узел N. и все ero связи. 4. Выберите второй узел N 2 . 5. Убедитесь, что узел N 2 имеет m  1 соединений со всеми друrими узлами. 6. Удалите узел N 2 и все ero связи. 7. Выберите третий узел N 3 . 8. Убедитесь, что он имеет по крайней мере m  2 соединений со всеми друrими узлами. 9. Повторяйте процедуру, пока не доберетесь до узла т, т. е. выберите узел N m и убедитесь, что он соединен по крайней мере еще с одним узлом. 
aBa 4. С точки зрения сетей 93 ! сли про верки всех шаrов проходят удовлетворительно, то сеть имеет связ OCTЬ, равную, по крайней мере, т. Однако, если хотя бы в одной точке алrо итма про верка терпит неудачу, то связность не равна т.  качестве при мера рассмотрим следующую сеть (рис. 4.1 О). ВА: ВА, ВСА, ВЕР А ВС: ВС, ВАС, ВЕОС BD: ВСО, ВАРО, ВЕО ВЕ: ВЕ, ВАРЕ, ВСОЕ BF: ВАР, ВСОР,ВЕР . Рис. 4.10. Пример алrоритма Клейтмана  первый шаr Jlыберите любой узел, скажем, пусть это будет узел В, и убедитесь, что между fзnом В и всеми друrими узлами этой сети существует m == 3 пyrей с разделен .ыми узлами. "ак как это условие удовле1ВОРЯется, то удалиrе из сети узел В вместе с ero свя и. Выбериrе дрyrой узел, скажем, О, и у6едитесь, что между узлом D и всеми yrими узлами имеется m == 3  1 == 2 пyrи с разделенными узлами (рис. 4.11). DA: оеА, ОЕР А DC: ОС, ОР АС DE: ОЕ,ОРЕ DF: ОР, ОЕР . Рис. 4.11. Пример алrоритма Клейтмана  второй шаr ;Поскольку ЭТО условие удовлетворяется, то удалиrе из сети узел D вместе с ero 'СВязями. Выбериrе друrой узел, например, Р, и у6едитесь, что между узлом F .н всеми друrими узлами существует m == 3  2 == I пyrь (рис. 4.12). FA: РА FC: F АС FE: РЕ Рис. 4.12. Пример алrоритма Клейтмана  третий шаr Таким образом, связность равна по крайней мере 3. 
94 Передача данных в сетях: инженерный подход AnrоритМ Ивена Алrоритм Ивена, проверяющий, имеет ли сеть узловую связность, равную по крайней мере т, выполняется следующим образом. 1. Пронумеруйте узлы от 1 до N. 2. Сформируйте подмножество из узлов с номерами от 1 до т, rде т  искомая связность. 3. Проверьте, что каждый узел в этом подмножестве имеет по крайней мере т маршрyrов с разделенными узлами к каждому из друrих узлов в этом подмножестве. 4. Если предыдущий шar неуспешен, то связность  меньше т. Если усrtешен, то перейдите к следующему этапу. 5. Для каждоrо из оставшихся j узлов (т <== j < == N) сформируйте подмножество узлов (L), содержащее набор, заданный в шаrе ] (размера т), увеличенный на число узлов из множества J. 6. Добавьте к сети новый узел Х и соедините ero с каждым узлом множества L. Проверьте, что между узлом Х и каждым узлом j существует по крайней мере т маршрyrов с разделенными узлами. Затем добавьте к множеству L узел j, удаленный из множества J, и продолжите процедуру со следующим узломj. Если выполнение всех шаrов завершается успехом, сеть имеет связность по крайней мере равную т. Неудача в любом пункте алrоритма означает, что связность не обладает этим значением. В качестве примера выберите т == 3 узлам (В, Е и Р) и подтвердите, что в этом множестве между каждой парой узлов имеется т == 3 путей (рис. 4.13). ВЕ: ВЕ, ВАРЕ, BCDE BF: ВАР, BCDF, ВЕР EF: ЕР, EDF, EBAF Рис. 4.13. Пример алrоритма Ивена  первый шаr Добавьте к сети новый фиктивный узел Х и соедините ero с узлами В, Е и F. Выберите друrой узел  С, и подтвердите, что между С и новым узлом Х имеется т == 3 путей (рис. 4.14). 
(лава 4. С точки зрения сетей 95 СХ: СВХ, САРХ, CDEX Рис. 4.14. Пример алrоритма Ивена  второй шаr Подсоедините С к фиктивному узлу Х. Выберите друroй узел, А, и подтвер 'дите, что между А и новым узлом Х имеетя т == 3 пyreй (рис. 4.15). АХ: АВХ, АСХ, АРХ Рис. 4.15. Пример алrоритма Ивена ретий шаr Подсоедините А к фиктивному узлу Х. Выберите друrой узел  D и под 'ТВердите, что между D и новым узлом Х имеется т == 3 nyrей (рис. 4.16). DX: ОСХ, DFX, DEX Рис. 4.16. Пример алrоритма Ивена  четвертый шаr Таким образом, связность равна по крайней мере 3. 4.3. Размер сети В терминах размеров сети можно классифицировать на: [] rлобальные, W AN; 
>98 Передача данных в сетях: инженерный подход CI реrиональные (общеrородские), MAN; CI локальные, LAN. 4.3.1. rлобальные сети Fлобальная сеть (Wide Area Networks, W AN)  это сеть передачи данных, которая охватывает очень большую rеоrрафическую область (более 1 00 ки лометров). Такие сети обычно формировались из арендованных каналов KOM мyrируемой телефонной сети общеrо пользования (Public Switched Telephone Network, PSТN), но с недавнеrо времени отмена rосконтроля в индустрии Te лекоммуникаций привела к тому, что мноrие телекоммуникационные и cep висные компании установили высокоскоростные сети передачи данных об щенациональных или даже rлобальных масштабов. Самые высокоскоростные rлобальные сети работают на скоростях порядка 10 fбит/с. 4.3.2. Реrиональные сети Реzиональные сети (MetropoЦtan Area Networks, MAN) обслуживают то, что часто называют "зоной метро" и, по существу, обеспечивают передачу дaH ных для довольно ryстонаселенных реrионов типа rородов. Первоначально оrpаниченные зоны действия реrиональных сетей (порядка десятков кило метров) позволяли определять I! стандартах этих сетей более высокие CKOpO сти передачи данных, чем для rлобальных сетей, но современные W AN стандарты допускают столь же высокие скорости, как и в МАNстандартах, стирая различие между MAN и W АNсетями. 4.3.3. Локальные сети Локальная сеть (Local Area Networks, LAN)........ это система, которая имеет оrpаниченный rеоrрафический размер и соединяет множество отдельных BЫ числительных или иных устройств обработки данных (например, неречевых служб), находящихся внyrри HeKoToporo операционноrо узла. Она позволяет устройствам этоrо узла связываться с друrими устройствами Toro же caMoro узла. В общем случае в таких сетях MOryт поддерживаться самые разные службы и скорости передачи данных, а в отношении задержек и потерь они обладают относительно высокоэффективными характеристиками. Классификация сетей передачи данных по признаку принадлежности анало rична классификации по rеоrрафическому признаку. fлобальные сети, как правило, при надлежат сетевому провайдеру и пользователям сетевых плат ных услуr или через затраты, связанные с оплатой арендуемых каналов, или непосредственно, в зависимости от Toro, сколько времени они используют сеть (подобно повременному телефонному вызову). Хотя локальные вычис 
rлава 4. С точки зрения сетей 97 лительные сети и при надлежат пользователям, но они не несут никакой OT ветственности за их использование. fлавные затраты для их владельца свя заны с закупкой и установкой таких сетей. В этом отношении реrиональные и локальные вычислительные сети похожи друr на друrа, хотя в реrиональ ных сетях MOryT использоваться арендованные каналы на основе сетевых несущих частот. 4.4. Типы коммутации Существует два метода орrанизации сквозной связи через сеть  с coeди нением и без соединения. В первом случае между передатчиком и приемни ком устанавливается определенный марщрут передачи информации. Клас сическим примером сетей первоrо типа является телефонная сеть. Во втором случае информация упаковывается в объекты, называемые дейта 2раммами, которые MOryT прокладывать свой путь к приемнику через сеть без установки соединения. Наилучшей аналоrией для сетей TaKoro типа яв ляются почтовые службы. Различие между этими двумя типами коммутаций весьма условно. Можно реализовать связь, ориентированную на соединения, и в системе без соеди нений. Например, возвращаясь к почтовой аналоrии, если бы компания OT правляла ежедневно послания своим менеджера. по почте, то такое сквоз ное сообщение (компании с менеджером) было бы ориентировано на соединения, потому что в таком случае установился бы реrулярный KOMMY никационный путь. Фактическую транспортировку информации реализует почтовая служба без соединений более низкоrо уровня, которая не видна на более высоких уровнях. Именно эту систему использует один из наиболее распространенных сетевых протоколов  TCP/IP. ТСР  это протокол, , ориентированный на соединения, тоrда как IРпротокол на соединения не ориентирован. Традиционные сети связи были ориентированы на соединения, тоrда как сети ЭВМ работали без соединений. Ввиду TOro что межкомпьютерные связи op rанизуются по телекоммуникационным сетям, классический межкомпьютер ный IРпротокол часто выполняется на одно направленном канале, исполь зующем соединения, например, на канале с А ТМ (Asynchronus Transfer Моде, режим асинхронной передачи). это означает, что протоколы ТСРЛР, работая на прикладном уровне с А ТМ, используют режим с соединениями. Переходя на сетевой уровень, они переключаются в режим без соединений, а на Ka нальном уровне  снова переключаются в режим с соединениями. Это обу словлено тем, что на разных уровнях системы протоколов каждый подход имеет свои преимущества. 
98 Передача данных в сетях: инженерный подход Существует и друraя классификация коммyrационных систем  их разделя ют на системы с коммутацией каНШlO6 и с коммутацией пакетО6. Система с коммyraцией каналов эквивалентна системе с соединениями, в которой пере датчик соединен с приемником через физический канШl. Системы пакетной коммутации посылают данные в виде пакетО6. Если пакеты обрабатываются и направляются сетью их адресатам индивидуально, то они называются дeй mazpaммaмu, а сама система работает в режиме без соединений. Однако па кеты мотут быть и не индивидуальными, а формирующими лишь часть по следовательности. В этом случае из пакетов формируется так называемый виртуШlЬНЫЙ канШl. Классификация сетевых систем с различными режимами коммутации показана на рис. 4.17. с соединениями I Без соединений С коммутацией па кетов С коммутацией каналов С коммутацией ячеек С коммутацией сообщений Виртуальные каналы r с коммутацией Дейтаrpаммы Рис 4.17. Отношения между различными типами коммутационных сетевых систем 4.4.1. Коммутация каналов При коммутации каналов между сторонами устанавливается выделенный коммуникационный путь (path), проходящий через определенные узлы сети (рис. 4.18). В традиционных архитектурах с коммутацией каналов это соеди нение остается на одном и том же месте в течение Bcero вызова, хотя сущест вуют варианты этой методики, коrда такое условие не выполняется, напри мер, при так называемой быстрой коммутации кана'106. Преимуществом этоrо вида коммутации является то, что, как только вызов был установлен, пользователи соответствующеrо пути MOryт передавать ин формацию, независимо от наrpузки на сеть, и это соединение rарантируется в течение Bcero вызова. Задержки передачи через сеть остаются постоянными и обычно незначительными. rлавным компонентом задержки является время, требуемое для первоначальной установки пyrи через сеть. Величина этоrо времени зависит от конкретной сети и используемоrо пуrи. rлавный недостаток этой методики  ее неэффективность. Путь остается открытым в течение Bcero вызова, что чрезвычайно расточительно по OTHO lUению к пропускной способности канала. 
rлава 4. С точки зрения сетей 99  I ,  O  Рис. 4.18. Коммутация каналОВ 4.4.2. Коммутация пакетов в том случае, коrда нужно передавать только очень небольшое количество информации, установка канала для передачи данных оказывается чрезвычай но неэффективной. Лучший подход состоит в том, чтобы добавлять к данным .... адресную информацию и посылать их в отдельном блоке, известном под названием пакет (данных). Пакет передается соответствующему адресату через различные узлы сети. Преимуществом пакетной коммутации является то, что сеть используется только тоrда, коrда имеется информация для передачи, тоrда как при коммутации каналов линия устанавливается незави симо от Toro, имеется ли информационный поток в соответствующей точке в данный момент или нет. Это важно для некоторых служб, таких, например, как передача данных с пульсирующим трафиком. Основная форма пакета показана на рис. 4.19. В начало и конец па кета добав ляется служебная информация  заrоловок, содержащий информацию, KOTO рая идентифицирует источник и адресат пакета, а также биты синхронизации, которые указывают начало или конец пакета. Пакет передается через сеть поэтапно, сохраняясь в буфере, пока соответствующее звено пути не освобо дится. Дополнительная информация, присоединяемая к пакету для идентифи кации ero источника, адресата или ceтeBoro маршрута, относительно невели ка по сравнению с самим сообщением. Флажок Адрес Информация Флажок Рис. 4.19. Пакет данных 
100 Передача данных В сетях: инженерный подход Сушествует два специальных типа систем пакетной коммутации. В системе с коммутацией сообщений, схема которой показана на рис. 4.20, пакет включа ет все сообщение целиком. Системы с коммутацией сообщений часто назы вают системами хранения и отправки сообщений. Хотя коммутация сообще ний позволяет избежать разделения передаваемой информации на меньшие по размеру пакеты и последующую их сборку в приемнике, все же можно отметить несколько недостатков, связанных с использованием этоrо вида коммутации в коммуникационных сетях: а размеры сообщений изменяются от десятков байтов до десятков тысяч байтов, а аппаратное оборудование должно иметь возможность сохранять все сообщения. Очевидно, что это неэффективно и существенно удорожа ет сетевые ресурсы; а длинные сообщения приводят к недопустимым задержкам, которые MorYT также влиять и на задержки коротких сообщений.  @,I б.Ф..Ы / li  6 / ,   Рис. 4.20. Схема коммутации сообщений Второй специальный тип пакетной коммутации называется коммутацией ячеек (рис. 4.21). В системе коммутации ячеек все пакеты, которые называ ются здесь ячейками, имеют фиксированную длину. Такой формат позволяет уменьшить объем работ, который сетевые узлы должны выполнять над паке тами, сохранить сложность системы на достаточно низком, а скорость пере дачи  на довольно высоком уровне. Однако существует определенный KOM промисс, связанный с длиной ячеек. Короткие ячейки уменьшают задержку, потому что перед обработкой и отправкой каждая ячейка считывается узлом. Однако, если ячейка слишком мала, то служебная информация (заrоловки и окончания пакетов) будет составлять существенную часть потока данных, что неэффективно. С друrой стороны, более длинная ячейка будет увеличивать задержку, что приведет к трудностям с низкоскоростными службами переда чи данных, такими, например, как передача речи, поскольку мноrие из ячеек останутся неиспользованными, что снова приведет к неэффективности сис темы. В асинхронном режиме передачи (А ТМ) используется коммутация яче ек с 48байтовым полем информации и 56айтовым полем заrоловка. 
rлава 4. С точки зрения сетей 101 Чтобы уменьшить время обработки и размеры служебных заrоловков, систе мы с коммутацией ячеек используют виртуальные каналы, что позволяет за ранее устанавливать путь через каждый маршрутизатор. g   EJ   EJ Рис. 4.21. Схема коммутации ячеек Коммутация дейтаrрамм В системе, использующей дейтаrраммы, все пакеты рассматриваются и Ha .правляются через систему как отдельные объекты. Это означает, что пакеты от источника, предназначенные для одноrо и Toro же адресата, будут путеше ствовать по разным маршрутам и, возможно, прибудyr к адресату не в ИСХОk ной последовательности (рис. 4.22). .... Маршрут, по которому проходит пакет, будет в каждый конкретный момент зависеть от состояния сети. Восстановить правильную последовательность пакетов позволяет установка в заrоловке каждоrо пакета ero порядковО20 HO мера. Поскольку каждый пакет направляется через сеть независимо, то заrо ловок должен также содержать адреса источника и адрес пункта назначения, а также, возможно, информацию о маршруте.   /".l'-">., "'-,. /" . ,.> $ ('Ч'"  '< J [;дl --ц-..,...,....  Рис. 4.22. Схема потока данных, использующеrо коммутацию дейтаrрамм Виртуальные каналы Работа вuртуШlЬНЫХ каНШlов HeMHoro напоминает коммутацию каналов: пер вый пакет прокладывает путь между источником и пунктом назначения, и по 
102 Передача данных в сетях: инженерный подход этому пyrи следуют все последующие пакеты этоrо источника. Таким обра зом. пакеты не MOryr прибывать в пункт назначения не по порядку (рис. 4.23). Кроме TOro, это позволяет назначать ресурсы для информацион Horo потока на весь сеанс связи. потому что в узлах заранее известно, чеrо можно ожидать. Заroловок виртуальноrо канала в принципе проще. чем заrо ловок дейтarpаммы. потому что маршрут пакетов не изменяется. и не требу ется заново восстанавливать их последовательность. Виртуальный канал  это лоrический двухточечный путь между двумя OKO нечными станциями. Соответствующая служба обычно выполняется в три этапа: вызов (установка канала). передача данных и отмена вызова (или за крытие канала). Для установки виртуальноrо канала используются полные адреса источника и пункта назначения. Затем виртуальному каналу назнача ется номер вuртуалЬНО20 канала, который используется всеми последующи ми сообщениями. В установленном виртуальном канале обычно выполняется управление ошибками и потоком данных. :. А      Рис. 4.23. Схема потока данных в виртуальном канале Заrоловок виртуальноrо канала короче. чем заrоловок дейтarpаммы, что. в принципе, обеспечивает и более высокую эффективность передачи Задержки в системе с виртуальными каналами MOryт быть уменьшены. поскольку паке ты способны быстрее обрабатываться каждым узлом. а в пункте назначения не требуется заново восстанавливать их последовательность. Однако эти пре имущества сводятся на нет. т. к. коммуникационным службам леrче пересе кать сетевые rраницы. используя дейтаrраммы. а не виртуальные каналы. 4.5. Качество работы сетевых служб Цель коммуникационной системы СОСТОИТ в переносе информации между двумя или несколькими конечными точками сети ДJ1Я удовлетворения потребностей их ПОльзователей. Пользователь взаимодействует с приложением. находящимся на прикладном уровне. После тoro как данные бьmи обработаны тем или иным спо- собом, сеть взаимодействует с несколькими уровнями данных, расположенными 
rлава 4. С точки зрения сетей 103 ниже прикладноro уровня. Однако наиболее существенным процессом как в oт ношении изменения данных, так и в отношении восприятия пользователем этих данных, будет, вероятно, кодирование источника. Для ceтeBoro дизайнера такая работа обеспечивает целый ряд преимуществ. Что касается пРWlOжений или служб, работающих на прикладном уровне, то их задачей может быть передача речи, видеоклипов или файлов друrих типов, к сети же предъявляется требование просто передавать данные адресату в соответствии с некоторыми критериями качества. В стандарте IТU Т опред лено несколько криrериев качества обслуживания (Qua1ity of Service, QoS), которые разбиваются на две rруппы  критерии, связанные и не связанные с производительностью (эффективностью) соответствующих служб. 4.5.1. Пара метры качества обслуживания, не связанные с производительностью Параметры, не связанные с производительностью, напрямую не влияют на производительность коммуникационных служб, но имеют отношение к смежным с ней вопросам. а Уровень обслужнвання. Определяется степенью уверенности в том, что будyr достиmyты уровни обслуживания, соответствующие QoS критериям. Уровень обслуживания называК>I детерминированным, если rарантируется заданный QOSypoBeHb, пРО2Нозuруемым, если QOSYPoBeHb службы время от времени деrрадирует изза статистическоrо характера ce тевых коммуникаций или наWlУЧШUМ из возможных, если соответствую щая служба только получает сетевые ресурсы после Toro как были обслу жены друrие уровни, но ничеrо не rарантирует в отношении уровня QoS. (] Стоимость. Это плата за использование службы и получение соrласован Horo качества. а Прнорнтет. Определяет порядок работы служб  высокоприоритетные соединения обслуживаются раньше, чем низкоприоритетные. 4.5.2. Параметры качества обслуживания, связанные с производительностью Как в стаlЩартах lТU, так и в стандартах ISO определены параметры для прямо- ro измерения качества соединений. Терминолоrия этих стандартов слеrка разли чается, но в общем они эквивалеmны. В парах приведенных даЛее терминов первый используется в стандартах ISO, а второй  в стандартах lТU. LJ Задержка установкн соединення, средняя задержка доступа илн за держка установкн вызова. Задержка между вводом HOBoro запроса на вызов соединения и подтверждением, что соединение было установлено. 
104 Передача данных в сетях: инженерный подход . а Вероятность отказа прн установке соедииеиия, вероятность блоки- ровки. Вероятность Toro, что требуемое соединение не установлено (в пределах максимально допустимой задержки установки). а Пропускная способность. Максимальное количество данных, которые MOryт быть успешно переданы в единицу времени по соединению в непре рывном режиме. а Транзиmая задержка, задержка кадра. Количество времени между вы- дачей РDU-блока и ero получеиием. а Вариации задержкн, "дрожание" кадра. Расхождение между минималь- ной и максимальной транзитной или кадровой задержкой. а Скорость остаточных (не обнаруженны)) ошибок, скорость кадровых ошибок (Frame Епоr Rate, FER). Вероятность Toro, что кадр или РDUблок будет испорчен, потерян или дублирован в приемнике. LJ у стойчнвость, вероятность сброса соедннення. Вероятность Toro, что соединение будет сброшено или восстановлено в пределах указанноrо ин- тервала времени. а Задержка-в освобожден ни соединення. Задержка между выдачей конца запроса вызова и подтверждением освобождения соединения. Задержками установки и освобождения соединения управляют с помощью специальной сетевой сиrнализации и маршрyrизации. И хотя очевидно, что полезно минимизировать эти задержки, следует учитывать, что они случают- ся только один раз за соединение. Довольно серьезной является проблема доступности сети, которая связана с блокировками, препятствующими установке соединений, или сбросами, раз- рывающими уже существующие соединения. В общем случае сброс соедине- ний оказывается особенно нежелательным, т. к. предпочтительнее с caMoro начала блокировать соединение, а не прекращать ero, коrда оно уже функ- ционирует. Иноrда используемый термин уровень обслуживания (grade of service) указывает, в первую очередь, на доступность сети, т. е. на вероят- ность отказа в установке соединения, чем он отличается от термина качество обслуживания (quaJity of service), в котором речь идет о предоставлении фак- тическоro обслуживания. Тремя фундаментальными параметрами качества транспортировки данных являются задержка (delay), пропускная способность (throughput) и искаже- ния (сопuрtiоп), включающие ошибки и пропуски данных. Для первых двух параметров чаще Bcero используются такие характеристики, как изменчи- вость (variation) и среднее значение. Изменчивость пропускной способности 
rЛ8sа 4. С точки зрения сетей 105 обычно связывают со скоростью передачи, измеряемую в битах в секунду3. Изменчивость пропускной способности называют пульсацией (burstiness) и задают в терминах разности между средней и пиковой битовой скоростью. Требования к этим значениям часто определяется с помощью специальной службы. Вариации задержки называют дрожанием Gitter). 4.6. Пропускная способность сетей Определив требования к сети в терминах услyr, можно приступить к вычис лению ее пропускной способности. Подходы к вычислению пропускной спо собности сетей с коммутацией каналов и с коммутацией пакетов существенно различаются. 4.6.1. Пропускная способность сетей с коммутацией каналов в сетях с коммутацией каналов каждый терминал обеспечивается выделен ным сетевым каналом. Однако, в силу Toro, что было бы слишком дороro создавать сеть с полной сеточной тополоrией, межузловые соединения под держивают все терминалы сразу. Такой подход весьма удобен, поскольку большинство терминалов будут использоваться только в течение коротких --, периодов времени. Поэтому достаточную пропускную способность нужно ! обеспечить только в базовой части сети, учитывая максимальную ожидаемую наrpузку. Это особенно справедливо, коrда имеется большое количество Tep миналов, каждый из которых используется не очень часто, как, например, в телефонной системе. Сколько ресурсов потребуется, чтобы удовлетворить пользователей, и какова вероятность Toro, что пользователь обнаружит, что все ресурсы заняты? Мы предполаrаем, что пользователь, не найдя доступ ных ресурсов, не будет ждать и покинет систему. Именно так обстоят дела в коммуникационной системе, в которой ресурсами являются каналы. Если количество пользователей HeHaMHoro больше, чем количество каналов, то вероятность поступления вызова от HOBoro пользователя будет YMeHЬ шаться, коrда количество пользователей, которые в текущий момент уже Ha ходятся в сети, увеличивается. Однако, поскольку число пользователей дoc таточно велико, то мы можем предположить, что число пользователей, которые в текущий момент уже используют ресурсы, не влияет на вероят ность поступления вызова пользователя в систему, ожидающую канал. Пусть 3 В отечественной литературе анrлийское словосочетание "bit rate" вместо формальноrо перево да на русский язык (скорость в битах) часто называют более кратким словом "битрейт", KO пирующим анrлийское произношение этоrо словосочетания.  Пер. 
JE6 Передача данных в сетях: инженерный подход вероятность (частота) поступления вызовов будет равна А. В зависимости от числа используемых каналов, система может быть в нескольких состояниях. Если имеется п каналов, то существует п + 1 состояний (единица добавляется потому, что существует также и возможность тoro, что никакие каналы не используются). Обозначим эти состояния как Ео, E 1 , ..., Е п , и пусть вероят нОСТЬ состояния i будет Р;. Это означает, что доля времени, коrда система находится в состоянии Е;, равна Р;, так что вероятность получения вызова и перехода в состояние Е;+\ равна АР;, исключая случай i == п, коrда вероятность равна О (так как каналов больше нет). ВероЯТНОСТЬ завершения вызова в состоянии Е; зависит от продолжительн<r сти вызовов. Пусть средняя продолжительность вызова, называемая средним временем удержания вызова, равна Т. Это означает, что вероятность Toro, что вызов будет оставаться в индивидуальном канале, равна 1/т, так что если имеется i вызовов, то вероятность пребывания любоrо из них в этом канале равна ilT. Следовательно, вероятность пребывания вызова в канале и перехо i+l да в состояние Е; равна  +I . Эта ситуация показана на рис. 4.24. т В предположении, что система является устойчивой (какими и должны быть все практически е системы), вероятности перехода в состояние и пребыва ния в этом состоянии должны быть равны. Что дает нам следующее Bыpa жение i+l A =+I t !.J. т 2Р 2 Т Vi Е {О, ...,п 1}. iP .........!.. Т ЛРп---1 ]J пР .........!!. т Рис. 4.24. Различные состояния вызовов Мы можем выразить каждую из этих вероятностей через РО следующим об разом р. == (АТ); р, о , ., 1. Vi Е {О,...,п} (4.1) 
rлава 4. С точки зрения сетей 107 Однако система всеrда должна быть в одном из состояний, поэтому L:o.P; = 1. Использование этоrо равенства позволяет решить уравнение (4.1) относительно Р о , что дает ( n (.А:ЕУ ) I р. = "' О L..J ., i=O 1. (4.2) Подстановка (4.2) в (4.1) дает долю времени, в течение KOTOpOro система бу дет в состоянии занятости j вызовами. р. = t i!(A.Ti 1 ;=0 j!(A.T)' (4.3) Различие интервалов времени, которые система про водит в каждом состоя нии, зависит скорее от произведения Л:t, чем от любой из этих величин в OT дельности. Про изведение частоты поступления вызовов и времени удержа пия вызова дает среднюю наrрузку на систему. Это количество называется nредла2аемой на2РУЗКОЙ (offered load) и обозначается символом А. После Toro как А. К. Эрланr (А. К. Еrlапg) опубликовал зry формулу в 1917 rоду, предлarаемая нarрузка измеряется в эрлаН2ах. Эрланrи обычно измеряют в вызовах. Orметим также, что поступающие за просы принято измерять количеством вызовов в час, причем измерения обычно про водятся на основе часа максимальной наrpузки, т. е. часа с MaK симальным количеством вызовов в течение дня. Если подставить А::::: лt в выражение (4.3) и установитьj::::: п, то мы получим формулу потерь Эрланrа Е(А,п) = :t i!A n . . (4.4) i=O п!А 1 Формула потерь Эрланrа определяет ту долю времени работы системы, коrда она будет полностью занята обработкой уже имеющихся вызовов, и поэтому любой поступающий вызов будет блокирован. В основе этой формулы лежит следующее предположение  вероятность поступления вызова не зависит от числа вызовов, уже находящихся в системе, поэтому формула Эрланrа по существу вычисляет вероятность блокировки системы. Величина этой Bepo ятности обычно невелика, возможно, Bcero несколько процентов. Формулу (4.4) часто называют Вформулой Эрланrа, rде В происходит от анrл. Blocked  блокированный. (Имеется и Сформула Эрланrа, которая OXBaты Бает тот случай, коrда вызовы, поступающие в заполненную систему, ставят ся в очередь.) 
108 Передача данных в сетях: инженерный подход Предыдущее обсуждение предполаraет, что любой входной канал KOMMyтa тора допустимо соединять с любым свободным выходным каналом этоrо же коммутатора. Такую систему можно леrко орrанизовать с помощью устрой ства, называемоrо матричным (или координатным) коммутатором, в кото-- ром каждая входная линия через подходящие соединители может быть со-- единена с любой выходной линией. Так как большая часть внутренних соединений не будет использоваться, то количество оборудования в такой системе можно уменьшить за счет введения мноrоступенчатых устройств. Они работают аналоrично двум коммутаторам с промежyrочной маrистра лью, но MOryт привести к блокировкам в коммутаторе. Поскольку в современных телефонных станциях все данные  цифровые, то можно избрать иной подход, использующий переЮlючение с разделением вреМени. Каждая цифровая линия в таком коммутаторе соединяется с общей шиной через переключатель. Линия буферизирована, так что данные можно считывать и выводить с разными скоростями. Для переключения двух линий обе они присоединяются к общей шине, следовательно данные можно пере мещать между их буферами. При этом данные движутся с высокой CKOpO стью, И В распоряжении переключателя оказывается большое количество oт дельных временных интервалов, каждый из которых можно использовать для пересылки данных между парой линий. Если данные поступают в переключа тель в восемь раз быстрее, чем может получать и отправлять любая из ero линий, то Д)Iя передачи этих данных он может соединить любые восемь пар своих линий. Блокировки можно предотвратить, если сделать коммутатор достаточно быстродействующим. Однако, чем быстрее работает коммутатор, тем дороже обходится ero построение. На рис. 4.25 показаны различные Ba рианты архитектуры коммутаторов.         ---о а б в Рис. 4.25. Различная архитектура коммутаторов: а  матричный коммутатор; б  мноrоступенчатый коммутатор; в  коммутатор с временным разделением, использующий шину 
[лава 4. С точки зрения сетей 109 Возможно разделение (совместное использование) подключений к сети He сколькими терминалами. Для этоro требуется, чтобы коммутатор подключал ( каналу только один из терминалов и отсоединял друrие. В качестве просто o примера можно привести телефонный коммутатор, rде все телефоны раз rжеляют одну и ту же линию, причем в любой момент времени функционирует юлько один вызов. Аналоrично устроена линия коллективноrо пользования между несколькими абонентами. Несколько сложнее система автоматическо ro переключения телефона/факса и, возможно, компьютера, которая aBTOMa rически отвечает на поступающий вызов нужноro устройства в зависимости от Toro, слышит ли она вызов факса или тон модема, и соединяется с телефо ном или автоответчиком, если ни один их ЭТИХ вызовов не слышен. Такие системы работают весьма эффективно для roлосовых или факсовых вызовов, поскольку эти вызовы обычно довольно' короткие. Однако, этоrо нельзя CKa зать о вызовах для данных (т. е. от компьютерных модемов), которые MOryт привести к семейной дисrармонии И созданию хорошеro рынка для телефон НbIX компаний, ПрОКЛадывающих вторые домашние линии. Так как телефон Ная линия физически способна обеспечить трафик для нескольких вызовов, то существует еще одна возможность  преобразовывать сиrналы двух BЫ зовов В цифровую форму и посылать по той же линии. Этот подход принят в цифровой сети с интеrpацией служб (ISDN), но для получения обычноrо aHa лоrовоro телефонноrо сиrнала и преобразования ero в цифровую форму он требует более дороroro телефонноrо или КОlЦeртирующеrо оборудования (оборудование коммутатора не требует изменений, так как оно уже цифро вое.) Более простое решение состоит в том, чтобы обеспечить вторую анало rовую линию. Так как телефонный кабель обычно снабжается двумя парами проводов, то часто требуется просто присоединить вторую пару. 4.6.2. Пропускная способность систем с коммутацией пакетов Поток обмена (трафик) данных по своей природе неравномерен. Он состоит из относительно коротких вспышек активности, сопровождаемых более длинными неактивными периодами, что контрастирует с речевым трафиком, в котором обмен информацией после установки вызова представляет собой непрерывный поток данных, распространяющихся с одинаковой скоростью. В результате трафик данных не столь идеально подходит для передачи по выделенному фиксированному каналу, как в случае коммутации каналов, и выделенный канал используется неэффективно. Лучший подход, возможно, состоит в том, чтобы объединить всю наrpузку индивидуальных каналов и совместно использовать ее всеми пользователями. Пики и спады наrрузки индивидуальных каналов MOIyr "rасить" друr друrа, 
110 Передача данных в сетях: инженерный подход так что исходную ширину полосы пропускания можно свободно использо вать для поддержки дополнительных вызовов. Статистическое МУЛЬТИIUIексирование приводит к более эффективному исполь зеванию системных ресурсов, но им нужно пользоваться с осторожностью. Ключевой вопрос состоиr в том, сколько каналов нужно МУЛЬТИIUIексировать дpyr с дрyrом. Если слишком мало, то увеличение ширины полосы пропускания может оказаться не60льшим, если слишком MHoro, то ширина полосы может оказаться недостаточной, что приведет к увеличению задерЖКИ или потерь. В [ [K:M: oo:ы ::a:; о с "., А -, ,\ r ..!' ., \ Выделенные каналы Мультиплексированный канал Рис. 4.26. Статистическое мультиплексирование Используя процедуры мультиплексирования, можно независимо передавать несколько отдельных потоков даиных по одной и той же физической среде. для выполнения МУЛЬТИIUIексирования можно использовать физические свойства среды. Как это делать на физическом уровне, описывается в разд. 6.5. В частности, эry форму мультиплексирования используют COBpe менные оптические и радиосети. На сетевом уровне имеется режим мультиплексирования с разделением вpe мени 4 (Time Division Multiplexing, TDM ). Это просто распределение времени работы звена передачи между различиыми службами или пользователями. В таком режиме работает, например, пакетная система acUHxpOHHOZO мультип лексирования с разделением времени (Asynchronous Time Division multiplexing, ATD). Существует друrой тип TDM  синхронное мультиплек сирование с разделением времени (Synchronous Time Division multiplexing, STD), которое можно использовать для реализации систем с коммyrацией каналов. В системах синхронноrо тм для передачи данных используются специальные передающие кадры (transmission frames), каждый из которых содержит некоторое количество интервалов времени фиксированной длины. 4 Эroт режим иноrда называют режимом временною Уl/ЛотненUR.  Пер. 
rлвsа 4. С точки зрения сетей 111 Эти интервалы распределяются между пользователями. В течение выделен Horo ему времени пользователь может посылать или принимать информаци онные элементы, а позиция интервала в передающем кадре определяет канал (пользователя). Режим называется синхронным, потому что при передаче кaд ра каждый ero временной интервал всеrда прибывает в пункт назначения в один и тот же MOMeнr времени, начиная от начала кадра (рис. 4.27). M'n.  Рис. 4.27. Синхронное мультиплексирование с разделением времени Определение пропускной способности системы с пакепюй коммутацией, KO торая использует синхронное мультиплексирование с разделением времени, похоже на случай с коммутацией каналов. Каждый временной интервал MO жет обслуживать только одну передачу, образуя таким образом виртуальный канал. Поэтому номер канала совпадает с номером BpeMeHHoro интервала. Ситуация осложняется тем, что не все временные интервалы должны быть одинаковоrо размера. Эти размеры можно устанавливать так, чтобы они были соrласованы с требованиями данных соответсТВУЮl!{еrо виртуальноrо канала. Однако, хотя количество каналов может при этом изменяться, к ним приме няется один и тот же базовый подход. В асинхронной системе разделения времени нет распределения временных интервалов для каждоrо маршрута передачи. Вместо этоrо пакеты, посту пающие в мультиплексор, пересылаются как можно скорее. Пакеты, ожи дающие передачи, хранятся в очереди. Коrда наrрузка на систему возрастает, все большее количество временных пакетов будет ожидать передачу в этой очереди. Поэтому пропускная способность системы будет диктоваться MaK симальным количеством пользователей, желающих ждать (рис. 4.28). Это  "мяrкое" оrраничение, т. к. пропускная способность не оrраничена опреде ленным значением. Системы с коммутацией каналов имеют "жесткое" orpa ничение количеством доступных каналов. )шIIIc Очередь МУЛЬТММ8КСОР Рис. 4.28. Асинхронное мультиплексирование с разделением времени 
112 Передача данных в сетях: инженерный подход Очередь, определяемая четырьмя параметрами, обычно обозначается как А/В/а/Ь, rде А  распределение поступивших элементов, В  распределение обслуженных (то есть оmравленных) элементов, а  количество серверов и Ь  максимальное количество элементов, которые MOryr присутствовать в очереди (необязательный параметр). В простейшем случае можно считать, что коммуникационная система имеет случайные поступления. Такое распре деление обычно представляется показательным распределением или распре делением без па.:14яти и обозначается как М. Среди друrих распределений по ступающих пакетов известны, например, такие, как детерминированное (D) или распределение Эрланrа (Е). Если пакеты имеют переменный размер, то обслуживающее распределение также будет распределением без памяти. Для простоты предположим, что очередь имеет бесконечный размер, так что па кетыI никоrда не будут теряться от столкновения с до конца заполненной оче редью. Так как есть Bcero один коммуникационный путь от мультиплексора и один сервер, то в результате мы имеем очередь, обозначаемую как М/ M/l. Чтобы найти время, необходимое пакету для прохода через мультиплексор, мы начнем с диаrраммы перехода состояний, показанной на рис. 4.29. Ан А; 1=[ .  I 2 ; ;+I Рис. 4.29. Диаrрамма перехода состояний для очереди M/M/I Как и в случае обсуждения формулы Эрланrа в разд. 4.6.1, можно предпола raТb, что система устойчива, так что вероятность перехода в некоторое co стояние снова должна быть равна вероятности выхода из этоrо состояния, т. е. А;Р; == J.!i+IPi+1 В отличие от случая обсуждения эрланrа (как единицы измерения сетевой Ha rpузки), коrда каждый вызов имел свой собственный канал, здесь имеется только один сервер, так что скорость отправки пакетов и будет постоянной и не будет зависеть от состояния системы. Предположим также, что входное распределение является распределением без памяти, так что скорость поступления пакетов Jl тоже будет постоянной и не будет зависеть от состояния системы. Поэтому, л ( л ) 2 Ар; == J..IPt<-I, Аро == J..IPI, И Арl == J..IP2, так что Р2 == Jl Р, == Jl Ро. В общем случае ( л ) i . Р; = f.l Ро или Р; == р' Ро, rде л р ==  Р, причем Р ДОЛЖНО быть меньше 1, 11 
rЛава 4. С точки зрения сетей 113 иначе очередь увеличилась бы до бесконечности. Так как система должна находиться в одном из своих состояний, то "" "" LP; == LP;Po == 1. ;=0 ;=0 Используя тот факт, что сумма бесконечноrо rеометрическоrо ряда аУ' (при а r < 1) равна , получим: 1T 1 Ро == """" ; == L..;=o р 1 == 1  р, р/(1  р) Р; == р; Ро == р; (1  р) . Коэффициент использования 5 системы определяется как отношение CYMMapHO ro времени активности системы к полному времени ее функционирования. В данной системе это соответствует тому времени, коrда в очереди находится хотя бы один пакет, и равно 1  РО. Как только что бьшо по казан о, ро == 1  р, так что в этом выражении р  это и есть коэффициент использования системы. Нам нужно найти среднюю задержку пакетов, поступающих в систему. Для этоrо мы сначала должны найти среднее количество пакетов в системе N. Be роятность Toro, что в системе имеется i па кетов, равна Pi, так что: .-, "" "". "". 23 N == ;=oip; == ;=Oip' (1  р) == (;  р) ;=Oip' == (1  р)(р + 2р + 3р + ...) == ==(1 р)р(1+2р+3р 2 +...)==(1 p)p==, (1p) 1  Р 1 т. к. 1 + 2х + зх 2 +...  это разложение в степенной ряд выражения (1  х)2 Закон Липла (Little's law) утверждает, что при заданном количестве поступ лений элементов со средней скоростью л., остающихся в системе в течение среднеrо времени т, число элементов в системе составят в среднем N == л.т. р N р л. Так как N == ,томыимеем Т ==  == ИЛИ,Т. к. р ==, lp л. л.(1р) J.! Т ==. ( 4.5 ) J.!Л s В ориrnнале этот сетевой параметр называется "utilization"  использование. Речь здесь идет о коэффициенте использования как всей сетевой системы в целом, так и отдельных ее компо нентов, таких как звенья (каналы) передачи.  Пер. 
114 Передача данных в сетях: инженерный подход Предположения относительно случайных постуrтений и mnравлений вряд ли будут правильны на практике, но подобный анализ обеспечивает полезную oт правную точку для реальных систем. На практике трафик поcтyrтения данных не совсем случаен, но он выражает то, что известно как дОJl20СрОЧНая завuсu .мость  основная теменция, которая подразумевает, что в трафике rpуппы больших пакетов оказываются вместе дpyr с друrом. Эro означает, что оценки, основанные на очередях без памяти, слеrка переоценивают проnyскную способ ность системы. Более детальное планирование проnyскной способности реаль ных систем обычно выполняется nyreм моделирования на ЭВМ. Рассмотрим звено с пропускной способностью в 20 Кбит/с, средним трафи ком 14 пакетов в секунду и средним размером пакета 800 битов. Проnyскная способность TaKoro звена равна 25 пакетам в секунду, так что задержка в этом звене равна Т== 1/(25  14) == 91 мс. Уравнение (4.5) обеспечивает основу для выполнения простых расчетов в пакет ных сетях, а следующий пример иллюстрирует, как это можно использовать. Рассмотрим следующую сmyацию: пакетный мультиrтексор обеспечивает связь с сетью передачи данных для нескольких пользовательских терминалов через выодную линию передачи, работающую со скоростью 64 Кбит/с. Известно, что в самый занятый период каждый терминал производит в среднем 3 пакета в ce КУНДУ, а средняя длина пакета равна 400 байтам. Зададим следующий вопрос, сколько терминалов можно соединmъ с этим мультиплексором? Чтобы ответить на этот вопрос, необходимо связать уравнение задержки, заданное ранее, с Tep минами, которые имеют отношение непосредственно к сети с пакетной KOMМY тацией, при условии что доnyскаются следующие упрощения и предположения относиreльно поведения сети. О Задержка пакета. Полная задержка асинхронноrо мультиплексноrо naKe та состоит из нескольких ключевых компонентов  задержки раСПростра нения, задержки обработки в мультиплексоре, времени ожидания (в буфе ре), прежде чем пакет будет обработан, и времени, необходимоrо для передачи пакета по следующему звену. Для упрощения проблемы мы бу дем иrнорировать задержки распространения и обработки  шаr вполне блаrоразумный, при условии, что обе задержки незначительны (в предпо ложении коротких звеньев и быстрых процессоров) по сравнению со Bpe менем передачи пакета. Задержка передачи  это просто длина пакета, поделенная на скорость передачи в битах: 3200 бит == 50 мс . 64 000 бит/с о Скорость обслуживания. Представляя задержку передачи просто как время удержания пакета и предполаrая, что полная задержка состоит из задержки в очереди и задержкИ передачи, можно представить мультип 
rлава 4. С точки зрения сетей 115 лексор как простую очередь. Поскольку скорость обслуживания пакета обратно пропорциональна средней задержке ero передачи, то числовое решение тривиально: Jl == 64 000/3200 == 20 пакетов в секунду. Для Toro чтобы ввести этот параметр в уравнение задержки для очереди типа М/М/!, нужно предположить, что длины пакетов являются случайными и подчиняются отрицательному экспоненциальному распределению. Если время передачи и, следовательно, время удержания пакета подчиняется отрицательному экспоненциальному распределению, то обслуживающий процесс можно описывать как процесс Пуассона и использовать очередь типа М/ М/l. Реальные длины пакетов не обладают таким поведением, но для консервативной оценки nepBoro порядка такое приближение ДOCTa точно. О Скорость поступления. Численно каждый источник rенерирует 3 пакета в секунду, и мы будем предполаrать, что временной интервал между по ступлением пакетов подчинен отрицательному экспоненциальному pac пределению, так что каждый источник пакетов можно считать пуассонов ским. Такое предположение существенно по двум причинам: B<rnepBbIx, оно позволяет применить уравнение задержки для очередей типа М/ MIl, и, BOBTOpЫX, дает возможность представить общую скорость поступления пакетов как сумму индивидуальных скоростей каждоrо источника. Таким образом, два источника reнерируют объединенный процесс поступления ..-., пакетов со скоростью 6 пакетов в секунду. О Количество серверов. Мультиплексор состоит из единственной выходя щей линии, таким образом количество серверов равно 1. О Размер буфера. Будем предполаrать, что буферное пространство в муль типлексоре достаточно, чтобы рассматривать ero как бесконечное. Если такое предположение сделать невозможно, то система становится систе мой с потерями, и нужно использовать альтернативную модель. Для решения проблемы вычислений, обсуждавшейся ранее, следует объеди ! нить все эти предположения, чтобы использовать уравнение задержки для очередей типа М/ MIl. Мы будем рассматривать эту проблему на трех уровнях сложности. Этап 1. Чтобы мультиплексор не был перенасыщен, скорость поступления па кетов не должна превышать скорости их отправления (то есть р < 1). Таким образом, общая предлаrаемая наrрузка не должна превышать 20 пакетов в секунду. Поскольку каждый источник производит 3 пакета в секунду, то мы оrраничены присоединением к мультиплексору максимум 6 источников. Присоединение 7 источников сделало бы предлаrаемую наrрузку равной 21 пакету в секунду, и в результате произошло бы насыщение мультиплеКС<r ра. Соединение 6 источников с мультиплексором дает оценку среДнеrо Bpe 
116 Передача данных в сетях: инженерный подход 1 Мени ожидания Т == == 0,5. Это очень высокое значение, которое 20  18 неприемлемо. Теперь рассмотрим случай, коrда на задержку накладывается некоторое оrpаничение. Этап 1. На этом этапе на мультиплексор накладывается дальнейшее оrрани чение, состоящее в том, что средняя задержка пакета не должна превышать 250 мс. Используя уравнение для очередей типа M/MI1 мы можем определить максимальный предлаrаемый трафик как Т ==  2 1 < 0,25 с . Таким образом, OA максимальное число поддерживаемых источников, не может превышать 5 (5 х 3 == 15 < 16). С 5 присоединенными источниками среднее время ожида ния оценивается как Т == 1 == 0,2 С, что лучше, чем указанный выше 20  15 предел. Введение простоrо оrраничения на задержку уменьшило число под держиваемых источников до 1. Можно ввести дальнейшее оrраничение, при знав тот факт, что речь идет только о средней задержке  50% пакетов име ют задержку меньше, чем заданное значение, в то время как 50% имеют задержку больше, чем средняя. Уровни обслуживания обычно выражаются в терминах средней задержки и BepXHero предела задержки, который не должен превышать указанноrо числа пакетов. Эта ситуация рассматривается на третьем этапе. Этап 3. Третий критерий мультиплексора устанавливается таким образом, чтобы 90% всех пакетов были переданы за 0,325 секунды. Для применения ЭТоrо критерия задержку следует считать случайной величиной, которая име ет собственную функцию плотности вероятности. Для систем типа M/M/l можно показать, что реальные задержки имеют неrативное экспоненциальное распределение Р(х  Х) == 1  eтX , rде т == Jl  А. Доказательство TKoro yт верждения нетривиально и не является предметом обсуждения в данной кни re. Однако это соответствует интуитивному ожиданию Toro, что занятость очереди по существу описывается reометрическим рядом. Мы показали, что 1 средняя задержка, связанная с очередью М/М/l, равна Т == . Чтобы pac JlA смотреть третью часть проблемы нужно комбинировать это выражение с об Щим выражением для отрицательноrо экспоненциальноrо распределения. На предыдущем этапе мы предположили, что, присоединив к мультиплексору только 5 источников, можно получить среднее время ожидания 200 мс. Kpo ме Toro, можно подсчитать вероятность Toro, что задержка пакета будет меНьше первоначально объявленной величины (250 мс): Р(х  0,25) == 1  e...().2S/0.2 == 0,713. 
вa 4. С точки зрения сеТей. IВ случае с 5 присоединенными источниками (т == 5), только 80% пакетов FОТВетствуют новому, более cтporoMY верхнему пределу. Нам же необхо :,tимо иметь не менее 90%. Новый критерий, состоящий в том, что 90% па feToB должны иметь задержку ниже 350 мс, определяется как P(x  0,325) == 0,9 == 1  e...{J.325т . Решая это уравнение относительно т, получа   т == 7,085 == Jl А== 20  А. Таким образом, А == 12,91. Это означает, что Te pь только 4 источника должны быть соединены с мультиплексором. 'азмер буфера. Мы предположили, что буфер мультиплексора достаточно ик, чтобы ero можно было считать бесконечным. Теперь можно вкратце CMoтpeTЬ смысл этоrо утверждения. На первой стадии проблемы измере -ий мы указали, что к мультиплексору Можно присоединить 6 источников. В данном случае коэффициент использования системы (р) равен 0,9 (то есть р == 0,9), что с применением закона Литrла или при прямом вычислении <.  ), дает среднюю занятость буфера в 9 пакетов. Ясно, что если буфер i l р pteeT размер, достаточный для размещения 100 пакетов, то наше предполо- .,ение о бесконечной вместимости буфера довольно разумно. Однако, если уфер имеет размер, достаточный для размещения только 20 пакетов, то co ршенно очевидно, что существует большая вероятность (более 10%) Hacы щения буфера, и пакеты будут OТBeprНYТbI. В таком случае должна приме   jJпься альтернативная модель, учитывающая _'потери. В двух друrих енариях (при 5 и 4 источниках) средняя занятость системы HaMHoro меньше D и 1,5 пакета, соответственно), и наше предположение о бесконечном раз epe буфера будет выдержано. 117 .7. Свойства звеньев передачи данных "!Сроме связности и коммутационной способности узлов, сетевые возможно .:етн определяются также свойствами ее индивидуальных звеньев. Звенья '(links) MOryт быть OДHO или двунаправленными. В двунаправленном звене .ii1poпускная способность обеспечивается в обоих направлениях, а в OДHOHa 'правленном  только в одном. Двунаправленное звено можно представить в :,виде двух одно направленных звеньев, работающих в противоположных Ha ,правлениях. Звенья можно также описывать как дуплексные или полудуп 'лексные. Дуплексное звено  это по существу двухточечное двунаправлен Ное звено, обеспечивающее равную пропускную способность в обоих направлениях одновременно. Полудуплексное звено  это такое звено, KOТO рое может обеспечивать пропускную способность в любом направлении, но не одновременно, т. е. направление передачи в нем может переключаться по Мере необходимости. 
118 Передача данных в сетях: инженерный подход rлавные рабочие параметры звена передачи данных: [] пропускная способность  скорость, с которой информация может быть послана по звену; [] задержка распространения  промежуток времени между моментом, коrда сообщение становится доступным в передатчике для передачи, и моментом ero поступления в приемник; [] искажения данных  доля сообщений, потерянных или искаженных во время их передачи. Так как искаженные сообщения обычно отверrаются, то это свойство часто называют "потерей данных". Существует определенная взаимосвязь между значениями этих параметров, особенно на физическом уровне. Увеличение пропускной способности может увеличить очереди и задержки в отдельных частях звена передачи. Весьма вероятно также, что увеличатся и искажения. 4.8. Межсетевые взаимодействия До сих пор мы предполаrали, что сеть, переносящая информацию, является единственным rOMoreHHbIM объектом. На самом деле это не так. В действи тельности используется множество типов сетевых протоколов, которые по различным причинам требуют объединения друr с друrом. Межсетевое взаимодействие реализуется с помощью устройства, известноro под названием UlJlЮЗ (рис. 4.30), который функционирует как интерфейс или канал передачи между двумя связываемыми сетями. Так как разные сети pa ботают поразному, то шлюз "должен браться за решение" множества про блем, таких как перенос служб, использование протоколов, обеспечение кa чества обслуживания, пакетных и адресных форматов и т. п. Рис. 4.30. Взаимодействие сетей через шлюз Существует два подхода к рассмотрению межсетевых взаимодействий  межсетевой (networkbynetwork) и сквозной (endtoend). При межсетевом ПОДХоде формируется эффективный виртуальный канал между станциями пу тем сращивания надежных виртуальных каналов каждой сети. При сквозном Подходе предполаraется, что каждая сеть снабжена дейтаrpаммными служба ми, а затем, если требуется, для выполнения надежноrо обслуживания исполь зуется обычный сквозной протокол. Примером стандартноrо формата пере сылки данных между сетями является Iпtеmetпротокол (Intemet Protocol, IP). 
'l"лава 4. С точки зрения сетей .. 119 'Различают четыре типа шлюзов: повторители (ретрансляторы), мосты, ';маршрутuзаторы и шлюзы BblCOKOZO уровня. Однако на практике шлюзы He редко выполняют множество различных функций, причем функции моста и ,маршрyrизатора часто объединяются. 4.8.1. Повторители 'Повторители обеспечивают соединения физическоrо уровня между cerMeH ;Тами одной и той же сети (рис. 4.31). Их называют "rлухими" (то есть рабо 'тающими без проrраммноrо обеспечения), т. к. они только копируют биты из }одноrо cerMeHTa в друrой. Это означает, что сети А и В на рис. 4.31  ЭТО r.доrически одна и та же сеть. Концентратор (hub)  ЭТО повторитель в физи \, ,ческой звездной или лоrической шине локальной вычислительной сети, KOТO ;рый пересылает биrы между сетевыми адаптерами (Network lnterface Cards, :NIC), которые в свою очередь MOryr быть или индивидуальными станциями, или концентраторами более BblcoKoro уровня. Транспортный Транспортный ; C , ff Сетевой Сетевой  Сетевой  -- 1 Канальный Канальный Канальныи. " Канальный Физический Физический Физический Рис. 4.31. Стек протоколов повторителя 4.8.2. Мосты Мосты соединяют сети на канальном уровне (рис. 4.32). Их можно использо вать для соединения двух сетей идентичноrо типа или для связи двух различ ных сетей, которые имеют одинаковые сетевые уровни. Примером последних является семейство ЛВСстандартов ШЕЕ 802, которые предусматривают различные протоколы управления доступом к среде, но одинаковые сетевые уровни. Мосты имеют развитую лоrику и их можно сконфиryрировать так, чтобы выборочно копировать кадры из одноrо cerMeHTa сети в друrой. Они, как правило, прозрачны для сети и поэтому не требуют адреса. Однако часто мосты устанавливаются таким образом, чтобы можно было осуществлять с их помощью функции управления сетью. Чтобы посылать кадры между ло кальными вычислительными сетями, которые соединены мостами, использу 
120 Передача данных в сетях: инженерный подход ются специальные адреса управления доступом 1(. среде передачи (MAC адреса). Для орrанизации мостов между локальными сетями различных типов можно использовать так называемые МНО20портовые MOCThI. Транспортный Физический Физический Физический Транспортный Сетевой '"""'''''; Сетевой Сетевой Канальный Канальный Канальный Физический Рис. 4.32. Стек протоколов моста 4.8.3. Маршрутизаторы Маршрутuзаторы используются для соединения сетей, которые имеют оди наковые транспортные и различные сетевые уровни (рис. 4.33). Маршрутиза тор имеет адрес на каждой из соединяемых сетей. Кадры, которые использу ют сетевой адрес (или Intemetaдpec), передаются между сетями с помощью маршрyrизатора. Такие устройства позволяют соединять сети различных ти пов, например, локальную вычислительную сеть Института электро и элек тронных инженеров США (ШЕЕ LAN) с сетью X25. Трвнспортный Транспортный >:;',,':""v/; ;...:::r.__,,;"', .............i';:'''- . ''''cL:'Lц.-''''' :" Сетевой Сетевой Сетевой Сетевой Канальный Канвльный Канальный Канальный Физический Физический Физический Физический Рис. 4.33. Стек протоколов маршрyrизатора 4.8.4. Шлюзы BbICOKOrO уровня Шлюзы BblCOKOZO уровня обеспечивают связность между службами на TpaHC портном или на прикладном уровне, как показано на рис. 4.34. 
rлаsа 4. С точки зрения сетей 121 I Транспортный Сетевой Канальный Физический Сетевой Сетевой -". Канальный Канальный ..   Физический Физический .. !\ J ! I f Транспортный I Сетевой Канальный Физический i' ;".' '.. . ,v..;Q',:: ( . Рис. 4.34. Стек протоколов шлюза 4.9. Маршрутизация Ключевой функцией ceтeBoro уровня является маршрутизация пакетов Me жду узлами источника и адресата. В случае виртуальноrо канала или пакет Horo режима дейтаrрамм выбор пути через сеть можно делать только один раз в сеансе связи. В режиме дейтаrрамм решение о маршрутизации может принимать либо только исходный узел, либо (альтернативно) каждый проме жуточный узел, который должен маршрутизировать каждый пакет. Алzоритм маршрутизации, который определяет путь отбывающеrо пакета, является частью проrраммноrо обеспечения ceтeBoro уровня. Например, в относительно простой сети, показанной на рис. 4t35, имеется шесть возмож ных маршрутов, соединяющих узлы Х и У. Выбираемый путь может изобра жаться только выходящей линией, которую допустимо использовать (в узле Х, например, имеется две таких линии) или он может изображаться в виде детальноrо мноrозвенноrо пути между источником и адресатом. В друrих случаях, узел вообще может не принимать никаких решений по маршрутиза ции и будет только rарантировать, что пакет отправлен в выходящее звено, как это происходит в узле Z. Существует несколько критериев выбора алrоритма маршрутизации. В идеа ле желательно иметь алrоритм, который был бы корректным, простым, CTa бильным, ясным, привлекательным и ОlПимальным. Два первых критерия самоочевидны  любой используемый алrоритм должен работать правильно и быть настолько простым, насколько это возможно. Любая реальная сеть подвержена сбоям  в звене, узле, аппаратуре и проrраммном обеспечении, и любой алrоритм маршрутизации должен обладать способностью противо стоять изменениям в состоянии сети без необходимости аварийноrо заверше ния или повторноrо запуска. Важна также стаБWlыюсть, поскольку трафик, представленный в сети, вероятно, значительно изменяется, и эти изменения не должны вызывать чрезмерных изменений в использовании звеньев и узлов в ущерб друrим компонентам сети. Алrоритм маршрутизации должен обес печивать справедливое обслуживание для всех пользователей. Отдельные ин 
'.122 ...... Передача данных в сетях: инженерный подход ДИВИДУУМЫ не должны получать непреднамеренный отказ в обслуживании изза требований, предъявляемых к сети друrими пользователями. Это требо ванне должно быть сбалансировано с желанием оптимизировать производи тельность сети. Алrоритм маршрутизации Mor бы, вероятно, попытаться ми нимизировать задержку пакетов при одновременной максимизации использования звеньев сети. Однако эти две цели конфликтуют  использо вание может быть улучшено за счет больших наполненных очередей, что в свою очередь ПрИ80ДИТ к увеличению задержек  так что требуется HeKOTO poro рода компромисс. Адаптивные алrоритмы базируют свои решения по маршрутизации на Teкy щем состоянии системы. Неадаптивные алrоритмы не принимают во внима ние состояние системы при выборе подходящеrо маршрута. g 11 iJ O  ОУ  g Рис. 4.35. Маршрyrизация Поскольку адаптивный алrоритм хорошо реаrирует на изменения трафика или тополоrии сети, то кажется, что он должен был бы вытеснить неадаптив ные стратеrии. Однако реализация и выполнение адаптивных алrоритмов значительно сложнее, чем неадаптивных. При центрaJ)изованной маршрутизации имеется специальный центральный узел, который сопоставляет всю имеющую отношение к делу информацию, вычисляет все подходящие маршруты, оптимальные и/или альтернативные, и передает эту информацию каждому узлу сети. Децентрализованные методы 
.(лава 4. С точки зрения сетей .... 123 маршрyrизации можно разделить на два вида: изолированные и распределен вые. В изолированных методах узел использует только ту информацию о co стоянии сети, которую он сам собрал. При распределенной маршрyrизации для обновления таблиц маршрутов происходит обращение к соседним узлам, :06менивающимся информацией. Изолированные схемы относительно просты ',в реализации, но, в общем случае, не дают оптимальных маршрутов. ЦeHтpa лизованную маРIJJрyrизацию трудно поддерживать, если сеть изменяется. Можно комбинировать оба метода, используя динамические децентрализо ванные методы и записывая централизованный "маршрyr последней инстан 'ции", по которому должен направляться пакет с неопознанным адресатом. ',Это увеличивает шансы Toro, что маршрyr будет всеrда найден. Возможен 'также подход, ставящий своей целью получить единственный, наилучший из :-всех возможных пyrей ДЛЯ сетевых даныых. Кроме тoro, понимая, что для hересылки данных адресату может существовать не один, а несколько пyrей, можно использовать так называемую МНО20путевую маршрyrизацию. Она 'имеет то преимущество, что, неизбежно, более надежна, чем маршрyrизация ,с единственным (обычно самым коротким) пyrем, однако она не всеrда ис пользует наилучший из возможных маршрyrов. ;.9.1. Наикратчайший путь "Наикратчаuшим путем между двумя узлами называют самый лучший или :рптимальныu пyrь, который можно использоватlf>.ДЛЯ передачи информации ;между ними. Что в действительности называть наикратчайшu/w путем, зави "сит от критериев, привлекаемых для ero оценки. Для такой оценки можно !itспользовать MHoro различных параметров: число связей (звеньев), расстоя 1.'ние, задержку, битовую скорость передачи и стоимость. Наикратчайший пyrь между двумя узлами, использующий в качестве единственноrо критерия чис i по звеньев, это не обязательно тот же пyrь, который считался бы наикрат чайшим по критерию задержки. . При определении наWlУЧШUX, наикратчайшux или оптимальных пyrей в сети 'необходимо иметь некоторую оценку качества каждоrо звена, поскольку Ma повероятно, что все они одинаковы. Эrо достиraется маркировкой каждоrо звена специальным весом, который должен вычисляться с применением опре деленной системы мер. Конкретная мера может, конечно, изменяться для раз ных сетей. Звенья с меньшим весом предпочтительнее звеньев с более высоким весом. Заметим также, что если единственной мерой является число звеньев, то все звенья считаются равными и имеющими одинаковый вес. Следующим шаrом, учитывющимM взвешенность звеньев, является поиск оп тимальноrо или наикратчайшеrо пyrи. В простых сетях ero можно найти с помощью обычноrо обследования сети. Для сложных сетей возникают про блемы, и простое обследование сетей в действительности не является подхо дящей методикой, которую можно использовать как основу управления тa 
124 Передача данных в сетях: инженерный подход ким сложным и дороrостоящим ресурсом. Здесь нужно опираться на фор A«lЛьные методы, и есть множество алroритмов, разработанных специально ДЛа выполнения такой задачи. АлroРИ"nfы БелманаФорда (BellmanFord) и Дейкстры (Dijkstra) берут оди НОчный узел и вычисляют наикратчашие пути между этим узлом и всеми дpy rими узлами сети. Друrие алrоритмы, такие как алrоритм Флойда (Floyd), находяТ наикратчайшие пути между всеми парам и узлов сети. AnropМYM Дейкстры Алrоритм Дейкстры, который находит самый короткий nyrь от данноrо узла до всех друrих узлов сети, работает следующим образом. 1. Маркируйте все узлы, кроме cTapToBoro, парой значений, состоящей из расстояния до данноrо узла (первоначально "aJ") и именем узла подхода 6 (первоначально ""). 2. Начиная со cTapтoBoro узла, выберите узел с самым низким совокупным весом; считайте этот узел "установленным" (или "фиксированным"). 3. Маркируйте соседние с установленным узлы совокупным расстоянием от CTapтoBoro узла и именем узла подхода. 4. Если узел уже маркирован, то ero метка заМеняется на новую, совокупное расстояние которой меньше, чем существующее совокупное расстояние. 5. Продолжайте маркировку, пока все узлы не будут установлены. После фиксации всех узлов результирующий совокупный вес позволяет pac СЧИТать самый короткий путь от исходноrо узла. Это можно сделать, читая в обратном порядке узлы подхода каждоrо узла на соответствующем пути. Pac смотрим пример действий по алrоритму Дейкстры более подробно. 1. Каждый узел, кроме cTapтoBoro, первоначально маркируется как.( aJ, ) (рис. 4.36). 7 4 Рис. 4.36. При мер применения алroритма Деикстры. шаr первый (Ф, ) У3eJI подхода  ЭТО ближайший (слева) соседний узел, к которому осуществляется HenocpeД ственный ПОДХОД через маркируемый узел.  Пер. 
\ rлава 4. С точки зрения сетей 125 2. Начните с узла А, зафиксируйте ero, перемаркируйте соседние (справа) узлы В и F с учетом их расстояний (рис. 4.37). 7 (oo,) 4 Рис. 4.37. Пример применения алrоритма Дейкстры, шаr второй 3. Теперь самым малым весом обладает узел В, поэтому повторите с этим узлом все действия пункта 2 (рис. 4.38). 7 (oo,) .JII.. (б, А) 4 Рис. 4.38. Пример применения алrоритма Дейкстры, шаr третий 4. Теперь узел G имеет самый малый вес, поэтому он и используется. Новый вес для F меньше чем существующий, поэтому старая метка (6,А) заменяется новой (5,а). Тот же самое происходит и с узлом С (рис. 4.39). (oo,) 4 Рис. 4.39. Пример применения алrоритма Дейкстры, шаr четвертый 5. Повторите предыдущую процедуру для узла F. В результате узел Е должен был бы получить метку (9, F), но ero существующая метка (6,G) 
126 Передача данных в сетях: инженерный подход имеет более низкий суммарный вес до исходноro узла, так что она оставлена без изменения (рис. 4.40). (oo.) 4 Рис. 4.40. Пример применения алroритма Дейкстры, шаr пятый 6. Повторите процедуру для узла С (рис. 4.41). (9. С) 4 Рис. 4.41. При мер применения алrоритма дейкстры. шаr шестой 7. Повторите процедуру для узла Е. В результате метка узла О (9,С) будет заменена на (8,Е) (рис. 4.42). 7  4 Рис. 4.42. Пример применения алrоритма Дейкстры. шаr седьмой Установка узла D завершает процедуру алrоритма Дейкстры. Нетрудно ви деть, что самый короткий пyrь от А до D имеет совокупный вес 8, и читая метки, начинающиеся с узла О, в обратном порядке, мы получаем наикрат чайший маршрут: D  Е G ...... В A. 
(лава 4. С точки зрения сетей 127 4.9.2. Лавинная маршрутизация Эrо, возможно, самый rрубый из методов маршрутизации, коrда любой па кет, полученный узлом, немедленно отправляется через все выходящие зве нья, кроме входноrо звена (рис. 4.43). Такой метод всеrда находит оптималь ный маршрут, т. к. испытываются все маршруты, и информация достиrнет адресата скорее Bcero по самому короткому из них. Однако очевидный и cy щественный недостаток метода состоит в том, что в сети начинает циркули ровать очень большое количество пакетов, поэтому требуется некоторый Me ханизм, чтобы упорядочить этот процесс. Один из возможных подходов Mor бы состоять в том, чтобы иметь в каждом цакете специальное поле  счетчик звеНьев, которое уменьшалось бы на 1 в .каждом принимающем узле. Если поле становится нулевым, то пакет отбра сывается. Значение этоrо поля должно лежать между числом звеньев в опти мальном пути от источника к адресату и диаметром сети, что предотвратит бесконечную циркуляцию пакетов в сети. Вторая методика моrла бы состоять в том, чтобы уникально идентифициро ,вать каждый пакет и хранить в каждом узле запись всех пакетов, которые они обработали. Тоrда, если узел принимает пакет, который он уже предвари тельно отправил, то это будет дубликат, и ero MOHO будет сбросить. 2 Рис. 4.43. Маршрутизация при лавинном подходе Варианты этоrо подхода включают избирательную "лавину", коrда пакеты отправляются только по тем звеньям, которые находятся в "правильном Ha правлении" , и алrоритм случайноrо обхода, коrда пакет отправляется по оди ночному звену, выбранному случайно, так что в конечном счете пакет доби рается до cBoero адресата. 
Передача данных в сетях: инженерный подход ZJ9.З. Распределенная маршрутизация ';;ршрутизация по вектору расстояния и маршрутизация по состоянию свя й  вот два примера распределенной динамической маршрутизации, Korдa маршрутные узлы получают информацию о состоянии сети или оценку Map шрутов от друrих узлов и затем используют их, чтобы получить таблицу или вектор маршрутизации. В распределенной системе узлы запрашивают ин формацию, на которой они базируют свои решения по маршрутизации, у смежных узлов. Такие системы MOryт работать напрямую, запрашивая опре деленную информацию через реryлярные временные интервалы. Маршрутизация по вектору расстояния Маршрутизация, базирующаяся на векторе расстояния, применяется в прото коле маршрутной информации (Routing Information Protocol, ЮР), который используется для маршрутизации в сети Internet. Рассмотрим узел А в сети, показанной на рис. 4.44. Он периодически запра шивает в узлах В и С информацию о самых коротких маршрутах от этих уз лов до всех друrих узлов в сети. При этом узел А будет также получать ин формацию о расстоянии между собой и соседними узлами и будет использовать полученную информацию для вычисления самых коротких маршрутов между собой и всеми друrими узлами. Часть требуемой информа ции может быть получена косвенно. Если в качестве параметра, на основании Koтoporo принимаются решения по маршрутизации, используется задержка, то узел А может находить расстояние до соседних узлов, посылая к каждому узлу специальные эхопакеты. Как только эти пакеты отправляются, стартует таймер. Он останавливается, коrда отраженный эхопакет возвращается назад и правильно принимается узлом А, позволяя, таким образом, узлу А вычис лить задержку, связанную с этим звеном. В примере сети, показанной на рис. 4.44, для узлов В и С требуется 10 и 12 единиц времени (соответственно), чтобы ответить и послать их текущие BeK торы расстояния узлу А. Теперь узел А может сделать вывод, что для пyre шествия пакета к узлам В и С требуется 5 и 6 единиц времени COOTBeTCTBeH Но. Оценки 6 и 4 в таблицах узлов В и С иrнорируются, поскольку оценки 5 и 6 считаются более свежими. После этоrо получение для узла А новой табли цы является относительно простой задачей. Рассмотрим случай определения маршрута от узла А к узлу D. Узел А оценивает, что, если он направит пакет, предназначенный дЛЯ D, прямо к узлу В, то потребуется 5(АВ) плюс 4 (С  D) == 9 единиц времени. Оценка для направления пакета через узел С дает 6(АС) плюс 5 (С  D) == 11 единиц времени, так что принимается первый BЫ бор  направление через узел В. Процедура повторяется для всех друrих, не-- 
rлава 4. С ТОЧКИ зрения сетей 129 смежных узлов сети. Трафик между АЕ направляется через узел В с CYMMap ным расстоянием 11 (5 + 6), а не через узел С с суммарным расстоянием 12 (6 + 6). Наконец, пакеты, предназначенные для узла F, отправляются не через узел В (маршрут с суммарным расстоянием 18), а через более короткий путь, проходящий через узел С, за 16 временных единиц. 8 А б(А) 8 ОН С 12(Е) О 4(0) Е б(Е) F 1З(Е) А (Новый) А ОН 8 5(8) С б(С) D 9(8) Е 11(8) F 16(С) ". -J с А 4(А) 8 11 (А) С ОН О 5(0) Е б(Е) F 10(0) ..... // .', 'y ir.. <,' .Э'.: ;tF Е o.:.. ',;t.'  !,,'!' ;r !tU t "" "" Рис. 4.44. Маршрутизация по вектору расстояния  fлавный недостаток этой схемы  медленная реакция на "плохие" события типа аварийноrо отключения узлов, изза которой система продолжает ис пользовать неприrодные маршруты. В более крупных сетях изменение длины маршрутов до всех остальных узлов сети может потребовать существенных затрат времени, если это вообще возможно. В частности, маршрутизация по вектору расстояния может продолжать посьтать пакеты по направлению к звеньям, которые больше не существуют, и такие пакеты останутся циркули ровать в сети. С друrой стороны, схема хорошо реаrирует на "хорошие" co бытия, например на совершенствование маршрyroв. Маршрутизация по состоянию связей Этот вид маршрутизации является улучшенной альтернативой маршрутиза ции по вектору расстояния и теперь широко используется в практических устройствах маршрутизации, например, в протоколе OSPF (Ореп Shortest Path First, Первоочередное открытие кратчайших маршрутов), который все в большей степени используется для маршрутизации в сети Intemet и исправ ляет некоторые из недостатков RIРпротокола. Маршрутизация по состоянию 
130 Передача данных в сетях: инженерный подход связей преодолевает такие недостатки предыдущей схемы, как счет до беско нечности и проблему сходимости решения. В широком смысле это простая автономная схема, состоящая из четырех шаrов. 1. Идентнфикация и контакт с соседними узлами. Для каждоrо узла необходимо знать, кто с ним соединен в любой заданный момент. Такую информацию получают с помощью передачи специальных пакетов. Ключевым моментом здесь является то, что каждый узел должен иметь уникальный идентификатор. 2. Определение стоимости каждоrо смежноrо узла. На этом шаre каждый узел пытается определить расстояние или стоимость, которые связаны с каждым из ero звеньев, и затем создает таблицу с этой информацией. 3. Отправка таблицы всем остальным узлам. На этом шarе важно, чтобы каждый узел Mor принимать эти пакеты или начинал использовать их одновременно со всеми друrими узлами, иначе маршрутизация может оказаться нарушенной. 4. Вычисление каждым узлом наилучших путей ко всем остальным узлам. Для определения наикратчайшеrо пути до всех остальных узлов каждый узел может использовать формальные алrоритмы, такие как алrоритм Дейкстры. С этой схемой связан ряд проблем. Необходимо обеспечить, чтобы в подхо дящие моменты времени создавались или обновлялись таблицы состояний звеньев, чтобы модифицированные пакеты правильно посылались и прини мались, и чтобы было известно, что нужно делать, коrда узлы теряются. Cxe ма, иллюстрирующая маршрутизацию по состоянию связей, показана на рис. 4.45. Подсветкой указаны маршруты, которые будет выбирать пакет Me жду узлами AF и FA соответственно. А 'r- rr с 11[ 6 D 5 Е 6 D  Е Щ 6 С 6 F 7 F  Рис. 4.45. Маршрутизация по состоянию связей 
Тлава 4. С точки зрения сетей ..... 131 4.9.4. Широковещательная маршрутизация в заключение рассмотрим широковещательную маршрутизацию. Она ис 'пользуется в тех случаях, коrда узел хочет посьтать одни и те же данные )сем друrим узлам. Каждому узлу адресата можно посьтать различные паке TЫ, причем каждый пакет уникально идентифицируется своим адресным по ;пем. Это может быть расточительно в части использования пропускной спо !ности системы и будет отнимать MHoro времени, требуя, чтобы каждый tзел имел полный список всех сетевых узлов. ожно использовать и лавинную маршрутизацию, хотя (как в двухточечном учае) при этом rенерируется слишком MHoro пакетов и требуется значи [FЬНая полоса про пускания. < r.tuироковещательные пакеты MOryт содержать больше одноrо адреса в aдpec (M поле. Коrда пакет достиrает узла, тот проверяет таблицу маршрутизации ". адресатов, чтобы определить необходимые выходные линии. Затем изrо troвляются копии пакета с адресным полем, содержащим адреса только тех pecaTOB, которые соответствуют выходной линии, по которой отправляется krUeт. При получении Taкoro пакета узел адресата удалит свой адрес из поля !адреса и повторит процедуры копирования и отправки. В конечном счете l' ироковещательный пакет будет содержа только один адрес  адрес KO " чноrо узла  и, таким образом, процесс широковещательной передачи бу завершен. ли каждый узел знает оптимальные пути источников широковещательных етов, т. е. дерево стоков, то пакет может быть отправлен только тем смеж ,ЫM узлам, которые формируют часть оптимальноrо тракта. Эта схема пре "оставляет наиболее эффективный способ передачи широковещательных па .;keтoB, но, учитывая динамический характер пакетных сетей и их полный Mep, такую информацию практически невозможно получить. eCТBYeт и друrой способ, при котором узел будет отправлять полученный PIироковещательный пакет только в том случае, если он прибьт по специ r'&льному звену, который обычно используется этим узлом для передач широ kовещательных пакетов обратно к их источнику. В противном случае пакет ['СЧитается дубликатом и сбрасывается. Это более простой по сравнению с fпредыдущим алrоритм, поскольку каждый узел не должен ничеrо знать о co ; СТоянии системы, т. е. о деревьях стоков. Такая методика называется пepeдa , чей по обратному маршруту (Reverse Path Fоrwardiпg, RPF). На рис. 4.46 по ,Казан простой при мер Toro, как работает RPF, и выполнено сравнение этоrо Метода с широковещательной схемой, основанной на дереве стоков. 
132 Передача данных в сетях: инженерный подход  а Дерево охвата 3 звена: 5 пакетов  fl::5 б 1--е звено: 2 пакета 2--е звено: 3 пакета з--е звено: 3 пакета в Рис. 4.46. Широковещательная маршрутизация: а  лавинная передача; б  схема, основанная на дереве стоков; в  передача по обратному маршруту Сравнение здесь не столь очевидно, поскольку сеть не велика. Однако, если сеть большая, то можно увидеть, что передача по обратному маршрyry не будет давать столь же хорошеrо решения, как схема с деревом стоков, но бу дет нЗмноrо лучше, чем прямая лавина с оrраничением по cerMeHTaM (hopes). Если бы последняя схема применялась к сети, показанной на рис. 4.46, в (в предположении, что предел счетчика cerMeHToB равен 3), то было бы передано 1 О пакетов, по сравнению с 8 пакетами, передаваемыми схемой передачи по обратному маршрyry. 4.10. Переrрузка До сих пор мы предполarали идеальное поведение узлов. Пакеты, поступаю щие в узел, остаются в очереди до тех пор, пока не будyr отправлены дальше. Если пакеты поступают в узел со скоростью, которая приближается к пропу скной способности узла, то пакеты будут накапливаться в буфере, и средняя задержка увеличится до бесконечности. На практике буфер имеет конечную длину, и пакеты будyr теряться или будет изменяться их маршрyr. Подобная 
Слвва 4. С точки зрения сетей  1ЗЗ пересрузка (или переполненuе) системы может стать результатом решений, связанных с маршрутизацией, или просто следствием непомерной наrрузки на трафик (рис. 4.47, а). Переrpузка имеет тенденцию становиться бесконеч ной  коrда один сеанс теряет пакеты, то после HeKoToporo интервала он бу дет делать попытку повторной передачи, которая увеличит количество паке тов в системе и еще больше увеличит переrрузку. Это означает, что при еличении переrрузки пропускная способность переполненной системы iфактически будет уменьшаться (рис. 4.47, 6). t !Нужно четко различать управление маршрутизацией и управление переrpуз ;.кой. Алrоритм маршрутизации может уменьшить вероятность переrpузки, но [если она все же происходит, то потребуется механизм управления переrpузкой, 'чтобы усилить этот эффект. Алrоритмы маршрутизации, вероятно, ухудшат ,сmyацию, если не будет включен механизм управления переrрузкой. C1I .. ... >. е- C1I :J: /Идеальная '\ Желательная :'\. Переrpуженная Заrpузка Отправка пакетов а .-.. б Рис. 4.47. Эффект переrрузки . 4.10.1. Управление на входе Виртуальный канал заранее выделяет запасное пространство в каждом буфе ре в узлах cBoero маршрута, так что в каждом узле всеrда имеется место для хранения поступающих пакетов. Если виртуальный канал не может распре делить память в буферах, то вызов отклоняется. Это rарантирует, что любое увеличение предлarаемой наrpузки не оказывает особоrо влияния на вызовы, действующие в текущий момент. 4.10.2. Сброс заrрузки Эта методика противоположна предыдущей. Никакоrо пространства в буфе рах заранее не выделяется, и все вызовы конкурируют за доступ к буферам. Коrда буфер приближается к заполнению, вновь поступающие пакеты сбра сываются. При этом друrие уровни и функции пытаются орrанизовать по вторную передачу. Ясно, что существует предел для сброса пакетов, и долж ны быть установлены правила, позволяющие определить, нужно ли сбрасывать или сохранять пакет. Нет никакоrо смысла сбрасывать пакеты 
134 Передача данных в сетях: инженерный ПОДХО,! подтверждений, поэтому в каждом узле обычно rарантируется наличие места для хранения одноrо или нескольких пакетов подтверждений. Сброс пакетов не обязательно должен начинаться только тоrда, коrда буферы полностью заполнены. Алrоритмы сброса заrpузки часто начинают выборочно сбрасы вать пакеты при заполнении буфера на 80--------90%. 4.10.3. Управление потоками данных Эro механизм обратной связи, с помощью Koтoporo узел rенерирует специ альные пакеты ("заrлушки") всякий раз, коrда HarpY3Ka на этот узел достиrает определенноrо уровня. Эти пакеты инструктируют источник пакетов о том, чroбы он уменьшил скорость передачи на определенную величину, предот вращая тем самым переrpузку данноrо узла. Преимуществом такой методики является то, что она становится продуктивной только при высоких HarpY3Kax и не влияет на производительность сети в нормальных условиях. HarpY3KY на узел можно контролировать, оценивая MrHoBeHHoe и среднее значение пара метра ero использования (utilizatiоп) или рассматривая заполнение очереди. Чтобы контролировать параметр использования звена (U), можно воспользо ваться следующим выражением: и" == aЦ,) + (1  а)!, rде /  параметр MrHoBeHHoro использования линии (то есть/ == 1, если линия занята, или/== О, если  не занята); а  постоянная, которая определяет, как быстро узел забывает предысторию; и"  новая, а и"  1  предыдущая оценка среднеrо значения параметра использования. Эффективность этоrо выражения зависит от оценок среднеrо значения параметра использования и от Toro, насколько быстро оно может реarировать на изменения в состойнии системы. Управление потоками данных может применяться как к дейтаrраммным или виртуальным каналам, так и при сквозном (роiпИороiпt) и поэлементном (Iinkbylink) подходе к сетевым системам. Поэтому мощно иметь механизм, который контролировал бы различные системные параметры одноrо или He скольких узлов или звеньев, выделяя таким образом потенциально переrру женные компоненты сети. 4.11. Защита от ошибок Для защиты от ошибок, вносимых средой передачи в передающую систему, используется кодирование с исправлением ошибок, включающее три cтpaTe rических направления. (] Скрытие ошибок. По этой методике выполняется обнаружение ошибок, а испорченная информация отбрасывается. Остающаяся информация оказы 
rлава 4. С точки зрения сетей вается доступной, и в некоторых случаях ее можно использовать так, что бы замаскировать отсутствующие испорченные данные. Это можно cдe лать, например, повторяя предыдущий фрarмент данных, заменяя им ис порченный участок или пытаясь интерполировать данные по окружающим значениям. Скрытие ошибок хорошо работает в речевых и аудиосистемах до тех пор, пока интенсивность ошибок не очень высока. В некоторых случаях эту методику можно также использовать для изображений, но не для общих данных. [t1 Автоматический запрос повтореиия передачи (Automatic Repetition Query, ARQ). Как и в предыдущем случае, выполняется обнаружение ошибок, с помощью ARQ передатчик информируется об этом и получает запрос на повторную посылку данных.. ARQ имеет несколько недостатков: он требует наличия канала обратной связи к передатчику, передатчик должен хранить данные до тех пор, пока он не будет информирован о том, что они были получены правильно, а в случае ошибки в передачу данных вводится задержка. Однако с помощью схем ARQ можно добиться очень низкой интенсивности ошибок при относительно малых накладных pacxo дах и небольшом усложнении системы.  Упреждающая (прямая) коррекция ошибок (Forward Error Correction, FEC). В этом случае к посылаемому сообщению добавляются дополни тельные символы, так что у приемника ПОЯЩIяется возможность BOCCTa навливать сообщение, если хотя бы часть ero была испорчена. В вычисли тельном отношении FЕСметодика сложна и требует дополнительных затрат при передаче, но обладает существенным преимуществом, не тpe буя обратной связи с передатчиком. Кроме Toro, из-за включения в пере дачу дополнительных символов вводится лишь небольшая дополнитель ная задержка. fvtожно использовать комбинации этих стратеrий, пытаясь применить сначала . FEC на каждом уровне, а затем используя ARQ или скрытие ошибок, если 'FЕСметодика терпит неудачу. Методика скрытия ошибок может выполнять ся только приложением, потому что лишь оно знает контекст данных. Наибо лее подходящей стратеrией для транспортноrо уровня является ARQ. 135 4.11.1. Обнаружение ошибок Для Toro чтобы система откликалась на ошибки, она сначала должна узнать, что они произошли. Здесь есть две проблемы. Вопервых, кадр, который при был в приемник, может пострадать от одной или нескольких ошибок. Bo вторых, кадр может вообще не прибыть в приемник. or второй проблемы можно защититься, включая в каждый кадр порядковый номер. Если кадр с конкретным порядковым номером не прибывает, то он считается потерян- 
136 Передача данных в сетях: инженерный подход ным. Обнаружение ошибок  более сложная задача. Передатчик вычисляет по сообщению некоторую функцию и добавляет результат ее вычисления 1< кадру в виде проверочной последовательности кадра (Frame Check Sequence, FCS). Коrда приемник получает кадр, он вычисляет по нему ту же самую функцию, что и передатчик, и сравнивает результат с полученной FCS. Если расчетное значение отличается от Toro, которое было принято, то можно сде- лать заключение, что между моментами вычисления этих функций (то есть между передачей и приемом) в сообщении произошли какие-то изменения, следовательно обнаружена ошибка (рис. 4.48). '; ...!:,"'. \ Данные [::;.]  _ Данные j' l ' :'1 '. . i/ j . -- 4 ,,< .1   ... . -1 ..;;.-- . .,................  .'.. "')    t  r- / t !:I ,"--1 Если эти FCS равны, то передача была успешной; их различие означает, что произошла ошибка 2 - Рис. 4.48. Проверочная лоследовательность кадра Опасность заключается в том, что может про изойти такая ошибка, при кото- рой используемая функция не сможет дать правильноrо результата. Напри- мер, если функция состоит в простом добавлении к кадру 16--разрядноrо сло- ва, как в пакете UDp7, и если одна ошибка добавляет к этому слову одно значение, а друrая  вычитает из Hero точно такое же значение, то ошибка не будет обнаружена. Если придерживаться принципов, обсуждаемых далее в разд. 5.4, то для заданноrо числа ошибок этот эффект можно ослабить и даже устранить пyreм тщательноrо проектирования функций, вычисляющих про- верочные последовательности. Часто используются про верки с помощью циклическою uзбытОЧНО20 кода, CRC (см. разд. 5.4.3). Обычно используется 16-разрядный СRС-код, определенный комиссией CCIТT, который может обнаруживать: (] все пачки ошибок длиной до 16 битов, rде пачка определяется как блок, начинающийся и оканчивающийся ошибкой, и чьи промежуточные биты MOryт или не MOryт быть ошибочными; 1 UDP  сокр. от User Оаш Protocot, полЬЗОвательский протокол данных.  Пер. 
,rлава 4. С точки зрения сетей .. 137 а 99,997% пачек ДЛИНОЙ 17 битов; (] 99,998 % пачек длиной больше, чем 17 битов; 'r:J все возможные комбинации 3x или меньшеrо количества случайных ОрIИбок; I:J все возможные комбинации нечетноrо количества ошибок. 4.11.2. ААа Существует три типа ARQ  с остановом и ожиданием, с возвратом N кадров и с избирательным повторением. Самая простая форма этой систе МЫ  С остановом и ожиданием. Каждое сообщение передается от источни ;ка к адресату, а адресат посылает ПQдтверждающее сообщение назад к ис точнику (рис. 4.49). Источник не передает следующее сообщение до тех :рор, пока не примет подтверждения приема предыдущеrо. В это время пе :редатчик находится в состоянии ожидания, что и объясняет происхождение 'термина ARQ с ожиданием. Чтобы предотвратить потерю подтверждений, ;J:lСПОЛЬЗУется таймаут (блокировка по времени), так что если источник ни :;чеrо "не услышит" от адресата за это время, то он снова передает это же co ;:щение. Передатчик Приемник Время передачи сообщения т/С Время передачи эаrоловка h/ С Время распространения t Время передачи подтверждения а/С Время распространения t Данные 3аrоловок Передача сообщения Данные Рис. 4.49. ААО с остановом и ожиданием Коэффициент использования (utilisаtiоп) канала определяется как доля BpeMe ни активности канала. Если кадр состоит из h битов зarоловка и т битов co общения, подтверждение содержит а битов, скорость передачи канала  В бит/с, а задержка распространения (время, которое требуется для перехода сообщения от передатчика к приемнику) равна '[, то в идеальном, свободном от ошибок, звене потребуется (h + т)/В + 't секунд, для Toro чтобы кадр дoc тиr приемника. Затем приемник подтвердит получение этоrо кадра, посылая подтверждение, которое "будет получено источником кадра через а/В + т ce кунд. Теперь узел может передавать следующий кадр. Таким образом, полное 
138 Передача данных в сетях: инженерный подход h+m+a время (с), требуемое для передачи одиночноro кадра, равно В = 2т. В течение этоrо периода передается т битов сообщения, так что полезное время равно т/В. Коэффициент использования равен отношению полезноrо времени (то есть времени передачи информационных битов т) к общему KO т личеству времени, затраченному на передачу кадра, Т.е. . h + т + а + 2Вт Для высокой степени использования канала требуется, чтобы заroловок и подтверждение были короткими, а время распространения  небольшим. Для преодоления неэффективности ARQ с остановом и ожиданием можно продолжать передавать новые кадры, не ожидая получения никаких подтвер ждений (АSКсообщений8). Для числа 9 кадров, ожидающих получения под тверждения, устанавливается не который максимум, а соответствующий про токол называют АRQпротоколом со скользящим окном. АRQпротокол с остановом и ожиданием часто называют АRQпротоколом со скользящим окном размера 1. Использование таких окон обеспечивает определенную cтe пень управления потоком данных и предохраняет передающий узел от пере попнения приемника (что весьма вероятно в случае повторной передачи) и, кроме TOro, задает верхний предел для объема необходимоrо буферноro про странства. Чтобы справиться с потерей подтверждений, можно для каждоrо кадра ис пользовать таймаут (как в ARQ с остановом и ожиданием). Если подтвер ждение не было своевременно получено, то интервал таймаута завершается по таймеру, а передатчик предполаrает, что кадр потерян, и что нужно по вторно передать только что переданный кадр. В качестве альтернативноrо способа обнаружения потерянных кадров можно отслеживать на принимаю щем конце канала передачи перерывы в их последовательности. Существуют два режима повторной передачи: или Передатчик передает толь ко тот кадр, в котором бьта ошибка (избирательная повторная передача), или он также повторно передает все кадры, которые были переданы после потери кадра (повторная передача с возвратом N кадров). В избирательной схеме передатчик повторно посылает только тот кадр, KOTO )ый был ошибочным. Преимущество этой схемы заключается в том, что она eHee расточительна с точки зрения пропускной способности канала, но за шсит от способности приемника rарантировать, что кадры поставляются ce reBoMY уровню в правильно м порядке. Это означает, что сетевой уровень ЛСК  сокр. от acknowledgement (подтверждение).  Пер. это число называюr ОКНОМ (window).  Пер. 
rllaea 4. С точки зрения сетей 139 должен правильно буферизовать полученные кадры во время ожидания по вторно передаваемых кадров. JЗ схеме с возвратом N кадров, передатчик "возвращается назад" к потерян ному кадру и от этой точки снова посылает все кадры. Преимущество этоrо подхода состоит в том, что в приемнике не требуется буферизации или по BTopHoro построения последовательности кадров. Но вследствие Toro, что эта ,схема ARQ требует повторной передачи даже тех кадров, которые, возможно, «)ыли приняты правильно, она не столь эффективна в случае ошибок, как :схема с избирательной повторной передачей. i.Если задержка распространения мала, и поэтому перед получением подтвер )lCдения передается мало кадров, то число кадров, на которые воздействует ;зта схема, также будет небольшим. Однако в сетях с большим числом длин 'ыx звеньев может появиться довольно существенная задержка, так что по ,ядок повторной передачи можно будет сохранять только за счет уменьше 'ния пропускной способности. ;" :В системе с возвратом N кадров для определения Toro момента, коrда про :Взошла ошибка или коrда бьти приняты дубликаты кадра, приемник прове РJlет порядковые номера кадров. Если был получен правильный кадр с поряд "Ковы м номером N, то следующий полученный кадр должен иметь номер .н + 1. Если номер следующеro принятоrо кадра равен N + 2, то кадр с HOMe [ром N + 1 считается потерянным. -'t, B протоколах со скользящим окном роль порядковых номеров является  twающей. Коrда передается кадр, ему приписывается номер, который опреде eт порядок ero вывода по отношению к друrим кадрам. Эти номера исполь > я приемником для Toro, чтобы rарантировать, что кадры, передаваемые tka сетевой уровень, расположены в правильном порядке. , 'i, i.ц.шпазон допустимых порядковых номеров является функцией размера окна jl,l метода повторной передачи. В случае протокола со скользящим окном раз ! мера 1 требуется одноразрядный порядковый номер. В общем случае дЛЯ OK "на размером К кадров, диапазон требуемых порядковых номеров простирает ;ея от О дО 2К+1 дЛЯ системы, использующей избирательную повторную :передачу, и от О до К+l  для систем с возвратом N кадров. Для указания Последовательноrо номера в каждом кадре обычно задается специальное поле "размером в 3 или 8 разрядов. J3ычисление коэффициенra использования (р) для протоколов со скользящим окном несколько сложнее. Здесь различают два случая. При большом окне ero размер оказывается достаточным для непрерывной передачи в условиях orcyrcтвия ошибок. В случае маленькоro окна ero размер не достаточен для He npepывной передачи, но можно использовать эффективную схему ARQ с ocтa новом и ожиданием, позволяющую одновременно передавать несколько кадров. 
140 Передача данных в сетях: инженерный подход h+m Пусть на передачу кадра затрачивается  секунд, а на прием подтвер а ждения  2't + В секунд. это означает, что при ожидании подтверждения (2т. + а / В) = 2& + а кад ро в. Если Р азме р окна на 1 (или можно передавать «h + т) / В) h + т на еще большую величину) больше, чем это значение, то возможна непр рывная передача, а коэффициент использования в таком случае определяется как m/(h + т). Дополнительная единица в этом условии появляется изза Ha чал.ьноrо кадра, для KOToporo бьто получено подтверждение. В случае H БQЛьшоrо окна ero размер (W) удовлетворяет следующему соотношению: W < (2Вт. + a)/(h + т). 3 v v h+m+a 2 а каждыи временнои интервал размером в В + т. секунд можно пе редзть W кадров, так что эффективность свободной от ошибок передачи воз W(h+m) растает (в формуле ее вычисления появляется множитель ) ). (h + т + а + 2В" Поэтому в канале с малым окном эффективность можно вычислять по фор муле т W(h+m) h + m (h + т + а + 2Вт.) , rде W  размер окна для случая ARQ с остановом и ожиданием. На рис. 4.50 показаны схемы работы ARQ различных типов. В каждом случае канал страдает от ошибок в одной и той же точке. Для ARQ с остановом и ожиданием (рис. 4.50, а) 1, 2 и Зй блоки передаются и принимаются пра вильно, т. к. первый пакет ошибок канала происходит в период ожидания. 4e сообщение искажено ошибками и имеет отрицательное подтверждение, по этому оно передается повторно. Для случая ARQ с возвратом N кадров (рис. 4.50, б) первый пакет ошибок искажает 2й блок сообщения, но источ ник находится в счастливом неведении, пока не примет подтверждение, п редавая за это время Зй и 4й блоки сообщения. После этоrо источник дол жен вернуться ко 2MY блоку и передать ero снова. В таком случае величина N должна быть равной 3 или БОЛЬше. Если бы N было равно только 2, источ ник должен был бы остановиться после передачи блока 3 до тех пор, пока не будет принято подтверждение приема блока 2. В системе ARQ с избиратель ным повторением передачи (рис. 4.50, в) предполаrается также наличие ми иимальноrо буфера для хранения по крайней мере Зх блоков, и повторно передается только ошибочный блок. Обратите внимание, что эта система передает 11 блоков, в то время как друrие системы справляются только с 7 ипи 5 блоками. 
rJ;1aвa 4. С точки зрения сетей 141 ARQ с остановом и ожиданием а ARQ с возврвтом N кадров б П.!Сет оuмбок · П.кет ошибок ... .... ARQ с избирательным повторением Рис. 4.50. Работа различных типов ААО в Если в блоке есть ошибки, то ero нужно передавать повторно. Поэтому для уменьшения количества повторно передаваемой информации разумно иметь короткие блоки. Однако уменьшение длины блоков приводит К увеличению количества сообщений и подтверждений, а в случае передачи, свободной от ошибок, и к уменьшению коэффициента использования канала (изза Toro что заroловок имеет минимальный размер). Коэффициент использования дЛЯ ARQ с остановом и ожиданием при возник новении ошибок можно рассчитать следующим образом. Пусть используется таймаут, который запускает повторную передачу, если не получено под тверждение. Минимальный размер интервала таймаута равен 2t + а/В (время, которое обычно требуется для возврата подтверждения). В этом случае кадры будут передаваться с одним и тем же интервалом, независимо от Toro возни кает ошибка или нет. Пусть Pf вероятность потери кадра, аРа  вероят 
142 Передача данных в сетях: инженерный подход ность потери подтверждения. Вероятность правильноrо приема кадра Ра == (1  Pf) (1  Р а). Поэтому полезная пропускная способность (в кадрах) равна т х Ра, а коэффициент использования вычисляется как mP/(h+ т + а+ 2B't). Подобный подход можно использовать и дЛЯ ARQ с избирательным повторе- нием передачи, если допустить некоторое упрощение, состоящее в том, что повторные передачи потерянных пакетов  это еще не сами потери, и что система должна уменьшить число пакетов, которые она посылает вследствие переПолнения буферов. Это соответствует условию низкой интенсивности ошибок. В'таком случае коэффициент использования свободной от ошибок передачи равен Ра, так что для случая большоrо окна он становится равным mP/(h+ т), а для случая малоrо OKHapaBHЫM mWPsI(h + т + а +2Вт). К сожалению, мы не можем прямо применять этот подход дЛЯ ARQ с возвра- том N кадров, потому что в дополнение к тому, ЧТО нужно снова посылать более ОДНоrо кадра (N кадров в случае большоrо окна и W кадров  в случае малоrо окна), неудача в повторной передаче сбойноrо кадра заставит прото кол остановиться. Однако, если допустить упрощение, состоящее в том, что этоrо не Случится, то каждый потерянный кадр приведет к повторной переда- че N или W кадров. Среднее число передач, требуемых для тoro, чтобы полу- чить успешно переданный кадр, равно 1/Ра. Средне число повторных передач на 1 меНЬШе, чем эта величина, т. е. 1/Р а 1, так что общее количество пере- данных кадров будет равно (I/Pa I)N +1 для большоrо окна или (I/Pa I)W + 1  для малоrо. Изза этоrо множителя коэффициент использования уменьшается и становится равным т  h «1/ Ра  I)N + 1)  для большоrо окна +т тwp h s 2.8т «1/ Ра  I)W + 1)  для малоrо окна +т+а+ На рис. 4.51 показаны rрафики относительной производительности схем ARQ с OCTalioBOM и ожиданием и с избирательным повторением для систе- мы со СКОростью передачи 1 Мбит/с, 40разрядным заrоловком и 40- разрядным пакетом подтверждения. Показаны два случая: с задержкой рас- пространеliИя в 1 О мкс, наиболее вероятной для локальных каналов, и с задержкой распространения 1 О мс, представляющей быстрый MHorocer- ментный Каliал. Внутриrосударственные каналы MorYT иметь задержки распространения порядка сотни миллисекунд, увеличивающиеся во MHoro раз на КОIiТинентальных каналах, rде используются спyrники (СМ. разд. 6.3.3). Вероятность появления ошибочноrо бита на передаваемых данных или lia их ПОдтверждении равна 1 о...... 
fлава 4. С точки зрения сетей 143 0.9 0.1 2 0.8 0.7 u;: s ::с ::! 0.6 о м ..о В 0.5 с u  0.4 ::с Q) s i 0.3 -& -& 3 0.2 ::.:: 1 ,....----....., ,,' " ----------  10 100 1000 10000 100000 Размер сообщения ). в битах Рис. 4.51. Относительная производительность схем ААО: 1  с остановом и ожиданием (задержка 10 мс); 2  с остановом и ожиданием (задеQжка 10 мкс); 3  с избирательным повторением (о'ба случая) Нужно заметить, что во всех случаях коэффициент использования увеличи вается до максимума и затем быстро спадает. Начальный рост происходит потому, что увеличение размера пакета пропорционально уменьшает He производительные затраты при передаче сиrналов. Однако изза Toro, что вероятность побитовых ошибок фиксирована, вероятность правильноrо приема пакетов с увеличением их размеров уменьшается, и на правой CTO роне кривых (см. рис. 4.38) этот фактор начинает доминировать. Например, при интенсивности побитовых ошибок 10---4 только около трети пакетов раз мером в 1 О 000 битов будут приняты правильно. Лучше всех работает ARQ с избирательным повторением, и это справедливо всеrда. Для пакетов больших размеров (и поэтому с большой интенсивностью ошибок) для под держки показанной на рис. 4.51 производительности требуются буферы больших размеров, причем, если размер буфера оrраничен, то производи тельность будет уменьшаться, приближаясь к случаю ARQ с остановом и ожиданием. При низкой интенсивности ошибок производительность ARQ с возвратом N кадров приближается к производительности ARQ с избирательным повторе 
.144 Передача данных в сетях: инженерный подход нием, а при высокой интенсивности ошибок  к производительности ARQ с остановом и ожиданием. В силу Toro, что на практике системы разрабатыва ются таким образом, чтобы обеспечить низкую вероятность повторной пере дачи, это означает, что ARQ с возвратом N кадров часто оказывается пред почтительнее друrих схем. Обратите внимание, что приведенные выше аппроксимации производительности ARQ с возвратом N кадров не поддер живаются в этом примере для пакетов с размерами, превышающими пример но 1000 битов, потому что вероятность повторной передачи превышает 10%, а вероятность остановов повторной передачи незначительна. Но будьте OCTO рожны  применение формулы в случае высокой интенсивности ошибок созда.ет ложное впечатление, что ARQ с возвратом N кадров работает хуже, чем ARQ с остановом и ожиданием, что невозможно. Задержки распространения не сильно влияют на ARQ с избирательным по вторением (в предположении, что буфера имеют достаточно большой объем), но этоrо нельзя сказать об ARQ с остановом и ожиданием. При He больших задержках распространения ARQ с остановом и ожиданием имеет разумную производительность, но если система должна относительно долrо ждать подтверждения, то время ожидания становится довольно существен ным. ARQ с избирательным повторением превосходит ARQ с остановом и ожиданием даже при небольших задержках распространения, но для низкой интенсивности ошибок это различие не очень велико. Для более высокой интенсивности ошибок различие увеличивается. Например, при интенсив ности ошибок 1 03 максимальный коэффициент использования ARQ с изби рательным повторением равен 65%, тоrда как дЛЯ ARQ с остановом и ожи данием 50%. Однако в любом случае коэффициент использования не особенно высок, и лучшая стратеrия состояла бы в том, чтобы использовать некоторое предварительное исправление ошибок, позволяющее у.меньшить высокую интенсивность ошибок на более низких уровнях. Обсуждение OT носительных достоинств этих двух подходов приводится В разд. 5.5. 4.12 Службы TpaHCnOpTHOrO уровня Сетевая часть коммуникационной системы охватывает два уровня стека про токолов OSI  транспортный и сетевой. Сетевой уровень отвечает за Map шрyrизацию, а механизм маршрутизации должен охватывать сеть или сети, лежащие в основе этой системы. Транспортный уровень обеспечивает тpaHC портный протокол, который выполняет транспортировку сообщений от oд Horo ceтeBoro процесса к друrому и совершенно не зависит от ceтeBoro ypOB ИЯ. Работа транспортноrо уровня, по существу, должна обеспечить сквозное 
[лава 4. С точки зрения сетей 145 взаимодействие, которое не зависит от сетевой инфраструктуры. Он должен иметь дело с адресацией, установкой соединений, управлением потоком дaH ных и восстановлением после аварийных отказов. Чтобы обслуживать различные типы сетей (например, сети с соединениями и без соединений) и различные запросы приложений, транспортный уровень предлаrает несколько классов различных служб. Классы транспортных служб определены как в модели Международной орrанизация по стандартизации (180), так и в модели Internet. Первые были разработаны скорее для общих телекоммуникационных служб, а не для служб передачи пакетных данных. Развитие же Internet означает, что, хотя эта система обеспечивает только два класса служб  протокол пользовательских дейтаrрамм (UDP), работающий без соединений, и основанный на соединениях протокол управления переда чей (ТСР), но именно такая модель сейчас наиболее популярна. Подобное же разнообразие представлений можно заметить и в отношении услуr, предоставляемых сетевым уровнем транспортному. В подходе 081 c тевой уровень может обеспечить 3 разных службы для трафиков различных типов. В подходе Internet имеется только одна служба  Iпtеrпеtпротокол (Internet Protocol, IP). IP  очень простая служба, предназначенная для рабо ты в нескольких, возможно, различных сетях. Разработчики протокола стави ли своей целью построить некоторый общий знаменатель для любых сетей, позволяющий в то же время сделать лежащую в ero основе сеть более про стой. Популярность IРпротокола связана с тем, что он позволил разработать ,протоколы некоторых служб, которые никоrда ранее не выполнялись по IP, например, rолосовых. Обе модели поддерживают службы с соединениями и без соединений, но в различной манере. 081 выдает свое телекоммуникационное происхождение поддержкой обеих служб на сетевом уровне, но на транспортном уровне предлаrает только службы, ориентированные на соединения. Подход Internet обеспечивает сетевой уровень без соединений, но на транспортном уровне обеспечиваются обе службы  с соединениями и без соединений. 4.12.1. Адресация Дпя Toro чтобы вступать в связь, объекты должны обладать способностью оп ределять местонахождение и адресовать своих одноуровневых партнеров. Сле дует отличать адреса TpaHcnopтHoro уровня от адресов сетевоro уровня. Адреса транспортноrо уровня должны отображаться на процессы, использующиеся для идентификации фактически общающихся друr с друrом объектов, которые, вероятно, являются отдельными процессами на хостузлахlО сети. Сетевой ypo вень посылает информацию к определенному терминальному устройству, так что адреса ceтeвoro уровня относятся к самому терминалу. 10 ХОСТ  любое устройство, подключенное к сети и использующее протоколы ТСРjlР.  Пер. 
146 Передача данных в сетях: инженерный подход Иерархическая адресация Иерархическая адресация использует ряд полей, каждое из которых более точно определяет размещение адресуемоro объекта. В качестве примера можно привести телефонный номер в формате <страна, rород, АТС, номер телефона>. Иерархическая адресация часто используется на сетевом уровне, rде она упрощает маршрутизацию, поскольку в адресе неявно указывается место расположения адресата. Однако вследствие Toro, что транспортный уровень не занимается маршрутизацией, то такое преимущество не использу ется. На самом деле это может оказаться и недостатком, т. к. если поддержи вающий связь объект перемещается в новое расположение, то он не может взять с собой и свой адрес, потому что тот содержится в сетевом компоненте. Возвращаясь к примеру телефонной сети, можно привести следующую aHa лоrию: если бизнесмен перемещается в новую rеоrрафическую область, он не может взять с собой свой номер телефона, если этот номер является cтaH дартным номером АТС. Новые персональные номера, начинающиеся в Вели кобритании на 07, можно перемещать, поскольку они используют структуру простой, так называемой сплошной (flat) адресации, описанной далее. OДHa ко, поскольку телефонная сеть использует иерархическую нумерацию, то во время установки вызова сплошной адрес должен быть преобразован в иерар хический. Это накладывает на сеть дополнительные обязательства. Сплошная адресация Сплошные (f1at) адреса используют единое поле, без специальной привязки к rеоrрафической или иной иерархии. Это поле должно быть достаточной дли ны, чтобы представлять адреса всех точек доступа к транспортным сетевым службам. Чтобы rарантировать уникальность каждоrо aдpecHoro идентифи катора, сплошная адресация требует централизованной записи всех назна ченных адресов. Поскольку эта запись может быть распределенной, то YCTa новка соединения может оказаться более сложной задачей. Сплошная адресация позволяет общающимся сторонам быть более мобильными, но маршрутизация при этом оказывается более сложной. Протокол начальноrо соединения Если система предлаrает множество служб, то невозможно назначить посто янные транспортные адреса для каждой из них. Одним из решений этой про блемы является процедура, называемая протоколом начальноzо соединенИЯ (Initial Connection Protocol, ICP), использующим так называемый сервер пpo цессов (process server). Потенциальные пользователи любой службы сначала соединяются с сервером процессов, который затем rенерирует новый процесс и назначает транспорmый адрес для этоrо HOBoro процесса. Затем сервер процессов отсоединяется от пользователя, и тот получает возможность co единиться с новым процессом (рис. 4.52). 
..лава 4. С точки зрения сетей 147 ИЗВ8стнь.й адрес Хост А . Хост в (4) Сервер процессов сообщаетпольэователю адрес процесса и затем закрывает соединение (1) Сервер процессов прослушивает известные адреса (2) Пользователь соединяется с известным адресом (3) Сервер процессов создает требуемый процесс с допустимым адресом (5) Пользователь соединяется с выбранным процессом Рис. 4.52. Назначение транспортных адресов Р.12.2. Классы транспортных служб 051 $ модели OSI имеется пять классов транспортнt'tx служб. Сетевой уровень  .. оrда бывает ненадежен, поэтому MOryт существовать остаточные ошибки, , е. ошибки, которые все еще присутствуют после Toro, как более низкие tpoвни выполнили их обработку. Кроме тoro, MOryт существовать так назы Mыe СU2налuзирующие отказы (signalled failures). Так называют ошибки, ронаруживаемые сетевым уровнем, с которыми он не может справиться. 1'ранспортный уровень должен самостоятельно обнаруживать остаточные 1!' inибки. В модели OSI определены сети следующих трех типов: [] тип А  сетевые соединения с приемлемым уровнем остаточных ошибок и приемлемым уровнем сиrнализирующих отказов; [] тип В  сетевые соединения с приемлемым уровнем остаточных ошибок и с недоnyстимым уровнем сиrнализирующих отказов; [] тип С  сетевые соединения с уровнем остаточных ошибок, неприемл мым для пользователя транспортных служб. Для этих сетей определено пять служб тpaHcnopTHoro уровня: [] класс О  это простой класс, используемый в сетях типа А, т. е. сетях, KO торые самостоятельно обеспечивают приемлемую производительность. 
148 Передача данных в сетях: инженерный подход ОН был разработан предшественником CeIТT для использования с теле Ксным оборудованием, обеспечивая соединения, базирующиеся на управ Лении потоком данных ceтeBoro уровня с освобождением соединений; (] класс 1  ЭТО основной класс с исправлением ошибок, используемый в сетях типа В. Он бьU1 разработан eeIТT и предназначен для работы в ce тях Х25, [де он обеспечивает минимальное восстановление после ошибок (до уровня сетевых сиrнализирующих ошибок); (] Юlасс 2  это класс мульmплексирования, используемый в сетях типа А. О" является усовершенствованной версией транспортных служб класса О и, подобно этим службам, предполаrает надежное сетевое обслуживание. Службы этоrо класса поддерживают мультиплексирование множествен HblX транспортных соединений на одном сетевом соединении наряду с ин дивидуальным управлением потоком данных для каждоrо транспортноrо соединения; (] Юlасс 3  это класс служб с исправлением ошибок и мультиплексирова нИем, используемый в сетях типа В. Он является комбинацией классов 1 и 2 и обеспечивает мультиплексирование и управление потоком данных (как в классе 2) наряду с восстановлением синхронизации (как в классе 1) для сетей, склонных к отказам; (] Юlасс 4  этот класс обеспечивает обнаружение и исправление ошибок и используется в сетях типа С. В оТличие от дрyrих классов, которые Tpe бytoт сетевых служб, базирующихся на соединениях, службы 4ro класса MOryт поддерживать сетевые услуrи без установки соединений. Он npek полаrает, что сетевое обслуживание ненадежно, имеет недопустимо низ киli уровень управления осТатОЧНЫМИ ошибками и обеспечивает управле ние потоком данных, установку/завершение соединения и восстановление поСле сбоя. Транспортная служба класса 4 ISO и транспортная служба теР Internet aHa лоrИЧJiы. Однако все транспортные службы ISO ориентированы на установку соеДИJiений, и в них нет никакоrо эквивалента транспортной службе UDP Internet. 4.12.3. Классы транспортных служб Internet в модели Internet реализован друrой подход. Он, по существу, предполаrает, что сеть может обеспечивать только ненадежное обслуживание без установки соеДИJiений, и обеспечивает только два транспортных класса  ТСР, KOTO рый соответствует службе класса 4 ISO, и UDP, который не подцерживает соеДИНений. Оба эти протокола работают над IРпротоколом, который явля ется отдельной службой ceTeBoro уровня и разработан для Toro, чтобы испол нять роль "иrровоrо поля" этоrо уровня, на котором доступна любая сеть. 
fлава 4. С точки зрения сетей 149 Протокол пользовательских дейтаrрамм Протокол пользовательских дейта2Рамм (User Datagram Protocol, UDP) обеспечивает простой механизм, работающий без установки соединений и позволяющий приложениям обмениваться сообщениями. Хотя факт OTCyтcT вия установки соединений означает, что протокол имеет очень низкий уро- вень непроизводительных затрат (служебных данных) при передаче, это TaK же означает, что в нем нет никакоrо управления ошибками или потоком данных. Для некоторых служб реальноrо времени с очень низкими требова ниями к задержкам, таких как передача речи, отсутствие управления потоком является преимуществом, поскольку любые потерянные данные никаким об разом не MOryт быть повторены. UDP используется также для передачи ши роковещательных сообщений, т. к. ПОДХЕ>Д С установкой соединений в этом случае неприменим, а для периодических сообщений, подобных сообщениям для модификации таблиц маршрутизации, потеря данных не имеет значения, поскольку существующие данные можно сохранять до следующей модифи кации. Некоторые службы, подобные службе домеllllЫХ uмe1l (Domain Name Service, DNS), которая моrла бы использовать ТСР, обычно используют UDP (ради эффективности). Вместо ненужной траты времени на установку соеди нения и добавления наrрузки на хостузел, выполняется UDРзалрос без yc тановки соединения. Если этот запрос или отклик на Hero потеряны, Tf> после таймаута будет испытан друrой DNScepBep. .... протоколыlя едИllица обмеllа (Protocol Data Uni,PDU) протокола ИОР им ет заrоловок, содержащий четыре 16разрядных поля (рис. 4.53). Два первых поля (Порт источника И Порт назначения) содержат ссылки на процессы при ложений на локальном и удаленном хостузлах, соответственно. Исходный порт  необязательное поле; оно устанавливается в ноль, если такой порт не используется. В поле Длина дейтаrраммы указывается общее количество OK тетов в дейтаrрамме, включая заrоловок. Порт источника Порт назначения Длина дейтаrраммы Контрольная сумма Данные (максимальная длина 65527 байтов) Рис 4.53. Пакет UDP Обратите внимание, что сеrмент ИОР не содержит адреса получателя, а толь ко номер ero порта. Это происходит потому, что ИОР разработан для тpaHC портировки через IРпротокол, и эry информацию (адрес получателя) coдep жит IРзаrоловок, описываемый в разд. 4.13. Есть и еще одна проблема поскольку заrоловок UDP не содержит прямо информацию 06 адресе получа 
150 Передача данных в сетях: инженерный подход теля, то UDРдейтаrрамма может быть доставлена в неправильный хостузел, и транспортный уровень ничеrо не будет знать об этом. Чтобы решить эту проблему, из полей Адрес источника, Адрес назначения, Протокол И Длина заrоловка пакета IP (см. рис. 4.56) формируется псевдозаrоловок, который добавляется к дейтаrpамме UDP с целью вычисления контрольной последо вательностu кадра. Эта последовательность представляет собой дополнение до единицы ll арифметической суммы дейтаrраммы, вычисляемой последова тельно по всем ее 16разрядным полям. Если дейтаrрамма доставляется на неправильный хостузел, то контрольная сумма будет ошибочной. Поле Контрольная сумма  не обязательно устанавливается в ноль, если KOH трольная последовательность не используется. Но если она используется, то промежуточные маршрутизаторы Moryт проверять ее и сбрасывать испорчен ные пакеты (для сохранения сетевой заrрузки). Обратите внимание  сказанное означает, что UDРпротокол зависит от IP протокола и не может использоваться как транспортный протокол для друrих сетевых протоколов. Однако эта зависимость работает только в одном Ha правлении  IРпротокол не оrраничивается поддержкой только UDP протокола. Протокол управления передачей (тср) Протокол управления передачей (Transmission Control Protocol, ТСР)  это ориентированный на соединения коммуникационный протокол, предназна ченный для работы с IРпротоколом (рис. 4.54). Подобно UDP, ТСР позволя ет орrанизовать связь между определенными процессами на каждом XOCT узле, так что между двумя хостузлами может существовать MHOro различных соединений одновременно. Однако, поскольку идентификация соединения выполняется на основе портов каждоrо хосткомпьютера, то для пары COOT ветствующих узлов может существовать только одно соединение  между портом источника и портом адресата. Поскольку IРпротокол обеспечивает недостаточно надежный механизм пе редачи, а ТСРпротокол ориентирован на соединения, то последний должен обеспечить механизмы, rарантирующие, что любые потерянные или иска женные данные перед их доставкой к верхним уровням будут восстанавли ваться. Для этоrо используются механизмы ARQ. Работа ТСР разделена на три этапа: установка соединения, передача данныIx и завершение соединения. На этапе установки соединения изза недостаточной надежности ceтeBoro обслуживания используется тройное квитирование. 11 Дополнение до единицы HeKoтoporo числа  это ero двоичное представление с инверсией всех разрядов: О заменяется на 1, а 1  на о. 
rлава 4. С точки зрения сетей 151 Прикладной Транпортный v P IP Межсетевой Хост-узел сети Рис. 4.54. Протокол управления передачей (ТСР) тср является полнодуплексным поточно-ориентированным протоколом. Данные непрерывно передаются в тср из протокола BepxHero уровня. Затем они произвольным образом разделяются на блоки (сеrменты). Являясь пол- ным дуплексом, протокол позволяет орrанизовать межпроцессный обмен данными в любом направлении. CerMeHT ТСР Структура cerMeHтa тср показана на рис. 4.55. Каждый cerMeHT имеет двой- ное назначение. Он посылает данные соответствующему одноуровневому партнеру (процессу на друrом конце передающей линии), а вследствие TOro что ТСР-протокол является полнодуплексным, он подтверждает получение отправленных данных. Порт источника 1 Порт назначения Порядковый номер Подтверждение  .=':: Размер окна Рио. 4.55. CerMeHT ТСР 
162 Передача данных в сетях: инженерный подход в полях Порт источника И Порт назначения; хранятся 16разрядные числа (номера указанных портов). Эти поля комбинируются с [paдpeCOM хостузла и задают номер COKema 12 . Этот уникальный адрес называют точкой доступа к транспортным службам (Transport Service Access Point, TSAP). Чтобы контролировать правильность приема данных, в ТСР выполняется последовательная нумерация cerMeHToB. Поскольку cerMeHTbI MOryт изме няться в размерах, нумерация выполняется на базе индивидуальных байтов ПQТOка передаваемых данных (по модулю i\ а не посеrментно. Второе поле каждоrо cerMeHTa содержит порядковый номер, а третье  номер подтвер ЖДения. Порядковый номер  это номер первоrо байта cerMema. Номер под тверждения  это номер следующеrо байта, который данный хостузел ожи дает получить от cBoero одноуровневоrо партнера и который должен подтвердить, что все данные до этой точки были приняты правильно. Каждый cerMeHT не требует индивидуальноrо подтверждения. Перед посыл кой подтверждения рекомендуется подождать полсекунды после приема па кета на тот случай, если будyr продолжать прибывать дальнейшие данные, уменьшая тем самым наrрузку на канал подтверждений. Если за это время принимается второй cerMeHT, то оба они немедленно подтверждаются. Если полсекунды проходит без приема следующеrо cerMeHTa, то для первоro cer мента посылается ero собственное подтверждение. Потеря cerMeHTOB может привести или к потере данных, или к потере под тверждений. Потерю данных может указать адресат, подТВерждая прием cer мента с более низким порядковым номером, чем ожидается. В этом случае данные должны быть посланы повторно. Потерянное подтверждение BЫНY дит передатчик повторно посылать данные после завершения таймаута. Если приемник принимает данные, которые он уже правильно принял, он посьmает дополнительное подтверждение и сбрасывает дубликаты данных. Во время таймаута можно получить подтверждение приема следующеro cerMeHTa. Так как подтверждения определяют, что все данные предшествующие данному бай1)', уже были приняты, то это подтверждение может также подтвердить Прием тех данных, первоначальное подтверждение которых было потеряно, устраняя необходимость повторной посылки этих данных. В заrоловке ТСР допускаются различные необязательные элементы, предна значенные для соrласования с параметрами сеанса. Например, 4разрядное ПОле длины заrолоВка, которое указывает длину заroловка в З2разрядных Словах. Обычно это поле не используется, так что размер заrоловка остается равным 20 байтам. 12 Со"ет  объект, являющийся конечным элементом соединения, обеспечивающеro взаимо деЙСТВИе между процессами транспортНОro уровня сети.  Пер. 
rлава 4. С точки зрения сетей 153 Поле флажков (на рис. 4.55 вынесено в отдельный фраrмент) содержит сле дующие флажки: [J URG  указывает, что должно использоваться поле Указатель срочности. Это поле содержит номер байта поля данных, rде кончаются срочные дaH ные. Хотя это поле определено, во мноrих реализациях оно не используется; [J АСК  указывает, что данный PDU переносит подтверждение, и поэтому в поле Подтверждение содержится ero правильный номер; LJ PSH  указывает, что данные, которые узел держит в ожидании передачи, должны пересылаться напрямую, а не помещаться в буфер; [J RST  указывает, что соединение должен быть восстановлено; [J SYN  используется для установки соеинения; [J FIN  используется для завершения соединения. В поле Размер окна указывается количество байrов, которые способен при нимать приемник. В ТСР существует та же проблем отсутствия адреса приемника, как и в про токоле UDP. Разрешается она таким же способом, что и в UDP  путем по строения псевдозаroловка, включающеrо адрес источника, адрес пункта Ha значения, тип протокола и длину заrоловка IРпакета, который используется вместе с друrими 16разрядными словами cerMeHTa для построения KOH трольной последовательности кадра. Однако ка.нтрольная последователь ность кадра ТСР не является необязательной, как зто было в протоколе UDP. Как и в UDP, это оrраничивает тср работой с IРпротоколом, а не с любым сетевым протоколом, но уменьшает общие накладные расходы протоколов ТСР и IP дО 40байтноrо заrоловка. Чтобы представить ТСР в действии, вернемся к примеру поиска Web ,отраницы из разд. 1.4 с помощью WebcepBepa Боб и клиента Алиса. 'Чтобы установить соединение, Алиса посылает Бобу cerMeHT ТСР, с yc тановленным флажком SYN, и порядковым номером, который выбрала Алиса (в данном случае зто 5637114). CerMeHT тср не содержит никаких данных. Если соединение может быть установлено, то Боб отвечает: (а)  своим собственным порядковым номером (в данном случае зто 2454387047), и (Ь)  подтверждением порядковоrо номера Алисы (5637114 + 1 == 5637115), потому что это следующий байт, который он ожидает принять. Поскольку такой cerMeHT содержит подтверждение, то флажок АСК установлен, также как и флажок SYN. Наконец, Алиса под тверждает подтверждение Боба, не посылая никаких данных, кроме HO мера подтверждения (2454387048 == 2454387047 + 1). Orметим два момента. Вопервых, все эти cerMeHTbI содержат размер окна, указывающий количество данных, которые они хотят получать снова. Bo 
154 Передача даННЫХ в сетях: инженерный подход вторых, максимальный размер cerMeHTa (MSS, Maximum Segment Size), соrласуется через необязательные поля в заrоловке ТСР. Алиса запрашивает MSS = 536 байтов, что Боб и делает. Последовательность этих действий следующая. 1. Алиса посылает Бобу cerMeHT с порядковым номером 5637114, без данных, без подтверждения, с размером окна:::: 8192, установленным флажком SYN и MSS = 536. 2. Боб посылает Алисе cerMeHT с порядковым номером 2454387047, без данных, с подтверждением 5637] 15, размером окна 9112, установленным флажком SYN и MSS = 536. 3. Алиса посылает Бобу cerMeHT с порядковым номером 5637114, без данных, с подтверждением 2454387048 и размером окна 8576. Теперь соединение установлено. Затем Алиса посылает Бобу cerMeHT. Этот cerMeHT содержит запрос на Web страницу. Нормализуя порядковый номер к О, Алиса посылает 285 байтов данных, с порядковым номером 1 (номер первоrо байта данных в cerMeHTe) и подтверждение 1 (потому что Алиса ожидает, что следующий байт от Бо ба будет с номером 1). В этом примере в запросе также посылается флажок PSH, требующий, чтобы данные были доставлены в приложение немедлен но. Использование рsнфлажка не определено в стандарте и зависит от KOH кретной реализации На данном компьютере. Боб отвечает без данных, но с подтверждением 286 (285 + 1). Затем Боб посылает свои 536 байтов данных (первую часть WеЬстраницы). Так как WеЬстраница по длине больше, чем MSS, то Боб разбивает ее на блоки, каждый длиной MSS, кроме последнеrо, который имеет длину только 450 байт. Алиса подтверждает эти передачи, иноrда посылая одно подтверждение для двух пакетов, если эти пакеты по лучены в пределах 'таймаута размером в 500 мс. Полная последователь ность выrлядит так: A1.ice----+Вob PSH Seq = 1, 285 data bytes, Ack 1 win 8576 BobAlice Seq = 1, по data bytes, Ack 286 win 9112 BobAlice PSH Seq = 1, 536 data bytes, Ack 286 win 9112 A1.ic Seq = 286, по data bytes, Ack 537 win 8576 BobAlice Seq = 537, 536 data bytes, Ack 286 win 9112 BobAlice PSH Seq = 1073, 536 data bytes, Ack 286 win 9112 A1.iceВob Seq = 286, по data bytes, Ack 1609 win 8576 BobAlice Seq = 1609, 536 data bytes, Ack 286 win 9112 BobAlice Seq = 2145, 536 data bytes, Ack 286 win 9112 
rл аsа 4. С точки зрения сетей 155 tuic:eBob Seq  286, по data bytes, Ack 2681 win 8576 BobAlice PSH Seq 2681, 536 data bytes, Ack 286 win 9112 " ilU.ic:eВob Seq 286, по data bytes, Ack 3217 win 8576 obAlice PSH Seq 3217, 450 data bytes, Ack  286 win 9112 8u.ic:eВob Seq 286, по data bytes, Ack  3667 win 8126  .1 з. Протокол Internet (IР) r Jlротокол Internet (lnternet Protocol, IP)  это основа сети Internet. [P JIРОТОКОЛ был разработан, прежде Bcero, для орrанизации межсетевых .заимодействий. Это проСтой протокол, который может использовать поч pt любая сеть. Он обеспечивает, пожа.riуй, одну из самых распространен JibIX служб ceTeBoro уровня  службу дейтаrрамм. Данные транспортноrо " овня (ТСР или UDP) преобразуются в IРдейтаrраммы и передаются по и. IPceTb  это сеть соединенных друr с друrом узлов, использующих протокол, но поскольку сами эти соединения Moryт формироваться в , руrих сетях, то IPceTb можно рассматривать как сеть, наложенную на ь друrих протоколов, используемых для фактической транспортировки aHHЫX. ё -< Я TOro чтобы расширить применение сетей раJl.IИЧНЫХ типов, IРпротокол _ дъявляет к ним очень мало требований. Кроме Toro, он предполаrает, что , "неинтеллекryальна" и ненадежна, так что право подтверждать, что при _ адные данные были доставлены правильно (то есть не имели искажений и Imечали всем требованиям синхронизации) протокол предоставляет оконеч !ЫМ пунктам или приложениям. Если же с доставкой данных чтото не в п<r iSщке, то они должны самостоятельно предпринимать любые необходимые йствия. Подобный упрощенный подход распространяется и на промежуточные узлы IP-сети  маршрутизаторы. Они выполняют две основных функции  про .падывают маршруты, направляя по ним IРпакеты к их адресатам, и фраr .нтируют большие [Рблоки на более мелкие, как этоrо требует COOTBeТCT '8ующая технолоrия сетевой транспортировки. ,4.13.1. Формат IP-пакета 'Текущая версия IРпротокола  четвертая (lPv4). Пакет протокола IPv4 co t1'оит из заrоловка переменной длины (13 полей) плюс поле данных. Макси мальная длина IРдейтаrраммы (заrоловка и данных) составляет 64 Кбайт. Поля заrоловка подразделяются на 4байтовые блоки, и принято соrлашение, ЧТО [Рпакет состоит из 32разрядных строк, как показано на рис. 4.56. 
t$6 Передача данных в сетях: инженерный подход r,IL ,1::"d Смещение 1 Не используемый 2 Не фраrментированный 3 Добавочные фраrменты (все один байт)  .  .J.:1!(......_..  :  ..... Адрес пункта назначения Опции Максимум 64 Кбайт < Рис. 4.56. IРпакет Четыре поля первой строки связаны с общим форматированием IРпакета. 4битовое поле V (Version, версия), указывает версию используемоrо про токола. Поле IНL (Internet Header Length, длина заrоловка Internet) также 4 битовое, указывает длину IРзаrоловка в 32разрядных блоках, включая блоки необязательных свойств заrоловка, размещаемые в поле Опции после адресных полей. Третье поле ToS имеет длину 8 битов и указывает тип службы (Туре of Service). Теоретически оно позволяет хостузлу определять приоритеты (0---------7), указы ваюЩие, что представляется наиболее важным при передаче пакета  за держка, производительность или надежность. Однако на практике, большин ство маршрутизаторов иrнорируют это поле. Назначение поля Длина очевидно: в нем задается общая длина дейтаrpаммы. Максимальный размер, который можно задать в этом 16разрядном поле, pa вен,2!6 (то есть 65536) байтов, однако типичный размер дейтаrраммы обычно непревышает 1500 байтов и часто оrраничивается 576 байтами (ато мини мальный размер дейтаrpамм, с которым rарантированно работают все Mexa низмы IРтранспортировки). Вторая строка заrоловка используется для управления процессом фраrмента ции. Перед передачей большие пакеты разбиваются на более мелкие, причем для соrласования с ВОЗМОжностями сети фраrментация может выполняться и в промежуточных маршрутизаторах. Но если пакет уже фраrментирован, то он повторно не собирается до тех пор, пока не достиrнет приемника. 16разрядное поле Идентификатор позволяет определить (в принимающем хостузле), какой дейтаrрамме принадлежит данный фраrмент  все части принимаемой деЙ'farраммы должны иметь одинаковое поле идентификатора. Поля 2 (Don't Fragment, DF  не фраrментированный), 3 (More Fragments, MF  добавочные фраrменты) и Смещение фраrментов, связаны с управлением 
rлаsа 4. С точки зрения сетей 157 фраrментацией дейтаrраммы. Установка одноразрядноrо поля (флажка) DF YKa зывает, что фраrментация пакета не разрешается. Флажок MF указывает, что далее следует несколько фраrментов, причем МFфЛажки всех фраrментов, кроме последнеrо, устанавливаются в 1. Поле Смещение фраrментов указывает, rде в текущей дейтаrрамме установлен текущий фраrмент. Длина этоrо поля  13 разрядов, что на 3 разряда короче 16разрядноro поля Длина IРпакета (за счет флажков DF, MF И первоrо разряда (поле 1), который в настоящее время не используется), так что IPдейтаrраммы фраrментируются на целое число бл ков по 8 байтов. Процесс фраrментации показан на рис. 4.57. 3аrоловок Исходное сообщение Фраrменты (минимальный размер 2)  З 4 1 ..< ... :>'....f<; з 7 О "J--'" «....".  Рис. 4.57. Фраrментация IРпакета Третья строка (см. рис. 4.56) имеет дело с аспекr!ми оперативноrо управле ия продвижением пакетов через сеть. Поле Время жизни (Lifetime или Time 110 Live, TTL) используется как счетчик сетевых переходов (hopes) и для Toro, ;чтобы предохранять пакеты от задержки в сети, например, при циклической 'маршрутизации. Первоначально предназначенное для счета времени, оно ,стало, по умолчанию, считать сетевые переходы, поскольку большинство ,маршрутизаторов было неспособно давать точную и скоординированную версию времени. Каждый раз, коrда пакет проходиr через маршрутизатор, Значение этоro поля просто уменьшается на 1 (операция декремента). Коrда значение поле достиrает нуля, пакет сбрасывается. Поле Протокол указывает, с каким транспортным протоколом связана дейта rpaMMa, например, с ТСР или UDP. Оно полностью определено в RFС JЗ 1700. 13 RFC  сокр. от Reqиests for Commeпts, Запросы на комментарии (серия документов lETF, начатая в 1969 roдy и содержащая описания набора протоколов Internet и связанную с ними информацию). lETF  сокр. от Iпterпet Eпgiпeeriпg Task Force, Проблемная rpуппа проекти рования Intemet (одна из rpупп IAB, отвечающая за решение инженерных задач lntemet, выпускает большинсmо RFC, используемых производителями ДJIЯ внедрения стандартов в архитектуру ТСР/lР). IAB  сокр. от Iпterпet Activities Board, Координационный совет сети Intemet (технический opraH, отвечающий за развитие набора протоколов Internet (ТСР); включает технические rpуппы IRTF и IEТF, каждая из которых занимается решением своих задач).  Пер. 
158 Передача данных в сетях: инженерный подход поле Заl'О'nОВОК КОНТРОЛЬНОЙ суммы используется для защиты заrоловка от искажений при ero передаче по сети. Так как поле Время жизни изменяется маршрyntЗатором, то контрольная сумма должна повторно рассчитываться ДJDI каждоrо ceтeBoro перехода. Расчет основан на просто м двоичном допол нении ПOC1lедовательных двухбайтовых слов и операции дополнения до 1 окончател.ьноrо результата. Контрольная сумма очень проста и обеспечива ет элемеmарный уровень защиты, хотя, в зависимости от их позиции, две однобитовые ошибки MOryт оказаться незамеченными. Пакеты с поврежден ными зarОJ10вками сбрасываются. 4.13.2. Адресация Ключевым аспектом работы протокола IPv4 является маршрутизация. Для прокладки маршрута пакета необходимо знать пункт ero назначения (aдpe сат), а также полезно знать и ero источник. В IPv4 это делается явно  с по мощью двух адресных 32разрядных полей, позволяющих определять более 4 миллиардов адресов. На первый взrляд ЭТО, казалось бы, довольно большое число, но при близком рассмотрении орrанизации этих адресов мы видим иную картину. Струюура IРv4адресов по казана на рис. 4.58. о 8 16 24 (31) I  10 сети 10 хостузла Класс Д EJ 10 сети 10 хостузла Класс В  10 сети 1 10 хостузла I Класс С Широковещательный (rрупповой) адрес Класс D Экспериментальное использование Класс Е Рис. 4.58. Различные классы адресов (здесь ID  идентификатор) в IPv4 определено 5 возможных классов адресов  А, В, С, D и Е, ХОТЯ большинство специалистов используют только 3 класса, т. к. два последниХ класса предназначены для широковещательных операций и будущих сетей. Класс (или rpуппа), к которому принадлежит адрес, определяется состоянием ero nepBoro, второrо, тpeтьero и четвертоrо битов. По соrлаUlению, IPaдpeca являются иерархическими, так что соответствующий адрес выражается в 
rлаsа 4. С точки зрения сетей 159 терминах ceTeBoro и хостидентификаторов, а класс адреса указывает тип ce ти и количество индивидуальных устройств, поддерживаемых этой сетью. IPaдpeca имеют 4байтовый размер и обычно записываются в виде четырех подполей десятичных цифр, разделенных точками: ххх.ххх.ххх.ххх (табл. 4.1). Формат взаимноrо адреса определяется значением первоrо подполя. Таблица 4.1. Классы адресов /Pv4 Класс Диапазон Формат А O127 ппп. hhh.hhh. hhh\8 В 128191 nnn.nnn.hhh.hhh\ 16 С 192223 nnn.nnn.nnn.hhh\24 По умолчанию для маршрутизации всеrда используется сетевой идентифика тор, состоящий из всех нулей. Конкретным сетям такой идентификатор не назначается. Для целей обратной связи используется сетевой идентификатор, состоящий из всех единиц. Он тоже не назначается конкретным сетям. По добные оrраничения применяются и к идентификаторам хостузлов  все нули устанавливаются для указания текущей сети, тоrда как все единицы указывают на использование широковещательныХ, пакетов. 4.13.3. Подсети Рассмотрим случай, коrда для некоторой орrанизации требуется адресовать несколько отдельных сетей. Один из подходов состоит в том, чтобы в зави симости от числа хостузлой назначать каждому cerMeHТY свой собственный 'адрес класса В или С. Адрес класса С можно использовать, если число XOCT узлов меньше 254, иначе нужно использовать адресацию класса В. Это, OДHa ко, означает, что внешние маршрутизаторы должны знать, какая сеть орrани зации иrpает rлавную роль (то есть является хостсетью). Поскольку все они выступают в роли отдельных сетей, у орrанизации нет возможности пере lCЛючать хостроль между ними, что оrраничивает любые изменения, которые MOIyr делать ее сетевые менеджеры. Кроме тою, назначение нескольких ce тей индивидуальной орrанизации оказывается неэффективным, поскольку диапазон адресов класса В содержит 216  2 == 65 534 адреса. Если число Tep миналов в одной сети было бы, например, равно 300, то ясно, что потребуетс адресация класса В. Однако применение адресации TaKoro класса оставляет неиспользованными 65 234 адреса. Одним из решений указанной проблемы является использование подсетей. Это означает, что сеть внутренне (в смысле адресации) разбивается на He 
180 Передача данных s сетях: инженерный подход скольКо подсетей, но при просмотре внешними по отношению к этой сети узлами она остается единым объектом. Для этоrо в иерархию адресов вводит СJl третий подсетевой уровень (см. поле Подсеть между сетевой и XOCT частью адреса на рис. 4.59). Блаrодаря этому часть хостадресноrо простран ства, которую контролирует сетевой менеджер, резервируется для указания не отдельной хостмашины, а подсети крупной орrанизации. Сначала внешние маршрyrизаторы направляют пакеты в сеть обычным спо собом, базируясь на сетевом адресе. Затем локальные маршрутизаторы, ис Щ)льзуя маску подсети, определяют, для KaKoro локальноrо маршрутизатора предназначен конкреrnый пакет, причем локальный маршрутизатор не дол жен точно знать, для KaKoro хостузла данный пакет предназначен (если хост не 'ассоциируется со своей подсетью). Это означает, что для отображения HO sой трехуровневой (а не двухуровневой!) иерархии адресов нужно изменить roпько уже существующие таблицы маршрутизации внyrpенних узлов сети. Внешние маршрутизаторы этими изменениями не затраrиваются. Орrаниза ЦИ1l подсетей определена в документе RFC 950. Простой пример с подсетями показан на рис 4.59, rде три отдельные сети некоторой орrанизации пред ставляются для остальной части сети как одна сеть. """" 11111111111111111looooooool 1ЗО.159.подсеть? .' ::  0 j, .:>-,. 1ЗО.159.подсеть 5 '.,,'),:f"'"" Сеть I Хает  1ЗО.159.подсеть 3 Рис. 4.59. Адресация подсетей Б этом примере показано, что пакеты, предназначенные дЛЯ ЛБС типа 130.159/16, ПОС1)'пают в маршрутизатор в форме cerMemoB типа 130.159.28/22. Затем маршрутизатор использует маску подсети, чтобы с по мощью riростой операции "И" получить адрес под сети пункта назначения. После этоrо пакет отправляется в маршрутизатор соответствующей подсети. Сети типа 130.159/16 класса Б можно разбить максимум на 64 подсети, каж ДaJJ из которых может содержать до 1 022 хостузлов. Разбиение на подсети является внyrpенней операцией, которая скрыта от "внешнеrо мира", причем внутренняя конфиryрация подсетей выполняется сетевыми менеджерами  путем проrpаммирования внутренних маршрути заторов с подходящими масками. 
[лава 4. С точки зрения сетей 161 Например: LI маска 255.255.252/22 обеспечивает 64 подсети с 1022 хостузлами; LI маска 255.255.224/19 обеспечивает 8 подсетей с 8190 хостузлами; LI маска 255.255.255/24  это эквивалент адресации подсети класса С; LI маска 255.255/16  это эквивалент адресации подсети класса В. 4.13.4. Бесклассовая адресация Схема адресации, предлаrаемая IРпротоколом, приводит к неэффективному использованию aдpecHoro пространства, которое по современным меркам не так уж и велико, и нехватке адресов класса В. В докумеlПе RFC 15 19 опред лена бесклассовая междоменная маРШРУlfluзацuя (Classless InterDomain Rout ing, CIDR). Она работает следующим образом: сетям, которые первоначально намеревались использовать адреса класса В (но не использовали бы все эти мреса), адреса назначаются в виде блоков адресов класса С. В CIDR больше не делается различий между адресами классов А, В и С  отсюда и назва ние  бесклассовая. CIDR позволяет не оrраничивать больше адресный cer eHT типами /8, /16 или /24. аршрyrизаторы обращаются с этими адресами почти так же, как при Map шрyrизации подсетей  с каждым набором бесклассовых адресов они связы вают так называемую адресную маску (address mask), с помощью которой Ka ждый входящий пакетный адрес получает базо'3Ь1U адрес (base address) и, :raким образом, определяет маршрyrизатор, связанный с соответствующей сетью, причем эта маска теперь имеет переменный размер. С бесклассовой маршрyrизацией связывают дополнительную концепцию, состоящую в том, что конкретные адресные диапазоны связываются с reo rpафическими областями; например, адреса диапазона 194.0.0.0  195.255.255.255 выделяются для Европы, а адреса диапазона 198.0.0.0  199.255.255.255  для Северной Америки. Это облеrчает маршрyrизацию между сетями. Используется так называемая а2ре2ацuя маршрутов, с помо щью которой для описания или представления множественных сетей можно использовать отдельный сетевой префикс. Рассмотрим случай, коrда орrанизации был назначен диапазон IPaдpecoB от 130.159.80.00 до 130.159.95.255, который она будет соответствующим обра зом распределять между несколькими отделами. Эта адресация приведена на рис. 4.60. Сети известно, что маршрyrизатор может принимать любой пакет, чьи пер вые 20 битов адреса есть 100000 I О I 00 IIIII О I О 1, что эквивалентно IPaдpecy 130.159.80.0/20. В приведенном примере для четырех отделов орrанизации требуется соответственно 51 О, 510, 1022 и 254 хостузла, поэтому им может быть назначено адресное пространство 130.159.80.0/20. 
182 Передача данных в сетях: инженерный подход 130.159.88.0/21 130.159.84.0/23 130.159.86.0/23 Рис. 4.60. Пример СIDАадресов Если бы одна из орrанизаций должна была сменить cвoero Iпtеrnеtпровайдера QSP), то СIDRмаршрyrизация позволила бы сохранить назначенный ей диапа зон адресов. Новый ISP будет нспользовать как свой диапазон IРадресов, так и старый диапазон адресов cвoero HOBoro клиента. Рассмотрим, например, поль зователя с диапазоном адресов 130.84.0/23. Первоначальный провайдер ис пользовал свой диапазон адресов 130.159.80.0/20, в то время как новый ISP бу дет использовать диапазон 130.159.84.0/23. Промежyrочные маршрyrизаторы будyr использовать самый длинный префикс, который сможет распознавать, что пакеты диапазона 130.159.84.0/23 следует отравлять новому ISP, а не CTa рому (с диапазоном 130.159.80.0/20), поскольку диапазон /23 имеет приоритет над диапазоном /20. 4.13.5. Служба доменных имен Хотя с точки зрения компьютеров и маршрутизаторов IРадреса достаточно эффективны, но они не особенно дружественны по отношению к пользовате лим. По этой причине числовые адреса заменяются своей текстовой фор мой  доменными uмeHqA1U. Доменные имена имеют иерархическую CTPYK 1Уру и состоят из последовательности элементов, разделенных точками, которые иденrифицируют (справа налево) сначала сеть, затем индивидуаль- ный хостузел и, иноrда службу хоста (WWW, FTP и т. д.). Правый эле- мент  является доменом BepxHero уровня, который базируется либо на reo- rpафическом положении (например, uk  для Великобритании, us  для Соединенных Штатов Америки, au  ДЛЯ Австралии) или на типе орrаниза ции (этот тип доменов используется rлавным образом в CllIA) Так, напри- мер, для Toro чтобы получить имя, заканчивающееся на сот, мноrие орrани- зации реrистрируют свои доменные имена в США. Для отображения доменных имен на IPaдpeca используются специальные базы данных, содержащие IР-адреса для каждоrо доменноrо имени. Эти базы данных поддерживаются особыми серверами имен, доступ к которым выпол- 
 rлава 4. С точки зрения сетей 163 няется через специальный DNsnротоколJ4, а вся система доменов является иерархической. Домены BepXHero уровня реrистрируются в одном из He скольких реестров, rлавным из которых является InterNIC I5 (CllIA). Эта сис тема недавно была изменена, чтобы допустить некоторую конкуренцию с друrими провайдерами серверов имен. Домены BepXHero уровня разбиваются на nоддомены, а реrистраторы доменов BepXHero уровня реrистрируют раз мещение серверов имен каждоrо из этих по}Щоменов. Реrистраторы способны добавлять новые имена в с;вои по}Щомены, не контактируя с сервером имен BepXHero уровня. Например, домен BepXHero уровня uk разделяется на ПОk домены ac.uk, co.uk, gov.uk и org.uk. По}Щомен ac.uk академических инсти тутов Великобритании работает в сети JANET I6 . По}Щомен strath.ac.uk, KO торый назначен университету Strathclyde, реrистрирует свои серверы имен с помощью сети JANET. Это означает, что он может назначить по}Щомен еее факультету Электронных Инженеров, а по}Щомен garland  некоторому инди видуальному хостузлу этой сети, пyrем простоrо обновления их локальных серверов имени (рис. 4.61). gov edu сот uk fr nz  ас со'-,  gl8 strath qmw I еее I ( garland garland.eee.srtath.ac. uk Рис. 4.61. Иерархия имен адреса garland.eee.strath.ac.uk Чтобы иметь короткий, запоминающийся адрес, мноrие компании реrист рируются прямо в домене BepXHero уровня (скажем, в сот) и затем для 14 DNS, Domain Name Service  служба JЮменных имен.  Пер. 15 InterNIC  сокр. от /пteтet Network /riforтatioп Ceпter, Информационный центр сети Intemet (орraниэация, эанимающаяся вопросами формирования, реrистрации и стратеrическоrо раз вития сети Internet, включая реrистрацию доменных имен).  Пер. 16 JANET  сокр. от Joiпt Academic Network, университетская сеть Великобритании.  Пер. 
"64 Передача данных в сетях: инженерный подход выхода на W ebcepBep своей компании орrанизуют запросы по адресу www.organisation.com. На самом деле реrистрируется домен organisa tion.com, и поскольку компания может создавать любой IPaдpec, соrласо ванный с этим доменным именем, то WebcepBep может быть расположен на любом хостузле любой сети, даже если он будет направлен на сервер друrой компании, которая специализируется на хостинrе (публикации и обслужива нне) W ebcepBepOB. lbменяя возвращаемые IРадреса, DNS обеспечивает также ряд дополни тельных служб, таких например, как службы замещения (aliasing) имен XOCT узлов и почтовых серверов и служба распределения наrрузки. Формально эти ql1ужбы определяются в документах RFC 103411035. IРадрес и отображение имени хоста хранятся в форме записи ресурса (еsource Record, RR). Она состоит из 4 полей: Имя, Значение, Тип И Время зни. Существует четыре основных типа RRзаписей. Если сервер имен зна ет IPaдpec Tpe6yeMoro доменноrо имени, то он хранится в записи типа А (от ЩJthoritativе авторитетный), которая сопоставляет IPaдpec (из поля Значе ние) С именем хоста (из поля Имя). Если сервер имен не знает TaKoro IP адреса, то он будет знать адреса друrоro сервера имен, который должен знать  адрес (сам или через KOI'OTO еще), а записи типа NS сопоставляют имя Д<)мена (из поля Имя) С сервером имен (из поля Значение). Записи типа МХ српоставляют имя хоста почтовоrо сервера (из поля Имя) С ero псевдонимом (.flЗnOЛЯ Значение). И наконец, последний тип записи  CN. Записи этоrо типа сопоставляют каноническое имя (из поля Значение) С именем хоста (из поля Имя). HeKOTO рые компьютеры для удобства задают дополнительные, обычно более KO роткие, имена, а СNзапись сопоставляет эти имена с полным именем хоста. Компьютер австралийскоrо Института телекоммуникационных исследова ний (IТR) из примера, приведенноrо в разд. 1.4, отвечает на имя www.itr.unisa.edu.au. хотя ero полное (то есть каноническое) имя  charli.levels.unisa.edu.au. Эта система предоставляет услуry WеЬхостинrа17, Коrда любой пользователь может купить доменное имя, зареrистрировать ero и доrовориться с компанией насчет хостинrа ero WеЬстраниц. После этоro СNзаписи направляют их доменные имена на компьютеры предоставляющей ХОстинr компании, так что владелец доменноrо имени может и не иметь KOM Пьютера. Локальные серверы хранят результаты предыдущих запросов DNS в своей КЭшпамяти. Это дает возможность ускорить DNSпроцесс, т. к. нет никакой 17 WеЬхостинr (Web hosting)  предоставление провайдером cBoero дисковоrо пространства для публикации и обслуживания пользовательских WеЬсайтов. Пер. 
rлава 4. С точки зрения сетей 165 потребности входить в контакт с друrими серверами. Ясно, что нужно доби ваться равновесия между сохранением и сбросом входов кэша. Наконец, по следнее поле RRзаписи  Время жизни  указывает время, в течении KOTO poro запись должна оставаться в кэше перед выводом их Hero. При обмене DNSсообщениями между хостами и серверами имен использу ется UDРпротокол. Он вызывает подходящие серверы имен, которые oтo бражают имена на IРадреса. DNS возвращает запись ресурса, по}Щерживае мую сервером, которая содержит IPaдpec, так что приложения, например, telnet, FTP или НТТР, MOryт ero использовать. Различают локальные, корневые и авторитетные серВерЫ имен. В коммуни кационной цепочке MOryт также использоваться промежуточные серверы ямен. DNSзапросы Moryт быть рекурсивными или итеративными. В првом (наи более общем) случае, каждый сервер домена получает отображение имени Сервера или хоста, который сделал запрос. Итеративные запросы (обычно 'выполняющиеся между корневым и локальным серверами, чтобы минимизи ровать обработку заrрузкив корневом сервере) приводят в результате или к требуемому отображению, или к адресу следующеrо в цепочке сервера, KOTO рый позволяет сделать следующий прямой DNSзапрос. В примере на ;рис. 4.62 показан итеративный запрос (шаr 2), который дает отклик (шаr 3), еообщающий локальному серверу, чтобы он одил в прямой контакт с промежуточным сервером. Если бы запрос (2) был рекурсивным, ТО ОТЮIик (3) был бы направлен прямо к промежуточному серверу и поэтому не бьто ,бы никакоrо прямоrо диалоrа в любом направлении между промежуточным и локальным серверами. Корневой сервер (.сот) ","У",'" 0 0","'"'  Промежуточный '" k'  сервер o Локальный 0 t;;\ j I f5\ серер 7  + 0! 0 Рекурсивный  запрос Итеративный . запрос Серер домена ."". 111 111 "'.'<6.16." Рис. 4.62. Рекурсивный и итеративный DNSзапросы 
166 Передача данных в сетях: инженерный подход Последовательность событий при установке ТСРсоединения с хостузлом www.dufc.co.uk иллюстрирует рис. 4.63. '1. DNSзапрос хостузла www.dufc.co.uk. 2. АRPзапросl8 к 130.159.86.4, ARPoTBeT от 130.159.86.4. З. Разрешенный DNSзапрос, посылаемый к 130.159.86.4. Если запрос не разрешен локально, то следующие запросы посылаются к дополнительным нелокальным DNScepBepaM. 4. DNSOТBeT от 130.159.86.4. 5. Передача решения, oCHoBaHHoro на входе по умолчанию таблицы передач. 6. ARPзапрос 130.159.86.1, ARPOТBeT от 130.159.86.1. 7. Запрос ТСРсоединения посылается в www.dufc.co.uk через 130.159.86.1. 8. Запрос ТСРсоединения поступает в узел www.dufc.co.uk. 9. Возврат ответа ТСРсоединения. 10. OrBeT ТСРсоединения поступает в узел garland. 11. НТТРзапрос посылается узлу www.dufc.co.uk. 130.159.0.0/16 130.159.86.12 умолчание 130.159.86.1 garland.eee.strath.ac.uk 130.159.86.12 . НТТРдиалоr по тср @ О! ""''"01Ф dns.eee.strath.ac.uk 130.159.86.4 I Не обязательный DNSзапрос I Рис. 4.63. Цепочка событий для DNSзапроса к узлу www.dufc.co.uk 18 ARP, Address Resolution Protocol  ПрОТОКОЛ разрешения адресов (ПРОТОКОЛ из семейства TCP/IP. обеспечивающий преобразование IPaдpeca в МАСалрес (МАС address) ШIЯ пакетов lР).  Пер. 
fлава 4. С точки зрения сетей 167 4.13.6. IР-маршрутизация Маршрутизация в IРсетях точно такая же, как в любой сети передачи дaH ных, поскольку применяются те же основные принципы. Сеть рассматривается как объединение так называемых автономных сетей. Каждая из этих сетей независима и может выполнять свой собственный алroритм маршрутизации. Проблема заключается в соединении различных сетей, которая требует соrласованноrо Iпtеrпеtпротокола маршрутизации между соседними сетями. В настоящее время существует два общих протокола подобноrо типа  OSPF и BGp I9 , которые заменяют первоначальный протокол маршрутной информации (RIРпротокол) и внешний шлюзовой протокол (EGP 20 ), и.спользуемый в Internet. RIP и OSPF протоколы разработаны для маршрутизации в индивидуальных автономных сетях, тоrда как EGP и ВGРпротоколы предназначены для маршрутизаци между автономными подсетями (рис. 4.64). Анонимные подсети Рис. 4.64. Маршрутизация между автономными подсетями 19 BGP  усовершенствованный внешний шлюзовой протокол, основанный на опыте исполь зования протокола EGP в маrистральной сети NSFNЕт.  Пер. 20 EGP  сокр. от Exterior Gateway Protocol, внешний шлюзовой протокол (протокол внешней маршрутизации, реализующий пересылку маршрутной информации на маршрyrизаторы, которые соединяют межд собой автономные системы).  Пер. 
::;168 Передача данных s сетях инженерный подход Рассмотрим эти протоколы подробнее. LI ЮР  протокол маршрyrной информации (Routing Information Protocol). Эrо внyrpидоменный протокол, основанный на маршрутизации по вектору расстояния. Он базируется на счетчике сетевых переходов (hopecount), '\ который оrраничен числом 15 и обновляется каждые 30 с. ,CJ OSPF  протокол первоочередноrо открытия кратчайших маршрутов (Open Shortest Path First). Применяется в задачах маршрутизации внутри каждой подсети. По существу, это версия маршрутизации по состоянию " связей, которая обсуждалась ранее. Разрешает аутентификацию сообще ний маршрутизации и множественные маршруты. Кроме тосо, протокол позволяет устанавливать, каким образом домены разделяются на области, ," так что пакеты не всесда можно точно направлять в конкретный домен, а только  в правильно м направлении. CJ BGP  поrраничной шлюзовой протокол (Border Gateway Protocol). Это, по существу, протокол, который определяет правила обмена так называе мой информацией достижимости (reachability information) между Map шрутизаторами. Чтобы достичь сети назначения, трафик может заканчи ватъся в автономной сети или проходить через нее транзитом. BGP не имеет дела с поиском наилучшеrо пути  подходит любой путь, если он .;; не замыкается на себе. Пакеты передаются через различные домены, ис ';.; ! лользуя разные режимы маршрутизации, так что оптимальные маршруты :;",реально невозможны. Существует некоторый элемент выбора, позволяю .' щий найти "хорошие" пути. Политика выбора может базироваться на Tex . ' нических, деловых, политических, стоимостных задачах, решение которых предоставлено индивидуальным ВGР.маршрутизаторам. Сложность BaP протокола растет, скорее, с ростом числа автономных сетей, а не с числом хостузлов В этих сетях. Сложность протоколов внутридоменной маршру- тuзации, подобных ЮР или OSPF, зависит от числа хостовузлов или под- сетей в каждой автономной сети. 4.13.7. I Р-" рОТО КОЛ версии 6 (lРу6) IPvб принадлежит к следующему поколению IРпротоколов. Начальным толчком к есо разработке была ощутимая (с ростом числа хост-узлов и сетей) нехватка адресносо пространства в протоколе [Pv4. Динамическое распреде- пение IP.aдpecoB Iпtеmеtпровайдерами и бесклассовая адресация фактически продлили жизнь адресносо пространства IPv4. Новые разработки в техноло- rии мобильной телефонии и ASDL, которые всесда взаимосвязаны, требуют дополнительных IPaдpecoB. Хотя существует обходной путь, позволяющий разделять (совместно использовать) IPaдpeca сети и преобразовывать их с помощью шлюзов в меньший динамический диапазон IPaдpecoB и портов, 
 rЛава 4. С ТОЧКИ зрения сетей 169 видимых из внешней сети, адресное пространство IPv4 рано или поздно за кончится. У IPv6 нет никаких шансов исчерпать все свои адреса, поскольку их размер увеличен до 128 разрядов. При таких размерах можно назначить IPaдpec не только каждому пользователю, терминалу или даже электровыключателю, но электронные устройства будyr способны подобным же способом назначать адреса и всем адресатам EthernetKapT, ничуть не опасаясь уступить их KOMy то до конца жизни. Появляется также возможность назначать несколько aдpe сов одному устройству, выделяя дополнительные адреса различным ero KOM понентам или службам. Дополнительное свойство протокола  поддержка адресов специальноrо ви да, предназначенных для любоrо устройства в rруппе терминалов (anycast address), коrда пакет направляется любому из нескольких терминалов rруп пы. Это облеrчает адресацию запросов для служб, которые расположены в нескольких местах сети, так что для доступа к любой из них может использо ваться локальный провайдер. Дополнительное адресное пространство  не единственное преимущество IPv6. В настоящее время используются MHoro служб, для которых не была 'предусмотрена передача по IРпротоколу, не устанавливающему соединений. Серьезной проблемой ДЛЯ IPv4 было отсутствие l.Iоддержки службы качества. Протокол IPv6 использует специальные ресурсы  класс трафика и метку потока, которые позволяют идентифицировать пакеты KOHKpeTHoro потока ДЛЯ их специальной обработки, но эти дополнительные ресурсы должны быть предварительно соrласованы. Кроме Toro, IPv6 обеспечивает улучшенную по}Щержку средств защиты и механизм добавления необязательных полей к зarоловку с целью ero расширения. Процедура фраrментации в IPv6 выполняется HeMHoro иначе, чем в IPv4. Ми нимальный размер пакета, подлежащеrо обработке, увеличен с 576 байтов ДЛЯ IPv4 до 1280 байтов ДЛЯ IPv6. Кроме Toro, маршрутизаторы IPv6 не фраr ментируют пакеты, если это требуется, а посылают сообщение обратно на передатчик и просят, чтобы он сделал фраrментацию сам. Это означает, что маршрyrизаторы Moryт быть более простыми. В IPv6 имеется также возмож :ность использовать более крупные пакеты, называемые супеР2ра.ммами Oиm bograms). Упрощению маршрутизаторов способствует тот факт, что заrоловки IPv6 имеют меньше полей, чем зarоловки [Ру4. Однако даже без необязательных полей они вдвое больше по размеру заrоловков IPv4. Для протоколов, KOTO рые производят большое количество мелких пакетов, подобных протоколу "Речь через IP", это неприемлемо, но дополнительная поддержка качества обслуживания смяrчает такую ситуацию. Однако IРvб пока не получил ши 
110 Передача данных в сетях: инженерный подход рокой поддержки среди производителей, так что, возможно, потребуется He которое время, прежде чем он получит достаточное распространение. Час тично проблема состоит в том, что, хотя довольно просто обеспечить терми налы пользователя двойными стеками, способными использовать IPv4 или IPv6 (в зависимости от Toro, с помощью KaKoro из этих протоколов они под держивают связь), но если IPv6 не поддерживается базовой сетью или в лю бом звене между сторонами, то IРv6пакеты должны пересылаться с помо щью протокола IPv4, т. е. они должны быть вложены (инкапсулированы) в дейтаrраммы IPv4. Такой процесс известен как туннелирование (tunnelling). Оно увеличивает дополнительные непроизводительные затраты, но вследст вие тoro что IPv4 не поддерживает качественных сервисных средств IPv6, никакой выrоды от туннелирования получено не будет. Это означает, что пользователи получат HeMHoro пользы от своих вложений, пока большое KO личество друrих пользователей также не модернизируют свое оборудова ние  ситуация яйца и цыlенка.. Структура пакета протокола IPv6 показана на рис. 4.65. В поле v (Version, версия) указывается версия IP. В поле р (Priority, приоритет) указываются служебные типы с различными требованиями к качеству обслуживания (Quality of Service, QoS). Значения р в диапазоне от О до 7 указывают данные с управляемым потоком, т. е. данные не в реальном масштабе времени, в то время как значения р в диапазоне от 8 до 15 указывают данные в реальном масштабе времени, KQTopbIe не являются данными с управляемым потоком. Поле Метка потока позволяет узлам различать потоки трафика и их запросы. Наряду с адресом источника и адресом пункта назначения, метка потока ис пользуется для уникальной адресации потока. 16разрядное поле Длина опре деляет длину полезной наrpузки в байтах. Поле Следующий заrоловок указы вает, что используются необязательные "заrоловки расширений" (extension headers), т. е. дополнительные функции, связанные с пакетом. Определено шесть типов расширений со следующими названиями: Последовательные опции (Hopbybop options), Маршрутизация (Routing), Фра2ментация (Frag mentation), Аутентификация (Authentication), Шифрование (Encryption) и Пункт назначения (Destination). Эти зarоловки используются только коrда требуется, и в специфическом порядке. Необязательные заrоловки имеюТ фиксированный формат или определяются в виде полей Тип, Длина И Значение. Если поле Следующий заrоловок В пакете или расширении соrласу ется с полем полезной информации IPv4, то никакие дополнительные функ циональные возможности не требуются. Наконец, поле Предельное число переходов указывает максимальное число переходов маршрута. Коrда пакет передается по межузловому переходу, это число уменьшается на 1 (декре-- ментная операция); при нулевом значении этоrо поля пакет сбрасывается. Оно похоже на поле Время жизни (TTL) в IPv4. 
,rлава 4. С точки зрения сетей 171 1 2 3 4 v Длина Метка потока СледУЮЩИЙ эаrоловок Адрес источника (1б байтов) Адрес пункта назначения (1б байтов) СледУЮЩИЙ эаrоловок Тип Длина Значение Специальные опции Рис. 4.65. Структура пакета протокола IPvб 4.14. Качество обслуживания на IP Стек протоколов TCP!IP предлаraет, по существу, максимальное обслужива ние. Однако такое обслуживание не соответствует разнообразным потребно-- стям мноrих приложений, которые требуют HaMHoro более жестких оrpани чений на передаваемую информацию. В качесте средств, обеспечивающих аспект качественноrо обслуживания (Quality of Service, QoS) IРпередач, бы ло предложено несколько механизмов. 4.14.1. ИнтеrрироваННblе службbl Интеrрированные службы (Integrated Services, IntServ) пытаются распреде лять ресурсы потокам одно-- и мноroабонентскоro трафика на поточной (flow byflow) основе. IntServ требуют, чтобы сеть была способна (через свои мар-- шрутизаторы) распределять ресурсы конкретным потокам (парам источ ник/адресат) и управлять или контролировать потоки или объединенные по токи в различных точках сети. Это означает фундаментальное изменение стандартной модели Internet, которая имела дело с потоками только на чисто сквозной (endto--end) основе. В модели IntServ маршрутизаторы требуют идентифицировать потоки и сохранять информацию их текущеrо состояния. Это требует явноrо отображения или связывания потоков и служб. Ключевые элементы IntServ включают: управление соединением, протокол резервиро вания и поддержку порядка с помощью механизмов маршрутизации и про движения пакетО8. 
':172 Передача данных в сетях: инженерный подход 4.14.2. Протокол резервирования ресурсов Ключевой частью IntServ, а в действительности и всех друrих InternetcxeM, имеющих отношение к QoS, является протокол резервирования ресурсов (Re source Reservation Protocol, RSVP). -Этот протокол, по существу, является механизмом, с помощью Koтoporo резер-. вируются все ресурсы вдоль предварительно полученноrо пyrи как для OДHO, так И для MHoroaдpecHbIx коммуникаций. RSVP ориентирован на приемник, riоскольку запросы на ресурсы поступают от адресата, а не от источника. Первый этап протокола  установка пути между источником и адресатом. RSVP выполняет ero, посылая специальные IРпакеты, называемые PATH сообщениями, которые позволяют маршрутизаторам, расположенным меж д;у IfСТОЧНИКОМ и адресатом, отмечать обратный путь пакетов. Как только приемник принимает это сообщение (которое содержит также специфику трафика), он возвращает обратно по пути маршрутизатора так называемое RESVсообщение (рис. 4.66). Это сообщение содержит QоSспецификации как приемника, так и передатчика. Поскольку эти сообщения передаются обратно по тому же пути, каждый маршрутизатор решает, можно ли выол HIj1:b резервирование, которое удовлетворяло бы требованиям трафика каж дой из сторон. Отправитель А Получатель Х Рис. 4.66. Работа RSVP Если такое резервирование возможно, т. е. маршрутизатор чувствует, что у Hero имеется достаточно ресурсов, чтобы удовлетворить QоSтребования, он передает RESV сообщение обратно по дереву маршрутов предыдущему маршрутизатору. Эrот процесс продолжается до тех пор, пока RESV 'сообщение не доберется до источника или, в случае мноroадресной передачи, не доберется до первоro маршрутизатора, который поддерживает этот специ фический поток. Если в любой точке маршрутизатор решает, что он не может поддерживать такой поток и качество ero обслуживания (QoS) оrраничено, то назад к приемнику посылается сообщение об ошибке. 
rлава 4. С точки зрения сетей 173 Каждый маршрyrизатор сохраняет запись состояния потоков, которые он поддерживает. Эти состояния нуждаются в реryлярном обновлении. В RSVP протоколе обновления RESV сообщения посылаются приемниками каждые 30 секунд или так, чтобы поддерживать данное "соединение". Если маршру тизатор не принимает обновления, то он удаляет такую запись. Это помоraет поддерживать устойчивость и, кроме Toro, увеличивает rибкость. Приемники MOryr пытаться изменять свои требования в любой точке, а также изменять свои маршрyrы без явноrо уведомления всех маршрутизаторов системы. Ec ли в любой части пyrи происходит сбой, то IРмаршрутизация обладает дoc таточной устойчивостью, чтобы найти альтернативный маршрут, а RSVP соединения MOryr реаrировать на это автоматически, с минимальными уси лиями. Заметим, что приемник не знает фактическоrо пути, по которому про- ходит поток. RSVP поддерживает rpупповые (multicast) соединения, коrда потоки MOryr быть слиты, поддерживаются также различные QоSтребования (рис. 4.67). Moryr быть ПQддержаны даже множественные оmравители. ""'" IPATI .". IPATI -.", l6'i\'ТU1 .F <i'j /0"  I \. ЕS\11i;:s '-1 IPATHI .,". ..Jto -.....,,.. Получатель Х Отправитель А ...::..ц..... , -; 't;  "'. ff- .,}I Получатель У Рис. 4.67. Работа мноroпоточноro RSVP 4.14.3. Дифференцированные службы Хотя IntServ и RSVP в некоторой степени удовлетворяют требованиям QoS в IРсетях, можно отметить и несколько основных их недостатков. Отображе ние (резервирование) требований QoS на специфические потоки и связанная с этим обработка потоков в каждом маршрутизаторе является существенным усложнением, и поэтому такой метод, по существу, не может быть расширен. RSVP не всеrда ДОС'I)'пен для хостузлов, т. к. этот подход требует весьма сложноrо отображения требований QoS и сетевых ресурсов. Дифференцированные службы (DiffServ) предлаrают альтернативный подход к обеспечению качества обслуживания. Они орrанизуют пакеты в небольшое число четко идентифицируемых потоков, которые получают специфическое обслуживание и распределенные ресурсы. Затем эти arpe rированные потоки обрабатываются DiffSеrvмаршрутизаторами, причем 
174 Передача данных в сетях: инженерный подход различными способами, соответствующими их спецификациям. Этот под ход требует HaMHoro меньших усилий со стороны маршрутизаторов, чем управление индивидуальными потоками и поэтому является более расши ряемым. Однако, он не столь же rибок, как IntServ, поскольку потокам должно быть назначено оrраниченное число поточных типов, но за опре делениями служб не закреплены специфицированные поточные типы и их можно обновлять и изменять. Между источником и провайдером служб устанавливается С02лашение об уровне обслуживания (Service Level Agreement, SLA), и затем провайдер служб отображает исходный поток на поток KOHKpeтHoro типа, который удовлетворяет требованиям QoS. Потоки от нескольких различных источни ков объединяются в поток специальноrо типа в соответствии с ресурсами, которые ДОC'l)'пны в сети. DiffServ включает три ключевых элемента: классификацию пакета, создание условий для трафика и планирование пакета. Два первых выполняются на rранице сети, т. е. в первом же DiffSеrvмаршрутизаторе, который встречает ся на пyrи IРпакета. Более простая функция планирования пакета (то есть ero продвижение) выполняется промежуточными маршрутизаторами в базо вой сети (рис. 4.68). Классификация пакета и соэдание условий для трафика на конце сети '\. Получа1:ель Х Отправитель А Рис. 4.68. Функциональные возможности DiffServ Классификация пакета  это, по существу, отображение потока пользователя на подходящий поточный тип. rраничный маршрутизатор определяет тип нужноrо потока, рассматривая SLАсоrлашения (то есть QоSтре60вания) и доступные потоки. Затем пакеты из потока этоrо пользователя помечаются, чтобы указать, что они отображены на подходящий поток. Создание условий для трафика проводится также и на rранице сети. Оно co стоит из замеров поступающеrо потока, позволяющих убедиться, что он со- ответствует соrласованному профилю трафика. Пакеты, выпадающие из про 
aBa 4. С точки зрения сетей 175 [ g,иля или перемаркировываются на поток с более низким классом обслужи ания, или к ним применяется процедура формирования трафика, чтобы он tоответствовал текущему профилю. i РiffSеrvмаршрутизация все еще остается IРмаршрутизацией, т. к. функ ия планирования пакета просто определяет механизмы, с помощью KOTO рых обслуживаются пакеты, а не путь, который они проходят по сети. Что бы точно определять, какой тип обслуживания должен получать IРпакет рт DSмаршрутизатора (например, РНВ  Per Нор Behaviour, по ferMeHTHoe21 поведение). DiffServ использует 8разрядное поле TaS пакета D> (рис. 4.69). На самом деле, РНВ представляет класс обслуживания. Он e определяет, как такое поведение достиrается, а только указывает, KaKO во это поведение. Шесть битов поля DS (подполе DSCP  DiffServ Code Point) используются для представления 64 возможных типов поведения. Остальные два бита не опре деляют никакоrо РНВ, но raрантируют некоторую степень обратной COBMec тим ости с друrими (не DiffServ) маршрутизаторами. Не трудно заметить, что поле DS  это поле TaS В IPv4 и поле Traffic Class (Класс трафика) в IPv6. Последнее является объединением части ПОля Р (Priority, приоритет) и поля Flaw Label (Метка потока). -- DSCP (6 битое) Подполе DiffServ Code Point Поле DSCP, используемое для идентификации РНВ Время жизни Адрес источника Адрес пункта назначения Опции ЗаrоловокlРпакета Рис. 4.69. Идентификация DiffServ При стандартной работе поле DS устанавливается на rранице сети и в идеале остается постоянным, пока IРпакет путешествует к aдpeca'I)'. Однако есть возможность изменять или перемаркировывать это поле, коrда при прохож 21 Здесь имеется в виду межузловой переход (Ьор) сети. Пер. 
.'/76 Передача данных в сетях: инженерный подход дении через новые DiffSеrvдомены пакет должен быть "выведен" из профиля ИЛИ РНВ, и DiffSеrv.поля необходимо отображать заново. ПереlU1ючение мноrопротокольной метки .IРмаРlJlрутизация базируется на автономной маршрутизации по самому KO роткому пути, которая может сберечь сетевые ресурсы, но может привести к переrpузке некоторых каналов и недоиспользованию друrих. Пере1(Jlючение мноzопротокольных меток (MultiProtocol Label Switching, MPLS) позволяет направлять пакеты, опираясь на определенную метку, а не на IРадрес в заrоловке IPnaKeTa. Для этоrо используются специальные устройства, известные как маршрутuзаторы с переключаемыми метками (Label Switched Routers, LSR). LSR соrласует метку пакета со входом CBO ей таблицы продвижения и пересылает пакет по подходящему выходному эвеНу,-.заменив или обновив подходящим образом метку пакета. Метки Ha значаются IPnaKeTaM, коrда их вводят в МРLSдомен (с помощью BXOДHO ro маршрутизатора), и удаляют, коrда они покидают МРLSдомен (с по мощью выходноrо маршрутизатора) (рис. 4.70). Пакеты следуют по маркиров-анному переключаемому пути (Labelled Switched Path, LSP), KO торый определяется до передачи и выбирается в соответствии качеством услуr (QoS) источника или получателя. LSP можно определять, используя различные схемы, включая протокол резервирования ресурсов (Resource Reservation Protocol, RSVP) и маршрутизаЦИIQ, базирующуюся на оrраничениях. Добавленная метка ! Измененная метка ! Измененная метка Сеть MPLS  r rраничный марwрутизатор (входной LSR) rраничный марwрутизатор (выходной LSR) Рис. 4.70. Работа MPLS 
fлава 4. С точки зрения сетей 177 4.15. Вопросы к rлаве 4.15.1. Вопросы по сетевым конфиryрациям 1. Коммуникационная сеть состоит из N узлов. Определите число звеньев, требуемых для соединения этих узлов, предполаrая, что каждое звено является двунаправленным для следующих случаев: а) б) в) r) кольцо из 5 узлов; объединение 8 полностью связанных узлов; частично связанное объединение  1 О узлов, 5 соединений; . повторите три предыдущих случая для N == 96. 2. Определить связность двух сетей, заданных в двух диаrраммах на рис.4.71 и 4.72. Сколько требуются итераций, чтобы определить связность каждой из этих сетей? Рис. 4.71. Сетевая диаrрамма для расчета связности сетей D1E!F!G!HII !J 1 ! Рис. 4.72. Табличная диаrрамма для расчета связности сетей 
178 . Передача данных в сетях: инженерный подход 4.15.2. Вопросы по технике коммутации 1. Путь с переключением каналов и скоростью передачи 64 Кбит/с, между двумя пользователями, использующими 9 С"I)'пеней коммутации требует S секунд на установку. Сколько Bcero потребуется времени, чтобы напрямую передать полное содержимое дискеты 1,4 Мбайт между двумя пользователями, использующими этот канал? 2. Если вышеупомянутый путь с переключением каналов заменить 9ти узловой системой с пакетной коммутацией, использующей звенья со скоростью передачи 1 Мбит/с, то сколько потребуется времени, чтобы передать файл объемом 1,4 Мбайт, предполаrая, что нет задержки в узлах коммутации; полезная наrрузка пакета составляет 2S6 байтов, а накладные расходы пакета эквивалентны 18 байтам? 3. Сравните задержки, коrда полезная наrрузка пакета изменится до 128, 512, 1024 и 4096 байтов соответственно. 4.15.3. Вопросы по расчетам в сетях 1. Простой телефонный коммутатор состоит из 4 каналов. Если в самое занятое время дня вызовы прибываюr каждые 240 секунд, вычислите занятость коммутатора и определите вероятность Toro, что вызов будет oTBeprнyт . 2. Если в системе, описанной в п. 1, пользователей удовлетворяют 2%e потери, определите число требуемых каналов мультиплексора. з. Если интенсивность вызовов в системе, описанной в п. 1, увеличится впятеро, определите вероятность потерь вызовов и коэффициент использования каждоrо из 4x каналов коммутатора. 4. Терминальный концентратор состоит из шести входных линий СО скоростями S6 Кбит/с и единственной выходной линии со скоростью 128 Кбит/с. Средний размер пакета  450 байтов, и скорость ПОС"I)'пления каждой входной линии равна 5 пакетам в секунду. Какова средняя задержка пакета и каково среднее число пакетов, хранящихся в концентраторе? 8. два компьютера связаны линией со скоростью передачи 64 Кбит/с и поддерживают 8 диалоrовых сеансов связи (соединений). Если средняя длина пакета 150 битов, а сеансовая скорость  4 пакета/с, то должна ли сеть обеспечить каждый сеанс своим собственным выделенным каналоМ со скоростью передачи 8 Кбит/с, или все сеансы должны состязаться за полную пропускную способность канала, коrда наиболее важным критерием является задержка пакета? 
rлаsа 4. С точки зрения сетей 179 4.15.4. Вопросы по маршрутизации 1. Маршрутизёация сети из 6 узлов базируется на векторе расстояния; маршрутизатор А расположен рядом с маршрутизаторами В, D и Е. На рис 4.73 приведены таблицы с векторами расстояний, связанных с каждым из этих трех маршрутизаторов. Используя указанные таблицы, выведите новую таблицу маршрутизации для узла А. Предположите, что текущее расстояние между узлом А и ero соседями точно отражено в этих таблицах. Узел В А 10 В  С 20 D ЗО Е 10 F 10 Узел D А 20 В 15 С 40 D  Е 10 F 25 Узел Е А 15 В 10 С 25 D 10 Е  F 5 Рис. 4.73. Таблицы с векторами расстояний ДЛЯ трех узлов сети 2. На рис. 4.74 приведены текущие состояния звеньев сети, состоящей из 6 узлов. Нарисуйте :лу сеть и определите' таблицу маршрутизации, связанную с узлом А. Узел А 8(10) D(5) Е(20) В А(10) С(20) Е(10) F(10) С В(20) F(20) D А(5) Е(10) Е А(20) В(10) D(10) F(10) F В(10) С(20) Е(10) Рис. 4.74. Текущие состояния звеньев 6узловой сети 3. Чтобы передать пакет всем друrим маршрутизаторам сети, описанной в п. 2, используется маршрутизатор А. Если поле пакета содержит счетчик cerMeHToB (переходов), инициализированный диаметром сети, определите минимальное и максимальное число пакетов, которые MOryт потребоваться этой сети для передачи широковещательноrо пакета. 
!f80 ,  Передача данных в сетях: инженерный подход '4.15.5. Вопросы по защите от ошибок 1. Протокол звена данных имеет характеристики, показанные в табл. 4.2. Таблица 4.2. Характеристики протокола звена данных l' Характеристика Длина данных Длина заrоловка Пропускная способность канала Длина кадра подтверждения Вероятность потери кадра Вероятность потери подтверждения Задержка обслуживания и распространения значение 100 байтов 8 байтов 2 Мбит/с 8 байтов 2x103 5x104 О,15мс а) оцените максимально возможную эффективность этой системы, если протокол работает в простом режиме останова с ожиданием, исполь зуя положительные подтверждения. Каково влияние установки тайм аута с интервалом 1 мс; б) чтобы максцмизировать эффективность канала, протокол с ocтaHO ВОМ И ожиданием должен быть заменен на протокол со скользящим окном. Оцените подходящий размер окна, если в первом случае Ka нал предполаrается свободным от ошибок. 2. В табл. 4.3 заданы ключевые параметры канала связи и ero АRQпротокола. Если используется 3битовое поле SEQ, какой механизм повторной передачи дает оптимальную производительность канала? Таблица 4.3. КлючеВые параметры канала связи и ero АRQпротокола Параметр ИнФормационное поле Накладные расходы кадра Длина подтверждения Вероятность потери кадра Вероятность потери подтверждения Размер поля SEQ Значение 150 байтов 16 байтов 16 байтов ю.3 2х10"" 3 бита 
rлава 4. С точки зрения сетей 181 Таблица 4.3. (окончание) Параметр Тайм-аут подтверждения Битрейт канала Задержка распространения канала 3нrr 181... 150 мс 64 Кбит/с 50мс З. Двойное скоростное двухточечное коммуникационное звено использует канальный протокол двойноrо режима, который способен переключаться между протоколом упреждающей защиты от ошибок (FEC) и ARQ протоколом, базирующемся на схеме повторной передачи с возвратом N кадров. Этот канал работает на ОДнQЙ из двух скоростей  низкой и высокой  и имеет ключевые характеристики, приведенные в табл. 4.4. FЕСмеханизм коррекции ошибок канала характеризуется 50%й избыточностью и совершенным механизмом коррекции ошибок. Какой режим защиты от ошибок должен применяться для каждой скорости канала, если ключевая цель состоит в том, чтобы максимизировать ero эффективность? Таблица 4.4. Ключевые характеристики звена Характеристика Информационное поле Накладные расходы кадра Длина подтверждения Вероятность потери кадра Вероятность потери подтверждения Размер окна Тайм-аут подтверждения Звено с низким битрейтом Звено с высоким битрейтом Задержка распространения в звене ..... Значение 200 байт 16 байт 20 байт 10---3 2х 10-4 8 250 мс 32 Кбит/с 256 Кбит/с 100 мс 
CJ:S: 11 g Ь:7 е ::a е tr 2? IQ +101 3 . ::х: E ::с (1) е ::х: Е ::Х: (1) е ::с ::Х: p (') ::1 :s: е :i! S Е (1) '< 3: 3: CJ 101 11 ЕЬ:7 5 о- v 2? """"' -gr;;  + 2:,3 3 С  S ::  ::а (1) -& е ::с ::с tr Же ::с '"  Е :s: '< g 3: :s: (') о-) е (1) (') ::1 О-)" с\) е      (1) W   о g  (') е ::1 (') е '< (') Е е :s: "'" 5 :s:  5 tr :s:e W   ::Х:   р р. (1) (') ::а :s: Q ::с е Е (1) ::Х: :s: (1) (') :s: .., .  ::Х:   W ;: :11':3:(1) ...... sJ» 1 IQ (') """"' "t::s (') :s: t)  ::1 3:   g    е tr t)  g' 5 1 I g(1)'::: ;!  1 11 :11':  t) ..!.  (1) \,J ::с ::х: е t)  :s: 2? о- ." (1) """"' 2? .... 't:I ...... 't:I с\) 1 1 с\) = 'too =::Х:  Q SO ...... I V:S: '" (') а ::а '" (1) ::х: за.а  о. о-) ::1 (1) :s: ::а IQ !Е  о о v :s: 3: ..с:  ::с :11': о (') .., :s: о 3: :s:   tr О ::с ..с:   ::1 :11': 't:I с\) 9 ?<: 1  @  1  1 'Е о-  11 t)  о- т 2? " t)  I '::: 1 1  о- +  't:I O-   +   1  В 11  о-  1 -::::   +В  '::: 11 11   .J, 11 i Х 11 0".J, З I ct) o  -:::: . о- 2? '::: о" 11 1 I i 2?з,:::......  ....., I + о- 1 :::::::: { 1 11 Т о- "":: "t::s  2? 11 ':::s   1 I  11 'Е  2? 1I0-1';::-- " O-' .....7  I 'too I -;3S -ь    { 1 I   "":: "t::s,:::o-':::II 12? I  о- ,.,-....,  2?""'...... л 1 11 @     If   + 11   11 11 .... З ....., 11 11 .... 1::> 1 1::> :>l 11 :>l :>l  II :>l ...... ...... "'<: ...."'<: "'<: "'<: ...."'<: "'<: 11 1 11 11 11 I 11 11 ....  о ....  о     11 11   11 11 11 11 .... .... .... з з ....." --- ....., з 11 11 11 11 11  о 11 о  11 :>l 11 :>l :>l :>l ":>l :>l :>l "'<: ':::"'<: "'<: "'<: -:::::"'<: "'<: 11 I 11 11 . 11 1 11 11 I . S::: .0 . .c::: 5=' 1::>  '"""  ':::  1::>   11 I 11 11 11 11 11 .... 1::> .... .... о З --- '""" --- --- ....., з 11 11 11 11 11 11 о о  1::> ":>l 11 :>l :5l :2.."'<: ...... "'<: "'<: .... .... 11 I 11 11 1 ....  s о -З-П ....., --- 11 11  1::> ;J g- ! QI pia .... pia OJ   :х! о (') si!  IXJ !z:    (j) :t  I ::t ><  1  о-  -:::: jo о"  2?1Q = -::::2:& + g g 3 ::а  IV о ::х: (') :s:  tr IQ С::Х: ::1 .g.g W с\) (1) g C::X: v (') о-) (') + = о о (') b:7:11':  o-.g IV 2? о N-:::: -; + 5 v"' +>- S  IV С IV +>- '" l'->   g::p :s: b=I ::х:  11 8 v+>-   NCO VI С  ;:: t:Т103: . ",.9 о-) ..с: о о-) 3: о '< . +>-0-)= oc:S:2: с..с:..с: С(1):: "'(')(') :s:  ::а O-):: v O-J !:  (1) о 3: ",:: 2:  ::1 3:   (1) ::х: 't:I о  (1) :s: о = о-)  ::х: tr Е ::1 (1) (1) ::х: 't:I :s: g (1) с\) (')  :; ::х: :s: с\) ::х:!::!.. -&Е 0,< 't:I 3:  v .g :s: '" (')'< О (1) (') =:: :11': о О (1) 't:Iq О (1)  о tr't:l О ? n  =  (') о-) = '< о Е :s: (1) = (1) 't:I О IQ о-) ::х: о (') о-) :s: ::1 't:I :s: '" о  IQ 6 IQ = о-) с\) '" ::а ос s-i :S:e о :s: ::c  (') -&:11': О ::с    (') :s: g :s: (') O v g'  11 tr   1 g  ""::6  IQ  :11': ::: с\)  :s: :::  tr ::х: о (1) 101 ::с  (1) ::с :s: (1) = 101 с\) :s: ::: . ?' '"  "'b=lt;t1 :s: 11 с\)  '" (') W (') V' +>- о С::а 9Q о-) ::х: с\) tr :11': $< ..с: а g :s: CJ 11 .r:: W +>- С с'" О-а 2? """"' ...... +q, ;; 11 С...... СС C С 11 W +>-::::1 Со С'" х о-) \00 v =:: '< -....] N N  11 W ос С ос С ос v C   ::х:  :s: ::: '"  о  ..с: (1) 't:I (1) 101 v = tr   I ..с: (1) 't:I (1) 101 v"":: с\) 't:I  11 С  :::J   111 g; 1:1 111 :t f >ос IXJ 2  I  :t t ::::J   11   111 m !з) Q ii1 Q)  &  "ь i  с.>  
I ; rлава 5 v .' ....'1 _ .' '" ''J. с точки зрения звена 5.1. Уровень звена данных Уровень звена данных предоставляет сетевому уровню соединение между вумя терминалами. Он выполняет несколько функций, среди которых мож Ко выделить три основные. t:J Синхронизация кадров. Позволяет распознавать различные части ин формации и управлять передачей сиrналов.  Доступ к среде передачи. Позволяет посылать данные по звену в COOТBeT , ствии с определенными требованиями. Заметим, что эта функция приме няется только к совмес1НО используемым (разделяемым) средам. Если Me " жду поддерживающими связь терминалами имеется "",выделенная линия, никакоrо управления доступом к среде передачи не трбуется. t:J Защита от ошибок. Уровень звена данных пытается обеспечить надеж , ные данные для ceTeBoro уровня, так что, попадая на этот уровень, данные .' будут либо правильными, либо помечены как ошибочные. Для этоrо тpe буется обнаружение и исправление ошибок, хотя, если информация ис порчена, то эту проблему обычно решают на верхних уровнях с помощью , методики ARQ или маскировки. этой rлаве мы рассмотрим указанные функции и затем  некоторые LAN  МАNсистемы, которые обеспечивают большинство функциональных воз жностей звеньев данных в существующих сетях. Одной из таких систем lВляется асинхронный режим передачи, А ТМ 1, который бьш разработан как tuIя сетей, так и для обеспечения функциональных возможностей уровня зве 118 данных. Однако IРтехнолоrия развивается так, что она становится доми lIирующей на сетевом уровне, тоrда как А ТМ часто используется для под I АТМ, Asynchronous Transfer Mode, асинхронный режим передачи ------стандартизованная TeXHO лоrия коммутации пакетов фиксированной длины (ITU); является асинхронной в том CMЫC ле, что пакеты от отдельных пользователей передаются апериодически; обеспечивает эффек тивную передачу различных типов данных (roлос, ви:део, мультимедиатрафик ЛБС) на значительные расстояния. Пер. 
184 Передача данных в сетях: инженерный подход держки IРпротокола на уровне звена данных, что и является предметом об суждения в данной rлаве. 5.2. Разrраничение кадров Начало и конец кадра должны быть отмечены. Это особенно актуально, коrда среда передачи является разделяемой, но даже если имеется выделенная ли ния, то все равно требуется не которая форма синхронизации. Первая воз- можность состоит в том, чтобы для определения числа символов в каждом кадре использовать специальное поле заrоловка. Читая это поле, уровень зве. на данных адресата узнает, rде находится конец кадра. Такая методика неус. тойчива, и целостность кадра будет нарушаться изза ошибок передачи. Вторая методика предусматривает маркировку начала и конца каждоrо кадра последовательностью символов ASCII. Если кадр какимто образом искажа. erся (включая стартстопные символы), то звено данных может снова настро. иться, отыскивая маркеры следующеrо кадра, и потеряв в результате лишь несколько кадров. Вполне возможно, что такие последовательности ASCII символов MOryт образовываться внутри кадра естественным образом. Чтобы предотвратить ошибочную интерпретацию rраниц кадра, перед каждой по. следовательностью внyrренних (не rраничных) символов вставляются специ. альные символы, которые указывают, что следующие за ними символы не являются ни началом, ни концом кадра. Эта процедура известна как вставка символов (character.stuffing), или байт. стаффинz. Она тесно связана с 8битовыми символами и, в часrnости, с ко. дами ASCII. Однако по мере развития сетей зависимость от 8.битовых кодов постепенно уменьшалась, делая этот метод все более и более неприемлемым. Альтернатива состоит в том, чтобы отмечать rраницы кадра уникальной последовательностью символов. Наиболее часто используемой посlIедова тельностью TaKoro рода является 01111110, которая используется, напри. мер, в протоколе HDLC 2 версии 5.9.1. Чтобы rарантировать ее уникаль ность, всякий раз, коrда передатчик встречает в кадре 5 последовательных единиц, он автоматически, вставляет О в выходной поток, так что, напри мер, последовательность 10101011110110 111111 00101 принимает вид 10101011110110 1111101 00101. Этот процесс называется вставкой битов, или 6ит-стаффинzом (bit.stuffing). Процессы бит или байтстаффинrа прозрач. ны ДlJя ceтeBoro уровня, поскольку приемник будет автоматически удалять вставленный бит или байт. 2 HDLC, High.level Оат Link Contro1, высокоуровневый протокол ynравления звеном данных (JCaНалом). Этот международный коммуникационный протокол разработан в 180.  Пер. 
rлава 5. С точки зрения ЗВена 185 Последний способ маркировки начала/конца кадра звена данных состоит в ис- пользовании физической среды и нарушении специфических правил кодирова иия rpаниц кадра. Эra методика зависит от существования некоторой избыточ ности в кодированном сиmале и широко используется в локальных сетях и спецификациях Sшин [SDN (цифровых. сетей с интеrpированными службами). Такие механизмы являются наиболее общими, но, независимо от метода, марки ровка rpаниц кадра всеrда будет вводить элементы служебной информации. 5.3. Управление доступом к среде передачи Преимуществом статистическоrо мультиплексирования является то, что co вместное использование общей среды передачи  довольно эффективная стратеrия. Однако она вносит также и дополнительную проблему  терми налам нужно разрешать использовать эту среду, котда у них возникает в этом необходимость, но котда ее уже используют дрyrие терминалы. Это и есть задача управления средой доступа. Для любой схемы управления доступом к среде можно сформулировать следующие требования: C:J система должна быть надежна; C:J протокол должен быть устойчив; C:J схема должна обеспечивать абсолютный ДОСl)Н к системе; C:J необходимо управлять доступом к системе в соответствии с потребностя ми служб или по друrим причинам; C:J схема должна быть эффективной; . C:J она должна быть простой в управлении. Существует несколько различных схем доступа. Их можно разделить на две катеrории  централизованные схемы, в которых ресурсы сети распределя ются специальными узлами, и распределенные схемы, в которых все узлы работают кооперативно и в одинаковой манере. Друrое различие про водят между системами, базирующимися на резервировании (тде конкретные pe сурсы распределяются между терминалами), и системами, базирующимися на состязаниях за обладание этими ресурсами (rдe терминалы запрашивают pe сурсы, котда они в них нуждаются). Возможны также zибридные схемы, включающие как резервирование, так и состязания, и базирующиеся на тpe буемом обслуживании. Централизованная схема может также основываться на системе, в которой состязания используются терминалом для тото, чтобы информировать центральный контроллер о том, что требуются ресурсы, а за тем этот контроллер применяет резервирование для их распределения терми налам. эту стратеrию используют мноrие радиосистемы. 
186 Передача данных в сетях: инженерный подход 5.3.1. Схемы с состязаниями ALOHA Самой простой системой ДОС1)'па к среде передачи, базирующейся на состяза ниях, является АLОНЛ 3 . Эта система работает следующим образом  Korдa у терминала имеется информация для передачи, он передает ее. Если в это время начинает передачу друrой терминал, то происходит наложение пакетов, и обе передачи искажаются (рис. 5.1). Это называется столкновением кадров. Если терминал принимает подтверждение своей передачи, это значит, что прини мающий узел принял данные. Если  нет, то, вероятно, произошло столкюве ние с дрyrой передачей, и должен быть получен отказ. Затем передатчик ждет в течение случайноrо промежyrка времени и снова пытается выполнить переда чу. Важен тот факт, что этот период времени является случайным. Если бы терминал ждал фиксированный промежyrок времени, и на первой же попытке передачи произошло столкновение с кадром друrоrо терминала, то это проис ходило бы также и при всех последующих попытках передач. Еще одна TOH кость, связанная со схемой ALOНA,  следует оrраничить количество дaH ных, передаваемых в любой момент времени. Это не только хорошо для друrих пользователей, но и не переrpужает канал. Так как терминалы перед передачей не прослушивают канал, чтобы определять, свободна ли среда передачи, то чем больше размер передаваемоrо пакета, тем больше шансов, что друrой терми нал тоже будет передавать свой пакет и столкнется с ним. Удачная Удачная Столкновение передача передача Пакет 1 Пакет 1 Пакет 2 Пакет 1 Пакет 1 Пакет 2 ВkЛ ВЫКЛ ВКЛ ВЫКЛ ВКЛ ВКЛ ! ! ! ! ! ! I I I I I I L Второй пакет передается в то время, KorAa первый находится в канале. Столкновение разрушает оба пакета, и они должны быть переданы повторно. Рис. 5.1. Схема базовой сети ALOHA ALOНA  простая система, и поскольку она не требует централизованноrо управления, то ею довольно просто управлять. Однако она крайне неэффек тивна. В лучшем случае она может использовать в среднем только 18% eMKO сти канала. 3 ALOHA  сетевая система университета штата rавайи (США), базирующаяся на спyrнико ВЫХ радИоканалах.  Пер. 
[лава 5. С точки зрения звена 187 Квантованная ALOHA , lIаряду с тем что ALOHA неэффективна, не всеrда доступно и очевидное средство  прослушuванuе каНШlG перед началом передачи. Например, в сис ['reMe мобильноrо радио терминалы MOryт поддерживать связь с базовой CTaH :.цией, но изза препятствий при прохождении радиосиrналов или больших расстояний между узлами MOryт не знать о передачах друrих терминалов, ,даже при том, что сиrналы от них будут доходить до базовой станции и CMe шиваться с тем, что она передает (рис. 5.2). Это называется проблемой cкpы тых терМUНШlOв. Мобильный телефон 1, передающий информацию на базовую станцию, не слышен для телефонов 2 или 3 Преrрада Телефон 3 находится вне зоны приема и поэтому не может быть слышен тenефоном 1, но ero сиrнал может принять базовая станция, и TorAa этот сиrнал /// r ==:=-:d' d -:;елефон 2 начинает передачу сиrнала, который смешивается с сиrналом от телефона 1 -- Рис. 5.2. Проблема скрытых терминалов Квантованная ALOHA улучшает простую, оrраничивая передачу внyrpи Kaд ров. Это вдвое уменьшает шанс столкновений, потому что коrда два терми пала, которые собираются передавать в одном и том же кадровом интервале, пачнyr передачу в следующем кадре (и поэтому столкнутся), любой терми Пал, решающий передавать во втором кадровом интервале, не начнет переда чу до начала следующеrо кадра, и поэтому столкновения не про изойдет. Это повышает пропускную способность почти до 36% емкости канала. KBaHTO ванная ALOНA формирует часть схем управления доступом к среде боль шинства систем мобильноrо радио. Множественный доступ с контролем несущей и обнаружением столкновений (CSMA/CD) CSMAlCD  это только один из протоколов доступа, используемых в ло кальных сетях Ethernet. Такой протокол воспитанные люди используют для телеконференций, коrда обычные визуальные способы вставки слов OTCYТCT вуют. Вот ero правила: LJ слушайте, прежде чем начать rоворить; LJ не rоворите, пока КТOTO rоворит; 
eв Передача данных в сетях: инженерный подход C:J не rоворите MHoro и сбивчиво; с] если вы начали roвориrь, коrда Ю"CrТО уже roвориr, остановиrecь и замолчиre. fпaвHoe отличие рассматриваемоrо протокола от ALOНA состоит в том, что узлы перед передачей прослушивают линию для Toro чтобы узнать, свободна ЩJ она. Это приводит К значительному повышению пропускной способности. Если линия занята, терминал ждет, пока она не освободится. Так как ожидать освобождения линии MOryт несколько терминалов, то чтобы уменьшить Be роятность столкновений, некоторые реализации CSMA/CD требуют, чтобы перед началом передачи терминалы выжидали некоторый случайный интер.- вал времени после Toro, как канал освободится. В Ethernet, однако, использу ется обычная техника, коrда передача начинается сразу же после Toro как Ka нал становится свободным, без ожидания. Если два узла пытаются передавать в одно и то же или почти в одно и ТО же время, то в передающей среде происходит столкновение двух кадров. Обна ружение столкновений выполняется путем отслеживания каждым узлом co стояния шины при передаче кадра. Если данные в шине отличаются от пере даваемых данных, то столкновение произошло. Хотя узлы и не будут пытаться передавать пакеты в то время, коrда линия занята, столкновения все равно происходят, потому что для распространения кадра по всей длине шины требуется некоторое время, и узлы MOryт начинать передачу, коrда предварительно переданный кадр уже находится в пути. Это показано на рис. 5.3. Передача распространяется по шине приблизительно за (2 х 1 08}) мс. В худшем случае сталкивающиеся терминалы находятся на про тивоположных концах шины (рис. 5.3, а), и второй терминал начнет передачу непосредственно перед получением первоrо кадра (рис. 5.3,6). Чтобы обна ружиrъ, что столкновение произошло, каждый терминал должен продолжать передачу, иначе пакеты MOryт столкнуться без Toro, чтобы передатчикам cтa ло известно об этом факте. Второй терминал обнаруживает столкновение очень быстро (рис. 5.3, в), но для Toro чтобы первый терминал обнаружил ero, сиrнал должен распространиться по шине в обратном направлении (рис 5.3, z). Это означает, что в системе CMSAlCD минимальная длина пакета должна равняться удвоенному времени распространения по всей шине (плюс некоторое дополнительное время для обработки). Для коаксиальноrо кабеля длиной 2,5 км это время составляет 51,2 мкс, следовательно при скорости 1 О Мбит/с минимальный размер кадра составляет 64 байта. Именно этот фактор оrpаничивает пропускную способность CSMA/CDcxeM. Если задержка распространения мала по сравнению со скоростью передачи по ШИНе, то кадры MOryт быть небольшими, а пропускная способность MaK симальна. Однако, Коrда скорость передачи возрастает, оrраничение времени распространения становится значительным, поэтому или размер кадра дол жен увеличиться, оrраничивая производительность, или длина шины должна быть уменьшена. Первое решение нежелательно не только с точки зрения liеэффективности передачи небольШИХ Кадров, но и в плане обеспечения 
tFлава 5. С точки зрения звена 189  i !обратной совместимости с предыдущими (более медленными) версиями :стандарта. Более быстрые версии Ethernet обходят эту проблему, используя ;вместо физической лоrическую шину на физической звезде. Концентратор в цeHтpe звезды может обнаруживать столкновения и reнерировать сиrнал столкновения, если несколько соединений активны одновременно. Это озна 'чает, что существует оrраничение на длину отдельноrо cerMeHTa KOHцeHTpa тора, а не сквозное оrраничение на шину (рис. 5.4). о !  ! о а О ! .! о б ! ! о . Ч О  .JI: В О ! .  r Рис. 5.3. Столкновения в сети Ethernet, использующей шину Рис. 5.4. Обнаружение столкновений в сети Ethernet с концентратором Коrда происходит столкновение, оба узла прекращают передачу и будут пы таться повторять передачу кадра после HeKoтoporo интервала времени, из вестноrо как время выдержкu (BackOff time). В идеале время выдержки 
190 Передача данных в сетях: инженерный подход должно быть различно для каждоro из узлов, вовлеченных в процесс столк новения, и поэтому обязано быть случайным. для решения проблем состязаний между несколькими узлами (максимум 1024) разработан специальный алrоритм, известный под названием Ал20ритм двоичной эксnоненцuШlЬНОЙ выдержки (Binary Exponential Backoff Algorithm, ВЕВ), используемый в Ethernet. В ВЕВалrоритме после столкновения узел ждет Х единиц времени (размером 51,2 мс), rAe Х  случайное число между О и (2 N  1) для О < N < 10, или О и 1023 для 11< N < 16, rAe N  число попы ток повторной передачи. После 16 попыток кадр считается потерянным, и решение, что с ним делать, предоставляется более высоким уровням. 5.3.2. Схемы с резервированием Более эффективное использование среды передачи обеспечивают схемы с резервированием, потому что при этом досryп становится управляемым и столкновений не происходит. Их можно разделить на системы с опросом, ис пользующие центральное устройство управления, и распределенные системы. Опрос В схеме с опросом за разрешение ДОС'I)'па к разделяемой среде отвечает цeH тральный КОН1роллер. Он направляет хостузлам специальные сообщения, раз решающие им использовать среду в течение определенноrо периода времени. Самый простой метод  схема ЦuклuчеСКО20 опроса, KorAa контроллер входит в KOнraкт С каждым опрашиваемым хостузлом и приrлашает ero передавать свои данные. Korдa тот заканчивает передачу, центральный контроллер опра шивает следующий хостузел. В расширенной методике время передачи XOCT узла оrpаничено, так что каждый узел получает хороший шанс для передачи. Существенное преимущество схемы с центральным управлением состоит в том, что у хостузлов появляется возможность сообщать центральному KOH троллеру об имеющемс у них трафике, который часто измеряется в терми нах наполнения их локальных очередей, но это можно, например, сделать также на основе приоритета или скорости поступления трафика. Orсюда сле дует, что центральный контроллер имеет rлобальное представление о состоя нии системы, HaMHoro превосходящее более оrраниченное представление о состоянии хостузлов, И поэтому может располаrать доступом к COOTBeТCT вующим хостузлам по приоритетам. В примере на рис. 5.5, а очередь XOCT узла С почти полна, и контроллер назначает ему высокий приоритет передачи (рис. 5.5, 6). Так как контроллер обладает знаниями о доступе к каналу, то он может в некоторых пределах предсказывать требования хостузлов, yMeНl) шая тем самым необходимость сообщать ему их точное состояние. Одним из недостатков данной схемы опроса является то, что хостузел опра ШИвается независимо от Toro, имеются ли у Hero данные для передачи или 
rлава 5. С точки зрения звена 191 нет. Если ему нечеrо передавать, он немедленно просиrнализирует об этом контроллеру, и тот будет опрашивать следующий хостузел. Если в сети име ется достаточно большое количество хостузлов, которые не часто передают свою информацию, то в этом процессе наблюдаются значительные издержки. Обойти эти проблемы позволяют так называемые 2uбрuдные схемы, исполь зующие в определенные "установочные" периоды времени схему с состяза ниями, а все остальное время  схему с опросом. cf} ф   J,  I   . 1.1,  I j,  J I tr l 'fl .; . ,...........,.._ а 6 OJI, Рис. 5.5. Схема опроса, базирующеrося на приоритетах в rибридных схемах вместо опроса всех хостузлов контроллер хранит список опроса активных узлов и опрашивает только узлы из этоrо списка. В YCTaHO вочные периоды хостузлы используют схему с состязаниями для Toro, чтобы информировать контроллер о том, что они имеют информацию для передачи. Контроллер будет помещать информировавшие ero узлы в список опроса и управлять их передачами вне установочных периодов (по схеме с опросом). KorAa хостузлы заканчивают передачу, они удаляются из списка опроса. Схемы с маркерами Схемы с маркерами позволяют орrанизовать опрос в распределенной манере, так что никакоrо центральноrо контроллера не требуется, хотя на практике один из узлов должен первоначально сrенерировать специальный кадр  маркер  и затем постоянно проверять, распространяется ли он по сети. Маркер в такой схеме передается от узла к узлу. Обладание маркером дает разрешение на передачу данных. Чтобы rарантировать успешный доступ, OT резок времени, в течение KOToporo узел может хранить маркер и передавать свои данные, оrраничивается. KorAa достиrается конец этоrо интервала или KorAa узлу с маркером нечеrо передавать, он пересылает маркер на следую 
19 Передача данных в сетях: инженерный подход щий узел. Этот процесс продолжается в цикле или лоrическом кольце до тех пор, пока все узлы не получат шанс принять маркер и передать данные, после чеrо цикл повторяется. Существует MHoro разновидностей схем с маркером, однако типичным пред ставителем такой схемы является MACcтaндapт ШЕЕ 802.5 "Маркерное кольцо" (Token Ring). Маркер в этой системе формируется из пустоrо ин формационноrо кадра. Если данные для передачи отсутствуют, то маркер (или пустой кадр) передается от узла к узлу. Коrда у узла есть что переда вать, он ждет маркерный кадр, вставляет в Hero данные, которые он должен передать, а также адрес пункта назначения (и свой собственный адрес  в качестве адреса источника), и посылает ero в сеть. Приняв информационный кадр, каждый узел проверяет ero, чтобы узнать, не является ли адрес пункта назначения ero собственным адресом. Если нет, то кадр пересылается дальше без изменения. Коrда достиrается адрес узла назначения, тот извлекает ин формацию из кадра, заменяет ero данные подтверждением приема и направляет ero назад в кольцо для отправки к источнику. Получив этот кадр, узел источника извлекает подтверждение (получив, таким образом, подтвер ждение приема отправленных адресату данных) и пересылает пустой кадр назад в кольцо к следующему узлу. Это означает, что каждый узел может пе редавать свои данные только один раз, коrда он владеет маркером. Если все узлы имеют какието данные для передачи, то они будут циклически пере мещаться BOKpyr кольца от терминала к терминалу. В качестве при мера рассмотрим цепочку событий в системе, показанной на рис. 5.6, rде узел А хочет послать данные узлу С. Узел А ждет свободный маркер (рис. 5.6, а). Получив ero, он заполняет ero своими данными, YCTaHaB ливает флажок занятости маркера и направляет этот кадр по кольцу к узлу С (рис. 5.6, 6). Узел С принимает кадр, устанавливает в "хвосте" кадра биты oт вета, подтверждающие прием данных от узла А, и помещает ero обратно в кольцо для отправки к узлу А (рис. 5.6, в). Узел А принимает кадр, подтвер ждающий получение данных, сбрасывает биты ответа и возвращает свобод ный маркер в кольцо (рис. 5.6,2). Друrой МАСпротокол  FDDI (Fiber Distributed Data lnterface, интерфейс передачи данных по оптоволокну)  использует ту же базовую процедуру, хотя и с некоторыми различиями в деталях. rлавное различие состоит в том, что под управлением FDDI узел посылает свободный маркер сразу же после Toro, как он послал свои данные (то есть перед тем как он примет подтвер ждение). В больших сетях, для которых был разработан FDDI, ожидание подтверждения перед освобождением маркера было бы слишком неэффек тивным. При этом появляется возможность второй (и даже нескольких) пе редач данных или их подтверждений по кольцу, но так, чтобы в любой дaH ный момент только одна передача присутствовала в каждой отдельной части кольца. 
fлава 5. С точки зрения звена 193 в а б в r Рис. 5.6. Схема управления доступом к-;:реде передачи, использующая маркеры Существенным преимуществом схем с маркерами по отношению к распреде ленным CSMAlCDcxeMaM с состязаниями, является то, что продолжая рабо '{ать в распределенной манере, они MOryт назначать передачам различные приоритеты. Для этоrо в маркере выделяется специальное поле  поле пpи , оритета  и указывается, что использовать этот маркер MOryт только те ужбы, приоритет которых больше, чем уровень приоритета, заданный в маркере. Чтобы rарантировать передачу кадров в приоритетн