Lær om TCP/IP, HTTP/HTTPS, DNS og lagdelingen i nettverksmodellene.
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.
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.
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
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:
| Lag | Navn | Funksjon | Eksempler |
|---|---|---|---|
| 7 | Applikasjonslag | Grensesnitt mot brukerapplikasjoner | HTTP, SMTP, DNS, FTP |
| 6 | Presentasjonslag | Dataformat, kryptering, komprimering | SSL/TLS, JPEG, ASCII |
| 5 | Sesjonslag | Oppretter og vedlikeholder sesjoner | NetBIOS, RPC |
| 4 | Transportlag | Pålitelig dataoverføring mellom endepunkter | TCP, UDP |
| 3 | Nettverkslag | Adressering og ruting mellom nettverk | IP, ICMP |
| 2 | Datalinklag | Pålitelig overføring innenfor ett nettverkssegment | Ethernet, Wi-Fi |
| 1 | Fysisk lag | Fysisk overføring av biter | Kabler, 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-lag | Tilsvarende OSI-lag | Funksjon | Eksempler |
|---|---|---|---|
| Applikasjonslag | Lag 5–7 | Applikasjonsprotokoll | HTTP, DNS, SMTP |
| Transportlag | Lag 4 | Pålitelig transport | TCP, UDP |
| Internettlag | Lag 3 | Adressering og ruting | IP, ICMP |
| Nettverksaksesslag | Lag 1–2 | Fysisk tilkobling | Ethernet, 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-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».
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
Portnumre identifiserer hvilken tjeneste på en maskin som skal motta data. Her er de viktigste å kjenne til:
| Port | Protokoll | Tjeneste |
|---|---|---|
| 20/21 | FTP | Filoverføring |
| 22 | SSH | Sikker fjerntilgang |
| 25 | SMTP | Sending av e-post |
| 53 | DNS | Navneoppslag |
| 80 | HTTP | Webtrafikk (usikker) |
| 110 | POP3 | Henting av e-post |
| 143 | IMAP | Henting av e-post |
| 443 | HTTPS | Webtrafikk (kryptert) |
| 3389 | RDP | Eksternt skrivebord (Windows) |
Portnumre 0–1023 er «velkjente porter» reservert for standard tjenester. Portnumre over 1024 kan brukes fritt av programmer.
Du kan gjøre DNS-oppslag fra kommandolinjen:
Windows/Mac/Linux: Åpne Terminal eller Ledetekst og skriv:
nslookup www.nrk.noDu vil se IP-adressen til NRKs webserver. Prøv også:
nslookup -type=MX nrk.nofor å se hvilke e-postservere NRK bruker.Et annet nyttig verktøy er ping, som sender en liten datapakke til en server og måler svartiden:
ping www.google.comHva er hovedforskjellen mellom TCP og UDP?
Hva er DNS sin hovedoppgave?
Hva skjer under et TCP treveis håndtrykk (three-way handshake)?
Hvilken HTTP-statuskode betyr at siden ikke ble funnet på serveren?
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.
Hva er innkapsling (encapsulation) i nettverkssammenheng?
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
| Begrep | Forklaring |
|---|---|
| Protokoll | Regelsett for datautveksling i nettverk |
| TCP | Pålitelig, ordnet dataoverfoering |
| IP | Protokoll 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.