Wstęp
EIGRP to protokół routingu firmy Cisco oparty na protokole IGRP.
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 może bardzo wydajnie obsługiwać zarówno sieci IPX, jak i AppleTalk.
Jest on często określany mianem protokołu hybrydowego, jako że łączy najlepsze
cechy algorytmów routingu z wykorzystaniem wektora odległości i według stanu łącza.
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 dużych sieci korzystających z wielu protokołów
i opartych głównie na routerach Cisco.
Sieć to zbiór wielu urządzeń, protokołów i mediów, które umożliwiają komunikację
opartą na przesyłaniu danych. Błędy w działaniu jednego składnika mogą wywierać
negatywny wpływ na całą sieć. Administrator sieci musi w każdym przypadku jak
najszybciej wykrywać pojawiające się problemy i je usuwać. Oto kilka przyczyn
powstawania problemów z siecią:
- błędne wpisywanie poleceń;
- błędna konstrukcja lub rozmieszczenie list dostępowych;
- błędna konfiguracja routerów, przełączników i innych urządzeń sieciowych;
- zły stan łączy fizycznych
Administrator sieci powinien rozwiązywać problemy w sposób metodyczny, wykorzystując
do tego ogólny model postępowania w sytuacjach problemowych. Często najpierw warto
jest sprawdzić stan warstwy fizycznej, a następnie stopniowo przechodzić przez kolejne
warstwy systemu.
Porównanie protokołów EIGRP i IGRP
Protokół EIGRP został wprowadzony przez firmę Cisco w 1994 r. jako skalowalna
i 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ąca 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.
Trasy, o których uzyskał informacje, protokół EIGRP zapisuje 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ą wymienione sąsiadujące z nim routery. 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 (ang. 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 (ang. 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 (ang. 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
Na tej stronie zostały omówione pewne nowe rozwiązania technologiczne wykorzystane
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 (ang. 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 nich 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 (ang. 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 (ang. 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 protokóle 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 zwanych czasem między pakietami hello. 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 (ang. 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. Aby przesłanie komunikatu było gwarantowane,
jego odbiór musi być potwierdzony przez odbiorcę. 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, takich jak
pakiety 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ą.
Kiedy router EIGRP potrzebuje konkretnych informacji od jednego lub wszystkich
sąsiednich routerów, wysyła pakiety zapytań. Odpowiedzi na zapytania są wysyłane
w formie pakietów odpowiedzi.
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ą.
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.
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:
W ten sposób między wszystkimi routerami EIGRP korzystającymi z algorytmu DUAL zostaje osiągnięta zbieżność.
Konfigurowanie protokołu EIGRP
Mimo całej złożoności algorytmu DUAL skonfigurowanie protokołu EIGRP może się
okazać dość proste. Polecenia konfiguracyjne protokołu EIGRP zależą od protokołu,
który ma być routowany. Przykłady takich protokołów to IP, IPX czy AppleTalk.
Aby skonfigurować protokół EIGRP dla protokołu IP, należy wykonać następujące czynności:
1.Użyj poniższych poleceń, aby skonfigurować protokół EIGRP i zdefiniować system autonomiczny:
router(config)#router eigrp numer-systemu-autonomicznego
Numer systemu autonomicznego identyfikuje wszystkie routery należące do danej
intersieci. Wartość ta musi być taka sama na wszystkich routerach w intersieci.
2.Wskaż na lokalnym routerze, które sieci należą do autonomicznego systemu EIGRP,
wpisując następujące polecenie:
router(config-router)#network numer-sieci
Numer sieci określa, które interfejsy routera uczestniczą w systemie EIGRP i
które sieci są ogłaszane przez router.
Polecenie network powoduje skonfigurowanie tylko przyłączonych sieci.
3.Podczas konfigurowania łączy szeregowych za pośrednictwem protokołu
EIGRP należy również skonfigurować ustawienia przepustowości interfejsu. Jeśli wartość
przepustowości interfejsu nie zostanie zmieniona, protokół EIGRP przyjmie dla
łącza pasmo domyślne zamiast faktycznego. Gdy łącze będzie wolniejsze, router może
nie być w stanie osiągnąć zbieżności, może następować utrata aktualizacji tras
lub może mieć miejsce nieoptymalny wybór tras. Aby ustawić wartość przepustowości
interfejsu, użyj następującego polecenia:
router(config-if)#bandwidth kbps
Polecenie bandwidth jest wykorzystywane tylko przez proces routingu.
Podawana wartość powinna odpowiadać szybkości łącza interfejsu.
4.Firma Cisco zaleca również dodanie następującego polecenia do
wszystkich konfiguracji protokołu EIGRP:
router(config-if)#eigrp log-neighbor-changes
Powoduje ono włączenie rejestracji zmian relacji przylegania, co pozwala
monitorować stabilność systemu routingu i pomaga w wykrywaniu problemów.
Zdarzają się jednak sytuacje, w których automatyczna konsolidacja nie jest pożądana.
Na przykład w przypadku nieciągłych podsieci prawidłowe działanie routingu wymaga
wyłączenia funkcji automatycznej konsolidacji. Aby wyłączyć automatyczną konsolidację,
należy użyć następującego polecenia:
W protokole EIGRP adres skonsolidowany można skonfigurować ręcznie, tworząc sieć
z prefiksem. Ręczna konfiguracja tras skonsolidowanych jest dokonywana dla poszczególnych
interfejsów, dlatego też najpierw należy wybrać interfejs, który będzie rozsyłał
informacje o konsolidacji trasy. Następnie można zdefiniować adres skonsolidowany,
używając polecenia ip summary-address eigrp
Domyślnie dystans administracyjny skonsolidowanych tras protokołu EIGRP wynosi 5.
Można ją jednak konfigurować w przedziale od 1 do 255.
Router RTC z rysynku powyżej można skonfigurować za pomocą następującej sekwencji poleceń:
RTC(config)#D 2.0.0.0/8 is a summary, 00:00:22, Null0 (D 2.0.0.0/8 - trasa skonsolidowana,
00:00:22, interfejs Null0)
Należy zwrócić uwagę, że miejscem źródłowym trasy skonsolidowanej jest interfejs
Null0, a nie faktyczny interfejs. Wynika to z faktu, że trasa jest wykorzystywana
na potrzeby ogłaszania, a nie jest ścieżką, za pośrednictwem której router RTC
może uzyskać dostęp do sieci. Na routerze trasa ma dystans administracyjny równy 5.
Router RTD nie wie o konsolidacji, ale akceptuje trasę. Trasie jest przypisywany
dystans administracyjny standardowej trasy protokołu EIGRP, który domyślnie wynosi 90.
W konfiguracji routera RTC automatyczna konsolidacja jest wyłączana przez użycie
polecenia no auto-summary. Jeśli funkcja ta nie zostałaby wyłączona, router
RTD otrzymałby informacje o dwóch trasach: jednej z ręcznie ustawionym adresem
skonsolidowanym 2.1.0.0 /16, a drugiej - ze skonsolidowanym adresem klasowym ustawionym
automatycznie, czyli 2.0.0.0 /8.
W większości przypadków do wyłączenia konsolidacji ręcznej należy używać polecenia no auto-summary.
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.
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.
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.
Router EIGRP zakłada, że tak długo, jak otrzymuje pakiety hello od znanych sąsiadów,
sąsiedzi ci oraz obsługiwane przez nich trasy funkcjonują prawidłowo, czyli
pozostają pasywne. 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 (ang. neighbor address) -
adres warstwy sieci sąsiedniego routera.
- Czas przetrzymania (ang. 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 (ang. 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 (ang. 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 (ang. 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
Poniżej zostanie omówiony proces wyboru przez algorytm DUAL trasy alternatywnej
zdefiniowanej w tablicy topologii w przypadku awarii łącza podstawowego. 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.
Dzięki zaawansowanym rozwiązaniom algorytmu DUAL protokół EIGRP zapewnia niezwykle
szybkie osiąganie zbieżności.
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.
Algorytm DUAL wyznacza preferowaną główną trasę, która nosi nazwę podstawowej
opłacalnej trasy (ang. Successor). DUAL wyznacza również trasy zapasowe, o ile
istnieją, zwane następnymi opłacalnymi trasami (ang. Feasible Successor).
Należy zwrócić uwagę, że istnienie następnej opłacalnej trasy nie jest wymagane.
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.
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. 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.
Routery EIGRP tworzą i utrzymują relacje przylegania z sąsiednimi routerami
za pomocą niewielkich pakietów 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 urządzeń
sąsiednich, urządzenia te oraz obsługiwane przez nich trasy funkcjonują prawidłowo,
czyli pozostają pasywne.
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. 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ę.
Proces rozwiązywania problemów z protokołami routingu
Wszystkie operacje rozwiązywania problemów z protokołami routingu powinny się
rozpoczynać od ustalenia sekwencji czynności, czyli schematu działania. Schemat
ten nie stanowi sztywnej procedury określającej sposób postępowania przy
rozwiązywaniu problemów z intersiecią. Jest to jednak fundament, na podstawie
którego administrator sieci może opracować proces rozwiązywania problemów odpowiedni
dla danego środowiska.
1.Analizując awarię sieci, jasno sformułuj, na czym polega problem.
2.Zbierz informacje niezbędne do ustalenia możliwych przyczyn.
3.Sporządź listę potencjalnych problemów, uwzględniając zebrane fakty.
4.Stwórz plan działania uwzględniający możliwe problemy
5.Wdrażaj plan działania, wykonując uważnie kolejne kroki i obserwując, czy objawy ustąpiły.
6.Zbadaj wyniki i oceń, czy problem został rozwiązany. Jeśli tak, procedura została zakończona.
7.Jeśli problem nie został rozwiązany, opracuj plan działania uwzględniający
następną najbardziej prawdopodobną przyczynę. Wróć do kroku 4, a następnie,
modyfikując w danym czasie wartość tylko jednej zmiennej, powtarzaj proces aż do rozwiązania problemu
8.Gdy zostanie zidentyfikowany prawdziwy powód problemu, spróbuj go usunąć.
Routery firmy Cisco oferują wiele wbudowanych poleceń pomocnych w monitorowaniu
intersieci i rozwiązywaniu trapiących je problemów:
- Polecenia show pomagają monitorować działanie instalacji i zwykłą pracę
sieci, jak również identyfikować obszary powodujące problemy
- Polecenia debug pomagają wyizolować problemy konfiguracyjne i
dotyczące protokołów.
- Narzędzia sieci TCP/IP, takie jak ping, traceroute czy telnet
Polecenia show systemu Cisco IOS to jedne z najważniejszych narzędzi
pozwalających poznać stan routera, wykrywać sąsiednie routery, w sposób ogólny
monitorować sieć i identyfikować problemy pojawiające się w niej.
Polecenia debug uprzywilejowanego trybu EXEC mogą dostarczyć mnóstwo
informacji na temat przepływu danych przez interfejs, komunikaty o błędach
wewnętrznych, pakiety diagnostyczne charakterystyczne dla określonych protokołów
oraz inne dane pomocne w rozwiązywaniu problemów. Polecenia debug służą
do wykrywania błędów, a nie do monitorowania zwykłej pracy sieci. Należy ich
używać wyłącznie do poszukiwania określonych rodzajów ruchu lub problemów.
Przed użyciem polecenia debug należy wyselekcjonować grupę możliwych
przyczyn. Polecenie show debugging pozwala zobaczyć, które funkcje
debugowania są aktualnie włączone.
Rozwiązywanie problemów z konfiguracją protokołu RIP
Poniżej zostanie omówiony najczęstszy problem występujący w sieciach RIP,
który jest związany ze stosowaniem techniki VLSM. Technika VLSM uniemożliwia
ogłaszanie tras RIP. Jest to spowodowane tym, że protokół RIP w wersji 1 nie
obsługuje tego mechanizmu. W przypadku braku ogłaszania tras RIP należy
sprawdzić, czy:
- nie występują problemy z łącznością w warstwie 1 lub 2,
- nie zostało skonfigurowane tworzenie podsieci z użyciem techniki VLSM:
w środowisku protokołu RIP v1 nie można tworzyć podsieci przy użyciu tej techniki,
- konfiguracje routingu za pośrednictwem protokołów RIP v 1 i RIP v2 nie są niezgodne,
- nie brakuje instrukcji sieciowych lub nie są one błędnie przydzielane,
- działa interfejs wyjściowy,
- działa ogłaszany interfejs sieciowy.
Polecenie show ip protocols powoduje wyświetlenie informacji o parametrach
i aktualnym stanie aktywnego procesu protokołu routingu. Protokół RIP wysyła
aktualizacje do interfejsów zlokalizowanych we wskazanych sieciach. Jeśli
skonfigurowanym interfejsem jest FastEthernet 0/1, ale sieć nie została uwzględniona
w konfiguracji routingu RIP, do interfejsu nie będą wysyłane ani nie będą z niego
odbierane żadne aktualizacje.
W celu wyświetlenia informacji o transakcjach routingu realizowanych przez
protokół RIP należy użyć polecenia debug ip rip uprzywilejowanego trybu
EXEC. Polecenia no debug ip rip, no debug all i undebug all
powodują wyłączenie wszystkich funkcji debugowania.
Rozwiązywanie problemów z konfiguracją protokołu IGRP
IGRP to zaawansowany protokół routingu wykorzystujący wektor odległości, opracowany
przez firmę Cisco w latach 80. Protokół jest wyposażony w rozmaite funkcje, które
odróżniają go od innych protokołów routingu wykorzystujących wektor odległości, takich jak RIP.
Aby uaktywnić proces routingu za pośrednictwem protokołu IGRP, należy użyć polecenia
router igrp system-autonomiczny:
R1(config)#router igrp 100
Uaktywnij interfejsy, aby wzięły udział w procesie aktualizacji za pośrednictwem
protokołu IGRP, wpisując polecenie konfiguracyjne routera networknumer-sieci:
R1(config-router)#network 172.30.0.0
R1(config-router)#network 192.168.3.0
Sprawdź konfigurację protokołu IGRP za pomocą poleceń show running-configuration
i show ip protocols:
R1#show ip protocols
Sprawdź poprawność działania protokołu IGRP za pomocą polecenia show ip route:
R1#show ip route
Jeśli protokół IGRP nie działa prawidłowo, sprawdź, czy:
- nie występują problemy z łącznością w warstwie 1 lub 2,
- istnieje zgodność między numerami systemów autonomicznych na routerach IGRP,
- nie brakuje instrukcji sieciowych lub nie są one błędnie przydzielane,
- działa interfejs wyjściowy,
- działa ogłaszany interfejs sieciowy.
Aby wyświetlić informacje o debugowaniu protokołu IGRP, należy użyć następujących poleceń:
- debug ip igrp transactions [adres-ip-hosta] - wyświetlanie
informacji o transakcjach protokołu IGRP,
- debug ip igrp events [adres-ip-hosta] - wyświetlanie
informacji o aktualizacji routingu.
Aby wyłączyć debugowanie, należy użyć polecenia no debug ip igrp.
Gdy sieć przestaje być dostępna, routery wyposażone w protokół IGRP wysyłają
do sąsiednich urządzeń aktualizacje wyzwalane z odpowiednią informacją.
Sąsiedni router odpowiada wtedy odwrotnymi aktualizacjami "zatrutej"
informacji zwrotnej (ang. poison reverse) i utrzymuje sieć w stanie przetrzymania
przez 280 sekund.