Denna handledning förklarar OSPF Metric Calculation Formula och SPF-algoritmen steg för steg i detalj med exempel. Lär dig hur SPF-algoritmen (Shortest Path First) beräknar den kumulativa kostnaden för rutten för att bygga upp Shortest Path Tree (SPT) och hur OSPF Metric Formula kan manipuleras genom att ändra referensvärdet för bandbredd.

Shortest Path First (SPF) Algorithm

Som vi vet vid initialisering eller på grund av någon förändring i routningsinformation genererar en OSPF-router en LSA. Denna LSA (Link State Advertisement) innehåller en samling av alla länktillstånd på den routern. Routern sprider denna LSA i nätverket. Varje router som tar emot denna LSA lagrar en kopia av den i sin LSA-databas och skickar sedan denna LSA till andra routrar.

När databasen är uppdaterad väljer routern en enda bästa rutt för varje destination bland alla tillgängliga rutter. Routern använder SPF-algoritmen för att välja den bästa rutten.

Som andra routningsalgoritmer använder SPF också en metrisk komponent som kallas kostnad för att välja den bästa rutten för routningstabellen.

Denna handledning är den sista delen av vår artikel ”OSPF Routing Protocol Explained with examples”. Du kan läsa andra delar av artikeln här.

OSPF Fundamental Terminology Explained

Denna handledning är den första delen av den här artikeln. I den här delen förklarar vi grundläggande terminologi för OSPF som Feature , Advantage and Disadvantage, Autonomous System, Area concept, ABR, IR, Link, State , LSA och LSDB med exempel.

OSPF Neighborship Condition and Requirement

Denna handledning är den andra delen av den här artikeln. OSPF-grannskap byggs mellan två routrar endast om konfigurationsvärdet för Area ID, Authentication, Hello and Dead interval, Stub Area och MTU matchar varandra. Denna del förklarar dessa parametrar och OSPF adjacency i detalj med exempel.

OSPF Neighbor States Explained with Example

Denna handledning är den tredje delen av denna artikel. OSPF adjacency-processen går igenom de sju tillstånden; OSPF State down, OSPF State Init, OSPF State two ways, OSPF State Exstart, OSPF State Exchange, OSPF State Loading och OSPF State full. Den här delen förklarar dessa tillstånd med DR BDR-urvalsprocessen i detalj med exempel.

OSPF Configuration Step by Step Guide

Denna handledning är den fjärde delen av den här artikeln. Konfigurationsdelen av OSPF omfattar process-ID, områdes-ID och wildcard-mask, vilket gör konfigurationen av OSPF lite svårare. Den här delen förklarar dessa parametrar i detalj med exempel.

OSPF Metric cost

Logiskt sett kommer ett paket att möta mer overhead när det korsar en 56Kbps seriell länk än när det korsar en 100Mbps Ethernet-länk. Det kommer att ta mindre tid att korsa en länk med högre bandbredd än en länk med lägre bandbredd. OSPF använder denna logik för att beräkna kostnaden. Kostnaden är omvänt proportionell mot bandbredden. Högre bandbredd har en lägre kostnad. Lägre bandbredd har en högre kostnad.

OSPF använder följande formel för att beräkna kostnaden

Kostnad = Referensbandbredd / Gränssnittsbandbredd i bps.

Referensbandbredd definierades som ett godtyckligt värde i OSPF-dokumentationen (RFC 2338). Leverantörerna måste använda sin egen referensbandbredd. Cisco använder 100 Mbps (108) bandbredd som referensbandbredd. Med denna bandbredd skulle vår ekvation vara

Kostnad = 108/gränssnittsbandbredd i bps

Nyckelpunkter

  • Kostnad är ett positivt heltalsvärde.
  • Varje decimalvärde avrundas tillbaka till närmaste positiva heltal.
  • Varje värde under 1 betraktas som 1.

Nu när vi känner till ekvationen kan vi räkna lite och räkna ut standardkostnaden för några viktiga gränssnitt.

Standardkostnad för viktiga gränssnitt.

Interfacetyp bandbredd Metrisk beräkning Kostnad
Ethernetlänk 10Mbps 100000000/10000000 = 10 10
FastEthernet Link 100Mbps 100000000/100000000 = 1 1
Serial Link 1544Kbps(standard) 100000000/1544000 = 64.76 64

Kostnad för gemensamma linjer

Linje Bandbredd Metrisk beräkning Kostnad
56 Kbps linje 56Kbps 100000000/56000 = 1785.71 1785
64 Kbps line 64Kbps 100000000/64000 = 1562.5 1562
128 Kbps line 128Kbps 100000000/128000 = 781.25 781
512 Kbps linje 512 Kbps 100000000/512000 = 195.31 195
1 Mbps-linje 1Mbps 100000000/1000000 = 100 100
10 Mbps-linje 10Mbps 100000000/10000000 = 10 10
100 Mbps line 100Mbps 100000000/100000000 = 1 1
1 Gbps line 1Gbps 100000000/100000000 0= 0.1 1
10 Gbps-linje 10Gbps 100000000/100000000000000 = 0,01 1

SPT (Shortest Path Tree)

OSPF-routern bygger upp ett Shortest Path Tree. SPT är precis som ett släktträd där routern är roten och destinationsnätverken är bladen. SPF-algoritmen beräknar grenkostnaden mellan bladen och roten. Den gren som har den lägsta kostnaden används för att nå bladet. På fackspråk kan man säga att den väg som har det lägsta kumulativa kostnadsvärdet mellan källan och destinationen kommer att väljas ut i routningstabellen.

Kumulativ kostnad = Summan av alla utgående gränssnitts kostnader i rutten

Bästa rutten för routningstabellen = Rutten som har den lägsta kumulativa kostnaden

Sammanfattning

  • OSPF använder SPT-trädet för att beräkna den bästa rutten för routningstabellen.
  • Ett SPT-träd kan inte växa utanför området. Så om en router har gränssnitt i flera områden måste den bygga ett separat träd för varje område.
  • SPF-algoritmen beräknar alla möjliga vägar från källroutern till destinationsnätverket.
  • Den kumulativa kostnaden är summan av alla kostnader för de utgående OSPF-gränssnitten i sökvägen.
  • Vid beräkningen av den kumulativa kostnaden beaktar OSPF endast utgående gränssnitt i sökvägen. Den lägger inte till kostnaden för inkommande gränssnitt i den kumulativa kostnaden.
  • Om det finns flera rutter jämför SPF de kumulativa kostnaderna. Den väg som har den lägsta kumulativa kostnaden väljs i routningstabellen.

Nu har vi en grundläggande förståelse för SPF-algoritmen. I den återstående delen av denna handledning kommer vi att lära oss hur SPF-algoritmen väljer den bästa rutten från de tillgängliga rutterna.

Skapa ett övningslaboratorium som illustreras i följande figur eller ladda ner detta förskapade övningslaboratorium och ladda in det i Practice Tracer.

Hämta OSPF-övningstopologi med OSPF-konfiguration

Access CLI-prompten för Router0.

Kör kommandot show ip route ospf från privilegierat läge för att visa alla inlärda rutter via OSPF-protokollet.

Som utdata visar har Router0 sex rutter från OSPF i routningstabellen. Vi kommer att gå igenom varje rutt och ta reda på varför den valdes som den bästa rutten för routningstabellen av OSPF.

Rutt 20.0.0.0.0

Vi har tre rutter för att få nätverket 20.0.0.0.0/8. Låt oss beräkna den kumulativa kostnaden för varje väg.

Via Route R0-R1-R2-R6

Via route R0 – R3 – R4 – R6

Via route R0 – R5 – R6

Router Exit Interface Bandbredd Metrisk beräkning Kostnad
R0 Fa0/1 100Mbps 100000000/100000000 = 1 1
R5 Fa0/0 100Mbps 100000000/100000000 = 1 1
R0 Fa0/1 100Mbps 100000000/100000000 = 1 1
Kumulativ kostnad för rutten (1+ 1 + 1) =3

Av dessa rutter, har rutten R0-R5-R6 den lägsta kumulativa kostnaden. Därför valdes den som den bästa rutten för routningstabellen.

Rutt 192.168.0.4

Via Route R0 – R1

R0:s Serial 0/0/0/0-kostnad (1562) + R1:s Serial 0/0/1-kostnad (1562) = 3124 (kumulativ kostnad)

Via Route R0 – R3 – R4 – R6 – R2

Via Route R0 – R5 – R6 – R2

Av dessa rutter, Rutten R0 – R5 – R6 – R2 har den lägsta kostnaden och valdes därför ut i routningstabellen.

Rutt 192.168.0.8

Via rutt R0 – R1

R0:s Serial 0/0/0/0-kostnad (1562) + R1:s Serial 0/0/1-kostnad (1562) + R2:s Serial 0/0/0 (1562) = 4686 (kumulativ kostnad)

Via rutt R0 – R3 – R4 – R6

R0:s Serial 0/0/1-kostnad (64) + R3:s Serial 0/0/0/0-kostnad (64) + R4:s Serial 0/0/1-kostnad (64) + R6:s Serial 0/0/0-kostnad (64) = 256 (kumulativ kostnad)

Via Route R0 – R5 – R6

Ros FastEthernet 0/1-kostnad (1) + R5:s FastEthernet 0/0-kostnad (1) + R6:s Serial 0/0/0-kostnad (64) = 66 (kumulativ kostnad)

Av dessa rutter, Rutten R0 – R5 – R6 har den lägsta kostnaden och valdes därför ut i routningstabellen.

Rutt 192.168.1.4

Via Route R0 – R1 – R2 – R6

R0:s Seriell 0/0/0/0-kostnad (1562) + R1:s Seriell 0/0/1 (1562) + R2:s Seriell 0/0/0 (1562) + R6:s FastEthernet 0/0 (1) = 4687 (kumulativ kostnad)

Via R0 – R3 – R4 – R6

R0:s Serial 0/0/1 kostnad (64) + R3:s Serial 0/0/0/0 kostnad (64) + R4:s Serial 0/0/1 kostnad (64) + R6:s FastEthernet 0/0 (1) = 193

Via R0 – R5

R0:s FastEthernet 0/1 kostnad (1) + R5:s FastEthernet 0/0 kostnad (1) = 2

Av dessa rutter, Rutten R0 – R5 har den lägsta kostnaden och valdes därför som den bästa rutten.

Rutt 192.168.2.4

Via Route R0 – R1 – R2 – R6 – R4

Via Route R0 – R5 – R6 – R4

R0:s FastEthernet 0/1 kostnad (1) + R5:s FastEthernet 0/0 kostnad (1) + R6:s Serial 0/0/1 (64) + R4:s Serial 0/0/0/0 kostnad (64) = 130

Via rutt R0 – R3

R0:s Serial 0/0/1 kostnad (64) + R3:s Serial 0/0/0/0 kostnad (64) = 128

Av dessa rutter, Rutten R0 – R3 har den lägsta kostnaden för destination 192.168.2.4.

Rutt 192.168.2.8

Via rutt R0 – R3 – R4

R0:s Seriell 0/0/1-kostnad (64) + R3:s Seriell 0/0/0-kostnad (64) + R4:s Seriell 0/0/1-kostnad (64) = 192

Via rutt R0 – R1 – R2 – R6

Ros Seriell 0/0/0-kostnad (1562) + Rils Seriell 0/0/1-kostnad (1562) + R2:s Serial 0/0/0/0-kostnad (1562) + R6:s Serial 0/0/1-kostnad (64) = 4750

Via Route R0 – R5 – R6

R0:s FastEthernet 0/1-kostnad (1) + R5:s FastEthernet 0/0-kostnad (1) + R6:s Serial 0/0/1-kostnad (64) = 66

Rute R0 – R5 – R6 har det lägsta kostnadsvärdet.

Efter att ha valt den bästa rutten för varje destination ser OSPF-nätverket ut som följande figur.

OSPF Route cost Manipulation

Vi kan manipulera OSPF:s ruttkostnad på två sätt.

  1. För att ändra gränssnittets bandbredd
  2. För att ändra referensvärdet för bandbredd

För att ändra gränssnittets bandbredd

Sub interface mode command Bandwidth används för att ställa in bandbredden för gränssnittet som stöds.

Om bandbredd ställs in med det här kommandot kommer OSPF att använda det. Om bandbredd inte är inställd används gränssnittets standardbandbredd.

När vi aktiverar ett gränssnitt tilldelar routern automatiskt ett bandbreddsvärde till det baserat på dess typ. Seriellt gränssnitt har till exempel ett standardvärde för bandbredd på 1544k. Tills vi ändrar detta värde med kommandot bandwidth kommer det att användas där det behövs.

Låt mig klargöra en sak till om bandbredd. Att ändra standardbandbredden med kommandot bandwidth ändrar inte gränssnittets faktiska bandbredd. Varken standardbandbredd eller bandbredd som ställs in med bandbreddskommandot har något att göra med den faktiska bandbredden för en länk i lager ett.

Vilket syfte löser det här kommandot då?

Det här kommandot används endast för att påverka routningsprotokollet som använder bandbredd i ruttvalsprocessen, t.ex. OSPF och EIGRP.

Vi har redan sett ett exempel på den här metoden i vårt exempel. Vi ändrade standardbandbredden (1544 Kbps) till anpassad bandbredd (64 kbps) på R0:s seriella 0/0/0, R1:s seriella 0/0/1 och R2:s seriella 0/0/0. På grund av denna ändring tog R0 en annan router för nätverket 192.168.0.4.

Låt oss förstå detta mer i detalj.

Aktuell kostnad för destination 192.168.0.4 från R0

Via Route R0 – R1

R0:s Serial 0/0/0/0-kostnad (1562) + R1:s Serial 0/0/1-kostnad (1562) = 3124 (kumulativ kostnad)

Via Route R0 – R5 – R6 – R2

Via Route R0 – R3 – R4 – R6 – R2

Av dessa rutter, Rutten R0 – R5 – R6 – R2 har den lägsta kostnaden och valdes därför ut i routningstabellen.

Okej … Vilken rutt skulle ha valts om vi hade använt standardbandbredd?

Kostnad för destination 192.168.0.4 från R0 med standardbandbredd.

Via Route R0 – R1

R0:s Serial 0/0/0/0-kostnad (64) + R1:s Serial 0/0/1-kostnad (64) = 128 (kumulativ kostnad)

Via Route R0 – R5 – R6 – R2

Via Route R0 – R3 – R4 – R6 – R2

Av dessa rutter, Rutten R0 – R1 har det lägsta kostnadsvärdet och väljs därför i routningstabellen. Genom att ändra gränssnittets bandbredd har vi alltså faktiskt påverkat processen för val av rutt.

Förändra värdet för referensbandbredd

Som jag nämnde tidigare använder OSPF som standard 100Mbps bandbredd som referensbandbredd. Om du ändrar det här värdet ändras även kostnaden för rutten. Om vi använder 1000 Mbps som referensbandbredd skulle kostnaden för en 100 Mbps-länk bli 10. Detta låter bra, särskilt om vi har länkar med högre bandbredd i vårt nätverk. Titta till exempel på följande figur.

Vilken rutt tar R2 för att nå nätverket 10.0.0.0.0/8?

Rutt R2 – R3

I den här rutten har vi två utgångspunkter. Båda punkterna har en standardhastighet på 1oo Mbps.

R2:s FastEthernet-kostnad (100000000/100000000) = 1

R3:s FastEthernet-kostnad (100000000/100000000) = 1

Kostnad för den här rutten 1 + 1 = 2

Rutt R2 – R1 – R3

I den här rutten har vi tre utgångspunkter. Två utgångspunkter (R2 och R1) har en 1 Gbps-länk.

R2:s FastEthernet-kostnad (100000000/1000000000) = .1 (Allt under 1 betraktas som 1)

R3:s FastEthernet-kostnad (100000000/1000000000) = .1 (Allt under 1 betraktas som 1)

R3:s FastEthernet-kostnad (100000000/100000000) = 1

Kostnad för den här rutten 1 + 1 + 1 = 3

Med standardreferensbandbredd kommer R2 att välja Route R2 – R3, vilket inte är bra.

Vi kan justera referensbandbredden med kommandot auto-cost reference-bandwidth ref-band.

Vi måste justera referensbandbredden på alla routrar i nätverket. Felanpassad referensbandbredd kan leda till att routrarna kör SPF-algoritmen kontinuerligt, vilket kan skapa ett allvarligt prestandaproblem.

Referensbandbredd tilldelas i Mbps. Giltigt intervall är 1 till 4294967. Standardreferensbandbredd är 100 Mbps.

Syndigt nog innehåller inte packet tracer det här kommandot. För att öva på det här kommandot, använd andra simuleringsmjukvaror som stöder det här kommandot eller använd en riktig router.

Låt oss ändra referensbandbredden till 1000Mbps på alla tre routrar med följande kommandon

Router# configure terminalEnter configuration commands, one per line. End with CNTL/Z.Router (config)#router ospf 1Router (config-router)#auto-cost reference-bandwidth 1000% OSPF: Reference bandwidth is changed. Please ensure reference bandwidth is consistent across all routers.Router (config-router)#exitRouter #

Ruttkostnad med ny referens. bandwidth

{module in_art_slot_10}

Route R2 – R3

R2’s FastEthernet cost (1000000000/100000000) = 10

R3’s FastEthernet cost (1000000000/100000000) = 10

Kostnad för denna rutt 10 + 10 = 20

Rutt R2 – R1 – R3

R2:s FastEthernet-kostnad (1000000000/1000000000) = 1

R3:s FastEthernet (1000000000/1000000000) = 1

R3:s FastEthernet-kostnad (1000000000/100000000) = 10

Kostnad för denna rutt 1 + 1 + 10 = 12

I detta fall rutt R2-R1-R3 kommer att väljas, vilket är den kortaste vägen till destinationen.

Det var allt för den här artikeln. Jag hoppas att du nu har bättre förståelse för OSPF Routing protocol. I nästa artikel kommer jag att förklara Access List i detalj med exempel.

Articles

Lämna ett svar

Din e-postadress kommer inte publiceras.