Tajniki protokołu routingu EIGRP

0

Enhanced Interior Gateway Protocol (EIGRP) to protokół routingu opracowany i zastrzeżony przez Cisco. EIGRP łączy najlepsze najlepsze elementy protokółów wektora odległości z zaletami protokołów stanu łącza. Dodatkowo EIGRP wykorzystuje Diffusing Update Algorithm (DUAL) w celu szybkiej konwergencji i redukcji liczby potencjalnych pętli w sieci. Zalety EIGRP w porównaniu z innymi protokołami routing to obsługa nie tylko protokołu IP, ale również Novell NetWare IPX oraz AppleTalk, co upraszcza projektowanie sieci i rozwiązywanie problemów.

EIGRP obsługuje bezklasowy routing międzydomenowy CIDR oraz technikę VLSM, dzięki czemu projektanci sieci mogą optymalizować wykorzystanie przestrzeni adresowej. W porównaniu z protokołem IGRP, który jest klasowym protokołem routingu, EIGRP zapewnia szybszą zbieżność, lepszą skalowalność i lepsze zarządzanie pętlami routingu. Ponadto protokół EIGRP może zastępować protokoły Novell RIP i AppleTalk Routing Table Maintenance Protocol (RTMP).

Protokół EIGRP to zaawansowany protokół routingu wykorzystujący funkcje typowe dla protokołów działających według stanu łącza. Niektóre najważniejsze funkcje protokołu OSPF, takie jak częściowe aktualizacje czy wykrywanie sąsiednich urządzeń, są wykorzystywane w podobny sposób w protokole EIGRP. Protokół EIGRP jest jednak łatwiejszy w konfiguracji.

EIGRP to idealne rozwiązanie dla sieci składających się nie więcej niż z 50 routerów i korzystających z wielu protokołów. Sieć to zbiór wielu urządzeń, protokołów i mediów, które umożliwiają komunikację opartą na przesyłaniu danych.

Porównanie protokołów EIGRP i IGRP
Protokół EIGRP został wprowadzony przez firmę Cisco w 1994 r. jako ulepszona wersja jej własnego protokołu routingu działającego na podstawie wektora odległości – IGRP. Technologia wektora odległości i informacje o odległości stosowane w protokole IGRP są również wykorzystywane w protokole EIGRP.

Protokół EIGRP ma lepsze właściwości w zakresie uzyskiwania zbieżności oraz działa wydajniej niż protokół IGRP. Pozwala to na zastosowanie ulepszonej architektury sieci z jednoczesnym wykorzystaniem dotychczasowych inwestycji w protokół IGRP.

Porównanie między protokołami EIGRP i IGRP można sprowadzić do następujących pięciu ważnych kategorii:

  • tryb zgodności,
  • obliczenia metryk,
  • liczba przeskoków,
  • automatyczna redystrybucja protokołu,
  • oznaczanie tras.

Protokoły IGRP i EIGRP są z sobą zgodne. Zgodność ta gwarantuje bezproblemowe współdziałanie z routerami IGRP. To ważne, ponieważ użytkownicy mogą wykorzystywać zalety obu protokołów. Protokół EIGRP, w odróżnieniu od protokołu IGRP, może obsługiwać wiele protokołów sieciowych.

W protokołach EIGRP i IGRP są stosowane różne metody obliczania metryk. Metryka protokołu EIGRP ma 256-krotnie wyższą wartość od metryki protokołu IGRP. Wynika to z faktu, że w protokole EIGRP metryki mają 32 bity długości, podczas gdy w protokole IGRP – 24 bity. W celu umożliwienia bezproblemowej wymiany informacji z protokołem IGRP w ramach protokołu EIGRP należy wykonywać odpowiednio mnożenie lub dzielenie przez 256.

W protokole IGRP maksymalna liczba przeskoków to 255, natomiast w protokole EIGRP – 224. Nawet ta wielkość wystarcza z zapasem do obsługi dużych, prawidłowo zaprojektowanych intersieci.

Wymiana informacji między odmiennymi protokołami routingu, na przykład OSPF i RIP, wymaga przeprowadzenia bardziej zaawansowanej konfiguracji. Redystrybucja (współużytkowanie) tras między protokołami IGRP i EIGRP jest realizowana automatycznie pod warunkiem, że oba procesy korzystają z tego samego numeru systemu autonomicznego. Protokół EIGRP oznacza trasy, o których informacje uzyskał od protokołu IGRP lub z innych źródeł, jako zewnętrzne, ponieważ nie pochodziły one z routerów wyposażonych w protokół EIGRP. Protokół IGRP nie rozróżnia między trasami wewnętrznymi a zewnętrznymi.

Należy zwrócić uwagę, że w danych wyjściowych polecenia show ip route trasy protokołu EIGRP są oznaczone literą D, natomiast trasy zewnętrzne – literami EX.

Pojęcia i terminologia dotyczące protokołu EIGRP
Poniżej zostały omówione trzy tablice, w których protokół EIGRP przechowuje informacje o sieci. Routery EIGRP przechowują informacje o trasach i topologii w łatwo dostępnej pamięci RAM, dzięki czemu mogą szybko reagować na zmiany. Podobnie jak routery OSPF, routery EIGRP zapisują te informacje w kilku tablicach i bazach danych.

Protokół EIGRP zapisuje trasy w określony sposób. Trasom przypisywany jest określony stan. Mogą być również oznaczone etykietami zawierającymi dodatkowe przydatne informacje.

Protokół EIGRP utrzymuje następujące trzy tablice:

  • tablica sąsiadów,
  • tablica topologii,
  • tablica routingu.

Najważniejsza z nich jest tablica sąsiadów. Każdy router EIGRP utrzymuje tablicę sąsiadów, w której są zawarte informacje o sąsiadujących z nim routerach. Tablicę tę można porównać do bazy danych przylegania używanej przez protokół OSPF. Dla każdego protokołu obsługiwanego przez protokół EIGRP istnieje osobna tablica sąsiadów.

Wykrycie nowego urządzenia w sąsiedztwie powoduje zapisanie informacji o jego adresie i interfejsie. Dane te są zapisywane w strukturze danych urządzeń sąsiadujących. Gdy sąsiednie urządzenie wysyła pakiet hello, ogłasza swój czas przetrzymania. Czas przetrzymania to czas, przez jaki router uważa sąsiednie urządzenie za dostępne i działające. Jeśli w tym okresie pakiet hello nie zostanie odebrany, czas przetrzymania wygasa. Po jego wygaśnięciu algorytm DUAL, który jest algorytmem protokołu EIGRP opartym na wektorze odległości, jest informowany o zmianach w topologii i musi ponownie obliczyć nową topologię.

Tablicę topologii tworzą wszystkie tablice routingu protokołu EIGRP w systemie autonomicznym. Na podstawie informacji zawartych w tablicy sąsiadów i tablicy topologii algorytm DUAL oblicza trasy do każdego miejsca docelowego charakteryzujące się najniższym kosztem. Protokół EIGRP śledzi te informacje, tak aby routery EIGRP mogły szybko znaleźć trasy alternatywne i zostać na nie przełączone. Informacje uzyskiwane przez router za pomocą algorytmu DUAL służą do ustalenia podstawowej opłacalnej trasy. Jest to pojęcie wykorzystywane do określenia głównej (najlepszej) trasy. Informacje te są również umieszczane w tablicy topologii. Routery EIGRP utrzymują osobną tablicę topologii dla każdego skonfigurowanego protokołu sieciowego. Tablica zawiera informacje o wszystkich trasach do miejsca docelowego uzyskane przez router.

Tablica topologii zawiera następujące pola:

  • Opłacalna odległość FD – najniższa obliczona metryka do każdego miejsca docelowego. Na przykład opłacalna odległość do urządzenia docelowego 32.0.0.0 może wynosić 2195456.
  • Miejsce źródłowe trasy – numer identyfikacyjny routera, który ogłosił daną trasę jako pierwszy. Pole jest wypełniane wyłącznie w przypadku tras, o których informacje router uzyskał z zewnątrz, spoza sieci EIGRP. Oznaczanie tras może być szczególnie przydatne w routingu opartym na regułach. Na przykład miejscem źródłowym trasy do urządzenia o adresie 32.0.0.0 może być grupa urządzeń o adresach od 200.10.10.10 do 200.10.10.10.
  • Zgłaszana odległość RD (Reported Distance) – odległość do określonego miejsca docelowego podawana przez przylegającego sąsiada. Na przykład zgłaszana odległość do sieci 32.0.0.0 wynosi 281600, zgodnie z informacją zawartą w wyrażeniu (2195456/281600).
  • Informacje o interfejsie – interfejs, za pośrednictwem którego można dotrzeć do miejsca docelowego.
  • Stan trasy – stan, w jakim znajduje się trasa. Trasy są rozpoznawane jako pasywne, tzn. stabilne i gotowe do użycia, lub aktywne, tzn. w trakcie obliczania przez algorytm DUAL.

W tablicy routingu EIGRP są przechowywane informacje o najlepszych trasach do danego miejsca docelowego. Informacje te są pozyskiwane z tablicy topologii. Routery EIGRP utrzymują osobne tablice routingu dla każdego protokołu sieciowego.

Podstawowa opłacalna trasa to trasa wybierana jako główna trasa prowadząca do danego miejsca docelowego. Algorytm DUAL wyznacza ją na podstawie informacji zawartych w tablicach sąsiadów i topologii, po czym zapisuje ją w tablicy routingu. Dla każdego miejsca docelowego mogą istnieć maksymalnie cztery trasy główne. Mogą się charakteryzować takimi samymi lub innymi kosztami. Wszystkie są rozpoznawane jako najlepsze, pozbawione zapętleń ścieżki do danego miejsca.

Trasa zastępcza (FS, Feasible Successor Route) jest trasą zapasową. Te trasy są ustalane w tym samym czasie co trasy podstawowe, ale zapisywane są tylko w tablicy topologii. W tablicy topologii może być zapisanych kilka następnych opłacalnych tras do danego miejsca docelowego, chociaż nie jest to wymóg.

Router traktuje urządzenia tworzące następne opłacalne trasy jako trasy sąsiadujące umieszczone za urządzeniem, tzn. zlokalizowane bliżej miejsca docelowego niż on sam. Koszty następnej opłacalnej trasy są obliczane na podstawie kosztu połączenia z miejscem docelowym ogłaszanego przez sąsiedni router. W przypadku awarii trasy głównej router poszuka rozpoznanej zapasowej trasy głównej. Trasa ta zostanie podniesiona do rangi trasy podstawowej. Następna opłacalna trasa musi mieć niższy ogłaszany koszt niż koszt bieżącej trasy podstawowej prowadzącej do miejsca docelowego. Jeśli na podstawie posiadanych informacji router nie będzie w stanie zidentyfikować następnej opłacalnej trasy, określi ją jako aktywną i wyśle pakiety zapytań do wszystkich sąsiednich urządzeń w celu przeliczenia aktualnej topologii. Router może rozpoznać nową trasę główną lub zapasową trasę główną na podstawie nowych informacji zawartych w pakietach otrzymanych w odpowiedzi na zapytania. W takim przypadku trasa znajdzie się w stanie pasywnym.

W tablicy topologii mogą być zapisywane dodatkowe informacje o każdej trasie. Protokół EIGRP klasyfikuje trasy jako wewnętrzne lub zewnętrzne. Każda trasa jest opatrywana odpowiednim znacznikiem. Trasy wewnętrzne to trasy, o których informacje pochodzą z systemu autonomicznego obsługiwanego przez protokół EIGRP.

Trasy zewnętrzne to trasy, o których informacje pochodzą spoza systemu kontrolowanego przez protokół EIGRP. Trasy, o których informacje zostały uzyskane lub przekazane przez inne protokoły routingu, takie jak RIP, OSPF czy IGRP, są trasami zewnętrznymi. Również trasy statyczne, ustalone na podstawie informacji pochodzących spoza systemu protokołu EIGRP, mają charakter zewnętrzny. Znacznikowi można nadać numer z przedziału od 0 do 255.

Cechy konstrukcyjne protokołu EIGRP
Działanie protokołu EIGRP odbiega znacznie od funkcjonowania protokołu IGRP. EIGRP to zaawansowany protokół routingu wykorzystujący wektor odległości. Działa on jednak również jako protokół stanu łącza, ponieważ w podobny sposób wysyła aktualizacje do sąsiednich urządzeń i przechowuje informacje o routingu. Poniżej zestawiono zalety protokołu EIGRP w porównaniu z prostymi protokołami wektora odległości:

  • szybsze osiąganie zbieżności,
  • lepsze wykorzystanie pasma,
  • obsługa techniki VLSM i protokołu CIDR,
  • obsługa wielu warstw sieci,
  • niezależność od protokołów routowanych.

Mechanizm modułów PDM (Protocol-Dependent Module) zapobiega tworzeniu zróżnicowanych wersji protokołu EIGRP przystosowanych do pracy z określonymi protokołami sieciowymi. Zmieniające się protokoły routowane, takie jak IP, mogą wymagać nowego modułu, ale zwykle nie wymagają przebudowy samego protokołu EIGRP.

Routery wyposażone w protokół EIGRP szybciej osiągają zbieżność, ponieważ korzystają z algorytmu DUAL. Algorytm ten gwarantuje pracę bez zapętleń przez cały czas obliczania trasy, dzięki czemu wszystkie routery uczestniczące w zmianie topologii mogą dokonać synchronizacji w tym samym czasie.

Protokół EIGRP wysyła częściowe, ograniczone aktualizacje oraz efektywnie wykorzystuje pasmo. Gdy sieć jest stabilna, pasmo jest obciążane w minimalnym stopniu. Routery EIGRP nie wysyłają całych tablic, ale jedynie częściowe, przyrostowe aktualizacje. Przypomina to działanie protokołu OSPF. Różnica polega na tym, że routery EIGRP wysyłają częściowe aktualizacje tylko do routerów wymagających zawartych w nich informacji, a nie do wszystkich routerów w danym obszarze. Z tego względu aktualizacje te są nazywane aktualizacjami ograniczonymi. Do zachowania kontaktu między sobą routery EIGRP nie używają okresowych aktualizacji tras, ale niewielkich pakietów hello. Mimo iż pakiety te są przesyłane między routerami w regularnych odstępach czasu, nie zajmują one istotnej części pasma.

Protokół EIGRP obsługuje protokoły sieciowe IP, IPX i AppleTalk, używając w tym celu modułów PDM. Protokół EIGRP może redystrybuować informacje protokołów IPX-RIP oraz IPX-SAP, przyczyniając się do poprawy ogólnego funkcjonowania sieci. W praktyce protokół EIGRP może nawet zastępować te dwa protokoły. Routery EIGRP otrzymują aktualizacje tras i usług oraz aktualizują pozostałe routery jedynie w przypadku wystąpienia zmian w protokole SAP lub w tablicach routingu. W sieciach EIGRP aktualizacje tras są dokonywane w formie częściowych aktualizacji. Protokół EIGRP może również przejmować funkcje protokołu RTMP w sieciach AppleTalk.

Jako protokół wektora odległości, RTMP jest oparty na okresowych i pełnych wymianach informacji o routingu z innymi urządzeniami. Aby zredukować ilość związanego z tym ruchu, protokół EIGRP rozsyła informacje o routingu dla protokołu AppleTalk w formie aktualizacji zdarzeniowych. Ponadto w celu ustalenia najlepszej trasy do sieci AppleTalk protokół EIGRP wykorzystuje konfigurowalną metrykę złożoną. Dla odmiany protokół RTMP wykorzystuje liczbę przeskoków, co może powodować nieoptymalny routing. Klienci w sieci AppleTalk oczekują informacji protokołu RTMP z lokalnych routerów, stąd protokół EIGRP dla protokołu AppleTalk powinien być używany tylko w sieciach pozbawionych klientów, takich jak WAN.

Technologie w protokole EIGRP

Każda nowa technologia przynosi poprawę efektywności działania, tempa osiągania zbieżności lub funkcjonalności protokołu EIGRP w porównaniu z IGRP i innymi protokołami routingu. Rozwiązania te można zakwalifikować do jednej z czterech kategorii:

  • wykrywanie nowych sąsiadów i odtwarzanie relacji z byłymi sąsiadami,
  • protokół RTP (Reliable Transport Protocol),
  • algorytm automatu skończonego DUAL,
  • moduły zależne od protokołów.

Proste routery wykorzystujące mechanizm wektora odległości nie nawiązują żadnych relacji z sąsiednimi urządzeniami. Routery wyposażone w protokoły RIP i IGRP jedynie rozgłaszają lub rozsyłają grupowo aktualizacje przez skonfigurowane w tym celu interfejsy. W odróżnieniu od nich routery z protokołem EIGRP aktywnie ustanawiają relacje z sąsiadującymi urządzeniami, bardzo podobnie do sposobu, w jaki czynią to routery OSPF.

Routery EIGRP tworzą relacje przylegania. W tym celu wykorzystują niewielkie pakiety hello. Pakiety te są wysyłane domyślnie co 5 sekund. Router EIGRP zakłada, że tak długo, jak otrzymuje pakiety hello od znanych sąsiadów, sąsiedzi ci oraz obsługiwane przez nie trasy funkcjonują prawidłowo, czyli pozostają pasywne. Gdy routery EIGRP tworzą relacje przylegania, możliwe są następujące scenariusze:

  • dynamicznie dowiadują się o nowych trasach, które pojawiły się w sieci,
  • wykrywają routery, które stały się niedostępne lub przestały działać,
  • ponownie wykrywają routery, które wcześniej były niedostępne.

Protokół RTP (Reliable Transport Protocol) to protokół warstwy transportowej, który gwarantuje dostarczanie pakietów EIGRP w odpowiedniej kolejności do wszystkich sąsiednich urządzeń. W sieci opartej na protokole IP do wyznaczenia kolejności pakietów i zapewnienia ich terminowego dostarczenia hosty wykorzystują protokół TCP. Protokół EIGRP ma tę zaletę, że jest niezależny od protokołu bazowego. Oznacza to, że w celu wymiany informacji o routingu nie używa TCP/IP, jak to jest w przypadku protokółów RIP, IGRP i OSPF.

Aby pozostać niezależnym od protokołu IP, do przesyłania informacji o routingu protokół EIGRP używa protokołu RTP jako własnego protokołu warstwy transportowej. Protokół RTP może obsługiwać protokół EIGRP w sposób gwarantowany lub bez gwarancji, zależnie od wymagań danej sytuacji. Na przykład dla pakietów hello można zrezygnować z dodatkowych obciążeń wynikających z dostawy gwarantowanej, ponieważ są one często wysyłane i powinny być jak najmniejsze. Dostarczanie pozostałych informacji o routingu w trybie gwarantowanym może w praktyce przyspieszyć osiąganie zbieżności, ponieważ routery EIGRP nie muszą czekać z rozpoczęciem ich przekazywania na upłynięcie limitu czasu ustawionego w zegarze.

Dzięki protokołowi RTP protokół EIGRP może wysyłać dane do innych urządzeń jednocześnie w formie transmisji pojedynczej i grupowej. Zapewnia to maksymalną efektywność rozsyłania.

Kluczowym elementem protokołu EIGRP jest algorytm DUAL – mechanizm obliczania tras używany przez ten protokół. Pełna nazwa tej technologii to automat skończony DUAL FSM (Finite-state Machine). FSM to automat algorytmiczny, a nie urządzenie z ruchomymi częściami. Moduły FSM określają zbiór możliwych stanów, przez które może przechodzić dany obiekt, zdarzenia powodujące te stany oraz zdarzenia będące efektem zaistnienia tych stanów. Projektanci wykorzystują koncepcję automatu o skończonej liczbie stanów do opisywania reakcji urządzenia, programu komputerowego lub algorytmu routingu na zbiór zdarzeń. Automat FSM protokołu DUAL jest wyposażony we wszystkie funkcje logiczne potrzebne do obliczania i porównywania tras w sieci EIGRP.

Algorytm DUAL śledzi wszystkie trasy ogłaszane przez sąsiednie routery. W celu ich porównania używa złożonych metryk każdej z tras. Algorytm gwarantuje również brak zapętleń we wszystkich ścieżkach. W tablicy routingu umieszcza ścieżki o najniższych kosztach. Te trasy główne są nazywane podstawowymi opłacalnymi trasami. Kopia informacji o trasach głównych jest umieszczana w tablicy topologii.

Protokół EIGRP zapewnia łatwy dostęp do ważnych informacji o trasach i topologii dzięki umieszczeniu ich w tablicy sąsiadów i tablicy topologii. Tablice te dostarczają algorytmowi DUAL kompleksowych informacji o trasach na wypadek zakłóceń funkcjonowania sieci. Na podstawie tych informacji algorytm może szybko wybrać trasy alternatywne. Jeśli dane łącze ulegnie awarii, algorytm DUAL poszukuje w tablicy topologii alternatywnej ścieżki, tzw. następnej opłacalnej trasy.

Jedną z korzystnych cech protokołu EIGRP jest jego modułowa konstrukcja. Praktyka pokazuje, że konstrukcje modułowe (warstwowe) są najbardziej skalowalne i elastyczne. Obsługę protokołów routowanych, takich jak IP, IPX i AppleTalk, zapewniają w protokole EIGRP moduły PDM. Teoretycznie można dodawać kolejne moduły PDM, które umożliwią obsługę nowych lub zmodernizowanych protokołów routowanych, takich jak IPv6.

Każdy moduł PDM odpowiada za obsługę wszystkich funkcji związanych z konkretnym protokołem routowanym. Moduł IP-EIGRP odpowiada za realizację następujących funkcji:

  • wysyłanie i odbieranie pakietów EIGRP zawierających dane IP,
  • powiadamianie algorytmu DUAL o otrzymywanych nowych informacjach o routingu IP,
  • przechowywanie decyzji o routingu podejmowanych przez algorytm DUAL w tablicy routingu protokołu IP,
  • rozprowadzanie informacji o routingu uzyskanych przez inne protokoły routingu obsługujące protokół IP.


Struktura danych protokołu EIGRP

Podobnie jak protokół OSPF, do utrzymywania tabel i nawiązywania relacji z sąsiednimi routerami protokół EIGRP wykorzystuje różne rodzaje pakietów.

Wyróżnia się pięć typów pakietów protokołu EIGRP:

  • hello,
  • potwierdzenie (Acknowledgment),
  • aktualizacja (Update),
  • zapytanie (Query),
  • odpowiedź (Reply).

Pakiety hello są wykorzystywane do wykrywania, weryfikowania i ponownego wykrywania sąsiednich routerów. Ponowne wykrywanie ma miejsce w sytuacji, gdy routery EIGRP nie otrzymują od siebie pakietów hello przez czas przetrzymania, ale potem ponownie nawiązują komunikację.

Routery EIGRP wysyłają pakiety hello w stałych, ale konfigurowalnych odstępach czasu. Domyślny czas między pakietami hello zależy od szerokości pasma interfejsu. W sieciach IP routery EIGRP wysyłają pakiety hello pod adres grupowy 224.0.0.10.

Routery EIGRP przechowują informacje o sąsiednich urządzeniach w tablicy sąsiadów. Tablica sąsiadów zawiera pole Seq No (Sequence Number, numer sekwencyjny), w którym jest zapisywany numer ostatniego otrzymanego pakietu EIGRP wysłanego przez dane urządzenie. Istnieje również pole Hold Time (Czas przetrzymania), w którym jest rejestrowany czas otrzymania ostatniego pakietu. Aby trasa pozostała w stanie pasywnym, pakiety muszą być otrzymywane przed upłynięciem czasu przetrzymania. Stan pasywny oznacza, że trasa jest dostępna i funkcjonuje prawidłowo.

Jeśli protokół EIGRP nie otrzyma pakietu od sąsiedniego urządzenia w wyznaczonym czasie przetrzymania, uzna, że urządzenie to nie działa. W tym momencie algorytm DUAL zaczyna weryfikację tablicy routingu. Domyślnie czas przetrzymania to trzykrotność czasu między pakietami hello, ale administrator może ustawiać obie wartości w dowolny sposób.

Aby była możliwa komunikacja między dwoma sąsiednimi routerami obsługiwanymi przez protokół OSPF, muszą mieć one takie same przedziały pakietów hello i czasy nieaktywności. Protokół EIGRP nie narzuca takiego ograniczenia. Sąsiednie routery dowiadują się o swoich wzajemnych ustawieniach zegarów przez wymianę pakietów hello. Następnie wykorzystują te informacje do ustanowienia trwałej relacji, niezależnie od różnic między wartościami zegarów. Pakiety hello zawsze są wysyłane bez gwarancji. Oznacza to, że nie towarzyszą im żadne pakiety potwierdzeń.

Routery EIGRP używają pakietów potwierdzeń podczas wymiany gwarantowanej do poinformowania, że otrzymały pakiety EIGRP. Protokół RTP umożliwia gwarantowaną komunikację między hostami EIGRP. W tym celu są wykorzystywane pakiety potwierdzeń. Są to pakiety hello pozbawione danych. W odróżnieniu od pakietów hello rozsyłanych grupowo, pakiety potwierdzeń są rozsyłane pojedynczo. Potwierdzenia mogą być dołączane do innych rodzajów pakietów EIGRP, np. pakietów odpowiedzi.

Pakiety aktualizacyjne są używane w sytuacji, gdy router wykryje nowe urządzenie sąsiednie. Routery EIGRP wysyłają wtedy do takiego routera pakiety aktualizacyjne w trybie transmisji pojedynczej (unicast), które umożliwią mu uzupełnienie tablicy topologii. Przekazanie wszystkich informacji może wymagać przesłania kilku pakietów. Pakiety aktualizacyjne są również wykorzystywane w przypadku wykrycia przez router zmian w topologii. Wtedy router EIGRP wysyła do wszystkich sąsiadów pakiet w trybie multiemisji (multicast), który informuje je o zaistniałej zmianie. Wszystkie pakiety aktualizacyjne są wysyłane z gwarancją.

Jeśli router utraci swoją podstawową opłacalną trasę i nie będzie mógł znaleźć następnej opłacalnej trasy, algorytm DUAL nada trasie stan aktywny. Następnie router podejmie próbę ustalenia innej podstawowej opłacalnej trasy do miejsca docelowego, rozsyłając grupowo do wszystkich sąsiednich routerów odpowiednie zapytanie. Sąsiednie urządzenia muszą przysłać odpowiedzi, które będą zawierały informacje o dostępnych trasach albo stwierdzenie braku żądanych informacji. Zapytania mogą być wysyłane przy użyciu transmisji pojedynczej lub grupowej, natomiast odpowiedzi zawsze mają charakter transmisji pojedynczej. Oba rodzaje pakietów są wysyłane z gwarancją.

Algorytm protokołu EIGRP

Dzięki algorytmowi DUAL protokół EIGRP osiąga zbieżność z dużą szybkością. Przykład pokazany na rysunku umożliwia lepsze zrozumienie przebiegu procesu zbieżności z wykorzystaniem algorytmu DUAL. Na każdym routerze została utworzona tablica topologii, która zawiera informacje na temat trasy do miejsca docelowego – sieci A.

W każdej tablicy znajdują się następujące informacje:

  • protokół routingu EIGRP;
  • najniższy koszt trasy, zwany opłacalną odległością FD;
  • koszt trasy ogłaszany przez sąsiedni router, zwany zgłaszaną odległością RD.

Kolumna Topologia określa trasę główną, zwaną podstawową opłacalną trasą (Successor), oraz trasę zapasową (jeśli istnieje), zwaną następną opłacalną trasą (FS). Należy zwrócić uwagę, że istnienie następnej opłacalnej trasy nie jest wymagane.

W sieci EIGRP jest wykonywana sekwencja czynności mających na celu zapewnienie zbieżności routerów, które aktualnie zawierają następujące informacje o topologii.

  • Router C ma jedną trasę główną, która prowadzi przez router B.
  • Router C ma jedną zapasową trasę główną, która prowadzi przez router D.
  • Router D ma jedną trasę główną, która prowadzi przez router B.
  • Router D nie ma zidentyfikowanej żadnej zapasowej trasy głównej.
  • Router E ma jedną trasę główną, która prowadzi przez router D.
  • Router E nie ma zidentyfikowanej żadnej następnej opłacalnej trasy.

Poniższy przykład pokazuje, w jaki sposób poszczególne routery w obrębie topologii będą realizowały zasady wyboru następnej opłacalnej trasy w przypadku awarii trasy między routerami D i B.

Na routerze B

  • Trasa prowadząca przez router B zostaje usunięta z tablicy topologii.
  • Jest to trasa główna. Router D nie ma zidentyfikowanej żadnej zapasowej trasy głównej.
  • Router D musi obliczyć nową trasę.

Na routerze C

  • Trasa do sieci A prowadząca przez router D nie działa.
  • Trasa prowadząca przez router D zostaje usunięta z tablicy.
  • Jest to zapasowa trasa główna C

Na routerze D

  • Router D nie ma zidentyfikowanej żadnej zapasowej trasy głównej. Nie może się przełączyć na rozpoznaną alternatywną trasę zapasową.
  • Router D musi ponownie obliczyć topologię sieci. Ścieżka do docelowej sieci A zostaje oznaczona jako aktywna.
  • Router D wysyła do wszystkich połączonych z nim sąsiednich routerów pakiet zapytania z żądaniem informacji o topologii. Router C ma odpowiednią trasę dla routera D.
  • Router D nie ma żadnego wcześniejszego wpisu o routerze E.

Na routerze E

  • Trasa do sieci A prowadząca przez router D nie działa.
  • Trasa prowadząca przez router D zostaje usunięta z tablicy.
  • Jest to trasa główna routera E.
  • Router E nie ma zidentyfikowanych żadnych następnych opłacalnych tras.
  • Należy zwrócić uwagę, że zgłaszany koszt poprowadzenia trasy przez router D wynosi 3. Jest on identyczny z kosztem trasy głównej prowadzącej przez router D.

Na routerze C

  • Router E wysyła do routera C pakiet zapytania.
  • Router C usuwa router E ze swojej tablicy.
  • Router C odpowiada routerowi D podaniem informacji o nowej trasie do sieci A.

Na routerze D

  • Trasa do miejsca docelowego sieci A – w dalszym ciągu jest oznaczona jako aktywna. Obliczenia nie zostały jeszcze ukończone.
  • Router C odpowiedział routerowi D potwierdzeniem, że do docelowej sieci A jest dostępna trasa o koszcie 5.
  • Router D w dalszym ciągu oczekuje na odpowiedź z routera E.

Na routerze E

  • Router E nie ma żadnych następnych opłacalnych tras umożliwiających dotarcie do sieci A.
  • W efekcie router E oznacza tę trasę jako aktywną.
  • Router E musi ponownie obliczyć topologię sieci.
  • Router E usuwa ze swojej tablicy trasę prowadzącą przez router D.
  • Router E wysyła do routera C zapytanie z żądaniem informacji o topologii.
  • Router E ma już wpis o trasie przez router C. Jej koszt wynosi 3 i jest równy kosztowi trasy głównej.

Na routerze E

  • Router C odpowiada informacją, że wartość parametru RD wynosi 3.
  • Teraz router E może ustawić trasę prowadzącą przez router C jako nową podstawową opłacalną trasę, której opłacalna odległość FD wynosi 4, a zgłaszana odległość RD – 3.
  • Router E zmienia stan trasy prowadzącej do sieci A z aktywnego na pasywny. Należy zwrócić uwagę, że trasa będzie się znajdowała domyślnie w stanie pasywnym tak długo, jak będą po niej odbierane pakiety hello. W omawianym przykładzie są oznaczone tylko trasy aktywne.

Na routerze E

  • Router E wysyła routerowi D odpowiedź ze swoimi informacjami o topologii.
  • Na routerze D
  • Router D otrzymuje pakiet odpowiedzi od routera E.
  • Router D umieszcza w swojej tablicy dane o trasie przez router E do docelowej sieci A.
  • Trasa ta staje się dodatkową trasą główną, ponieważ jej koszty są takie same jak dla trasy prowadzącej przez router C, natomiast zgłaszana odległość jest mniejsza niż opłacalna odległość wynosząca 5.

W ten sposób między wszystkimi routerami EIGRP korzystającymi z algorytmu DUAL zostaje osiągnięta zbieżność.

Konstruowanie tablic sąsiadów

Proste routery wykorzystujące mechanizm wektora odległości nie nawiązują żadnych relacji z sąsiednimi urządzeniami. Routery wyposażone w protokoły RIP i IGRP jedynie rozgłaszają lub rozsyłają grupowo aktualizacje przez skonfigurowane w tym celu interfejsy. W odróżnieniu od nich routery z protokołem EIGRP aktywnie ustanawiają relacje z sąsiadującymi urządzeniami, analogicznie do routerów używających protokołu OSPF.

Najważniejszą tablicą w routingu EIGRP jest tablica sąsiadów. Każdy router EIGRP utrzymuje tablicę sąsiadów, w której są wymienione sąsiadujące z nim routery. Dla każdego protokołu obsługiwanego przez protokół EIGRP istnieje osobna tablica sąsiadów.

Routery EIGRP ustanawiają relacje przylegania z sąsiednimi routerami za pomocą niewielkich pakietów hello. Pakiety te są wysyłane domyślnie co 5 sekund. Tworzenie relacji przylegania daje routerom EIGRP następujące możliwości:

  • dynamiczne uzyskiwanie informacji o nowych trasach pojawiających się w sieci;
  • wykrywanie routerów, które stały się niedostępne lub przestały działać;
  • ponowne wykrywanie routerów, które wcześniej były niedostępne.
  • Tablica sąsiadów zawiera następujące pola:
  • Adres sąsiedniego urządzenia (neighbor address) – adres warstwy sieci sąsiedniego routera.
  • Czas przetrzymania (hold time) – czas oczekiwania bez otrzymania jakiegokolwiek sygnału od sąsiedniego urządzenia, zanim łącze zostanie uznane za niedostępne. Pierwotnie oczekiwanym pakietem był pakiet hello, jednak w obecnych wydaniach systemu Cisco IOS zegar jest resetowany po otrzymaniu jakiegokolwiek pakietu protokołu EIGRP po pierwszym pakiecie hello.
  • Zegar SRTT (Smooth Round-Trip Timer) – średni czas od wysłania pakietu do sąsiedniego urządzenia do otrzymania pakietu odpowiedzi. Zegar jest wykorzystywany do ustalania interwału retransmisji RTO.
  • Wielkość kolejki Q Cnt (Queue count) – liczba pakietów oczekujących w kolejce na wysłanie. Jeśli wartość ta jest regularnie większa od zera, na routerze może występować przeciążenie. Liczba 0 oznacza brak pakietów protokołu EIGRP w kolejce.
  • Numer sekwencyjny Seq No (Sequence Number) – numer ostatniego pakietu otrzymanego od danego sąsiedniego urządzenia. W tym polu protokół EIGRP potwierdza transmisję z sąsiedniego urządzenia oraz identyfikuje pakiety, które dotarły bez zachowania właściwej kolejności. Tablica sąsiadów służy do zapewnienia gwarantowanej, sekwencyjnej wysyłki pakietów. Można ją porównywać do protokołu TCP używanego do gwarantowanego dostarczania pakietów IP.

Wykrywanie tras
Routery EIGRP przechowują informacje o trasach i topologii w pamięci RAM, dzięki czemu mogą szybko reagować na zmiany. Podobnie jak routery OSPF, routery EIGRP zapisują te informacje w kilku tablicach i bazach danych.

Algorytm protokołu EIGRP wykorzystujący wektor odległości DUAL na podstawie informacji zawartych w tablicy sąsiadów i tablicy topologii oblicza najtańszą trasę do miejsca docelowego. Trasa główna jest nazywana podstawową opłacalną trasą. Obliczoną trasę główną algorytm DUAL umieszcza w tablicy routingu, a jej kopię – w tablicy topologii.

DUAL próbuje również obliczyć trasę zapasową na wypadek, gdyby trasa główna zawiodła. Trasa zapasowa jest nazywana zapasową trasą główną. Obliczoną następną opłacalną trasę algorytm umieszcza w tablicy topologii. Gdy trasa główna do miejsca docelowego stanie się niedostępna lub niewiarygodna, można skorzystać z zapasowej trasy głównej.

Wybór tras
Jeśli w tablicy nie zostanie odnaleziona następna opłacalna trasa, dana trasa jest oznaczana jako aktywna, czyli bezużyteczna w danym momencie. Do sąsiednich routerów są wysyłane pakiety zapytań z żądaniem informacji o topologii. Na podstawie otrzymanych informacji algorytm DUAL ponownie oblicza podstawową i zapasową trasę główną do miejsca docelowego.

Po przeprowadzeniu obliczeń trasa główna jest zapisywana w tablicy routingu. Następnie obie trasy główne – podstawowa i zapasowa – są zapisywane w tablicy topologii. Stan docelowej trasy do miejsca docelowego ulegnie teraz zmianie z aktywnego na pasywny. Oznacza to, że trasa działa i jest wiarygodna.

Każda tablica zawiera następujące informacje:

  • protokół routingu EIGRP;
  • najniższy koszt trasy, zwany opłacalną odległością FD;
  • koszt trasy ogłaszany przez sąsiedni router, zwany zgłaszaną odległością RD.

Należy zwrócić uwagę, że istnienie następnej opłacalnej trasy jest opcjonalne.

Utrzymywanie tablic routingu
Algorytm DUAL śledzi wszystkie trasy ogłaszane przez sąsiednie routery. W celu ich porównania używa złożonych metryk każdej z tras. Algorytm gwarantuje również brak zapętleń we wszystkich ścieżkach.

Następnie algorytm wstawia ścieżki o najniższym koszcie do tablicy routingu. Te trasy główne są nazywane podstawowymi opłacalnymi trasami. Kopia informacji o trasach głównych jest również umieszczana w tablicy topologii. Tablice te dostarczają algorytmowi DUAL kompleksowych informacji o trasach na wypadek zakłóceń funkcjonowania sieci. Na podstawie tych informacji algorytm może szybko wybrać trasy alternatywne.

Jeśli dane łącze ulegnie awarii, algorytm DUAL poszukuje w tablicy topologii alternatywnej ścieżki, tzw. następnej opłacalnej trasy. Jeśli odpowiedni wpis nie zostanie znaleziony w tablicy, dana trasa jest oznaczana jako aktywna. Do sąsiednich routerów są wysyłane pakiety zapytań z żądaniem informacji o topologii. Na podstawie otrzymanych informacji algorytm DUAL ponownie oblicza podstawową i zapasową trasę główną do miejsca docelowego.

Po zakończeniu obliczeń stan docelowej trasy do miejsca docelowego ulegnie zmianie z aktywnego na pasywny. Oznacza to, że trasa działa i jest wiarygodna.

Wykrycie nowego urządzenia w sąsiedztwie powoduje zapisanie informacji o jego adresie i interfejsie. Dane te są zapisywane w strukturze danych urządzeń sąsiadujących. Gdy sąsiednie urządzenie wysyła pakiet hello, ogłasza swój czas przetrzymania. Innymi słowy, jeśli w tym okresie nie zostanie otrzymany pakiet hello, czas przetrzymania wygasa. Po wygaśnięciu czasu przetrzymania algorytm DUAL jest informowany o zmianach w topologii i musi ponownie obliczyć nową topologię.

Autor: Adrian Rogaski, www.rogaski.org

BRAK KOMENTARZY

ZOSTAW ODPOWIEDŹ