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 kommunikasjonsprotokollar

Internett koplar saman milliardar av einingar over heile verda – datamaskiner, mobiltelefonar, serverar, smarthøgtalarar og mykje meir. Men korleis kan så ulike einingar, laga av ulike produsentar og med ulike operativsystem, kommunisere saumlaust med kvarandre? Svaret er protokollar – standardiserte reglar som alle einingar følgjer.

Ein god analogi er postverket: Når du sender eit brev, følgjer du bestemte reglar – du skriv adressa på ein bestemt måte, brukar frimerke, og posten sørgjer for levering. Internett-protokollar fungerer på same måte, men for digital kommunikasjon. Protokollane definerer korleis data blir pakka, adresserte, sende og mottekne. I dette kapittelet skal vi utforske dei viktigaste protokollane og lagmodellane som gjer internett mogleg.

Kommunikasjonsprotokoll

Ein kommunikasjonsprotokoll er eit formelt sett med reglar og konvensjonar som bestemmer korleis data blir utveksla mellom einingar i eit nettverk. Protokollen spesifiserer dataformat, rekkjefølgje på meldingar, handlingar ved sending og mottak, og handtering av feil. Protokollar er nødvendige for at einingar frå ulike produsentar skal kunne kommunisere – dei er som eit felles språk som alle nettverkseiningar snakkar. Dei viktigaste protokollane på internett er organiserte i lagmodellar der kvar protokoll har eit avgrensa ansvarsområde.

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

IP – Internet Protocol

IP tek seg av adressering og ruting. Kvar eining på internett har ei IP-adresse, og IP-protokollen sørgjer for at datapakkar blir sende til rett mottakar. IP er ein sambandslaus protokoll – han sender pakkar uavhengig av kvarandre utan å opprette eit fast samband mellom avsendar og mottakar. Kvar pakke kan ta ulik veg gjennom nettverket.

IP gir ingen garanti for at pakkar kjem fram – dei kan gå tapt, kome i feil rekkjefølgje eller bli dupliserte. Det er her TCP kjem inn.

TCP – Transmission Control Protocol

TCP sørgjer for påliteleg levering av data. TCP byggjer eit logisk samband mellom avsendar og mottakar og sikrar at:

- Data blir delte opp i segment som blir nummererte
- Mottakaren stadfestar mottak av kvart segment (ACK – acknowledgement)
- Tapte segment blir sende på nytt automatisk
- Segment blir sette saman i rett rekkjefølgje hos mottakaren
- Flytkontroll hindrar at mottakaren blir oversymja med data

Treveis handtrykk

Før TCP kan sende data, blir eit samband oppretta gjennom eit treveis handtrykk (three-way handshake):

1. SYN: Klienten sender ein SYN-pakke (synchronize) til serveren: «Eg vil kople meg til»
2. SYN-ACK: Serveren svarar med SYN-ACK: «OK, eg er klar»
3. ACK: Klienten stadfestar med ACK: «Flott, lat oss starte»

Etter dette kan data sendast påliteleg begge vegar. Når kommunikasjonen er ferdig, blir sambandet lukka med ein tilsvarande prosess.

UDP – eit alternativ til TCP

UDP (User Datagram Protocol) er ein enklare transportprotokoll som ikkje garanterer påliteleg levering. UDP sender pakkar utan stadfesting, feilretting eller rekkjefølgjekontroll. Dette gjer UDP raskare enn TCP, men mindre påliteleg.

UDP blir brukt der fart er viktigare enn at alle data kjem fram:
- Videostrøyming – det er betre med eit bilete som hoppar enn å vente på nytt forsøk
- Online spel – låg forseinking er kritisk
- DNS-oppslag – små, raske førespurnader
- VoIP (internett-telefoni) – sanntidslyd toler ikkje forseinkingar

✏️Døme: Korleis ein e-post reiser over internett

Lat oss følgje ein e-post frå Kristine i Oslo til Lars i Bergen og sjå kva protokollar som blir brukte:

1. Applikasjonslaget: Kristine skriv e-posten i Gmail. Når ho trykkjer «Send», brukar Gmail SMTP-protokollen for å sende e-posten til e-postserveren til Google.

2. Transportlaget: TCP deler e-posten opp i segment, nummererer dei og legg til feilsjekk. TCP opprettar eit samband til mottakarserveren via treveis handtrykk.

3. Nettverkslaget: IP legg til avsendar- og mottakar-IP-adresse på kvart segment og gjer dei til datapakkar. Rutarane på internett brukar IP-adressene til å sende pakkane vidare mot Bergen.

4. Datalinklaget/fysisk lag: Pakkane blir konverterte til elektriske signal i Ethernet-kabelen, lyssignal i fiberoptisk kabel, eller radiosignal i trådlause samband.

5. Hos mottakar: Pakkane kjem til e-postserveren til Lars (kanskje i eit datasenter i Sverige). Dei blir sette saman i rett rekkjefølgje av TCP. E-posten blir lagra på serveren og er klar for Lars å lese via IMAP-protokollen.

Heile prosessen tek typisk under eit sekund, sjølv om pakkane kanskje reiser via rutarar i fleire land.

For å forstå den komplekse kommunikasjonen i nettverk brukar vi lagmodellar som deler nettverksfunksjonane inn i separate lag. Kvart lag har eit bestemt ansvarsområde og kommuniserer med laga over og under. Det finst to viktige lagmodellar:

OSI-modellen (7 lag)

OSI-modellen (Open Systems Interconnection) er ein teoretisk referansemodell utvikla av ISO. Han deler nettverkskommunikasjon inn i sju 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

Ein enkel hugseregel for laga (ovanfrå 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 brukar. Han slår saman nokre av OSI-laga:
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 enklare og meir praktisk enn OSI-modellen, og han skildrar betre korleis internett faktisk fungerer. OSI-modellen blir likevel mykje brukt som referanse for å diskutere og feilsøkje nettverksproblem.

Innkapsling


Når data blir sende nedover laga, legg kvart lag til sin eigen header (kontrollinformasjon) rundt dataa. Dette blir kalla innkapsling (encapsulation):
- Applikasjonslaget lagar ei melding (t.d. ein HTTP-førespurnad)

- Transportlaget legg til TCP-header med portnummer og sekvensnummer → blir kalla eit segment

- Nettverkslaget legg til IP-header med IP-adresser → blir kalla ein pakke

- Datalinklaget legg til Ethernet-header med MAC-adresser → blir kalla ei ramme (frame)

- Fysisk lag konverterer alt til bitar og sender dei som signal
Hos mottakaren skjer prosessen i motsett rekkjefølgje – kvart lag fjernar sin header og sender dataa oppover til neste lag.

HTTP (Hypertext Transfer Protocol) er protokollen som driv webben. Når du besøkjer ei nettside, brukar nettlesaren HTTP for å kommunisere med webserveren. HTTP brukar ein enkel førespurnad-svar-modell:

HTTP-metodar

Dei viktigaste HTTP-metodane er:

- GET – Hent ein ressurs (nettside, bilete, fil). Den klart vanlegaste metoden
- POST – Send data til serveren (skjemadata, innlogging, filopplasting)
- PUT – Oppdater ein eksisterande ressurs
- DELETE – Slett ein ressurs
- HEAD – Som GET, men hentar berre headers (blir brukt for å sjekke om ein ressurs finst)

HTTP-statuskodar

Serveren svarar alltid med ein statuskode som fortel korleis førespurnaden gjekk:

- 2xx Suksess: 200 OK (alt gjekk bra), 201 Created (ny ressurs oppretta)
- 3xx Omdirigering: 301 Moved Permanently (sida har flytta), 304 Not Modified (bruk cachelagra versjon)
- 4xx Klientfeil: 400 Bad Request (ugyldig førespurnad), 403 Forbidden (ingen tilgang), 404 Not Found (finst ikkje)
- 5xx Serverfeil: 500 Internal Server Error (noko gjekk gale på serveren), 503 Service Unavailable (serveren er overbelasta)

HTTPS – sikker web

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

1. All kommunikasjon mellom nettlesaren og serveren er kryptert – ingen kan avlytte
2. Identiteten til serveren er verifisert med eit digitalt sertifikat
3. Dataa er integritetsverna – ingen kan endre dei undervegs

HTTPS brukar eit TLS-handtrykk for å etablere eit kryptert samband:
1. Nettlesaren koplar seg til serveren og ber om HTTPS
2. Serveren sender sitt digitale sertifikat med sin offentlege nøkkel
3. Nettlesaren verifiserer sertifikatet mot kjende sertifikatutstedarar (CA)
4. Nettlesaren og serveren forhandlar om ein sesjonsnøkkel for symmetrisk kryptering
5. All vidare kommunikasjon blir kryptert med sesjonsnøkkelen

I dag brukar over 95 % av alle nettsider HTTPS, og nettlesarar markerer HTTP-sider som «Ikkje sikker».

DNS (Domain Name System) er namnetenesta til internett som omset domenenamn til IP-adresser. Utan DNS måtte du hugse IP-adresser for å besøkje nettsider – til dømes 195.88.55.16 i staden for www.vg.no.

Hierarkisk oppbygging

DNS er organisert som eit omvendt tre med fleire nivå:

1. Rotsona (.): Dei 13 rotservergruppene som er utgangspunktet for alle DNS-oppslag
2. Toppdomene (TLD): .no, .com, .org, .edu, .net, .uk, osv.
3. Andrenivådomene: nrk.no, google.com, uio.no
4. Subdomene: www.nrk.no, mail.google.com, nettbank.dnb.no

DNS-oppslag steg for steg

Når du skriv www.nrk.no i nettlesaren:

1. Nettlesaren sjekkar sin lokale cache – kanskje han hugsar IP-adressa frå sist
2. Viss ikkje, spør han DNS-cachen til operativsystemet
3. Operativsystemet sender førespurnaden til den konfigurerte DNS-resolveren din (vanlegvis hos internettleverandøren)
4. DNS-resolveren spør ein rotserver: «Kven veit om .no?»
5. Rotserveren peikar til .no-toppdomeneserveren
6. Resolveren spør .no-serveren: «Kven veit om nrk.no?»
7. .no-serveren peikar til NRK sin autoritative namneserver
8. Resolveren spør namneserveren til NRK: «Kva er IP-adressa til www.nrk.no?»
9. Namneserveren svarar med IP-adressa
10. IP-adressa blir cachelagra og returnert til nettlesaren

Heile prosessen tek vanlegvis under 100 millisekund. Caching gjer at dei fleste oppslag er mykje raskare fordi resultatet allereie er lagra frå eit tidlegare besøk.

DNS-postar

Ein DNS-server inneheld ulike typar postar (records):

- A-post: Koplar eit domenenamn til ei IPv4-adresse
- AAAA-post: Koplar eit domenenamn til ei IPv6-adresse
- CNAME-post: Koplar eit domenenamn til eit anna domenenamn (alias)
- MX-post: Oppgir e-postserveren for domenet
- TXT-post: Tekstinformasjon, ofte brukt til verifisering og tryggleik (SPF, DKIM)
- NS-post: Oppgir autoritative namneserverar for domenet

📝Oppgave 7.2.1

Kva er hovudskilnaden mellom TCP og UDP?

📝Oppgave 7.2.2

Kva er hovudoppgåva til DNS?

📝Oppgave 7.2.3

Kva skjer under eit TCP treveis handtrykk (three-way handshake)?

📝Oppgave 7.2.4

Kva HTTP-statuskode tyder at sida ikkje vart funnen på serveren?

📝Oppgave 7.2.5

Forklar laga i TCP/IP-modellen. Skildr kvart lag, funksjonen til det og gi døme på protokollar som høyrer heime i kvart lag. Samanlikn kort med OSI-modellen.

📝Oppgave 7.2.6

Kva er innkapsling (encapsulation) i nettverkssamanheng?

📝Oppgave 7.2.7

Skildr det fullstendige forløpet når du skriv www.yr.no i nettlesaren og trykkjer Enter, heilt til vêrmeldinga blir vist på skjermen. Inkluder DNS-oppslag, TCP-handtrykk, TLS-handtrykk, HTTP-førespurnad og -svar i forklaringa. Bruk gjerne referansar til laga i TCP/IP-modellen.

Oppsummering

I dette kapittelet har du lært:

- Kommunikasjonsprotokoll: reglar for datautveksling.
- TCP/IP: påliteleg levering og adressering.
- Treveis handtrykk: opprettar eit TCP-samband.
- Lagmodellar: OSI (7 lag) og TCP/IP (4 lag).
- HTTP, HTTPS og DNS: protokollar for web og namneoppslag.

Nøkkelomgrep


OmgrepForklaring
ProtokollRegelsett for datautveksling i nettverk
TCPPåliteleg, ordna dataoverføring
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.