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