
- •Часть I. Основы сетей передачи данных 25
- •Глава 1. Эволюция компьютерных сетей 26
- •Глава 2. Общие принципы построения сетей 45
- •Глава 3. Коммутация каналов и пакетов 92
- •Глава 4. Архитектура и стандартизация сетей 130
- •Глава 5. Примеры сетей 167
- •Глава 6. Сетевые характеристики 198
- •Глава 7. Методы обеспечения качества обслуживания 227
- •Часть II. Технологии физического уровня 283
- •Глава 8. Линии связи 284
- •Глава 9. Кодирование и мультиплексирование данных 320
- •Глава 10. Беспроводная передача данных 357
- •Глава 11. Первичные сети 389
- •Часть III. Локальные вычислительные сети 441
- •Глава 12. Технологии локальных сетей на разделяемой среде 443
- •Глава 13. Коммутируемые сети Ethernet 507
- •Глава 14. Интеллектуальные функции коммутаторов 565
- •Часть IV. Сети tcp/ip 607
- •Глава 15. Адресация в стеке протоколов tcp/ip 608
- •Глава 16. Протокол межсетевого взаимодействия 652
- •Глава 17. Базовые протоколы tcp/ip 700
- •Глава 18. Дополнительные функции маршрутизаторов ip-сетей 758
- •Часть V. Технологии глобальных сетей 834
- •Глава 19. Транспортные услуги и технологии глобальных сетей 838
- •Глава 20. Технология mpls 885
- •Глава 21. Ethernet операторского класса 921
- •Глава 22. Удаленный доступ 961
- •Глава 23. Сетевые службы 1008
- •Глава 24. Сетевая безопасность 1052
- •От авторов
- •Для кого эта книга
- •Изменения в четвертом издании
- •Структура книги
- •Благодарности
- •Часть I. Основы сетей передачи данных
- •Глава 1. Эволюция компьютерных сетей
- •Два корня компьютерных сетей Вычислительная и телекоммуникационная технологии
- •Системы пакетной обработки
- •Многотерминальные системы — прообраз сети
- •Первые компьютерные сети Первые глобальные сети
- •Первые локальные сети
- •Конвергенция сетей Сближение локальных и глобальных сетей
- •Конвергенция компьютерных и телекоммуникационных сетей
- •Вопросы и задания
- •Глава 2. Общие принципы построения сетей
- •Простейшая сеть из двух компьютеров Совместное использование ресурсов
- •Сетевые интерфейсы
- •Связь компьютера с периферийным устройством
- •Обмен данными между двумя компьютерами
- •Доступ к пу через сеть
- •Сетевое программное обеспечение
- •Сетевые службы и сервисы
- •Сетевая операционная система
- •Сетевые приложения
- •Физическая передача данных по линиям связи
- •Кодирование
- •Характеристики физических каналов
- •Проблемы связи нескольких компьютеров
- •Топология физических связей
- •Адресация узлов сети
- •Коммутация
- •Обобщенная задача коммутации
- •Определение информационных потоков
- •Маршрутизация
- •Продвижение данных
- •Мультиплексирование и демультиплексирование
- •Разделяемая среда передачи данных
- •Типы коммутации
- •Вопросы и задания
- •Глава 3. Коммутация каналов и пакетов
- •Коммутация каналов
- •Элементарный канал
- •Составной канал
- •Неэффективность при передаче пульсирующего трафика
- •Коммутация пакетов
- •Буферизация пакетов
- •Дейтаграммная передача
- •Передача с установлением логического соединения
- •Передача с установлением виртуального канала
- •Сравнение сетей с коммутацией пакетов и каналов
- •Транспортная аналогия для сетей с коммутацией пакетов и каналов
- •Количественное сравнение задержек
- •Ethernet — пример стандартной технологии с коммутацией пакетов
- •Вопросы и задания
- •Глава 4. Архитектура и стандартизация сетей
- •Декомпозиция задачи сетевого взаимодействия
- •Многоуровневый подход
- •Протокол и стек протоколов
- •Модель osi
- •Общая характеристика модели osi
- •Физический уровень
- •Канальный уровень
- •Сетевой уровень
- •Транспортный уровень
- •Сеансовый уровень
- •Уровень представления
- •Прикладной уровень
- •Модель osi и сети с коммутацией каналов
- •Стандартизация сетей
- •Понятие открытой системы
- •Источники стандартов
- •Стандартизация Интернета
- •Стандартные стеки коммуникационных протоколов
- •Стек osi
- •Стек ipx/spx
- •Стек NetBios/smb
- •Стек tcp/ip
- •Соответствие популярных стеков протоколов модели osi
- •Информационные и транспортные услуги
- •Распределение протоколов по элементам сети
- •Вспомогательные протоколы транспортной системы
- •Вопросы и задания
- •Глава 5. Примеры сетей
- •Классификация компьютерных сетей
- •Классификация компьютерных сетей в технологическом аспекте
- •Другие аспекты классификации компьютерных сетей
- •Обобщенная структура телекоммуникационной сети
- •Сеть доступа
- •Магистральная сеть
- •Информационные центры
- •Сети операторов связи
- •Клиенты
- •Инфраструктура
- •Территория покрытия
- •Взаимоотношения между операторами связи различного типа
- •Корпоративные сети
- •Сети отделов
- •Сети зданий и кампусов
- •Сети масштаба предприятия
- •Интернет
- •Уникальность Интернета
- •Структура Интернета
- •Классификация провайдеров Интернета по видам оказываемых услуг
- •Вопросы и задания
- •Глава 6. Сетевые характеристики
- •Типы характеристик Субъективные оценки качества
- •Характеристики и требования к сети
- •Временная шкала
- •Соглашение об уровне обслуживания
- •Производительность
- •Идеальная сеть
- •Статистические оценки характеристик сети
- •Активные и пассивные измерения в сети
- •Характеристики задержек пакетов
- •Характеристики скорости передачи
- •Надежность Характеристики потерь пакетов
- •Доступность и отказоустойчивость
- •Характеристики сети поставщика услуг
- •Расширяемость и масштабируемость
- •Управляемость
- •Совместимость
- •Вопросы и задания
- •Глава 7. Методы обеспечения качества обслуживания
- •Обзор методов обеспечения качества обслуживания
- •Приложения и качество обслуживания
- •Предсказуемость скорости передачи данных
- •Чувствительность трафика к задержкам пакетов
- •Чувствительность трафика к потерям и искажениям пакетов
- •Классы приложений
- •Анализ очередей
- •Модель м/м/1
- •Очереди и различные классы трафика
- •Техника управления очередями
- •Очередь fifo
- •Приоритетное обслуживание
- •Взвешенные очереди
- •Комбинированные алгоритмы обслуживания очередей
- •Механизмы кондиционирования трафика
- •Классификация трафика
- •Профилирование
- •Формирование трафика
- •Обратная связь Назначение
- •Участники обратной связи
- •Информация обратной связи
- •Резервирование ресурсов Резервирование ресурсов и контроль допуска
- •Обеспечение заданного уровня задержек
- •Инжиниринг трафика
- •Недостатки традиционных методов маршрутизации
- •Методы инжиниринга трафика
- •Инжиниринг трафика различных классов
- •Работа в недогруженном режиме
- •Вопросы и задания
- •Часть II. Технологии физического уровня
- •Глава 8. Линии связи
- •Классификация линий связи Первичные сети, линии и каналы связи
- •Физическая среда передачи данных
- •Аппаратура передачи данных
- •Характеристики линий связи Спектральный анализ сигналов на линиях связи
- •Затухание и волновое сопротивление
- •Помехоустойчивость и достоверность
- •Полоса пропускания и пропускная способность
- •Биты и боды
- •Соотношение полосы пропускания и пропускной способности
- •Типы кабелей
- •Экранированная и неэкранированная витая пара
- •Коаксиальный кабель
- •Волоконно-оптический кабель
- •Структурированная кабельная система зданий
- •Вопросы и задания
- •Глава 9. Кодирование и мультиплексирование данных
- •Модуляция Модуляция при передаче аналоговых сигналов
- •Модуляция при передаче дискретных сигналов
- •Комбинированные методы модуляции
- •Дискретизация аналоговых сигналов
- •Методы кодирования Выбор способа кодирования
- •Потенциальный код nrz
- •Биполярное кодирование ami
- •Потенциальный код nrzi
- •Биполярный импульсный код
- •Манчестерский код
- •Потенциальный код 2b1q
- •Избыточный код 4в/5в
- •Скремблирование
- •Компрессия данных
- •Обнаружение и коррекция ошибок
- •Методы обнаружения ошибок
- •Методы коррекции ошибок
- •Мультиплексирование и коммутация
- •Коммутация каналов на основе методов fdm и wdm
- •Коммутация каналов на основе метода tdm
- •Дуплексный режим работы канала
- •Вопросы и задания
- •Глава 10. Беспроводная передача данных
- •Беспроводная среда передачи Преимущества беспроводных коммуникаций
- •Беспроводная линия связи
- •Диапазоны электромагнитного спектра
- •Распространение электромагнитных волн
- •Лицензирование
- •Беспроводные системы Двухточечная связь
- •Связь одного источника и нескольких приемников
- •Связь нескольких источников и нескольких приемников
- •Типы спутниковых систем
- •Геостационарный спутник
- •Средне- и низкоорбитальные спутники
- •Технология широкополосного сигнала
- •Расширение спектра скачкообразной перестройкой частоты
- •Прямое последовательное расширение спектра
- •Множественный доступ с кодовым разделением
- •Вопросы и задания
- •Глава 11. Первичные сети
- •Сети pdh
- •Иерархия скоростей
- •Методы мультиплексирования
- •Синхронизация сетей pdh
- •Ограничения технологии pdh
- •Сети sonet/sdh
- •Иерархия скоростей и методы мультиплексирования
- •Типы оборудования
- •Стек протоколов
- •Кадры stm-n
- •Типовые топологии
- •Методы обеспечения живучести сети
- •Новое поколение протоколов sdh
- •Сети dwdm
- •Принципы работы
- •Волоконно-оптические усилители
- •Типовые топологии
- •Оптические мультиплексоры ввода-вывода
- •Оптические кросс-коннекторы
- •Сети otn Причины и цели создания
- •Иерархия скоростей
- •Стек протоколов otn
- •Кадр otn
- •Выравнивание скоростей
- •Мультиплексирование блоков
- •Коррекция ошибок
- •Вопросы и задания
- •Часть III. Локальные вычислительные сети
- •Глава 12. Технологии локальных сетей на разделяемой среде
- •Общая характеристика протоколов локальных сетей на разделяемой среде Стандартная топология и разделяемая среда
- •Стандартизация протоколов локальных сетей
- •Ethernet со скоростью 10 Мбит/с на разделяемой среде
- •Форматы кадров технологии Ethernet
- •Доступ к среде и передача данных
- •Возникновение коллизии
- •Время оборота и распознавание коллизий
- •Спецификации физической среды
- •Максимальная производительность сети Ethernet
- •Технологии Token Ring и fddi
- •Беспроводные локальные сети ieee 802.11 Проблемы и области применения беспроводных локальных сетей
- •Топологии локальных сетей стандарта 802.11
- •Стек протоколов ieee 802.11
- •Распределенный режим доступа dcf
- •Централизованный режим доступа pcf
- •Безопасность
- •Физические уровни стандарта 802.11
- •Физические уровни стандарта 802.11 1997 года
- •Физические уровни стандартов 802.11а и 802.11b
- •Физический уровень стандарта 802.11g
- •Физический уровень стандарта 802.11n
- •Персональные сети и технология Bluetooth Особенности персональных сетей
- •Архитектура Bluetooth
- •Стек протоколов Bluetooth
- •Кадры Bluetooth
- •Поиск и стыковка устройств Bluetooth
- •Пример обмена данными в пикосети
- •Новые свойства Bluetooth
- •Вопросы и задания
- •Глава 13. Коммутируемые сети Ethernet
- •Мост как предшественник и функциональный аналог коммутатора Логическая структуризация сетей и мосты
- •Алгоритм прозрачного моста ieee 802.1d
- •Топологические ограничения при применении мостов в локальных сетях
- •Коммутаторы Параллельная коммутация
- •Дуплексный режим работы
- •Неблокирующие коммутаторы
- •Борьба с перегрузками
- •Характеристики производительности коммутаторов
- •Скоростные версии Ethernet
- •История создания
- •Физические уровни технологии Fast Ethernet
- •История создания
- •Проблемы совместимости
- •Средства обеспечения диаметра сети в 200 м на разделяемой среде
- •Спецификации физической среды стандарта Gigabit Ethernet
- •Gigabit Ethernet на витой паре категории 5
- •Архитектура коммутаторов
- •Конструктивное исполнение коммутаторов
- •Вопросы и задания
- •Глава 14. Интеллектуальные функции коммутаторов
- •Алгоритм покрывающего дерева
- •Классическая версия stp
- •Три этапа построения дерева
- •Недостатки и достоинства stp
- •Версия rstp
- •Агрегирование линий связи в локальных сетях Транки и логические каналы
- •Борьба с «размножением» пакетов
- •Выбор порта
- •Фильтрация трафика
- •Виртуальные локальные сети
- •Назначение виртуальных сетей
- •Создание виртуальных сетей на базе одного коммутатора
- •Создание виртуальных сетей на базе нескольких коммутаторов
- •Альтернативные маршруты в виртуальных локальных сетях
- •Качество обслуживания в виртуальных сетях
- •Классификация трафика
- •Маркирование трафика
- •Управление очередями
- •Резервирование и профилирование
- •Ограничения коммутаторов
- •Вопросы и задания
- •Часть IV. Сети tcp/ip
- •Глава 15. Адресация в стеке протоколов tcp/ip
- •Стек протоколов tcp/ip
- •Типы адресов стека tcp/ip
- •Локальные адреса
- •Сетевые ip-адреса
- •Доменные имена
- •Формат ip-адреса
- •Классы ip-адресов
- •Особые ip-адреса
- •Использование масок при ip-адресации
- •Порядок назначения ip-адресов
- •Назначение адресов автономной сети
- •Централизованное распределение адресов
- •Адресация и технология cidr
- •Отображение ip-адресов на локальные адреса
- •Протокол разрешения адресов
- •Протокол Proxy-arp
- •Система dns Плоские символьные имена
- •Иерархические символьные имена
- •Обратная зона
- •Протокол dhcp
- •Режимы dhcp
- •Алгоритм динамического назначения адресов
- •Вопросы и задания
- •Глава 16. Протокол межсетевого взаимодействия
- •Формат ip-пакета
- •Упрощенная таблица маршрутизации
- •Просмотр таблиц маршрутизации без масок
- •Примеры таблиц маршрутизации разных форматов
- •Источники и типы записей в таблице маршрутизации
- •Пример ip-маршрутизации без масок
- •Маршрутизация с использованием масок
- •Структуризация сети масками одинаковой длины
- •Просмотр таблиц маршрутизации с учетом масок
- •Использование масок переменной длины
- •Перекрытие адресных пространств
- •Фрагментация ip-пакетов
- •Параметры фрагментации
- •Механизм фрагментации
- •Вопросы и задания
- •Глава 17. Базовые протоколы tcp/ip
- •Протоколы транспортного уровня tcp и udp
- •Порты и сокеты
- •Протокол udp и udp-дейтаграммы
- •Протокол tcp и тср-сегменты
- •Логические соединения — основа надежности tcp
- •Повторная передача и скользящее окно
- •Реализация метода скользящего окна в протоколе tcp
- •Управление потоком
- •Общие свойства и классификация протоколов маршрутизации
- •Протокол rip
- •Построение таблицы маршрутизации
- •Адаптация маршрутизаторов rip к изменениям состояния сети
- •Пример зацикливания пакетов
- •Методы борьбы с ложными маршрутами в протоколе rip
- •Протокол ospf
- •Два этапа построения таблицы маршрутизации
- •Метрики
- •Маршрутизация в неоднородных сетях Взаимодействие протоколов маршрутизации
- •Внутренние и внешние шлюзовые протоколы
- •Протокол bgp
- •Протокол icmp
- •Утилита traceroute
- •Утилита ping
- •Вопросы и задания
- •Глава 18. Дополнительные функции маршрутизаторов ip-сетей
- •Фильтрация
- •Фильтрация пользовательского трафика
- •Фильтрация маршрутных объявлений
- •Стандарты QoS в ip-сетях
- •Модели качества обслуживания IntServ и DiffServ
- •Алгоритм ведра маркеров
- •Случайное раннее обнаружение
- •Интегрированное обслуживание и протокол rsvp
- •Дифференцированное обслуживание
- •Трансляция сетевых адресов
- •Причины подмены адресов
- •Традиционная технология nat
- •Базовая трансляция сетевых адресов
- •Трансляция сетевых адресов и портов
- •Групповое вещание
- •Стандартная модель группового вещания ip
- •Адреса группового вещания
- •Основные типы протоколов группового вещания
- •Протокол igmp
- •Принципы маршрутизации трафика группового вещания
- •Протокол dvmrp
- •Протокол mospf
- •Протокол pim-sm
- •IPv6 как развитие стека tcp/ip
- •Система адресации протокола iPv6
- •Снижение нагрузки на маршрутизаторы
- •Переход на версию iPv6
- •Маршрутизаторы Функции маршрутизаторов
- •Уровень интерфейсов
- •Уровень сетевого протокола
- •Уровень протокола маршрутизации
- •Классификация маршрутизаторов по областям применения
- •Вопросы и задания
- •Часть V. Технологии глобальных сетей
- •Глава 19. Транспортные услуги и технологии глобальных сетей
- •Базовые понятия Типы публичных услуг сетей операторов связи
- •Выделенные каналы для построения частной сети
- •Виртуальная частная сеть
- •Доступ в Интернет
- •Традиционная телефония
- •Многослойная сеть оператора связи
- •Услуги и технологии физического уровня
- •Услуги и технологии пакетных уровней
- •Туннелирование
- •Технология Frame Relay История стандарта
- •Техника продвижения кадров
- •Гарантии пропускной способности
- •Технология atm
- •Ячейки atm
- •Виртуальные каналы atm
- •Категории услуг atm
- •Виртуальные частные сети
- •Ip в глобальных сетях Чистая ip-сеть
- •Протокол hdlc
- •Протокол ррр
- •Использование выделенных линий ip-маршрутизаторами
- •Работа ip-сети поверх сети atm
- •Вопросы и задания
- •Глава 20. Технология mpls
- •Базовые принципы и механизмы mpls Совмещение коммутации и маршрутизации в одном устройстве
- •Пути коммутации по меткам
- •Заголовок mpls и технологии канального уровня
- •Стек меток
- •Протокол ldp
- •Мониторинг состояния путей lsp
- •Тестирование путей lsp
- •Трассировка путей lsp
- •Протокол двунаправленного обнаружения ошибок продвижения
- •Инжиниринг трафика в mpls
- •Отказоустойчивость путей mpls Общая характеристика
- •Использование иерархии меток для быстрой защиты
- •Вопросы и задания
- •Глава 21. Ethernet операторского класса
- •Обзор версий Ethernet операторского класса Движущие силы экспансии Ethernet
- •Разные «лица» Ethernet
- •Стандартизация Ethernet как услуги
- •Технология EoMpls Псевдоканалы
- •Услуги vpws
- •Услуги vpls
- •Ethernet поверх Ethernet Области улучшений Ethernet
- •Разделение адресных пространств пользователей и провайдера
- •Маршрутизация, инжиниринг трафика и отказоустойчивость
- •Функции эксплуатации, администрирования и обслуживания
- •Функции эксплуатации, администрирования и обслуживания в Ethernet
- •Протокол cfm
- •Протокол мониторинга качества соединений y.1731
- •Стандарт тестирования физического соединения Ethernet
- •Интерфейс локального управления Ethernet
- •Мосты провайдера
- •Магистральные мосты провайдера
- •Формат кадра 802.1 ah
- •Двухуровневая иерархия соединений
- •Пользовательские мас-адреса
- •Инжиниринг трафика и отказоустойчивость
- •Магистральные мосты провайдера с поддержкой инжиниринга трафика
- •Вопросы и задания
- •Глава 22. Удаленный доступ
- •Схемы удаленного доступа
- •Типы клиентов и абонентских окончаний
- •Мультиплексирование информации на абонентском окончании
- •Режим удаленного узла
- •Режим удаленного управления и протокол telnet
- •Коммутируемый аналоговый доступ
- •Принцип работы телефонной сети
- •Удаленный доступ через телефонную сеть
- •Коммутируемый доступ через сеть isdn Назначение и структура isdn
- •Интерфейсы bri и pri
- •Стек протоколов isdn
- •Использование сети isdn для передачи данных
- •Технология adsl
- •Доступ через сети catv
- •Беспроводной доступ
- •Вопросы и задания
- •Глава 23. Сетевые службы
- •Электронная почта
- •Электронные сообщения
- •Протокол smtp
- •Непосредственное взаимодействие клиента и сервера
- •Протоколы рорз и imap
- •Протокол http
- •Формат http-сообщений
- •Динамические веб-страницы
- •Ранняя ip-телефония
- •Стандарты н.323
- •Стандарты на основе протокола sip
- •Связь телефонных сетей через Интернет
- •Новое поколение сетей ip-телефонии
- •Распределенные шлюзы и программные коммутаторы
- •Новые услуги
- •Интеграция систем адресации е.164 и dns на основе enum
- •Протокол передачи файлов
- •Основные модули службы ftp
- •Управляющий сеанс и сеанс передачи данных
- •Команды взаимодействия ftp-клиента с ftp-сервером
- •Сетевое управление в ip-сетях Функции систем управления
- •Архитектуры систем управления сетями
- •Вопросы и задания
- •Глава 24. Сетевая безопасность
- •Основные понятия информационной безопасности Определение безопасной системы
- •Угроза, атака, риск
- •Типы и примеры атак Атаки отказа в обслуживании
- •Перехват и перенаправление трафика
- •Внедрение в компьютеры вредоносных программ
- •Троянские программы
- •Сетевые черви
- •Шпионские программы
- •Методы обеспечения информационной безопасности
- •Классификация методов защиты
- •Политика безопасности
- •Шифрование
- •Симметричные алгоритмы шифрования
- •Алгоритм des
- •Несимметричные алгоритмы шифрования
- •Алгоритм rsa
- •Односторонние функции шифрования
- •Аутентификация, авторизации, аудит Понятие аутентификации
- •Авторизация доступа
- •Строгая аутентификация на основе многоразового пароля в протоколе chap
- •Аутентификация на основе одноразового пароля
- •Аутентификация на основе сертификатов
- •Сертифицирующие центры
- •Инфраструктура с открытыми ключами
- •Аутентификация информации
- •Цифровая подпись
- •Аутентификация программных кодов
- •Антивирусная защита
- •Сканирование сигнатур
- •Метод контроля целостности
- •Сканирование подозрительных команд
- •Отслеживание поведения программ
- •Сетевые экраны
- •Типы сетевых экранов разных уровней
- •Реализация
- •Архитектура
- •Прокси-серверы
- •Функции прокси-сервера
- •Прокси-серверы прикладного уровня и уровня соединений
- •«Проксификация» приложений
- •Системы обнаружения вторжений
- •Протоколы защищенного канала. IPsec
- •Иерархия технологий защищенного канала
- •Распределение функций между протоколами ipSec
- •Безопасная ассоциация
- •Транспортный и туннельный режимы
- •Протокол ан
- •Протокол esp
- •Базы данных sad и spd
- •Сети vpn на основе шифрования
- •Вопросы и задания
- •Рекомендуемая и использованная литература
Адреса группового вещания
Ранее в главе 15, изучая типы IP-адресов, мы отмечали, что адреса IPv4 из диапазона 224.0.0.0-239.255.255.255 относятся к классу D и они зарезервированы для группового вещания.
Адреса из этого диапазона используются:
□ для идентификации групп;
□ для идентификации адресов источников группового вещания (в рамках модели SSM);
□ для административных нужд при реализации группового вещания.
В общем случае адреса используются динамически, то есть если после остановки вещания источник снова начинает передачу, то он в общем случае может задействовать новый адрес группового вещания. Так называемые хорошо известные источники обычно наделяются постоянным групповым адресом.
Информацию о том, какие адреса уже закреплены для выполнения некоторой постоянной роли, а также о том, как использовать адресное пространство адресов класса D, дает документ RFC 3171 полномочной организации по цифровым адресам Интернета (Internet Assigned Numbers Authority, IANA).
Некоторые сведения из этого документа можно найти на сайте www.olifer.co.uk в разделе «Структурирование адресного пространства группового вещания».
Основные типы протоколов группового вещания
На основе описанной концепции для стека TCP/IP был разработан ряд протоколов, с помощью которых можно организовать групповое вещание с различной степенью эффективности. Эти протоколы делятся на две категории.
□ В первую входит один протокол — протокол IGMP, с помощью которого, во-первых, хосты сообщают о своем «желании»1 присоединиться к некоторой группе, во-вторых, маршрутизатор узнает о принадлежности хостов в непосредственно подключенных к нему подсетях к той или иной группе. Протокол IGMP работает в тесном взаимодействии с протоколами второй категории — протоколами маршрутизации группового вещания.
□ Протоколы маршрутизации группового вещания необходимы для продвижения пакетов, несущих в себе информацию для групповых получателей, через сеть произвольной конфигурации. Эти протоколы — DVMRP, MOSPF, PIM — опираются на разные подходы, но в конечном итоге все они сводятся к построению графа, связывающего все хосты в определенной группе, причем между двумя хостами существует только один путь. Такой граф называют покрывающим деревом. Протоколы маршрутизации осуществляют постоянный мониторинг покрывающего дерева и время от времени отсекают те ветви дерева, которые из-за изменения состояния сети уже не ведут к членам той или иной группы.
Протокол igmp
Протокол группового управления в Интернете (Internet Group Management Protocol, IGMP) был разработан в 1989 году для обеспечения более эффективной рассылки информации по IP-адресам, чем традиционные методы одноадресной и широковещательной передачи. Существует три версии IGMP: IGMPvl (RFC 1112), IGMPv2 (RFC 2236) и IGMPv3 (RFC 3376).
Протокол IGMP используется исключительно при взаимодействии непосредственно связанных друг с другом маршрутизатора и хоста, когда последний выступает (или желает выступать) в роли получателя трафика группового вещания.
ПРИМЕЧАНИЕ
Источник не нуждается в протоколе IGMP. Любой компьютер, подключенный к Интернету, может стать источником группового вещания, при этом ему не требуется никакого дополнительного программного обеспечения, кроме того, которое включено в состав обычной реализации стека TCP/IP.
К основным функциям протокола IGMP относятся оповещение маршрутизатора о желании хоста быть включенным в группу и опрос членов группы.
Оповещение маршрутизатора о желании хоста быть включенным в группу. Чтобы стать получателем групповых данных, узел должен «выразить» свою заинтересованность маршрутизатору, к которому непосредственно подсоединена его сеть. Для этого хост должен установить взаимодействие с маршрутизатором по протоколу IGMP. Версия IGMP для хоста прямо зависит от типа операционной системы, установленной на хосте. Так, ранние версии Windows (Windows 95) поддерживали только версию IGMPvl, более поздние (Windows 2000) — версию IGMPv2, а начиная с Windows ХР, поддерживается версия IGMPv3. Протоколы IGMPv2 и IGMPv3 поддерживаются во многих версиях Mac OS, Linux, Unix-подобных операционных системах.
Опрос членов группы. Для выполнения этой функции один из маршрутизаторов локальной сети выбирается доминирующим. Доминирующий маршрутизатор средствами протокола IGMP периодически опрашивает все системы (групповой адрес 224.0.0.1) в непосредственно присоединенных к нему подсетях, проверяя, активны ли члены всех известных ему групп. Остальные (не выбранные) маршрутизаторы прослушивают сеть, и если обнаруживают отсутствие сообщений-запросов в течение некоторого периода (обычно 250 секунд), то повторяют процедуру выбора нового доминирующего маршрутизатора. В IGMPv2 определено три типа сообщений:
□ Запрос о членстве (membership query). С помощью этого сообщения маршрутизатор пытается узнать, в каких группах состоят хосты в локальной сети, присоединенной к какому-либо его интерфейсу. Запрос о членстве существует в двух вариантах: в одном из них маршрутизатор делает общий запрос обо всех группах, в другом его интересует информация только о некоторой конкретной группе, адрес которой указывается в запросе.
□ Отчет о членстве (membership report). Этим сообщением хосты отвечают маршрутизатору, который послал в сеть запрос о членстве. В сообщении содержится информация об адресе группы, в которой они состоят. Маршрутизатор, являясь членом всех групп, получает сообщения, направленные на любой групповой адрес. Для маршрутизатора, получающего ответные сообщения, важен только факт наличия членов той или иной группы (групп), а не принадлежность конкретных хостов конкретным группам. Этот факт будет использован другими маршрутизаторами сети для продвижения пакетов группового вещания в ту часть сети, за которую «отвечает» данный маршрутизатор. Отчет о членстве хост может послать не только в ответ на запрос маршрутизатора, но и по собственной инициативе, когда он пытается присоединиться к определенной группе. После такого сообщения хост может рассчитывать на то, что трафик для этой группы действительно будет доставляться в сеть, к которой этот хост принадлежит.
□ Покинуть группу (leave group). Это сообщение хост может использовать, чтобы сигнализировать «своему» маршрутизатору о желании покинуть некоторую группу, в которой он до этого состоял. Получив это сообщение, маршрутизатор посылает специфический запрос о членстве членам только этой конкретной группы, и если не получает на него ответ (то есть это был последний хост в группе), то перестает передавать трафик группового вещания для этой группы. Слово «может» означает в данном случае, что хост может быть исключен из группы, просто не отвечая маршрутизатору на запрос о членстве (такой подход реализован в протоколе IGMPvl). Тогда маршрутизатор будет продолжать передавать нежелательный трафик группового вещания до тех пор, пока не истечет некоторый период времени с момента поступления последнего отчета о членстве. Такой подход может значительно удлинить период скрытого нахождения хоста в состоянии выхода из группы, что снижает эффективность работы сети.
Сообщения с запросами о членстве посылаются маршрутизатором регулярно с некоторой частотой. На каждом из интерфейсов с установленными средствами IGMP маршрутизаторами поддерживаются кэш-таблицы групп. Кэш-таблица содержит список всех групп, в составе которых есть хотя бы один член. Для каждой строки таблицы установлен тайм- аут. Маршрутизатор регулярно посылает запросы (по умолчанию — каждые 125 секунд), чтобы проверить, что в каждой группе еще имеются члены. Если для некоторой группы ответ не поступает в течение установленного для нее тайм-аута, то соответствующая строка удаляется из кэш-таблицы, и маршрутизатор считает, что членов этой группы в сети больше нет.
Локальная сеть может иметь несколько хостов, заинтересованных в получении трафика одной и той же группы, но маршрутизатору достаточно подтверждения только от одного хоста для того, чтобы продолжить передавать трафик в сеть для этой группы. При использовании протокола IGMPvl или IGMPv2 для ограничения числа ответов хостов на запрос маршрутизатора любой хост, состоящий в группе, вместо того чтобы немедленно ответить на запрос, сначала ждет в течение некоторого интервала времени, не появится ли в сети ответ какого-нибудь другого хоста. Если по истечении этого времени он так и не смог дождаться появления в сети ответа другого хоста, то он посылает маршрутизатору собственный отчет о членстве. (Если же используется протокол IGMPv3, то никаких пауз не устанавливается, и хосты сразу генерируют сообщения о членстве.)
Основываясь на информации, полученной с помощью IGMP, маршрутизаторы могут определять, в какие подключенные к ним сети необходимо передавать групповой трафик.
Все типы IGMP-сообщений имеют длину 8 байт и состоят из четырех полей. В зависимости от версии протокола IGMP назначение полей может несколько меняться. На рис. 18.14 показана структура сообщения для версии IGMPv2.
Рис. 18.14. Структура IGMP-сообщения
Поле максимального времени ответа используется хостами для вычисления времени задержки ответа. Время задержки выбирается случайным образом из интервала от нуля до значения, заданного в этом поле.
Заметим, что поле адреса группового вещания в IGMP-сообщении не содержит адрес назначения, оно несет в себе информацию, по-разному используемую в разных типах сообщений. Например, маршрутизатор, посылая запрос о членстве, помещает в этом поле нули, а хост в сообщениях «Отчет о членстве» и «Покинуть группу» помещает в это поле адрес группы, в которую он хочет вступить или которую он хочет покинуть соответственно.
ПРИМЕЧАНИЕ
Чтобы хост смог получать трафик группового вещания, недостаточно установить на нем протокол IGMP, с помощью которого хост может отправить сообщение своему маршрутизатору о желании присоединиться к группе. Помимо этого, надо сконфигурировать сетевой интерфейс хоста так, чтобы он стал захватывать из локальной сети кадры, несущие в себе пакеты группового вещания для той группы, к которой присоединился хост. Для этого необходимо настроить интерфейс на прослушивание определенного группового адреса канального уровня, соответствующего групповому IP-адресу. К сожалению, адресное пространство групповых IP-адресов в 32 раза объемнее пространства групповых МАС-адресов. То есть отображение этих двух адресных пространств оказывается далеко неоднозначным — на один и тот же групповой МАС-адрес отображается целый блок из 32 различных групповых IP-адресов. Следовательно, когда сетевой адаптер захватывает кадр, содержащий пакет группового вещания, существует значительная вероятность того, что этот пакет был направлен совсем другой группе. Однако эта ошибка скоро обнаруживается. Когда кадр передается вверх по стеку, протокол IP проверяет, совпадает ли групповой IP-адрес в поле адреса назначения инкапсулированного пакета с групповым IP-адресом данного интерфейса. (Отметим, что ни групповые IP-адреса, ни групповые МАС-адреса никогда не используются в качестве адресов отправителя.)