Wprowadzenie: Poza Standardami
W ewoluującym krajobrazie routingu sieciowego wyłoniły się dwie główne filozofie: prosta, oparta na plotkach metoda Wektora Odległości (jak RIP) i złożona, oparta na mapach metoda Stanu Łącza (jak OSPF). Chociaż te otwarte standardy zapewniały wspólny język dla routerów różnych producentów, reprezentowały również zestaw kompromisów. Główny gracz w branży sieciowej, Cisco Systems, dostrzegł okazję do zbudowania czegoś lepszego, dostosowanego do własnego sprzętu i wizji bardziej inteligentnej sieci.
To doprowadziło do rozwoju protokołów zastrzeżonych (proprietary). Protokół zastrzeżony jest projektowany i posiadany przez jedną firmę i historycznie był używany wyłącznie na sprzęcie tej firmy. Chociaż ogranicza to interoperacyjność, daje firmie swobodę innowacji wykraczającej poza ograniczenia publicznych komitetów standaryzacyjnych.
Ta strona bada dwa najważniejsze wkłady Cisco w dziedzinę routingu: oryginalny Wewnętrzny Protokół Routingu Bramy (IGRP), stworzony w celu rozwiązania krytycznych wad RIP, oraz jego rewolucyjnego następcę, Ulepszony Wewnętrzny Protokół Routingu Bramy (EIGRP), wyrafinowaną hybrydę, która łączy w sobie to, co najlepsze z obu światów routingu.
IGRP: Inteligentniejszy Wektor Odległości
Wewnętrzny Protokół Routingu Bramy (IGRP) był pierwszym ważnym krokiem Cisco w tworzeniu lepszego protokołu routingu w latach 80. W swej istocie był to nadal protokół wektora-odległości, co oznacza, że działał na tej samej zasadzie "routingu przez plotki", co RIP. Został jednak od podstaw zaprojektowany w celu wyeliminowania najpoważniejszych słabości RIP.
Naprawianie Wad RIP
IGRP został stworzony, aby rozwiązać dwa kluczowe problemy:
- Naiwna Metryka: Wyłączne poleganie RIP na liczbie przeskoków było jego największą wadą, traktując wolne łącze satelitarne 56kbps tak samo jak szybkie łącze światłowodowe. IGRP wprowadził znacznie bardziej zaawansowany sposób pomiaru jakości ścieżki.
- Ograniczona Skala: Maksymalna liczba przeskoków w RIP wynosząca 15 czyniła go nieodpowiednim dla każdej sieci o umiarkowanym rozmiarze. IGRP został zaprojektowany dla większych sieci korporacyjnych, z znacznie wyższą domyślną maksymalną liczbą przeskoków (100, z możliwością konfiguracji do 255).
Złożona Metryka IGRP
Koronnym osiągnięciem IGRP była jego zaawansowana metryka złożona. Zamiast tylko liczyć routery, IGRP mógł uwzględniać wiele cech ścieżki, aby obliczyć bardziej realistyczny "koszt". Brał pod uwagę pięć czynników, znanych jako wartości K:
- Przepustowość (K1): Najniższa przepustowość na całej ścieżce. Podobnie jak przepustowość autostrady jest ograniczona przez jej najwęższy odcinek.
- Opóźnienie (K3): Skumulowane opóźnienie (latencja) wszystkich łączy na ścieżce.
- Obciążenie (K2): Wykorzystanie łącza (jak bardzo jest zajęte).
- Niezawodność (K4): Miara stopy błędów na łączu.
- MTU (K5): Maksymalna Jednostka Transmisji, czyli największy rozmiar pakietu, jaki może obsłużyć łącze (nie było to faktycznie częścią wzoru metryki, ale było śledzone).
Chociaż można było użyć wszystkich pięciu wartości, domyślna konfiguracja IGRP (i później EIGRP) używała tylko Przepustowości i Opóźnienia ze względów stabilności. Wzór był skomplikowany, ale jego cel był prosty: preferować ścieżki o wyższej przepustowości i niższym skumulowanym opóźnieniu.
Domyślny Wzór Metryki IGRP
Domyślnie i , podczas gdy były ustawione na 0. To upraszcza wzór do:
Gdzie "Przepustowość" jest obliczana jako , a "Opóźnienie" to .
Upadek IGRP: Klasowa Ślepa Uliczka
Mimo swojej zaawansowanej metryki, IGRP cierpiał na tę samą fatalną wadę co RIPv1: był klasowym protokołem routingu. Nie wysyłał informacji o masce podsieci w swoich aktualizacjach. Oznaczało to, że IGRP nie mógł wspierać VLSM i był fundamentalnie niekompatybilny z architekturą nowoczesnych, efektywnie zaadresowanych sieci.
W miarę jak internet gwałtownie przechodził na model bezklasowy w celu oszczędzania adresów IP, IGRP stał się przestarzały. Cisco potrzebowało następcy, który zachowałby inteligentną metrykę IGRP, ale przyjąłby nowy, bezklasowy świat. Tym następcą był EIGRP.
Charakterystyka EIGRP
Enhanced Interior Gateway Routing Protocol (EIGRP) jest protokołem routingu wewnątrzdomenowego opracowanym przez Cisco. Należy do rodziny protokołów wektora odległości i wykorzystuje algorytm DUAL do wyznaczania tras wolnych od pętli oraz wyboru tras zapasowych.
EIGRP obsługuje routing bezklasowy, relacje sąsiedztwa, częściowe aktualizacje tras oraz równoważenie obciążenia po ścieżkach o równym i nierównym koszcie. Kolejne sekcje opisują te mechanizmy.
DUAL: Mózg Operacji
Sercem inteligencji EIGRP jest jego algorytm, Rozproszony Algorytm Aktualizacji (DUAL). DUAL jest odpowiedzialny za zapewnienie, że każda ścieżka jest wolna od pętli, oraz za obliczanie ścieżek zapasowych.
Więcej niż Prosta Tablica Routingu
Aby podejmować inteligentne decyzje, EIGRP utrzymuje trzy tabele zamiast jednej:
- Tablica Sąsiadów: Lista wszystkich bezpośrednio podłączonych routerów, które nawiązały relację sąsiedztwa EIGRP. Jest to jak książka telefoniczna zaufanych kontaktów routera.
- Tablica Topologii: To jest serce DUAL. Tablica topologii zawiera każdą pojedynczą ścieżkędo każdego celu poznaną od sąsiadów, a nie tylko tę najlepszą. To kompletny zbiór wszystkich "plotek", jakie router usłyszał.
- Tablica Routingu: Zawiera tylko absolutnie najlepszą ścieżkędo każdego celu, wybraną z tablicy topologii. To ostateczny "atlas drogowy" używany do przekazywania pakietów.
Gwarantowane Ścieżki bez Pętli: Warunek Wykonalności
Magia DUAL polega na jego zdolności do wybierania tras zapasowych, które są gwarantowanie wolne od pętli. Osiąga to, stosując prostą, ale potężną regułę zwaną Warunkiem Wykonalności (ang. Feasibility Condition). Aby to zrozumieć, potrzebujemy dwóch definicji:
- To moja własna, najtańsza trasa do celu. To metryka ścieżki, która obecnie znajduje się w mojej tablicy routingu.
- To odległość, jaką mój sąsiad mi podaje do celu. To jest Odległość Wykonalna mojego sąsiada.
Warunek Wykonalności mówi: Aby ścieżka ogłoszona przez sąsiada była uznana za ważną, wolną od pętli ścieżkę zapasową, Odległość Zgłoszona (RD) sąsiada do celu musi być ściśle mniejsza niż moja własna, bieżąca Odległość Wykonalna (FD) do tego samego celu.
Analogia: Wyobraź sobie, że jesteś w punkcie A i próbujesz dotrzeć do celu Z. Twoja obecna najlepsza ścieżka ma całkowity czas podróży 60 minut (twoje FD). Przyjaciel w punkcie B (twój sąsiad) mówi ci: &
Następcy i Wykonalni Następcy
Ten potężny warunek pozwala algorytmowi DUAL kategoryzować ścieżki w swojej tablicy topologii:
- Następca (Successor): To jest trasa z ogólnie najniższą metryką (najlepsza ścieżka). Następca jest instalowany w tablicy routingu.
- Wykonalny Następca (Feasible Successor - FS): Jest to alternatywna ścieżka, która spełnia Warunek Wykonalności . Jest to gwarantowana, wolna od pętli ścieżka zapasowa, która jest przechowywana w tablicy topologii, gotowa do natychmiastowego użycia.
To jest klucz do niesamowitej prędkości EIGRP. Jeśli ścieżka następcy ulegnie awarii, router nie musi wysyłać zapytań ani czekać na liczniki czasu. Jeśli w tablicy topologii znajduje się Wykonalny Następca, router może awansować go na nowego następcę natychmiast. Konwergencja może być prawie natychmiastowa. Tylko jeśli nie istnieje Wykonalny Następca, router musi przejść w stan "aktywny" i wysłać zapytania do swoich sąsiadów w celu znalezienia nowej ścieżki.
Inne Zalety EIGRP
Poza algorytmem DUAL, EIGRP zawiera kilka innych funkcji, które czynią go nowoczesnym, wydajnym protokołem.
- Niezawodny Protokół Transportowy (RTP): EIGRP nie używa UDP z nadzieją, że jakoś to będzie. Ma swój własny, lekki, niezawodny protokół (nie mylić z Real-time Transport Protocol dla głosu/wideo), aby zapewnić, że jego pakiety (Hello, Update, Query, Reply, Ack) są dostarczane i potwierdzane przez sąsiadów.
- Częściowe i Ograniczone Aktualizacje: W przeciwieństwie do okresowego rozgłaszania całej tablicy przez RIP, EIGRP jest znacznie bardziej wydajny. Wysyła aktualizacje tylko wtedy, gdy nastąpi zmiana w topologii sieci (łącze zostanie włączone/wyłączone lub zmieni się metryka). Co więcej, aktualizacje te są częściowe (zawierają tylko informacje, które się zmieniły) i ograniczone (wysyłane tylko do routerów, które są dotknięte zmianą). To drastycznie zmniejsza ilość ruchu routingowego w sieci.
- Bezklasowy z Założenia: EIGRP został od początku zaprojektowany jako protokół bezklasowy. W pełni wspiera VLSM i wysyła informacje o masce podsieci z każdą aktualizacją trasy.
- Równoważenie Obciążenia Równo- i Nierównokosztowe: EIGRP może rozkładać ruch na wiele ścieżek do tego samego celu. Natywnie wspiera równoważenie obciążenia na maksymalnie 4 równokosztowych ścieżkach (z możliwością konfiguracji większej liczby). Wyjątkowo, może być również skonfigurowany do wykonywania nierównokosztowego równoważenia obciążenia za pomocą funkcji zwanej Variance, co pozwala na przesyłanie ruchu przez ścieżki zapasowe, które nie są tak dobre jak podstawowe, o ile spełniają Warunek Wykonalności.
Status specyfikacji i zastosowanie EIGRP
IGRP jest protokołem wycofanym, natomiast EIGRP zachował koncepcję metryki złożonej i uzupełnił ją o routing bezklasowy oraz algorytm DUAL.
Opis EIGRP opublikowano w 2016 roku jako RFC 7868. Dokument ma kategorię Informational, został złożony niezależnie od ścieżki standardyzacyjnej IETF i nie jest standardem Internetu. Publikacja udostępniła opis protokołu, lecz nie uzasadnia nazywania EIGRP otwartym standardem IETF. Dobór EIGRP, OSPF lub IS-IS zależy od obsługiwanych urządzeń, wymagań interoperacyjności, topologii i zasad utrzymania sieci.