M.Sc.(Tech.) Marko Luoma (1/33) S 38.188 Tietoliikenneverkot S 2000 Luento 6: Liikenteenhallinta M.Sc.(Tech.) Marko Luoma (2/33) Terminologiaa Contend, viivästyminen Kun verkon siirtokapasiteetti hetkellisesti ylittyy ja paketit asetellaan jonoon, josta ne palvellaan ajallaan. Congest, ruuhkautuminen Kun verkon siirtokapasiteetti ylitetään tarpeeksi pitkän aikaa, vuotaa puskurit yli ja paketteja katoaa
M.Sc.(Tech.) Marko Luoma (3/33) Terminologiaa Ruuhkanhallinta pyrkii estämään lähdettä ylittämästä verkon resursseja säätelemällä lähetysnopeutta Vuonhallinta pyrkii estämään lähdettä ylittämästä vastaanottajan resursseja säätelemällä lähetysnopeutta Resursseja ovat Vastaanottopuskuri Todellinen lähetysnopeus on pienempi kahdesta Näin varmistetaan ettei mikään resurssi ylity M.Sc.(Tech.) Marko Luoma (4/33) Verkon resurssit Reitittimet jakavat yhteisiä resursseja Verkon siirtokapasiteettia Reitittimen puskurointikapasiteettia Reitittimen prosessointikapasiteettia Resurssit ovat rajallisia ja yhdenkin loppuminen johtaa toiminnan rajoittumiseen A B C D Linkkikapasiteetinhallinta Välitysprosessori? Puskurinhallinta
M.Sc.(Tech.) Marko Luoma (5/33) Liikenteenhallinta Kolikon kaksi puolta Resurssienjako: Yhteydelle määritellään ennaltakäsin rajoja Ruuhkanhallinta: Yhteydelle määritellään rajoja ruuhkautumisen tapahduttua Ääripäissä Ei ruuhkanhallintaa > resurssit on jaettu ennaltakäsin (vrt puhelinverkko) Ei resurssienjakoa > yhteydet kilpailevat samasta kaistasta ja ruuhkatilanteissa algoritmi ratkaisee resurssien jaon (vrt Internet) M.Sc.(Tech.) Marko Luoma (6/33) Liikenteenhallinta 100% Resurssien varaus PSTN Ruuhkanhallinta Internet 0%
M.Sc.(Tech.) Marko Luoma (7/33) Toteutustapoja Varaus Nopeus Verkko Päätelaite Ikkuna Vaste M.Sc.(Tech.) Marko Luoma (8/33) Verkko päätelaite (reititin lähde) Verkkokeskeiset menetelmät perustuvat reitittimen tekemään päätökseen, mitkä paketit saavat palvelua ja mitkä eivät Päätelaite keskeisissä menetelmissä lähteet sopeutuvat verkon tilaan lähettämällä sopivan määrän informaatiota verkkoon Nämä kaksi menetelmää eivät ole toisiaan poissulkevia: Vaikka reititin suorittaa pakettien karsintaa tarvitaan lähdepohjaista hallintaa mukautumaan verkon tilaan Vaikka lähde kontrolloisikin liikennettä tarvitaan reitittimiin mekanismeja turvaamaan niiden toimintaa ruuhkatilanteissa
M.Sc.(Tech.) Marko Luoma (9/33) Varaus vaste pohjainen Varauspohjaisissa järjestelmissä lähde pyytää verkolta tiettyä määrää resursseja yhteyden ajaksi. Verkko, joko hylkää tai hyväksyy pyynnön Vastepohjaisissa järjestelmissä lähteet aloittavat lähettämisen heti ja säätävät nopeuttaa saamansa vasteen perusteella. Ekspilisiittisesti; reititin informoi lähdettä Implisiittisesti; lähde havainnoi verkon tilaa uudelleen lähetyspyyntöjen kautta M.Sc.(Tech.) Marko Luoma (10/33) Ikkuna nopeus pohjainen Lähde säännöstelee lähetysnopeuttaan perustuen: Informaation määrään tietyssä aikaikkunassa (purskeinen) Tasaiseen informaation nopeuteen
M.Sc.(Tech.) Marko Luoma (11/33) Internet Nykyään: Vastepohjainen toiminta (ei resurssienvarausta) 80% lähdepohjainen / 20% verkkopohjainen Lähteessä ikkunapohjainen lähetyksen säännöstely Tulevaisuudessa??? M.Sc.(Tech.) Marko Luoma (12/33) Liikenteenhallinnan mekanismit Liikenteenhallinnan menetelmiä vertaillaan usein niiden suhteessa Verkon resurssien hyödyntämiseen Lähteiden reiluun käsittelyyn
M.Sc.(Tech.) Marko Luoma (13/33) Resurssiteho Resurssiteho optimoi kahta keskeistä parametria läpäisyä viivettä Optimoinnin tavoite on saada mahdollisimman suuri läpäisy mahdollisimman pienellä viiveellä Teho = Läpäisy Viive α Teho Optimi Kuorma Resurssiteho M.Sc.(Tech.) Marko Luoma (14/33) Viive Kuormitus
M.Sc.(Tech.) Marko Luoma (15/33) Reiluus Reiluus on määritelmä sille, miten oikeudenmukaisesti eri yhteyksiä kohdellaan ruuhkautuvassa reitittimessä. C A B 10Mbps 10ms 10Mbps 10ms L1 L2 10Mbps 50ms L3 10Mbps 50ms L4 10Mbps 10ms L5 2Mbps 200ms D L6 10Mbps 10ms L7 L8 10Mbps 10ms 10Mbps 10ms L9 E F M.Sc.(Tech.) Marko Luoma (16/33) Reiluus (Sosialistinen näkökanta) Kaikkia palvellaan tasapuolisesti L6: jaettu tasan A,B,C (~600kbps) L9: B ~ 600kbps ja D ~ 9.4Mbps!!! Vai rajoitetaanko D myös samaan 600kbps Kaikki resurssit ovat kaikkien vapaasti hyödynntettävissä Kaikilta odotetaan kunnioitusta toisia kohtaan.
M.Sc.(Tech.) Marko Luoma (17/33) Reiluus (Kapitalistinen näkökanta) Yhteyksiä käsitellään perustuen maksukykyyn, eli sen kulutat mistä maksat. Sosiokapitalistisessa järjestelmässä uudet yhteydet pääsevät mukaan ja vanhat yhteydet saatavat kärsiä siitä ( vakio palveluaika ) Puhtaassa kapitalistisessa järjestelmässä olemassa olevien yhteyksien tilaan ei puututa mitenkään M.Sc.(Tech.) Marko Luoma (18/33) TCP Tehtävä: Määrittää kuinka paljon verkossa on kapasiteettia vapaana Lähettää informaatiota kyseisellä nopeudella Toimii itseohjautuvasti Kellotus vastesanomilla (ACK) Kello on kiertoaikaviive (RTT), joka kertoo ajan, joka kuluu paketin lähettämisestä sen vastaanottamiseen.
M.Sc.(Tech.) Marko Luoma (19/33) TCP Ruuhkaikkuna vastaa vuonhallinnan ilmoitettuaikkunaa Ikkuna on minimiresurssi rajoitettu Maksimissaan: MaxIkkuna = MIN(RuuhkaIkkuna, IlmoitettuIkkuna) Käytännössä: Ikkuna = MaxIkkuna (Viim. lähetetty tavu Viim. hyväksytty tavu) KYSYMYS: Kuinka ruuhkaikkuna tiedetään? Lähde suorittaa itseohjautuvaa verkon tilan seurantaa perustuen vastesanomiin (ACK) ja kadonneisiin paketteihin M.Sc.(Tech.) Marko Luoma (20/33) TCP Lineaarinen kasvu Jokainen onnistuneesti lähetetty ruuhkaikkunallinen kasvattaa ruuhkaikkunaa yhdellä paketilla: RuuhkaIkkuna = RuuhkaIkkuna + MSS Käytännössä jokainen vastesanoma kasvattaa ikkunaa omalta osaltaan: Eksponentiaalinen peräytyminen Jokainen epäonnistunut lähetys (ajastin laukeaa) aiheuttaa ruuhkaikkunan puoliintumisen: RuuhkaIkkuna = ½ * RuuhkaIkkuna Inc = MSS * (MSS/RuuhkaIkkuna) RuuhkaIkkuna = RuuhkaIkkuna + Inc
M.Sc.(Tech.) Marko Luoma (21/33) TCP Perusversion käyttäytyminen Pitkät hitaat kasvamiset Nopeat pudotukset Window Time M.Sc.(Tech.) Marko Luoma (22/33) TCP (Slow Start) On mekanismi, jossa ruuhkaikkunaa kasvatetaan 1:stä paketista tuplaamalla jokaisen paketin kohdalla ikkunan arvo Estää päätelaitetta lähettämästä täyttä ikkunaa paketteja niissä tapauksissa, joissa se vastaanottaa useita ACK paketteja Yhteyden alussa ruuhkaikkunan loputon tuplaaminen: johtaa pakettien suureen katoamiseen mittaa verkon kapasiteetin tulevan toiminnan varalle Ajastimen laukeamisen jälkeen tuplaamista käytetään ainoastaan siihen asti, että saavutetaan edellinen validi ruuhkaikkunan koko tämän jälkeen jatketaan normaalia toimintaa (lineaarinen kasvu)
M.Sc.(Tech.) Marko Luoma (23/33) TCP (Slow Start) Slow Start käyttäytyminen Nopeat nopeuden kasvattamiset Pitkät kuolleet hetket Paketti katoaa TimeOut M.Sc.(Tech.) Marko Luoma (24/33) TCP (Fast Retransmit and Fast Recovery) Jokainen yksittäinen kadonnut tai viivästynyt paketti vahvistetaan edellisellä oikealla ACK sanomalla. Kolme peräkkäistä samaa ACK sanomaa laukaisee uudelleen lähetyksen. Mikäli uudelleen lähetys ei tuo kuittausta jokaiseen pakettiin odotetaan ajastimen laukeamista. Oletus: Verkossa katoaa useimmiten vain yksi paketti Paketti 1 Paketti 2 Paketti 3 Paketti 4 Paketti 5 Paketti 6 Paketti 3 ACK 1 ACK 2 ACK 2 ACK 2 ACK 2 ACK 6
M.Sc.(Tech.) Marko Luoma (25/33) TCP (Fast Retransmit and Fast Recovery) Kun tehdään Fast Retransmit Hyödynnetään lennossa olevia paketteja (itseasiassa niiden kuittauksia) ylläpitämään yhteyden kellotusta ilman Slow Startia Puolitetaan ikkuna ja jatketaan lineaarista kasvua Mikäli Fast Retransmit ei onnistunut tehdään normaali Slow Start Ikkuna 4 Paketti 1 Ikkuna 4 Paketti 2 Ikkuna 4 Paketti 3 Ikkuna 4 Paketti 4 Ikkuna 4 Paketti 5 Ikkuna 4 Paketti 6 Tupla kuittauksia Ikkuna 2 Paketti 3 FR FR ACK 1 ACK 2 ACK 2 ACK 2 ACK 2 ACK 6 M.Sc.(Tech.) Marko Luoma (26/33) TCP (Fast Retransmit and Fast Recovery) Nopea vaste useimmissa tapauksissa Paketti katoaa TimeOut FR FR SlowStart
M.Sc.(Tech.) Marko Luoma (27/33) Reitittimet Ruuhkatila reitittimessä syntyy, kun resurssien tarve reitittimessä ylittää tarjolla olevan resurssien määrän. Reititin suojautuu resurssien vajetta vastaan erilaisilla puskurinhallinta algoritmeilla, joilla: jaetaan verkon kapasiteettia (skedulointi) jaetaan puskurimuistin määrää (jonotus) ruuhkan aikana poistetaan oikeat paketit (karsinta) M.Sc.(Tech.) Marko Luoma (28/33) Reitittimet Ruuhkanhallinnan menetelmät voidaan jakaa kahteen luokkaan: Ruuhkatilaa ennustaviin Ennustavat menetelmät pyrkivät pitämään verkon/reitittimen toimintapisteen resurssiteho maksimissa Ruuhkatilaan reagoiviin Reagoivat menetelmät pyrkivät palauttamaan toimintapisteen optimiin, mikäli se sen ylittää. Teho Optimi Kuorma
M.Sc.(Tech.) Marko Luoma (29/33) Reitittimet Toimiakseen menetelmät tarvitsevat erilaisia suoritusarvoja: Jonon keskimääräinen pituus Kiertoaikaviive Suoritusarvojen estimointimenetelmät perustuvat erilaisiin suodatinalgoritmeihin Puskurinhallintaan on erilaisia mekanismeja Skedulerit (FCFS, WRR, WFQ) Jonokurit (FIFO, LIFO, Prioriteetti) Karsinta algoritmit (Häntäkarsinta, Satunnaiskarsinta) M.Sc.(Tech.) Marko Luoma (30/33) Skedulointi Valitaan jonosta seuraava paketti lähetettäväksi Kriteerejä Ensimmäinen Pienin Pisimpään odottanut Korkein prioriteetti Yhtäläinen odotusaika Painotettu odotusaika Algoritmeja FCFS: saapumisjärjestyksessä (ensimmäinen) Round Robin (RR): vuoronperään (UNIX järjestelmien prosessien vuorottelu) WRR: sama painotettuna FQ: Yhtäläinen odotusaika WFQ: Painotettu odotusaika
M.Sc.(Tech.) Marko Luoma (31/33) Jonokureja Mihin kohtaan jonoa saapuva paketti asettuu Hännälle (FIFO) Keulalle (LIFO) Prioriteeteittain (Prioriteetti) Mahdollistaa sosiaalisen diskriminoinnin Jotkut käyttäjät ovat muita tärkeämpiä Professori Assistentti Opiskelija Mikä on oikea järjestys? M.Sc.(Tech.) Marko Luoma (32/33) Pakettien karsinta Ruuhkatilanteessa puskurit saattavat täyttyä ja paketteja täytyy karsia Jonon hännältä Satunnaisesti jonon sisältä Satunnaisesti tulevista paketeista Algoritmeja: Tail Drop (häntäkarsinta) Random Drop (Satunnaiskarsinta) Random Early Detection (Ennakoiva satunnaiskarsinta) Tavoite: Mahdollistaa kuormituksen muutoksen aiheuttamat transientit ilman pakettihukkaa TCP ei turhaan pudota lähetysnopeutta / joudu Slow Start tilaan Estää globaali synkronisaatio Useat TCP yhteydet synkronoituvat ilman ennakoivaa satunnaiskarsintaa
M.Sc.(Tech.) Marko Luoma (33/33) Yhteenveto Liikenteenhallinta on Huolehtimista vastaanottajan ja verkon resursseista Yhteistoimintaa päätelaitteiden ja verkon välillä Erilaisia algoritmeja Monitahoinen ja ehkä myös filosofinen ongelma Näitä asioita käsitellään syvällisesti kurssilla: S 38.180 Palvelunlaatu Internetissä