[låten räknas ned: 7, 6, 5, 4, 3, 2, 1]
Internet: paket, routing och pålitlighet
Hej, jag heter Lynn. Jag är mjukvaru-
ingenjör här på Spotify och jag erkänner
att jag ofta tar internet gör givet.
Den stora mängden information
som flyger runt på internet är förvånande.
Men hur är det möjligt att varje bit av
data levereras till dig på ett pålitligt
sätt? Om du vill lyssna på Spotify verkar
det som din dator ansluter direkt till
Spotifys servrar och Spotify skickar låten
direkt, via en dedikerad linje. Men det är
inte så internet fungerar. Om internet
bestod av direkta, dedikerade anslutningar
skulle det inte fungera
med miljontals användare. Särskilt utan
någon garanti att varje kabel och
dator fungerar hela tiden. Istället,
överförs data på ett mycket mer
indirekt sätt. Många år sedan, i
början av 70-talet började Bob Kahn och jag
arbeta med utformningen av det vi nu
kallar internet. Bob och jag hade ansvaret
och möjligheten att utforma internet-
protokoll och arkitektur. Så vi fortsatte
att delta i internets utveckling och
evolution hela tiden fram till
nu. Sättet på vilket information
överförs från en dator till en annan
är ganska intressant. Den behöver inte
följa en fast väg och vägen kan ändras
mitt i kommunikationen mellan datorer.
Information på internet skickas från en
dator till en annan i vad vi kallar paket
och ett paket åker från en
plats till en annan på internet på ett
sätt som liknar hur du kan åka
bil. Beroende på trafik eller väglag,
kanske du väljer eller blir
tvungen att ta en annan väg för att hamna
på rätt plats varje gång du reser. Och
precis som du kan transportera olika saker
med bil, kan diverse digital information
skickas med IP-paket till en viss gräns.
Vad händer om du till exempel ska flytta
en rymdraket från verkstaden till
uppskjutningsplatsen. Rymdraketen
får inte plats en lastbil så att den måste
monteras ner i delar och transportera med
flera lastbilar. De kan ta olika vägar
och anlända till destinationen vid olika
tider. Men när alla delar anländer, kan de
monteras ihop till en hel
raket som kan skjutas upp. På internet
fungerar det på ett liknande sätt. Om
du har en mycket stor bild som du vill
skicka eller ladda upp till en webbplats,
kan den bilden bestå av tiotals miljoner
bitar med ettor och nollor, som inte får
plats i ett paket. Det rör sig om en
dator, så datorn som skickar bilden kan
snabbt dela upp den i hundra- eller
tusentals mindre delar som kallas paket.
Till skillnad från bilar eller lastbilar
har paketen inga förare. Varje paket
har internetadressen den kom
från och dit den ska. Särskilda datorer
på internet som kallas routrar hanterar
trafiken så att paketen rör sig igenom
nätverket smidigt. Om en väg har köer,
kan enskilda paket kan ta andra vägar
genom internet och kan anlända till
destinationen vid olika tidpunkter
eller i fel ordning. Vi ser på hur det
fungerar. Som del av internetprotokollet
håller routrar reda på flera vägar för att
skicka paket, och väljer den billigaste
tillgängliga vägen för varje datapaket
enligt destinationsadressen för paketet.
Billigast i det här fallet betyder inte
kostnad, men tid och faktorer som politik
och relationer mellan företag. Ofta är den
bästa vägen inte nödvändigtvis
den rakaste. Olika alternativ på vägar gör
nätverket feltolerant. Det innebär att
nätverket kan fortsätta skicka paket även
om något går mycket, mycket fel.
Det är grunden till en av internets huvud-
principer: pålitlighet. Vad händer om
du begär data men inte allt levereras?
T.ex. om du vill lyssna på en låt.
Hur kan du vara 100% säker på att alla
data kan levereras så att låten spelas?
Vi presenterar din nya bästa vän, TCP.
TCP hanterar sändningen
och mottagningen av alla dina data i
paket. Som att skicka rekommenderad post.
När du begär en låt på din enhet, skickar
Spotify den uppdelad i många paket.
När dina paket anländer gör TCP en fullst-
ändig inventering och skickar bekräftelser
för varje mottaget paket. Om alla paket är
där bekräftar TCP din leverans och allt är
klart. (låten spelas) Om TCP saknar paket,
kommer inte leveransen bekräftas, eftersom
låten kanske inte låter bra eller delar av
den saknas. Spotify kommer att skicka alla
inkompletta eller saknade paket igen. När
TCP har bekräftat leverans av flera paket
för samma begäran kommer låten att
börja spela. Det som är bra med TCP
och routersystem är att de är skalbara. De
fungerar med 8 eller 8 miljarder enheter.
Dessa principer för feltolerans och
redundans, lägger vi till fler routrar så
att internet blir mer pålitligt. Vi kan
också skala upp och ner internet
utan att avbryta tjänsten för användare.
Internet består av hundratusentals
nätverk och miljarder datorer och
enheter som är anslutna fysiskt. De olika
systemen som utgör internet ansluter
till varandra, kommunicerar med varandra,
och arbeta tillsammans enligt överenskomna
standarder om hur data skickas på internet
Datorer, eller routrar på internet,
ser till att alla paket kan ta sig till
destinationen där de monteras ihop, i rätt
ordning. Det här händer miljarder
gånger om dagen, oavsett om du eller andra
skickar e-post, besöker webbsidor, deltar
i videochatt i en mobilapp eller när sen-
sorer eller enheter på internet pratar med
varandra.