8.3 Nettverk

Hvordan data flyttes over nett: TCP/IP-lagene, protokollbegrepet, kanalkoding og flytkontroll, IP-adresser og switching.

55 min
9 oppgaver
Nettverk
Din fremgang i kapitlet
0 / 9 oppgaver
Kapitlets plass i kurset
Brukes videre i
Forkunnskaper

Ingen. Kapitlet forutsetter ikke at du kan programmere, og det bygger ikke på de andre teorikapitlene — men to begreper er lettere hvis du har lest dem:

- kap. 8.1 — latency, altså ventetid, brukes igjen her.
- kap. 8.2 — bit, byte og heksadesimale sifre. IPv6-adresser og MAC-adresser skrives i heksadesimalt.

Vil du ha stoffet i en bredere innpakning:

- TCP/IP-modellen — lag og protokoller — lagene grundig gjennomgått.
- IP-adressering og subnetting — adresser og subnettmasker med regning.
- Nettjenester — NAT, CDN, DNS, IPv6, DHCP og strømming — tjenestene som ligger oppå IP.
- Internett og kommunikasjonsprotokoller — en mykere inngang på VGS-nivå.

Tilleggslesingen er frivillig.

Løkke 1 — Protokoller og de fire lagene (~15 min)

Du sender en pakke i posten. Du legger innholdet i en eske, skriver adressen på utsiden, leverer den på postkontoret, og så skjer resten uten at du vet noe om det: sortering, biler, fly, nye sorteringer, et bud på en sykkel.

Hvert ledd bryr seg bare om sitt ledd. Budet leser gateadressen, ikke hva som er i esken. Flyet leser bare hvilken by esken skal til.

Et datanett er bygd på nøyaktig samme idé, og den heter lagdeling. Hvert lag løser sin oppgave, stoler på laget under, og bryr seg ikke om hva laget over driver med.

Protokoll

En protokoll er et avtaleverk for kommunikasjon: reglene for hvordan to parter skal snakke sammen, hva meldingene skal inneholde, i hvilken rekkefølge de skal komme, og hva som skal skje når noe går galt.

Poenget er at begge parter må ha samme avtale. Hvordan protokollen er programmert, eller hvem som laget maskinen, spiller ingen rolle — så lenge reglene følges.

Kjente eksempler: HTTP for websider, SMTP for e-post, TCP for pålitelig transport, IP for adressering.

Fellen: en protokoll er ikke et program og ikke en fysisk kabel. Den er reglene. Flere ulike programmer kan snakke samme protokoll.

TCP/IP-stakken (de fire lagene)
TCP/IP-modellen deler nettverkskommunikasjon i fire lag, stablet oppå hverandre — derav navnet stakk:

LagNavnOppgaveEksempler
4 (øverst)Applikasjonslagettjenesten brukeren faktisk vil haHTTP, SMTP, DNS
3Transportlagetå få hele dataen fram, rett og i rekkefølgeTCP, UDP
2Internettlagetå finne veien mellom nett, med IP-adresserIP
1 (nederst)Nettverksgrensesnittlagetå få bitene over den fysiske forbindelsenEthernet, wifi

Figur i ord: tegn fire liggende bokser oppå hverandre hos avsenderen og fire hos mottakeren. Data går NEDOVER gjennom lagene hos avsenderen, over forbindelsen nederst, og OPPOVER gjennom lagene hos mottakeren. Hvert lag legger på sin egen etikett på vei ned og river den av på vei opp.
Nederste lag heter også lenkelaget. En annen og eldre modell, OSI, deler det samme opp i sju lag — den er ikke pensum her, men navnet kan dukke opp.
Applikasjonslaget

Det øverste laget: det programmene dine snakker med direkte. Her ligger protokollene for de tjenestene folk faktisk bruker — websider (HTTP), e-post (SMTP), navneoppslag (DNS), filoverføring.

Applikasjonslaget bryr seg om innholdet og formatet på meldingen, ikke om hvordan den kommer fram. Nettleseren din vet ingenting om kabler eller IP-adresser; den ber bare om en side.

Når Python-programmet ditt åpner en nettside, snakker det på dette laget.

Transportlaget

Laget som sørger for at hele meldingen kommer fram til riktig program på riktig maskin — og for at delene kommer i riktig rekkefølge.

Det er her de mekanismene du møter i løkke 3 og 4 hører hjemme: sekvensnumre, ACK-er, retransmisjon og flytkontroll.

To hovedprotokoller:

- TCP er pålitelig: den nummererer, bekrefter, sender på nytt ved tap og leverer i riktig rekkefølge. Brukes til websider, e-post og filer.
- UDP er upålitelig, men rask: den sender av gårde og bekrefter ingenting. Brukes til direktesendt lyd og video, der en forsinket pakke er verre enn en tapt.

Internettlaget (IP-laget)

Laget som sørger for at en pakke finner veien fra ett nett til et annet, gjennom rutere, fram til riktig maskin. Her hører IP-adressene hjemme.

Internettlaget gir ingen garantier. Det lover å prøve å levere pakken («best effort»), men ikke at den kommer fram, ikke at den kommer i rekkefølge, og ikke at den bare kommer én gang. Alt det er transportlagets jobb.

Dette er lagdelingen i praksis: IP gjør én ting, og gjør den enkelt. Påliteligheten legges på over.

Nettverksgrensesnittlaget (lenkelaget)

Det nederste laget: det som faktisk får bitene over den enkelte forbindelsen — Ethernet-kabelen, wifi-signalet, mobilnettet.

Her brukes MAC-adresser, ikke IP-adresser, fordi laget bare skal fram til neste enhet på samme lokale nett, ikke tvers over verden.

Grensesnittlaget er også der signalene til slutt blir spenning på en ledning eller radiobølger i lufta.

✏️Eksempel 1: Et gjennomgått flervalg om lagene
Hvilket lag i TCP/IP-stakken har ansvaret for å finne veien mellom ulike nett?

- a) Applikasjonslaget, som formaterer meldingen
- b) Transportlaget, som deler opp meldingen
- c) Internettlaget, som bruker IP-adresser
- d) Lenkelaget, som bruker MAC-adresser

Riktig svar: c)

Å finne veien mellom nett er ruting, og ruting skjer på IP-adresser. Det er internettlagets definisjon.

- Applikasjonslaget bryr seg om innholdet, ikke om veien. Det vet ikke engang at det finnes flere nett.
- Transportlaget deler riktignok opp meldingen og setter den sammen igjen, men det gjør ingen ruting. Det stoler på at laget under finner veien.
- Lenkelaget er den nære distraktoren, og den er god: det flytter faktisk data, men bare innenfor ett lokalt nett, fram til neste enhet. Ordet i spørsmålet som skiller er «mellom ulike nett».

Metoden i praksis: når alle fire alternativene navngir et ekte lag med en ekte oppgave, er spørsmålet aldri «hva gjør dette laget» — det er «hvilket verb i spørsmålet hører til hvilket lag». Stryk under verbet i spørsmålet før du leser alternativene.

📝Oppgave 1

(Innstegsoppgave, sjanger A — teori-flervalg: ett riktig alternativ av fire.) Hva er en protokoll?

- a) Et sett regler for hvordan to parter skal kommunisere
- b) Et program som styrer nettverkskortet i maskinen
- c) En fysisk kabel mellom to maskiner i et nettverk
- d) En adresse som identifiserer én maskin på nettet

📝Oppgave 2
Sjanger A

Hvilken protokoll hører hjemme på transportlaget?

- a) HTTP
- b) TCP
- c) IP
- d) Ethernet

Løkke 2 — Pakker, adresser og svitsjing (~18 min)

Da telefonen ble oppfunnet, koblet en telefondame to ledninger sammen, og linjen var din alene til du la på. Ingen andre kunne bruke den, heller ikke i pausene mellom setningene.

Internett gjør det stikk motsatte: meldingen din klippes i småbiter, hver bit får en adresselapp, og de sendes hver for seg gjennom et nett de deler med alle andre. Det er pakkesvitsjing, og det er grunnen til at nettet kan bære så mye trafikk på så lite utstyr.

Denne løkka er tyngdepunktet i kapitlet — særlig de to tallene 32 og 128.

Pakke

En pakke er en liten bit av en melding, sendt av gårde for seg selv med sin egen adresselapp.

En stor fil deles i mange pakker. Hver pakke har to deler:

- Hodet (engelsk header): avsenderadresse, mottakeradresse, sekvensnummer og annen styreinformasjon.
- Nyttelasten (engelsk payload): selve databiten.

Pakkene kan ta ulike veier gjennom nettet og komme fram i feil rekkefølge — eller ikke komme fram i det hele tatt. Å ordne opp i det er transportlagets jobb.

Pakkesvitsjing

Å dele meldingen i pakker som sendes uavhengig gjennom et delt nett, der hver pakke rutes for seg.

Fordelene, som er det eksamen spør om:

- Kapasiteten deles. Er du stille i en samtale, brukes linja av noen andre i mellomtiden.
- Robusthet. Faller en forbindelse bort, ruter pakkene seg rundt.
- Ingen oppkoblingstid. Du sender med én gang.

Prisen er at pakkene kan komme i feil rekkefølge, forsinket eller ikke i det hele tatt — og at forsinkelsen varierer.

Dette er måten internett virker på.

Linjesvitsjing

Å sette opp en fast, dedikert forbindelse mellom to parter, som holdes reservert helt til samtalen er over. Det klassiske telefonnettet virket slik.

Fordelen er jevn og forutsigbar kvalitet: linja er din, og forsinkelsen varierer ikke.

Ulempen er sløsing: linja er opptatt også når ingen sier noe, og den kan ikke brukes av andre.

Kontrasten er hele poenget: linjesvitsjing gir forutsigbarhet og sløser kapasitet; pakkesvitsjing utnytter kapasiteten og gir varierende forsinkelse.

IP-adresse

En IP-adresse identifiserer et nettverksgrensesnitt på internettlaget — i praksis «hvilken maskin, i hvilket nett».

Adressen har to deler:

- Nettdelen (prefikset) sier hvilket nett maskinen hører til. Rutere bruker bare denne.
- Maskindelen (suffikset) sier hvilken maskin innenfor det nettet.

IP-adressen er logisk: den kan endres, den følger nettet du er koblet til, og du får ofte en ny når du bytter nett. Det er motsatt av MAC-adressen.

IPv4

Den eldre og fortsatt dominerende versjonen. En IPv4-adresse er 32 bit, skrevet som fire desimaltall fra 0 til 255 med punktum mellom — for eksempel 129.241.10.5.

Hvert av de fire tallene er én byte, og 4×8=324 \times 8 = 32 bit.

Det gir 232=42949672962^{32} = 4\,294\,967\,296 adresser, altså rundt 4,3 milliarder. Det hørtes uendelig ut i 1981 og er for lite i dag — og det er hele grunnen til at IPv6 finnes.

IPv6

Den nyere versjonen. En IPv6-adresse er 128 bit, skrevet som åtte grupper med fire heksadesimale sifre, med kolon mellom — for eksempel 2001:0db8:0000:0000:0000:ff00:0042:8329.

Kontroller regnestykket: 8×4=328 \times 4 = 32 hex-sifre, og hvert hex-siffer er 4 bit, altså 32×4=12832 \times 4 = 128 bit.

21282^{128} adresser er et tall med 39 sifre. Adresseknappheten er dermed løst for all overskuelig framtid.

Tallet 128 er det mest spurte enkelttallet i hele nettverkstemaet. De faste distraktorene er 32 (som er IPv4), 64 og 256. Husk paret: IPv4 er 32, IPv6 er 128 — altså fire ganger så mange bit, ikke fire ganger så mange adresser.

Subnettmaske (prefiks og suffiks)

En subnettmaske sier hvor mange av de første bitene i IP-adressen som er nettdelen.

Skrivemåten med skråstrek er den vanlige: 129.241.10.5/24 betyr at de 24 første bitene er nettdel, og de resterende 3224=832 - 24 = 8 bitene er maskindel.

Det gir 28=2562^{8} = 256 adresser i nettet. (I praksis er to av dem reservert, så 254 maskiner kan bruke det, men TDT4110 spør om hovedregningen.)

Regnemetoden: antall maskinbit =32prefikslengden= 32 - \text{prefikslengden}, og antall adresser =2maskinbit= 2^{\text{maskinbit}}. Et /26-nett har 3226=632 - 26 = 6 maskinbit, altså 26=642^{6} = 64 adresser.

MAC-adresse

En MAC-adresse (media access control) identifiserer et fysisk nettverkskort på lenkelaget. Den er 48 bit, skrevet som seks par heksadesimale sifre: A4:5E:60:C1:9B:0F.

Kontroller: 12 hex-sifre ×\times 4 bit =48= 48 bit.

MAC-adressen er fysisk og fast — den ligger i maskinvaren og følger kortet, ikke nettet.

Skillet mot IP-adressen er en fast eksamensfelle:

MAC-adresseIP-adresse
Laglenkelagetinternettlaget
Bredde48 bit32 bit (IPv4)
Knyttet tilmaskinvarennettet du er koblet til
Rekkeviddedet lokale nettethele internett
Endres?nei, den er fastja, du får en ny på et nytt nett

ISP (internettleverandør)

En ISP (internet service provider) er selskapet som kobler deg til internett og som eier eller leier nettet trafikken din går gjennom.

ISP-en gjør tre ting du bør kunne: den gir deg en fysisk forbindelse, den tildeler deg en IP-adresse, og den ruter trafikken din videre ut i nettet.

Internett er ikke ett nett med én eier, men et nett av nett — mange ISP-er som har avtaler om å sende hverandres trafikk.

Unicast, multicast og broadcast

Tre måter å adressere en sending på — og et fast flervalgstema, fordi de tre er lette å blande:

FormMottakereBilde
Unicastén bestemt mottakeret brev til én person
Multicasten bestemt gruppe som har meldt seg pået nyhetsbrev til abonnentene
Broadcastalle på netteten høyttaler i et rom

Vanlig nettbruk — en webside, en e-post, en videosamtale — er unicast. Direktesendt strømming til mange samtidig kan bruke multicast, fordi samme pakke da bare sendes én gang gjennom det meste av nettet.
Fellen: multicast er ikke «til alle». Det er den nære distraktoren, og forskjellen på multicast og broadcast er nettopp at multicast har en påmeldt gruppe.

✏️Eksempel 2: Det mest spurte tallet i temaet
Hvor mange bit er en IPv6-adresse?

- a) 32 bit
- b) 64 bit
- c) 128 bit
- d) 256 bit

Riktig svar: c)

En IPv6-adresse er 128 bit. Du kan regne det ut i stedet for å huske det: adressen skrives som åtte grupper à fire hex-sifre, hvert hex-siffer er 4 bit, altså 8×4×4=1288 \times 4 \times 4 = 128.

- 32 bit er IPv4. Dette er den nære distraktoren, og den fanger alle som husker at «det er noe med 32» uten å huske hvilken versjon.
- 64 bit og 256 bit er toerpotenser som ligger rundt riktig svar. De er der for å hindre at du gjetter deg fram ved å velge «det største» eller «det midterste».

Huskeregelen som virker: hold de to sammen som et par. IPv4 er 32, IPv6 er 128. De to tallene spørres om like ofte, og hvis du bare husker det ene, er du sjanseløs på det andre.

Sensorpoeng: dette er akkurat den typen spørsmål der ingen minuspoeng betyr noe. Vet du at det er enten 32 eller 128, har du 50 % ved å krysse av — og 0 % ved å la være.

📝Oppgave 3
Sjanger A

Hva er hovedforskjellen på en MAC-adresse og en IP-adresse?

- a) MAC-adressen er 48 bit, mens IP-adressen alltid er 128 bit
- b) MAC-adressen tildeles av internettleverandøren ved oppkobling
- c) MAC-adressen er fast i maskinvaren, mens IP-adressen følger nettet
- d) MAC-adressen brukes til ruting mellom nett, IP-adressen lokalt

📝Oppgave 4
Sjanger A

Hva kjennetegner pakkesvitsjing sammenlignet med linjesvitsjing?

- a) Forbindelsen reserveres for de to partene til samtalen er over
- b) Meldingen deles opp og pakkene deler nettet med annen trafikk
- c) Forsinkelsen er helt jevn, siden hver pakke tar samme vei
- d) Oppkoblingen må være ferdig før første pakke kan sendes

📝Oppgave 5
Eksamensnivå, sjanger A

Et nett er oppgitt som 10.0.5.0/26. Hvor mange adresser rommer nettet?

- a) 26 adresser
- b) 32 adresser
- c) 256 adresser
- d) 64 adresser

Løkke 3 — Når bitene blir forvrengt: kanalkoding (~12 min)

En radio med dårlig dekning knitrer. En kabel plukker opp støy fra en motor i nærheten. En wifi-pakke kolliderer med naboens.

Resultatet er det samme: et bit som ble sendt som 11, kommer fram som 00. Mottakeren har ingen måte å vite det på — med mindre avsenderen har sendt med noe ekstra.

Det ekstra kalles kanalkoding, og den finnes i tre styrkegrader: fra å bare oppdage at noe er galt, til å rette det opp på stedet.

Kanalkoding
Kanalkoding er å legge til ekstra bit i sendingen slik at mottakeren kan oppdage — og noen ganger rette — feil som oppstår underveis.

De ekstra bitene bærer ingen ny informasjon. De er redundans: en pris i båndbredde, betalt for å slippe å stole blindt på forbindelsen.

Tre nivåer, i stigende styrke og pris:

MetodeHva den klarerKostnad
Paritetsbit (SPC)oppdager ett feil bit1 ekstra bit
CRC / sjekksumoppdager også lengre feilseriernoen få byte
Hamming-koderetter ett feil bitflere ekstra bit

Skillet mellom å oppdage og å rette er selve eksamensspørsmålet.
Paritetsbit (single parity check, SPC)

Ett ekstra bit lagt til slik at det samlede antallet enere blir et bestemt partall eller oddetall.

Ved partallsparitet settes paritetsbitet slik at summen av alle enere blir et partall:

DataAntall enereParitetsbitSendt
101100110110014 (partall)001011001010110010
101101110110115 (oddetall)111011011110110111

Mottakeren teller enerne. Er antallet oddetall, har noe gått galt.
Begrensningene er det som spørres om:
- Paritet oppdager feil, men kan ikke rette dem — mottakeren vet at noe er galt, ikke hva.

- Den oppdager bare et oddetall av feil. Blir to bit forvrengt samtidig, går regnestykket opp igjen, og feilen slipper gjennom.

Sjekksum og CRC

En sjekksum er et tall regnet ut fra hele datablokken og sendt med. Mottakeren regner ut det samme og sammenligner. Er tallene ulike, er dataene endret.

CRC (cyclic redundancy check, syklisk sjekksum) er den sterke varianten: en sjekksum regnet ut med en polynomdivisjon i stedet for en enkel addisjon.

CRC er god på feilserier — når støy slår ut flere bit på rad, som er det som faktisk skjer i praksis. En enkel paritetsbit ville sluppet halvparten av dem gjennom.

CRC brukes i Ethernet, i wifi og i mange filformater. Som paritet oppdager den feil, men retter dem ikke.

Hamming-kode

En feilrettende kode: den legger til flere paritetsbit, hver over sin egen delmengde av databitene, slik at mønsteret av feilslag peker ut nøyaktig hvilket bit som er galt.

Vet du hvilket bit som er feil, kan du rette det — et bit har jo bare to mulige verdier.

Hamming retter én feil per blokk og oppdager to. Skal du klare mer, trengs sterkere koder.

Nytten er størst der en ny sending er dyr eller umulig: radiosignaler fra romsonder, minnebrikker i servere, lagringsmedier. Der er det billigere å sende med ekstra bit enn å be om alt på nytt.

Fellen: at paritet og CRC også retter. De gjør ikke det. Bare Hamming (og andre feilrettende koder) retter.

✏️Eksempel 3: Et gjennomgått flervalg om kanalkoding
Hva kan en enkel paritetsbit (single parity check) gjøre?

- a) Rette ett feil bit i blokken automatisk
- b) Oppdage et oddetall av feil bit i blokken
- c) Oppdage og rette opptil to feil bit samtidig
- d) Hindre at feil bit oppstår under overføringen

Riktig svar: b)

Paritetsbitet gjør antall enere til et bestemt partall eller oddetall. Mottakeren teller. Stemmer ikke antallet, har det skjedd noe — men bare hvis et oddetall av bit er endret. To feil opphever hverandre i regnestykket.

- Alternativet om å rette er den viktigste distraktoren. Å oppdage og å rette er to ulike ferdigheter, og bare feilrettende koder som Hamming klarer det siste.
- Alternativet om to feil samtidig er dobbelt galt: paritet verken retter eller oppdager et partall av feil.
- Alternativet om å hindre at feil oppstår, forveksler koding med skjerming. Kanalkoding gjør ingenting med selve støyen; den gjør bare at du oppdager følgene.

Metoden i praksis: når alternativene inneholder verbene «oppdage», «rette» og «hindre», er spørsmålet nesten alltid hvilket av de tre metoden faktisk klarer. Sorter de tre verbene etter styrke først, så er halve jobben gjort.

📝Oppgave 6
Sjanger A

Hvilken av disse kodene kan RETTE et feil bit, ikke bare oppdage det?

- a) Paritetsbit (SPC)
- b) CRC (syklisk sjekksum)
- c) Enkel sjekksum
- d) Hamming-kode

Løkke 4 — Flytkontroll og de fire feilsituasjonene (~10 min)

Å oppdage en feil er én ting. Å gjøre noe med den er en annen — og å unngå at avsenderen drukner mottakeren i data, er en tredje.

Denne siste løkka er kort, men den inneholder ett av de tre faste par-spørsmålene i temaet: sliding window mot stop-and-go.

Sekvensering (sekvensnummer)

Å nummerere pakkene før sending, slik at mottakeren kan sette dem sammen i riktig rekkefølge uansett hvilken rekkefølge de kom i.

Sekvensnumrene løser tre problemer på én gang:

- Feil rekkefølge: pakkene sorteres etter nummer.
- Tap: mangler nummer 5, vet mottakeren nøyaktig hva som skal bes om på nytt.
- Duplikater: kommer nummer 5 to ganger, kastes den andre.

Uten sekvensnumre ville pakkesvitsjing ikke vært brukbart, siden pakker som tar ulike veier kommer fram i vilkårlig rekkefølge.

ACK og retransmisjon

En ACK (acknowledgement) er en kvittering: mottakeren sender en kort melding tilbake om at pakken kom fram.

Retransmisjon er avsenderens svar på at kvitteringen uteblir. Avsenderen setter en klokke når pakken sendes; går tiden ut uten ACK, sendes pakken på nytt.

Legg merke til at avsenderen ikke kan vite hvorfor kvitteringen uteble. Enten forsvant pakken på veien ut, eller så forsvant ACK-en på veien tilbake. Fra avsenderens side ser de to like ut — og det er nettopp derfor duplikater kan oppstå.

Flytkontroll
Flytkontroll er mekanismen som hindrer at avsenderen sender fortere enn mottakeren klarer å ta imot.

Mottakeren har et buffer, altså et mellomlager, der pakker venter på å bli behandlet. Fylles det opp, må resten kastes. Flytkontroll er avtalen som gjør at det ikke skjer: mottakeren forteller hvor mye den orker, og avsenderen holder seg innenfor.

Skill flytkontroll fra feilkontroll: feilkontroll handler om pakker som ble ødelagt eller borte; flytkontroll handler om pakker som kom for fort.

Stop-and-go

Den enkleste formen for flytkontroll: avsenderen sender én pakke og venter på ACK før den sender den neste.

Fordelen er at den er enkel og at mottakeren aldri kan bli overkjørt.

Ulempen er farten. Mesteparten av tiden går med til å vente på kvitteringen, og forbindelsen står tom imens. På en lang linje — for eksempel over en satellitt — blir utnyttelsen elendig.

Sliding window

Den effektive formen for flytkontroll: avsenderen kan sende flere pakker før den venter på kvittering. Hvor mange, avgjøres av vinduet — antallet ubekreftede pakker som er tillatt underveis.

Etter hvert som kvitteringer kommer inn, «glir» vinduet framover, og nye pakker kan sendes.

Vinduet er selve flytkontrollen: mottakeren kan gjøre det mindre når bufferet fylles opp, og større når den har god plass.

Kontrasten som spørres om: stop-and-go venter etter hver pakke; sliding window sender flere før den venter. Sliding window utnytter forbindelsen langt bedre, og er derfor det TCP faktisk bruker.

Replay error (duplikat)

Feilsituasjonen der mottakeren får den samme pakken to ganger.

Slik oppstår den: pakken kommer fram, men ACK-en forsvinner på vei tilbake. Avsenderens klokke går ut, og pakken sendes på nytt — helt korrekt, ut fra det avsenderen vet.

Løsningen er sekvensnumrene: mottakeren ser at nummer 5 allerede er behandlet, kaster kopien, og sender en ny ACK.

Uten den kontrollen kunne en overføring blitt behandlet to ganger — noe som er ubehagelig i en filoverføring og verre i en betaling.

Jitter
Jitter er variasjonen i forsinkelse fra pakke til pakke.

Kommer pakkene med 20 ms, så 45 ms, så 18 ms mellomrom, er den gjennomsnittlige forsinkelsen kanskje helt grei — men jitteren er høy.

Jitter er problematisk for direktesendt lyd og video, der pakkene skal spilles av i jevnt tempo. Løsningen er et jitterbuffer: mottakeren samler opp noen pakker før avspilling begynner, og jevner ut variasjonen — på bekostning av litt ekstra forsinkelse.

Skill jitter fra latency: latency er hvor lang tid det tar; jitter er hvor mye den tiden svinger.

Buffer overflow
Buffer overflow i nettverkssammenheng er at mottakerens mellomlager fylles opp fordi data kommer inn fortere enn de behandles. Det som ikke får plass, kastes.

Dette er nettopp det flytkontroll skal hindre. Uten den ville en rask avsender og en treg mottaker gitt tap som ikke skyldtes støy eller feil i det hele tatt, bare ubalanse i fart.

(Ordet «buffer overflow» brukes også om en helt annen ting i sikkerhetsfaget — et angrep der man skriver forbi enden av et minneområde. Se kap. 8.4. Det er samme bilde, men to ulike temaer.)

✏️Eksempel 4: Et flervalg på eksamensnivå om flytkontroll
Hva er forskjellen på stop-and-go og sliding window?

- a) Stop-and-go venter på ACK etter hver pakke, sliding window sender flere først
- b) Stop-and-go sender flere pakker først, sliding window venter etter hver pakke
- c) Stop-and-go brukes til feilretting, mens sliding window brukes til feiloppdaging
- d) Stop-and-go krever sekvensnumre, mens sliding window klarer seg uten dem

Riktig svar: a)

Stop-and-go sender én pakke og venter. Sliding window har et vindu av pakker som kan være ubekreftet samtidig, og glir framover etter hvert som kvitteringene kommer.

- Alternativet som snur de to er den nære distraktoren. Den er umulig å eliminere hvis du bare husker at «de to er ulike», og triviell hvis du husker hva ordene betyr: stop og go beskriver nettopp å stoppe etter hver pakke.
- Alternativet om feilretting og feiloppdaging flytter spørsmålet til kanalkoding, som er et annet tema. Begge er flytkontroll.
- Alternativet om sekvensnumre snur behovet på hodet: det er sliding window som trenger dem mest, siden flere pakker er underveis samtidig.

Huskeregel som holder: navnene forteller det. Stop-and-go stopper og går, én om gangen. Sliding window er et vindu som glir — og et vindu rommer flere.

Sensorpoeng: to av fire alternativer er hverandres speilbilde. Når du ser det mønsteret i et flervalg, vet du at fasiten er ett av de to, og at de to andre kan strykes uten videre. Da er du på 50 % før du har tenkt på faget.

📝Oppgave 7
Sjanger A

Hvorfor kan mottakeren få den samme pakken to ganger?

- a) Fordi pakken kom fram, men kvitteringen forsvant på vei tilbake
- b) Fordi sekvensnumrene ble tildelt i feil rekkefølge av avsenderen
- c) Fordi mottakerens buffer ble fullt og pakken måtte sendes på nytt
- d) Fordi paritetsbitet slo feil og pakken ble regnet som ødelagt

📝Oppgave 8
Sjanger A

En videosamtale hakker, selv om den gjennomsnittlige forsinkelsen er lav. Hva er den mest sannsynlige årsaken?

- a) Høy latency, altså at hver pakke bruker lang tid fram
- b) Buffer overflow hos avsenderen ved oppstart av samtalen
- c) Feil paritetsbit, som gjør at pakkene forkastes ved mottak
- d) Høy jitter, altså stor variasjon i forsinkelsen fra pakke til pakke

📝Oppgave 9
Eksamensnivå, sjanger A

En sending går over en satellittforbindelse med svært lang rundetid. Hvilken påstand er riktig?

- a) Stop-and-go utnytter forbindelsen godt, siden hver pakke bekreftes
- b) Sliding window utnytter forbindelsen bedre, siden flere pakker er underveis
- c) Begge utnytter forbindelsen likt, siden datamengden er den samme
- d) Ingen av dem virker, siden lang rundetid krever linjesvitsjing

Begreps- og enhetsliste

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 Norges teknisk-naturvitenskapelige universitet. Dette er ikke offisielt studiemateriell. Les mer.