Kategoria: EIGRP – Enhanced Interior Gateway Routing Protocol

  • (Ts) Troubleshooting relacji sąsiedztwa EIGRP*

    (Ts) Troubleshooting relacji sąsiedztwa EIGRP*

    Troubleshooting relacji sąsiedztwa

    Interface is down

    • Interfejs sieciowy na którym znajduje się sąsiednie urządzenie, został wyłączony za pomocą komendy [shutdown].
    • Status interfejsu sieciowego można potwierdzić za pomocą komendy [show ip interface brief].

    Mismatched autonomous system numbers

    • Wartość numeru ASN konfigurowanej instancji protokołu EIGRP [router eigrp ASN], nie pasuje do konfiguracji sąsiedniego urządzenia (Wartość ASN musi być taka sama).
    • Większa część komend protokołu EIGRP wyświetla wartość ASN, jednak najlepsza jest komenda [show ip protocols].
    • W przypadku wykrycia problemu ze złą wartością ASN, komenda [debug ip eigrp packet] wyświetli następujący komunikat: [EIGRP: Sending HELLO on Gi0/0 – paklen 20 AS 100, Flags 0x0: (NULL), Seq 0/0 interfaceQ 0/0 iidbQ un/rely 0/0].

    Incorrect network statement

    •  

    Mismatched K values

    • Xxx [%DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 2.4.2.4 (FastEthernet0/1) is down: K-value mismatch]

    Passive interface

    Different subnets

    Authentication

    Access list

    Timers

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (K) EIGRPv6 konfiguracja*

    (K) EIGRPv6 konfiguracja*

    Podstawowa konfiguracja EIGRPv6

    (config)# ipv6 unicast-routing

    Włącza funkcje routingu dla protokołu IPv6.

    (config)# ipv6 router eigrp ASN

    Tworzy nową instancję protokołu EIGRPv6.

    (config-router)# router-id RID(0-255.0-255.0-255.0-255)

    Statycznie konfiguruje wartość RID.
    Protokół EIGRPv6 wymaga aby wartość RID została skonfigurowana statycznie bądź przyznana dynamiczne (Na podstawie interfejsów sieciowych skonfigurowanych z wykorzystaniem protokołu IPv4).

    (config-router)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ipv6 eigrp ASN

    Aktywuje funkcję protokołu EIGRPv6 na danym interfejsie.

    Porównanie komend show

    Funkcja show ip … show ipv6 …
    Wszystkie trasy routingu … route … route
    Wszystkie trasy routingu (EIGRP) … route eigrp … route eigrp
    Szczegóły konkretnej trasy … route sieć maska … route prefix/prefix length
    Dane dotyczące protokołu EIGRP: -Aktywne interfejsy -Metryka   … protocols   … protocols
    Źródła informacji o trasach routingu … protocols … eigrp neighbor … protocols
    Wartość hello … eigrp interfaces detail … eigrp interfaces detail
    Baza EIGRP … eigrp topology [all-links] … eigrp topology [all-links]
    Debug debug ip eigrp notifications debug ipv6 eigrp notifications

    Porównanie komend „show” protokołu EIGRP dla IPv4 z protokołem EIGRP dla IPv6

    Uwierzytelnianie protokołu EIGRPv6

    Konfiguracja funkcji Key-Chain

    (config)# key chain nazwa-key-chain

    Tworzy nowy zestaw kluczy Key Chain.

    (config-keychain)# key 0-2147483647(ID klucza)

    Tworzy nowy klucz Key Chain.

    (config-keychain-key)# key-string [0 / 7](0) klucz

    Określa wartość klucza (Wymaga podania wartości zahaszowanej)

    (config-keychain-key)# cryptographic-algorithm {hmac-sha-1 / hmac-sha-256 / hmac-sha-384 / hmac-sha-512 / md5}

    Definiuje jaki algorytm haszujący będzie wykorzystywany podczas wymiany kluczy pomiędzy urządzeniami.

    (config-keychain-key)# accept-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany do odbierania wiadomości (Jest to okres czasu podczas którego dany klucz pozostaje akceptowalny).

    (config-keychain-key)# send-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany w wysyłanych wiadomościach (Czas ten powinien być krótszy od czasu „accept-lifetime”).

    Przykładowa konfiguracja funkcji Key-Chain

    (config)# key chain EIGRP
    (config-keychain)# key 1
    (config-keychain-key)# accept-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# send-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# key-string Cisco!2345
    (config-keychain-key)# key 2
    (config-keychain-key)# accept-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# send-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# key-string Cisco1234567

    Przykładowa konfiguracja funkcji Key-Chain.
    Okresy czasu akceptacji oraz wysyłania danego klucza zostały tak skonfigurowane, aby się nachodziły, dzięki czemu administrator może zniwelować różnice w ustawieniach czasu na obydwóch urządzeniach (Odbierającym i wysyłającym wiadomości protokołu EIGRP). Oznacza to, że przez pewien okres czasu ruter akceptuje dwa klucze jako aktualne.

    Przypisywanie klucza Key-Chain do protokołu EIGRP

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ipv6 authentication mode eigrp ASN md5

    Określa metodę autentykacji wiadomości protokołu EIGRP.

    (config-if)# ipv6 authentication key-chain eigrp ASN nazwa-key-chain

    Aktywuje proces uwierzytelniania protokołu EIGRP za pomocą funkcji Key Chain.

    Komendy SHOW

    # show key chain

    Wyświetla konfigurację funkcji Key Chain.

    # show ipv6 eigrp neighbor

    Wyświetla aktywne relację sąsiedztwa, potwierdzające poprawną autentykację.

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (T) EIGRPv6 teoria*

    (T) EIGRPv6 teoria*

    Protokół EIGRPv6

    Wstęp do protokołu IPv6

    • Protokół EIGRP został pierwotnie zaprojektowany w celu propagacji tras dla protokołu IPv4, IPX oraz AppleTalk. Dzięki swojej architekturze EIGRP umożliwiło dodanie wsparcia dla nowego protokoły warstwy 3 jakim jest IPv6.
    Nazwa EIGRPv6 nie odnosi się do szóstej wersji protokołu EIGRP, a do wersji ulepszonej wspierającej protokołu IPv6.

    EIGRPv4 & EIGRPv6

    • Protokół EIGRP dla protokołu IPv4 oraz IPv6 posiada wiele podobieństw oraz parę różnic takich jak:
      • Protokół EIGRPv6 rozgłasza prefix/długość prefix-u dla protokołu IPv6, natomiast protokół EIGRPv4 rozgłasza sieć/maskę dla protokołu IPv4.
      • Protokół EIGRPv6 wykorzystuje adres Link-local jako adres następnego przeskoku, podczas gdy protokół EIGRPv4 nie posiada podobnej koncepcji.
      • Protokół EIGRPv4 umożliwia automatyczną sumaryzację, podczas gdy protokół IPv6 wykorzystywany w  protokole EIGRPv6 nie posiada koncepcji sieci klasowych a tym samym nie umożliwia auto sumaryzacji.
      • Protokół EIGRPv6 nie wymaga, aby sąsiad znajdował się w tej samej sieci co lokalny router.
      • Protokół EIGRPv6 musi posiadać własną wartość RID.
    Funkcja EIGRPv4 EIGRPv6
    Rozgłasza sieci dla protokołu IPv4 IPv6
    Wysyła wiadomości w warstwie 3 za pomocą IPv4 IPv4
    Wykorzystuje typ protokołu warstwy 3 88 88
    UDP port
    Wykorzystuje Successor oraz Feasible Successor Tak Tak
    Używa algorytmu DUAL Tak Tak
    Wspiera VLSM Tak Tak
    Wspiera automatyczną sumaryzację Tak
    Wykorzystuje następujące komponenty metryki (Bandwidth, delay) Tak Tak
    Posiada nieskończoną metrykę 232-1 232-1
    Wspiera tagowanie sieci Tak Tak
    Wykorzystuje adres Multicast 224.0.0.10 FF02::A

    Porównanie protokołu EIGRP dla IPv4 z protokołem EIGRP dla IPv6

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (Ts) Weryfikacja konfiguracji EIGRP*

    (Ts) Weryfikacja konfiguracji EIGRP*

    Weryfikacja konfiguracji EIGRP

    Wymagania konieczne do nawiązania relacji sąsiedztwa

    Wymagania EIGRP OSPF
    Interfejsy musi być aktywny up/up Tak Tak
    Interfejsy muszą być w tej samej sieci Tak Tak
    Listy ACL nie mogą filtrować pakietów EIGRP czy OSPF Tak Tak
    Instancje routingu muszą przejść proces autentykacji Tak Tak
    Instancje routingu muszą należeć do tej samej AS Tak Nie
    Czas Hello i Hold musi się zgadzać Nie Tak
    Wartość Router ID musi być unikalna Nie Tak
    Wartość K musi się zgadzać Tak Nie dotyczy
    Musi być w tej samej strefie Nie dotyczy Tak

    Wymagania dotyczące procesu nawiązywania relacji sąsiedztwa

    Weryfikacja ustawień protokołu EIGRP

    • Interfejsy muszą być w tej samej sieci [show interfaces / show ip interfaces].
    • Instancje routingu muszą należeć do tej samej AS [show ip eigrp interfaces / show ip protocols].
    • Instancje routingu muszą przejść proces autentykacji [show eigrp packets].
    • Wartość K musi się zgadzać [show ip protocols].

    Dodatkowa weryfikacja ustawień protokołu EIGRP

    • Weryfikacja wartości czasu „Hello” oraz „Hold Timers” [show running-config / show ip eigrp interfaces detail interfejs].W niektórych wersjach sytemu Cisco IOS wartość czasu „Hold Timers” może nie zostać wyświetlona.
    • Zarówno wartość pasma (Bandwidth) jak i opóźnienia (Delay) jest wartością domyślną zależną od danego interfejsu i jego właściwości, bądź wartością skonfigurowaną przez administratora [show interfaces interfejs].
    • Aktywność protokołu EIGRP na interfejsach można zweryfikować za pomocą komendy [show ip eigrp interfaces] bądź komendy [show ip protocols].
    • Pasywne interfejsy można określić za pomocą komendy [show ip protocols].

    Proces Troubleshooting-u protokołu EIGRP

    Proces Troubleshooting-u protokołu EIGRP
    • Troubleshooting 1 – Jeżeli tablica sąsiadów nie zgadza się z założeniami sieci należy sprawdzić:
      • Czy interfejsy są aktywne [show ip interface brief].
      • Czy protokół EIGRP jest aktywny na właściwych interfejsach [show ip eigrp interface / show ip protocols].
      • Czy strefa Systemu autonomicznego się zgadza na obydwóch urządzeniach [show ip eigrp neighbors / interface].
      • Czy interfejsy działają w trybie pasywnym [show running-config interface interfejs].
    • Troubleshooting 2 – Jeżeli tablica routingu nie zgadza się z założeniami sieci należy sprawdzić:
      • Czy trasy routingu są rozgłaszane do sąsiadów [show ip route eigrp].
      • Czy istnieje lista ACL blokująca rozgłaszanie tras routingu [show access-list].
      • Czy na ruterze jest skonfigurowany inny protokół routingu z mniejszą wartością AD [show ip protocols].
    • Troubleshooting 3 – Jeżeli tablica routingu nie zgadza się z założeniami sieci, należy zweryfikować wartości pasma oraz opóźnienia dla aktywnych interfejsów protokołu EIGRP, komendą [show ip eigrp interface].

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (Ts) Komendy Show, Debug oraz Clear EIGRP*

    (Ts) Komendy Show, Debug oraz Clear EIGRP*

    Omówienie komend SHOW

    Opis komend show

    Weryfikacja protokołu EIGRP za pomocą komend Show

    # show ip eigrp interfaces detail

    Wyświetla szczegółowe dane interfejsów z aktywnym protokołem EIGRP. Posiada informacje o czasie „hello-interval” oraz „hold-time” jak i dane dotyczące podzielonego horyzontu (split horizon).

    # show ip eigrp interfaces

    Wyświetla interfejsy, na których protokół EIGRP został włączony (Bez interfejsów pasywnych).

    # show ip protocols

    Wyświetla informację o wszystkich dynamicznych protokołach routingu skonfigurowanych na danym urządzeniu. Posiada dane dotyczące aktywnych sieci (komenda network) oraz aktywnych sąsiadów danego urządzenia. W przypadku protokołu EIGRP komenda ta dodatkowo zawiera informacje o ustawieniach wartości K, auto sumaryzacji, numerze AS, wartości ID urządzenia, maksymalnej ilości przeskoków, maksymalnej ilości tras równomiernego obciążenia czy opcji równomiernego obciążenia ruchu pomiędzy trasami o różnej wartości metryki.
    Zarówno komenda [show ip eigrp neighbor] jak i komenda [show ip protocols] wyświetlają informację o sąsiadach.

    # show ip eigrp neighbor

    Wyświetla wszystkie aktywne relacja sąsiedztwa. Zawiera następujące informacje:
    * SRTT (Smooth Round-Trip Time) – Określa ilość wiadomości EIGRP na które ruter nie otrzymał potwierdzenia Ack.
    * Q Cnt (Queue count) – Określa ilość wysłanych wiadomości EIGRP (Update, Query, jak i Reply), na które lokalne urządzenie nie otrzymało odpowiedzi Ack (Wartość ta powinna wynosić 0).
    * RTO (Retransmission Timeout) – Określa czas oczekiwania systemu, przed retransmitowaniem wiadomości EIGRP.

    # show ip eigrp topology

    Wyświetla wszystkie sieci docelowe zapisane przez protokół EIGRP, wraz z trasami prowadzącymi do następnego przeskoku (Successor i Feasible Successor).

    # show ip eigrp topology all-links

    Wyświetla sieci docelowe wraz z wszystkimi trasami do nich prowadzącymi.
    # show ip eigrp topology [all-links] EIGRP-IPv4 Topology Table for AS(1)/ID(10.0.0.1) Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply,        r – reply Status, s – sia Status   P 10.0.0.12/30, 2 successors, FD is 3072         via 10.0.0.2 (3072/2816), GigabitEthernet0/3         via 10.0.0.22 (3072/2816), GigabitEthernet0/2 P 10.0.0.20/30, 1 successors, FD is 2816         via Connected, GigabitEthernet0/2
    • P – Określa obecny status trasy EIGRP.
    • 10.0.0.12/30 – Określa sieć docelową trasy EIGRP.
    • 2 successors – Określa ilość sukcesorów (w tym przypadku istnieją dwie równorzędne trasy posiadające tą samą metrykę, dzięki czemu mogą wykorzystać równoważone obciążenie).
    • FD is 3072 – Określa wartość Feasible Distance dla danej trasy.
    • via 10.0.0.2 – Określa adres IP następnego przeskoku.
    • (3072/2816) – Określa wartości Feasible Distance oraz Reaported Distance.
    • GigabitEthernet0/3 – Określa interfejs następnego przeskoku.

    # show ip eigrp topology sieć/prefix

    Wyświetla szczegółowe informacje o sieci jak i trasach do niej prowadzących. Posiada dane o ogólnym opóźnieniu (Delay) czy minimalnym paśmie (Minimum Bandwidth) względem danej rasy.

    Komendy SHOW

    # show ip eigrp topology [sieć maska]

    Wyświetla pełną bądź częściową topologię protokołu EIGRP.

    # show ip eigrp topology all-links

    Wyświetla trasę dotarcia do celu.

    # show xxxx

    Wyświetla

    Komendy DEBUG

    # debug eigrp packet

    Debaguje

    # debug eigrp packet [hello / query / replay / SIAquery / SIAreplay / ack / request / stub / update]

    Debaguje wskazane wiadomości protokołu EIGRP.

    # debug ip eigrp neighbor ASN adres-IP

    Debaguje zdarzenia / akcje związane z określonym w komendzie sąsiadem protokołu EIGRP.

    # debug eigrp neighbors

    Debaguje zdarzenia / akcje związane ze wszystkimi sąsiadami protokołu EIGRP.

    Komendy CLEAR

    # clear ip eigrp neighbors

    Czyści

    # clear ip route

    Czyści

    # clear xxx

    Czyści

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (K) Named EIGRP**

    (K) Named EIGRP**

    Wstęp teoretyczny do konfiguracji named EIGRP

    • Konfiguracja protokołu EIGRP w trybie Named, umożliwia konfiguracje zarówno protokołu IPv4 jak i IPv6 z poziomu jednego trybu (EIGRP Virtual Instance). Ponadto wzbogacając domyślny tryb konfiguracji o opcje dotąd dostępne jedynie z poziomu konfiguracji interfejsu sieciowego.
    Tryb konfiguracji Opis trybu konfiguracji
    Address-Family Ogólny tryb konfiguracji protokołu EIGRP z poziomu, którego można skonfigurować: router ID, network command, EIGRP stub routers. Jedna wirtualna instancja EIGRP może posiadać wiele grup (Address-Family) dla protokołu IP czy IPv6.
    Address-Family-Interface Tryb umożliwiający konfigurację konkretnych interfejsów sieciowych.
    Service-Family-Interface  
    Service-Family  
    Address-Family-Topology Tryb umożliwiający konfigurację pozostałych ustawień protokołu EIGRP.

    Tryby konfiguracji protokołu Named EIGRP

    Konfiguracja protokołu EIGRP w trybie named EIGRP

    Konfiguracja podstawowych ustawień protokołu Named EIGRP

    (config)# router eigrp nazwa

    Przechodzi do poziomu konfiguracji protokołu Named EIGRP.

    (config-router)# shutdown

    Włącza / Włącza konfigurowany proces protokołu Named EIGRP, powodując: 
    * Usunięcie wszystkich relacji sąsiedztwa.
    * Wstrzymanie procesu nawiązywania nowych relacji sąsiedztwa.
    * Zatrzymanie procesu rozgłaszania wiadomości powitalnych (Hello).

    Konfiguracja trybu Address-Family

    Następujący tryb konfiguracji trybu Named EIGRP, umożliwia podstawową konfigurację protokołu EIGRP względem jednej instancji IPv4 czy IPv6.

    (config)# router eigrp nazwa

    Przechodzi do poziomu konfiguracji protokołu Named EIGRP.

    (config-router)# address-family {ipv4 / ipv6} autonomous-system ASN

    Przechodzi do poziomu konfiguracji pojedynczej instancji protokołu EIGRP (Jedna grupa Named EIGRP może posiadać wiele instancji protokołu EIGRP).

    (config-router-af)# eigrp router-id RID(0-255.0-255.0-255.0-255)

    Statycznie definiuje wartość RID względem konfigurowanego urządzenia.

    (config-router-af)# network sieć [dzika-maska]

    Włącza propagowanie wiadomości powitalnych (Hello) na interfejsach, których adres mieści się w podanej sieci. W przypadku EIGRP można wykorzystywać adresację klasową.

    (config-router-af)# neighbor adres-IP interfejs-wychodzący

    Nawiązuje statyczną relacją sąsiedztwa.

    (config-router-af)# timers graceful-restart purge-time 20-300(sekundy)(240)

    Zmienia domyślną wartość czasu „graceful-restart purge-time”.

    Konfiguracja trybu Address-Family-Interface

    Następujący tryb konfiguracji trybu Named EIGRP, umożliwia konfigurację ustawień protokołu EIGRP związanych z określonym interfejsem sieciowym.

    (config)# router eigrp nazwa

    Przechodzi do poziomu konfiguracji protokołu Named EIGRP.

    (config-router-af)# af-interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-router-af-interface)# bandwidth-precent ASN 1-999999(%)

    Ogranicza wykorzystanie pasma przez protokół EIGRP. Skonfigurowana wartość określą jaki procent pasma może być wykorzystywany na potrzeby protokołu EIGRP.

    (config-router-af-interface)# no passive-interface

    Wyłącza funkcję pasywną na określonym interfejsie sieciowym.

    (config-router-af-interface)# [no] split-horizon

    Wyłącza / Włącza funkcję podzielonego horyzontu „Split-horizon”.

    (config-router-af-interface)# hello-interval eigrp ASN 1-65535(5/60)

    Zmienia domyślną wartość czasu „hello-interval”.

    (config-router-af-interface)# hold-time eigrp ASN 1-65535(15/180)

    Zmienia domyślną rozgłaszaną wartość czasu „hold-time”,  komenda ta nie wpływa na ustawienia konfigurowanego urządzenia a jedynie na sąsiedni ruter.

    (config-router-af-interface)# authentication mode md5

    Określa metodę autentykacji wiadomości protokołu EIGRP.

    (config-router-af-interface)# authentication key-chain eigrp nazwa-key-chain

    Definiuje hasło wykorzystywane do autentykacji nadchodzących jak i wysyłanych wiadomości protokołu EIGRP.
    Konfiguracja funkcji Key Chain, została opisana w następującym artykule.

    (config-router-af-interface)# summary-address eigrp ASN sieć maska

    Tworzy wpis sumujący rozgłaszane trasy sieciowe.

    Konfiguracja trybu Address-Family-Topology

    Następujący tryb konfiguracji trybu Named EIGRP, umożliwia konfigurację pozostały ustawień protokołu EIGRP związanych z topologią sieci.

    (config)# router eigrp nazwa

    Przechodzi do poziomu konfiguracji protokołu Named EIGRP.

    (config-router-af)# topology base

    Przechodzi do poziomu konfiguracji topologii protokołu EIGRP.

    (config-router-af-topology)# [no] auto-summary

    Wyłącza / Włącza funkcję automatycznej sumaryzacji.

     (config-router-af-topology)# maximum-paths 1-32 1-32

    Określa maksymalną ilość połączeń działających w trybie równoważnego obciążenia, dla wielu tras o tej samej lub różnej metryce. W przypadku tras posiadających różne metryki, konieczna jest zastosowanie komendy [variance]z odpowiednią wartością.

    (config-router-af-topology)# variance 1-128(1)

    Przepuszcza równoważony ruch pomiędzy dwoma trasami o różnych wartościach metryki. Przykładowo, jeżeli mamy dwie trasy o metrykach 100 i 300, a wartość „Variance” będzie wynosiła 2, to ruter nie dopuści do równoważonego obciążenia ruchu, ponieważ 2*100 = 200.
    Każda trasa, której metryka jest mniejsza od wartości FD pomnożonej przez wartość „Variance”,będzie wykorzystywana przy równoważonym obciążeniu.

    (config-router-af-topology)# timers active-timer {1-65535(minuty) / disabled}

    Zmienia domyślną wartość czasu „active-timer”. Wartość ta określa ile czasu ruter będzie czekał na odpowiedź, wysłanej wiadomości Query zanim przejdzie w stan SIA.

    Pozostałe tematy związane z konfiguracją protokołu EIGRP

    EIGRPv6

  • (K) BFD dla protokołu  EIGRP**

    (K) BFD dla protokołu EIGRP**

    Wstęp teoretyczny do protokołu BFD

    • Protokół BFD stanowi otwarty standard opisany w referencji RFC 5880, zaprojektowany do szybkiego wykrywania utraty łączności pomiędzy uprzedzeniami sieciowymi (Keepalive), przeważnie w czasie nie dłuższym niż 150 milisekund.
    • Domyślna metoda utrzymywania łączności pomiędzy sąsiadami, w przypadku protokołów routingu dynamicznego. Obciąża procesor CPU wysyłanymi wiadomościami Hello, związku z tym częstotliwość ich wysyłania powinna być ograniczona. Należy jednak pamiętać, że im większa częstotliwość w wysyłaniu wiadomości, tym krótszy czas wykrycia awarii. W takiej sytuacji aby utrzymać dużą częstotliwość w wysyłaniu wiadomości, protokół BFD korzysta ze wsparcia sprzętowego (Hardware). Dzięki takiemu rozwiązaniu każdy pakiet Keepalive jest obsługiwany jak zwykły ruch sieciowy bez potrzeby przetworzenia przez procesor CPU.
    • Protokół BFD wspiera następujące protokoły: Static Route, OSPF, EIGRP, BGP, FHRP oraz MPLS TE.
    Protokół BFD wykorzystuje protokół UDP na porcie 3784.

    Konfiguracja protokołu BFD

    Wstępna Konfiguracja protokołu BFD

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# bfd interval 50-999(Milisekundy) min_rx 50-999(Milisekundy) multiplier 3-50(Wielokrotność interwału)

    Aktywuje protokół BFD na określonym interfejsie sieciowym. Wartość „Interval” określa częstotliwość w nadawaniu wiadomości BFD, wartość „Min_rx” w odbieraniu natomiast wartość „Multiplier” określa czas oczekiwania na otrzymanie odpowiedzi od sąsiedniego urządzenia zanim uzna dane połączenie za nieaktywne.

    Manipulacja domyślnymi czasami protokołu EIGRP

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip hello-interval eigrp ASN 1-65535(5/60)

    Zmienia domyślną wartość czasu „Hello-interval”.

    (config-if)# ip hold-time eigrp ASN 1-65535(15/180)

    Zmienia domyślną rozgłaszaną wartość czasu „hold-time”,  komenda ta nie wpływa na ustawienia konfigurowanego urządzenia a jedynie na sąsiedni ruter.

    Aktywacja BFD względem protokołu EIGRP

    (config)# router eigrp ASN

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-router)# bfd all-interfaces

    Aktywuje protokół BFD względem wszystkich interfejsów sieciowych.

    Komendy SHOW

    # show bfd neighbors

    Wyświetla sąsiadów protokołu BFD.

    # show bfd neighbors details

    Wyświetla szczegółowe informacje na temat konfiguracji protokołu BFD.

    # show bfd summary

    Wyświetla podsumowanie aktywnych sesji protokołu BFD.

    # show bfd drops

    Wyświetla informacje o utraconych pakietach protokołu BFD.

    Pozostałe tematy związane z konfiguracją protokołu EIGRP

    EIGRPv6

  • (K) Uwierzytelnianie protokołu EIGRP**

    (K) Uwierzytelnianie protokołu EIGRP**

    Konfiguracja uwierzytelniania protokołu EIGRP

    W starszych wersjach systemu Cisco IOS konfiguracja autentykacji protokołu EIGRP wymagała aby obydwa urządzenia posiadały odpowiednio skonfigurowany czas systemowy.

    Konfiguracja funkcji Key-Chain

    (config)# key chain nazwa-key-chain

    Tworzy nowy zestaw kluczy Key Chain.

    (config-keychain)# key 0-2147483647(ID klucza)

    Tworzy nowy klucz Key Chain.
    Numer ID klucza musi się zgadzać pomiędzy konfigurowanymi sąsiadami protokołu EIGRP.

    (config-keychain-key)# key-string [0 / 7](0) klucz

    Określa wartość klucza (Wymaga podania wartości zahaszowanej)

    (config-keychain-key)# cryptographic-algorithm {hmac-sha-1 / hmac-sha-256 / hmac-sha-384 / hmac-sha-512 / md5}

    Definiuje jaki algorytm haszujący będzie wykorzystywany podczas wymiany kluczy pomiędzy urządzeniami.

    (config-keychain-key)# accept-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany do odbierania wiadomości (Jest to okres czasu podczas którego dany klucz pozostaje akceptowalny).

    (config-keychain-key)# send-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany w wysyłanych wiadomościach (Czas ten powinien być krótszy od czasu „accept-lifetime”).

    Przykładowa konfiguracja funkcji Key-Chain

    (config)# key chain EIGRP
    (config-keychain)# key 1
    (config-keychain-key)# accept-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# send-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# key-string Cisco!2345
    (config-keychain-key)# key 2
    (config-keychain-key)# accept-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# send-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# key-string Cisco1234567

    Przykładowa konfiguracja funkcji Key-Chain.
    Okresy czasu akceptacji oraz wysyłania klucza zostały tak skonfigurowane, aby się nachodziły. Dzięki czemu administrator może zniwelować możliwe rozbieżności w konfiguracji czasu lokalnego, względem obydwóch urządzenień. Powyższa konfiguracja oznacza, że przez pewien okres czasu urządzenie będą akceptowały obydwa klucze.

    Przypisywanie funkcji Key-Chain do protokołu EIGRP

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip authentication mode eigrp ASN md5

    Określa metodę autentykacji wiadomości protokołu EIGRP.

    (config-if)# ip authentication key-chain eigrp ASN nazwa-key-chain

    Aktywuje proces uwierzytelniania protokołu EIGRP za pomocą funkcji Key Chain.

    Komendy SHOW

    # show key chain

    Wyświetla konfigurację funkcji Key Chain.

    # show ipv6 eigrp neighbor

    Wyświetla aktywne relację sąsiedztwa, potwierdzające poprawność uwierzytelnienia.

    Pozostałe tematy związane z konfiguracją protokołu EIGRP

    EIGRPv6

  • (K) Filtrowanie protokołu EIGRP**

    (K) Filtrowanie protokołu EIGRP**

    Filtrowanie tras protokołu EIGRP

    Filtrowanie tras EIGRP za pomocą Prefix-listy

    # Szczegółowa konfiguracja Prefix listy została opisana w artykule: Prefix lista.

    (config)# ip prefix-list nazwa-prefix-listy {deny / permit} adres-sieci/prefix {ge mini-prefix / le mas-prefix}

    Dopuszcza bądź filtruje trasy routingu, dotyczące wskazanej w komendzie sieci.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} 0.0.0.0/0 le 32

    Dopuszcza bądź blokuje pozostałe trasy routingu (Implicit Permit / deny).

    (config)# ruter eigrp [ASN]

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-route)# distribute-list prefix nazwa-prefix-listy {in / out} [interfejs]

    Przypisuje Prefix listę filtrującą wskazane trasy routingu, do konfigurowanej instancji protokołu EIGRP.

    # show ip prefix-list [nazwa-prefix-listy]

    Wyświetla wszystkie skonfigurowane, bądź określoną w komedzie prefix listę.

    # show ip prefix-list [nazwa-prefix-listy] detail

    Wyświetla wszystkie skonfigurowane, bądź określoną w komedzie prefix listę. Wraz z statystykami dotyczącymi ilości dopasowań poszczególnych wpisów jak i całej prefix listy.

    Filtrowanie tras EIGRP za pomocą Router-mapy

    # Szczegółowa konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# route-map nazwa-router-mapy {permit / deny} numer-sekwencyjny

    Tworzy nową router mapę przepuszczającą (permit), bądź filtrujące (denny). Wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# match ip address {ACL-ID / prefix-list nazwa-prefix-listy}

    Określa trasy prowadzące do sieci, zawartych w określonej przez komendę liście ACL bądź Prefix liście.
    Konfiguracja Prefix listy, została opisana w następującym artykule.

    (configroute-map)# ruter eigrp [ASN]

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-route)# distribute-list route-map nazwa-ruter-mapy {in / out} [interfejs]

    Przypisuje określoną w komendzie Router mapę, do konfigurowanej instancji protokołu EIGRP.

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    Filtrowanie tras EIGRP za pomocą listy ACL

    Filtrowanie tras EIGRP za pomocą listy Standart ACL

    (config)# access-list ACL-ID {permit / deny} {sieć dzika-maska / host adres-IP}

    Dopuszcza bądź filtruje trasy routingu, dotyczące wskazanej w komendzie sieci.

    (config)# ruter eigrp [ASN]

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-route)# distribute-list ACL-ID {in / out} [interfejs]

    Przypisuje listę ACL filtrującą wskazane trasy routingu, do konfigurowanej instancji protokołu EIGRP.

    # show access-list ACL

    Wyświetla konfigurację wskazanej listy ACL.

    Filtrowanie tras EIGRP za pomocą listy Extended ACL

    Filtrowanie tras EIGRP za pomocą listy Extended ACL, umożliwia filtrowanie tras routingu pochodzących od określonego w komendzie sąsiada.

    (config)# access-list ACL-ID {permit / deny} host adres-IP(Adres sąsiedniego urządzenia) sieć dzika-maska

    Dopuszcza bądź filtruje trasy routingu, dotyczące wskazanej w komendzie sieci, rozgłaszanej przez ruter o podanym adresie IP.

    (config)# ruter eigrp [ASN]

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-route)# distribute-list ACL-ID {in / out} [interfejs]

    Przypisuje listę ACL filtrującą wskazane trasy routingu, do konfigurowanej instancji protokołu EIGRP.

    # show access-list ACL

    Wyświetla konfigurację wskazanej listy ACL.

    # show ip eigrp topology all-links

    Wyświetla wszystkie trasy przetrzymywane w tablicy topologii protokołu EIGRP, wraz z adresem sąsiada który trasy te rozgłasza.

    Komendy SHOW

    # show ip prefix-list [nazwa-prefix-listy]

    Wyświetla wszystkie skonfigurowane, bądź określoną w komedzie prefix listę.

    # show ip prefix-list [nazwa-prefix-listy] detail

    Wyświetla wszystkie skonfigurowane, bądź określoną w komedzie prefix listę. Wraz z statystykami dotyczącymi ilości dopasowań poszczególnych wpisów jak i całej prefix listy.

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    # show ip route adres-IP-sieci

    Wyświetla szczegółowe informacje na temat trasy, prowadzącej do wskazanej w komendzie sieci. Komenda wyświetla między innymi przypisaną do trasy wartość o-tagowania.

    # show ip protocols

    Wyświetla ustawienia wszystkich skonfigurowanych protokołów routingu dynamicznego. W tym najważniejsze informacje dotyczące konfiguracji protokołu EIGRP wraz z informacjami dotyczącymi filtracji tras routingu.

    # show ip eigrp topology all-links

    Wyświetla wszystkie trasy przetrzymywane w tablicy topologii protokołu EIGRP.

    Pozostałe tematy związane z konfiguracją protokołu EIGRP

    EIGRPv6

  • (T) Wiadomości protokołu EIGRP*

    (T) Wiadomości protokołu EIGRP*

    Budowa pakietu EIGRP

    Budowa pakietu EIGRP (Nagłówek protokołu EIGRP)

    • Version (1 Byte) – Wersja protokołu EIGRP (Domyślnie wykorzystywana jest wersja 2).
    • 0pcode (1 Byte) – Rodzaj wiadomości protokołu EIGRP (1 = Update / 3 = Query / 4 = Reply / 5 = Hello / 6 = IPX SA / 10 = SIA Query / 11 = SIA Reply).
    • Checksum (2 Byte) – Wartość kontrolna protokołu EIGRP.
    • Sequence (4 Byte) – Wartość wykorzystywana przez protokół RTP.
    • Acknowledge (4 Byte) – Numer sekwencyjny ostatniej wiadomości EIGRP, której otrzymanie należy potwierdzić.
    • Virtual Router ID (2 Byte) – Wartość ID rutera.
    • Autonomous System (2 Byte) – Wartość ASN danej instancji protokołu EIGRP.

    Budowa pakietu EIGRP (Zawartość wiadomości Hello) 0pcode Type 5

    • Parameters (12 Byte) – Xxxx.
    • Software Version (8 Byte) – Xxxx.

    Budowa pakietu EIGRP (Zawartość wiadomości Update) 0pcode Type 1

    • Internal route (Wielkość zależna od zawartości) – Xxx.
      • Internal (Xxxx Byte) – Xxxx.
      • Internal (Xxxx Byte) – Xxxx.
      • Internal (Xxxx Byte) – Xxxx.
    • External route (Wielkość zależna od zawartości) – Xxx.
      • Orginating RouterID (Xxxx Byte) – Wartość RID rutera rozgłaszającego daną trasę zewnętrzną.
      • Orginating A.S. (Xxxx Byte) – Wartość AS (Autonomous System) protokołu rozgłaszającego daną trasę zewnętrzną.
      • Administrative Tag (Xxxx Byte) – Dodatkowa wartość otagowania przypisana do danej trasy zewnętrznej.
      • External Metric (Xxxx Byte) – Wartość metryki rozgłaszanej przez poprzedni protokół dla danej trasy zewnętrznej.
      • External Protocol ID (Xxxx Byte) – Nazwa protokołu z którego została pobrana dana trasa zewnętrzna.

    Wiadomości protokołu EIGRP

    Wiadomości powitalne Hello (Multicast)

    Konfiguracja czasów protokołu EIGRP została opisana w artykule: Podstawowa konfiguracja protokołu EIGRP.

    • Wiadomości Hello umożliwiają wykrycie innych urządzeń sieciowych, a następnie nawiązanie z nimi relacji sąsiedztwa. Domyślnie wymieniane są pomiędzy sąsiadami zgodnie z następującymi przedziałami czasowymi:
      • Hello Timers – Określa odstępy czasowe w wysyłaniu wiadomości Hello. Czas Hello timer wynosi:
        • 5 sekund dla sieci typu Point to Point czy Ethernet.
        • 60 Sekund dla sieci typu NBMA, których pasmo wynosi 1544 Kbps lub mniej.
      • Dead Interval – Określa czas, po upływie którego sąsiedni ruter zostanie uznany za nieosiągalny (W przypadku otrzymania wiadomości hello licznik czasu Dead Interval zostaje zresetowany). Czas Dead Interval wynosi:
        • 15 sekund dla sieci typu Point to Point czy Ethernet.
        • 180 Sekund dla sieci typu NBMA, których pasmo wynosi 1544 Kbps lub mniej.
    Domyślnie czas Hold Timers stanowi trzykrotność wartości czasu Hello (Zachowanie takiej zależności nie jest konieczne, lecz zalecane).
    • Widomości Hello są wysyłane na adres multicast-owy 224.0.0.10 w przypadku protokołu IPv4, adres Link-local multicast FF02::A w przypadku protokołu IPv6 oraz adres unicast address w sytuacji nawiązania statycznej relacji sąsiedztwa.
    • Wiadomości Hello nie wymagają potwierdzenia przez wiadomość Acknowledgment.

    Update packets (Unicast / Multicast)

    • Wiadomości aktualizacyjne (Update) są wymieniane pomiędzy sąsiednimi urządzeniami w następujących przypadkach:
      • Podczas nawiązywania nowej relacji sąsiedztwa, kiedy to wiadomości Full Update, są wymieniane pomiędzy sąsiednimi urządzeniami za pomocą adresacji unicast. Wyjątek od tej zasady stanowi sytuacja, w której, w krótkim okresie czasu router po nawiązaniu wielu relacji sąsiedztwa, stosuje wiadomości multicast-owe do rozgłaszania aktualizacji. Np. w monecie startu rozbudowanej topologii protokołu DMVPN.
      • Po uzyskaniu pełnej zbieżności, kiedy to wiadomości aktualizacyjne Partial Update są wysyłane multicast-owo pomiędzy sąsiadami.
      • Gdy ruter nie otrzyma potwierdzenia Acknowledgment, na wysłaną wiadomość aktualizacyjną Update, ponowi probe wysłania wiadomość aktualizacyjnej, tym razem za pomocą adresu unicast.
      • W topologii point-to-point jak i w przypadku statycznej relacji sąsiedztwa, kiedy to wiadomości aktualizacyjne są wysyłane za pomocą adresacji unicast.
    • Protokół EIGRP wykorzystuje dwa pojęcie dotyczące wiadomości aktualizacyjnych (Update):
      • Partial – Obejmuje wiadomości aktualizacyjne zawierające informacje, o zmianach zaszłych w topologii sieciowej.
      • Bounded – Określa wiadomości aktualizacyjne wysyłane do tych sąsiadów, których dotyczy dana aktualizacja.
    Wiadomości aktualizacyjne zawsze wymagają potwierdzenia, za pomocą wiadomość Acknowledgment.

    Query packets (Unicast / Multicast)

    • Wiadomości Query:
      • Angażują sąsiednie urządzenia w proces poszukiwania najlepszej trasy prowadzącej do sieci docelowej.
      • Są wysyłane za pomocą adresów multicast-owych w sieciach wielodostęp-owych, z wyjątkiem sytuacji, w której sąsiedni router nie potwierdzi otrzymania wiadomości Query za pomocą wiadomości Acknowledgment.
      • Są wysyłane za pomocą adresów unicast-owych w sieciach typu Point-to-Point jak i w przypadku nawiązania statycznej relacji sąsiedztwa pomiędzy urządzeniami sieciowymi.
      • Zawsze wymagają potwierdzenia, za pomocą wiadomość Acknowledgment.

    Reply packets (Unicast)

    • Wiadomości Replay stanowią odpowiedź na otrzymaną wiadomość Query.
    • Wiadomości Replay są wysyłane za pomocą adresacji unicast.

    Acknowledgment packets (Unicast)

    • Wiadomości Acknowledgment stanowią odpowiedź, potwierdzającą otrzymanie innej wiadomości protokołu EIGRP.
    • W przypadku szesnastokrotnego nie otrzymania wiadomości potwierdzającej (Acknowledgment ) ruter zresetuje relację sąsiedztwa.

    SIA-Query i SIA-Replay (Unicast)

    • Wiadomości SIA są wykorzystywane w procesie „Diffusing Computation”, w celu sprawdzania czy sąsiednie urządzenie nadal pracuje nad pierwotnym zapytaniem Query.
    • Po otrzymaniu wiadomości SIA-Query, router natychmiast odpowie wiadomością SIA-Replay, dzięki czemu sąsiednie urządzenie zresetuje czas „Active Timer”, unikając zerwania relacji sąsiedztwa.

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (T) Nawiązywanie relacji sąsiedztwa EIGRP”

    (T) Nawiązywanie relacji sąsiedztwa EIGRP”

    Proces nawiązywania relacji sąsiedztwa

    Wiadomości EIGRP wymieniane pomiędzy router-ami w procesie nawiązywania relacji sąsiedztwa
    1. Router A rozpoczyna proces nawiązywania relacji sąsiedztwa, poprzez nadanie wiadomości powitalnej Hello. Na wszystkich interfejsach sieciowych aktywnych względem konfigurowanej instancji protokołu EIGRP.
    2. Jeśli otrzymana przez router B wiadomość powitalna Hello, spełnia wymagania protokołu EIGRP względem lokalnego urządzenia. Relacja sąsiedztwa zostanie nawiązana pomiędzy routerem A a routerem B.
      1. Wymieniane pomiędzy ruterami wiadomości Hello zawierają: numer ASN konfigurowanej instancji protokołu EIGRP, wartość K-Value, wykorzystywane wartości czasów (Hello Timer, Hold Time), wersję protokołu EIGRP oraz dodatkowe informacje dotyczące  wersji systemu Cisco IOS.
    3. Router B wysyła aktualizację (Full Update) zawierającą pełną zawartość własnej tablicy topologii (Topology Table).
    4. Router A potwierdza otrzymanie aktualizacji (Update packet) za pomocą wiadomości Acknowledges.
    5. Router A wysyła aktualizację (Full Update) zawierającą pełną zawartość własnej tablicy topologii (Topology Table).
    6. Router B potwierdza otrzymanie aktualizacji (Update packet) za pomocą wiadomości Acknowledges.
    7. Urządzenia rozpoczynają proces wzajemnej wymiany wiadomości Hello, w odstępach czasowych (Hello Timer).

    Warunki nawiązania relacji sąsiedztwa

    • Aby routery mogły nawiązać ze sobą relację sąsiedztwa, muszą spełniać następujące kryteria:
    Wymagania dotyczące relacji sąsiedztwa EIGRP OSPF
    Sąsiedzi muszą być wstanie wysyłać pomiędzy sobą pakiety IP Tak Tak
    Adresy IP muszą należeć do tej samej sieci Tak Tak
    Interfejsy nie mogą działać w trybie pasywnym Tak Tak
    Sąsiedzi muszą należeć do tego samego systemu autonomicznego ASN (EIGRP) bądź procesu „process-ID” (OSPF) Tak Nie
    Czasy hello oraz Hold (EIGRP), Dead (OSPF) muszą się zgadzać Nie Tak
    Sąsiedzi muszą przejść proces autentykacji (Jeżeli przynajmniej jedno z urządzeń takiego wymaga) Tak Tak
    Sąsiedzi muszą należeć do tej samej strefy Area (OSPF). N/A Tak
    Wartość IP MTU musi się zgadzać Nie Tak
    Wartość K-value musi być taka sama Tak N/A
    Wartość Router ID musi być unikalna Przeważnie nie Tak

    Wymagania dotyczące procesu nawiązywania relacji sąsiedztwa dla protokołu EIGRP / OSPF

    W przypadku kryterium „Adresy IP muszą należeć do tej samej sieci” logika postępowania protokołu OSPF różni się od logiki postępowania protokołu EIGRP. OSPF porównuje całą wartość adresu oraz maski sąsiedniego urządzenia, natomiast EIGRP patrzy jedynie na to czy adres IP sąsiada należy do tej samej sieci co lokalny interfejs. Przykładowo sąsiednie urządzenie z skonfigurowanym adresem [ip address 192.168.10.2 255.255.255.252] nawiąże relacje sąsiedztwa z interfejsem o adresie [ip address 192.168.10.1 255.255.255.0] w przypadku protokołu EIGRP, ale nie OSPF.
    W sytuacji skonfigurowania dwóch adresów IP na jednym interfejsie sieciowym (Main and Secondary IP address). Adres zawarty w otrzymanej wiadomości hello musi przynależeć do przynajmniej jednej ze skonfigurowanych sieci IP (Głównej bądź zapasowej). Jeżeli jednak na jednym z urządzeń zabraknie sieci która względem sąsiada została skonfigurowana jako sieć główna, relacja sąsiedztwa nie zostanie nawiązana. Ponieważ urządzenie te będzie nadawało wiadomości powitalne Hello, jedynie z głównego adresu IP, znajdującego się w tym przypadku w sieci innej niż sąsiednie urządzenie. Poniższy przykład prezentuje poprawną konfigurację:
    * R1 1.1.1.1 255.255.255.0 (Primary IP), 11.11.11.1 255.255.255.0 (Secondary IP).
    * R2  11.11.11.2 255.255.255.0 (Primary IP), 1.1.1.2 255.255.255.0 (Secondary IP).

    Blokowanie procesu nawiązywania relacji sąsiedztwa

    • Kiedy komenda [network sieć dzika-maska] zostanie wydana w trybie konfiguracji protokołu EIGRP, nastąpi dopasowanie podanej w komendzie sieci, do adresów IP skonfigurowanych na wszystkich aktywnych interfejsach sieciowych, przy użyciu logiki listy (ACL). Tym samym ruter:
      • Rozpocznie systematyczne wysyłanie wiadomości powitalnych Hello, na multicast-owy adres IP 224.0.0.10.
      • Doda omawianą sieć, do tablicy topologii (Topology Table).
      • Rozpocznie rozgłaszanie informacji o danej sieci, do innych sąsiadów.
    • Zdarza się, że w sieci bezpośrednio przyległej do konfigurowanego urządzenia, nie znajduje się żaden ruter. W takim wypadku aby ograniczyć wysyłanie zbędnych wiadomości powitalnych, jednocześnie nie rezygnują z rozgłaszania danej sieci, można skorzystać z funkcji interfejsu pasywnego (Passive Interface), konfigurowanego za pomocą komendy [passive-interface interfejs] z poziomu konfiguracji protokołu EIGRP.
    • Funkcja pasywnego interfejsu (Passive Interface) blokuje proces wysyłania wiadomości powitalnych na określonym interfejsie sieciowym, jednocześnie nie blokując rozgłaszania informacji o danej sieci. Dzięki czemu interfejs nie tylko nie wysyła wiadomości powitalnych, ale również ignoruje przychodzące wiadomości Hello, czym nie dosusza do nawiązania relacji sąsiedztwa pomiędzy urządzeniami znajdującymi się w konfigurowanej sieci.

    Konfiguracja statycznej relacji sąsiedztwa (Unicast Neighbor)

    • W celu zredukowania nadmiernej liczby wiadomości multicast-owych, zwiększenia poziomu bezpieczeństwa czy konfiguracji sieci NBMA (np. Frame-Relay). Istnieje możliwość nawiązania statycznej relacji sąsiedztwa za pomocą komendy [neighbor adres-IP interfejs-wyjściowy] wydanej na obydwóch urządzeniach należących do tej samej sieci, w trybie konfiguracji protokołu EIGRP.
    Konfiguracja statycznej relacji sąsiedztwa, nie dodaje wskazanej w komendzie sieci, do procesu rozgłaszania protokołu EIGRP. W takiej sytuacji nadal istnieje konieczność użycia komendy [network sieć dzika-maska].
    Po skonfigurowaniu statycznej relacji sąsiedztwa, system IOS automatycznie zablokuje możliwość dynamicznego nawiązania relacji sąsiedztwa na interfejsie sieciowym, do którego należy wskazany adres IP (Sąsiada).
    Statycznie skonfigurowane relacje sąsiedztwa mogą zostać wyświetlane za pomocą komendy [show ip eigrp neighbors detail].

    Manipulowanie wartościami czasów Hello oraz Hold Timers

    • Jedną z najważniejszych cech protokołów routingu dynamicznego, jest funkcja zbieżności (convergence), dzięki której router po utracie jednej z tras, może znaleźć inną drogę prowadzącą do tej samej sieci docelowej. Im ruter szybciej wyszuka nowe połączenie a następnie doda je do tablicy routingu, tym krótszy będzie przestój w działaniu sieci.
    • Czas zbieżności jest między innymi zależny od tego jak szybko zostanie wykryta utrata połączenia z siecią docelową. Ponieważ bez wykrycia faktu istnienia problemu nie można go naprawić. W przypadku protokołu EIGRP utrata łączności pomiędzy sąsiadami jest wykrywana za pomocą wiadomości Hello. Oczywiście przy założeniu, że interfejs łączący sąsiednie urządzenia jest w stanie up/up, w innym przypadku router od razu wykryje problem z łącznością.
    • Domyślnie wiadomości Hello są wymieniane pomiędzy sąsiadami, w odstępie czasowym 5 sekund. W przypadku nieotrzymania wiadomości Hello w przeciągu 15 sekund (Hold Timers), ruter uzna że sąsiednie urządzenie nie jest już dostępne, a tym samym usunie je z tablicy sąsiedztwa (Neighbour Table).
    • Zmniejszenie domyślnych wartości czasu Hello oraz Hold Timers może umożliwić szybsze wykrywanie problemów.
    • Domyślny czas Hello Timers – Dla sieci Ethernet wynosi 5 sekund, natomiast dla sieci NBMA wynosi 60 sekund.
    • Domyślny czas Hold Timers – Dla sieci Ethernet wynosi 15 sekund, natomiast dla sieci NBMA wynosi 180 sekund.
    Domyślnie czas Hold Timers stanowi trzykrotność wartości czasu Hello (Zachowanie takiej zależności nie jest konieczne, lecz zalecane przez Cisco).
    W celu uzyskania szybszej zbieżności protokołu EIGRP, przy jednoczesnym zmniejszeniu zużycia procesora CPU, Cisco zaleca stosowanie protokołu BFD (Bi-directional Forwarding Detection). Wykorzystuje on wsparcie sprzętowe (Hardware), w celu wymiany wiadomości Keepalive, w czasie nie dłuższym niż 999 milisekund. Dzięki takiemu rozwiązaniu poszczególne wiadomości Keepalive nie muszą być przetwarzane przez procesor obydwóch urządzeń, jak ma to miejsce w przypadku domyślnej metody wykorzystującej wiadomości Hello.

    Konfiguracja czasu Hello oraz Hold Timers

    Pełna konfiguracja czasów protokołu eigrp została opisana w artykule: Podstawowa konfiguracja protokołu EIGRP.

    • Zmiana
      wartości czasu Hello Time oraz wartości czasu Hold Timers,jest dokonywana względem określonego interfejsu sieciowego. Należy
      przy tym pamiętać, aby wprowadzone zmiany zostały wdrożone na wszystkich
      urzadzeniach należących do tej samej sieci. Niezastosowanie się to tej zasady
      może doprowadzić do braku jednolitej wymiany wiadomości pomiędzy sąsiadami. A tym
      samym:
      • Po
        wysłaniu pierwszej wiadomości Hello wraz z nowymi ustawieniami czasów, inne urządzenia
        dostosują się do wprowadzonych zmian, prowadząc wymianę wiadomości powitalnych
        w nowo ustalonej częstotliwości. Jednak zmiana ta będzie stosowana tylko i
        wyłącznie w przypadku komunikacji sąsiednich urządzeń z urządzeniem którw
        wprowadziłoomawiane zmiany, tymczasem wymiana wiadomości pomiędzy innymi sąsiadami
        nie ulegnie zmianie.
    Należy przy pamiętać, że system Cisco IOS nie chroni administratora przed wpisaniem wartości czasu Hello większej niż wartość Hold Timers, co może doprowadzić do systematycznego zrywania relacji sąsiedztwa pomiędzy routerami (Flapowania).

    Nawiązywanie relacji sąsiedztwa w sieciach WAN

    • Frame Relay Neighborship – W przypadku połączenia Frame Relay relacja sąsiedztwa protokołu EIGRP zostaje nawiązana pomiędzy głównym odziałem HQ a innymi oddziałami (Spoke).
    • MPLS VPN Neighborship – W przypadku połączenia MPLS VPN relacja sąsiedztwa protokołu EIGRP zostaje nawiązana pomiędzy ruterami brzegowymi (CE Customer Edge) a routerami dostawcy ISP (PE  Provider Edge).
    • Metro Ethernet Neighborship – W przypadku połączenia Metro Ethernet relacja sąsiedztwa protokołu EIGRP zostaje nawiązana pomiędzy wszystkimi oddziałami w topologii Full-mesh, bądź w inny sposób zależny od konfiguracji połączenia WAN (Metro Ethernet).

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (T) Wstęp do protokołu EIGR”

    (T) Wstęp do protokołu EIGR”

    Podstawowe informacje dotyczące protokołu EIGRP

    Właściwości protokołu EIGRP

    • Domyślna wartość administracyjna (AD) dla:
      • Trasy wewnętrznej (Internal Route): AD 90.
      • Trasy zewnętrznej (External Route): AD 170.
      • Trasy zsumaryzowane (Summary Route): AD 5.
    • Domyślne ustawienia komunikacji:
      • Wykorzystywany port: IP protocol 88 (RTP).
      • Wykorzystywany adres IP: IPv4 224.0.0.10, IPv6 FF02::A.

    Główne cechy protokołu EIGRP

    • Transport – W komunikacji ze swoimi sąsiadami, EIGRP wykorzystuje protokół IP (Protocol number 88).
    • Metric – Przy wyliczaniu metryki, protokół EIGRP wykorzystuje informacje o najniższej przepustowości jak i wartość sumowanego opóźnienia. Ponadto istnieje opcjonalna możliwość uwzględnienia dodatkowych wartości takich jak Load czy Reliability. Wartość MTU oraz ToS nigdy nie jest brana pod uwagę przy wyliczaniu metryki.
    • Fast Convergence – Posiada proces szybkiego przetwarzania zmian zachodzących w sieci.
    • Update Destination Address – Wykorzystuje wiadomości multicast-owe kierowane na adres IPv4 224.0.0.10 (EIGRPv4) oraz adres IPv6 FF02::A (EIGRPv6), oczekując przy tym odpowiedzi na adres unicast-owy. Istnieje opcjonalna możliwość aby wszystkie wiadomości protokołu EIGRP były kierowane na adres unicast (Np. przy konfiguracji statycznej relacji sąsiedztwa, co jest koniczne w przypadku niektórych topologii sieciowych).
    • Full or Partial Updates – Pełna wiadomość konfiguracyjna (Full Update) jest wysyłana pomiędzy sąsiadami zaraz po nawiązaniu relacji sąsiedztwa, następnie wymieniane są jedynie aktualizacje częściowe (Partial Update).
    • Authentication – Wspiera algorytm szyfrujący MD5.
    • Manual Router Summarization – Wspiera funkcję manualnej sumaryzacji tras routingu.
    • Automatic Summarization – Wspiera funkcję automatycznej sumaryzacji tras routingu.
    • VLSM / Classless – Przesyła adres sieci wraz z maską, w każdej wiadomości aktualizacyjnej.
    • Router Tags – Wspiera funkcję oznaczania, tagowania (Tags) re-dystrybuowanych tras routingu.
    • Next-hop Field – Umożliwia prezentowanie (Advertisement) tras routingu z innym adresem następnego przeskoku, niż adres IP routera, który dostarczył informacje o danej sieci docelowej.
    • Multiprotocol – Wspiera wiele protokołów warstwy trzeciej, takich jak IPX, AppleTalk, IPv4 oraz IPv6.
    • Unequal Load Balance – Umożliwia stosowanie równoważnego obciążenia pomiędzy trasami z nierówną metryką.
    • DUAL – Wykorzystuje algorytm DUAL (Diffusing Update Algorithm) w celu poszukiwania najlepszej trasy prowadzącej do sieci docelowej (Pozostałe protokoły wektora odległości (Distance vector) wykorzystują algorytm Bellmana-Forda).
    • RTP – Wykorzystuje własny protokół warstwy czwartej zwany RTP (Reliable Transport Protocol).
    • Hop-count – Zwiększa limit maksymalnej drogi z 15 przeskoków (RIP, IGRP) do 255 przeskoków.

    Elementy składowe protokołu EIGRP

    • Neighbor Discovery and Maintenance – Nawiązuje relację sąsiedztwa pomiędzy routerami wspierającymi protokół EIGRP, z wykorzystaniem wiadomości powitalnych Hello.
    • RTP (Reliable Transport Protocol) – Unikalny protokół warstwy czwartej, stworzony przez Cisco na potrzeby protokołu EIGRP, łączy w sobie zarówno elementy protokołu UDP oraz protokołu TCP.
    • DUAL (Diffusing Update Algorithm) – Algorytm prowadzący poszukiwania najlepszej trasy, prowadzącej do sieci docelowej.

    Tablice wykorzystywane przez protokół EIGRP

    • Tablica Neighbor Table – Zawiera informację o sąsiednich urządzeniach, wykrytych za pomocą wiadomości Hello.
    • Tablica Topology Table – Zawiera trasy routingu pozyskane przez protokół EIGRP od sąsiednich urządzeń, z którymi nawiązana została relacja sąsiedztwa jak i informacje o sieciach bezpośrednio przyległych.
    • Tablica routingu (Routing Table) – Stanowi lokalną tablicę routingu, do której przekazywane są wszystkie trasy z najniższą wartością metryki, pobrane z tablicy topologii protokołu EIGRP.

    Podstawowe operacje protokołu EIGRP

    • Neighbor Discovery – Protokół EIGRP wykorzystuje wiadomości powitalne Hello w celu nawiązania relacji sąsiedztwa z innymi routerami należącymi do tej samej sieci (Dynamicznie bądź statycznie).
    • Topology exchange – Protokół EIGRP rozpoczyna wymienne całej zawartości tablicy topologii zaraz po nawiązaniu nowej relacji sąsiedztwa, następnie aktualizację będą wymieniane jedynie w przypadku zajścia zmian w topologii sieciowej.
    • Choosing routers – Po uzupełnieniu lokalnej tablicy topologii, protokół EIGRP rozpoczyna proces poszukiwania najkrótszej trasy dotarcia do każdej z wykrytych sieci.

    RTP & RID

    Protokół RTP (Reliable Transport Protocol)

    • Protokół EIGRP w celu wysyłania wiadomości Hello, Update oraz innych wiadomości protokołu EIGRP, pomiędzy sąsiednimi urządzeniami. Wykorzystuje w warstwie czwartej modelu OSI protokół RTP. Stworzony przez Cisco, specjalnie na potrzeby EIGRP. Nawiązuję on komunikację pomiędzy urządzeniami z wykorzystaniem zarówno protokołu TCP jak i UDP.

    Określanie wartości RID (Router ID) względem protokołu EIGRP

    • W przypadku protokołu EIGRP 32-bitowa wartość Router ID jest określana na podstawie:
      • Wartości skonfigurowanej za pomocą komendy [eigrp router-id 0-255.0-255.0-255.0-255].
      • Największej wartości adresu IPv4 dla aktywnego (up/up) interfejsu LoopBack.
      • Największej wartości adresu IPv4 dla aktywnego (up/up) interfejsu Non-LoopBack.
    • W przypadku protokołu EIGRP wartość RID (Router ID) ma znaczenie podczas propagacji tras zewnętrznych pomiędzy sąsiednimi urządzeniami (W sytuacji wystąpienia duplikacji wartości RID, sąsiednie rutery z tą samą wartością RID nie będą mogły wymieniać pomiędzy sobą tras zewnętrznych (External routes).

    Kontrola pasma w sieciach WAN

    • W przypadku niektórych rozwiązań WAN, jeden fizyczny interfejs może przenosić ruch sieciowy wielu połączeń wirtualnych (Np. Frame Relay). W takim przypadku pasmo jednego interfejsu jest dzielone na wiele połączeń wirtualnych, co powinno być uwzględnione w konfiguracji protokołu EIGRP.
    • Aby ograniczyć wykorzystanie pasma przez protokół EIGRP, system Cisco IOS domyślnie ogranicza ilość przesyłanych wiadomości protokołu EIGRP do 50% wartości pasma określonego za pomocą komendy [bandwidth]. Aby zmienić tą wartość należy wykorzystać komendę [ip bandwidth-precent eigrp ASN 1-999999(50)(%)] w trybie konfiguracji interfejsu sieciowego.

    Porównanie protokołów routingu dynamicznego

    Funkcja RIPv2 EIGRP OSPFv2
    Metryka jest oparta o Hop Count Bandwidth, Delay Cost
    Wysyła systematyczne aktualizacje Tak Nie Nie
    Wysyła systematyczne wiadomości powitalne Nie Tak Tak
    Wykorzystuje funkcję „Router Poisoning” Tak Tak Tak
    Wykorzystuje funkcję „Split Horizon” Tak Tak Nie
    Adres IP wiadomości 224.0.0.9 224.0.0.10 224.0.0.5, 224.0.0.6
    Metryka uznana za nieskończoną 15 232-1 224-1

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (TK) Sumaryzacja protokołu EIGRP”

    (TK) Sumaryzacja protokołu EIGRP”

    Wstęp teoretyczny do sumaryzacji

    Zalety oraz wady sumaryzacji

    • Zalety stosowania sumaryzacji, względem protokołu EIGRP:
      • Zmniejsza ilość wpisów zawartych w tablicy routingu.
      • Zmniejsza ilość wiadomości Query.
    • Wady stosowania sumaryzacji, względem protokołu EIGRP:
      • Może doprowadzić do nieoptymalnego routingu.
      • Może przepuszczać pakiety kierowane do nieistniejącej sieci, zawartej w zsumaryzowanym wpisie.
    Funkcja automatycznej sumaryzacji protokołu EIGRP (Auto-summary), tworzy wpisy oparte o sieci klasowe.
    Domyślnie wszystkie trasy zsumaryzowane przez protokół EIGRP, posiadają dystans administracyjny AD równy 5.

    EIGRP Path Manipulation

    • Sumaryzacja tras routingu może zastać wykorzystana do zrównoważenia obciążenia sieciowego pomiędzy dwiema drogami o nierównej metryce.
      • Zakładając że jedno z połączeń stanowi link serialowy, który powinien być utylizowany w mniejszym stopniu, a trasę docelową sieć 10.0.0.0/8, rozgłaszaną przez ruter A oraz ruter B.
      • Sumaryzację w takim przypadku można zastosować rozgłaszając za pomocą rutera A, trasę 10.0.0.0 255.128.0.0 oraz za pomocą rutera B trasę 10.128.0.0 255.128.0.0.

    Sumaryzacja tras routingu

    • Domyślnie po stworzeniu trasy zsumaryzowanej, ruter dodaje nowo stworzony wpis do tablicy routingu, z adresem następnego przeskoku prowadzącym na interfejs Null. Zabieg ten ma na celu uniknięcie powstania pętli sieciowej, związku z tym dotyczy jedynie urządzenia lokalnego. Sąsiednie urządzenia otrzymują prawidłową trasę zsumaryzowaną z podanym adresem następnego przeskoku. Przykładowy w pis w tablicy routingu, zawierający trasę zsumaryzowaną, wygląda następująco [192.168.0.0/16 is a summary, 00:01:28, Null0] (AD 5).
    • Funkcja automatycznej sumaryzacji (Auto-summary) protokołu EIGRP, działa w przypadku:
      • Sieci bezpośrednio przyległych do konfigurowanego urządzenia.
      • Sieci dodanych do rozgłaszania za pomocą komendy [network sieć].
      • Sieci z maską mniej szczegółową, od maski sieciowej przypisanej do interfejsu sieciowego, na którym ma być rozgłaszana dana trasa zsumaryzowana.
    • Problemy związane z auto-sumaryzacją dotyczą sieci „Discontiguous Network”.
      • Contiguous Network – Topologia, w której jedna sieć klasowa, nie jest rozdzielona przez inną sieć.
      • Discontiguous Network – Topologia, w której jedna sieć klasowa, jest rozdzielona przez inną sieć.
    Przykładowa topologia obrazująca problem związany z auto-sumaryzacją

    Konfiguracja sumaryzacji tras routingu

    (config-router)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip summary-address eigrp ASN sieć maska [1-255(5)(AD)]

    Tworzy wpis sumaryzujący określone w komendzie trasy routingu. Opcjonalnie umożliwia określenie wartości Dystansu Administracyjnego (Wartość AD nie jest rozgłaszana do sąsiednich urządzeń, związku z tym wpływa jedynie na działanie urządzenia lokalnego).

    (config)# router eigrp ASN

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-router)# [no] auto-summary

    Wyłącza / Włącza funkcję auto-sumaryzacji.

    (config-router)# summary-metric sieć maska 1-255(5)(AD)

    Zmienia domyślną wartość Dystansu Administracyjnego (AD), względem określonej trasy sumaryzowanej (Wartość AD nie jest rozgłaszana do sąsiednich urządzeń, związku z tym wpływa jedynie na działanie urządzenia lokalnego).
    Dodanie nowej komendy sumaryzacyjnej, resetuje relację sąsiedztwa pomiędzy ruterami znajdującymi się na konfigurowanym interfejsie sieciowym.
    W nowszych wersjach systemu Cisco IOS (15.0 ->) funkcja auto-sumaryzacji jest domyślnie wyłączona.
    Domyślnie wszystkie trasy zsumaryzowane, posiadają dystans administracyjny AD równy 5.

    Sumaryzacja trasy domyślnej

    (config-router)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip summary-address eigrp ASN 0.0.0.0 0.0.0.0 [1-255(5)(AD)]

    Tworzy wpis sumaryzujący trasę domyślną. Opcjonalnie umożliwia określenie wartości Dystansu Administracyjnego (Wartość AD nie jest rozgłaszana do sąsiednich urządzeń, związku z tym wpływa jedynie na działanie urządzenia lokalnego).

    (config)# router eigrp ASN

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-router)# [no] auto-summary

    Wyłącza / Włącza funkcję auto-sumaryzacji.

    (config-router)# summary-metric sieć maska 1-255(5)(AD)

    Zmienia domyślną wartość Dystansu Administracyjnego (AD), względem określonej trasy sumaryzowanej (Wartość AD nie jest rozgłaszana do sąsiednich urządzeń, związku z tym wpływa jedynie na działanie urządzenia lokalnego)

    Pozostałe tematy związane z konfiguracją protokołu EIGRP

    EIGRPv6

  • (K) Sieci stub EIGRP”

    (K) Sieci stub EIGRP”

    Konfiguracja rutera Stub

    (config)# router eigrp ASN

    Przechodzi do poziomu konfiguracji protokołu EIGRP.

    (config-router)# eigrp stub [connected / receive-only / redistribute / static / summary](connected, summary)

    Określa jakie sieci będą rozgłaszane przez konfigurowany ruter:
    * connected – Rozgłasza sieci bezpośrednio przyległe do rutera.
    * summary – Rozgłasza sieci zsumaryzowane.
    * static – Rozgłasza trasy statyczne (Trasy te muszą być re-dystrybuowane przez protokół EIGRP).
    * redistributed – Rozgłasza sieci re-dystrybuowane.
    * receive-only – Zaprzestaje rozgłaszania jakichkolwiek tras routingu.
    Ruter skonfigurowany jako urządzenie brzegowe Stub, w odpowiedzi na otrzymane zapytanie Query odeśle wiadomość inaccessible.

    # show ip protocols [| include Stub]

    Wyświetla szczegółowe informacje na temat konfiguracji protokołu EIGRP jak i innych protokołów routingu dynamicznego. W tym informacje o konfiguracji strefy stub.

    Pozostałe tematy związane z konfiguracją protokołu EIGRP

    EIGRPv6

  • (T) Proces konwergencji EIGRP”

    (T) Proces konwergencji EIGRP”

    Wstęp do procesu konwergencji protokołu EIGRP

    • Proces konwergencji protokołu EIGRP, jest w większości przypadków bardzo wydajny, istnieją jednak sytuację w których reagowanie na zachodzące w sieci zmiany trwa dłużej, zwiększając czas oczekiwania z dziesiętnych sekund do okresu paru sekund. Aby zniwelować możliwość wystąpienia takiej sytuacji, administrator sieci musi odpowiednio skonfigurować ustawienia protokołu EIGRP, względem procesu wybierania trasy zapasowej Feasible Successor.
    • Proces szybkiej konwergencji protokołu EIGRP, opiera swoje działanie o trasę następnego przeskoku Successor, a w szczególności na terasie zapasowej Feasible Successor. Dzięki wykorzystaniu powyższych ról, protokół EIGRP jest w stanie szybko przełączyć się na połączenie zapasowe, po stracie łączności z ruterem pełniącym rolę Successor-a.
    • Poniższe komendy umożliwiają podgląd tras routingu zapisanych w tablicy topologii protokołu EIGRP:
      • Komenda [show ip eigrp topology] wyświetla trasy Successor oraz Feasible Successor.
      • Komenda [show ip eigrp topology all-links] wyświetla wszystkie zapisane w bazie topologii trasy protokołu EIGRP: Successor, Nonsuccessor oraz Feasible Successor.

    FSM (Finite State Machine)

    • W okresie stabilnej pracy protokołu EIGRP, podczas której nie dochodzi do żadnych zmian w topologii sieciowej, trasy routingu zapisane w tablicy topologii znajdują się w trybie pasywnym (Passive). Jest to stan stabilny, w jakim powinna znajdować się każda sieć wykorzystująca protokół EIGRP.
    • Input Event – Stan pasywny (Passive), może ulec zmianie w przypadku zajścia zdarzenia (Input Event), prowadzącego do ponownego wyliczenia metryki względem wszystkich tras routingu, zapisanych w tablicy topologii protokołu EIGRP. Takowe zdarzenie wejściowe może być zapoczątkowane poprze:
      • Zmianę metryki sieci bezpośrednio przylegającej.
      • Zmianę statusu (Up / Down), interfejsu sieciowego.
      • Odbiór wiadomości Update, Query bądź Replay.
    • Local Computation – Pierwszym krokiem następującym po zajściu zdarzenia wejściowego (Input Event), jest uruchomienie procesu „Local Computation”, wykorzystującego dane zawarte w tablicy topologii, w celu ponownej oceny sytuacji względem lokalnego routera, a tym samym wykrycia zmian dotyczących tras jak i roli jakie pełnią (Successor oraz Feasible Successor). Możliwym rezultatem przeprowadzenia tego procesu jest:
      • Zmiana statusu trasy Feasible Successor do roli Successor, w sytuacji w której obecna trasa Successor nie posiada już najniższej metryki.
      • Aktualizacja wartości Fasible Distance w przypadku, w którym wartość Computed Distance nowej trasy Successor jest mniejsza od obecnej wartości Fasible Distance.
      • Aktualizacja tablicy routingu, wpisem o nowej trasie Successor.
      • Wysłanie wiadomości Query do sąsiednich urządzeń w celu poinformowania ich o zmianach zaszłych w sieci.
    W czasie trwania procesu „Local Computation”, sieć pozostaje w trybie pasywnym (Passive).
    • Diffusing Computation – Jeżeli tablica topologii nie posiada trasy Feasible Successor a jedynie trasę Nonsuccessor, jej automatyczne przeniesienie do roli Successor jest niemożliwe, bez wcześniejszego przeprowadzenia procesu „Diffusing Computation”. Proces ten blokuje zmianą obecnej trasy Successor, przenosząc wpis o danej sieci ze stanu pasywnego (Passive) do aktywnego (Active). W czasie trwania procesu, ruter nie może:
      • Zmieniać obecnej trasy Successor.
      • Zmieniać wartość rozgłaszanej metryki dla danej trasy.
      • Zmieniać wartości Feasible Distance dla danej trasy.
      • Rozpoczynać procesu „Diffusing Computation” względem innej trasy.

    Mechanizm By Going Active

    • Domyślnie w przypadku utraty trasy Successor, tablica routingu zostaje przełączona na połączenie zapasowe Feasible Successor. Jednak, jeżeli dany router nie posiada żadnej trasy zapasowej Feasible Successor a jedynie trasę Nonsuccessor, musi przejść przez proces By Going Active (Diffusing Computation).

    Działanie mechanizmu By Going Active (Diffusing Computation)

    1. Po zajściu zdarzenia (Input Event) uruchamiającego proces Local Computation -> Diffusing Computation process, status sieci zostanie zmieniony z pasywnej (Passive) na sieć aktywną (Active).
    2. Router rozpoczyna proces wysyłania wiadomości Query do każdego ze swoich sąsiadów, poza tym z którym została utracona łączność. W celu znalezienia nowej, wolnej od pętli trasy.
    3. Sąsiednie urządzenie po odebraniu wiadomości Query, uruchomi własny proces Local Computation.
      1. Jeżeli sąsiednie urządzenie nigdy nie straciło trasy do szukanej przez wiadomość Query sieci, z tablicy routingu bądź też posiada wolną od pętli trasę Successor / Feasible Successor w swojej tablicy topologii, odpowie na otrzymane zapytanie Query wiadomością Replay, zawierającą informacje na temat danej trasy.
      2. Jeżeli sąsiednie urządzenie nie posiada trasy Feasible Successor a jedynie trasę Nonsuccessor, rozpocznie własny proces Diffusing Computation, wstrzymując tym samym odpowiedź na zapytanie Query otrzymane od swojego sąsiada. A co za tym idzie odraczając w czasie zakończenie jego procesu Diffusing Computation.
    4. Proces Diffusing Computation zostaje zakończony, kiedy wszystkie rutery otrzymają odpowiedzi Replay od swoich sąsiadów.
    5. Jeżeli żaden z ruterów nie posiada trasy Successor / Feasible Successor do szukanej sieci, wyśle odpowiednią odpowiedź zawartą w wiadomości Replay. W następstwie czego sieć ta zostanie usunięta z tablicy topologii protokołu EIGRP.
    Każda wiadomość Query jak i Replay jest wysyłana za pomocą protokołu RTP i wymaga potwierdzenia wiadomością ACK.
    Proces wymiany wiadomości Query oraz Replay można zaobserwować po aktywowaniu opcji Debug [debug eigrp fsm / debug eigrppackets query]. 
    Proces By Going Active (Propagacja wiadomości Query & Replay)
    Proces konwergencji „By Going Active” przeważnie trwa mniej niż 10 sekund, istnieją jednak sytuacje w których duży poziom skomplikowania topologii sieciowej czy problemy występujące z łącznością, mogą doprowadzić do znacznego wydłużenia czasu tej operacji.

    Mechanizm Stuck in Active

    • W czasie trwania procesu „By Going Active”, może dojść do zakłóceń w komunikacji pomiędzy sąsiadami. Czego efektem może być przedłużający się czas oczekiwania na odpowiedź Replay. Aby ograniczyć czas działania tego procesu, system Cisco IOS posiada czas zwany Active Timer, domyślnie wynoszący 3 minuty.
    • W pierwotnej formie procesu Stuck in Active ruter, który nie otrzymał odpowiedzi Replay na wysłane zapytanie Query, przez domyślną wartość czasu (Active Timer), zrywał relację sąsiedztwa z danym urządzeniem, ty samym usuwając go (Chwilowo) z tablicy sąsiedztwa (Neighbor Table). Co wymuszało ponowne, czasochłonne przywracanie relacji sąsiedztwa.
    • Nowsza wersja systemu Cisco IOS (12.2->), w celu uniknięcia niepotrzebnego zerwania relacji sąsiedztwa z innymi urządzeniami sieciowymi (Które przeważnie i tak nie były odpowiedzialne za problemy związane z procesem „By Going Active”). Wyśle specjalne zapytania SIA-Query (Stuck in Active Query) po upływie połowy czasu Active Timers (90 sekund). Spodziewając się przy tym odpowiedzi za pomocą wiadomości SIA-Replay (Stuck in Active Replay).
      • Jeżeli urządzenie otrzyma odpowiedź SIA-Replay, zresetuje wartość czasu Active Timers.
      • Jeżeli urządzenie nie otrzyma odpowiedzi SIA-Replay, zerwie relację sąsiedztwa po upływie reszty czasu Active Timer.
    Sąsiednie urządzenie po otrzymaniu zapytania SIA-Query, natychmiast odeśle odpowiedź SIA-Replay, aby potwierdzić swoją dostępność. Pomimo braku gotowej odpowiedzi na pierwotne zapytanie Query.

    Podgląd wiadomości Query

    • Wymieniane pomiędzy ruterami wiadomości Query / Replay, można zaobserwować w czasie rzeczywistym, po wydaniu komendy [debug eigrp packet query reply].
    • W przypadku rozpoczęcia procesu Stuck in Active ruter wyświetli następujące komunikaty:
      • [*Mar 1 03:41:35.887: EIGRP: Enqueueing QUERY on FastEthernet0/0 iidbQ un/rely 0/1 serno 38-38].
      • [*Mar 1 03:41:35.887: EIGRP: Enqueueing QUERY on FastEthernet0/1 iidbQ un/rely 0/1 serno 38-38].
    • Po zakończeniu procesu Stuck in Active ruter wyświetli:
      • [*Mar 1 03:44:36.495: %DUAL-3-SIA: Route 111.111.111.8/29 stuck-in-active state in IP-EIGRP(0) 100. Cleaning up].
      • [*Mar 1 03:44:36.495: %DUAL-5-NBRCHANGE: IP-EIGRP(0) 100: Neighbor 2.4.2.4 (FastEthernet0/1) is down: stuck in active]. Oczywiście powyższe wydruki komendy Debug zależą od konfiguracji urządzenia.

    Ograniczanie rozprzestrzeniania się wiadomości Query ( Za pomocą sieci Stub)

    • W przypadku niektórych topologii sieciowych, część z routerów nie powinna rozgłaszać wszystkich otrzymanych tras routingu, do innych urządzeń. Sytuacja taka może mieć miejsce w przypadku biura zdalnego, połączonego do dwóch niezależnych oddziałów głównych HQ. W takiej sytuacji trasy otrzymywane z jednego o biura głównego nie powinny być kierowane do drugiego, aby nie doszło do sytuacji w której ruch pomiędzy oddziałami głównymi (HQ), w przypadku utraty pomiędzy nimi połączenia, będzie przechodzi przez mały odział zdalny.
    • Aby ograniczyć powyżej zaprezentowane zjawisko, protokół EIGRP umożliwia zastosowanie funkcji Stub Router. Blokuje ona możliwość rozgłaszania tras sieciowych otrzymanych od innych urządzeń z topologii EIGRP (Domyślnie rutery Stub rozgłaszają jedynie trasy bezpośrednio przylegające do urządzenia oraz trasy zsumaryzowane).
    • Konfiguracja funkcji Stub, jest możliwa za pomocą komendy [eigrp stub] wydanej w trybie konfiguracji protokołu EIGRP.

    Ograniczanie rozprzestrzeniania się wiadomości Query (Za pomocą sumaryzacji)

    • W przypadku otrzymania przez router zapytania Query, o trasę do sieci docelowej, która w tablicy routingu przynależy do trasy zsumaryzowanej. Router automatycznie odpowie wiadomością Replay, unikając tym samym procesu „Diffusing Computation”.

    Unequal Metric Route Load Sharing (Load Balance)

    • Równomierne obciążenie (Lad Sharing / Load Balance) dla tras z nierówną metryką, oprócz podstawowej funkcjonalności umożliwiającej rozdysponowanie nadchodzącego ruchu sieciowego na większą liczbę połączeń, tras następnego przeskoku. Umożliwia uzyskanie szybszej konwergencji (Convergence), ponieważ w sytuacji utraty trasy głównej Successor, trasa zapasowa Feasible Successor jest już w użyciu.
    • Komenda [maximum-paths 1-32] zwiększa domyślną, maksymalną ilość tras równomiernego obciążenia.
    • Komenda [variance 1-128] zwielokrotnia maksymalną wartość nierówności metryki, względem tras współdzielonych.
    Funkcja Load Balance dla tras z nierówną metryką jest dostępna jedynie dla protokołu EIGRP (Chwała Cisco).
    Podgląd ustawień funkcji [maximum-path] oraz [variance] jet dostępny za pośrednictwem komendy [show ip protocols].
    Funkcja Variance nie umożliwia prowadzenia równomiernego obciążenia dla tras „Nonsuccessor”.

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6

  • (T) Algorytm DUAL EIGRP”

    (T) Algorytm DUAL EIGRP”

    Algorytm DUAL

    • Algorytm DUAL ma na celu:
      • Określenie najlepszej, wolnej od pętli trasy, względem każdej z rozgłaszanych sieci.
      • Określenia zapasowych wolnych od pętli tras, względem każdej z rozgłaszanych sieci.
      • Zapewnienie szybkiej konwergencji (Network Convergence).

    Pojęcia dotyczące algorytmu DUAL

    • Protokół EIGRP wykorzystuje algorytm DUAL (Diffusing Update Algorithm), w celu poszukiwania najlepszej trasy wolnej od pętli sieciowych jak i do wykrywania tras zapasowych. Algorytm DUAL wykorzystuje następujące pojęcia:
      • Successor – Trasa z najmniejszą wartością metryki, stanowiąca następny przeskok (Next-hop) w drodze do sieci docelowej. Trasa ta znajduje się w zarówno tablicy topologii jak i tablicy routingu.
      • FS (Feasible Successor) – Trasa zapasowa prowadząca do sieci docelowej, spełniającej warunek FC (Feasibility Condition). Widoczna w wydruku komendy [show ip eigrp topology].
      • Nonsuccessor – Trasa zapasowa prowadzącą do sieci docelowej, nie spełniającą warunków FC (Feasibility Condition). Nie jest widoczna w wydruku komendy [show ip eigrp topology] a za pomocą komendy [show ip eigrp topology all-links].
      • FD (Feasible Distance) – Najniższa wartość metryki, dotarcia do sieci docelowej.
      • RD (Reaported Distance) lub AD (Advertised Distance) – Wartość metryki FD, względem sąsiedniego urządzenia.
      • CD (Computed Distance) – Wartość metryki FD, względem lokalnego urządzenia (Computed Distance = Reaported Distance + koszt połączenia pomiędzy ruterem a sąsiadem).
      • FC (Feasibility Condition) – Warunek dotyczący wyboru trasy zapasowej, prowadzącej do sieci docelowej (Feasible Successor). Wartość Reported Distance rozpatrywanego połączenia zapasowego Feasible Successor, musi być mniejsza niż obecna wartość Feasible Distance trasy głównej Successor.

    Tablica topologii a algorytm DUAL

    # show ip eigrp topology all-links
    EIGRP-IPv4 Topology Table for AS(1)/ID(3.3.3.3)
    Codes: P – Passive, A – Active, U – Update, Q – Query, R – Reply, r – reply Status, s – sia Status
    P 192.168.100.0/24, 1 successors, FD is 130816, serno 272
            via 10.0.0.1 (130816/128256), GigabitEthernet0/4
            via 172.16.33.2 (27008000/128256), Tunnel1
            via 10.0.0.13 (131072/130816), GigabitEthernet0/1
    P 10.0.0.8/30, 2 successors, FD is 3072, serno 91
            via 10.0.0.1 (3072/2816), GigabitEthernet0/4
            via 10.0.0.13 (3072/2816), GigabitEthernet0/1
            via 172.16.33.2 (26880256/2816), Tunnel1
    P 192.168.0.0/16, 1 successors, FD is 131072, serno 241
            via 10.0.0.22 (131072/130816), GigabitEthernet0/3
            via 172.16.33.2 (27008768/131328), Tunnel1
            via 10.0.0.18 (133120/128256), GigabitEthernet0/2
    P 5.5.5.5/32, 1 successors, FD is 130816, serno 89
            via 10.0.0.22 (130816/128256), GigabitEthernet0/3
            via 172.16.33.2 (27008512/131072), Tunnel1
    P 10.0.0.24/30, 1 successors, FD is 3072, serno 88
            via 10.0.0.22 (3072/2816), GigabitEthernet0/3
            via 172.16.33.2 (26880768/3328), Tunnel1

    .
    *Successor *Feasible Successor *Nonsuccessor *Feasible Distance *Reaported *Distance *Computed Distance

    Wartość Fasible Distance

    • Wartość FD (Fasible Distance) określa „historyczną” kopię najniższej wartości Computed Distance względem danej sieci, która jest odnawiana zaraz po zajściu procesu „Active-to-Passive transition”. Tym samym wartość Feasible Distance nie musi być równa obecnie najniższej wartości Computed Distance.
    • Zgodnie z definicją, podczas stanu pasywnego (Passive), wartość Feasible Distance może ulec jedynie zmniejszeniu. Oznacza to że zwiększenie obecnie najniższej wartości Computed Distance (Successor) nie wpłynie na wartość Feasible Distance (Oczywiście zmiana wartości nie może doprowadzić do zamiany roli Successor-a, w takim przypadku wartość Feasible Distance ulegnie zmianie). Przykładową sytuacją takiego zajścia jest lista Offset zwiększającą metrykę o np. 10.
    Protokół EIGRP nie rozgłasza wartości FD (Feasible Successor), a jedynie komponenty służące do wyliczania metryki, takie jak Bandwidth oraz Cumulative Delay.
    Obliczanie metryki trasy dla protokołu EIGRP

    Successor & Feasible Successor

    • Algorytm DUAL przechowuje w tablicy topologii informację o trasach głównych Successor jak i zapasowych Feasible Successor, tym samym może szybko reagować na zmiany zachodzące w topologii sieciowej.
    • Każda sieć zapisana w tablicy topologii znajduje się w określonym stanie (Aktywnym Active bądź pasywnym Passive). Z czego stan pasywny (Passive) oznacza stabilną topologię sieciową, natomiast stan aktywny (Active) zachodzi podczas zmian zachodzących w topologii sieciowej, które związane są z wysyłaniem wiadomości Query oraz wiadomości Replay.
    • Proces przywracania połączenia w przypadku awarii trasy, wygląda następująco:
    Proces postępowania w przypadku utraty trasy głównej “Successor”

    Tablica Topologii (Topology Table)

    Zawartość Tablicy topologii

    • Tablica topologii protokołu EIGRP, zawiera następujące informacje na temat tras routingu:
      • Adres oraz maskę sieci docelowej.
      • Wartość Fasible Distance.
      • Wartość Reaported Distance 
      • Adres sąsiada rozgłaszającego informacje o danej trasie, wraz z interfejsem do niego prowadzącym.
      • Dodatkowe informacje dotyczące trasy (Flagi, rodzaje sieci i inne).
    • Tablica topologii zawiera sieci lokalne (Bezpośrednio przylegające do rutera) jak i sieci pozyskane za pomocą wiadomości protokołu EIGRP (Takich jak: Update, Query, Replay, SIA-Query oraz SIA-Replay).
    • Sieci zdalne (Remote Networks) pozyskane za pomocą protokołu EIGRP, najpierw wpisywane są do tablicy topologii EIGRP a następnie do lokalnej tablicy routingu.

    Proces wymiany informacji zawartych w tablicy topologii

    Aby router mógł rozpocząć proces wymiany informacji na temat dostępnych tras routingu, pomiędzy sąsiednimi urządzeniami. Najpierw musi wypełnić zawartość lokalnej tablicy topologii, protokołu EIGRP. W tym celu pobiera informację o sieciach bezpośrednio przyległych do urządzenia, za pomocą komendy [network sieć maska].
    1. Trasy z najniższą metryką FD (Fasible Distance) zawarte w tablicy topologii są przenoszone do lokalnej tablicy routingu, jak i propagowane do sąsiednich urządzeń (sąsiadów protokołu EIGRP), za pomocą wiadomości aktualizacyjnych (Update). Wiadomości te zawierają następujące informacje:
      • Prefix – Adres IP sieci docelowej.
      • Prefix length – Maskę sieci docelowej.
      • Metric components (Bandwidth (Kbps), Delay (Dziesiątki milisekund), Reliability (Domyślnie 1), Load (Domyślnie 255)) – Domyślnie wartości Reliability oraz Load są przesyłane pomiędzy sąsiadami, lecz nie są brane pod uwagę przy wliczaniu metryki protokołu EIGRP.
      • NonMetric items ( MTU, Hop count) – Wartości MTU oraz Hop Count są przesyłane pomiędzy sąsiadami, lecz nie są brane pod uwagę przy wyliczaniu metryki protokołu EIGRP.
    2. W odpowiedzi na otrzymaną wiadomość aktualizacyjną, sąsiednie urządzenie potwierdza otrzymanie wiadomości Update, za pomocą wiadomości potwierdzającej ACK (Acknowledgment). Aby następnie porównać otrzymaną wartość najniższego pasma (Bandwidth), z wartością lokalną, przypisaną do interfejsu sieciowego na którym została ona odebrana. Jeżeli wartość ta jest mniejsza, zastąpi wcześniej propagowaną. W przypadku opóźnienia (Delay), rozgłaszana wartość stanowi sumę wartość wszystkich opóźnień dla danej trasy routingu. Tym samym wartość lokalnego opóźnienia nie jest nadpisywana a jest sumowana z wartością otrzymaną.
    3. Po dokonaniu powyższych zmian, sąsiedni ruter rozpoczyna propagowanie własnych wiadomości update, na wszystkich interfejsach aktywnych względem danej instancji protokołu EIGRP (Interfejs ten nie może być pasywny [passive interface interfejs]). Ponadto wiadomości aktualizacyjne nie są propagowane na interfejsie, na którym znajduje się ruter, który nadał pierwotną wiadomość Update (Ograniczenie te, wynika z działania domyślnie aktywowanej funkcji Split Horizon).
    • Przy określaniu opóźnienia (Delay) należy zwrócić uwagę na różnice dotyczące sposobu przedstawianiu czasu.
      • Czas podawany w mikrosekundach – Jest wyświetlany za pomocą komend SHOW np. [show ip eigrp topology].
      • Czas podawany w dziesiątkach mikrosekund – Jest wymieniany za pomocą wiadomości aktualizacyjnych (Update) jak i wykorzystywany w przypadku komendy [delay wartość-opóźnienia] względem określonego w komendzie interfejsu sieciowego.
    Zawartość wiadomości aktualizacyjnych (Update)

    Proces aktualizacji protokołu EIGRP

    • Protokół EIGRP wykorzystuje wiadomości (Update) w celu przesyłania aktualizacji, zgodnie z następującymi zasadami:
      • Podczas pierwszej wymiany danych pomiędzy sąsiadami, następuje pełna wymiana zawartości tablic topologii.
      • Po pierwszej wymianie informacji router wstrzymuje się od wysyłania dalszych aktualizacji. Kontakt pomiędzy sąsiadami jest utrzymywany za pomocą wiadomości powitalnych (Hello).
      • W przypadku wystąpienia zmiany w topologii sieciowej, router wysyła częściową aktualizację (Partial Update) za pomocą wiadomości aktualizacyjnej (Update), zawierającej informacje o zmianach zaszłych w sieci.
      • Po utraceniu łączności z sąsiadem a następnie jej odzyskaniu, następuje pełna wymiana zawartości tablic topologii.
      • W przypadku pełnej jak i częściowej wymiany aktualizacji, wiadomości aktualizacyjne są ograniczane przez funkcje „Split Horizon”, wpływającą na ich zawartość.

    Pozostałe tematy związane z protokołem EIGRP

    EIGRPv6