Luento 8: Verkkokerros

Samankaltaiset tiedostot
Tietoliikenteen perusteet

Tietoliikenteen perusteet

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenteen perusteet. Verkkokerros

Tietoliikenteen perusteet. Verkkokerros

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

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

3. IP-kerroksen muita protokollia ja

Verkkokerroksen tehtävät

Introduction to exterior routing

Introduction to exterior routing

Introduction to exterior routing

Introduction to exterior routing. Autonomous Systems

Verkkokerroksen palvelut

Verkkokerroksen tehtävät. Tietoliikenteen perusteet. Verkkokerros. Verkkokerros. Sisältöä. Verkkokerros. Reititin. Miksi verkkokerros?

Verkkokerroksen tehtävät

Chapter 4 Network Layer

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

100 % Kaisu Keskinen Diat

Chapter 4 Network Layer

4. Reititys (Routing)

TCP/IP-protokollapino. Verkkokerros ja Internetprotokolla. Sisältö. Viime luennolla. Matti Siekkinen

Chapter 4 Network Layer Chapter 6 (part) Mobile Networks. Verkkokerros. Verkkokerros. Verkkokerros. Reititys ja jatkolähetys. Verkkokerroksen tehtävät

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

S Tietoliikennetekniikan perusteet. Pakettikytkentäiset verkot. Helsinki University of Technology Networking Laboratory

Verkkokerros 2: Reititys

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

ELEC-C7241 Tietokoneverkot Verkkokerros

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

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

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

4. Reititys (Routing)

Internet-reititys (Routing) Verkkokerroksen tehtävänä on toimittaa data (paketit) lähettäjän koneelta vastaanottajan koneelle

Internet-reititys (Routing)

Internet-reititys (Routing)

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

Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin! - content addressable memory (CAM) - välimuistin käyttö

001.. Kun n = 32 ei ole tarpeeksi nopea nykyisiin runkoreitittimiin! - content addressable memory (CAM) - välimuistin käyttö

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

Turvallisuus verkkokerroksella

Turvallisuus verkkokerroksella

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

4. Reititys (Routing)

4. Reititys (Routing)

Liikkuvien isäntäkoneiden reititys

5. Mobile IP (RFC 3220)

Kattava katsaus reititykseen

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

OSI ja Protokollapino

Verkkokerros ja Internetprotokolla

Tietoliikenteen perusteet. Langaton linkki

Tietoliikenteen perusteet. Langaton linkki

100 % Kaisu Keskinen Diat

Sovellusarkkitehtuuri. Kertausta: termejä ja käsitteitä. Internet-protokollapino. Kertaus jatkuu: Kapselointi

Reitittimen rakenne. Kytkentäosa ... (switching fabric) Reititysprosessori 2/7/ pakettien edelleenohjaaminen (PE)

" Reititysprosessori. " suorittaa reititysprotokollaa " RIP, OSPF, BGP,.. " päivittää reititystauluja. " hallinta- ja ylläpitotoimintoja

Liikkuvien isäntäkoneiden reititys

IP-reititys IP-osoitteen perusteella. koneelle uusi osoite tässä verkossa?

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

ITKP104 Tietoverkot - Teoria 3

Vuonimiö on pelkkä tunniste

Vuonimiö on pelkkä tunniste

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

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

Luento 7: Verkkokerros verkkokerroksen tehtävät, IP-protokolla, reititin. Syksy 2014, Tiina Niklander

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

T Tietokoneverkot : Reititys sisäverkossa

Tietoliikenteen perusteet

Internet Protocol version 6. IPv6

Langaton linkki. Langaton verkko. Tietoliikenteen perusteet. Sisältö. Linkkikerros. Langattoman verkon komponentit. Langattoman linkin ominaisuuksia

Monilähetysreititys (multicast routing)

Monilähetysreititys (multicast routing)

Verkkokerros ja Internetprotokolla

Reitittimen rakenne ... ulostuloportit. sisäänmenoportit. Kytkentäosa. (switching fabric) Reititysprosessori 2/7/

R R R RR. Kaikkien. pakettien. siirto yhden linkin yli. always on. Viimeisen siirto muiden linkkien yli. Sovellus: Kuljetus: Verkko: Linkki:

Hello-paketin kentät jatkuvat

Hello-paketin kentät jatkuvat

Luento 7: Verkkokerros

Verkkokerros ja Internetprotokolla

Tietoliikenteen perusteet. Vähän kertausta

4.1 Verkkokerros toimittaa

4.1 Verkkokerros toimittaa. 4. Verkkokerros. Virtuaalipiiri (virtual circuit) connection-oriented ~ connectionless

Kytkentäosa. Ulosmenoportit. Jonotus reitittimessä 001..

Reitittimen rakenne. Kytkentäosa ... (switching fabric) Reititysprosessori linkkikerroksen toiminnot (LK)

" Reititysprosessori. " suorittaa reititysprotokollaa " RIP, OSPF, BGP,.. " päivittää reititystauluja. " hallinta- ja ylläpitotoimintoja

Tietoliikenteen perusteet. Vähän kertausta. Tietoliikenteen perusteet /2009/ Liisa Marttinen 1

Verkkokerroksen palvelut

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

IPv6-protokolla. Internet. Internetin verkkokerros

enemmän osoitteita 16 tavua osoitteelle=> osoitteita paljon!

enemmän osoitteita 16 tavua osoitteelle=> osoitteita paljon! virtaviivaistettu nopeampi käsittely reitittimissä => tehokkaampi

4.1 Verkkokerros toimittaa. 4. Verkkokerros. Datasähke virtuaalipiiri. connection-oriented connectionless. Virtuaalipiiri = yhteydellinen palvelu

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

Kuljetus- ja verkkokerrokset. Jyry Suvilehto T Johdatus tietoliikenteeseen ja multimediatekniikkaan kevät 2011

Chapter 4 Network Layer

3.7. Internetin reititysprotokollista

100 % Kaisu Keskinen Diat

Transkriptio:

: Verkkokerros..0 Tiina Niklander Kurose&Ross Ch4.-4.5 Pääasiallisesti kuvien J.F Kurose and K.W. Ross, All Rights Reserved..0

Lähettäjä (sender) Luennon sisältöä segmentti paketti kehs message, segment datagram frame sanoma H l H n H n H t H t H t M M M M Sovellusk. Kuljetusk. Verkkok. Linkkik. Fsinen k H l ktkin H n H t M Linkki Fsinen Fig.4 [KR] H l H n H n Vastaanottaja (recipient) H t H t H t M M M M application transport network link phsical H n H t H l H n H t H n H t M M M Verkko Linkki Fsinen reititin

Verkkokerros IP-osoitteet..0 3

IP-osoitteet (IPv4) Fig 4.5 [KR] 3 bittinen tunniste isäntäkoneille ja reitittimien linkeille - verkkoliittmän tunniste Reitittimellä useita liittmiä - kullakin oma IP-osoite Mös isäntäkone voi olla liitettnä useaan verkkoon 0 0000000 0000000 0000000 3 3... 3... 3... 3...4 3...9 3...3 3..3.7 3... ICANN Internet Corporation for Assigned names and Numbers verkkonumerot palveluntarjoajille, joilta nämä edelleen aliverkoiksi 3..3. 3..3...0 4

Aliverkot HUOM painovirhe: 6ed kuva 4.6 Aliverkon tunnukset. 3...0/4, 3...0/4 ja 3..3.0/4 (ei 3 kuten kuvassa) Osoitteen osat aliverkon numero (alkuosa) koneen numero (loppuosa) Aliverkon koneet voivat kommunikoida ilman reititstä Linkkikerros osaa lähettää koneelta toiselle (esim. ethernet) Aliverkkoa merkitään notaatiolla, jossa lopussa on verkko-osan pituus Esim. 3...0 /4 subnet mask Aliverkon peite eli verkko-osoite 4 bittiä ja koneosoite 8 bittiä 3... 3... 3... 3...4 3...9 3...3 3..3. 3..3.7 subnet 3... 3..3. network consisting of 3 subnets Fig 4.6 [KR]..0 5

Aliverkot 3... 3... 3...4 Montako aliverkkoa on tässä kuvassa? 3..9. 3...3 3..7.0 Fig 4.7 [KR] Yleislähetsosoite 55.55.55.55 Paketti kaikille aliverkon koneille. Mahdollisesti reitittimen kautta muillekin 3... 3..9. 3...6 3..8. 3... 3..7. 3..8.0 3..3.7 3..3. 3..3...0 6

Aliverkkojen osoitteet: Vanha luokallinen osoite: A-luokka 8 b, B-luokka 6 b, C-luokka 4 b Esim. FUNET 8.4.0.0/6 (HY:llä näitä) Edellä esiteltä subnet maskia kätetään vain osoiteluokan sisällä Ongelma: Internet kasvoi 993 lähtien eksponentiaalisesti ja reititstaulut räjähtivät C-luokat ovat suosittuja ja niitä on paljon Tarvittiin ratkaisu, joka aggregoi reititstietoa paremmin kuin A,B,C jako -> CIDR Kaikki IPv4 osoitteet on nt jaettu!..0 7

CIDR: Classless InterDomain Routing Verkko-osa voi olla minkä tahansa kokoinen Formaatti: a.b.c.d/ ilmoittaa verkko-osan bittien lukumäärän (prefi) Esim. Organisaatio, jolla 000 konetta varaa 048 = ^ konenumeroa, jolloin verkko-osaa varten jää bittiä Yrits voi vielä itse jakaa viimeiset bittiä aliverkko-osoitteeksi ja koneosoitteeksi. Tämä jako ei nä ulkopuolelle. (subnet mask) Verkko Kone (prefi) 00000 0000 0000000 00000000 00.3.6.0/ aliverkko Aliverkon peite (maski) Subnet mask..0 8

Koneen IP-osoite Palveluntarjoaja saa verkkonumeronsa ICANN:lta isona lohkona voi jakaa saamansa osoiteavaruuden (osoitelohkon) edelleen aliverkkoihin esim. Kukin organisaatio saa aliverkon, jossa on numerot 5 koneelle ** = 4096 = 8 * 5 0 kpl kpl ISP's block 00000 0000 0000000 00000000 00.3.6.0/0 Organiation 0 00000 0000 0000000 00000000 00.3.6.0/3 Organiation 00000 0000 000000 00000000 00.3.8.0/3 Organiation 00000 0000 000000 00000000 00.3.0.0/3....... Organiation 7 00000 0000 0000 00000000 00.3.30.0/3..0 9

Hierarkkinen osoite Fig 4.8 [KR] CIDR luo reititstä helpottavan hierarkian Aggregointi (hdistäminen): hteinen alkuosa => samaan suuntaan Organiation 0 00.3.6.0/3 Organiation 00.3.8.0/3 Organiation 00.3.0.0/3 Organiation 7 00.3.30.0/3 KuRo08: Fig 4.9.... Fl-B-Night-ISP ISPs-R-Us Send me anthing with addresses beginning 00.3.6.0/0 Send me anthing with addresses beginning 99.3.0.0/6 Internet..0 0

IP-osoitteet voi säilttää Jos palveluntarjoaja (ISP) vaihtuu? Uudelta ISP:ltä tarkempi reititsohje Pisin sopiva alkuosa määrää reititksen (longest prefi match) Organiation 0 00.3.6.0/3 Organiation 00.3.0.0/3 Organiation 7 00.3.30.0/3 Organiation.... 00.3.8.0/3 Fl-B-Night-ISP ISPs-R-Us Send me anthing with addresses beginning 00.3.6.0/0 Send me anthing with addresses beginning 99.3.0.0/6 or 00.3.8.0/3 Fig 4.9 [KR] Internet..0

Koneen IP-osoite Koneen IP-osoite konfiguroidaan joko käsin koneelle tai saadaan automaattisesti kättäen DHCP:tä (Dnamic Host Configuration Protocol) Eri osoite eri kerroilla tai psvämpi osoite DHCP-palvelija vastaa antaa koneen kättöön IP-osoitteen (rajallinen elinaika) antaa DNS-tiedot, ms. Palvelun tarjoaja: pienempi numeromäärä riittää Toteutus UDP monilähets (broadcast) wash-and-go, plug-and-pla..0

DHCP: Osoiteksel Seppo Srjäsen luonnehdinnat: "Hei, onks kellään?" "Tässois tämmönen..." "Oi, saanks mä tän?" DHCP server: 3...5 DHCP request DHCP discover src : 0.0.0.0, 68 dest.: 55.55.55.55,67 iaddr: 0.0.0.0 transaction ID: 654 DHCP offer src: 0.0.0.0, 68 dest:: 55.55.55.55, 67 iaddrr: 3...4 transaction ID: 655 lifetime: 3600 secs src: 3...5, 67 dest: 55.55.55.55, 68 iaddrr: 3...4 transaction ID: 654 lifetime: 3600 secs arriving client "Joo, pidä vaan." DHCP ACK src: 3...5, 67 dest: 55.55.55.55, 68 iaddrr: 3...4 transaction ID: 655 lifetime: 3600 secs..0 3

DHCP: Muutakin tietoa kuin IP-osoite DHCP antaa osoitteen lisäksi leensä muutakin tärkeää tietoa: Reitittimen osoite Yhtespiste ulos tästä aliverkosta Nimipalvelimen (DNS) nimi ja IP-osoite Täältä voi tiedustella muiden osoitteita Aliverkon peite (subnet mask) Kertoo mitkä osoitteen bitit ovat verkon osia ja mitkä koneen tunniste aliverkossa..0 4

DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP DHCP UDP IP Eth Ph DHCP UDP IP Eth Ph Sanomanvälits Esimerkkinä DHCP request 68... router with DHCP server built into router Kannettavan pntö: DHCP request sovelluskerros: DHCP request, kuljetuskerros paketoi UDPsegmentiksi, verkkokerros paketoi IPdatagrammiksi, linkkikerros paketoi kehkseksi esim. 80. Palvelimen päässä pino toisinpäin, eli aina puretaan oma paketti ja annetaan lemmäs sen sanoma...0 5

Aliverkon osoitteiden piilottaminen hden julkisen IP-osoitteen taakse Vain ~ 4 miljardia osoitetta! Julkinen Internet 38.76.9.7 Aliverkko (esim. kotiverkko) 0.0.0.0/4 0.0.0.4 0.0.0. 0.0.0. Fig 4. [KR] Kaikilla ulosmenevillä ja sisääntulevilla paketeilla sama IP-osoite 38.76.9.7 mutta eri porttinumeroita. NAT-reititin Kotiverkossa kätössä sisäiset IP-osoitteet 0.0.0.0/4 (esim. DHCP:llä) 0.0.0.3 Sisäisiä ovat: 0.0.0.0/8 7.6.0.0/ 9.68.0.0/6..0 6

NAT-reititin (Network Address Translation) Ulosmenevät paketit Korvaa lähdekoneen IP-osoite ja porttinumero NAT-koneen IP-osoitteella ja NAT-koneen valitsemalla porttinumerolla Päivitä NAT-muunnostaulu Sisääntulevat paketit NAT-koneelle NAT:n antamaan porttiin Korvaa NAT:n muunnostaulun avulla paketissa oleva IPosoite ja portti Välitä paketti perille NAT-muunnostaulu (IP-osoite, portti) (NAT-koneen osoite, NAT:n portti)..0 7

: NAT vaihtaa lähdeosoitteksi 38.76.9.7, ja portiksi 500, päivittää taulun NAT: Esimerkki NAT-muunnostaulu WAN-osoite LAN-osoite 38.76.9.7, 0.0.0., 500 3345 S: 38.76.9.7, 500 D: 8.9.40.86, 80 38.76.9.7 S: 8.9.40.86, 80 D: 38.76.9.7, 500 3 S: 0.0.0., 3345 D: 8.9.40.86, 80 0.0.0.4 S: 8.9.40.86, 80 D: 0.0.0., 3345 : kone 0.0.0. lähettää paketin 8.9.40.86, 80 4 0.0.0. 0.0.0. 0.0.0.3 3: Vastaus NAT-koneelle: 38.76.9.7, 500 4: NAT vaihtaa kohdeosoitteeksi 0.0.0. ja portiksi 3345..0 8

NAT: Kommentteja / kritiikkiä Hödt Kotiverkko tarvitsee ISP:ltä vain hden IP-osoitteen Voi muutella vapaasti kotikoneiden IP-osoitteita Turvallisuus: ulospäin muille näk vain ksi kone Kritiikkiä Reitittimien tulisi toimia vain verkkotasolla, porttinumerot ovat kuljetuskerroksen asioita Rikkoo päästä-päähän idean (prosessien välinen htes) Onko ohjelmoijan huomioitava NAT:n olemassaolo? Peer-to-peer NAT:n takana oleva palvelin (esim. www portissa 80)? Pula IP-osoitteista hoidettava ottamalla kättöön IPv6, jossa 8 bitin osoitteet..0 9

Verkkokerros Reititsalgoritmit..0 0

Reititsalgoritmi routing algorithm local forwarding table dest address output link address-range address-range address-range 3 address-range 4 3 IP destination address in arriving packet s header Fig 4. [KR] 3 Etsii edullisimmat reitit lähdekoneelta kohdekoneille Mikä ja millainen algoritmi? Mistä tiedot?... Muodostaa reititstaulun! Mille linkille paketti seuraavaksi siirretään tältä reitittimeltä Pakettien edelleenlähets (forwarding) tarvitsee reititstaulua, jotta paketit lötävät perille..0 4-

Reititsalgoritmeja Reititsalgoritmi, joka tarvitsee tädellisen tiedon verkosta Ennen laskentaa kätössä koko kuva verkosta: Kaikki linkkihtedet solmujen välillä ja niiden kustannukset Kätännössä vain tietstä autonomisesta alueesta Parhaat reitit lasketaan joko keskitetsti tai hajautetusti Linkkitila-algoritmi (link-state algorithm) Reititsalgoritmi, jolle riittää epätädellinen kuva verkosta Aluksi reititin tietää vain niistä koneista, joihin itse on hdistett Iteratiivinen algoritmi: reititin vaihtaa tietoja naapuriensa kanssa ja saa tietoa muusta verkosta Etäissvektorialgoritmi (distance vector algorithm)..0

Reititsalgoritmin muita ominaisuuksia Dnaaminen vs. staattinen Miten nopeasti huomaa linkkien muutokset ja muuttaa reititstä Miten tiuhaan tietoja päivitetään Miten usein muutoksia Kuormituksen huomioiva vai ei Linkin ruuhkautuneisuus voi vaikuttaa sen kustannukseen Nkalgoritmit eivät ota kuormitusta huomioon Tosin kllä epäsuorasti linkin hitautena ('kustannuksena')..0 3

Reititstiedon kerääminen Reitin saa tietoja seuraavasti: Linkkikerros tarjoaa hteden naapureihin MAC-osoite IP-osoite Naapurit havaitaan saapuvista kehksistä ja paketeista (broadcast, multicast, unicast) Naapurit kertovat omasta reititstaulustaan Linkkitila: kaikki tiedot Etäissvektori: lhimmät etäisdet kohteisiin naapurien kautta Tietojen päivits: reaktiivinen tai ajastettu..0 4

Verkko graafina (graph) Fig 4.7 [KR] Verkko G= (N,E) N = solmujen (nodes) joukko E = linkkien (edges) joukko (,) on linkki solmujen ja välillä c(,) = linkin kustannus kaistanleves, ruuhkaisuus, raha,.. u 5 v 3 3 w 5 C(,,..., p) = reitin (route) kustannus = C(,) + C(,3) +... + (p-,p) Mikä on huokein reitti kuvan solmusta u solmuun?..0 5

) Linkkitila: Dijkstran algoritmi Aluksi kaikilla reitittimillä on tiedossa verkon rakenne ja kaikkien linkkien kustannukset Kaikki reitittimet lähettävät tietonsa naapureistaan ja linkkikustannuksista naapureihin (mitatut/havaitut) joko kaikille muille tai jollekin keskussolmulle, joka välittää tiedon muille Reititin laskee Dijkstran algoritmilla edullisimman kustannuksen kaikkiin muihin kohteisiin Kokoaa näistä oman reititstaulunsa..0 6

Dijkstran algoritmi Merkinnät C(,) linkin, kustannus; jos eivät naapureita = D(v) toistaiseksi edullisin kustannus solmuun v p(v) solmun v edeltäjä reitillä N = solmujen joukko, N' = jo käsiteltjen solmujen joukko..0 7

Initialiation: N' = {u} 3 for all nodes a 4 if a adjacent to u 5 then D(a) = c(u,a) 6 else D(a) = 7 8 Loop Dijkstran algoritmi D(v)=, D(w) = 5, D()= D() =, D()=. Eli jos u:n vieressä. Aina valitaan käsittelemätön, jonka etäiss u:sta on pienin 9 find b not in N' such that D(b) is a minimum 0 add b to N' update D(k) for all k adjacent to b and not in N' : D(k) = min( D(k), D(b) + c(b,k) ) 3 /* new cost to k is either old cost to k or known 4 shortest path cost to b plus cost from b to k */ 5 until all nodes in N' u 5 v 3 3 w 5 3. Päivitetään etäiss b:n naapureille, joita ei vielä ole käsitelt..0 8

Dijkstran algoritmi (kierros ) Huom. Etäiss aina u solmu X Y D()=, D(v)=, D(w)=4, D() =, D()= D()=, D(v)=, D(w)=3, D() =, D()=4 8 Loop 9 find b not in N' such that D(b) is a minimum 0 add b to N' update D(k) for all k adjacent to b and not in N' : D(k) = min( D(k), D(b) + c(b,k) ) 3 /* new cost to k is either old cost to k or known 4 shortest path cost to b plus cost from b to k */ 5 until all nodes in N' u 5 v 3 3 w 5 Tässä olisi voitu valita tai v, mutta valittiin nt..0 9

Dijkstran algoritmi (kierros 3) Y V 5 D()=, D() =, D(v)=, D(w)=3, D()=4 3 v u D()=, D() =, D(v)=, D(w)=3, D()=4 3 8 Loop 9 find w not in N' such that D(w) is a minimum 0 add w to N' update D(v) for all v adjacent to w and not in N' : D(v) = min( D(v), D(w) + c(w,v) ) 3 /* new cost to v is either old cost to v or known 4 shortest path cost to w plus cost from w to v */ 5 until all nodes in N' w 5..0 30

Dijkstran algoritmi (kierros 4) V W 5 D()=, D() =, D(v)=, D(w)=3, D()=4 3 v u D()=, D() =, D(v)=, D(w)=3, D()=4 3 8 Loop 9 find w not in N' such that D(w) is a minimum 0 add w to N' update D(v) for all v adjacent to w and not in N' : D(v) = min( D(v), D(w) + c(w,v) ) 3 /* new cost to v is either old cost to v or known 4 shortest path cost to w plus cost from w to v */ 5 until all nodes in N' w 5..0 3

Dijkstran algoritmi (kierros 5) W Z D()=, D() =, D(v)=, D(w)=3, D()=4 u D()=, D() =, D(v)=, D(w)=3, D()=4 3 8 Loop 9 find w not in N' such that D(w) is a minimum 0 add w to N' update D(v) for all v adjacent to w and not in N' : D(v) = min( D(v), D(w) + c(w,v) ) 3 /* new cost to v is either old cost to v or known 4 shortest path cost to w plus cost from w to v */ 5 until all nodes in N' 5 v 3 w 5..0 3

Lhimmät reitit ja reititstaulukko Fig 4.7 [KR] Resulting shortest-path tree from u: v w u Resulting forwarding table in u: destination v w link (u,v) (u,) (u,) (u,) (u,)..0 33

Dijkstran algoritmi: Havaintoja Dijkstra ottaa käsitteln aina lähimmän käsittelemättömän solmun Hakee lhintä mahdollista etäisttä naapurin naapurien kautta Tästä seuraa lhin virittävä puu reititstaulu..0 34

) Etäissvektorireitits (distance vector) Arpanet-verkon alkuperäinen reititsalgoritmi Kätössä useissa Internetin reititsprotokollissa, kuten RIP, BGP, Novell IPX, ISO IDRP Interaktiivinen, hajautettu ja askroninen Tiedot tarkentuvat asteittain, iteratiivisesti Tietin väliajoin, linkin tilan vaihtuessa, naapurin tietojen muuttuessa,.. Kukin solmu laskee itsenäisesti, mutta saa tietoa naapureiltaan Tietää / arvioi kustannuksen omiin naapureihinsa Kuulee naapureiden kustannukset muihin kohdesolmuihin, jotka nämä puolestaan ovat kuulleet omilta naapureiltaan Valitsee kullekin kohdesolmulle kuulemansa edullisimman reitin..0 35

Etäissvektorireitits (jatkuu) Kullakin reitittimellä etäissvektori sen tuntemiin solmuihin Reititstaulu, jossa kullekin kohteelle ulosmenolinkki ja kustannus (etäiss) Aika /etäiss kohteeseen, hppjen lukumäärä, arvioitu viive,.. Reititin tietää/mittaa kustannuksen omiin naapureihinsa Jos muutoksia, lähettää etäissvektorinsa naapureilleen Kun saa naapurinsa etäissvektorin, päivittää oman etäissvektorinsa Tietoja uusista solmuista => lisää taulukkoon uudet kohteet Tietoja jo tunnetuista solmuista: valitse kustannuksiltaan edullisin reitti..0 36

Merkinnät Etäissvektorireitits c(,v) kustannus solmusta naapuriin v, jos v ei ole :n naapuri, c(,v) = D () edullisimman :stä :hn johtavan reitin kustannus Solmun oma etäissvektori D = [D (): N] edullisin tiedett kustannus solmusta kuhunkin tunnettuun solmuun Naapureiden etäissvektorit D v () =[D v (): N] = Naapurin v tiedot edullisimmista kustannuksista kuhunkin solmuun D () = min {c(,v) + D v ()} (Bellman-Ford) Kustannus solmusta naapurisolmuun v ja sieltä edelleen solmuun Jos useita reittejä (eri naapureiden kautta); valitaan edullisin eli pienin kustannus X A 3 B c(,a) = c(,b) = D a (B) D (B) = + 3 = 5..037

Esimerkki Jos on jo saatu selville, että D v () = 5, D () = 3, D w () = 3 5 3 v w u 3 Kohde kust. linkki Z 4 X 5 D u () = min { c(u,v) + d v (), c(u,) + d (), c(u,w) + d w () } = min { + 5, + 3, 5 + 3} = 4 Kun paketti on matkalla solmusta u solmuun, se tulee seuraavaksi lähettää solmuun, joka tuotti tuon minimin => talleta tieto omaan etäissvektoriin (= reititstauluun)..038

from cost to 0 7 ESIMERKKI. Alussa kukin solmu tuntee vain etäisdet naapureihinsa itsensä kautta: from cost to : : : 0 from Sitten solmut lähettävät omat reittinsä toisilleen ja laskevat uudet parhaat reitit. Esimerkiksi solmu : 0 3 0 7 0 cost to 7 0 D () = min{c(,) + D (), c(,) + D ()} = min{+0, 7+} = D () =min{c(,) + D (), c(,) + D ()} = min{+, 7+0} = 3 7..0 39

Esimerkki jatkuu: Samalla tavalla toimivat solmut ja : from cost to cost to : : 0 7 0 7 0 from 0 7 0 3 0 7 from Solmut lähettävät taas tietonsa toisilleen ja laskevat uudet lhimmät reitit. cost to cost to X: Y: Z: 0 3 0 3 0 from 0 3 0 3 0 from cost to 0 3 0 3 0..0 40

D () = min{c(,) + D (), c(,) + D ()} = min{+0, 7+} = D ()=min{c(,) + D (), c(,) +D ()} = min{+, 7+0} = 3 : from cost to 0 7 from cost to 0 3 0 7 0 from cost to 0 3 0 3 0 : from cost to 0 from cost to 0 7 0 7 0 from cost to 0 3 0 3 0 7 : from cost to 7 0 from cost to 0 7 0 3 0 from cost to 0 3 0 3 0..0 4

Hvä uutinen etenee nopeasti A B C D E Aluksi htes A:han on poikki ja sitten linkki AB toimii taas Tieto etenee joka vaihdossa hden linkin li Etäiss A:han D B (A) D c (A) D D (A) D E (A) ääretön ääretön ääretön ääretön ääretön ääretön ääretön ääretön ääretön 3 ääretön 3 4..0 4

Huono uutinen etenee hitaasti! A B C D E Linkki AB katkeaa => Etäiss äärettömäksi Joka vaihdossa 'paras arvio' huononee vain hdellä = reititssilmukka Count-to-infinit - ongelma D B (A) D c (A) D D (A) D E (A) 3 4 D 3 c (A) mainostaa 3 4 3 4 kahden 3 4 hpn 5 4 linkkiä 5 4 5 A:han 6 5 6 7 6 7 6 7 8 7 8 jne Etäiss A:han..0 43

Huono uutinen etenee nopeasti: poisoned reverse A B C D E Ratkaisu count-to-infinit-ongelmaan! Ilmoita etäiss äärettömäksi naapurille, jonka kautta linkki kulkee. Kerro muille oikea etäiss. Tieto etenee joka vaihdossa hden linkin li Etäiss A:han D B (A) D c (A) D D (A) D E (A) 3 4 3 4 4..0 44

Ratkaisu ei toimi aina! Linkki CD katkeaa, A ja B ilmoittavat C:lle, (etäiss) ettei D:hen pääse (kätössä poisonous reverse eli etäiss ääretön ) A B C päättelee (oikein), että D:tä ei voi C saavuttaa ja kertoo tämän A:lle ja B:lle eli että c(c,d) = Mutta A kuulee B:ltä, että sillä on etäiss D:hen => A:n oma etäiss D:hen := 3 ja tämä reitti ei kulje C:n kautta! => kerrotaan C:lle. D C kertoo B:lle,.....0 45

Algoritmien aikavaativuus Dijkstra Naive: O(V ) Efficient with binar heap: O(E+log V), V on solmujen lukumäärä ja E kaarien lukumäärä Distance vector (Bellman-Ford) O(E*V)..0 46

3) Hierarkkinen reitits Reititksen skaalautuvuus? Isossa verkossa runsaasti reitittimiä Kaikki eivät voi tuntea kaikkia muita Reititstaulut suuria, reittien laskeminen raskasta Reititstietojen vaihtaminen kuluttaa linjakapasiteettiä Autonomiset järjestelmät AS (Autonomous Sstems) Internet ~ verkkojen verkko Intra-AS routing Kukin verkko päättää itse sisäisestä reititksestään RIP, OSPF Inter-AS routing AS:t ilmoittelevat toisilleen, mihin muihin AS:iin niistä pääsee BGP (Border Gatewa Protocol)..0 47

Hierarkkinen reitits Yhdskätävä (gatewa router) Sovittu, mikä reititin keskustelee naapuriverkon (-verkkojen) kanssa ulkoatuleva/ ulosmenevä paketti reititt hdskätävään AS:n sisäinen reitits huolehtii paketin AS:n koneelle tai AS:n läpi toiselle AS:lle Fig 4.3 [KR] 3c 3a 3b AS3 a c d b AS a c b AS..048

Kertausksmksiä ks. kurssikirja s. 439-44 Keskeisimmät IP-otsakkeen tiedot? Paketin paloittelu Millainen on IP-osoite? Reitittimen arkkitehtuuri? Longest prefi match? Aliverkon peite (mask) NAT:n toiminta Miten reititin saa reititstiedot? Linkkitila-algoritmi, Dijkstran algoritmi Etäissvektorialgoritmi, count-to-infinit-ongelma..0 49