Теоретические основы и архитектура

Итоговый проект курса: проектирование сети оператора связи уровня Tier-2 (HLD и LLD) по цепочке «требование - решение - критерий приёмки». 1. Топология: восемь узлов AS 65000 - три PE (PE1, PE2, PE3), два P (P1, P2), два RR (RR1, RR2 с общим cluster-id 100) и ASBR1 к партнёрской AS 65001; PE3 одновременно служит BNG. Единственная точка отказа - ASBR1, она записана в рисках. 2. Underlay: Loopback0 /32 из 10.255.0.<id>, линки /30 с MTU 1600, IS-IS Level-2 (wide-метрики, point-to-point) и BFD 100 мс x 3 на магистральных линках. 3. Transport: SR-MPLS с самого начала (SRGB 16000-23999, метка = 16000 + индекс) и TI-LFA; LDP и RSVP-TE в штатном режиме не используются; цель переключения - не более 50 мс, проверяется тестом T03. 4. Overlay: MP-BGP через два RR с семействами vpnv4 и EVPN (vpnv6 заложено планом). 5. Клиентские сервисы: клиент A - L3VPN с перекрывающимися адресами; клиент B - L3VPN Inter-AS Option B с партнёрской AS; клиент C - EVPN-MPLS E-LAN (EVI 300); абоненты BNG - VRF SUBS с CGNAT и RADIUS. 6. Эксплуатация: развёртывание через Ansible, мониторинг через syslog, SNMP, IPFIX и gRPC-телеметрию. MikroTik в ядро не входит и работает как CE/CPE.

От требований к проектным решениям

Проект оператора строится по цепочке «требование - решение - измеримый критерий приёмки». Если у решения нет критерия, его нельзя защитить, а если нет требования - его нельзя обосновать. В проекте восемь узлов AS 65000: три PE (PE1, PE2, PE3), два P (P1, P2), два RR (RR1, RR2) и ASBR1 к партнёрской AS 65001. Узлы подобраны так, чтобы покрыть все модули курса, не раздувая стенд.

ТребованиеРешениеКритерий (тест из sp-acceptance)
Потеря при отказе линка ядра не более 50 мсIS-IS L2 + SR-MPLS + TI-LFA, carrier-delay 0 на оптикеT03: не более 500 пакетов потеряно при потоке 10 000 pps
Изоляция клиентов A, B, C и абонентовVRF/RT-план, EVI для C, отдельный VRF SUBST06: 100% блокировка межклиентского трафика
Голос с контролем задержкиSR policy color 100 + очередь EF (TC 5)T09, T10: 0 потерь голоса при 148% нагрузки
Потеря RR не влияет на сервисыдва RR, одинаковый cluster-id 100, клиенты peer с обоимиT05: 0 потерь, обе сессии у клиентов
5000 абонентов BNGPE3 как BNG, RADIUS .50, CGNAT-пулT11: 5000 логинов за 60 с, AAA отвечает менее 1 с
Откат любого измененияcommit confirmed / configure replace / бэкапT12: восстановление не более 5 минут

Транспорт: почему IS-IS + SR, а не OSPF + LDP

Первая строка таблицы компромиссов определяет всё остальное: ядро строится на IS-IS Level-2 с SR-MPLS, LDP и RSVP-TE в установившемся режиме не используются. Причины: TI-LFA строит ремонтный путь по построению (если в графе есть альтернативный путь) и не требует RSVP-состояния на транзитных узлах; SR-политика заменяет RSVP-TE для критичного трафика без сигнализации на P; IS-IS переносит SID в TLV вместе с метриками, то есть одна база данных вместо LDP-сессий на каждый линк. Цена решения: Cisco, Huawei и Juniper поддерживают такую схему, а RouterOS v7 не имеет ни IS-IS, ни SR (по соглашению курса), поэтому MikroTik в ядро не входит и играет роль CE/CPE на стыке клиента A. Если оператору нужен LDP-узел на периферии, строят границу SR/LDP со mapping server (см. sr-migration-lab), но проект её не требует.

IS-IS выбран вместо OSPF по трём практическим причинам: адресация узлов через NET без привязки к IP-подсетям, один процесс для IPv4 и IPv6 (нужно для vpnv6/6VPE) и независимость протокола от IP-конфигурации интерфейса. Метрики IS-IS wide (24 бита на линк), тип сети point-to-point на всех линках, режим level-2-only, чтобы не держать два LSDB.

Топология и домены отказа

PE1, PE2, PE3 включены в P1 и P2 двумя линками (две плоскости), P1 и P2 связаны между собой. ASBR1 включён в обе плоскости, RR1 подключён только к P1, RR2 только к P2: RR вне транзитного пути и не может стать транзитом из-за самой топологии. Домены отказа: один линк (TI-LFA), одна плоскость (P1 или P2 целиком - вторая плоскость несёт всю нагрузку), один RR (второй RR отражает те же маршруты). Единая точка отказа в проекте одна и записана в рисках: ASBR1; второй ASBR добавляется на следующей фазе, и до этого стык с AS 65001 не имеет резерва.

Метрики назначаются так, чтобы основной путь был детерминированным: PE-P1 = 20, PE-P2 = 25, P1-P2 = 10, ASBR-P = 20 или 25, RR-P = 50. Основной путь PE1 - PE2 идёт через P1 (40), резервный через P2 (50). Если сделать плоскости равными, трафик пойдёт по ECMP, и при отказе TI-LFA не будет нужен для половины потоков, то есть вы не проверите именно то, ради чего строили защиту.

Адресация, SID и MTU

Loopback0 каждого узла - 10.255.0.<id>/32; из того же id получаются NET (49.0001.0100.2550.<id4>.00) и индекс Prefix-SID: метка = 16000 + индекс. Линки - /30 из 10.0.0.0/24 (формат /31 по RFC 3021 даёт экономию, но не одинаково поддерживается на всех четырёх платформах и ломает единые шаблоны). Единый SRGB 16000-23999 на всех узлах нужен потому, что SR-политики в проекте записываются абсолютными метками (16012, 16002): при разных SRGB эти списки перестают работать. Диапазон 15000-15999 резервируется под локальные метки и не пересекается с SRGB. MTU ядра 1600: 1500 IP + метка сервиса 4 + до 6 транспортных меток (стек TI-LFA или SR-политики) 24 = 1528 для L3VPN, а для EVPN Ethernet-кадр 1514 + 4 + 24 + контрольное слово 4 = 1546.

RR, RD/RT и сервисы

RR1 и RR2 имеют общий cluster-id 100: клиент получает один и тот же маршрут от двух RR, а петля исключается списком кластеров. RR работает без VRF, поэтому на нём отключают фильтр по RT (на Cisco no bgp default route-target filter, на Huawei undo policy vpn-target). RD уникален на каждый VRF на каждом PE, чтобы при добавлении PE и multipath маршруты разных PE не склеивались; RT определяет топологию сервиса. Для клиента B (Inter-AS Option B) RT 65000:200 сохраняется на ASBR1 без VRF - ASBR должен хранить VPN-маршруты без локального импорта (retain route-target); для C выбран EVPN-MPLS, VPLS остаётся только для устаревших PE.

QoS, BNG, мониторинг и безопасность

Классы: EF/DSCP 46 -> TC 5 (приоритет 10%), AF41 -> TC 4 (20%), AF31 -> TC 3 (30%), CS6 -> TC 6 (протоколы управления, гарантия 5%), остальное TC 0. Модель туннеля Short-Pipe: на выходе к CE очередь выбирается по клиентскому DSCP. BNG - PE3: абоненты в VRF SUBS (RT 65000:500), пул 100.64.1.0/24, NAT444 в 198.51.100.0/28, RADIUS 10.255.0.50. Мониторинг: syslog, SNMP traps, IPFIX и gRPC-телеметрия на 10.255.0.60, автоматизация с 10.255.0.200. Безопасность: CoPP на всех узлах, maximum-prefix на стыках, фильтры на ASBR, аутентификация IS-IS и BGP.