📬 ISN 251: BGP Origin, Pułapki Dual-Stack SR-MPLS i Ryzyko OT w IPv6!

251 numer newslettera to miks praktyki i ryzyka: od BGP origin i pułapek Dual-Stack SR-MPLS, po ciekawe narzędzia do automatyzacji sieci. Do tego labowanie RIFT na SR Nokia i spojrzenie na ryzyko dla OT w IPv6.
📬 ISN 251: BGP Origin, Pułapki Dual-Stack SR-MPLS i Ryzyko OT w IPv6!

BGP origin

BGP ORIGIN attribute manipulation and its impact on the Internet
By doing in-depth testing, we found nearly 70% of BGP paths experience ORIGIN attribute rewrites by transit providers seeking traffic advantages. We examine the global impact of this practice and argue for deprecating ORIGIN in route selection.

70% ścieżek BGP widocznych w publicznych kolektorach ma zmodyfikowany atrybut ORIGIN. Cloudflare właśnie to udowodnił eksperymentalnie — i wyniki powinny zmienić sposób, w jaki patrzysz na selekcję tras.

ORIGIN to obowiązkowy atrybut BGP określający, jak trasa trafiła do protokołu: IGP (0), EGP (1) lub INCOMPLETE (2). RFC4271 mówi jasno — nie należy go modyfikować po ustawieniu przez AS źródłowy. W praktyce jest inaczej.

Cloudflare ogłosił prefiksy z każdą z trzech wartości ORIGIN ze wszystkich lokalizacji peeringowych, a następnie analizował Updates z kolektorów RIPE RIS i RouteViews. Wynik: niemal 10% bezpośrednich peerów przestawiało ORIGIN na IGP — w tym 6 z 16 sieci Tier-1.

Mechanizm jest prosty i dochodowy. Jeśli dwa peery oferują trasę z identyczną długością AS_PATH i Local Preference, router wybierze tę z niższą wartością ORIGIN. Przestawienie EGP lub INCOMPLETE na IGP wystarczy, by przyciągnąć ruch — i przychód z tranzytu.

Liczby mówią same za siebie:

  • 26% sieci z Top 50 AS Rank aktywnie modyfikuje ORIGIN
  • 70% unikalnych ścieżek IPv4 (67% IPv6) ma ORIGIN zresetowany do IGP
  • Rewriterzy ORIGIN zyskali 18% więcej ścieżek IPv4 i aż 40% więcej w IPv6 względem sieci przestrzegających RFC

Co istotne, manipulacja nie jest symetryczna. Niektóre sieci przestawiają ORIGIN na EGP celowo — żeby zdepriorytetyzować trasy od peerów względem tras od klientów. Jeden z operatorów potwierdził to wprost badaczom Cloudflare.

Krótka odpowiedź: przestań traktować ORIGIN jako wiarygodny sygnał routingowy — bo nim nie jest.

Jeśli w twojej polityce BGP ORIGIN wpływa na selekcję tras, de facto oddajesz kontrolę nad ruchem dowolnemu tranzytowemu AS po drodze. W środowiskach, gdzie liczy się deterministyczny routing lub koszt tranzytu, warto to przeanalizować.


Pułapka Dual-Stack SR-MPLS

Dual-Stack SR-MPLS « ipSpace.net blog
After the introduction to SR-MPLS demo I did during the Segment Routing workshop @ ITNOG10, we moved to dual-stack SR-MPLS – can we assign node segment identifiers (SIDs) to IPv4 and IPv6 prefixes? The demo used the same three-router network as the previous one, with IPv4 SIDs starting at one and IPv6 SIDs starting at 101:

Segment Routing nad MPLS obsługuje jednocześnie IPv4 i IPv6 — każda rodzina adresowa dostaje własny zakres SID-ów. W teorii proste, w praktyce jest jeden szczegół, który potrafi pochłonąć godziny debugowania.

W dual-stack SR-MPLS przypisujesz osobne Node SID-y do loopbacków IPv4 i IPv6. W typowej konfiguracji testowej IPv4 SID-y startują od 1, IPv6 od 101. IS-IS rozgłasza je odpowiednio w TLV Extended IP Reachability (MT-0) oraz Extended IPv6 Reachability (MT-2), każdy z sub-TLV SR Prefix-SID. Tablica MPLS zawiera wpisy dla obu rodzin — ale next-hop dla IPv6 SID-ów to adres link-local, nie globalny.

Weryfikacja na Arista EOS:

show isis segment-routing prefix-segments
show mpls route

Wynik powinien pokazać SID-y dla prefiksów 10.0.42.x/32 oraz 2001:db8::x/128 z odpowiednimi etykietami MPLS.

Tu zaczyna się problem, który kosztował autora wiele godzin. Arista EOS i Cisco IOS XR reklamują prefix IPv6 loopbacka z sub-TLV SR Prefix-SID tylko gdy prefix to /128. Nokia SR-OS odrzuca loopback IPv6 z prefiksem innym niż /128 już na etapie konfiguracji.

Jeśli wierzysz w "/64 everywhere" — tutaj to nie zadziała. Co gorsza, Cisco IOS XR zachowuje się szczególnie podstępnie: przypisuje SID i etykietę MPLS do /64 loopbacka, ale nie rozgłasza go w IS-IS. Żadnego błędu, żadnego ostrzeżenia.

Jedyne urządzenia, które działają poprawnie z prefiksem innym niż /128, to FRRouting i Junos.

Konfiguracja w netlab wymaga jawnego ustawienia:

addressing:
  loopback:
    ipv6: 2001:db8::/48
    prefix6: 128

Bez prefix6: 128 netlab domyślnie przypisuje /64 — i tracisz godziny na debugowanie.

Warto znać aktualny obraz przed wdrożeniem:

  • Arista EOS, Cisco IOS XR, FRRouting, Junos, Nokia SR Linux, Nokia SR-OS — dual-stack SR-MPLS działa
  • Cisco IOS XE — brak wsparcia dla SID-ów na prefiksach IPv6 (niespodzianka, biorąc pod uwagę agresywne promowanie SRv6 przez Cisco)

Dual-stack SR-MPLS jest dobrze wspierany przez większość platform, ale wymaga /128 na loopbackach IPv6 — bez wyjątków. Zanim zaczniesz troubleshootować brakujące SID-y w IS-IS, sprawdź długość prefiksu loopbacka. To pierwsze miejsce, gdzie szukać problemu.

Jeśli chcesz przetestować konfigurację samodzielnie, repozytorium warsztatów SR-MPLS na GitHubie zawiera gotowe topologie netlab z obsługą GitHub Codespaces — środowisko działa w przeglądarce bez lokalnej instalacji.


Awesome Automatyzacja sieci

GitHub - packetcoders/awesome-network-automation-ai: A curated list of awesome resources for applying Artificial Intelligence (AI), Large Language Models (LLMs), and Machine Learning (ML) to network automation.
A curated list of awesome resources for applying Artificial Intelligence (AI), Large Language Models (LLMs), and Machine Learning (ML) to network automation. - packetcoders/awesome-network-automati…

Strona zbiera i kataloguje najlepsze zasoby dotyczące zastosowania sztucznej inteligencji (AI), dużych modeli językowych (LLM) oraz uczenia maszynowego (ML) w automatyzacji sieci. Znajdziesz tu narzędzia, frameworki, biblioteki, platformy, artykuły, tutoriale, podcasty, kursy i książki – wszystko w jednym miejscu.


Labuj RIFT na SR Nokia

GitHub - 0return/SR_LINUX_RIFT: SR Linux does not include the RIFT protocol; in this lab, that functionality is integrated via NKD.
SR Linux does not include the RIFT protocol; in this lab, that functionality is integrated via NKD. - 0return/SR_LINUX_RIFT

Repozytorium zawiera gotowy do uruchomienia lab RIFT (Routing in Fat Trees, RFC 9692) działający na Nokia SR Linux, zbudowany w oparciu o agenta NDK hyposcaler/srl-rift autorstwa Dennisa Fanshawa. Sam protokół jest zaimplementowany w tym agencie i nie jest powielany tutaj. Projekt dostarcza kompletną topologię, konfiguracje startowe, skrypty do wdrożenia i weryfikacji działania oraz dokumentację opisującą rzeczywisty przebieg budowy środowiska - co działa, co nie i jaka wersja SR Linux jest wymagana.

💡
Używaj wersji SR Linux 25.7, ponieważ nowsza 26.3.1 ma problem z aktywacją subinterfejsów w fabric i lab nie działa poprawnie.

Ryzyko dla OT w IPv6

Świetnie! Udało ci się pomyślnie zarejestrować.
Witaj z powrotem! Zalogowałeś się pomyślnie.
Pomyślnie subskrybowałeś Inna Sieć.
Twój link wygasł.
Sukces! Sprawdź swoją skrzynkę e-mailową, aby uzyskać magiczny link do logowania.
Sukces! Twoje informacje rozliczeniowe zostały zaktualizowane.
Twoje informacje rozliczeniowe nie zostały zaktualizowane.