0:00:02.380,0:00:07.950 Internet: Paketit, Reititys ja Luotettavuus 0:00:07.950,0:00:13.650 Hei, nimeni on Lynn. Olen Spotifyn[br]ohjelmistoinsinööri ja myönnän, että 0:00:13.650,0:00:18.970 käytän internetin luotettavuutta usein[br]hyväkseni. Saatavilla olevan tiedon määrä 0:00:18.970,0:00:24.450 on päätähuimaavaa. Mutta miten on[br]mahdollista, että kaikki tieto 0:00:24.450,0:00:29.260 on luotettavaa? Sanotaan, että haluat[br]soittaa kappaleen Spotifystä. Tuntuu siltä, 0:00:29.260,0:00:33.989 että tietokoneesi yhdistäisi suoraan[br]Spotifyn palvelimiin ja Spotify lähettää 0:00:33.989,0:00:39.410 kappaleen suoratoistona. Tämä ei [br]itseasiassa ole totta. Jos internet 0:00:39.410,0:00:44.098 olisi luotu suorien yhteyksien avulla,[br]olisi mahdotonta pitää asiat toiminnassa 0:00:44.098,0:00:47.230 miljoonien ihmisten käyttäessä samaa[br]ohjelmistoa. Varsinkin, koska 0:00:47.230,0:00:50.831 emme voi varmistaa että jokainen johto[br]ja kone toimii oikein koko ajan. Sen sijaan 0:00:50.831,0:01:01.210 data kulkee paljon epäsuoremmin. 1970-[br]luvun alussa ryhdyin yrityskumppanini 0:01:01.210,0:01:06.870 Bob Kahnin kanssa suunnittelemaan[br]internetiä. Minulla ja Bobilla oli vastuu 0:01:06.870,0:01:13.144 ja mahdollisuus suunnitella internetin[br]protokollat ja arkkitehtuuri. Joten 0:01:13.144,0:01:21.230 jatkoimme Internetin kasvuun osallistumista[br]ja kehittämistä nykypäivään saakka. 0:01:21.770,0:01:26.710 Tapa, jolla tiedot siirretään tietokoneesta[br]toiseen, on aika mielenkiintoista. 0:01:26.710,0:01:30.900 Sen ei tarvitse seurata tiettyä polkua,[br]vaan polku saattaa vaihdella koneiden 0:01:30.900,0:01:36.100 välisestä keskustelusta riippuen.[br]Internetissä kulkeva tieto menee 0:01:36.100,0:01:42.050 koneesta toiseen niin kutsuttuina[br]tietopaketteina ja paketti kulkee 0:01:42.050,0:01:47.250 paikasta toiseen samaan tapaan, kun[br]autolla ajaessa. 0:01:47.510,0:01:51.420 Ruuhkasta ja teiden kunnosta riippuen,[br]saatat joutua valitsemaan eri reitin 0:01:51.420,0:02:00.740 joka kerta kun ajat tiettyyn kohteeseen.[br]Ja aivan kuten voit kuljettaa eri tavaroita 0:02:00.740,0:02:05.760 auton sisällä, voidaan IP-paketeilla myös[br]lähettää monenlaisia digitaalisia tietoja. 0:02:05.760,0:02:10.749 Mutta niillä on joitakin rajoituksia. Mitä[br]jos sinun tulee esimerkiksi kuljettaa 0:02:10.749,0:02:14.536 avaruussukkula sen rakennuspaikasta[br]sen laukaisupaikalle. Sukkula ei mahdu 0:02:14.536,0:02:18.780 yhteen rekkaan, joten se pitää purkaa [br]pienempiin osiin ja kuljettaa useiden 0:02:18.780,0:02:22.259 rekkojen avulla. Rekat voivat kulkea[br]eri reittejä pitkin ja saapua 0:02:22.259,0:02:27.499 laukausupaikalle eri aikoihin. Kun kaikki[br]osat ovat saapuneet, voit koota palat 0:02:27.499,0:02:34.329 sukkulaksi ja olet valmis laukaisuun.[br]Internet toimii samalla tavalla. Jos 0:02:34.329,0:02:39.440 sinulla on suuri valokuva jonka haluat[br]lähettää kaverillesi tai ladata nettisivulle, 0:02:39.440,0:02:43.749 kuva saattaa koostua 10 miljoonasta [br]bitistä, eli ykkösistä ja nollista. 0:02:43.749,0:02:47.780 Tämä on liian paljon yhdelle paketille. [br]Koska kuvan tiedot ovat tietokoneella, 0:02:47.780,0:02:51.769 kuvan lähettävä tietokone voi hajottaa [br]sen nopeasti sadoiksi tai jopa tuhansiksi 0:02:51.769,0:02:56.243 pienemmiksi osiksi, joita kutsutaan[br]paketeiksi. Toisin kuin autot tai rekat, 0:02:56.243,0:03:00.480 näissä paketeissa ei ole kuljettajia eivätkä [br]ne valitse reittiään. Jokaisessa 0:03:00.480,0:03:06.253 paketissa on sen alkuperän ja [br]määränpään osoite. Reitittimet 0:03:06.253,0:03:11.489 toimivat liikenteen ohjaajina varmistaen,[br]että paketit liikkuvat verkoissa sujuvasti. 0:03:11.489,0:03:17.230 Jos yksi reitti on tukossa, voivat yksittäiset[br]paketit kulkea eri reittejä pitkin ja saapua 0:03:17.230,0:03:24.779 päämääräänsä eri aikoihin tai väärässä[br]järjestyksessä. Miten tämä toimii? 0:03:24.779,0:03:29.039 Internet-protokollan osana, jokainen reititin[br]seuraa useita polkuja pakettien 0:03:29.039,0:03:33.769 lähettämiseen ja valitsee datalle halvimman [br]saatavilla olevan reitin niiden 0:03:33.769,0:03:39.250 kohde-IP-osoitteen perusteella. Tässä [br]tapauksessa "halvin" ei tarkoita kustannuksia, 0:03:39.250,0:03:44.019 mutta aikaa ja ei-teknisiä tekijöitä, kuten [br]politiikkaa ja yritysten välisiä suhteita. 0:03:44.019,0:03:50.500 Usein paras reitti tiedon kulkemiseen ei [br]välttämättä ole suorin. Polkuvaihtoehdot 0:03:50.500,0:03:54.473 tekevät verkkovirheistä sietokykyisiä.[br]Mikä tarkoittaa, että verkko voi jatkaa 0:03:54.473,0:03:59.079 pakettien lähettämistä, vaikka jokin menisi [br]pieleen. Tämä on perusta Internetin 0:03:59.079,0:04:06.019 pääperiaatteelle: luotettavuudelle. [br]Entä jos haluat pyytää tietoja, 0:04:06.019,0:04:10.229 mutta kaikkea ei toimiteta? Haluat[br]kuunnella kappaleen. Kuinka voit olla 0:04:10.229,0:04:14.980 100% varma siitä, että kaikki tiedot [br]toimitetaan ja kappale soi täydellisesti? 0:04:14.980,0:04:21.250 Tapaa uusi paras ystäväsi, TCP (lähetyksen[br]ohausprotokolla). TCP hallinnoi kaikkien 0:04:21.250,0:04:26.641 tietojen lähettämistä ja vastaanottamista [br]paketteina. Ajattele sitä postipalveluna. 0:04:26.641,0:04:31.250 Kun pyydät kappaletta laitteellasi, Spotify [br]lähettää kappaleen, joka on hajotettu moniin 0:04:31.250,0:04:36.030 paketteihin. Kun paketti saapuu, TCP[br]tekee täyden kartoituksen ja lähettää 0:04:36.030,0:04:40.509 Spotifylle kuittaukset jokaisesta [br]vastaanotetusta paketista. Kun kaikki 0:04:40.509,0:04:44.040 paketit on vastaanotettu, TCP kuittaa[br]lähetyksen ja olet valmis. 0:04:50.220,0:04:54.032 Jos TCP huomaa, että jotkut paketit[br]puuttuvat, se ei kuittaa lähetystä. 0:04:54.032,0:04:58.980 Muutoin kappaleesi ei kuulostaisi hyvältä [br]tai jotkut sen osista puuttuvat. 0:04:58.980,0:05:02.750 Spotify lähettää uuden paketin jokaista [br]puuttuvaa pakettia kohti. 0:05:02.750,0:05:09.199 Kun TCP on varmistanut uudet paketit,[br]kappale alkaa soimaan. 0:05:11.729,0:05:15.719 TCP:ssä ja reitittimissä on hienoa se,[br]että ne osaavat sopeutua. Ne toimivat 0:05:15.719,0:05:21.519 8 tai 8 biljoonassa laitteessa. Näiden [br]virheiden sieto-ominaisuuksien ja 0:05:21.519,0:05:24.250 redundanssin takia, mitä enemmän [br]reitittimiä lisäämme, sitä luotettavampi 0:05:24.250,0:05:28.220 Internetistä tulee. On myös hienoa, että[br]voimme kasvattaa ja skaalata Internetiä 0:05:28.220,0:05:34.019 keskeyttämättä palveluita niiden käyttäjille. [br]Internet on tehty satoja tuhansia verkkoja 0:05:34.019,0:05:38.780 ja miljardeja tietokoneita ja laitteita käyttäen,[br]jotka on kytketty fyysisesti toisiinsa. Nämä 0:05:38.780,0:05:43.759 erilaiset internetin muodostamat järjestelmät[br]luovat yhteyden toisiinsa, kommunikoivat 0:05:43.759,0:05:50.440 ja toimivat yhdessä sovittujen standardien[br]mukaan siitä, miten tietoja lähetetään. 0:05:50.440,0:05:55.421 Tietokonelaitteet tai reitittimet auttavat[br]paketteja kulkemaan järjestyksessä 0:05:55.421,0:06:00.531 määränpäähän, jossa ne[br]kootaan uudelleen. 0:06:01.228,0:06:07.238 Tämä tapahtuu miljardeja kertoja päivässä[br]riippumatta siitä lähetätkö sähköpostia, 0:06:07.238,0:06:12.198 käytät nettisivuja, soitat videopuheluita, [br]käytät mobiilisovelluksia tai kun 0:06:12.198,0:06:15.528 Internetin anturit tai laitteet puhuvat [br]keskenään.