I tidigare avsnitt har vi lärt oss att ett routing-protokoll använder en måttenhet, känd som metric, för att bestämma den bästa vägen för ett paket över ett nätverk. En metric används för att beräkna kostnad på en specifik väg, den som är mest fördelaktig att skicka data över ett visst interface. OSPF använder kostnaden som en metric. En lägre kostnad indikerar en bättre väg än en högre kostnad.
Kostnaden för ett Cisco-interface är omvänt proportionell mot interfacets bandbredd. Därför indikerar en högre bandbredd en lägre kostnad. Formeln som används för att beräkna OSPF-kostnaden är:
Kostnad = referensbandbredd bps / interfacets bandbredd
Den förinställda referensbandbredden är 10^8 (100 000 000); därför är formeln:
Kostnad = 100 000 000 bps / interfacets bandbredd i bps
Se tabellen för en uppdelning av kostnadsberäkningen. Eftersom OSPF-kostnadsvärdet måste vara ett heltal delar FastEthernet, Gigabit Ethernet och 10 Gigabit Ethernet (10 GigE) interfacen samma kostnad.
På bilden nedan, som visar de OSPF standardkostnader, har två av dem markerats och avrundats till 1, trots att värdena egentligen är närmare 0.
För att korrigera denna situation kan du:
- Justera referensbandbredden med kommandot auto-cost reference-bandwidth på varje OSPF-router.
- Manuellt ange OSPF-kostnadsvärdet med kommandot ip ospf cost på nödvändiga gränssnitt.
Justera Referensbandbredden
Kostnadsvärdet för OSPF måste vara ett heltal. Om en beräkning resulterar i ett värde mindre än ett heltal, kommer OSPF att avrunda upp till det närmaste heltalet. Till exempel, om ett Gigabit Ethernet-interface har en standardreferensbandbredd på 100 000 000 bps, skulle OSPF-kostnaden för det avrundas till 1, eftersom det närmaste heltalet för 0,1 är 0 istället för 1.
Kostnad = 100 000 000 bps / 1 000 000 000 = 108 * 10-9 = 10-1 = 0,1 = 1
Detta innebär att alla interface som är snabbare än Fast Ethernet kommer att ha samma kostnadsvärde som ett Fast Ethernet-interface. För att hjälpa OSPF att göra korrekta ruttförbestämningar behöver referensbandbredden justeras till ett högre värde för att kunna hantera nätverk med länkar som är snabbare än 100 Mbps
Att ändra referensbandbredden påverkar faktiskt inte bandbreddskapaciteten på länken; det påverkar helt enkelt beräkningen som används för att bestämma metric. För att justera referensbandbredden, använd auto-cost reference-bandwidth Mbps konfigurationskommandot för routern.
Router(config-router)# auto-cost reference-bandwidth Mbps
Detta kommando måste konfigureras på varje router i OSPF-domänen. Observera att värdet uttrycks i Mbps; därför, för att justera kostnaderna för
- Gigabit Ethernet, använd kommandot auto-cost reference-bandwidth 1000.
- För 10 Gigabit Ethernet, använd kommandot auto-cost reference-bandwidth 10000.
För att återgå till standardreferensbandbredden, använd auto-cost reference-bandwidth 100 kommandot.
Oavsett vilken metod som används är det viktigt att tillämpa konfigurationen på alla routrar i OSPF-routing-domänen. Tabellen visar OSPF-kostnader där referensbandbredden har justerats för att kunna hantera 10 Gigabit Ethernet-länkar. Referensbandbredden bör justeras varje gång det finns länkar som är snabbare än Fast Ethernet (100 Mbps).
Referens OSPF topologi
Exempel av justering av referensbandbredden:
- R1# show ip ospf interface gigabitethernet0/0/0
- GigabitEthernet0/0/0 is up, line protocol is up
- Internet Address 10.1.1.5/30, Area 0, Attached via Interface Enable
- Process ID 10, Router ID 1.1.1.1, Network Type POINT_TO_POINT, Cost: 1
- (output omitted)
- R1# config t
- Enter configuration commands, one per line. End with CNTL/Z.
- R1(config)# router ospf 10
- R1(config-router)# auto-cost reference-bandwidth 10000
- % OSPF: Reference bandwidth is changed. Please ensure reference bandwidth is consistent across all routers.
- R1(config-router)# do show ip ospf interface gigabitethernet0/0/0
- GigabitEthernet0/0 is up, line protocol is up Internet address is 172.16.1.1/24, Area 0
- Process ID 10, Router ID 1.1.1.1, Network Type BROADCAST, Cost: 10
- Transmit Delay is 1 sec, State DR, Priority 1
- (output omitted)
Kommandot show ip ospf interface g0/0/0 har använts för att verifiera den aktuella OSPFv2-kostnaden som har tilldelats R1:s GigabitEthernet 0/0/0-interface. Observera att det visar en kostnad på 1. Efter att ha justerat referensbandbredden är kostnaden nu 10. Detta möjliggör en övergång till 10 Gigabit Ethernet-interface i framtiden utan att behöva justera referensbandbredden igen.
Observera: Kommandot auto-cost reference-bandwidth måste konfigureras konsekvent på alla routrar i OSPF-domänen för att säkerställa korrekta kostnadsberäkningar.