OSPF (Open Shortest Path First) to protokół routingu wewnętrznego (IGP), który w obrębie jednego systemu autonomicznego wylicza najkrótsze ścieżki do każdej sieci. Działa w oparciu o stan łączy (link-state): każdy router buduje pełną mapę topologii i sam liczy trasy algorytmem Dijkstry (SPF). To różni go od RIP, który ufa sąsiadom „na słowo” i przekazuje dalej gotowe tablice.
W skrócie: routery OSPF nawiązują sąsiedztwo, wymieniają komunikaty o stanie swoich łączy (LSA) i składają z nich wspólną bazę danych topologii (LSDB). Mając identyczną mapę, każdy router niezależnie wyznacza drzewo najkrótszych ścieżek do siebie. „Najkrótsza” nie znaczy „najmniej skoków” — OSPF używa metryki cost, domyślnie odwrotnie proporcjonalnej do przepustowości łącza. Łącze 1 Gb/s wygrywa z trzema skokami po 10 Mb/s.
Żeby sieć dało się skalować, OSPF dzieli ją na obszary (areas). Wszystkie muszą łączyć się z obszarem szkieletowym area 0 (backbone). Dzięki temu zmiana topologii w jednym obszarze nie zmusza wszystkich routerów na świecie do przeliczania SPF. W sieciach z wieloma routerami na jednym segmencie (np. Ethernet) wybierany jest DR i BDR, żeby ograniczyć liczbę relacji sąsiedztwa.
Przykład z praktyki
Na routerze Cisco włączasz proces i ogłaszasz sieci do konkretnego obszaru:
Zaczynasz od router ospf 1, a potem ogłaszasz sieci:
network 10.0.0.0 0.0.0.255 area 0network 192.168.1.0 0.0.0.255 area 1
Diagnostykę robisz przez show ip ospf neighbor (czy sąsiedztwo doszło do stanu FULL) oraz show ip route ospf (trasy oznaczone literą O). Na Linuksie tę samą rolę pełni demon w pakiecie FRRouting.
Częste błędy i pułapki
- Różne wartości
hello/dead intervalalbo niezgodny typ obszaru po dwóch stronach — sąsiedztwo utknie i nigdy nie osiągnie FULL. - Niezgodne MTU na łączu — adjacency zatrzymuje się w stanie EXSTART/EXCHANGE. Klasyczny czas zmarnowany na szukaniu winnego.
- Mylenie wersji: OSPFv2 obsługuje IPv4, a OSPFv3 jest osobnym protokołem dla IPv6.
- Brak połączenia obszaru z
area 0— wtedy ratujesz się virtual-linkiem, choć lepiej zaprojektować topologię tak, żeby go nie potrzebować.
Pojęcia powiązane: IS-IS, EIGRP, BGP, algorytm Dijkstry, IGP, system autonomiczny, LSA, tablica routingu.