Tartalomjegyzék

< Cisco szerint a hálózat

Egyterületű OSPF

Az egyterületű OSPF

Az OSPF az Open Shortest Path First rövidítése. Magyarul legrövidebb út először. Az OSPF egy kapcsolatállapot alapú forgalomirányító protokoll. A távolságalapú RIP leváltására alkották meg. A RIP kicsi ugrásszám korlátja, és az útvonalak különböző sebessége nem teszi ideális útválasztó protokollá. A RIP-el szemben a OSPF gyorsabb konvergenciát is lehetővé tesz.

Jellemzők:

SPF algoritmus

Több információ az SPF algoritmusról:

OSPF és az IP

Fejlesztés

Csoportosítás

Forgalomirányító protokollok osztályozása
Belső Külső
Távolság vektor alapú Kapcsolat állapot alapú Útvonal vektor
alapú
IPv4 RIPv2 EIGRP OSPFv2 IS-IS BGP4
IPv6 RIPng EIGRP
for IPv6
OSPFv3 IS-IS for
IPv6
MP-BGP

Hitelesítés

Adminisztratív távolság

közvetlen kapcsolt 0
statikus 1
EIGRP összesített irányítás 5
External BGP 20
Internal EIGRP 90
IGRP 100
OSPF 110
IS-IS 115
RIP 120
External EIGRP 170
Internal BGP 200

OSPF adatbázisai

Egy konvergencia folyamat

A forgalomirányító elsőként hello üzenetet küldenek egymásnak, hogy meggyőzödjenek van-e szomszédjuk, aki szintén OSPF-et beszél. Ha igen, felveszik szomszédnak.

Ezek után kapcsolat állapotot hirdet, angolosan Link-State Advertisements, vagy röviden csak LSA. LSA csomagokkal szórja meg a hálózatot. A szomszédok is visszakülik hirdetéseiket, ezeket feldolgozza és elkezd topológiai táblát építeni.

Futtatja az SPF algoritmust, a legjobb útvonal kiszámításához, majd SPF fát építi.

Cél Legrövidebb út Költség
10.3.0.0/16 R1 > R2 17
10.5.0.0/16 R1 > R2 > R3 29
10.7.0.0/16 R1 > R5 > R4 12
10.11.0.0/16 R1 > R5 7

OSPF megvalósítások

Multiarea OSPF:

Minden területnek a 0 gerinchez kell kapcsolódnia.

Ha topológia változik a változások következtében, minden forgalomirányító futtatja az SPF-algoritmust. Ez nagy számításigényű, de így csak területen belül lesz újraszámolva.

A területek között távolságvektor formájában terjed. Ha egy területen sok forgalomirányító van, akkor túl nagy LSDB-ék vannak.

OSPF üzenetek

Etherneten át küldött OSPF üzenet

Adatkapcsolati Ethernet keretfejléc.

A következő csoportos MAC címzés lehet:

Data Link Frame Header

IP szinten

IP csomagfejléc.

A következő csoportos IP címzés lehet:

Data Link Frame Header IP Packet Header

IPv6 esetén:

ff02::5 a cím.

OSPF üzenetfej

OSPF csomag

Tartalma:

Data Link Frame Header IP Packet Header OSPF Packet Header

OSPF üzenet

OSPF csomagtípustól függő adatok:

Data Link Frame
Header
IP Packet
Header
OSPF Packet
Header
OSPF Packet Type
Specified Database

LSP üzenetek

Az LSP kapcsolatállapotcsomag.

Az LSP üzenetek típusai:

Hello üzenet

Az OSPF a Hello csomaggal építi ki a szomszédsági viszonyait. Hello üzenetben közli, hogy milyen beállításai vannak, amelyek meg kell egyezzenek a szomszéddal. De ezzel történik a DR és az BDR kiválasztása is.

Amikor egy forgalomirányító kap egy Hello csomagot, megnézi a küldő azonosítóját. Ha még nem ismeri, akkor szomszédsági viszonyt alakít vele ki.

A forgalomirányítók a Hello Interval időintervallumban megadott időközönként küldenek Hello üzenetet. Az érték másodpercben megadott érték. Többes-hozzáférésű hálózatok esetén ez az érték 10 másodperc.

A szomszédok között ez az érték meg kell egyezzen, ez a szomszédsági viszony létrejöttének feltétele.

Többes hozzáférésű hálózat és pon-pont kapcsolat esetén a hello csomagok 10 másodpercenként indulnak. Olyan hálózatban, ahol nincs szórás a csomagok 30 másodpercenként indulnak, mint a Frame Relay-ben.

Router Priority

A Router Priority a forgalomirányítók prioritását szabályzó jellemző. Ezt a jellemzőt DR/BDR választás során használjuk. Az értéke 0 és 255 közötti érték lehet. Az alapértelmezés: 1. Minél magasabb a szám, annál valószínűbb, hogy DR lesz a forgalomirányító.

Dead Interval

A Dead Inerval, magyarul halott intervallum. A szomszéd, ha ennyi ideig nem válaszol, hallottnak nyilvánítja a forgalomirányító. Alapértelmezés szerint ez a hello négyszerese (4x).

Szomszédok között azonosnak kell lenni, különben a szomszédság nem jön létre.

Többes-hozzáférésű hálózat és pont-pont kapcsolat esetén ez alapból: 40 másodperc.

NBMA hálózatok, pl. Frame Relay: 120 másodperc. Az NBMA a Non-Broadcast Multiple Access rövidítése.

A DR

A DR a Designated Router rövidítése. Kijelölt forgalomirányító. Gyűjtő elosztó pont.

BDR

A BDR a Backup Designated Router rövidítése. Tartalék forgalomirányító.

List Of Neighbors

A List Of Neighbor a szomszédok listája, azok azonosítóját tartalmazza.

Üzenetváltások

A DBD az LSDB rövidített változata. A DBD a Database Description rövidítése.

A hello üzenetek után a forgalomirányítók rövidített DBD-t küldenek a megismert szomszédhoz, hogy az összevethesse saját adatbázisával.

A szomszéd ha több információt szeretne ehhez a megküldött DBD-hez, akkor LSR üzenetet küld.

LSU

Egy LSU egy vagy több LSA-t tartalmazhat. Az OSPFv2 11 különböző LSA típust ad meg:

LSA típusok
Típus Leírás
1 Router LSA
2 hálózat LSA
3,4 összevonó LSA
5 külső autonóm system LSA
6 Multicast OSPF LSA
7 Definíció a Not-So-Stubby Areas számára
8 Külső tulajdonságok LSA, BGP számára
9, 10, 11 átlátszó LSA

Az OSPF indulása

Down state nem fogadunk Hello-t, de küldünk
Init state Hello csomag fogadása, Router ID küldése
Two-Way state Ethernet kapcsolaton DR és BDR választás
Pont-pont kapcsolat esetén szinkronizálás
ExStart state A master/slave kapcsolatok és a DBD sorszám megbeszélése
Exchange state DBD csomag csere
Loading state LSR és LSU használata
Full state A forgalomirányító konvergált

OSPF működés

Ethernet kapcsolat esetén DR-t és BDR-t választunk, a többszörös szomszédsági viszony kialakulása ellen. Az LSA üzenetek is túl nagy számban jönnének létre.

A szomszédsági viszonyok alakulása
router szomszédság
n n(n-1)/2
5 10
10 45
20 190
30 435
40 780
50 1225
60 1770
70 2415
80 3160
90 4005
100 4950

DR/BDR

OSPF konfigurálása

RouterID

A forgalomirányító számára meg kell határozni egy azonosítót. Angolosan RouterID. Az azonosító a következő módokon kerülhet meghatározásra:

Start
ha (kézzel meg van adva) 
  routerID meg van
ellenben ha(van loopback interfész)
  routerID = lobbback interfész
ellenben
  legnagyobb IPv4 címet használjuk
ha vége
Vége

R1(config)# router ospf 10
R1(config-router)# router-id 1.1.1.1
R1# show ip protocols
...
Router ID 1.1.1.1

Ha már működik az OSPF, akkor szükség van az ID váltáshoz a következő parancsra:

R1# clear ip ospf process

Visszacsatoló interfésszel:

R1(config)# interface loopback 0
R1(config-if)# ip address 1.1.1.1 255.255.255.255
R1(config-if)# end

Helyettesítő maszk

Angolosan Wildcard mask. Veszem a decimális számokat binárisan. Binárisan minden számot az ellentétes állapotba billentek, azaz invertálom a biteket. Így meg kapom a helyettesítő maszkot.

Példa
maszk 255.255.255.000
helyettesítő maszk 000.000.000.255
/25 maszk
maszk 255.255.255.128
helyettesítő maszk 000.000.000.127
/26 maszk
maszk 255.255.255.192
helyettesítő maszk 000.000.000.063
/27 maszk
maszk 255.255.255.224
helyettesítő maszk 000.000.000.031
/28 maszk
maszk 255.255.255.240
helyettesítő maszk 000.000.000.015
/29 maszk
maszk 255.255.255.248
helyettesítő maszk 000.000.000.07
/30 maszk
maszk 255.255.255.252
helyettesítő maszk 000.000.000.003

Hálózat megadása

R1(config)# router ospf 10
R1(config-router# network 10.1.0.0 0.0.255.255 area 0
R1(config-router# network 10.2.0.0 0.0.255.255 area 0
R1(config-router# network 10.8.0.0 0.0.255.255 area 0
R1(config-router#

Így is lehet:

R1(config)# router ospf 10
R1(config-router# network 10.1.0.0 0.0.0.0 area 0
R1(config-router# network 10.2.0.0 0.0.0.0 area 0
R1(config-router# network 10.8.0.0 0.0.0.0 area 0
R1(config-router#

Figyeljük meg a helyettesítő maszkot:

0.0.0.0

Passziválás

R1(config)# router ospf 10
R1(config-router# passive-interface GigabitEthernet 0/0
R1(config-router#

Ellenőrzés:

R1# show ip protocols
…
Passive Interface(s):
     GigabitEthernet0/0

OSPF költségek

Az OSPF a legjobb útvonal meghatározásához a költséget használja; a költséget veszi mértéknek.

Egy interfész sávszélessége fordítottan arányos a költséggel. Vagyis egy 100Mb/s Ethernetnek nagyobb a költsége mint egy 1000Mb/s interfésznek.

Számítás:

koltseg=referenciaSavszelesseg/interfeszSavszelesseg

Az alapértelmezett referencia sávszélesség a 10^8 hatványon, azaz 100 000 000. Ezzel a referencia sávszélességgel a költség képlete:

koltseg=100000000/interfeszSavszelesseg

A következő táblázat mutatja 10^8 referencia sávszélességgel néhány interfész sávszélességét:

Interfész típus Osztás Költség
10 Gigabit Ethernet
10 Gbps
100 000 000 / 10 000 000 000 1
Gigabit Ethernet
1 Gbps
100 000 000 / 1 000 000 000 1
Fast Ethernet
100 Mbps
100 000 000 / 100 000 000 1
Ethernet
10 Mbps
100 000 000 / 10 000 000 10
Serial
1.544 Mbps
100 000 000 / 1 544 000 64
Serial
128 kbps
100 000 000 / 128 000 781
Serial
64 kbps
100 000 000 / 64 000 1562

Mindig az összes költséggel kell számolni. A példában R1 és R1 között 1.544 Mbps serial kapcsolat van, amelynek a költsége 64. Ehhez jön R4 g0/0 interfésze, amelynek a költsége 1. Így a 10.7.0.0/16 hálózat 65-ös költséggel érhető el közvetlenül R4 forgalomirányítón keresztül.

Költség ellenőrzése:

R1# show ip route | include 172.16.2.0
0               172.16.2.0/24 [110/65] via 172.16.3.2, 03:39:07
                 Serial0/0/0
R1#
R1# show ip route 172.16.2.0
Routing entry for 172.16.2.0/24
    Known via "ospf 10", distance 110, metric 65, type intra
    …
          Route metric is 65, traffic share count is 1

A fenti táblázatban láttuk, hogy a 10 Gigabit Ethernet, a Gigabit Ethernet és a Fast Ethernet azonos költséggel szerepel, konkrétan: 1. Ezért érdemes beállítani más referencia sávszélességet, például 1000.

auto-cost reference-bandwidth 1000
R1(config)#router ospf 1
R1(config-router)#auto-cost reference-bandwidth 1000000

Megjegyzés: PT-ben nem működik:

R1#show ip ospf | include Reference
 Reference bandwidth unit is 100 mbps

De ha be van állítva, az látszik a konfigurációban a router résznél:

R1#show run | s router

Persze így még mindig 1 költséggel szerepel a 10 Gigabit és a Gigabit Ethernet.

auto-cost reference-bandwidth 1000
Interfész típus Osztás Költség
10 Gigabit Ethernet
10 Gbps
1 000 000 000 / 10 000 000 000 1
Gigabit Ethernet
1 Gbps
1 000 000 000 / 1 000 000 000 1
Fast Ethernet
100 Mbps
1 000 000 000 / 100 000 000 10
Ethernet
10 Mbps
1 000 000 000 / 10 000 000 100
Serial
1.544 Mbps
1 000 000 000 / 1 544 000 647
Serial
128 kbps
1 000 000 000 / 128 000 7812
Serial
64 kbps
1 000 000 000 / 64 000 15625

Állítsuk be 10000-es értéket.

Ekkor a költségek alakulása:

auto-cost reference-bandwidth 10000
Interfész típus Osztás Költség
10 Gigabit Ethernet
10 Gbps
10 000 000 000 / 10 000 000 000 1
Gigabit Ethernet
1 Gbps
10 000 000 000 / 1 000 000 000 10
Fast Ethernet
100 Mbps
10 000 000 000 / 100 000 000 100
Ethernet
10 Mbps
10 000 000 000 / 10 000 000 1000
Serial
1.544 Mbps
10 000 000 000 / 1 544 000 6476
Serial
128 kbps
10 000 000 000 / 128 000 78125
Serial
64 kbps
10 000 000 000 / 64 000 156250

Beállítás:

R1(config)# router ospf 1
R1(config-router)# auto-cost reference-bandwidth 10000

Interfész költségének ellenőrzése:

R1# show ip ospf interface g0/0
…
…        3.3.3.3, Network Type BROADCAST, Cost: 10

R1# show ip route | include 10.7.0.0
O       10.7.0.0/16 [110/6486] via 10.8.0.2, 00:10:08, Serial0/0/0
R1# show ip route 10.7.0.0
Routing entry for 10.7.0.0/16
Known via "ospf 10", distance 110, metric 6486, type intra area
  Last update from 10.8.0.2 on Serial0/0/0, 00:12:10 ago
  Routing Descriptor Blocks:
  * 10.8.0.2, from 10.8.0.2, 00:12:10 ago, via Serial0/0/0
      Route metric is 6486, traffic share count is 1

R1#

Interfész sávszélesség

Hasonlóan a referencia sávszélességhez nincs hatással az interfész tényleges sebességére. Az OSPF viszont ezt is figyelembe veszi a számításoknál (az EIGRP is ezt figyelembe veszi).

Nézzük meg a sávszélességet:

R1#show interfaces s0/0/0
Serial0/0/0 is up, line protocol is up (connected)
  Hardware is HD64570
  Internet address is 10.8.0.1/16
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,
...

A referencia sávszélesség megtekintése:

R1#show ip ospf int s0/0/0

Serial0/0/0 is up, line protocol is up
  Internet address is 10.8.0.1/16, Area 0
  Process ID 10, Router ID 10.8.0.1, Network Type POINT-TO-POINT, Cost: 6476

Most változtassunk a sávszélességen:

R1(config)# int s0/0/0
R1(config-if)# bandwidth 128
R1(config-if)# end
...

Ellenőrzés:

R1#show int s0/0/0
Serial0/0/0 is up, line protocol is up (connected)
  Hardware is HD64570
  Internet address is 10.8.0.1/16
  MTU 1500 bytes, BW 128 Kbit, DLY 20000 usec,

A beállítást a másik forgalomirányítón is be kell állítani.

Költség állítása közvetlenül

R1(config)# int s0/0/0
R1(config-if)# no bandwidth 128
R1(config-if)# ip ospf cost 15625
R1(config-if)# end

Sávszélesség ellenőrzése:

R1#show int s0/0/0 | include BW
  MTU 1500 bytes, BW 1544 Kbit, DLY 20000 usec,

Költség ellenőrzése:

R1#show ip ospf int s0/0/0 

Serial0/0/0 is up, line protocol is up
  Internet address is 10.8.0.1/16, Area 0
  Process ID 10, Router ID 10.8.0.1, Network Type POINT-TO-POINT, Cost: 80
...

Utóbbi Packet Tracerben nem működik.

Ellenőrzés

R1# show ip ospf neighbor

Futtatásra példa:

R1#show ip ospf neighbor


Neighbor ID     Pri   State           Dead Time   Address         Interface
10.8.0.2          0   FULL/  -        00:00:33    10.8.0.2        Serial0/0/0
10.2.0.2          0   FULL/  -        00:00:35    10.2.0.2        Ge 0/1

A szomszédsági viszony ha nem jön létre, a következőket nézzük meg:

Az OSPF ellenőrzése:

R1# show ip protocols
R1# show ip ospf
R1# show ip ospf interface
R1# show ip ospf interface brief
R1# show ip ospf interface serial 0/0/0

OSPFv3

Eltérés OSPFv2 és OSPFv3 között:

OSPFv2 OSPFv3
IPv4 címek IPv6 címek
minden OSPF router címe:
224.0.0.5
minden OSPF router:
ff02::5
DR/BDR csoportcím:
224.0.0.6
DR/BDR csoportcím:
ff02::6
network parancs ipv6 ospf <procId> area <areaId>
interfész parancs
MD5 azonosítás IPv6 azonosítás

Címek használata

Konfigurálás

R1(config)# ipv6 unicast-routing
R1(config)#
R1(config)# int g0/0
R1(config-if)# des R1 LAN
R1(config-if)# ipv6 address 2001:db8:def:1::1/64
R1(config-if)# no shut
R1(config-if)#
R1(config-if)# int s0/0/0
R1(config-if)# des Link to R2
R1(config-if)# ipv6 address 2001:db8:def:2::1/64
R1(config-if)# clock rate 128000
R1(config-if)# no shut
R1(config-if)#
R1(config-if)# int s0/0/1
R1(config-if)# des Link to R3
R1(config-if)# ipv6 address 2001:db8:def:7::1/64
R1(config-if)# no shut
R1(config-if)# end

Ellenőrzés:

R1# show ipv6 interface brief

Link-local beállítása

R1(config)# int g0/0
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)#
R1(config-if)# int s0/0/0
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)#
R1(config-if)# int s0/0/1
R1(config-if)# ipv6 address fe80::1 link-local
R1(config-if)# end

Ellenőrizzük:

R1# show ipv6 interface brief

RouterID és költség beállítása:

R1(config)# ipv6 router ospf 10
R1(config-rtr)#
R1(config-rtr)# router-id 1.1.1.1
R1(config-rtr)#
R1(config-rtr)# auto-cost reference-bandwidth 1000
R1(config-rtr)#
R1(config-rtr)# end
R1# show ipv6 protocols
R1(config)# int g0/0
R1(config-rtr)# ipv6 ospf 10 area 0
R1(config-rtr)#
R1(config-rtr)# int s0/0/0
R1(config-rtr)# ipv6 ospf 10 area 0
R1(config-rtr)#
R1(config-rtr)# int s0/0/1
R1(config-rtr)# ipv6 ospf 10 area 0
R1(config-rtr)#
R1(config-rtr)# end
R1# show ipv6 ospf int brief

Ellenőrzés

R1(config)# show ipv6 ospf neighbor

OSPFv3 Router with ID (1.1.1.1) (Process ID 10)

 Neighbor ID Pri State      Dead Time        Interface ID Interface
 3.3.3.3          0   FULL/ -  00:00:39            6                  Serial0/0/1 
 2.2.2.2          0   FULL/ -  00:00:36            6                  Serial0/0/0
R1#
R1(config)# show ipv6 protocols
IPv6 Routing Protocol is "connected"
IPv6 Routing Protocol is "ND"
IPv6 Routing Protocol is "ospf 10"
   Router ID 1.1.1.1
  Number of areas: 1 normal, 0 stub, 0 nssa
  Interfaces (Area 0):
     Serial0/0/1
     Serial0/0/0
     GigabitEthernet0/0
   Redistribution:
     None
R1#
R1(config)# show ipv6 ospf interface brief
Interface         PID     Area                  Intf ID   Cost    State  Nbrs F/C
Se0/0/1          10       0                        7          15625  P2P   1/1
Se0/0/0          10       0                        3          647      P2P   1/1
Gi0/0              10       0                        3          1          DR    0/0
R1#
R1(config)# show ipv6 route ospf
IPv6 Routing Table – default – 10 entries
…
0     2001:DB8:DEF:2::/64  [110/657]
       via FE80::2, Serial0/0/0
0     2001:DB8:DEF:3::/64  [110/1304]
       via FE80::2, Serial0/0/0
0     2001:DB8:DEF:8::/64  [110/1294]
       via FE80::2, Serial0/0/0
R1#

OSPF gyakorlat

Feladat 001

Kösse össze az alábbi hálózatokat OSPF segítségével.

Feladat 002

Kösse össze az alábbi hálózatokat OSPF segítségével.