Tässä opetusohjelmassa selitetään OSPF Metric -laskentakaava ja SPF-algoritmi vaihe vaiheelta yksityiskohtaisesti esimerkkien avulla. Opi, miten SPF (Shortest Path First) -algoritmi laskee reitin kumulatiiviset kustannukset lyhimmän polun puun (SPT) rakentamiseksi ja miten OSPF:n metriikan laskentakaavaa voidaan manipuloida muuttamalla referenssikaistan arvoa.
Lyhin polku ensin (SPF) -algoritmi
Tietääksemme OSPF-reititin luo LSA:n initiaation yhteydessä tai minkä tahansa reititystietomuutoksen vuoksi. Tämä LSA (Link State Advertisement) sisältää kokoelman kaikista kyseisen reitittimen linkkitiloista. Reititin levittää tätä LSA:ta verkossa. Jokainen reititin, joka vastaanottaa tämän LSA:n, tallentaa siitä kopion LSA-tietokantaansa ja lähettää sen jälkeen tämän LSA:n muille reitittimille.
Tietokannan päivittämisen jälkeen reititin valitsee kaikista saatavilla olevista reiteistä yhden parhaan reitin kuhunkin kohteeseen. Reititin käyttää SPF-algoritmia valitakseen parhaan reitin.
Kuten muutkin reititysalgoritmit, myös SPF käyttää metriikan komponenttia nimeltä kustannus valitakseen parhaan reitin reititystaulukkoon.
Tämä opetusohjelma on viimeinen osa artikkelistamme ”OSPF-reititysprotokolla selitetty esimerkkien avulla”. Voit lukea artikkelin muut osat täältä.
OSPF Fundamental Terminology Explained
Tämä opetusohjelma on tämän artikkelin ensimmäinen osa. Tässä osassa selitimme OSPF:n perusterminologiaa, kuten Feature , Advantage and Disadvantage, Autonomous System, Area concept, ABR, IR, Link, State ,LSA ja LSDB esimerkkien avulla.
OSPF Neighborship Condition and Requirement
Tämä opetusohjelma on tämän artikkelin toinen osa. OSPF-naapuruus muodostuu kahden reitittimen välille vain, jos Area ID:n, Authenticationin, Hello ja Dead intervalin, Stub Area:n ja MTU:n konfigurointiarvot vastaavat toisiaan. Tässä osassa selitetään nämä parametrit ja OSPF-naapuruus yksityiskohtaisesti esimerkkien avulla.
OSPF Neighbor States Explained with Example
Tämä opetusohjelma on tämän artikkelin kolmas osa. OSPF-naapuruusprosessi käy läpi seitsemän tilaa; OSPF State down, OSPF State Init, OSPF State two ways, OSPF State Exstart, OSPF State Exchange, OSPF State Loading ja OSPF State full. Tässä osassa selitetään nämä tilat DR BDR-valintaprosessin kanssa yksityiskohtaisesti esimerkkien avulla.
OSPF-konfigurointi askel askeleelta -opas
Tämä opetusohjelma on tämän artikkelin neljäs osa. OSPF:n konfigurointiosio sisältää prosessin ID:n, alueen ID:n ja jokerimaskin, jotka tekevät sen käyttöönotosta hieman vaikeampaa. Tässä osassa selitetään nämä parametrit yksityiskohtaisesti esimerkkien avulla.
OSPF Metric cost
Logiikaltaan paketti joutuu kohtaamaan enemmän yleiskustannuksia ylittäessään 56Kbps sarjalinkin kuin ylittäessään 100Mbps Ethernet-linkin. Vastaavasti se kuluttaa vähemmän aikaa ylittäessään suuremman kaistanleveyden linkin kuin pienemmän kaistanleveyden linkin. OSPF käyttää tätä logiikkaa kustannusten laskemiseen. Kustannukset ovat kääntäen verrannollisia kaistanleveyteen. Suuremmalla kaistanleveydellä on alhaisemmat kustannukset. Pienemmällä kaistanleveydellä on korkeammat kustannukset.
OSPF käyttää seuraavaa kaavaa kustannusten laskemiseen
Kustannus = Vertailukaistanleveys / Rajapinnan kaistanleveys bps.
Viitekaistanleveys määriteltiin OSPF:n dokumentaatiossa (RFC 2338) mielivaltaiseksi arvoksi. Valmistajien on käytettävä omaa referenssikaistanleveyttään. Cisco käyttää vertailukaistanleveytenä 100 Mbps (108) kaistanleveyttä. Tällä kaistanleveydellä yhtälömme olisi
Kustannus = 108/liitännän kaistanleveys bps:ssä
Pääkohdat
- Kustannus on positiivinen kokonaislukuarvo.
- Mikä tahansa desimaaliarvo pyöristetään takaisin lähimpään positiiviseen kokonaislukuun.
- Mitä tahansa arvoa, joka on alle 1, pidettäisiin arvona 1.
Nyt tiedämme yhtälön, tehdäänpä hieman matematiikkaa ja selvitetään joidenkin olennaisten rajapintojen oletuskustannukset.
Olemassa olevien rajapintojen oletuskustannukset.
Interfacetyyppi | kaistanleveys | Metrinen laskenta | kustannus |
Ethernet-linkki | 10Mbps | 100000000/10000000 = 10 | 10 |
FastEthernet Link | 100Mbps | 100000000/1000000 = 1 | 1 |
Seriaalinen linkki | 1544Kbps(oletus) | 100000000/1544000 = 64.76 | 64 |
Yhteisten linjojen kustannukset
Linja | kaistanleveys | Metrinen laskenta | Kustannukset |
56 Kbps linja | 56Kbps | 100000000/56000 = 1785.71 | 1785 |
64 Kbps linja | 64Kbps | 100000000/64000 = 1562.5 | 1562 |
128 Kbps linja | 128Kbps | 100000000/128000 = 781.25 | 781 |
512 Kbps linja | 512 Kbps | 100000000/512000 = 195.31 | 195 |
1 Mbps linja | 1Mbps | 100000000/1000000 = 100 | 100 |
10 Mbps linja | 10Mbps | 100000000/10000000 = 1 | 1 |
10 Gbps linja | 10Gbps | 100000000/10000000000 = 0.01 | 1 |
SPT (lyhimmän polun puu)
OSPF-reititin rakentaa lyhimmän polun puun. SPT on kuin sukupuu, jossa reititin on juuri ja kohdeverkot ovat lehtiä. SPF-algoritmi laskee lehtien ja juuren välisen haaran kustannukset. Alhaisimman kustannuksen omaavaa haaraa käytetään lehtien tavoittamiseen. Teknisesti sanottuna reitti, jolla on pienin kumulatiivinen kustannusarvo lähteen ja määränpään välillä, valitaan reititystaulukkoon.
Kumulatiivinen kustannus = Reitin kaikkien lähtevien liittymien kustannusten summa
Paras reitti reititystaulukkoon = Reitti, jolla on pienin kumulatiivinen kustannus
Yhteenveto
- OSPF käyttää SPT-puuta laskeakseen parhaan reitin reititystaulukkoon.
- SPT-puu ei voi kasvaa alueen ulkopuolelle. Joten jos reitittimellä on rajapintoja usealla alueella, sen on rakennettava erillinen puu jokaiselle alueelle.
- SPF-algoritmi laskee kaikki mahdolliset reitit lähdeviitittimeltä kohdeverkkoon.
- Kumulatiivinen kustannus on polun kaikkien lähtevien OSPF-rajapintojen kaikkien kustannusten summa.
- Kumulatiivista kustannusta laskiessaan OSPF huomioi polun vain lähtevät rajapinnat. Se ei lisää kumulatiivisiin kustannuksiin saapuvien rajapintojen kustannuksia.
- Jos on olemassa useita reittejä, SPF vertaa kumulatiivisia kustannuksia. Reitti, jonka kumulatiiviset kustannukset ovat pienimmät, valitaan reititystauluun.
Nyt meillä on perusymmärrys SPF-algoritmista. Jäljellä olevassa osassa tätä opetusohjelmaa opimme, miten SPF-algoritmi valitsee parhaan reitin käytettävissä olevista reiteistä.
Luo harjoituslaboratorio seuraavan kuvan mukaisesti tai lataa tämä valmiiksi luotu harjoituslaboratorio ja lataa se practice traceriin.
Lataa OSPF-harjoitustopologia, jossa on OSPF-konfiguraatio
Käynnistä Reititin0:n CLI-kehote.
Suoritat show ip route ospf -komennon etuoikeustilasta nähdäksesi kaikki OSPF-protokollan kautta opitut reitit.
Kuten tulosteesta näkyy, Reititin0:lla on reititystaulukossaan kuusi reittiä, jotka on opittu reitityksestä. Käymme jokaisen reitin läpi ja selvitämme, miksi OSPF on valinnut sen parhaaksi reititystaulukkoon.
Reitti 20.0.0.0
Meillä on kolme reittiä, joilla saamme 20.0.0.0/8-verkon. Lasketaan jokaisen reitin kumulatiiviset kustannukset.
Reitin R0-R1-R2 kautta-R6
Via reitti R0 – R3 – R4 – R6
Via reitti R0 – R5 – R6
Reititin | Exit-liittymä | Bandwidth | Metric Calculation | Cost |
R0 | Fa0/1 | 100Mbps | 100000000/100000000 = 1 | 1 |
R5 | Fa0/0 | 100Mbps | 100000000/100000000 = 1 | 1 |
R0 | Fa0/1 | 100Mbps | 100000000/1000000 = 1 | 1 |
Reitin kumulatiivinen kustannus (1+ 1 + 1 + 1) =3 |
Näiden reittien kesken, reitillä R0-R5-R6 on pienimmät kumulatiiviset kustannukset. Niinpä se valittiin parhaaksi reitiksi reititystaulukkoon.
Reitti 192.168.0.4
Reitin R0 – R1
R0:n Serial 0/0/0 kustannus (1562) + R1:n Serial 0/0/1 kustannus (1562) + R1:n Serial 0/0/1 kustannus (1562) = 3124 (Kumulatiivinen kustannus)
Reitin R0 – R3 – R4 – R6 – R2
Reitin R0 – R5 – R6 – R2
Tämän reitin välissä, Reitillä R0 – R5 – R6 – R2 on pienimmät kustannukset, joten se valittiin reititystaulukkoon.
Reitti 192.168.0.8
Reitin R0 – R1
R0:n Serial 0/0/0 kustannus (1562) + R1:n Serial 0/0/1 kustannus (1562) + R2:n Serial 0/0/0 (1562) + R2:n Serial 0/0/0 (1562) = 4686 (Kumulatiivinen kustannus)
Reitin R0 – R3 – R4 – R6
R0:n Serial 0/0/1 kustannus (64) + R3:n Serial 0/0/0 kustannus (64) = 4686. R4:n Serial 0/0/1 kustannus (64) + R6:n Serial 0/0/0 kustannus (64) = 256 (Kumulatiivinen kustannus)
Via reitti R0 – R5 – R6
Ro:n FastEthernet 0/1 kustannus (1) + R5:n FastEthernet 0/0 kustannus (1) + R6:n Serial 0/0/0 kustannus (64) = 66 (Kumulatiivinen kustannus)
Tämän reitin välissä, Reitillä R0 – R5 – R6 on pienimmät kustannukset, joten se valittiin reititystaulukkoon.
Reitti 192.168.1.4
Reitin R0 – R1 – R2 – R6
R0:n Serial 0/0/0 kustannus (1562) + R1:n Serial 0/0/1 kustannus (1562) + R2:n Serial 0/0/0 kustannus (1562) + R6:n FastEthernet 0/0 kustannus (1) + R6:n FastEthernet 0/0 kustannus (1) + R6:n FastEthernet 0/0 (1) kustannus (1) + R1:n Serial 0/0/1 kustannus (1562) + R1:n Serial 0/0/1 kustannus (1562) + R2:n Serial 0/0/0 kustannus (1) + R2:n FastEthernet 0/0 0/0 kustannus (1) + R2:n FastEthernet 0/0/0 (1) + R2:n FastEthernet 0/0/0 (1) kustannus (1) + R2:n FastEthernet 0/0/0 (1) + R6:n Rest. Serial 0/0/1 kustannus (64) + R3:n Serial 0/0/0 kustannus (64) + R4:n Serial 0/0/1 kustannus (64) + R6:n FastEthernet 0/0 (1) = 193
Via R0 – R5
R0:n FastEthernet 0/1 kustannus (1) + R5:n FastEthernet 0/0 kustannus (1) = 2
Tämän reitin sisällä, Reitillä R0 – R5 on pienimmät kustannukset, joten se valittiin parhaaksi reitiksi.
Reitti 192.168.2.4
Reitin R0 – R1 – R2 – R6 – R4
Reitin R0 – R5 – R6 – R4
R0:n FastEthernet 0/1 kustannus (1) + R5:n FastEthernet 0/0 kustannus (1) + R6:n Serial. 0/0/1 (64) + R4:n Serial 0/0/0 kustannus (64) = 130
Reitti R0 – R3
R0:n Serial 0/0/1 kustannus (64) + R3:n Serial 0/0/0 kustannus (64) + R3:n Serial 0/0/0 kustannus (64) = 128
Tämän reitin kautta, Reitillä R0 – R3 on alhaisin kustannus määränpäähän 192.168.2.4.
Reitti 192.168.2.4.8
Reitin R0 – R3 – R4
R0:n Serial 0/0/1 kustannus (64) + R3:n Serial 0/0/0 kustannus (64) + R4:n Serial 0/0/1 kustannus (64) + R4:n Serial 0/0/1 kustannus (64) = 192
Reitin R0 – R1 – R2 – R6
Reitin R0 – R1 – R2 – R6
Ro:n Serial 0/0/0 kustannus (1562) + R1:n Serial 0/0/1 kustannus (1562) + R2:n Sarja 0/0/1 kustannukset. Serial 0/0/0 kustannus (1562) + R6:n Serial 0/0/1 kustannus (64) = 4750
Via Reitti R0 – R5 – R6
R0:n FastEthernet 0/1:n kustannus (1) + R5:n FastEthernet 0/0:n kustannus (1) + R6:n Serial 0/0/1:n kustannus (64) = 66
Reitillä R0 – R5 – R6 on pienin kustannusarvo.
Kunkin kohteen parhaan reitin valitsemisen jälkeen OSPF-verkko näyttää seuraavalta kuviolta.
OSPF-reittikustannusten manipulointi
Voidaan manipuloida OSPF-reittikustannuksia kahdella tavalla.
- Muuttamalla rajapinnan kaistanleveyttä
- Muuttamalla referenssikaistanleveyden arvoa
Muuttamalla rajapinnan kaistanleveyttä
Liityntärajapintatilan komennolla Bandwidth asetetaan tuetun rajapinnan kaistanleveys.
Jos kaistanleveys asetetaan tämän komennon avulla, OSPF käyttää sitä. Jos kaistanleveyttä ei ole asetettu, se käyttää rajapinnan oletuskaistanleveyttä.
Kun otamme rajapinnan käyttöön, reititin määrittää sille automaattisesti kaistanleveysarvon sen tyypin perusteella. Esimerkiksi sarjaliitännän kaistanleveyden oletusarvo on 1544k. Kunnes muutamme tätä arvoa bandwidth-komennolla, sitä käytetään siellä, missä sitä tarvitaan.
Sallikaa minun selventää vielä yksi asia kaistanleveydestä. Oletuskaistanleveyden muuttaminen bandwidth-komennolla ei muuta rajapinnan todellista kaistanleveyttä. Ei oletuskaistanleveydellä eikä kaistanleveys-komennolla asetetulla kaistanleveydellä ole mitään tekemistä todellisen ykköskerroksen linkin kaistanleveyden kanssa.
Mitä tarkoitusta tämä komento sitten ratkaisee?
Tätä komentoa käytetään vain vaikuttamaan reititysprotokollaan, joka käyttää kaistanleveyttä reitinvalintaprosessissa, kuten esim. reititysprotokollaan OSPF ja reititysprotokollaan EIRGRP.
Olemme nähneet jo esimerkin esimerkissämme esimerkin tästä menetelmästä. Muutimme oletuskaistanleveyden (1544 Kbit/s) mukautetuksi (64 kbit/s) kaistanleveydeksi R0:n sarjan 0/0/0, R1:n sarjan 0/0/1 ja R2:n sarjan 0/0/0 kohdalla. Tämän muutoksen vuoksi R0 otti toisen reitittimen 192.168.0.4 verkkoon.
Ymmärretään tämä tarkemmin.
Tämänhetkinen kustannus kohteelle 192.168.0. Reitillä R0 – R5 – R6 – R2 on pienimmät kustannukset, joten se valittiin reititystauluun.
Noh … Mikä reitti olisi valittu, jos olisimme käyttäneet oletuskaistanleveyttä?
Kustannus määränpäähän 192.168.0.4 R0:sta oletuskaistanleveydellä.
Reitin R0 – R1
R0:n Serial 0/0/0 kustannus (64) + R1:n Serial 0/0/1 kustannus (64) = 128 (Kumulatiivinen kustannus)
Reitin R0 – R5 – R6 – R2
Reitin R0 – R3 – R4 – R6 – R2
Tästä reitistä, Reitillä R0 – R1 on alhaisin kustannusarvo, joten se valitaan reititystaulukkoon. Näin ollen muuttamalla rajapinnan kaistanleveyttä vaikutimme itse asiassa reitinvalintaprosessiin.
Muuttamalla referenssikaistanleveyden arvoa
Kuten aiemmin mainitsin, OSPF käyttää oletusarvoisesti 100 Mbps:n kaistanleveyttä referenssikaistanleveytenä. Tämän arvon muuttaminen muuttaisi myös reitin kustannuksia. Jos käytämme referenssikaistanleveytenä 1000 Mbps, 100 Mbps:n linkin kustannukseksi tulee 10. Tämä kuulostaa hyvältä, varsinkin jos verkossamme on suuremman kaistanleveyden linkkejä. Katso esimerkiksi seuraavaa kuvaa.
Mitä reittiä R2 käyttää päästäkseen verkkoon 10.0.0.0/8?
Reitti R2 – R3
Tässä reitissä meillä on kaksi poistumispistettä. Molemmissa pisteissä on oletusarvoisesti 1oo Mbps nopeus.
R2:n FastEthernet-kustannus (100000000/10000000000) = 1
R3:n FastEthernet-kustannus (100000000/10000000000) = 1
Tämän reitin kustannus 1 + 1 = 2
REITTI R2-R1-R3
Tämässä reitityksessä meillä on kolme ulostuloa. Kahdessa poistumispisteessä (R2 ja R1) on 1 Gbps:n linkki.
R2:n FastEthernet-kustannus (100000000/1000000000) = ,1 (Kaikki alle 1:n katsotaan 1:ksi)
R3:n FastEthernet-kustannus (100000000/1000000000) = .1 (Kaikki alle 1 katsotaan 1:ksi)
R3:n FastEthernet-kustannus (100000000/100000000) = 1
Tämän reitin kustannus 1 + 1 + 1 = 3
Default-referenssikaistanleveydellä R2 valitsee reitin R2 – R3, mikä ei ole hyvä.
Voidaan säätää referenssikaistanleveyttä komennolla auto-cost reference-bandwidth ref-band.
Voidaan säätää referenssikaistanleveyttä verkon kaikilla reitittimillä. Epäsuhtainen viitekaistanleveys voi aiheuttaa sen, että reitittimet suorittavat SPF-algoritmia jatkuvasti, mikä voi aiheuttaa vakavia suorituskykyongelmia.
Viitekaistanleveys määritetään Mbit/s. Voimassa oleva alue on 1 – 4294967. Oletusarvoinen referenssikaistanleveys on 100 Mbps.
Packet tracer ei valitettavasti sisällä tätä komentoa. Käytä tämän komennon harjoitteluun muita simulaattoriohjelmistoja, jotka tukevat tätä komentoa, tai käytä oikeaa reititintä.
Muutetaan referenssikaistanleveys 1000Mbps:ksi kaikilla kolmella reitittimellä seuraavilla komennoilla
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 #
Reittikustannukset uudella referenssikaistalla. bandwidth
{module in_art_slot_10}
Reitti R2 – R3
R2:n FastEthernet-kustannus (1000000000/100000000) = 10
R3:n FastEthernet-kustannus (1000000000/100000000) = 10
Tämän reitin kustannukset 10 + 10 = 20
Reitti R2 – R1 – R3
R2:n FastEthernet-kustannus (1000000000/1000000000) = 1
R3:n FastEthernet-kustannus (1000000000/1000000000) = 1
R3:n FastEthernet (1000000000/1000000000) = 1
R3:n FastEthernet-kustannus (1000000000/10000000000) = 10
Tämän reitin kustannukset 1 + 1 + 10 = 12
Tässä tapauksessa reitti R2-R1-R3 valitaan, joka on lyhin reitti määränpäähän.
Ei muuta tähän artikkeliin. Toivottavasti ymmärrät nyt paremmin OSPF-reititysprotokollan. Seuraavassa artikkelissa selitän pääsylistan yksityiskohtaisesti esimerkkien avulla.