Linkkien tilaan perustuva reititys. Linkkien tilaan perustuva reititys

Samankaltaiset tiedostot
Linkkien tilaan perustuva reititys

Linkkien tilaan perustuva reititys

Linkkien tilaan perustuva reititys

Linkkien tilaan perustuva reititys

Linkkien tilaan perustuva reititys. OSPF - Open Shortest Path First on Internetin linkkien tilaan perustuva reititysprotokolla

Linkkien tilaan perustuva reititys

Linkkien tilaan perustuva reititys

100 % Kaisu Keskinen Diat

Introduction to exterior routing

Introduction to exterior routing

Introduction to exterior routing

reititystietojen vaihto linkkitilaviestejä säännöllisin väliajoin ja topologian muuttuessa

reititystietojen vaihto linkkitilaviestejä säännöllisin väliajoin ja topologian muuttuessa

OSPF:n toiminta. Välittäjäreititin. Hello-paketti. Hello-paketin kentät. Hello-paketin kentät jatkuvat. OSPF-sanomat hello naapurien selvillesaaminen

Introduction to exterior routing. Autonomous Systems

T Tietokoneverkot : Reititys sisäverkossa

Internet Protocol version 6. IPv6

4 reititintyyppiä. AS:ien alueet. sisäinen reititin alueen sisäisiä. alueen reunareititin sekä alueessa että runkolinjassa

reitittimet käyttävät samaa reititysprotokollaa (intra-as protocol)

Kattava katsaus reititykseen

Routing Information Protocol

Reititys. Luennon sisältö. Miten IP-paketti löytää tiensä verkon läpi. Edelleenlähetys (forwarding) yksittäisen koneen näkökulmasta

Reititys. Autonomisten järjestelmien sisäinen reititys. luvut 7, 13 ja 15. Sanna Suoranta

Routing Information Protocol

Reititys. 4. Reititys (Routing) Verkkokerroksen tehtävänä on toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle. Reititysalgoritmit

Routing Information Protocol. RIP - Routing Information Protocol on sisäisen reitityksen perusprotokolla

ICMP-sanomia. 3. IP-kerroksen muita protokollia ja mekanismeja ICMP (Internet Control Message Protocol)

Reititys. Autonomisten järjestelmien sisäinen reititys. luvut 7, 13 ja 15

3. IP-kerroksen muita protokollia ja

Reititys. 4. Reititys (Routing) Verkkokerroksen tehtävänä on toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle. Reititysalgoritmit

Reititys. Tietokoneverkot 2009 (4 op) Syksy Futurice Oy. Reititys. Jaakko Kangasharju.

Hello-paketin kentät jatkuvat

Hello-paketin kentät jatkuvat

100 % Kaisu Keskinen Diat

3.7. Internetin reititysprotokollista

4. Reititys (Routing)

S Tietoliikenneverkot / Marko Luoma 1

Malliverkko. Tietoliikenneverkot. Terminologiaa. Ja taas OSI /XHQWR5HLWLW\V

Verkkokerroksen palvelut. 4. Verkkokerros. Virtuaalipiiri (virtual circuit) connection-oriented ~ connectionless. tavoitteet.

Reititys. 4. Reititys (Routing) Verkkokerroksen tehtävänä on toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle. Reititysalgoritmit

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

AH-otsake. Turvallisuus verkkokerroksella. AH-otsake. AH-otsake. ESP-otsake. IP-otsake

AS 3 AS 0. reitittimet käyttävät samaa reititysprotokollaa (intra-as protocol)

4. Reititys (Routing)

4. Reititys (Routing)

AS 3 AS 5 AS 1 AS 0 AS 2 AS 4

Hello-paketin kentät jatkuvat. Tilatietojen vaihto. Linkin tila muuttuu. BGP (jatkuu)

Page1. Esimerkki AS. Reititystietojen vaihto. OSPF:n toiminta. Reitittimen R6 reititystaulu. reititystietojen vaihto Kukin reititin lähettl

Ja taas OSI. Tietoliikenneverkot. Terminologiaa. Malliverkko. Terminologiaa. Terminologiaa /XHQWR5HLWLW\V. AS (Autonomous System) Alue (Area)

Monilähetysreititys. Paketti lähetetään usealle vastaanottajalle Miksi? Monet sovellukset hyötyvät

ESPOO VANTAA INSTITUTE OF TECHNOLOGY. ser 0/0. Right WS-3 WS-4. Ennen QoS-määrittelyjä tehdään normaalit reititinmäärittelyt ja testataan IP-yhteys:

Verkkokerroksen palvelut

Reititys. Tämä ja OSI 7LHWROLLNHQQHWHNQLLNDQSHUXVWHHW $(/&7 0DUNXV3HXKNXUL. Yhteyden jakaminen Reititys Kytkentä Internet-protokolla TCP, UDP

Reititys. Luennon sisältö. Miten IP-paketti löytää tiensä verkon läpi. Edelleenlähetys (forwarding) yksittäisen koneen näkökulmasta

reitittimissä => tehokkaampi 2005 Markku Kojo IPv6

Reitittimien toiminta

4. Reititys (Routing)

OSI ja Protokollapino

OSI-malli. S Tietoliikenneverkot. Miksi kytketään. Välitys ja kytkeminen OSI-mallissa. /XHQWR.\WNHQWlMDUHLWLW\V

Etäisyysvektoriprotokollat

3/3/15. Verkkokerros 2: Reititys CSE-C2400 Tietokoneverkot Kirjasta , Verkkokerros. Internet-protokollapino ja verkkokerroksen tehtävä

Verkkoinformaation välittämiseen isäntäkoneiden ja reitittimien välillä

Tietoliikenne II. Syksy 2005 Markku Kojo. Tietoliikenne II (2 ov,, 4 op) Page1. Markku Kojo Helsingin yliopisto Tietojenkäsittelytieteen laitos

Internet perusteet. Analyysin tasot

ELEC-C7241 Tietokoneverkot Verkkokerros

Lisää reititystä. Tietokoneverkot 2009 (4 op) Syksy Futurice Oy. Lisää reititystä. Jaakko Kangasharju

Etäisyysvektoriprotokollat

Lisää reititystä. Tietokoneverkot 2008 (4 op) Syksy Teknillinen korkeakoulu. Lisää reititystä. Jaakko Kangasharju

S Tietoliikenneverkot

OSPF (Open Shortest Path First) linkkitilareititysprorokolla. reititys AS:ien välillä (Exterior gateway protocols) BGP (Border Gateway Protocol)

Hierarkkinen reititys. Reititys (Routing) Autonominen järjestelmä (AS) 3.7. Internetin reititysprotokollista

T : Max-flow / min-cut -ongelmat

Etäisyysvektoriprotokollat

Multicast. Johdanto Ryhmien hallinta Reititys Reaaliaikaiset siirto- ja hallintaprotokollat Resurssien varaus Sessioiden hallinta

Verkkokerros 2: Reititys

Vuonimiö on pelkkä tunniste

Vuonimiö on pelkkä tunniste

... Laajennusotsakkeet. Reititysotsake. Vuonimiö on pelkkä tunniste. Vuonimiöiden käsittely solmuissa

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

j n j a b a c a d b c c d m j b a c a d a c b d c c j

T Harjoitustyöluento

Esimerkki AS. Page1. Esimerkki AS: a) suunnattu verkko ja b) lyhyimmän n polun puu R6:lle Markku Kojo Markku Kojo

Efficiency change over time

Results on the new polydrug use questions in the Finnish TDI data

Verkkokerroksen palvelut. 4. Verkkokerros. Virtuaalipiiri (virtual circuit) connection-oriented ~ connectionless. tavoitteet.

4. Verkkokerros. sovelluskerros. kuljetuskerros. verkkokerros. siirtoyhteyskerros peruskerros. asiakas. end-to-end

Algoritmit 2. Luento 11 Ti Timo Männikkö

Johdanto Internetin reititykseen

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Choose Finland-Helsinki Valitse Finland-Helsinki

Capacity Utilization

Salasanan vaihto uuteen / How to change password

Internet perusteet. Internet perusteet Osoitteet IPv4 ja ICMP -protokollat ARP - Address Resolution Protocol. Internet-1. S-38.

On instrument costs in decentralized macroeconomic decision making (Helsingin Kauppakorkeakoulun julkaisuja ; D-31)

Bounds on non-surjective cellular automata

Johdanto Internetin reititykseen. Ethernet

5. Verkkokerros. Verkkokerroksen palvelut. Tulvitus jokainen saapunut paketti lähetetään kaikille muille ulosmenoille.

13 Lyhimmät painotetut polut

Transkriptio:

Linkkien tilaan perustuva reititys OSPF-1 Linkkien tilaan perustuva reititys Tavoitteena on välttää V-protokollan luomat silmukat ja skaalautua laajempiin verkkoihin ja monenlaisiin topologioihin. Linkintilaprotokolla ylläpitää verkon topologiakarttaa linkkitilatietokannassa. Jokaisessa solmussa on sama topologiakartta Kun topologia muuttuu, kartat päivitetään nopeasti. Karttoja käytetään reittilaskennassa OSPF (Open Shortest Path First) on ITF:n määrittelemä linkintilaprotokolla Internetiä varten. OSPF on suositeltu RIP:n seuraaja. OSPF-2

Kartta esitetään täydellisenä linkkien luettelona simerkkiverkko Kustakin rivistä vastaa tietty solmu Linkin suunnat esitetään erillisinä Jokaisessa solmussa sama kartta ÿ Silmukoita ei voi syntyä 1 2 3 4 5 6 Mistä Mihin Linkki täisyys 1 1 3 1 1 1 2 1 4 1 2 1 5 1 3 1 6 1 4 1 5 1 6 1 OSPF-3 Reititystaulu muodostetaan linkkikannan tiedoista Mistä Mihin Linkki täisyys 1 1 3 1 1 1 2 1 4 1 2 1 5 1 3 1 6 1 4 1 5 1 6 1 ijkstran lyhin-polku-ensin algoritmi Linkkikanta (jokaisessa solmussa sama) Mistä Mihin Linkki täisyys local 0 1 1 1 2 3 1 3 2 :n reititystaulu (tietystä solmusta alkavat reitit) OSPF-4

Levitysprotokolla (flooding protocol) levittää tiedot topologiamuutoksista Päivityssanomat levitetään koko verkkoon 1 2 4 5 6 Mistä Mihin Linkki täisyys Mnumero 1 inf 2 Mistä Mihin Linkki täisyys Mnumero 1 inf 2 Muutosnumero (järjestysnumero) kertoo mikä tietue on uudempi OSPF-5 Levitysprotokolla (flooding protocol) levittää tiedot topologiamuutoksista Levitysalgoritmi: m vastaanotettu tietue L vastaava rivi linkkikannassa Vastaanota tietue m tsi vastaavaa riviä linkkikannasta L mn muutosnumero ei ei Löytyykö? L.mn < m.mn? L.mn > m.mn? ei Lisää tietue Lähetä tietue kaikille muille Päivitä tietue Lähetä tietue kaikille muille Muodosta ml:stä Lähetä m lähettäjälle lopetus OSPF-6

Linkkikanta - vian levityksen jälkeen Muutosnumerojen laskenta alkaa käynnistyksessä 1:stä. Modulo aritmetiikka määrittelee mikä on vähän suurempi kuin ÿ muutosnumerolaskuri voi pyörähtää ympäri. ÿ 4294967295 + 1 = 0 1 2 3 4 5 6 Mistä Mihin Linkki täisyys Mnumero 1 inf 2 3 1 1 1 inf 2 2 1 1 4 1 1 2 1 1 5 1 1 3 1 1 6 1 1 4 1 1 5 1 1 6 1 1 OSPF-7 Kun verkko osittuu, puoliskojen kannat eroavat toisistaan 1 2 3 4 5 6 Mistä Mihin Linkki täisyys Mnumero 1 inf 2 3 1 1 1 inf 2 2 1 1 4 1 1 2 1 1 5 1 1 3 1 1 6 inf 2 4 1 1 5 1 1 6 1 1 Mistä Mihin Linkki täisyys Mnumero 1 inf 2 3 1 1 1 inf 2 2 1 1 4 1 1 2 1 1 5 1 1 3 1 1 6 1 1 4 1 1 5 1 1 6 inf 2 OSPF-8

Linkki 2 vikaantuu ÿ kannat eroavat lisää 1 2 3 4 5 6 :n, :n ja :n kannat: Mistä Mihin Linkki täisyys Mnumero 1 inf 2 3 1 1 1 inf 2 2 inf 2 4 1 1 2 inf 2 5 1 1 3 1 1 6 1 1 4 1 1 5 1 1 6 inf 2 OSPF-9 Tietokannat pitää yhdistää kun linkki 1 elpyy 1 2 3 4 5 6 Mistä Mihin Linkki täisyys Mnumero 1 1 3 3 1 1 1 1 3 2 1 1 4 1 1 2 1 1 5 1 1 3 1 1 6 inf 2 4 1 1 5 1 1 6 1 1 Mistä Mihin Linkki täisyys Mnumero 1 1 3 3 1 1 1 1 3 2 inf 2 4 1 1 2 inf 2 5 1 1 3 1 1 6 1 1 4 1 1 5 1 1 6 inf 2 Mistä Mihin Linkki täisyys Mnumero 1 1 3 3 1 1 1 1 3 2 inf 2 4 1 1 2 inf 2 5 1 1 3 1 1 6 inf 2 4 1 1 5 1 1 6 inf 2 OSPF-11

Osittuneen verkon jälleenyhdistyessä tarvitaan naapurusten yhteenkasvatusta Kannan kuvaus <link-id+mn> Kannan kuvaus <link-id+mn> m.mn>l.mn tai m.link-id ei löydy L:ssä Linkin tilakysely <kiinnostava link-id> Kyllä Muuttuneet tiedot Kannan päivitys ja levitys kaikille muille naapureille OSPF-12 Mitä jos reititin käynnistyy uudelleen? Verkossa voi olla :n ennen uudelleenkäynnistystä luomia ja levittämiä LS:ta. restart Resetin jälkeen reitin numeroi omat LS:nsa numerolla InitialSequenceNumber Naapuri vastaa, että sillä on uudempaa tietoa. Mikäli haluaa pitää oman LS:nsa voimassa, se kasvattaa muutosnumeron naapurilta saamaansa + 1 ja levittää uudestaan. Mikäli naapurin tieto ei ole kuranttia resetin jälkeen, poistaa sen asettamalla iän Maxge arvoon ja levittämällä tietoa uudestaan. LS <seq-nr = n> LS <seq-nr = 1> LS <seq-nr = n> LS <seq-nr = n+1> OSPF-13

Linkkikantojen yhtenäisyys on varmistettava Levityssanomat kuitataan linkki kerrallaan Kannankuvaussanomien perillemeno varmistetaan Kannan kukin tietue suojataan vanhenemisajastimella, jos päivitys ei saavu ajoissa, tietue poistetaan Kannan tietueet on suojattu tarkistussummalla Sanomat sisältävät autentikointitietoa Mutta: päivityksen ollessa käynnissä toiset solmut ovat paremmin ajan tasalla kuin toiset ÿ reititysvirheitä OSPF-14 ijkstran lyhin-polku-ensin algoritmi OSPF-15

ijkstran lyhin-polku-ensin algoritmiin OSPF perustuu ijkstran lyhin-polku-ensin (SPF, shortest path first) algoritmiin. lgoritmin tavoitteena on tuottaa reititystaulu. ijkstran algoritmi laskee lyhimmän polun lähdesolmun S ja kaikkien muiden solmujen välillä. ijkstran algoritmi konvergoi nopeammin kuin ellman-ford. O(M logm)<o(n M) M on linkkien lukumäärä, N on solmujen lukumäärä Solmut jaetaan evaluoituihin, joista alkavat polut tunnetaan ja muihin R. Lisäksi tarvitaan polkujen järjestetty lista O. OSPF-16 ijkstran lyhin-polku-ensin algoritmi ={S}, R={muut solmut}, P = O={S:stä alkavat yhden askeleen polut} sort O = tai O[1].etäisyys= ei p=o[1]; O = O \p;v=p.mihin Lopetus: P sisältää polut R=saavuttamattomat solmut S R O P lähdesolmu evaluoidut solmut muut solmut polkujen järjestetty lista <mistä, mihin, etäisyys> polut (tulos) V? ei = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O Huom: tässä poistetaan silmukat OSPF-17

ijkstran lyhin-polku-ensin algoritmi 1. ={S}, R={N-S}, O={kaikki S:stä lähtevät yhden hypyn polut} 2. Jos O on tyhjä tai jos O:n ensimmäisen polun pituus on ääretön: Merkitse loput R:n solmut saavuttamattomiksi Lopeta 3. P on listan O:n lyhin polku. Poista P O:sta. V on P:n viimeinen solmu. 4. Jos V on :ssä: Mene kohtaan2 5. Luo joukko uusia polkuja lisäämällä P:hen kaikki V:stä lähtevät linkit. Polun pituus on vanha pituus + linkin kustannus. Lisää nämä polut O:hon pituusjärjestykseen. 6. Mene kohtaan 2 OSPF-18 L ijkstran lyhin-polku-ensin algoritmi esimerkki S 1 2 4 3 4 5 6 Mistä Mihin Linkki täisyys 1 4 3 1 1 4 2 1 4 1 2 1 5 1 3 1 6 1 4 1 5 1 6 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,1>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-19

R,,, O <,,1> <,,1> <,,4> ijkstran lyhin-polku-ensin algoritmi esimerkki 4 S ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,1>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-20, R,, O <,,1> <,,2> <,,4> ijkstran lyhin-polku-ensin algoritmi esimerkki 4 S 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,1>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-23

, R,, O <,,1> <,,2> <,,4> ijkstran lyhin-polku-ensin algoritmi esimerkki 4 S 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,1>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-24,, R, O ijkstran lyhin-polku-ensin algoritmi esimerkki 4 S 1 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,1>; O = O \p;v=p.mihin= Lopetus: P sisältää polut R=saavuttamattomat solmut <,,2> <,,4> V = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-26

,, R, O <,,2> <,,4> ijkstran lyhin-polku-ensin algoritmi esimerkki 4 S 1 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,2>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-29 ijkstran lyhin-polku-ensin algoritmi esimerkki 4 2,,, R O <,,3> <,,4> S 1 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,2>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-32

2,,, R O <,,3> <,,4> ijkstran lyhin-polku-ensin algoritmi esimerkki 4 S 1 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,3>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-33 ijkstran lyhin-polku-ensin algoritmi esimerkki S 2 1,,,, R O <,,4> 4 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,3>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-35

3 ijkstran lyhin-polku-ensin algoritmi esimerkki S 2 1,,,, R O <,,4> 4 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,3>; O = O \p;v=p.mihin= V Lopetus: P sisältää polut R=saavuttamattomat solmut = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-36 3 ijkstran lyhin-polku-ensin algoritmi esimerkki S 2 1,,,, R O 4 1 ={}, R={,,, }, P = O={<,,1>,<,,1>,<,,1>} sort O= tai O[1].etäisyys= p=<,,3>; O = O \p;v=p.mihin= Lopetus: P sisältää polut R=saavuttamattomat solmut V = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O OSPF-38

Linkintilaprotokollien etuja Linkkikantojen tila konvergoituu nopeasti, ilman silmukoita O(MlogM) M = linkkien määrä Mittoina voidaan käyttää tarkkoja lukuja. V-protokollassa äärettömyyteen laskenta (inf=16) rajoittaa Yksi protokolla tukee monta etäisyysmittaa: Kapasiteetti, viive, hinta, luotettavuus. Ylläpitää useita polkuja yhteen kohteeseen. Ulkoisten polkujen erillinen esitys. OSPF-39 Useiden etäisyysmittojen käyttö (1) Useiden etäisyysmittojen käyttö edellyttää: Mittojen tallennusta jokaiselle linkille (L.et1, L.et2,...) Linkkiprotokolla kuljettaa kaikki mitat rillisten reititystaulujen laskemista mitoille (P(et1), P(et2),...) Käyttäjäsanomiin merkataan vaadittu mitta. OSPF-40

Useiden etäisyysmittojen käyttö (2) Reittisilmukka on mahdollinen, jos solmut käyttävät eri mittaa samalle käyttäjän paketille 1500 kbps 300 ms 1500 kbps 300 ms 64 kbps 20 ms 1500 kbps 300 ms 64 kbps 20 ms ÿ Käyttäjäsanomiin täytyy merkata vaadittu mitta OSPF-41 Liikenteen jakaminen vaihtoehtoisille samanmittaisille poluille tehostaa verkon käyttöä + Solmujen kokonaisjonopituus laskee + Keskimääräinen viive laskee + Päästä päähän viiveen vaihtelut pienenee + Vikatilanteissa liikenteen heilahtelut vähenee 1 2 3 4 5 6 - Vaarana on pakettien järjestyksen muuttuminen, koska polkuviiveet (solmujen jonojen pituudet) vaihtelevat - Menossa oleva liikenne ei pysy nykypolulla ÿ ainoastaan ylimääräistä liikennettä ei voi siirtää toiselle reitille ÿ stabiliteettiongelma? Milloin polut ovat riittävän samanmittaisia? OSPF-42

Milloin polut ovat riittävän samanmittaisia? Mitä tapahtuu jos :hen menevä liikenne jaetaan kahden vaihtoehtoisen polun välille? 1 2 1/3 3 1/3 4 2/3 5 2/3 6 ÿ X:ään menevä paketti voidaan lähettää solmun Y kautta jos Y on lähempänä kohdetta kuin paikallinen solmu Sääntö ÿy ÿx, jos etäisyys(yÿx) < etäisyys(ÿx) rajaa vaihtoehtoiset reitit (monotonisiin) OSPF-43 ijkstran lyhin-polku-ensin algoritmi joka löytää vaihtoehtoiset polut ={S}, R={muut solmut}, P = O={S:stä alkavat yhden askeleen polut} sort O = tai O[1].etäisyys= ei p=o[1]; O = O \p;v=p.mihin Lopetus: P sisältää polut R=saavuttamattomat solmut V? ei = V, R = R \V P=P p Kaikille V:stä alkaville linkeille L: O=O <V, L.mihin, p.etäisyys + L.etäisyys> sort O W = (p\v).mihin S.et.W < S.et.V? p on onkelvollinen vaihtoehtoinen polku V:hen OSPF-44

ijkstran lyhin-polku-ensin algoritmi joka löytää vaihtoehtoiset polut 1. ={S}, R={N-S}, O={kaikki S:stä lähtevät yhden hypyn polut} 2. Jos O on tyhjä tai jos O:n ensimmäisen polun pituus on ääretön: Merkitse loput R:n solmut saavuttamattomiksi. Lopeta 3. P on listan O:n lyhin polku. Poista P O:sta. V on P:n viimeinen solmu. 4. Jos V on :ssä: Mene kohtaan 6 5. Luo joukko uusia polkuja lisäämällä P:hen kaikki V:stä lähtevät linkit. Polun pituus on vanha pituus + linkin kustannus. Lisää nämä polut O:hon pituusjärjestykseen. Mene kohtaan 2 6. Jos polun P etäisyys S:stä V:hen on sama kuin aiemmin laskettu etäisyys S:stä V:hen Lisää vaihtoehtoinen polku V:hen 7. Mene kohtaan 2 OSPF-45 Linkintilaprotokolla kuvaa useita ulkoisia reittejä tarkoilla (halutuilla) mitoilla V-protokollan mahdollisuudet kuvata reittejä ovat rajalliset äärettömyyteen laskennan ja ellman-fordin monimutkaisuuden takia Inf=16ÿ suurin etäisyys rajallinen ellman-fordin monimutkaisuus on O(N 2 ) Linkintilaprotokolla on vapaa yo rajoitteista. SPF reittilaskennan monimutkaisuus on O(N log N) N=ulkoisten reittien määrä sim. noin 30 000 ulkoista reittiä ÿ 9 10 8 vs. 450 000 OSPF-46

OSPF protokolla OSPF-47 OSPF sees the network as a graph Stub network Stub network OSPF router OSPF router Stub network xternal destination Transit network Summary network xternal destination OSPF router Stub network xternal destination Stub network OSPF-48

OSPF erottelee reitittimet ja isäntäkoneet OSPF reititin Käyttää aliverkkomaskia ja mainostaa vain yhtä (ali)verkkoa Isäntäkone Isäntäkone Isäntäkone tynkäverkko (tynkäaliverkko) (stub network) OSPF-49 OSPF tukee yleislähetysverkkoja (1) Yleislähetysverkossa Kaikki voivat lähettää kaikille Yksi voi lähettää kaikille tai joukolle Jos siinä on N reititintä, niillä on N (N-1)/2 naapuruussuhdetta Jokainen reititin mainostaa N-1 reittiä toisiin reitittimiin + yhtä tynkäverkkoa ÿ N 2 kpl N (N-1)/2 naapuruussuhdetta sim. thernet, Token ring, FI OSPF-50

OSPF tukee yleislähetysverkkoja (2) edusreititin varaedusreititin (x) Naapuruus rajattu vain edusreitittimeen (designated router) ÿ dusreititin täytyy valita Helloprotokollan avulla ÿ Linkkikantojen synkronointi yksinkertaistuu Varaedusreitin (backup designated router) valitaan samalla kertaa Yleislähetysverkko kuvataan virtuaalireitittimen avulla Linkit virtuaalireitittimestä reitittimiin ovat verkkolinkkejä (network link) dusreititin mainostaa täisyys = 0 Linkit reitittimistä virtuaalireitittimeen Reitittimet mainostavat OSPF-51 OSPF levitysprotokolla yleislähetysverkossa Reititin X,... dusreititin Varaedusreititin Mainos ÿ 224.0.0.6 (kaikki edusreitittimet) Levitys ÿ 224.0.0.5 (kaikki OSPF reitittimet) Muut linkit ÿ ei tarvitse käsitellä kuittauksia kaikilta muilta verkon reitittimiltä Varaedusreititin on mahdollisimman hiljaa OSPF-52

OSPF levitysprotokolla ei-yleislähetysverkossa i-yleislähetysverkoissa (esim. X.25, TM, frame relay), OSPF toimii samoin kuin yleislähetysverkoissa paitsi, että yleislähetykset korvataan yksipistelähetyksillä dusreititin Varaedusreititin Reititin X,... Mainos dusreititin Varaedusreititin Levitys Muut linkit F Kiinteä yhteys edusreitittimeen Kiinteä yhteys varareitittimeen Valinnainen yhteys muiden reitittimien välillä (muu liikenne) Huom: kiinteitä yhteyksiä kannattaa minimoida, koska ne ovat kalliita OSPF-53 The purpose of hierarchical routing in OSPF is to reduce routing table growth RT size Flat routing ÿ linear growth Logarithmic growth using areas etc. Number of network segments The cost is: sometimes suboptimal routes. OSPF-54

OSPF supports 4 level routing hierarchy rea 3 Internet ackbone Level 1 2 3 4 escription Intra-area routing Inter-area routing xternal Type 1 metrics xternal Type 2 metrics rea 2 rea 1 RIP cloud Type 1 metrics are of the same order as OSPF metrics, e.g. hop count (for RIP and OSPF) Type 2 metrics are always more significant than OSPF internal metrics (e.g. GP-4) OSPF-55 Jakamalla laaja verkko alueisiin OSPF helpottaa levitystä ja pienentää linkkikantoja lue 5 luerajareititin lue 1 luerajareititin luerajareititin Levitysprotokollan ja alueen raja lueen OSPF reitittimillä on samansisältöinen linkkien tilatietokanta Runkoverkkoalue luerajareititin lue 4 lue 2 luerajareititin luerajareitittimessä on sekä alueen että rungon linkkikannat lue 3 Kukin alue koostuu joukosta aliverkkoja OSPF-56

Muiden alueiden (ali)verkot kuvataan yhteenvetotietueissa, joiden mitta lasketaan RIP:n tapaan lueen linkkikanta: a1, a2, a3 Rungon ja alueen aliverkkotietueet (summary records) ÿ 2,4 täisyys x bz tai x cy (eli mittoja summataan). Ulkoiset tietueet ÿ 2,4 ÿ 0,1 Kaikilla alueilla samat tiedot 0 b2 Runko b1 1 b6 1 a2 2 1 c1 2 lue a1 b3 b5 c2 lue 3 a3 4 b4 3 c3 4 Hierarkia ÿ i silmukoita OSPF-57 OSPF elpyy helposti alueiden vikatilanteista 0 b1 Runko b2 1 b6 2 ja 4 mainostavat vain niitä verkkoja, jotka ne todella voivat saavuttaa: 2: a2 ja 4: a3. 1 a2 lue 2 b3 1 b5 c1 lue 2 c2 Runko ei tunne lueen tarkkaa rakennetta, vaikkakin se tuntee :n kaikki saavutettavat aliverkot. 3 a3 4 b4 3 c3 4 OSPF-58

Virtuaalilinkki voi pelastaa rungon jakaantuessa lohkoihin vikojen takia 0 b1 Runko 1 b6 1 a1 a2 lue 2 b3 1 c1 lue 2 c2 Virtuaalilinkki alueen kautta: etäisyys=c1+c2+c3 3 a3 4 b4 3 c3 4 OSPF-59 Tynkäalueella (stub area) kaikki ulkoiset reitit summataan oletusreittiin Jos OSPF alueella on vain yksi reunareititin, kaikki liikenne ulkoiseen Internetiin ja ulkoisesta Internetistä kulkee tämän reunareitittimen kautta. i maksa vaivaa mainostaa kaikkia Internetin reittejä tällaisella alueella. Reunareitittimiä voi olla myös useita, mutta niistä ei voi valita sopivinta kohteen perusteella. NSS - Not So Stubby rea on alue, jolla kaikki ulkoiset reitit on summattu oletusreittiin, paitsi jotkut. Internet order Router ackbone rea order Router Stub rea OSPF-60

OSPF link state records OSPF-61 Link State dvertisement (LS) types in OSPF LS Type = 1 Router LS escribes a set of links starting from a router LS Type = 2 Network LS describes a network segment ( or NM) along with the Is of currently attached routers LS Type = 3 Summary LS for IP Network LS Type = 4 Summary LS for order Router LS Type = 5 xternal LS describes external routes LS Type = 6 Group Membership LS used in MOSPF for multicast routing LS Type = 7 Not So Stubby rea LS to import limited external info LS Type = 8 (proposed) external attributes LS in lieu of Internal GP Hierarchical Routing = roadcast, e.g. thernet NM = Non-roadcast Multiple ccess, e.g. TM OSPF-62

Yhteinen linkintilamainoksen otsikko LS ikä: Sekunteina mainoksesta Optiot: - ulkoiset linkit T - palvelun tyyppiin perustuva reititys LS ikä optiot LS tyyppi Linkin tila I Mainostava reititin LS järjestysnumero LS tarkistussumma Pituus 32 bits vain LS tarkistussumma: Suojaa otsikon ja sisällön Pituus: Otsikon + sisällön pituus Linkin tila I: Riippuu LS tyypistä OSPF-63 LS Sequence Numbers Lollipop sequence space 1-N N-2 0 N/2 N=2 31 If one of the number is < 0 The higher number is newer If both numbers are 0 If (b-a) < (N-1)/2 then b is newer OSPF-64

Router LS (type 1) for each link escribes links starting from a router. RouterType Type (,) TOS=x TOS=y TOS=z 0 Number of links Link I Link data #TOS TOS 0 metric 0 TOS x metric 0 TOS y metric... 0 TOS z metric Router type -bit (xternal) This router is an area-border router -bit (order) This router is a border router Type 1. Link is a point-to-point link to another router Link I = neighboring router s OSPF I Link data = router s interface address 2. Link connects to a transit network Link I = IP address of designated router s interface Link data = router s interface address 3. Link connects to a stub network Link I = Network/subnet number Link data = network/subnet mask OSPF-66 (2,5) 10.1.1.1 (1,3) (1,5) (3,3) (1,3) 10.1.1.5 (2,3) 10.1.1.2 (3,1) (2,1) (1,1) (1,1) (3,3) 10.1.1.6 (2,3) 10.1.1.9 (3,10) exterior protocol (2,6) (1,6) (2,10) 10.1.1.10 Router LS example 0=ordinary 1=pt-to-pt 1=pt-to-pt 3=stub network Router 10.1.1.1 s router-ls: LS ge = 0 seconds Options LS type=1 -bit Link State I = 10.1.1.1 1=Router LS dvertising Router = 10.1.1.1 LS Sequence Number = 0x80000006 hecksum= 0x9b47 Length = 60 bytes RouterType=0 0 Nrof links = 3 Link I = 10.1.1.2 (neighb) Link ata = IF-index 1 (unnum) Type=1 #TOS=0 Metric=3 Link I = 10.1.1.5 (neighb) Link ata = IF-index 2 (unnum) Type=1 #TOS=0 Metric=5 Link I = 10.1.1.1 Link ata = 255.255.255.255 Type=3 #TOS=0 Metric=0 MI-II IF-index Output ost Length = 24 + 3 * 12 = 60 bytes Router with 100 interfaces: Length = 24 + 100 * 12 = 1224 bytes OSPF-67

Network LS (type 2) Network mask ttached router ttached router... ttached router (x) Virtual router dvertised by designated routers for transit networks Link state I (in header) = interface I of designated router ttached router = OSPF identifier of the attached router OSPF-68 Summary Link LS (type 3,4) 0 TOS=x TOS=y TOS=z Network mask 0 TOS 0 metric 0 TOS x metric 0 TOS y metric... 0 TOS z metric For IP networks (type 3) Network mask of network/subnet Link state I (in header) = IP network/subnet number For border routers (type 4) Network mask = 0xFFFFFFFF Link state I (in header) = IP address of border router One separate advertisement for each destination OSPF-70

xternal Link LS (type 5) Network mask,tos=0 0 TOS 0 metric xternal route tag (0),TOS=x 0 TOS x metric xternal route tag (x)...,tos=z 0 TOS z metric xternal route tag (z) dvertised by border routers Information from external gateway protocols (GP-4) One destination per record Link state I (in header) = IP network/subnet of destination Network mask = network/subnet mask -bit indicates that distance is not comparable to internal metrics Larger than any internal metric Route tag is only used by border routers (not used by OSPF) OSPF-71 Routes are computed after a change in the topology stub network external destination OSPF router OSPF router transit network stub network external destination X X X (X) X OSPF router OSPF router summarized network stub network Separate routes for each TOS and for TOS 0 Possibly unreachable destinations for some TOS if not all routers support TOS ÿ routed with TOS 0 (no loops because same decision in all nodes) summarized network OSPF-72

OSPF protokolla OSPF-75 OSPF packets the protocol itself OSPF works directly on top of IP. OSPF protocol number is 89. For most packets TTL = 1, except for hierarchical routing estination IP address = Neighbors IP address or llospfrouters (224.0.0.5) or llesignatedrouters (224.0.0.6) OSPF has 3 sub-protocols: Hello protocol (huomio protokolla) xchange protocol (tiedonvaihto protokolla) Flooding protocol (levitys protokolla) OSPF-76

OSPF sanomien yhteinen otsikko Versio Tyyppi Paketin pituus Reitittimen I lueen tunnus Tarkistussumma utentikointityyppi utentikointi utentikointi Tyyppi erottelee OSPF sanomat toisistaan Type 1: Hello Type 2: atabase escription Type 3: Link State Request Type 4: Link State Update Type 5: Link State ck OSPF nykyversio on 2. rea I Yleensä (ali)verkkonumero 0 = Runkoverkko (ackbone) utentikointityyppi 0 = i autentikointia 1 = Salasana Rajallinen merkitys 2 = Kryptografinen autentikointi M5 0 vain I Pituus Kryptografinen järjestysnumero OSPF-77 Huomioprotokolla varmistaa, että linkit toimivat ja valitsee edus- ja varaedusreitittimen R1 R2 Otsikkotyyppi = 1 Hello (ÿ kaikille OSPF reitittimille) Verkkomaski Huomioväli Optiot Vanhenemisväli dusreititin Varaedusreititin Naapuri --- Naapuri - lista naapureista, joilta on tullut viestejä viimeisen vanhenemisvälin aikana Huomioväli kertoo, kuinka usein paketteja lähetetään. Prioriteetti kertoo kelpoisuudesta edusreitittimeksi. Huomioviestien pitää kulkea linkillä molempiin suuntiin, jotta linkki kelpaisi reitiksi Naapuri Prioriteetti Optiot = ulkoisia linkkejä T = TOS reititys onnistuu. dusreititin ja varaedusreititin = 0 jos ei tiedossa OSPF-78

Huomioprotokollan avulla valitaan edus- ja varaedusreititin 1. Vaalikelpoisuus saavutetaan yhden vanhenemisvälin jälkeen mikäli kaksisuuntainen saavutettavuus on OK. 2. Varaedusreitittimeksi valitaan korkeimman prioriteetin omaava niistä, jotka ilmoittautuivat. Tasatilanteessa valitaan suurimman I:n omaava. 3. Jos kukaan ei ilmoittautunut varaedusreitittimeksi, valitaan korkeimman prioriteetin omaava naapuri. Tasatilanteessa suurimman I:n omaava. 4. dusreitittimeksi valitaan ilmoittautuneista yo. säännöllä. 5. Jos yksikään ei ilmoittaudu edusreitittimeksi, varaedusreititin ylennetään. Kohdat 2 ja 3 suoritetaan uudestaan varaedusreitittimen valitsemiseksi. 6. Muutoksia minimoidaan siten, että korjattu entinen edusreititin ei kiirehdi ilmoittautumaan uudelleen. Kohtia 2...5 suoritetaan jatkuvasti. OSPF-79 R1 Vaihtoprotokolla alkusynkronoi linkkikannan edusreitittimen kannan kanssa (1) dd_req (I=1,M=1,Ms=1) dd_req (I=1,M=1,Ms=0) dd_req (I=0,M=1,Ms=1) dd_req (I=0,M=1,Ms=0) dd = data description M = more Vaihtoprotokolla käyttää tietokannan kuvauspaketteja (database description packets) nsin valitaan master ja slave R2 Masterin valinta Kuvausten vaihto I = initialize Ms = Master/slave Otsikkotyyppi = 2 (dd) 0 0 Optiot dd järjestysnumero 0IMMs Jos molemmat ilmoittautuvat mastereiksi, korkein osoite voittaa Uudelleenlähetys jos paketti hukataan Sama järjestysnumero vastauksessa OSPF-80

R1 Vaihtoprotokolla alkusynkronoi linkkikannan edusreitittimen kannan kanssa (2) dd_req (I=1,M=1,Ms=1) dd_req (I=1,M=1,Ms=0) dd_req (I=0,M=1,Ms=1) dd_req (I=0,M=1,Ms=0) dd = data description M = more Master lähettää oman kantansa kuvauksen järjestysnumeroiduissa paketeissa Slave kuittaa paketit lähettämällä vastaavat omat kuvauksensa. R2 Masterin valinta Kuvausten vaihto I = initialize Ms = Master/slave avain Otsikkotyyppi = 2 (dd) 0 0 Optiot 0IMMs dd järjestysnumero Linkin tilatyyppi Linkin tila I Mainostava reititin Linkin tilan järjestysnumero Linkin tilan tark.summa Linkin tilan ikä --- Vaihto jatkuu kunnes molemmat ovat lähettäneet omat kuvauksensa. (M=0) rot kirjataan kyseltävien tietueiden listaan. OSPF-81 R1 Tietueiden sisältö kysellään pyyntöpaketeilla, jotka kuitataan levitysprotokollan paketein rq levitysprotokollan mainos rq = request Vastausta odotetaan uudelleenlähetyksen väli. Jos ei vastausta, pyyntö toistetaan. Jos kyseltävät tietueet eivät mahdu yhteen pakettiin, tietueet jaetaan useaan kyselyyn. Jonkin mennessä pieleen, palataan roolien uudelleen neuvotteluun. Tietuesisältöjen kysely voi alkaa heti, kun yksikin eroava tietue on havaittu, jolloin dd-pakettien ja rq-pakettien vaihto tapahtuu rinnan. Määrätty avain otsikkotyyppi = 3 (rq) Linkin tilatyyppi Linkin tila I Mainostava reititin --- OSPF-82

Reititin X,... Levitysprotokolla ylläpitää alueen linkkikantojen yhtenäisyyttä Mainos Kuittaus dusreititin Varaedus r otsikkotyyppi = 4 (upd.) Mainosten lukumäärä Linkin tilamainokset (ks.tietueformaatti) --- Levitys otsikkotyyppi = 5 (ack.) Linkin tilamainosten otsikot --- lkuperäisen mainoksen lähettää aina linkistä vastaava reititin. Mainosta levitetään levityssääntöjen mukaan koko alueelle (age = age + 1). Uuden tietueen kuittaus voidaan verkossa korvata levityssanomalla Yksi ack voi kuitata monta mainosta. Viiveen avulla saadaan monta kuittausta samaan pakettiin. OSPF-83 Summary of OSPF subprotocols Message Protocol Hello protocol atabase exchange Flooding protocol Hello (1) X (2) LS rq (3) LS upd (4) LS ack (5) X X X X X X Server ache Synchronization Protocol (SSP) is OSPF without ijkstra s algorithm and with more generic data objects. OSPF-84

Linkkitietueilla on ikä, vanhat poistetaan kannasta (1) Vanhat tiedot on poistettava kannasta Kaikilla solmuilla on oltava samat tiedot ÿ Poistot täytyy synkronoida OSPF:n linkkitietuet vanhenevat Ikä = 0 kun tietue luodaan Ikä = mainosten kulkemien linkkien lkm + sekunnit vastaanotosta Maksimi-ikä on 1 tunti i käytetä reittien laskennassa Poistettava Jokaista tietuetta pitää mainostaa vähintään 30 min välein. Uusi mainos nollaa iän ja inkrementoi tietueen järjestysnumeron. OSPF-85 Linkkitietueilla on ikä, vanhat poistetaan kannasta (2) Kun ikä tulee täyteen (Maxge = 1 h) tietue poistetaan Reititin on lähetettävä mainos naapurille kun se poistaa vanhentuneen tietueen Levitysalgoritmi tutkii vastaanotetun tietueen iän 1. Maxge mainos hyväksytään ja levitetään - tämä poistaa vanhan tiedon. 2. Jos mainoksen ikäero kantaan on pieni, mainosta ei levitetä, jotta saman tiedon kopiot eivät kuormittaisi verkkoa. Tämä tapahtuu normaalissa levityksessä kun tietue saapuu eri solmujen kautta. 3. Jos mainoksen ikäero kantaan on suuri (>Maxgeiff), uusin mainos hyväksytään ja levitetään. Tässä tapauksessa reititin on todennäköisesti käynnistety uudelleen. 4. Jos Maxge tietuetta ei löydy, mainos ei aiheuta toimenpiteitä, (koska reititin on jo ehtinyt poistaa vanhan tiedon.) OSPF-86

OSPF timeouts LS ge field onstant MinLSrrival MinLSInterval heckge Maxgeiff LSRefreshTime Value 1 second 5 seconds 5min 15 15min 30 30min ction of ofospf router Max Maxrate rateat atwhich a router will willaccept updates of ofany anyls LSvia viaflooding Max Maxrate rateat atwhich a router can canupdate an anls Rate Ratetotoverify an anls LShecksum in in When ges gesdiffer more morethan than15 15min, they theyare are considered separate. Smaller LS LSage age--newer! Router must mustrefresh any anyself-originated LS LS whose age agehas hasreached 30 30min. Maxge 1hour LS LSisis removed from from. OSPF-87 xample of routing hierarchy 10.0.0.0/8 10.1.3 10.1. 10.1.1 10.1.2 10.3.3 10.3. 10.3.1 10.3.2 10.2.3 10.2. 10.2.1 10.2.2 xample: - 16 segments in each lowest level network - flat routing: RTsize= 16*9=144 - areas 10.1.1: 16 local routes + 10.1.2/24 10.1.3/24 10.2/16 10.3/16 == 20 RT entries! OSPF-88

Why is it difficult to route packets around network congestion? N RPNT link state metric varied with the length of the output queue of the link ÿ lead to route trashing. The problem is there is no route pin-down for existing traffic. y limiting the range of the metric changes, an equilibrium could be reached. Nevertheless routing instability is the problem. When QoS or lass of Service a la iffserv is introduced this problem again becomes important. OSPF-89 OSPF development history IR 1987 1989 1991 1993 1995 1997 OSPF Group formed OSPFv1 published RF 1131 OSPFv2 published RF 1247 RF 1583 OSPF update ecomes recommended ryptographic authentication Point-to-multipoint interfaces MOSPF OSPFv2 updated RF 2178 OSPF-90