Text
                    1^ППТЕР
В. Олифер
Н. Олифер
чебник
ДЛЯ ВУЗОВ
Компьютерные
сети
Принципы, технологии, протоколы
4-е издание
РЕКОМЕНДОВАНО
МИНИСТЕРСТВОМ ОБРАЗОВАНИЯ И НАУКИ РФ

УЧЕБНИК। gj ДЛЯ ВУЗОВ В. Олифер Н. Олифер Компьютерные сети Принципы, технологии, протоколы 4-е издание Рекомендовано Министерством образования и науки Российской Федерации в качестве учебного пособия для студентов высших учебных заведений, обучающихся по направлению «Информатика и вычислительная техника» и по специальностям «Вычислительные машины, комплексы, системы и сети», «Автоматизированные машины, комплексы, системы и сети», «Программное обеспечение вычислительной техники и автоматизированных систем». СЕЛИГЕР' Москве Свнкт-Петербург Нижний Новгород Воронеж Ростов-нв-Дону Еквтеринбург • Самаре • Новосибирск Киев • Харьков Минск 2010
ББК 32.973.202я7 УДК 004.7(075) 0-54 Рецензенты: Кафедра «Вычислительная техника» факультета «Вычислительные машины и системы» Московского государственного института радиотехники, электроники и автоматики (Технического университета); Ю. А. Григорьев, д. т. н., профессор кафедры «Системы обработки информации и управления» Московского государственного технического университета им. Н. Э. Баумана; Б. Ф. Прижуков, к. т. н.. заместитель начальника ИВЦ ОАО «Московский междугородный и международный телефон» Олифер В. Г., Олифер Н. А. 0-54 Компьютерные сети. Принципы, технологии, протоколы: Учебник для вузов. 4-е изд. — СПб.: Питер, 2010. — 944 с.: ил. ISBN 978-5-49807-389-7 Новое издание одного из лучших российских учебников по сетевым технологиям можно считать юбилейным. Прошло ровно 10 лет с момента первой публикации книги «Компьютерные сети. Принципы, технологии, протоколы». За это время книга приобрела широкую популярность в Рос- сии, была издана на английском, испанском, португальском и китайском языках, и с каждым но- вым изданием она существенно обновлялась. Не стало исключением и это, четвертое издание, в котором появилось много новых разделов, посвященных самым актуальным направлениям сете- вых технологий. Издание предназначено для студентов, аспирантов и технических специалистов, которые хотели бы получить базовые знания о принципах построения компьютерных сетей, понять особенности традиционных и перспективных технологий локальных и глобальных сетей, изучить способы создания крупных составных сетей и управления такими сетями. Рекомендовано Министерством образования и науки Российской Федерации в качестве учебно- го пособия для студентов высших учебных заведений, обучающихся по направлению «Информа- тика и вычислительная техника» и по специальностям «Вычислительные машины, комплексы, системы и сети», «Автоматизированные машины, комплексы, системы и сети», «Программное обеспечение вычислительной техники и автоматизированных систем». ББК 32.973.202Я7 УДК 004.7(075) Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было фор- ме без письменного разрешения владельцев авторских прав. Информация, содержащаяся в данной книге, получена из источников, рассматриваемых издательством как надежные. Тем не менее, имея в ваду возможные человеческие или технические ошибки, издательство не может гарантировать абсолютную точность и полноту приводимых сведений и не несет ответственности за возможные ошибки, связанные с использованием книги. ISBN 978-5-49807-389-7 С ООО «Лидер», 2010
Оглавление Отввторов........................................................................17 Для кого эта книга...............................................................17 Изменения в четвертом издании................................................... 18 Структура книги..................................................................19 Веб-сайт поддержки книги....................................................... 21 Благодарности....................................................................22 ЧАСТЬ I. ОСНОВЫ СЕТЕЙ ПЕРЕДАЧИ ДАННЫХ Глвва 1. Эволюция компьютерных сетей...........................................24 Два корня компьютерных сетей...................................................25 Вычислительная и телекоммуникационная технологии.......................... 25 Системы пакетной обработки..................................................25 Многотерминальные системы — прообраз сети...... .26 Первые компьютерные сети.......................................................28 Первые глобальные сети.................................................... .28 Первые локальные сети.......................................................30 Конвергенция сетвй........................................................... .33 Сближение локальных и глобальных сетей.................................... -33 Конвергенция компьютерных и телекоммуникационных сетей .. -35 Выводы......... . ........................................................37 Вопросы и задания............................................................ 37 Глава 2. Общие принципы построения сетей.......................................39 Простейшая сеть из двух компьютеров............................................40 Совместное использование ресурсов...........................................40 Сетевые интерфейсы..........................................................40 Связь компьютера с периферийным устройством.................................42 Обмен данными между двумя компьютерами......................................43 Доступ к ПУ через сеть......................................................44 Сетевое программное обеспечение................................................44 Сетевые службы и сервисы....................................................45 Сетевая операционная система................................................47 Сетевые приложения................................................ .. 49 Физическая передача данных по линиям связи.....................................52 Кодирование.................................................................52 Характеристики физических каналов...........................................54 Проблемы связи нескольких компьютеров..........................................55 Топология физических связей.................................................55 Адресация узлов сети........................................................59 Коммутация..................................................................62
4 Оглавление Обобщенная задача коммутации...................................................62 Определение информационных потоков...... 63 Маршрутизация...............................................................64 Продвижение данных........................................................ 67 Мультиплексирование и демультиплексирование 69 Разделяемая среда передачи данных.......................................... 70 Типы коммутации.......................................................... 73 Выводы....................................................................... 74 Вопросы и задания............................................................ 75 Глава 3. Коммутация каналов и пакетов..........................................77 Коммутация каналов.......................................................... 78 Элементарный канал..........................................................78 Составной канал............................................................ 80 Неэффективность при передаче пульсирующего трафика........................ -84 Коммутация пакетов........................................................... .85 Буферизация пакетов..................................................... .88 Дейтаграммная передача.................................................... -89 Передача с установлением логического соединения........................... .91 Передача с установлением виртуального канала.............................. -93 Сравнение сетей с коммутацией пакетов и каналов............................... 95 Транспортная аналогия для сетей с коммутацией пакетов и каналов. .95 Количественное сравнение задержек..................................... .... 96 Ethernet — пример стандартной технологии с коммутацией пакетов..... 103 Выводы...................................................................... 105 Вопросы и задания............................................................ 106 Глава 4. Архитектура и стандартизация сетей...................................108 Декомпозиция задачи сетевого взаимодействия............................. .... 109 Многоуровневый подход..................................................... 109 Протокол и стек протоколов. 112 Модель OSI................................................................... 113 Общая характеристика модели OSI.. 113 Физический уровень.........................................................116 Канальный уровень .. .. 116 Сетевой уровень............................................................118 Транспортный уровень .... ................................ 121 Сеансовый уровень..........................................................122 Уровень представления. ................................ .122 Прикладной уровень................................. .............. 123 Модель OSI и сети с коммутацией каналов.................................. - 123 Стандартизация сетей..........................................................124 Понятие открытой системы ..................................................124 Источники стандартов..................................................... . 125 Стандартизация Интернета ................................................ 126 Стандартные стеки коммуникационных протоколов........................... ..126 Соответствие популярных стеков протоколов модели OSI.... .. 130 Информационные и транспортные услуги......................................... 131 Распределение протоколов по элементам сети................................ 132 Вспомогательные протоколы транспортной системы............................ 134 Выводы..................................................................... 136 Вопросы и задания............................................................ 136 Главе 5. Примеры сетей........................................................138 Классификация компьютерных сетей............................................. 139 Классификация компьютерных сетей в технологическом аспекте.................139 Другие аспекты классификации компьютерных сетей. ... 141
Оглавление 5 Обобщенная структура телекоммуникационной сети.................................... 143 Сеть доступа................................................................... 143 Магистральная сеть............................................................. 144 Информационные центры...........................................................144 Сети операторов связи..............................................................145 Услуги..................................................................... - 146 Клиенты...................................................................... ..147 Инфраструктура............................................................. .. 148 Территория покрытия.......................................................... ..149 Взаимоотношения между операторами связи различного типа.........................150 Корпоративные сети.................................................................151 Сети отделов....................................................................151 Сети зданий и кампусов..........................................................153 Сети масштаба предприятия.......................................................154 Интернет......................................................................... 156 Уникальность Интернета........................................................ 157 Структура Интернета.......................................................... 158 Классификация провайдеров Интернета по видам оказываемых услуг..................159 Выводы.............................................................................160 Вопросы и задания..................................................................160 Глава 6. Сетевые характеристики....................................................162 Типы характеристик................................................................ 163 Субъективные оценки качества.................................................. 163 . Характеристики и требования к сети ........................................... 163 Временная шкала............................................................... 164 Соглашение об уровне обслуживания...............................................165 Производительность............................................................... 165 Идеальная сеть................................................................. 165 Статистические оценки характеристик сети.................................. ... 168 Активные и пассивные измерения в сети.......................................... 171 Характеристики задержек пакетов................................................ 174 Характеристики скорости передачи.......................................... ... 177 Надежность................................................................... ... 179 Характеристики потерь пакетов...................................................179 Доступность и отказоустойчивость.......................................... ... 179 Характеристики сети поставщика услуг.............................................. 180 Расширяемость и масштабируемость............................................... 180 Управляемость...................................................................181 Совместимость.................................................................. 182 Выводы............................................................................ 182 Вопросы и задания................................................................. 183 Глава 7. Методы обеспечения качества обслуживания..................................184 Обзор методов обеспечения качества обслуживания................................... 185 Приложения и качество обслуживания.................................................187 Предсказуемость скорости передачи данных........................................187 Чувствительность трафика к задержкам пакетов....................................188 Чувствительность трафика к потерям и искажениям пакетов.........................189 Классы приложений...............................................................190 Анализ очередей....................................................................191 Модель М/М/1....................................................................191 Очереди и различные классы трафика..............................................195 Техника управления очередями.......................................................197 Очередь FIFO....................................................................197 Приоритетное обслуживание.......................................................197 Взвешенные очереди..............................................................200 Комбинированные алгоритмы обслуживания очередей.................................202
6 Оглавление Механизмы кондиционирования трафика...........................................202 Классификация трафика..................................................... 203 Профилирование.............................................................203 Формирование трафика.................................................... 204 Обратная связь 205 Назначение.......................................... . 205 Участники обратной связи...................................................206 Информация обратной связи................................................ 208 Резервирование ресурсов.......................................................209 Резервирование ресурсов и контроль допуска............................... 209 Обеспечение заданного уровня задержек......................................214 Инжиниринг трафика............................................................215 Недостатки традиционных методов маршрутизации..............................216 Методы инжиниринга трафика.................................................217 Инжиниринг трафика различных классов.......................................220 Работа в недогруженном режиме.................................................221 Выводы........................................................................223 Вопросы и задания.............................................................224 ЧАСТЬ II. ТЕХНОЛОГИИ ФИЗИЧЕСКОГО УРОВНЯ Глава 8. Линии связи...........................................................228 Классификация линий связи......................................................229 Первичные сети, линии и каналы связи........................................229 Физическая среда передачи данных............................................230 Аппаратура передачи данных..................................................232 Характеристики линий связи................................................. 233 Спектральный анализ сигналов на линиях связи..............................- 233 Затухание и волновое сопротивление........................................ 235 Помехоустойчивость и достоверность.. . .......................239 Полоса пропускания и пропускная способность.................................242 Биты и боды................................................................ 244 Соотношение полосы пропускания и пропускной способности.....................246 Типы кабелей...................................................................247 Экранированная и неэкранированная витая пара................................247 Коаксиальный кабель...................................................... • 249 Волоконно-оптический кабель...........................-.....................253 Структурированная кабельная система зданий..................................252 Выводы.........................................................................253 Вопросы и задания..............................................................234 Глава 9. Кодирование и мультиплексирование данных..............................23® Модуляция......................................................................237 Модуляция при передаче аналоговых сигналов..................................237 Модуляция при передаче дискретных сигналов..................................257 Комбинированные методы модуляции............................................2^9 Дискретизация аналоговых сигналов..............................................231 Методы кодирования.......................................................... • 233 Выбор способа кодирования...................................................233 Потенциальный код NRZ.................................................... • 264 Биполярное кодирование AMI................................................ 233 Потенциальный код NRZI......................................................233 Биполярный импульсный код...................................................237 Манчестерский код...........................................................237 Потенциальный код 2B1Q......................................................233
Оглавление 7 Избыточный код 4В/5В.........................................................268 Скремблирование ............................................................ 269 Компрессия данных............................................................272 Обнаружение и коррекция ошибок..................................................274 Методы обнаружения ошибок....................................................274 Методы коррекции ошибок..................................................... 275 Мультиплексирование и коммутация................................................276 Коммутация каналов на основе методов FDM и WDM...............................276 Коммутация каналов на основе метода TDM......................................278 Дуплексный режим работы канала.............................................. 280 Выводы..........................................................................281 Вопросы и задания.............................................................. 282 Главе 10. Беспроводная передаче данных..........................................284 Беспроводная среда передачи.....................................................285 Преимущества беспроводных коммуникаций.......................................285 Беспроводная линия связи.....................................................286 Диапазоны электромагнитного спектра..........................................287 Распространение электромагнитных волн........................................288 Лицензирование...............................................................290 Беспроводные системы............................................................292 Двухточечная связь...........................................................292 Связь одного источника и нескольких приемников...............................293 Связь нескольких источников и нескольких приемников..........................295 Типы спутниковых систем......................................................296 Геостационарный спутник......................................................298 Средне- и низкоорбитальные спутники..........................................300 Технология широкополосного сигнала..............................................302 Расширение спектра скачкообразной перестройкой частоты.......................302 Прямое последовательное расширение спектра...................................305 Множественный доступ с кодовым разделением...................................306 Выводы..........................................................................308 Вопросы и задания...............................................................308 Глава 11. Первичные сети........................................................310 СетиРОН.........................................................................311 Иерархия скоростей...........................................................31. Методы мультиплексирования...................................................312 Синхронизация сетей PDH................................................... ..314 Ограничения технологии PDH...................................................315 Сети SONET/SDH..................................................................316 Иерархия скоростей и методы мультиплексирования..............................317 Типы оборудования...... 319 Стек протоколов..............................................................320 Кадры STM-N..................................................................322 Типовые топологии............................................................324 Методы обеспечения живучести сети...... 325 Новое поколение протоколов SDH...............................................331 Сети DWDM........'............................................................ 333 Принципы работы..............................................................334 Волоконно-оптические усилители...............................................335 Типовые топологии............................................................336 Оптические мультиплексоры ввода-вывода.......................................339 Оптические кросс-коннекторы..................................................340
8 Оглавление СетиОТГМ.......................................................................341 Причины и цели создания.....................................................341 Иерархия скоростей..........................................................342 Стек протоколов OTN....................................................... 343 КадрОТИ................................................................... 344 Выравнивание скоростей.................................................... 345 Мультиплексирование блоков................................................ 346 Коррекция ошибок.......................................................... 346 Выводы.........................................................................347 Вопросы и задания..............................................................348 ЧАСТЬ III. ЛОКАЛЬНЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СЕТИ Глава 12. Технологии локальных сетей на разделяемой среде......................353 Общая характеристика протоколов локальных сетей на разделяемой среде . 354 Стандартная топология и разделяемая среда...................................354 Стандартизация протоколов локальных сетей.................................. 356 Ethernet со скоростью 10 Мбит/с на разделяемой среде...........................360 МАС-адреса................................................................. 360 Форматы кадров технологии Ethernet......................................... 361 Доступ к среде и передача данных........................................... 362 Возникновение коллизии..................................................... 364 Время оборота и распознавание коллизий..................................... 365 Спецификации физической среды.............................................. 366 Максимальная производительность сети Ethernet.............................. 370 Технологии Token Ring и FDDI.................................................. 372 Беспроводные локальные сети IEEE 802.11 ...................................... 375 Проблемы и области применения беспроводных локальных сетей..................375 Топологии локальных сетей стандарта 802.11................................. 378 Стек протоколов IEEE 802.11 ............................................... 380 Распределенный режим доступа DCF............................. - 380 Централизованный режим доступа PCF..........................................383 Безопасность............................................................. 384 Физические уровни стандарта 802.11 ........................................ 385 Персональные сети и технология Bluetooth..................................... 389 Особенности персональных сетей..............................................389 Архитектура Bluetooth................................. • 390 Стек протоколов Bluetooth................................................. 392 Кадры Bluetooth....................................... • 394 Поиск и стыковка устройств Bluetooth...................................... 395 Пример обмена данными в пикосети................... 396 Новые свойства Bluetooth ... ..................... 398 Выводы........................................... • 398 Вопросы и задания............................................................ 399 Глава 13. Коммутируемые сети Ethernet..........................................402 Мост как предшественник и функциональный аналог коммутатора . .........403 Логическая структуризация сетей и мосты...................... • 403 Алгоритм прозрачного моста IEEE 802.1 D............................ 407 Топологические ограничения при применении мостов в локальных сетях. .411 Коммутаторы.................................................................. 413 Параллельная коммутация............................................ .. 413 Дуплексный режим работы................................................ ..417 Неблокирующие коммутаторы................................................ ..419
Оглавление 9 Борьба с перегрузками.........................................................420 Характеристики производительности коммутаторов................................424 Скоростные версии Ethernet..................................................... 426 Fast Ethernet.................................................................427 Gigabit Ethernet............................................................ 431 10G Ethernet................................................................ 436 Архитектура коммутаторов................... ..................... 438 Конструктивное исполнение коммутаторов..... .................... • 442 Выводы......................................................................... 445 Вопросы и задания................................................................446 Глава 14. Интеллектуальные функции коммутаторов..................................448 Алгоритм покрывающего дерева 449 Классическая версия STP.......................................................449 Версия RSTP...................................................................456 Агрегирование линий связи в локальных сетях......................................459 Транки и логические каналы....................................................459 Борьба с «размножением» пакетов...............................................460 Выбор порта...... 462 Фильтрация трафика...............................................................464 Виртуальные локальные сети.......................................................467 Назначение виртуальных сетей..................................................468 Создание виртуальных сетей на базе одного коммутатора.........................469 Создание виртуальных сетей на базе нескольких коммутаторов....................470 Альтернативные маршруты в виртуальных локальных сетях.........................474 Качество обслуживания в виртуальных сетях.....................................475 Ограничения коммутаторов ... 478 Выводы...........................................................................479 Вопросы и задания................................................................479 ЧАСТЬ IV. СЕТИ TCP/IP Глввв 15. Адресвция в стеке протоколов TCP/IP................................... 482 Стек протоколов TCP/IP...........................................................483 Типы адресов стека TCP/IP........................................................486 Локальные адреса..............................................................486 Сетевые 1Р-адрвса.............................................................487 Доменные имена................................................................488 Формат IP-адреса.................................................................488 Классы IP-адресов......................................................... - - • 489 Особые IP-адреса..............................................................490 Использование масок при IP-адресации..........................................492 Порядок назначения IP-адресов....................................................493 Назначение адресов автономной сети............................................493 Централизованное распределение адресов........................................494 Адресация и технология CIDR...................................................494 Отображение IP-адресов на локальные адреса.......................................496 Протокол разрешения адресов.................................................. 497 Протокол Proxy-ARP............................................................501 Система DNS......................................................................502 Плоские символьные имена......................................................502 Иерархические символьные имена................................................503 Схема работы DNS..............................................................505 Обратная зона.................................................................507
10 Оглавление Протокол DHCP...... 508 Режимы DHCP...............................................................508 Алгоритм динамического назначения адресов.................................510 Выводы.......................................................................512 Вопросы и задания....... 512 Глава 16. Протокол межсетевого взаимодействия..................................514 Формат IP-пакета...............................................................515 Схема IP-маршрутизации.........................................................517 Упрощенная таблица маршрутизации............................................519 Таблицы маршрутизации конечных узлов........................................521 Просмотр таблиц маршрутизации без масок.....................................522 Примеры таблиц маршрутизации разных форматов................................523 Источники и типы записей в таблице маршрутизации............................ 527 Пример IP-маршрутизации без масок...........................................528 Маршрутизация с использованием масок...........................................533 Структуризация сети масками одинаковой длины................................534 Просмотр таблиц маршрутизации с учетом масок................................536 Использование масок переменной длины........................................538 Перекрытие адресных пространств............................................. 541 CIDR........................................................................544 Фрагментация IP-пакетов........................................................547 Параметры фрагментации......................................................547 Механизм фрагментации....................................................... 548 Выводы.........................................................................550 Вопросы и задания............................................................. 551 Глава 17. Базовые протоколы TCP/IP.............................................553 Протоколы транспортного уровня TCP и UDP.......................................554 Порты и сокеты..............................................................554 Протокол UDP и UDP-дейтаграммы..............................................557 Протокол TCP и ТСР-сегменты.................................................558 Логические соединения — основа надежности TCP...............................560 Повторная передача и скользящее окно........................................564 Ревлизация метода скользящего окна в протоколе TCP..........................567 Управление потоком..........................................................570 Общие свойства и классификация протоколов маршрутизации........................572 Протокол RIP...................................................................575 Построение таблицы маршрутизации........................................... 575 Адаптация маршрутизатороа RIP к изменениям состояния сети...................578 Пример зацикливания пакетов.................................................580 Методы борьбы с ложными маршрутами а протоколе RIP..........................581 Протокол OSPF................................................................. 582 Два этапа построения таблицы маршрутизации..................................583 Метрики.....................................................................584 Маршрутизация в неоднородных сетях.............................................585 Взаимодействие протоколов маршрутизации.....................................585 Внутренние и внешние шлюзовые протоколы.....................................586 Протокол ..................................................................... 588 Протокол ICMP....... 591 Утилита traceroute..........................................................593 Утилита ping..... 596 Выводы.........................................................................597 Вопросы и задания............................................................ 598
Оглавление 11 Глава 18. Дополнительные функции маршрутизаторов IP-сетей.......................599 Фильтрация......................................................................600 Фильтрация пользовательского трафика.........................................600 Фильтрация маршрутных объявлений.............................................603 Стандарты QoS в IP-сетях........................................................603 Модели качества обслуживания IntServ и DlffServ..............................604 Алгоритм ведра маркеров..................................................... 605 Случайное раннее обнаружение.................................................607 Интегрированное обслуживание и протокол RSVP.................................608 Дифференцированное обслуживание..............................................611 Трансляция сетевых адресов......................................................616 Причины подмены адресов......................................................616 Традиционная технология NAT..................................................616 Базовая трансляция сетевых адресов...........................................618 Трансляция сетевых адресов и портов..........................................619 Групповое вещание...............................................................621 Стандартная модель группового вещания IP.....................................622 Адреса группового вещания....................................................626 Основные типы протоколоа группового аещания..................................627 Протокол IGMP................................................................627 Принципы маршрутизации трафика группового вещания...................... 630 Протокол DVMRP...............................................................632 Протокол MOSPF............................................................. 635 Протокол PIM-SM..............................................................635 IPv6 как развитие стека TCP/IP................................................ 640 Система адресации протокола IPv6.............................................641 Снижение нагрузки на маршрутизаторы..........................................644 Переход на версию IPv6.......................................................647 Маршрутизаторы..................................................................648 Функции маршрутизаторов......................................................648 Классификация маршрутизаторов по областям применения.........................651 Выводы..........................................................................657 Вопросы и задания...............................................................657 ЧАСТЬ V. ТЕХНОЛОГИИ ГЛОБАЛЬНЫХ СЕТЕЙ Глава 19. Транспортные услуги и технологии глобальных сетей.......................661 Базовые понятия.................................................................. 662 Типы публичных услуг сетей оператороа связи....................................662 Многослойная сеть оператора связи........................................... • 666 Технология Frame Relay.......................................................... 672 История стандарта............................................................ 672 Техника продвижения кадров.....................................................672 Гарантии пропускной способности............................................. 675 Технология ATM....................................................................678 Ячейки ATM.................................................................. 678 Виртуальные каналы ATM.........................................................680 Категории услуг ATM.......................................................... .681 Виртуальные частные сети..........................................................682 IP в глобальных сетях.............................................................689 Чистая IP-сеть.................................................................689 Протокол HDLC..................................................................690 Протокол РРР...................................................................690 Использование выделенных линий IP-маршрутизаторами.............................692 Работа IP-сети поверх сети ATM.................................................693
12 Оглавление Выводы..........................................................................695 Вопросы и задания............................................................. 696 Глава 20. Технология MPLS.......................................................698 Базовые принципы и механизмы MPLS............................ . 699 Совмещение коммутации и маршрутизации в одном устройстве.. 699 Пути коммутации по меткам.................................................. 702 Заголовок MPLS и технологии канвльного уровня................................704 Стек меток.............................................................. .... 706 Протокол LDP....................................................................709 Мониторинг состояния путей LSP..................................................714 Тестирование путей LSP.......................................................715 Трассировка путей LSP........................................................716 Протокол двунаправленного обнаружения ошибок продвижения.....................717 Инжиниринг трафика в MPLS.......................................................717 Отказоустойчивость путей MPLS...................................................722 Общая характеристика.........................................................722 Использование иерархии меток для быстрой защиты..............................723 Выводы..........................................................................724 Вопросы и задания...............................................................725 Глава 21. Ethernet операторского класса.........................................727 Обзор версий Ethernet операторского класса. 728 Движущие силы экспансии Ethernet.............................................728 Разные «лица» Ethernet..................................................... 729 Стандартизация Ethernet как услуги...........................................731 Технология EoMPLS........................................................... 733 Псевдоканалы.................................................................733 Услуги VPWS................................................................ 737 Услуги VPLS..................................................................739 Ethernet поверх Ethernet.............. ...................... ...................741 Области улучшений Ethernet...................................................741 Функции эксплуатации, администрирования и обслуживания в Ethernet............743 Мосты провайдера.............................................................746 Магистральные мосты провайдера...............................................748 Магистральные мосты провайдера с поддержкой инжиниринга трафика..............753 Выводы........................................................................ 756 Вопросы и задания...............................................................757 Глава 22. Удаленный доступ......................................................759 Схемы удаленного доступа....................................................... 760 Типы клиентов и абонентских окончаний........................................761 Мультиплексирование информации на абонентском окончании..................... 763 Режим удаленного узла........................................................765 Режим удаленного управления и протокол telnet............................... 767 Коммутируемый аналоговый доступ............................................... 768 Принцип работы телефонной сети.............................................. 769 Удаленный доступ через телефонную сеть.......................................771 Модемы..................................................................... 772 Коммутируемый доступ через сеть ISDN............................................775 Назначение и структура ISDN................................................. 775 Интерфейсы BRI и PRI.........................................................777 Стек протоколов ISDN........................................................ 779 Использование сети ISDN для передачи данных................................ 781 Технология ADSL.................................................................784
Оглавление 13 Доступ через сети CATV.........................................................787 Беспроводной доступ........................................................... 789 Выводы.........................................................................791 Вопросы и задания....................................... • 792 Глава 23 Сетевые службы........................................................794 Электронная почта......... ...................... 795 Электронные сообщения........... • 795 Протокол SMTP..................................................... 795 Непосредственное взаимодействие клиента и сервера................. .. 796 Схема с выделенным почтовым сервером........................ .. 797 Схема с двумя почтовыми серверами-посредниками........... .. 799 Протоколы POP3 и IMAP................................ • 800 Веб-служба..................................................... • 801 Веб- и HTML-страницы......................................- - • 802 URL ........................................................................803 Веб-клиент и веб-сервер.............................. • 803 Протокол HTTP..................................................... 805 Формат HTTP-сообщений............................................. • 806 Динамические веб-страницы......................................... • 807 IP-телефония......................................................... • 808 Ранняя IP-телефония.........................................................808 Стандарты Н.323................................................... 809 Стандарты на основе протокола SIP................................. .... 811 Связь телефонных сетей через Интернет................................... ...813 Новое поколение сетей 1Р-телефонии..........................................814 Распределенные шлюзы и программные коммутаторы.................... . ..816 Новые услуги................................................................817 Интеграция систем адресации Е.164 и DNS на основе ENUM......................818 Протокол передачи файлов.......................................................819 Основные модули службы FTP............................................... 819 Управляющий сеанс и сеанс передачи данных...................................820 Команды взаимодействия FTP-клиента с FTP-сервером......................... 820 Сетевое управление в IP-сетях..................................................821 Функции систем управления.................................................. 821 Архитектуры систем управления сетями........................................823 Выводы................................................................... • 826 Вопросы и задания .... 827 Глава 24 Сетевая безопасность..................................................828 Основные понятия информационной безопасности...................................829 Определение безопасной системы............................................. 829 Угроза, атака, риск.........................................................830 Типы и примеры атак............................................................831 Атаки отказа в обслуживании.................................................831 Перехват и перенаправление трафика..........................................833 Внедрение в компьютеры вредоносных программ.................................837 Троянские программы.................................................. 837 Сетевые черви 838 Вирусы......................................................................842 Шпионские программы.........................................................844 Спам....................................................................... 844 Методы обеспечения информационной безопасности.................................845 Классификация методов защиты.............................................. .845 Политика безопасности..................................................... 846
14 Оглавление Шифроаание.....................................................................847 Симметричные алгоритмы шифрования...........................................848 Алгоритм DES................................................................849 Несимметричные алгоритмы шифрования.........................................850 Алгоритм RSA................................................................853 Односторонние функции шифрования............................................854 Аутентификация, авторизации, аудит.............................................856 Понятие аутентификации......................................................856 Авторизация доступа.........................................................858 Аудит.......................................................................859 Строгая аутентификация на основе многоразоаого пароля в протоколе CHAP......860 Аутентификация на основе одноразового пароля................................861 Аутентификация на основе сертификатов.......................................863 Аутентификация информации...................................................869 Антивирусная защита............................................................871 Сканирование сигнатур.......................................................872 Метод контроля целостности..................................................873 Сканирование подозрительных команд..........................................874 Отслеживание поведения программ.............................................874 Сетевые экраны.................................................................875 Типы сетевых экранов разных уровней.........................................878 Реализация..................................................................879 Архитектура.................................................................880 Прокси-серверы.................................................................882 Функции прокси-сервера......................................................882 Прокси-серверы прикладного уровня и уровня соединений.......................885 «Проксификация» приложений..................................................886 Системы обнаружения вторжений...............................................887 Протоколы защищенного канала. IPsec............................................887 Иерархия технологий защищенного канала......................................889 Распределение функций между протоколами IPSec...............................890 Безопасная ассоциация.......................................................891 Транспортный и туннельный режимы............................................893 ПротоколАН..................................................................895 Протокол ESP................................................................896 Базы данных SAD И SPD.......................................................898 Сети VPN на осноае шифрования..................................................900 Выводы.........................................................................902 Вопросы и задания..............................................................903 Ответы на вопросы..............................................................905 Рекомендуемая и использованная литературе......................................917 Алфавитный указатель...........................................................918
Посвящаем нашей дочери Анне
От авторов Эта книга является результатом многолетнего опыта преподавания авторами курсов сетевой тематики в аудиториях государственных вузов, коммерческих учебных центров, а также учебных центров предприятий и корпораций. Основу книги составили материалы курсов «Проблемы построения корпоративных се- тей», «Основы сетевых технологий», «Организация удаленного доступа», «Сети TCP/IP», «Стратегическое планирование сетей масштаба предприятия» и ряда других. Эти материа- лы прошли успешную проверку в бескомпромиссной и сложной аудитории, состоящей из слушателей с существенно разным уровнем подготовки и кругом профессиональных интересов. Среди них были студенты и аспиранты вузов, сетевые администраторы и инте- граторы, начальники отделов автоматизации и преподаватели. Учитывая специфику ауди- тории, курсы лекций строились так, чтобы начинающий получил основу для дальнейшего изучения, а специалист систематизировал и актуализировал свои знания. В соответствии с такими же принципами написана и эта книга — она является фундаментальным курсом по компьютерным сетям, который сочетает широту охвата основных областей, проблем и технологий этой быстро развивающейся области знаний с основательным рассмотрением деталей каждой технологии и особенностей оборудования. Для кого эта книга Книга предназначена для студентов, аспирантов и технических специалистов, которые хотят получить базовые знания о принципах построения компьютерных сетей, понять особенности традиционных и перспективных технологий локальных и глобальных сетей, изучить способы создания крупных составных сетей и управления такими сетями. Книга будет полезна начинающим специалистам в области сетевых технологий, которые имеют только общие представления о работе сетей из опыта общения с персональными компьютерами и Интернетом, но хотели бы получить фундаментальные знания, позво- ляющие продолжить изучение сетей самостоятельно. Сложившимся сетевым специалистам книга может помочь в знакомстве с теми технология- ми, с которыми им не приходилось сталкиваться в практической работе, систематизировать
18 От авторов имеющиеся знания, стать справочником, позволяющим найти описание конкретного про- токола, формата кадра и т. п. Кроме того, книга дает необходимую теоретическую основу для подготовки к сертификационным экзаменам таких компаний, как Cisco CCNA, CCNP, CCDP и CCIP. Студенты высших учебных заведений, обучающиеся по направлению *220000. Инфор- матика и вычислительная техника» и по специальностям .«Вычислительные машины, комплексы, системы и сети», «Автоматизированные машины, комплексы, системы и сети», «Программное обеспечение вычислительной техники и автоматизированных систем», могут использовать книгу в качестве рекомендованного Министерством образования Российской Федерации учебного пособия. Изменения в четвертом издании Прошло ровно 10 лет со времени публикации первого издания этой книги. И с каждым новым изданием она существенно обновлялась. Не стало исключением и это, четвертое, издание. Одни разделы претерпели значительные изменения, а другие, которые потеряли свою актуальность и стали интересны лишь узкому кругу специалистов, были вовсе ис- ключены из книги и перенесены на веб-сайт поддержки этой книги. И, конечно, в книге появилось много нового. Так, в книге появилось три новые главы. □ Глава 21, «Ethernet операторского класса». Технология, давшая название этой главе, известная также как Carrier Ethernet, появилась совсем недавно, но ее популярность быстро растет. Выход Ethernet за пределы локальных сетей является знаковым собы- тием, обещающим новые возможности как для пользователей, так и для провайдеров. В этой главе рассматриваются две основные ветви данной технологии: на базе MPLS и на базе усовершенствованной версии Ethernet. □ Глава 23, «Сетевые службы». В ответ на пожелания многих наших читателей мы расши- рили освещение сетевых средств прикладного уровня, добавив описания таких служб, как электронная почта, WWW и 1Р-телефония. □ Глава 24, «Сетевая безопасность». Появление этой главы отражает всевозрастающую обеспокоенность интернет-сообщества проблемами информационной защиты. В этой главе приведены описания различных угроз безопасности компьютерных сетей, свя- занных с внедрением вредоносных программ (вирусов, червей, троянских и шпионских программ), DoS-атаками, ответвлением трафика. Также рассматриваются методы и средства предупреждения и обнаружения атак: шифрование, аутентификация, автори- зация, антивирусная защита, сетевые экраны, прокси-серверы, протоколы защищенного канала и виртуальные частные сети на основе шифрования. Помимо отдельных глав в книге появилось несколько новых разделов. В главу 7 добавлен раздел «Работа в недогруженном режиме». В нем описывается широко распространенная практика обеспечения временных характеристик передачи пакетов за счет поддержания избыточной пропускной способности. В главу 11, посвященную первичным сетям, добавлено описание технологии оптических транспортных сетей (OTN), которая обеспечивает мультиплексирование и коммутацию высокоскоростных потоков данных в волновых каналах DWDM. В эту главу включено также описание новых функций технологии SDH, направленных на более эффективную
Структура книги 19 передачу трафика компьютерных сетей, таких как виртуальная конкатенация (VCAT), схе- ма динамического изменения пропускной способности линии (LCAS) и общая процедура инкапсуляции данных (GFP). Важным дополнением главы 18 стал раздел «Групповое вещание», освещающий очень перспективное направление в развитии технологии TCP/IP. Групповое вещание лежит в основе бурно развивающихся широковещательных сервисов Интернета, таких как IP-телевидение, аудиовещание, видеоконференции. Переработанный и дополненный материал о технологии MPLS, которая утвердила себя , в качестве надежного фундамента для построения разнообразных транспортных сервисов, выделен в отдельную главу (главу 20). И наконец, были исправлены мелкие ошибки и опечатки в тексте и рисунках, замеченные читателями и самими авторами. Структура книги Книга состоит из 24 глав, объединенных в 5 частей. В первой части, «Основы сетей передачи данных», состоящей из 7 глав, описаны основные принципы и архитектурные решения, которые лежат в основе всех современных сетевых технологий, рассматриваемых в последующих частях книги. В главе 1, рассказывающей об эволюции компьютерных сетей, особый акцент делается на конвергенции разных видов телекоммуникационных сетей. В главе 2 даются фундаментальные понятия коммутации, мультиплексирования, маршрутизации, адресации и архитектуры сетей. В следующей, третьей, главе обсуждаются два основных подхода к коммутации — коммутация каналов и пакетов. Глава 4 фокусируется на иерархической организации сетей и семиуровневой модели OSI. В главе 5 приводится классификация компьютерных сетей, в ней читатель найдет также описание основных типов сетей: сетей операторов связи, корпоративных се- тей и глобальной сети Интернет. Завершают первую часть книги главы 7 и 8, относящиеся к анализу работы сети. Вторая часть, «Технологии физического уровня», состоит из четырех глав, из которых первые две носят вспомогательный характер. В них описываются различные типы ли- ний связи, детально излагаются современные методы передачи дискретной информации в сетях. Наличие этого материала в учебнике дает возможность читателю, не тратя время на просмотр большого количества литературы, получить необходимый минимум знаний в таких областях, как теория информации, спектральный анализ, физическое и логическое кодирование данных, обнаружение и коррекция ошибок. Глава 10 посвящена беспроводной передаче данных, которая приобретает все большую популярность. Высокий уровень по- мех и сложные пути распространения волн требуют применения в беспроводных каналах особых способов кодирования и передачи сигналов. В главе 11 изучаются технологии PDH, SDH/SONET DWDM и OTN, создающие инфраструктуру физических каналов для глобальных телекоммуникационных сетей. На основе каналов, образованных первичными сетями, работают наложенные компьютерные и телефонные сети. Третья часть, «Локальные вычислительные сети», включает три главы. В главе 12 рас- сматриваются технологии локальных сетей на разделяемой среде: основное внимание уделено классическим вариантам Ethernet со скоростью 10 Мбит/с на коаксиале и витой
20 От авторов паре; также здесь кратко рассмотрены принципы работы основных соперников Ethernet в 80-е и 90-е годы — технологий Token Ring и FDDI. Приводится описание двух наиболее популярных беспроводных технологий локальных сетей — IEEE 802.11 (LAN) и Bluetooth (PAN). Глава 13 посвящена коммутируемым локальным сетям. В ней рассматриваются основные принципы работы таких сетей: алгоритм функционирования коммутатора ло- кальной сети, дуплексные версии протоколов локальных сетей, особенности реализации коммутаторов локальных сетей. В главе 14 изучаются расширенные возможности коммути- руемых локальных сетей этого типа: резервные связи на основе алгоритма покрывающего дерева, агрегирование каналов, а также техника виртуальных локальных сетей, позволяю- щая быстро и эффективно выполнять логическую структуризацию сети. Следуя логике, диктуемой моделью OSI, вслед за частями, в которых были рассмотрены технологии физического и канального уровней, четвертую часть, «Сети TCP/IP», мы посвящаем средствам сетевого уровня, то есть средствам, которые обеспечивают возмож- ность объединения множества сетей в единую сеть. Учитывая, что бесспорным лидером среди протоколов сетевого уровня является протокол IP, ему в книге уделяется основное внимание. В главе 15 описываются различные аспекты IP-адресации: способы отображения локальных, сетевых и символьных адресов, использование масок и современных методов агрегирования IP-адресов, а также способы автоматического конфигурирования 1Р-узлов. В главе 16 детально рассмотрена работа протокола IP по продвижению и фрагментации пакетов, изучается общий формат таблицы маршрутизации и примеры ее частных реали- заций в программных и аппаратных маршрутизаторах различных типов. При обсуждении особенностей новой версии IPv6 подробно обсуждается схема модернизации адресации, а также изменение формата заголовка IP. Глава 17 начинается с изучения протоколов TCP и UDP, исполняющих посредническую роль между приложениями и транспортной инфраструктурой сети. Далее подробно описываются протоколы маршрутизации RIP, OSPF и BGP, анализируются области применимости этих протоколов и возможности их комбинирования. Завершает главу рассмотрение протокола ICMP, являющегося средством оповещения отправителя о причинах недоставки его пакетов адресату. В главе 18 содер- жится описание тех функций маршрутизаторов, которые хотя и фигурируют в названии главы как «дополнительные», но без которых трудно представить существование совре- менных компьютерных сетей. К таким функциям относятся трансляция сетевых адресов, фильтрация трафика, поддержка QoS, IPv6 и группового вещания. В завершении этой главы приводится классификация маршрутизаторов на основе их внутренней организации и областей использования. Всестороннее изучение в этой части протоколов стека TCP/IP придает ей самостоятельное значение введения в 1Р-сети. Пятая часть, «Технологии глобальных сетей», состоит из шести глав. В главе 19 анали- зируются три основных типа транспортных услуг, предоставляемых операторами связи: доступ в Интернет, виртуальные частные сети и услуги выделенных каналов. Кроме того, в этой главе рассматривается многоуровневая структура сети оператора связи, включающая уровни первичной сети, канального уровня и уровня IP. Также дается обзор технологий Frame Relay и ATM. Глава 20 посвящена основным принципам и базовым элементам тех- нологии MPLS, таким как протокол LDP, многоуровневая организация соединений, меха- низмы защиты соединений и тестирования их состояния. В главе 21 описаны различные варианты технологий, объединенных под общим названием Ethernet операторского класса (Carrier Ethernet). В главе 22 рассматриваются схемы и технологии удаленного доступа. Наиболее эффективными являются технологии, в которых используется существующая кабельная инфраструктура (например, линии ADSL, работающие на абонентских окон-
Веб-сайт поддержки книги I 21 чаниях телефонной сети) или кабельные модемы, опирающиеся на системы кабельного телевидения. Альтернативным решением является беспроводной доступ, как мобильный, так и фиксированный. Прикладные службы глобальных сетей рассматриваются в гла- ве 23. Именно информационные службы, такие как электронная почта и WWW, сделали в свое время Интернет столь популярным. И сегодня популярность Интернета растет благодаря появлению новых сервисов, среди которых в первую очередь нужно отметить IP-телефонию и видеоконференции. Часть, а вместе с ней и книга, завершается главой 24, посвященной сетевой безопасности. Уязвимость Интернета является оборотной стороной его открытости, так как в Интернете каждый может не только общаться с каждым, но и атаковать каждого. Вирусы, черви, распределенные атаки и, наконец, спам — все это, к со- жалению, ежедневно мешает «жителям» Интернета нормально жить и работать. В главе 24 анализируются основные типы угроз, присущих глобальным сетям, и изучаются базовые механизмы и технологии защиты от этих угроз. Авторы стремились сделать работу читателя с книгой максимально эффективной. Подроб- ный индексный указатель позволяет быстро найти интересующий материал по одному из многочисленных терминов, используемых в сетевой индустрии. Каждая глава завершается выводами, которые призваны сконцентрировать внимание читателя на основных идеях, темах и терминах главы, помогая ему не упустить из виду главное за обилием, хотя и по- лезных, но частных фактов и деталей. В конце каждой главы помещены вопросы и упраж- нения для проверки степени усвоения основных концепций, а в отдельных случаях и для углубления понимания некоторых идей. Веб-сайт поддержки книги Дополнительную информацию по этой и другим книгам авторов читатели могут найти на сайте www.olifer.co.uk. В данный момент на сайте размешены следующие материалы, относящиеся к этому изданию книги: □ Дополнительные разделы, ссылки на которые помещены в тексте книги. □ Все иллюстрации из книги. □ Дополнительные вопросы и задания, а также ответы на них. □ Презентации в форматах Power Point и HTML последовательно по всем главам книги. □ Путеводитель по книге (road шар) призван помочь преподавателю при создании учеб- ных курсов на базе этой книги, таких, например, как «Беспроводные системы», «Введе- ние в 1Р», «Качество обслуживания», «Удаленный доступ» и т. п. В этом путеводителе авторы перечисляют последовательность глав (маршрут), в которых содержится соот- ветствующий материал, и по мере необходимости дают методические советы. □ Дополнительные примеры (case studies) могут быть использованы как темы для кур- совых проектов. □ Информационные ресурсы Интернета связаны с темами книги. □ И наконец, мнения, замечания и вопросы читателей, замеченные опечатки и ошибки. Мы с благодарностью примем ваши отзывы по адресу victor@olifer.co.uk и natalia@olifer.co.uk.
22 От авторов Благодарности Мы благодарим наших читателей за их многочисленные пожелания, вопросы и заме- чания. Мы признательны также всем сотрудникам издательства «Питер», которые принимали участие в создании этой книги. Особая благодарность президенту издательства «Питер» Вадиму Усманову, руководителю проектной группы «Компьютерная литература» Андрею Сандрыкину, ведущему специалисту этой группы Андрею Юрченко и нашему неизменному литературному редактору Алексею Жданову. Виктор Олифер, к.т.н., CCIP Наталья Олифер, к.т.н., доцент От издательства Подробную информацию о наших книгах вы найдете на веб-сайте издательства www. piter. com. Там же вы можете оставить ваши отзывы и пожелания.
Часть I Основы сетей передачи данных Процесс познания всегда развивается по спирали. Мы не можем сразу понять и осознать сложное явление, мы должны рассматривать его с разных точек зрения, в целом и по частям, изолирован- но и во взаимодействии с другими явлениями, накапливая знания постепенно, время от времени возвращаясь к уже, казалось бы, понятому и с каждым новым витком все больше проникая в суть явления. Хорошим подходом является первоначальное изучение общих принципов некоторой об- ласти знаний с последующим детальным рассмотрением реализации этих принципов в конкретных методах, технологиях или конструкциях. Первая часть книги является таким «первым витком» изучения компьютерных сетей. В этой части, состоящей из семи глав, описаны основные принципы и архитектурные решения, которые лежат в основе асех современных сетевых технологий, рассматриваемых в последующих частях книги. Сле- дуя процессу конаергенции сетей, мы рассматривали принципы коммутации, мультиплексирования, маршрутизации, адресации и архитектуры сетей с наиболее общих позиций, сравнивая принципы организации компьютерных сетей с аналогичными принципами других телекоммуникационных се- тей — телефонных, первичных, радио и телевизионных. Завершает часть глава, посаященная проблемам качества обслуживания в пакетных сетях. Новая роль компьютерных сетей как основы для создания следующего поколения публичных сетей, предо- ставляющих все виды информационных услуг и переносящих данные, а также аудио- и видеотрафик, привела к проникновению методов обеспечения качества обслуживания практически во все комму- никационные технологии. Таким образом, концепции качестаа обслуживания, которые достаточно долго рассматривались как нетривиальное направление сетевой отрасли, вошли в число базовых принципов построения компьютерных сетей. □ Глава 1. Эволюция компьютерных сетей □ Глава 2. Общие принципы построения сетей □ Глава 3. Коммутация каналов и пакетов □ Глава 4. Архитектура и стандартизация сетей □ Глава 5. Примеры сетей □ Глава 6. Сетевые характеристики □ Глава 7. Методы обеспечения качества обслуживания
ГЛАВА 1 Эволюция компьютерных сетей История любой отрасли науки и техники позволяет не только удовлетворить естественное любопыт- ство, но и глубже понять сущность основных достижений в этой отрасли, осознать существующие тенденции и правильно оценить перспектианость тех или иных направлений развития. Компью- терные сети появились сравнительно недавно, в конце 60-х годов прошлого столетия (правда, уточнение «прошлого столетия» прибавляет им вес и даже делает старше своих «тридцати с чем- то» лет). Естественно, что компьютерные сети унаследовали много полезных свойств от других, более старых и распространенных телекоммуникационных сетей, а именно телефонных. В то же время компьютерные сети привнесли в телекоммуникационный мир нечто соаершенно новое — они сделали общедоступными неисчерпаемые объемы информации, созданные цивилизацией за не- сколько тысячелетий своего существования и продолжающие пополняться с растущей скоростью в наши дни. Результатом влияния компьютерных сетей на остальные типы телекоммуникационных сетей стал процесс их конвергенции. Этот процесс начался достаточно давно, одним из первых признаков сближения была передача телефонными сетями голоса в цифровой форме. Компьютерные сети также актиано идут навстречу телекоммуникационным сетям, разрабатывая новые сервисы, кото- рые ранее были прерогативой телефонных, радио и телевизионных сетей — сервисы IP-телефонии, радио- и видеовещания, ряд других. Процесс конвергенции продолжается, и о том, каким будет его конечный результат, с уверенностью пока говорить рано. Однако понимание истории развития сетей, описываемой в данной главе, делает более понятными основные проблемы, стоящие перед разработчиками компьютерных сетей. При написании этой главы авторы столкнулись с дилеммой: невозможно рассказывать об истории отрасли, не называя конкретные технологии и концепции. Но в то же время невозможно давать по- яснения этих технологий и концепций, так как читатель, перелистыаающий первые страницы, еще не готов к восприятию объяснений. Авторы пошли по пути компромисса, отложив на будущее ис- черпывающие пояснения многих терминов ради того, чтобы в самом начале изучения компьютерных сетей читатель имел возможность представить картину эволюции компьютерных сетей во всем ее красочном многообразии. И, конечно, было бы очень полезно вернуться к этой главе, после того как будет перевернута последняя страница книги, чтобы, вооружась новыми знаниями, сделать каче- ственно новую попытку оценить прошлое и будущее компьютерных сетей.
Два корня компьютерных сетей 25 Два корня компьютерных сетей Вычислительная и телекоммуникационная технологии Компьютерные сети, которым посвящена данная книга, отнюдь не являются единствен- ным видом сетей, созданным человеческой цивилизацией. Даже водопроводы Древнего Рима можно рассматривать как один из наиболее древних примеров сетей, покрывающих большие территории и обслуживающих многочисленных клиентов. Другой, менее экзо- тический пример — электрические сети. В них легко можно найти аналоги компонентов любой территориальной компьютерной сети: источникам информационных ресурсов соответствуют электростанции, магистралям — высоковольтные линии электропередачи, сетям доступа — трансформаторные подстанции, клиентским терминалам — осветительные и бытовые электроприборы. Компьютерные сети, называемые также сетями передачи данных, яаляются логическим результатом эволюции двух важнейших научно-технических отраслей современной цивилиза- ции -- компьютерных и телекоммуникационных технологий. С одной стороны, сети представляют собой частный случай распределенных вычислитель- ных систем, в которых группа компьютеров согласованно решает набор взаимосвязанных задач, обмениваясь данными в автоматическом режиме. С другой стороны, компьютерные сети могут рассматриваться как средство передачи информации на большие расстояния, для чего в них применяются методы кодирования и мультиплексирования данных, полу- чившие развитие в различных телекоммуникационных системах (рис. 1.1). компьютерных сетей Рис. 1.1. Эволюция компьютерных сетей на стыке вычислительной техники и телекоммуникационных технологий Системы пакетной обработки Обрат имея сначала к компьютерному корню вычислительных сетей. Первые компьютеры 50-х годов большие, громоздкие и дорогие — предназначались для очень небольшого числа избранных пользователей. Часто эти монстры занимали целые здания. Такие ком-
26 Глава 1. Эволюция компьютерных сетей пьютеры не были предназначены для интерактивной работы пользователя, а применялись в режиме пакетной обработки. Системы пакетной обработки, как правило, строились на базе мэйнфрейма — мощного и надежного компьютера универсального назначения. Пользователи подготавливали пер- фокарты, содержащие данные и команды программ, и передавали их в вычислительный центр (рис. 1.2). Операторы вводили эти карты в компьютер, а распечатанные результаты пользователи получали обычно только на следующий день. Таким образом, одна неверно набитая карта означала как минимум суточную задержку. Конечно, для пользователей интерактивный режим работы, при котором можно с терминала оперативно руководить процессом обработки своих данных, был бы удобней. Но интересами пользователей на первых этапах развития вычислительных систем в значительной степени пренебрегали. Во главу угла ставилась эффективность работы самого дорогого устройства вычисли- тельной машины — процессора, даже в ущерб эффективности работы использующих его специалистов. Мэйнфрейм Пакет заданий ТЛИ Устройство ввода Рис. 1.2. Централизованная система на базе мэйнфрейма Многотерминальные системы — прообраз сети По мере удешевления процессоров в начале 60-х годов появились новые способы орга- низации вычислительного процесса, которые позволили учесть интересы пользователей. Начали развиваться интерактивные многотерминальные системы разделения времени (рис. 1.3). В таких системах каждый пользователь получал собственный терминал, с помо- щью которого он мог вести диалог с компьютером. Количество одновременно работающих с компьютером пользователей определялось его мощностью: время реакции вычислитель- ной системы должно было быть достаточно мало, чтобы пользователю была не слишком заметна параллельная работа с компьютером других пользователей. Терминалы, выйдя за пределы вычислительного центра, рассредоточились по всему пред- приятию. И хотя вычислительная мощность оставалась полностью централизованной,
Два корня компьютерных сетей 27 некоторые функции, такие как ввод и вывод данных, стали распределенными. Подобные многотерминальные централизованные системы внешне уже были очень похожи на ло- кальные вычислительные сети. Действительно, рядовой пользователь работу за терми- налом мэйнфрейма воспринимал примерно так же, как сейчас он воспринимает работу за подключенным к сети персональным компьютером. Пользователь мог получить доступ к общим файлам и периферийным устройствам, при этом у него поддерживалась полная иллюзия единоличного владения компьютером, так как он мог запустить нужную ему программу в любой момент и почти сразу же получить результат. (Некоторые далекие от вычислительной техники пользователи даже были уверены, что все вычисления выпол- няются внутри их дисплея.) Рис. 1.3. Многотерминальная система — прообраз вычислительной сети Многотерминальные системы, работающие в режиме разделения времени, стали первым шагом на пути с здани., локальных вычислительных сетей. Однако до появления локальных сетей нужно было пройти еще большой путь, так как многотерминальные системы, хотя и имели внешние черты распределенных систем, все еще поддерживали централизованную обработку данных.
28 Г лава 1. Эволюция компьютерных сетей К тому же потребность предприятий в создании локальных сетей в это время еще не созре- ла — в одном здании просто нечего было объединять в сеть, так как из-за высокой стоимо- сти вычислительной техники предприятия не могли себе позволить роскошь приобретения нескольких компьютеров. В этот период был справедлив так называемый закон Гроша, который эмпирически отражал уровень технологии того времени. В соответствии с этим законом производительность компьютера была пропорциональна квадрату его стоимости, отсюда следовало, что за одну и ту же сумму было выгоднее купить одну мощную машину, чем две менее мощных — их суммарная мощность оказывалась намного ниже мощности дорогой машины. । Первые компьютерные сети Первые глобальные сети А вот потребность в соединении компьютеров, находящихся на большом расстоянии друг от друга, к этому времени уже вполне назрела. Началось все с решения более простой зада- чи — доступа к компьютеру с терминалов, удаленных от него на многие сотни, а то и тысячи километров. Терминалы соединялись с компьютерами через телефонные сети с помощью модемов. Такие сети позволяли многочисленным пользователям получать удаленный до- ступ к разделяемым ресурсам нескольких мощных суперкомпьютеров. Затем появились системы, в которых наряду с удаленными соединениями типа терминал-компьютер были реализованы и удаленные связи типа компьютер—компьютер. Компьютеры получили возможность обмениааться данными в автоматическом режиме, что, собственно, и является базовым признаком любой вычислительной сети. На основе подобного механизма в первых сетях были реализованы службы обмена фай- лами, синхронизации баз данных, электронной почты и другие ставшие теперь традици- онными сетевые службы. Итак, хронологически первыми появились глобальные сети (Wide Area Network, WAN), то есть сети, объединяющие территориально рассредоточенные компьютеры, возможно находящиеся в различных городах и странах. Именно при построении глобальных сетей были впервые предложены и отработаны многие основные идеи, лежащие в основе современных вычислительных сетей. Такие, например, как многоуровневое построение коммуникационных протоколов, концепции коммутации и маршрутизации пакетов. Глобальные компьютерные сети очень многое унаследовали от других, гораздо более старых и распространенных глобальных сетей — телефонных. Главное технологическое новшество, которое привнесли с собой первые глобальные компьютерные сети, состояло в отказе от принципа коммутации каналов, на протяжении многих десятков лет успешно использовавшегося в телефонных сетях. Выделяемый на все время сеанса связи составной телефонный канал, передающий информа- цию с постоянной скоростью, не мог эффективно использоваться пульсирующим трафиком компьютерных данных, у которого периоды интенсивного обмена чередуются с продолжи- тельными паузами. Натурные эксперименты и математическое моделирование показали, что
Первые компьютерные сети 29 пульсирующий и в значительной степени не чувствительный к задержкам компьютерный трафик гораздо эффективней передается сетями, работающими по принципу коммутации пакетов, когда данные разделяются на небольшие порции — пакеты, — которые самостоя- тельно перемещаются по сети благодаря наличию адреса конечного узла в заголовке пакета. Так как прокладка высококачественных линий связи на большие расстояния обходится очень дорого, то в первых глобальных сетях часто использовались уже существующие ка- налы связи, изначально предназначенные совсем для других целей. Например, в течение многих лет глобальные сети строились на основе телефонных каналов тональной частоты, способных в каждый момент времени вести передачу только одного разговора в аналоговой форме. Поскольку скорость передачи дискретных компьютерных данных по таким каналам была очень низкой (десятки килобитов в секунду), набор предоставляемых услуг в глобаль- ных сетях такого типа обычно ограничивался передачей файлов (преимущественно в фоно- вом режиме) и электронной почтой. Помимо низкой скорости такие каналы имеют и другой недостаток — они вносят значительные искажения в передаваемые сигналы. Поэтому про- токолы глобальных сетей, построенных с использованием каналов связи низкого качества, отличаются сложными процедурами контроля и восстановления данных. Типичным приме- ром таких сетей являются сети Х.25, разработанные еще в начале 70-х, когда низкоскорост- ные аналоговые каналы, арендуемые у телефонных компаний, были преобладающим типом каналов, соединяющих компьютеры и коммутаторы глобальной вычислительной сети. В 1969 году министерство обороны США инициировало работы по объединению в еди- ную сеть суперкомпьютеров оборонных и научно-исследовательских центров. Эта сеть, получившая название ARPANET, стала отправной точкой для создания первой и самой известной ныне глобальной сети — Интернет. Сеть ARPANET объединяла компьютеры разных типов, работавшие под управлением различных операционных систем (ОС) с дополнительными модулями, реализующими коммуникационные протоколы, общие для всех компьютеров сети. ОС этих компьютеров можно считать первыми сетевыми операционными системами. Истинно сетевые ОС в отличие от многотерминальных ОС позволяли не только рассре- доточить пользователей, но и организовать распределенные хранение и обработку данных между несколькими компьютерами, связанными электрическими связями. Любая сетевая операционная система, с одной стороны, выполняет все функции локальной операционной системы, а с другой стороны, обладает некоторыми дополнительными средствами, позво- ляющими ей взаимодействовать через сеть с операционными системами других компью- теров. Программные модули, реализующие сетевые функции, появлялись в операционных системах постепенно, по мере развития сетевых технологий, аппаратной базы компьютеров и возникновения новых задач, требующих сетевой обработки. Прогресс глобальных компьютерных сетей во многом определялся прогрессом телефонных сетей. С конца 60-х годов в телефонных сетях все чаше стала применяться передача голоса в цифровой форме. Это привело к появлению высокоскоростных цифровых каналов, соединяющих автома- тические телефонные станции (АТС) и позволяющих одновременно передавать десятки и сотни разговоров. К настоящему времени глобальные сети по разнообразию и качеству предоставляемых услуг догнали локальные сети, которые долгое время лидировали в этом отношении, хотя и появились на свет значительно позже.
30 Глааа 1. Эволюция компьютерных сетей Первые локальные сети Важное событие, повлиявшее на эволюцию компьютерных сетей, произошло в начале 70-х годов. В результате технологического прорыва в области производства компьютерных компонентов появились большие интегральные схемы (БИС). Их сравнительно невы- сокая стоимость и хорошие функциональные возможности привели к созданию мини- компьютеров, которые стали реальными конкурентами мэйнфреймов. Эмпирический закон Гроша перестал соответствовать действительности, так как десяток мини-компьютеров, имея ту же стоимость, что и мэйнфрейм, решали некоторые задачи (как правило, хорошо распараллеливаемые) быстрее. Даже небольшие подразделения предприятий получили возможность иметь собственные компьютеры. Мини-компьютеры решали задачи управления технологическим оборудо- ванием, складом и другие задачи уровня отдела предприятия. Таким образом, появилась концепция распределения компьютерных ресурсов по всему предприятию. Однако при этом все компьютеры одной организации по-прежнему продолжали работать автономно (рис. 1.4). предприятие Рис. 1.4. Автономное использование нескольких мини-компьютеров на одном предприятии
Первые компьютерные сети 31 Шло время, и потребности пользователей вычислительной техники росли. Их уже не удовлетворяла изолированная работа на собственном компьютере, им хотелось в авто- матическом режиме обмениваться компьютерными данными с пользователями других подразделений. Ответом на эту потребность стало появление первых локальных вычис- лительных сетей (рис. 1.5). Терминалы Устройство сопряжения мини-компьютеров Терминалы Устройство сопряжения мини-компьютеров с персональными Персональные компьютеры Рис. 1.5. Различные типы связей в первых локальных сетях Локальные сети (Local Area Network, LAN) — это объединения компьютеров, сосредото- ченных на небольшой территории, обычно в радиусе не более 1-2 км, хотя в отдельных случаях локальная сеть может иметь и большие размеры, например несколько десятков километров. В общем случае локальная сеть представляет собой коммуникационную си- стему, принадлежащую одной организации. На первых порах для соединения компьютеров друг с другом использовались нестандарт- ные сетевые технологии. Сетевая технология — это согласованный набор программных и аппаратных средств (на- пример, драйверов, сетевых адаптеров, кабелей и разъемов), а также механизмов передачи данных по линиям связи, достаточный для построения вычислительной сети. Разнообразные устройства сопряжения, использующие собственные способы представ- ления данных на линиях связи, свои типы кабелей и т. п„ могли соединять только те
32 Глава 1. Эволюция компьютерных сетей конкретные модели компьютеров, для которых были разработаны, например, мини- компьютеры PDP-11 с мэйнфреймом IBM 360 или мини-компьютеры HP с микроком- пьютерами LSI-11. Такая ситуация создала большой простор для творчества студентов — названия многих курсовых и дипломных проектов начинались тогда со слов «Устройство сопряжения...». В середине 80-х годов положение дел в локальных сетях кардинально изменилось. Утвер- дились стандартные сетевые технологии объединения компьютеров в сеть — Ethernet, Arcnet, Token Ring, Token Bus, несколько позже — FDDI. Мощным стимулом для их появления послужили персональные компьютеры. Эти мас- совые продукты стали идеальными элементами построения сетей — с одной стороны, они были достаточно мощными, чтобы обеспечивать работу сетевого программного обеспече- ния, а с другой — явно нуждались в объединении своей вычислительной мощности для решения сложных задач, а также разделения дорогих периферийных устройств и диско- вых массивов. Поэтому персональные компьютеры стали преобладать в локальных сетях, причем не только в качестве клиентских компьютеров, но и в качестве центров хранения и обработки данных, то есть сетевых серверов, потеснив с этих привычных ролей мини- компьютеры и мэйнфреймы. Все стандартные технологии локальных сетей опирались на тот же принцип коммутации, который был с успехом опробован и доказал свои преимущества при передаче трафика данных в глобальных компьютерных сетях, — принцип коммутации пакетов. Стандартные сетевые технологии превратили процесс построения локальной сети из решения нетривиальной технической проблемы в рутинную работу. Для создания сети достаточно было приобрести стандартный кабель, сетевые адаптеры соответствующего стандарта, например Ethernet, вставить адаптеры в компьютеры, присоединить их к кабе- лю стандартными разъемами и установить на компьютеры одну из популярных сетевых операционных систем, например Novell NetWare. Разработчики локальных сетей привнесли много нового в организацию работы пользова- телей. Так, стало намного проще и удобнее, чем в глобальных сетях, получать доступ к об- щим сетевым ресурсам. Последствием и одновременно движущей силой такого прогресса стало появление огромного числа непрофессиональных пользователей, освобожденных от необходимости изучать специальные (и достаточно сложные) команды для сетевой работы. Конец 90-х выявил явного лидера среди технологий локальных сетей — семейство Ethernet, в которое вошли классическая технология Ethernet со скоростью передачи 10 Мбит/с, а также Fast Ethernet со скоростью 100 Мбит/с и Gigabit Ethernet со скоростью 1000 Мбит/с. Простые алгоритмы работы предопределяют низкую стоимость оборудования Ethernet. Широкий диапазон иерархии скоростей позволяет рационально строить локальную сеть, выбирая ту технологию семейства, которая в наибольшей степени отвечает задачам пред- приятия и потребностям пользователей. Важно также, что все технологии Ethernet очень близки друг к другу по принципам работы, что упрощает обслуживание и интеграцию этих сетей. Хронологическую последовательность важнейших событий, ставших историческими ве- хами на пути появления первых компьютерных сетей, иллюстрирует табл. 1.1.
Конвергенция сетей 33 Таблица 1.1. Хронология важнейших событий на пути появления первых компьютерных сетей Этап Время Первые глобальные связи компьютеров, первые эксперименты с пакетными сетями Конец 60-х Начало передач по телефонным сетям голоса в цифровой форме Конец 60-х Появление больших интегральных схем, первые мини-компьютеры, первые нестандартные локальные сети Начало 70-х Создание сетевой архитектуры IBM SNA 1974 Стандартизация технологии Х.25 1974 Появление персональных компьютеров, создание Интернета в современном виде, установка на всех узлах стека TCP/IP Начало 80-х Появление стандартных технологий локальных сетей (Ethernet — 1980 г., Token Ring, FDDI 1985 г.) Середина 80-х Начало коммерческого использования Интернета Конец 80-х Изобретение Web 1991 Конвергенция сетей Сближение локальных и глобальных сетей В конце 80-х годов отличия между локальными и глобальными сетями проявлялись весьма отчетливо. Протяженность и качество линий связи. Локальные компьютерные сети по определению отличаются от глобальных сетей небольшими расстояниями между узлами сети. Это в принципе делает возможным использование в локальных сетях более качественных линий связи. □ Сложность методов передачи данных. В условиях низкой надежности физических каналов в глобальных сетях требуются более сложные, чем в локальных сетях, методы передачи данных и соответствующее оборудование. □ Скорость обмена данными в локальных сетях (10, 16 и 100 Мбит/с) в то время была существенно выше, чем в глобальных (от 2,4 Кбит/с до 2 Мбит/с). □ Разнообразие услуг. Высокие скорости обмена данными позволили предоставлять в ло- кальных сетях широкий спектр услуг — это, прежде всего, разнообразные механизмы использования файлов, хранящихся на дисках других компьютеров сети, совместное использование устройств печати, модемов, факсов, доступ к единой базе данных, электронная почта и др. В то же время глобальные сети в основном ограничивались почтовыми и файловыми услугами в их простейшем (не самом удобном для пользо- вателя) виде. Постепенно различия между локальными и глобальными сетевыми технологиями стали сглаживаться. Изолированные ранее локальные сети начали объединять друг с другом, при этом в качестве связующей среды использовались глобальные сети. Тесная интеграция
34 Глава 1. Эволюция компьютерных сетей локальных и глобальных сетей привела к значительному взаимопроникновению соответ- ствующих технологий. Сближение в методах передачи данных происходит на платформе цифровой передачи данных по волоконно-оптическим линиям связи. Эта среда передачи используется прак- тически во всех технологиях локальных сетей для скоростного обмена информацией на расстояниях свыше 100 метров, на ней же построены современные магистрали первичных сетей SDH и DWDM, предоставляющих свои цифровые каналы для объединения обору- дования глобальных компьютерных сетей. Высокое качество цифровых каналов изменило требования к протоколам глобальных ком- пьютерных сетей. На первый план вместо процедур обеспечения надежности вышли проце- дуры обеспечения гарантированной средней скорости доставки информации пользователям, а также механизмы приоритетной обработки пакетов особенно чувствительного к задерж- кам трафика, например голосового. Эти изменения нашли отражение в новых технологиях глобальных сетей, таких как Frame Relay и ATM. В этих сетях предполагается, что искаже- ние битов происходит настолько редко, что ошибочный пакет выгоднее просто уничтожить, а все проблемы, связанные с его потерей, перепоручить программному обеспечению более высокого уровня, которое непосредственно не входит в состав сетей Frame Relay и ATM. Большой вклад в сближение локальных и глобальных сетей внесло доминирование про- токола IP. Этот протокол сегодня работает поверх любых технологий локальных и гло- бальных сетей (Ethernet, Token Ring, ATM, Frame Relay), объединяя различные подсети в единую составную сеть. Начиная с 90-х годов компьютерные глобальные сети, работающие на основе скоростных цифровых каналов, существенно расширили спектр предоставляемых услуг и догнали в этом отношении локальные сети. Стало возможным создание служб, работа которых связана с доставкой пользователю больших объемов информации в реальном времени — изображений, видеофильмов, голоса, в общем, всего того, что получило название муль- тимедийной информации. Наиболее яркий пример — гипертекстовая информационная служба World Wide Web, ставшая основным поставщиком информации в Интернете. Ее интерактивные возможности превзошли возможности многих аналогичных служб ло- кальных сетей, так что разработчикам локальных сетей пришлось просто позаимствовать эту службу у глобальных сетей. Процесс переноса технологий из глобальной сети Интернет в локальные приобрел такой массовый характер, что появился даже специальный термин — intranet-технологин (intra — внутренний). В локальных сетях в последнее время уделяется такое же большое внимание методам обе- спечения защиты информации от несанкционированного доступа, как и в глобальных. Это обусловлено тем, что локальные сети перестали быть изолированными, чаше всего они имеют выход в «большой мир» через глобальные связи. И наконец, появляются новые технологии, изначально предназначенные для обоих видов сетей. Ярким представителем нового поколения технологий является технология ATM, которая может служить основой как глобальных, так и локальных сетей, эффективно объединяя все существующие типы трафика в одной транспортной сети. Другим примером является семейство технологий Ethernet, имеющее явные «локальные» корни. Новый стан- дарт Ethernet 10G, позволяющий передавать данные со скоростью 10 Гбит/с, предназначен для магистралей как глобальных, так и крупных локальных сетей. Еще одним признаком сближения локальных и глобальных сетей является появление се- тей, занимающих промежуточное положение между локальными и глобальными сетями.
Конвергенция сетей 35 Городские сети, или сети мегаполисов (Metropolitan Area Network, MAN), предназначены для обслуживания территории крупного города. Эти сети используют цифровые линии связи, часто оптоволоконные, со скоростями на магистрали от 155 Мбит/с и выше. Они обеспечивают экономичное соединение локаль- ных сетей между собой, а также выход в глобальные сети. Сети MAN первоначально были разработаны только для передачи данных, но сейчас перечень предоставляемых ими услуг расширился, в частности они поддерживают видеоконференции и интегральную передачу голоса и текста. Современные сети MAN отличаются разнообразием предоставляемых услуг, позволяя своим клиентам объединять коммуникационное оборудование различного типа, в том числе офисные АТС. Конвергенция компьютерных и телекоммуникационных сетей С каждым годом усиливается тенденция сближения компьютерных и телекоммуника- ционных сетей разных видов. Предпринимаются попытки создания универсальной, так называемой мультисервисной сети, способной предоставлять услуги как компьютерных, так и телекоммуникационных сетей. К телекоммуникационным сетям относятся телефонные сети, радиосети и телевизионные сети. Главное, что объединяет их с компьютерными сетями, — то, что в качестве ресурса, предоставляемого клиентам, выступает информация. Однако имеется некоторая специфи- ка, касающаяся вида, в котором представляют информацию компьютерные и телекомму- никационные сети. Так, изначально компьютерные сети разрабатывались для передачи алфавитно-цифровой информации, которую часто называют просто данными, поэтому у компьютерных сетей имеется и другое название — сети передачи данных, в то время как телекоммуникационные сети были созданы для передачи только голосовой информации (и изображения в случае телевизионных сетей). Сегодня мы являемся свидетелями конвергенции телекоммуникационных и компьютерных сетей, которая идет по нескольким направлениям. Прежде всего, наблюдается сближение видов услуг, предоставляемых клиентам. Первая и не очень успешная попытка создания мультисервисной сети, способной оказывать различные услуги, в том числе услуги телефонии и передачи данных, привела к появлению технологии цифровых сетей с интегрированным обслуживанием (Integrated Services Digital Network, ISDN). Однако на практике ISDN предоставляет сегодня в основном телефонные услуги, а на роль глобальной мультисервисной сети нового поколения, часто называемой в ан- глоязычной литературе Next Generation Network (NGN), или New Public Network (NPN), претендует Интернет. Интернет будущего должен обладать возможностью оказывать все виды телекоммуникационных услуг, в том числе новые виды комбинированных услуг, в ко- торых сочетаются несколько традиционных услуг, например услуга универсальной службы сообщений, объединяющей электронную почту, телефонию, факсимильную службу и пейд- жинговую связь. Наибольших успехов на практическом поприще достигла 1Р-телефония, услугами которой прямо и ли косвенно сегодня пользуются миллионы людей. Однако для того чтобы стать сетью NGN, Интернету еще предстоит пройти большой путь. Технологическое сближение сетей происходит сегодня на основе цифровой передачи ин- формации различного типа, метода коммутации пакетов и программирования услуг.
36 Глава 1. Эволюция компьютерных сетей Телефония уже давно сделала ряд шагов навстречу компьютерным сетям, прежде всего, за счет представления голоса в цифровой форме, что делает принципиально возможным передачу телефонного и компьютерного трафика по одним и тем же цифровым каналам (телевидение также может сегодня передавать изображение в цифровой форме). Теле- фонные сети широко используют комбинацию методов коммутации каналов и пакетов. Так, для передачи служебных сообщений (называемых сообщениями сигнализации) применяются протоколы коммутации пакетов, аналогичные протоколам компьютерных сетей, а для передачи собственно голоса между абонентами коммутируется традиционный составной канал. Дополнительные услуги телефонных сетей, такие как переадресация вызова, конференц- связь, телеголосование и другие, могут создаваться с помощью так называемой интеллек- туальной сети (Intelligent Network, IN), по своей сути являющейся компьютерной сетью с серверами, на которых npoi раммируется логика услуг. Сегодня пакетные методы коммутации постепенно теснят традиционные для телефон- ных сетей методы коммутации каналов даже при передаче голоса. У этой тенденции есть достаточно очевидная причина — на основе метода коммутации пакетов можно более эффективно использовать пропускную способность каналов связи и коммутационного оборудования. Например, паузы в телефонном разговоре могут составлять до 40 % обще- го времени соединения, однако только пакетная коммутация позволяет «вырезать» паузы и использовать высвободившуюся пропускную способность канала для передачи трафика других абонентов. Другой веской причиной перехода к коммутации пакетов является по- пулярность Интернета — сети, построенной на основе данной технологии. Обращение к технологии коммутации пакетов для одновременной передачи через пакетные сети разнородного трафика — голоса, видео и текста — сделало актуальным разработку новых методов обеспечения требуемого качества обслуживания (Quality of Service, QoS). Методы QoS призваны минимизировать уровень задержек для чувствительного к ним трафика, например голосового, и одновременно гарантировать среднюю скорость и дина- мичную передачу пульсаций для трафика данных. Однако неверно было бы говорить, что методы коммутации каналов морально устарели и у них нет будущего. На новом витке спирали развития они находят свое применение, но уже в новых технологиях. Компьютерные сети тоже многое позаимствовали у телефонных и телевизионных сетей. В частности, они берут на вооружение методы обеспечения отказоустойчивости телефон- ных сетей, за счет которых последние демонстрируют высокую степень надежности, так недостающую порой Интернету и корпоративным сетям. Сегодня становится все более очевидным, что мультисервисная сеть нового поколения не может быть создана в результате «победы» какой-нибудь одной технологии или одного подхода. Ее может породить только процесс конвергенции, когда от каждой технологии будет взято все самое лучшее и соединено в некоторый новый сплав, который и даст тре- буемое качество для поддержки существующих и создания новых услуг. Появился новый термин — инфокоммуникационная сеть, который прямо говорит о двух составляющих со- временной сети — информационной (компьютерной) и телекоммуникационной. Учитывая, что новый термин еще не приобрел достаточной популярности, мы будем использовать устоявшийся термин «телекоммуникационная сеть» в расширенном значении, то есть включать в него и компьютерные сети.
Вопросы и задания 37 Выводы Компьютерные сети стали логическим результатом эволюции компьютерных и телекоммуникацион- ных технологий. С одной стороны, они являются частным случаем распределенных компьютерных систем, а с другой — могут рассматриваться как средство передачи информации на большие рас- стояния, для чего в них применяются методы кодирования и мультиплексирования данных, получив- шие развитие в различных телекоммуникационных системах. Классифицируя сети по территориальному признаку, различают глобальные (WAN), локальные (LAN) и городские (MAN) сети. Хронологически первыми появились сети WAN. Они объединяют компьютеры, рассредоточенные на расстоянии сотен и тысяч километров. Первые глобальные компьютерные сети очень многое унаследовали от телефонных сетей. В них часто использовались уже существующие и не очень ка- чественные линии связи, что приводило к низким скоростям передачи данных и ограничивало набор предоставляемых услуг передачей файлов в фоновом режиме и электронной почтой. Сети LAN ограничены расстояниями в несколько километров; они строятся с использованием высоко- качественных линий связи, которые позволяют, применяя более простые методы передачи данных, чем в глобальных сетях, достигать высоких скоростей обмена данными — до нескольких гигабитов в секунду. Услуги предоставляются в режиме подключения и отличаются разнообразием. Сети MAN предназначены для обслуживания территории крупного города. При достаточно больших расстояниях между узлами (десятки километров) они обладают качественными линиями связи и под- держивают высокие скорости обмена. Сети MAN обеспечивают экономичное соединение локальных сетей между собой, а также доступ к глобальным сетям. Важнейший этап в развитии сетей — появление стандартных сетевых технологий: Ethernet, FDDI, Token Ring, позволяющих быстро и эффективно объединять компьютеры различных типов. В конце 80-х годов локальные и глобальные сети имели существенные отличия по протяженности и качеству линий связи, сложности методов передачи данных, скорости обмена данными, разно- образию предоставляемых услуг и масштабируемости. В дальнейшем в результате тесной интегра- ции LAN, WAN и MAN произошло взаимопроникновение соответствующих технологий. Вопросы и задания 1. Что было унаследовано компьютерными сетями от вычислительной техники, а что от телефонных сетей? 2. Какие свойства многотерминальной системы отличают ее от компьютерной сети? 3. Когда впервые были получены значимые практические результаты по объединению компьютеров с помощью глобальных связей? 4. Что такое ARPANET? 5. Какое из следующих событий произошло позже других: а) изобретение Web; б) появление стандартных технологий LAN; в) начало передачи голоса в цифровой форме по телефонным сетям. 6. Какое событие послужило стимулом к активизации работ по созданию LAN? 7. Когда была стандартизована технология Ethernet?
38 Глава 1. Эволюция компьютерных сетей 8. По каким направлениям идет сближение компьютерных и телекоммуникационных сетей. 9. Поясните термины «мультисервисная сеть», «инфокоммуникационная сеть», «интел- лектуальная сеть». 10. Поясните, почему сети WAN появились раньше, чем сети LAN. 11. Найдите исторические связи между технологией Х.25 и сетью ARPANET, пользуясь источниками информации в Интернете. 12. Считаете ли вы, что история компьютерных сетей может быть сведена к истории Ин- тернета? Обоснуйте свое мнение.
Г ЛАВА 2 Общие принципы построения сетей Когда вы приступаете к изучению конкретных технологий для сетей LAN, WAN и MAN, таких как Ether- net, IP или ATM, то очень скоро начинаете понимать, что у этих технологий есть много общего. При этом они не являются тождественными, в каждой технологии и протоколе есть свои особенности, так что нельзя механически перенести знания из одной технологии в другую. Изучение общих принципов построения компьютерных сетей поможет вам в дальнейшем быстрее «разбираться» с любой конкретной сетевой технологией. Однако известное высказывание «Знание нескольких принципов освобождает от запоминания множества фактов» не стоит воспринимать буквально — хороший специалист, конечно же, должен знать множество деталей и фактов. Знание принципов позволяет систематизировать эти частные сведения, связать их друг с другом в стройную систему и тем самым использовать более осознано и эффективно. Конечно, изучение принципов перед изучением конкретных технологий — задача непростая, особенно для читателей с практиче- ским складом ума. Кроме того, всегда есть опасность неверного понимания какого-нибудь общего утверждения без проверки его в практической реализации. Поэтому мы просим читателей поверить нам пока на слово, что игра стоит свеч, а также последовать нашему совету: в ходе изучения материа- ла последующих глав книги время от времени мысленно возвращайтесь к теоретическим вопросам и проверяйте себя, так ли вы понимали те или иные механизмы, когда изучали их впервые. В этой главе мы рассмотрим такие фундаментальные понятия сетевых технологий, как коммутация и маршрутизация, мультиплексирование и разделение передающей среды. Мы познакомимся также с общими подходами, применяющимися при адресации узлов сети и выборе топологии.
40 Глава 2. Общие принципы построения сетей Простейшая сеть из двух компьютеров Совместное использование ресурсов Исторически главной целью объединения компьютеров в сеть было разделение ресурсов-. пользователи компьютеров, подключенных к сети, или приложения, выполняемые на этих компьютерах, получают возможность автоматического доступа к разнообразным ресурсам остальных компьютеров сети, к числу которых относятся: □ периферийные устройства, такие как диски, принтеры, плоттеры, сканеры и др.; □ данные, хранящиеся в оперативной памяти или на внешних запоминающих устрой- ствах; □ вычислительная мощность (за счет удаленного запуска «своих» программ на «чужих» компьютерах). Чтобы обеспечить пользователей разных компьютеров возможностью совместного ис- пользования ресурсов сети, компьютеры необходимо оснастить некими дополнительными сетевыми средствами. Рассмотрим простейшую сеть, состоящую из двух компьютеров, к одному из которых подключен принтер (рис. 2.1). Какие дополнительные средства должны быть предусмо- трены в обоих компьютерах, чтобы с принтером мог работать не только пользователь компьютера В, к которому этот принтер непосредственно подключен, но и пользователь компьютера Л? Компьютер А Компьютер В Принтер компьютера В Рис. 2.1. Простейшая сеть Сетевые интерфейсы Для связи устройств в них, прежде всего, должны быть предусмотрены внешние1 интер фейсы. Интерфейс — в широком смысле — формально определенная логическая и/или физическая граница между взаимодействующими независимыми объектами Интерфейс задает параметры, процедуры и характеристики взаимодействия объектов. 1 Наряду с внешними электронные устройства могут использовать внутренние интерфейсы, опреде- ляющие логические и физические границы между входящими в их состав модулями. Так, известный интерфейс «общая шина» является внутренним интерфейсом компьютера, связывающим оператив- ную память, процессор и другие блоки компьютера.
Простейшая сеть из двух компьютеров 41 Разделяют физический и логический интерфейсы. □ Физический интерфейс (называемый также портом) — определяется набором элек- трических связей и характеристиками сигналов. Обычно он представляет собой разъем с набором контактов, каждый из которых имеет определенное назначение, например, это может быть группа контактов для передачи данных, контакт синхронизации данных и т. п. Пара разъемов соединяется кабелем, состоящим из набора проводов, каждый из которых соединяет соответствующие контакты. В таких случаях говорят о создании линии, или канала, связи между двумя устройствами. □ Логический интерфейс (называемый также протоколом) — это набор информацион- ных сообщений определенного формата, которыми обмениваются два устройства или две программы, а также набор правил, определяющих логику обмена этими сообще- ниями. На рис. 2.2 мы видим интерфейсы двух типов: компьютер—компьютер и компьютер— периферийное устройство. Компьютер А Протокол Компьютер В сетевой Драйвер принтера Операционная система Операционная система_____ ) Протокол уровня сетевых карт’1 уровня приложений 11 ~БУФеР. I Сетевая ИК Драйвер t' сетевой ИК « | Приложение А Буфер ОП|<=Р~ ' Приложение В Буфер ОЛ]ф21 Принтер компьютер—компьютер Интерфейс Т Буфер | Контроллер принтера компьютер—принтер Рис. 2.2. Совместное использование принтера в компьютерной сети □ Интерфейс компьютер—компьютер позволяет двум компьютерам обмениваться ин- формацией. С каждой стороны он реализуется парой: О аппаратным модулем, называемым сетевым адаптером, или сетевой интерфейсной картой (Network Interface Card, NIC); О драйвером сетевой интерфейсной карты — специальной программой, управляющей работой сетевой интерфейсной карты. □ Интерфейс компьютер—периферийное устройство (в данном случае интерфейс компьютер—принтер) позволяет компьютеру управлять работой периферийного устройства (ПУ). Этот интерфейс реализуется: О со стороны компьютера — интерфейсной картой и драйвером ПУ (принтера), по- добным сетевой интерфейсной карте и ее драйверу;
42 Глава 2. Общие принципы построения сетей О со стороны ПУ — контроллером ПУ (принтера), обычно представляющий собой аппаратное устройство1, принимающее от компьютера как данные, например байты информации, которую нужно распечатать на бумаге, так и команды, которые он от- рабатывает, управляя электромеханическими частями периферийного устройства, например выталкивая лист бумаги из принтера или перемещая магнитную головку диска. Связь компьютера с периферийным устройством Для того чтобы решить задачу организации доступа приложения, выполняемого на ком- пьютере/!, к ПУ через сеть, давайте, прежде всего, посмотрим, как управляет этим устрой- ством приложение, выполняемое на компьютере В, к которому данное ПУ подключено непосредственно (см. рис. 2.2). 1. Пусть приложению В в какой-то момент потребовалось вывести на печать некоторые данные. Для этого приложение обращается с запросом на выполнение операции ввода- вывода к операционной системе (как правило, драйвер не может быть запущен на выполнение непосредственно приложением). В запросе указываются адрес данных, которые необходимо напечатать (адрес буфера ОП), и информация о том, на каком периферийном устройстве эту операцию требуется выполнить. 2. Получив запрос, операционная система запускает программу — драйвер принтера. С этого момента все дальнейшие действия по выполнению операции ввода-вывода со стороны компьютера реализуются только драйвером принтера и работающим под его управлением аппаратным модулем — интерфейсной картой принтера без участия приложения и операционной системы. 3. Драйвер принтера оперирует командами, понятными контроллеру принтера, такими, например, как «Печать символа», «Перевод строки», «Возврат каретки». Драйвер в определенной последовательности загружает коды этих команд, а также данные, взя- тые из буфера ОП, в буфер интерфейсной карты принтера, которая побайтно передает их по сети контроллеру принтера. 4. Интерфейсная карта выполняет низкоуровневую работу, не вдаваясь в детали, ка- сающиеся логики управления устройством, смысла данных и команд, передаваемых ей драйвером, считая их однородным потоком байтов. После получения от драйвера очередного байта интерфейсная карта просто последовательно передает биты в линию связи, представляя каждый бит электрическим сигналом. Чтобы контроллеру принтера стало понятно, что начинается передача байта, перед.передачей пе.рвого бита информа- ционная карта формирует стартовый сигнал специфической формк, а после передачи последнего информационного бита — столовый сигнал. Эти сигналы синхронизируют передачу байта. Контроллер, опознав стартовый бит, начинает принимать информацион- ные биты, формируя из них байт в своем приемном буфере. Помимо информационных битов карта может передавать бит контроля четности для повышения достоверности обмена. При корректно выполненной передаче в буфере принтера устанавливается со- ответствующий признак. 1 Встречаются и программно-управляемые контроллеры, например, для управления современными принтерами, обладающими сложной логикой.
Простейшая сеть из двух компьютеров 43 5. Получив очередной байт, контроллер интерпретирует его и запускает заданную опера- цию принтера. Закончив работу по печати всех символов документа, драйвер принтера сообщает операционной системе о выполнении запроса, а та, в свою очередь, сигнали- зирует об этом событии приложению. Обмен данными между двумя компьютерами Механизмы взаимодействия компьютеров в сети многое позаимствовали у схемы взаи- модействия компьютера с периферийными устройствами. В самом простом случае связь компьютеров может быть реализована с помощью тех же самых средств, которые исполь- зуются для связи компьютера с периферией, с той разницей, что в этом случае активную роль играют обе взаимодействующие стороны. Приложения А и В (см. рис. 2.2) управляют процессом передачи данных путем обмена сообщениями. Чтобы приложения могли «понимать» получаемую друг от друга информа- цию, программисты, разрабатывавшие эти приложения, должны строго оговорить форматы и последовательность сообщений, которыми приложения будут обмениваться во время выполнения этой операции. Например, они могут договориться о том, что любая операция обмена данными начинается с передачи сообщения, запрашивающего информацию о го- товности приложения В\ что в следующем сообщении идут идентификаторы компьютера и пользователя, сделавшего запрос; что признаком срочного завершения операции обмена данными является определенная кодовая комбинация и т. п. Тем самым определяется про- токол взаимодействия приложений для выполнения операции данного типа. Аналогично тому, как при выводе данных на печать необходимо передавать принтеру дополнительно некоторый объем служебной информации — в виде команд управления принтером, так и здесь: для передачи данных из одного компьютера в другой необходимо сопровождать эти данные дополнительной информацией в виде протокольных сообщений, которыми обмениваются приложения. Заметим, что для реализации протокола нужно, чтобы к моменту возникновения потребно- сти в обмене данными были активны оба приложения: как приложение А, которое посылает инициирующее сообщение, так и приложение В, которое должно быть готово принять это сообщение и выработать реакцию на него. Передача любых данных (как сообщений протокола приложений, так и собственно данных, со- ставляющих цель операции обмена) происходит в соответствие с одной и той же процедурой. На стороне компьютера А приложение, следуя логике протокола, размещает в буфере ОП либо собственное очередное сообщение, либо данные, и обращается к ОС с запросом на выполнение операции межкомпьютерного обмена данными. ОС запускает соответствую- щий драйвер сетевой карты, который загружает байт из буфера ОП в буфер И К, после чего инициирует работу ИК. Сетевая интерфейсная карта последовательно передает биты в линию связи, дополняя каждый новый байт стартовым и стоповым битами. На стороне компьютера В сетевая ИК принимает биты, поступающие со стороны внешнего интерфейса, и помещает их в собственный буфер. После того как получен столовый бит, интерфейсная карта устанавливает признак завершения приема байта и выполняет про- верку корректности приема, например, путем контроля бита четности. Факт корректного приема байта фиксируется драйвером сетевой ИК компьютера В. Драйвер переписывает принятый байт из буфера ИК в заранее зарезервированный буфер ОП компьютера В.
44 Глава 2. Общие принципы построения сетей Приложение В извлекает данные из буфера и интерпретирует их в соответствии со своим протоколом либо как сообщение, либо как данные. Если согласно протоколу приложение В должно передать ответ приложению А, то выполняется симметричная процедура. Таким образом, связав электрически и информационно два автономно работающих ком- пьютера, мы получили простейшую компьютерную сеть. Доступ к ПУ через сеть Итак, мы имеем в своем распоряжении механизм, который позволяет приложениям, вы- полняющимся на разных компьютерах, обмениваться данными. И хотя приложение А (см. рис. 2.2) по-прежнему не может управлять принтером, подключенным к компьюте- ру В, оно может теперь воспользоваться средствами межкомпьютерного обмена данными, чтобы передать приложению В «просьбу» выполнить для него требуемую операцию. При- ложение А должно «объяснить» приложению В, какую операцию необходимо выполнить, с какими данными, на каком из имеющихся в его распоряжении устройств, в каком виде должен быть распечатан текст и т. п. В ходе печати могут возникнуть ситуации, о которых приложение В должно оповестить приложение Л, например об отсутствии бумаги в прин- тере. То есть для решения поставленной задачи — доступа к принтеру по сети — должен быть разработан специальный протокол взаимодействия приложений А и В. А теперь посмотрим, как работают вместе все элементы этой простейшей компьютерной сети при решении задачи совместного использования принтера. 1. В соответствии с принятым протоколом приложение А формирует сообщение-запрос к приложению В, помещает его в буфер ОП компьютера Л и обращается к ОС, снабжая ее необходимой информацией. 2. ОС запускает драйвер сетевой ИК, сообщая ему адрес буфера ОП, где хранится сообщение. 3. Драйвер и сетевая интерфейсная карта компьютера Л, взаимодействуя с драйвером и интерфейсной картой компьютера В, передают сообщение байт за байтом в буфер ОП компьютера В. 4. Приложение В извлекает сообщение из буфера, интерпретирует его в соответствии с протоколом и выполняет необходимые действия. В число таких действий входит, в том числе, обращение к ОС с запросом на выполнение тех или иных операций с локальным принтером. 5. ОС запускает драйвер принтера, который в кооперации с интерфейсной картой и кон- троллером принтера выполняет требуемую операцию печати. Уже на этом начальном этапе, рассматривая связь компьютера с периферийным устрой- ством, мы столкнулись с важнейшими «сетевыми» понятиями: интерфейсом и протоколом, драйвером и интерфейсной картой, а также с проблемами, характерными для компьютер- ных сетей: согласованием интерфейсов, синхронизацией асинхронных процессов, обеспе- чением достоверности передачи данных. Сетевое программное обеспечение Мы только что рассмотрели случай совместного использования принтера в простейшей сети, состоящей только из двух компьютеров. Однако даже на этом начальном этапе мы
Сетевое программное обеспечение 45 уже можем сделать некоторые выводы относительно строения сетевого программного обе- спечения: сетевых служб, сетевой операционной системы и сетевых приложений. Сетевые службы и сервисы Потребность в доступе к удаленному принтеру может возникать у пользователей самых разных приложений: текстового редактора, графического редактора, системы управления базой данных (СУБД). Очевидно, что дублирование в каждом из приложений общих для всех них функций по организации удаленной печати является избыточным. Более эффективным представляется подход, при котором эти функции исключаются из приложений и оформляются в виде пары специализированных программных модулей - клиента и сервера печати (рис. 2.3), функции которых ранее выполнялись соответственно приложениями А и В. Теперь эта пара клиент—сервер может быть использована любым приложением, выполняемым на компьютере Л. Компьютер А Компьютер В | Приложения Сетевая служба печати / Клиент печати 4•-• Протокол печати Сервер ► печати Операционная система Операционная система Драйвер сетевой ИК < Протокол уровня драйаар'ов Драйвер > сетевой ИК Драйвер принтера Сетевая интерфейсная карта Протокол Сетевая интерфейсная карта Интерфейс компьютер—компьютер Интерфейсная карта принтере Интерфейс компьютер—принте Интерфейс компьютера Принтер Контроллер Рис. 2.3. Совместное использование принтера в компьютерной сети с помощью сетевой службы печати Обобщая такой подход применительно к другим типам разделяемых ресурсов, дадим следующие определения1: Клиент — это модуль, предназначенный для формирования и передачи сообщений-запросов к ресурсам удаленного компьютера от разных приложений с последующим приемом результатов из сети и передачей йх соответствующим приложениям. 1 Термины «клиент» и «сервер» являются чрезвычайно многозначными. Данная пара терминов, уже используемая нами для обозначения функциональной роли взаимодействующих компьютеров и приложений, применима также к программным модулям.
46 Глава 2. Общие принципы построения сетей Сервер - это модуль, который постоянно ожидает прихода из сети запросов от клиентов, и при- няв запруг. пытается его обслужить, как правило, с участием локильной ОС, один сервер может обслуживать опросы сразу нескольких «иентов (поочередно или одновременно) Пара клиент—сервер, предоставляющая доступ к конкре гном-, tjh г, . а юмпьютера через сеть, образует сетевую службу. Каждая служба связана с определенным типом сетевых ресурсов. Так, на рис. 2.3 модули клиента и сервера, реализующие удаленный доступ к принтеру, образуют сетевую службу печати. Файловая служба позволяет получать доступ к файлам, хранящимся на диске других компьютеров. Серверный компонент файловой службы называют файл-сервером. Для поиска и просмотра информации в Интернете используется веб-служба, состоящая из веб-сервера и клиентской программы, называемой веб-браузером (web browser). Раз- деляемым ресурсом в данном случае является веб-сайт — определенным образом органи- зованный набор файлов, содержащих связанную в смысловом отношении информацию и хранящихся на внешнем накопителе веб-сервера. Рис. 2.4. Веб-служба На схеме веб-службы, показанной на рис. 2.4, два компьютера связаны не непосредственно, как это было во всех предыдущих примерах, а через множество промежуточных компью- теров и других сетевых устройств, входящих в состав Интернета. Для того чтобы отразить
Сетевое программное обеспечение 47 этот факт графически, мы поместили между двумя компьютерами так называемое комму- никационное облако, которое позволяет нам абстрагироваться от всех деталей среды пере- дачи сообщений. Обмен сообщениями между клиентской и серверной частями веб-службы выполняется по стандартному протоколу HTTP и никак не зависит от того, передаются ли эти сообщения «из рук в руки» (от интерфейса одного компьютера к интерфейсу другого) или через большое число посредников — транзитных коммуникационных устройств. Вме- сте с тем, усложнение среды передачи сообщений приводит к возникновению новых допол- нительных задач, на решение которых не был рассчитан упоминавшийся ранее про< текший драйвер сетевой интерфейсной карты. Вместо него на взаимодействующих компьютерах должны быть установлены более развитые программные транспортные средства. Сетевая операционная система Операционную систему компьютера часто определяют как взаимосвязанный набор систем- ных программ, который обеспечивает эффективное управление ресурсами компьютера (памятью, процессором, внешними устройствами, файлами и др.), а также предоставляет пользователю удобный интерфейс для работы с аппаратурой компьютера и разработки Приложений. Говоря о сетевой ОС, мы, очевидно, должны расширить границы управляемых ресурсов за пределы одного компьютера. Сетевой операционной системой называют операционную систему компьютера, которая помимо управления локальными ресурсами предоставляет пользователям и приложениям воз- можность эффективного и удобного доступа к информационным и аппаратным ресурсам других компьюте овсети. Сегодня практически все операционные системы являются сетевыми. Из примеров, рассмотренных в предыдущих разделах (см. рис 2.3 и 2.4), мы видим, что удаленный доступ к сетевым ресурсам обеспечивается: □ сетевыми службами: □ средствами транспортировки сообщений по сети (в простейшем случае — сетевыми интерфейсными картами и их драйверами). Следовательно, именно эти функциональные модули должны быть добавлены к ОС, чтобы она могла называться сетевой (рис. 2.5). Среди сетевых служб можно выделить такие, которые ориентированы не на простого пользователя, как, например, файловая служба или служба печати, а на администратора. Такие службы направлены на организацию работы сети. Например, централизованная справочная служба, или служба каталогов, предназначена для ведения базы данных о пользователях сети, обо всех ее программных и аппаратных компонентах1. В качестве других примеров можно назвать службу мониторинга сети, позволяющую захватывать и анализировать сетевой трафик, службу безопасности, в функции которой может вхо- дить, в частности, выполнение процедуры логического входа с проверкой пароля, службу резервного копирования и архивирования. 1 Например, служба каталогов Active Directory компании Microsoft
48 Глава 2. Общие принципы построения сетей Рис. 2.5. Функциональные компоненты сетевой ОС От того, насколько богатый набор сетевых служб и услуг предлагает операционная систе- ма конечным пользователям, приложениям и администраторам сети, зависит ее позиция в общем ряду сетевых ОС. Помимо сетевых служб сетевая ОС должна включать программные коммуникационные {транспортные) средства, обеспечивающие совместно с аппаратными коммуникацион- ными средствами передачу сообщений, которыми обмениваются клиентские и серверные части сетевых служб. Задачу коммуникации между компьютерами сети решают драйверы и протокольные модули. Они выполняют такие функции, как формирование сообще- ний, разбиение сообщения на части (пакеты, кадры), преобразование имен компьютеров в числовые адреса, дублирование сообщений в случае их потери, определение маршрута в сложной сети и т. д. И сетевые службы, и транспортные средства могут являться неотъемлемыми (встроен- ными) компонентами ОС или существовать в виде отдельных программных продуктов. Например, сетевая файловая служба обычно встраивается в ОС, а вот веб-браузер чаще всего приобретаемся отдельно. Типичная сетевая ОС имеет в своем составе широкий набор драйверов и протокольных модулей, однако у пользователя, как правило, есть возможность дополнить этот стандартный набор необходимыми ему программами. Решение о способе реализации клиентов и серверов сетевой службы, а также драйверов и протокольных моду- лей принимается разработчиками с учетом самых разных соображений: технических, ком-
Сетевое программное обеспечение 49 мерческих и даже юридических. Так, например, именно на основании антимонопольного закона США компании Microsoft было запрещено включать ее браузер Internet Explorer в состав ОС этой компании. Сетевая служба может быть представлена в ОС либо обеими (клиентской и серверной) частями, либо только одной из них. В первом случае операционная система, называемая одноранговой, не только позволяет обращаться к ресурсам других компьютеров, но и предоставляет собственные ресурсы в распоряжение пользователей других компьютеров. Например, если на всех компьютерах сети установлены и клиенты, и серверы файловой службы, то все пользователи сети могут совместно применять файлы друг друга. Компьютеры, совмещающие функции клиента и сервера, называют одноранговыми узлами. Операционная система, которая преимущественно содержит клиентские части сетевых служб, называется клиентской. Клиентские ОС устанавливаются на компьютеры, обра- щающиеся с запросами к ресурсам других компьютеров сети. За такими компьютерами, также называемыми клиентскими, работают рядовые пользователи. Обычно клиентские компьютеры относятся к классу относительно простых устройств. К другому типу операционных систем относится серверная ОС — она ориентирована на обработку запросов из сети к ресурсам своего компьютера и включает в себя в основном серверные части сетевых служб. Компьютер с установленной на нем серверной ОС, за- нимающийся исключительно обслуживанием запросов других компьютеров, называют выделенным сервером сети. За выделенным сервером, как правило, обычные пользователи не работают. ПРИМЕЧАНИЕ------------------------------------------------------------------ Подробнее о сетевых операционных системах и встроенных в них сетевых службах вы можете прочи- тать в специальной литературе, а также в учебнике авторов «Сетевые операционные системы». Наибо- лее популярные сетевые службы Интернета, такие как электронная почта, веб-служба, 1Р-телефония и др., рассматриваются в главе 23. Сетевые приложения Компьютер, подключенный к сети, может выполнять следующие типы приложений: □ Локальное приложение целиком выполняется на данном компьютере и использует только локальные ресурсы (рис. 2.6, а). Для такого приложения не требуется никаких сетевых средств, оно может быть выполнено на автономно работающем компьютере. □ Централизованное сетевое приложение целиком выполняется на данном компью- тере, но обращается в процессе своего выполнения к ресурсам других компьютеров сети. В примере па рисунке 2.6, б приложение, которое выполняется на кчиентском компьютере, обрабатывает данные из файла, хранящегося на файл-сервере, а затем распечатывает результаты на принтере, подключенном к серверу печати. Очевидно, что работа такого типа приложений невозможна без участия сетевых служб и средств транспортировки сообщений. □ Распределенное (сетевое) приложение состоит из нескольких взаимодействующих частей, каждая из которых выполняет какую-то определенную законченную работу
50 Глава 2. Общие принципы построения сетей Рис. 2.6. Типы приложений, выполняющихся в сети
Сетевое программное обеспечение 51 по решению прикладной задачи, причем каждая часть может выполняться и, как пра- вило, выполняется на отдельном компьютере сети (рис. 2.6, в). Части распределенного приложения взаимодействуют друг с другом, используя сетевые службы и транспорт- ные средства ОС. Распределенное приложение в общем случае имеет доступ ко всем ресурсам компьютерной сети. Очевидным преимуществом распределенных приложений является возможность рас- параллеливания вычислений, а также специализация компьютеров. Так, в приложении, предназначенном, скажем, для анализа климатических изменений, можно выделить три достаточно самостоятельные части (см. рис. 2.6, в), допускающие распараллеливание. Первая часть приложения, выполняющаяся на сравнительно маломощном персональном компьютере, могла бы поддерживать специализированный графический пользовательский интерфейс, вторая — заниматься статистической обработкой данных на высокопроиз- водительном мэйнфрейме, а третья — генерировать отчеты на сервере с установленной стандартной СУБД. В общем случае каждая из частей распределенного приложения может быть представлена несколькими копиями, работающими на разных компьютерах. Скажем, в данном примере часть 1, ответственную за поддержку специализированного пользовательского интерфейса, можно было бы запустить на нескольких персональных компьютерах, что позволило бы работать с этим приложением нескольким пользователям одновременно. Однако чтобы добиться всех тех преимуществ, которые сулят распределенные приложения, разработчикам этих приложений приходится решать множество проблем, например: на сколько частей следует разбить приложение, какие функции возложить на каждую часть, как организовать взаимодействие этих частей, чтобы в случае сбоев и отказов оставшиеся части корректно завершали работу и т. д., и т. п. Заметим, что все сетевые службы, включая файловую службу, службу печати, службу элек- тронной почты, службу удаленного доступа, интернет-телефонию и т. д., по определению относятся к классу распределенных приложений. Действительно, любая сетевая служба включает в себя клиентскую и серверную части, которые могут и обычно выполняются на разных компьютерах. На рис. 2.7, иллюстрирующем распределенный характер веб-службы, мы видим различ- ные виды клиентских устройств — персональные компьютеры, ноутбуки и мобильные телефоны — с установленными на них веб-браузерами, которые взаимодействуют по сети с веб-сервером. Таким образом, с одним и тем же веб-сайтом может одновременно работать множество — сотни и тысячи — сетевых пользователей. Многочисленные примеры распределенных приложений можно встретить и в такой об- ласти, как обработка данных научных экспериментов. Это не удивительно, так как мно- гие эксперименты порождают такие большие объемы данных, генерируемых в реальном масштабе времени, которые просто невозможно обработать на одном, даже очень мощном, суперкомпьютере. Кроме того, алгоритмы обработки экспериментальных данных часто легко распараллеливаются, что также важно для успешного применения взаимосвязанных компьютеров с целью решения какой-либо общей задачи. Одним из последних и очень известных примеров распределенного научного приложения является программное обеспечение обработки данных большого адронного коллайдера (Large Hadron Collider, LHC), запущенного 10 сентября 2008 года в CERN — это приложение работает более чем на 30 тысячах компьютеров, объединенных в сеть.
52 Глава 2. Общие принципы построения сетей Рис. 2.7. Веб-служба как распределенное приложение Физическая передача данных по линиям связи Даже при рассмотрении простейшей сети, состоящей всего из двух машин, можно выявить многие проблемы, связанные с физической передачей сигналов по линиям связи Кодирование В вычислительной технике для представления данных используется двоичный код. Вну- три компьютера единицам и нулям данных соответствуют дискретные электрические сигналы. Представление данных в виде электрических или оптических сигналов называется кодирова- нием Существуют различные способы кодирования двоичных цифр, например потенциальный способ, при котором единице соответствует один уровень напряжения, а нулю — другой, или импульсный способ, когда для представления цифр используются импульсы раз- личной полярности. Аналогичные подходы применимы для кодирования данных и при передаче их между двумя компьютерами по линиям связи. Однако эти линии связи отличаются по своим характеристикам от линий внутри компьютера. Главное отличие внешних линий связи от внутренних состоит в их гораздо большей протяженности, а также в том, что они проходят
Физическая передача данных по линиям связи 53 вне экранированного корпуса по пространствам, зачастую подверженным воздействию сильных электромагнитных помех. Все это приводит к существенно большим искажениям прямоугольных импульсов (например, «заваливанию» фронтов), чем внутри компьютера. Поэтому для надежного распознавания импульсов на приемном конце линии связи при передаче данных внутри и вне компьютера не всегда можно использовать одни и те же скорости и способы кодирования. Например, медленное нарастание фронта импульса из- за высокой емкостной нагрузки линии требует, чтобы импульсы передавались с меньшей скоростью (чтобы передний и задний фронты соседних импульсов не перекрывались, и импульс успел «дорасти» до требуемого уровня). В вычислительных сетях применяют как потенциальное, так и импульсное кодирование дискретных данных, а также специфический способ представления данных, который никогда не используется внутри компьютера, — модуляцию (рис. 2.8). При модуляции дискретная информация представляется синусоидальным сигналом той частоты, которую хорошо передает имеющаяся линия связи. Потенциальное кодирование Импульсное кодирование Модуляция Рис. 2.8. Примеры представления дискретной информации Потенциальное или импульсное кодирование применяется на каналах высокого качества, а модуляция на основе синусоидальных сигналов предпочтительнее в том случае, когда канал вносит сильные искажения в передаваемые сигналы. Например, модуляция ис- пользуется в глобальных сетях при передаче данных через аналоговые телефонные каналы связи, которые были разработаны для передачи голоса в аналоговой форме и поэтому плохо подходят для непосредственной передачи импульсов. На способ передачи сигналов влияет и количество проводов в линиях связи между компью- терами. Для снижения стоимости линий связи в сетях обычно стремятся к сокращению количества проводов и из-за этого передают все биты одного байта или даже нескольких байтов не параллельно, как это делается внутри компьютера, а последовательно (побитно), для чего достаточно всего одной пары проводов. Еще одной проблемой, которую нужно решать при передаче сигналов, является проблема взаимной синхронизации передатчика одного компьютера с приемником другого. При организации взаимодействия модулей внутри компьютера эта проблема решается очень просто, так как в этом случае все модули синхронизируются от общего тактового генерато- ра. Проблема синхронизации при связи компьютеров может решаться разными способами, как путем обмена специальными тактовыми синхроимпульсами по отдельной линии, так и путем периодической синхронизации заранее обусловленными кодами или импульсами характерной формы, отличающейся от формы импульсов данных.
54 Глава 2. Общие принципы построения сетей Несмотря на предпринимаемые меры (выбор соответствующей скорости обмена данными, линий связи с определенными характеристиками, способа синхронизации приемника и передатчика), существует вероятность искажения некоторых битов передаваемых дан- ных. Для повышения надежности передачи данных между компьютерами, как правило, используется стандартный прием — подсчет контрольной суммы и передача полученного значения по линиям связи после каждого байта или после некоторого блока байтов. Часто в протокол обмена данными включается как обязательный элемент сигнал-квитанция, который подтверждает правильность приема данных и посылается от получателя отпра- вителю. Характеристики физических каналов Существует большое количество характеристик, связанных с передачей трафика через фи- зические каналы. С теми из них, которые будут необходимы нам уже в ближайшее время, мы познакомимся сейчас, а некоторые изучим позже, в главе 6. □ Предложенная нагрузка — это поток данных, поступающий от пользователя на вход сети. Предложенную нагрузку можно характеризовать скоростью поступления данных в сеть в битах в секунду (или килобитах, мегабитах и т. д.). □ Скорость передачи данных (information rate или throughput, оба английских термина используются равноправно) — это фактическая скорость потока данных, прошедшего через сеть. Эта скорость может быть меньше, чем скорость предложенной нагрузки, так как данные в сети могут искажаться или теряться. □ Емкость канала связи (capacity), называемая также пропускной способностью, пред- ставляет собой максимально возможную скорость передачи информации по каналу. □ Спецификой этой характеристики является то, что она отражает не только параметры физической среды передачи, но и особенности выбранного способа передачи дискретной информации по этой среде. Например, емкость канала связи в сети Ethernet на опти- ческом волокне равна 10 Мбит/с. Эта скорость является предельно возможной для со- четания технологии Ethernet и оптического волокна. Однако для того же самого оптиче- ского волокна можно разработать другую технологию передачи данных, отличающуюся способом кодирования данных, тактовой частотой и другими параметрами, которая бу- дет иметь другую емкость. Так, технология Fast Ethernet обеспечивает передачу данных по тому же оптическому волокну с максимальной скоростью 100 Мбит/с, а технология Gigabit Ethernet — 1000 Мбит/с. Передатчик коммуникационного устройства должен работать со скоростью, равной пропускной способности канала. Эта скорость иногда называется битовой скоростью передатчика (bit rate of transmitter). □ Полоса пропускания (bandwidth) — этот термин может ввести в заблуждение, по- тому что он используется в двух разных значениях. Во-первых, с его помощью могут характеризовать среду передачи. В этом случае он означает ширину полосы частот, которую линия передает без существенных искажений. Из этого определения понятно происхождение термина. Во-вторых, термин «полоса пропускания» используется как синоним термина емкость канала связи. В первом случае полоса пропускания измеря- ется в герцах (Гц), во втором — в битах в секунду. Различать значения термина нужно по контексту, хотя иногда это достаточно трудно. Конечно, лучше было бы применять разные термины для различных характеристик, но существуют традиции, которые изменить трудно. Такое двойное использование термина «полоса пропускания» уже
Проблемы связи нескольких компьютеров 55 вошло во многие стандарты и книги, поэтому и в данной книге мы будем следовать сложившемуся подходу. Нужно также учитывать, что этот термин в его втором значении является даже более распространенным, чем емкость, поэтому из этих двух синонимов мы будем использовать полосу пропускания. Еще одна группа характеристик канала связи связана с возможностью передачи информа- ции по каналу в одну или обе стороны. При взаимодействии двух компьютеров обычно требуется передавать информацию в обо- их направлениях, от компьютера А к компьютеру В и обратно. Даже в том случае, когда пользователю кажется, что он только получает информацию (например, загружает музы- кальный файл из Интернета) или только ее передает (отправляет электронное письмо), обмен информации идет в двух направлениях. Просто существует основной поток данных, которые интересуют пользователя, и вспомогательный поток противоположного направ- ления, который образуют квитанции о получении этих данных. Физические каналы связи делятся на несколько типов в зависимости от того, могут они передавать информацию в обоих направлениях или нет. □ Дуплексный канал обеспечивает одновременную передачу информации в обоих на- правлениях. Дуплексный канал может состоять их двух физических сред, каждая их которых используется для передачи информации только в одном направлении. Воз- можен вариант, когда одна среда служит для одновременной передачи встречных по- токов, в этом случае применяют дополнительные методы выделения каждого потока из суммарного сигнала. □ Полудуплексный канал также обеспечивает передачу информации в обоих направ- лениях, но не одновременно, а по очереди. То есть в течение определенного периода времени информация передается в одном направлении, а в течение следующего пе- риода — в обратном. □ Симплексный канал позволяет передавать информацию только в одном направлении. Часто дуплексный канал состоит из двух симплексных каналов. Подробно вопросы физической передачи дискретных данных обсуждаются в части И. Проблемы связи нескольких компьютеров До сих пор мы рассматривали вырожденную сеть, состоящую всего из двух машин. При объединении в сеть большего числа компьютеров возникает целый комплекс новых про- блем. Топология физических связей Объединяя в сеть несколько (больше двух) компьютеров, необходимо решить, каким об- разом соединить их друг с другом, другими словами, выбрать конфигурацию физических связей, или топологию. Под топологией сети понимается конфигурация графа, вершинам которого соответствуют конечные узлы сети (например, компьютеры) и коммуникационное оборудование (например, маршрутизаторы), а ребрам — физические или информационные связи между вершинами
56 Глава 2. Общие принципы построения сетей Число возможных вариантов конфигурации резко возрастает при увеличении числа связы- ваемых устройств. Так, если три компьютера мы можем связать двумя способами (рис. 2.9, а), то для четырех можно предложить уже шесть топологически разных конфигураций (при условии неразличимости компьютеров), что и иллюстрирует рис. 2.9, б. б Рис. 2.9. Варианты связи компьютеров Мы можем соединять каждый компьютер с каждым или же связывать их последователь- но, предполагая, что они будут общаться, передавая сообщения друг другу «транзитом». Транзитные узлы должны быть оснащены специальными средствами, позволяющими им выполнять эту специфическую посредническую операцию. В качестве транзитного узла может выступать как универсальный компьютер, так и специализированное ус- тройство. От выбора топологии связей существенно зависят характеристики сети. Например, нали- чие между узлами нескольких путей повышает надежность сети и делает возможным рас- пределение загрузки между отдельными каналами. Простота присоединения новых узлов, свойственная некоторым топологиям, делает сеть легко расширяемой. Экономические соображения часто приводят к выбору топологий, для которых характерна минимальная суммарная длина линий связи. Среди множества возможных конфигураций различают полносвязные и неполно- связные. Полносвязная топология (рис. 2.10, а) соответствует сети, в которой каждый компьютер непосредственно связан со всеми остальными. Несмотря на логическую простоту, этот ва- риант оказывается громоздким и неэффективным. Действительно, в таком случае каждый компьютер в сети должен иметь большое количество коммуникационных портов, достаточ- ное для связи с^каждым из остальных компьютеров сети. Для каждой пары компьютеров должна быть выделена отдельная физическая линия связи. (В некоторых случаях даже две, если невозможно использование этой линии для двусторонней передачи.) Полно- связные топологии в крупных сетях применяются редко, так как для связи N узлов требу- ется N(N- 1)/2 физических дуплексных линий связей, то есть имеет место квадратичная зависимость от числа узлов. Чаще этот вид топологии используется в многомашинных комплексах или в сетях, объединяющих небольшое количество компьютеров.
Проблемы связи нескольких компьютеров 57 Рис. 2.10. Типовые топологии сетей Все другие варианты основаны на неполносвязных топологиях, когда для обмена данны- ми между двумя компьютерами может потребоваться транзитная передача данных через другие узлы сети. Ячеистая топология1 получается из полносвязной путем удаления некоторых связей (рис. 2.10, б). Ячеистая топология допускает соединение большого количества компьютеров и характерна, как правило, для крупных сетей. В сетях с кольцевой топологией (рис. 2.10, в) данные передаются по кольцу от одного ком- пьютера к другому. Главным достоинством кольца является то, что оно по своей природе обеспечивает резервирование связей. Действительно, любая пара узлов соединена здесь дву- мя путями — по часовой стрелке и против нее. Кроме того, кольцо представляет собой очень удобную конфигурацию для организации обратной связи — данные, сделав полный оборот, возвращаются к узлу-источнику. Поэтому источник может контролировать процесс достав- ки данных адресату. Часто это свойство кольца используется для тестирования связности сети и поиска узла, работающего некорректно. В то же время в сетях с кольцевой топологи- ей необходимо принимать специальные меры, чтобы в случае выхода из строя или отключе- ния какого-либо компьютера не прерывался канал связи между остальными узлами кольца. Звездообразная топология (рис. 2.10, г) образуется в случае, когда каждый компьютер подключается непосредственно к общему центральному устройству, называемому кон- центратором1 2. В функции концентратора входит направление передаваемой компьютером 1 Иногда ячеистой называют полносвязную или близкую к полносвязной топологию. 2 В данном случае термин «концентратор» используется в широком смысле, обозначая любое много- входовое устройство, способное служить центральным элементом, например коммутатор или марш- рутизатор.
58 Глава 2. Общие принципы построения сетей информации одному или всем остальным компьютерам сети. В качестве концентратора может выступать как универсальный компьютер, так и специализированное устройство. К недостаткам звездообразной топологии относится более высокая стоимость сетевого оборудования из-за необходимости приобретения специализированного центрального устройства. Кроме того, возможности по наращиванию количества узлов в сети ограни- чиваются количеством портов концентратора. Иногда имеет смысл строить сеть с использованием нескольких концентраторов, иерар- хически соединенных между собой звездообразными связями (рис. 2.10, д). Получаемую в результате структуру называют иерархической звездой, или деревом. В настоящее время дерево является самой распространенной топологией связей как в локальных, так и глобальных сетях. Особым частным случаем звезды является общая шина (рис. 2.10, е). Здесь в качестве центрального элемента выступает пассивный кабель, к которому по схеме «монтажного ИЛИ» подключается несколько компьютеров (такую же топологию имеют многие сети, использующие беспроводную связь — роль общей шины здесь играет общая радиосреда). Передаваемая информация распространяется по кабелю и доступна одновременно всем компьютерам, присоединенным к этому кабелю. Основными преимуществами такой схемы являются ее дешевизна и простота присоединения новых узлов к сети, а недостат- ками — низкая надежность (любой дефект кабеля полностью парализует всю сеть) и не- высокая производительность (в каждый момент времени только один компьютер может передавать данные по сети, поэтому пропускная способность делится здесь между всеми узлами сети). В то время как небольшие сети, как правило, имеют типовую топологию — звезда, кольцо или общая шина, для крупных сетей характерно наличие произвольных связей между ком- пьютерами. В таких сетях можно выделить отдельные произвольно связанные фрагменты (подсети), имеющие типовую топологию, поэтому их называют сетями со смешанной топологией (рис. 2.11). Рис. 2.11. Смешанная топология
Проблемы связи нескольких компьютеров 59 Адресация узлов сети Еще одной новой проблемой, которую нужно учитывать при объединении трех и более компьютеров, является проблема их адресации, точнее адресации их сетевых интерфейсов1. Один компьютер может иметь несколько сетевых интерфейсов. Например, для создания полносвязной структуры из N компьютеров необходимо, чтобы у каждого из них имелся N- 1 интерфейс. По количеству адресуемых интерфейсов адреса можно классифицировать следующим образом: □ уникальный адрес (unicast) используется для идентификации отдельных интерфей- сов; □ групповой адрес (multicast) идентифицирует сразу несколько интерфейсов, поэтому данные, помеченные групповым адресом, доставляются каждому из узлов, входящих в группу; □ данные, направленные по широковещательному адресу (broadcast), должны быть до- ставлены всем узлам сети; □ адрес произвольной рассылки (anycast), определенный в новой версии протокола IPv6, так же, как и групповой адрес, задает группу адресов, однако данные, посланные по это- му адресу, должны быть доставлены не всем адресам данной группы, а любому из них. Адреса могут быть числовыми (например, 129.26.255.255 или 81.la.ff.ff) и символьными (site.domen.ru, willi-winki). Символьные адреса (имена) предназначены для запоминания людьми и поэтому обычно несут смысловую нагрузку. Для работы в больших сетях символьное имя может иметь иерархическую структуру, например ftp-arch1 .ucl.ac.uk. Этот адрес говорит о том, что данный компьютер поддерживает ftp-архив в сети одного из колледжей Лондонского универси- тета (University College London — ucl) и эта сеть относится к академической ветви (ас) Интернета Великобритании (United Kingdom — uk). При работе в пределах сети Лондон- ского университета такое длинное символьное имя явно избыточно и вместо него можно пользоваться кратким символьным именем ftp-arch 1. Хотя символьные имена удобны для людей, из-за переменного формата и потенциально большой длины их передача по сети не очень экономична. Множество всех адресов, которые являются допустимыми в рамках некоторой схемы адресации, называется адресным пространством. Адресное пространство может иметь плоскую (линейную) организацию (рис. 2.12) или иерархическую организацию (рис. 2.13). При плоской организации множество адресов никак не структурировано. Примером пло- ского числового адреса является МАС-адрес, предназначенный для однозначной иденти- фикации сетевых интерфейсов в локальных сетях. Такой адрес обычно используется только аппаратурой, поэтому его стараются сделать по возможности компактным и записывают в виде двоичного или шестнадцатеричного числа, например 0081005е24а8. При задании 1 Иногда вместо точного выражения «адрес сетевого интерфейса» мы будем использовать упрощен- ное - «адрес узла сети».
60 Глава 2. Общие принципы построения сетей МАС-адресов не требуется выполнение ручной работы, так как они обычно встраиваются в аппаратуру компанией-изготовителем, поэтому их называют также аппаратными адреса- ми (hardware address). Использование плоских адресов является жестким решением — при замене аппаратуры, например сетевого адаптера, изменяется и адрес сетевого интерфейса компьютера. Рис. 2.12. Плоская организация адресного пространства Рис. 2.13. Иерархическая организация адресного пространства При иерархической организации адресное пространство структурируется в виде вложен- ных друг в друга подгрупп, которые, последовательно сужая адресуемую область, в конце концов, определяют отдельный сетевой интерфейс. В показанной на рис. 2.13 трехуровневой структуре адресного пространства адрес конечно- го узла задается тремя составляющими: идентификатором группы (А), в которую входит данный узел, идентификатором подгруппы (£) и, наконец, идентификатором узла (п), однозначно определяющим его в подгруппе. Иерархическая адресация во многих случаях оказывается более рациональной, чем плоская. В больших сетях, состоящих из многих тысяч узлов, использование плоских адресов приводит к большим издержкам — конечным узлам и коммуникационному оборудованию приходится оперировать таблицами адре- сов, состоящими из тысяч записей. В противоположность этому иерархическая система адресации позволяет при перемещении данных до определенного момента пользоваться
Проблемы связи нескольких компьютеров 61 только старшей составляющей адреса (например, идентификатором группы К), затем для дальнейшей локализации адресата задействовать следующую по старшинству часть (£) и в конечном счете — младшую часть (и). Типичными представителями иерархических числовых адресов являются сетевые IP- и IPX-адреса. В них поддерживается двухуровневая иерархия, адрес делится на старшую часть — номер сети и младшую — номер узла. Такое деление позволяет передавать сообще- ния между сетями только на основании номера сети, а номер узла требуется уже после доставки сообщения в нужную сеть; точно так же, как название улицы используется по- чтальоном только после того, как письмо доставлено в нужный город. На практике обычно применяют сразу несколько схем адресации, так что сетевой интер- фейс компьютера может одновременно иметь несколько адресов-имен. Каждый адрес задействуется в той ситуации, когда соответствующий вид адресации наиболее удобен. А для преобразования адресов из одного вида в другой используются специальные вспо- могательные протоколы, которые называют протоколами разрешения адресов. Пользователи адресуют компьютеры иерархическими символьными именами, которые автоматически заменяются в сообщениях, передаваемых по сети, иерархическими число- выми адресами. С помощью этих числовых адресов сообщения доставляются из одной сети в другую, а после доставки сообщения в сеть назначения вместо иерархического числового адреса используется плоский аппаратный адрес компьютера. Проблема установления со- ответствия между адресами различных типов может решаться как централизованными, так и распределенными средствами. При централизованном подходе в сети выделяется один или несколько компьютеров (сер- веров имен), в которых хранится таблица соответствия имен различных типов, например символьных имен и числовых адресов. Все остальные компьютеры обращаются к серверу имен с запросами, чтобы по символьному имени найти числовой номер необходимого компьютера. При распределенном подходе каждый компьютер сам хранит все назначенные ему адреса разного типа. Тогда компьютер, которому необходимо определить по известному иерархи- ческому числовому адресу некоторого компьютера его плоский аппаратный адрес, посы- лает в сеть широковещательный запрос. Все компьютеры сети сравнивают содержащийся в запросе адрес с собственным. Тот компьютер, у которого обнаружилось совпадение, посылает ответ, содержащий искомый аппаратный адрес. Такая схема использована в про- токоле разрешения адресов (Address Resolution Protocol, ARP) стека TCP/IP. Достоинство распределенного подхода состоит в том, что он позволяет отказаться от выде- ления специального компьютера в качестве сервера имен, который, к тому же, часто требует ручного задания таблицы соответствия адресов. Недостатком его является необходимость широковещательных сообщений, перегружающих сеть. Именно поэтому распределенный подход используется в небольших сетях, а централизованный — в больших. До сих пор мы говорили об адресах сетевых интерфейсов, компьютеров и коммуникаци- онных устройств, однако конечной целью данных, пересылаемых по сети, являются не сетевые интерфейсы или компьютеры, а выполняемые на этих устройствах программы — процессы. Поэтому в адресе назначения наряду с информацией, идентифицирующей интерфейс устройства, должен указываться адрес процесса, которому предназначены посылаемые по сети данные. Очевидно, что достаточно обеспечить уникальность адреса процесса в пределах компьютера. Примером адресов процессов являются номера портов TCP и UDP, используемые в стеке TCP/IP.
62 Глава 2. Общие принципы построения сетей Коммутация Итак, пусть компьютеры физически связаны между собой в соответствии с некоторой топологией и выбрана система адресации. Остается нерешенной самая важная проблема: каким способом передавать данные между конечными узлами? Особую сложность при- обретает эта задача для неполносвязной топологии сети, когда обмен данными между произвольной парой конечных узлов (пользователей) должен идти в общем случае через транзитные узлы. Соединение конечных узлов через сеть транзитных узлов называют коммутацией. Последова- тельность узлов, лежащих на пути от отправителя к получателю, образует маршрут. Например, в сети, показанной на рис. 2.14, узлы 2 и 4, непосредственно между собой не свя- занные, вынуждены передавать данные через транзитные узлы, в качестве которых могут выступить, например, узлы 1 и5. Узел 1 должен выполнить передачу данных между своими интерфейсами А и В, а узел 5 — между интерфейсами F и В. В данном случае маршрутом является последовательность: 2-1-5-4, где 2 — узел-отправитель, 1 и5 — транзитные узлы, 4 — узел-получатель. Рис. 2.14. Коммутация абонентов через сеть транзитных узлов Обобщенная задача коммутации В самом общем виде задача коммутации может быть представлена в виде следующих взаимосвязанных частных задач. 1. Определение информационных потоков, для которых требуется прокладывать марш- руты.
Обобщенная задача коммутации 63 2. Маршрутизация потоков. 3. Продвижение потоков, то есть распознавание потоков и их локальная коммутация на каждом транзитном узле. 4. Мультиплексирование и демультиплексирование потоков. Определение информационных потоков Понятно, что через один транзитный узел может проходить несколько маршрутов, на- пример, через узел 5 (см. рис. 2.14) проходят, как минимум, все данные, направляемые узлом 4 каждому из остальных узлов, а также все данные, поступающие в узлы 3,4 и 10. Транзитный узел должен уметь распознавать поступающие на него потоки данных, для того чтобы обеспечивать передачу каждого из них именно на тот свой интерфейс, который ведет к нужному узлу. Информационным потоком, или потоком данных, называют непрерывную последовательность данных, объединенных набором общих признаков, выделяющих эти данные из общего сетевого т, а' ика. Например, как поток можно определить все данные, поступающие от одного компьюте- ра; объединяющим признаком в данном случае служит адрес источника. Эти же данные можно представить как совокупность нескольких подпотоков, каждый из которых в ка- честве дифференцирующего признака имеет адрес назначения. Наконец, каждый из этих подпотоков, в свою очередь, можно разделить на более мелкие подпотоки, порожденные разными сетевыми приложениями — электронной почтой, программой копирования фай- лов, веб-сервером. Данные, образующие поток, могут быть представлены в виде различных информационных единиц данных — пакетов, кадров или ячеек. ПРИМЕЧАНИЕ----------------------------------------------------------- В англоязычной литературе для потоков данных, передающихся с равномерной и неравномерной ско- ростью, обычно используют разные термины — соответственно «data stream* и «data flow*. Например, при передаче веб-страницы через Интернет предложенная нагрузка представляет собой неравномер- ный поток данных, а при вещании музыки интернет-станцией — равномерный. Для сетей передачи данных характерна неравномерная скорость передачи, поэтому далее в большинстве ситуаций под термином «поток данных» мы будем понимать именно неравномерный поток данных и указывать на равномерный характер этого процесса только тогда, когда это нужно подчеркнуть. Очевидно, что при коммутации в качестве обязательного признака выступает адрес на- значения данных. На основании этого признака весь ноток входящих в транзитный узел данных разделяется на подпотоки, каждый из которых передается на интерфейс, соответ- ствующий маршруту продвижения данных. Адреса источника и назначения определяют поток для пары соответствующих конечных узлов. Однако часто бывает полезно представить этот поток в виде нескольких подпотоков, причем для каждого из них может быть проложен свой особый маршрут. Рассмотрим при- мер, когда на одной и той же паре конечных узлов выполняется несколько взаимодействую- щих по сети приложений, каждое из которых предъявляет к сети свои особые требования. В таком случае выбор маршрута должен осуществляться с учетом характера передаваемых
64 Глава 2. Общие принципы построения сетей данных, например, для файлового сервера важно, чтобы передаваемые им большие объемы данных направлялись по каналам, обладающим высокой пропускной способностью, а для программной системы управления, которая посылает в сеть короткие сообщения, требую- щие обязательной и немедленной отработки, при выборе маршрута более важна надеж- ность линии связи и минимальный уровень задержек на маршруте. Кроме того, даже для данных, предъявляющих к сети одинаковые требования, может прокладываться несколько маршрутов, чтобы за счет распараллеливания ускорить передачу данных. Признаки потока могут иметь глобальное или локальное значение — в первом случае они однозначно определяют поток в пределах всей сети, а во втором в пределах одного транзитного узла. Пара адресов конечных узлов для идентификации потока — это пример глобального признака. Примером признака, локально определяющего поток в пределах устройства, может служить номер (идентификатор) интерфейса данного устройства, на который поступили данные. Например, возвращаясь к рис. 2.14, узел 1 может быть настро- ен так, чтобы передавать на интерфейс В все данные, поступившие с интерфейса А, а на интерфейс С — данные, поступившие с интерфейса D. Такое правило позволяет отделить поток данных узла 2 от потока данных узла 7 и направлять их для транзитной передачи через разные узлы сети, в данном случае поток узла 2 — через узел 5, а поток узла 7 — через узел 8. Метка потока — это особый тип признака. Она представляет собой некоторое число, ко- торое несут все данные потока. Глобальная метка назначается данным потока и не меняет своего значения на всем протяжении его пути следования от узла источника до узла на- значения, таким образом, она уникально определяет поток в пределах сети. В некоторых технологиях используются локальные метки потока, динамически меняющие свое значе- ние при передаче данных от одного узла к другому. Таким образом, распознавание потоков во время коммутации происходит на основании при- знаков, в качестве которых, помимо обязательного адреса назначения данных, могут выступать и другие признаки, такие, например, как идентификаторы приложений. Маршрутизация Задача маршрутизации, в свою очередь, включает в себя две подзадачи: □ определение маршрута; □ оповещение сети о выбранном маршруте. Определить маршрут означает выбрать последовательность транзитных узлов и их интер- фейсов, через которые надо передавать данные, чтобы доставить их адресату. Определение маршрута — сложная задача, особенно когда конфигурация сети такова, что между парой взаимодействующих сетевых интерфейсов существует множество путей. Чаще всего выбор останавливают на одном оптимальном1 по некоторому критерию маршруте. В качестве кри- териев оптимальности могут выступать, например, номинальная пропускная способность и загруженность каналов связи; задержки, вносимые каналами; количество промежуточных транзитных узлов; надежность каналов и транзитных узлов. 1 На практике для снижения объема вычислений ограничиваются поиском не оптимального в мате- матическом смысле, а рационального, то есть близкого к оптимальному, маршрута.
Обобщенная задача коммутации 65 Но даже в том случае, когда между конечными узлами существует только один путь, при сложной топологии сети его нахождение может представлять собой нетривиальную задачу. Маршрут может определяться эмпирически («вручную») администратором сети на основа- нии различных часто не формализуемых соображений. Среди побудительных мотивов вы- бора пути могут быть: особые требования к сети со стороны различных типов приложений, решение передавать трафик через сеть определенного поставщика услуг, предположения о пиковых наг рузках на некоторые каналы сети, соображения безопасности. Однако эмпирический подход к определению маршрутов мало пригоден для большой сети со сложной тополог ией. В этом случае используются автоматические методы определения маршрутов. Для этого конечные узлы и другие устройства сети оснащаются специальными программными средствами, которые организуют взаимный обмен служебными сообщения- ми, позволяющий каждому узлу составить свое «представление» о сети. Затем на основе собранных данных программными методами определяются рациональные маршруты. При выборе маршрута часто ограничиваются только информацией о топологии сети. Этот подход иллюстрирует рис. 2.15. Для передачи трафика между конечными узлами А и С существует два альтернативных маршрута: А-1-2-3-С и А-1-3-С. Если мы учитываем только тополог ию, то выбор очевиден — маршрут А-1-3-С, который имеет меньше тран- зитных узлов. Решение было найдено путем минимизации критерия, в качестве которого в данном при- мере выступала длина маршрута, измеренная количеством транзитных узлов. Однако, возможно, наш выбор был не самым лучшим. На рисунке показано, что каналы 1-2 и 2-3 обладают пропускной способностью 100 Мбит/с, а канал 1-3 — только 10 Мбит/с. Если мы хотим, чтобы наша информация передавалась по сети с максимально возможной скоро- стью, то нам следовало бы выбрать маршрут А-1-2-3-С, хотя он и проходит через большее количество промежуточных узлов. То есть можно сказать, что маршрут Л-У-2-.3-С в данном случае оказывается «более коротким». Абстрактный способ измерения степени близости между двумя объектами называется метрикой. Так, для измерения длины маршрута могут быть использованы разные метри- ки — количество транзитных узлов, как в предыдущем примере, линейная протяженность маршрута и даже его стоимость в денежном выражении. Для построения метрики, учиты- вающей пропускную способность, часто используют следующий прием: длину каждого канала-участка характеризуют величиной, обратной его пропускной способности. Чтобы оперировать целыми числами, выбирают некоторую константу, заведомо большую, чем
66 Г лава 2. Общие принципы построения сетей пропускные способности каналов в сети. Например, если мы в качестве такой константы выберем 100 Мбит/с, то метрика каждого из каналов 1-2 и 2-3 равна 1, а метрика канала 1-3 составляет 10. Метрика маршрута равна сумме метрик составляющих его каналов, поэтому часть пути 1-2-3 обладает метрикой 2, а альтернативная часть пути 1-3 — метрикой 10. Мы выбираем более «короткий» путь, то есть путь А-1-2-3-С. Описанные подходы к выбору маршрутов не учитывают текущую степень загруженности каналов трафиком1. Используя аналогию с автомобильным трафиком, можно сказать, что мы выбирали маршрут по карте, учитывая количество промежуточных городов и ширину дороги (аналог пропускной способности канала), отдавая предпочтение скоростным маги- стралям. Но мы не стали слушать радио или телевизионную программу, которая сообщает о текущих заторах на дорогах. Так что наше решение оказывается отнюдь не лучшим, когда по маршруту А- 1-2-3-С уже передается большое количество потоков, а маршрут А-1-3-С практически свободен. После того как маршрут определен (вручную или автоматически), надо оповестить о нем все устройства сети. Сообщение о маршруте должно нести каждому транзитному устрой- ству примерно такую информацию: «каждый раз, когда в устройство поступят данные, от- носящиеся к потоку п, их следует передать для дальнейшего продвижения на интерфейс F». Каждое подобное сообщение о маршруте обрабатывается устройством, в результате соз- дается новая запись в таблице коммутации. В этой таблице локальному или глобальному признаку (признакам) потока (например, метке, номеру входного интерфейса или адресу назначения) ставится в соответствие номер интерфейса, на который устройство должно передавать данные, относящиеся к этому потоку. Таблица 2.1 является фрагментом таблицы коммутации, содержащий запись, сделанную на основании сообщения о необходимости передачи потока п на интерфейс F. Таблица 2.1. Фрагмент таблицы коммутации Признаки потока Направление передачи данных (номер интерфейса и/или адрес следующего узла) п F Конечно, детальное описание структуры сообщения о маршруте и содержимого таблицы коммутации зависит от конкретной технологии, однако эти особенности не меняют сущ- ности рассматриваемых процессов. Передача информации транзитным устройствам о выбранных маршрутах, так же как и определение маршрута, может осуществляться вручную или автоматически. Админи- стратор сети может зафиксировать маршрут, выполнив в ручном режиме конфигуриро- вание устройства, например, жестко скоммутировав на длительное время определенные пары входных и выходных интерфейсов (как работали «телефонные барышни» на первых 1 Такие методы, в которых используется информация о текущей загруженности каналов связи, позво- ляют определять более рациональные маршруты, однако требуют интенсивного обмена служебной информацией между узлами сети.
Обобщенная задача коммутации 67 коммутаторах). Он может также по собственной инициативе внести запись о маршруте в таблицу коммутации. Однако поскольку топология и состав информационных потоков могут меняться (отказы узлов или появление новых промежуточных узлов, изменение адресов или определение новых потоков), гибкое решение задач определения и задания маршрутов предполагает постоянный анализ состояния сети и обновление маршрутов и таблиц коммутации. В таких случаях задачи прокладки маршрутов, как правило, не могут быть решены без достаточно сложных программных и аппаратных средств. Продвижение данных Итак, пусть маршруты определены, записи о них сделаны в таблицах всех транзитных узлов, все готово к выполнению основной операции — передаче данных между абонентами (коммутации абонентов). Для каждой пары абонентов эта операция может быть представлена несколькими (по числу транзитных узлов) локальными операциями коммутации. Прежде всего, отправитель должен выставить данные на тот свой интерфейс, с которого начинается найденный марш- рут, а все транзитные узлы должны соответствующим образом выполнить «переброску» данных с одного своего интерфейса на другой, другими словами, выполнить коммутацию интерфейсов. Устройство, функциональным назначением которого является коммутация, называется коммутатором. На рис. 2.16 показан коммутатор, который переключает инфор- мационные потоки между четырьмя своими интерфейсами. Однако прежде чем выполнить коммутацию, коммутатор должен распознать поток. Для этого поступившие данные анализируются на предмет наличия в них признаков какого- либо из потоков, заданных в таблице коммутации. Если произошло совпадение, то эти данные направляются на интерфейс, определенный для них в маршруте.
68 Глава 2. Общие принципы построения сетей О ТЕРМИНАХ -------------------------------------------------------------- Термины «коммутация», «таблица коммутации» и «коммутатор» в телекоммуникационных сетях могут трактоваться неоднозначно. Мы уже определили коммутацию как процесс соединения або- нентов сети через транзитные узлы. Этим же термином мы обозначаем и соединение интерфейсов в пределах отдельного транзитного узла. Коммутатором в широком смысле называется устройство любого тина, способное выполнять операции переключения потока данных с одного интерфейса на другой. Операция коммутации может выполняться в соответствии с различными правилами и алго- ритмами. Некоторые способы коммутации и соответствующие им таблицы и устройства получили специальные названия. Например, в технологиях сетевого уровня, таких как IP и IPX, для обозна- чения аналогичных понятий используются термины «маршрутизация» «таблица маршрутизации», «маршрутизатор». В то же время за другими специальными типами коммутации и соответствующими устройствами закрепились те же самые названия «коммутация», «таблица коммутации» и «комму- татор», применяемые в узком смысле, например, как коммутация и коммутатор локальной сети. Для телефонных сетей, которые появились намного раньше компьютерных, также характерна аналогичная терминология, коммутатор является здесь синонимом телефонной станции. Из-за солидного возраста и гораздо большей (пока) распространенности телефонных сетей чаще всего в телекоммуникациях под термином «коммутатор» понимают именно телефонный коммутатор. Коммутатором может быть как специализированное устройство, так и универсальный компьютер со встроенным программным механизмом коммутации, в этом случае ком- мутатор называется программным. Компьютер может совмещать функции коммутации данных с выполнением своих обычных функций как конечного узла. Однако во многих случаях более рациональным является решение, в соответствии с которым некоторые узлы в сети выделяются специально для коммутации. Эти узлы образуют коммутацион- ную сеть, к которой подключаются все остальные. На рис. 2.17 показана коммутацион- ная сеть, образованная из узлов 1,5, 6 и 8, к которой подключаются конечные узлы 2,3, 4,7,9 и 10, 11. Рис. 2.17. Коммутационная сеть
Обобщенная задача коммутации 69 Мультиплексирование и демультиплексирование Чтобы определить, на какой интерфейс следует передать поступившие данные, коммутатор должен выяснить, к какому потоку они относятся. Эта задача должна решаться независимо от того, поступает на вход коммутатора только один «чистый» поток или «смешанный» поток, являющийся результатом агрегирования нескольких потоков. В последнем случае к задаче распознавания потоков добавляется задача демультиплексирования. Демультиплексирование — разделение суммарного агрегированного потока на несколько । 1иВ.'тнЮЩИ> ^j*o потоков. Как правило, операцию коммутации сопровождает также обратная операция мультиплек- сирования. Мультиплексирование — образование из нескольких 0‘ дельных потоков общего агрегирован- ного потока, который пере ается по о ному физическому каналу связи. Другими словами, мультиплексирование — это способ разделения одного имеющегося физического канала между несколькими одновременно протекающими сеансами связи между абонентами сеги. Операции мультиплексирования/демультиплексирования имеют такое же важное значение в любой сети, как и операции коммутации, потому ч го без них пришлось бы для каждого потока предусматривать отдельный канал, что приве то бы к большому количеству парал- лельных связей в сети и свело бы «на нет» все преимущества неполносвязной сети. На рис. 2.18 показан фрагмент сети, состоящий из трех коммутаторов. Коммутатор 1 имеет четыре сетевых интерфейса. На интерфейс 1 поступают данные с двух интерфейсов — 3 и 4 Их надо передать в общий физический канал, то есть выполнить операцию мультиплек- сирования. Мультиплексирование Рис. 2.18. Операции мультиплексирования и демультиплексирования потоков при коммутации
70 Глава 2. Общие принципы построения сетей Одним из основных способов мультиплексирования потоков является разделение време- ни. При этом способе каждый поток время от времени (с фиксированным или случайным периодом) получает физический канал в полное свое распоряжение и передает по нему свои данные. Распространено также частотное разделение канала, когда каждый поток передает данные в выделенном ему частотноn диапазоне. Технология мультиплексирования должна позволять получателю такого суммарного по- тока выполнять обратную операцию — разде тение (демультиплексирование) данных на слагаемые потоки. На интерфейсе 3 коммутатор выполняет демультиплексирование потока на три составляющих его подпотока. Один из тих он передает на интерфейс 1, другой — на интерфейс 2, третий — на интерфейс 4. Вообще говоря, на каждом интерфейсе могут одновременно выполняться обе функции — мультиплексирование и демультиплексирование. Частный случай коммутатора, у которого все вхо/ ящие информационные потоки коммутируются на один выходной интерфейс, где они мультиплексируются в один агрегированный поток, на- зывается мультиплексором. Коммутатор, который имеет один входной интерфейс и несколько выходных, называется демультиплексором (рис. 2.19). Рис. 2.19. Мультиплексор и демультиплексор Разделяемая среда передачи данных Во всех рассмотренных ранее примерах мультиплексирования потоков к каждой линии связи подключались только два интерфейса. В том случае, когда линия связи является дуплексным каналом связи, как это показано на рис. 2.20, каждый из интерфейсов моно- польно использует канал связи в направлении «от себя». Это объясняется тем, что ду- плексный канал состоит из двух независимых сред передачи данных (подканалов), и так как только передатчик интерфейса является активным устройством, а приемник пассивно ожидает поступления сигналов от приемника, то конкуренции подканалов не возникает. Такой режим использования среды передачи данных является в настоящее время основным в компьютерных локальных и глобальных сетях. Однако если.в глобальных сетях такой режг м использовался всегда, то в локальных се- тях до середины 90-х годов преобладал другой режим, основанный на разделяемой среде передачи данных. В наиболее простом случае эффект разделе ния среды возникает при соединении двух интерфейсов с помощью полудуплексного канала связи, то есть такого канала, который может передавать данных в любом направчении, но татько попеременно (рис. 2.21). В этом
Обобщенная задача коммутации 71 случае к одной и той же среде передачи данных (налример, к коаксиальному кабелю или общей радиосреде) подключены два приемника двух независимых узлов сети. Разделяемой средой (shared medium) называется фи. ическая среда передачи данных, к кото- рой непосредственно подключено несколько передатчи <оа узлов сети. Причем в каждый момент времени только один из передатчиков какого-либо уз ia сети получает доступ к разделяемой среде и использует ее для передачи данных приемнику другого узла, подключенному к этой же среде. Рис. 2.20. Дуплексный канал — разделяемая среда отсутствует Коммутатор S1 Коммутатор S2 Рис. 2.21. Полудуплексный канал — разделяемая среда При таком применении среды передачи данных возникает новая задача совместного ис- пользования среды независимыми передатчиками тс ким образом, чтобы в каждый отдель- ный момент времени по среде передавались данные только одного передатчика. Другими словами, возникает необходимость в механизме < инхронизации доступа интерфейсов к разделяемой среде. Обобщением разделяемой среды является случай, г оказанный на рис. 2.22, когда к каналу связи подключаются более двух интерфейсов (в приведенным примере — три), при этом применяется топология общей шины. Существуют различные способы решения задачи организации совместного доступа к раз- деляемым линиям связи. Одни из них подразумег ают централизованный подход, когда доступом к каналу управляет специальное устройство — арбитр, другие — децентрали- зованный. Если мы обратимся к организации рабо 'ы компьютера, то увидим, что доступ к системной шине компьютера, которую совместно используют внутренние блоки ком- пьютера, управляется централизованно — либо процессором, либо специальным арбитром шины.
72 Глава 2. Общие принципы построения сетей Коммутатор S1 Коммутатор S2 Рис. 2.22. Канал с множественными подключениями — разделяемая среда В сетях организация совместного доступа к .ш иям связи имеет свою специфику из-за существенно большего времени распространения сигналов по линиям связи. Здесь проце- дуры согласования доступа к линии связи могут занимать слишком большой промежуток времени и приводить к значительным потерям производительности сети. Именно по этой причине механизм разделения среды в глобальных сетях практически не используется. На первый взгляд может показаться, что механизм разделения среды очень похож на меха- низм мультиплексирования потоков — в том и другом случаях по линии связи передаются несколько потоков данных. Однако здесь есть принципиальное различие, касающееся того, как контролируется (управляется) линия связи. При мультиплексировании дуплексная линия связи в каждом направлении находится под полным контролем одного коммутатора, который решает, какие потоки разделяют общий канал связи. Для локальных сетей разделяемая среда сравнительно долго была основным механизмом использования каналов связи, который применялся во всех технологиях локальных се- тей — Ethernet, ArcNet, Token Ring, FDDI. При э'ом в технологиях локальных сетей при- менялись децентрализованные методы доступа к среде, не требующие наличия арбитра в сети. Популярность техники разделения среды в текальных сетях объяснялась простотой и экономичностью аппаратных решений. Наприл р, для создания сети Ethernet на коакси- альном кабеле никакого другого сетевого оборудс вания кроме сетевых адаптеров компью- теров и самого кабеля не требуется. Наращивание количества компьютеров в локальной сети Ethernet на коаксиальном кабеле выполняется также достаточно просто — путем присоединения нового отрезка кабеля к существующему. Сегодня в проводных локальных сетях метод разделения среды практически перестал применяться. Основной причиной отказа от разделяемой среды явилась ее низкая и плохо предсказуемая производительность, а также плохая масштабируемость*. Низкая про- 1 Масштабируемостью называют свойство сети допуска'! ь наращивание количества узлов и протяжен- ность линий связи в очень широких пределах без сни Кения производительности.
Обобщенная задача коммутации 73 изводителыюсть объясняется тем, что пропускная способность канала связи делится между всеми компьютерами сети. Например, если локальная сеть Ethernet состоит из 100 компьютеров, а для их связи используются коаксиальный кабель и сетевые адаптеры, работающие на скорости 10 Мбит/с, то в среднем на каждый компьютер приходится только 0,1 Мбит/с пропускной способности. Более точно оценить долю пропускной способности, приходящуюся на какой-либо компьютер сети, трудно, так как эта величина зависит от многих случайных факторов, например активности дэугих компьютеров. Наверно, к этому моменту читателю уже понятна причина плохой масштабируемости подобной сети — чем больше мы добавляем компьютеров, тем меньшая доля пропускной способности достается каждому компьютеру сети. Описанные недостатки являются следствием самого принципа разделения среды, поэтому преодолеть их полностью невозможно. Появление в начале 90-х недорогих коммутаторов локальных сетей привело к настоящей революции в этой области, и постепенно коммута- торы вытеснили разделяемую среду полностью. Сегодня механизм разделения среды используется только в беспроводных локальных сетях, где среда — радиоэфир — естественным образом соединяет все конечные узлы, на- ходящиеся в зоне распространения сигнала. Типы коммутации Комплекс технических решений обобщенной задач и коммутации в своей совокупной и составляет основу любой сетевой технологии. Как уже отмечалось, к этим частным за- дачам относятся: □ определение потоков и соответствующих маршрутов; □ фиксация маршрутов в конфигурационных параметрах и таблицах сетевых ус- тройств; □ распознавание потоков и передача данных между интерфейсами одного устройства: □ мультиплексирование/демультиплексирование потоков; □ разделение среды передачи. Среди множества возможных подходов к решению задали коммутации абонентов в сетях выделя- ют два основополагающих, к которым относят коммутацию каналов и коммутацию пакетов. Каждый из этих двух подходов имеет свои достоинства и недостатки. Существуют тра- диционные области применения каждой из техниь коммутации, например, телефонные сети строились и продолжают строиться с использованием техники коммутации каналов, а компьютерные сети в подавляющем большинстве основаны на технике коммутации пакетов. Техника коммутации пакетов гораздо моложе своей конкурентки и пытается вытеснить ее из некоторых областей, например из телефонии (в форме интернет- или IP-телефонии), но этот спор пока не решен, и, скорее всего, две техники коммутации будут сосуществовать еще долгое время, дополняя друг груга. Тем не менее по долгосрочным прогнозам многих специалистов будущее принадлежит технике коммутации пакетов, как более гибкой и универсальной.
74 Глава 2. Общие принципы построения сетей ПРИМЕР-АНАЛОГИЯ-------------------------------------------------------------- Поясним достаточно абстрактное описание обобщенной модели коммутации на примере работы традиционной почтовой службы. Почта также работает с информационными потоками, которые в данном случае составляют почтовые отправления. Основным признаком почтового потока является адрес получателя. Для упрощения будем рассматривать в качестве адреса только страну, например Индия, Норвегия, Россия, Бразилия и т. д. Дополнительным признаком потока может служить особое требование к надежности или скорости доставки. Например, пометка «Avia» на почтовых отправлениях в Бразилию выделит из общего потока почты в Бразилию подпоток, который будет доставляться самолетом. Для каждого потока почтовая служба должна определить маршрут, который будет проходить через последовательность почтовых отделений, являющи? ся аналогами коммутаторов. В результате много- летней работы почтовой службы уже определены маршруты для большинства адресов назначения. Иногда возникают новые маршруты, связанные с пс явлением новых возможностей — политических транспортных, экономических. После выбора нового маршрута нужно оповестить о нем сеть по- чтовых отделений. Как видно, эти действия очень н шоминают работу телекоммуникационной сети. Информация о выбранных маршрутах следования почты представлена в каждом почтовом отделении в виде таблицы, в которой задано соответствие мейлу страной назначения и следующим почтовым отделением. Например, в почтовом отделении горога Саратова все письма, адресованные в Индию, направляются в почтовое отделение Ашхабада, а письма, адресованные в Норвегию, — в почтовое от- деление Санкт-Петербурга. Такая таблица направлений доставки почты является прямой аналогией таблицы коммутации коммуникационной сети. Каждое почтовое отделение работает подобно комм;/татору. Все поступающие от абонентов и других почтовых отделений почтовые отправления сортируются, то есть происходит распознавание потоков. После этого почтовые отправления, принадлежащие одному «потоку», упаковываются в мешок, для которого в соответствии с таблицей направлений определяется следующее по маршруту почтовое отделение. Выводы Для того чтобы пользователь сети получил возможность доступа к ресурсам «чужих» компьютеров, таких как диски, принтеры, плоттеры, необходимо дополнить все компьютеры сети специальными средствами. В каждом компьютере функции переде чи данных в линию связи выполняют совместно аппаратный модуль, называемый сетевым адаптером или сетевой интерфейсной картой, и управляю- щая программа — драйвер. Задачи более высокого уровня — формирование запросов к ресурсам и их выполнение — решают соответстаенно клиентские и серверные модули ОС. Даже в простейшей сети, состоящей из двух компьютеров, возникают проблемы физической пере- дачи сигналов по линиям связи: кодирование и модуляция, синхронизация передающего и прини- мающего устройств, контроль корректности переданных данных. Важными характеристиками, связанными с передачей трафика через физические каналы, являются: предложенная нагрузка, скорость передачи данных, пропускная способность, емкость канала связи, полоса пропускания. При связывании в сеть более двух компьютеров возникают проблемы выбора топологии (полно- связной, звезды, кольца, общей шины, иерархического дерева, произвольной); способа адресации (плоского или иерархического, числового или символьного); способа разделения линий связи и механизма коммутации. В неполносвязных сетях соединение пользователей осуществляется путем коммутации через сеть транзитных узлов. При этом должны быть решены следующие задачи: определение потоков данных и маршрутов для них, продвижение данных в каждом транзитном узле, мультиплексирование и де- мультиплексирование потоков. Среди множества возможных подходов к решению задачи коммутации выделяют два основопола- гающих — коммутацию каналов и пакетов.
Вопросы и задания 75 Вопросы и задания 1. С какими ресурсами компьютера могут совместно работать несколько пользователей сети? Приведите примеры, когда у пользователей возникает необходимость разделять процессор? 2. Какие из перечисленных понятий могут быть определены как «набор информационных сообщений определенного формата, которыми обмениваются два устройства или две программы, а также алгоритм обмена этими сообщениями»: а) порт; б) протокол: в) логический интерфейс; г) физический интерфейс. 3. Опишите роль буферизации данных в процедуре доступа приложения, выполняемого на одном компьютере сети, к периферийному устройству другого компьютера Сколько раз данные буферизуются при этом? Какой размер должен иметь буфер в каждом из таких случаев? 4. Что из перечисленного можно считать одним из возможных определений понятия «веб-сервер»: а) распределенная протрамма; б) часть веб-службы; в) клиентская часть распределенного сетевого пэиложения; г) браузер; д) локальное приложение; е) клиентская часть централизованного сетевого приложения; ж) серверная часть распределенного сетевого приложения; з) компьютер. 5. Приведите примеры сетевых служб. Какие из них ориентированы на администратора сети? Какие из них обычно входят в состав сетевой ОС? 6. Какие из перечисленных терминов в некотором контексте могут использоваться как синонимы: а) емкость канала связи; б) скорость передачи данных; в) полоса пропускания канала связи; г) пропускная способность канала связи. 7. Какие соображения следует учитывать при выборе топологии сети? Приведите до- стоинства и недостатки каждой из типовых топологий. 8. К какому типу относится каждый из восьми вариантов топологии на рис. 2.9. Для определенности рассматривайте приведенные варианты топологии построчно сверху вниз, слева направо. 9. Каким типом адреса снабжают посылаемые дав ные, когда хотят, чтобы они были до- ставлены всем узлам сети: a) multicast; б) anycast; в) broadcast; г) unicast. 10. В соответствии с классификацией адресов, используемых в компьютерных сетях, существуют символьные, числовые адреса, плос кие, иерархические, индивидуальные, групповые и широковещательные адреса, а также адреса групповой рассылки. Как
76 глава 2. Общие принципы построения сетей бы вы классифицировали в приведенных терминах обычный почтовый адрес? Какой тип сетевого протокола соответствует процедуре определения адреса по почтовому индексу? 11. В чем состоит и как решается задача маршрут изации? 12. Работа почтового отделения во многом аналогична работе коммутатора компьютерной сети. Какие процедуры обработки почтовых отправлений соответствуют мультиплек- сированию? Демультиплексированию? Как создается и какую информацию содержит «таблица маршрутизации» почтового отделения? Какой атрибут информационного потока может служить аналогом пометки «АВИА» на почтовом конверте? 13. Опишите два основных подхода к организации совместного использования передаю- щей среды несколькими передатчиками. 14. Приведите аргументы за и против использования разделяемой среды в LAN и WAN.
ГЛАВА 3 Коммутация каналов и пакетов В этой главе продолжается исследование общих принципов коммутации в телекоммуникационных сетях. Мы детально изучим и сравним два основных типа коммутации — коммутацию каналов и ком- мутацию пакетов. Исторически коммутация каналов появилвсь намного раньше коммутации пакетов и ведет свое происхождение от первых телефонных сетей. Невозможность динамического перераспределения пропускной способности физического канала является принципиальным ограничением сети с коммутацией каналов. Принцип коммутации пакетов был изобретен разработчиками компьютерных сетей. При коммутации пакетов учитываются особенности компьютерного трас} икв, поэтому данный способ коммутации является более эффективным для компьютерных сетей по сравнению с традиционным методом коммутации квналов, применяющимся в телефонных сетях. Однако достоинства и недостатки любой сетевой твхног огии — относительны. Наличие буферной памяти в коммутаторах пакетных сетей позволяет эффективно использовать пропускную способность каналов при передаче пульсирующего трафика, но приводит к случайным задержкам в доставке пакетов, что является недостатком для трафика реального времени, который традиционно передается с помощью техники коммутации каналов. В этой глввв рассматриваются три метода продвижения пакетов, используемые в сетях с коммутацией пакетов: дейтаграммная передача, передача с установлением логического соединения и техника виртуальных каналов. В заключение главы рассматривается пример сети, построенной на стандартной технологии коммутации пакетов Ethernet.
78 Глава 3. Коммутация каналов и пакетов Коммутация каналов Сети, построенные на принципе коммутации каналов, имеют богатую историю, они и се- годня нашли широкое применение в мире телекоммуникаций, являясь основой создания высокоскоростных магистральных каналов связи. Первые сеансы связи между компью- терами были осуществлены через телефонную сегь, то есть также с применением техники коммутации каналов, а пользователи, которые получают доступ в Интернет по модему, продолжают обслуживаться этими сетями, так как их данные доходят до оборудования провайдера по местной телефонной сети. В сетях с коммутацией каналов решаются все те частные задачи коммутации, которые были сформулированы ранее. Так, в качестве информационных потоков в сетях с коммутацией каналов выступают данные, которыми обмениваются пары абонентов1. Соответственно глобальным признаком потока является пара адресов (телефонных номеров) абонентов, связывающихся между собой. Для всех возможных потоков заранее определяются марш- руты. Маршруты в сетях с коммутацией каналов задаются либо «вручную» администра- тором сети, либо находятся автоматически с привлечением специальных программных и аппаратных средств. Маршруты фиксируются в таблицах, в которых признакам потока ставятся в соответствие идентификаторы выходных интерфейсов коммутаторов. На осно- вании этих таблиц происходит продвижение и мультиплексирование данных. Однако, как уже было сказано, в сетях с коммутацией кан;июв решение всех этих задач имеет свои особенности. Элементарный канал Одной из особенностей сетей с коммутацией каналов является понятие элементарного канала. Элементарный канал (или просто канал) — это базовая техническая характеристика сети с ком- мутацией каналов, представляющая собой некоторо • фиксированное в пределах данного типа сетей значение пропускной способности. Любая лини т связи в сети с коммутацией каналов имеет пропускную способность, кратную элементарному каналу, принятому, ля, энного типа сети В предыдущих разделах мы использовали термин «канал» как синоним термина «линия связи». Говоря же о сетях с коммутацией каналов, мы придаем термину «канал» значение единицы пропускной способности. Значение элементарного канала, или, другими словами, минимальная единица пропускной способности линии связи, выбирается с учетом разных факторов. Очевидно, однако, что элементарный канал не стоит выбирать меньше минимально необходимой пропускной способности для передачи ожидаемой предложенной нагрузки. Например, в традиционных телефонных сетях наиболее распространенным значением элементарного канала сегодня является скорость 64 Кбит/с — это минимально достаточная скорость для качественной цифровой передачи голоса. * Термин «абонент» принят в телефонии для обозначения конечного узла. Так как все мы — много- летние пользователи телефонной сети, то далее мы будем сопровождать наше объяснение принципа работы сетей с коммутацией каналов примерами из области телефонии.
Коммутация каналов 79 ОЦИФРОВЫВАНИЕ ГОЛОСА---------------------------------------------------- Задача оцифровывания голоса является частным случаем б олее общей проблемы — передачи анало- говой информации в дискретной форме. Она была решена в 60-е годы, когда голос начал передаваться по телефонным сетям в виде последовательности единиц и нулей. Такое преобразование основано на дискретизации непрерывных процессов как по амплитуде, так и по времени (рис. 3.1). Рис. 3.1. Дискретная модуляция непэерывного процесса Амплитуда исходной непрерывной функции измеряется < заданным периодом — за счет этого про- исходит дискретизация по времени. Затем каждый замер представляется в виде двоичного числа определенной разрядности, что означает дискретизацию по значениям — непрерывное множество возможных значений амплитуды заменяется дискретным множеством ее значений. Для качественной передачи голоса используется частота квантования амплитуды звуковых колебаний в 8000 Гц (дискретизация по времени с интервалом 125 мкс). Для представления амплитуды одного замера чаще всего используется 8 бит кода, что дает 256 градаций звукового сигнала (дискретиза- ция по значениям). В этом случае для передачи одного голосового канала необходима пропускная способность 64 Кбит/с: 8000 х 8 = 64 000 бит/с или 64 Кбит/с. Такой голосовой канал называют элементарным каналом цифровых телефонных сетей. Линии связи в сетях с коммутацией пакетов (как, впрочем, и в остальных типах компьютер- ных сетей) имеют разную пропускную способность, одни — большую, другие — меньшую. Выбирая линии связи с разными скоростными качес твами, специалисты, проектирующие сеть, стараются учесть разную интенсивность информационных потоков, которые могут возникнуть в разных фрагментах сети — чем ближе к центру сети, тем выше пропускная способность линии связи, так как магистральные линии агрегируют трафик большого количества периферийных линий связи. Особенностью сетей с коммутацией каналов является по, что пропускная способность каждой линии саязи должна быть равна целому числу элемента эных каналов.
80 Глава 3. Коммутация каналов и пакетов Так, линии связи, подключающие абонентов к телефонной сети, могут содержать 2,24 или 30 элементарных каналов, а линии, соединяющие коммутаторы, — 480 или 1920 каналов. Обратимся к фрагменту сети, изображенному на рис. 3.2. Предположим, что эта сеть характеризуется элементарным каналом Р би r/с. В сети существуют линии связи разной пропускной способности, состоящие из 2,3,4 и 5 элементарных каналов. На рисунке по- казаны два абонента, А и В, генерирующие во зремя сеанса связи (телефонного разговора) информационный поток, для которого в сети был предусмотрен маршрут, проходящий через четыре коммутатора 51,52, S3 и 54. Предположим также, что интенсивность инфор- мационного потока между абонентами не превосходит 2Рбит/с. Тогда для обмена данны- ми этим двум абонентам достаточно иметь в своем распоряжении по паре элементарных каналов, «выделенных» из каждой линии связи, лежащей на маршруте следования данных от пунктаЛ к пункту В. На рисунке эти элементарные каналы, необходимые абонентам А и В, обозначены толстыми линиями. Рис. 3.2. Составной канал в сети с коммутацией каналов Составной канал Саязь, построенную путем коммутации (соедини ия) элементарных каналов называют состав- ным каналом. В рассматриваемом примере для соединения абонентов А и В был создан составной канал «толщиной» в два элементарных канала. Если изменить наше предположение и считать
Коммутация каналов 81 что предложенная нагрузка гарантированно не превысит Р бит/с, то абонентам будет до- статочно иметь в своем распоряжении составной канал, «толщиной» в один элементарный канал В то же время абоненты, интенсивно обменивающиеся данными, могут предъявить и более высокие требования к пропускной способности составного канала. Для этого они должны в каждой линии связи зарезервировать за собой большее (но непременно одина- ковое для всех линий связи) количество элементарных каналов. Подчеркнем следующие свойства составного канала □ составной канал на всем своем протяжении состоит из одинакового количества элемен- тарных каналов; □ составной канал имеет постоянную и фиксированную пропускную способность на всем своем протяжении; □ составной канал создается временно на период сеанса связи двух абонентов; □ на время сеанса связи все элементарные каналы, входящие в составной канал, поступа- ют в исключительное пользование абонентов, для которых был создан этот составной канал; □ в течение всего сеанса связи абоненты могут посылать в сеть данные со скоростью, не превышающей пропускную способность составного канала; □ данные, поступившие в составной канал, гарантированно доставляются вызываемому абоненту без задержек, потерь и с той же скоростью (скоростью источника) вне зави- симости от того, существуют ли в это время в сети другие соединения или нет; □ после окончания сеанса связи элементарные каналы, входившие в соответствующий составной канал, объявляются свободными и гозвращаются в пул распределяемых ресурсов для использования другими абонентами. В сети может одновременно происходить несколько сеансов связи (обычная ситуация для телефонной сети, в которой одновременно передаются разговоры сотен и тысяч абонентов). Разделение сети между сеансами связи происходит на уровне элементарных каналов. Например (см. рис. 3.2), мы можем предположить, что после того как в линии связи 52-53 было выделено два канала для связи абонентов А и В, оставшиеся три эле- ментарных канала были распределены между тремя другими сеансами связи, проходив- шими в это же время и через эту же линию связи. Такое мультиплексирование позволяет одновременно передавать через каждый физический канал трафик нескольких логиче- ских соединений. Мультиплексирование означает, что абоненты вынуждены конкурировать за ресурсы, в данном случае за элементарные каналы. Возможны ситуации, когда некоторая проме- жуточная линия связи уже исчерпала свободные элементарные каналы, тогда новый сеанс связи, маршрут которого пролегает через данную линию связи, не может состояться. Для того чтобы распознать такие ситуации, обмен данными в сети с коммутацией каналов предваряется процедурой установления соединения. В соответствии с этой процедурой абонент, являющийся инициатором сеанса связи (например, абонент А в нашей сети), посылает в коммутационную сеть запрос, представляющий собой сообщение, в котором содержится адрес вызываемого абонента, например абонента В1. 1 В телефонной сети посылке запроса соответствует наб< р телефонного номера.
82 Глава 3. Коммутация каналов и пакетов Цель запроса — проверить, можно ли образовать составной канал между вызывающим и вызываемым абонентами. А для этого требуется соблюдение двух условий: наличие требуемого числа свободных элементарных каналов в каждой линии связи, лежащей на пути от А к В, и незанятость вызываемого абонента в другом соединении. Запрос перемещается по маршруту, определенному для информационного потока данной пары абонентов. При этом используются глобальные таблицы коммутации, ставящие в со- ответствие глобальному признаку потока (адресу вызываемого абонента) идентификатор выходного интерфейса коммутатора (как уже упоминалось, такие таблицы часто называют также таблицами маршрутизации). Если в результате прохождения запроса от абонента А к абоненту В выяснилось, что ничто не препятствует установлению соединения, происходит фиксация составного канала. Для этого во всех коммутаторах вдоль пути от А до В создаются записи в локальных таб ицах коммутации, в которых указывается соответствие между локальными признаками пото- ка — номерами элементарных каналов, зарезервированных для этого сеанса связи. Только после этого составной канал считается установле нным, и абоненты А и В могут начать свой сеанс связи. Таким образом, продвижение данных в сетях с коммутацией каналов происходит в два этапа: 1. В сеть поступает служебное сообщение — запрос, который несет адрес вызываемого абонента и организует создание составного канала. 2. По подготовленному составному каналу передается основной поток данных, для пере- дачи которого уже не требуется никакой вспомогательной информации, в том числе адреса вызываемого абонента. Коммутация данных в коммутаторах выполняется на основе локальных признаков — номеров элементарных каналов. Запросы на установление соединения не всегда завершаются успешно. Если на пути между вызывающим и вызываемым абонентами отсутствуют свободные элементарные каналы или вызываемый узел занят, то происходит отказ в установлении соединения. Например, если во время сеанса связи абонентов А и В абонент С пошлет запрос в сеть на установ- ление соединения с абонентом D, то он получит отказ, потому что оба необходимых ему элементарных канала, составляющих линию связи коммутаторов 53 и 54, уже выделены соединению абонентов А и В (рис. 3.3). При отказе в установлении соединения сеть инфор- мирует вызывающего абонента специальным сообщением1. Чем больше нагрузка на сеть, то есть чем больше соединений она в данный момент поддерживает, тем больше вероятность отказа в удовлетворении запроса на установление нового соединения. Мы описали процедуру установления соединения в автоматическом динамическом режиме, основанном на способности абонентов отправлять в сеть служебные сообще- ния — запросы на установление соединения и способности узлов сети обрабатывать такие сообщения. Подобный режим используется телефонными сетями: телефонный аппарат генерирует запрос, посылая в сеть импульсы (или тоновые сигналы), кодирующие номер вызываемого абонента, а сеть либо устанавливает соединение, либо сообщает об отказе сигналами «занято». 1 Телефонная сеть в этом случае передает короткие гудки - сигнал «занято». Некоторые телефонные сети различают события «сеть занята» и «абонент заня г», передавая гудки с разной частотой или используя разные тона.
Коммутация каналов 83 Абонент А Рис. 3.3. Отказ в установлении соединения в сети с коммутацией каналов Однако это — не единственно возможный режим работы сети с коммутацией каналов, существует и другой статический ручной режим j становления соединения. Этот ре- жим характерен для случаев, когда необходимо установить составной канал не на время одного сеанса связи абонентов, а на более долгий срок. Создание такого долговременного канала не могут инициировать абоненты, он создается администратором сети. Очевидно, что статический ручной режим мало пригоден для традиционной телефонной сети с ее короткими сеансами связи, однако он вполне оправдан для создания высокоскоростных телекоммуникационных каналов между городами и < транами на более-менее постоянной основе. Технология коммутации каналов ориентирована на минимизацию случайных со- бытий в сети, то есть это технология, стремящаяся к детерминизму. Во избежание всяких возможных неопределенностей значительная часть работы по организации информационного обмена выполняется заранее, еще до того, как начнется собственно передача данных. Сначала по заданному адресу проверяется доступность необходимых элементарных каналов на всем пути от отправителя до адресата. Затем эти каналы за- крепляются на все время сеанса для исключительного использования двумя абонентами и коммутируются в один непрерывный «трубопровод» (составной канал), имеющий «шлюзовые задвижки» на стороне каждого из абонентов. После этой исчерпывающей подготовительной работы остается сделать самое малое: «открыть шлюзы» и позволить информационному потоку свободно и без помех «перетекать» между заданными точка- ми сети (рис. 3.4).
84 Глава 3. Коммутация каналов и пакетов Рис. 3.4. Сеть с коммутацией каналов как система трубопроводов Неэффективность при передаче пульсирующего трафика Сети с коммутацией каналов наиболее эффективно передают пользовательский трафик в том случае, когда скорость его постоянна в течение всего сеанса связи и максимально соответствует фиксированной пропускной способности физических линий связи сети. Эффективность работы сети снижается, когда информационные потоки, генерируемые абонентами, приобретают пульсирующий характер. Так, разговаривая по телефону, люди постоянно меняют темп речи, перемежая быстрые высказывания паузами. В результате соответствующие «голосовые» информационные по- токи становятся неравномерными, а значит, снижается эффективность передачи данных. Правда, в случае телефонных разговоров это снижение оказывается вполне приемлемым и позволяет широко использовать сети с коммутацией каналов для передачи голосового трафика. Гораздо сильнее снижает эффективность сети с коммутацией каналов передача так назы- ваемого компьютерного трафика, то есть трафика, генерируемого приложениями, с кото- рыми работает пользователь компьютера. Этот трафик практически всегда является пуль- сирующим. Например, когда вы загружаете из Интернета очередную страницу, скорость трафика резко возрастает, а после окончания загрузки падает практически до нуля. Если для описанного сеанса доступа в Интернет вы задействуете сеть с коммутацией каналов, то большую часть времени составной канал между вашим компьютером и веб-сервером будет простаивать. В то же время часть производительности сети окажется закрепленной за вами и останется недоступной другим пользователям сети. Сеть в такие периоды похожа на пустой эскалатор метро, который движется, но полезную работу не выполняет, другими словами, «перевозит воздух». Для эффективной передачи неравномерного компьютерного трафика была специально разработана техника коммутации пакетов.
Коммутация пакетов 85 Коммутация пакетов Сети с коммутацией пакетов, так же как и сети с коммутацией каналов, состоят из комму- таторов, связанных физическими линиями связи. Однако передача данных в этих сетях происходит совершенно по-другому. Образно говоря, по сравнению с сетью с коммута- цией каналов сеть с коммутацией пакетов ведет себя менее «ответственно». Например, она может принять данные для передачи, не заботясь о резервировании линий связи на пути следования этих данных и не гарантируя требуемую пропускную способность. Сеть с коммутацией пакетов не создает заранее для своих абонентов отдельных, выделенных исключительно для них каналов связи. Данные могут задерживаться и даже теряться по пути следования. Как же при таком хаосе и неопределенности сеть с коммутацией пакетов выполняет свои функции по передаче данных? Важнейшим принципом функционирования сетей с коммутацией пакетов является представление информации, передаваемой по сети, в виде структурно отделенных друг от друга порций данных, наэыв мых пакетами1. Каждый пакет снабжен заголовком (рис. 3.5), в котором содержится адрес назначения и другая вспомогательная информация (длина поля данных, контрольная сумма и др.), используемая для доставки пакета адресату. Наличие адреса в каждом пакете является одним из важнейших особенностей техники коммутации пакетов, так как каждый пакет может1 2 быть обработан коммутатором независимо от других пакетов, составляющих сетевой трафик. Помимо заголовка у пакета может иметься еще одно дополнительное поле, раз- мещаемое в конце пакета и поэтому называемое концевиком. В концевике обычно поме- щается контрольная сумма, которая позволяет проверить, была ли искажена информация при передаче через сеть или нет. В зависимости от конкретной реализации технологии коммутации пакетов пакеты могут иметь фиксированную или переменную длину, кроме того, может меняться состав инфор- мации, размещенной в заголовках пакетов. Например, в технологии ATM пакеты (назы- ваемые там ячейками) имеют фиксированную длину, а в технологии Ethernet установлены лишь минимально и максимально возможные размеры пакетов (кадров). Пакеты поступают в сеть без предварительного резервирования линий связи и не с фикси- рованной заранее заданной скоростью, как это делается в сетях с коммутацией каналов, а в том темпе, в котором их генерирует источник. Предполагается, что сеть с коммутацией пакетов, в отличие от сети с коммутацией каналов, всегда готова принять пакет от конеч- ного узла. Как и в сетях с коммутацией каналов, в сетях с коммутацией пакетов для каждого из по- токов вручную или автоматически определяется маршрут, фиксируемый в хранящихся на коммутаторах таблицах коммутации. Пакеты, попадая на коммутатор, обрабатываются и направляются по тому или иному маршруту на основании информации, содержащейся в их заголовках, а также в таблице коммутации (рис. 3.6). 1 Наряду с термином «пакет» используются также термиг ы «кадр», «фрейм», «ячейка» и др. В данном контексте различия в значении этих терминов несущественны. 2 В некоторых технологиях коммутации пакетов (например, в технологии виртуальных каналов) полная независимость обработки пакетов не обеспечивается.
86 Глава 3. Коммутация каналов и пакетов Отправляемые данные 1 этап — исходное сообщение на узле- отправителе Отправляемые данные (----- > 2 этап — разбиение сообщения на части 3 этап — образование пакетов Рис. 3.5. Разбиение данных на пакеты 4 этап — сборка пакетов на узле назначения - конечные узлы - коммутаторы - пакеты данные заголовок Рис. 3.6. Передача данных по сети в виде пакетов
Коммутация пакетов 87 ПРИМЕЧАНИЕ----------------------------------------------------------------- Процедура резервирования пропускной способности может применяться и в пакетных сетях. Однако основная идея такого резервирования принципиально отличается от идеи резервирования про- пускной способности в сетях с коммутацией каналов. Разница заключается в том, что пропускная способность канала сети с коммутацией пакетов может динамически перераспределяться между информационными потоками в зависимости от текущих потребностей каждого потока, чего не мо- жет обеспечить техника коммутации каналов. С деталями такого резервирования вы познакомитесь позже, в главе 7. Пакеты, принадлежащие как одному и тому же, так и разным информационным потокам, при перемещении по сети могут «перемешиваться» между собой, образовывать очереди и «тормозить» друг друга. На пути пакетов могут встретиться линии связи, имеющие раз- ную пропускную способность. В зависимости от времени суток может сильно меняться и степень загруженности линий связи. В таких условиях не исключены ситуации, когда пакеты, принадлежащими одному и тому же потоку, могут перемещаться по сети с разны- ми скоростями и даже прийти к месту назначения не в том порядке, в котором они были отправлены. Разделение данных на пакеты позволяет передавать неравномерный компьютерный трафик более эффективно, чем в сетях с коммутацией каналов. Это объясняется тем, что пульса- ции трафика от отдельных компьютеров носят случайный характер и распределяются во времени так, что их пики чаще всего не совпадают. Поэтому когда линия связи передает трафик большого количества конечных узлов, то в суммарном потоке пульсации сглажи- ваются, и пропускная способность линии используется более рационально, без длительных простоев. Это эффект иллюстрируется рис. 3.7, на котором показаны неравномерные по- токи пакетов, поступающие от конечных узлов 3,4 и 10 в сети, изображенной на рис. 3.6. Поток из узла 4 в сторону коммутатора 5 IIIIIIII Поток из узла 3 а сторону коммутатора 5 10 Поток из узла 10 в сторону коммутаторе 5 Суммарный поток из коммутатора 5 в сторону коммутатора 8 Рис. 3.7. Сглаживание трафика в сетях с коммутацией пакетов
88 Глава 3. Коммутация каналов и пакетов Предположим, что эти потоки передаются в направлении коммутатора 8, а следовательно, накладываются друг на друга при прохождении линии связи между коммутаторами 5 и 8. Получающийся в результате суммарный поток является более равномерным, чем каждый из образующих его отдельных потоков. Буферизация пакетов Неопределенность и асинхронность перемещения данных в сетях с коммутацией пакетов предъявляет особые требования к работе коммутаторов в таких сетях. Главное отличие пакетных коммутаторов1 от коммутаторов в сетях с коммутацией каналов состоит в том что они имвют внутреннюю буферную память ля временного х, анения пакетов Действительно, пакетный коммутатор не может принять решения о продвижении пакета, не имея в своей памяти всего пакета. Коммутатор проверяет контрольную сумму, и только если она говорит о том, что данные пакета не искажены, начинает обрабатывать пакет и по адресу назначения определяет следующий коммутатор. Поэтому каждый пакет последова- тельно бит за битом помещается во входной буфер. Имея в виду это свойство, говорят, что сети с коммутацией пакетов используют технику сохранения с продвижением (store-and- forward). Заметим, что для этой цели достаточно иметь буфер размером в один пакет. Коммутатору нужны буферы для согласования скоростей передачи данных в линиях связи, подключенных к его интерфейсам. Действительно, если скорость поступления пакетов из одной линии связи в течение некоторого периода превышает пропускную способность той линии связи, в которую эти пакеты должны быть направлены, то во избежание потерь пакетов на целевом интерфейсе необходимо организовать выходную очередь (рис. 3.8). Буферизация необходима пакетному коммутатору также для согласования скорости по- ступления пакетов со скоростью их коммутации. Если коммутирующий блок не успевает обрабатывать пакеты (анализировать заголовки и перебрасывать пакеты на нужный ин- терфейс), то на интерфейсах коммутатора возникают входные очереди. Очевидно, что для храпения входной очереди объем буфера должен превышать размер одного пакета. Существуют различные подходы к построению коммутирующего блока. Традиционный способ основан на одном центральном процессоре, который обслуживает все входные очереди коммутатора. Такой способ построения может приводить к большим очередям, так как производительность процессора разделяется между несколькими очередями. Со- временные способы построения коммутирующего блока основаны на многопроцессорном подходе, когда каждый интерфейс имеет свой встроенный процессор для обработки пакетов. Кроме того, существует центральный процессор, координирующий работу интерфейсных процессоров. Использование интерфейсных процессоров повышает производительность коммутатора и умен ьшает очереди во входных интерфейсах. Однако такие очереди все равно могут возникать, так как центральный процессор по-прежнему остается «узким местом». Более подробно вопросы внутреннего устройства коммутаторов обсуждаются в главе 13. Поскольку объем буферов в коммутаторах ограничен, иногда происходит потеря паке- тов из-за переполнения буферов при временной перегрузке части сети, когда совпадают 1 Для простоты будем далее называть коммутаторы сетей с коммутацией пакетов «пакетными ком- мутаторами».
Коммутация пакетов 89 периоды пульсации нескольких информационных потоков. Для сетей с коммутацией пакетов потеря пакетов является обычным явлением, и для компенсации таких потерь в данной сетевой технологии предусмотрен ряд специальных механизмов, которые мы рассмотрим позже. Рис. 3.8. Буфвры и очереди пакетов в коммутаторе Пакетный коммутатор может работать на основании одного из трех методов продвижения пакетов: □ дейга1раммная передача; □ передача с установлением логического соединения; □ передача с установлением виртуального канала. Дейтаграммная передача Дейтаграммный способ передачи данных основан на том, что всв передаваемые пакеты продвигаются (передаются от одного узла сети другому) независимо друг от друга на основании одних и тех жв правил Процедура обработки пакета определяется только значениями параметров, которые он несет в себе, и текущим состоянием сети (например, в зависимости от ее нагрузки пакет может стоять в очереди на обслуживание большее или меньшее время). Однако никакая информация об уже переданных пакетах сетью не хранится и в ходе обработки очередного пакета во внимание не принимается. То есть каждый отдельный пакет рассматривается сетью как совершенно незави- симая единица передачи —дейтаграмма.
90 Глава 3. Коммутация каналов и пакетов Решение о продвижении пакета принимается на основе таблицы коммутации1, ставящей в соответствие адресам назначения пакетов информацию, однозначно определяющую следующий по маршруту транзитный (или конечный) узел. В качестве такой информации могут выступать идентификаторы интерфейсов данного коммутатора или адреса входных интерфейсов коммутаторов, следующих по маршруту. Таблица коммутации коммутатора S1 Адрес назначения Адрес следующего коммутатора N1 Пакет не требуется передаввть через сеть Рис. 3.9. Иллюстрация дейтаграммного принципа передачи пакетов N2 На рис. 3.9 показана сеть, в которой шесть конечных узлов (N1-N6) связаны семью ком- мутаторами (51-57). Показаны также несколько перемещающихся по разным маршрутам пакетов с разными адресами назначения (N1-N6), на пути которых лежит коммутатор 51. 1 Напомним, что в разных технологиях для обозначения таблиц, имеющих указанное выше функ- циональное назначение, могут использоваться другие термины (таблица маршрутизации, таблица продвижения и др.).
Коммутация пакетов 91 При поступлении каждого из этих пакетов в коммутатор 51 выполняется просмотр соот- ветствующей таблицы коммутации и выбор дальнейшего пути перемещения. Так пакет с адресом N5 будет передан коммутатором 51 на интерфейс, ведущий к коммутатору 56, где в результате подобной процедуры этот пакет будут направлен конечному узлу полу- чателю N5. В таблице коммутации для одного и того же адреса назначения может содержаться несколь- ко записей, указывающих соответственно на различные адреса следующего коммутатора. Такой подход называется балансом нагрузки и используется для повышения произво- дительности и надежности сети. В примере, показанном на рис. 3.9, пакеты, поступающие в коммутатор 51 для узла назначения с адресом 7V2, в целях баланса нагрузки распределя- ются между двумя следующими коммутаторами — 52 и 53, что снижает нагрузку на каждый из них, а значит, сокращает очереди и ускоряет доставку. Некоторая «размытость» путей следования пакетов с одним и тем же адресом назначения через сеть является прямым следствием принципа независимой обработки каждою пакета, присущего дейтаграммному методу. Пакеты, следующие по одному и тому же адресу назначения, могут добираться до него разными путями также вследствие изменения состояния сети, например отказа про- межуточных коммутаторов. Дейтаграммный метод работает быстро, так как никаких предварительных действий перед отправкой данных проводить не требуется. Однако при таком методе трудно проверить факт доставки пакета узлу назначения. Этот метод не гарантирует доставку пакета, он делает это по мере возможности — для описания такого свойства используется термин доставка с максимальными усилиями (best effort). Передача с установлением логического соединения Следующий рассматриваемый нами способ продвижения пакетов основывается на зна- нии устройствами сети «истории» обмена данными, например, на запоминании узлом- отправителем числа отправленных, а узлом-получателем — числа полученных пакетов. Такого рода информация фиксируется в рамках логического соединения. Процедуре согласования двумя конечными узлами сети некоторых параметров процесса обмена пакетами называется установлением логического соединения. Параметры, о которых до- говариваются два взаимодействующих узла, называют гя параметрами логического соеди- нения. Наличие логического соединения позволяет более рационально по сравнению с дейта- граммным способом обрабатывать пакеты. Например, при потере нескольких предыдущих пакетов может быть снижена скорость отправки последующих. Или благодаря нумерации пакетов и отслеживанию номеров отправленных и принятых пакетов можно повысить на- дежность путем отбрасывания дубликатов, упорядочивания поступивших и повторения передачи потерянных пакетов. Параметры соединения могут быть: постоянными, го есть не изменяющимися в течение всего соединения (например, идентификатор соединения, способ шифрования пакета или максимальный размер поля данных пакета), или переменными, то есть динамически
92 Глава 3. Коммутация каналов и пакетов отражающими текущее состояние соединения (например, последовательные номера пере- даваемых пакетов). Когда отправитель и получатель фиксируют начало нового соединения, они, прежде всего, «договариваются» о начальных значениях параметров процедуры обмена и только после этого начинают передачу собственно данных. Передача с установлением соединения более надежна, но требует больше времени для пере- дачи данных и вычислительных затрат от конечных узлов, что иллюстрирует рис. 3.10. Запрос на установление соединения Подтверждение установления соединения Данные Прием запроса на установление соединения Квитанции подтверждения Запрос на разрыв соединения Подтверждение рвзрыва соединения Рис. 3.10. Передача без установления соединения (а) и с установлением соединения (б) Процедура установления соединения состоит обычно из трех шагов. 1. Узел-ипициагор соединения отправляет узлу-получателю служебный пакет с предло- жением установить соединение. 2. Если узел-получатель согласен с этим, то он носы тает в ответ другой служебный пакет, подтверждающий установление соединения и предлагающий некоторые параметры, ко- торые будут использоваться в рамках данного логического соединения. Это могут быть, например, идентификатор соединения, количество кадров, которые можно отправить без получения подтверждения и т. п. 3. Узел-инициатор соединения может закончить процесс установления соединения от- правкой третьего служебного пакета, в котором сообщит, что предложенные параметры ему подходят. Логическое соединение может быть рассчитано на передачу данных как в одном направле- нии — от инициатора соединения, так и в обоих направлениях После передачи некоторого б
Коммутация пакетов 93 законченного набора данных, например определенного файла, узел-отправитель ини- циирует разрыв данного логического соединения, посылая соответствующий служебный кадр. Заметим, что, в отличие от передачи дейтаграммного типа, в которой поддерживается только один тип кадра — информационный, передач; с установлением соединения долж- на поддерживать как минимум два типа кадров — гнформационные кадры переносят собственно пользовательские данные, а служебные предназначаются для установления (разрыва) соединения. После того как соединение установлено и все параметры согласованы, конечные узлы начинают передачу собственно данных. Пакеты данных обрабатываются коммутаторами точно так же, как и при дейтаграммной передаче: из заголовков пакетов извлекаются адреса назначения и сравниваются с записями в таблицах коммутации, содержащих информацию о следующих шагах по маршруту. Так же как дейтаграммы, пакеты, относящиеся к одному логическому соединению, в некоторых случаях (например, при отказе линии связи) могут доставляться адресату по разным маршрутам. Однако передача с установлением соединения имеет важное отличие от дейтаграммной передачи, поскольку в ней помимо обработки пакетов на коммутаторах имеет место до- полнительная обработка пакетов на конечных узлах. Например, если при установлении В соединения была оговорена передача данных в зашифрованном виде, то шифрование паке- ь тов выполняется узлом-отправителем, а расшифровка — узлом-получателем. Аналогично, для обеспечения в рамках логического соединения надежности всю работу по нумерации пакетов, отслеживанию номеров доставленных и недоставленных пакетов, посылки копий и отбрасывания дубликатов берут на себя конечные узлы. ПРИМЕЧАНИЕ------------------------------------------------------------- Некоторые параметры логического соединения могут рассматриваться еще и как признаки инфор- I мационного потока между узлами, установившими это логическое соединение. Механизм установления логических соединений позволяет реализовывать дифферен- цированное обслуживание информационных потоков. Разное обслуживание могут по- лучить даже потоки, относящиеся к одной и той же паре конечных узлов. Например, пара конечных узлов может установить два параллельно работающих логических соединения, в одном из которых передавать данные в зашифрованном виде, а в другом — открытым текстом. Как видим, передача с установлением соединения предоставляет больше возможностей в плане надежности и безопасности обмена данными, чем дейтаграммная передача. Однако этот способ более медленный, так как он подразумевает дополнительные вычислительные затраты на установление и поддержание логического соединения. Передача с установлением виртуального канала Следующий способ продвижения данных основан на частном случае логического соедине- ния, в число параметров которого входит жестко определенный для всех пакетов маршрут. То есть все пакеты, передаваемые в рамках данного соединения, должны проходить по одному и тому же закрепленному за этим соединением пути.
94 Глава 3. Коммутация каналов и пакетов Единственный заранее проложенный фиксированный маршрут, соединяющий конечные узлы в сети с коммутацией пакетов, называют виртуальным кенелом (virtual circuit или virtual channel). Виртуальные каналы прокладываются для устойчивых информационных потоков. С це- лью выделения потока данных из общего трафика каждый пакет этого потока помечается специальным видом признака — меткой. Так же как в сетях с установлением логических соединений, прокладка виртуального канала начинается с отправки из узла-источника специального пакета — запроса на установление соединения. В запросе указываются адрес назначения и метка потока, для которого про- кладывается этот виртуальный канал. Запрос, проходя по сети, формирует новую запись в каждом из коммутаторов, расположенных на пути от отправителя до получателя. Запись говорит о том, каким образом коммутатор должен обслуживать пакет, имеющий заданную метку. Образованный виртуальный канал идентифицируется той же меткой*. После прокладки виртуального канала сеть может передавать по нему соответствующий поток данных. Во всех пакетах, которые переносят пользовательские данные, адрес назна- чения уже не указывается, его роль играет метка виртуального канала. При поступлении пакета на входной интерфейс коммутатор читает значение метки из заголовка пришедшего пакета и просматривает свою таблицу коммутации, по которой определяет, на какой вы- ходной порт передать пришедший пакет. Таблица коммутации коммутатора S1 Адрес назначения Адрес следующего коммутатора VC1 S2 VC2 S3 N5 N4 N3 Рис. 3.11. Иллюстрация принципа работы виртуального канала 1 Эта метка в различных технологиях называется по-разному: номер логического канала (Logical Channel Number, LCN) в технологии Х.25, идентификатор соединения уровня канала данных (Data Link Connection Identifier, DLCI) в технологии Frame Relay, идентификатор виртуального канала (Virtual Channel Identifier, VCI) в технологии ATM.
Сравнение сетей с коммутацией пакетов и каналов 95 На рис. 3.11 показана сеть, в которой проложены два виртуальных канала (Virtual Channel, VC), идентифицируемых метками VC1 и VC2. Первый проходит от конечного узла с адре- сом М до конечного узла с адресом N2 через промежуточные коммутаторы 51 и 52. Вто- рой виртуальный канал VC2 обеспечивает продвижение данных по пути N1-SI-S3-S5-N3. В общем случае, между двумя конечными узлами может быть проложено несколько виртуальных каналов, например еще один виртуальный канал между узлами М и N2 мог бы проходить через промежуточный коммутатор 53. На рисунке показаны два пакета, несущие в своих заголовках метки потоков VC1 и VC2, которые играют роль адресов на- значения. Таблица коммутации в сетях, использующих виртуальные каналы, отличается от таблицы коммутации в дейтаграммных сетях. Она содержит записи только о проходящих через коммутатор виртуальных каналах, а не обо всех возможных адресах назначения, как это имеет место в сетях с дейтаграммным алгоритмом продвижения. Обычно в крупной сети количество проложенных через узел виртуальных каналов существенно меньше общего количества узлов, поэтому и таблицы коммутации в этом случае намного короче, а следова- тельно, анализ такой таблицы занимает у коммутатора меньше времени. По той же причине метка короче адреса конечного узла, и заголовок пакета в сетях с виртуальными каналами переносит по сети вместо длинного адреса компактный идентификатор потока. ПРИМЕЧАНИЕ--------------------------------------------------------------- Использование в сетях техники виртуальных каналов не делает их сетями с коммутацией каналов. Хотя в подобных сетях применяется процедура предварительного установления канала, этот канал таотклся виртуальным, то есть по нему передаются отдельные пакеты, а не потоки информации с по- I стоянкой скоростью, как в сетях с коммутацией каналов. 1 Водной и той же сетевой технологии могут быть задействованы разные способы продви- гжеиля данных. Так, дейтаграммный протокол IP используется для передачи данных между отдельными сетями, составляющими Интернет. В то же время обеспечением надежной |поставки данных между конечными узлами этой сети занимается протокол TCP, устанав- Вйвающий логические соединения без фиксации маршрута. И наконец, Интернет — это пример сети, применяющей технику виртуальных каналов, так как в состав Интернета нодит немало сетей ATM и Frame Relay, поддерживающих виртуальные каналы. I Сравнение сетей с коммутацией пакетов и каналов > Прежде чем проводить техническое сравнение сетей с коммутацией пакетов и сетей ' коммутацией каналов, проведем их неформальное сравнение на основе, как нам кажется, весьма продуктивной транспортной аналогии. Транспортная аналогия для сетей с коммутацией пакетов и каналов Для начала убедимся, что движение на дорогах имеет много общего с перемещением паке- тов в сети с коммутацией пакетов.
96 Глава 3. Коммутация каналов и пакетов Пусть автомобили в этой аналогии соответствуют пакетам, дороги — каналам связи, а пере- крестки — коммутаторам. Подобно пакетам, автомобили перемещаются независимо друг от друга, разделяя пропускную способность дорог и создавая препятствия друг другу. Слишком интенсивный трафик, не соответствующий пропускной способности дороги, приводит к перегруженности дорог, в результате автомобили стоят в пробках, что соот- ветствует очередям пакетов в коммутаторах. На перекрестках происходит «коммутация» потоков автомобилей, каждый из автомоби- лей выбирает подходящее направление перекрестка, чтобы попасть в пункт назначения. Конечно, перекресток играет намного более пассивную роль по сравнению с коммутато- ром пакетов. Его активное участие в обработке трафика можно заметить только на регу- лируемых перекрестках, где светофор определяет очередность пересечения перекрестка потоками автомобилей. Еще активней, естественно, поведение регулировщика трафика, который может выбрать для продвижения не только поток автомобилей в целом, но и от- дельный автомобиль. Как и в сетях с коммутацией пакетов, к образованию яаторов на дорогах приводит неравно- мерность движения автомобилей. Так, даже кратковременное снижение скорости одного автомобиля на узкой дороге может создать большую пробку, которой бы не было, если бы все автомобили всегда двигались с одной и той же скоростью и равными интервалами. А теперь попробуем найти общее в автомобильном движении и в сетях с коммутацией каналов. Иногда на дороге возникает ситуация, когда нужно обеспечить особые условия для дви- жения колонны автомобилей. Например, представим, что очень длинная колонна авто- бусов перевозит детей из города в летний лагерь по многополосному шоссе. Для того чтобы колонна двигалась без препятствий, заранее для ее движения разрабатывается маршрут. Затем па протяжении всего этого маршрута, который пересекает несколько перекрест- ков, для колонны выделяется отдельная полоса на всех отрезках шоссе. При этом полоса освобождается от другого трафика еще за некоторое время до начала движения колонны, и это резервирование отменяется только после того, как колонна достигает пункта на- значения. Во время движения все автомобили колонны едут с одинаковой скоростью и приблизи- тельно равными интервалами между собой, не создавая препятствий друг другу. Очевидно, что для колонны автомобилей создаются наиболее благоприятные условия движения, но при этом автомобили теряют свою самостоятельность, превращаясь в поток, из которого нельзя «свернуть» в сторону. Дорога при такой организации движения используется не рационально, так как полоса простаивает значительную часть времени, как и полоса про- пускания в сетях с коммутацией каналов. Количественное сравнение задержек Вернемся от автомобилей к сетевому трафику. Пусть пользователю сети необходимо передать достаточно неравномерный трафик, состоящий из периодов активности и пауз. Представим также, что он может выбрать, через какую сеть, с коммутацией каналов или пакетов, передавать свой трафик, причем в обеих сетях производительность каналов связи
Сравнение сетей с коммутацией пакетов и каналов 97 одинаковы. Очевидно, что более эффективной с точки зрения временных затрат для на- шего пользователя была бы работа в сети с коммутацией каналов, где ему в единоличное владение предоставляется зарезервированный канал связи. При этом способе все данные поступали бы адресату без задержки. Тот факт, что значительную часть времени зарезерви- рованный канал будет простаивать (во время пауз), нашего пользователя не волнует — ему важно быстро решить собственную задачу. Если бы пользователь обратился к услугам сети с коммутацией пакетов, то процесс пере- дачи данных оказался бы более медленным, так как его пакеты, вероятно, не раз задер- живались бы в очередях, ожидая освобождения необходимых сетевых ресурсов наравне с пакетами других абонентов. Давайте рассмотрим более детально механизм возникновения задержек при передаче дан- ных в сетях обоих типов. Пусть от конечного узла М отправляется сообщение к конечному узлу 7V2 (рис. 3.12). На пути передачи данных расположены два коммутатора. Рис. 3.12. Временная диаграмма передачи сообщения в сети с коммутацией каналов В сети с коммутацией каналов данные после задержки, связанной с установлением канала, начинают передаваться на стандартной для канала скорости. Время доставки данных Т адресату равно сумме времени распространения сигнала в канале tprg и времени передачи сообщения в канал (называемое также временем сериализации) ttrns. Наличие коммутаторов в сети с коммутацией каналов никак не влияет на суммарное время прохождения данных через сеть. * ПРИМЕЧАНИЕ---------------------------------------------------------------- Заметим, что время передачи сообщения в канал в точности совпадает со временем приема сообщения из канала в буфер узла назначения, то есть временем буферизации.
98 Глава 3. Коммутация каналов и пакетов Время распространения сигнала зависит от расстояния между абонентами L и скорости S распространения электромагнитных волн в конкретной физической среде, которая коле- блется от 0,6 до 0,9 скорости света в вакууме: £prg = L/S. Время передачи сообщения в канал (а значит, и время буферизации в узле назначения) равно отношению объема сообщения V в битах к пропускной способности канала С в битах в секунду: ftma = V/ С. В сети с коммутацией пакетов передача данных не требует обязательного установления соединения. Предположим, что в сеть, показанную на рис. 3.13, передается сообщение того же объема V, что и в предыдущем случае (см. рис. 3.12), однако оно разделено на пакеты, каждый из которых снабжен заголовком. Пакеты передаются от узла М узлу N2, между которыми расположены два коммутатора. На каждом коммутаторе каждый пакет изображен дважды: в момент прихода на входной интерфейс и в момент передачи в сеть с выходного интерфейса. Из рисунка видно, что коммутатор задерживает пакет на неко- торое время. Здесь 7} — время доставки адресату первого пакета сообщения, а 7^ — всего сообщения. Рис. 3.13. Временная диаграмма передачи сообщения, разделенного на пакеты, в сети с коммутацией пакетов
Сравнение сетей с коммутацией пакетов и каналов 99 Сравнивая временное диаграммы передачи данных в сетях с коммутацией каналов и па- кетов, отметим два факта: □ значения времени распространения сигнала (£prg) в одинаковой физической среде на одно и то же расстояние одинаковы; □ учитыва-я, что значения пропускной способности каналов в обеих сетях одинаковы, значения времени передачи сообщения в канал (4ms) будут также равны. Однако разбиение передаваемого сообщения на пакеты с последующей их передачей по сети с коммутацией пакетов приводит к дополнительным задержкам. Проследим путь первого пакета и отметим, из каких составляющих складывается время его передачи в узел назначения и какие из них специфичны для сети с коммутацией пакетов (рис. 3.14). Рис. 3.14. Временная диаграмма передачи одного пакета в сети с коммутацией пакетов Время передачи одного пакета от узла М до коммутатора 1 можно представить в виде суммы нескольких слагаемых. □ Во-первых, время тратится в узле-отправителе N1: О 4 — время формирования пакета, также называемое временем пакетизации (зависит от различных параметров работы программного и аппаратного обеспечения узла- отправителя и не зависит от параметров сети); О ti — время передачи в канал заголовка; О f3 — время передачи в канал поля данных пакета
100 Глава 3. Коммутация каналов и пакетов □ Во-вторых, дополнительное время тратится на распространение сигналов по каналам связи. Обозначим через Ц время распространения сигнала, представляющего один бит информации, от узла N1 до коммутатора 1. □ В-третьих, дополнительное время тратится в промежуточном коммутаторе: О ts — время приема пакета с его заголовком из канала во входной буфер коммутатора; как уже было отмечено, это время равно (Гг + ts). то есть времени передачи пакета с заголовком в канал из узла источника; О te — время ожидания пакета в очереди колеблется в очень широких пределах и за- ранее неизвестно, так как зависит от текущей загрузки сети; О t? — время коммутации пакета при его передаче в выходной порт фиксировано для конкретной модели и обычно невелико (от нескольких микросекунд до нескольких миллисекунд). Обозначим через время передачи пакета из узлаМ на выходной интерфейс комму- татора 1. Это время складывается из следующих составляющих: Tni 51= й + ft +15 + £б + tl- Обратите внимание, что среди слагаемых отсутствуют составляющие t2 и t^. Из рис. 3.14 видно, что передача битов из передатчика в канал совмещается по времени с передачей битов по каналу связи. Время, затрачиваемое на оставшиеся два отрезка пути, обозначим соответственно Ts\-si и Ts2^N2- Эти величины имеют такую же структуру, что и Тм-я, за исключением того, что в них не входит время пакетизации, и, кроме того, Tg2-m не включает время коммутации (так как отрезок заканчивается конечным узлом). Итак, полное время передачи одного пакета по сети составляет: Ti = Tjvj-51 + TS1-S2 + Ts2 N2- А чему же будет равно время передачи сообщения, состоящего из нескольких пакетов? Сумме времен передачи каждого пакета? Конечно, нет! Ведь сеть с коммутацией пакетов работает как конвейер (см. рис. 3.13): пакет обрабатывается в несколько этапов, и все устройства сети выполняют эти этапы параллельно. Поэтому время передачи такого со- общения будет значительно меньше, чем сумма значений времени передачи каждого пакета сообщения. Точно рассчитать это время сложно из-за неопределенности состояния сети, и вследствие этого, неопределенности значений времени ожидания пакетов в очередях коммутаторов. Однако если предположить, что пакеты стоят в очереди примерно одина- ковое время, то общее время передачи сообщения, состоящего из п пакетов, можно оценит! следующим образом: Тд5= Т\ + (п- 1) (П + /5). ПРИМЕР Сравним задержки передачи данных в сетях с коммутацией пакетов с задержками в сетях с коммутацией каналов, основываясь на рис. 3.14. Пусть тестовое сообщение, которое нужно переда гь в обоих видах сетей, составляет 200 000 байт. Отправитель находится от получателя на расстоянии 5000 км. Пропускная способность линий связи составляет 2 Мбит/с. Время передачи данных по сети с коммутацией каналов складывается из времени распространения
Сравнение сетей с коммутацией пакетов и каналов 101 сигнала, которое для расстояния 5000 км можно оценить примерно в 25 мс, и времени пере- дачи сообщения в канал, которое при пропускной способности 2 Мбит/с и размере сообще- ния 200 000 байт равно примерно 800 мс, то есть всего передача данных абоненту занимает 825 мс. Оценим дополнительное время, которое требуется для передачи этого сообщения по сети с коммутацией пакетов. Будем считать, что путь от отправителя до получателя пролегает через 10 коммутаторов. Также предположим, что сеть работает в недогруженном режиме, то есть очереди в коммутаторах отсутствуют. Исходное сообщение разбивается на пакеты по 1000 байт, всего 200 пакетов. Если принять интервал между отправкой пакетов равным 1 мс, тогда время передачи сообще- ния увеличится дополнительно на 200 мс. Время передачи сообщения в канал также увели- чится из-за необходимости передавать заголовки пакетов. Предположим, что доля служебной информации, размещенной в заголовках пакетов, по отношению к общему объему сообщения составляет 10 %. Следовательно, дополнительная задержка, связанная с передачей заголов- ков пакетов, составляет 10 % от времени передачи исходного сообщения, то есть 80 мс. При прохождении пакетов через каждый коммутатор возникает задержка буферизации пакета. Эта задержка при величине пакета 1000 байт, заголовке 100 байт и пропускной способности линии 2 Мбит/с составляет 4,4 мс в одном коммутаторе. Плюс задержка коммутации 2 мс. В результате прохождения 10 коммутаторов пакет придет с суммарной задержкой 64 мс, по- траченной на буферизацию и коммутацию. В результате дополнительная задержка, созданная сетью с коммутацией пакетов, составляет 344 мс. Учитывая, что вся передача данных по сети с коммутацией канатов занимает 825 мс, эту дополнительную задержку можно считать существенной. Хотя приведенный расчет носит очень приблизительный характер, он делает более понятными те причины, по которым для отдельного абонента процесс передачи данных по сети с коммутацией пакетов является более медленным, чем по сети с коммутацией каналов. Что же следует из приведенного примера? Можно ли считать, что сеть с коммутацией каналов более эффективна, чем сеть с коммутацией пакетов? Попробуем ответить на этот вопрос. При рассмотрении сети в целом логично использовать в качестве критерия эффектив- ности сети не скорость передачи трафика отдельного пользователя, а более интегральный критерий, например общий объем передаваемых сетью данных в единицу времени. В этом случае эффек гинность сетей с коммутацией пакетов по сравнению с сетями с коммутацией каналов (при равной пропускной способности каналов связи) оказывается выше. Такой результат был доказан в 60-е годы как экспериментально, так и аналитически с помощью теории массового обслуживания. ПРИМЕР Используем для сравнения эффективности сетей с коммутацией каналов и пакетов еще один пример (рис. 3.15). Два коммутатора объединены каналом связи с пропускной способностью 100 Мбпт/с. Пользователи сети подключаются к сети с помощью каналов доступа (access link) с пропускной способностью 10 Мбит/с. Предположим, что все пользователи создают одинаковый пульсирующий трафик со средней скоростью 1 Мбит/с. При этом в течение не- продолжительных-периодов времени скорость данной предложенной нагрузки возрастает до максимальной скорости канала доступа, то есть до 10 Мбит/с. Такие периоды длятся не более одной секунды. Предположим также, что все пользователи, подключенные к коммутатору 51, передают информацию только пользователям, подключенным к коммутатору 52. Пусть представленная на рисунке сеть является сетью с коммутацией каналов. Поскольку пики пользовательского трафика достигают 10 Мбит/с, каждому из пользователей необходимо
102 Глава 3. Коммутация каналов и пакетов установить соединение с пропускной способностью 10 Мбит/с. Таким образом, одновременно через сеть смогут передавать данные только 10 пользователей. Суммарная средняя скорость передачи данных через сеть будет равна только 10 Мбит/с (10 пользователей передают данные со средней скоростью 1 Мбит/с). Следовательно, линия связи между коммутаторами, хотя и имеет общую пропускную способность 100 Мбит/с, используется только на 10 %. Рис. 3.15. Сравнение эффективности сетей с коммутацией пакетов и каналов Теперь рассмотрим вариант, когда та же сеть работает на основе техники коммутации пакетов. При средней скорости пользовательских потоков 1 Мбит/с сеть может передавать одно- временно до 100/1 - 100 (!) информационных потоков пользователей, полностью расходуя пропускную способность канала между коммутаторами. Однако это справедливо, если емко- сти буферов коммутаторов достаточно для хранения пакетов на периодах перегрузки, когда суммарная скорость потока данных превышает 100 Мбит/с. Оценим необходимый объем буфера коммутатора 51. За период перегрузки в коммутатор 51 от каждого потока поступит 10 Мбит/с х 1 с ~ 10 Мбит, а от 100 потоков — 1000 Мбит. Из этих данных за одну секунду коммутатор успеет передать в выходной канал только 100 Мбит. Значит, чтобы ни один пакет не был потерян во время перегрузки сети, общий объем входных буферов коммутатора должен быть не меньше 1000 - 100 = 900 Мбит, или более 100 Мбайт. Сегодняшние коммутаторы обычно имеют меньшие объемы буферов (1-10 Мбайт). Однако не нужно забывать, что веро- ятность совпадения периодов пиковой нагрузки у всех потоков, поступающих на входы ком- мутатора, очень мала. Так что даже если коммутатор имеет меньший объем буферной памяти, в подавляющем большинстве случаев ои будет справляться с предложенной нагрузкой. При сравнении сетей с коммутацией каналов и пакетов уместна аналогия с мультипро- граммными операционными системами. Каждая отдельная программа в такой системе выполняется дольше, чем в однопрограммной системе, когда программе выделяется все процессорное время, пока она не завершит свое выполнение. Однако общее число программ, выполняемых в единицу времени, в мультипрограммной системе больше, чем в однопро- граммной. Аналогично однопрограммной системе, в которой время от времени простаивает процессор или периферийные устройства, в сетях с коммутацией каналов при передаче пульсирующего трафика значительная часть зарезервированной пропускной способности каналов часто не используется. Неопределенная пропускная способность сети с коммутацией пакетов — это плата за ее общую эффективность при некотором ущемлении интересов отдельных абонентов. Ана- логично, в мультипрограммной операционной системе время выполнения приложения предсказать заранее невозможно, так как оно зависит от количества других приложений, с которыми делит процессор данное приложение. В заключение этого раздела приведем табл. 3.1, в которой сведены свойства обоих видов сетей. На основании этих данных можно аргументировано утверждать, в каких случаях
Ethernet — пример стандартной технологии с коммутацией пакетов 103 рациональнее использовать сети с коммутацией каналов, а в каких — с коммутацией па- кетов. Таблица 3.1. Сравнение сетей с коммутацией канвлов и пвкетов Коммутация каналов Коммутация пакетов Необходимо предварительно устанавливать соединение Отсутствует этап установления соединения (дейтаграммный способ) Адрес требуется только на этапе установления соединения Адрес и другая служебная информация передаются с каждым пакетом Сеть может отказать абоненту в установлении соединения Сеть всегда готова принять данные от абонента Гарантированная пропускная способность (полоса пропускания) для взаимодействующих абонентов Пропускная способность сети для абонентов неизвестна, задержки передачи носят случайный характер Трафик реального времени передается без задержек Ресурсы сети используются эффективно при передаче пульсирующего трафика Высокая надежность передачи Возможные потери данных из-за переполнения буферов Нерациональное использование пропускной способности каналов, снижающее общую эффек- тивность сети Автоматическое динамическое распределение пропускной способности физического канала между абонентами Ethernet — пример стандартной технологии с коммутацией пакетов Рассмотрим, каким образом описанные ранее концепции воплощены в одной из первых стандартных сетевых технологий — технологии Ethernet, работающей с битовой скоростью 10 Мбит/с. В этом разделе мы коснемся только самых общих принципов функционирова- ния Ethernet. Детальное описание технологии Ethernet вы найдете в части III. □ Топология. Существует два варианта технологии Ethernet: Ethernet на разделяемой среде и коммутируемый вариант Ethernet. В первом случае все узлы сети разделяют общую среду передачи данных, и сеть строится по топологии общей шины. На рис. 3.16 показан простейший вариант топологии — все компьютеры сети подключены к общей разделяемой среде, состоящей из одного сегмента коаксиального кабеля. Коаксиальный Рис. 3.16. Сеть Ethernet на разделяемой среде В том случае, когда сеть Ethernet не использует разделяемую среду, а строится на ком- мутаторах, объединенных дуплексными каналами связи, говорят о коммутируемом
104 Глава 3. Коммутация каналов и пакетов варианте Ethernet. Топология в этом случае является топологией дерева, то есть такой, при которой между двумя любыми узлами сеть существует ровно один путь. Пример топологии коммутируемой сети Ethernet показан на рис. 3.17. Рис. 3.17. Древовидная топология коммутируемой сети Ethernet Топологические ограничения (только древовидная структура связей коммутаторов) связаны со способом построения таблиц продвижения коммутаторами Ethernet. □ Способ коммутации. В технологии Ethernet используется дейтаграммная коммута- ция пакетов. Единицы данных, которыми обмениваются компьютеры в сети Ethernet, называются кадрами. Кадр имеет фиксированный формат и наряду с полем данных содержит различную служебную информацию. В том случае, когда сеть Ethernet по- строена на коммутаторах, каждый коммутатор продвигает кадры в соответствии с теми принципами коммутации пакетов, которые были описаны ранее. А вот в случае одно- сегментной сети Ethernet возникает законный вопрос: где же выполняется коммутация? Где хотя бы один коммутатор, который, как мы сказали, является главным элементом любой сети с коммутацией пакетов? Или же Ethernet поддерживает особый вид ком- мутации? Оказывается, коммутатор в односегментной сети Ethernet существует, но его не так просто разглядеть, потому что его функции распределены по всей сети. «Комму- татор» Ethernet состоит из сетевых адаптеров и разделяемой среды. Сетевые адаптеры представляют собой интерфейсы такого виртуального коммутатора, а разделяемая среда — коммутационный блок, который передает кадры между интерфейсами. Часть функций коммутационного блока выполняют адаптеры, так как они решают, какой кадр адресован их компьютеру, а какой — нет. □ Адресация. Каждый компьютер, а точнее каждый сетевой адаптер, имеет уникальный аппаратный адрес (так называемый МАС-адрес, вы уже встречали этот акроним в гла- ве 2). Адрес Ethernet является плоским числовым адресом, иерархия здесь не исполь- зуется. Поддерживаются адреса для выборочной, широковещательной и групповой рассылки. □ Разделение среды и мультиплексирование. В сети Ethernet на коммутаторах каждый ка- нал является дуплексным каналом связи, и проблемы его разделения между интерфей- сами узлов не возникает. Передатчики коммутаторов Ethernet используют дуплексные каналы связи для мультиплексирования потоков кадров от разных конечных узлов.
Выводы 105 В случае Ethernet на разделяемой среде конечные узлы применяют специальный метод доступа с целью синхронизации использования единственного полудуплексного канала связи, объединяющего все компьютеры сети. Единого арбитра в сети Ethernet на раз- деляемой среде нет, вместо этого все узлы прибегают к распределенному случайному методу доступа. Информационные потоки, поступающие от конечных узлов сети Ether- net, мультиплексируются в единственном передающем канале в режиме разделения времени. То есть кадрам разных потоков поочередно предоставляется канал. Чтобы подчеркнуть не всегда очевидную разницу между понятиями мультиплексирования и разделения среды, рассмотрим ситуацию, когда из всех компьютеров сети Ethernet только одному нужно передавать данные, причем данные от нескольких приложений. В этом случае проблема разделения среды между сетевыми интерфейсами не возникает, в то время как задача передачи нескольких информационных потоков по общей линии связи (то есть мультиплексирование) остается. □ Кодирование. Адаптеры Ethernet работают с тактовой частотой 20 МГц, передавая в среду прямоугольные импульсы, соответствующие единицам и нулям данных компью- тера. Когда начинается передача кадра, то все его биты передаются в сеть с постоянной скоростью 10 Мбит/с (каждый бит передается за два такта). Эта скорость определяется пропускной способностью линии связи в сети Ethernet. □ Надежность. Для повышения надежности передачи данных в Ethernet используется стандартный прием — подсчет контрольной суммы и передача ее в концевике кадра. Если принимающий адаптер путем повторного подсчета контрольной суммы обнару- живает ошибку в данных кадра, то такой кадр отбрасывается. Повторная передача кадра протоколом Ethernet не выполняется, эта задача должна решаться другими техноло- гиями, например протоколом TCP в сетях TCP/IP. □ Очереди. В коммутируемых сетях Ethernet очереди кадров, готовых к отправке, ор- ганизуются обычным для сетей с коммутацией пакетов способом, то есть с помощью буферной памяти интерфейсов коммутатора. В сетях Ethernet па разделяемой среде коммутаторы отсутствуют. На первый взгляд может показаться, что в Ethernet на разделяемой среде нет очередей, свойственных сетям с коммутацией пакетов. Однако отсутствие коммутатора с буферной памятью в сети Ethernet не означает, что очередей в ней нет. Просто здесь очереди переместились в буферную память сетевого адаптера. В те периоды времени, когда среда занята пере- дачей кадров других сетевых адаптеров, данные (предложенная нагрузка) по-прежнему поступают в сетевой адаптер. Так как они не могут быть переданы в это время в сеть, они начинают накапливаться во внутреннем буфере адаптера Ethernet, образуя очередь. Поэтому в сети Ethernet существуют переменные задержки доставки кадров, как и во всех сетях с коммутацией пакетов. Выводы В сетях с коммутацией каналов по запросу пользователя создается непрерывный информационный канал, который образуется путем резервирования «цепочки» линий связи, соединяющих абонентов на время передачи данных. На всем своем протяжении канал передает данные с одной и той же скоростью. Это означает, что через сеть с коммутацией каналоа можно квчественно передавать данные, чувствительные к задержкам (голос, видео). Однако невозможность динамического пере- распределения пропускной способности физического канала является принципиальным недостат-
106 Глава 3. Коммутация каналов и пакетов ком сети с коммутацией каналов, который делает ее неэффективной для передачи пульсирующего компьютерного трафика. При коммутации пакетов передаваемые данные разбиваются в исходном узле на небольшие части — пакеты. Пакет снабжается заголовком, в котором указывается адрес назначения, поэтому он может быть обработан коммутатором независимо от остальных данных. Коммутация пакетов повышает производительность сети при передаче пульсирующего трафика, так как при обслуживании большого числа независимых потоков периоды их активности не всегда совпадают во времени. Пакеты посту- пают в сеть без предварительного резервирования ресурсоа в том темпе, в котором их генерирует источник. Однако этот способ коммутации имеет и отрицательные стороны: задержки передачи носят случайный характер, поэтому возникают проблемы при передаче трафика реального времени. В сетях с коммутацией пакетов может использоваться один из трех алгоритмов продвижения па- кетов: дейтаграммная передача, передача с установлением логического соединения и передача с установлением виртуального канала. Вопросы и задания 1. Какие из приведенных утверждений верны при любых условиях: а) в сетях с коммутацией пакетов необходимо предварительно устанавливать соедине- ние; б) в сетях с коммутацией каналов не требуется указывать адрес назначения данных; в) сеть с коммутацией пакетов более эффективна, чем сеть с коммутацией каналов; г) сеть с коммутацией каналов предоставляет взаимодействующим абонентам гаранти- рованную пропускную способность. 2. Какие из сформулированных свойств составного канала всегда соответствуют действи- тельности: а) данные, поступившие в составной канал, доставляются вызываемому абоненту без задержек и потерь; б) составной канал закрепляется за двумя абонентами на постоянной основе; в) количество элементарных каналов, входящих в составной канал между двумя або- нентами, равно количеству промежуточных узлов плюс 1; г) составной канал имеет постоянную и фиксированную пропускную способность на всем своем протяжении. 3. Пусть для передачи голоса используется дискретизация по времени с интервалом 25 мкс и дискретизация по значениям на уровне 1024 градации звукового сигнала. Какая про- пускная способность необходима для передачи полученного таким образом голосового трафика? 4. При каких условиях в коммутаторах сети с коммутацией пакетов должна быть предусмо- трена буферизация? Варианты ответов: а) когда средняя скорость поступления данных в коммутатор превышает среднюю ско- рость их обработки коммутатором; б) всегда; в) если пакеты имеют большую длину; г) если пропускная способность сети ниже суммарной интенсивности источников тра- фика.
Вопросы и задания 107 5. Определите, на сколько увеличится время передачи данных в сети с коммутацией па- кетов по сравнению с сетью коммутации каналов, если известны следующие величины: О общий объем передаваемых данных — 200 Кбайт; О суммарная длина канала — 5000 км; О скорость передачи сигнала — 0,66 скорости света; О пропускная способность канала — 2 Мбит/с; О размер пакета без учета заголовка — 4 Кбайт; О размер заголовка — 40 байт; О интервал между пакетами — 1 мс; О количество промежуточных коммутаторов — 10; О время коммутации на каждом коммутаторе — 2 мс. Считайте, что сеть работает в недогруженном режиме, так что очереди в коммутаторах отсутствуют.
Г ЛАВА 4 Архитектура и стандартизация сетей Архитектура подразумевает представление сети в виде системы элементов, каждый из которых выполняет определенную частную функцию, при этом все элементы вместе согласованно решают общую задачу взаимодействия компьютеров. Другими словами, архитектура сети отражает деком- позицию общей задачи взаимодейстаия компьютеров на отдельные подзадачи, которые должны решаться отдельными элементами сети. Одним из важных элементов архитектуры сети является коммуникационный протокол — формализованный набор прааил взаимодействия узлов сети. Прорывом в стандартизации архитектуры компьютерной сети стала разработка модели взаимодей- ствия открытых систем (Open System Interconnection, OSI), которая в начале 80-х годов обобщила накопленный к тому времени опыт. Модель OSI является международным стандартом и определяет способ декомпозиции задачи взаимодействия «по вертикали», поручая эту задачу коммуникаци- онным протоколам семи уровней. Уровни образуют иерархию, известную как стек протоколов, где каждый вышестоящий уровень использует нижестоящий в качестве удобного инструмента для решения своих задач. Существующие сегодня (или существовавшие еще недавно) стеки протоколов в целом отражают архитектуру модели OSL Однако в каждом стеке протоколов имеются свои особенности и отличия от архитектуры OSL Так, наиболее популярный стек TCP/IP состоит из четырех уровней. Стандартная архитектура компьютерной сети определяет также распределение протоколов между элементами сети — конечными узлами (компьютерами) и промежуточными узлами (коммутаторами и маршру- тизаторами). Промежуточные узлы выполняют только транспортные функции стека протоколов, передавая трафик между конечными узлами. Конечные узлы поддерживают весь стек протоколов, предоставляя информационные услуги, например веб-сервис. Такое распределение функций озна- чает смещение «интеллекта» сети на ее периферию.
Декомпозиция задачи сетевого взаимодействия 109 Декомпозиция задачи сетевого взаимодействия Организация взаимодействия между устройствами сети является сложной задачей. Для решения сложных задач используется известный универсальный прием — декомпозиция, то есть разбиение одной сложной задачи на несколько более простых задач-модулей. Де- композиция состоит в чет ком определении функций каждого модуля, а также порядка их взаимодействия (то есть межмодульных интерфейсов). При таком подходе каждый модуль можно рассматривать как «черный ящик», абстрагируясь от его внутренних механизмов и концентрируя внимание на способе взаимодействия этих модулей. В результате такого логического упрощения задачи появляется возможность независимого тестирования, раз- работки и модификации модулей. Так, любой из показанных на рис. 4.1 модулей может быть переписан заново. Пусть, например, это будет модуль А, и если при этом разработчики сохранят без изменения межмодульные связи (в данном случае интерфейсы A-В и А-С), то это не потребует никаких изменений в остальных модулях. Рис. 4.1. Пример декомпозиции задачи Многоуровневый подход Еще более эффективной концепцией, развивающей идею декомпозиции, является много- уровн вый подход. После представления исходной задачи в виде множества модулей эти модули группируют и упорядочивают по уровням, образующим иерархию. В соответствии с принципом иерархии для каждого промежуточного уровня можно указать непосредствен- но примыкающие к нему соседние вышележащий и нижележащий уровни (рис. 4.2). Уровень 3 Уровень 2 Уровень 1 Рис. 4.2. Многоуровневый подход — создание иерархии задач
110 Глава 4. Архитектура и стандартизация сетей С одной стороны, группа модулей, составляющих каждый уровень, для решения своих задач должна обращаться с запросами только к модулям соседнего нижележащего уров- ня. С другой стороны, результаты работы каждого из модулей, отнесенных к некоторому уровню, могут быть переданы только модулям соседнего вышележащего уровня. Такая иерархическая декомпозиция задачи предполагает четкое определение функций и интер- фейсов не только отдельных модулей, но и каждого уровня. Межуровневый интерфейс, называемый также интерфейсом услуг, определяет набор функций, которые нижележащий уровень предоставляет вышележащему (рис. 4.3). Рис. 4.3. Концепция многоуровневого взаимодействия Такой подход дает возможность проводить разработку, тестирование и модификацию от- дельного уровня независимо от других уровней. Иерархическая декомпозиция позволяет, двигаясь от более низкого уровня к более высокому, переходить ко все более и более аб- страктному, а значит, более простому представлению исходной задачи. ПРИМЕР Рассмотрим задачу считывания логической записи из файла, расположенного на локальном диске. Ее (очень упрощенно) можно представить в виде следующей иерархии частных за- дач. 1 Поиск по символьному имени файла его характеристик, необходимых для доступа к данным: информации о физическом расположении файла на диске, размер и др. Поскольку функции этого уровня связаны только с просмотром каталог