OSPF • Link-state směrovací algoritmus • Open – otevřený + svobodný protokol • SPF (shortest path first) – Hledá cestu pomocí Dijkstrova algoritmu • Škálovatelný, moderní IGP (interní směrovací protokol) • Nejrozšířenější, doporučovaný….
Směrování a OSPF
Tomáš Fidler
1 2
Historie OSPF
Základní vlastnosti OSPF
• 1988 - Práce na protokolu „na objednávku“ IETF jako IGP • 1989 - RFC 1131 – OSPF, nikdy reálně nenasazeno, nedostatky • 1991 - RFC 1247 – OSPF 2 – Následováno RFCs 1583, 2178 • 1998 - RFC 2328 – OSPFv2 aktuální!! • Další normy k OSPFv2 – 1850, 1793, 2370, 3101, 3623, 3630, 3883, 4203, 4222, 4364, 4577, 4812, 4915, 4970, 4972, 5088… • IPv6 – OSPFv3
• Otevřený (bez licencí, může kdokoliv implementovat) • Type of Service (typ služby) – různé cesty podle druhu komunikace, aktuálně se nepoužívá • Equal cost Multi Path -> load-balancing • Hirearchické sítě – podporuje rozdělení sítě na Areas(oblasti) • Ověřování – podporuje ověření zasilatele • Různé druhy adresace (classless, classfull, host specific, network specific) • Podpora různých druhů síťových topologií (Broacast, NBMA, Point-to-point, point-to-multipoint) • Virtualizace sítě • Podporuje Redistribuce cest z jiných zdrojů – značkování 3
Činnost OSPF
4
OSPF – základní nastavení QUAGGA/ZEBRA: ospfd(config)# router ospf ospfd(config-router)# network 10.0.5.0/24 area 0 ospfd(config-router)# network 172.16.0.0/16 area 0
• Navázání a udržování sousednosti (adjecency) se sousedními směrovači (neighbors) • Vysílání stavu svých linek (rozhraní) • Přeposílání LSA od ostatních směrovačů • Vytváření databáze (mapy) sítě (link state databáze) • Údržba databáze v synchronizované s ostatními směrovači • Výpočet nejkratších cest v síti • Aktualizace směrovací tabulky směrovače
CISCO: R(config)#router ospf 1 R(config-router)#network 10.0.5.0 R(config-router)#network 172.16.0.0
0.0.0.255 area 0 0.0.255.255 area 0
Zadává se wild-card mask – opak síťové masky Každé rozhraní má náklady (cost) a ty se po cestě v síti sčítají. Standardní výpočet je 10^8/Bandwith … dá se přenastavit
5
6
1
LSA – oznámení o stavu linky • • • • • •
LSA
LSA jsou pakety nesoucí topologické informace Informace v lsa nepopisují fyzickou topologii, ale logickou LSA jsou různého typu, V ospf je cca 11 typů LSA Každý typ LSA popisuji jinou část topologie Nejprve je nutné znát způsob výstavby sítí OSPF
Router#sh ip ospf database OSPF Router with ID (192.168.1.33) Router Link States (Area 0) Link ID 10.100.100.2 192.168.1.34 192.168.1.1 192.168.1.50 192.168.1.17
1. Router lsa
ADV Router 192.168.2.1 192.168.1.17 192.168.1.33 192.168.1.50 192.168.1.49
Age 0 0 0 0 0
Seq# 0x80000003 0x80000001 0x80000003 0x80000007 0x80000008
Checksum 0x6626 0x4465 0x1689 0x8643 0x8453
Seq# 0x80000009
Checksum 0x6744
Net Link States (Area 0)
2. Network LSA
Link ID 10.100.100.2
ADV Router 10.100.100.2
Age 0
Summary Net Link States (Area 0)
3. Network summary LSA
Link ID 192.168.2.32 192.168.2.0 192.168.2.48 192.168.2.16 10.100.100.0 192.168.1.32 192.168.1.0
ADV Router 10.100.100.2 10.100.100.2 10.100.100.2 10.100.100.2 10.100.100.2 10.100.100.2 10.100.100.2
Age 0 0 0 0 0 0 0
Seq# 0x80000005 0x80000002 0x80000005 0x80000008 0x80000007 0x80000005 0x80000001
Checksum 0x6780 0x5297 0x7919 0x9023 0x2982 0x4311 0x7386
8
7
R0#sh ip os data router 10.0.0.2
Router LSA (typ 1)
Network LSA (typ 2)
OSPF Router with ID (10.0.2.1 Router Link States (Area 0)
typ LSA 1 Router ID 10.0.0.2 počet Linků 3 Link 1 popis Link 2 popis Link 3 popis
typ LSA 1 Router ID 10.0.0.2 počet Linků 3 Link 1 popis Link 2 popis Link 3 popis
typ LSA 1 Router ID 10.0.0.2 počet Linků 3 Link 1 popis Link 2 popis Link 3 popis
LS age: 25 Options: (No TOS-capability, DC) LS Type: Router Links Link State ID: 10.0.0.2 Advertising Router: 10.0.0.2 LS Seq Number: 80000007 Checksum: 0x557 Length: 60 Number of Links: 3
• Produkují pouze DR na každé multiaccess síti typ LSA Router ID Maska sítě Připojené směrovače Připojené směrovače
2 10.0.2.1 255.255.255.0 10.0.2.1 10.0.0.2
R0#sh ip os data network adv-router
10.0.2.1
OSPF Router with ID (10.0.2.1) Net Link States (Area 0)
Link connected to: a Stub Network (Link ID) Network/subnet number: 172.16.2.0 (Link Data) Network Mask: 255.255.255.0 Number of TOS metrics: 0 TOS 0 Metrics: 1
Routing Bit Set on this LSA LS age: 985 Options: (No TOS-capability, DC) LS Type: Network Links Link State ID: 10.0.2.1 (address of Designated Router) Advertising Router: 10.0.2.1 LS Seq Number: 80000001 Checksum: 0x7B8B Length: 32 Network Mask: /24 Attached Router: 10.0.2.1 Attached Router: 10.0.0.2 TOS 0 Metrics: 1
Link connected to: a Stub Network (Link ID) Network/subnet number: 172.16.0.0 (Link Data) Network Mask: 255.255.255.0 Number of TOS metrics: 0 TOS 0 Metrics: 1 Link connected to: a Transit Network (Link ID) Designated Router address: 10.0.2.1 (Link Data) Router Interface address: 10.0.2.2 Number of TOS metrics: 0 TOS 0 Metrics: 1
R0#sh ip route 172.16.0.0/32 is subnetted, 2 subnets O 172.16.0.1 [110/2] via 10.0.2.2, 00:02:22, FastEthernet1/0 O 172.16.2.1 [110/2] via 10.0.2.2, 00:02:22, FastEthernet1/0 10.0.0.0/24 is subnetted, 3 subnets C 10.0.2.0 is directly connected, FastEthernet1/0
9
10
Další LSA
Další LSA
Summary LSA (typ 3) • Generují ABR mezi areas – Jedná se o sumární adresy sítí dostupné v připojené area – Základní náklady sumární LSA se stanovují jako vzdálenost k nejbližší části sumární sítě ASBR Summary LSA (typ 4) • Generují ABR směrovače • Informují o vzdálenosti a adrese ASBR směrovače
External LSA (typ 5) • Generují ASBR a přenášejí informace o sítích externích k OSPF • využívá k šíření implicitní brány • Jsou 2 druhy – E1 … vzdálenost k síti se vypočítává – E2 … využije se pouze pokud neexistuje jiná alternativa (vzdálenost se nevypočítává ale bere se nejnižší)
11
12
2
Typy LSA
OSPF – navazování sousednosti (adjacency) • Než je možné přeposílat LSA, je třeba vědět čí LSA přeposíláme -> udržovat seznam sousedů • Uskutečňuje se zasíláním HELLO paketů Příklad Quagga: ospfd# sh ip ospf neighbor Neighbor ID Pri State 10.0.5.2 1 2-Way/DROther 10.0.5.3 1 2-Way/DROther 10.0.5.5 1 2-Way/DROther
• Area 2 – STUB • Area 1 – NSSA
Dead Time 00:00:32 00:00:33 00:00:33
Address 10.0.5.2 10.0.5.3 10.0.5.5
Interface eth0:10.0.5.4 eth0:10.0.5.4 eth0:10.0.5.4
10.0.5.34 10.0.5.35 10.0.5.36 10.0.5.38
eth0:10.0.5.4 eth0:10.0.5.4 eth0:10.0.5.4 eth0:10.0.5.4
. . . 10.0.5.34 10.0.5.35 10.0.5.36 10.0.5.38
Router ID
1 1 1 1
2-Way/DROther 2-Way/DROther Full/Backup Full/DR
00:00:32 00:00:32 00:00:32 00:00:32
Priorita
13
14
OSPF – Hello protokol
OSPF – Hello protokol = začátek práce směrovače
Úlohy Hello protokolu • Je to definice způsobu navazování sousedících směrovačů na síti • Vyměňuje informace o základních parametrech mezi směrovači na kterých se musí všichni shodnout než mohou mít vztah sousednosti • Je informuje o tom že sousední směrovač „žije“ (keepalive) • Zajišťuje obousměrnou komunikaci mezi sousedy (bez toho že se navzájem směrovače nevidí nevznikne sousednost) • Zajišťuje výběr hlavního (DR) a záložního komunikačního routeru(BDR) na síti s více směrovači (multiaccess síť)
Směrovač po aktivaci: 1. Začne rozesílat po přidělených sítích Hello pakety 2. Jakmile zachytí cizí hello a označené se shoduje přidá si odesilatele mezi své neighbor – Stav sousednosti INIT 3. Jakmile uvidí sebe v hello paketu směrovače u kterého má INIT – Stav sousednosti 2-WAY
15
OSPF – Hello protokol = typy sítí
Další vývoj závisí na typu sdílené sítě A) 2-way B)vytvoří se adjecency
Open Shortest Path First OSPF Header OSPF Version: 2 Message Type: Hello Packet (1) Packet Length: 176 Source OSPF Router: 10.0.5.28 (10.0.5.28)
Area ID: 0.0.0.0 (Backbone) Packet Checksum: 0x0000 (none)
Auth Type: Cryptographic Auth Key ID: 1 Auth Data Length: 16 Auth Crypto Sequence Number: 0x480cf66a Auth Data: 29A82D5E4E492C34F7819E1C658281ED OSPF Hello Packet
Network Mask: 255.255.255.0 Hello Interval: 10 seconds Options: 0x02 (E) Router Priority: 1
Router Dead Interval: 40 seconds Designated Router: 10.0.5.38 Backup Designated Router: 10.0.5.36 Active Neighbor: 10.0.5.2 Active Neighbor: 10.0.5.4 Active Neighbor: 10.0.5.5 Active Neighbor: 10.0.5.6 . .
16
OSPF – Hello protokol = typy sítí NBMA (non-broadcast multiaccess) • Ne všechny směrovače vidí všechny sousedy • Typ sítě nepodporuje všesměrové vysílání • PŘ:X.25,Frame-Relay, ATM… • Je nutná ruční konfigurace – Ruční nastavení sousedů – Ruční nastavení priority – Vybírá se DR, BDR – Všechny OSPF pakety jsou unicast
Síť typu bod-bod • vždy se vytvoří sousednost • Všechny pakety se vysílají po rezervované multicast IP – 224.0.0.5 (AllSPFrouters) Síť podporuje všesměrové vysílání • Vybírá se DR(designated router) a BDR (backup DR) se kterými se tvoří sousednost • Hello pakety se vysílají po AllSPFrouters • Ostatní pakety buď AllSPFrouters (když je zdrojem DR/BDR), nebo na 224.0.0.6 (AllDRouters)
Virtualní spoje • Nutná speciální konfigurace • provoz unicastový přes mezilehlé sítě
17
18
3
OSPF – Designated/Backup designated Router
OSPF – Designated/Backup designated Router (vybraný/záložní vybraný směrovač)
(jmenovaný/záložní jmenovaný směrovač) • Zabezpečují synchronizaci v rámci sdíleného segmentu sítě • Pokud neexistuje na síti DR vytvoří se z BDR • Pokud neexistuje BDR vybírá se ze směrovačů které se mohou stát BDR (mají priority větší než 0) • Jako BDR se vybere směrovač s nejvyšší prioritou • Pokud je shoda, vybere se směrovač s vyšší Router ID
19
20
OSPF – adjecency (sousednost)
Area
• Sousednost se vytváří dle typu sítě • Výměna informací o prioritě vztahu v sousednosti (Master/slave), výměna informací o sekvenčním čísle, které se má použít pro databázi – stav sousednosti ExStart • Začíná výměna Database description paketů (paketů o obsahu link state databáze… sekvenční čísla lsa apod.) - stav Exchange • Navzájem si směrovače vyžádají po sousedovi ty lsa, které má soused navíc/která jsou aktuálnější – stav Loading • Jakmile jsou synchronizované databáze je stav Full Proč znát stavy?... Když se objeví problémy
• V OSPF musí směrovače sdílet informace –> není možné sumarizovat, optimalizovat směrovací tabulky • OSPF podporuje hierarchické dvouvrstvé dělení sítě na Area. • Topologické informace jsou v rámci Area sdíleny • Vně Area se zasílají jenom informace shrnující co je v AREA
21
22
Typy směrovačů
Area je logická skupina směrovačů která dělí celou administraci do subdomén Směrovače v jedné area sdílejí topologickou databázi o ostatních area mají jenom sumární informace
Speciální typy oblastí -stub • • • • • •
Zmenšuje topologickou databázi Summary LSA: Typ 3 Žádné LSA typu 4 ani typu 5 Implicitní brána je distribuována jako summary (Type 3) Pouze jedno ABR, generuje automaticky implicitní bránu Žádné externí cesty nejsou v Stub area známy (každý ABR musí umět je správně směrovat) • Stub je nastaven jako option hello paketu => musí být na všech směrovačích v AREA • Interní směrovač ve stub umí vybrat BLIŽŠÍ router jenom pro interní sítě z hlediska OSPF.
23
24
4
Speciální typy oblastí –total stuby area (není v RFC) • Více odříznutá stub area • Směrovače v TSA se dozvídají pouze implicitní bránu • Žádné Type 3 pakety až na implicitní bránu
Speciální typy oblastí – NSSA • Oblast jako stub (není třeba informace o externích sítích) • Je možné vkládat sítě externí z hlediska OSPF • Praktické využití pro ISP – Stub area zmenší nároky na databázi v oblasti – Použije se jiný protokol na komunikaci s klientem (rip, eigrp…) a jeho informace se šíří do OSPF • Používá se speciální typ LSA – type 7, který se na ABR mění na type 5 (jako u stub - žádné type 5 LSA)
25
Speciální typ propojení - Virtual link
26
Speciální typ propojení - Virtual link
27
28
Speciální typ propojení - Virtual link
Ověřování - authentication
• Virtual link je point-to-point spoj • Mezi páteřní ABR a nepáteřní ABR • Nahrazuje fyzické propojení npABR do páteří
• • • •
Podporuje „podpis“ ospf paketů Nepodporuje šifrování obsahu zpráv Zabezpečuje pouze proti podvrhnutí zprávy Podporuje pouze MD5 interface Serial1 ip ospf message-digest-key 1 md5 dfasfoa router ospf area 0 authentication message-digest •Stejný MD5 musí být nastaven na všech směrovačích na linku
29
30
5