Kategoria: Protokoły Routingu Dynamicznego

  • (Ts) Komendy Show, Debug oraz Clear OSPF**

    (Ts) Komendy Show, Debug oraz Clear OSPF**

    Komendy SHOW

    Komendy show ip

    # show ip route

    Wyświetla tablicę routingu.

    # show ip protocols

    Wyświetla informacje o skonfigurowanych protokołach routingu dynamicznego.

    # show ip route ospf

    Wyświetla tablicę routingu pod kontem protokołu OSPF.

    # show ip route sieć maska

    Wyświetla szczegółowe informacje na temat trasy, prowadzącej do wskazanej w komendzie sieci.

    Komendy show OSPF

    # show ip ospf

    Wyświetla informacje o działających procesach OSPF dla danego rutera, wraz z informacjami o strefach, numerami ID rutera oraz ilością skonfigurowanych interfejsów (względem każdej strefy).

    # show ip ospf neighbor

    Wyświetla listę aktywnych sąsiadów protokołu OSPF.

    # show ip neighbor interfejs

    Wyświetla listę aktywnych sąsiadów protokołu OSPF dla danego interfejsu.

    # show ip ospf interface

    Wyświetla wszystkie aktywne względem protokołu OSPF interfejsy sieciowe, wraz z informacjami dotyczącymi:
    * Rodzaju sieci w jakiej działa dany interfejs.
    * Kosztów oraz z konfigurowanego priorytetu.
    * Adresów IP ruterów pełniących rolę DR oraz BDR.
    * Skonfigurowanych czasów: Hello, Dead, Wait oraz Retransmit.

    # show ip ospf interface brief

    Wyświetla listę aktywny interfejsów, dodanych do protokołu OSPF za pomocą komendy [network] bądź [ip ospf area area-ID].

    # show ip ospf interface [{Interfejs / brief}]

    Wyświetla informacje o konfiguracji protokołu OSPF względem danego interfejsu (Interfejs) bądź wszystkich interfejsów w skróconym wydaniu (Brief).

    # show ip ospf interface [interfejs] | include Network

    Wyświetla informacje na temat rodzaju skonfigurowanej sieci, względem interfejsu / interfejsów aktywnych dla protokołu OSPF.

    Komendy show database

    # show ip ospf database {network [LSID] / router [LSID] / summary [LSID] / asbr-summary [LSID] / external [LSID] / nssa-external [LSID]}

    Wyświetla struktury LSA przetrzymywane w lokalnej bazie LSDB.
    * network – Wyświetla wszystkie struktury LSA typu pierwszego.
    * router – Wyświetla wszystkie struktury LSA typu drugiego.
    * summary – Wyświetla wszystkie struktury LSA typu trzeciego.
    * asbr-summary – Wyświetla wszystkie struktury LSA typu czwartego.
    * external – Wyświetla wszystkie struktury LSA typu piątego.
    * nssa-external – Wyświetla wszystkie struktury LSA typu siódmego.

    Komendy DEBUG

    # debug ip ospf hello

    Debaguje proces wymiany wiadomości powitalnych Hello.

    # debug ip ospf adj

    Debaguje proces nawiązywania relacji sąsiedztwa pomiędzy dwoma ruterami.

    # debug ip ospf events

    Debaguje wszystkie akcje protokołu OSPF.

    # debug ip ospf packet

    Debaguje

    Komendy CLEAR

    # clear ip ospf process

    Restartuje proces OSPF. Komenda jest przydatna w przypadku zmiany RID.

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (K) Uwierzytelnianie protokołu OSPF**

    (K) Uwierzytelnianie protokołu OSPF**

    Konfiguracja uwierzytelniania protokołu OSPF

    Konfiguracja funkcji Key-Chain

    (config)# key chain nazwa-key-chain

    Tworzy nowy zestaw kluczy Key Chain.

    (config-keychain)# key 0-2147483647(ID klucza)

    Tworzy nowy klucz Key Chain.

    (config-keychain-key)# key-string [0 / 7](0) klucz

    Określa wartość klucza (Wymaga podania wartości zahaszowanej)

    (config-keychain-key)# cryptographic-algorithm {hmac-sha-1 / hmac-sha-256 / hmac-sha-384 / hmac-sha-512 / md5}

    Definiuje jaki algorytm haszujący będzie wykorzystywany podczas wymiany kluczy pomiędzy urządzeniami.

    (config-keychain-key)# accept-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany do odbierania wiadomości (Jest to okres czasu podczas którego dany klucz pozostaje akceptowalny).

    (config-keychain-key)# send-lifetime local ([Czas początkowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)) {infinite / duration 1-2147483646(sekundy) / ([Czas końcowy] godzina(hh:mm:ss) miesiąc(nazwa angielska) dzień(1-31) rok(1993-2035)})

    Definiuje okres czasu przez jaki dany klucz będzie używany w wysyłanych wiadomościach (Czas ten powinien być krótszy od czasu „accept-lifetime”).

    Przykładowa konfiguracja funkcji Key-Chain

    (config)# key chain OSPF
    (config-keychain)# key 1
    (config-keychain-key)# accept-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# send-lifetime local 01:00:00 april 1 2014 01:00:00 may 2 2014
    (config-keychain-key)# key-string Cisco!2345
    (config-keychain-key)# key 2
    (config-keychain-key)# accept-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# send-lifetime local 01:00:00 may 1 2014 infinite
    (config-keychain-key)# key-string Cisco1234567

    Okresy czasu akceptacji oraz wysyłania klucza zostały tak skonfigurowane, aby się nachodziły. Dzięki czemu administrator może zniwelować możliwe rozbieżności w konfiguracji czasu lokalnego, względem obydwóch urządzenień. Powyższa konfiguracja oznacza, że przez pewien okres czasu urządzenie będą akceptowały obydwa klucze.

    Przypisywanie funkcji Key-Chain do protokołu OSPF

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip ospf authentication key-chain nazwa-key-chain

    Aktywuje proces uwierzytelniania protokołu OSPF za pomocą funkcji Key Chain.

    # show key chain

    Wyświetla konfigurację funkcji Key Chain.
    Konfiguracja kluczy z wykorzystaniem funkcji Key Chain względem protokołu OSPF, wymaga określenia jednego z następujących algorytmów haszujących (hmac-sha-256 / hmac-sha-384 / hmac-sha-512).

    Uwierzytelnianie protokołu OSPF za pomocą hasła wysyłanego w postaci czystego tekstu

    Uwierzytelnianie protokołu OSPF względem interfejsu

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip ospf authentication

    Aktywuje proces uwierzytelniania wiadomości OSPF, za pomocą czystego tekstu.

    (config-if)# ip ospf authentication-key hasło

    Określa hasło wysyłane w celu uwierzytelnienia urządzenia lokalnego, względem konfigurowanego interfejsu sieciowego.

    Uwierzytelnianie protokołu OSPF względem strefy (Area)

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy authentication message-digest

    Aktywuje proces uwierzytelniania sąsiadów protokołu OSPF, za pomocą czystego tekstu.

    (config-router)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip ospf authentication-key hasło

    Określa hasło wysyłane w celu uwierzytelnienia urządzenia lokalnego, względem konfigurowanego interfejsu sieciowego.

    Uwierzytelnianie protokołu OSPF za pomocą hasła wysyłanego w postaci zahaszowanej

    Protokół OSPF nie wspiera funkcji Key Chain, w zamian za to umożliwiając konfigurację wielu kluczy identyfikowanych numerami ID. 
    Wszystkie skonfigurowane klucze są jednocześnie aktywne, aby je z dezaktywować należy je usunąć.

    Uwierzytelnianie protokołu OSPF względem interfejsu

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip ospf authentication message-digest

    Aktywuje proces autentykacji wiadomości OSPF, za pomocą klucza MD5.

    (config-if)# ip ospf message-digest-key 1-255(ID Klucza) md5 hasło

    Określa klucz MD5 wysyłany w celu uwierzytelnienia urządzenia lokalnego, względem konfigurowanego interfejsu sieciowego.

    Uwierzytelnianie protokołu OSPF względem strefy (Area)

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy authentication message-digest

    Aktywuje proces uwierzytelniania sąsiadów protokołu OSPF, za pomocą klucza MD5.

    (config-router)# interface interfejs

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-if)# ip ospf message-digest-key 1-255(ID Klucza) md5 hasło

    Określa klucz MD5 wysyłany w celu uwierzytelnienia urządzenia lokalnego, względem konfigurowanego interfejsu sieciowego.

    Komendy SHOW

    # show key chain

    Wyświetla konfigurację funkcji Key Chain.

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (T) Redystrybucja protokołu OSPF*

    (T) Redystrybucja protokołu OSPF*

    Przykładowa grafika obrazująca redystrybucję protokołu OSPF

    # Konfiguracja redystrybucji protokołu OSPF została opisana w artykule: Redystrybucja protokołu OSPF.

    Przykładowa grafika obrazująca redystrybucję protokołu OSPF

    Redystrybucja tras zewnętrznych

    Redystrybucja tras zewnętrznych E2

    • Trasy zewnętrze E2 rozgłaszane za pomocą struktur LSA typu piątego, nie dodają wewnętrznych (Internal) wartości metryki do kalkulacji koszu całej trasy.
    • Zgodnie z powyższą topologią ruter ABR2, wykryje dwie trasy prowadzące do rutera ASBR, pierwszą przez ruter R8 oraz drugą bezpośrednią. W obydwóch przypadkach trasy bodą posiadały taką samą wartością metryki równą 20 (Ponieważ jest to domyślna wartość redystrybucji protokołu EIGRP dla protokołu OSPF).
    Jeżeli ruter znajdzie większą liczbę takich samych tras zewnętrznych E2, wybierze tę z najniższą wartością dotarcia do rutera ASBR. Przykładowo, jeżeli w sieci znajdują się cztery rutery ASBR rozgłaszające te same trasy zewnętrzne E2, z czego dwa rutery będą rozgłaszały sieci z metryką 10 a dwa z metryką 20. Najpierw zostaną odrzucone dwie trasy z metryką 20 a następnie zostanie wybrany najbliższy ruter ASBR rozgłaszający trasę z metryką 10.

    Proces wyboru najlepszej trasy zewnętrznej E2, wewnątrz tej samej strefy (Intra-Area Routes):

    • Urządzenie wybiera trasę z najniższą rozgłaszaną metryką (Domyślnie 20).
    • Jeżeli urządzenie posiada więcej tras E2 z taką samą metryką:
      • Znajdzie najkrótszą trasą dotarcia do każdego z ruterów ASBR rozgłaszających trasy E2 (Na podstawie zawartości bazy LSDB).
      • Wybierze trasę E2 prowadzącą przez najbliższy ruter ASBR.
    • Jeżeli istnieje tylko jedna trasa E2 z najniższą metryką, Lokalny ruter:
      • Znajdzie najkrótszą trasą dotarcia do danego rutera ASBR (Na podstawie zawartości bazy LSDB).
      • Wybierze najkrótszą trasę dotarcia do rutera ASBR.
    • Lokalne urządzenie —> (Koszt) —> ASBR (Z najniższą metryką trasy zewnętrznej E2).
    • Wartość metryki dotarcia do sieci zewnętrznej E2 = Metryka rozgłaszana przez ruter ASBR.
    Trasa E1 jest bardziej preferowana niż trasa E2.
    Metryka E2 rozgłaszana wewnątrz strefy (Area), pozostaje niezmienna, w przeciwieństwie do trasy E1.
    Informację na temat tras E1 / E2, można wyświetlić za pomocą komendy [show ip ospf database external].

    Proces wyboru najlepszej trasy zewnętrznej E2, pochodzącej z innej strefy (Interarea Routes), Lokalny ruter:

    • Wybiera trasę E2 z najniższą rozgłaszaną metryką (Domyślnie 20).
    • Szuka najkrótszej trasy dotarcia do każdego z ruterów ABR, rozgłaszających struktury LSA typu piątego z trasą zewnętrzną E2 (Na podstawie zawartości bazy LSDB).
    • Dodaje do kosztu dotarcia do rutera ABR, koszt dotarcia rutera ABR do rutera ASBR (Koszt ten jest rozgłaszany za pomocą struktury LSA typu czwartego).
    • Szuka najkrótszej trasy dotarcia do każdego z ruterów ASBR (Na podstawie sumowanej wartości kosztów).
    • Wybiera najkrótszą trasę dotarcia do rutera ASBR.
    • Lokalne urządzenie —> (Koszt) —> ABR —> (+Koszt LSA typu 4) —> ASBR (Z najniższą metryką trasy E2).
    • Wartość metryki dotarcia do sieci zewnętrznej E2 = Metryka rozgłaszana przez ruter ASBR.
    Informację na temat struktur LSA typu czwartego, można wyświetlić za pomocą komendy [show ip ospf database asbr-summary].
    Komenda [show ip ospf border-routers] wyświetla listę wszystkich znanych ruterów ABR oraz ASBR.

    # show ip ospf border-routers
    OSPF Router with ID (7.7.7.7) (Process ID 1)
    Base Topology (MTID 0)
    Internal Router Routing Table
    Codes: i – Intra-area route, I – Inter-area route
    i 4.4.4.4 [1] via 10.2.2.17, GigabitEthernet0/1,ABR,Area1,SPF 3
    i 5.5.5.5 [1] via 10.2.2.21, GigabitEthernet0/2,ABR,Area1,SPF 3
    I 2.2.2.2 [3] via 10.2.2.21, GigabitEthernet0/2,ASBR,Area1,SPF 3
    I 2.2.2.2 [4] via 10.2.2.17, GigabitEthernet0/1,ASBR,Area1,SPF 3
    I 3.3.3.3 [2] via 10.2.2.17, GigabitEthernet0/1,ASBR,Area1,SPF 3

    Redystrybucja tras zewnętrznych E1

    • Trasy zewnętrze E1 przy kalkulacji wartości metryki, korzystają zarówno z kosztu rozgłaszanego przez ruter ASBR (External OSPF Cost) jak i metryki dotarcia do rutera ASBR (Internal OSPF Cost).
    • Aby ruter ASBR rozgłaszał trasy zewnętrzne E1, należy skorzystać z komendy [redistribute protokół [ASN] subset metric-type 1] wydanej w trybie konfiguracji protokołu EIGRP.
    • Wartość metryki dla trasy zewnętrznej E1, składa się z następujących wartości:
      • Koszt dotarcia do rutera ABR (Wyliczony na podstawie zawartości bazy LSDB).
      • Koszt dotarcia z rutera ABR do rutera ASBR (Wyliczony na podstawie struktury LSA typu czwartego).
      • Koszt trasy zewnętrznej rozgłaszanej przez ruter ASBR  (Wyliczony na podstawie struktury LSA typu piątego).

    Porównanie tras zewnętrznych E1 & E2

    • Trasy zewnętrze E2 ignorują koszty połączeń wewnętrznych (Internal OSPF Cost) operując jedynie na rozgłaszanym przez rutery ASBR koszcie zewnętrznym (External OSPF Cost) mającym domyślną wartość 20.
    • Trasy zewnętrze E1 przy kalkulacji wartości metryki, korzystają zarówno z kosztu rozgłaszanego przez ruter ASBR (External OSPF Cost) jak i metryki dotarcia do rutera ABR (Internal OSPF Cost).
    Protokół OSPF zawsze preferuje trasę zewnętrzną E1 nad trasę zewnętrzną E2.

    Redystrybucja tras zewnętrznych w strefie NSSA

    • Strefa NSSA oraz Totally NSSA blokuje struktury LSA typu piątego, uniemożliwiając rozgłaszanie tras zewnętrznych, a tym samym wykluczając sens stosowania ruterów ASBR w ich obszarze.
    • Tym co odróżnia strefy NSSA od stref Stuby jest zastosowanie struktur LSA typu siódmego. Mogą one rozgłaszać trasy zewnętrzne E1 oraz E2 (Zwane w tym przypadku N1 oraz N2) wewnątrz strefy NSSA, aby następnie na ruterze ABR przekształcić je w struktury LSA typu piątego w celu dalszej propagacji do innych stref (Area). Proces propagacji tras zewnętrznych w strefie NSSA wygląda następująco:
      • Ruter ASBR znajdujący się w trefie NSSA propaguje trasy zewnętrzne za pomocą struktur LSA typu siódmego.
      • Ruter ABR stojący na granicy strefy NSSA ze strefą Backbone, przekształca struktury LSA typu siódmego na struktury LSA typu piątego.
    • Tak samo jak struktury LSA typu piątego, struktury LSA typu siódmego dzielą się na trasy zewnętrzne E1 oraz E2, zwane w przypadku struktur typu siódmego N1 oraz N2 (Zasada działania jest zbliżona do trasy E1 oraz E2).
    • Trasy zewnętrzne propagowane wewnątrz strefy NSSA można wyświetlić za pomocą komendy [show ip ospf database nssa-external].

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (K) Redystrybucja protokołu OSPF**

    (K) Redystrybucja protokołu OSPF**

    Wstęp teoretyczny do redystrybucji

    # Teoria związana z redystrybucją protokołu OSPF została opisana w artykule: Redystrybucja protokołu OSPF.

    Konfiguracja redystrybucji tras routingu za pomocą protokołu OSPF, wykorzystuje następujące wartości domyślne:

    • Wartość metryki równą 1 dla protokołu BGP.
    • Wartość metryki równą 20 dla wszystkich tras protokołów IGP.
    • Rodzaj rozgłaszanej metryki równy 2 (E2).
    • Rozgłaszanie jedynie sieci klasowych (A, B oraz C).
    • Rozgłaszanie sieci za pomocą struktur LSA typu 5 (W przypadku stref niebędących NSSA).
    • Rozgłaszanie sieci za pomocą struktur LSA typu 7 (W przypadku stref będących NSSA).

    Konfiguracja redystrybucji

    Redystrybucja tras routingu

    # Konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# redistribute protokół [ASN] [metric 0-16777214(20)] [metric-type 1-2(2)] [match {inernal / nssa-external / external 1 / external 2}] [tag 0-4294967295(32-bit tag)] [route-map nazwa-ruter-mapy] [subnets]

    * Protokół – Definiuje protokół routingu, stanowiący źródło informacji o rozgłaszanych trasach.
    * ASN – Określa wartość ASN, protokołu routingu stanowiącego źródło informacji o rozgłaszanych trasach.
    * Metric – Określa wartość metryki, jaką będą posiadały rozgłaszane trasy routingu.
    * Metric-type – Określa rozdaj rozgłaszanej metryki (E1 bądź E2).
    * Match – Określa rodzaj rozgłaszanej trasy routingu (Wykorzystywany w przypadku redystrybucji innej instancji protokołu OSPF).
    * Tag – Określa wartość Integer przypisaną do rozgłaszanych tras routingu. Funkcja ta umożliwia znakowanie tras do późniejszej np. filtracji za pomocą router mapy.
    * Route-map – Przypisuje router mapę, umożliwiająca filtrację rozgłaszanych tras routingu dynamicznego bądź określającą inne wartość dotyczące rozgłaszanych tras. Takie jak np. metrykę, tagowanie czy rodzaj rozgłaszanej trasy (Wykorzystywany w przypadku redystrybucji innej instancji protokołu OSPF).
    * Subnets – Zezwala na rozgłaszanie zarówno sieci klasowych jak i bezklasowych (IPv4) (Domyślnie rozgłaszane będą jedynie sieci klasowe).

    (config)# redistribute connected subnets

    ???

    # show ip protocols {| include Redistributing / | section eigrp ASN}

    Wyświetla wszystkie skonfigurowane protokoły routingu. W tym informacje o aktywnych redystrybucjach protokołu EIGRP.

    # show ip route eigrp | include EX

    Wyświetla wszystkie trasy zewnętrzne, rozgłaszane przez protokół EIGRP.

    Konfiguracja rozgłaszanej metryki

    # Konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# default-metric 1-16777214(Wartość metryki domyślnej)

    Określa domyślną wartość rozgłaszanej metryki.

    (config)# redistribute protokół [ASN] metric 1-16777214(Wartość metryki)

    Określa wartość metryki względem danej komendy redystrybucji.

    (config)# redistribute protokół [ASN] route-map nazwa-ruter-mapy

    Przypisuje Router Mapę względem danej komendy redystrybucji.

    Redystrybucja trasy domyślnej

    # Konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# default-information originate [always] [metric 0-16777214(1) [[metric-type 1-2(2)] [route-map nazwa-router-mapy]

    Rozpoczyna redystrybucje trasy domyślnej za pomocą protokółu OSPF.
    * Trasa domyślna jest propagowana jako trasa zewnętrzna typu drugiego (E2) za pomocą struktur LSA typu piątego z metryką równą 1. Jedynie w sytuacji, gdy jest dostępna w tablicy routingu.
    * always – Umożliwia propagację trasy domyślnej, nawet gdy trasa ta nie znajduje się w tablicy routingu.
    * metric – Określa wartość metryki, jaką będzie posiadała trasa domyślna.
    * metric-type – Definiuje rozdaj rozgłaszanej metryki (E1 bądź E2).
    Domyślnie trasa domyślna jest propagowana jako trasa zewnętrzna typu drugiego (E2) za pomocą struktur LSA typu piątego z metryką równą 1. Jedynie w sytuacji, gdy dana trasa domyślna istnieje w tablicy routingu.

    Komendy SHOW

    # show ip ospf database

    Wyświetla zawartość bazy LSDB.

    # show ip ospf database external

    Wyświetla zawartość bazy LSDB, pod kontem tras zewnętrznych.

    # show ip route ospf

    Wyświetla re-dystrybuowane trasy protokołu OSPF, posiadające kod N1, N2, E1 bądź E2.

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (TK) Strefy Stubby Areas OSPF**

    (TK) Strefy Stubby Areas OSPF**

    Wstęp teoretyczny do stref Stubby Areas

    Stubby Area / Totally Stubby Area

    • W celu zmniejszenia zużycia procesora CPU, oraz wykorzystania pamięci RAM. Protokół OSPF wprowadził funkcjonalność specjalnych stref (Stub Area), w których propagacja struktur LSA typu Piątego oraz w niektórych przypadkach struktur LSA typu trzeciego, została zablokowana na rzecz rozgłaszania trasy domyślnej. Propagowanej za pomocą struktury LSA typu trzeciego. Podsumowując w strefie Stub Area rutery ABR:
      • Rozgłaszają trasę domyślną (0.0.0.0/0) za pomocą struktur LSA typu trzeciego (Trasa domyślna posiada metrykę równą 1, chyba że inna wartość zostanie skonfigurowana za pomocą komendy [area ID-strefy range 0.0.0.0 0.0.0.0]).
      • Nie rozgłaszają struktur LSA typu trzeciego (W przypadku strefy Totally Stuby Area).
      • Nie rozgłaszają struktur LSA typu piątego.
    Wszystkie rutery należące do jednej strefy (Area) muszą być skonfigurowane jako rutery należące do strefy specjalnej (Stub Area), inaczej relacja sąsiedztwa nie zostanie nawiązana z powodu niezgodności parametrów protokołu OSPF.
    Area Restrykcje (Ograniczenia strefy)
    Normal Brak ograniczeń
    Stubby Area Filtruje struktury LSA typu piątego (LSA type 5).
    Totally Stubby Area Filtruje struktury LSA typu trzeciego, czwartego oraz piątego (LSA type 3, 4, 5). Dopuszczając jednak domyślne trasy zsumaryzowane.
      NSSA Area Filtruje zewnętrzne struktury LSA typu piątego (LSA type 5), dopuszczając struktury LSA typu siódmego (LSA type 7). Przetwarzane na ruterach granicznych strefy NSSA (ABR) w struktury typu piątego (LSA type 5).
      Totally NSSA Area Filtruje zewnętrzne struktury LSA typu trzeciego, czwartego oraz piątego (LSA type 3, 4, 5), dopuszczając struktury LSA typu siódmego (LSA type 7). Przetwarzane na ruterach granicznych strefy NSSA (ABR) w struktury typu piątego (LSA type 5). Ponadto dopuszcza domyślne trasy zsumaryzowane.

    Porównanie stref Stubby Areas

    NSSA – Not-So-Stubby Area

    • Strefy Stubby oraz Totally Stubby zgodnie z definicją protokołu OSPF, nie mogą rozgłaszać sieci zewnętrznych (LSA typu 5). Związku z tym nie mogą posiadać w swoim zasięgu rutera pełniącego rolę ASBR. Aby umożliwić siecią Stubby Area rozgłaszanie sieci zewnętrznych, protokół OSPF wprowadził nowe strefy NSSA wykorzystujące struktury LSA typu 7, w celu rozgłaszania tras zewnętrznych w obrębie jednej strefy NSSA. Trasy te są następnie przetwarzane na struktury LSA typu piątego (Na ruterach ABR).
    • Struktury LSA typu siódmego spełniają tę samą funkcję w odniesieniu do stref NSSA co struktury LSA typu piątego dla innych stref (Area) protokołu OSPF.
    • Zasada działania struktur LSA typu siódmego wygląda następująco:
      • ASBR (Wewnątrz strefy NSSA) —> LSA (Typu 7) —> ABR —> LSA (Typu 5).
      • Ruter ASBR uczy się o sieci zewnętrznej od np. protokołu EIGRP.
      • Ruter ASBR rozgłasza pozyskane sieci za pomocą struktur LSA typu siódmego.
      • Ruter ABR odbiera struktury typu siódmego ze strefy NSSA, a następne rozgłasza je w innych strefach (Area), w postaci struktur LSA typu piątego.

    Podsumowanie stref Stubby Areas

    Area Type ABRs Flood Type 5 External LSAs into the Area? ABRs Flood Type 3 Summary LSAs into the Area? Allow Redistribution of External LSAs into the Stubby Area?
    Stub No Yes No
    Totally Stubby No No No
    NSSA No Yes Yes
    Totally NSSA No No Yes

    Podsumowanie stref Stubby Areas

    Konfiguracja Stref Stubby Areas

    Konfiguracja strefy Stubby

    (config-if)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy stub

    Aktywuje funkcję strefy specjalnej Stubby Area (Komenda musi być wykonana na wszystkich ruterach danej strefy (Area) protokołu OSPF).

    Konfiguracja strefy Totally Stubby

    (config-if)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy stub

    Aktywuje funkcję strefy specjalnej Totally Stubby Area (Komenda musi być wykonana na wszystkich ruterach danej strefy (Area) protokołu OSPF).

    (config-router)# area ID-strefy stub no-summary

    Aktywuje funkcję stref specjalnej Totally Stubby na ruterze pełniącym rolę ABR.

    Konfiguracja strefy NSSA

    (config-if)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy nssa

    Aktywuje funkcję strefy specjalnej NSSA (Komenda musi być wykonana na wszystkich ruterach danej strefy (Area) protokołu OSPF).

    (config-router)# area ID-strefy nssa default-information-originate*

    Opcjonalnie umożliwia rozgłaszania trasy domyślnej za pomocą struktur LSA typu 7 (LSA Type 7) (Komenda jest wykonywana na ruterze pełniącym rolę ABR).

    Konfiguracja strefy Totally NSSA

    (config-if)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy nssa no-summary

    Aktywuje funkcję stref specjalnej Totally NSSA na ruterze ABR.

    (config-router)# area ID-strefy nssa default-information-originate*

    Opcjonalnie umożliwia rozgłaszania trasy domyślnej za pomocą struktur LSA typu 7 (LSA Type 7) (Komenda jest wykonywana na ruterze pełniącym rolę ABR).

    (config-router)# area ID-strefy nssa

    Aktywuje funkcję strefy specjalnej Totally NSSA (Komenda musi być wykonana na wszystkich ruterach danej strefy (Area) protokołu OSPF).

    Konfiguracja metryki trasy domyślnej

    (config-if)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy default-cost 0-16777214

    Komenda musi być skonfigurowana na ruterze ABR.

    Komendy SHOW

    # show ip ospf

    Wyświetla informacje skonfigurowanym o rodzaju strefy (Area).

    # show ip ospf database summary 0.0.0.0

    Wyświetla trasy domyślne rozgłaszane w danej strefie.

    # show ip ospf database database-summary

    Wyświetla statystyki na temat struktur LSA przetrzymywanych w LSDB.

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (K) Domyślna trasa OSPF

    (K) Domyślna trasa OSPF

    Rozgłaszanie trasy domyślnej

    Protokół OSPF w implementacji systemu Cisco IOS nie umożliwia redystrybucji statycznej strasy domyślnej do innych instancji protokołu OSPF (Redystrybucja na inne protokoły routingu jest możliwa).

    I opcja rozgłaszania trasy domyślnej (Default-Information Orginate)

    # Konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# ip route 0.0.0.0 0.0.0.0 adres-IP [interfejs(Next hop)]

    Tworzy statyczną trasę domyślną.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# default-information originate [always] [metric 0-16777214(1) [[metric-type 1-2(2)] [route-map nazwa-router-mapy]

    Rozpoczyna redystrybucje trasy domyślnej za pomocą protokółu OSPF.
    * Trasa domyślna jest propagowana jako trasa zewnętrzna typu drugiego (E2) za pomocą struktur LSA typu piątego z metryką równą 1. Jedynie w sytuacji, gdy jest dostępna w tablicy routingu.
    * always – Umożliwia propagację trasy domyślnej, nawet gdy trasa ta nie znajduje się w tablicy routingu.
    * metric – Umożliwia statyczną konfigurację metryki.
    * metric-type – Umożliwia statyczną konfigurację rodzaju trasy zewnętrznej (E1 ,E2).
    Trasy domyślne są rozgłaszane za pomocą tras LSA typu piątego przez rutery ASBR.

    II opcja rozgłaszania trasy domyślnej (Rout Summarization)

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy range 0.0.0.0 0.0.0.0

    Sumaryzacja trasy domyślnej za pomocą struktur LSA typu 3.

    (config-router)# summary-address 0.0.0.0

    Sumaryzacja trasy domyślnej za pomocą struktur LSA typu 5.

    III opcja rozgłaszania trasy domyślnej (Stubbys Area)

    Domyślnie konfiguracja stref Stubbys Area wymusza rozgłaszanie jednej bądź wielu tras domyślnych.

    Komendy SHOW

    # show ip route ospf

    Wyświetla tablicę routingu pod kontem protokołu OSPF.

    # show ip route sieć maska

    Wyświetla szczegółowe informacje na temat trasy, prowadzącej do wskazanej w komendzie sieci.

    # show ip ospf database {network [LSID] / router [LSID] / summary [LSID] / asbr-summary [LSID] / external [LSID] / nssa-external [LSID]}

    Wyświetla struktury LSA przetrzymywane w lokalnej bazie LSDB.
    * network – Wyświetla wszystkie struktury LSA typu pierwszego.
    * router – Wyświetla wszystkie struktury LSA typu drugiego.
    * summary – Wyświetla wszystkie struktury LSA typu trzeciego.
    * asbr-summary – Wyświetla wszystkie struktury LSA typu czwartego.
    * external – Wyświetla wszystkie struktury LSA typu piątego.
    * nssa-external – Wyświetla wszystkie struktury LSA typu siódmego.

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (TK) Sumaryzacja protokołu OSPF**

    (TK) Sumaryzacja protokołu OSPF**

    Wstęp teoretyczny do sumaryzacjai

    Sumaryzacja tras routingu

    • Specyfikacja bazy LSDB wymaga, aby protokół OSPF posiadał pełną wiedzę dotyczącą topologii sieciowej w obrębie jednej tej samej strefy (Area), a tym samym wyklucza stosowanie sumaryzacji tras routingu na większości urządzeń. Istnieje jednak możliwość sumaryzacji tras routingu na ruterach pełniących rolę ABR (SLA typu 3) oraz ASBR (SLA typu 5).
    • Trasy „Interarea Routers” wymieniane za pomocą struktur LSA typu trzeciego oraz piątego, funkcjonują zgodnie z logiką Distance Vector a nie Link-State, jak ma to miejsce w przypadku struktur LSA typu pierwszego oraz drugiego.
    Sumaryzowana trasa protokołu OSPFv3 posiada wartość administracyjną (AD) równą 100, natomiast w przypadku protokołu OSPFv2 110.

    Konfiguracja sumaryzacji

    Sumaryzacja struktur LSA typu 3 (ABR)

    • Ruter ABR porównuje sumaryzowaną trasę, ze wszystkimi rozgłaszanymi przez daną strefę strukturami LSA typu trzeciego. Jeżeli przynajmniej jedna z rozgłaszanych tras intra-area route należy do sumaryzowanej sieci, ruter ABR zacznie rozgłaszać sumaryzowaną trasę za pomocą nowej struktury LSA typu trzeciego.
    • Ruter ABR nie rozgłasza sieci wchodzących w skład sieci sumaryzowanej.
    • Ruter ABR domyślnie przypisuje do trasy sumaryzowanej metrykę najlepszej sieci nie sumaryzowanej.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy(Strefa z której pochodzi dana trasa) range sieć maska [cost 0-16777214] [not-advertise]

    Tworzy nową trasę sumaryzowaną rozgłaszaną przez struktury LSA typy trzeciego.
    * not-advertise – Blokuje rozgłaszanie sumaryzowanej sieci za pomocą struktury LSA typu pierwszego jak i drugiego.

    (config-router)# do show ip ospf database summary adres-sumaryzowanej-sieci

    Wyświetla
    Sumaryzowana trasa protokołu OSPFv3 posiada wartość administracyjną (AD) równą 100, natomiast OSPF 110.

    Sumaryzacja struktur LSA typu 5 (ASBR)

    • Ruter ASBR porównuje sumaryzowaną trasę, ze wszystkimi rozgłaszanymi przez daną strefę strukturami LSA typu piątego. Jeżeli przynajmniej jedna z rozgłaszanych tras należy do sumaryzowanej sieci, ruter ASBR zacznie rozgłaszać sumaryzowaną sieć za pomocą nowej struktury LSA typu piątego.
    • Ruter ASBR nie rozgłasza sieci wchodzących w skład sieci sumaryzowanej.
    • Ruter ASBR domyślnie przypisuje do trasy sumaryzowanej metrykę najlepszej sieci nie sumaryzowanej.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# summary-address {sieć maska / prefix/prefix-length} [not-advertise]

    Tworzy nową trasę sumaryzowaną rozgłaszaną przez struktury LSA typy piątego.
    * not-advertise – Blokuje rozgłaszanie sumaryzowanej sieci za pomocą struktury LSA typu pierwszego jak i drugiego.

    Komendy SHOW

    # show ip ospf database summary [adres-sumaryzowanej-sieci]

    Wyświetla

    # show ip ospf summary-address

    Wyświetla

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (K) Konfiguracja interfejsów, metryki OSPF**

    (K) Konfiguracja interfejsów, metryki OSPF**

    Konfiguracja Interfejsów

    Konfiguracja Interfejsów pasywnych

    Dezaktywacja interfejsów pasywnych

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# passive-interface interfejs

    Włącza funkcję pasywną na określonym interfejsie sieciowym.

    Aktywacja interfejsów pasywnych

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# passive-interface default

    Włącza funkcję pasywną na wszystkich interfejsach sieciowych.

    (config-router)# no passive-interface interfejs

    Wyłącza funkcję pasywną na określonym interfejsie sieciowym.

    Konfiguracja wartości MTU

    # Wymaganie dotyczące procesu nawiązywania relacji sąsiedztwa zostały opisane w artykule: Nawiązywanie relacji sąsiedztwa.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip mtu wartość-MTU

    Określa wartość MTU. Ustawienie różnych wartości MTU na sąsiednich interfejsach może doprowadzić do błędów w czasie wymiany danych bazy LSDB, a tym samym uniemożliwić nawiązanie relacji sąsiedztwa pomiędzy ruterami.

    # show ip interface interfejs | include MTU

    Wyświetla skonfigurowaną wartość MTU, względem określonego interfejsu sieciowego.

    Statyczny wybór topologii sieciowej

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# ip ospf network {point-to-point / non-broadcast / broadcast / point-to-multipoint / point-to-multipoint non-broadcast}

    Określa rodzaj topologii sieciowej, względem protokołu OSPF.

    # show ip ospf interface [interfejs] | include Network

    Wyświetla informacje na temat rodzaju skonfigurowanej sieci, względem określonego interfejsu bądź wszystkich interfejsów sieciowych.

    Konfiguracja interfejsów wirtualnych (Virtual Links)

    Wstęp teoretyczny

    • Zgodnie z zasadami funkcjonowania protokołu OSPF, każda strefa non-backbone powinna mieć zapewnioną łączność ze strefą Backbone (Area 0). Jeżeli warunek ten nie zostanie spełniony, w sieci dojdzie do sytuacji zwanej Discontiguous area 0.
    • Aby tymczasowo umożliwić kontakt pomiędzy strefą non-backbone a strefą Backbone, poprzez inną strefą non-backbone. Protokół OSPF posiada funkcją połączenia wirtualnego Virtual Link , nawiązywanego w warstwie kontrolnej „Control Plane”.
    • W przypadku konfiguracji połączeń wirtualnych strefy non-backbone nie mogą być skonfigurowane jako strefy specjalne Stub Area ani filtrować ruchu LSA typu trzeciego (LSA Type 3).

    Konfiguracja Linku Wirtualnego

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy(Tranzytowej) virtual-link RID(Sąsiedniego urządzenia)

    Tworzy wirtualny link pomiędzy lokalnym urządzeniem a ruterem o określonej wartości RID (Podana w komendzie strefa (Area) jest strefą tranzytową, przez którą przechodzi konfigurowane połączenie wirtualne).

    (config-router)# area ID-strefy(Tranzytowej) virtual-link RID(Sąsiedniego urządzenia) dead-interval 1-8192(sekundy)

    Określa wartość czasu „dead-interval”.

    (config-router)# area ID-strefy(Tranzytowej) virtual-link RID(Sąsiedniego urządzenia) hello-interval 1-8192(sekundy)

    Określa wartość czasu „hello-interval”.

    Uwierzytelnianie Linku Wirtualnego

    (config-router)# area ID-strefy(Tranzytowej) virtual-link RID(Sąsiedniego urządzenia) authentication authentication-key hasło

    Uwierzytelnia połączenie wirtualne przy pomocy hasła (Plain Text).

    (config-router)# area ID-strefy(Tranzytowej) virtual-link RID(Sąsiedniego urządzenia) authentication message-digest message-digest-key 1-255(ID Klucza) md5 hasło

    Uwierzytelnia połączenie wirtualne przy pomocy hasła MD5.

    # show ip ospf virtual-links

    Wyświetla stan skonfigurowanych połączeń wirtualnych.

    # show ip ospf border-routers [detail]

    Wyświetla szczegółowe informacje na temat urządzeniach granicznych ABR, znajdujących się w tej samej strefie co lokalne urządzenia.

    Konfiguracja kosztów protokołu OSPF (Metryki)

    Koszt dotarcia protokołu OSPF do sieci docelowej, jest obliczany na podstawie pasma wszystkich interfejsów znajdujących się na trasie prowadzącej do celu. Wartość pasma interfejsu można dowolnie modyfikować.
    Interfejs Domyślna wartość pasma Formuła (Kbps) Koszt OSPF
    Ethernet 10.000 Kbps 100.000/10.000 10
    Token Ring 16.000 Kbps 100.000/16.000 6
    Fast Ethernet 100.000 Kbps 100.000/100.000 1
    Gigabit Ethernet 1.000,000 Kbps 100.000/1.000.000 1
    10 Gigabit Ethernet 10.000.000 Kbps 100.000/10.000.000 1
    100 Gigabit Ethernet 100.000.000 Kbps 100.000/100.000.000 1

    Domyślne koszty interfejsów protokołu OSPF

    # Teoria związana z wyliczaniem metryki protokołu OSPF została opisana w artykule: Wyliczanie metryki.

    (config)# interface interfejs

    Przechodzi do poziomu konfiguracji określonego interfejsu sieciowego.

    (config-if)# bandwidth 1-10000000(Kbps)

    Określa statyczną wartość pasma przypisaną do konfigurowanego interfejsu sieciowego.

    (config-if)# ip ospf cost 1-65535(Mbps)

    Określa statyczną wartość kosztu OSPF przypisaną do konfigurowanego interfejsu sieciowego.

    (config-if)# auto-cost reference-bandwidth 1-1000000(100)

    Zmienia domyślną wartość “Reference Bandwidth“.
    Wzór służący do wyliczenia kosztu protokołu OSPF jest następujący: (Reference-Bandwidth / Bandwidth). Show ip ospf Border routers

    Komendy SHOW

    # show ip ospf interface interfejs

    Wyświetla informacje związane z konfiguracją kosztu OSPF, względem określonego interfejsu sieciowego.

    # show ip ospf interface brief

    Wyświetla koszty wszystkich interfejsów sieciowych.

    # show ip ospf interface interfejs

    Wyświetla koszt określonego interfejsu sieciowego.

    # show ip ospf | section bandwidth

    Wyświetla skonfigurowaną wartości „Reference-Bandwidth”.

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (TK) Filtrowanie protokołu OSPF**

    (TK) Filtrowanie protokołu OSPF**

    Wstęp teoretyczny do filtrowania tras routingu

    • Zgodnie z zasadą funkcjonowania protokołu OSPF, baza LSDB musi mieć taką samą zawartość, na wszystkich urządzeniach względem tej samej strefy (Area). Zasada ta wyklucza więc stosowanie filtracji tras routingu w obrębie jednej tej samej strefy (Area), dopuszczając ją jedynie na ruterach pełniących rolę ABR (SLA typu 3) oraz ASBR (SLA typu 5).
    • Trasy „Interarea Routers” wymieniane za pomocą struktur LSA typu trzeciego oraz piątego,funkcjonują zgodnie z logiką Distance Vector a nie Link-State, jak ma to miejsce w przypadku struktur LSA typu pierwszego oraz drugiego.
    Filtrowanie tras routingu (in & out)

    ??KONFIGURACJA SPRAWDŹ?? 49- OSPF of Type-5 LSAs (Redistribution filtering) 28 minuta nagrania w dan.

    Konfiguracja filtrowania tras routingu

    Filtrowanie struktur LSA typu 3 (ABR)

    # Szczegółowa konfiguracja Prefix listy została opisana w artykule: Prefix Lista.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} adres-sieci/prefix [ge mini-prefix / le max-prefix]

    Dopuszcza bądź blokuje trasy routingu, dotyczące wskazanej w komendzie sieci, której maska mieści się w zakresie od prefix-mini do max-prefix.
    Przykładowa komenda [ip prefix-list nazwa permit 192.168.0.0/16 ge 24 le 26] dopuszcza trasy routingu, posiadające prefix z zakresu od 24 do 26, dla sieci 192.168.0.0/16.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy filter-list prefix-list nazwa-prefix-listy {in / out}

    Określona w komendzie prefix lista filtruje adresy zapisane w wpisie deny a przepuszcza wpisy permit.
    Pod-komendain filtruje trasy przychodzące do danej strefy (Area), natomiast out filtruje trasy wychodzące z danej strefy (Area).

    (config-router)# show ip prefix-list [nazwa-prefix-listy]

    Wyświetla wszystkie skonfigurowane, bądź określoną w komedzie prefix listę.

    Filtrowanie struktur LSA typu 5 (ASBR)

    # Szczegółowa konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# route-map nazwa-router-mapy {permit / deny} sequence

    Tworzy nową router mapę przepuszczającą (permit), bądź filtrujące (denny). Wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# match ip address {ACL-ID / prefix-list nazwa-prefix-listy}

    Określa trasy prowadzące do sieci, zawartych w określonej przez komendę liście ACL bądź Prefix liście.
    Konfiguracja Prefix listy, została opisana w następującym artykule.

    (config-route-map)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# redistribute protokół [ASN] [route-map nazwa-ruter-mapy] [subnets]

    * Route-map – Określa Router Mapę ,filtrującą wskazane trasy routingu.
    * Subnets – Zezwala na rozgłaszanie zarówno sieci klasowych jak i bezklasowych (IPv4).

    # show route-map [nazwa-router-mapy]

    Wyświetla określoną / wszystkie skonfigurowane na danym urządzeniu Router Mapy.

    Filtrowanie struktur LSA typu 1,2 (ABR) za pomocą sumaryzacji

    Filtrowanie struktur LSA typu pierwszego oraz drugiego jest możliwe jedynie na ruterze ABR, za pomocą wykluczonej sumaryzacji "not-advertise".

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# area ID-strefy range sieć maska not-advertise

    Określa filtrowaną sieć, wraz ze strefą (Area) z której pochodzi (Metoda ta umożliwia filtrowanie jedynie struktur LSA typu pierwszego jak i drugiego na ruterze ABR). W topologii Area 1 – Area 0 – Area 2 filtrowanie poprzez sumaryzację może być zastosowane pomiędzy strefą 1,0 dla sieci ze strefy pierwszej jak i zerowej oraz pomiędzy strefą 0, 2 dla sieci zerowej jak i drugiej, nie można jej jednak stosować pomiędzy np. strefą 1,0 dla sieci ze strefy drugiej).

    Filtrowanie tras sieciowych niezależnie do struktur LSA za pomocą listy (Distribute List)

    • Filtrowanie tras routingu za pomocą funkcji „Distribute List”, blokuje możliwość dodania określonej sieci do tablicy routingu, względem wszystkich protokołów routingu dynamicznego. W przypadku protokołu OSPF filtracja ta nie wpływa ani na struktury LSA ani na algorytm SPF, ponieważ dotyczy jedynie procesu aktualizacji tablicy routingu (Jest to najmniej pożądana metoda filtracji, mogąca doprowadzić do powstania dziur w topologii routingu).
    • Proces dodawania tras routingu na ruterze wykorzystującym protokół OSPF jest następujący:
      • Baza LSDB -> Algorytm SPF -> Distribute-List in -> IP Routing Table.
      • Lista Distribute-List out nie zadziała w przypadku protokołu OSPF ponieważ filtruje ona jedynie sieci pobierane z tablicy routingu w procesie redystrybucji. Natomiast protokół OSPF nie pobiera z tablicy routingu żadnych informacji dotyczących sieci a jedynie korzysta z własnej bazy LSDB w tym procesie.

    Podstawowa filtracja tras routingu (ACL)

    (config)# access-list ACL deny sieć dzika-maska

    Tworzy standardową listę ACL filtrującą wskazaną sieć.

    (config)# access-list ACL permit any

    Dodaje wpis listy ACL przepuszczający pozostałe sieci.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# distribute-list ACL in [interfejs]

    Blokuje możliwość dodania określonej sieci do tablicy routingu, względem wszystkich protokołów routingu dynamicznego. W przypadku protokołu OSPF filtracja ta nie wpływa ani na struktury LSA ani na algorytm SPF, ponieważ dotyczy jedynie procesu aktualizacji tablicy routingu (Jest to najmniej pożądana metoda, mogąca doprowadzić do powstania dziur w topologii routingu).

    Rozszerzona filtracja tras routingu (ACL)

    (config)# access-list ACL deny ip RID adres-IP-następnego-przeskoku sieć dzika-maska

    Tworzy rozszerzoną listę ACL filtrującą określoną w komendzie sieć (sieć dzika-maska), rozgłaszaną przez ruter o określonej wartości RID oraz adresie następnego przeskoku.

    (config)# access-list ACL permit ip any any

    Dodaje wpis listy ACL przepuszczający pozostałe sieci.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# distribute-list ACL in [interfejs]

    Blokuje możliwość dodania określonej sieci do tablicy routingu, względem wszystkich protokołów routingu dynamicznego. W przypadku protokołu OSPF filtracja ta nie wpływa ani na struktury LSA ani na algorytm SPF, ponieważ dotyczy jedynie procesu aktualizacji tablicy routingu (Jest to najmniej pożądana metoda, mogąca doprowadzić do powstania dziur w topologii routingu).

    Filtrowanie tras OSPF (Prefix lista)

    # Szczegółowa konfiguracja Prefix listy została opisana w artykule: Prefix Lista.

    (config)# ip prefix-list nazwa-prefix-listy [seq 1-4294967294(ID sekwencji)] {deny / permit} adres-sieci/prefix [ge mini-prefix / le max-prefix]

    Dopuszcza bądź blokuje trasy routingu, dotyczące wskazanej w komendzie sieci, której maska mieści się w zakresie od prefix-mini do max-prefix.
    Przykładowa komenda [ip prefix-list nazwa permit 192.168.0.0/16 ge 24 le 26] dopuszcza trasy routingu, posiadające prefix z zakresu od 24 do 26, dla sieci 192.168.0.0/16.

    (config)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# distribute-list prefix nazwa-prefix-listy in [interfejs]

    Blokuje możliwość dodania określonej sieci do tablicy routingu, względem wszystkich protokołów routingu dynamicznego. W przypadku protokołu OSPF filtracja ta nie wpływa ani na struktury LSA ani na algorytm SPF, ponieważ dotyczy jedynie procesu aktualizacji tablicy routingu (Jest to najmniej pożądana metoda, mogąca doprowadzić do powstania dziur w topologii routingu).

    Filtrowanie tras OSPF (Router mapa)

    # Szczegółowa konfiguracja Router mapy została opisana w artykule: Router mapa.

    (config)# route-map nazwa-router-mapy {permit / deny} sequence

    Tworzy nową router mapę przepuszczającą (permit), bądź filtrujące (denny). Wskazane w komendzie trasy routingu. Podany numer sekwencyjny określa porządek rozpatrywania wpisów router mapy.

    (config-route-map)# match ip address {ACL-ID / prefix-list nazwa-prefix-listy}

    Określa trasy prowadzące do sieci, zawartych w określonej przez komendę liście ACL bądź Prefix liście.
    Konfiguracja Prefix listy, została opisana w następującym artykule.

    (config-route-map)# router ospf Proces-ID

    Przechodzi do poziomu konfiguracji protokołu OSPF.

    (config-router)# distribute-list router-map nazwa-router-mapy in [interfejs]

    Blokuje możliwość dodania określonej sieci do tablicy routingu, względem wszystkich protokołów routingu dynamicznego. W przypadku protokołu OSPF filtracja ta nie wpływa ani na struktury LSA ani na algorytm SPF, ponieważ dotyczy jedynie procesu aktualizacji tablicy routingu (Jest to najmniej pożądana metoda, mogąca doprowadzić do powstania dziur w topologii routingu).
    Lista ACL bądź też lista Prefix lista, zawierająca wpis Deny wymusza przejście do kolejnego wpisu router-mapy.
    Wpis router-mapy bez skonfigurowanej komendy [match] dotycz wszystkich tras routingu.

    Komendy SHOW

    # show ip ospf xxx

    Wyświetla

    # show ip ospf xxx

    Wyświetla

    # show ip ospf xxx

    Wyświetla

    Pozostałe tematy związane z konfiguracją protokołu OSPF

    OSPFv3

  • (T) Wyliczanie metryki OSPF**

    (T) Wyliczanie metryki OSPF**

    Zmiana kosztu OSPF

    Zmiana kosztu OSPF (Reference-Bandwidth)

    • OSPF przy wyliczaniu kosztu interfejsu sieciowego, wykorzystuje następujący wzór (Cost = Reference-Bandwidth / Interface-Bandwidth). Z czego „Reference-Bandwidth” odnosi się do domyślnej wartości protokołu OSPF (100), która może być opcjonalnie zmodyfikowana za pomocą komendy [auto-cost reference-bandwidth 1-4294967(pasmo)(Mbps)] wydanej w trybie konfiguracji protokołu OSPF.
    Należy przy tym pamiętać, aby wszystkie rutery należące do tej samej instancji protokołu OSPF, posiadały takie same ustawienia wartości „Reference-Bandwidth”.

    Przykładowe wyliczanie kosztu

    • Obliczanie kosztu z domyślną wartością Reference-Bandwidth (Domyślna wartość wynosi 100):
      • Ethernet (10 Mbps) – 100 / 10 = 10.
      • FastEthernet (100 Mbps) – 100 / 100 = 1.
      • GigabitEthernet (1 Gbps) – 100 / 1000 = 0.1 (1 Stanowi najniższą wartość).
      • 10 GigabitEthernet (10 Gbps) – 100 / 10 000 = 0.01 (1 Stanowi najniższą wartość).
    • Obliczanie kosztu z zmodyfikowaną wartością Reference-Bandwidth (Na wartość 10 000):
      • Ethernet (10 Mbps) – 10 000 / 10 = 1000.
      • FastEthernet (100 Mbps) – 10 000 / 100 = 100.
      • GigabitEthernet (1 Gbps) – 10 000 / 1000 = 10.
      • 10 GigabitEthernet (10 Gbps) – 10 000 / 10 000 = 1.
    Powodem motywującym do zmiany domyślnej wartości „Reference-Bandwidth”, może być fakt że dla interfejsów działających w standardzie Fast Ethernet, Gigabit Ethernet, 10 Gigabit Ethernet oraz wyższych domyślna, wartość koszu jest taka sama i wynosi 1. Ponieważ jest to najniższa wartość używana w protokole OSPF. W takim przypadku zmiana domyślnej wartości „Reference-Bandwidth”, umożliwi uwzględnienie różnic pasma pomiędzy wskazanymi standardami.

    Zmiana kosztu protokołu OSPF (Interfejs-Bandwidth)

    • Drugą metodą umożliwiającą ingerencję w wartość kosztu protokołu OSPF, względem określonego interfejsu sieciowego. Jest statyczne skonfigurowanie wartości „Interface-Bandwidth” za pomocą komendy [bandwidth 1-10000000(pasmo)(Kbps)] wydanej w trybie konfiguracji interfejsu sieciowego.

    Zmiana kosztu protokołu OSPF (OSPF Cost)

    • Ostatnią najskuteczniejszą metodą zmiany wartości kosztu interfejsu sieciowego, jest statyczne zmodyfikowanie wartości kosztu za pomocą komendy [ip ospf cost 1-65535(Wartość-kosztu)] wydanej z poziomu konfiguracji interfejsu sieciowego.

    Podsumowanie zmiany domyślnego kosztu protokołu OSPF

    • Wzór na obliczanie wartości interfejsu wygląda następująco: Cost = Reference-Bandwidth / Interface- Bandwidth.
      • Komenda [auto-cost reference-bandwidth 1-4294967(pasmo)(Mbps)] zmienia domyślną wartość Reference-Bandwidth.
      • Komenda [bandwidth 1-10000000(pasmo)(Kbps)] zmienia domyślną wartość Interface-Bandwidth.
      • Komenda [ip ospf cost 1-65535(Wartość-kosztu)] zmienia wyliczoną wartość Cost.
    • Wartość kosztu interfejsu sieciowego można zweryfikować za pomocą komendy:
      • [show running-config | section ospf] – Wyświetla konfigurację protokołu OSPF.
      • [show ip ospf interface brief] – Wyświetla koszty wszystkich interfejsów sieciowych.
      • [show ip ospf interface interfejs] – Wyświetla koszt określonego interfejsu sieciowego.
      • [show ip ospf | section bandwidth] – Wyświetla skonfigurowaną wartości „Reference-Bandwidth”.

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) Multi-Area OSFP*

    (T) Multi-Area OSFP*

    Multi-Area OSFP

    Informacje dotyczące Multi-Area OSFP

    • Protokół OSPF wymaga aby poszczególne strefy (Area), były łączone pomiędzy sobą za pośrednictwem strefy głównej (Backbone Area 0). Konfiguracja pojedynczej strefy (Area) nie wymaga aby była to strefa Backbone.
    • Wymiana tras routingu może zachodzić jedynie pomiędzy strefą tranzytową (Area 0) a inną strefą protokołu OSPF.

    Przyczyny podziału na strefy Area

    • Large link-state database – Im większa topologia sieciowa, tym więcej pamięci (RAM-u) zajmuje baza LSDB a tym samym więcej informacji jest wymienianych pomiędzy ruterami. Ponadto większa baza wymaga większego nakładu pracy procesora CPU przy obliczaniu ścieżki wolnej od pętli.
    • Large routing table – Sieci wewnątrz jednej strefy (Area) nie mogą być zsumaryzowane ani filtrowane.
    • Frequent SPF algorithm calculations – Każda zmiana statusu interfejsu może doprowadzić do wystąpienia ponownego procesu przeliczania ścieżki dotarcia do sieci docelowej, a tym samym znacząco zwiększyć utylizację procesora CPU.
    Według niektórych źródeł liczba 50 ruterów stanowi punkt, w którym stosowanie podziału na strefy jest wskazane.

    Skutki zastosowania podziału na strefy Area

    • Smaller routing tables – Sieci mogą zostać zsumaryzowane pomiędzy poszczególnymi strefami (Area).
    • Reduced link-state update overhead – Zmniejszenie pojedynczej strefy (Area), ogranicza ilość rozgłaszanych struktur LSA, tym samym zmniejszając ilość wykorzystywanej pomięci RAM oraz zmniejszając poziom utylizacji procesora CPU.
    • Reduced frequency of SPF calculations – Minimalizuje zasięg zmian wymagających ponownej re-kalkulacji algorytmu SPF.

    Nazewnictwo związane z podziałem na strefy Area

    • Area – Grupa ruterów współdzielących tę samą zawartość bazy LSDB.
    • Backbone Area – Główna strefa, do której muszą być podłączone inne strefy (Area).
    • Intra-area route – Trasa do sieci znajdującej się w tej samej strefie (Area).
    • Interarea route – Trasa do sieci znajdującej się w innej strefie (Area).
    • Internal Router – Ruter, którego wszystkie interfejsy należą do tej samej strefy (Area).
    • Area Border Router (ABR) – Ruter łączący strefę Backbone Area z innymi strefami protokołu OSPF.
    • Backbone Router – Ruter, którego przynajmniej jeden z interfejsów należy to strefy Backbone.
    • Autonomous System Boundary Router (ASBR) – Ruter, którego przynajmniej jeden z interfejsów należy do innego systemu autonomicznego (Wspiera inny protokół routingu bądź inną instancje protokołu OSPF).
    Nazewnictwo związane z podziałem na strefy

    Virtual links

    • Połączenie wirtualne stosowane w protokole OSPF, ma na celu zapewnienie bezpośredniej łączności pomiędzy strefą główną (Backbone Area 0) a inną strefą (Area). W sytuacji, w której obydwie strefy nie są ze sobą bezpośrednio połączone, ponieważ rozdziela je inna strefa. W takim przypadku zastosowanie połączenia wirtualnego (Virtual link) stanowi tymczasowe rozwiązanie umożliwiające bezpośrednią komunikację ze strefą (Backbone).
    • Połączenie wirtualne może być przydatne w sytuacji:
      • Gdy połączenie strefy (Nonbackbone Area) za pomocą sieci WAN, poprzez inną strefę (Nonbackbone Area) jest tańsze niż bezpośrednie połączenie ze strefą (Backbone Area 0).
      • Utraty połączenia pomiędzy dwoma częściami strefy (Backbone Area 0), co może doprowadzić do powstania dwóch niezależnych stref (Area 0).
      • Łączenia ze sobą dwóch niezależnych topologii sieciowych, z których każda posiada własną strefą Area 0.

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) Struktury LSA 4-9 OSPF**

    (T) Struktury LSA 4-9 OSPF**

    Przykładowa topologia obrazująca działanie struktur LSA

    Przykładowa topologia obrazująca działanie struktur LSA

    LSA Type 4 – ASBR Summary

    • Struktury LSA typu czwartego są rozgłaszane przez rutery ABR (Area Border Router) jako element uzupełniający względem struktur LSA typu piątego. Zawierają one wartość RID rutera ASBR oraz ABR dzięki czemu umożliwiają lokalizację urządzenia ASBR (Autonomous System Border Router) znajdującego się w innej strefie (Area).
    • Struktury LSA typu piątego (LSA type 5) rozgłaszają trasy pochodzące z innych protokołów routingu bądź też innych instancji protokołu OSPF. Zawierają one oprócz podstawowych informacji dotyczących rozgłaszanej sieci, wartość RIDrutera ASBR rozgłaszającego daną trasę.
      • W przypadku urządzeń znajdujących się w tej samej strefie (Area), co ruter ASBR, struktura LSA typu piątego nie sprawiają żadnych problemów, ponieważ wszystkie urządzenia posiadają lokalizację rutera ASBR, pobraną z bazy LSDB (Na podstawie struktur LSA typu pierwszego).
      • W przypadku urządzeń znajdujących się w innej strefie (Area), niż ruter ASBR, informacja o jego wartości RID, na nic się nie zda innym urządzeniom, ponieważ nie posiadają one informacji o jego lokalizacji. W tym momencie wykorzystywana jest struktura LSA typu czwartego, ponieważ rozgłasza ona informacje o trasie oraz koszcie dotarcia do rutera ASBR poprzez ruter ABR.
    • Lokalne urządzenie —> (Koszt) —> ABR —> (+Koszt rozgłaszany przez LSA typu 4) —> ASBR (Z najniższą metryką trasy E2 / E1).
      • Wartość metryki dotarcia do sieci zewnętrznej E2 = Metryka rozgłaszana przez ruter ASBR.
      • Wartość metryki dotarcia do sieci zewnętrznej E1 = Metryka rozgłaszana przez ruter ASBR + koszt dotarcia do ASBR.

    Zawartość struktury LSA type 4

    Struktura LSA typu czwartego zawiera

    • Wartość RID rutera ASBR, rozgłaszającego trasę zewnętrzną.
    • Wartość RID rutera ABR, rozgłaszającego daną strukturę LSA.
    • Adres sieci wraz z maską.
    • Wartość LSID (Wartość RID rutera ASBR).
    • Koszt trasy rutera ABD do rutera ASBR (Metrykę).
    • Numer sekwencyjny.
    • Sumę kontrolną (Checksum).

    Wyświetlanie struktur LSA type 4

    • Informacje na temat struktury LSA typu czwartego można wyświetlić za pomocą komendy [show ip ospf database], znajdują się one pod punktem (summary ASB Link State (Area ID-area)), oraz za pomocą komendy [show ip ospf database asbr-summary].
    32-bitową wartość identyfikatora (LSID) w przypadku struktury LSA typy czwartego (LSA Type 4) stanowi wartość RID rutera ASBR.

    LSA Type 5 – AS External

    • Struktury LSA typu piątego są rozgłaszane przez rutery ASBR na granicy pomiędzy protokołem OSPF a innymi protokołami routingu dynamicznego bądź też inną instancją protokołu OSPF.
    • Struktury LSA typu piątego rozgłaszają trasy pochodzenia zewnętrznego, pochodzące od innych protokołów routingu bądź też innych instancji protokołu OSPF. Nie są jednak rozgłaszane w strefach specjalnych Stubby Area, gdzie rozgłaszana jest jedynie trasa domyślna.
    • Trasy zewnętrzne rozgłaszane przez struktury LSA typu piątego, dzielą się na dwa rodzaje różniące się od siebie metodą kalkulacji metryki. Są one następujące:
      • External type 1 (E1)Nie dodaje wewnętrznych (Internal) wartości metryki do kalkulacji koszu całej trasy.
      • External type 2 (E2) Dodaje wewnętrzne (Internal) wartości metryki do kalkulacji koszu całej trasy.

    Zawartość struktury LSA type 5

    Struktura LSA typu piątego zawiera

    • Wartość RID rutera ASBR, rozgłaszającego daną strukturę LSA.
    • Adres sieci wraz z maską.
    • Wartość LSID (Adres sieci bez maski).
    • Koszt danej trasy (Metrykę).
    • Rodzaj danej trasy (E1 bądź E2).
    • Numer sekwencyjny.
    • Sumę kontrolną (Checksum).

    Wyświetlanie struktur LSA type 5

    • Informacja na temat struktury LSA typu piątego można wyświetlić za pomocą komendy [show ip ospf database], znajdują się one pod punktem (Type-5 AS External Link State (Area ID-area)), oraz za pomocą komendy [show ip ospf database external].
    32-bitową wartość identyfikatora (LSID) w przypadku struktury LSA typy piątego (LSA Type 5) stanowi wartość stanowi adres rozgłaszanej sieci (bez maski).

    Struktury LSA 6-9

    LSA Type 6 – Group Membership

    Struktura LSA typu szóstego nie został zaimplementowana w systemie Cisco IOS.

    LSA Type 7 – External Attributes (NSSA External)

    • Struktury LSA typu siódmego są rozgłaszana przez rutery ASBR w obrębie stref specjalnych NSSA oraz Totally NSSA.
    • Struktury LSA typu siódmego pełnią w strefie NSSA oraz Totally NSSA podobną rolę, jaką pełnią struktury LSA typu piątego w innych strefach protokołu OSPF.
    • Ruter ASBR —> (NSSA LSA type 7) —> ABR —> (Area 0 LSA type 5).

    LSA Type 8 – Link LSAs (OSPFv3)

    • Struktury LSA typu ósmego rozgłaszają adresy IPv6 link-local do wszystkich ruterów współdziedziczących ten sam link.
    • Struktura LSA typu ósmego rozgłasza bit opcji.

    LSA Type 9 – Intra-Area Prefix LSAs  (OSPFv3)

    • Struktura LSA typu dziewiątego posiada podobną funkcjonalność względem protokołu IPv6 co struktura LSA typu pierwszego oraz drugiego względem protokołu IPv4.

    Podsumowanie struktur LSA

    LSA type Routing Table Symbol LSA type Routing Table Symbol LSA type Routing Table Symbol
    LSA 1 O LSA 2 O LSA 3 O IA
    LSA 4 O IA LSA 5 O E1 / O E2 LSA 7 O N1 / O N2

    Struktury LSA a symbole przypisane do tras w Tablicy Routingu

    Ograniczanie ilości otrzymywanych struktur LSA

    • Domyślnie system Cisco IOS nie ogranicza ilości otrzymywanych a następnie przetwarzanych struktur LSA. Istnieje jednak opcjonalna możliwość zabezpieczenia systemu przed nadmiernym napływem struktur LSA, za pomocą komendy [max-lsa 1-4294967294] użytej w trybie konfiguracji protokołu OSPF.
    • W przypadku przekroczenia liczby otrzymanych struktur LSA (Nie licząc struktur stworzonych przez lokalne urządzenie), system IOS wyśle komunikat systemowy „Log Messages”. Jeżeli sytuacja nie ulegnie zmianie a nowe struktury nadal będą docierały, ruter ponowi wiadomość „Log Messages”. W przypadku braku reakcji ruter rozwiąże wszystkie relacje sąsiedztwa oraz porzuci wszystkie zapisane struktury LSA. Rozpoczynając nawiązywanie nowych relacji od nowa.

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) Wybór najkrótszej trasy OSPF**

    (T) Wybór najkrótszej trasy OSPF**

    Wybór najkrótszej trasy

    Proces wymiany struktur LSA, ma na celu stworzenie spójnej bazy LSDB, względem wszystkich urządzeń znajdujących się w obrębie jednej tej samej strefy (Area). Dzięki czemu możliwe staje się znalezienie najkrótszej trasy prowadzącej do sieci docelowej. Proces ten wygląda następująco:

    • Algorytm SPF analizuje zawartość bazy LSDB w celu znalezienia wszystkich tras prowadzących do sieci docelowej.
    • Dla każdej z znalezionych tras, protokół OSPF kalkuluje koszt dotarcia do sieci docelowej, na podstawie zsumowanych kosztów poszczególnych interfejsów sieciowych na drodze do celu.
    • Algorytm SPF dodaje to tablicy routingu trasę z najniższym kosztem dotarcia do sieci docelowej.
    Koszt interfejsu sieciowego względem protokołu OSPF może być wyświetlony za pomocą komendy [show ip ospf interface].
    Kalkulacja kosztów tras, prowadzących do sieci docelowej

    Kalkulacja najkrótszej trasy (Intra-Area Routes)

    • Podczas analizy bazy LSDB, protokół OSPF:
      • Szuka wszystkich sieci dodanych do bazy LSDB na podstawie struktur LSA typu pierwszego oraz drugiego.
      • Uruchamia algorytm SPF w celu znalezienia wszystkich tras prowadzących do sieci znalezionych w punkcie 1.
      • Kalkuluje koszt każdej trasy na podstawie kosztów interfejsów wyjściowych.
      • Wybiera trasę z najniższym kosztem względem wszystkich sieci znalezionych w punkcie 1
    • W przypadku znalezienia wielu tras o tym samym koście dotarcia do celu, OSPF wykorzystuje wszystkie trasy z pomocą funkcji Load-Balance. Maksymalną liczbę jednocześnie wykorzystywanych tras można skonfigurować za pomocą komendy [maximum-paths 1-32] w trybie konfiguracji protokołu OSPF.
    Zmiana zaszła w strukturze LSA typu pierwszego bądź drugiego wymaga ponownej rekalkulacji algorytmu SFP.

    Kalkulacja najkrótszej trasy (Interarea Routes)

    • Podczas analizy bazy LSDB, protokół OSPF:
      • Szuka najkrótszej trasy dotarcia do rutera ABR, rozgłaszającego struktury LSA typu trzeciego.
      • Dodaje do kosztu dotarcia do rutera ABR, koszt rozgłaszany poprzez strukturę LSA typu trzeciego. Jest to koszt trasy pomiędzy ruterem ABR a siecią docelową.
    • Struktura LSA typu trzeciego zawiera:
      • Adres sieci wraz z maską.
      • Koszt dotarcia z rutera ABR do sieci docelowej.
      • Wartość RID rutera ABR.
    Zmiana zaszła w strukturze LSA typu trzeciego nie wymaga ingerencji algorytmu SFP.

    Intra-Area Routes oraz Interarea Routes na ruterach ABRs

    • Problem
      związany z trasami Intra-Area Routes oraz Interarea Routes, pojawia się w sytuacji,
      w której wiele ruterów ABR łączą ze sobą dwie te same strefy (Area), w
      celu zachowania nadmiarowości.
    • Każdy
      z wyżej wspomnianych ruterów ABR posiada trasę Intra-Area Routes oraz Interarea
      Routes, prowadząca do sieci docelowej. Związku z tym protokół OSPF będzie
      kierował się następującą logiką:
      • Trasa Intra-Area jest zawsze lepsza od trasy
        Interarea Routes, niezależnie od kosztów obydwóch tras.
      • Jeżeli ruter ABR otrzyma strukturę typu trzeciego w strefie Nonbackbone,
        zignoruje ją.
    Trasa Intra-Area oraz Interarea na ruterach ABR

    Licznik użycia algorytmu SFP

    Każdorazowa zmiana struktury LSA typu pierwszego bądź drugiego, wymaga ponownego przeliczenia najkrótszej trasy z wykorzystaniem algorytmu SFP, co zwiększa wartość licznika widocznego pod wydrukiem komendy [show ip ospf].

    # show ip ospf

    Area BACKBONE(0)
    Number of interfaces in this area is 1
    Area has no authentication
    SPF algorithm last executed 2w5d ago
    SPF algorithm executed 2 times

    Area ranges are
    Number of LSA 3. Checksum Sum 0x01101D
    Number of opaque link LSA 0. Checksum Sum 0x000000
    Number of DCbitless LSA 0
    Number of indication LSA 0
    Number of DoNotAge LSA 0
    Flood list length 0

    Kolejność wyboru tras protokołu OSPF (AD, Metric)

    1. Intra-Area (O).
    2. Inter-Area (O IA).
    3. External Type 1 (E1).
    4. External Type 2 (E2).
    5. NSSA Type 1 (N1).
    6. NSSA Type 2 (N2).

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) Struktury LSA 1-3 OSPF**

    (T) Struktury LSA 1-3 OSPF**

    LSA Type 1 – Router

    • Struktury LSA typu pierwszego są rozgłaszane przez wszystkie rutery, względem pojedynczej strefy (Area). Zawierają one informacje o sieciach przyległych należących do jednej strefy (Area).
    • Sąsiednie urządzenia przekazują otrzymane od swoich sąsiadów struktury LSA typu pierwszego, a oni przekazują je do swoich sąsiadów, aż wszystkie urządzenia z danej strefy (Area) będą posiadały pełną wiedzę na temat wszystkich struktur LSA typu pierwszego, jakie są dostępne w obrębie tej samej strefy.

    Zawartość struktury LSA type 1

    • Struktura LSA typu pierwszego zawiera następujące informacje:
      • LS age – Czas jaki upłynął od ostatniej aktualizacji danej struktury LSA (Age).
      • LS Type – Rodzaj struktury LSA (Router Links).
      • Link State ID – Wartość LSID (Local router ID (RID)).
      • Advertising Router – Wartość RID lokalnego urządzenia.
      • Sequence Number – Wartość numeru sekwencyjnego.
      • Checksum – Sumę kontrolną.
      • Length – Długość (Wielkość struktury LSA w Bajtach).
      • Number of links – Ilość linków jakie zawiera dana struktura.

    Informacje dotyczące interfejsów

    • Struktury LSA typu pierwszego zawierają informację o wszystkich interfejsach sieciowych, aktywnych względem określonej strefy (Area). W zależności od rodzaju interfejsu, OSPF przechowuje różne informacje.
    • W przypadku interfejsów sieciowych dla których została przeprowadzona elekcja urządzeń DR / BDR, struktura LSA typu pierwszego będzie zawierała jedynie adres IP urządzenia pełniącego rolę DR-a. Informację dotyczące sieci przyległych, są w tym przypadku rozgłaszane przez urządzenie główne (DR) za pomocą struktur LSA typu drugiego.
      • OSPF określa sieć tego typu, mianem sieci tranzytowej  Transit Network.
    • W przypadku interfejsów sieciowych dla których nie została przeprowadzona elekcja urządzeń DR / BDR, struktura LSA typu pierwszego będzie zawierała:
      • Względem sieci rozgłoszeni-owych (broadcasts), adres sieci, maskę oraz koszt interfejsu.
        • OSPF określa sieć tego typu mianem sieci krańcowej  Stub Network.
      • Względem sieci Point-to-Point, wartość RID sąsiedniego urządzenia oraz standardowe informacje rozgłaszane przez sieci broadcasts-owe takie jak adres sieci,maskę oraz koszt interfejsu.
        • OSPF określa sieć tego typu mianem sieci krańcowej Stub Network.
    W przypadku konfiguracji interfejsu loopback, protokół OSPF zignoruje skonfigurowaną maskę sieciową, rozgłaszając daną sieć jako „Stub Network” z maską 255.255.255.255. Aby zmienić to domyślne zachowanie protokołu OSPF należy wykonać komendę [ip ospf network point-to-point] w trybie konfiguracji interfejsu loopback.
    Każde urządzenie tworzy swoją własną pojedynczą strukturę LSA typu pierwszego, wyjątek od tej reguły stanowią rutery ABR, które tworzy po jednej strukturze LSA typu pierwszego względem każdej ze stref (Area) do której należy.
    Trzy przykładowe Struktury LSA typu pierwszego (Area 5)

    Zawartość struktury LSA type 1

    • Struktura LSA typu pierwszego zawiera:
      • Wartość LSID (Wartość RID lokalnego urządzenia).
      • Informacje o wszystkich aktywnych względem protokołu OSPF interfejsach (Adres/maska).
      • Koszty interfejsów (OSPF Interface Cost).
      • Wartości RID sąsiednich urządzeń.
      • Numer sekwencyjny.
      • Sumę kontrolną (Checksum).

    Wyświetlanie struktur LSA type 1

    • Informacje na temat struktury LSA typu pierwszego można wyświetlić za pomocą komendy [show ip ospf database], znajdują się one pod punktem (Router Link State (Area ID-area)) jak i za pomocą komendy [show ip ospf database router [RID]].
      • [show ip ospf database] – Wyświetla podsumowanie wszystkich otrzymanych struktur LSA.
      • [show ip ospf database router [RID]] – Wyświetla szczegółowe informacje na temat struktury LSA typu pierwszego, otrzymanej od określonego w komendzie sąsiada (RID). Poszczególne punkty opisują oddzielne linki, sieci wyświetlając między innymi informacje na temat rodzaju połączenia w wpisie „Link Connected to: (Rodzaj topologii)”.
    Ponieważ wartość RID jest wykorzystywana przez wiele struktur LSA, Cisco zaleca, aby była to wartość łatwa to zapamiętania (Identyfikacji konkretnego urządzenia).
    32-bitową wartość identyfikatora (LSID) w przypadku struktury LSA typy pierwszego (LSA Type 1) stanowi wartość RID rutera który takową strukturę LSA stworzył.

    LSA Type 2 – Network

    • Struktury LSA typu drugiego są rozgłaszane przez rutery pełniące rolę DR-a w sieciach wielodostęp-owych.
    • Algorytm SPF wymaga aby baza LSDB, zawsze tworzyła topologię, opartą o dwa rutery (Nodes) połączone ze sobą za pomocą jednej sieci (Link). Zasada ta znacząco komplikuje proces tworzenia wpisów dotyczących sieci wielodostęp-owych, w których pewna liczba ruterów połączona jest ze sobą za pomocą jednej sieci (Linku). W tej sytuacji baza LSDB tworzy pseudo-strukturę LSA typu drugiego, do której podłączane są poszczególne rutery.

    Proces elekcji rutera DR

    • Zgodnie z właściwym rodzajem topologii sieciowej. Protokół OSPF przystępuje do elekcji urządzenia pełniącego rolę DR, zaraz po odebraniu pierwszej wiadomości Hello od przynajmniej jednego z sąsiadów. Proces elekcji jest prowadzony jest w celu:
      • Tworzenia oraz propagowania struktury LSA typu drugiego.
      • Wsparcia procesu wymiany danych bazy LSDB.
    • Proces elekcji urządzenia DR / BDR wygląda następująco:
      • Rolę aktywną (DR) przejmuje urządzenie z najwyższą wartością priorytetu (0255). Jeżeli wartość ta jest taka sama na wszystkich urządzeniach, pod uwagę brana jest najwyższa wartość RID.
      • Urządzenie z drugą najwyższą wartością (Priorytetu / wartości RID) przejmuje rolę zapasową BDR (Backup Designated Router).
      • Po zakończeniu elekcji urządzeń (DR, BDR), ponowna elekcja może nastąpić jedynie w sytuacji awarii przynajmniej jednego z urządzeń pełniących rolę DR-a bądź BDR-a.
      • W przypadku utraty DR-a jego rolę przejmuje BDR niezależnie od tego czy w sieci istnieje urządzenia z większą wartością priorytetu czy też nie takowego nie ma.
      • Wartość priorytetu można skonfigurować za pomocą komendy [ip ospf priority 0-255] w trybie konfiguracji interfejsu sieciowego.

    Znaczenie struktury LSA type 2

    • Jako że protokół OSPF w przypadku sieci wielodostęp-owych nie jest w stanie przyporządkować w bazie LSDB więcej niż dwóch ruterów do jednego linku, wykorzystuje strukturę LSA typu drugiego w postaci pseudo kodu. W takim przedstawieniu każda struktura LSA typu pierwszego stworzona przez urządzenia podłączone do tej samej sieci wielodostęp-owej, jest łączona w bazie LSDB do pseudo struktury LSA typu drugiego.
    • Struktura LSA typu drugiego jest tworzona oraz propagowana przez ruter pełniący rolę DR-a.
    Cztery przykładowe Struktury LSA typu pierwszego oraz jedna typu drugiego (Area 34)

    Zawartość struktury LSA type 2

    • Struktura LSA typu drugiego zawiera:
      • Wartość LSID (Wartość ID urządzenia pełniącego rolę DR-a).
      • Informacje o wszystkich aktywnych względem protokołu OSPF interfejsach (Adres/maska).
      • Wartości RID sąsiednich urządzeń.
      • Numer sekwencyjny.
      • Sumę kontrolną (Checksum).

    Wyświetlanie struktur LSA type 2

    • Informacje na temat struktury LSA typu drugiego można wyświetlić za pomocą komendy [show ip ospf database], znajdują się one pod punktem (Net Link State (Area ID-area)) jak i za pomocą komendy [show ip ospf database {router RID / network [LSID]}].
      • [show ip ospf database] – Wyświetla podsumowanie wszystkich otrzymanych struktur LSA.
      • [show ip ospf database network [LSID]] – Wyświetla szczegółowe informacje na temat struktury LSA typu drugiego (względem danej wartości LSID), w tym wartości RID wszystkich struktur LSA typu pierwszego, należących do danej sieci wielodostęp-owej a tym samym podłączonych do pseudo struktury LSA typu drugiego.

    LSA Type 3 – Net Summary

    Struktury LSA typu pierwszego (LSA type 1) są propagowane w obrębie jednej strefy (Area), struktury LSA typu drugiego (LSA type 2) są propagowane w obrębie jednej sieci wielodostęp-owej, tymczasem struktury LSA typu trzeciego (LSA type 3) są rozgłaszane za pomocą ruterów granicznych ABR, pomiędzy różnymi strefami (Multiple areas).
    • Struktury LSA typu trzeciego są rozgłaszane przez rutery ABR, stanowiące granicę pomiędzy strefami (Multiple areas).
    • Ruter ABR generuje po jednej strukturze LSA typu trzeciego względem każdej z rozgłaszanych sieci, dla każdej strefy (Area) z osobna. Zamieszczając w nich jedynie podstawowe informacje na temat rozgłaszanej sieci.
    Cztery przykładowe struktury LSA typu trzeciego
    • Zgodnie z powyższą grafiką, każdy ruter wewnętrzny (Internal Router), propaguje stworzone przez siebie struktury LSA typu pierwszego (Fioletowe strzałki) w obrębie jednej strefy (Area), tak aby każdy z ruterów posiadał identyczną zawartość bazy LSDB. Urządzenie graniczne ABR (Area Border Router) stanowiące barierę pomiędzy strefami (Area), rozgłaszając sieci pomiędzy strefami za pomocą struktur LSA typu trzeciego (Czerwone strzałki). Zgodnie z następującymi zasadami:
      • Każda struktura LSA typu trzeciego przenosi informację o jedynie jednej, z rozgłaszanych sieci.
      • Ruter ABR tworzy jedną strukturę LSA typu trzeciego względem każdej z rozgłaszanych sieci, dla każdej strefy z osobna (Poza strefą, z której pochodzi rozgłaszana sieć).

    Zawartość struktury LSA type 3

    • Struktura LSA typu trzeciego zawiera:
      • Wartość RID rutera ABR, rozgłaszającego daną strukturę LSA.
      • Adres sieci wraz z maską.
      • Wartość LSID (Adres sieci bez maski).
      • Wartość kosztu (Metryki).
      • Numer sekwencyjny.
      • Sumę kontrolną (Checksum).

    Wyświetlanie struktur LSA type 3

    • Informacje na temat struktury LSA typu trzeciego można wyświetlić za pomocą komendy [show ip ospf database / show ip ospf database summary [LSID]], znajdują się one pod punktem (summary Net Link State (Area ID-area)).
      • [show ip ospf database] – Wyświetla podsumowanie wszystkich otrzymanych struktur LSA.
      • [show ip ospf database summary LSID] – Wyświetla szczegółowe informacje na temat struktury LSA typu trzeciego.
    32-bitową wartość identyfikatora (LSID) w przypadku struktury LSA typy trzeciego (LSA Type 3) stanowi adres rozgłaszanej sieci (bez maski).

    Podsumowanie struktur LSA 1-3

    • Protokół
      OSPF wykorzystuje struktury LSA typu pierwszego, drugiego oraz trzeciego w celu
      kalkulacji najlepszej drogi dotarcia do sieci docelowej. Poniższa tabela
      prezentuje różnice pomiędzy trzema podstawowymi strukturami LSA:
    LSA Type (Number) LSA Type (Name) This Type Represents Show ip ospf database … LSID is Equal to Created by
    1 Router A one router in one area router RID of router Each router creates its own peer area
    2 Network A subnet in with a DR exists network DR’s IP address in the subnet The DR in that subnet
    3 Summary A subnet in another Area summary Subnet address An ABR

    Podsumowanie struktur LSA 1-3

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) LSDB (Link-State Database) OSPF**

    (T) LSDB (Link-State Database) OSPF**

    Struktura danych protokołu OSPF

    • Adjacency Database <-> Neighbor Table:
      • Zawiera listę wszystkich ruterów z którymi lokalne urządzenie nawiązało relację sąsiedztwa.
      • Jej zawartość może być wyświetlona za pomocą komendy [show ip ospf neighbor].
      • Jest unikalna względem każdego z ruterów.
    • Link-State Database (LSDB) <-> Topology Table:
      • Posiada informacje o wszystkich ruterach należących do tej samej strefy (Area).
      • Zawiera wartości RID wszystkich ruterów należących do tej samej strefy (Area).
      • Posiada informacje o wszystkich sieciach należących do tej samej strefy (W tym adresy IP oraz maski sieciowe).
      • Jej zawartość może być wyświetlona za pomocą komendy [show ip ospf database].
      • Jest taka sama względem wszystkich ruterów w danej strefie.
    • Forwarding Database <-> Routing Table:
      • Zawiera trasy dodane przez algorytm SPF, na podstawie zawartości bazy Link-State Database (LSDB).
      • Jej zawartość może być wyświetlona za pomocą komendy [show ip route ospf].
      • Jest unikalna względem każdego z ruterów, ponieważ przedstawia sieć protokołu OSPF w postaci drzewa topologii sieciowej, z lokalnym ruterem stanowiącym korzeń.

    Struktury LSA

    • Struktury LSA są wykorzystywane przez protokół OSPF, w celu wymiany informacji dotyczących budowy topologii sieciowej.
    • Poszczególne informacje zawarte w strukturach LSA tworzą bazę danych LSDB (Link State Data Base).
      • LSA Type 1 – Router.
      • LSA Type 2 – Network.
      • LSA Type 3 – Net Summary.
      • LSA Type 4 – ASBR Summary.
      • LSA Type 5 – AS External.
      • LSA Type 6 – Group Membership.
      • LSA Type 7 – External Attributes (NSSA External).
      • LSA Type 8 – Link LSAs (OSPFv3).
      • LSA Type 9 – Intra-Area Prefix LSAs  (OSPFv3).
    • Przed rozpoczęciem procesu wymiany danych zgromad
    • zonych w bazie LSDB, każdy z ruterów rozpoczyna wysyłanie wiadomości DBD zawierających wartości LSID każdej posiadanej przez siebie struktury LSA. Jeżeli sąsiednie urządzenie zorientuje się że nie posiada którejś ze struktur LSA, może o nią poprosić za pomocą zapytania LSR. W odpowiedzi na które, otrzyma wiadomość LSU zawierającą brakujące struktury LSA.

    Algorytm SPF (Shortest Path First)

    • Protokół OSPF w celu wyznaczenia najkrótszej trasy dotarcia do celu, wykorzystuje algorytm „Dijkstra SPF Algorithm”.
    • Algorytm SPF (Shortest Path First) tworzy drzewo, którego korzeniem jest lokalny ruter (Na jego podstawie wyliczana jest najkrótsza trasa dotarcia do każdej znanej sieci). Następnie wyliczone trasy są przekazywane do lokalnej tablicy routingu.

    Zmiana zawartości w rozgłaszanej strukturze LSA

    • Jeżeli po dokonaniu zmiany w topologii sieciowej, struktura LSA np. typu pierwszego przestała być już aktualna, ruter za nią odpowiedzialny zacznie rozgłaszać ją ze zmodyfikowaną wartość wieku (Age), zwiększoną do wartości „Max Age” czyli 3600 sekund. Po czy stworzy a następnie zacznie rozgłaszać nową strukturę LSA, ze zwiększonym numerem sekwencyjnym oraz zresetowanym czasem (Age).

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) Rodzaje topologii sieciowych OSPF**

    (T) Rodzaje topologii sieciowych OSPF**

    Rodzaje topologii sieciowych protokołu OSPF

    • Point-to-Point – Dwa urządzenia połączone pojedynczym linkiem np. serialowym czy Ethernet-owym.
    • Broadcast multiaccess – Wiele urządzeń połączonych do jednej sieci rozgłoszeni-owej np. poprzez przełącznik sieciowy.
    • Non Broadcast multiaccess (NBMA) – Wiele urządzeń połączonych do sieci niewspierającej ruchu rozgłoszeni-owego.
    • Point-to-Multipoint – Wiele urządzeń połączonych do sieci w topologii Hub-and-Spoke.
    • Virtual links – Wirtualne połączenia prowadzące z strefy niebędącej strefą Backbone (Area 0) do strefy głównej (Area 0).
    Interface Type Used DR / BDR? Default Hello / Dead Interval Dynamic Discovery of Neighbors? More that Two Routers allowed in the Subnet?
    Broadcast Yes 10 / 40 Yes Yes
    Nonbroadcast [1](NBMA) Yes 30 / 120 No Yes
    Point-to-Point [2] No 10 / 40 Yes No
    Point-to-Multipoint Broadcast No 30 / 120 Yes Yes
    Point-to-Multipoint Nonbroadcast No 30 / 120 No Yes
    Loopback No —- —- No

    Porównanie rodzajów topologii sieciowych protokołu OSPF

    Broadcast topology

    • Protokół OSPF umożliwia skonfigurowanie statycznego połączenia sieciowego w topologii broadcast, za pomocą komendy [ip ospf network broadcast] wydanej w trybie konfiguracji interfejsu sieciowego.

    Point-to-Point topology

    • Protokół OSPF umożliwia skonfigurowanie statycznego połączenia sieciowego w topologii Point-to-Point, za pomocą komendy [ip ospf network point-to-point] wydanej w trybie konfiguracji interfejsu sieciowego.
    • Interfejs funkcjonujący w topologii Point-to-Point względem protokołu OSPF, może być zweryfikowany za pomocą komendy [show ip ospf interface interfejs] gdzie w punkcie Network Type powinien widnieć zapis [POINT_TO_POINT] jak i za pomocą komendy [show ip ospf neighbor] gdzie w punkcie state powinien widnieć zapis [FULL/].

    Non-broadcast multiaccess (NBMA) topology

    • Protokół OSPF umożliwia skonfigurowanie statycznego połączenia sieciowego w topologii nonbroadcast, za pomocą komendy [ip ospf network non-broadcast] wydanej w trybie konfiguracji interfejsu sieciowego.
    • W przypadku topologii nonbroadcast, automatyczne wykrywanie sąsiadów nie jest niemożliwe, tym samym wymagana jest ręczna konfiguracja statycznych relacji sąsiedztwa, za pomocą komendy [neighbor adres-IP-sąsiada] wydanej w trybie konfiguracji protokołu OSPF.

    Point-to-Multipoint topology

    • Protokół OSPF umożliwia skonfigurowanie statycznego połączenia sieciowego w topologii Point-to-Multipoint, za pomocą komendy [ip ospf network point-to-multipoint] wydanej w trybie konfiguracji interfejsu sieciowego.
    • W przypadku sieci Point-to-Multipoint istnieje możliwość przypisania dodatkowej wartości kosztu względem konfigurowanych relacji sąsiedztwa, za pomocą komendy [neighbor adres-IP cost 1-65535] wydanej w trybie konfiguracji protokołu OSPF.

    Point-to-Multipoint Non-broadcast topology

    • Protokół OSPF umożliwia skonfigurowanie statycznego połączenia sieciowego w topologii Point-to-Multipoint nonbroadcast, za pomocą komendy [ip ospf network point-to-multipoint non-broadcast] wydanej w trybie konfiguracji interfejsu sieciowego.
    • W przypadku topologii nonbroadcast, automatyczne wykrywanie sąsiadów nie jest niemożliwe, tym samym wymagana jest ręczna konfiguracja statycznych relacji sąsiedztwa, za pomocą komendy [neighbor adres-IP-sąsiada] wydanej w trybie konfiguracji protokołu OSPF.

    Virtual links

    • Połączenie wirtualne stosowane w protokole OSPF, ma na celu zapewnienie bezpośredniej łączności pomiędzy strefą główną (Backbone Area 0) a inną strefą (Area). W sytuacji, w której obydwie strefy nie są ze sobą bezpośrednio połączone, ponieważ rozdziela je inna strefa. W takim przypadku zastosowanie połączenia wirtualnego (Virtual link) stanowi tymczasowe rozwiązanie umożliwiające bezpośrednią komunikację ze strefą (Backbone).
    • Połączenie wirtualne może być przydatne w sytuacji:
      • Gdy połączenie strefy (Nonbackbone Area) za pomocą sieci WAN, poprzez inną strefę (Nonbackbone Area) jest tańsze niż bezpośrednie połączenie ze strefą (Backbone Area 0).
      • Utraty połączenia pomiędzy dwoma częściami strefy (Backbone Area 0), co może doprowadzić do powstania dwóch niezależnych stref (Area 0).
      • Łączenia ze sobą dwóch niezależnych topologii sieciowych, z których każda posiada własną strefą Area 0.

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3


    [1] Domyślnie występuje w przypadku protokołu Frame Relay na fizycznych oraz wielopunktowych pod-interfejsach.

    [2] Domyślnie występuje w przypadku protokołu Frame Relay na pod-interfejsach Point-to-Point.

  • (T) Nawiązywanie relacji sąsiedztwa OSPF**

    (T) Nawiązywanie relacji sąsiedztwa OSPF**

    Nawiązywanie relacji sąsiedztwa

    Warunki nawiązania relacji sąsiedztwa

    Aby routery nawiązały ze sobą relację sąsiedztwa muszą spełniać następujące kryteria:

    Wymagania dotyczące relacji sąsiedztwa EIGRP OSPF
    Sąsiedzi muszą być wstanie wysyłać pomiędzy sobą pakiety IP Tak Tak
    Adresy IP muszą należeć do tej samej sieci Tak Tak
    Interfejsy nie mogą działać w trybie pasywnym Tak Tak
    Sąsiedzi muszą należeć do tego samego systemu autonomicznego ASN (EIGRP) bądź procesu „process-ID” (OSPF) Tak Nie
    Czasy hello oraz Hold (EIGRP), Dead (OSPF) muszą się zgadzać Nie Tak
    Sąsiedzi muszą przejść proces autentykacji (Jeżeli przynajmniej jedno z urządzeń takiego wymaga) Tak Tak
    Sąsiedzi muszą należeć do tej samej strefy Area (OSPF). N/A Tak
    Wartość IP MTU musi się zgadzać Nie Tak
    Wartość K-value musi być taka sama Tak N/A
    Wartość Router ID musi być unikalna Przeważnie nie Tak

    Wymagania dotyczące procesu nawiązywania relacji sąsiedztwa dla protokołu OSPF / EIGRP

    W przypadku kryterium „Adresy IP muszą należeć do tej samej sieci” logika postępowania protokołu OSPF różni się od logiki postępowania protokołu EIGRP. OSPF porównuje całą wartość adresu oraz maski sąsiedniego urządzenia, natomiast EIGRP patrzy jedynie na to czy adres IP sąsiada należy do tej samej sieci co lokalny interfejs. Przykładowo sąsiednie urządzenie z skonfigurowanym adresem [ip address 192.168.10.2 255.255.255.252] nawiąże relacje sąsiedztwa z interfejsem o adresie [ip address 192.168.10.1 255.255.255.0] w przypadku protokołu EIGRP, ale nie OSPF.

    Nazewnictwo związane z procesem nawiązywania relacji sąsiedztwa

    • DR (Designated Router) – Główne urządzenie zbierające nadchodzące struktury LSA typu pierwszego, w obrębie jednej sieci wielodostęp-owej. W celu ich przetworzenia a następnie rozesłania w postaci struktury LSA typu drugiego, do sąsiednich urządzeń (W obrębie jednej sieci wielodostęp-owej).
    • BDR (Buckup Designated Router) – Ruter zapasowy , przejmujący rolę aktywną (DR) w przypadku awarii rutera DR-a.
    • DROther – Każdy ruter sieci wielodostęp-owej, nie pełniący roli DR-em bądź BDR-em.
    • Stan Adjacent – Osiągają rutery DROther w relacji z innymi urządzeniami działającym w trybie DROther (Nie osiągają one pełnej relacji sąsiedztwa a jedynie tryb Two-Way State).
    • Stan Fully Adjacent – Osiągają rutery: DR w relacji z BDR, DR z DROther oraz BDR z DROther (Wszystkie wymienione kombinacje relacji sąsiedztwa osiągają pełny stan Full State).

    Przyczyny procesu elekcji rutera DR oraz BDR

    • Sieci wielodostęp-owe takie jak „Broadcast multiaccess”,mogą wymagać nawiązanie wielu relacji sąsiedztwa, a ty samym spowodować wygenerowanie dużej liczby wiadomości aktualizacyjnych, zgodnie ze wzorem n (n-1)/2 (Z czego n stanowi ilość podłączonych do sieci ruterów).
    • Aby zapobiec powstaniu nadmiarowego ruchu sieciowego, rutery prowadzą elekcję urządzenia pełniącego rolę DR-a (Designated Router), na podstawie wymienianych pomiędzy sobą wiadomości Hello. Po zakończeniu procesu elekcji do wybranego rutera DR kierowane są wszystkie wiadomości LSA typu pierwszego , nadchodzące od sąsiadów należących do tej samej sieci wielodostęp-owej. Następnie DR odsyła przetworzone przez siebie dane za pomocą struktur LSA typu drugiego, niwelując tym samym potrzebę wymiany aktualizacji bezpośrednio pomiędzy sąsiadami DROther.
    • Ponadto oprócz rutera DR, następuje elekcja urządzenia zapasowego BDR (Backup Designated Router), mogącego automatycznie przejąć rolę aktywną (DR) w przypadku utraty kontaktu z obecnym ruterem DR.
    Inne rutery znajdujące się w sieci wielodostęp-owej nazywane są DROther. Nie osiągają one pomiędzy sobą pełnej relacji sąsiedztwa Full State a jedynie stan pośredni Two-way State (Stan Two-way State, oznacza że sąsiednie urządzenia nie wymieniły pomiędzy sobą informacji na temat zawartości baz LSDB).

    Elekcja rutera DR oraz BDR

    • Rolę aktywną (DR) przejmuje urządzenie z najwyższą wartością priorytetu (0255). Jeżeli wartość ta jest taka sama na wszystkich urządzeniach, pod uwagę brana jest najwyższa wartość RID.
    • Urządzenie z drugą najwyższą wartością (Priorytetu / wartości RID) przejmuje rolę zapasową BDR (Backup Designated Router).
    • Po zakończeniu elekcji urządzeń (DR, BDR), ponowna elekcja może nastąpić jedynie w sytuacji awarii przynajmniej jednego z urządzeń pełniących rolę DR-a bądź BDR-a.
    • W przypadku utraty DR-a jego rolę przejmuje BDR niezależnie od tego czy w sieci istnieje urządzenia z większą wartością priorytetu czy też nie takowego nie ma.
    • Wartość priorytetu można skonfigurować za pomocą komendy [ip ospf priority 0-255] w trybie konfiguracji interfejsu sieciowego.

    Stany protokołu OSPF

    Nawiązywanie relacji sąsiedztwa

    • Down State – Początkowa faza procesu nawiązywania relacji sąsiedztwa. W większości przypadków urządzenia pozostają w tej fazie kiedy statycznie skonfigurowany sąsiad nie odpowiada na wiadomości powitalne Hello. Tego typu relacja z innym ruterem wskakuje, że lokalne urządzenie zna adres IP swojego sąsiada, ale nie może nawiązać z nim relacji sąsiedztwa, z powodu problemów związanych z komunikacją.
    • Attempt State – Stan występujący jedynie w sieciach „Nonbroadcast Multiaccess” NBMA, w przypadku statycznie skonfigurowanej relacji sąsiedztwa (Ruter wie o swoim sąsiedzie ale nie otrzymał od niego żadnej wiadomości Hello).
    • Init State – Połączenie z sąsiednim ruterem zostaje przeniesione w stan „Init” zaraz po otrzymaniu pierwszej wiadomości Hello, w której lista widzianych routerów (Active Neighbor) nie zawiera wartości RID lokalnego urządzenia. Co oznacza, że jest ono w stanie wykryć swojego sąsiada, ale nie ma pewności czy samo jest dla niego widoczne.
    • Two-Way State – Połączenie z sąsiednim ruterem zostaje przeniesione w stan „Two-Way” zaraz po otrzymaniu pierwszej poprawnej wiadomości Hello, której lista widzianych routerów (Active Neighbor) zawiera wartości RID lokalnego urządzenia. Co oznacza, że obydwa urządzenia są dla siebie widoczne. Stan ten jest stanem stabilnym dla sąsiadów nie aspirujących do fazy „Full State”, w przypadku sieci wielodostęp-owych „Multiaccess” pomiędzy urządzeniami DROther.
    Proces nawiązywania relacji sąsiedztwa
    • Powyższa grafika prezentuje przykładowy proces nawiązywania relacji sąsiedztwa, pomiędzy dwoma ruterami znajdującymi się w stanie „Down State”:
    • Obydwa urządzenia wysyłają do siebie wiadomości powitalne Hello, na Multicast-owy adres IP (224.0.0.5, Init).
    • Każdy z routerów weryfikuje otrzymaną od sąsiada wiadomość powitalną Hello, sprawdzając zgodność wszystkich parametrów wymaganych do nawiązania prawidłowej relacji sąsiedztwa.
    • Obydwa urządzenia wysyłają kolejne wiadomości powitalne Hello, zawierające wartość RID sąsiedniego routera.
    • Po otrzymaniu wiadomości Hello zawierającej lokalną wartością RID, wpisaną w listę widzianych routerów (Seen), relacja pomiędzy urządzeniami przechodzi w stan Two-Way State.
    • Po osiągnięciu stanu „Two-Way State” rutery decydują, czy powinny nawiązać pełną relację sąsiedztwa, w oparciu o pełnione przez siebie role (DR, BDR bądź DROther). W przypadku topologii niewymagających elekcji rutera DR, każdorazowa odpowiedź na to pytanie będzie twierdząca.

    Wymiana danych LSDB

    • ExStart State – Rutery przechodzą do stanu „ExStart” ze stanu „Init” bądź stanu „Two-Way” po potwierdzeniu wzajemnej widoczności jak i zdecydowaniu o należności nawiązania pełnej relacji sąsiedztwa, pomiędzy obydwoma urządzeniami. Podstawowym zadaniem stanu „ExStart State” jest nawiązanie relacji Master/Slave pomiędzy sąsiadami, za pomocą wiadomości „Database Description” zawierającej wartości RID, na postawie których wybierany jest ruter pełniący rolę Master-a (Większa wartość RID) oraz negocjowany jest startowy numeru sekwencyjny dla struktur LSA.
    • Exchange State – Po nawiązaniu relacji Master/Slave pomiędzy sąsiadami, rutery przechodzą w stan „Exchange State”, w którym to obydwa urządzenia wymieniają pomiędzy sobą wiadomości „Database Description”, proces ten jest kontrolowany przez ruter pełniący rolę Master-a. Wiadomości DBD zawierają wartości LSID (Link State ID) oraz numery sekwencyjne wszystkich znanych struktur LSA z danej strefy (Area).
    • Loading State – Po zakończeniu wymiany informacji o wszystkich znanych strukturach LSA, relacja pomiędzy ruterami przechodzi w stan „Loading State”. W tym momencie każdy z ruterów określa jakich struktur LSA, które posiada sąsiednie urządzenie mu brakuje, a następnie wysyła oddzielne wiadomości LSR dla każdej z brakujących struktur. W odpowiedzi na zapytanie LSR sąsiednie urządzenie odsyła wiadomość LSU zawierającą brakujące struktury LSA, oczekując tym samym na potwierdzenie otrzymania wiadomości LSU za pomocą potwierdzenia ACK.
    • Full State – Po zakończeniu obopólnej wymiany danych, relacja sąsiedztwa przechodzi w stan „Full State”.
    stanie „Exchange State” wymianie ulegają jedynie dane LSID oraz numery sekwencyjne wszystkich struktur LSA. Natomiast w wiadomościach LSU przesyłane są pełne kopie struktur LSA.
    Wiadomości DBD, LSR oraz LSU są wymieniane pomiędzy ruterami za pomocą pakietów Unicast-owych.
    Wiadomości LSU mogą być również wymieniane za pomocą adresu Multicast-owego.
    Proces wymiany informacji zawartych w bazie LSDB

    Nawiązywanie relacji Master/Slave

    • Funkcja nawiązywania relacji Master/Slave, ma na celu skoordynowanie procesu wstępnej wymiany danych LSDB za pomocą wiadomości DBD. Ruter pełniący rolę Master-a zostaje wybrany na podstawie wartości RID, przejmując tym samym role nadzorczą umożliwiającą mu inicjonowanie wymiany wiadomości DBD czy określanie wartości numeru sekwencyjnego dla struktur LSA. Tmczasem ruter pełniący rolę Slave może jedynie odpowiadać wiadomościami DBD, na wysłane przez Master-a zapytania DBD.

    Wymiana danych LSDB bez elekcji rutera pełniącego role DR

    • Po osiągnieciu stanu „Two-Way” obydwa rutery decydują, czy nawiążą ze sobą pełną relację sąsiedztwa, polegającą na wymianie danych zawartych w bazie LSDB. Jeżeli w sieci łączącej obydwa urządzenia nie zachodzi potrzeba elekcji rutera DR, BDR, odpowiedź jest zawsze twierdząca. W takiej sytuacji urządzenia postępują zgodnie z następującą logiką:
      • 1. Odkrywają struktury LSA znane sąsiadowi, ale nie znane jemu samemu.
      • 2. Odkrywają struktury LSA znane obydwóm ruterom, z czego te posiadane przez sąsiada są bardziej aktualne.
      • 3. Proszą sąsiedni ruter o kopie wszystkich brakujących bądź nie aktualnych struktur LSA, określonych w punkcie 1 oraz 2.
    • Po otrzymaniu pierwszej wiadomości DBD (Wysłanej na Multicast-owy adres IPv4 224.0.0.5) ruter przenosi relację sąsiedztwa w stan „ExStart State”, do momentu elekcji rutera pełniącego rolę Master, na podstawie większej wartości RID (Router ID).
    • Po określeniu roli Master-a, rutery kontynuują wymianę wiadomości DBD zawierających dane LSID oraz numery sekwencyjne wszystkich struktur LSA, w celu określenia powyższych punktów 1 oraz 2. Następnie relacja przechodzi w stan „Loading State” rozpoczynając następujący cykl zdarzeń:
      • Rutery wysyłają do siebie nawzajem zapytania LSR zawierające dane LSID, odpowiadające każdej z brakujących bądź nieaktualnych strukturze LSA jakich same nie posiadają.
      • W odpowiedzi na zapytania LSR sąsiedni ruter wysyła odpowiedź LSU zawierającą pełną strukturę LSA.
      • Po otrzymaniu odpowiedzi LSU ruter potwierdza otrzymanie struktury LSA za pomocą wiadomości LSAck (Explicit Acknowledgment) bądź odsyłając otrzymaną wiadomość LSU (Implicit Acknowledgment).

    Wymiana danych LSDB po elekcji rutera pełniącego role DR-a, BDR-a

    • Wymiana danych bazy LSDB, w sieci posiadającej rutery pełniące rolę DR-a oraz BDR-a, różni się od tego samego procesu zachodzącego w sieci nie wymagającej elekcji ruterów DR oraz BDR. Chodź nazewnictwo oraz znaczenie poszczególnych etapów jest takie samo, to wymiana danych pomiędzy niektórymi z ruterów może być ograniczona. Ponieważ pełną relację sąsiedztwa a co za tym idzie pełną wymianę danych LSDB, utrzymują jedynie rutery DROther z ruterami DR oraz ruterami BDR jak i rutery DR z ruterami BDR.
    • Proces działania wymiany danych bazy LSDB jest następujący:
    • Rutery DROther oraz rutery BDR wysyłają wiadomości DBD zawierające wartości LSID struktur LSA Typu pierwszego (LSA Type 1) na multicast-owy adres 224.0.0.6, oznaczający wszystkie rutery DR oraz DBR.
    • Ruter płonący rolę DR-a przetwarza wszystkie otrzymane wiadomości DBD, odpowiadając na nie tymi samymi wiadomościami wysłanymi na multicast-owy adres 224.0.0.5, zawierającymi wartości LSID struktur LSA Typu drugiego (LSA Type 2). Po ustaleniu brakujących struktur LSA, rutery wymieniają pomiędzy sobą jedynie brakujące dane za pomocą zapytań LSR oraz odpowiedzi LSU, potwierdzanych wiadomościami LSAck.
    Wymiana danych LSDB po elekcji rutera pełniącego role DR-a, BDR-a
    • Status relacji sąsiedztwa względem rutera pełniącego rolę DROther oraz rutera BDR możemy zweryfikować za pomocą komendy [show ip ospf interface interfejs] bądź komendy [show ip ospf neighbor [interfejs]].
      • [show ip ospf interface interfejs] – Wyświetla wartość RID oraz adres IP rutera pełniącego rolę DR-a jak i BDR-a.
      • [show ip ospf neighbor interfejs] – Wyświetla informację o wszystkich sąsiadach podłączonych do danego interfejsu.

    Periodic Flooding

    • Każda struktura LSA posiada własny licznik czasu (Age), który po naliczeniu 30 minut (1800 Sekund) powinien być zresetowany przez urządzenie rozgłaszające daną strukturę LSA. Odpowiedzialny za to ruter po stworzeniu nowej struktury resetuje jej licznik czasu oraz zwiększa jej numer sekwencyjny, rozgłaszając ją do innych urządzeń.
    • Jeżeli w przeciągu czasu „MaxAge” 1 godzina (3600 Sekund), struktura LSA nie zostanie odnowiona przez ruter ją rozgłaszający, zostanie ona usunięta z bazy LSDB, a informacja o tym zdarzeniu zostanie przekazana innym sąsiadom.
    • Aktualną wartość czasu (Age) dla danej struktury, można zweryfikować za pomocą komendy [show ip ospf database].

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3

  • (T) Wiadomości protokołu OSPF*

    (T) Wiadomości protokołu OSPF*

    Wiadomości protokołu OSPF

    • Hello Packet – Umożliwia nawiązanie oraz utrzymanie relacji sąsiedztwa pomiędzy sąsiednimi ruterami.
    • DBD (Database Description Packet) – Zawiera wartości LSID struktur LSA zawartych w bazie LSDB.
    • LSR (Link-State Request Packet) – Umożliwia wysłanie zapytania o brakujące struktury LSA.
    • LSU (Link-State Update Packet) – Zawiera pełne struktury LSA (Stanowią odpowiedź na zapytanie LSR).
    • LSAck (Link-State Acknowledgment) – Potwierdza otrzymanie innych wiadomości protokołu OSPF.

    Budowa pakietu EIGRP

    Budowa pakietu OSPF (Nagłówek protokołu OSPF)

    • Version (1 Byte) – Określa wersja protokołu OSPF (Domyślnie wykorzystywana jest wersja 2).
    • Message Type (1 Byte) – Określa rodzaj przesyłanej wiadomości (1 = Hello, 2 = DBD, 3 = LSR, 4 = LSU, 5 = LSAck).
    • Packet Length (2 Bytes) – Określa wielość przesyłanego pakietu w bajtach.
    • Router ID (4 Bytes) – Określa wartość, określającą unikalny adres ID danego rutera (Zapisywany w postaci DDN).
    • Area ID (4 Bytes) – ID strefy, w której znajduje się dany ruter (Np. Area 5 = 0.0.0.5).
    • Checksum (2 Bytes) – Określa wartość kontrolną protokołu OSPF.
    • Auth Type (2 Bytes) – Określa rodzaj wykorzystywanego uwierzytelnienia wiadomości protokołu OSPF (0 = Brak autentykacji, 1 = Autentykacja z wykorzystaniem zwykłego tekstu, 2 = Autentykacja z wykorzystaniem za-haszowanego klucza).
    • Auth Crypt key (1 Bytes) – Określa numer ID wykorzystywanego klucza.
    • Auth Crypt Data Length (4 Bytes) – Określa wielość przesyłanego klucza w bajtach.
    • Auth Crypt Sequence Number (4 Bytes) – Określa numer sekwencyjny wiadomości.
    • Auth Crypt Data (Wielkość zależna od długości klucza) – Zahaszowana wartość klucza / hasła w postaci zwykłego tekstu.

    Budowa pakietu OSPF (Zawartość wiadomości Hello) Message Type 1

    • Network Mask (4 Bytes) – Maska sieci, w której znajduje się interfejs przesyłający wiadomość.
    • Hello Interval (2 Bytes) – Domyślna bądź statycznie skonfigurowana wartość czasu Hello Interval. Musi być taka sama na obydwóch urządzeniach, aby mogły one nawiązać między sobą relację sąsiedztwa.
    • Router Priority (1 Byte) – Wartość priorytetu wykorzystywanego przy elekcji urządzenia pełniącego rolę DR oraz BDR.
    • Dead Interval (4 Bytes) – Domyślna bądź statycznie skonfigurowana wartość czasu Dead Interval. Musi być taka sama na obydwóch urządzeniach, aby mogły one nawiązać między sobą relację sąsiedztwa.
    • Designated Router (DR) (4 Bytes) – Adres IP rutera pełniącego rolę DR.
    • Backup Designated Router (BDR) (4 Bytes) – Adres IP rutera pełniącego rolę BDR.
    • Active neighbor (4 Bytes) – Wartość, określającą unikalny adres ID jednego z ruterów współdziedziczących sieć wielodostęp-ową (Wartość ta powtarza się tyle razy ile sąsiadów znajduje się w jednej sieci wielodostęp-owej).

    Budowa pakietu OSPF (Zawartość wiadomości DB Descryption) Message Type 2

    • Interface MTU (2 Bytes) – Wartość skonfigurowanej maksymalnej wielości przesyłanego segmentu (MTU).
    • Options (1 Bytes) –
    • BD Descryption (1 Bytes) – Flagi określające rolę pełnioną przez ruter (I = Init, M = More, MS = Master).
    • DD Sequence (4 Bytes) –

    Budowa pakietu OSPF (Zawartość wiadomości LS Request) Message Type 3

    • LS Type (4 Bytes) –
    • Link State ID (4 Bytes) –
    • Advertising Router (4 Bytes) –

    Budowa pakietu OSPF (Zawartość wiadomości LS Update) Message Type 4

    • Number of LSAs (4 Bytes) –
    • LSA-type nn (Wielkość zależna od zawartości) –
    W zależności od wybranej metody autentykacji część pul może być pusta.

    # Konfiguracja czasów protokołu OSPF została opisana w artykule: Podstawowa konfiguracja protokołu OSPF.

    Wiadomości powitalne Hello

    • Protokół OSPF wykorzystuje wiadomości powitalna (Hello) w celu:
      • Wykrywania sąsiednich ruterów oraz nawiązywania z nimi relacji sąsiedztwa.
      • Utrzymania obustronnej komunikacji pomiędzy sąsiednimi urzadzeniami.
      • Wymiany danych o konfiguracji protokołu OSPF pomiędzy sąsiadami, w celu ustalenia wzajemnej kompatybilności.
      • Wyboru rutera pełniącego rolę DR-a (Designated Router) oraz BDR-a (Backup Designated Router), w sieciach wielodostęp-owych takich jak Frame Relay czy Ethernet (Sieci Point to Point nie wymagają procesu elekcji).
    • Domyślnie wiadomości Hello są wymieniane pomiędzy sąsiadami zgodnie z następującymi przedziałami czasowymi:
      • Hello Interval – Określa odstępy czasowe w wysyłaniu wiadomości Hello. Czas „Hello Interval wynosi:
        • 10 sekund dla sieci typu Point to Point czy Ethernet.
        • 30 Sekund dla sieci typu NBMA, których pasmo wynosi 1544 Kbps lub mniej.
      • Dead Interval – Określa czas, po upływie którego sąsiedni ruter zostanie uznany za nieosiągalny (W przypadku otrzymania wiadomości hello licznik czasu „Dead Interval” zostaje zresetowany). Czas „Dead Interval” wynosi:
        • 40 sekund dla sieci typu Point to Point czy Ethernet.
        • 120 Sekund dla sieci typu NBMA, których pasmo wynosi 1544 Kbps lub mniej.
    Domyślnie wartość czasu „Dead Interval” stanowi czterokrotność czasu „Hello Interval”.
    • Wiadomości Hello są wysyłane na adresu Multicast 224.0.0.5 dla protokołu IPv4 oraz adres FF02::5 dla protokołu IPv6.
    • Wiadomości Hello zawierają następujące informacje:
      • Wartość RID rutera rozgłaszającego wiadomość Hello.
      • Strefę Area do której należy interfejs z którego została wysłana wiadomość Hello.
      • Adres IP wraz z maską sieci interfejsu z którego została wysłana wiadomość Hello.
      • Informacje związane z autoryzacją interfejsu z którego została wysłana wiadomość Hello.
      • Wartość czasu „Hello Interval”, interfejsu z którego została wysłana wiadomość Hello.
      • Wartość czasu „Dead Interval”, interfejsu z którego została wysłana wiadomość Hello.
      • Priorytet rutera rozgłaszającego wiadomość Hello.
      • Adres IP rutera DR jak i BDR.
      • Pięć flag.
      • Listę wszystkich znanych ruterów (RID).

    Czasy i inne wartości

    • Hello Interval – Określa odstępy czasowe w wysyłaniu wiadomości Hello.
    • Dead Interval – Określa czas, po upływie którego sąsiedni ruter zostanie uznany za nieosiągalny (W przypadku otrzymania wiadomości hello licznik czasu „Dead Interval” zostaje zresetowany).
    • Retransmit Interval – Określa czas retransmisji wiadomości DBD (Gdy ruter nie otrzyma wiadomości Acknowledgment potwierdzającej otrzymanie wiadomości DBD od swojego sąsiada, w przeciągu określonego czasu „retransmit-interval”. Ponowi próbę przekazania wiadomości DBD).
    • Wait Interval – Określa czas wstrzymania przed wyborem rutera pełniącego rolę DR-a (Wartość czasy Wait, jest zawsze równa wartości czasu Dead Interval).

    Pozostałe tematy związane z protokołem OSPF

    OSPFv3