Tutorial ten wyjaśnia formułę obliczania metryki OSPF i algorytm SPF krok po kroku w szczegółach z przykładami. Dowiedz się jak algorytm SPF (Shortest Path First) oblicza skumulowany koszt trasy w celu zbudowania drzewa najkrótszej ścieżki (SPT) i jak formuła metryki OSPF może być manipulowana poprzez zmianę wartości pasma referencyjnego.
Algorytm SPF (Shortest Path First)
Jak wiemy przy inicjalizacji lub z powodu jakiejkolwiek zmiany w informacji o routingu router OSPF generuje LSA. Ta LSA (Link State Advertisement) zawiera zbiór wszystkich stanów łączy na danym routerze. Router propaguje to LSA w sieci. Każdy router, który otrzymuje to LSA przechowuje jego kopię w swojej bazie danych LSA, a następnie rozsyła to LSA do innych routerów.
Po uaktualnieniu bazy danych, router wybiera jedną najlepszą trasę dla każdego miejsca docelowego ze wszystkich dostępnych tras. Router używa algorytmu SPF aby wybrać najlepszą trasę.
Tak jak inne algorytmy routingu SPF również używa składowej metryki zwanej kosztem aby wybrać najlepszą trasę do tablicy routingu.
Tutorial ten jest ostatnią częścią naszego artykułu „Protokół routingu OSPF objaśniony z przykładami”. Możesz przeczytać inne części tego artykułu tutaj.
Podstawowa terminologia protokołu OSPF wyjaśniona
Tutorial ten jest pierwszą częścią tego artykułu. W tej części wyjaśniliśmy podstawową terminologię OSPF, taką jak Feature, Advantage i Disadvantage, Autonomous System, Area concept, ABR, IR, Link, State, LSA i LSDB z przykładami.
OSPF Neighborship Condition and Requirement
Tutorial ten jest drugą częścią tego artykułu. Sąsiedztwo OSPF jest budowane pomiędzy dwoma routerami tylko wtedy, gdy wartości konfiguracyjne ID obszaru, uwierzytelniania, interwału Hello i Dead, Stub Area i MTU są zgodne. Ta część szczegółowo wyjaśnia te parametry oraz proces sąsiedztwa OSPF wraz z przykładami.
OSPF Neighbor States Explained with Example
Ten tutorial jest trzecią częścią tego artykułu. Proces adjacency OSPF przechodzi przez siedem stanów: OSPF State down, OSPF State Init, OSPF State two ways, OSPF State Exstart, OSPF State Exchange, OSPF State Loading i OSPF State full. Ta część wyjaśnia te stany wraz z procesem wyboru DR BDR w szczegółach wraz z przykładami.
Konfiguracja OSPF krok po kroku
Tutorial ten jest czwartą częścią tego artykułu. Część konfiguracyjna OSPF zawiera ID procesu, ID obszaru i maskę wieloznaczną, które sprawiają, że konfiguracja jest nieco trudniejsza. Ta część wyjaśnia te parametry szczegółowo wraz z przykładami.
OSPF Metric cost
Logicznie rzecz biorąc, pakiet napotka większy narzut podczas przechodzenia przez łącze szeregowe 56Kbps niż przez łącze Ethernet 100Mbps. Odpowiednio, przejście przez łącze o wyższej przepustowości zajmie mniej czasu niż przez łącze o niższej przepustowości. OSPF używa tej logiki do obliczania kosztu. Koszt jest odwrotnie proporcjonalny do szerokości pasma. Wyższa przepustowość ma niższy koszt. Niższa szerokość pasma ma wyższy koszt.
OSPF używa następującego wzoru do obliczenia kosztu
Koszt = Pasmo referencyjne / Szerokość pasma interfejsu w bps.
Pasmo referencyjne zostało zdefiniowane jako wartość arbitralna w dokumentacji OSPF (RFC 2338). Producenci muszą używać własnej referencyjnej szerokości pasma. Cisco używa pasma 100Mbps (108) jako pasma referencyjnego. Przy tej szerokości pasma, nasze równanie będzie wyglądać następująco
Koszt = 108/szerokość pasma interfejsu w bps
Kluczowe punkty
- Koszt jest dodatnią wartością całkowitą.
- Każda wartość dziesiętna zostanie zaokrąglona do najbliższej dodatniej liczby całkowitej.
- Każda wartość poniżej 1 będzie traktowana jako 1.
Teraz znamy równanie, zróbmy trochę matematyki i ustalmy domyślny koszt niektórych istotnych interfejsów.
Domyślny koszt istotnych interfejsów.
Typ interfejsu | szerokość pasma | Obliczenie metryczne | Koszt |
Łącze Ethernet | 10Mbps | 1000000/10000000 = 10 | 10 |
FastEthernet Link | 100Mbps | 1000000/1000000 = 1 | 1 |
Serial Link | 1544Kbps(default) | 1000000/1544000 = 64.76 | 64 |
Koszt linii wspólnych
Linia | Pasmo przenoszenia | Kalkulacja metryczna | Koszt |
Linia 56 Kbps | 56Kbps | 1000000/56000 = 1785.71 | 1785 |
64 Kbps line | 64Kbps | 1000000/64000 = 1562.5 | 1562 |
128 Kbps line | 128Kbps | 1000000/128000 = 781.25 | 781 |
512 Kbps linia | 512 Kbps | 1000000/512000 = 195.31 | 195 |
1 Mbps line | 1Mbps | 1000000/1000000 = 100 | 100 |
10 Mbps line | 10Mbps | 1000000/10000000 =. 10 | 10 |
100 Mbps linia | 100Mbps | 1000000/1000000 = 1 | 1 |
1 Gbps linia | 1Gbps | 1000000/1000000 0= 0.1 | 1 |
10 Gbps line | 10Gbps | 1000000/10000000000 = 0.01 | 1 |
SPT (Shortest Path Tree)
RouterOSPF buduje drzewo najkrótszej ścieżki. SPT jest jak drzewo genealogiczne, w którym router jest korzeniem, a sieci docelowe są liśćmi. Algorytm SPF oblicza koszt gałęzi pomiędzy liśćmi a korzeniem. Gałąź o najniższym koszcie będzie używana do dotarcia do liścia. W języku technicznym trasa, która ma najniższą wartość skumulowanego kosztu pomiędzy źródłem a miejscem docelowym zostanie wybrana do tablicy routingu.
Koszt skumulowany = Suma kosztów wszystkich wychodzących interfejsów w trasie
Najlepsza trasa dla tablicy routingu = Trasa, która ma najniższy koszt skumulowany
Podsumowanie
- OSPF używa drzewa SPT do obliczenia najlepszej trasy dla tablicy routingu.
- Drzewo SPT nie może rosnąć poza obszar. Jeśli więc router ma interfejsy w wielu obszarach, musi zbudować osobne drzewo dla każdego obszaru.
- Algorytm OSPF oblicza wszystkie możliwe trasy od routera źródłowego do sieci docelowej.
- Koszt skumulowany jest sumą wszystkich kosztów wychodzących interfejsów OSPF w ścieżce.
- Podczas obliczania kosztu skumulowanego OSPF bierze pod uwagę tylko wychodzące interfejsy w ścieżce. Nie dodaje kosztów interfejsów przychodzących w koszcie skumulowanym.
- Jeśli istnieje wiele tras, SPF porównuje koszty skumulowane. Trasa, która ma najniższy koszt skumulowany zostanie wybrana do tablicy routingu.
Teraz mamy już podstawowe zrozumienie algorytmu SPF. W pozostałej części tego tutoriala dowiemy się jak algorytm SPF wybiera najlepszą trasę z dostępnych.
Stwórz laboratorium ćwiczeniowe jak pokazano na poniższym rysunku lub pobierz to wstępnie utworzone laboratorium ćwiczeniowe i załaduj je do trakera ćwiczeniowego.
Pobierz topologię ćwiczeniową OSPF z konfiguracją OSPF
Dostęp do CLI w Routerze0.
Wykonaj polecenie show ip route ospf w trybie uprzywilejowanym aby zobaczyć wszystkie trasy poznane przez protokół OSPF.
Jak pokazuje wyjście, Router0 ma sześć tras z OSPF w tablicy routingu. Przejrzymy każdą z tras i dowiemy się dlaczego została wybrana jako najlepsza trasa w tablicy routingu przez OSPF.
Route 20.0.0.0
Mamy trzy trasy aby uzyskać sieć 20.0.0.0.0/8. Obliczmy łączny koszt każdej z tras.
Trasa R0-R1-R2-R6
Trasa Via R0 – R3 – R4 – R6
Trasa Via R0 – R5 – R6
Router | Wyjście z interfejsu | Przepustowość | Kalkulacja metryczna | Koszt | |
R0 | Fa0/1 | 100Mbps | 1000000/1000000 = 1 | 1 | |
R5 | Fa0/0 | 100Mbps | 1000000/1000000 = 1 | 1 | |
R0 | Fa0/1 | Fa0/1 | 100Mbps | 1000000/1000000 = 1 | 1 |
Koszt skumulowany trasy (1+ 1 + 1) =3 |
Pośród tych tras, trasa R0-R5-R6 ma najniższy koszt skumulowany. Została więc wybrana jako najlepsza trasa do tablicy routingu.
Trasa 192.168.0.4
Via Route R0 – R1
R0’s Serial 0/0/0 cost (1562) + R1’s Serial 0/0/1 cost (1562) = 3124 (Cumulative cost)
Via Route R0 – R3 – R4 – R6 – R2
Via Route R0 – R5 – R6 – R2
Pomiędzy tymi trasami, Trasa R0 – R5 – R6 – R2 ma najniższy koszt, więc została wybrana do tablicy routingu.
Route 192.168.0.8
Via Route R0 – R1
R0’s Serial 0/0/0 cost (1562) + R1’s Serial 0/0/1 cost (1562) + R2’s Serial 0/0/0 (1562) = 4686 (Cumulative cost)
Via Route R0 – R3 – R4 – R6
R0’s Serial 0/0/1 cost (64) + R3’s Serial 0/0/0 cost (64) +. R4’s Serial 0/0/1 cost (64) + R6’s Serial 0/0/0 cost (64) = 256 (Cumulative cost)
Via Route R0 – R5 – R6
Ro’s FastEthernet 0/1 cost (1) + R5’s FastEthernet 0/0 cost (1) + R6’s Serial 0/0/0 cost (64) = 66 (Cumulative cost)
Among these routes, Trasa R0 – R5 – R6 ma najniższy koszt, więc została wybrana do tablicy routingu.
Route 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 (1562) + R6’s FastEthernet 0/0 (1) = 4687 (Cumulative cost)
Via R0 – R3 – R4 – R6
R0’s Serial 0/0/1 cost (64) + R3’s Serial 0/0/0 cost (64) + R4’s Serial 0/0/1 cost (64) + R6’s FastEthernet 0/0 (1) = 193
Via R0 – R5
R0’s FastEthernet 0/1 cost (1) + R5’s FastEthernet 0/0 cost (1) = 2
Pomiędzy tymi trasami, Trasa R0 – R5 ma najniższy koszt, więc została wybrana jako najlepsza trasa.
Route 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 cost (64) = 130
Via Route R0 – R3
R0’s Serial 0/0/1 cost (64) + R3’s Serial 0/0/0 cost (64) = 128
Among these routes, Trasa R0 – R3 ma najniższy koszt dla miejsca docelowego 192.168.2.4.
Route 192.168.2.8
Via Route R0 – R3 – R4
R0’s Serial 0/0/1 cost (64) + R3’s Serial 0/0/0 cost (64) + R4’s Serial 0/0/1 cost (64) = 192
Via Route R0 – R1 – R2 – R6
Ro’s Serial 0/0/0 cost (1562) + R1’s Serial 0/0/1 cost (1562) + R2’s R2’s Serial 0/0/0 cost (1562) + R6’s Serial 0/0/1 cost (64) = 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
Trasa R0 – R5 – R6 ma najniższą wartość kosztu.
Po wybraniu najlepszej trasy dla każdego miejsca docelowego sieć OSPF wygląda jak poniższy rysunek.
Manipulacja kosztem trasy OSPF
Możemy manipulować kosztem trasy OSPF na dwa sposoby.
- Poprzez zmianę szerokości pasma interfejsu
- Poprzez zmianę wartości pasma referencyjnego
Poprzez zmianę szerokości pasma interfejsu
Komenda Bandwidth w trybie interfejsu podrzędnego jest używana do ustawienia szerokości pasma obsługiwanego interfejsu.
Jeśli szerokość pasma jest ustawiona za pomocą tej komendy, OSPF będzie jej używać. Jeśli pasmo nie jest ustawione, użyje domyślnego pasma interfejsu.
Gdy włączymy interfejs, router automatycznie przypisuje mu wartość pasma w oparciu o jego typ. Na przykład interfejs szeregowy ma domyślną wartość pasma 1544k. Dopóki nie zmienimy tej wartości za pomocą komendy bandwidth, będzie ona używana tam gdzie jest wymagana.
Pozwól mi wyjaśnić jeszcze jedną rzecz na temat bandwidth. Zmiana domyślnego pasma za pomocą komendy bandwidth nie zmienia rzeczywistego pasma interfejsu. Ani domyślne pasmo ani pasmo ustawione przez komendę bandwidth nie ma nic wspólnego z faktycznym pasmem łącza warstwy pierwszej.
Więc jaki cel ma ta komenda?
Ta komenda jest używana tylko do wpływania na protokół routingu, który używa pasma w procesie wyboru trasy, taki jak OSPF i EIGRP.
Widzieliśmy już przykład tej metody w naszym przykładzie. Zmieniliśmy domyślne pasmo (1544Kbps) na niestandardowe (64kbps) na R0’s serial 0/0/0, R1’s serial 0/0/1 i R2’s serial 0/0/0. Z powodu tej zmiany R0 wziął inny router dla sieci 192.168.0.4.
Zrozummy to bardziej szczegółowo.
Obecny koszt dla miejsca docelowego 192.168.0.4 z R0
Via Route R0 – R1
R0’s Serial 0/0/0 cost (1562) + R1’s Serial 0/0/1 cost (1562) = 3124 (Cumulative cost)
Via Route R0 – R5 – R6 – R2
Via Route R0 – R3 – R4 – R6 – R2
Pośród tych tras, Trasa R0 – R5 – R6 – R2 ma najniższy koszt, więc została wybrana do tablicy routingu.
Więc… Którą trasę wybralibyśmy, gdybyśmy użyli domyślnej przepustowości?
Koszt dla miejsca docelowego 192.168.0.4 z R0 z domyślną przepustowością.
Via Route R0 – R1
R0’s Serial 0/0/0 cost (64) + R1’s Serial 0/0/1 cost (64) = 128 (Cumulative cost)
Via Route R0 – R5 – R6 – R2
Via Route R0 – R3 – R4 – R6 – R2
Pomiędzy tymi trasami, Trasa R0 – R1 ma najniższą wartość kosztu, więc zostanie wybrana do tablicy routingu. Tak więc zmieniając pasmo interfejsu faktycznie wpływamy na proces wyboru trasy.
Zmieniając wartość pasma referencyjnego
Jak wspomniałem wcześniej, domyślnie OSPF używa pasma 100Mbps jako pasma referencyjnego. Zmiana tej wartości spowoduje również zmianę kosztu trasy. Jeśli użyjemy 1000Mbps jako pasma referencyjnego, koszt łącza 100Mbps stanie się równy 10. Brzmi to świetnie, szczególnie jeśli w naszej sieci mamy łącza o większej przepustowości. Dla przykładu spójrz na poniższy rysunek.
Jaką trasę obierze R2 aby dostać się do sieci 10.0.0.0/8?
Trasa R2 – R3
W tej trasie mamy dwa punkty wyjścia. Oba punkty mają domyślną prędkość 1oo Mbps.
R2’s FastEthernet cost (1000000/1000000) = 1
R3’s FastEthernet cost (1000000/1000000) = 1
Koszt tej trasy 1 + 1 = 2
Route R2 – R1 – R3
W tej trasie mamy trzy punkty wyjścia. Dwa punkty wyjścia (R2 i R1) mają łącze 1 Gbps.
Koszt FastEthernet R2 (1000000/10000000) = .1 (Wszystko poniżej 1 będzie traktowane jako 1)
Koszt FastEthernet R3 (1000000/10000000) = .1 (Wszystko poniżej 1 będzie traktowane jako 1)
Koszt R3’s FastEthernet (1000000/1000000) = 1
Koszt tej trasy 1 + 1 + 1 = 3
Z domyślną przepustowością referencyjną R2 wybierze trasę R2 – R3, co nie jest dobre.
Możemy dostosować pasmo referencyjne za pomocą polecenia auto-cost reference-bandwidth ref-band.
Musimy dostosować pasmo referencyjne na wszystkich routerach w sieci. Niedopasowane pasmo referencyjne może spowodować, że routery będą ciągle uruchamiać algorytm SPF, co może spowodować poważny problem z wydajnością.
Pasmo referencyjne jest przydzielane w Mbps. Prawidłowy zakres to 1 do 4294967. Domyślne pasmo referencyjne to 100Mbps.
Niestety packet tracer nie zawiera tej komendy. Aby przećwiczyć tę komendę należy użyć innego symulatora, który obsługuje tę komendę lub użyć prawdziwego routera.
Zmieńmy pasmo referencyjne na 1000Mbps na wszystkich trzech routerach używając następujących komend
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 #
Koszt trasy z nowym pasmem referencyjnym bandwidth
{module in_art_slot_10}
Route R2 – R3
Koszt FastEthernet R2 (1000000000/1000000) = 10
Koszt FastEthernet R3 (1000000000/1000000) = 10
Koszt tej trasy 10 + 10 = 20
Trasa R2 – R1 – R3
Koszt FastEthernet R2 (1000000000/1000000000) = 1
Koszt FastEthernet R3 (1000000000/1000000) FastEthernet (1000000000/1000000000) = 1
R3’s FastEthernet cost (1000000000/1000000) = 10
Koszt tej trasy 1 + 1 + 10 = 12
W tym przypadku trasa R2-R1-R3 zostanie wybrana, która jest najkrótszą trasą do miejsca docelowego.
To wszystko dla tego artykułu. Mam nadzieję, że teraz lepiej rozumiesz protokół routingu OSPF. W następnym artykule wyjaśnię szczegółowo Listę Dostępu wraz z przykładami.