EIGRP metric och K-värden

EIGRP använder fyra av fem olika parametrar som påverkar vägvalen. Dessa parametrar har ett visst värde, ett k-värde för att bestämma en routers metric. Värdet avgör valet av bästa väggen till varje destinationsnätverk. De olika fem k-värde kan tas fram genom att exekvera:

Router# show ip protocols

Kommandot visar till exempel följande meddelande:

Routing Protocol is “eigrp 1”
Outgoing update filter list for all interfaces is not set
Incoming update filter list for all interfaces is not set
Default networks flagged in outgoing updates
Default networks accepted from incoming updates
EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0
EIGRP maximum hopcount 100
EIGRP maximum metric variance 1

Den sammansatta Metric

Fyra av fem parametrar tilldelas ett visst värde vilka ingår i beräkningar som resulterar i ett visst värde. Parametrarnas värde kallas metric vilket används i processer där man väljer bästa vägen till varje destinationsnätverk och dess respektive backup väg.

  • Bandwidth
  • Delay
  • Reliability
  • Load
  • MTU

MTU inkluderas i EIGRP uppdateringar men denna parameter används inte i beräkningar som bestämmer den sammansatta metric. Som default/standard använder EIGRP endast bandbredd och fördröjning. Cisco rekommenderar att använda tillförlitlighet och belastning endast som undantag.

Värde för EIGRP metric kan beräknas med hjälp av följande formel:

  • metric = [K1*bandwidth + (K2*bandwidth)/(256 – load) + K3*delay]*[K5/(reliability + K4)]
  • metric = [K1*bandwidth + K3*delay]*256
EIGRP Metric Vikter
K1 bandwidth = 1
K2 load = 0
K3 delay = 1
K4 reliability = 0
K5 MTU = 0

Formeln består av värden för K1 till K5, som kallas EIGRP metric vikter. Som standard är K1 och K3 inställda på 1, och K2, K4 och K5 är inställda på 0. Resultatet är att endast bandbredden och fördröjningsvärdena används vid beräkning av det sammansatta värdet.

Default-värden på K kan ändras med EIGRP router kommandot:

Router(config-router)# metric weights tos k1 k2 k3 k4 k5

Obs! Tjänsten ToS (Typ av Service) är kvar från IGRP och har aldrig implementerats. ToS värdet är alltid inställt på 0.

Kommandot show ip protocols används för att verifiera K-värdena. Återigen rekommenderas inte att ändra K-värden till andra värden om inte nätverksadministratören har en mycket bra anledning att göra det.

Kommandot show interface <interface> visar de värden som används i den sammansatt metric, till exempel för Serial 0/0/0 för routern R1:

R1# show interfaces s0/0/0

MTU 1500 byte, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255

Bandwidth

Bandbredden 1544 Kbit är ett statiskt värde som används av vissa routing-protokoll som EIGRP och OSPF för att beräkna deras metric. Bandbredden visas i Kbit (kilobits). De flesta seriella interface använder default bandwidth på 1544 Kbit eller 1 544 000 bps (1,544 Mbps). Detta är bandbredden för en T1-anslutning. Men vissa seriella interface använder andra default värde. Det är alltid bra att kontrollera bandbredden med kommandot show interface.

Observera att bandbreddens värde kan eller inte återspegla interfacets faktiska fysiska bandbredd. Dessutom ändringar i bandbreddsvärdet ändrar inte länkens fysiska bandbredd.

Delay

Fördröjning är ett mått på den tid det tar för ett paket att ta sig genom en route. Delay (DLY) är ett statiskt värde baserat på den typ av länk som interfacet är anslutet till och värdet uttrycks i enheter av 10 mikrosekunder.

  • Seriella interface har som default bandbredd på 1544 kbps (1,544 Mbps) och en delay på 20 000  mikrosekunder.
  • Ethernet interface har som default bandbredd på 10 000 kbps (10 Mbps) och en delay på 1000 mikrosekunder.
  • FastEthernet interface har som default bandbredd 100 000 kbps (100 Mbps) och en delay på 100 mikrosekunder.

Att fördröjning (delay) är ett statisk värde innebär att den riktiga tiden det tar för ett paket att ta sig genom en viss route är egentligen ett nominellt värde. Delay-värdet, ungefär som bandwidth-värde, är ett default/standard värde som kan ändras av nätverksadministratören.

Exekvering av kommandot nedan ger som resultat:

R1# show interface s0/0/0

MTU 1500 byte, BW 1544 Kbit, DLY 20000 usec,
reliability 255/255, txload 1/255, rxload 1/255

Reliability 255/255

Tillförlitlighet är ett mått som grundas på antal inträffade fel på en vis länk under en viss tid. Till skillnad från fördröjning (delay) mäts tillförlitligheten dynamiskt med ett värde mellan 0 och 255 som delas med 255 och resultatet multipliceras med 100 för att uttrycka tillförlitligheten i procent.

Bild 1 illustrerar länkens tillförlitlighet som 255/255 där täljaren 255 är den högsta värdet. En länk är 100% tillförlitlig om den markeras med värde 255. Tillförlitlighet (reliability) beräknas på ett 5-minuters medelvärde för att undvika plötsliga effekter av höga (eller låga) felvärde.

Bild 1: Ett högt tillförlitlighet: 255/255 = 1 x 100 = 100 %

Reliability uttrycks som en bråkdel av 255 – ju högre värde desto tillförlitligare är länken. Så, 255/255 skulle vara 100 procent tillförlitlig (255/255 = 1 * 100 = 100%), medan en länk på 234/255 skulle vara 91,8 procent tillförlitlig. Här kan vi tänka på att 255 i täljaren blev mindre på grund av inträffade fel.

Obs: Som default använder EIGRP inte reliability i beräkningar för sin metric.

Load

Belastning återspeglar hur mycket trafik som läggs på länken. Liksom tillförlitlighet (reliability) mäts belastning (load) dynamiskt med ett värde mellan 0 och 255. På samma sätt som Tillförlitlighet (reliability) uttrycks belastningen som en bråkdel av 255. Men i detta fall är ett lägre belastningsvärde mer önskvärt eftersom det indikerar mindre belastning på länken. Så 1/255 skulle vara en minimalt laddad länk. 40/255 är en länk med 16 procent belastad, och 255/255 skulle vara en länk som är 100 procent belastad.

Belastning (load) visas som både utgående och inkommande. Utgående eller “outbound load” kallas också “transmit” och värdets namn förkortas som TXLOAD. Inkommande eller “inbound load” förkortas som RXLOAD. Load-värdet beräknas på ett 5-minuters medelvärde för att undvika plötslig påverkan av hög (eller låg) transmissionskanal användning.

Obs: Som default använder EIGRP inte load i beräkningar för sin metric.

Kommandot bandwidth

På de flesta seriella länkar är bandbreddens värde 1 544 Kbits. Bandbreddens värde är avgörande vid valet av bästa vägen eftersom den bestämmer metric-värdet. Både EIGRP och OSPF använder bandbredd (bandwidth) i beräkningar för att bestämma deras metric. Det kan hända att en länks bandbredd-värde skiljs från det riktiga. Det kan korrigeras med kommandot bandwidth.

Router(config-if)# bandwidth <värde i kilobit>

Vi kan verifiera ändringen med hjälp av show interface. Det är viktigt att ändra bandwidth-värde på båda sidor av länken för att säkerställa korrekt routing i båda riktningarna. Kom ihåg att man ändrar detta värde som ett sätt att få mer kontroll över det valda utgående interface och inte för att andra det verkliga bandbredden.

Beräkning av EIGRP Metric

Så här ser formeln ut:

metric = [K1*bandwith + K3*delay] * 256

Med hjälp av default-värdena för K1 och K3 kan vi förenkla metric beräkningar till: Den långsammaste bandbredd (eller minsta bandbredd) plus den kumulativa summan av alla förseningar.

metric = [1*bandwith + 1*delay] * 256 = (bandwidth (lowest) + delay)*256 = (bandwidth (lowest))*256 + (delay)*256

Med andra ord, genom att undersöka bandbredd och fördröjningsvärden för alla utgående interface på en vis route, kan vi bestämma EIGRP metric.

Observera nätverket nedan med fokus från R2 till destinationsnätverk 192.168.1.0 /24 ansluten till R3:

Kommandot R2# show ip route visar följande information

D   192.168.1.0/24 [90/3014400] via 192.168.10.10,  00:02:14,  serial0/0/1

Värdet 3 014 400 kan beräknas genom att först undersöka bandbredden på varje interface som är länkat till destinationen och därefter välja den långsammaste. Länken mellan R2 och destinationsnätet 192.168.1.0 sammanbinds med interface Serial 0/0/1 som har en bandbredd på 1 024 Kbps eller 1 024 000 bps eller 1,024 Mbps. FastEthernet 0/0 interface på R3 har en bandbredd på 100 000 Kbps eller 100 Mbps. Därför är den långsammaste bandbredd 1 024 Kbps och den används vid beräkningen av metric.

  • Seriella interface har som default bandbredd på 1544 kbps (1,544 Mbps) och en delay på 20 000  mikrosekunder.
  • Ethernet interface har som default bandbredd på 10 000 kbps (10 Mbps) och en delay på 1000 mikrosekunder.
  • FastEthernet interface har som default bandbredd 100 000 kbps (100 Mbps) och en delay på 100 mikrosekunder.

EIGRP tar referensbandbredd på 10 000 kbps (10 000 000 bps) i metric-beräkningar. Den referensbandbredden delas med den lägsta bandbredden och därefter multipliceras resultatet med 256:

10 000 000 / 1 024 = 9 765,625 som avrundad är 9 765 och som multiplicerat med 256 ger ett resultat på 2 499 840

Med samma utgående interface kan vi också bestämma delay-värdet.

EIGRP använder den kumulativa summan av delay-värdena för alla utgående interface. Serial 0/0/1 interface på R2 har en fördröjning på 20 000 mikrosekunder. FastEthernet 0/0 interface på R3 har en fördröjning på 100 mikrosekunder.

Varje delay-värde divideras med 10 och därefter summeras. 20 000/10 + 100/10 resulterar i ett värde av 2 010. Detta resultat multipliceras sedan med 256. Delay-värdet är 514 560.

Metric = Bandwidth + Delay = 2 499 840 + 514 560 = 3 014 400

K-värden konfigurering

EIGRP använder egentligen två av fem parametrar i sin beräkning på ett metric-värde, bandbredd och belastning. I denna laboration kommer jag att konfigurera k-värden på routrarna.

Vi börjar med att aktivera EIGRP

  • R1(config)# router eigrp 2
  • R1(config-config)# network  192.168.12.0
  • R2(config)# router eigrp 2
  • R2(config-config)# network  192.168.12.0
  • R1# show ip protocols (sök efter EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0)
  • R2# show ip protocols (sök efter EIGRP metric weight K1=1, K2=0, K3=1, K4=0, K5=0)

Det innebär att standard k-värden används: k1 och k3. Vi ändrar det så att endast k3 används (k1 är bandbredd och k3 är belastning). I kommandot nedan gäller ordningen tos k1 k2 k3 k4 k5

  • R1(config)# metric weights  0 0 0 1 0 0

Ändringar genererar meddelande som visar att länkarna tas ner så att relationer med grannarna kan återinitieras. Men routern R2 fortfarande använder standard k-värdena och då matchar inte k-värden i länken mellan R1 och R2. Detta kan fixas så här:

  • R2(config)# metric weights  0 0 0 1 0 0

R1 och R2 bör återigen vara grannar, det kan verifieras med kommandot:

  • R1# show ip eigrp neighbors