Tilbake
4.1

4.1 TCP/IP-modellen — lag og protokoller

TCP/IP-modellens fire lag, hva hvert lag har ansvar for, TCP vs. UDP, og hvilket transportlag hver protokoll bruker.

55 min
8 oppgaver
TCP/IP-modellenlagprotokoller
Din fremgang i kapitlet
0 / 8 oppgaver

Forkunnskaper — sist du var her

Dette kapitlet kan leses uten forkunnskaper fra tidligere kapitler. Det er inngangen til del 4, og alt som trengs, står her.

Tre begreper du møter med én gang, ferdig forklart:

*1. Vert (host). En maskin som er koblet til nettet og som har en egen adresse: din PC, mobilen, en tjenermaskin hos en strømmetjeneste. «Vert» er ordet faget bruker der dagligtalen sier «maskin».

2. Pakke. Data som skal sendes, deles opp i små biter. Hver bit sendes for seg, med avsender- og mottakeradresse på. Én nettside blir til tusenvis av pakker.

3. Protokoll.* En avtale om formatet og rekkefølgen på det som sendes. Begge parter må følge samme avtale, ellers blir det bare bit uten mening.

Vil du ha en roligere, mer hverdagsnær inngang før du begynner, ligger den her:

- Hvordan fungerer nettet? — hva som faktisk skjer når du åpner en nettside.
- Internettprotokoller og kommunikasjon — protokollene i rolig tempo, før lagmodellen.

Notasjons- og konstruksjonsliste

Løkke 1 — De fire lagene: hvem gjør hva (~15 min)

Du åpner en strømmetjeneste på PC-en og trykker play. I løpet av det neste sekundet skjer fire ganske forskjellige ting, og de skjer i en fast rekkefølge.

Programmet ditt formulerer en forespørsel: «gi meg de neste ti sekundene av denne filmen, i denne kvaliteten». Så må forespørselen deles i pakker som kan sendes, med en avtale om hva som skjer hvis noen av dem forsvinner. Så må hver pakke finne veien gjennom kanskje tolv rutere fram til en tjenermaskin i et annet land. Og helt nederst må hver pakke faktisk over den fysiske strekningen fra maskinen din til ruteren i gangen.

Fire oppgaver, fire lag. Det er hele modellen — og hele poenget med den er at hvert lag kan gjøre jobben sin uten å vite hvordan de andre gjør sin.

Protokoll

En avtale om formatet på og rekkefølgen av meldinger som utveksles mellom to parter, og om hva hver part skal gjøre når en melding kommer inn.

Begge sider må følge samme protokoll. Sender du en HTTP-forespørsel til en maskin som venter på e-post, får du ingenting fornuftig tilbake — bitene kommer fram, men de tolkes ikke.

En protokoll er altså ikke et program og ikke en maskin. Den er en regelbok, og den kan være implementert i mange ulike programmer på mange ulike maskiner.

Den faste feilslutningen: å tro at en protokoll er noe fysisk eller noe som «ligger» et sted. Det som ligger i maskinen din, er en implementasjon av protokollen.

TCP/IP-modellens fire lag

Den lagdelingen faget bruker. Ovenfra og ned:

LagAnsvarTypisk enhet
ApplikasjonSelve tjenesten: nettsider, e-post, filoverføring, videoMelding
TransportÅ få dataene fram til riktig program på riktig vertSegment
NettverkÅ finne veien fram mellom nett, over hele verdenPakke
LenkeÅ få bitene over den ene strekningen til neste maskinRamme

Under lenkelaget ligger den fysiske overføringen selv: spenninger i en kabel, radiobølger i lufta, lys i en fiber.
Data går nedover gjennom lagene hos avsenderen og oppover hos mottakeren. Underveis snakker hvert lag i praksis med sitt eget speilbilde i den andre enden: transportlaget hos deg forholder seg til transportlaget hos tjeneren, og bryr seg ikke om hvilke rutere pakken passerte.
Den faste feilslutningen: å tro at det er sju lag. Sjulagsmodellen er en annen modell, og den er ikke pensum her — se avgrensningen sist i kapitlet.

Applikasjonslaget

Det øverste laget: selve tjenesten brukeren er ute etter.

Her bor HTTP (nettsider), SMTP og IMAP (e-post), FTP (filoverføring), DNS (navneoppslag) og DASH (video i segmenter). Det er dette laget programmene dine faktisk snakker.

Applikasjonslaget bestemmer hva som skal sies. Det bryr seg ikke om hvordan meldingen kommer fram — den jobben er satt bort til laget under.

Den faste feilslutningen: å plassere IP eller TCP her. Verken adressering eller pålitelig overføring er en tjeneste for brukeren; de er maskineriet under.

Transportlaget

Laget som får dataene fram til riktig program på riktig vert, og som bestemmer hvilke garantier overføringen skal ha.

To protokoller bor her, og bare to i dette faget: TCP og UDP. Valget mellom dem er valget mellom pålitelighet og fart.

Transportlaget bruker portnummer for å skille programmene på samme maskin fra hverandre. Nettleseren og e-postklienten din deler én IP-adresse, men har hver sine portnumre — det er slik svaret finner tilbake til riktig vindu.

Den faste feilslutningen: å tro at ruting skjer her. Transportlaget velger ikke vei; det velger garantinivå og riktig program.

Nettverkslaget

Laget som finner veien fram mellom nett, over hele verden. Her bor IP, og her skjer ruting.

Hver pakke har en avsender-IP og en mottaker-IP. Hver ruter på veien ser på mottakeradressen, slår opp i rutingtabellen sin og sender pakken videre til neste ruter. Ingen enkelt ruter kjenner hele veien — den kjenner bare neste steg.

IP gir ingen garanti om at pakken kommer fram, at den kommer i rekkefølge, eller at den bare kommer én gang. Alt slikt er transportlagets jobb, og det er nettopp derfor TCP finnes.

Den faste feilslutningen: å legge ruting i transportlaget. Ruting er nettverkslagets definerende oppgave, og den forvekslingen er en av de hyppigste feilene i hele seksjon 4.

Lenkelaget

Det nederste laget i modellen: å få bitene over den ene strekningen til neste maskin — fra PC-en din til ruteren i gangen, fra én ruter til den neste.

Her brukes MAC-adresser, som er knyttet til nettverkskortet i maskinen og bare gjelder på det lokale nettet. En MAC-adresse tar deg aldri lenger enn til neste maskin på strekningen; IP-adressen er den som gjelder hele veien.

Under lenkelaget ligger den rent fysiske overføringen: spenninger, radiobølger, lys. Noen framstillinger regner dette som et eget femte lag.

Den faste feilslutningen: å blande MAC-adresse og IP-adresse. MAC gjelder én strekning, IP gjelder hele reisen.

✏️Eksempel 1: Én forespørsel gjennom alle fire lagene

Du skriver en nettadresse i nettleseren og trykker enter. Følg forespørselen ned gjennom lagene hos deg og opp igjen hos tjeneren. Hvilket lag gjør hva?

Hos deg, ovenfra og ned:

1. Applikasjonslaget. Nettleseren lager en HTTP-forespørsel: «hent denne siden». Det er en tekstmelding etter HTTP-regelboka.

2. Transportlaget. TCP tar imot meldingen, deler den i segmenter, nummererer dem og setter på et portnummer slik at svaret finner tilbake til nettleseren. TCP lover at alt kommer fram, i riktig rekkefølge.

3. Nettverkslaget. IP setter på avsender- og mottakeradresse og sender pakken videre. Herfra styrer ruterne, én ruter om gangen.

4. Lenkelaget. Rammen sendes over den fysiske strekningen til ruteren din, adressert med ruterens MAC-adresse.

Underveis: hver ruter pakker opp til nettverkslaget, leser mottaker-IP-en, og sender videre. Ruterne ser aldri på HTTP-meldingen — de har ingen grunn til det.

Hos tjeneren, nedenfra og opp: lenkelaget tar imot rammen, nettverkslaget ser at pakken er adressert hit, transportlaget setter segmentene i rekkefølge og leverer på riktig portnummer, og applikasjonslaget leser HTTP-forespørselen og finner sida.

Poenget å ta med seg: hvert lag snakker med sitt eget speilbilde i den andre enden. Nettleseren din forholder seg til nettjeneren, TCP hos deg forholder seg til TCP hos tjeneren — og ingen av dem trenger å vite noe om ruterne i mellom.

📝Oppgave 1

(Innsteg — lagene.) Skriv opp TCP/IP-modellens fire lag i rekkefølge ovenfra og ned, og gi hvert lag én setning om hva det har ansvar for.

📝Oppgave 2
Sjanger J

Hvilket lag hører hver av disse hjemme i?

a) Ruting mellom nett

b) MAC-adresser

c) HTTP

d) Portnumre

Løkke 2 — TCP mot UDP: pålitelighet mot fart (~15 min)

Transportlaget har to protokoller, og de har helt ulike løfter.

Tenk på forskjellen mellom en rekommandert sending og et løpeseddelutdeling. Den rekommanderte sendingen koster mer og tar lengre tid, men du får kvittering på at den kom fram, og du får vite det hvis den ikke gjorde det. Løpesedlene går fort og billig, og noen av dem havner i søpla uten at noen merker det.

TCP er den rekommanderte sendingen. UDP er løpesedlene. Begge er riktige valg — til hver sin oppgave.

— naturlig pausepunkt —

📜TCP mot UDP
TCP — pålitelig og tilkoblingsorientert. Før data sendes, settes det opp en forbindelse mellom de to vertene. Deretter gir TCP fire garantier:

1. Alt kommer fram. Pakker som forsvinner, sendes på nytt.
2. Riktig rekkefølge. Segmentene er nummererte og settes sammen i rett orden hos mottakeren.
3. Flytkontroll. Avsenderen sender ikke fortere enn mottakeren klarer å ta imot.
4. Metningskontroll. Avsenderen demper farten når nettet er overbelastet.

I tillegg har TCP en sjekksum som avslører at innholdet er endret underveis.

UDP — raskt og tilkoblingsløst. Ingen forbindelse settes opp, ingenting sendes på nytt, ingen rekkefølge garanteres. Til gjengjeld er det ingen ventetid på oppsett og ingen omsending som forsinker. UDP har også en sjekksum, men ingen mekanisme for å rette opp det den avslører.

Det TCP IKKE gir deg — den setningen som gir poeng:

- Ingen kryptering. TCP beskytter ikke innholdet mot innsyn. Kryptering skjer i et eget lag over transporten, det er derfor https finnes ved siden av http.
- Ingen ruting. TCP velger ikke vei. Veivalget hører til nettverkslaget.
- Ingen garanti om fart. TCP lover at det kommer fram, ikke at det kommer raskt.

Sjekksummen, presist: den avslører at noe er endret, men sier ikke hva, og den beskytter ingenting mot noen som med vilje endrer både innhold og sjekksum. Den er en feilkontroll, ikke et sikkerhetstiltak.

Innkapsling

At hvert lag legger sitt eget hode (header) utenpå det laget over leverte, som konvolutter utenpå konvolutter.

Applikasjonslagets melding får et TCP-hode utenpå. Det hele får et IP-hode utenpå. Det hele får et lenkelagshode utenpå. Hos mottakeren pakkes det opp i motsatt rekkefølge, ett lag om gangen.

Konsekvensen som betyr noe i praksis: hvert lag leser bare sitt eget hode. En ruter pakker opp til IP-hodet, leser mottakeradressen, og bryr seg ikke om hva som ligger inni.

Den faste feilslutningen: å tro at hodene erstatter hverandre. De legges utenpå, og derfor er en pakke på nettet alltid litt større enn dataene den bærer.

✏️Eksempel 2: Sant eller usant om TCP — fire påstander, hver begrunnet

Svarform F2 — sant/usant-matrise: én rad per påstand, du krysser sant eller usant for hver.

#PåstandSant/usant
aTCP sender tapte pakker på nytt
bTCP krypterer innholdet i pakkene
cTCP velger hvilken vei pakkene tar gjennom nettet
dTCP leverer segmentene til programmet i riktig rekkefølge

a) Sant. Omsending av tapte pakker er selve kjernen i TCPs pålitelighetsløfte. Mottakeren bekrefter det som er kommet fram; det som ikke bekreftes, sendes på nytt.

b) Usant. TCP gir ingen konfidensialitet. Innholdet går i klartekst med mindre noe over transportlaget krypterer det — og det er nettopp den jobben https gjør, i motsetning til http. Dette er en distraktor som ser rimelig ut fordi TCP «passer på» så mye annet.

c) Usant. Veivalget er nettverkslagets oppgave. TCP forholder seg bare til de to endene av forbindelsen og vet ingenting om ruterne mellom dem. Dette er den vanligste feilkryssingen i hele kapitlet.

d) Sant. Segmentene er nummererte, og TCP setter dem sammen i rett orden før de leveres videre opp. Kommer segment 5 før segment 4, holder TCP igjen segment 5 til 4 er på plass.

Fasit: a sann, b usann, c usann, d sann.

Legg merke til fordelingen: to sanne og to usanne, og de er ikke sortert. Bruk aldri fordelingen i en matrise som ledetråd — den er like gjerne tre og én.

Metoden som gjør denne oppgavetypen rask: del påstandene i to bunker. «Handler dette om de to endene?» — da kan det være TCP. «Handler det om veien imellom, eller om innsyn?» — da er det ikke TCP.

📝Oppgave 3
Sjanger J

Kryss av alle påstandene som stemmer om UDP, og begrunn hvert av de fire alternativene.

a) UDP sender tapte pakker på nytt.

b) UDP setter ikke opp noen forbindelse før data sendes.

c) UDP har lavere overhead enn TCP fordi det ikke venter på bekreftelser.

d) UDP garanterer at pakkene leveres i den rekkefølgen de ble sendt.

📝Oppgave 4
Sjanger J

En videosamtale og en nedlasting av et regnskapsdokument har helt ulike behov.

a) Hvilken transportprotokoll passer best til hver, og hvorfor?

b) Hva er den konkrete ulempen ved å velge feil i hvert av de to tilfellene?

Løkke 3 — Protokoll til transport: tabellen som gir poeng (~13 min)

Nå til den enkeltlinjen i kapitlet som gir flest poeng på eksamen: hvilken transportprotokoll hver applikasjonsprotokoll bruker.

Det er ingen dyp innsikt her. Det er en tabell, og den skal pugges. Men den har en logikk som gjør puggingen kort: spør om protokollen tåler å miste noe.

📜Protokoll til transportprotokoll
Over TCP — alt som ikke tåler tap:

ProtokollGjørHvorfor TCP
HTTPHenter nettsiderEn side med hull er ødelagt
IMAPLeser e-post fra en tjenerEn e-post med hull er ødelagt
SMTPSender e-post mellom tjenereSamme
FTPOverfører filerEn fil med hull er ødelagt
DASHStrømmer video i segmenterSegmentet må være helt for å kunne spilles

Over UDP — det som må være raskt i gang, og som tåler å prøve igjen:
ProtokollGjørHvorfor UDP
DHCPDeler ut IP-adresser til maskiner som nettopp har koblet seg tilMaskinen har ennå ingen adresse — den kan ikke sette opp en forbindelse

Over begge — den ene som er både og:
ProtokollGjørHvorfor begge
DNSOversetter navn til IP-adresseVanlige oppslag går på UDP fordi de er små og skal gå fort; store svar og enkelte overføringer bruker TCP

Huskeregelen: de fem TCP-protokollene overfører noe som skal være helt. DHCP er den ene som må virke før maskinen har en adresse. DNS er den ene som er begge deler — og nettopp derfor er den favorittfellen: alternativet «DNS bruker bare UDP» ser riktig ut, og er galt.
✏️Eksempel 3: Koblingsoppgaven, med de vanlige fellene forklart

Svarform F3 — dra-og-slipp: koble hvert element til riktig kategori. Her skrevet som koblingsoppgave.

Koble hver protokoll (1–5) til riktig transport (A–C). Hver kategori kan brukes flere ganger.

1. DHCP · 2. IMAP · 3. DNS · 4. FTP · 5. HTTP

A. TCP · B. UDP · C. Både TCP og UDP

1 → B (UDP). DHCP kjører før maskinen har fått en IP-adresse i det hele tatt. Uten adresse er det ingenting å sette opp en TCP-forbindelse med, så den må være tilkoblingsløs.

2 → A (TCP). IMAP henter e-post fra en tjener. En e-post med hull i er ødelagt, så pålitelighet er et krav.

3 → C (både og). Vanlige navneoppslag går på UDP fordi de er små og skal gå fort. Er svaret for stort, eller skal større mengder navnedata overføres, brukes TCP.

4 → A (TCP). Filoverføring. Samme resonnement som for e-post: en fil med hull er ødelagt.

5 → A (TCP). Nettsider. En side med manglende biter kan ikke vises riktig.

Fasit: 1→B, 2→A, 3→C, 4→A, 5→A.

Legg merke til at koblingen verken er 1→A, 2→B, 3→C eller noe annet mønster. Tre av fem havner i samme kategori, og det er helt vanlig i denne oppgavetypen.

De to fellene i dette settet:

Felle 1 — å sette DNS på UDP alene. Det er det halve svaret, og i en koblingsoppgave er et halvt svar et galt svar.

Felle 2 — å sette DHCP på TCP fordi «det er viktig at maskinen får riktig adresse». Viktighet er ikke argumentet; muligheten til å sette opp en forbindelse er det. Uten adresse, ingen forbindelse.

📝Oppgave 5
Sjanger J

Koble hver protokoll (1–6) til riktig lag (A–D). Hvert lag kan brukes flere ganger eller ikke i det hele tatt.

1. IP · 2. SMTP · 3. UDP · 4. DASH · 5. TCP · 6. DNS

A. Applikasjonslaget · B. Transportlaget · C. Nettverkslaget · D. Lenkelaget

📝Oppgave 6
Sjanger J

Hvilken transportprotokoll bruker hver av disse, og begrunn hvert svar med én setning?

a) DHCP

b) DNS

c) FTP

d) HTTP

Løkke 4 — Avgrensningen, og oppgaven på eksamensnivå (~12 min)

Én ting til før eksamensoppgaven: hva du ikke skal bruke tid på.

Faget bruker TCP/IP-modellens fire lag. Det finnes en annen, eldre lagmodell med sju lag som er svært utbredt i lærebøker og på nettet, og som du fort snubler over hvis du søker opp stoffet på egen hånd. Den er ikke pensum her, og en oppgave besvart med den modellens lagnavn treffer ikke.

✏️Eksempel 4: Eksamensnivå — alternativene forklart ett for ett

Svarform F1 — velg ett eller flere alternativer. Kryss av alle påstandene som stemmer.

a) Ruting av pakker mellom nett skjer i nettverkslaget.

b) TCP tilbyr flytkontroll, slik at avsenderen ikke sender fortere enn mottakeren klarer å ta imot.

c) Portnumre brukes i nettverkslaget for å skille verter fra hverandre.

d) DNS kan bruke både TCP og UDP.

e) TCP krypterer innholdet slik at ingen kan lese det underveis.

a) Riktig. Ruting er nettverkslagets definerende oppgave. Hver ruter leser mottaker-IP-en og velger neste steg.

b) Riktig. Flytkontroll er én av TCPs fire garantier, ved siden av omsending, rekkefølge og metningskontroll.

c) Galt — to feil i én setning. Portnumre hører til transportlaget, ikke nettverkslaget, og de skiller programmer på samme vert, ikke verter fra hverandre. Verter skilles av IP-adresser. Denne distraktoren er bygd slik at den som bare kjenner ordet «portnummer», men ikke hva det gjør, krysser av.

d) Riktig. Vanlige oppslag går på UDP, større svar og enkelte overføringer på TCP.

e) Galt. TCP gir ingen konfidensialitet. Kryptering ligger i et eget lag over transporten — derfor finnes https ved siden av http. Sjekksummen i TCP avslører tilfeldige endringer, men skjuler ingenting for noen.

Fasit: a, b og d.

Om negativ poenggiving: tre av fem er riktige. En kandidat som er redd for å krysse av «for mange», og bare tar a), mister to sikre poeng uten å ha svart noe galt. Regelen er ikke «kryss lite» — den er «kryss det du kan begrunne». Alle tre riktige her kan begrunnes med én setning hver.

📝Oppgave 7
Eksamensnivå, sjanger J

Vurder hver påstand som sann eller usann, og begrunn hver rad.

#PåstandSant/usant
aEn ruter må pakke opp helt til applikasjonslaget for å sende en pakke videre
bUDP har en sjekksum
cEn MAC-adresse kan brukes til å nå en maskin på den andre siden av verden
dTCP setter opp en forbindelse før data sendes
eMetningskontroll handler om at nettet mellom partene er overbelastet

📝Oppgave 8
Eksamensnivå, sjanger J

En kollega feilsøker en tjeneste som er treg, og sier: «Vi bytter fra TCP til UDP, da blir alt raskere, og så slår vi på sjekksummen for å beholde sikkerheten.»

Kryss av alle innvendingene som er faglig holdbare, og begrunn hvert av de fire alternativene.

a) UDP gir ingen omsending, så tapte data blir borte for godt med mindre programmet selv håndterer det.

b) Sjekksummen er ikke et sikkerhetstiltak — den avslører tilfeldige endringer, ikke bevisste.

c) UDP kan ikke brukes sammen med IP, og krever et eget nettverkslag.

d) Om tregheten skyldes veien pakkene tar, hjelper det ikke å bytte transportprotokoll — veivalget ligger i nettverkslaget.

Begrepsbank

Begrepsbanken er flashcard- og repetisjonsstoff — den gjentar det du nettopp har lest. Hopp trygt over ved førstegangslesing; tidsanslaget for kapitlet gjelder kjernestoffet.

Vert

En maskin som er koblet til nettet og har sin egen adresse: en PC, en mobil, en tjenermaskin.

Faget bruker «vert» der dagligtalen sier «maskin». Ordet er valgt fordi det som teller, er at enheten kan adresseres — ikke hva slags kasse den ligger i.

Den faste feilslutningen: å tro at bare tjenermaskiner er verter. Din egen PC er like mye en vert som maskinen den snakker med.

Pakke

En avgrenset bit data som sendes for seg, med avsender- og mottakeradresse på.

Data deles opp fordi det gjør nettet delbart: mange samtaler kan bruke samme linje om hverandre, og en tapt bit koster lite å sende på nytt.

Den faste feilslutningen: å tro at alle pakkene i én overføring tar samme vei. Hver pakke rutes for seg, og de kan komme fram i en annen rekkefølge enn de ble sendt.

Portnummer

Tallet transportlaget bruker for å skille programmer på samme vert fra hverandre.

Nettleseren og e-postklienten din deler én IP-adresse. Portnummeret er det som gjør at svaret på nettleserens forespørsel havner i nettleseren og ikke i e-postklienten.

Den faste feilslutningen: å tro at portnumre skiller verter. Verter skilles av IP-adresser; porter skiller programmer. Det er en av de faste distraktorene i sjangeren.

IP-adresse

Adressen som gjelder hele reisen, fra avsender til mottaker, uansett hvor mange rutere som ligger imellom.

IP-adressen ligger i nettverkslagets hode og leses av hver ruter på veien. Den skrives i punktnotasjon, fire tall fra 0 til 255, for eksempel 192.168.4.19.

Den faste feilslutningen: å blande IP-adressen med maskinvareadressen på det lokale nettet. Maskinvareadressen tar deg til neste maskin; IP-adressen tar deg hele veien.

MAC-adresse

Maskinvareadressen som er knyttet til nettverkskortet, og som brukes på den ene strekningen til neste maskin på det lokale nettet.

Den byttes ut for hvert steg på reisen: fra PC-en din til ruteren i gangen brukes ruterens maskinvareadresse, og på neste strekning en helt annen.

Den faste feilslutningen: å tro at man kan nå en maskin i et annet land ved hjelp av maskinvareadressen. Den gjelder bare lokalt.

Ruter

En maskin i nettverkslaget som tar imot pakker, leser mottaker-IP-en, slår opp i sin egen tabell og sender pakken videre mot neste steg.

Ingen ruter kjenner hele veien fram. Hver kjenner bare hvilken retning som er riktig neste steg, og til sammen får det pakken fram.

Den faste feilslutningen: å tro at ruteren ser på innholdet i pakken. Den pakker opp til nettverkslagets hode og ikke lenger.

Ruting

Å velge hvilken vei en pakke skal ta videre gjennom nettet. Dette er nettverkslagets definerende oppgave.

Beslutningen tas på nytt hos hver ruter, ut fra mottakeradressen og ruterens tabell.

Den faste feilslutningen — og den hyppigste enkeltfeilen i kapitlet: å legge ruting i transportlaget fordi det «høres ut som» det som frakter. Transportlaget velger garantinivå og riktig program, aldri vei.

Tilkoblingsorientert

At det settes opp en forbindelse mellom partene før nyttedata sendes, og at forbindelsen holdes ved like til overføringen er ferdig.

TCP er tilkoblingsorientert. Oppsettet koster litt tid i starten, og til gjengjeld kan begge parter holde styr på hva som er sendt, mottatt og bekreftet.

Den faste feilslutningen: å tro at «tilkoblingsorientert» betyr at det finnes en fysisk, dedikert linje. Pakkene deler linjene med alle andre; forbindelsen er en bokføring i de to endene.

Tilkoblingsløs

At hver pakke sendes for seg, uten noe forutgående oppsett og uten at noen holder styr på hva som er kommet fram.

UDP er tilkoblingsløs. Det gir null ventetid i starten og ingen bokføring underveis.

Den faste feilslutningen: å lese «tilkoblingsløs» som «upålitelig i betydningen ustabil». Nettet er like stabilt; det er bare ingen som rydder opp etter tap.

Trevegs håndtrykk

Oppsettsrunden i TCP: den ene parten ber om forbindelse, den andre svarer, og den første bekrefter svaret. Tre meldinger, derav navnet.

Etter håndtrykket er begge parter enige om at forbindelsen er oppe, og om hvor nummereringen av segmentene starter.

Den faste feilslutningen: å tro at nyttedata sendes i håndtrykket. Håndtrykket er ren avtale; dataene kommer etterpå.

Flytkontroll

TCPs mekanisme for at avsenderen ikke skal sende fortere enn mottakeren klarer å ta imot.

Mottakeren melder fra om hvor mye plass den har igjen, og avsenderen retter seg etter det.

Den faste feilslutningen: å blande flytkontroll med metningskontroll. Flytkontroll handler om mottakerens kapasitet; metningskontroll om nettets.

Metningskontroll

TCPs mekanisme for å dempe farten når nettet mellom partene er overbelastet.

Avsenderen tolker tap og forsinkelser som tegn på kø, og senker farten. Uten dette ville mange samtidige overføringer kvele hverandre.

Den faste feilslutningen: å tro at dette er samme sak som flytkontroll. De to løser hvert sitt problem, og eksamen skiller mellom dem.

Sjekksum

Et lite kontrolltall som følger med pakken, og som mottakeren regner ut på nytt for å se om innholdet er endret underveis.

Både TCP og UDP har sjekksum. Forskjellen er hva som skjer etterpå: TCP ber om en ny sending, UDP forkaster pakken.

Den faste feilslutningen — og den koster poeng i sikkerhetsdelen også: å regne sjekksummen som et sikkerhetstiltak. Den avslører tilfeldige endringer. En som endrer innholdet med vilje, regner bare ut en ny sjekksum.

Rekkefølgegaranti

At mottakeren får segmentene i den rekkefølgen de ble sendt, uansett hvilken rekkefølge de kom fram i.

TCP nummererer segmentene og holder igjen dem som kommer for tidlig, til hullet foran er fylt.

Den faste feilslutningen: å tro at dette følger av at nettet leverer i rekkefølge. Det gjør nettet ikke — pakker rutes hver for seg, og garantien er noe TCP skaper i etterkant.

HTTP

Applikasjonsprotokollen som henter nettsider. Klienten ber om en ressurs, tjeneren svarer med den.

HTTP bruker TCP, fordi en side med manglende biter ikke kan vises riktig.

Den faste feilslutningen: å tro at HTTP i seg selv beskytter innholdet. Det gjør den ikke; https er HTTP med et krypteringslag mellom applikasjonen og transporten.

SMTP

Applikasjonsprotokollen som sender e-post, i praksis mellom e-posttjenere.

Bruker TCP: en e-post med hull i er ødelagt.

Den faste feilslutningen: å blande SMTP med protokollen som henter e-post. Sending og henting er to forskjellige jobber med hver sin protokoll.

IMAP

Applikasjonsprotokollen som leser e-post som ligger på en tjener, uten å måtte flytte den ned til maskinen først.

Bruker TCP, av samme grunn som SMTP.

Den faste feilslutningen: å tro at IMAP også sender. Den leser; sendingen er SMTPs jobb.

FTP

Applikasjonsprotokollen for filoverføring mellom maskiner.

Bruker TCP: en fil med hull eller blokker i feil rekkefølge er ubrukelig.

Den faste feilslutningen: å tro at FTP er kryptert. Den er det ikke i sin grunnform, og det er derfor den i praksis er byttet ut med krypterte alternativer.

DHCP

Applikasjonsprotokollen som deler ut IP-adresse, nettmaske og annen oppstartsinformasjon til en maskin som nettopp har koblet seg til nettet.

Bruker UDP — og grunnen er verdt å huske: maskinen har ennå ingen adresse, og uten adresse kan den ikke sette opp en TCP-forbindelse.

Den faste feilslutningen: å plassere DHCP på TCP fordi «det er viktig at adressen blir riktig». Viktighet er ikke argumentet; muligheten til å sette opp en forbindelse er det.

DNS over transportlaget

DNS oversetter navn til IP-adresse, og er den ene protokollen i pensum som bruker både TCP og UDP.

Vanlige oppslag går på UDP fordi de er små og skal gå fort. Store svar og enkelte overføringer av navnedata bruker TCP.

Den faste feilslutningen — favorittfellen i sjangeren: å krysse av bare UDP. Halve svaret er galt svar i en koblingsoppgave.

Segment, pakke og ramme

Navnene på dataenheten i hvert lag, ovenfra og ned: transportlaget har segmentet, nettverkslaget har pakken, lenkelaget har rammen.

Det er samme data hele veien — bare med flere lag konvolutt utenpå for hvert steg nedover.

Den faste feilslutningen: å tro at det er tre ulike ting. Navnet forteller hvilket lag du snakker om, ikke hva som er inni.

Det fysiske laget

Selve overføringen av bit som noe fysisk: spenninger i en kobberkabel, lys i en fiber, radiobølger i lufta.

Noen framstillinger regner dette som et eget femte lag under lenkelaget; andre regner det som en del av lenkelaget.

Den faste feilslutningen: å blande det fysiske laget med lenkelaget. Lenkelaget bestemmer hvordan bitene organiseres i rammer og adresseres lokalt; det fysiske laget er signalet selv.

Klient og tjener i protokollsammenheng

Rollefordelingen de fleste applikasjonsprotokollene bygger på: klienten tar initiativet og spør, tjeneren venter og svarer.

Nettleseren din er klient, nettstedets maskin er tjener. Rollene er knyttet til hvem som spør, ikke til hvor kraftig maskinen er.

Den faste feilslutningen: å tro at rollen er en egenskap ved maskinen. Samme maskin kan være tjener for én tjeneste og klient for en annen i samme sekund.

Hva TCP ikke gir

Den setningen som gir flest poeng i kapitlet, samlet på ett sted. TCP gir ikke:

- kryptering — innholdet er lesbart for den som kan se pakkene
- ruting — veivalget hører til nettverkslaget
- garantert fart — TCP lover at det kommer fram, ikke når

Den faste feilslutningen: å utvide TCPs løfter fordi den «passer på så mye». Alt TCP gjør, handler om de to endene av forbindelsen.

Lagdelingens poeng

Hvorfor modellen er delt opp i det hele tatt: hvert lag kan skiftes ut uten at de andre merker det.

Du kan bytte fra kabel til trådløst uten å endre nettleseren, og du kan bytte nettleser uten å endre noe i nettet. Grensesnittene mellom lagene ligger fast.

Den faste feilslutningen: å lete etter et fysisk skille mellom lagene i maskinen. Lagdelingen er en måte å dele opp ansvaret på, ikke en beskrivelse av hvor ting ligger.

Innkapslingens pris

At hvert lag legger på sitt eget hode, betyr at det alltid sendes flere byte over nettet enn det er nyttedata.

For små meldinger kan hodene utgjøre en merkbar andel av totalen. Det er en av grunnene til at UDP, med sitt korte hode, velges der hver millisekund og hver byte teller.

Den faste feilslutningen: å regne overføringstid på nyttedataene og tro at det er hele bildet. I dette faget regnes overføringstid på filstørrelsen, og hodene holdes utenfor — se kap. 4.3.

Repetisjon — sitter lagene og protokollene?

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.

Skolesaga er en uavhengig læringsressurs og er ikke tilknyttet eller godkjent av Universitetet i Oslo. Dette er ikke offisielt studiemateriell. Les mer.