Demo 1: OSPF komponenter


Syftet med denna demonstration är att visualisera OSPF:s grundläggande komponenter och visa hur de samverkar i praktiken.

OSPF bygger, likt alla dynamiska routingprotokoll, på tre centrala delar:

  • meddelanden (paket)
  • databaser
  • en routing-algoritm

Som link-state-protokoll skapar OSPF en gemensam och uppdaterad bild av nätverkets topologi genom kontinuerligt informationsutbyte mellan routrar inom samma area.

Komponent 1: OSPF-paket (meddelanden)

  1. Hello – Upptäcker grannar och etablerar relationer
  2. Database Description (DBD) – Jämför innehåll i databaser
  3. Link-State Request (LSR) – Begär detaljerad topologiinformation
  4. Link-State Update (LSU) – Skickar LSAs (routinguppdateringar)
  5. Link-State Acknowledgment (LSAck) – Bekräftar mottagna uppdateringar

Komponnent 2: OSPF-databaser

Tre databaser byggs upp och används i processen:

  1. Adjacency databas (Neighbor Table) – visar direkt anslutna grannar (minst Two-Way) och deras roller, inklusive DR/BDR
  2. Link-State database (Topology Table) – innehåller nätverkets topologi och är identisk inom en area
  3. Forwarding database (Routing Table) – innehåller de bästa rutterna och används för vidarebefordran

Komponent 3: SPF-algoritmen

OSPF använder Dijkstra’s Shortest Path First (SPF)-algoritm för att beräkna den mest effektiva rutten genom nätverket.

I praktiken fungerar algoritmen enligt följande:

  1. Routern tar emot LSAs och bygger LSDB
  2. Routern placerar sig själv som roten och bygger SPF-trädet.
  3. Ackumulerad kostnad (OSPF-cost) beräknas för alla möjliga rutter
  4. De bästa rutterna installeras i routingtabellen

Topologi

Konfigurationer

Konfigurationerna i demonstrationen är utformade för att möjliggöra observation av OSPF:s komponenter i praktiken. Routrar 4331 och switchar 2960 används.

Obs! I LSDB visas loopback-nät som Stub Networks med mask 255.255.255.255, vilket innebär att de annonseras som /32 oavsett vilken subnet-mask som är konfigurerad på interfacet.

  • R1(config)# no ip domain-lookup
  • R1(config)# interface G0/0/0
  • R1(config-if)# description Connects to R2
  • R1(config-if)# ip address 10.1.1.5 255.255.255.252
  • R1(config-if)# no shutdown
  • R1(config-if)# exit
  • R1(config)# interface G0/0/1
  • R1(config-if)# description Connects to R3
  • R1(config-if)# ip address 10.1.1.14 255.255.255.252
  • R1(config-if)# no shutdown
  • R1(config-if)# exit
  • ! Lo1 annonseras som /32 (standard i OSPF) och inte som /24
  • R1(config)# interface lo1
  • R1(config-if)# ip address 10.10.1.1 255.255.255.0
  • R1(config-if)# exit
  • R1(config)# router ospf 10
  • R1(config-router)# network 10.1.1.4 0.0.0.3 area 0
  • R1(config-router)# network 10.1.1.12 0.0.0.3 area 0
  • R1(config-router)# network 10.10.1.0 0.0.0.255 area 0
  • R1(config-router)# exit
  • R1(config)# end
  • R1#
  • R2(config)# no ip domain-lookup
  • R2(config)# interface G0/0/0
  • R2(config-if)# description Connects to R1
  • R2(config-if)# ip address 10.1.1.6 255.255.255.252
  • R2(config-if)# no shutdown
  • R2(config-if)# exit
  • R2(config)# interface G0/0/1
  • R2(config-if)# description Connects to R3
  • R2(config-if)# ip address 10.1.1.9 255.255.255.252
  • R2(config-if)# no shutdown
  • R2(config-if)# exit
  • Lo2 annonseras som /32 (standard i OSPF) och inte som /24
  • R2(config)# interface lo2
  • R2(config-if)# ip address 10.10.2.1 255.255.255.0
  • R2(config-if)# exit
  • R2(config)# interface lo21
  • R2(config-if)# ip address 64.100.0.1 255.255.255.252
  • R2(config-if)# exit
  • ! Quad zero
  • R2(config)# router ospf 10
  • R2(config-router)# network 10.1.1.6 0.0.0.0 area 0
  • R2(config-router)# network 10.1.1.9 0.0.0.0 area 0
  • R2(config-router)# network 10.10.2.1 0.0.0.0 area 0
  • R2(config-router)# exit
  • R2(config)# end
  • R2#
  • R3(config)# no ip domain-lookup
  • R3(config)# interface G0/0/0
  • R3(config-if)# description Connects to R1
  • R3(config-if)# ip address 10.1.1.13 255.255.255.252
  • R3(config-if)# no shutdown
  • R3(config-if)# exit
  • R3(config)# interface G0/0/1
  • R3(config-if)# description Connects to R2
  • R3(config-if)# ip address 10.1.1.10 255.255.255.252
  • R3(config-if)# no shutdown
  • R3(config-if)# exit
  • ! Lo3 annonseras som /32 (standard i OSPF) och inte som /24
  • R3(config)# interface lo3
  • R3(config-if)# ip address 10.10.3.1 255.255.255.0
  • R3(config-if)# exit
  • ! Aktivering per interface
  • R3(config)# router ospf 10
  • ! OSPF aktivering 
  • R3(config-router)# network 10.1.1.10 0.0.0.0 area 0
  • R3(config-router)# 10.1.1.13 0.0.0.0 area 0
  • R3(config-router)# 10.10.3.1 0.0.0.0 area 0
  • R3(config-if)# exit
  • R3(config)# end
  • R3#

Följande IOS-kommando ska användas på alla routrar:

  • show ip ospf neighbor
  • show ip ospf database
  • show ip route ospf
R1#show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
64.100.0.1        1   FULL/DR         00:00:35    10.1.1.6        GigabitEthernet0/0/0
10.10.3.1         1   FULL/DR         00:00:33    10.1.1.13       GigabitEthernet0/0/1
R1#show ip ospf database
            OSPF Router with ID (10.10.1.1) (Process ID 10)

                Router Link States (Area 0)

Link ID         ADV Router      Age         Seq#       Checksum Link count
10.10.1.1       10.10.1.1       686         0x80000006 0x00d5c0 3
10.10.3.1       10.10.3.1       681         0x80000005 0x000a80 3
64.100.0.1      64.100.0.1      681         0x80000005 0x007d02 3

                Net Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum
10.1.1.6        64.100.0.1      719         0x80000001 0x007944
10.1.1.13       10.10.3.1       686         0x80000001 0x006d6c
10.1.1.9        64.100.0.1      681         0x80000002 0x006c0f
R1#show ip route ospf
     10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
O       10.1.1.8 [110/2] via 10.1.1.6, 00:12:27, GigabitEthernet0/0/0
                 [110/2] via 10.1.1.13, 00:12:27, GigabitEthernet0/0/1
O       10.10.2.1 [110/2] via 10.1.1.6, 00:13:02, GigabitEthernet0/0/0
O       10.10.3.1 [110/2] via 10.1.1.13, 00:12:27, GigabitEthernet0/0/1

Sammanfattning av OSPF-status på R1

show ip ospf neighbor

R1 har etablerat FULL adjacency med båda sina OSPF-grannar:

  • R2 (Router ID 64.100.0.1) på GigabitEthernet0/0/0
  • R3 (Router ID 10.10.3.1) på GigabitEthernet0/0/1

Båda grannrelationerna är i tillståndet FULL/DR, vilket visar att databassynkronisering är genomförd och att respektive granne fungerar som Designated Router (DR) på sitt segment. show ip ospf database Link-state-databasen på R1 innehåller nu full topologiinformation för area 0:

  • Router Link States (Type 1) finns för samtliga tre routrar i nätet (R1, R2 och R3), vilket bekräftar att alla routrar delar sin lokala topologi.
  • Net Link States (Type 2) finns för alla broadcast-segment, vilket indikerar att DR har valts och att nätverken representeras av Network-LSA.

Detta visar att LSDB är korrekt synkroniserad mellan routrarna.

show ip route ospf

Routingtabellen på R1 innehåller nu flera OSPF-inlärda rutter:

  • Loopback-näten på R2 och R3 har installerats som OSPF-rutter.
  • Nätet mellan R2 och R3 nås via två lika kostnads-vägar (ECMP), en via varje granne.

Detta visar att SPF-algoritmen har körts framgångsrikt och att R1 nu kan fatta korrekta routingbeslut baserat på OSPF-topologin.

Följande IOS-kommando ska användas på alla routrar:

  • show ip ospf neighbor
  • show ip ospf database
  • show ip route ospf
R2#show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.10.3.1         1   FULL/BDR        00:00:34    10.1.1.10       GigabitEthernet0/0/1
10.10.1.1         1   FULL/BDR        00:00:36    10.1.1.5        GigabitEthernet0/0/0
R2#show ip ospf database
            OSPF Router with ID (64.100.0.1) (Process ID 10)

                Router Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum Link count
10.10.1.1       10.10.1.1       1322        0x80000006 0x00d5c0 3
64.100.0.1      64.100.0.1      1317        0x80000005 0x007d02 3
10.10.3.1       10.10.3.1       1317        0x80000005 0x000a80 3

                Net Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum
10.1.1.6        64.100.0.1      1355        0x80000001 0x007944
10.1.1.13       10.10.3.1       1322        0x80000001 0x006d6c
10.1.1.9        64.100.0.1      1317        0x80000002 0x006c0f
R2#show ip route ospf
     10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
O       10.1.1.12 [110/2] via 10.1.1.5, 00:22:02, GigabitEthernet0/0/0
                  [110/2] via 10.1.1.10, 00:22:02, GigabitEthernet0/0/1
O       10.10.1.1 [110/2] via 10.1.1.5, 00:22:42, GigabitEthernet0/0/0
O       10.10.3.1 [110/2] via 10.1.1.10, 00:22:02, GigabitEthernet0/0/1

Sammanfattning av OSPF-status på R2

show ip ospf neighbor

R2 har etablerat FULL adjacency med båda sina OSPF-grannar:

  • R3 (Router ID 10.10.3.1) på GigabitEthernet0/0/1
  • R1 (Router ID 10.10.1.1) på GigabitEthernet0/0/0

Båda grannrelationerna är i tillståndet FULL/BDR, vilket innebär att R2 fungerar som Backup Designated Router (BDR) på båda broadcast-segmenten.

show ip ospf database

Link-state-databasen på R2 är fullständigt synkroniserad för area 0:

  • Router Link States (Type 1) finns för samtliga tre routrar (R1, R2 och R3), vilket visar att alla routrar annonserar sin lokala topologi.
  • Net Link States (Type 2) finns för alla broadcast-segment, vilket bekräftar att DR/BDR-val har genomförts och att nätverken representeras av Network-LSA.

LSDB-innehållet överensstämmer med databasen på R1, vilket visar att OSPF-topologin är konsekvent i hela området.

show ip route ospf

Routingtabellen på R2 innehåller nu flera OSPF-inlärda rutter:

  • Loopback-näten på R1 och R3 har installerats som OSPF-rutter.
  • Transitnätet mellan R1 och R3 nås via två lika kostnads-vägar (ECMP), en via varje granne.

Detta visar att SPF-beräkningen har genomförts korrekt och att R2 kan vidarebefordra trafik baserat på OSPF:s gemensamma topologi.

Följande IOS-kommando ska användas på alla routrar:

  • show ip ospf neighbor
  • show ip ospf database
  • show ip route ospf
R3#show ip ospf neighbor
Neighbor ID     Pri   State           Dead Time   Address         Interface
10.10.1.1         1   FULL/BDR        00:00:31    10.1.1.14       GigabitEthernet0/0/0
64.100.0.1        1   FULL/DR         00:00:31    10.1.1.9        GigabitEthernet0/0/1
R3#show ip ospf database
            OSPF Router with ID (10.10.3.1) (Process ID 10)

                Router Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum Link count
10.10.3.1       10.10.3.1       1020        0x80000008 0x000483 3
10.10.1.1       10.10.1.1       1025        0x80000009 0x00cfc3 3
64.100.0.1      64.100.0.1      1019        0x80000008 0x007705 3

                Net Link States (Area 0)
Link ID         ADV Router      Age         Seq#       Checksum
10.1.1.13       10.10.3.1       1025        0x80000004 0x00c534
10.1.1.6        64.100.0.1      1057        0x80000007 0x009250
10.1.1.9        64.100.0.1      1019        0x80000008 0x00c166
R3#show ip route ospf
     10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
O       10.1.1.4 [110/2] via 10.1.1.14, 01:47:24, GigabitEthernet0/0/0
                 [110/2] via 10.1.1.9, 01:47:24, GigabitEthernet0/0/1
O       10.10.1.1 [110/2] via 10.1.1.14, 01:47:34, GigabitEthernet0/0/0
O       10.10.2.1 [110/2] via 10.1.1.9, 01:47:24, GigabitEthernet0/0/1

Sammanfattning av OSPF-status på R3

show ip ospf neighbor

R3 har etablerat FULL adjacency med båda sina OSPF-grannar:

  • R1 (Router ID 10.10.1.1) på GigabitEthernet0/0/0, där R3 fungerar som BDR
  • R2 (Router ID 64.100.0.1) på GigabitEthernet0/0/1, där R2 fungerar som DR

Detta visar att DR/BDR-val har genomförts korrekt på båda broadcast-segmenten och att R3 deltar fullt ut i OSPF-topologin.

show ip ospf database

Link-state-databasen på R3 är fullständigt synkroniserad för area 0:

  • Router Link States (Type 1) finns för alla tre routrar (R1, R2 och R3), vilket visar att samtliga annonserar sin lokala topologi.
  • Net Link States (Type 2) finns för samtliga broadcast-segment, vilket bekräftar att DR ansvarar för att representera nätverken i LSDB.

Databasinnehållet är konsekvent med R1 och R2, vilket visar att alla routrar har en gemensam och korrekt bild av nätverkets topologi.

show ip route ospf

Routingtabellen på R3 innehåller flera OSPF-inlärda rutter:

  • Loopback-näten på R1 och R2 har installerats som OSPF-rutter.
  • Transitnätet mellan R1 och R2 nås via två lika kostnads-vägar (ECMP), en via varje granne.

Detta visar att SPF-algoritmen har körts korrekt och att R3 kan vidarebefordra trafik baserat på OSPF:s gemensamma topologi.

Default route simulerar Internetanslutning via R2 och hanteras utanför OSPF-komponenter.

  • R2(config)# ip route 0.0.0.0 0.0.0.0 Loopback21

Redistribuera default route i OSPF

  • R2(config)# router ospf 10
  • R2(config-router)# default-information originate
  • R2(config-router)# exit
  • R2(config)# end
  • R2#

Verifieringar på R1 och R3

R1#show ip route ospf
     10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
O       10.1.1.8 [110/2] via 10.1.1.6, 02:19:19, GigabitEthernet0/0/0
                 [110/2] via 10.1.1.13, 02:19:19, GigabitEthernet0/0/1
O       10.10.2.1 [110/2] via 10.1.1.6, 02:19:54, GigabitEthernet0/0/0
O       10.10.3.1 [110/2] via 10.1.1.13, 02:19:19, GigabitEthernet0/0/1
O*E2 0.0.0.0/0 [110/1] via 10.1.1.6, 00:03:49, GigabitEthernet0/0/0
R3#show ip route ospf
     10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
O       10.1.1.4 [110/2] via 10.1.1.14, 02:20:10, GigabitEthernet0/0/0
                 [110/2] via 10.1.1.9, 02:20:10, GigabitEthernet0/0/1
O       10.10.1.1 [110/2] via 10.1.1.14, 02:20:20, GigabitEthernet0/0/0
O       10.10.2.1 [110/2] via 10.1.1.9, 02:20:10, GigabitEthernet0/0/1
O*E2 0.0.0.0/0 [110/1] via 10.1.1.9, 00:04:45, GigabitEthernet0/0/1

Sammanfattning

En default route (0.0.0.0/0) har injicerats i OSPF-domänen.

Detta visas på både R1 och R3 som en OSPF External Type 2-route (O*E2).

Routen annonseras av R2, som därmed fungerar som ASBR.

Eftersom routen är av typen E2 används endast den externa kostnaden vid beräkning, medan den interna OSPF-kostnaden till ASBR inte påverkar metricen. Varje router väljer dock sitt närmaste nästa hopp mot R2.