Objaśnienie metryki EIGRP
On 31 grudnia, 2020 by adminSzukam zrozumienia struktury metryk w protokole EIGRP, w tym tabeli routingu, a także tabeli topologii. „Na pewno” nie jestem jedynym, który uważa koncepcje EIGRP za nieco trudne do zrozumienia.
Moja mała sieć została utworzona i włączyłem AS o wartości 1 na obu połączeniach dla EIGRP sąsiedni związek. To jest wynik zarówno z tablicy routingu, jak i tabeli topologii:
Router#sh ip ro ei 192.168.1.0/30 is subnetted, 1 subnets D 192.168.2.0/24 [90/30720] via 192.168.1.2, 00:09:13, FastEthernet0/0
Wiem, że 90 to odległość administracyjna, ale metryka 30720 wydaje się wysoka przez szybki Ethernet do tylko jednego przeskoku. Czy można rzucić trochę światła na to, dlaczego jest to tak wysokie na przykład w porównaniu z OSPF? Rozumiem, że jest to prawdopodobnie prosty przypadek, w którym jabłka i pomarańcze są dwoma oddzielnymi protokołami routingu, ale interesuje mnie, jak to jest obliczane.
Router#sh ip ei top IP-EIGRP Topology Table for AS 1/ID(192.168.1.1) Codes: P - Passive, A - Active, U - Update, Q - Query, R - Reply, r - Reply status P 192.168.0.0/24, 1 successors, FD is 28160 via Connected, FastEthernet0/1 P 192.168.1.0/30, 1 successors, FD is 28160 via Connected, FastEthernet0/0 P 192.168.2.0/24, 1 successors, FD is 30720 via 192.168.1.2 (30720/28160), FastEthernet0/0
Jak widać z powyższego, obliczenie wynosi 30720/28160. Druga część tego obliczenia również wydaje się być wykonalną odległością 28160, przy czym pierwsza część to metryka 30720 z tablicy routingu.
Czy ktoś mógłby mi wyjaśnić cel tych obliczeń? I czy ta liczba będzie się zmieniać z czasem? Czy jest to teraz ustalone w kamieniu?
Z góry dziękuję.
Komentarze
Odpowiedz
Wzór metryczny EIGRP
Metryka EIGRP to połączenie miary skumulowanego opóźnienia całej ścieżki i minimalnej szerokości pasma na całej ścieżce. Wartość opóźnienia jest przypisywana do każdy „przeskok” oparty na szybkości tego interfejsu.
Metryka może uwzględniać również obciążenie i niezawodność interfejsu, ale często jest to wyłączane.
Wszystko jest kontrolowane przez to, co jest znane jako „wartości K”, każda „wartość k” steruje pogodą, każda z poniższych jest uwzględniana w obliczeniach metryki EIGRP.
K1 = Bandwidth K2 = Load K3 = Delay K4 & K5 = Reliability
Domyślnie K1 i Wartości K3 są ustawione na 1, a wartości K2 / K4 / K5 są ustawione na 0. Wartości te można następnie włożyć do pełnego (dość skomplikowanego) obliczenia metryki złożonej EIGRP:
256 * { K1*BW + [(K2*BW)/(256-load)] + (K3*delay) } * { K5/(reliability+K4) }
Jeśli ponownie napiszesz go z różnymi odstępami i dodasz ładne kolory i zastosujesz domyślne wartości K, zobaczysz, jak zostanie to uproszczone do samego opóźnienia i przepustowości:
Oznacza to, że uproszczona formuła z zastosowanymi tylko domyślnymi wartościami K kończy się tak jest:
256 * (Bandwidth + Delay)
Wartości przepustowości i opóźnień
Wartość przepustowości jest oparta na minimalnej przepustowości łącza na całej ścieżce . Ponieważ jednak wartości metryk w każdym protokole routingu uznają niższą wartość za lepszą, należy zastosować formułę, aby przekonwertować większą przepustowość na niższe wynikowe metryki. Ta formuła jest następująca:
Bandwidth = 10^7 / BW in Kbps
A więc ścieżka z minimum przepustowość łącza 100 Mb / s odpowiadałaby 100 000 Kb / s, a obliczenia wyglądałyby następująco:
Bandwidth value = 10,000,000 / 100,000 = 100 Delay
Opóźnienie ma być obliczeniem czasu potrzebnego na przesłanie bitu do sąsiedniego sąsiada. Ale w rzeczywistości jest to po prostu stała wartość oparta na przepustowości interfejsu. Współczynnik jest addytywny, zasadniczo działa jako liczba przeskoków. A może powinniśmy powiedzieć inteligentna liczba przeskoków , ponieważ uwzględnia ona również przepustowość każdego przeskoku.
Pełną listę wartości szybkości i opóźnienia każdego interfejsu można znaleźć tutaj:
https://tools.ietf.org/html/draft-savage-eigrp-00#section-5.5.1.2
Zauważ, że ta tabela wyświetla wartość w pikosekundach (jedna bilionowa część sekundy), a wartość opóźnienia w show interface
jest wyświetlany w usec, czyli mikrosekundach (jedna milionowa sekundy).
Wartość opóźnienia użyta w formule to wartość w mikrosekundach podzielona przez 10. Na przykład ścieżka, która składa się z dwóch łączy, z których każdy ma 100 Mb / s, co odpowiada całkowitemu opóźnieniu w usek wynoszącemu 200:
Delay Value = 200 / 10 = 20
Obliczenie końcowe
Możemy wziąć wartość przepustowości określoną powyżej (100) i wartość opóźnienia określoną powyżej (20) i podłączyć je do uproszczonej formuły , aby uzyskać ostateczną metrykę EIGRP dla łącza o minimalnej przepustowości ścieżki 100 Mb / s, a pełna ścieżka przecina dwie 100 Mb / s l atramenty:
EIGRP Metric = 256 * (Bandwidth + Delay) EIGRP Metric = 256 * (100 + 20) EIGRP Metric = 256 * 120 EIGRP Metric = 30720
Co ciekawe, jest to dokładnie ta sama wartość, którą podałeś w swoim pytaniu:
Router#sh ip ro ei 192.168.1.0/30 is subnetted, 1 subnets D 192.168.2.0/24 [90/30720] via 192.168.1.2, 00:09:13, FastEthernet0/0
Osiągalna odległość a zgłaszana
Co nas prowadzi z powrotem do innej koncepcji, co do której mógłbyś się pomylić. Mianowicie ma to związek z wynikiem wykonania tego polecenia:
Router#sh ip ei top ... P 192.168.2.0/24, 1 successors, FD is 30720 via 192.168.1.2 (30720/28160), FastEthernet0/0
Dostępne są dwie wartości trasy do 192.168.2.0/24
przez 192.168.1.2
: 30720 i 28160 . Zrozumienie tych dwóch wartości wymaga zrozumienia dwóch terminów używanych przez protokół EIGRP do opisywania kosztów .
Pierwsza wartość to tzw. Realna odległość . To jest całkowity koszt EIGRP do miejsca docelowego. Wartość, którą obliczyliśmy powyżej 30720, to wykonalna odległość do sieci 192.168.2.0/24.
Druga wartość (28160) to tzw. Zgłaszana odległość (czasami również ogłaszana odległość ). Ta wartość przedstawia całkowity koszt EIGRP dla mojego sąsiada , aby dostać się do sieci docelowej. Jest to wartość, którą sąsiad dzieli się podczas rozgłaszania trasy do lokalnego routera.
Możliwe jest odwrócenie dekonstrukcji zgłaszanej odległości (czyli kosztu sąsiada) wynoszącej 28160.
Wiemy, że wartość Metryki EIGRP wynosi 256 * (BW + opóźnienie Jeśli weźmiemy 28160 i podzielimy to przez 256, otrzymamy 110. Co oznacza BW + Delay równe 110.
Wiemy również, że pełna ścieżka to dwa łącza 100 Mb / s, więc oczywiście ścieżka sąsiada do sieci docelowej to jedno łącze 100 Mb / s lub całkowita wartość opóźnienia równa 10. Co oznacza, że wartość przepustowości musiała wzrosnąć do 100, co, jak wiemy, ma miejsce przy uwzględnieniu łącza 100 Mb / s.
Co potwierdza, że sąsiad znajduje się w odległości jednego, 100 Mb / s od docelowej sieci – co oznacza, że sąsiad był bezpośrednio połączony z siecią docelową za pomocą łącza 100 Mb / s.
Co w końcu pozwala nam odpowiedzieć na Twoje konkretne pytania. Przynajmniej te, na które nie ma jeszcze odpowiedzi powyżej:
Czy można rzucić jakiekolwiek światło dlaczego jest tak dużo w porównaniu na przykład z OSPF?
Wartość Metric to wartość 32-bitowa, co oznacza, że może to być dowolna liczba z zakresu od 0 do 4,2 ~ miliarda. Metryka jest brana pod uwagę tylko wtedy, gdy sieć ma ten sam rozmiar, a trasa jest pobierana z tego samego protokołu routingu. Oznacza to, że to, co EIGRP traktuje jako metrykę, nigdy nie będzie porównywane z tym, co OSPF uzna za sieć.
Zatem ich względne różnice są nieistotne. Ponieważ jeśli trasa jest wyuczana z OSPF i EIGRP, trasa EIGRP będzie zawsze preferowana, ponieważ jej odległość administracyjna jest mniejsza (90 vs 110).
Rozumiem, że jest to prawdopodobnie prosty przypadek, w którym jabłka i pomarańcze są dwoma oddzielnymi protokołami routingu, ale jestem zainteresowany, aby dowiedzieć się, jak to jest obliczane
Prawidłowo, obliczenia metryki EIGRP i OSPF dotyczą jabłek i pomarańczy – nie należy ich porównywać. Obliczenia EIGRP zostały dokładnie opisane powyżej lub bardziej szczegółowo w artykuł .
Jeśli chcesz sprawdzić obliczenia metryki OSPF, proponuję zadać nowe pytanie.
Jak widać z powyższego, obliczenie to 30720/28160. Druga część tego obliczenia również wydaje się być wykonalną odległością 28160, przy czym pierwsza część to metryka 30720 z tablicy routingu.
Prawie . Pierwsza część to Wykonalna odległość (30720). Druga część to Zgłaszana odległość (28160). Tabela topologii protokołu EIGRP śledzi obie te wartości. Tabela routingu uwzględni tylko wykonalną odległość .
Czy ktoś mógłby mi wyjaśnić cel tego obliczenia?
Śledzenie wykonalnej odległości oraz zgłaszanej odległości do gry z mechanizmem zapobiegania pętlom protokołu EIGRP znanym jako Warunek wykonalności . Jeśli wiele routerów EIGRP współdzieli informacje o tej samej sieci, raportowaną odległość każdej przychodzącej trasy można porównać z tym, co router już zna jako najlepszą możliwą odległość, aby określić, czy nowo poznana ścieżka zawiera pętlę routingu.
I czy ta liczba będzie się zmieniać w czasie? Czy jest to teraz ustalone w kamieniu?
Dane nie zmienią się, dopóki interfejs nie wzrośnie lub nie zmniejszy się, nie zmieni się szybkość interfejsu lub liczba przeskoków zmiana. Ponieważ są to elementy uwzględniane w obliczeniach, są to wartości, które będą miały wpływ na ponowne obliczenie. W stabilnej sieci te wartości zwykle się nie zmieniają i dlatego liczba zazwyczaj się nie zmienia.
Komentarze
- Świetna informacja Eddie. Dzięki obliczeniom ' naprawdę pomogłeś mi to zrozumieć. Tylko jedno pytanie, biorąc pod uwagę wzór ' Przepustowość = 10 ^ 7 / BW w Kb / s ', co oznacza symbol ^ między 10 i 7? Myślałem, że na początku może to być 10 do potęgi 7. Gdybyś mógł to wyjaśnić, byłoby wspaniale. To ' takie drobne rzeczy, które jeszcze bardziej pomagają mi zrozumieć.
- @LucaA Dokładnie to oznacza. 10 ^ 7 = Dziesięć do potęgi siedmiu lub
1
z siedmioma zerami, czyli10,000,000
. Cieszę się, że informacje pomogły. Jeśli zawiera odpowiedzi na Twoje pytania i lub docenisz czas potrzebny na napisanie go, nie ' nie zapomnij zagłosować za i / lub wybrać odpowiedź.- dziękuję za wyjaśnienie mi tego. Teraz ma to sens. Dziękuję za poświęcenie czasu na napisanie wyjaśnień i udzielenie odpowiedzi na moje pytania. ' Zamknę teraz ten wątek.
Odpowiedź
Czy można rzucić trochę światła na to, dlaczego jest on tak wysoki na przykład w porównaniu z OSPF?
Po prostu nie można porównywać metryk między różnymi protokołami routingu. To jest przyczyna powstania dystansu administracyjnego.
Czy ktoś mógłby mi wyjaśnić cel tego obliczenia?
EIGRP używa złożonego obliczenia w celu uzyskania metryki. Obejmuje przepustowość, opóźnienie, niezawodność, obciążenie i MTU łącza, ale domyślnie wykorzystuje tylko przepustowość i opóźnienie. Obliczenia mogą obejmować wiele rzeczy, których inne protokoły routingu po prostu nie uwzględniają, dzięki czemu można uzyskać bardzo szczegółowe dane określające najlepszą ścieżkę.
I czy ta liczba będzie się zmieniać w czasie? A może jest to teraz utrwalone?
Metryka protokołu EIGRP nie zmieniła się od czasu IGRP (jest 256 razy większa od IGRP), więc jest mało prawdopodobne, aby kiedykolwiek się to zmieniło.
Firma Cisco ma wiele dokumentów dostępnych w protokole EIGRP. Na przykład Enhanced Interior Gateway Routing Protocol :
Metryki EIGRP
Protokół EIGRP wykorzystuje minimalną przepustowość na ścieżce do sieci docelowej i całkowite opóźnienie do obliczania metryk routingu. Chociaż można skonfigurować inne metryki, nie zalecamy tego, ponieważ może to powodować pętle routingu w sieci. a metryki opóźnienia są określane na podstawie wartości skonfigurowanych na interfejsach routerów w pa do sieci docelowej.
Na przykład na rysunku 2 poniżej router pierwszy oblicza najlepszą ścieżkę do sieci A.
Zaczyna się od dwóch reklam dla tej sieci: jednej przez router czwarty, o minimalnej przepustowości 56 i całkowite opóźnienie 2200; a drugi przez router trzeci, z minimalną szerokością pasma 128 i opóźnieniem 1200. Router pierwszy wybiera ścieżkę z najniższą metryką.
Obliczmy metryki. Protokół EIGRP oblicza metrykę całkowitą, skalując metryki przepustowości i opóźnienia.EIGRP używa następującego wzoru do skalowania przepustowości:
bandwidth = (10000000/bandwidth(i)) * 256
gdzie przepustowość (i) jest najmniejsza przepustowość wszystkich interfejsów wychodzących na trasie do sieci docelowej wyrażona w kilobitach.
EIGRP używa następującego wzoru do skalowania opóźnienia:
delay = delay(i) * 256
gdzie opóźnienie (i) jest sumą opóźnień skonfigurowanych na interfejsach, na trasie do sieci docelowej, w dziesiątkach mikrosekundy. Opóźnienie pokazane w show ip eigrp topology lub pokaż interfejs polecenia są podawane w mikrosekundach, więc przed użyciem ich w tej formule musisz podzielić przez 10. W tym artykule używamy opóźnienia, które jest skonfigurowane i pokazane w interfejsie.
EIGRP używa tych skalowanych wartości do określenia całkowitej metryki w sieci:
metric = ([K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]) * 256
Uwaga: Tych K wartości należy używać po dokładnym zaplanowaniu. Niedopasowane wartości K uniemożliwiają zbudowanie relacji sąsiada, co może spowodować niepowodzenie konwergencji sieci.
Uwaga: Jeśli
K5 = 0
, formuła redukuje się doMetric = ([k1 * bandwidth + (k2 * bandwidth)/(256 - load) + k3 * delay]) * 256
.Domyślne wartości K to:
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
Aby zachować domyślne zachowanie, możesz uprościć formułę w następujący sposób:
metric = bandwidth + delay
Routery Cisco nie wykonują obliczeń zmiennoprzecinkowych, więc na każdym etapie obliczeń należy zaokrąglić w dół do najbliższej liczby całkowitej, aby poprawnie obliczyć metryki. W tym przykładzie całkowity koszt za pośrednictwem routera 4 wynosi:
W tym przykładzie całkowity koszt za pośrednictwem routera 4 wynosi:
minimum bandwidth = 56k total delay = 100 + 100 + 2000 = 2200 [(10000000/56) + 2200] x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376
Całkowity koszt za pośrednictwem routera nr 3 to:
minimum bandwidth = 128k total delay = 100 + 100 + 1000 = 1200 [(10000000/128) + 1200] x 256 = (78125 + 1200) x 256 = 79325 x 256 = 20307200
Zatem, aby dotrzeć do sieci A, router pierwszy wybiera trasę przez router trzeci.
Zwróć uwagę, że użyte przez nas wartości przepustowości i opóźnienia to te skonfigurowane w interfejsie, przez który router osiąga następny przeskok do sieci docelowej. Na przykład router 2 ogłaszał sieć A z opóźnieniem skonfigurowanym w swoim interfejsie Ethernet; Router 4 dodał opóźnienie skonfigurowane w swojej sieci Ethernet, a router 1 dodał opóźnienie skonfigurowane na swoim porcie szeregowym.
Twoje pasmo to 100000K
więc przepustowość wykorzystywana do obliczeń to 10000000 / 100000 = 100
. Opóźnienie wynosi 200
mikrosekund, więc opóźnienie używane w obliczeniach wynosi 20
. To prowadzi nas do 120 * 256 = 30720
, a to jest wartość, którą zgłaszasz.
Podłączając swoje liczby do przykładu podanego przez Cisco powyżej:
[(10000000/100000) + 20] x 256 = (100 + 20) x 256 = 120 x 256 = 30720
Komentarze
- Liczyłem na twoje własne wyjaśnienie. Zamiast pokazywać link do tego, co ' już tam jest. Szukam ' uproszczonego wyjaśnienia, jak to wszystko działa. W każdym razie dziękuję za Twój wkład.
- @LucaA, Jeśli zauważysz, odpowiedziałem na zadane przez Ciebie pytania. Czego jeszcze nie ' nie rozumiesz?
Odpowiedź
Wiem, że 90 to odległość administracyjna, ale wskaźnik 30720 wydaje się wysoki po przejściu przez szybki Ethernet tylko do jednego przeskoku. Czy można rzucić trochę światła na to, dlaczego jest to tak wysokie na przykład w porównaniu z OSPF? Rozumiem, że jest to prawdopodobnie prosty przypadek, w którym jabłka i pomarańcze są dwoma oddzielnymi protokołami routingu, ale interesuje mnie, jak to jest obliczane.
Masz rację – to tak, jakby porównywać jabłka i pomarańcze 🙂 Na przykład maksymalna metryka RIP to 15, ale nic nie znaczy w porównaniu z metryką EIGRP równą 30720.
W odniesieniu do Wskaźnik EIGRP jest tak wysoki – po części przyczyną jest to, że protokół EIGRP mnoży swoją metrykę przez 256, aby zapewnić zgodność wsteczną z IGRP (poprzednikiem EIGRP). Zgodnie z wpisem w Wikipedii :
IGRP używa tej samej podstawowej formuły do obliczania ogólnej metryki, jedyną różnicą jest to, że w IGRP formuła nie zawiera współczynnik skalowania równy 256. W rzeczywistości ten współczynnik skalowania został wprowadzony jako prosty sposób ułatwienia wstecznej kompatybilności między protokołami EIGRP i IGRP: w IGRP ogólna metryka to wartość 24-bitowa, podczas gdy EIGRP używa wartości ue do wyrażenia tego wskaźnika.Mnożąc wartość 24-bitową przez współczynnik 256 (efektywnie przesuwając ją o 8 bitów w lewo), wartość jest rozszerzana do 32 bitów i odwrotnie. W ten sposób redystrybucja informacji między protokołami EIGRP i IGRP polega po prostu na podzieleniu lub pomnożeniu wartości metryki przez współczynnik 256, co jest wykonywane automatycznie.
Jeśli chodzi o sposób metryka jest obliczana, jakiś czas temu napisałem na ten temat szczegółowy post na blogu . Krótko mówiąc, metryka jest obliczana za pomocą następującego wzoru:
256 * [(10000000 /) + (/ 10)]
Gdy sprawdzimy podane przez Ciebie liczby (Metryka wektora: minimalna przepustowość to 100000 Kbit Całkowite opóźnienie wynosi 200 mikrosekund) dzięki tej formule otrzymujemy poprawną metrykę:
10000000/100000 = 100
200/10 = 20
100 + 20 = 120
256 * 120 = 30720
Komentarze
- Również dobra informacja! ' sprawdzę Twój szczegółowy post na blogu, aby uzyskać dalsze wyjaśnienia. Dobrze jest mieć wiele źródeł, jeśli chodzi o takie rzeczy. Dzięki.
- Nie martw się @LucaA. Daj mi znać, jeśli masz inne pytania, a ' z przyjemnością pomogę.
show ip eigrp topology 192.169.2.0/24
– to wyjście będzie pomocne, gdy plik odpowiedz na pytanie.