EIGRP Metric
EIGRP Metric har orsakat förvirring för många nätverksingenjörer som försöker förstå protokollet. Denna artikel kommer att dyka in i vad metriska är och hur man kokar ner det i sin förenklade form.
formel och K-värden
EIGRP är ett Cisco-proprietärt routingprotokoll skapat på 1980-talet. som sådan var Cisco den enda leverantören som hade rätt att implementera nämnda protokoll. Fram till 1998 när Cisco släppte specifikationen som ett IETF-utkast.
en av EIGRP: s främsta fördelar är att kunna ta hänsyn till många olika attribut vid beräkning av en ruttkostnad eller metrisk. EIGRP är nämligen ett av de enda routingprotokollen som kan överväga en kombination av bandbredd, belastning, fördröjning och tillförlitlighet i sin kostnadsberäkning.
var och en av dessa attribut styrs av det som kallas ett K-värde. Dessa K-värden möjliggör var och en övervägande av ett av de ovan nämnda attributen, liksom den skala som attributet beaktas.
K1 = bandbredd K2 = belastning K3 = fördröjning K4 & K5 = tillförlitlighet
var och en av dessa värden används i vad EIGRP kallar en sammansatt metrisk formel. Denna formel är som följer:
EIGRP metrisk:
256 * { K1*BW + + (K3*fördröjning) } * { K5/(tillförlitlighet+K4) }
det ser ganska komplicerat ut, men du kan förenkla det något genom att skriva om det i ett annat format och bryta upp varje del med vackra färger:
k-värdena i sig är ett tal mellan 0 och 255. Du kan ställa in varje värde oberoende baserat på vad du vill ha beaktat i kostnadsberäkningen för varje rutt. Om du i din routingdomän inte vill överväga något av attributen ovan kan du ställa in lämpligt K-värde till noll. Om du vill överväga ett attribut kan du ställa in lämpligt K-värde till ett.
eftersom K-värdena kan vara vilket värde som helst upp till 255, har du också möjlighet att skala hur kraftigt ett visst värde beaktas. Om du till exempel vill att bandbredd ska betraktas som dubbelt så viktig som fördröjning kan du ställa in K1-värdet till 2 och K3-värdet till 1. Om du vill överväga bandbredd och fördröjning i ett 2:3-förhållande kan du ställa in K1 till 2 och K3 till 3. Det här ger EIGRP sådan flexibilitet i sin kostnadsjämförelse, du kan välja vilka attribut och hur viktigt varje attribut är för din routingdomän.
det bör dock noteras att innan två routrar blir EIGRP-grannar måste de ha matchande K-värden. Vilket är vettigt, för om en router anser fördröjning som den yttersta viktiga, och den andra anser bandbredd som den yttersta viktiga, kan de vara oense om vilken väg till ett destinationsnätverk som är bäst.
EIGRP Default Metric
trots hur flexibel kostnadsberäkningen är, är de flesta implementeringar av EIGRP bara beroende av standard k-värdena för deras metriska. Standard K-värden överväga endast bandbredd och fördröjning, och ignorera belastning och tillförlitlighet.
det finns två anledningar till att belastning och tillförlitlighet inte ingår i standardvärdet för EIGRP:
För det första gör EIGRP inte periodiska uppdateringar — endast utlösta uppdateringar. Som ett resultat beräknas värdena för belastning och tillförlitlighet en gång när en rutt först lärs, men uppdateras inte dynamiskt eftersom ett gränssnitt blir mer eller mindre mättat. En förändring i belastning / tillförlitlighet utlöser inte en ny EIGRP-uppdatering.
För det andra är belastnings-och Tillförlitlighetsvärdena inte en återspegling av hela banans belastning och tillförlitlighet, utan istället endast för den direkt anslutna länken.
som sådan valde Cisco att bara överväga bandbredd och fördröjning, och att väga dem lika, i sin standard EIGRP-metriska beräkning. De förvalda K-värdena är K1 och K3 inställda på ett, och K2, K4 och K5 inställda på noll.
Vi kan ansluta standard k-värdena till formeln ovan för att se hur det kan förenklas:
med bilden ovan kan vi förenkla den komplicerade fullständiga EIGRP-komposit metriska till just detta:
256 occb ( bandbredd + fördröjning )
vilket är mycket lättare att hantera än den fullständiga sammansatta formeln som anges ovan
beräkning av EIGRP-mätvärden
Vid denna tidpunkt skulle det vara klokt att diskutera hur Bandbreddsvärdet och Fördröjningsvärdena uppnås.
Vi kommer att använda följande topologi:
för att hålla det enkelt kommer vi att använda metrisk beräkning för 10.4.5.X-nätverk ur perspektivet eller R4. Kommandot show interfaces
för R4 ger oss våra startvärden:
R4# show interfaces FastEthernet 0/0FastEthernet0/0 is up, line protocol is up Hardware is Gt96k FE, address is c204.8b8c.0000 (bia c204.8b8c.0000) Internet address is 10.4.5.4/24 MTU 1500 bytes, BW 100000 Kbit/sec, DLY 100 usec,
Vi kommer att använda dessa som ett exempel för att visa hur EIGRP-mätvärdet beräknas.
Bandbreddsberäkning
Bandbreddsvärdet baseras på den minsta bandbreddslänken över hela sökvägen. Men eftersom metriska värden i alla routingprotokoll anser att ett lägre värde är överlägset, måste en formel användas för att konvertera en högre bandbredd till en lägre resulterande mätvärden. Denna formel är som följer:
bandbredd = 10^7 / BW i Kbps
för R4, som är direkt ansluten till 10.4.5.0/24-nätverk på en 100 Mbps-länk skulle beräkningen resultera i:
bandbredd = 10,000,000 / 100,000 kbps = Bandbreddsvärde på 100
Bandbreddsvärdet på 100 kommer att anslutas till vår förenklade EIGRP-metriska formel som vi härledde tidigare.
Fördröjningsberäkning
fördröjning är tänkt att vara en beräkning av den tid det tar lite att överföras till en angränsande granne. Men i verkligheten är det helt enkelt ett konstant värde baserat på gränssnittets bandbredd. Men eftersom denna faktor är additiv, fungerar den i huvudsak som ett hoppantal. Eller kanske vi borde säga en smart hop count, eftersom det också faktorer varje hop bandbredd.
i utmatningen ovan visas DLY
som en usec, som är en mikrosekund eller en miljonedel av en sekund. Fördröjningsvärdet som används i EIGRP-metriska beräkningen är fördröjningen i 10-tals mikrosekunder. Så för att beräkna fördröjningsvärdet, dela helt enkelt DLY
I kommandot Visa gränssnitt med 10.
för R4: s gränssnitt ovan skulle du få:
Delay = 100 usec/10 = fördröjningsvärde på 10
fördröjningsvärdet på 10 kommer att anslutas till vår förenklade EIGRP metriska formel som vi härledde tidigare.
Observera att fördröjningen i den metriska beräkningen är det kumulativa värdet längs varje hopp till målnätverket. I det här fallet, eftersom R4 är direkt ansluten till 10.4.5.0 / 24-nätverket, kan vi använda gränssnittets fördröjning direkt i vår formel.
hela tabellen med fördröjningsvärden baserade på bandbredd finns här. Detta dokument listar varje gränssnittsbandbredd i Kbps och dess korrelationsfördröjningsvärde i picosekunder – en trilliondel av en sekund.
som referens finns de vanligaste värdena i tabellen nedan, liksom de konverterade värdena för Mbps, bps och usec.
Interface Bandwidth | BW in bps | BW in Kbps | Delay Value | Delay in usec |
---|---|---|---|---|
10 Mbps | 10,000,000 | 10,000 | 1,000,000 | 1,000 |
100 Mbps | 100,000,000 | 100,000 | 100,000 | 100 |
1 Gbps | 1,000,000,000 | 1,000,000 | 10,000 | 10 |
10 Gbps | 10,000,000,000 | 10,000,000 | 10,000 | 10 |
EIGRP Metric Calculation
We can use the resulting Bandwidth Value and Delay Value from above in the simplified EIGRP composite metric formula we deduced earlier:
256 kg ( Bandbreddsvärde + fördröjningsvärde )
256 kg ( 100 + 10 )
256 kg 110 = 28160
vi kan jämföra detta mot R4: s EIGRP topologitabellutgång för 10.4.5.0/24-nätverket för att bekräfta att vi gjorde allt korrekt:
R4# show ip eigrp topology 10.4.5.0/24IP-EIGRP (AS 99): Topology entry for 10.4.5.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 28160 Routing Descriptor Blocks: 0.0.0.0 (FastEthernet0/0), from Connected, Send flag is 0x0 Composite metric is (28160/0), Route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 100 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 0
ruttmätningen visas inom parentes som ( feasible_distance / reported_distance )
. Det möjliga avståndet är R4: s totala metriska beräkning för att komma till målnätverket. Det rapporterade avståndet är 0, eftersom ingen router annonserade denna rutt till R4-R4 faktiskt var direkt ansluten till nätverket.
återstående Routrar
För att gå i full cirkel visar vi dig beräkningen av kompositmetriken för R3, R2 och R1 till samma 10.4.5.0 / 24-nätverk.
Lägg märke till länken mellan R2 och R3 är en 10Mbps länk. Vi kan använda detta för att visa effekten av den minsta banbandbredden som används när vi studerar rutten till 10.4.5.0/24 Från R1, R2 och R3. För fullständighet, vi kommer också att visa beräkningen från R4 igen, samt placera samma topologi bilden nedan för att bespara dig från att kontinuerligt rulla tillbaka upp.
R4# show ip eigrp topology 10.4.5.0/24IP-EIGRP (AS 99): Topology entry for 10.4.5.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 28160 Routing Descriptor Blocks: 0.0.0.0 (FastEthernet0/0), from Connected, Send flag is 0x0 Composite metric is (28160/0), Route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 100 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 0
Bandwidth Value = 10,000,000 / Minimum Path Bandwidth in KbpsBandwidth Value = 10,000,000 / 100,000 Kbps = 100Delay Value = Cumulative Delay in usec / 10Delay Value = 100 usec / 10 = 10Composite Metric = 256 × ( Bandwidth Value + Delay Value )Composite Metric = 256 × ( 100 + 10 )Composite Metric = 256 × 110 = 28160
R3# show ip eigrp topology 10.4.5.0/24IP-EIGRP (AS 99): Topology entry for 10.4.5.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 30720 Routing Descriptor Blocks: 10.3.4.4 (FastEthernet0/1), from 10.3.4.4, Send flag is 0x0 Composite metric is (30720/28160), Route is Internal Vector metric: Minimum bandwidth is 100000 Kbit Total delay is 200 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 1
Bandwidth Value = 10,000,000 / Minimum Path Bandwidth in KbpsBandwidth Value = 10,000,000 / 100,000 Kbps = 100Delay Value = Cumulative Delay in usec / 10Delay Value = 200 usec / 10 = 20Composite Metric = 256 × ( Bandwidth Value + Delay Value )Composite Metric = 256 × ( 100 + 20 )Composite Metric = 256 × 120 = 30720
R2# show ip eigrp topology 10.4.5.0/24IP-EIGRP (AS 99): Topology entry for 10.4.5.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 286720 Routing Descriptor Blocks: 10.2.3.3 (FastEthernet0/0), from 10.2.3.3, Send flag is 0x0 Composite metric is (286720/30720), Route is Internal Vector metric: Minimum bandwidth is 10000 Kbit Total delay is 1200 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 2
Bandwidth Value = 10,000,000 / Minimum Path Bandwidth in KbpsBandwidth Value = 10,000,000 / 10,000 Kbps = 1000Delay Value = Cumulative Delay in usec / 10Delay Value = 1200 usec / 10 = 120Composite Metric = 256 × ( Bandwidth Value + Delay Value )Composite Metric = 256 × ( 1000 + 120 )Composite Metric = 256 × 1120 = 286720
R1# show ip eigrp topology 10.4.5.0/24IP-EIGRP (AS 99): Topology entry for 10.4.5.0/24 State is Passive, Query origin flag is 1, 1 Successor(s), FD is 289280 Routing Descriptor Blocks: 10.1.2.2 (FastEthernet0/1), from 10.1.2.2, Send flag is 0x0 Composite metric is (289280/286720), Route is Internal Vector metric: Minimum bandwidth is 10000 Kbit Total delay is 1300 microseconds Reliability is 255/255 Load is 1/255 Minimum MTU is 1500 Hop count is 3
Bandwidth Value = 10,000,000 / Minimum Path Bandwidth in KbpsBandwidth Value = 10,000,000 / 10,000 Kbps = 1000Delay Value = Cumulative Delay in usec / 10Delay Value = 1300 usec / 10 = 130Composite Metric = 256 × ( Bandwidth Value + Delay Value )Composite Metric = 256 × ( 1000 + 130 ) Composite Metric = 256 oc 1130 = 289280
Lägg märke till hur kompositmetriken blir riktigt stor (aka, mindre föredragen) vid R2 på grund av 10 Mbps-länken.
Om du har möjlighet att följa med beräkningen i var och en av flikarna ovan, då är du nu en mästare på EIGRP metriska. Förutom kanske en sista förvirrande, metrisk-relaterad kunskap: genomförbarhetsförhållandet. Men oroa dig inte, det är täckt av en annan artikel.