OSPF Überblick

Aus schwabas wiki
Wechseln zu: Navigation, Suche

OSPF Überblick

OSPF Eigenschaften

router id

32-Bit Nummer die oft gleich dargestellt wird, wie eine IPv4 Adresse. Also im Format xxx.xxx.xxx.xxx. Die Router-ID hat aber nichts mit einer IP Adresse zu tun.

selection algorithm

  1. Manuell gesetzte Router-ID
  2. höchste IP von einem Loopback Interface
  3. höchste IP von einem andern aktiven Interface

router-id wird nach dem ersten auswählen nicht mehr geändert, auch nicht wenn das Interface mit der IP die der Router-ID entspricht down geht. Um eine neue router-id auswählen zu lassen, muss der OSPF Prozess neu gestartet werden (clear ip ospf process)

Warum es Sinn macht, die router-id manuell zu setzen:

  • der Router hat immer dieselbe router-id
  • Beim booten ist evtl. noch kein Interface verfügbar -> OSPF Prozess kann nicht gestartet werden
  • Die höchste IP von einem Loopback Interface ist evtl. eine Anycast Adresse -> Dann haben zwei Router dieselbe router-id was zu Routing Problemen führt

OSPF area

Jede OSPF area muss mit der area 0 verbunden sein. Wenn es also nur eine OSPF area gibt, ist es ein gute Idee die 0 zu nehmen.

OSPF Session aufbauen

Damit zwei Router untereinander eine OSPF Session aufbauen, muss OSPF auf dem entsprechenden Router Port aktiviert werden. Dazu muss im OSPF Prozess das Interface und die OSPF area mit dem network Statement angegenen werden. Um also z.B. das Interface mit der IP 10.5.6.1 in den OSPF Prozess 100 aufzunehmen:

router ospf 100
 network 10.5.6.1 0.0.0.0 area 0

Im Network Statement wird die Wildcard Notation verwendet, also auf allen Interfaces die matchen wird OSPF versuchen mit den Neighbors Sessions aufzubauen. Wem die Wildcard Notation nicht geläufig ist findet hier en.wikipedia.org/wiki/Wildcard_mask oder hier www.subnetonline.com/pages/subnet-calculators/ipv4-wildcard-calculator.php Hilfe:

Damit OSPF eine Session korrekt aufbauen kann, müssen folgende Werte auf den Interfaces der beteiligten Router übereinstimmen:

  • Subnetz
  • Subnetzmaske
  • Hello Interval (ip ospf hello-interval ##) (Default in broadcast und point-to-point networks: 10)
  • Dead Interval (ip ospf dead-interval ##) (Default in broadcast und point-to-point networks: 40)
  • OSPF area
  • network type (point-to-point, broadcast, etc.)
  • Authentication falls eingeschaltet
  • MTU

OSPF cost

Über die OSPF cost wird entschieden, über welchen Weg die IP Pakete versendet werden wenn es mehrer Wege zum Ziel gibt.

Die OSPF cost von einem Link, wird nur anhand der Bandbreite/Speed vom Link errechnet (bandwidth Wert vom Interface). Per Default lautet die Formel: OSPF cost = 100'000 Kbps / Link-Speed

Einige Beispiele
Bandbreite OSPF cost
64 Kbps 1562
10 Kbps 10
100 Kbps 1
1 Gbps 1
10 Gbps 1

Ab 100 Mbps errechnet OSPF immer eine cost von 1. Ein 1 Gbps Link wird also nicht vor einem 100 Mbps Link bevorzugt. Da dies Heutzutage nicht mehr Sinnvoll ist, kann der Referenzwert von 100'000 Kbps angepasst werden, z.B. auf 100'000'000 Kbps (100 Gbps). Dann bevorzugt OSPF den 1 Gbps Link vor dem 100 Mbps Link. Unter Cisco kann dies mit dem Befehl auto-cost reference-bandwidth angepasst werden. WICHTIG: dieser Wert muss auf allen Routern, die am selben OSPF Routing teilnehmen, derselbe sein.

Die OSPF cost kann auch manuell auf einem Link gesetzt werden. ip ospf cost 1234 setzt z.B. die OSPF cost auf einem Interface auf 1234.

multipath

Kennt OSPF ein Ziel über verschiedene Pfade mit derselben OSPF cost (equal cost paths), werden per Default bis zu 4 dieser Routen in die Routing Table des Routers aufgenommen. So ist also ein Load Balancing über verschiedene Links möglich. Wieviele unterschiedliche paths in die Routing Table aufgenommen werden, lässt sich im OSPF Prozess mit maximum-paths X steuern.

Default Route

Soll der Router im OSPF bekanntgeben, dass er eine Default-Route besitzt, muss dies mit folgenden Befehl konfiguriert werden:

  • default-information originate Sofern eine Default-Route vorhanden ist (z.B. wenn lokal eine Statische Default Route konfiguriert ist oder wenn diese von einem andern Routing Protokoll gelehrnt wird), wird diese in den OSPF Prozess übergeben
  • default-information originate always Der Router wird dem OSPF Prozess immer eine Default-Route übergeben, egal ob der Router selbst eine hat oder nicht.

Redistributing

Um eine Route per OSPF zu verteile, die von einem anderen Routing Prozess kommt, muss diese in den OSPF Prozess redistributed werden. Die Route wird dann als LSA Type 5 im OSPF verteilt. Um z.B. die Routen die vom EIGRP 50 Prozess gelernt wurden ins OSPF zu redistributen:

router ospf 100
 redistribute eigrp 50 subnets

Falls man nicht alle Routen einfach so übernehmen möchte, kann man diese über eine zuvor definierte route-map steuern/filtern.

router ospf 100 
 redistribute static subnets route-map RMP-FILTER-STATIC

Eine Erklärung zu route-maps ist hier zu finden: www.cisco.com/c/en/us/support/docs/ip/border-gateway-protocol-bgp/49111-route-map-bestp.html

Schulungs Aufgaben

Aufgabe 1

  • Erstelle folgendes Setup im GNS3

OSPF-Schulung Aufgabe1.png

  • Der IP Range für die Links soll möglichst effizient genutzt werden
  • Konfiguriere OSPF so, dass
    • die OSPF router-id der Loopback IP Adresse entspricht (statisch setzen)
    • OSPF für einen 1 Gbps Link eine Cost von 10 hat
    • sich alle Loopback IPs sehen via LSA Type 1. z.B. ping 10.1.1.1 source Loopback 0
    • wenn ein Link an R1 oder R2 ausfällt, diese beiden Router R4 trotzdem noch erreichen können

Lösung

R1

interface Loopback0
 ip address 10.1.1.1 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.1 255.255.255.252
!
interface GigabitEthernet2/0
 ip address 10.0.0.9 255.255.255.248
!
router ospf 100
 router-id 10.1.1.1
 auto-cost reference-bandwidth 10000
 network 10.0.0.1 0.0.0.0 area 0
 network 10.0.0.9 0.0.0.0 area 0
 network 10.1.1.1 0.0.0.0 area 0

R2

interface Loopback0
 ip address 10.2.2.2 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.2 255.255.255.252
!
interface GigabitEthernet2/0
 ip address 10.0.0.10 255.255.255.248
!
router ospf 100
 router-id 10.2.2.2
 auto-cost reference-bandwidth 10000
 network 10.0.0.2 0.0.0.0 area 0
 network 10.0.0.10 0.0.0.0 area 0
 network 10.2.2.2 0.0.0.0 area 0

R3

interface Loopback0
 ip address 10.3.3.3 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.5 255.255.255.252
!
interface GigabitEthernet2/0
 ip address 10.0.0.11 255.255.255.248
!
router ospf 100
 router-id 10.3.3.3
 auto-cost reference-bandwidth 10000
 network 10.0.0.5 0.0.0.0 area 0
 network 10.0.0.11 0.0.0.0 area 0
 network 10.3.3.3 0.0.0.0 area 0

R4

interface Loopback0
 ip address 10.4.4.4 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.6 255.255.255.252
!
router ospf 100
 router-id 10.4.4.4
 auto-cost reference-bandwidth 10000
 network 10.0.0.6 0.0.0.0 area 0
 network 10.4.4.4 0.0.0.0 area 0

Aufgabe 2

  • Erweitere das Netz um
    • Fällt ein redundanter Link aus oder wird auf dem Switch auf Port 2 ein falsches VLAN gesetzt, darf R2 maximal 5 Sekunden lang R4 nicht erreichen können. Der Failover muss also in max 5 Sekunden passieren.
    • Konfiguriere ein neues Loopback Interface mit der IP 1.2.3.4/32 auf R1 (darf nicht ins OSPF Routing aufgenommen werden)
    • R1 soll eine Default-Route per OSPF an die anderen Router weitergeben. So das alle anderen Router 1.2.3.4 erreichen können.

Lösung

Verifizieren

Auf R1-R3 prüfen, dass die Timer korrekt sind:

R1#sh ip ospf interface GigabitEthernet 2/0 | i Timer          
  Timer intervals configured, Hello 1, Dead 5, Wait 5, Retransmit 5

Prüfen, dass auf R4 keine Route zu 1.2.3.4/32 existiert

R4#sh ip route 1.2.3.4
% Network not in table

Dafür aber eine Default Route via OSPF

R4#sh ip route 0.0.0.0 0.0.0.0
Routing entry for 0.0.0.0/0, supernet
 Known via "ospf 100", distance 110, metric 1, candidate default path
 Tag 100, type extern 2, forward metric 20
 Last update from 10.0.0.5 on GigabitEthernet1/0, 00:11:13 ago
 Routing Descriptor Blocks:
 * 10.0.0.5, from 10.1.1.1, 00:11:13 ago, via GigabitEthernet1/0
     Route metric is 1, traffic share count is 1
     Route tag 100

Und dann natürlich den Ping-Test:

R4#ping 1.2.3.4 source loopback 0
Type escape sequence to abort.
Sending 5, 100-byte ICMP Echos to 1.2.3.4, timeout is 2 seconds:
Packet sent with a source address of 10.4.4.4 
!!!!!
Success rate is 100 percent (5/5), round-trip min/avg/max = 8/23/28 ms

R1

interface Loopback0
 ip address 10.1.1.1 255.255.255.255
!
interface Loopback10
 ip address 1.2.3.4 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.1 255.255.255.252
!
interface GigabitEthernet2/0
 ip address 10.0.0.9 255.255.255.248
 ip ospf dead-interval 5
 ip ospf hello-interval 1
!
router ospf 100
router-id 10.1.1.1
auto-cost reference-bandwidth 10000
network 10.0.0.1 0.0.0.0 area 0
network 10.0.0.9 0.0.0.0 area 0
network 10.1.1.1 0.0.0.0 area 0
default-information originate always

R2

interface Loopback0
 ip address 10.2.2.2 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.2 255.255.255.252
!
interface GigabitEthernet2/0
 ip address 10.0.0.10 255.255.255.248
 ip ospf dead-interval 5
 ip ospf hello-interval 1
!
router ospf 100
 router-id 10.2.2.2
 auto-cost reference-bandwidth 10000
 network 10.0.0.2 0.0.0.0 area 0
 network 10.0.0.10 0.0.0.0 area 0
 network 10.2.2.2 0.0.0.0 area 0

R3

interface Loopback0
 ip address 10.3.3.3 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.5 255.255.255.252
 negotiation auto
!
interface GigabitEthernet2/0
 ip address 10.0.0.11 255.255.255.248
 ip ospf dead-interval 5
 ip ospf hello-interval 1
 negotiation auto
!
router ospf 100
 router-id 10.3.3.3
 auto-cost reference-bandwidth 10000
 network 10.0.0.5 0.0.0.0 area 0
 network 10.0.0.11 0.0.0.0 area 0
 network 10.3.3.3 0.0.0.0 area 0

Aufgabe 3

  • Erweitere das Netz um
    • Konfiguriere auf R4 folgende Loopback Interface:
      • Loopback 10: 192.168.170.1/32
      • Loopback 20: 192.168.180.5/29
      • Loopback 30: 192.168.55.10/32
      • Loopback 40: 172.16.40.1/24
      • Loopback 50: 63.133.5.11/32
    • Die IPs von diesen Loopback Interfaces, welche im Range 192.168.0.0/16 sind, sollen per Redistribute ins OSPF aufgenommen werden. Die Konfiguration soll so aussehen, dass nur weitere Loopback Interfaces mit einer IP 192.168.x.x/(24-32) automatisch ins OSPF aufgenommen werden.

Lösungen

R4

interface Loopback0
 ip address 10.4.4.4 255.255.255.255
!
interface Loopback10
 ip address 192.168.170.1 255.255.255.255
!
interface Loopback20
 ip address 192.168.180.5 255.255.255.248
!
interface Loopback30
 ip address 192.168.55.10 255.255.255.255
!
interface Loopback40
 ip address 172.16.40.1 255.255.255.0
!
interface Loopback50
 ip address 63.133.5.11 255.255.255.255
!
interface GigabitEthernet1/0
 ip address 10.0.0.6 255.255.255.252
!
router ospf 100
 router-id 10.4.4.4
 auto-cost reference-bandwidth 10000
 redistribute connected subnets route-map RMP-CONNECTED-OSPF
 network 10.0.0.6 0.0.0.0 area 0
 network 10.4.4.4 0.0.0.0 area 0
!
ip prefix-list PFL-CONNECTED-OSPF seq 5 permit 192.168.0.0/16 ge 24
!
route-map RMP-CONNECTED-OSPF permit 10
 match ip address prefix-list PFL-CONNECTED-OSPF

Verifizieren

Routing Table auf R1 prüfen welche Routen sichtbar sind:

R1#sh ip route ospf
Codes: L - local, C - connected, S - static, R - RIP, M - mobile, B - BGP
       D - EIGRP, EX - EIGRP external, O - OSPF, IA - OSPF inter area 
       N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
       E1 - OSPF external type 1, E2 - OSPF external type 2
       i - IS-IS, su - IS-IS summary, L1 - IS-IS level-1, L2 - IS-IS level-2
       ia - IS-IS inter area, * - candidate default, U - per-user static route
       o - ODR, P - periodic downloaded static route, H - NHRP, l - LISP
       + - replicated route, % - next hop override
Gateway of last resort is not set
      10.0.0.0/8 is variably subnetted, 9 subnets, 3 masks
O        10.0.0.4/30 [110/20] via 10.0.0.11, 00:16:20, GigabitEthernet2/0
O        10.2.2.2/32 [110/11] via 10.0.0.10, 00:16:33, GigabitEthernet2/0
                     [110/11] via 10.0.0.2, 00:24:29, GigabitEthernet1/0
O        10.3.3.3/32 [110/11] via 10.0.0.11, 00:16:20, GigabitEthernet2/0
O        10.4.4.4/32 [110/21] via 10.0.0.11, 00:16:20, GigabitEthernet2/0
      192.168.55.0/32 is subnetted, 1 subnets
O E2     192.168.55.10 [110/20] via 10.0.0.11, 00:00:04, GigabitEthernet2/0
      192.168.170.0/32 is subnetted, 1 subnets
O E2     192.168.170.1 [110/20] via 10.0.0.11, 00:00:04, GigabitEthernet2/0
      192.168.180.0/29 is subnetted, 1 subnets
O E2     192.168.180.0 [110/20] via 10.0.0.11, 00:00:04, GigabitEthernet2/0

Aufgabe 4

  • Der Traffic von R2 nach R4 soll über R1 geroutet werden, auch wenn alle Links online sind.

Lösung

R2

Cost auf Gi2/0 auf R2 erhöhen, dass der Weg über R1 näher erscheint:

interface GigabitEthernet2/0
 ip address 10.0.0.10 255.255.255.248
 ip ospf dead-interval 5
 ip ospf hello-interval 1
 ip ospf cost 21

Verifizieren

Wo zeigt die Route auf R2 zu R4 hin?

R2#sh ip route 10.4.4.4 255.255.255.255 
Routing entry for 10.4.4.4/32
  Known via "ospf 100", distance 110, metric 31, type intra area
  Last update from 10.0.0.1 on GigabitEthernet1/0, 00:02:14 ago
  Routing Descriptor Blocks:
  * 10.0.0.1, from 10.4.4.4, 00:02:14 ago, via GigabitEthernet1/0
      Route metric is 31, traffic share count is 1

  • cost über R1 (Gi1/0) ist jetzt: 31 = 10 (R2->R1) + 10 (R1->R3) + 10 (R3->R4) + 1 (Interface auf R4)
  • cost direkt über R3 (Gi2/0) ist jetzt: 32 = 21 (R2->R3) + 10 (R3->R4) + 1 (Interface auf R4)

Zusatzaufgabe X

  • Erweitere das Netz um H5 (Router der einen Host simulieren soll)

OSPF-Schulung ZusatzaufgabeX.png

  • H5 darf nur mit folgender Konfiguration eingerichtet werden:

interface Loopback 0
 ip address 10.10.10.10 255.255.255.255
!
interface gi1/0
 ip address 10.100.0.6 255.255.255.248
 no shutdown
!
ip route 0.0.0.0 0.0.0.0 10.100.0.1

  • Passe die Konfiguration auf R1 und R2 so an, dass 10.10.10.10 von R4 erreichbar ist. Auch dann, wenn g3/0 an R1 oder R2 down geht. Die Konfiguration von R3 und R4 darf nicht verändert werden.
  • Jeder Traffic von R1 nach oder über R2 darf nie über den SW2 gesendet werden.

Links

http://packetlife.net/media/library/10/OSPF.pdf (Gute OSPF Übersicht)