T-110.4100 Tietokoneverkot: Reititys sisäverkossa

T-110.4100 Tietokoneverkot : Reititys sisäverkossa
Teemu Kiviniemi
Funet-verkko
CSC – Tieteen tietotekniikan keskus Oy
Luento pohjautuu Sanna Suorannan aiempaan materiaaliin.
7.2.2012
Luennon sisältö
Reititys ja Internetin rakenne
Etäisyysvektoriprotokollat
– RIPv2 ja RIPng
Linkkitilaprotokollat
– OSPF, OSPFv3 ja IS-IS
Protokollien vertailu (lyhyesti)
Muita reititysprotokollia (lyhyesti)
2
Funet
Suomen
korkeakoulujen ja
tutkimuksen
tietoverkko
Yli 80 organisaatiota
– Yliopistoja
– Ammattikorkeakouluja
– Tutkimuslaitoksia
Noin 350 000
käyttäjää
3
Pakettien kulku Internetissä
Internet on pakettikytkentäinen verkko, joka
koostuu reitittimistä ja niiden välisistä yhteyksistä
(linkit).
IP-pakettien otsikkotiedoissa on lähettäjän ja
vastaanottajan osoitteet.
Reitittimet välittävät IP-paketteja toisistaan
riippumatta. Paketit voivat kulkea samaan
kohteeseen eri reittejä.
4
Reititystaulu
Jokainen verkon reititin rakentaa itsenäisesti
oman reititystaulun.
– Käytössä olevia reititystauluja voi olla myös enemmän
kuin yksi.
Reititystaulussa on reitittimen ”maailmankuva”,
eli tieto siitä mihin tiettyyn kohdeosoitteeseen
lähetetty paketti tulisi välittää.
– Yhteen kohdeverkkoon voi olla useampia reittejä,
jotka voivat olla myös käytössä yhtä aikaa.
– Aktiivinen reitti valitaan usein jonkin annetun
metriikan perusteella: esim. linkin kustannus/etäisyys.
5
Reititystaulu: esimerkki
> show route 193.10.252.19 table inet.0
inet.0: 392571 destinations, 794302 routes (391340 active, 3 holddown, 1286 hidden)
+ = Active Route, - = Last Active, * = Both
193.10.252.0/24
*[BGP/170] 3w5d 10:32:28, MED 100, localpref 95
AS path: 2603 I
> to 109.105.102.65 via ae1.0
[BGP/170] 2w2d 03:17:05, MED 100, localpref 95, from 193.166.5.21
AS path: 2603 I
> to 193.166.255.94 via ae0.0
6
Staattinen ja dynaaminen reititys
Reitittimen ylläpito voi lisätä reititystauluun
reittejä käsin: staattinen reititys
– Yhteyden (linkin) katketessa verkon ylläpito joutuu
muuttamaan reitin käsin.
Reititysprotokollien avulla reititystaulu voidaan
rakentaa dynaamisesti.
– Reitittimet jakavat tietoa omista verkoistaan ja
yhteyksistään muille reitittimille. Jokainen reititin
rakentaa tiedon pohjalta oman reititystaulun.
– Yhteyden katketessa voidaan laskea uusi reitti
automaattisesti.
7
Paketinvälitys
Reititin käsittelee jokaisen vastaanotetun paketin
erikseen.
Paketin kohdeosoitetta verrataan aktiiviseksi
valittuihin reitteihin, ja sen perusteella valitaan
minne paketti tulee välittää.
– Paketin Time to Live- (IPv4) tai Hop Limit-kentän
(IPv6) arvoa lasketaan.
Valitun reitin kohteen (Next Hop) linkkikerroksen
osoite (esim. Ethernet MAC) selvitetään, ja
paketti paketoidaan linkkikerroksen kehykseen
ja välitetään eteenpäin.
8
Internetin rakenne
AS2
R
R
R
R
R
R
R
R
R
AS1
R
R
R
R
AS4
AS3
R
R
Internet koostuu itsenäisistä verkoista, autonomisista
järjestelmistä: autonomous systems (AS).
9
Autonomiset järjestelmät
(Autonomous Systems, AS)
Autonomiset järjestelmät ovat itsenäisiä verkkoja, joilla
on oma hallittu reitityssäännöstö.
– Autonomiset järjestelmät on numeroitu. AS-numeroavaruutta
hallinnoi IANA, joka myöntää numeroavaruudesta palasia
edelleenjaettavaksi alueellisille osoitehallintaorganisaatioille
(RIR) - Euroopassa RIPE NCC.
Tyypillisesti yksi AS = yksi operaattori tai muu
organisaatio, mutta yhdellä operaattorilla voi olla myös
useita AS-numeroita.
– Funetin AS-numero on 1741.
10
Reititys ja AS:t
AS:ien sisällä ja AS:ien välillä käytetään erilaisia
reititysprotokollia.
AS:ien välillä käytetään tyypillisesti BGP:tä,
jonka avulla reittienvaihtoa toisten AS:ien kanssa
voidaan tehdä hallitusti, paikallisesti valittujen ja
toisen AS:n kanssa sovittujen käytäntöjen
mukaan.
Yhden AS:n sisällä kaikki reitittimet ovat AS:n
omassa hallinnassa, joten käytettävät
reititysprotokollat voivat olla erilaisia.
11
AS:n sisäiset reititysprotokollat
(Interior Gateway Protocols, IGP)
Käytetään AS:ien sisällä reittien jakamiseen.
– AS:n sisällä saatetaan käyttää IGP:n rinnalla myös
BGP:tä. Aiheesta kerrotaan lisää seuraavalla
luennolla.
Kaksi perustyyppiä: etäisyysvektoriprotokollat ja
linkkitilaprotokollat
12
Etäisyysvektoriprotokollat
(distance vector protocols)
Reitittimet jakavat tietoa etäisyyksistä toisiin
reitittimiin <kohde,etäisyys> -pareina.
Lyhimmät reitit lasketaan jokaisessa reitittimessä
Bellman-Ford-algoritmilla.
Esimerkkejä: RIP, RIPng, IGRP, EIGRP
13
Etäisyysvektoriprotokollan yleinen
toimintaperiaate
1. Naapurireitittimien selvittäminen
2. Yhteyksien metriikoiden selvittäminen: etäisyys,
kustannus, pituus
3. Tunnettujen reittien vaihtaminen naapureiden
kanssa <kohde,etäisyys> -pareina.
4. Parhaiden reittien laskeminen
naapurireitittimien ilmoitusten perusteella.
5. Jatketaan kohdasta 3
14
Esimerkki etäisyysvektoriprotokollan
reitinlaskennasta
1
A
2
1
B
1
5
E
3
2
C
1
F
D
1
A:n taulu
B
Alkutila
1, -
1. kierros
1, -
2, B
2. kierros
1, -
2, B
Alkutila:
suorat naapurit
1. kierroksen jälkeen:
naapureiden naapurit
B:n taulu E:n taulu
B:n taulu E:n taulu
A: 1, -
A: 2, -
A: 1, -
A: 2, -
C: 1, -
B: 1, -
C: 1, -
B: 1, -
E: 1, -
C: 5, -
D: 3, C
C: 2, B
F: 3, -
E: 1, -
D: 4, F
F: 2, C
F: 3, -
C
D
E
F
2, 4, B
2, -
5, E
2, -
3, B
Hyvät uutiset
eli uudet
reitit leviävät
nopeasti.
15
Etäisyysvektoriprotokollat: ongelmia
1
A
1
B
2
C
B
C
D
1, -
2, B
4, C
2, B
4, C
3, C
2, B
4, C
3, C
4, B
4, C
5, C
4, B
6, C
…
…
…
D
Reitin katkeamistieto leviää hitaasti.
Kun B:n linkki A:han katkeaa:
– B kuvittelee että C:llä on vaihtoehtoinen reitti A:han.
– Etäisyydet kasvavat äärettömyyteen.
Ongelmaan on olemassa ratkaisuja.
16
Routing Information Protocol (RIP)
Reititin ilmoittaa säännöllisin väliajoin reititystaulunsa
sisällön naapureilleen <kohde, etäisyys> -pareina
– Kohdeverkon osoite, aliverkon peite, ensimmäisen
hypyn reititin, metriikka
Naapurit kuuntelevat ja päivittävät reititystaulunsa
– Mutta vain jos uusi reitti on oikeasti lyhyempi.
Äärettömyys on määritelty 16:ksi.
– Reitityssilmukan synnyttyä äärettömyyteen laskeminen tapahtuu
nopeammin.
– Rajoittaa verkon kokoa.
17
RIPv2 (RFC 2453) – viestin otsikko
8
0
16
Command
Version= 2
Address Family Identifier
IP Address
Subnet Mask
Next Hop
Metric
24
(must be zero)
Route Tag
31
RTE=reittitietue (route entry)
RIP toimii UDP:n päällä, portissa 520
– Ryhmälähetys (multicast) osoitteella 224.0.0.9.
RIPv1 käytti yleislähetystä (broadcast).
RIP-viestissä voi olla useampia reittitietueita (route
entry, RTE)
18
RIPv2 – viestin otsikko (2)
Komennot (Command)
– 1=pyyntö (request), 2=vastaus (response, lähetetään
myös säännöllisesti ilman pyyntöä)
– RIPv2 osaa vastata myös RIPv1-pyyntöihin
Address Family Identifier (AFI): AF_INET = 2
– Voi myös olla autentikaatiotunniste, jolloin RTE
sisältääkin autentikaatiodataa.
Reittitagin (Route Tag) avulla voi esimerkiksi
erottaa RIP:n sisäiset reitit RIP:n ulkopuolisista
reiteistä. RFC ei määrittele käyttöä tarkemmin.
19
RIPv2 – viestin otsikko (3)
IP-osoite ja aliverkon peite (Subnet Mask):
kertoo reitin kohteen ja verkon koon.
Next Hop: seuraavan välittävän reitittimen IPosoite
– 0.0.0.0 jos käytetään vastausviestin lähettänyttä
reititintä
Metriikka (metric): koko reitin kustannus/pituus
– Jos kohde on saavuttamattomissa, metriikka on 16 eli
ääretön.
20
RIP – viestin lähettäjän tunnistaminen
Alkuperäisessä RIP-protokollassa ei tunnistettu viestien lähettäjää
lainkaan tai käytettiin selväkielistä salasanaa.
– Suojasi vain satunnaiselta väärinkonfiguroinnilta.
RFC 4822 määrittelee autentikointilaajennuksen: kaksi RTE-tietuetta
täyttävä viesti
– Jos RTE:n AFI on 0xFFFF => RTE sisältää autentikaatio- eikä
reititystietoa
Ensimmäisessä autentikointi-RTE:ssä mm. sekvessinumero ja käytetyn
avaimen ID.
Jälkimmäinen autentikointi-RTE sisältää varsinaisen tiivisteen, esim. HMACSHA1.
– Käytössä voi olla useita avaimia: avainta on mahdollista vaihtaa
ilman katkoja.
– Avain välitetään turvallista kanavaa pitkin, ei koskaan
selväkielisenä.
21
RIPng for IPv6 (RFC 2080)
0
Command
8
16
24
(must be zero)
Version=1
31
IPv6 prefix
Route Tag
Prefix Length
Metric
RTE=reittitietue
Toimii UDP:n päällä, portissa 521
Prefiksin pituus kertoo verkkomaskin.
–
CIDR 2001:db8::/32 => prefiksin pituus = 32
22
RIPng - Seuraavan hypyn RTE
0
8
16
24
31
IPv6 Next Hop Address
(must be zero)
(must be zero)
0xFF
Seuraavan hypyn osoite kerrotaan erillisellä
RTE-tietueella. Tietue kertoo seuraavan hypyn
kaikille tätä seuraaville reittitietueille.
– Käytetään kunnes viesti sisältää toisen seuraavan
hypyn RTE:n tai viesti loppuu.
23
RIP - äärettömyyteen laskemisen
välttäminen
Jaettu horisontti (split horizon)
– Reittejä ei mainosteta takaisin siihen suuntaan, mistä
reitti saatiin.
– Ei estä silmukoiden syntymistä kolmen reitittimen
välille.
Lähteen myrkytys (poisoned reverse)
– Ilmoitetaan kohteen metriikaksi ääretön (16) sille
naapurille jolta kohteen käytössä oleva reitti saatiin.
Tietojen nopea välitys (triggered updates)
– Kun reittitaulu muuttuu, välitetään muuttunut tieto
(lähes) välittömästi naapureille.
24
Linkkitilaprotokollat
(link state protocols)
Jokaisella reitittimellä on kuva koko verkon
topologiasta.
Lyhimmät reitit lasketaan jokaisessa reitittimessä
Dijkstran lyhimmän polun algoritmillä.
Esimerkkejä: OSPF, OSPFv3, IS-IS
25
Linkkitilaprotokollan yleinen
toimintaperiaate
1. Naapurireitittimien selvittäminen
2. Yhteyksien metriikoiden selvittäminen: etäisyys,
kustannus, pituus
3. Tunnettujen reittien ja linkkien tilatiedon
vaihtaminen naapureiden kanssa.
4. Parhaiden reittien laskeminen.
5. Jatketaan kohdasta 3
26
Linkkitilaprotokollat:
Dijkstran lyhimmän polun algoritmi
1
Etäisyys omaan solmuun = 0 ja
muihin , merkitään solmut
vierailemattomiksi, aloitetaan
tarkastelu omasta solmusta.
2. Lasketaan etäisyys tarkasteltavasta
solmusta naapureihin.
• Jos löytyi lyhyempi polku kuin
tiedossa oleva, päivitetään lyhin
polku.
• Merkitään solmu vierailluksi.
3. Jos on jäljellä vierailemattomia
solmuja, siirrytään niistä lähimpään
ja jatketaan kohdasta 2.
• Jos kaikissa solmuissa on jo
vierailtu, lopetetaan.
A
1.
2
1
B
1
5
E
3
C
2
C
1
F
D
D
1
Kierros ja
solmu
B
E
F
1. A
1, A
2. B
1, A
2, B
2, A
3. E
1, A
2, B
2, A
5, E
4. C
1, A
2, B
4, C
2, A
3, C
5. F
1, A
2, B
4, C
2, A
3, C
6. D
1, A
2, B
4, C
2, A
3, C
2, A
27
Open Shortest Path First Protocol
(OSPF) versio 2
OSPF käyttää linkkitila-algoritmia ja jokaisella reitittimellä on
kokonaiskuva verkon topologiasta.
OSPF:n avulla verkko voidaan jakaa itsenäisiin OSPF-alueisiin.
– Reitittimet jaetaan sisäisiin, alueen rajalla oleviin, runkoverkkoyhteydellisiin ja AS:n rajalla oleviin.
– Jakamalla verkko alueisiin reititystaulut pysyvät pienempinä.
OSFP-reitittimet voidaan tunnistaa.
– Kuka tahansa ei voi muuttaa reititystaulujen sisältöä.
OSFP toimii suoraan IP:n päällä: protokolla 89
– Viestien lähettämiseen käytetään ryhmälähetystä osoitteella
224.0.0.5.
28
OSPF - Kolme aliprotokollaa
Hello-protokolla
– Naapureiden selvitys, naapureiden saavutettavuuden
seuraaminen.
Exchange-protokolla
– Protokollan avulla vaihdetaan koko linkkitilatietokannan sisältö
uuden naapurin kanssa.
Flooding-protokolla
– Käytetään muuttuneiden reititystietojen levittämiseen muille
reitittimille.
– Päivityksiä lähetetään säännöllisin väliajoin, ja linkkien tilan
muututtua.
Kaikkilla protokollilla on yhteinen OSPF-otsikko.
29
OSPF (RFC 2328) - Otsikko
0
Version=2
8
16
Type
24
Packet Length
31
Router ID
Area ID
Checksum
Authentication Type
Authentication
Viestien tyypit (Type)
1 = Hello
3 = Link State Request
2 = Database Description 4 = Link State Update
(Exchange-viesti)
5 = Link State ACK
30
OSPF - Otsikko (2)
Router ID: lähettäjän osoite
Area ID: 32-bittinen OSPF-alueen tunniste.
– 0.0.0.0 = backbone
– Yleensä viestit eivät kulje ulos alueelta.
Tarkistussumma (Checksum) kattaa koko OSPFviestin paitsi tunnistedatan.
Autentikaatiotyypit (Authentication Type):
– 0 = ei autentikointia, 1 = selväkielinen salasana,
– 2 = jaettu salaisuus + MD5 (alkuperäinen), HMACSHA (RFC 5709) vahvempi
31
OSPF - Hello
Hello-viestien avulla reitittimet muodostavat yhteydet
toisiinsa ja testaavat yhteyden toimivuuden aika-ajoin.
– Yhteydet ovat kaksisuuntaisia.
Jos linkillä on useampia naapureita, kaikkiin naapureihin
ei muodosteta yhteyttä.
Jaetulta linkiltä valitaan edustaja (designated router)
– Edustaja muodostaa naapuruuden kaikkien linkin
reitittimien kanssa, sen sijaan että kaikki reitittimet
muodostaisivat naapuruudet kaikkien kanssa.
– Ratkaisu pienentää linkkitilatietokannan kokoa.
32
OSPF - Edustajareitittimen valinta
(designated router)
Kun reititin (lähettämällä Hello-viestin) kytkeytyy
linkille, jossa on valittu edustaja, käytetään jo
olemassaolevaa edustajaa.
– Näin tehdään vaikka linkille kytkeytynyt reititin haluaisi
olla edustaja ja sillä olisi korkeampi prioriteetti.
Jos linkillä ei ole vielä edustajaa, edustajaksi
valitaan halukkaista reitittimistä se, jolla on
korkein prioriteetti. Tasapelitilanteessa valitaan
se reititin jolla on suurin ID.
Jos edustajareititin kaatuu ja mikään reitittimistä
ei halua edustajaksi, valitaan se varaedustaja,
jolla on korkein prioriteetti (tai ID).
33
OSPF - Hello
0
8
HelloInterval
16
24
31
(OSPF header, Type = 1) ...
Network Mask
Options
Router priority
RouterDeadInterval
Designated Router
Backup Designated Router
Neighbor 1
...
Neighbor n
34
OSPF - Hello (2)
Network mask: tämän verkkorajapinnan verkkomaski
Options: Tuetut OSPF-ominaisuudet. Naapuri voidaan
hylätä, jos reitittimien OSPF-ominaisuudet eivät täsmää.
HelloInterval: Tämän reitittimen Hello-viestien lähetysväli
sekunteina.
Router priority: Tämän reitittimen prioriteetti
edustajareititinvalinnassa.
– Jos 0, ei voi olla edustaja tai varaedustaja
RouterDeadInterval: aika, jonka jälkeen reitittimen
katsotaan olevan alhaalla (sekuntia).
35
OSPF - Hello (3)
Designated Router: viestin lähettäjän näkemys
valitusta edustajareitittimestä
– 0.0.0.0 jos edustajareititintä ei ole valittu.
Backup Designated Router
– Edellisen varalla. 0.0.0.0 jos ei ole valittu.
Neighbor 1 … n
– Tiedossa olevien aktiivisten naapureiden ID:t.
36
OSPF - Tilatietojen vaihto/alustus
(Exchange, Database description)
0
8
24
31
16
(OSPF header, Type=2) …
Interface MTU
Options
00000 I M MS
DD sequence number
LSA headers
useampi LSA-otsikko (Link State Advertisement)
Käytetään koko linkkitilatietokannan yhteenvedon
lähettämiseen naapureille.
Viesti voi sisältää useamman paketin, sillä koko verkon
kuvaus välitetään kaikille OSPF-reitittimille
37
OSPF - Exchange (2)
Interface MTU: linkin pakettien maksimikoko.
Tietokannan sisältö voi olla laaja, jolloin
lähetetään useampi Database Description-viesti
– I(nit) = 1 => ensimmäinen DD-paketti
– M(ore) = 1 => lisää DD-paketteja seuraa
MS-bitti: reititin on joko 1= master tai 0=slave
DD-sekvenssinumero
– Ensimmäisessä paketissa uniikki, seuraavissa
paketeissa edellinen + 1.
38
OSPF – Linkkitilatietueen (LSA) otsikko
0
8
LS age
24
16
Options
31
LS Type
Link State ID
Advertising Router
LS sequence number
LS Checksum
Length
…
Jokainen LSA kuvaa palan OSPFreititysaluetta.
39
OSFP - LSA-otsikko (2)
LS Age: aika sekunteina tietueen luomisesta
Options: tuetut valinnaiset OSPF-ominaisuudet
LS Type:
– 1 = Router-LSA
– 2 = Network-LSA
– 5 = AS-external-LSA
3= Summary-LSA (IP network)
4= Summary-LSA (ASBR)
Link State ID: riippuu LS-tyypistä, esim IP-osoite
Advertising Router: Sen reitittimen ID joka alunperin mainosti tiedon.
LS sequence number: kasvava sekvenssinumero, jonka avulla
tunnistetaan vanhat ja duplikaatit LSA:t
LS Checksum: LSA:n tarkistussumma (ei sisällä LS Age-kenttää)
Length: LSA:n pituus sisältäen otsikon
40
OSPF - LSA-tyypit
1 = Router-LSA
– Kuvaa reitittimeen suoraan kytkeytyvät linkit.
2 = Network-LSA
– Jaetun linkin kuvaus, jonka on lähettänyt kyseisen linkin
edustajareititin (Designated Router)
3 = Summary-LSA (IP network)
– Alueen reunareitittimen luoma tietue toisella alueella olevasta
verkosta.
4 = Summary-LSA (AS Border Router)
– Alueen reunareitittimen luoma tietue AS-reunareitittimestä
(ASBR).
5 = AS-external-LSAs
– ASBR:n luoma tietue AS:n ulkopuolisesta reitistä.
41
OSPF - Router-LSA
8
VEB
0
0
16
0
24
Link Count
31
Link ID
Link Data
Type
# TOS
Metric
...
TOS
0
TOS Metric
Jokainen reititin luo Router-LSA:n
– Kuvaus reitittimen jokaisesta verkkoliitännästä.
42
OSPF - Reititin-LSA (2)
Liput:
– V = virtuaalilinkin päätepiste
– E = AS:n reunareititin
– B = OSPF-alueen reunareititin
Link Count: reitittimen verkkoliitäntöjen
lukumäärä, jokainen linkki kuvataan
Type
Link ID
Link Data
Suora yhteys reitittimeen
Naapurireitittimen ID
MIB-II ifIndex-arvo
Transit-verkko
Edustajareitittimen IP
Verkkoliitännän IP-osoite
Stub-verkko
Aliverkko-osoite
Aliverkon peite
Virtuaalilinkki
Naapurireitittimen ID
Verkkoliitännän IP-osoite
43
OSPF - Reititin-LSA (3)
# TOS: erilaisten TOS-metriikoiden lukumäärä
Metric: linkin kustannus
TOS: Type of Service (IP-otsikossa), jonka
metriikka on määritelty
TOS Metric: TOS-kohtainen metriikka
44
OSPF – Network-LSA
0
8
16
Network Mask
Attached Router
...
24
31
Kuvaa alueella olevan transit-verkon.
– Network Mask: Transit-verkon aliverkon peite
– Aliverkon peitteen jälkeen listataan kaikkien
verkkoon kytkeytyvien reitittimien ID:t.
Verkon edustajareititin luo verkko-LSA:n
– Listassa on mukana myös edustajareititin itse.
45
OSPF – Summary LSA
8
0
0
TOS
...
16
Network Mask
Metric
TOS Metric
24
31
Kuvaa alueen ulkopuolisia kohteita.
– Alueen reunareititin luo ja mainoistaa muille alueille.
– Tyyppi 3: IP-verkko, Tyyppi 4: AS-reunareititin
Network Mask: Kohdeverkon IP-verkkomaski (tyyppi 3) tai 0
(tyyppi 4)
Metric: reitin metriikka (kustannus)
– Myös Type of Service-kohtaiset metriikat voidaan määritellä.
46
OSPF - AS-external-LSA
8
0
E
0
16
Network Mask
Metric
Forwarding Address
External Route Tag
(TOS) …
24
31
Kuvaa kohteita, jotka ovat nykyisen AS:n
ulkopuolella. Esim. oletusreitti.
– LSA:n lopussa voi listata myös TOS-kohtaiset
reittitiedot.
47
OSPF - AS-external-LSA (2)
Network Mask: Kohdeverkon IP-verkkomaski
E-bitti: ulkoisen metriikan tyyppi
– 1: Type 2: metriikka on suurempi kuin yksikään AS:n sisäinen
polku.
– 0: Type 1: metriikka on verrattavissa AS:n sisäisiin metriikoihin.
Forwarding Address: IP-osoite johon liikenne
välitetään. 0.0.0.0 => välitetään LSA:n
alkuperäiselle lähettäjälle.
External Route Tag: Voidaan käyttää ASreunareititinten väliseen viestintään (OSPF ei
käytä tietoa mihinkään).
48
OSPF - Tilatietojen levitys (Flooding)
Kun kaikki reititystieto on vaihdettu, sitä aletaan ylläpitää.
Reitittimet lähettävät päivitysviestejä (Link State Update)
– Päivitysviestit sisältävät LSA-tietueita.
– LSA:n originoiva reititin lähettää säännöllisesti uuden
LSA:n vanhojen tietojen päivittämiseksi.
Naapurilta vastaanotetut päivitysviestit pitää kuitata (Link
State Acknowledgement).
49
OSPF - Link State Request
0
8
16
24
(OSPF header, Type = 3) ...
LS Type
Link State ID
Advertising Router
31
Viestillä pyydetään LSA-tietuetta naapurilta.
– Useampia LSA-tietueita voi kysyä yhdellä Link State
Request-paketilla.
50
OSPF - Link State Update
0
8
16
24
(OSPF header, Type = 4) ...
LSA Count
31
LSAs
Vastaus Link State Request-viestiin, tai
verkossa tapahtunut muutos.
– Voi sisältää tietoa useammasta linkistä, jokaiselle
oma LSA-tietue.
51
OSPF - Link State Acknowledgment
0
8
16
24
(OSPF header, Type = 5) ...
31
LSA headers
Päivitysviestit, eli kaikki vastaanotetut LSA:t kuitataan
LSA-otsikoilla.
Useampia LSA:ita voidaan kuitata kerralla (viivästetty
kuittaus) tai heti (jos saadaan duplikaatti).
Päivitysviesti lähetetään uudelleen, jos ei kuittausta
kuulu.
52
OSPF for IPv6 (RFC 5340) - OSPFv3
OSPFv2 tukee vain IPv4:ää.
OSPFv3 tukee IPv6:ta.
– OSPFv3 toimii suoraan IPv6:n päällä.
Perusperiaatteet ovat samoja kuin OSPFv2:ssa.
– tiedonvaihto
– tuki alueille
– lyhimmän polun laskenta
53
OSPFv3 - Eroja OSPFv2:een
Ei puhuta aliverkoista, vaan linkeistä.
– Yhdellä linkillä voidaan ajaa useampaa OSPFinstanssia.
IPv6-osoitteita ei käytetä OSPF-paketeissa
– Sen sijaan esim. reitittimillä on 32-bittiset ID:t.
– IPv6-osoitteet näkyvät vain LSA-tietueissa.
Tilatietojen päivitykselle laajuusmäärittelyt (scope)
– Paikallinen linkki(verkko), alue, AS-alue (ASreunareitittimet)
Protokollan suojaamiseen käytetään IPsec AH/ESP.
– Otsikoista poistettu autentikointikentät.
54
OSPFv3 (RFC 5340) - Otsikko
0
Version=3
8
Checksum
16
Type
24
Packet Length
Router ID
Area ID
Instance ID
31
0
Muutoin ~sama kuin v2, mutta samalla linkillä
voi olla käytössä useampi instanssi OSPF:stä,
joille tunniste.
– Router ID: 32-bittinen tunniste, ei IPv6-osoite.
55
OSPFv3 - Hello
0
8
16
24
31
(OSPFv3 header, Type=1) ...
Interface ID
Router Priority
Options
HelloInterval
RouterDeadInterval
Designated Router ID
Backup Designated Router ID
Neighbor 1 ID
...
Neighbor n ID
Melkein samat tiedot kuin OSPFv2:ssa, hieman eri järjestyksessä.
– Verkkomaskin sijaan verkkoliitännän ID.
56
OSPFv3 - Muut viestit
Muiden viestien otsikot vastaavat OSPFv2:ta.
– Database Description
– Link State Request
– Link State Update
– Link State Acknowledgement
LSA-tietueiden muoto eroaa OSPFv2:sta.
– IPv6-osoitteet.
– LSA Type sisältää myös viestien laajuuden (scope)
(paikallinen/alue/AS)
– TOS-tiedot poistettu.
57
Intermediate System To Intermediate
System (IS-IS)
ISO:n standardoima linkkitilaprotokolla
Toimii OSI-protokollapinon päällä.
Helposti laajennettavissa.
OSPF:n alueiden sijaan level 1- ja level 2reitittimiä.
Laajassa käytössä operaattoriverkoissa.
Transparent Interconnection of Lots of links
(TRILL) käyttää IS-IS:ää.
58
RIP vs. OSPF
Reittien laskeminen on
kevyttä.
RIP on yksinkertainen.
– RFC on 40 sivua.
RIP:n konfigurointi on
yksinkertaista, samoin sen
toteuttaminen (implementointi).
RIP ei skaalaudu suuriin
verkkoihin.
Metriikoiden valinta
rajoittunutta.
Reagoi hitaasti verkon
muutoksiin.
Toimii UDP:n päällä.
Reittien laskeminen on
raskaampaa.
OSPF on selvästi RIP:iä
monimutkaisempi.
– RFC:t 245 sivua (v2) ja 95 sivua
(v3)
OSPF skaalautuu paremmin
suurempiin verkkoihin. Verkko
on jaettavissa alueisiin.
Metriikat voidaan valita
kohtuullisen vapaasti.
Reagoi nopeasti verkon
muutoksiin.
Toimii IP:n päällä.
59
Muita reititysprotokollia
IGRP (1988) ja Enhanced IGRP (EIGRP, 1993)
– Ciscon reititysprotokollat, osia patentoitu
– etäisyysvektoriprotokolla, metriikkana viive, kaista,
luotettavuus ja kuorma
– käyttää split horizon ja triggered updates –
tekniikoita
Vanhoja protokollia
– Gateway to gateway protocol (GGP), RIP:n edeltäjä
– HELLO käytti aikaa metriikkana (vaatii synkronoidut
kellot)
60
Lähteitä
RFC 1812 Requirements for IP Version 4 Routers, 1995
RFC 2453 RIP version 2, 1998 (RFC 1058 RIPv1)
RFC 2080 RIPng for IPv6, 1997
RFC 4822 RIPv2 Cryptographic Authentication, 2007
RFC 2328 OSPF version 2, 1998
RFC 5340 OSPF for IPv6, 2008
RFC 5838 Support of Address Families in OSPFv3, 2010
RFC 5709 OSPFv2 HMAC-SHA Cryptographic Cryptographic
Authentication, 2009
RFC 6325 Routing Bridges (Rbridges): Base Protocol Specification, 2011
RFC 6326 Transparent Interconnection of Lots of Links (TRILL) Use of ISIS, 2011
ISO/IEC 10589:2002: IS-IS
61