Datanett og Internett
Hva er egentlig Internett? Hvordan flyttes data fra A til B, hva koster det i tid — og hvorfor er alt organisert i lag?
Hva er Internett?
To komplementære måter å tenke på det samme nettverket.
Internett er noe de fleste bruker i hundrevis av minutter hver dag, men svært få kan gi en presis definisjon av. Det finnes to måter å svare på spørsmålet "hva er Internett?" — og begge er like gyldige. Den første er mutterne-og-boltene-beskrivelsen: hva består det fysisk av? Den andre er tjenestebeskrivelsen: hva tilbyr det til applikasjoner som bruker det?
Mutterne-og-boltene-beskrivelsen
Internett er et nettverk av milliarder av endesystemer (også kalt hosts) koblet sammen via kommunikasjonslinker og pakkesvitsjer. Endesystemene er alt fra laptoper og smarttelefoner til servere, IoT-sensorer og smarte kjøleskap. Linkene — fiber, kobberkabel, radio — binder dem sammen, og pakkesvitsjene (primært rutere og linklagssvitsjer) videresender data mellom dem.
Når et endesystem skal sende data, deles dataene opp i pakker — små biter med en header foran som forteller nettverket hvor de skal. Hver pakke reiser uavhengig gjennom nettverket, hopper fra svitsj til svitsj, og settes sammen igjen hos mottakeren. Endesystemene er koblet til Internett gjennom ISP-er (Internet Service Providers), som igjen er koblet sammen i et hierarki. Hele systemet drives av protokoller — regler for hvordan enheter kommuniserer — der TCP og IP er de to viktigste.
En protokoll definerer formatet og rekkefølgen av meldinger som utveksles mellom to eller flere kommuniserende enheter, samt handlingene som utføres når en melding sendes eller mottas. Uten protokoller ville to maskiner sendt bits til hverandre uten å ha noen felles forståelse av hva de betyr.
Tjenestebeskrivelsen
Fra et applikasjonsperspektiv er Internett en infrastruktur som tilbyr tjenester til distribuerte applikasjoner. E-post, web, videostrømming, nettspill, sosiale medier — alle kjører oppå Internett. Applikasjonene kjører på endesystemene, ikke inne i nettverket, og de kommuniserer med hverandre ved å bruke et socket-grensesnitt. Socketen er "døren" mellom applikasjonen og transportlaget — den lar applikasjonen be om at data skal leveres til en annen maskin, uten å måtte vite noe om rutere og linker underveis.
Tenk på Internett som et postsystem. Du (applikasjonen) legger et brev i postkassen (socketen). Postsystemet (nettverket) tar seg av resten — sortering, transport, levering. Du trenger ikke vite hvilken rute brevet tar eller hvilke lastebiler som brukes. Du stoler på at det finnes et sett med regler (protokoller) som gjør at brevet kommer fram.
Nettverkets ytterkant
Endesystemer, aksessnett og fysiske medier — der du og applikasjonene bor.
Nettverkets ytterkant er der selve handlingen skjer. Det er her laptopen din kjører en nettleser, smarttelefonen strømmer video, og en server svarer på HTTP-forespørsler. Alle disse er endesystemer — de sitter i kanten av nettet og gjør det nyttige arbeidet. Rutere og svitsjer inne i nettverket gjør ingen ting applikasjonen bryr seg om; de bare videresender pakker.
Aksessnett — den siste milen
Aksessnettet er linken mellom endesystemet ditt og den første ruteren (edge router) i nettet. Det er ofte den trangeste og dyreste delen av hele forbindelsen, og det finnes en håndfull teknologier som brukes:
| Teknologi | Medium | Typisk hastighet | Merknader |
|---|---|---|---|
| DSL | Eksisterende telefonlinje (kobber) | 5–35 Mbps ned | Hastighet faller med avstand til sentralen |
| Kabel / HFC | Koaksialkabel + fiber | Opptil 1 Gbps ned | Delt medium — kapasiteten deles med naboene |
| FTTH | Fiber helt hjem | 1–10 Gbps | Dedikert fiber, raskest tilgjengelig |
| WiFi (802.11) | Radio | Opptil 9,6 Gbps (WiFi 6) | Trådløs siste hopp, typisk til kabel/fiber bak |
| 4G / 5G | Radio (mobilnett) | 100 Mbps – 10 Gbps | Mobilbredbånd, dekker store områder |
| Satellitt | Radio (jordbane) | ~100 Mbps (LEO) | Høy latens (GEO) eller lav (LEO, f.eks. Starlink) |
Fysiske medier
Uansett teknologi må bits til syvende og sist reise over et fysisk medium. Vi skiller mellom guidede medier (signalet følger en fysisk leder) og ikke-guidede medier (signalet sprer seg fritt):
Tvunnet parkabel — billig, brukt i Ethernet og DSL, opptil 10 Gbps på kort avstand. Koaksialkabel — brukt i kabel-TV-nett, delt medium, god båndbredde. Fiberkabel — lyspulser i glass, enorm båndbredde, lav demping, immun mot elektromagnetisk interferens.
Jordbølger (WiFi, Bluetooth) — kort rekkevidde, påvirkes av vegger og interferens. Mikrobølger (4G/5G) — lengre rekkevidde, mye brukt i mobilnett. Satellitt — global dekning mulig, men latens er en utfordring (GEO: ~280 ms enveis, ~560 ms RTT).
Nettverkets kjerne
Pakkesvitsjing vs. linjesvitsjing — to fundamentalt forskjellige måter å dele et nettverk.
Kjernen av Internett er et mesh av rutere koblet sammen med høyhastighets fiberlinker. Ingen endesystemer bor her — bare svitsjer som videresender pakker. Men hvordan de videresender, følger ett av to prinsipper som er verdt å forstå grundig, fordi de definerer alt som skjer oppover.
Pakkesvitsjing (packet switching)
Internett bruker pakkesvitsjing. Data deles opp i pakker som sendes uavhengig gjennom nettverket. Hver ruter som mottar en pakke, lagrer den helt (store), sjekker destinasjonen, og sender den videre til neste ruter (forward). Dette kalles store-and-forward: hele pakken må være mottatt før den kan sendes videre.
Hvis en pakke er L bits lang og linkhastigheten er R bits/sekund, tar det L/R sekunder å transmittere pakken ut på linken. Og ruteren kan ikke begynne å sende den videre før den har mottatt alt — altså etter ytterligere L/R sekunder. For én pakke over N linker blir total forsinkelse N × L/R.
Steg 1 av 4
Linjesvitsjing (circuit switching)
Det tradisjonelle telefonnettet bruker linjesvitsjing. Før samtalen starter, settes det opp en dedikert forbindelse (krets) hele veien fra sender til mottaker. Ressursene (båndbredde, tidsluke, frekvensbånd) reserveres og er garantert tilgjengelige under hele samtalen — men de er også blokkerte for alle andre, selv om du er stille.
Ressursene i en krets kan deles opp på to måter:
Frekvensbåndet deles i smale bånd. Hver samtale får sitt eget frekvensbånd. Alle sender samtidig, men på ulike frekvenser.
Tiden deles i rammer med faste tidsluker. Hver samtale får sin tidsluke i hver ramme. Alle deler samme frekvens, men sender i tur.
Hvorfor vant pakkesvitsjing?
Svaret er statistisk multipleksing. Brukere er sjelden aktive hele tiden — du veksler mellom å lese en side, klikke en link, vente. Med pakkesvitsjing deles nettverkets kapasitet dynamisk: når du er stille bruker andre kapasiteten. Med linjesvitsjing ville den reserverte kapasiteten ligge ubrukt. Resultatet er at pakkesvitsjing kan betjene langt flere brukere enn linjesvitsjing for samme mengde nettverksressurser.
En link med 1 Mbps kapasitet. Hver bruker trenger 100 kbps når den er aktiv, men er bare aktiv 10% av tiden. Med linjesvitsjing (TDM): 10 brukere maks. Med pakkesvitsjing: 35 brukere kan bruke linken, og sannsynligheten for at mer enn 10 er aktive samtidig er under 0,04%. Pakkesvitsjing vinner med 3,5× flere brukere — for et svært lite tap av garanti.
Nettverk av nettverk
Internett er ikke ett enkelt nett, men et nettverk av nettverk. Millioner av aksess-ISP-er (Telenor, Telia, din lokale fiberleverandør) kobler endesystemer til. Disse aksess-ISP-ene er igjen koblet til regionale ISP-er, som kobler seg opp til et lite antall Tier 1-ISP-er (f.eks. Lumen, NTT, Telia Carrier) som har global rekkevidde. I tillegg finnes IXP-er (Internet Exchange Points) der ISP-er møtes og utveksler trafikk direkte, og store innholdsleverandører som Google og Netflix bygger sine egne private nettverk for å nå brukerne raskere.
Forsinkelse, tap og gjennomstrømning
De fire komponentene som til sammen utgjør forsinkelsen — og hvorfor pakker noen ganger forsvinner.
Når en pakke reiser fra A til B, bruker den tid. Denne forsinkelsen er ikke én ting — den er summen av fire forskjellige komponenter, hver med sin egen årsak og oppførsel. Å forstå disse fire er nøkkelen til å forstå hvorfor nettverket noen ganger føles tregt.
De fire forsinkelseskomponentene
Tiden ruteren bruker på å undersøke pakkens header, sjekke for bitfeil, og bestemme hvilken utgangslink pakken skal til. Typisk mikrosekunder — neglisjerbar i de fleste sammenhenger.
Tiden pakken venter i ruterkøen før den får slippe ut på linken. Avhenger av hvor mange andre pakker som allerede venter. Kan variere fra null (ingen kø) til millisekunder (lang kø), og er den eneste av de fire som er fundamentalt uforutsigbar.
Tiden det tar å presse alle bits ut på linken. Avhenger av pakkens lengde L og linkens hastighet R: d_trans = L / R. En 1500 byte-pakke på en 1 Gbps-link: 12 µs. Samme pakke på en 1 Mbps-link: 12 ms — tusen ganger mer.
Tiden signalet bruker på å reise fysisk gjennom mediet — i kobber eller fiber med omtrent 2 × 10⁸ m/s. d_prop = avstand / hastighet. Norge til USA (~6000 km): ~30 ms. Samme rom: neglisjerbar. Denne forsinkelsen kan du ikke redusere uten å flytte maskinene nærmere.
Total nodeforsinkelse for én ruter blir altså:
d_nodal = d_proc + d_queue + d_trans + d_prop
Interaktiv kalkulator
Køforsinkelse og trafikk-intensitet
Køforsinkelsen er den mest interessante av de fire, fordi den er den eneste som eksploderer under belastning. Vi måler belastningen med trafikk-intensiteten:
Trafikk-intensitet = (L × a) / R
Der a er gjennomsnittlig antall pakker som ankommer per sekund. Når trafikk-intensiteten nærmer seg 1, vokser køforsinkelsen mot uendelig. Over 1 vokser køen raskere enn den tømmes — pakker droppes fordi bufferet er fullt. Dette er pakketap.
Ende-til-ende-forsinkelse
Over en hel rute med N linker (og N−1 rutere) summeres forsinkelsene. Hvis alle linker er like:
d_end-to-end = N × (d_proc + d_queue + d_trans + d_prop)
Gjennomstrømning (throughput)
Gjennomstrømning er den effektive raten data leveres fra sender til mottaker, målt i bits per sekund. For en rute med flere linker er gjennomstrømningen begrenset av den trangeste linken — flaskehalsen (bottleneck link). Hvis du har en 1 Gbps-fiber hjemme men serveren sender over en 10 Mbps-link, er gjennomstrømningen din 10 Mbps.
I praksis er flaskehalsen oftest i aksessnettet (siste mil) eller på selve serveren, ikke i nettverkskjernen der linkene er enormt raske.
Måle forsinkelse i praksis: traceroute og ping
Hvordan vet du egentlig hva forsinkelsen er på en gitt rute? To klassiske verktøy lar deg finne ut av det:
Sender serier med spesielle pakker som «utløper» ved hver ruter langs ruten til en destinasjon. Hver ruter som pakken passerer sender en feilmelding tilbake, og traceroute måler rundturstiden (RTT) til hver enkelt ruter. Resultatet er en liste over alle rutere på veien og forsinkelsen til hver av dem — slik at du kan se hvor forsinkelsen oppstår.
Sender en enkel ICMP Echo Request-pakke til en destinasjon og måler tiden det tar å få svar (RTT). Det er den raskeste måten å sjekke om en host er tilgjengelig og hvor lang forsinkelsen er. ping viser også om pakker går tapt, noe som indikerer nettverksproblemer.
traceroute noen ganger viser «* * *» for enkelte hopp.En pakke på 1000 bytes sendes over en link med kapasitet 10 Mbps. Hva er transmisjonsforsinkelsen?
Protokoll-lag og tjenestemodeller
Hvorfor all nettverkskommunikasjon er organisert i en stabel av lag — og hva hvert lag gjør.
Et datanett er enormt komplekst: det må håndtere alt fra elektromagnetiske signaler i en kabel til videostrømming i en nettleser. For å temme denne kompleksiteten deler vi funksjonaliteten i lag, der hvert lag tilbyr en tjeneste til laget over, og bruker tjenestene til laget under. Det er som et postsystem der du aldri snakker med sjåføren — du legger brevet i postkassen, og hvert mellomledd tar seg av sin del.
Internettets fem lag
| # | Lag | Protokoller (eksempler) | Ansvar |
|---|---|---|---|
| 5 | Applikasjonslaget | HTTP, SMTP, DNS, FTP | Meldinger mellom applikasjoner |
| 4 | Transportlaget | TCP, UDP | Ende-til-ende-datalevering mellom prosesser |
| 3 | Nettverkslaget | IP, ICMP | Ruting av pakker (datagrammer) fra kilde til mål |
| 2 | Lenkelaget | Ethernet, WiFi (802.11) | Overføring av rammer mellom nabonoder |
| 1 | Fysisk lag | — | Bits over et fysisk medium (spenninger, lyspulser, radiobølger) |
OSI-modellen — syv lag
Den alternative OSI-referansemodellen (Open Systems Interconnection) har syv lag i stedet for fem. De to ekstra lagene — presentasjonslaget og sesjonslaget — ligger mellom applikasjons- og transportlaget. I Internett er disse funksjonene (datakompresjon, kryptering, sesjonsadministrasjon) overlatt til applikasjonen selv, og lagene eksisterer ikke som separate enheter. OSI er viktig som historisk referanse og i akademisk sammenheng, men i praksis er det femlagsmodellen som beskriver det virkelige Internett.
Enkapsulering — lag pakker inn i lag
Den mest elegante konsekvensen av lagdelingen er enkapsulering. Når applikasjonen sender en melding, pakker transportlaget den inn i et segment ved å legge til sin egen header. Nettverkslaget pakker segmentet inn i et datagram med IP-header. Lenkelaget pakker datagrammet inn i en ramme med sin header (og trailer). Hvert lag ser bare sin egen header — det som er inni er "bare data" fra lagets perspektiv.
Enkapsulering betyr at hvert lag er uavhengig. Du kan bytte ut Ethernet med WiFi på lenkelaget uten at TCP bryr seg. Du kan legge til kryptering i applikasjonen uten at IP vet om det. Lagene er som legoklossen — de kan kombineres fritt, så lenge grensesnittet mellom dem respekteres.
I Internettets femlagsmodell — hvilket lag er ansvarlig for å rute pakker fra kilde til destinasjon gjennom nettverket?
Nettverk under angrep
Internett ble ikke designet med sikkerhet i tankene — og angriperne har utnyttet det fra starten.
De tidlige designerne av Internett tenkte på robusthet og åpenhet, ikke sikkerhet. Resultatet er at angrepsflatene er mange og alvorlige. Her er de viktigste kategoriene du bør kjenne til allerede nå — vi går dypere i kapittel 8.
Malware
Ondsinnet programvare som infiserer endesystemer. Virus sprer seg ved å legge seg inn i filer brukeren aktivt åpner. Ormer sprer seg selv uten brukerinteraksjon — de utnytter sårbarheter i nettverkstjenester og kan infisere tusenvis av maskiner på minutter. Når en maskin er infisert, kan den bli en del av et botnett — et nettverk av kompromitterte maskiner som fjernkontrolleres.
Tjenestenektangrep (DoS / DDoS)
Målet er å gjøre en tjeneste utilgjengelig for legitime brukere. I et DoS-angrep oversvømmer angriperen målet med trafikk, slik at serveren eller nettverket er for opptatt til å betjene ekte forespørsler. I et DDoS-angrep (Distributed DoS) kommer trafikken fra tusenvis av maskiner i et botnett — mye vanskeligere å stoppe fordi angrepstrafikken ser ut som vanlig trafikk fra mange ulike kilder.
Sårbarhetsutnyttelse: Send spesielt utformede meldinger som krasjer tjenesten. Båndbreddeflom: Send en massiv mengde pakker som fyller opp linkens kapasitet. Tilkoblingsflom: Opprett et enormt antall halvåpne TCP-forbindelser som bruker opp serverens ressurser (SYN flooding).
Pakkesniffing
En passiv mottaker som lytter på trafikk som går forbi — spesielt farlig på delte medier som WiFi. En sniffer kan fange opp passord, e-poster og alt annet som sendes ukryptert. Løsningen er kryptering (TLS/HTTPS), men mange protokoller sender fortsatt data i klartekst.
IP-spoofing
Angriperen lager pakker med en falsk avsender-IP-adresse. Mottakeren tror pakken kom fra noen andre. Dette brukes i refleksjonsangrep (DDoS), phishing, og for å omgå tilgangskontroller som er basert på IP-adresser.
Internettets historie
Fra ARPANET med fire noder til et nettverk med milliarder av enheter — på femti år.
Historien om Internett er historien om en idé som viste seg å være uovervinnelig: at man kunne bygge et pålitelig kommunikasjonssystem ut av upålitelige deler, ved å dele informasjonen i pakker og la dem finne sin egen vei. Idéen vokste fra militærforskning til verdens mest gjennomgripende infrastruktur.
1960-tallet: pakkesvitsjingens fødsel
Tre forskningsgrupper — MIT/DARPA i USA, NPL i England, og RAND i USA — kom uavhengig fram til idéen om pakkesvitsjing. I 1969 ble ARPANET satt i drift med fire noder (UCLA, SRI, UCSB, Utah). Det var verdens første pakkesvitsjede nettverk, og det fungerte.
1970-tallet: flere nett, behov for inter-netting
Det dukket opp flere pakkesvitsjede nettverk: ALOHAnet (Hawaii, trådløst), Telenet (kommersielt), Cyclades (Frankrike). Problemet var at de ikke kunne snakke med hverandre. Vinton Cerf og Bob Kahn designet TCP/IP for å koble ulike nettverk sammen — inter-networking — og publiserte arkitekturen i 1974.
1980-tallet: TCP/IP og DNS
1. januar 1983 — "flag day" — byttet ARPANET offisielt til TCP/IP. DNS ble innført for å oversette navn til IP-adresser. Universitetsnettverkene (NSFNET) vokste eksplosivt, og e-post ble den første "killer app".
1990-tallet: World Wide Web og kommersialisering
Tim Berners-Lee ved CERN oppfant World Wide Web i 1989–91: HTTP, HTML, og den første nettleseren. Mosaic-nettleseren (1993) og Netscape (1994) brakte webben til massene. NSFNET ble dekommisjonert i 1995, og Internett ble fullstendig kommersialisert. Dot-com-boomen brakte enorme investeringer i nettverksinfrastruktur.
2000-tallet og fremover
Bredbånd erstattet oppringt tilkobling. WiFi og smarttelefoner gjorde Internett mobilt. Sosiale medier, skybaserte tjenester, strømmetjenester og IoT eksploderte. I dag er over 5 milliarder mennesker koblet til Internett, og mengden trafikk dobles omtrent hvert tredje år. De underliggende protokollene — TCP, IP, DNS, HTTP — er bemerkelsesverdig uforandret fra da de ble designet.
Hva er den viktigste fordelen med pakkesvitsjing over linjesvitsjing?
Hva er enkapsulering i konteksten av nettverksprotokoller?
Forklar forskjellen mellom transmisjonsforsinkelse og propageringsforsinkelse med en analogi.
Vis foreslått svar
Tenk på en karavane med 10 biler som skal gjennom en bomstasjon og deretter kjøre 100 km til neste bomstasjon. Transmisjonsforsinkelsen tilsvarer tiden det tar for alle bilene å passere gjennom bommen (avhenger av hvor raskt bommen behandler biler — dvs. linkhastigheten R og antall bits L). Propageringsforsinkelsen tilsvarer tiden det tar for én bil å kjøre de 100 km (avhenger av avstanden og hastigheten til signalet i mediet). De to er helt uavhengige: du kan gjøre bommen raskere uten å forkorte veien, og du kan forkorte veien uten å gjøre bommen raskere.
Hvorfor bruker Internett pakkesvitsjing i stedet for linjesvitsjing? Nevn minst én ulempe med pakkesvitsjing.
Vis foreslått svar
Pakkesvitsjing brukes fordi den utnytter nettverksressursene langt bedre gjennom statistisk multipleksing: siden brukere sjelden er aktive samtidig, kan kapasiteten deles dynamisk. Samme link kan betjene mange flere brukere enn med linjesvitsjing, der ressursene reserveres og ligger ubrukt når en bruker er inaktiv.
Ulemper: Pakkesvitsjing gir ingen garantier for forsinkelse eller båndbredde — køforsinkelsen er uforutsigbar, og pakker kan gå tapt (droppes) når ruterkøene er fulle. Dette gjør det vanskeligere å tilby tjenester som krever sanntidsgarantier (f.eks. tradisjonell telefoni).
Hva skjer med køforsinkelsen når trafikk-intensiteten (La/R) nærmer seg 1? Og hva skjer når den overstiger 1?
Vis foreslått svar
Når trafikk-intensiteten nærmer seg 1 (dvs. pakker ankommer nesten like raskt som de sendes ut), vokser den gjennomsnittlige køforsinkelsen dramatisk — den går mot uendelig. Små tilfeldige variasjoner i ankomsttidene fører til at køen vokser raskere enn den rekker å tømmes.
Når trafikk-intensiteten overstiger 1, ankommer pakker raskere enn linken klarer å sende dem ut. Køen vokser ubegrenset — men siden bufferet har en endelig størrelse, vil pakker som ikke får plass bli droppet (pakketap). Å designe nettverk slik at trafikk-intensiteten holdes godt under 1 er derfor essensielt.