Narzędzia użytkownika

Narzędzia witryny


Pasek boczny


O mnie


Dydaktyka:

Feedback


bio-sk:ospf

[ekstra] Sposoby i protokoły tworzenia tablicy tras

Sposoby uzyskiwania informacji o trasach:

  • ręczna konfiguracja
  • użycie protokołów routingu

Protokoły trasowania można podzielić ze względu na obszar działania, w odniesieniu do obszarów autonomicznych (AS):

  • wewnętrzne, IGP - Interior Gateway Protocol, (mniej więcej: wyznaczające trasy wewnątrz jednej firmy / organizacji) – np. RIP, EIGRP, OSPF, IS-IS
  • zewnętrzne, EGP - Exterior Gateway Protocol, (mniej więcej: wyznaczające trasy w "całym internecie") – obecnie (jedynym) używanym jest BGP

albo ze względu na sposób działania:

  • wektora odległości (distance vector), np. RIP, IGRP; urządzenia wymieniają się z sąsiadami tylko informacjami do jakich sieci i z jakim kosztem same potrafią się dostać; liczą tylko koszty dotarcia do sieci
  • stanu łącza (link state), np. OSPF, IS-IS; urządzenia wymieniają się z sąsiadami informacjami o całej topologii sieci; budują pełną mapę sieci i używając algorytmu znajdowania najkrótszej ścieżki w grafie wyznaczają trasy
  • wektora ścieżki (path-vector), np. BGP; urządzenia wymieniają się z sąsiadami informacjami do jakich sieci i jaką trasą potrafią się dostać; z tego wybierają najkorzystniejszą trasę; to podejście eliminuje część wad protokołów wektora odległości i lepiej radzi sobie z dużymi sieciami niż protokoły stanu łącza

https://en.wikipedia.org/wiki/Routing#Topology_distribution

OSPF (Open Shortest Path First)

Wstęp

OSPF to protokół trasowania (czyli tworzenia tablicy tras), do użycia wewnątrz obszaru autonomicznego (IGP), używający podejścia stanu łącza. Każdy router konstruuje mapę sieci i używa algorytmu Dijkstry dla znajdowania najkrótszych ścieżek.

OSPFv2 działa tylko dla IPv4, OSPFv3 działa też dla IPv6.

[extra] Działanie OSPF

LSA

Pojedyncza jednostka informacji o sieci używana przez OSPF nazywa się Link-State Advertisement (LSA). Przykładowo LSA może nieść informację o:

  • połączeniach wybranego routera OSPF z innymi routerami OSPF
  • sieciach IP do których należy router
  • trasach spoza OSPF
  • o trasach z innego obszaru

Protokół OSPF będzie dążył do przesłania do każdego urządzenia (w obszarze) wszystkich LSA, tak by każde urządzenie miało ten sam zbiór (bazę) informacji o sieci.

Kolejne kroki protokołu

Routery, wymieniając wiadomości Hello, nawiązują relację z sąsiadami.

Następnie przesyłają wzajemnie w wiadomościach database descriptions (DD) informacje jakie znają połączenia, routery etc.. Komunikaty DD zawierają tylko identyfikatory wszystkich znanych LSA.

Po transferze żądają nieznanych sobie wiadomości (LSA) wysyłając komunikat Link-State Request i otrzymują odpowiedź we wiadomościach Link-State Update.

Po każdej wykrytej zmianie router wysyła komunikat LSU z opisem zmian (LSA). Komunikat LSU jest rozgłaszana epidemicznie do wszystkich sąsiadów.

Żeby zapobiec zalewaniu sieci pakietami protokołu OSPF, w jednej domenie rozgłoszeniowej wybiera się router desygnowany i zapasowy router desygnowany (DR i DRother w Cisco) i dopuszcza się tylko komunikację do / z routera desygnowanego.

OSPF do odróżniania routerów wykorzystuje identyfikator routera - w Cisco to domyślnie najwyższy przypisany do urządzenia adres IP. Na router desygnowany wybierany jest router z najniższym priorytetem, jeśli priorytety są równe (a domyślnie są) - z najmniejszym identyfikatorem.

Adresy IP używane przez OSPF

OSPF w miarę możliwości (technicznych sieci) używa IP-multicast, wykorzystując dwa adresy:

  • 224.0.0.5 - wszystkie routery - All OSPF Routers
  • 224.0.0.6 - desygnowane routery - All DRouters

Obszary

Przy konfiguracji OSPF pozwala podzielić sieć na obszary (areas). Routing w każdym obszarze jest wykonywany osobno, wykorzystując algorytm Dijkstry, między obszarami wymieniane są gotowe trasy.
Obszar 0 (area 0) stanowi szkielet (backbone), wszystkie inne obszary muszą mieć z nim łączność. Router łączący dwa obszary nazywa się area border router (ABR).

Więcej …

Przykładowa wymiana pakietów protokołu OSPF

Więcej o OSPF doczytasz tutaj: [wikipedia], microsoft (nawiguj się w menu z lewej strony między podstronami), stare materiały z PP, Cisco.

OSPF na routerach Cisco

Konfiguracja

Z trybu konfiguracji (znak zachęty: (config)#):

  • router ospf <processId> wejście do konfiguracji procesu OSPF o podanym numerze.
    Numer procesu jest lokalny - stąd można wybrać dowolny, np:
    router ospf 1
    Prompt zmieni się na (config-router)#
    • network <adres_ip> <odwrócona_maska> area <obszar>
      dodaje sieci pasujące do wzorca do rozgłaszanych sieci oraz aktywuje na nich wymianę komunikatów OSPF.
      Dodanie pierwszej sieci włącza proces OSPF.
      Przykład: do dodania sieci 192.168.0.0/24 do obszaru 0 należy wpisać:
      network 192.168.0.0 0.0.0.255 area 0
      Można też podać "cały świat", który dopasuje się do każdej bezpośrednio podłączonej sieci:
      network 0.0.0.0 255.255.255.255 area 0
      Dodatkowe komendy:
    • auto-cost reference-bandwidth <prędkość_w_Mbps> ustawia referencyjną prędkość używaną do automatycznego obliczania kosztów połączenia, np:
      auto-cost reference-bandwidth 10000
    • default-information originate włącza redystrybucję trasy domyślnej
    • redistribute <co rozgłaszać> włącza rozgłaszanie tras podanego typu – połączonych, statycznych lub z innego procesu/protokołu routingu. Uwaga: nie włącza OSPF na pasujących sieciach – tylko dodaje je do rozgłaszanych. Np:
      redistribute connected subnets wszystkie bezpośrednio podłączone sieci
      redistribute static subnets wszystkie trasy statyczne
      redistribute eigrp subnets wszystkie trasy dostarczone przez protokół eigrp
    • passive-interface <interfejs>|default wyłącza nawiązywanie połączeń OSPF na wybranym interfejsie, lub domyślnie na wszystkich interfejsach.
      Przykład 1 – wyłącza wysyłanie i odbiór OSPF Hello na interfejsie 'GigabitEthernet 5':
      passive-interface GigabitEthernet 5
      Przykład 2 - pozwala na połączenia OSPF tylko na 'GigabitEthernet 4' i 'GigabitEthernet 5'
      passive-interface default
      no passive-interface GigabitEthernet 4
      no passive-interface GigabitEthernet 5
  • intreface … / interface range … wchodzi do konfiguracji interfejsu
    • bandwidth <prędkość> zmiana postrzeganej przez protokoły routingu prędkości
    • ip ospf cost <koszt> sztuczna zmiana kosztu danego łącza dla OSPF

Diagnostyka

W trybie uprzywilejowanym:

  • show ip protocols pokazuje działające protokoły, w tym OSPF
  • show ip ospf informacje o działających procesach ospf
  • show ip ospf interface informacje o stanie OSPF na interfejsach - koszt, sąsiedzi, lokalny identyfikator etc.
  • show ip ospf neighbor informacje o sąsiadach
  • show ip ospf database podsumowane dane o połączeniach
  • show ip ospf database network podsumowane dane o sieciach łączących routery OSPF
  • show ip ospf database router pełne dane o routerach i ich połączeniach
  • show ip ospf rib trasy wyliczone przez OSPF i ich koszty (w tym trasy które nie były najkrótsze)

Każdemu protokołowi routingu Cisco przypisuje wartość AD (administrative distance). Cisco wybiera trasy biorąc pod uwagę wpierw trasy z najmniejszą AD, potem porównuje dopiero koszt. Zapis w tablicy routingu: [AD/koszt], np:

O 10.1.3.0/24 [110/65] via 10.3.4.3, 00:49:11, FastEthernet0/0 AD:110, koszt:65
D 10.0.2.0/24 [90/2297856] via 10.2.4.2, 00:09:38, Serial0/0 AD:90, koszt:2297856
C 10.4.5.0/24 is directly connected, FastEthernet0/1 AD:1

Przykładowe wyniki poleceń diagnostycznych

(Długa) przykładowa konfiguracja i pełne wyniki poleceń diagnostycznych.

[Ekstra] OSPF na Linuksie

Implementacje wielu protokołów routingu dla systemu Linux (w tym OSPFv2), oferują:

Przykładowa konfiguracja FRRouting jest zawarta w powyższej przykładowej konfiguracji

bio-sk/ospf.txt · ostatnio zmienione: 2024/11/28 13:20 przez jkonczak