Tilbake
7.2
Internett og kommunikasjonsprotokoller

7.2 Internett og kommunikasjonsprotokoller

Lær om TCP/IP, HTTP/HTTPS, DNS og lagdelingen i nettverksmodellene.

60 min
7 oppgaver
ProtokollTCP/IPHTTP/HTTPSDNS
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 7 oppgaver

Internett og kommunikasjonsprotokoller

Internett kobler sammen milliarder av enheter over hele verden – datamaskiner, mobiltelefoner, servere, smarthøyttalere og mye mer. Men hvordan kan så forskjellige enheter, laget av ulike produsenter og med ulike operativsystemer, kommunisere sømløst med hverandre? Svaret er protokoller – standardiserte regler som alle enheter følger.

En god analogi er postverket: Når du sender et brev, følger du bestemte regler – du skriver adressen på en bestemt måte, bruker frimerke, og posten sørger for levering. Internett-protokoller fungerer på samme måte, men for digital kommunikasjon. Protokollene definerer hvordan data pakkes, adresseres, sendes og mottas. I dette kapittelet skal vi utforske de viktigste protokollene og lagmodellene som gjør internett mulig.

Kommunikasjonsprotokoll

En kommunikasjonsprotokoll er et formelt sett med regler og konvensjoner som bestemmer hvordan data utveksles mellom enheter i et nettverk. Protokollen spesifiserer dataformat, rekkefølge på meldinger, handlinger ved sending og mottak, og håndtering av feil. Protokoller er nødvendige for at enheter fra ulike produsenter skal kunne kommunisere – de er som et felles språk som alle nettverksenheter snakker. De viktigste protokollene på internett er organisert i lagmodeller der hver protokoll har et avgrenset ansvarsområde.

TCP/IP er protokollparet som er fundamentet for all kommunikasjon på internett. Navnet refererer til to separate protokoller som samarbeider tett:

IP – Internet Protocol

IP tar seg av adressering og ruting. Hver enhet på internett har en IP-adresse, og IP-protokollen sørger for at datapakker sendes til riktig mottaker. IP er en forbindelsesløs protokoll – den sender pakker uavhengig av hverandre uten å opprette en fast forbindelse mellom avsender og mottaker. Hver pakke kan ta ulik vei gjennom nettverket.

IP gir ingen garanti for at pakker kommer frem – de kan gå tapt, komme i feil rekkefølge eller dupliseres. Det er her TCP kommer inn.

TCP – Transmission Control Protocol

TCP sørger for pålitelig levering av data. TCP bygger en logisk forbindelse mellom avsender og mottaker og sikrer at:

- Data deles opp i segmenter som nummereres
- Mottakeren bekrefter mottak av hvert segment (ACK – acknowledgement)
- Tapte segmenter sendes på nytt automatisk
- Segmenter settes sammen i riktig rekkefølge hos mottakeren
- Flytkontroll hindrer at mottakeren oversvømmes med data

Treveis håndtrykk

Før TCP kan sende data, opprettes en forbindelse gjennom et treveis håndtrykk (three-way handshake):

1. SYN: Klienten sender en SYN-pakke (synchronize) til serveren: «Jeg vil koble meg til»
2. SYN-ACK: Serveren svarer med SYN-ACK: «OK, jeg er klar»
3. ACK: Klienten bekrefter med ACK: «Flott, la oss starte»

Etter dette kan data sendes pålitelig begge veier. Når kommunikasjonen er ferdig, lukkes forbindelsen med en tilsvarende prosess.

UDP – et alternativ til TCP

UDP (User Datagram Protocol) er en enklere transportprotokoll som ikke garanterer pålitelig levering. UDP sender pakker uten bekreftelse, feilretting eller rekkefølgekontroll. Dette gjør UDP raskere enn TCP, men mindre pålitelig.

UDP brukes der hastighet er viktigere enn at alle data kommer frem:
- Videostrømming – det er bedre med et bilde som hopper enn å vente på nytt forsøk
- Online spill – lav forsinkelse er kritisk
- DNS-oppslag – små, raske forespørsler
- VoIP (internetttelefoni) – sanntidslyd tåler ikke forsinkelser

✏️Eksempel: Hvordan en e-post reiser over internett

La oss følge en e-post fra Kristine i Oslo til Lars i Bergen og se hvilke protokoller som brukes:

1. Applikasjonslaget: Kristine skriver e-posten i Gmail. Når hun trykker «Send», bruker Gmail SMTP-protokollen for å sende e-posten til Googles e-postserver.

2. Transportlaget: TCP deler e-posten opp i segmenter, nummererer dem og legger til feilsjekk. TCP oppretter en forbindelse til mottakerserveren via treveis håndtrykk.

3. Nettverkslaget: IP legger til avsender- og mottaker-IP-adresse på hvert segment og gjør dem til datapakker. Ruterne på internett bruker IP-adressene til å videresende pakkene mot Bergen.

4. Datalinklaget/fysisk lag: Pakkene konverteres til elektriske signaler i Ethernet-kabelen, lyssignaler i fiberoptisk kabel, eller radiosignaler i trådløse forbindelser.

5. Hos mottaker: Pakkene ankommer Lars' e-postserver (kanskje i et datasenter i Sverige). De settes sammen i riktig rekkefølge av TCP. E-posten lagres på serveren og er klar for Lars å lese via IMAP-protokollen.

Hele prosessen tar typisk under et sekund, selv om pakkene kanskje reiser via rutere i flere land.

For å forstå den komplekse kommunikasjonen i nettverk bruker vi lagmodeller som deler nettverksfunksjonene inn i separate lag. Hvert lag har et bestemt ansvarsområde og kommuniserer med lagene over og under. Det finnes to viktige lagmodeller:

OSI-modellen (7 lag)

OSI-modellen (Open Systems Interconnection) er en teoretisk referansemodell utviklet av ISO. Den deler nettverkskommunikasjon inn i syv lag:

LagNavnFunksjonEksempler
7ApplikasjonslagGrensesnitt mot brukerapplikasjonerHTTP, SMTP, DNS, FTP
6PresentasjonslagDataformat, kryptering, komprimeringSSL/TLS, JPEG, ASCII
5SesjonslagOppretter og vedlikeholder sesjonerNetBIOS, RPC
4TransportlagPålitelig dataoverføring mellom endepunkterTCP, UDP
3NettverkslagAdressering og ruting mellom nettverkIP, ICMP
2DatalinklagPålitelig overføring innenfor ett nettverkssegmentEthernet, Wi-Fi
1Fysisk lagFysisk overføring av biterKabler, signaler, kontakter

En enkel huskeregel for lagene (ovenfra og ned) er: «All People Seem To Need Data Processing» – Application, Presentation, Session, Transport, Network, Data Link, Physical.

TCP/IP-modellen (4 lag)


TCP/IP-modellen er den praktiske modellen som internett faktisk bruker. Den slår sammen noen av OSI-lagene:
TCP/IP-lagTilsvarende OSI-lagFunksjonEksempler
ApplikasjonslagLag 5–7ApplikasjonsprotokollHTTP, DNS, SMTP
TransportlagLag 4Pålitelig transportTCP, UDP
InternettlagLag 3Adressering og rutingIP, ICMP
NettverksaksesslagLag 1–2Fysisk tilkoblingEthernet, Wi-Fi

TCP/IP-modellen er enklere og mer praktisk enn OSI-modellen, og den beskriver bedre hvordan internett faktisk fungerer. OSI-modellen brukes likevel mye som referanse for å diskutere og feilsøke nettverksproblemer.

Innkapsling


Når data sendes nedover lagene, legger hvert lag til sin egen header (kontrollinformasjon) rundt dataene. Dette kalles innkapsling (encapsulation):
- Applikasjonslaget lager en melding (f.eks. en HTTP-forespørsel)

- Transportlaget legger til TCP-header med portnumre og sekvensnumre → kalles et segment

- Nettverkslaget legger til IP-header med IP-adresser → kalles en pakke

- Datalinklaget legger til Ethernet-header med MAC-adresser → kalles en ramme (frame)

- Fysisk lag konverterer alt til biter og sender dem som signaler
Hos mottakeren skjer prosessen i motsatt rekkefølge – hvert lag fjerner sin header og sender dataene oppover til neste lag.

HTTP (Hypertext Transfer Protocol) er protokollen som driver webben. Når du besøker en nettside, bruker nettleseren HTTP for å kommunisere med webserveren. HTTP bruker en enkel forespørsel-svar-modell:

HTTP-metoder

De viktigste HTTP-metodene er:

- GET – Hent en ressurs (nettside, bilde, fil). Den desidert vanligste metoden
- POST – Send data til serveren (skjemadata, innlogging, filopplasting)
- PUT – Oppdater en eksisterende ressurs
- DELETE – Slett en ressurs
- HEAD – Som GET, men henter bare headers (brukes for å sjekke om en ressurs finnes)

HTTP-statuskoder

Serveren svarer alltid med en statuskode som forteller hvordan forespørselen gikk:

- 2xx Suksess: 200 OK (alt gikk bra), 201 Created (ny ressurs opprettet)
- 3xx Omdirigering: 301 Moved Permanently (siden har flyttet), 304 Not Modified (bruk cached versjon)
- 4xx Klientfeil: 400 Bad Request (ugyldig forespørsel), 403 Forbidden (ingen tilgang), 404 Not Found (finnes ikke)
- 5xx Serverfeil: 500 Internal Server Error (noe gikk galt på serveren), 503 Service Unavailable (serveren er overbelastet)

HTTPS – sikker web

HTTPS (HTTP Secure) legger til kryptering med TLS (Transport Layer Security) oppå HTTP. Når du ser hengelåsikonet i nettleseren og URL-en starter med https://, betyr det at:

1. All kommunikasjon mellom nettleseren og serveren er kryptert – ingen kan avlytte
2. Serverens identitet er verifisert med et digitalt sertifikat
3. Dataene er integritetsbeskyttet – ingen kan endre dem underveis

HTTPS bruker en TLS-handshake for å etablere en kryptert forbindelse:
1. Nettleseren kobler seg til serveren og ber om HTTPS
2. Serveren sender sitt digitale sertifikat med sin offentlige nøkkel
3. Nettleseren verifiserer sertifikatet mot kjente sertifikatutstedere (CA)
4. Nettleseren og serveren forhandler om en sesjonsnøkkel for symmetrisk kryptering
5. All videre kommunikasjon krypteres med sesjonsnøkkelen

I dag bruker over 95 % av alle nettsider HTTPS, og nettlesere markerer HTTP-sider som «Ikke sikker».

DNS (Domain Name System) er internettets navnetjeneste som oversetter domenenavn til IP-adresser. Uten DNS måtte du huske IP-adresser for å besøke nettsider – for eksempel 195.88.55.16 i stedet for www.vg.no.

Hierarkisk oppbygging

DNS er organisert som et omvendt tre med flere nivåer:

1. Rotsonen (.): De 13 rotservergruppene som er utgangspunktet for alle DNS-oppslag
2. Toppdomener (TLD): .no, .com, .org, .edu, .net, .uk, osv.
3. Andrenivsdomener: nrk.no, google.com, uio.no
4. Subdomener: www.nrk.no, mail.google.com, nettbank.dnb.no

DNS-oppslag steg for steg

Når du skriver www.nrk.no i nettleseren:

1. Nettleseren sjekker sin lokale cache – kanskje den husker IP-adressen fra sist
2. Hvis ikke, spør den operativsystemets DNS-cache
3. Operativsystemet sender forespørselen til din konfigurerte DNS-resolver (vanligvis hos internettleverandøren)
4. DNS-resolveren spør en rotserver: «Hvem vet om .no?»
5. Rotserveren peker til .no-toppdomeneserveren
6. Resolveren spør .no-serveren: «Hvem vet om nrk.no?»
7. .no-serveren peker til NRKs autoritative navneserver
8. Resolveren spør NRKs navneserver: «Hva er IP-adressen til www.nrk.no?»
9. Navneserveren svarer med IP-adressen
10. IP-adressen caches og returneres til nettleseren

Hele prosessen tar vanligvis under 100 millisekunder. Caching gjør at de fleste oppslag er mye raskere fordi resultatet allerede er lagret fra et tidligere besøk.

DNS-poster

En DNS-server inneholder ulike typer poster (records):

- A-post: Kobler et domenenavn til en IPv4-adresse
- AAAA-post: Kobler et domenenavn til en IPv6-adresse
- CNAME-post: Kobler et domenenavn til et annet domenenavn (alias)
- MX-post: Angir e-postserveren for domenet
- TXT-post: Tekstinformasjon, ofte brukt til verifisering og sikkerhet (SPF, DKIM)
- NS-post: Angir autoritative navneservere for domenet

📝Oppgave 7.2.1

Hva er hovedforskjellen mellom TCP og UDP?

📝Oppgave 7.2.2

Hva er DNS sin hovedoppgave?

📝Oppgave 7.2.3

Hva skjer under et TCP treveis håndtrykk (three-way handshake)?

📝Oppgave 7.2.4

Hvilken HTTP-statuskode betyr at siden ikke ble funnet på serveren?

📝Oppgave 7.2.5

Forklar lagene i TCP/IP-modellen. Beskriv hvert lag, dets funksjon og gi eksempler på protokoller som hører hjemme i hvert lag. Sammenlign kort med OSI-modellen.

📝Oppgave 7.2.6

Hva er innkapsling (encapsulation) i nettverkssammenheng?

📝Oppgave 7.2.7

Beskriv det fullstendige forløpet når du skriver www.yr.no i nettleseren og trykker Enter, helt til værmeldingen vises på skjermen. Inkluder DNS-oppslag, TCP-håndtrykk, TLS-handshake, HTTP-forespørsel og -svar i forklaringen. Bruk gjerne referanser til TCP/IP-modellens lag.

Oppsummering

I dette kapittelet har du lært:

- Kommunikasjonsprotokoll: regler for datautveksling.
- TCP/IP: pålitelig levering og adressering.
- Treveis håndtrykk: oppretter en TCP-forbindelse.
- Lagmodeller: OSI (7 lag) og TCP/IP (4 lag).
- HTTP, HTTPS og DNS: protokoller for web og navneoppslag.

Noekkelbegreper


BegrepForklaring
ProtokollRegelsett for datautveksling i nettverk
TCPPålitelig, ordnet dataoverfoering
IPProtokoll for adressering og ruting

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.