Топология сетей и маршруты
Краткое резюме
Сеть строится вокруг трех опор: топология, сегментация, маршрутизация. Современная фабрика — это Leaf-Spine (fat-tree) с ECMP, overlay VXLAN/EVPN для L2-расширений и BGP как «универсальный клей». Правильно заданные SLO по задержке/потерям, QoS и fast-failover делают поведение предсказуемым под пиковыми RPS.
Базовые модели топологий
Core/Distribution/Access (классическая)
Плюсы: понятность, хороша для небольших сетей/офисов.
Минусы: «бутылочное горлышко» на Core, хуже горизонтальное масштабирование.
Leaf-Spine (fat-tree, CLOS)
Spine — магистраль, Leaf — тор-коммутаторы для серверов.
Все Leaf соединены со всеми Spine → ECMP и предсказуемая задержка.
Масштабирование — добавлением Leaf/Spine без рефакторинга адресного плана.
Ring/Mesh/Star
Используются точечно (PoP, кампус). Для DC — ограниченно.
Рекомендация: для ЦОДа и крупных площадок — Leaf-Spine. Для филиалов/офисов — упрощенный Core/Access + SD-WAN.
Сегментация и адресное пространство
VLAN — L2 сегментация (Broadcast-домены).
VRF — L3 сегментация (мультиарендность, dev/stg/prod).
IPAM/суммаризация: планируйте блоками `/24` на сервис/зону, агрегируйте в `/20` и выше для простых маршрутных политик.
Dual-stack: IPv4 + IPv6, SLAAC/DHCPv6, RA-гварды, префикс-политики.
Overlay/Underlay: VXLAN/EVPN
Underlay: IP-фабрика (Leaf-Spine) с iBGP/OSPF/IS-IS.
Overlay: VXLAN переносит L2 поверх L3; EVPN (BGP) — контроль-плейн для MAC/IP-маршрутизации, мульти-тенантность через VNI/VRF.
Преимущества: L2-растяжение без STP, быстрые конвергенции, централизованные политики.
- Leaf — VTEP с loopback для VTEP-IP.
- Spine — route-reflector для EVPN.
- Типы маршрутов EVPN (MAC/IP, IMET, L3-взаимодействие) обеспечивают ARP-supression и масштаб.
Протоколы маршрутизации и роли
IGP (внутри домена)
OSPF/IS-IS: быстрое сходжение, простая метризация. Хороши для underlay.
iBGP: поверх IGP или без него (BGP-only fabric) с route-reflector’ами.
EGP (междоменные)
eBGP: peering с провайдерами/PSP/CDN, политика по communities/LP/AS-Path.
Anycast: одинаковые IP на нескольких PoP, маршрутизация «к ближайшему» (BGP + health-check на анонсы).
ECMP и fast-failover
ECMP распределяет потоки между равностоимыми путями.
Следите за flow-hash (5-tuple), избегайте асимметрии для stateful middlebox’ов.
BFD/fast-hellos для быстрых переключений (<1 с).
Политики маршрутизации (TE)
LocalPref/Med/AS-Path — селекция аплинков.
Communities — размечайте трафик (prod/stg, платежные PSP, CDN) для дифференцированных решений.
Blackhole/Sinkhole — быстрая «черная дыра» /32 на атаки.
uRPF/RTBH — анти-спуфинг и удаленная черная дыра с провайдером.
Связность офисы ↔ DC/Cloud
SD-WAN: динамический выбор канала (MPLS/INTERNET/LTE), шифрование, пер-апп-политики.
MPLS L3VPN: изолированные VRF между площадками, детерминированная задержка.
IPSec/GRE over IPSec/WireGuard: быстрый старт, но планируйте MTU/Fragmentation и QoS.
NAT, CGNAT и выход в интернет
NAT44/NAT66 (редко) и NPTv6. Для платежных интеграций храните source IP-пулы и белые списки.
egress-баланс: несколько NAT-шлюзов за ECMP, sticky по хэшу.
Hairpin/Policy-Based Routing — для специфики DMZ/инспекции.
QoS и классы трафика
Классы: real-time (VoIP/биржевые фиды), interactive (API), bulk (бэкапы/ETL).
Marking (DSCP), policing/shaping, LLQ/WRR.
Защите API/платежи — выделенный класс с гарантией минимальной задержки; bulk ограничивайте в пиках.
Безопасность маршрутизации
BGP: TTL security, max-prefix, RPKI (route-origin validation), prefix-filters у провайдера.
IGP: аутентификация соседей (HMAC), изоляция management-плоскости (OOB).
Сегментация: VRF для «платежной», «операторской», «публичной» зон; ACL меж VRF только по нужным портам.
Anycast сервисов: health → withdraw анонса при деградации.
Наблюдаемость и SLO
SLO (примеры)
Внутри ЦОДа: RTT p95 ≤ 200–300 μs, потери ≤ 0.01%.
Между площадками (L3VPN/SD-WAN): RTT p95 ≤ X ms (по вашему профилю), потери ≤ 0.1%.
Конвергенция при отказе: ≤ 1 с (IGP/BFD), ≤ 5 с (eBGP).
Метрики
`RTT`, `loss`, `jitter`, `ECMP entropy`, `BFD state`, `BGP prefixes/changes`, `CPU/TCAM` на коммутаторах, заполнение очередей QoS.
Active probing: IP-SLA/SmokePing, пер-класс QoS.
Flow-телеметрия: sFlow/NetFlow/IPFIX для профилей трафика и DDoS.
Типовые конфиги (фрагменты)
FRR (BGP underlay + EVPN)
conf router bgp 65000 bgp router-id 10. 0. 0. 1 neighbor SPINE peer-group neighbor SPINE remote-as 65000 neighbor 10. 0. 0. 11 peer-group SPINE neighbor 10. 0. 0. 12 peer-group SPINE
!
address-family l2vpn evpn neighbor SPINE activate advertise-all-vni exit-address-family
!
interface lo ip address 10. 0. 0. 1/32
Linux (ECMP egress)
bash ip route add 0. 0. 0. 0/0 \
nexthop via 203. 0. 113. 1 weight 1 \
nexthop via 203. 0. 113. 2 weight 1
BFD к соседу (Cisco-стиль, концепт)
bfd interval 50 min_rx 50 multiplier 5 interface Po1 bfd echo ip ospf network point-to-point
Операции и DR
Change-control: поэтапный ввод (один Leaf/Spine), canary по одному VNI/VRF.
Автопочинка (auto-withdraw): деградирует сервис — отзываем Anycast-/32.
Runbooks: потеря Spine, петли EVPN, закрытие ECMP-пути, деградация аплинка, blackhole-вставка.
Документация IPAM: кто владеет подсетью/AS, где анонс, где NAT.
Чек-лист внедрения
- Выбрана топология (Leaf-Spine), рассчитаны oversubscription и ширина fat-tree.
- IPAM: суммаризация, резерв под рост, отдельные блоки под overlay loopback’и.
- Underlay IGP/iBGP, BFD; Overlay EVPN/VXLAN, RR на Spine.
- VRF/ACL для зон, east-west и north-south политики.
- Egress-дизайн: NAT-пулы, белые списки PSP/CDN, Anycast там, где нужно.
- QoS классы и SLO (RTT/loss/jitter), пер-класс мониторинг.
- Обнаружение и защита: RPKI, prefix-filters, uRPF, RTBH.
- Наблюдаемость: BGP-изменения, BFD, IP-SLA, sFlow; дашборды/алерты.
- DR-планы: отказ Spine/линка/аплинка, withdraw Anycast, миграция трафика.
Типичные ошибки
L2-растяжение без EVPN/VXLAN → STP-штормы и непредсказуемый failover.
Нет BFD/fast-hellos → долгие переключения и таймауты приложений.
«Ручной» IP-план без суммаризации → взрыв таблиц маршрутов.
Перегруженный ECMP-hash → асимметрия и проблемы со stateful-фильтрами.
Отсутствие RPKI/prefix-filters на eBGP → риск хайджека.
QoS «по умолчанию» → API конкурирует с бэкапами.
Anycast без health-driven withdraw → черные дыры при частичных отказах.
Специфика для iGaming/финтех
Низкая p95 для API/платежей: выделенный QoS-класс, Anycast-эндпойнты, latency-routing на DNS/GSLB.
Белые списки PSP/провайдеров: фиксированные egress-IP, резервные пулы, быстрое переключение.
Пиковые события: headroom ≥ 30% по линкам Spine↔Leaf, ручки для отключения bulk-класса.
Регуляторика/PII: VRF-изоляция, e2e-шифрование, строгие ACL меж зонами.
Мини-плейбуки
1) Быстрый withdraw Anycast при деградации
1. Health-check < порога → 2) скрипт/контроллер снимает `/32` анонс → 3) проверка внешних пробы → 4) авто-возврат при стабилизации.
2) Перевод трафика на резервный аплинк
1. Понизить LocalPref основного → 2) поднять у резервного → 3) наблюдать потери/RTT → 4) зафиксировать изменения.
3) «Горячее» расширение фабрики
1. Добавить Spine, подключить все Leaf → 2) добавить Leaf-пары в стойках → 3) iBGP/OSPF соседства, проверка ECMP-энтропии → 4) перенос нагрузок.
Итог
Устойчивая сеть — это Leaf-Spine + ECMP, EVPN/VXLAN для гибкой L2/L3-мультиарендности, BGP-политики и быстрый failover под контролем метрик. Добавьте грамотный IPAM, QoS, RPKI/фильтры, автоматизированные health→routing связи и живые runbook-и — и ваша платформа будет предсказуемо доставлять трафик даже в самый жаркий час.