Heddas logga

Webb­utveckling

Heddas logga

Vad är internet?

Internet är inte en pryl. Det är inte någon samling datorer som står i en serverhall någonstans. Internet är kopplingen mellan alla världens datorer.

De flesta hem i västvärlden idag har en router som bildar ett hemnätverk — en sammankoppling av datorerna i hemmet. Det tillåter datorerna i hemmet att kommunicera med varandra. Routern är oftast också kopplad mot resten av internet.

Så skulle en katastrof radera Europa från världskartan så skulle effekten på internet inte vara att allt kollapsa. Istället skulle det leda till att webbtrafik inte skulle kunna gå genom Europa och istället behöva ta andra vägar. Det skulle också leda till att de webbplatser enbart har sina servrar i Europa skulle försvinna från webben. Annars skulle allt annat finnas kvar. Man säger att internet är decentraliserat.

Karta som visar stora nätverkskablar
Karta över stora nätverkskablar i haven.

Om det är någon organisation som kan sägas styras över internet så är det World Wide Web Consortium (W3C) som arbetar med att ta fram standarder för hur webben (World Wide Web) ska fungera. Det är W3C som utvecklar HTML, CSS och JavaScript som är dem tre språk vi kommer att använda under kursen.

Webben vs. internet

I dagligt tal blandar man gärna ihop webben (www) och internet. Men webben är egentligen bara det man når genom sin webbläsare (och då egentligen allt det heller). Medan internet är själva nätverket. Så webben är en del av internet. Ett exempel på något som är en del av internet men inte webben är Snapchat.

Hur man hittar på internet

Precis som byggnader har gatuadresser så har datorer ip-adresser. För att adresserna ska vara vettiga och för att alla paket ska komma fram så behöver varje dator ha en unik ip-adress. Så när man skriver in till exempel www.lund.se så översätts det till en ip-adress så att datorn kan hitta Lunds hemsidas server. Översättningen från text-adress till ip-adress sker med hjälp av en så kallad DNS (Domain Name Server) som fungerar som en adressbok över internet.

En illustration över hur datorn 
				hittar webbplatser

Idag har varje dator en IPv4-adress på formen: 123.231.071.165 med tal mellan 0 och 255. Det ger fyra tal med 256 möjligheter vilket ger 2564=4 294 967 296 möjliga ip-adresser (eller 232). 4,3 miljarder adresser kan låta som offantligt mycket, men det är bara drygt halva jordens befolkning. Så adresserna tar slut om bara varannan person har mer än en pryl uppkopplad mot internet. Och idag har många mer än en pryl. Det kan vara en dator eller telefon. Ni i skolan har till exempel fått var sin dator och många har en telefon.

För att lösa problemet med att ip-adresserna tar slut har man gjort en ny standard, IPv6, som har upp till 2128=340 282 366 920 938 463 463 374 607 431 768 211 456 (340 sextiljoner 282 kvintiljarder 366 kvintiljoner 920 kvadriljarder 938 kvadriljoner 463 triljarder 463 triljoner 374 biljarder 607 biljoner 431 miljarder 768 miljoner 211 tusen 456) unika adresser (340×1036). På engelska så pratar vi om undecilion. De här adresserna lär räcka ett tag. Så många adresser skulle kunna ge 3,4×1017 ip-adresser åt varje stjärnssystem i universum.

Dynamic Host Configuration Protocol

För att alla ska kunna koppla sig till internet idag, trots att vi har fler nätverksenheter än ip-adresser används DHCP, Dynamic Host Configuration Protocol. DHCP delar ut ip-adresser till alla enheter på nätverket och ser till att alla adresser på nätverket är unika. Det geniala DHCP-servrar gör är att de lånar ut ip-adresser till enheterna på nätverket. Det gör att att enheter som just nu inte är på nätverket inte har någon plats och då kan man få in andra andra enheter som kan ta dem platserna. Det gör att vi kan få in fler enheter i IPv4 systemet än vad det egentligen finns platser för.

DHCP är inte hela lösningen på att få IPv4-adresserna att räcka längre, exempelvis behöver enheter inom ett nätverk bara vara unika inom nätverket. I de allra flesta hemma-nätverk så tilldelas enheter adresser mellan 192.168.0.1 till 192.168.0.255. Däremot måste routern sen ha en unik adress utåt. (Ofta ligger den på 192.168.0.1 lokalt).

TCP vs UDP

När ett paket väl har nått datorn så måste den veta vart på datorn det ska ta vägen. Datorns interna adresser kallas för portar och varje dator 131 070 stycken. 65 535 av dessa (hälften) är reserverade för något som kallas TCP förbindningar och lika många är reserverade för UDP. Vill man veta vilka portar som är aktiva just nu (på en Windowsmaskin) kan man skriva "netstat -an" i kommandotolken.

TCP

TCP står för Transmission Control Protocol och är det protokoll som används vid filöverföring och dylikt när det är viktigt att hela filen kommer fram. För att kontrollera att varje paket kommer fram så skickar mottagaren en bekräftelse på att den har tagit emot paketet. Detta brukar kallas för en TCP-handskakning.

UDP

UDP står för User Datagram Protocol och fungerar lite annorlunda jämfört med TCP. Istället för en lång och utdragen handskakning för att se till att allt kommer fram så skickar UDP bara på alla paket. Detta kan leda till att paket försvinner på vägen eller kommer fram i fel ordning. Detta är inte alltid ett problem, utan kan vara ganska användbart i vissa fall när det viktigaste är att tillräckligt mycket kommer fram så snabbt som möjligt. Exempelvis vid streaming.