algoritmit Tietokoneverkot 2009 (4 op) jaakko.kangasharju@futurice.com Futurice Oy Syksy 2009 (Futurice Oy) Syksy 2009 1 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 2 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 3 / 45
Perusteet algoritmit Internet on pakettikytkentäinen verkko Verkkokerros on yhteydetön IP-paketin otsakkeesta löytyy vastaanottajan IP-osoite Verkkotunniste, aliverkkotunniste, koneen tunniste IP-osoite sekä tunniste että sijainti (Futurice Oy) Syksy 2009 4 / 45
eitityksen tavoitteet Internet H H algoritmit (Futurice Oy) Syksy 2009 5 / 45
eitityksen tavoitteet Internet H H algoritmit (Futurice Oy) Syksy 2009 5 / 45
eitityksen tavoitteet Internet algoritmit H Simsalabim! H (Futurice Oy) Syksy 2009 5 / 45
eitityksen tavoitteet H H algoritmit (Futurice Oy) Syksy 2009 5 / 45
eitityksen tavoitteet H H algoritmit (Futurice Oy) Syksy 2009 5 / 45
eitityksen tavoitteet H H algoritmit (Futurice Oy) Syksy 2009 5 / 45
eitityksen tavoitteet H H algoritmit (Futurice Oy) Syksy 2009 5 / 45
Käsitteet algoritmit taulu yhdistää osoitteen seuraavaan askeleeseen reitillä taulu voi olla staattinen tai dynaaminen algoritmi ylläpitää (dynaamista) reititystaulua protokolla tiedottaa verkon rakenteesta, jotta reititysalgoritmi toimii Varsinainen reititys tapahtuu reititystaulusta etsimällä (Futurice Oy) Syksy 2009 6 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 7 / 45
Autonomiset järjestelmät algoritmit Internet koostuu useista itsenäisistä verkoista, autonomisista järjestelmistä (AS) AS:t muodostavat ylemmän tason verkon, kullakin AS:llä oma sisäinen verkkorakenteensa Erityyppisiä AS:iä: Stub, multihomed, transit Noin 30000 AS:ää nyky-internetissä (Futurice Oy) Syksy 2009 8 / 45
Stub Transit H H H algoritmit H Transit H H Stub H (Futurice Oy) Syksy 2009 9 / 45
Kaksitasoinen reititys Tarvitaan kaksi reititysprotokollaa: AS:n sisäinen ja AS:ien välinen Miksi? algoritmit (Futurice Oy) Syksy 2009 10 / 45
Kaksitasoinen reititys algoritmit Tarvitaan kaksi reititysprotokollaa: AS:n sisäinen ja AS:ien välinen Miksi? Skaalautuvuus, koko Internet on liian suuri yhdelle protokollalle (Futurice Oy) Syksy 2009 10 / 45
Kaksitasoinen reititys algoritmit Tarvitaan kaksi reititysprotokollaa: AS:n sisäinen ja AS:ien välinen Miksi? Skaalautuvuus, koko Internet on liian suuri yhdelle protokollalle Kaikki reitittimet eivät ole samassa verkossa (Futurice Oy) Syksy 2009 10 / 45
Kaksitasoinen reititys algoritmit Tarvitaan kaksi reititysprotokollaa: AS:n sisäinen ja AS:ien välinen Miksi? Skaalautuvuus, koko Internet on liian suuri yhdelle protokollalle Kaikki reitittimet eivät ole samassa verkossa AS:ien hallinnolliset linjaukset (Futurice Oy) Syksy 2009 10 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 11 / 45
AS:ien välinen reititys algoritmit AS:ien väliseen reititykseen tarvitaan yksi protokolla Vaaditaan tuki hallinnollisille linjauksille, FC 4271 (versio 4) (Futurice Oy) Syksy 2009 12 / 45
BGP:n ominaisuuksia algoritmit Polkuvektoriprotokolla: välittää täydet polut muihin AS:iin Välittää vain saavutettavuustietoa, ei reittien hintoja Käyttää TCP:tä luotettavuuden takaamiseksi ibgp, versio AS:n sisäiseen käyttöön (Futurice Oy) Syksy 2009 13 / 45
BGP:n viestityypit algoritmit BGP-protokollassa viisi erilaista viestiä 1 OPEN-viesti yhteyden alussa, perustiedot 2 UPDATE-viesti uusien reittien ilmoitukseen 3 KEEPALIVE-viesti OPEN:n kuittauksena ja toistuvana yhteyden ylläpitona 4 NOTIFICATION-viesti virhetilanteisiin 5 EFESH-viesti pyytämään täydet reittitiedot (Futurice Oy) Syksy 2009 14 / 45
BGP-yhteys algoritmit Kumpikin osapuoli lähettää OPEN-viestin, sisältönä mm. AS-numero ja pitoaika OPEN-viesti kuitataan KEEPALIVE-viestillä UPDATE-viestissä saavuttamattomiksi muuttuneet kohteet ja uudet kohteet Uusiin kohteisiin annetaan täydet polut Silmukoiden havaitseminen, hallinnolliset linjaukset, tiedon lähde KEEPALIVE-viestien lähetysväli 1/3 pitoajasta Yhteys tulkitaan katkenneeksi, jos pitoaika kuluu ilman saapuneita viestejä (Futurice Oy) Syksy 2009 15 / 45
BGP ja tietoturva algoritmit BGP ei sisällä viestien todentamista, oikeellisuustarkistusta eikä uutuuden tarkistusta Saavutettavuustietoa ei verifioida Ilmoitettuja polun ominaisuuksia ei verifioida FC 4272 (Futurice Oy) Syksy 2009 16 / 45
Hyökkäyksiä algoritmit Salakuuntelu Toisto Viestien lisäys Viestien tuhoaminen Viestien muokkaus Man-in-the-middle Palvelunesto (Futurice Oy) Syksy 2009 17 / 45
Hyökkäyksien vaikutukset algoritmit Nälkiintyminen uuhkautuminen Musta aukko Viivästys Silmukka Salakuuntelu Verkon ositus Epävakaus esurssipula (Futurice Oy) Syksy 2009 18 / 45
Hyökkäyksien torjunta algoritmit TCP:n MD5-summa Suodatus S-BGP?, SID? (Futurice Oy) Syksy 2009 19 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 20 / 45
Algoritmien perusteet algoritmit algoritmin tavoite löytää paras reitti Metriikoita: lyhin reitti, nopein reitti, liikenteen maksimointi,... Verkkoalgoritmien alueella useita lyhimmän polun (shortest path) algoritmeja eititykseen tarvitaan yhdestä-kaikkialle-algoritmi, ajetaan jokaisessa reitittimessä (Futurice Oy) Syksy 2009 21 / 45
Kaksi algoritmityyppiä algoritmit Yleisesti käytössä kahdentyyppisiä algoritmeja (distance vector) (link state) perustuu Bellmanin ja Fordin algoritmiin, linkkitila Dijkstran käyttää paikallista tietoa, linkkitila globaalia (Futurice Oy) Syksy 2009 22 / 45
Algoritmien perusta algoritmit Lyhimmän polun algoritmit voi esittää yhtenäisellä tavalla Keskeinen periaate: jos lyhin polku I:stä J:hin kulkee K:n kautta, tämän polun osat I:stä K:hon ja K:sta J:hin ovat lyhimpiä (Futurice Oy) Syksy 2009 23 / 45
Yleinen lyhimmän polun algoritmi algoritmit s lähtöpiste c(u, v) linkin (u, v) hinta, d v kunkinhetkinen arvio polun s:stä v:hen pituudelle, π v v:tä edeltävä piste lyhimmällä polulla 1 Aseta d s 0 ja d v kaikilla v s Kierros 1 Valitse linkki (u, v) 2 Jos d v > d u + c(u, v), aseta d v d u + c(u, v) ja π v u Algoritmit eroavat toisistaan linkkien valinnassa (Futurice Oy) Syksy 2009 24 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 25 / 45
Toimintaperiaate algoritmit 1 Selvitä naapurit ja niiden osoitteet 2 Määritä yhteyden hinta kuhunkin naapuriin 3 Ilmoita naapureille tietämäsi reittien pituudet 4 Laske uudet parhaat reitit naapureilta saatujen tietojen perusteella 5 Palaa askeleeseen 3 (Futurice Oy) Syksy 2009 26 / 45
Esimerkki algoritmit A 5 10 B 3 C 2 9 1 D 1 E 2 F 8 (Futurice Oy) Syksy 2009 27 / 45
Esimerkki algoritmit A 5 10 B 3 C 2 9 1 D 1 E 2 F 8 A B C D E F B 5 0 3 2 9 C 10 3 0 1 (Futurice Oy) Syksy 2009 27 / 45
Esimerkki algoritmit A 5 10 B 3 C 2 9 1 D 1 E 2 F 8 A B C D E F B 5 0 3 2 3 4 C 8 3 0 2 1 9 (Futurice Oy) Syksy 2009 27 / 45
Hyvät uutiset Hyvät uutiset, eli uudesta reitistä tiedotus, kulkevat nopeasti algoritmit (Futurice Oy) Syksy 2009 28 / 45
Hyvät uutiset algoritmit Hyvät uutiset, eli uudesta reitistä tiedotus, kulkevat nopeasti A B C D E (Futurice Oy) Syksy 2009 28 / 45
Hyvät uutiset algoritmit Hyvät uutiset, eli uudesta reitistä tiedotus, kulkevat nopeasti A B C D E 1 (Futurice Oy) Syksy 2009 28 / 45
Hyvät uutiset algoritmit Hyvät uutiset, eli uudesta reitistä tiedotus, kulkevat nopeasti A B C D E 1 1 2 (Futurice Oy) Syksy 2009 28 / 45
Hyvät uutiset algoritmit Hyvät uutiset, eli uudesta reitistä tiedotus, kulkevat nopeasti A B C D E 1 1 2 1 2 3 (Futurice Oy) Syksy 2009 28 / 45
Hyvät uutiset algoritmit Hyvät uutiset, eli uudesta reitistä tiedotus, kulkevat nopeasti A B C D E 1 1 2 1 2 3 1 2 3 4 (Futurice Oy) Syksy 2009 28 / 45
Huonot uutiset Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään algoritmit (Futurice Oy) Syksy 2009 29 / 45
Huonot uutiset Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään A B C D E 1 2 3 4 algoritmit (Futurice Oy) Syksy 2009 29 / 45
Huonot uutiset algoritmit Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään A B C D E 1 2 3 4 3 2 3 4 (Futurice Oy) Syksy 2009 29 / 45
Huonot uutiset algoritmit Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään A B C D E 1 2 3 4 3 2 3 4 3 4 3 4 (Futurice Oy) Syksy 2009 29 / 45
Huonot uutiset algoritmit Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään A B C D E 1 2 3 4 3 2 3 4 3 4 3 4 5 4 5 4 (Futurice Oy) Syksy 2009 29 / 45
Huonot uutiset algoritmit Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään A B C D E 1 2 3 4 3 2 3 4 3 4 3 4 5 4 5 4 5 6 5 6 (Futurice Oy) Syksy 2009 29 / 45
Huonot uutiset algoritmit Huonot uutiset, eli reitin katoamisesta tiedotus, kulkevat hitaasti Algoritmi laskee äärettömään A B C D E 1 2 3 4 3 2 3 4 3 4 3 4 5 4 5 4 5 6 5 6.... (Futurice Oy) Syksy 2009 29 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 30 / 45
Toimintaperiaate algoritmit Perustoiminta: 1 Selvitä naapurit ja niiden osoitteet 2 Määritä yhteyden hinta kuhunkin naapuriin 3 Lähetä kaikki tämä tieto kaikille reitittimille 4 Laske paras reitti kuhunkin reitittimeen Paketit tulvitetaan, sarjanumerot estävät vanhan tiedon monistumisen Jokainen reititin saa saman globaalin näkymän verkosta (Futurice Oy) Syksy 2009 31 / 45
Ongelmat algoritmit Sarjanumeroiden ylivuoto eitittimen kaatuminen Bittivirheet matkalla (Futurice Oy) Syksy 2009 32 / 45
Ongelmat algoritmit Sarjanumeroiden ylivuoto eitittimen kaatuminen Bittivirheet matkalla atkaisu: Tietoihin mukaan ikä; kun tiedot ovat tarpeeksi vanhoja, ko. reititin unohdetaan (Futurice Oy) Syksy 2009 32 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 33 / 45
AS:n sisäinen reititys algoritmit Sisäinen reititys kunkin AS:n oma asia Useita eri protokollia, IP ja OSPF yleisiä Suuri AS voi haluta hierarkisen reitityksen myös sisäisessä protokollassa (Futurice Oy) Syksy 2009 34 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 35 / 45
Yleistä algoritmit protokolla Laajalti käytössä, routed BSD Unixissa Yksinkertainen, ehkä liiankin FC 1058 (IP), FC 2453 (IP 2) (Futurice Oy) Syksy 2009 36 / 45
Ominaisuudet algoritmit eitin pituus on etappien määrä (hop count) UDP-yleis- tai -monilähetys omassa verkossa eitti korvataan vain aidosti lyhemmällä Ääretön, eli reittipituuden yläraja, on 16 (Futurice Oy) Syksy 2009 37 / 45
Ongelmien lievennys algoritmit IP:ssä kolme algoritmia lieventämään etäisyysvektoriprotokollien ongelmia Split horizon: Kohdetietoja ei lähetetä kohteen reitin seuraavalle etapille Hold down: Sivuutetaan jonkin aikaa tiedot verkosta, joka on ilmoitettu saavuttamattomaksi Poison reverse: Kadonnut reitti ilmoitetaan hinnalla (Futurice Oy) Syksy 2009 38 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 39 / 45
Yleistä algoritmit protokolla Laajalti käytössä, tarkoitettu IP:n korvaajaksi FC 1583 (OSPF), FC 2328 (OSPF 2) (Futurice Oy) Syksy 2009 40 / 45
Ominaisuudet algoritmit IP-pohjainen, voi käyttää monilähetystä Useita etäisyysmetriikkoja Laskee optimaaliset reitit nopeasti palvelun tyypin mukaan Kuormantasaus Hierarkiset verkot Todennus (Futurice Oy) Syksy 2009 41 / 45
Normaali toiminta algoritmit Hello-viestit selvittävät naapurireitittimet Database description -viestit alustavat linkkitiedot Link status request pyytää tietoa tiettyjen linkkien tiloista Link status update -viestit tulvitetaan muille reitittimille (Futurice Oy) Syksy 2009 42 / 45
Sisältö 1 algoritmit 2 3 4 algoritmit 5 6 (Futurice Oy) Syksy 2009 43 / 45
algoritmit taulut kertovat, minne lähettää paketit eunalla staattiset taulut, reitittimissä dynaamiset protokollaa käytetään reittien löytämiseen, ei pakettien välittämiseen Kaksitasoinen : AS:ien välinen ja AS:n sisäinen AS:ien välillä BGP AS:n sisällä usein OSPF (Futurice Oy) Syksy 2009 44 / 45
Luento päättynyt Kysymyksiä? (Futurice Oy) Syksy 2009 45 / 45