Eksperyment, który odsłonił ciche nadpisanie

24 lipca dwoje inżynierów Cloudflare opublikowało wynik celowo hałaśliwego eksperymentu. Iliana Xygkou i Bryton Herdes ogłosili prefiksy IPv4 i IPv6 z własnej sieci Cloudflare, AS13335, każdy z inną wartością w starym polu BGP o nazwie ORIGIN. Następnie wycofali prefiksy, aby wymusić na internecie poszukiwanie ścieżek, odczytali narzędziem BGPKIT to, co wróciło przez kolektory RIPE RIS i RouteViews oraz własne strumienie BMP Cloudflare, i porównali wysłaną wartość z wartością, którą widział cały świat.

Wartości się nie zgadzały. ORIGIN jest jednym z najstarszych atrybutów w BGP i zapisuje, w jaki sposób trasa weszła do protokołu: IGP, EGP albo INCOMPLETE, w takiej kolejności preferencji. Około 70 procent obserwowanych ścieżek IPv4 i 67 procent ścieżek IPv6 przyszło z atrybutem ORIGIN przywróconym do IGP, czyli do wartości o najwyższym priorytecie. Mniej więcej 10 procent spośród ich 352 bezpośrednich partnerów IPv4 dokonywało nadpisania, a wśród 315 partnerów IPv6 udział był podobny.

Mechanizm wyjaśnia motyw. ORIGIN jest brany pod uwagę przy wyborze najlepszej ścieżki, gdy dwie trasy są równe pod względem Local Preference i długości AS_PATH, a wygrywa niższa wartość ORIGIN. Przywrócenie jej do IGP przepuszcza ścieżkę przed konkurentów bez dotykania AS_PATH, czyli pola, które wszyscy obserwują. Dziś 89,8 procent tras nosi IGP, 3,5 procent EGP, a 6,7 procent INCOMPLETE, i ten rozkład wygląda porządnie głównie dlatego, że znaczna jego część jest wytwarzana w tranzycie.

Liczby wskazują na największe sieci

Ciekawa nie jest skala, lecz koncentracja. Cloudflare ustalił, że 26 procent z 50 największych systemów autonomicznych według AS Rank manipuluje atrybutem ORIGIN, obok 20 procent z pierwszej setki, i że 20,3 procent wszystkich sieci nadpisujących mieści się w tej pierwszej pięćdziesiątce. Robi to sześć z szesnastu sieci Tier-1. Sieci o największej zdolności przeciągania ruchu na własne ścieżki są nieproporcjonalnie często tymi, które forsują pole rozstrzygające przypadki bliskie remisu.

Jeden szczegół brzmi handlowo, a nie przypadkowo. Pojedyncza sieć Tier-1 nadpisuje ORIGIN na trasach poznanych od partnerów, a zachowuje wartość na trasach poznanych od klientów. To nie jest sygnatura zapomnianego szablonu na jakimś routerze, lecz reguła, która inaczej traktuje płatny ruch tranzytowy i darmowy ruch peeringowy.

Korzyść była mierzalna w samym teście. Sieci nadpisujące zyskały 12 dodatkowych ścieżek IPv4 przez siebie, czyli wzrost o 18 procent, oraz 33 dodatkowe ścieżki IPv6, czyli wzrost o 40 procent. O to właśnie chodzi: nadpisanie jednego atrybutu, niewidoczne dla sieci, która go ustawiła, przesunęło istotną część ścieżek kandydujących na nadpisującego.

Ocena Cloudflare jest jednoznaczna. Firma nie znalazła żadnego ważnego uzasadnienia technicznego dla tej praktyki i wskazuje dwie szkody: sieci przestrzegające dokumentu RFC są w gorszej pozycji niż te, które go nie przestrzegają, a ruch jest odciągany od alternatywnych operatorów, którzy w przeciwnym razie wygraliby rozstrzygnięcie. Propozycja brzmi: całkowicie odebrać temu atrybutowi wpływ na wybór trasy, poczynając od implementacji ustawiających na IGP każdą trasę odebraną i ogłaszaną.

Tu twierdzenie o odporności cicho upada

Konsekwencja operacyjna nie dotyczy właściwie atrybutu ORIGIN, lecz tego, co dowodzi zdanie "mamy kilku operatorów". Kilku operatorów daje ci więcej niż jedną fizyczną drogę na zewnątrz, i ta część jest prawdziwa. Nie daje ci natomiast kontroli nad drogą, którą ruch faktycznie wraca do ciebie, ponieważ większość atrybutów wyrażających preferencję ma jedynie charakter wskazówki, gdy tylko opuści twoją granicę. Local Preference jest wyjątkiem, który się liczy: ustawiasz ją na swoich własnych routerach, stoi w kolejności decyzyjnej wyżej niż ORIGIN i nigdy nie przekracza granicy eBGP, i właśnie dlatego jest jedyną preferencją, której nikt inny nie może nadpisać.

To rozróżnienie liczy się już na piśmie. Zgodnie z NIS2 odporność sieci to coś, co się dokumentuje, a nie coś, co się deklaruje, a różnorodność ścieżek należy do najłatwiejszych deklaracji w kwestionariuszu dla dostawców. Jeśli jedna centralna sieć potrafi przeciągnąć na siebie mierzalną część ścieżek kandydujących przez przywrócenie jednego atrybutu, to twierdzenie o różnorodności zbudowane na ogłoszeniach, a nie na umowach i na Local Preference, jest twierdzeniem, którego nie udowodnisz, gdy ktoś je sprawdzi.

Kierunek standaryzacji również powinien skrócić twoje oczekiwanie. Projekt IETF pod tytułem "Scrubbing BGP ORIGIN Attribute", opublikowany 3 listopada 2025 roku, aktualizuje dokumenty RFC 4271 i RFC 7606, czyniąc atrybut półopcjonalnym i wyraźnie dopuszczając przywracanie go do IGP. Własny pomiar strefy bez trasy domyślnej z września 2025 roku wykazał około 9 procent tras z wartością INCOMPLETE i poniżej 1 procenta z EGP. Odczytaj ten kierunek uczciwie: proces standaryzacji idzie w stronę legitymizacji nadpisywania, a nie jego ograniczania, więc to zachowanie nie zostanie naprawione za ciebie.

Trzy kontrole przed następnym odnowieniem tranzytu

Zadaj pytanie, na które pomiar pozwala odpowiedzieć. Po pierwsze, zapytaj każdego operatora tranzytu na piśmie, co robi z atrybutami BGP twoich ogłoszeń i czy inaczej traktuje trasy poznane od partnerów i od klientów. Po drugie, przestań używać atrybutu ORIGIN jako sygnału sterującego w jakimkolwiek miejscu własnej polityki, bo pomiar pokazuje, że nie przeżywa on pierwszych przeskoków. Po trzecie, przenieś rzeczywisty wyraz swojej preferencji na Local Preference na własnej granicy oraz na atrybuty community, których respektowanie potwierdziłeś u operatora, a potem to przetestuj, zamiast zakładać.

Następnie wyceń odpowiedź. Umowy tranzytowe w Europie wycenia się zwykle w euro za zadeklarowany Mb/s, a w Wielkiej Brytanii w funtach, i traktowanie tras prawie nigdy w nich nie występuje. Jeśli płacisz dodatek za drugiego albo trzeciego operatora właśnie po to, by utrzymać różnorodność ścieżek, warto wpisać tę różnorodność do umowy jako zobowiązanie dotyczące traktowania tras. Operator, który nie chce powiedzieć, co robi z twoimi atrybutami, powiedział ci już coś pożytecznego o tym, które ścieżki naprawdę są twoje.