WEBVTT 00:00:00.120 --> 00:00:03.577 [sang tæller ned: 7, 6, 5, 4, 3, 2, 1] 00:00:03.577 --> 00:00:07.838 Internettet: Pakker, routing og pålidelighed 00:00:07.950 --> 00:00:13.011 Hej, mit navn er Lynn Root. Jeg er softwareingeniør her hos Spotify, og jeg 00:00:13.011 --> 00:00:17.600 må indrømme, at jeg ofte tager internettets pålidelighed for givet. 00:00:17.600 --> 00:00:20.999 Mængden af information, der suser omkring internettet er utrolig. 00:00:20.999 --> 00:00:25.880 Men hvordan er det muligt for hver stykke data at blive sikkert leveret til dig? 00:00:26.283 --> 00:00:28.720 Hvis du f.eks. ønsker at spille en sang fra Spotify. 00:00:28.720 --> 00:00:32.259 Det synes som om din computer forbinder direkte til Spotify-serverne, og at 00:00:32.259 --> 00:00:35.169 Spotify sender dig en sang på en direkte, dedikeret linje. 00:00:35.169 --> 00:00:38.650 Men faktisk virker internettet ikke sådan. 00:00:38.650 --> 00:00:42.268 Hvis internettet var lavet af direke, dedikerede forbindelser, ville det være 00:00:42.268 --> 00:00:45.690 umuligt at holde ting kørende, når millioner af brugere slutter sig til. 00:00:45.690 --> 00:00:49.350 Særligt siden der ikke er nogen garanti for at hver ledning og computer virker 00:00:49.350 --> 00:00:50.450 hele tiden. 00:00:50.450 --> 00:00:54.152 I stedet sendes data på internettet på en meget mindre direkte facon. 00:00:55.102 --> 00:01:01.210 For mange år siden i de tidlige 1970'ere begyndte min partner Bob Kahn og jeg at 00:01:01.210 --> 00:01:06.870 arbejde på designet af, hvad vi nu kalder internettet. Bob og jeg havde ansvaret og 00:01:06.870 --> 00:01:13.000 muligheden for at designe internettets protokoller og dets arkitektur. 00:01:13.000 --> 00:01:18.710 Så vi fortsatte med at deltage i internettets vækst og udvikling hele tiden 00:01:18.710 --> 00:01:20.718 frem til i dag. 00:01:21.738 --> 00:01:25.760 Den måde information overføres fra én computer til en anden er ret interessant. 00:01:26.938 --> 00:01:31.399 Den behøver ikke følge en fast sti. Faktisk kan din sti skifte midtvejs 00:01:31.399 --> 00:01:33.970 i en samtale mellem computere. 00:01:34.466 --> 00:01:38.690 Information på internettet går fra én computer til en anden, i hvad vi kalder en 00:01:38.690 --> 00:01:43.458 informationspakke, og en pakke overføres fra ét sted til en anden på internettet på 00:01:43.458 --> 00:01:47.342 meget samme manér, som du måske ville tage fra ét sted til et andet sted i bil. 00:01:47.342 --> 00:01:51.420 Afhængigt af trafikpropper og vejbetingelser kunne du vælge eller blive 00:01:51.420 --> 00:01:57.600 tvunget til at tage en anden rute for at komme samme sted hen, hver gang du rejser. 00:01:58.620 --> 00:02:02.920 Og på samme vis, som du kan transportere al slags ting i en bil, kan mange slags 00:02:02.920 --> 00:02:07.441 digital information sendes med IP-pakker, men der er visse begrænsninger. 00:02:08.781 --> 00:02:12.679 Hvad nu hvis du skulle flytte en rumfærge fra der, hvor den blev bygget, til hvor 00:02:12.679 --> 00:02:13.880 den skal affyres. 00:02:13.880 --> 00:02:18.243 Færgen vil ikke passe i én lastbil, så den skal brydes ned i dele og transporteres 00:02:18.243 --> 00:02:19.640 med en flåde af lastbiler. 00:02:19.640 --> 00:02:24.164 De kunne alle tage forskellige ruter og ankomme på forskellige tider. 00:02:24.164 --> 00:02:28.439 Men når alle delene er der, kan du samle delene igen til den komplette færge, 00:02:28.439 --> 00:02:31.927 og den vil være klar til at blive affyret. 00:02:31.927 --> 00:02:34.329 På internettet virker tingene på meget lignede vis. 00:02:34.329 --> 00:02:38.364 Hvis du har et meget stort billede, som du ønsker at sende til en ven eller uploade 00:02:38.364 --> 00:02:43.929 til en webside, kan det billede bestå af tusinder af millioner af 1'er og 0'er, alt 00:02:43.929 --> 00:02:45.878 for mange til at sende i én pakke. 00:02:45.878 --> 00:02:49.810 Da det er data på en computer, kan computeren, der sender billedet, hurtigt 00:02:49.810 --> 00:02:54.849 dele den op i hundredevis eller tusindvis af mindre dele, der hedder pakker. 00:02:54.849 --> 00:02:58.570 Til forskel fra biler og lastbiler, har disse pakker ikke chauffører og vælger 00:02:58.570 --> 00:02:59.990 ikke selv deres rute. 00:02:59.990 --> 00:03:04.048 Hver pakke har internetadressen til stedt, den kom fra, og hvor det skal hen. 00:03:04.048 --> 00:03:07.750 Særlige computere på internettet, der hedder routere agerer som trafikstyrere 00:03:07.750 --> 00:03:11.314 for at sikre at pakkerne bevæger sig gennem netværkene uden problem. 00:03:11.314 --> 00:03:15.239 Hvis en rute er overlæsset, kan individuelle pakker tage andre ruter 00:03:15.239 --> 00:03:20.360 gennem internettet og kan ankomme ved destinationen på lidt forskellige tider 00:03:20.360 --> 00:03:22.490 eller sågar ikke i rækkefølge. 00:03:22.874 --> 00:03:25.169 Lad os snakke om, hvordan det virker. 00:03:25.169 --> 00:03:29.027 Som en del af internetprotokollen holder hver router styr på flere stier til at 00:03:29.027 --> 00:03:32.889 sende pakker, og den vælger den billigste tilgængelige sti for hvert stykke data, 00:03:32.889 --> 00:03:36.839 baseret på pakkens destinations- IP-adresse. 00:03:36.839 --> 00:03:41.270 I dette tilfælde betyder billig ikke pris, men tid og ikke-tekniske faktorer såsom 00:03:41.270 --> 00:03:44.000 politikker og forhold mellem virksomheder. 00:03:44.350 --> 00:03:48.359 Ofte er dataenes bedste overførselsrute ikke nødvendigvis den mest direkte. 00:03:49.259 --> 00:03:52.770 Rute-valgmuligheder gør netværket tolerante over for fejl. 00:03:52.770 --> 00:03:57.700 Hvilket betyder at netværket kan sende pakker, selv hvis noget går meget galt. 00:03:57.700 --> 00:04:02.999 Det er grundlaget for et af internettets hovedprincipper: pålidelighed. 00:04:04.039 --> 00:04:07.443 Hvad nu hvis du ønsker at anmode om nogle data, men ikke alt leveres? 00:04:07.443 --> 00:04:09.799 Sig, for eksempel, du ønsker at lytte til en sang. 00:04:09.799 --> 00:04:13.139 Hvordan kan du være 100% sikker på, at al dataen vil leveres, 00:04:13.139 --> 00:04:14.829 så sangen spiller perfekt? 00:04:14.829 --> 00:04:19.440 Sig hej til din nye bedste ven, TCP (transmissionskontrol-protokol). 00:04:19.440 --> 00:04:23.670 TCP tager sig af afsendelsen og modtagelse af alle dine pakker som data. 00:04:23.670 --> 00:04:26.530 Forestil dig det som værende en anbefalet posttjeneste. 00:04:26.530 --> 00:04:30.089 Når du anmoder om en sang på din enhed, sender Spotify en sang 00:04:30.089 --> 00:04:31.819 opdelt i mange pakker. 00:04:32.861 --> 00:04:37.697 Når dine pakker ankommer, gør TCP komplet status og sender bekræftelse for hver 00:04:37.697 --> 00:04:39.640 modtagne pakke. 00:04:39.640 --> 00:04:43.240 Hvis alle pakker er der, kvitterer TCP for din leverence, og du er færdig. 00:04:43.240 --> 00:04:50.139 (Sang spilles) 00:04:50.139 --> 00:04:54.119 Hvis TCP opdager, at der mangler pakker, vil den ikke kvittere. 00:04:54.119 --> 00:04:59.190 Ellers ville din sang ikke lyde så god, eller dele af sangen kunne mangle. 00:04:59.190 --> 00:05:03.004 For hver manglende eller ufuldstændig pakke, vil Spotify sende dem igen. 00:05:03.004 --> 00:05:07.336 Når TCP bekræfter levering af mange af pakkerne til den ene sanganmodning, 00:05:07.336 --> 00:05:09.590 vil din sang begynde at spille. 00:05:12.015 --> 00:05:15.630 Det fantastiske ved TCP- og router- systemerne er, at de er skalerbare. 00:05:15.630 --> 00:05:18.691 De kan virke med 8 eller 8 milliarder enheder. 00:05:18.691 --> 00:05:22.739 På grund af disse fejltolerence- og redundansprincipper, bliver internettet 00:05:22.739 --> 00:05:25.360 mere pålidelig, desto flere routere, vi tilføjer. 00:05:25.360 --> 00:05:28.799 En anden god ting er, at vi kan udvide og opskalere internettet uden at 00:05:28.799 --> 00:05:31.116 afbryde tjenesten for nogen, der anvender den. 00:05:31.919 --> 00:05:36.799 Internettet består af hundred tusind-vis af netværk og milliarder af computere og 00:05:36.799 --> 00:05:38.908 enheder, der er fysisk forbundne. 00:05:38.908 --> 00:05:42.440 Disse forskellige systemer, som danner internettet, forbinder til hinanden, 00:05:42.440 --> 00:05:47.570 taler med hinanden og arbejder sammen, på grund af aftalte standarder, 00:05:47.570 --> 00:05:50.879 for hvordan data sendes omkring på internettet. 00:05:50.879 --> 00:05:55.730 Computerenheder eller routere på internettet hjælper alle pakker på vej til 00:05:55.730 --> 00:06:01.138 den destination, hvor de, om nødvendigt, samles igen i rette rækkefølge. 00:06:01.138 --> 00:06:07.259 Dette sker milliarder af gange om dagen, uanset om du og andre sender en e-mail, 00:06:07.259 --> 00:06:12.649 besøger en webside, holder en video-chat, bruger en mobilapp, eller når sensorer 00:06:12.649 --> 00:06:15.150 eller enheder på internettet taler med hinanden.