EIGRP metrisk forklaring
On december 31, 2020 by adminJeg leder efter en forståelse af, hvordan metrics er struktureret inden for EIGRP, dette inkluderer routingtabellen og også topologitabellen. “Jeg er sikker på, at jeg ikke er den eneste, der finder begreberne EIGRP meget vanskelige at forstå.
Mit lille netværk er oprettet, og jeg har aktiveret en AS på 1 på begge forbindelser til en EIGRP naboforhold. Dette er output fra både routingtabellen og topologitabellen:
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
Jeg ved, at 90 er den administrative afstand, men metricen på 30720 virker høj i gang over hurtig ethernet til kun et humle. Kunne der kastes lys over, hvorfor dette er så højt i forhold til for eksempel OSPF? Jeg forstår, at dette sandsynligvis er et simpelt tilfælde, hvor æbler og appelsiner er to separate routingsprotokoller, men jeg er interesseret i at vide, hvordan dette beregnes.
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
Som du kan se af ovenstående, er beregningen 30720/28160. Den anden del af denne beregning synes også at være den mulige afstand på 28160, hvor den første del er metricen 30720 fra routingtabellen.
Kunne nogen forklare mig formålet med denne beregning? Og vil dette tal ændre sig over tid? Eller er dette nu sat i sten?
Tak på forhånd.
Kommentarer
Svar
EIGRP-metrisk formel
EIGRP-metricen er en kombination af et mål for hele stiens kumulative forsinkelse og den minimale båndbredde over hele stien. Forsinkelsesværdien tildeles værdi til hvert “hop” baseret på denne grænseflades hastighed.
Metricen kan også omfatte factoring af grænseflades belastning og pålidelighed, men dette er ofte deaktiveret.
Dette styres alt sammen af det, der er kendt som “K-værdier”, hver “k-værdi” styrer vejret, hvert af følgende betragtes i beregningen af EIGRP-metricen.
K1 = Bandwidth K2 = Load K3 = Delay K4 & K5 = Reliability
Som standard er K1 og K3-værdier er sat til 1, og K2 / K4 / K5-værdier er indstillet til 0. Disse værdier kan derefter tilsluttes den fulde (ret komplicerede) EIGRP-sammensatte metriske beregning:
256 * { K1*BW + [(K2*BW)/(256-load)] + (K3*delay) } * { K5/(reliability+K4) }
Hvis du omskriver det med forskellig afstand og tilføjer smukke farver og anvender standard K-værdier, kan du se, hvordan det bliver forenklet til bare Forsinkelse og båndbredde:
Hvilket betyder den forenklede formel med kun de anvendte standard K-værdier ender ved at være dette:
256 * (Bandwidth + Delay)
Værdier for båndbredde og forsinkelser
Båndbreddeværdien er baseret på minimumbåndbreddekæden på tværs af hele stien . Men fordi metriske værdier i enhver routingprotokol betragter en lavere værdi som overlegen, skal en formel bruges til at konvertere en højere båndbredde til en lavere resulterende metrics. Formlen er som følger:
Bandwidth = 10^7 / BW in Kbps
Så en sti med et minimum båndbredde på 100 Mbps link, svarer til 100.000 Kbps, og beregningen ser ud som:
Bandwidth value = 10,000,000 / 100,000 = 100 Delay
Forsinkelse antages at være en beregning af den tid, det tager lidt at blive transmitteret til en tilstødende nabo. Men i virkeligheden er det simpelthen en konstant værdi baseret på grænsefladen båndbredde. Men da dette faktor er additiv, det fungerer i det væsentlige som et hopantal. Eller måske skulle vi sige et smart hop-antal , da det også påvirker hvert humles båndbredde.
Den fulde liste over hver interface-hastighed og forsinkelsesværdi kan findes her:
https://tools.ietf.org/html/draft-savage-eigrp-00#section-5.5.1.2
Bemærk, at denne tabel viser en værdi i Picosekunder (en billiontedel af et sekund), og forsinkelsesværdien i show interface
vises i usec eller mikrosekunder (en milliontedel af et sekund).
Forsinkelsesværdien, der anvendes i formlen, er mikrosekundværdien divideret med 10. For eksempel en sti, der består af to links, der hver er 100 Mbps svarer til en samlet forsinkelse i usec på 200:
Delay Value = 200 / 10 = 20
Endelig beregning
Vi kan tage båndbreddeværdien bestemt ovenfor (100) og forsinkelsesværdien bestemt ovenfor (20) og plug dem ind i forenklet formel for at give os den endelige EIGRP-metrisk for et link med en minimumsbåndbredde på 100 Mbps, og hvem der er fuld sti krydser to 100 Mbps l blæk:
EIGRP Metric = 256 * (Bandwidth + Delay) EIGRP Metric = 256 * (100 + 20) EIGRP Metric = 256 * 120 EIGRP Metric = 30720
Hvilket interessant nok er den nøjagtige samme værdi, som du har angivet i dit spørgsmål:
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
Mulig afstand vs rapporteret afstand
Hvilket bringer os tilbage til et andet koncept, som du måske var forvirret over. Det har nemlig at gøre med output til denne kommando:
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
Der er to værdier for ruten til 192.168.2.0/24
via 192.168.1.2
: 30720 og 28160 . At forstå disse to værdier kræver forståelse af to udtryk, som EIGRP bruger til at beskrive omkostninger .
Den første værdi er det, der kaldes Mulig afstand . Dette er de samlede EIGRP-omkostninger til den endelige destination. Den værdi, vi har beregnet af 30720 ovenfor, er den mulige afstand til 192.168.2.0/24-netværket.
Den anden værdi (28160) er det, der er kendt som Rapporteret afstand (også undertiden Annonceret afstand ). Denne værdi repræsenterer de samlede EIGRP-omkostninger for min nabo for at komme til målnetværket. Dette er den værdi, som naboen deler, når han annoncerer ruten til den lokale router.
Det er muligt at reversere dekonstruktionen af den rapporterede afstand (også kaldet naboens omkostning) på 28160.
Vi ved, at værdien for EIGRP Metric er 256 * (BW + Delay Hvis vi tager 28160 og deler det med 256, får vi 110. Hvilket betyder, at BW + Delay svarer til 110.
Vi ved også, at den fulde sti er to 100mbps links, så naturligvis er naboens sti til målnetværket et 100 Mbps-link eller en samlet forsinkelsesværdi på 10. Hvilket betyder, at båndbreddeværdien skal have tilføjet op til 100, hvilket vi ved, at den gør, når man tager et 100 Mbps-link i betragtning.
Hvilket bekræfter, at naboen er en, 100 Mbps hop væk fra målnetværket – hvilket betyder, at naboen var direkte forbundet til målnetværket med et 100 Mbps link.
Som endelig lader os tale med dine specifikke spørgsmål. I det mindste dem, der ikke allerede er blevet besvaret ovenfor:
Kunne der kaste lys over hvorfor er dette så højt i forhold til OSPF for eksempel?
Den metriske værdi er en 32 bit værdi, hvilket betyder, at den kan være et vilkårligt tal mellem 0 og 4,2 ~ milliarder. Metricen overvejes kun, hvis netværket har samme størrelse, og ruten læres af den samme routingprotokol. Hvilket betyder, hvad EIGRP betragter som en metrik, aldrig sammenlignes med, hvad OSPF vil betragte som et netværk.
Så deres relative forskelle er irrelevante. For hvis en rute læres af OSPF og EIGRP, vil EIGRP-ruten altid være at foretrække, fordi den administrative afstand er lavere (90 vs 110).
Jeg forstår, at dette sandsynligvis er et simpelt tilfælde af æbler og appelsiner, der er to separate routingsprotokoller, men jeg er interesseret i at vide, hvordan dette beregnes
Korrekt, EIGRP- og OSPF-metriske beregninger er æbler og appelsiner – ikke sammenlignes. EIGRP-beregningen er beskrevet grundigt ovenfor eller mere detaljeret i dette artikel .
Hvis du vil køre ned på beregningen af OSPF-metric, vil jeg foreslå at stille et nyt spørgsmål.
Som du kan se af ovenstående, er beregningen 30720/28160. Den anden del af denne beregning synes også at være den mulige afstand på 28160, hvor den første del er metricen 30720 fra routingtabellen.
Næsten . Den første del er Mulig afstand (30720).Den anden del er Rapporteret afstand (28160). EIGRP-topologitabellen holder styr på begge disse værdier. Og routingtabellen tager kun Mulig afstand i betragtning.
Kan nogen forklare mig formålet med denne beregning?
At holde styr på den mulige afstand såvel som den rapporterede afstand kommer i spil med en sløjfeforebyggelsesmekanisme af EIGRP kendt som Feasibility Condition . Hvis flere EIGRP-routere deler information om det samme netværk, kan den rapporterede afstand for hver indkommende rute sammenlignes med, hvad routeren allerede kender som sin bedste mulige afstand for at bestemme, om den nyindlærede sti inkluderer en routing-loop.
Og vil dette tal ændre sig over tid? Eller er dette nu sat i sten?
Metricen ændres ikke, medmindre grænsefladen går op eller ned, interface-hastigheden ændres eller antallet af humle lave om. Da det er det, der går ind i beregningen, er det de værdier, der vil påvirke en genberegning. I et stabilt netværk vil disse typisk ikke ændre sig, og derfor vil tallet typisk ikke ændre sig.
Kommentarer
- God information Eddie. Du ‘ har virkelig hjulpet mig med at forstå dette meget bedre med beregningerne. Bare et spørgsmål dog med formlen ‘ Båndbredde = 10 ^ 7 / BW i Kbps ‘, hvad betyder ^ symbolet mellem 10 og 7? Jeg troede, det kunne være 10 til 7 i starten. Hvis du kunne klare det, ville det være godt. Det ‘ er små ting som dette, der hjælper min forståelse endnu mere.
- @LucaA Det er præcis, hvad det betyder. 10 ^ 7 = Ti i kraft af syv, eller en
1
med syv nuller, aka10,000,000
. Glad for, at oplysningerne hjalp. Hvis det besvarer dine spørgsmål, og hvis du værdsætter den tid, det tog at skrive det, skal du ikke ‘ glemme at opstemme og / eller vælge et svar.- tak for at rydde op for mig. Det giver mening nu. Jeg sætter pris på at du tog dig tid til at skrive forklaringen og besvare mine spørgsmål. Jeg ‘ Jeg lukker denne tråd nu.
Svar
Kunne der kaste lys over, hvorfor dette er så højt i forhold til OSPF for eksempel?
Du kan simpelthen ikke sammenligne metrics mellem forskellige routingprotokoller. Det er grunden til oprettelsen af administrativ afstand.
Kan nogen forklare mig formålet med denne beregning?
EIGRP bruger en kompleks beregning til at komme med sin metric. Det involverer båndbredde, forsinkelse, pålidelighed, belastning og MTU for et link, men som standard bruger det kun båndbredde og forsinkelse. Beregningen kan omfatte mange ting, som andre routingsprotokoller simpelthen ikke inkluderer, så du kan få en meget detaljeret måling, som er den bedste vej.
Og vil dette tal ændre sig over tid? Eller er dette nu sat i sten?
Metricen for EIGRP er ikke ændret siden IGRP (det er 256 gange IGRP-værdi), så det er usandsynligt, at det nogensinde ændres.
Cisco har mange dokumenter tilgængelige på EIGRP. F.eks. Enhanced Interior Gateway Routing Protocol :
EIGRP-metrics
EIGRP bruger den minimale båndbredde på stien til et destinationsnetværk og den samlede forsinkelse til beregning af routing-metrics. Selvom du kan konfigurere andre metrics, anbefaler vi det ikke, da det kan forårsage routing-loops i dit netværk. Båndbredden og forsinkelsesmålinger bestemmes ud fra værdier, der er konfigureret på grænsefladerne til routere i pa til destinationsnetværket.
For eksempel beregner Router One i figur 2 den bedste vej til netværk A.
Det starter med de to reklamer for dette netværk: en gennem Router Four med en minimum båndbredde på 56 og en samlet forsinkelse på 2200; og den anden gennem Router Three med en minimum båndbredde på 128 og en forsinkelse på 1200. Router One vælger stien med den laveste metric.
Lad os beregne metrics. EIGRP beregner den samlede metrik ved at skalere båndbredde- og forsinkelsesmålingerne.EIGRP bruger følgende formel til at skalere båndbredden:
bandwidth = (10000000/bandwidth(i)) * 256
hvor båndbredde (i) er mindst båndbredde for alle udgående grænseflader på ruten til destinationsnetværket repræsenteret i kilobit.
EIGRP bruger følgende formel til at skalere forsinkelsen:
delay = delay(i) * 256
hvor forsinkelse (i) er summen af de forsinkelser, der er konfigureret på grænsefladerne, på ruten til destinationsnetværket, i titusinder af mikrosekunder. Forsinkelsen som vist i viser ip eigrp topologi eller viser interface kommandoer er i mikrosekunder, så du skal dele med 10, før du bruger det i denne formel. I hele dette papir bruger vi forsinkelse, da den er konfigureret og vist på grænsefladen.
EIGRP bruger disse skalerede værdier til at bestemme den samlede metric til netværket:
metric = ([K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]) * 256
Bemærk: Disse K værdier skal bruges efter omhyggelig planlægning. Manglende K værdier forhindrer, at der opbygges et naboforhold, hvilket kan få dit netværk til at undlade at konvergere.
Bemærk: Hvis
K5 = 0
, reduceres formlen tilMetric = ([k1 * bandwidth + (k2 * bandwidth)/(256 - load) + k3 * delay]) * 256
.Standardværdierne for K er:
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
For standardadfærd kan du forenkle formlen som følger:
metric = bandwidth + delay
Cisco routere udfører ikke matematik med flydende punkt, så på hvert trin i beregningen skal du afrunde til det nærmeste heltal for at beregne målingerne korrekt. I dette eksempel er de samlede omkostninger gennem router fire:
I dette eksempel er de samlede omkostninger gennem router fire:
minimum bandwidth = 56k total delay = 100 + 100 + 2000 = 2200 [(10000000/56) + 2200] x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376
Og de samlede omkostninger gennem Router Three er:
minimum bandwidth = 128k total delay = 100 + 100 + 1000 = 1200 [(10000000/128) + 1200] x 256 = (78125 + 1200) x 256 = 79325 x 256 = 20307200
Så for at nå Netværk A vælger Router One ruten gennem Router tre.
Bemærk, at båndbredde og forsinkelsesværdier, vi brugte, er dem, der er konfigureret på grænsefladen, hvorigennem routeren når sit næste hop til destinationsnetværket. For eksempel annoncerede Router netværk A med forsinkelsen konfigureret på Ethernet-grænsefladen; Router Four tilføjede den forsinkelse, der er konfigureret på Ethernet, og Router One tilføjede den forsinkelse, der er konfigureret på dens serie.
Din båndbredde er 100000K
så båndbredden beregningen bruger er 10000000 / 100000 = 100
. Forsinkelsen er 200
mikrosekunder, så forsinkelsen beregningen bruger er 20
. Dette bringer os til 120 * 256 = 30720
, og det er den værdi, du rapporterer.
Tilslut dine numre til eksemplet, som Cisco har givet ovenfor:
[(10000000/100000) + 20] x 256 = (100 + 20) x 256 = 120 x 256 = 30720
Kommentarer
- Jeg håbede på din egen forklaring. I stedet for at vise mig et link til, hvad ‘ allerede findes derude. Jeg ‘ Jeg leder efter en forenklet forklaring på, hvordan alt dette fungerer. Tak alligevel for dit input.
- @ LucaA, hvis du bemærker det, besvarede jeg faktisk de spørgsmål, du stillede. Hvad er det ellers, du ikke ‘ ikke forstår?
Svar
Jeg ved, at 90 er den administrative afstand, men metricen 30720 synes høj at gå over hurtig ethernet til kun et hop. Kunne der kastes lys over, hvorfor dette er så højt i forhold til for eksempel OSPF? Jeg forstår, at dette sandsynligvis er et simpelt tilfælde af æbler og appelsiner, der er to separate routingsprotokoller, men jeg er interesseret i at vide, hvordan dette beregnes.
Du har ret – det er som at sammenligne æbler og appelsiner 🙂 For eksempel er RIPs maksimale metric 15, men betyder ikke noget sammenlignet med en EIGRP-metric på 30720.
Med hensyn til EIGRP-metric er så høj – en del af årsagen er, at EIGRP multiplicerer sin metric med 256 for at være bagudkompatibel med IGRP (EIGRPs forgænger). I henhold til denne Wikipedia-post :
IGRP bruger den samme grundlæggende formel til beregning af den samlede metric, den eneste forskel er, at i IGRP indeholder formlen ikke skaleringsfaktor på 256. Faktisk blev denne skaleringsfaktor introduceret som et simpelt middel til at lette bagudkompatibilitet mellem EIGRP og IGRP: I IGRP er den samlede metric en 24-bit værdi, mens EIGRP bruger en 32-bit val ue til at udtrykke denne metric.Ved at multiplicere en 24-bit værdi med faktoren 256 (effektivt bit-forskydning af den 8 bit til venstre) udvides værdien til 32 bit og omvendt. På denne måde involverer omfordeling af information mellem EIGRP og IGRP simpelthen at dividere eller multiplicere metrisk værdi med en faktor på 256, hvilket gøres automatiskall
Med hensyn til metricen beregnes, jeg skrev et detaljeret blogindlæg om det for en lille stund tilbage. Det korte er, at metricen beregnes ved hjælp af denne formel:
256 * [(10000000 /) + (/ 10)]
Når vi kører de tal, du har angivet (Vektormetrik: Minimum båndbredde er 100000 Kbit Samlet forsinkelse er 200 mikrosekunder) gennem denne formel får vi den korrekte metric:
10000000/100000 = 100
200/10 = 20
100 + 20 = 120
256 * 120 = 30720
Kommentarer
- Også god information! Jeg ‘ Tjek dit detaljerede blogindlæg for en yderligere forklaring. Godt at have flere kilder, når det kommer til ting som dette. Tak.
- Ingen bekymringer overhovedet @LucaA. Lad mig vide, hvis du har andre spørgsmål, og jeg ‘ vil gerne hjælpe.
show ip eigrp topology 192.169.2.0/24
– den output hjælper når jeg er besvar dit spørgsmål.