Acest tutorial explică formula de calcul a costului metric OSPF și algoritmul SPF pas cu pas, în detaliu, cu exemple. Aflați cum algoritmul SPF (Shortest Path First) calculează costul cumulativ al rutei pentru a construi arborele cu cea mai scurtă cale (SPT) și cum poate fi manipulată formula metrică OSPF prin modificarea valorii lățimii de bandă de referință.
Algoritmul SPF (Shortest Path First)
După cum știm la inițializare sau datorită oricărei modificări a informațiilor de rutare, un router OSPF generează un LSA. Acest LSA (Link State Advertisement) conține colecția tuturor link-statelor de pe acel router. Routerul propagă acest LSA în rețea. Fiecare router care primește acest LSA stochează o copie a acestuia în baza sa de date LSA, apoi difuzează acest LSA către alte routere.
După actualizarea bazei de date, routerul selectează o singură rută optimă pentru fiecare destinație din toate rutele disponibile. Routerul utilizează algoritmul SPF pentru a selecta cea mai bună rută.
Ca și alți algoritmi de rutare, SPF utilizează, de asemenea, o componentă metrică numită cost pentru a selecta cea mai bună rută pentru tabelul de rutare.
Acest tutorial este ultima parte a articolului nostru „OSPF Routing Protocol Explained with examples”. Puteți citi alte părți ale acestui articol aici.
Explicarea terminologiei fundamentale a OSPF
Acest tutorial este prima parte a acestui articol. În această parte am explicat terminologia de bază a OSPF, cum ar fi Feature , Advantage and Disadvantage, Autonomous System, Area concept, ABR, IR, Link, State ,LSA și LSDB cu exemple.
OSPF Neighborship Condition and Requirement
Acest tutorial este a doua parte a acestui articol. Vecinătatea OSPF se construiește între două routere numai dacă valoarea de configurare a ID-ului zonei, autentificării, intervalului Hello și Dead, zonei Stub și MTU se potrivesc. Această parte explică acești parametri și adiacența OSPF în detaliu, cu exemple.
Statele de vecinătate OSPF explicate cu exemple
Acest tutorial este a treia parte a acestui articol. Procesul de adiacență OSPF trece prin cele șapte stări; OSPF State down, OSPF State Init, OSPF State two ways, OSPF State Exstart, OSPF State Exchange, OSPF State Loading și OSPF State full. Această parte explică aceste stări cu procesul de selecție DR BDR în detaliu, cu exemple.
Ghid de configurare OSPF pas cu pas
Acest tutorial este a patra parte a acestui articol. Partea de configurare a OSPF include ID-ul de proces, ID-ul de zonă și masca wildcard care face ca configurarea sa să fie un pic mai dificilă. Această parte explică acești parametri în detaliu cu exemple.
OSPF Metric cost
Logic, un pachet se va confrunta cu mai mult supraîncărcare la traversarea unei legături seriale de 56Kbps decât la traversarea unei legături Ethernet de 100Mbps. Respectiv, va dura mai puțin timp în traversarea unei legături cu lățime de bandă mai mare decât a unei legături cu lățime de bandă mai mică. OSPF utilizează această logică pentru a calcula costul. Costul este invers proporțional cu lățimea de bandă. O lățime de bandă mai mare are un cost mai mic. O lățime de bandă mai mică are un cost mai mare.
OSPF utilizează următoarea formulă pentru a calcula costul
Cost = Lățimea de bandă de referință / Lățimea de bandă a interfeței în bps.
Lățimea de bandă de referință a fost definită ca o valoare arbitrară în documentația OSPF (RFC 2338). Furnizorii trebuie să utilizeze propria lor lățime de bandă de referință. Cisco utilizează lățimea de bandă de 100Mbps (108) ca lățime de bandă de referință. Cu această lățime de bandă, ecuația noastră ar fi
Cost = 108/lățime de bandă a interfeței în bps
Puncturi cheie
- Costul este o valoare întreagă pozitivă.
- Care valoare zecimală va fi rotunjită în cel mai apropiat număr întreg pozitiv.
- Care valoare sub 1 ar fi considerată ca fiind 1.
Acum cunoaștem ecuația, haideți să facem niște calcule și să ne dăm seama de costul implicit al unor interfețe esențiale.
Costul implicit al interfețelor esențiale.
Tip de interfață | Lățime de bandă | Calcul metric | Cost |
Legătură Ethernet | 10Mbps | 100000000/10000000 = 10 | 10 |
FastEthernet Link | 100Mbps | 100000000/1000000 = 1 | 1 |
Serial Link | 1544Kbps(default) | 100000000/1544000 = 64.76 | 64 |
Costul liniilor comune
Linia | Lățime de bandă | Calcul metric | Cost | |
Linia de 56 Kbps | 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 line | 512 Kbps | 100000000/512000 = 195.31 | 195 | |
1 Mbps line | 1Mbps | 100000000/1000000 = 100 | 100 | |
10 Mbps line | 10 Mbps | 100000000/10000000 = 10 | 10 | |
100 Mbps line | 100Mbps | 100000000/1000000000000 = 1 | 1 | |
1 Gbps line | 1 Gbps | 1Gbps | 100000000/1000000000000 0= 0.1 | 1 |
10 Gbps linie | 10Gbps | 100000000/10000000000 = 0.01 | 1 |
SPT (Shortest Path Tree)
Routerul OSPF construiește un Shortest Path Tree. SPT este la fel ca un arbore genealogic în care routerul este rădăcina și rețelele de destinație sunt frunzele. Algoritmul SPF calculează costul ramurii între frunze și rădăcină. Ramura cu cel mai mic cost va fi utilizată pentru a ajunge la frunză. În limbaj tehnic, ruta care are cea mai mică valoare a costului cumulativ între sursă și destinație va fi selectată pentru tabelul de rutare.
Costul cumulativ = Suma costurilor tuturor interfețelor de ieșire din rută
Cea mai bună rută pentru tabela de rutare = Ruta care are cel mai mic cost cumulativ
Rezumat
- OSPF utilizează arborele SPT pentru a calcula cea mai bună rută pentru tabela de rutare.
- Un arbore SPT nu poate crește dincolo de zonă. Deci, dacă un router are interfețe în mai multe zone, acesta trebuie să construiască un arbore separat pentru fiecare zonă.
- Agoritmul OSPF calculează toate rutele posibile de la routerul sursă la rețeaua de destinație.
- Costul cumulativ este suma tuturor costurilor interfețelor OSPF de ieșire din traseu.
- În timpul calculării costului cumulativ, OSPF ia în considerare numai interfețele de ieșire din traseu. Acesta nu adaugă costul interfețelor de intrare în costul cumulativ.
- Dacă există rute multiple, SPF compară costurile cumulative. Ruta care are cel mai mic cost cumulativ va fi aleasă pentru tabela de rutare.
Acum avem o înțelegere de bază a algoritmului SPF. În partea rămasă a acestui tutorial vom învăța cum algoritmul SPF selectează cea mai bună rută din rutele disponibile.
Creați un laborator de practică așa cum este ilustrat în figura următoare sau descărcați acest laborator de practică pre-creat și încărcați-l în tracerul de practică.
Download OSPF Practice Topology with OSPF configuration
Accesați promptul CLI al Router0.
Executați comanda show ip route ospf din modul privilegii pentru a vizualiza toate rutele învățate prin protocolul OSPF.
Așa cum arată ieșirea, Router0 are șase rute din OSPF în tabela de rutare. Vom trece în revistă fiecare rută și vom afla de ce a fost aleasă ca fiind cea mai bună rută din tabela de rutare de către OSPF.
Rute 20.0.0.0.0
Avem trei rute pentru a obține rețeaua 20.0.0.0/8. Să calculăm costul cumulat al fiecărei rute.
Via Route R0-R1-R2-R6
Via ruta R0 – R3 – R4 – R6
Via ruta R0 – R5 – R6
Router | Exit Interface | Lățime de bandă | Calcul metric | Cost |
R0 | Fa0/1 | 100Mbps | 100000000/1000000 = 1 | 1 |
R5 | Fa0/0 | 100Mbps | 100000000/1000000000000 = 1 | 1 |
R0 | Fa0/1 | 100Mbps | 100000000/1000000000000 = 1 | 1 |
Costul cumulat al rutei (1+ 1 + 1) =3 |
Printre aceste rute, ruta R0-R5-R6 are cel mai mic cost cumulat. Așa că a fost selectată ca fiind cea mai bună rută pentru tabela de rutare.
Ruta 192.168.0.4
Via Route R0 – R1
Costul Serial 0/0/0/0 al lui R0 (1562) + costul Serial 0/0/1 al lui R1 (1562) = 3124 (cost cumulat)
Via Route R0 – R3 – R4 – R6 – R2
Via Route R0 – R5 – R6 – R2
Printre aceste rute, Ruta R0 – R5 – R6 – R6 – R2 are cel mai mic cost, astfel încât a fost aleasă pentru tabelul de rutare.
Ruta 192.168.0.8
Via Route R0 – R1
Costul Serial 0/0/0 al lui R0 (1562) + costul Serial 0/0/1 al lui R1 (1562) + costul Serial 0/0/0 al lui R2 (1562) = 4686 (Costul cumulat)
Via Route R0 – R3 – R4 – R6
Costul Serial 0/0/1 al lui R0 (64) + costul Serial 0/0/0/0 al lui R3 (64) + costul Serial 0/0/0 al lui R3 (64) + R4’s Serial 0/0/0/1 cost (64) + R6’s Serial 0/0/0/0 cost (64) = 256 (Cost cumulat)
Via Route R0 – R5 – R6
R0’s FastEthernet 0/1 cost (1) + R5’s FastEthernet 0/0 cost (1) + R6’s Serial 0/0/0/0 cost (64) + R6’s Serial 0/0/0 cost (64) = 66 (Cost cumulat)
Printre aceste rute, Ruta R0 – R5 – R6 are cel mai mic cost, astfel încât a fost aleasă pentru tabelul de rutare.
Ruta 192.168.1.4
Via Route R0 – R1 – R2 – R6
R0’s Serial 0/0/0 cost (1562) + R1’s Serial 0/0/1 (1562) + R2’s Serial 0/0/0/0 (1562) + R6’s FastEthernet 0/0 (1) = 4687 (Cost cumulat)
Via R0 – R3 – R4 – R6
R0’s Serial 0/0/1 cost (64) + Serial 0/0/0/0 cost (64) al lui R3 + Serial 0/0/1 cost (64) al lui R4 + FastEthernet 0/0 (1) al lui R6 = 193
Via R0 – R5
Costul FastEthernet 0/1 cost (1) al lui R0 + FastEthernet 0/0 cost (1) al lui R5 = 2
Printre aceste rute: R0 – R5
R0 – R5
Costul FastEthernet 0/1 cost (1) al lui R0 + FastEthernet 0/0 cost (1) al lui R5 = 2
Între aceste rute, Ruta R0 – R5 are cel mai mic cost, deci a fost selectată ca fiind cea mai bună rută.
Ruta 192.168.2.4
Via Route R0 – R1 – R2 – R6 – R4
Via Route R0 – R5 – R6 – R4
R0’s FastEthernet 0/1 cost (1) + R5’s FastEthernet 0/0 cost (1) + R6’s Serial 0/0/1 (64) + R4’s Serial 0/0/0/0 cost (64) = 130
Via Route R0 – R3
R0’s Serial 0/0/1 cost (64) + R3’s serial 0/0/0/0 cost (64) = 128
Printre aceste rute: R0 – R3
R0’s Serial 0/0/1 cost (64) + R3’s serial 0/0/0/0 cost (64) = 128
, Ruta R0 – R3 are cel mai mic cost pentru destinația 192.168.2.4.
Ruta 192.168.2.4.
Ruta 192.168.2.8
Via Route R0 – R3 – R4
Costul Serial 0/0/1 al lui R0 (64) + costul Serial 0/0/0/0 al lui R3 (64) + costul Serial 0/0/1 al lui R4 (64) = 192
Via Route R0 – R1 – R2 – R6
Costul Serial 0/0/0/0 al lui R0 (1562) + costul Serial 0/0/1 al lui R1 (1562) + costul Serial 0/0/1 al lui R2 (1562) Serial 0/0/0/0 cost (1562) + Serial 0/0/1 cost (64) al lui R6 = 4750
Via Route R0 – R5 – R6
R0’s FastEthernet 0/1 cost (1) + R5’s FastEthernet 0/0 cost (1) + R6’s Serial 0/0/1 cost (64) = 66
Route R0 – R5 – R6 are cea mai mică valoare a costului.
După selectarea celei mai bune rute pentru fiecare rețea OSPF de destinație, priviți cum arată următoarea figură.
Manipularea costului rutei OSPF
Potem manipula costul rutei OSPF în două moduri.
- Prin modificarea lățimii de bandă a interfeței
- Prin modificarea valorii de referință a lățimii de bandă
Prin modificarea lățimii de bandă a interfeței
Comanda Bandwidth din modul subinterfață este utilizată pentru a seta lățimea de bandă a interfeței suportate.
Dacă lățimea de bandă este setată prin această comandă, OSPF o va utiliza. Dacă lățimea de bandă nu este setată, se va utiliza lățimea de bandă implicită a interfeței.
Când activăm o interfață, routerul îi atribuie automat o valoare a lățimii de bandă în funcție de tipul acesteia. De exemplu, interfața serială are o valoare implicită a lățimii de bandă de 1544k. Până când nu schimbăm această valoare cu comanda bandwidth, aceasta va fi utilizată acolo unde este necesară.
Dă-mi voie să clarific încă un lucru despre lățimea de bandă. Schimbarea lățimii de bandă implicite cu comanda bandwidth nu modifică lățimea de bandă reală a interfeței. Nici lățimea de bandă implicită, nici lățimea de bandă setată prin comanda bandwidth nu are nimic de-a face cu lățimea de bandă reală a legăturii de nivel unu.
Atunci ce scop rezolvă această comandă?
Această comandă este utilizată doar pentru a influența protocolul de rutare care utilizează lățimea de bandă în procesul de selectare a rutelor, cum ar fi OSPF și EIGRP.
Am văzut deja un exemplu al acestei metode în exemplul nostru. Am schimbat lățimea de bandă implicită (1544Kbps) în lățime de bandă personalizată (64kbps) pe seria 0/0/0 a lui R0, seria 0/0/1 a lui R1 și seria 0/0/0/0 a lui R2. Datorită acestei modificări, R0 a luat un alt router pentru rețeaua 192.168.0.4.
Să înțelegem acest lucru mai în detaliu.
Costul curent pentru destinația 192.168.0.4 din R0
Via Route R0 – R1
Costul Serial 0/0/0 al lui R0 (1562) + costul Serial 0/0/1 al lui R1 (1562) = 3124 (Costul cumulat)
Via Route R0 – R5 – R6 – R2
Via Route R0 – R3 – R4 – R6 – R2
Printre aceste rute, Ruta R0 – R5 – R6 – R6 – R2 are cel mai mic cost, astfel încât a fost aleasă pentru tabelul de rutare.
Bine … Ce rută ar fi fost selectată, dacă am fi folosit lățimea de bandă implicită?
Costul pentru destinația 192.168.0.4 din R0 cu lățimea de bandă implicită.
Via Route R0 – R1
Costul Serial 0/0/0 al lui R0 (64) + costul Serial 0/0/1 al lui R1 (64) = 128 (Costul cumulat)
Via Route R0 – R5 – R6 – R2
Via Route R0 – R3 – R4 – R6 – R2
Printre aceste rute, Ruta R0 – R1 are cea mai mică valoare a costului, deci va fi selectată pentru tabela de rutare. Astfel, prin modificarea lățimii de bandă a interfeței, am influențat de fapt procesul de selecție a rutelor.
Prin modificarea valorii lățimii de bandă de referință
După cum am menționat mai devreme, în mod implicit OSPF utilizează lățimea de bandă de 100Mbps ca lățime de bandă de referință. Schimbarea acestei valori ar schimba, de asemenea, costul rutei. Dacă folosim 1000Mbps ca lățime de bandă de referință, costul unei legături de 100Mbps ar deveni 10. Acest lucru sună foarte bine, mai ales dacă avem legături cu lățime de bandă mai mare în rețeaua noastră. De exemplu, aruncați o privire la următoarea figură.
Ce rută va urma R2 pentru a ajunge la rețeaua 10.0.0.0.0/8?
Rută R2 – R3
În această rută avem două puncte de ieșire. Ambele puncte au viteza implicită de 1oo Mbps.
Costul FastEthernet al lui R2 (100000000/1000000000000) = 1
Costul FastEthernet al lui R3 (100000000/1000000000000) = 1
Costul acestei rute 1 + 1 = 2
Ruta R2 – R1 – R3
În această rută avem trei puncte de ieșire. Două puncte de ieșire (R2 și R1) au o legătură de 1 Gbps.
Costul FastEthernet al lui R2 (100000000/1000000000) = .1 (Orice valoare sub 1 va fi considerată ca fiind 1)
Costul FastEthernet al lui R3 (100000000/1000000000) = .1 (Orice valoare mai mică de 1 va fi considerată 1)
Costul FastEthernet al lui R3 (100000000/1000000000000) = 1
Costul acestei rute 1 + 1 + 1 = 3
Cu o lățime de bandă de referință implicită, R2 va alege ruta R2 – R3, ceea ce nu este bine.
Putem ajusta lățimea de bandă de referință cu comanda auto-cost reference-bandwidth ref-band.
Trebuie să ajustăm lățimea de bandă de referință pe toate routerele din rețea. O lățime de bandă de referință nepotrivită poate face ca routerele să ruleze continuu algoritmul SPF, ceea ce ar putea crea o problemă serioasă de performanță.
Lățimea de bandă de referință este atribuită în Mbps. Intervalul valabil este de la 1 la 4294967. Lățimea de bandă de referință implicită este de 100 Mbps.
Din păcate, packet tracer nu include această comandă. Pentru exersarea acestei comenzi, vă rugăm să folosiți un alt software de simulare care acceptă această comandă sau să folosiți un router real.
Să schimbăm lățimea de bandă de referință la 1000Mbps pe toate cele trei routere folosind următoarele comenzi
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 #
Route cost with new reference Bandwidth
{module in_art_slot_10}
Route R2 – R3
Costul FastEthernet al lui R2 (1000000000/1000000000000) = 10
Costul FastEthernet al lui R3 (1000000000/1000000000000) = 10
Costul acestei rute 10 + 10 = 20
Ruta R2 – R1 – R3
Costul FastEthernet al lui R2 (1000000000/1000000000) = 1
Costul FastEthernet (1000000000/1000000000) = 1
Costul lui R3 FastEthernet (1000000000/1000000000) = 1
Costul FastEthernet al lui R3 (1000000000/1000000000000) = 10
Costul acestei rute 1 + 1 + 10 = 12
În acest caz, ruta R2-R1-R3 va fi selectată, care este cea mai scurtă rută pentru destinație.
Acesta este tot pentru acest articol. Sper că acum ați înțeles mai bine protocolul de rutare OSPF. În următorul articol voi explica Access List în detaliu cu exemple.
.