1 00:00:02,380 --> 00:00:07,950 Internet: Paketit, Reititys ja Luotettavuus 2 00:00:07,950 --> 00:00:13,650 Hei, nimeni on Lynn. Olen Spotifyn ohjelmistoinsinööri ja myönnän, että 3 00:00:13,650 --> 00:00:18,970 käytän internetin luotettavuutta usein hyväkseni. Saatavilla olevan tiedon määrä 4 00:00:18,970 --> 00:00:24,450 on päätähuimaavaa. Mutta miten on mahdollista, että kaikki tieto 5 00:00:24,450 --> 00:00:29,260 on luotettavaa? Sanotaan, että haluat soittaa kappaleen Spotifystä. Tuntuu siltä, 6 00:00:29,260 --> 00:00:33,989 että tietokoneesi yhdistäisi suoraan Spotifyn palvelimiin ja Spotify lähettää 7 00:00:33,989 --> 00:00:39,410 kappaleen suoratoistona. Tämä ei itseasiassa ole totta. Jos internet 8 00:00:39,410 --> 00:00:44,098 olisi luotu suorien yhteyksien avulla, olisi mahdotonta pitää asiat toiminnassa 9 00:00:44,098 --> 00:00:47,230 miljoonien ihmisten käyttäessä samaa ohjelmistoa. Varsinkin, koska 10 00:00:47,230 --> 00:00:50,831 emme voi varmistaa että jokainen johto ja kone toimii oikein koko ajan. Sen sijaan 11 00:00:50,831 --> 00:01:01,210 data kulkee paljon epäsuoremmin. 1970- luvun alussa ryhdyin yrityskumppanini 12 00:01:01,210 --> 00:01:06,870 Bob Kahnin kanssa suunnittelemaan internetiä. Minulla ja Bobilla oli vastuu 13 00:01:06,870 --> 00:01:13,144 ja mahdollisuus suunnitella internetin protokollat ja arkkitehtuuri. Joten 14 00:01:13,144 --> 00:01:21,230 jatkoimme Internetin kasvuun osallistumista ja kehittämistä nykypäivään saakka. 15 00:01:21,770 --> 00:01:26,710 Tapa, jolla tiedot siirretään tietokoneesta toiseen, on aika mielenkiintoista. 16 00:01:26,710 --> 00:01:30,900 Sen ei tarvitse seurata tiettyä polkua, vaan polku saattaa vaihdella koneiden 17 00:01:30,900 --> 00:01:36,100 välisestä keskustelusta riippuen. Internetissä kulkeva tieto menee 18 00:01:36,100 --> 00:01:42,050 koneesta toiseen niin kutsuttuina tietopaketteina ja paketti kulkee 19 00:01:42,050 --> 00:01:47,250 paikasta toiseen samaan tapaan, kun autolla ajaessa. 20 00:01:47,510 --> 00:01:51,420 Ruuhkasta ja teiden kunnosta riippuen, saatat joutua valitsemaan eri reitin 21 00:01:51,420 --> 00:02:00,740 joka kerta kun ajat tiettyyn kohteeseen. Ja aivan kuten voit kuljettaa eri tavaroita 22 00:02:00,740 --> 00:02:05,760 auton sisällä, voidaan IP-paketeilla myös lähettää monenlaisia digitaalisia tietoja. 23 00:02:05,760 --> 00:02:10,749 Mutta niillä on joitakin rajoituksia. Mitä jos sinun tulee esimerkiksi kuljettaa 24 00:02:10,749 --> 00:02:14,536 avaruussukkula sen rakennuspaikasta sen laukaisupaikalle. Sukkula ei mahdu 25 00:02:14,536 --> 00:02:18,780 yhteen rekkaan, joten se pitää purkaa pienempiin osiin ja kuljettaa useiden 26 00:02:18,780 --> 00:02:22,259 rekkojen avulla. Rekat voivat kulkea eri reittejä pitkin ja saapua 27 00:02:22,259 --> 00:02:27,499 laukausupaikalle eri aikoihin. Kun kaikki osat ovat saapuneet, voit koota palat 28 00:02:27,499 --> 00:02:34,329 sukkulaksi ja olet valmis laukaisuun. Internet toimii samalla tavalla. Jos 29 00:02:34,329 --> 00:02:39,440 sinulla on suuri valokuva jonka haluat lähettää kaverillesi tai ladata nettisivulle, 30 00:02:39,440 --> 00:02:43,749 kuva saattaa koostua 10 miljoonasta bitistä, eli ykkösistä ja nollista. 31 00:02:43,749 --> 00:02:47,780 Tämä on liian paljon yhdelle paketille. Koska kuvan tiedot ovat tietokoneella, 32 00:02:47,780 --> 00:02:51,769 kuvan lähettävä tietokone voi hajottaa sen nopeasti sadoiksi tai jopa tuhansiksi 33 00:02:51,769 --> 00:02:56,243 pienemmiksi osiksi, joita kutsutaan paketeiksi. Toisin kuin autot tai rekat, 34 00:02:56,243 --> 00:03:00,480 näissä paketeissa ei ole kuljettajia eivätkä ne valitse reittiään. Jokaisessa 35 00:03:00,480 --> 00:03:06,253 paketissa on sen alkuperän ja määränpään osoite. Reitittimet 36 00:03:06,253 --> 00:03:11,489 toimivat liikenteen ohjaajina varmistaen, että paketit liikkuvat verkoissa sujuvasti. 37 00:03:11,489 --> 00:03:17,230 Jos yksi reitti on tukossa, voivat yksittäiset paketit kulkea eri reittejä pitkin ja saapua 38 00:03:17,230 --> 00:03:24,779 päämääräänsä eri aikoihin tai väärässä järjestyksessä. Miten tämä toimii? 39 00:03:24,779 --> 00:03:29,039 Internet-protokollan osana, jokainen reititin seuraa useita polkuja pakettien 40 00:03:29,039 --> 00:03:33,769 lähettämiseen ja valitsee datalle halvimman saatavilla olevan reitin niiden 41 00:03:33,769 --> 00:03:39,250 kohde-IP-osoitteen perusteella. Tässä tapauksessa "halvin" ei tarkoita kustannuksia, 42 00:03:39,250 --> 00:03:44,019 mutta aikaa ja ei-teknisiä tekijöitä, kuten politiikkaa ja yritysten välisiä suhteita. 43 00:03:44,019 --> 00:03:50,500 Usein paras reitti tiedon kulkemiseen ei välttämättä ole suorin. Polkuvaihtoehdot 44 00:03:50,500 --> 00:03:54,473 tekevät verkkovirheistä sietokykyisiä. Mikä tarkoittaa, että verkko voi jatkaa 45 00:03:54,473 --> 00:03:59,079 pakettien lähettämistä, vaikka jokin menisi pieleen. Tämä on perusta Internetin 46 00:03:59,079 --> 00:04:06,019 pääperiaatteelle: luotettavuudelle. Entä jos haluat pyytää tietoja, 47 00:04:06,019 --> 00:04:10,229 mutta kaikkea ei toimiteta? Haluat kuunnella kappaleen. Kuinka voit olla 48 00:04:10,229 --> 00:04:14,980 100% varma siitä, että kaikki tiedot toimitetaan ja kappale soi täydellisesti? 49 00:04:14,980 --> 00:04:21,250 Tapaa uusi paras ystäväsi, TCP (lähetyksen ohausprotokolla). TCP hallinnoi kaikkien 50 00:04:21,250 --> 00:04:26,641 tietojen lähettämistä ja vastaanottamista paketteina. Ajattele sitä postipalveluna. 51 00:04:26,641 --> 00:04:31,250 Kun pyydät kappaletta laitteellasi, Spotify lähettää kappaleen, joka on hajotettu moniin 52 00:04:31,250 --> 00:04:36,030 paketteihin. Kun paketti saapuu, TCP tekee täyden kartoituksen ja lähettää 53 00:04:36,030 --> 00:04:40,509 Spotifylle kuittaukset jokaisesta vastaanotetusta paketista. Kun kaikki 54 00:04:40,509 --> 00:04:44,040 paketit on vastaanotettu, TCP kuittaa lähetyksen ja olet valmis. 55 00:04:50,220 --> 00:04:54,032 Jos TCP huomaa, että jotkut paketit puuttuvat, se ei kuittaa lähetystä. 56 00:04:54,032 --> 00:04:58,980 Muutoin kappaleesi ei kuulostaisi hyvältä tai jotkut sen osista puuttuvat. 57 00:04:58,980 --> 00:05:02,750 Spotify lähettää uuden paketin jokaista puuttuvaa pakettia kohti. 58 00:05:02,750 --> 00:05:09,199 Kun TCP on varmistanut uudet paketit, kappale alkaa soimaan. 59 00:05:11,729 --> 00:05:15,719 TCP:ssä ja reitittimissä on hienoa se, että ne osaavat sopeutua. Ne toimivat 60 00:05:15,719 --> 00:05:21,519 8 tai 8 biljoonassa laitteessa. Näiden virheiden sieto-ominaisuuksien ja 61 00:05:21,519 --> 00:05:24,250 redundanssin takia, mitä enemmän reitittimiä lisäämme, sitä luotettavampi 62 00:05:24,250 --> 00:05:28,220 Internetistä tulee. On myös hienoa, että voimme kasvattaa ja skaalata Internetiä 63 00:05:28,220 --> 00:05:34,019 keskeyttämättä palveluita niiden käyttäjille. Internet on tehty satoja tuhansia verkkoja 64 00:05:34,019 --> 00:05:38,780 ja miljardeja tietokoneita ja laitteita käyttäen, jotka on kytketty fyysisesti toisiinsa. Nämä 65 00:05:38,780 --> 00:05:43,759 erilaiset internetin muodostamat järjestelmät luovat yhteyden toisiinsa, kommunikoivat 66 00:05:43,759 --> 00:05:50,440 ja toimivat yhdessä sovittujen standardien mukaan siitä, miten tietoja lähetetään. 67 00:05:50,440 --> 00:05:55,421 Tietokonelaitteet tai reitittimet auttavat paketteja kulkemaan järjestyksessä 68 00:05:55,421 --> 00:06:00,531 määränpäähän, jossa ne kootaan uudelleen. 69 00:06:01,228 --> 00:06:07,238 Tämä tapahtuu miljardeja kertoja päivässä riippumatta siitä lähetätkö sähköpostia, 70 00:06:07,238 --> 00:06:12,198 käytät nettisivuja, soitat videopuheluita, käytät mobiilisovelluksia tai kun 71 00:06:12,198 --> 00:06:15,528 Internetin anturit tai laitteet puhuvat keskenään.