🌐 Routing w internecie
Jak routery znajdują trasy: protokoły wektora odległości (Bellman-Ford/RIP) wymieniają tablice i mogą „liczyć do nieskończoności”, a stanu łącza (Dijkstra/OSPF) rozgłaszają mapę sieci. Przetnij łącze i patrz, jak sieć się rekonwerguje.
O tej symulacji
Ta symulacja pozwala porównać dwie rodziny algorytmów decydujących, jak pakiety faktycznie wędrują przez sieć routerów: wektor odległości (Distance-Vector), oparty na algorytmie Bellmana-Forda i historycznie używany przez protokoły takie jak RIP, oraz stan łącza (Link-State), oparty na algorytmie najkrótszej ścieżki Dijkstry i używany przez protokoły takie jak OSPF. Każdy router zna tylko swoje bezpośrednio podłączone łącza i ich koszty; obie metody różnią się tym, jak ta lokalna informacja się rozprzestrzenia, aż każdy router zgodzi się co do najlepszej trasy do każdego celu.
🔬 Co przedstawia
Routery wektora odległości w każdej rundzie wymieniają pełne tabele odległości z sąsiadami, stopniowo zbiegając za pomocą algorytmu Bellmana-Forda — a jeśli przetniesz łącze, nieaktualne trasy mogą odbijać się w górę w stronę sztucznego limitu „nieskończoności” wynoszącego 16 skoków, odtwarzając klasyczny problem zliczania do nieskończoności. Routery stanu łącza zamiast tego zalewają wszystkich pełną topologią, a następnie każdy niezależnie uruchamia algorytm Dijkstry, by obliczyć drzewo najkrótszych ścieżek w jednym przebiegu.
🎮 Jak korzystać
Wybierz Wektor odległości lub Stan łącza przyciskami radiowymi algorytmu, wybierz router Źródło i Cel z list rozwijanych oraz wczytaj predefiniowaną topologię Pierścień, Siatka, Gwiazda lub Losowa. Użyj Krok rundy, aby przejść przez jedną wymianę naraz, lub Autoodtwarzanie, by pozwolić jej zbiegnąć samodzielnie, a następnie naciśnij Wyślij pakiet, aby animować pakiet podążający bieżącą najlepszą trasą. Przełącz na tryb edycji Dodaj węzeł, Dodaj łącze lub Przetnij łącze, aby przekształcić sieć bezpośrednio na płótnie i obserwować odzyskiwanie trasowania.
💡 Czy wiesz, że?
Pierwotny projekt RIP ograniczył „nieskończoność” do zaledwie 16 skoków właśnie po to, by problem zliczania do nieskończoności rozwiązywał się szybko zamiast zapętlać się na długo, kosztem ograniczenia sieci RIP do 15 użytecznych skoków. Rzeczywiste protokoły stanu łącza, takie jak OSPF, całkowicie unikają tego problemu, ponieważ każdy router buduje identyczną mapę całej sieci, zanim cokolwiek obliczy, dlatego OSPF zbiega w sekundy, podczas gdy trasowanie w stylu BGP w szerszym internecie może zająć minuty.
Najczęściej zadawane pytania
Jaka jest rzeczywista różnica między trasowaniem wektora odległości a stanu łącza w tej symulacji?
Routery wektora odległości wymieniają jedynie skrócone tabele odległości ze swoimi bezpośrednimi sąsiadami i uruchamiają Bellmana-Forda runda po rundzie, więc zbieganie zajmuje kilka rund i zależy od tego, jak sieć jest połączona. Routery stanu łącza najpierw zalewają wszystkich pełną informacją o topologii, więc każdy kończy z identyczną mapą i może obliczyć drzewo najkrótszych ścieżek algorytmem Dijkstry w jednym przebiegu, bez potrzeby kolejnych rund wymiany.
Czym jest problem „zliczania do nieskończoności” pokazany przy przecięciu łącza?
Gdy łącze będące częścią trasy ulega awarii, router wektora odległości, który nie usłyszał jeszcze złej wiadomości, może wciąż ogłaszać trasę przez uszkodzoną ścieżkę swoim sąsiadom, którzy dodają własny koszt i ogłaszają ją dalej, powoli zawyżając pozorną odległość zamiast od razu rozpoznać, że cel jest nieosiągalny. Symulacja ogranicza tę rosnącą liczbę do wartości „nieskończoności” wynoszącej 16, odpowiadając temu, jak RIP historycznie ograniczał sieci do 15 użytecznych skoków właśnie po to, by ograniczyć czas trwania tego problemu.
Jak predefiniowane topologie Pierścień, Siatka, Gwiazda i Losowa zmieniają zachowanie trasowania?
Topologie Pierścień i Gwiazda mają niewiele tras alternatywnych, więc przecięcie łącza może na chwilę pozostawić niektóre węzły nieosiągalne, dopóki nie zostanie znaleziona pozostała ścieżka. Topologie Siatka i Losowa mają więcej nadmiarowych łączy, więc wektor odległości i stan łącza zwykle zbiegają szybciej po awarii, ponieważ dostępnych jest więcej alternatywnych tras, na które algorytmy mogą się przełączyć.
Co się dzieje, gdy używam trybów edycji Dodaj węzeł, Dodaj łącze lub Przetnij łącze?
Dodaj węzeł umieszcza nowy router w miejscu kliknięcia; Dodaj łącze pozwala kliknąć dwa istniejące routery, by połączyć je losowo ważonym łączem; Przetnij łącze przełącza kliknięte łącze między działającym a uszkodzonym. Każda z tych zmian zmusza oba algorytmy trasowania do ponownego zbiegania od zera, więc możesz obserwować, jak wektor odległości ponownie uruchamia Bellmana-Forda, a stan łącza ponownie zalewa sieć i uruchamia Dijkstrę na nowej topologii.
Jak „Wyślij pakiet” pokazuje trasowaną ścieżkę?
Pobiera dowolną ścieżkę, którą aktualnie wybrany algorytm obliczył jako najlepszą trasę ze Źródła do Celu, i animuje mały niebieski znacznik podróżujący wzdłuż niej, krawędź po krawędzi, z bieżącą prędkością animacji. Jeśli nie istnieje żadna prawidłowa ścieżka — na przykład jeśli przecięte łącze pozostawiło cel nieosiągalny — odczyt statusu pokazuje „Nieosiągalny” zamiast trasować pakiet.
Najczęściej zadawane pytania
Czym jest system autonomiczny (AS) i dlaczego ma to znaczenie?
System autonomiczny to sieć lub grupa sieci pod jednym zarządem administracyjnym, identyfikowana numerem ASN (Autonomous System Number). Trasowanie w internecie jest hierarchiczne: wewnątrz AS trasowaniem zajmują się protokoły wewnętrzne; między AS-ami trasowanie międzydomenowe obsługuje BGP. Ten podział pozwala internetowi skalować się do miliardów urządzeń.
Jak BGP wybiera najlepszą trasę do celu?
BGP stosuje deterministyczną sekwencję reguł rozstrzygających remisy: wygrywa najwyższa preferencja lokalna; potem najmniejsza liczba skoków AS-path; potem najniższy MED (multi-exit discriminator); potem preferowane są trasy eBGP nad iBGP; potem najniższa metryka IGP do następnego skoku; a na końcu różne reguły rozstrzygające remisy. Operatorzy sieci konfigurują preferencję lokalną i polityki tras, odzwierciedlając cele komercyjne i wydajnościowe.
Czym jest wyciek tras BGP (route leak) lub przejęcie BGP (hijack)?
Wyciek tras BGP następuje, gdy AS przypadkowo lub złośliwie ogłasza trasy, których nie powinien, przekierowując ruch przez niezamierzone ścieżki. Przejęcie BGP to celowe ogłoszenie bardziej szczegółowych prefiksów, by przyciągnąć ruch przeznaczony dla innej sieci. Głośne przejęcia przekierowywały ruch internetowy przez Rosję, Chiny i inne kraje, ujawniając luki bezpieczeństwa w modelu zaufania BGP.
Czym jest OSPF i czym różni się od BGP?
OSPF to protokół stanu łącza IGP używany wewnątrz pojedynczego systemu autonomicznego. Każdy router zalewa wszystkich ogłoszeniami stanu łącza, buduje pełną mapę topologii i uruchamia algorytm Dijkstry, by obliczyć najkrótsze ścieżki. BGP to protokół wektora ścieżki EGP używany między AS-ami, z selekcją opartą na polityce, a nie czystej najkrótszej ścieżce. OSPF zbiega w sekundy; BGP może zająć minuty.
Czym jest MPLS i jakie zalety zapewnia?
MPLS dodaje krótkie etykiety o stałej długości do pakietów na brzegu sieci. Routery rdzeniowe przekazują pakiety na podstawie etykiet (proste odczyty z tabeli), a nie dopasowań IP o najdłuższym prefiksie, co umożliwia szybsze przekazywanie, inżynierię ruchu (kierowanie ruchu konkretnymi ścieżkami), wirtualne sieci prywatne (MPLS VPN) oraz gwarancje jakości usług. Oddziela warstwę przekazywania od warstwy trasowania IP.