EIGRP-metrisk forklaring
On desember 31, 2020 by adminJeg ser etter forståelse av hvordan beregningene er strukturert i EIGRP, dette inkluderer rutetabellen, og også topologitabellen. I Jeg er ikke den eneste som synes begrepene EIGRP er vanskelig å forstå.
Det lille nettverket mitt er opprettet, og jeg har aktivert en AS på 1 på begge tilkoblingene for en EIGRP naboforhold. Dette er utdata fra både rutetabellen 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 vet at 90 er den administrative avstanden, men beregningen 30720 virker høy over raskt Ethernet til bare ett humle. Kan det kastes noe lys over hvorfor dette er så høyt i forhold til for eksempel OSPF? Jeg forstår at dette sannsynligvis er et enkelt tilfelle av at epler og appelsiner er to separate rutingsprotokoller, men jeg er interessert i å vite 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 fra ovenstående, er beregningen 30720/28160. Den andre delen av denne beregningen ser også ut til å være den mulige avstanden på 28160, med den første delen som beregningen 30720 fra rutetabellen.
Kan noen forklare meg formålet med denne beregningen? Og vil dette tallet endre seg over tid? Eller er dette nå satt i stein?
Takk på forhånd.
Kommentarer
- Hei Luca. Disse to artiklene svarer nøyaktig på spørsmålene dine: EIGRP Metric og EIGRP Terminology . Jeg ‘ Jeg vil oppsummere og gi et svar på spørsmålene dine spesifikt i denne tråden, men legg først utdataene fra div id = «a568e25506»>
– den utgangen vil hjelpe når jeg er en svare på spørsmålet ditt.
Svar
EIGRP Metric Formula
EIGRP Metric er en kombinasjon av et mål på hele banens kumulative forsinkelse, og minimum båndbredde over hele banen. Forsinkelsesverdien er verdien tildelt hver «hop» basert på grensesnittets hastighet.
Beregningen kan inkluderer også faktorering av grensesnittets belastning og pålitelighet, men dette blir ofte deaktivert.
Dette styres alt av det som er kjent som «K-verdier», blir hver «k-verdi» kontrollert vær, hvert av følgende blir vurdert i beregningen av EIGRP.
K1 = Bandwidth K2 = Load K3 = Delay K4 & K5 = Reliability
Som standard er K1 og K3-verdier er satt til 1, og K2 / K4 / K5-verdiene er satt til 0. Disse verdiene kan deretter plugges inn i den fullstendige (ganske kompliserte) beregningen av EIGRP-sammensatt metrisk:
256 * { K1*BW + [(K2*BW)/(256-load)] + (K3*delay) } * { K5/(reliability+K4) }
Hvis du skriver om det med forskjellig avstand og legger til fine farger og bruker standard K-verdier, kan du se hvordan det blir forenklet å bare forsinke og båndbredde:
Hvilket betyr den forenklede formelen, med bare de standard K-verdiene som brukes, ender opp som dette:
256 * (Bandwidth + Delay)
Verdier for båndbredde og forsinkelser
Verdien for båndbredde er basert på minimum båndbreddekobling over hele banen . Men fordi beregningsverdier i en hvilken som helst ruteprotokoll anser en lavere verdi for å være overlegen, må en formel brukes til å konvertere høyere båndbredde til lavere resulterende beregninger. Formelen er som følger:
Bandwidth = 10^7 / BW in Kbps
Så en sti med et minimum båndbredde på 100 Mbps link, tilsvarer 100.000 Kbps, og beregningen vil se ut som:
Bandwidth value = 10,000,000 / 100,000 = 100 Delay
Forsinkelse skal være en beregning av hvor lang tid det tar å overføres til en tilstøtende nabo. Men i virkeligheten er det ganske enkelt en konstant verdi basert på grensesnittets båndbredde. Siden dette faktor er additiv, fungerer den egentlig som et humltall. Eller kanskje vi skal si et smart humletall , siden det også påvirker hver humles båndbredde.
Den komplette listen over hver grensesnitthastighet og forsinkelsesverdi finner du her:
https://tools.ietf.org/html/draft-savage-eigrp-00#section-5.5.1.2
Vær oppmerksom på at denne tabellen viser en verdi i Picosekunder (en billiontedel av et sekund), og forsinkelsesverdien i show interface
vises i usec, eller mikrosekunder (en milliontedel av et sekund).
Forsinkelsesverdien som brukes i formelen er mikrosekundverdien delt på 10. For eksempel en bane som består av to lenker som hver er 100 Mbps vil tilsvare en total forsinkelse på 200:
Delay Value = 200 / 10 = 20
Endelig beregning
Vi kan ta båndbreddeverdien bestemt ovenfor (100) og forsinkelsesverdien bestemt ovenfor (20) og pluggen dem inn i forenklet formel for å gi oss den endelige EIGRP-beregningen for en kobling med en minste båndbredde på 100 Mbps, og hvem som er full vei krysser to 100 Mbps l blekk:
EIGRP Metric = 256 * (Bandwidth + Delay) EIGRP Metric = 256 * (100 + 20) EIGRP Metric = 256 * 120 EIGRP Metric = 30720
Hvilket interessant nok er nøyaktig den samme verdien du oppga i spørsmålet ditt:
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 avstand vs rapportert avstand
Som gir oss tilbake til et annet konsept som du kanskje har vært forvirret om. Det har nemlig å gjøre med utdataene til denne kommandoen:
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
Det er to verdier gitt for ruten til 192.168.2.0/24
via 192.168.1.2
: 30720 og 28160 . Forståelse av disse to verdiene krever forståelse to termer som EIGRP bruker for å beskrive kostnad .
Den første verdien er det som er kjent som Mulig avstand . Dette er den totale EIGRP-kostnaden til den endelige destinasjonen. Verdien vi beregnet av 30720 ovenfor er den mulige avstanden til nettverket 192.168.2.0/24.
Den andre verdien (28160) er det som er kjent som Rapportert avstand (også noen ganger Annonsert avstand ). Denne verdien representerer den totale EIGRP-kostnaden for min nabo for å komme til målnettverket. Dette er verdien naboen deler når han annonserer ruten til den lokale ruteren.
Det er mulig å reversere dekonstruksjon av den rapporterte avstanden (aka, naboens kostnad) -verdi på 28160.
Vi vet at verdien for EIGRP Metric er 256 * (BW + Delay Hvis vi tar 28160 og deler det med 256, får vi 110. Hvilket betyr at BW + Delay tilsvarer 110.
Vi vet også at hele banen er to 100 Mbps lenker, så åpenbart er nabobanen til målnettverket en 100 Mbps-kobling, eller en total forsinkelsesverdi på 10. Hvilket betyr at båndbreddeverdien må ha lagt opp til 100, noe vi vet at den gjør når vi tar en 100 Mbps-kobling.
Som bekrefter naboen er en, 100 Mbps hopp vekk fra målnettverket – noe som betyr at naboen var direkte koblet til målnettverket med en 100 Mbps kobling.
Som til slutt lar oss snakke med dine spesifikke spørsmål. I det minste de som ikke allerede er besvart ovenfor:
Kan noe lys kastes på hvorfor er dette så høyt sammenlignet med OSPF for eksempel?
Metriske verdien er en 32-biters verdi, noe som betyr at den kan være et hvilket som helst tall mellom 0 og 4,2 ~ milliarder. Metrikken tas bare i betraktning hvis nettverket har samme størrelse, og ruten læres av den samme ruteprotokollen. Noe som betyr at det EIGRP anser som en beregning vil aldri bli sammenlignet med hva OSPF vil vurdere som et nettverk.
Så deres relative forskjeller er irrelevante. For hvis en rute læres av OSPF og EIGRP, vil EIGRP-ruten alltid være foretrukket fordi den administrative avstanden er lavere (90 mot 110).
Jeg forstår at dette sannsynligvis er et enkelt tilfelle av at epler og appelsiner er to separate rutingsprotokoller, men jeg er interessert i å vite hvordan dette beregnes
Korrekt, beregningene av EIGRP og OSPF er epler og appelsiner – som ikke skal sammenlignes. EIGRP-beregningen er beskrevet grundig ovenfor, eller mer detaljert i dette artikkel .
Hvis du vil kjøre OSPF-beregningen, foreslår jeg at du stiller et nytt spørsmål.
Som du kan se fra ovenstående, er beregningen 30720/28160. Den andre delen av denne beregningen ser også ut til å være den mulige avstanden på 28160, hvor den første delen er beregningen 30720 fra rutetabellen.
Nesten . Den første delen er Mulig avstand (30720).Den andre delen er Rapportert avstand (28160). EIGRP-topologitabellen vil holde oversikt over begge disse verdiene. Og rutetabellen tar bare Mulig avstand i betraktning.
Kan noen forklare meg formålet med denne beregningen?
Å holde rede på den mulige avstanden så vel som den rapporterte avstanden kommer i spill med en sløyfeforebyggende mekanisme for EIGRP kjent som Feasibility Condition . Hvis flere EIGRP-rutere deler informasjon om det samme nettverket, kan den rapporterte avstanden for hver innkommende rute sammenlignes med det ruteren allerede vet som sin beste mulige avstand for å avgjøre om den nylig innlærte banen inkluderer en rutesløyfe.
id = «9a2fe92f06»>
Og vil dette tallet endre seg over tid? Eller er dette nå satt i stein?
Beregningen endres ikke med mindre grensesnittet går opp eller ned, grensesnitthastigheten endres eller antall humle endring. Siden det er det som går inn i beregningen, er det verdiene som vil påvirke en omberegning. I et stabilt nettverk vil disse vanligvis ikke endres, og derfor vil ikke figuren vanligvis endres.
Kommentarer
- Stor informasjon Eddie. Du ‘ har virkelig hjulpet meg til å forstå dette mye bedre med beregningene. Bare ett spørsmål, men med formelen ‘ Båndbredde = 10 ^ 7 / BW i Kbps ‘, hva betyr ^ symbolet mellom 10 og 7? Jeg trodde det kan være 10 til 7 i begynnelsen. Hvis du kunne klare det, ville det vært bra. Det ‘ er små ting som dette som hjelper meg med å forstå enda mer.
- @LucaA Det er akkurat det det betyr. 10 ^ 7 = Ti til syv, eller en
1
med syv nuller, aka10,000,000
. Glad at informasjonen hjalp. Hvis det svarer på spørsmålene dine, eller hvis du setter pris på tiden det tok å skrive det, må du ikke ‘ ikke glemme å stemme og / eller velge et svar. - takk for å rydde opp for meg. Det gir mening nå. Jeg setter pris på at du tok deg tid til å skrive forklaringen og svare på spørsmålene mine. Jeg ‘ Jeg avslutter denne tråden nå.
Svar
Kan noe lys kastes over hvorfor dette er så høyt i forhold til OSPF for eksempel?
Du kan ganske enkelt ikke sammenligne beregninger mellom forskjellige rutingsprotokoller. Det er årsaken til opprettelsen av administrativ avstand.
Kan noen forklare meg formålet med denne beregningen?
EIGRP bruker en kompleks beregning for å komme opp med beregningen. Det involverer båndbredde, forsinkelse, pålitelighet, belastning og MTU til en lenke, men som standard bruker den bare båndbredde og forsinkelse. Beregningen kan omfatte mange ting som andre rutingsprotokoller ganske enkelt ikke inkluderer, slik at du kan få en veldig detaljert beregning som er den beste banen.
Og vil dette tallet endre seg over tid? Eller er dette nå satt i stein?
Beregningen for EIGRP har ikke endret seg siden IGRP (det er 256 ganger IGRP-verdi), så det er lite sannsynlig at det noen gang vil endres.
Cisco har mange dokumenter tilgjengelig på EIGRP. For eksempel Enhanced Interior Gateway Routing Protocol :
EIGRP-beregninger
EIGRP bruker minimum båndbredde på banen til et destinasjonsnettverk og den totale forsinkelsen for å beregne rutingberegninger. Selv om du kan konfigurere andre beregninger, anbefaler vi det ikke, da det kan føre til rutingløkker i nettverket ditt. og forsinkelsesmålinger bestemmes ut fra verdier som er konfigurert på grensesnittene til rutere i pa til destinasjonsnettverket.
For eksempel, i figur 2 nedenfor, beregner Router One den beste banen til nettverk A.
Det starter med de to annonsene for dette nettverket: en gjennom ruteren fire, med en minimum båndbredde på 56 og en total forsinkelse på 2200; og den andre gjennom Router Three, med en minimum båndbredde på 128 og en forsinkelse på 1200. Router One velger banen med lavest beregning.
La oss beregne beregningene. EIGRP beregner den totale beregningen ved å skalere beregningene for båndbredde og forsinkelse.EIGRP bruker følgende formel for å skalere båndbredden:
bandwidth = (10000000/bandwidth(i)) * 256
der båndbredde (i) er minst båndbredde for alle utgående grensesnitt på ruten til destinasjonsnettverket representert i kilobit.
EIGRP bruker følgende formel for å skalere forsinkelsen:
delay = delay(i) * 256
der forsinkelse (i) er summen av forsinkelsene konfigurert på grensesnittene, på ruten til destinasjonsnettverket, i titalls mikrosekunder. Forsinkelsen som vist i viser ip eigrp topologi eller viser grensesnitt kommandoer er i mikrosekunder, så du må dele med 10 før du bruker den i denne formelen. Gjennom hele denne artikkelen bruker vi forsinkelse slik den er konfigurert og vist på grensesnittet.
EIGRP bruker disse skalerte verdiene for å bestemme totalverdien til nettverket:
metric = ([K1 * bandwidth + (K2 * bandwidth) / (256 - load) + K3 * delay] * [K5 / (reliability + K4)]) * 256
Merk: Disse K verdiene bør brukes etter nøye planlegging. Uoverensstemmende K verdier forhindrer at et naboforhold bygges, noe som kan føre til at nettverket ditt ikke klarer å konvergere.
Merk: Hvis
K5 = 0
, reduseres formelen tilMetric = ([k1 * bandwidth + (k2 * bandwidth)/(256 - load) + k3 * delay]) * 256
.Standardverdiene for K er:
K1 = 1
K2 = 0
K3 = 1
K4 = 0
K5 = 0
For standard oppførsel kan du forenkle formelen som følger:
metric = bandwidth + delay
Cisco-rutere utfører ikke matematikk med flytende punkt, så på hvert trinn i beregningen må du runde ned til nærmeste heltall for å beregne beregningene riktig. I dette eksemplet er den totale kostnaden gjennom ruter fire:
I dette eksemplet er den totale kostnaden gjennom ruter fire:
minimum bandwidth = 56k total delay = 100 + 100 + 2000 = 2200 [(10000000/56) + 2200] x 256 = (178571 + 2200) x 256 = 180771 x 256 = 46277376
Og den totale kostnaden gjennom ruter tre 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 å nå nettverk A, velger ruter én ruten gjennom ruter tre.
Vær oppmerksom på at båndbredde- og forsinkelsesverdiene vi brukte, er de som er konfigurert i grensesnittet som ruteren når sitt neste hopp til destinasjonsnettverket gjennom. For eksempel annonserte Router Two Network A med forsinkelsen konfigurert på Ethernet-grensesnittet; Ruter fire la til forsinkelsen som er konfigurert på Ethernet, og Ruter én la til forsinkelsen som er konfigurert på seriell.
Din båndbredde er 100000K
så båndbredden beregningen bruker er 10000000 / 100000 = 100
. Forsinkelsen er 200
mikrosekunder, så forsinkelsen beregningen bruker er 20
. Dette bringer oss til 120 * 256 = 30720
, og det er verdien du rapporterer.
Plugg inn tallene dine i eksemplet som Cisco har gitt ovenfor:
[(10000000/100000) + 20] x 256 = (100 + 20) x 256 = 120 x 256 = 30720
Kommentarer
- Jeg håpet på din egen forklaring. I stedet for å vise meg en lenke til det som ‘ allerede er der ute. Jeg ‘ leter etter en forenklet forklaring på hvordan alt dette fungerer. Takk uansett for innspillene dine.
- @ LucaA, hvis du merker det, svarte jeg faktisk på spørsmålene du stilte. Hva mer er det du ikke ‘ ikke forstår?
Svar
Jeg vet at 90 er den administrative avstanden, men beregningen 30720 virker høy å gå over raskt ethernet til bare ett humle. Kan det kastes noe lys over hvorfor dette er så høyt i forhold til for eksempel OSPF? Jeg forstår at dette sannsynligvis er et enkelt tilfelle av at epler og appelsiner er to separate rutingsprotokoller, men jeg er interessert i å vite hvordan dette beregnes.
Du har rett – det er som å sammenligne epler og appelsiner 🙂 For eksempel er RIPs maksimale beregning 15, men betyr ikke noe sammenlignet med en EIGRP-beregning på 30720.
Når det gjelder EIGRP-beregningen er så høy – noe av årsaken er at EIGRP multipliserer beregningen med 256 for å være bakoverkompatibel med IGRP (EIGRPs forgjenger). I henhold til denne Wikipedia-oppføringen :
IGRP bruker den samme grunnleggende formelen for beregning av den totale beregningen, den eneste forskjellen er at i IGRP inneholder ikke formelen skaleringsfaktor på 256. Faktisk ble denne skaleringsfaktoren introdusert som et enkelt middel for å lette bakoverkompatibilitet mellom EIGRP og IGRP: I IGRP er den totale beregningen en 24-bit verdi, mens EIGRP bruker en 32-bit val du uttrykker denne beregningen.Ved å multiplisere en 24-biters verdi med faktoren 256 (effektivt skifte den 8 bits til venstre) utvides verdien til 32 bits, og omvendt. På denne måten innebærer omfordeling av informasjon mellom EIGRP og IGRP bare å dele eller multiplisere den metriske verdien med en faktor på 256, som gjøres automatisk
Med hensyn til hvordan beregningen beregnes, jeg skrev et detaljert blogginnlegg om det for en liten stund tilbake. Det korte er at beregningen beregnes ved hjelp av denne formelen:
256 * [(10000000 /) + (/ 10)]
Når vi kjører tallene du oppga (Vektormetrik: Minimum båndbredde er 100000 Kbit Total forsinkelse er 200 mikrosekunder) gjennom denne formelen får vi riktig beregning:
10000000/100000 = 100
200/10 = 20
100 + 20 = 120
256 * 120 = 30720
Kommentarer
- Også god informasjon! Jeg ‘ Sjekk ut det detaljerte blogginnlegget ditt for en nærmere forklaring. Godt å ha flere kilder når det gjelder ting som dette. Takk.
- Ingen bekymringer i det hele tatt @ LucaA. Gi meg beskjed hvis du har andre spørsmål, og jeg ‘ vil gjerne hjelpe.
Legg igjen en kommentar