Компьютерные сети

5.1 Статическая маршрутизация

Что такое маршрутизация?

Маршрутизация — это процесс определения пути, по которому пакет должен пройти от источника к получателю через сеть. Маршрутизатор принимает решение на основе таблицы маршрутизации.

Аналогия: Таблица маршрутизации — это как карта дорог. Маршрутизатор смотрит на адрес назначения и выбирает, по какой "дороге" (интерфейсу) отправить пакет.

Статическая маршрутизация

Статическая маршрутизация — это когда администратор вручную настраивает маршруты в таблице маршрутизации. Маршруты не меняются автоматически.

Когда использовать статическую маршрутизацию:

  • Простые сети: Маленькие сети с несколькими маршрутизаторами
  • Специальные пути: Резервные маршруты или обход проблемных участков
  • Default route: Маршрут по умолчанию (куда отправлять пакеты, если нет конкретного маршрута)
  • Blackhole: Маршрут для отбрасывания нежелательного трафика

Преимущества:

  • Простота настройки для малых сетей
  • Предсказуемость — администратор контролирует все пути
  • Низкая нагрузка на процессор маршрутизатора
  • Безопасность — нет обмена служебными сообщениями

Недостатки:

  • Не масштабируется — в больших сетях настройка становится сложной
  • Ручное обновление — при изменениях нужно вручную менять маршруты
  • Нет автоматического восстановления — при отказе канала маршрут не переключится автоматически

Примеры статических маршрутов

# Просмотр таблицы маршрутизации
# Windows
route print

# Добавление статического маршрута
# Windows: route add сеть mask маска шлюз
route add 10.10.0.0 mask 255.255.0.0 192.168.1.1

# Linux
ip route show
# или
route -n

# Добавление статического маршрута
# Linux: ip route add сеть/префикс via шлюз
ip route add 10.10.0.0/16 via 192.168.1.1

# Маршрут по умолчанию (default gateway)
# Windows
route add 0.0.0.0 mask 0.0.0.0 192.168.1.1

# Linux
ip route add default via 192.168.1.1

Маршрут по умолчанию: Это "последний шанс" — если маршрутизатор не знает, куда отправить пакет, он отправляет его по маршруту по умолчанию. Обычно это шлюз в интернет.

Резюме

Ключевые моменты:

  • Маршрутизация — определение пути пакета через сеть
  • Статическая маршрутизация — маршруты настраиваются вручную администратором
  • Подходит для: Малых сетей, специальных путей, маршрутов по умолчанию
  • Преимущества: Простота, предсказуемость, низкая нагрузка
  • Недостатки: Не масштабируется, требует ручного обновления

Цель: Обеспечить доставку пакетов в простых сетях без сложных протоколов динамической маршрутизации.

5.2 HSRP/VRRP/GLBP — протоколы резервирования шлюзов

Проблема: единая точка отказа

Представьте ситуацию: в вашей сети все устройства используют один маршрутизатор как шлюз по умолчанию (default gateway). Если этот маршрутизатор выходит из строя, вся сеть теряет доступ к внешним сетям и интернету.

Проблема: Статическая настройка шлюза по умолчанию создает единую точку отказа. Если маршрутизатор сломается, все хосты потеряют связь с внешним миром.

Решение: FHRP (First Hop Redundancy Protocol) — протоколы, обеспечивающие резервирование шлюза по умолчанию через виртуальный IP-адрес.

Что такое HSRP?

HSRP (Hot Standby Router Protocol) — проприетарный протокол Cisco для обеспечения отказоустойчивости шлюза по умолчанию. Несколько маршрутизаторов работают как группа и представляются хостам как один виртуальный маршрутизатор с общим IP и MAC адресом.

Как работает HSRP:

  • Виртуальный IP: Создается виртуальный IP-адрес, который используется хостами как шлюз по умолчанию
  • Active router: Один маршрутизатор выбирается активным и обрабатывает весь трафик
  • Standby router: Другой маршрутизатор находится в режиме ожидания, готовый перехватить трафик
  • Hello-сообщения: Маршрутизаторы обмениваются сообщениями для контроля доступности (по умолчанию каждые 3 секунды)
  • Failover: Если Active router перестает отвечать (10 секунд по умолчанию), Standby автоматически становится Active

Выбор Active и Standby

Процесс выбора:

  1. Приоритет: Маршрутизатор с наивысшим приоритетом (0-255, по умолчанию 100) становится Active
  2. IP-адрес: При равных приоритетах выбирается тот, у кого выше IP-адрес интерфейса
  3. Preemption: По умолчанию отключено — если Active восстановился, он не забирает роль обратно. Можно включить командой standby preempt

Версии HSRP

HSRP версия 1 vs версия 2:

  • Версия 1: Поддерживает до 255 групп (0-255), использует multicast 224.0.0.2
  • Версия 2: Поддерживает до 4095 групп (0-4095), использует multicast 224.0.0.102, поддержка IPv6, улучшенные таймеры (миллисекунды)
# Базовая настройка HSRP на Cisco (Router1 - Active)
Router1(config)# interface GigabitEthernet0/0
Router1(config-if)# ip address 192.168.1.1 255.255.255.0
Router1(config-if)# standby 1 ip 192.168.1.254          # Виртуальный IP
Router1(config-if)# standby 1 priority 110              # Приоритет (выше = лучше)
Router1(config-if)# standby 1 preempt                   # Вернуть роль Active при восстановлении

# Настройка HSRP на Cisco (Router2 - Standby)
Router2(config)# interface GigabitEthernet0/0
Router2(config-if)# ip address 192.168.1.2 255.255.255.0
Router2(config-if)# standby 1 ip 192.168.1.254          # Тот же виртуальный IP
Router2(config-if)# standby 1 priority 90               # Меньший приоритет

# Проверка состояния HSRP
Router# show standby
Router# show standby brief

VRRP — открытый стандарт

VRRP (Virtual Router Redundancy Protocol) — стандартизированный протокол (RFC 5798), аналог HSRP, работающий на оборудовании разных производителей.

Отличия VRRP от HSRP:

  • Стандартизация: VRRP — открытый стандарт, HSRP — проприетарный Cisco
  • Терминология: В VRRP: Master/Backup (вместо Active/Standby в HSRP)
  • Preemption: В VRRP включен по умолчанию
  • IP-адрес: VRRP может использовать реальный IP интерфейса как виртуальный
  • Multicast: VRRP использует 224.0.0.18, HSRP — 224.0.0.2
  • Таймеры: В VRRP advertisement interval по умолчанию 1 секунда (в HSRP hello — 3 секунды)
# Настройка VRRP на Cisco (Router1 - Master)
Router1(config)# interface GigabitEthernet0/0
Router1(config-if)# ip address 192.168.1.1 255.255.255.0
Router1(config-if)# vrrp 1 ip 192.168.1.254
Router1(config-if)# vrrp 1 priority 110

# Настройка VRRP на Cisco (Router2 - Backup)
Router2(config)# interface GigabitEthernet0/0
Router2(config-if)# ip address 192.168.1.2 255.255.255.0
Router2(config-if)# vrrp 1 ip 192.168.1.254
Router2(config-if)# vrrp 1 priority 90

# Проверка состояния VRRP
Router# show vrrp
Router# show vrrp brief

GLBP — балансировка нагрузки

GLBP (Gateway Load Balancing Protocol) — проприетарный протокол Cisco, который не только обеспечивает резервирование, но и балансирует нагрузку между несколькими маршрутизаторами.

Как работает GLBP:

  • AVG (Active Virtual Gateway): Один маршрутизатор управляет группой
  • AVF (Active Virtual Forwarder): Все маршрутизаторы могут одновременно пересылать трафик
  • Виртуальные MAC: AVG выдает каждому AVF уникальный виртуальный MAC-адрес
  • Балансировка: AVG распределяет MAC-адреса между хостами через ARP-ответы
  • Отказоустойчивость: При отказе AVF другой маршрутизатор берет на себя его MAC-адрес

Методы балансировки GLBP:

  • Round-robin: По очереди (по умолчанию)
  • Weighted: Пропорционально весу маршрутизатора
  • Host-dependent: Один хост всегда получает один и тот же MAC
# Настройка GLBP на Cisco
Router1(config)# interface GigabitEthernet0/0
Router1(config-if)# ip address 192.168.1.1 255.255.255.0
Router1(config-if)# glbp 1 ip 192.168.1.254
Router1(config-if)# glbp 1 priority 110
Router1(config-if)# glbp 1 preempt
Router1(config-if)# glbp 1 load-balancing round-robin   # Метод балансировки

# Проверка состояния GLBP
Router# show glbp
Router# show glbp brief

Сравнение протоколов

ХарактеристикаHSRPVRRPGLBP
ПроизводительCisco (проприетарный)Открытый стандарт (RFC 5798)Cisco (проприетарный)
Активные роутеры1 Active1 MasterВсе активны (AVF)
БалансировкаНетНетДа
PreemptionПо умолчанию выкл.По умолчанию вкл.По умолчанию выкл.
Multicast адрес224.0.0.2 (v1)
224.0.0.102 (v2)
224.0.0.18224.0.0.102
Таймер по умолчанию3 сек (hello)1 сек (advertisement)3 сек (hello)
Поддержка IPv6Да (v2)Да (VRRPv3)Нет

Практические рекомендации

Когда использовать:

  • HSRP: Сети Cisco, нужна простота и надежность
  • VRRP: Мультивендорная среда, нужна совместимость
  • GLBP: Cisco-сети, нужна балансировка нагрузки между шлюзами

Лучшие практики:

  • Тюнинг таймеров: Уменьшите таймеры для быстрого обнаружения сбоев (но осторожно — может вызвать ложные срабатывания)
  • Track интерфейсы: Отслеживайте состояние uplink-портов, чтобы снизить приоритет при их падении
  • Аутентификация: Используйте MD5-аутентификацию для защиты от атак
  • Preempt: Включайте preempt только если уверены, что это не вызовет нестабильности
  • Документирование: Четко документируйте приоритеты и роли маршрутизаторов
# Расширенная настройка HSRP с отслеживанием и аутентификацией
Router1(config)# interface GigabitEthernet0/0
Router1(config-if)# ip address 192.168.1.1 255.255.255.0
Router1(config-if)# standby 1 ip 192.168.1.254
Router1(config-if)# standby 1 priority 110
Router1(config-if)# standby 1 preempt
Router1(config-if)# standby 1 authentication md5 key-string MySecureKey
Router1(config-if)# standby 1 track GigabitEthernet0/1 20  # Снизить приоритет на 20 при падении uplink

# Таймеры в миллисекундах (осторожно!)
Router1(config-if)# standby 1 timers msec 200 msec 700    # hello 200ms, hold 700ms

Важно: FHRP защищает только от отказа маршрутизатора, но не от отказа канала за маршрутизатором. Используйте отслеживание интерфейсов (track) для комплексной отказоустойчивости.

Резюме

Ключевые моменты:

  • FHRP — протоколы резервирования шлюза по умолчанию через виртуальный IP
  • HSRP — проприетарный Cisco, 1 Active + 1 Standby, preempt по умолчанию выключен
  • VRRP — открытый стандарт, 1 Master + Backup, preempt по умолчанию включен
  • GLBP — Cisco, балансировка нагрузки между всеми маршрутизаторами
  • Выбор Active/Master: По приоритету (0-255), затем по IP-адресу
  • Failover: Автоматическое переключение при отказе активного маршрутизатора
  • Track: Отслеживание состояния uplink-портов для умного переключения

Цель: Обеспечить отказоустойчивость сети через резервирование шлюза по умолчанию, исключив единую точку отказа.

5.3 OSPF основы

Проблема статической маршрутизации

В больших сетях статическая маршрутизация становится неэффективной: при изменениях нужно вручную обновлять маршруты на всех маршрутизаторах, нет автоматического восстановления при отказе каналов.

Решение: Динамическая маршрутизация — маршрутизаторы автоматически обмениваются информацией о сетях и строят таблицы маршрутизации.

Что такое OSPF?

OSPF (Open Shortest Path First) — протокол динамической маршрутизации, который работает внутри одной организации (внутридоменный протокол). Он использует алгоритм состояния канала (Link State).

Принцип работы OSPF:

  1. Обнаружение соседей: Маршрутизаторы находят соседние OSPF-маршрутизаторы
  2. Обмен информацией: Каждый маршрутизатор сообщает о своих подключенных сетях
  3. Построение карты: Все маршрутизаторы строят одинаковую "карту" сети
  4. Вычисление путей: Используя алгоритм Dijkstra, каждый маршрутизатор вычисляет кратчайшие пути ко всем сетям
  5. Обновление: При изменениях информация обновляется автоматически

Аналогия: Если статическая маршрутизация — это "записная книжка с адресами", то OSPF — это "GPS-навигатор", который автоматически строит маршруты и обновляется при изменениях.

Области OSPF: иерархическая структура

OSPF делит сеть на области (areas) для масштабирования и уменьшения нагрузки:

Структура областей:

  • Area 0 (Backbone) — центральная область, через которую проходят все межобластные маршруты. Обязательна в любой OSPF-сети
  • Обычные области — подключены к Area 0, содержат сети организации
  • Преимущества: Уменьшение размера таблиц маршрутизации, ограничение распространения изменений, упрощение управления

Важно: Все области должны быть подключены к Area 0. Прямое соединение между обычными областями (минуя Area 0) невозможно.

LSA: как распространяется информация

LSA (Link State Advertisement) — это сообщения, которыми маршрутизаторы обмениваются информацией о сетях.

Основные типы LSA:

  • LSA Type 1 (Router LSA) — описывает маршрутизатор и его подключенные сети внутри области
  • LSA Type 2 (Network LSA) — описывает сегмент сети с несколькими маршрутизаторами (выбирается DR)
  • LSA Type 3 (Summary LSA) — сводка сетей области для других областей (распространяется ABR)
  • LSA Type 5 (External LSA) — внешние маршруты, импортированные из других протоколов (распространяется ASBR)

Метрика: стоимость пути

OSPF использует стоимость (cost) как метрику для выбора лучшего пути. Стоимость обратно пропорциональна пропускной способности канала.

Расчет стоимости:

  • Формула: Стоимость = Reference Bandwidth / Пропускная способность канала
  • По умолчанию Reference Bandwidth = 100 Мбит/с
  • Примеры: 100 Мбит/с = стоимость 1, 10 Мбит/с = стоимость 10, 1 Гбит/с = стоимость 0.1 (округляется до 1)

Важно: Для высокоскоростных каналов (10 Гбит/с, 40 Гбит/с) нужно увеличить Reference Bandwidth, иначе все быстрые каналы будут иметь одинаковую стоимость.

DR и BDR: для многодоступных сетей

В сетях, где несколько маршрутизаторов подключены к одному сегменту (например, через коммутатор), выбираются:

DR (Designated Router) и BDR (Backup Designated Router):

  • DR — главный маршрутизатор сегмента, обменивается LSA с другими маршрутизаторами
  • BDR — резервный маршрутизатор, заменяет DR при его отказе
  • Цель: Уменьшить количество соединений между маршрутизаторами (вместо полносвязной топологии)
  • Выбор: По приоритету и Router ID (чем выше приоритет, тем лучше)

Важно: DR/BDR выбираются только на многодоступных сегментах (broadcast, NBMA). На point-to-point соединениях DR/BDR не нужны.

Состояния соседства OSPF

Маршрутизаторы проходят через несколько состояний перед установлением полного соседства:

Переход к полному соседству:

  1. Down — нет связи с соседом
  2. Init — получен Hello от соседа
  3. 2-Way — двусторонняя связь установлена
  4. ExStart — начало обмена базами данных
  5. Exchange — обмен LSA
  6. Loading — загрузка недостающих LSA
  7. Full — полное соседство, базы данных синхронизированы

Проблемы: Соседство не установится, если не совпадают: Area ID, аутентификация, MTU, Hello/Dead интервалы, типы сетей.

Типы областей для оптимизации

Специальные типы областей:

  • Stub Area — не получает внешние маршруты (LSA Type 5), использует default route
  • Totally Stub Area — не получает внешние и межобластные маршруты, только default route
  • NSSA (Not-So-Stubby Area) — может импортировать внешние маршруты через LSA Type 7
  • Цель: Уменьшить размер таблиц маршрутизации и нагрузку на маршрутизаторы

OSPFv2 и OSPFv3

Различия:

  • OSPFv2 — для IPv4, использует протокольный номер 89
  • OSPFv3 — для IPv6, использует протокольный номер 89, но работает поверх IPv6
  • Оба протокола могут работать одновременно на одном маршрутизаторе

Резюме

Ключевые моменты:

  • OSPF — протокол динамической маршрутизации состояния канала
  • Области — иерархическая структура с обязательной Area 0 (Backbone)
  • LSA — сообщения для обмена информацией о сетях
  • Метрика — стоимость пути, обратно пропорциональна пропускной способности
  • DR/BDR — для оптимизации в многодоступных сетях
  • Алгоритм Dijkstra — вычисление кратчайших путей

Цель: Автоматическое построение оптимальных маршрутов в больших сетях с возможностью быстрого восстановления при изменениях.

5.4 BGP основы

Что такое BGP?

BGP (Border Gateway Protocol) — протокол маршрутизации, который используется для обмена маршрутами между разными организациями в интернете. Это "язык", на котором говорят интернет-провайдеры и крупные организации.

Аналогия: Если OSPF — это "внутренняя почта" организации, то BGP — это "международная почта" между разными странами (организациями).

Автономные системы (AS)

AS (Autonomous System) — это сеть или группа сетей под единым административным управлением. Каждая AS имеет уникальный номер (ASN).

Примеры AS:

  • Интернет-провайдер имеет свой ASN (например, AS12345)
  • Крупная корпорация может иметь свой ASN
  • Университет может иметь свой ASN
  • ASN — это как "почтовый индекс" для организации в интернете

iBGP и eBGP

eBGP (External BGP):

  • Соединение между маршрутизаторами из разных AS
  • Используется для обмена маршрутами между организациями
  • Пример: ваш провайдер обменивается маршрутами с другими провайдерами

iBGP (Internal BGP):

  • Соединение между маршрутизаторами внутри одной AS
  • Используется для распространения внешних маршрутов внутри организации
  • Требует полносвязной топологии или использования Route Reflectors

Атрибуты BGP: как выбирается путь

BGP использует множество атрибутов для выбора лучшего пути. Маршрутизатор проверяет их в определенном порядке:

Порядок выбора пути (Best Path Selection):

  1. Weight — локальный параметр (только на этом маршрутизаторе), не передается другим
  2. Local Preference — приоритет внутри AS, влияет на выбор исходящего пути
  3. AS-PATH — список пройденных AS, чем короче путь, тем лучше
  4. Origin — источник маршрута (IGP, EGP, Incomplete)
  5. MED — метрика для влияния на выбор входящего пути
  6. eBGP > iBGP — внешние маршруты предпочтительнее внутренних
  7. IGP cost — стоимость пути до next-hop
  8. Router ID — наименьший Router ID выигрывает

Важно: BGP выбирает только один лучший путь (best path) для каждого префикса. Этот путь помечается как "best" и используется для маршрутизации.

Ключевые атрибуты BGP

AS-PATH:

  • Список номеров AS, через которые прошел маршрут
  • Пример: AS-PATH = [64512, 12345, 67890] означает, что маршрут прошел через эти три AS
  • Используется для предотвращения петель (если маршрутизатор видит свой AS в пути, он отклоняет маршрут)

Local Preference:

  • Приоритет маршрута внутри AS (выше = лучше)
  • Используется для выбора исходящего пути (какой провайдер использовать для выхода)
  • Не передается другим AS

MED (Multi-Exit Discriminator):

  • Метрика для влияния на выбор входящего пути
  • Используется, когда у организации несколько соединений с провайдером
  • Меньше = лучше

Communities:

  • Метки для группировки маршрутов и применения политик
  • Примеры: no-export (не экспортировать), blackhole (отбросить), local-preference (установить приоритет)
  • Упрощают управление маршрутизацией

Масштабирование BGP

Route Reflectors:

  • Решают проблему полносвязности iBGP (когда нужно много соединений между маршрутизаторами)
  • Route Reflector получает маршруты от клиентов и отражает их другим клиентам
  • Упрощает топологию iBGP

Конфедерации:

  • Разделение большой AS на несколько "под-AS"
  • Внутри конфедерации используется eBGP, но внешне выглядит как одна AS
  • Упрощает управление и уменьшает количество iBGP-соединений

Безопасность BGP

Методы защиты:

  • GTSM/TTL Security — проверка TTL для защиты от удаленных атак
  • MD5 аутентификация — защита от подделки BGP-сообщений
  • RPKI (Resource Public Key Infrastructure) — проверка, что организация имеет право объявлять префиксы
  • Prefix-фильтры — ограничение принимаемых маршрутов
  • AS-path фильтры — блокировка маршрутов от нежелательных AS

Важно: BGP-утечки (когда организация объявляет чужие префиксы) могут вызвать серьезные проблемы в интернете. Поэтому важна валидация маршрутов через RPKI.

Резюме

Ключевые моменты:

  • BGP — протокол для обмена маршрутами между разными организациями (AS)
  • AS — автономная система, сеть под единым управлением
  • eBGP — между разными AS, iBGP — внутри одной AS
  • Атрибуты: AS-PATH, Local Preference, MED, Communities влияют на выбор пути
  • Best Path Selection — сложный алгоритм выбора лучшего маршрута
  • Масштабирование: Route Reflectors и Конфедерации для больших сетей

Цель: Обеспечить надежный обмен маршрутами между организациями в интернете с возможностью применения политик маршрутизации.

5.5 ACL (Access Control Lists) и политики

Что такое ACL?

ACL (Access Control List) — это список правил фильтрации трафика, которые применяются на маршрутизаторах и коммутаторах L3. ACL позволяют контролировать, какой трафик разрешен или запрещен на основе различных критериев: IP-адресов, протоколов, портов и других параметров.

Основные применения ACL:

  • Безопасность: Ограничение доступа к определенным ресурсам сети
  • Фильтрация трафика: Блокировка нежелательного трафика на границах сети
  • Управление политиками: Определение трафика для QoS, NAT, VPN
  • Контроль маршрутизации: Фильтрация обновлений протоколов маршрутизации

Типы ACL

Standard ACL (Стандартные списки контроля доступа):

  • Номера: 1-99 и 1300-1999
  • Фильтрация: Только по IP-адресу источника (source IP)
  • Ограничения: Нельзя фильтровать по адресу назначения, портам или протоколам
  • Применение: Простая фильтрация, например, запрет доступа с определенной подсети
  • Рекомендация: Размещайте Standard ACL как можно ближе к назначению

Extended ACL (Расширенные списки контроля доступа):

  • Номера: 100-199 и 2000-2699
  • Фильтрация: По множеству критериев:
    • IP-адрес источника (source IP)
    • IP-адрес назначения (destination IP)
    • Протокол (TCP, UDP, ICMP, и др.)
    • Номера портов источника и назначения
    • Флаги TCP (SYN, ACK, FIN и др.)
    • ICMP-сообщения (echo, reply, unreachable и др.)
  • Применение: Детальный контроль трафика, например, разрешить HTTP, но запретить Telnet
  • Рекомендация: Размещайте Extended ACL как можно ближе к источнику

Named ACL (Именованные списки контроля доступа):

  • Идентификация: Имя вместо номера (например, "BLOCK-GUEST-VLAN")
  • Тип: Могут быть Standard или Extended
  • Преимущества:
    • Легче читать и понимать назначение ACL
    • Можно редактировать отдельные правила (вставлять/удалять по номеру строки)
    • Нет ограничения на количество ACL
  • Современная практика: Рекомендуется использовать Named ACL для лучшей читаемости
Тип ACLДиапазон номеровКритерии фильтрацииГде размещать
Standard 1-99, 1300-1999 Только source IP Близко к назначению
Extended 100-199, 2000-2699 Source/Dest IP, протокол, порты Близко к источнику
Named Standard Имя Только source IP Близко к назначению
Named Extended Имя Source/Dest IP, протокол, порты Близко к источнику

Ключевые принципы работы ACL

1. Порядок обработки правил (Top-to-Bottom):

  • Правила проверяются сверху вниз по порядку
  • Первое совпавшее правило применяется, остальные игнорируются
  • Важно размещать более специфичные правила в начале, общие — в конце

2. Неявный Deny All в конце (Implicit Deny):

  • В конце каждого ACL автоматически добавляется правило deny ip any any
  • Если пакет не совпал ни с одним правилом, он блокируется
  • Всегда добавляйте явное permit правило для разрешенного трафика

3. Направление применения (Inbound vs Outbound):

  • Inbound (входящий): Фильтрует трафик, приходящий на интерфейс (до маршрутизации)
  • Outbound (исходящий): Фильтрует трафик, выходящий с интерфейса (после маршрутизации)
  • На одном интерфейсе может быть два ACL: один inbound, один outbound

4. Wildcard Mask (инверсная маска):

  • Используется для определения диапазона адресов
  • 0 — этот бит должен совпадать (проверяется)
  • 1 — этот бит игнорируется (любое значение)
  • Примеры:
    • 0.0.0.0 — точное совпадение адреса
    • 0.0.0.255 — совпадение всей подсети /24
    • 0.0.255.255 — совпадение всей подсети /16
    • 255.255.255.255 — любой адрес (то же, что any)

Примеры настройки Standard ACL

# Пример 1: Блокировать трафик от одного хоста
Router(config)# access-list 10 deny host 192.168.1.100
Router(config)# access-list 10 permit any

# Пример 2: Разрешить только трафик из подсети 10.0.0.0/24
Router(config)# access-list 20 permit 10.0.0.0 0.0.0.255
Router(config)# access-list 20 deny any

# Пример 3: Named Standard ACL - блокировать гостевую подсеть
Router(config)# ip access-list standard BLOCK-GUEST
Router(config-std-nacl)# deny 172.16.100.0 0.0.0.255
Router(config-std-nacl)# permit any
Router(config-std-nacl)# exit

# Применение ACL на интерфейс (outbound)
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group BLOCK-GUEST out

Примеры настройки Extended ACL

# Пример 1: Разрешить HTTP и HTTPS, запретить Telnet
Router(config)# access-list 100 permit tcp any any eq 80
Router(config)# access-list 100 permit tcp any any eq 443
Router(config)# access-list 100 deny tcp any any eq 23
Router(config)# access-list 100 permit ip any any

# Пример 2: Блокировать ICMP ping от подсети 192.168.1.0/24
Router(config)# access-list 110 deny icmp 192.168.1.0 0.0.0.255 any echo
Router(config)# access-list 110 permit ip any any

# Пример 3: Named Extended ACL - контроль доступа к серверу
Router(config)# ip access-list extended SERVER-ACCESS
Router(config-ext-nacl)# permit tcp 10.0.0.0 0.0.0.255 host 192.168.1.100 eq 80
Router(config-ext-nacl)# permit tcp 10.0.0.0 0.0.0.255 host 192.168.1.100 eq 443
Router(config-ext-nacl)# permit tcp 10.0.1.0 0.0.0.255 host 192.168.1.100 eq 22
Router(config-ext-nacl)# deny ip any host 192.168.1.100
Router(config-ext-nacl)# permit ip any any
Router(config-ext-nacl)# exit

# Применение ACL на интерфейс (inbound)
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip access-group SERVER-ACCESS in

Детальные примеры Extended ACL

# Пример 4: Разрешить установленные TCP-соединения (established)
Router(config)# access-list 120 permit tcp any any established
Router(config)# access-list 120 deny tcp any any
Router(config)# access-list 120 permit ip any any

# Пример 5: Блокировать доступ к определенному диапазону портов
Router(config)# ip access-list extended BLOCK-PORTS
Router(config-ext-nacl)# deny tcp any any range 1024 2000
Router(config-ext-nacl)# permit ip any any

# Пример 6: Разрешить только DNS и NTP
Router(config)# ip access-list extended ALLOW-DNS-NTP
Router(config-ext-nacl)# permit udp any any eq 53     # DNS
Router(config-ext-nacl)# permit udp any any eq 123    # NTP
Router(config-ext-nacl)# deny ip any any

# Пример 7: Блокировать исходящий трафик на Facebook (пример)
Router(config)# ip access-list extended BLOCK-SOCIAL
Router(config-ext-nacl)# deny ip any 31.13.0.0 0.0.255.255
Router(config-ext-nacl)# deny ip any 66.220.144.0 0.0.15.255
Router(config-ext-nacl)# permit ip any any
Router(config-ext-nacl)# exit
Router(config)# interface GigabitEthernet0/2
Router(config-if)# ip access-group BLOCK-SOCIAL out

Редактирование Named ACL

# Просмотр ACL с номерами строк
Router# show ip access-lists SERVER-ACCESS
Extended IP access list SERVER-ACCESS
    10 permit tcp 10.0.0.0 0.0.0.255 host 192.168.1.100 eq www
    20 permit tcp 10.0.0.0 0.0.0.255 host 192.168.1.100 eq 443
    30 deny ip any host 192.168.1.100
    40 permit ip any any

# Вставка нового правила между существующими
Router(config)# ip access-list extended SERVER-ACCESS
Router(config-ext-nacl)# 25 permit tcp 10.0.2.0 0.0.0.255 host 192.168.1.100 eq 8080
Router(config-ext-nacl)# exit

# Удаление конкретного правила
Router(config)# ip access-list extended SERVER-ACCESS
Router(config-ext-nacl)# no 30
Router(config-ext-nacl)# exit

# Изменение номеров строк (ренумерация)
Router(config)# ip access-list resequence SERVER-ACCESS 10 10

Проверка и отладка ACL

# Просмотр всех ACL
Router# show ip access-lists

# Просмотр конкретного ACL
Router# show ip access-lists 100
Router# show ip access-lists SERVER-ACCESS

# Просмотр ACL, применённых на интерфейсы
Router# show ip interface GigabitEthernet0/0
... (показывает inbound и outbound ACL)

# Статистика совпадений (сколько пакетов совпало с каждым правилом)
Router# show ip access-lists
Extended IP access list SERVER-ACCESS
    10 permit tcp 10.0.0.0 0.0.0.255 host 192.168.1.100 eq www (1234 matches)
    20 permit tcp 10.0.0.0 0.0.0.255 host 192.168.1.100 eq 443 (567 matches)

# Очистка счетчиков совпадений
Router# clear ip access-list counters SERVER-ACCESS

# Отладка ACL (осторожно, может создать много вывода!)
Router# debug ip packet 100 detail

Лучшие практики использования ACL

Рекомендации:

  • Используйте Named ACL: Имена более читаемы, чем номера
  • Добавляйте комментарии: Документируйте назначение правил с помощью remark
  • Размещение:
    • Standard ACL — близко к назначению (чтобы не блокировать весь трафик от источника раньше времени)
    • Extended ACL — близко к источнику (чтобы блокировать трафик как можно раньше)
  • Специфичное в начало: Размещайте более конкретные правила перед общими
  • Явный permit в конце: Добавляйте permit ip any any в конце, если хотите разрешить остальной трафик
  • Используйте established: Для разрешения ответов на исходящие соединения без открытия входящих портов
  • Тестируйте перед применением: Неправильный ACL может полностью заблокировать доступ к устройству
  • Логирование: Добавляйте log к важным правилам для аудита

Пример комментирования ACL

# Использование remark для документирования
Router(config)# ip access-list extended PRODUCTION-FIREWALL
Router(config-ext-nacl)# remark === Allow web traffic from internal networks ===
Router(config-ext-nacl)# permit tcp 10.0.0.0 0.0.255.255 any eq 80
Router(config-ext-nacl)# permit tcp 10.0.0.0 0.0.255.255 any eq 443
Router(config-ext-nacl)# remark === Allow DNS queries ===
Router(config-ext-nacl)# permit udp 10.0.0.0 0.0.255.255 any eq 53
Router(config-ext-nacl)# remark === Block access to internal DMZ from internet ===
Router(config-ext-nacl)# deny ip any 172.16.0.0 0.0.255.255 log
Router(config-ext-nacl)# remark === Allow established connections ===
Router(config-ext-nacl)# permit tcp any any established
Router(config-ext-nacl)# remark === Deny all other traffic and log ===
Router(config-ext-nacl)# deny ip any any log

Пример сложного ACL для корпоративной сети

# Комплексный ACL для контроля доступа к серверной ферме
Router(config)# ip access-list extended DMZ-ACCESS-CONTROL
Router(config-ext-nacl)# remark === Allow HTTP/HTTPS from anywhere to web servers ===
Router(config-ext-nacl)# permit tcp any 172.16.10.0 0.0.0.255 eq 80
Router(config-ext-nacl)# permit tcp any 172.16.10.0 0.0.0.255 eq 443
Router(config-ext-nacl)# 
Router(config-ext-nacl)# remark === Allow SSH only from admin network ===
Router(config-ext-nacl)# permit tcp 10.0.99.0 0.0.0.255 172.16.10.0 0.0.0.255 eq 22
Router(config-ext-nacl)# 
Router(config-ext-nacl)# remark === Allow database access only from app servers ===
Router(config-ext-nacl)# permit tcp 172.16.20.0 0.0.0.255 host 172.16.10.50 eq 3306
Router(config-ext-nacl)# permit tcp 172.16.20.0 0.0.0.255 host 172.16.10.50 eq 5432
Router(config-ext-nacl)# 
Router(config-ext-nacl)# remark === Allow ICMP for troubleshooting (limited types) ===
Router(config-ext-nacl)# permit icmp any any echo-reply
Router(config-ext-nacl)# permit icmp any any time-exceeded
Router(config-ext-nacl)# permit icmp any any unreachable
Router(config-ext-nacl)# 
Router(config-ext-nacl)# remark === Deny and log suspicious traffic ===
Router(config-ext-nacl)# deny tcp any 172.16.10.0 0.0.0.255 eq 23 log
Router(config-ext-nacl)# deny tcp any 172.16.10.0 0.0.0.255 eq 445 log
Router(config-ext-nacl)# 
Router(config-ext-nacl)# remark === Implicit deny (logged) ===
Router(config-ext-nacl)# deny ip any any log

Производительность: ACL обрабатываются аппаратно на современных маршрутизаторах и коммутаторах (TCAM), поэтому влияние на производительность минимально. Однако очень большие ACL (тысячи правил) могут замедлить обработку. В таких случаях рассмотрите использование Firewall или объединение правил.

Безопасность: ACL — это базовая защита, но не замена полноценного Firewall. ACL работают на L3/L4 и не анализируют содержимое пакетов. Для глубокой инспекции используйте Stateful Firewall, IPS/IDS или Next-Generation Firewall (NGFW).

5.6 QoS основы

  • Классификация и маркировка: определение классов трафика и присвоение DSCP/CoS.
  • Очереди и планирование: FIFO, WFQ, CBWFQ, приоритетные очереди (LLQ) для голоса/видео.
  • Shaping и Policing: выравнивание трафика и ограничение скорости на границах.
  • Устранение перегрузок: WRED/RED, управление буферами.

Стандарты и маркировки: DiffServ (RFC2474/2475), DSCP классы (EF/AF/BE), соотнесение с PCP (802.1Q).

Практика: QoS эффективен только end‑to‑end; согласуйте классы/метки по всей цепочке, учитывайте переписание DSCP.

Модели QoS

  • Best Effort: отсутствие гарантий; весь трафик одинаков.
  • IntServ: RSVP‑резервация ресурсов, масштабируется ограниченно.
  • DiffServ: классы обслуживания и PHB (EF/AF/BE), масштабируемая модель для больших сетей.

Политики и границы доверия

  • Trust boundary: где принимать метки DSCP/CoS, где переписывать.
  • Mapping: DSCP → очереди/профили → приоритеты L2 (PCP), CoS → DSCP на uplink.
  • Противодействие злоупотреблениям: полисинг на доступе, приоритизация лишь для критичных классов.

5.7 Multicast

Multicast обеспечивает доставку «один‑ко‑многим» без дублирования трафика на источнике. Используются специальные адреса и протоколы управления группами и деревьями распространения.

Адреса и основы

  • IPv4: 224.0.0.0/4 (link‑local 224.0.0.0/24 не маршрутизируется), IGMP для управления членством.
  • IPv6: FF00::/8, области (scope) FF0s::/16; MLD вместо IGMP.
  • RPF (Reverse Path Forwarding): проверка обратного пути предотвращает петли.

PIM‑семейство

  • PIM Dense‑Mode: flood‑and‑prune для плотных доменов (редко используется).
  • PIM Sparse‑Mode (ASM): общий RP, регистрация источников, переход на кратчайшие пути (SPT).
  • SSM (PIM‑SSM): подписка на конкретную пару (S,G) без RP, предпочтителен в современных сетях.
  • MSDP: обмен источниками между доменами ASM.

Практика Multicast: SSM упрощает безопасность и масштабирование; на L2 используйте IGMP/MLD Snooping для ограничения flood.

5.8 IS‑IS/EIGRP/RIP

IS‑IS

  • Тип: протокол состояния канала (link‑state) поверх CLNS; переносит IP через TLV.
  • Уровни: Level‑1 (внутри области), Level‑2 (между областями); иерархия схожа с OSPF.
  • Дизайн: масштабируется в провайдерских/фабричных сетях, устойчив к изменениям адресации.

EIGRP (Enhanced Interior Gateway Routing Protocol)

  • Тип: гибридный протокол (сочетает преимущества distance-vector и link-state)
  • Метрика: составная (пропускная способность/задержка и др. коэффициенты K-values)
  • Стандартизация: RFC 7868 (ранее проприетарный протокол Cisco)
  • Применение: исторически — enterprise Cisco; сегодня реже вне одновендорных сетей

DUAL алгоритм (Diffusing Update Algorithm)

DUAL — это ключевой алгоритм EIGRP, который обеспечивает быструю сходимость и гарантирует отсутствие петель маршрутизации без необходимости ждать таймеров (как в RIP) или выполнять полный пересчет топологии (как в OSPF).

Основные концепции DUAL:

  • Feasible Distance (FD) — наименьшая известная метрика до сети назначения с момента последнего расчета
  • Reported Distance (RD) или Advertised Distance (AD) — метрика, которую сообщает соседний маршрутизатор до сети назначения
  • Successor — лучший следующий маршрутизатор (next-hop) для достижения сети назначения
  • Feasible Successor (FS) — резервный маршрутизатор, который может немедленно заменить Successor без риска петель

Условие Feasibility (Feasibility Condition):

Маршрут может стать Feasible Successor только если выполняется условие:

  • RD (соседа) < FD (текущий маршрут)
  • Это означает: "Reported Distance соседа меньше, чем наш текущий Feasible Distance"
  • Гарантия: Если это условие выполнено, использование этого маршрута не создаст петли

Пример работы DUAL:

Маршрутизатор R1 хочет достичь сети 10.0.0.0/24. Он получает обновления от трех соседей:

СоседReported DistanceЛокальная метрика до соседаОбщая метрика (FD)Статус
R2 100 50 150 Successor (лучший маршрут)
R3 120 60 180 Feasible Successor (RD=120 < FD=150 ✓)
R4 160 40 200 Не Feasible Successor (RD=160 > FD=150 ✗)

Результат: R2 используется как основной маршрут (Successor), R3 — как резервный (Feasible Successor). Если R2 откажет, R1 мгновенно переключится на R3 без пересчета таблицы маршрутизации.

Процесс выбора маршрута DUAL:

  1. Получение обновлений: Маршрутизатор получает метрики от всех соседей
  2. Расчет FD: Для каждого маршрута рассчитывается общая метрика (FD)
  3. Выбор Successor: Маршрут с наименьшим FD становится Successor (активным маршрутом)
  4. Проверка Feasibility: Остальные маршруты проверяются на условие RD < FD
  5. Определение FS: Маршруты, удовлетворяющие условию, становятся Feasible Successors
  6. Добавление в топологию: Successor и FS сохраняются в топологической таблице EIGRP

Преимущество DUAL: При отказе основного маршрута (Successor) переключение на резервный (Feasible Successor) происходит мгновенно (sub-second convergence) без запуска алгоритма пересчета. Если резервного маршрута нет, DUAL выполняет запрос (Query) к соседям для поиска альтернативного пути.

Состояния маршрутов в DUAL

Passive (пассивное состояние):

  • Маршрут стабилен, Successor известен
  • Нормальное рабочее состояние
  • Маршрутизация работает без задержек

Active (активное состояние):

  • Маршрут потерян, нет Feasible Successor
  • DUAL отправляет Query (запросы) соседям для поиска альтернативного пути
  • Маршрутизатор ждет Reply (ответы) от всех соседей
  • Проблема: Если сосед не отвечает (Stuck-In-Active), маршрут может зависнуть (3 минуты по умолчанию)

Метрика EIGRP: K-values (K-значения)

EIGRP использует составную метрику, которая рассчитывается на основе нескольких параметров канала. Коэффициенты K-values определяют, какие параметры учитываются при расчете метрики.

Пять K-значений:

  • K1 — коэффициент для пропускной способности (Bandwidth), по умолчанию = 1 (включен)
  • K2 — коэффициент для загрузки (Load), по умолчанию = 0 (отключен)
  • K3 — коэффициент для задержки (Delay), по умолчанию = 1 (включен)
  • K4 — коэффициент для надежности (Reliability), по умолчанию = 0 (отключен)
  • K5 — дополнительный коэффициент для надежности, по умолчанию = 0 (отключен)

По умолчанию: K1=1, K2=0, K3=1, K4=0, K5=0. Это означает, что метрика учитывает только пропускную способность (Bandwidth) и задержку (Delay). Загрузка и надежность обычно не используются, так как они динамически меняются и могут вызвать нестабильность маршрутизации.

Формула расчета метрики EIGRP

Классическая формула (до EIGRP Wide Metrics):

Если K5 = 0:

  • Метрика = [K1 × Bandwidth + (K2 × Bandwidth) / (256 - Load) + K3 × Delay] × 256

Если K5 ≠ 0:

  • Метрика = [K1 × Bandwidth + (K2 × Bandwidth) / (256 - Load) + K3 × Delay] × [K5 / (Reliability + K4)] × 256

Упрощенная формула (по умолчанию K1=1, K3=1, остальные=0):

  • Метрика = (Bandwidth + Delay) × 256

Где:

  • Bandwidth = 10^7 / минимальная пропускная способность на пути (в Kbps)
  • Delay = сумма всех задержек на пути / 10 (в микросекундах)

Примеры расчета метрики

Пример 1: Ethernet 100 Mbps

  • Bandwidth: 100,000 Kbps → 10^7 / 100,000 = 100
  • Delay: 100 микросекунд (по умолчанию для 100 Mbps) → 100 / 10 = 10
  • Метрика: (100 + 10) × 256 = 28,160

Пример 2: GigabitEthernet (1 Gbps)

  • Bandwidth: 1,000,000 Kbps → 10^7 / 1,000,000 = 10
  • Delay: 10 микросекунд (по умолчанию для 1 Gbps) → 10 / 10 = 1
  • Метрика: (10 + 1) × 256 = 2,816

Пример 3: Serial 64 Kbps (медленный канал)

  • Bandwidth: 64 Kbps → 10^7 / 64 = 156,250
  • Delay: 20,000 микросекунд (по умолчанию) → 20,000 / 10 = 2,000
  • Метрика: (156,250 + 2,000) × 256 = 40,512,000
Тип интерфейсаBandwidth (Kbps)Delay (µs)Метрика EIGRP
10 Gigabit Ethernet10,000,00010256
Gigabit Ethernet1,000,000102,816
FastEthernet (100 Mbps)100,00010028,160
Ethernet (10 Mbps)10,0001,000281,600
T1 (1.544 Mbps)1,54420,0001,794,560
64 Kbps6420,00040,512,000

EIGRP Wide Metrics: Для современных высокоскоростных интерфейсов (10 Gbps и выше) классическая формула недостаточно точна. EIGRP Wide Metrics использует 64-битную метрику вместо 32-битной и улучшенные формулы расчета для поддержки каналов до 655 Tbps.

Настройка K-values (не рекомендуется менять)

# Просмотр текущих K-values
Router# show ip protocols

# Изменение K-values (ОСТОРОЖНО!)
Router(config)# router eigrp 100
Router(config-router)# metric weights 0 1 0 1 0 0
# Формат: metric weights tos k1 k2 k3 k4 k5
# tos всегда 0 (не используется)

# По умолчанию: metric weights 0 1 0 1 0 0

ВАЖНО: Все маршрутизаторы в одной автономной системе EIGRP должны использовать одинаковые K-values. Если K-values различаются, маршрутизаторы не станут соседями. Изменение K-values без веской причины может привести к проблемам. Используйте значения по умолчанию, если нет специфических требований.

Дополнительные возможности EIGRP

  • Поддержка VLSM и CIDR: Передает маски подсетей в обновлениях
  • Суммаризация маршрутов: Автоматическая и ручная агрегация
  • Балансировка нагрузки: Равнозначная (Equal-Cost) и неравнозначная (Unequal-Cost с параметром variance)
  • Аутентификация: MD5 и SHA для защиты обновлений
  • Stub маршрутизация: Ограничение запросов для упрощения топологии
  • Named EIGRP: Современная конфигурация с поддержкой нескольких адресных семейств (IPv4, IPv6)

RIP (Routing Information Protocol)

  • Тип: протокол вектора расстояний (distance-vector)
  • Метрика: количество переходов (hop count), максимум 15 (16 = бесконечность, сеть недоступна)
  • Варианты: RIPv1, RIPv2, RIPng (для IPv6)
  • Применение: учебные/малые сети; ограниченная масштабируемость

Версии протокола RIP

RIPv1 (RFC 1058, 1988 год):

  • Классовая маршрутизация (Classful): Не передает маски подсетей в обновлениях
  • Broadcast: Обновления отправляются на адрес 255.255.255.255
  • Нет аутентификации: Обновления не защищены, любой может отправить ложные маршруты
  • Нет поддержки VLSM: Невозможно использовать разные маски в одной сети
  • Автоматическая суммаризация: Маршруты автоматически агрегируются на границах классовых сетей
  • Метрика: Только hop count (количество маршрутизаторов до сети)

RIPv2 (RFC 2453, 1998 год):

  • Бесклассовая маршрутизация (Classless): Передает маски подсетей — поддержка VLSM и CIDR
  • Multicast: Обновления отправляются на multicast-адрес 224.0.0.9 (меньше нагрузки на сеть)
  • Аутентификация: Поддержка MD5 и plain text аутентификации
  • Route Tags: Позволяют помечать маршруты для управления политиками
  • Next Hop: Может указывать следующий переход, отличный от отправителя обновления
  • Суммаризация: Ручная настройка агрегации маршрутов
  • Совместимость: Обратно совместим с RIPv1 (можно работать в смешанных сетях)

RIPng (RIP Next Generation, RFC 2080):

  • Назначение: Расширение RIP для IPv6
  • Multicast адрес: FF02::9 (IPv6 link-local multicast)
  • UDP порт: 521 (отличается от RIPv1/v2, которые используют порт 520)
  • Префиксы: Передает IPv6-префиксы и длину префикса
  • Аутентификация: Использует IPsec вместо встроенной аутентификации
  • Next Hop: Поддерживает IPv6-адреса следующего перехода
  • Ограничения: Те же, что и у RIPv2 (максимум 15 хопов, медленная сходимость)
ПараметрRIPv1RIPv2RIPng
Маски подсетейНет (classful)Да (classless)Да (IPv6 префиксы)
Адрес обновлений255.255.255.255 (broadcast)224.0.0.9 (multicast)FF02::9 (multicast)
АутентификацияНетPlain text, MD5IPsec
VLSM/CIDRНетДаДа
UDP порт520520521
Максимум хопов151515
Протокол IPIPv4IPv4IPv6

Механизм обновлений RIP

RIP использует периодические обновления для распространения информации о маршрутах. Это простой, но не очень эффективный механизм.

Типы обновлений:

  • Регулярные обновления (Regular Updates):
    • Отправляются каждые 30 секунд по умолчанию
    • Содержат всю таблицу маршрутизации (или её часть, если она большая)
    • Отправляются всем соседям независимо от изменений
    • Создают постоянный трафик в сети (недостаток протокола)
  • Triggered Updates (обновления по событию):
    • Отправляются немедленно при изменении маршрута
    • Содержат только измененные маршруты
    • Ускоряют сходимость сети
    • Имеют случайную задержку (1-5 секунд) для предотвращения коллизий

Таймеры RIP:

  • Update Timer (30 сек): Интервал между регулярными обновлениями
  • Invalid Timer (180 сек): Время, после которого маршрут считается недействительным, если не получено обновление
  • Holddown Timer (180 сек): Время, в течение которого маршрут удерживается перед удалением после объявления недостижимым
  • Flush Timer (240 сек): Время, после которого маршрут удаляется из таблицы

Проблема медленной сходимости: Из-за периодических обновлений (30 сек) и таймеров (до 240 сек) RIP может требовать несколько минут для полной сходимости после изменений в сети. Это критический недостаток для современных сетей.

Проблемы и механизмы предотвращения петель

Протоколы вектора расстояний (как RIP) склонны к созданию петель маршрутизации. RIP использует несколько механизмов для их предотвращения:

1. Split Horizon (разделение горизонта):

  • Правило: Не отправляй информацию о маршруте обратно в интерфейс, через который она была получена
  • Логика: Если маршрутизатор A узнал о сети X от маршрутизатора B, то A не должен сообщать B о сети X
  • Цель: Предотвращение петель в простых топологиях

Пример:

  • R1 подключен к сети 10.0.0.0/24 напрямую
  • R1 сообщает R2: "10.0.0.0/24 через меня, метрика 1"
  • R2 НЕ будет сообщать R1 обратно: "10.0.0.0/24 через меня, метрика 2"
  • Это предотвращает петлю, если канал R1-10.0.0.0 упадет

2. Split Horizon with Poison Reverse (отравленный обратный маршрут):

  • Правило: Отправляй информацию о маршруте обратно, но с метрикой 16 (бесконечность)
  • Логика: Явно сообщить соседу, что маршрут недоступен через обратное направление
  • Преимущество: Быстрее информирует о недоступности маршрута
  • Недостаток: Увеличивает размер обновлений

Пример:

  • R1 знает о сети 10.0.0.0/24 через интерфейс Eth0
  • R1 отправляет R2 (через Eth0): "10.0.0.0/24, метрика 16 (недоступно)"
  • R2 сразу понимает, что не должен использовать R1 для достижения 10.0.0.0/24

3. Route Poisoning (отравление маршрута):

  • Правило: Когда маршрут становится недоступным, немедленно объявить его с метрикой 16
  • Цель: Быстро распространить информацию о недоступности сети
  • Механизм: Triggered Update с метрикой 16 для недоступного маршрута

4. Holddown Timer (таймер удержания):

  • Правило: После получения информации о недоступности маршрута игнорировать обновления с лучшей метрикой на определенное время (180 сек)
  • Цель: Предотвратить принятие ложной информации о "восстановлении" маршрута, которая может быть результатом петли
  • Работа:
    1. Маршрут объявлен недоступным (метрика 16)
    2. Запускается Holddown Timer (180 сек)
    3. В течение этого времени игнорируются обновления с меньшей метрикой от других маршрутизаторов
    4. Принимаются только обновления от того же маршрутизатора, который сообщил о недоступности
  • Недостаток: Замедляет сходимость (до 3 минут)

5. Maximum Hop Count (максимальное количество переходов):

  • Правило: Максимальная метрика = 15, метрика 16 = бесконечность (сеть недоступна)
  • Цель: Предотвратить бесконечное увеличение метрики в случае петли
  • Проблема: Ограничивает размер сети — нельзя использовать RIP в сетях с более чем 15 переходами

Проблема Count to Infinity (счет до бесконечности)

Сценарий проблемы:

  1. R1 — R2 — R3, сеть 10.0.0.0/24 подключена к R3
  2. R3 знает: 10.0.0.0/24, метрика 1 (напрямую подключена)
  3. R2 знает: 10.0.0.0/24, метрика 2 (через R3)
  4. R1 знает: 10.0.0.0/24, метрика 3 (через R2 → R3)
  5. Проблема: Связь R3 ↔ 10.0.0.0/24 обрывается
  6. R3 объявляет: 10.0.0.0/24, метрика 16 (недоступно)
  7. Но R2 еще не получил это обновление и сообщает R3: "У меня есть маршрут до 10.0.0.0/24, метрика 2"
  8. R3 думает: "Отлично! Теперь я могу достичь 10.0.0.0/24 через R2, метрика 3"
  9. R2 получает обновление от R3: "10.0.0.0/24, метрика 3" → обновляет свою метрику на 4
  10. R3 получает: метрика 4 → обновляет на 5... и так далее
  11. Результат: Метрика растет (4, 5, 6... 16), пока не достигнет 16 (бесконечность)
  12. Время сходимости: Может занять несколько минут

Решение проблемы Count to Infinity: Комбинация механизмов: Split Horizon предотвращает обратную отправку маршрутов, Route Poisoning быстро распространяет недоступность, Holddown Timer предотвращает принятие ложной информации, Maximum Hop Count (16) ограничивает "счет до бесконечности".

Пример настройки RIP

# Настройка RIPv2
Router(config)# router rip
Router(config-router)# version 2                # Использовать RIPv2
Router(config-router)# network 10.0.0.0         # Объявить сети
Router(config-router)# network 192.168.1.0
Router(config-router)# no auto-summary          # Отключить автосуммаризацию
Router(config-router)# passive-interface GigabitEthernet0/0  # Не отправлять обновления на интерфейс

# Аутентификация MD5
Router(config)# interface GigabitEthernet0/1
Router(config-if)# ip rip authentication mode md5
Router(config-if)# ip rip authentication key-chain MY-KEYS

# Проверка
Router# show ip protocols
Router# show ip rip database
Router# show ip route rip
Router# debug ip rip
# Настройка RIPng (для IPv6)
Router(config)# ipv6 unicast-routing
Router(config)# ipv6 router rip MY-RIPNG-PROCESS
Router(config-rtr)# maximum-paths 4  # Балансировка нагрузки

# На интерфейсах
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ipv6 rip MY-RIPNG-PROCESS enable

# Проверка
Router# show ipv6 protocols
Router# show ipv6 route rip
Router# show ipv6 rip database

Когда использовать RIP

Подходит для:

  • Малые сети (до 15 маршрутизаторов)
  • Учебные лаборатории и демонстрации
  • Простые топологии без высоких требований к сходимости
  • Совместимость со старым оборудованием

НЕ подходит для:

  • Крупные корпоративные сети (используйте OSPF или EIGRP)
  • Сети с требованиями к быстрой сходимости (используйте OSPF, EIGRP, IS-IS)
  • Сети с более чем 15 переходами
  • Сети, где важна оптимизация пропускной способности (RIP не учитывает скорость канала)

5.9 Traffic Engineering (RSVP‑TE/SR)

Traffic Engineering (TE) позволяет направлять трафик по путям, отличным от кратчайших, учитывая ограничения и цели (полоса, задержка, изоляция).

RSVP‑TE

  • LSP: выделение меток и резервирование ресурсов по сигнализации RSVP.
  • Constraints: атрибуты ссылок (административные метки, полоса) и CSPF для расчёта пути.
  • Плюсы/минусы: детальный контроль, но сложность состояния и масштабирования.

Segment Routing

  • SR‑MPLS: стек сегментов (labels) кодирует путь без hop‑by‑hop состояния.
  • SRv6: сегменты как IPv6 адреса/функции; программируемость dataplane.
  • Планирование путей: on‑box (TI‑LFA, SR‑TE Policy) или от контроллера (PCE/PCEP).

TE в транспорте: аналогичные цели достигаются и на оптическом/SDH уровне (A‑/Z‑концы, SLA, защита 1+1/1:1), но с иными технологиями сигнализации.

5.10 QoS углубление

DiffServ и PHB

  • DSCP: классы EF (голос), AFxy (гарантированные), BE (по умолчанию).
  • Mapping: DSCP ↔ очереди/профили, согласование с L2 PCP (802.1p) и WMM.

Очереди и планирование

  • Strict Priority для критичных классов (с осторожностью против starvation).
  • WRR/WFQ/CBWFQ: взвешенное обслуживание, формирование профилей.
  • WRED/RED: ранние отбрасывания для предотвращения глобальных перегрузок.

Policing vs Shaping

  • Token/Leaky Bucket: токены как «кредит» на отправку; shaping выравнивает, policing отбрасывает/ремаркирует.
  • Параметры: CIR/PIR, burst (Bc/Be), влияние на джиттер и потери.

Network Calculus (базово)

  • Идея: оценка худших задержек/буферов при известных ограничениях трафика и сервисных кривых.
  • Трафик: (σ, ρ) модель — «скачок и наклон»; сервис — «rate‑latency».
  • Применение: проектирование бюджетов задержки и размеров очередей для критичных классов.

Настройки

Цветовая схема

Тема