
- •Часть 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 на основе шифрования
- •Вопросы и задания
- •Рекомендуемая и использованная литература
Три этапа построения дерева
На рис. 14.2 приведен пример сети из стандарта 802.1D-2004, который иллюстрирует работу протокола STP. Мы также будем использовать этот пример в своем описании.
В этом примере сеть построена на восьми коммутаторах, которые имеют идентификаторы со значениями от 111 до 888 (для удобства записи здесь используются сокращенные до 3-х разрядов значения МАС-адресов коммутаторов). Все коммутаторы соединены друг с другом двухточечными связями, которые образуют сегменты A-N. Порты 3 и 4 коммутаторов с 555 по 888 соединены с конечными узлами сети, то есть компьютерами (на рисунке не показаны). Все связи в сети — это связи со скоростью 100 Мбит/с (Fast Ethernet).
Алгоритм STA определяет активную конфигурацию сети за три этапа.
Первый этап — определение корневого коммутатора, от которого строится дерево.
В качестве корневого коммутатора выбирается коммутатор с наименьшим значением идентификатора. В исходном состоянии каждый коммутатор считает себя корневым, поэтому он генерирует и передает своим соседям сообщения Hello, в которых помещает свой идентификатор в качестве идентификатора корневого коммутатора. Как только коммутатор получает от соседа сообщение Hello, в котором содержится идентификатор корневого коммутатора, меньший его собственного, он перестает считать себя корневым коммутатором и генерировать свои сообщения Hello, но начинает ретранслировать сообщения Hello, получаемые от соседей.
Рис. 14.2. Пример сети, иллюстрирующей работу STP
Если администратор не вмешается в этот процесс, корневой коммутатор выбирается достаточно случайным образом — им станет устройство с минимальным МАС-адресом блока управления. Очевидно, что такой выбор может оказаться далеко не рациональным. Например, при выборе коммутатора 555 в качестве корневого значительная часть трафика проходила бы через большое количество транзитных сегментов и коммутаторов. Поэтому пускать данный процесс «на самотек» администратору не стоит — лучше в него вмешаться и назначить корневой коммутатор осознанно (путем соответствующего конфигурирования старших байтов идентификаторов коммутатора), чтобы выбранный коммутатор действительно занимал центральное место в соединениях сегментов.
В нашем примере мы предполагаем, что администратор не стал менять приоритеты коммутаторов, так что у всех коммутаторов они остались равными значению 32 768 (значение по умолчанию), и корневым коммутатором стал коммутатор с идентификатором 111. Второй этап — выбор корневого порта для каждого коммутатора.
Корневым портом коммутатора является тот порт, расстояние от которого до корневого коммутатора является минимальным. Сам корневой коммутатор корневых портов не имеет.
Для определения корневого порта каждый коммутатор использует пакеты Hello, ретранслируемые ему другими коммутаторами. На основании этих пакетов каждый коммутатор определяет минимальные расстояния от всех своих портов до корневого коммутатора. При ретрансляции сообщения Hello каждый коммутатор увеличивает указанное в сообщении расстояние до корня на метрику того сегмента, из которого принят данный пакет. Тем самым в пакете Hello по мере прохождения через коммутаторы наращивается поле, показывающее расстояние до корневого коммутатора. Например, если считать, что все сегменты в рассматриваемом примере являются сегментами Ethernet со скоростью 100 Мбит/с, то коммутатор 222, приняв из сегмента А пакет Hello со значением расстояния, равным 0, увеличивает его на 200 000 условных единиц (если коммутатор работает с величинами метрики, рекомендованными версией стандарта STP от 2004 года).
Ретранслируя пакеты, каждый коммутатор для каждого своего порта запоминает минимальное расстояние до корня, встретившееся во всех принятых этим портом пакетах Hello. По завершении процедуры определения конфигурации покрывающего дерева каждый коммутатор находит свой корневой порт (с минимальным расстоянием до корня).
При равных метриках для разрешения неоднозначности к процедуре выбора минимального расстояния привлекаются значения идентификаторов коммутаторов и портов. Предпочтение отдается портам и коммутаторам с наименьшими идентификаторами. Например, у коммутатора 222 порты 1 и 2 находятся на одинаковом расстоянии до корневого коммутатора 111 — оба эти порта непосредственно связаны через сегменты А и В с коммутатором 111, а значит, получают пакеты Hello с метрикой, равной 0. Так как идентификатор порта 1 меньше идентификатора порта 2, то корневым портом коммутатора 222 выбирается порт 1.
По аналогичной причине корневым портом коммутатора 555 становится порт 1, а не порт 2. Оба эти порта получают сообщения Hello, генерируемые корневым коммутатором 111, с наименьшим значением метрики 200 000. Порт 1 получает такие сообщения по маршруту: порт 1 коммутатора 111 — сегмент С — порт 1 коммутатора 333 — порт 6 коммутатора 333 — сегмент G, соответственно порт 2 получает их по маршруту: порт 3 коммутатора 111 — сегмент Е — порт 1 коммутатора 444 — порт 6 коммутатора 444 — сегмент I. Третий этап — выбор назначенных коммутаторов и портов для каждого сегмента сети. Назначенным является тот коммутатор (из числа коммутаторов, непосредственно подключенных к данному сегменту), у которого расстояние до корневого моста является минимальным (точнее, расстояние от корневого порта этого коммутатора до корневого коммутатора). Назначенные порты для сегментов исполняют ту же роль, что корневые порты для коммутаторов — они находятся на кратчайшем пути до корневого коммутатора.
Как и при выборе корневого порта, здесь используется распределенная процедура. Каждый коммутатор сегмента, прежде всего, исключает из рассмотрения свой корневой порт (для сегмента, к которому он подключен, всегда существует другой коммутатор, расположенный ближе к корню). Для каждого из оставшихся портов выполняется сравнение принятых по ним минимальных расстояний до корня (еще до наращивания на метрику сегмента) с расстоянием до корня корневого порта данного коммутатора. Если все принятые на этом порту расстояния оказываются больше, чем расстояние от собственного корневого порта, значит, для сегмента, к которому подключен порт, кратчайший путь к корневому коммутатору проходит через него, и он становится назначенным. Коммутатор делает все свои порты, для которых такое условие выполняется, назначенными. Когда имеется несколько портов с одинаковым кратчайшим расстоянием до корневого коммутатора, выбирается порт с наименьшим идентификатором.
В рассматриваемом примере коммутатор 111 при проверке порта 1 обнаруживает, что через этот порт принимаются пакеты с минимальным расстоянием 200 000 (это пакеты от порта 1 коммутатора 222, который ретранслирует через все свои порты сообщения Hello, полученные от коммутатора 111, но с измененной метрикой, в частности передает их и коммутатору 111). Так как коммутатор 111 является корневым, то его расстояние до корневого коммутатора равно нулю, то есть меньше, чем у получаемых через порт 1 сообщений. Поэтому коммутатор 1 объявляет свой порт 1 назначенным для сегмента А. Коммутатор 222 не может объявить свой порт 1 назначенным для сегмента А, так как через него он получает сообщения с минимальной метрикой 0, а у его корневого порта метрика равна 200 000.
На выполнение всех трех этапов коммутаторам сети отводится по умолчанию 15 с. Эта стадия работы портов называется стадией прослушивания (listening), поскольку порты слушают только сообщения BPDU и не передают пользовательских кадров. Считается, что порты находятся в заблокированном состоянии, которое относится только к пользовательским кадрам, в то время как кадры BPDU обрабатываются. Предполагается, что в стадии прослушивания каждый коммутатор получит столько пакетов Hello, сколько потребуется для определения состояния своих портов.
Все остальные порты, кроме корневых и назначенных, каждым коммутатором блокируются и не могут передавать пользовательские кадры. Математически доказано, что при таком выборе активных портов в сети исключаются петли, а оставшиеся связи образуют покрывающее дерево (если оно вообще может быть построено при существующих связях в сети).
Результат работы протокола STP для нашего примера показан на рис. 14.3.
На рисунке корневые порты коммутаторов отмечены символом R, назначенные порты закрашены, а заблокированные зачеркнуты.
После построения покрывающего дерева коммутатор начинает принимать (но не продвигать) пакеты данных и на основе их адресов источника строить таблицу продвижения. Это обычный режим обучения прозрачного моста, который ранее нельзя было активизировать, так как порт не был уверен в том, что он останется корневым или назначенным и будет передавать пакеты данных. Стадия обучения (learning) также выдерживается в течение интервала 15 с. При этом порт продолжает участвовать в работе алгоритма STA, так что поступление пакетов BPDU с лучшими параметрами переводит его в заблокированное состояние.
И только после двукратной выдержки по таймеру порт переходит в стадию продвижения (forwarding) и начинает продвигать пользовательские кадры в соответствии с построенной таблицей (которая продолжает модифицироваться, отражая изменения в структуре сети). Фактически в нашем примере в продвижении пользовательских пакетов после построения активной топологии участвуют только коммутаторы 111,333 и с 555 по 888.
В процессе нормальной работы корневой коммутатор продолжает генерировать пакеты Hello, а остальные коммутаторы получают их через свои корневые порты и ретранслируют через назначенные порты. У коммутатора могут отсутствовать назначенные порты, как у коммутаторов 222 и 444, но он все равно участвует в работе протокола STA, так как корневой порт принимает служебные пакеты BPDU.
Рис. 14.3. Активная топология, найденная по протоколу STP
Если по истечении максимального времени жизни сообщения (по умолчанию — 10 интервалов Hello, то есть 20 с) корневой порт любого коммутатора сети не получает служебный пакет Hello, то он инициализирует новую процедуру построения покрывающего дерева. При этом на все порты генерируется и передается пакет Hello, в котором коммутатор указывает себя в качестве корневого. Аналогичным образом ведут себя и другие коммутаторы сети, у которых сработал таймер истечения максимального времени жизни сообщения, в результате чего выбирается новая активная конфигурация.
В процессе изменения активной топологии адресная информация, находящаяся в таблицах продвижения коммутаторов, может перестать соответствовать действительности, так как некоторые порты изменяют свое состояние с активного на заблокированное, и наоборот. Использование устаревшей адресной информации может приводить к тому, что некоторое время кадры будут посылаться в неверном направлении и не доходить до адресатов. Для того чтобы сообщить коммутатору о том, что в сети произошло изменение топологии и необходимо удалить старую адресную информацию, по сети распространяются уведомления об изменении конфигурации (это особый тип пакета BPDU).