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 ö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.
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.