Øvingseksamen · TTM4100

Øvingseksamen 10

Del I: 13 oppgaver (42 poeng) — flervalg, én Sant/Usant-blokk og én koble-oppgave. Del II: 5 åpne oppgaver (58 poeng). Totalt 100 poeng.

Temaer i dette settet
  • Forsinkelseskomponenter og pakkesvitsjing/kretsesvitsjing (kap. 1)
  • FTP control vs data, HTTP statuskoder (kap. 2)
  • Karn's algoritme, sliding window (kap. 3)
  • NAT-oversettelse og ICMP echo (kap. 4 og 5)
  • Sant/Usant-blokk om WiFi (kap. 7)
  • WiFi passiv vs aktiv scanning og 4-veis handshake (kap. 7 og 8)
  • Koble: sikkerhetstjenester mot konkrete protokoll-funksjoner (kap. 8)
  • RTP-felt og åpne oppgaver: sliding window-throughput, NAT-tabell, Vigenère, DASH-tilpasning

Del I — Automatisk rettede spørsmål

13 oppgaver · 42 poeng totalt (3p per flervalg + Sant/Usant-blokk 5p + matching 4p)

Klikk på alternativet du mener er riktig — du får umiddelbart tilbakemelding. For Sant/Usant-blokken får du tilbakemelding per rad og fasiten åpner seg når alle radene er besvart. For koble-oppgaven svarer du for hver rad og åpner fasiten manuelt.

Spørsmål 1 3 poeng Kap. 1

En pakke skal sendes over en lenke som er fysisk 4 000 km lang. Lenkens kapasitet er 100 Mbps og signalets hastighet i mediet er 2 × 10⁸ m/s. Pakken er 1 250 byte. Hva er omtrent propagasjonsforsinkelsen?

  • A 0,1 ms
  • B 20 ms
  • C 100 ms
  • D 200 ms
Vis fasit
Riktig svar: B — 20 ms

Propagasjonsforsinkelse = avstand / signalhastighet = (4 000 km) / (2 × 10⁸ m/s) = (4 × 10⁶ m) / (2 × 10⁸ m/s) = 0,02 s = 20 ms.

Til sammenligning er transmisjonsforsinkelsen for selve pakken: (1 250 × 8) / (100 × 10⁶) = 10 000 / 10⁸ = 100 µs = 0,1 ms — bare en brøkdel av propagasjonsforsinkelsen. Over lange avstander er det propagasjonen som dominerer, ikke pakkestørrelsen.

Dette er grunnen til at RTT for transatlantiske forbindelser ligger på ~70–100 ms uavhengig av båndbredden.

Pensum: Kap. 1 — Forsinkelsesbegreper

Spørsmål 2 3 poeng Kap. 1

Hvilken egenskap er karakteristisk for kretsesvitsjing (FDM/TDM) men IKKE for pakkesvitsjing?

  • A Hver pakke bærer en header med avsender- og mottaker-adresse for uavhengig forwarding
  • B Hver tilkobling får tildelt fast kapasitet hele kallets varighet — også når den er stille
  • C Trafikken kan bygge kø hos rutere når flere strømmer konkurrerer om samme utgående lenke
  • D Veivalg gjøres per pakke uavhengig av tidligere pakker i samme strøm
Vis fasit
Riktig svar: B

I kretsesvitsjede nett (klassisk telefoni) reserveres ressurser ved oppringningstidspunktet. TDM gir hver samtale en egen tidsslott i en repetert ramme, FDM en egen frekvensbånd. Kapasiteten er din uansett om du faktisk snakker — derfor er kretsesvitsjing dårlig egnet for «bursty» datatrafikk.

A er feil — pakkesvitsjede pakker har headere. C og D beskriver pakkesvitsjede nett (kø-bygging og uavhengig forwarding per pakke).

Avveining: kretsesvitsjing gir garantert ytelse men sløser ressurser; pakkesvitsjing gir effektiv utnyttelse via statistisk multipleksing men krever kø-bygging og kan miste pakker.

Pensum: Kap. 1 — Krets- vs. pakkesvitsjing

Spørsmål 3 3 poeng Kap. 2

FTP bruker to TCP-forbindelser samtidig — én for kommandoer og én for selve filoverføringen. Hvilke porter brukes typisk i aktiv modus?

  • A Kontrollkanal på port 21, dataforbindelse på port 20
  • B Begge på port 80
  • C Kontrollkanal på port 25, dataforbindelse på port 110
  • D Bare én forbindelse på port 21
Vis fasit
Riktig svar: A

FTP er out-of-band: kontrollmeldinger (USER, PASS, RETR, STOR, QUIT) går på port 21, mens selve filinnholdet flyttes via en separat TCP-forbindelse på port 20.

I aktiv modus ber klienten om at serveren oppretter dataforbindelsen tilbake til klienten — dette skaper problemer med NAT/brannmur. I passiv modus (PASV) ber serveren klienten om å åpne dataforbindelsen til en port serveren har lyttet på — dette fungerer bedre med moderne NAT.

HTTP er motsatt: in-band, all kontroll og data går på samme TCP-forbindelse. Det gir én færre forbindelse å håndtere, men gjør at f.eks. avbrutte forespørsler er vanskeligere å håndtere kontrollert.

Pensum: Kap. 2 — FTP

Spørsmål 4 3 poeng Kap. 2

Klienten får svaret HTTP/1.1 301 Moved Permanently med en Location-header pekende til en ny URL. Hva betyr dette, og hva gjør moderne nettlesere?

  • A Serveren melder en autentiseringsfeil — klienten må be brukeren om brukernavn og passord før forespørselen kan gjentas mot samme URL
  • B Ressursen er flyttet permanent. Klienten følger redirecten automatisk mot Location-URL-en, og kan oppdatere lenker og cache slik at framtidige forespørsler går rett til den nye adressen
  • C Ressursen er midlertidig utilgjengelig på grunn av serverlast; klienten skal vente i minst 30 sekunder og prøve igjen mot samme URL uten å oppdatere bokmerker
  • D Statuskoden er reservert for framtidig bruk i HTTP/2 og har ingen semantisk betydning som klienten skal håndtere i dag
Vis fasit
Riktig svar: B

HTTP-statuskoder grupperes i klasser: 2xx = suksess, 3xx = redirect, 4xx = klientfeil, 5xx = serverfeil.

  • 301 Moved Permanently: ressursen har fått ny permanent URL. Søkemotorer skal oppdatere indeksen sin; nettlesere kan oppdatere bokmerker.
  • 302 Found (eller 307): midlertidig redirect. Klienten følger den, men oppdaterer ikke noe.
  • Andre vanlige: 200 OK, 304 Not Modified (conditional GET), 404 Not Found, 500 Internal Server Error.

Når en stor nettside bytter domene, returnerer den 301 fra det gamle domenet til det nye — slik beholdes søkemotor-rangeringen og brukerne sendes automatisk til riktig sted.

Pensum: Kap. 2 — HTTP-statuskoder

Spørsmål 5 3 poeng Kap. 3

TCPs RTT-estimering bruker Karns algoritme. Hva er hovedinnholdet i denne regelen?

  • A Senderen skal multiplisere alle RTT-målinger med 1,5 for å gi en konservativ sikkerhetsmargin mot uventet kø-vekst i nettet, og bruke produktet som timeout
  • B Senderen skal ikke oppdatere SampleRTT med målinger fra retransmitterte segmenter, siden det er tvetydig hvilket segment ACK-en svarer på. I tillegg dobles timeout ved hver retransmisjon (exponential backoff)
  • C Senderen skal alltid bruke en fast timeout på 1 sekund uavhengig av målte RTT-verdier, og ignorere variasjoner i nettforsinkelsen mellom segmenter
  • D Senderen skal sende dobbelt så mange segmenter per RTT når målt RTT øker, for å kompensere for redusert gjennomstrømning og fylle vinduet
Vis fasit
Riktig svar: B

Hvis et segment retransmitteres og en ACK ankommer, vet senderen ikke om ACK-en svarer på det første eller det retransmitterte segmentet. RTT-målingen blir tvetydig — å bruke den kan gi feil estimat (for kort hvis vi tror den svarer på den siste; for lang hvis vi tror den svarer på den første).

Karns regel (1987): ignorer RTT-målinger fra retransmitterte segmenter. I stedet, ved hver retransmisjon, dobles RTO (timeout-verdien). Dette er en klassisk exponential backoff-strategi som gir et nett under last «pusterom» til å gjenopprette seg.

Når et nytt segment ikke trenger retransmisjon, gjenopptas vanlig RTT-måling og oppdatering av EstimatedRTT/DevRTT.

Pensum: Kap. 3 — RTT-estimering og Karns algoritme

Spørsmål 6 3 poeng Kap. 3

Hvilken av påstandene om sliding window er korrekt?

  • A Sliding window er bare nødvendig når pakker ankommer i feil rekkefølge — for ren ytelse holder det å bruke stop-and-wait med korte timeouts
  • B Sliding window lar senderen ha flere ukvitterte segmenter underveis samtidig — nødvendig for å fylle nett med stor båndbredde-forsinkelse (BDP), der stop-and-wait gir svært lav gjennomstrømning
  • C Sliding window dobler antall ACK-er per segment slik at senderen får raskere tilbakemelding ved tap i nettet
  • D Sliding window er en feilrettingskode som rekonstruerer tapte pakker uten retransmisjon
Vis fasit
Riktig svar: B

Med stop-and-wait (vindusstørrelse 1) er gjennomstrømningen begrenset til (1 segment) / RTT. Over en lenke med 100 Mbps og RTT 100 ms blir BDP = 100 Mbps × 0,1 s = 10 Mbit = 1,25 MB. Med MSS = 1 460 byte ville stop-and-wait gitt: 1 460 / 0,1 = 14,6 kB/s ≈ 117 kbps — under 0,2 % av kapasiteten.

Med sliding window kan senderen ha mange segmenter underveis samtidig. Optimal vindusstørrelse er rundt BDP / MSS ≈ 850 segmenter for å fylle linken. ACK-er ankommer kontinuerlig og lar nye segmenter sendes uten å vente på en hel RTT.

Både GBN og SR er sliding-window-protokoller; TCP er det også (med rwnd og cwnd som kontrollerer størrelsen).

Pensum: Kap. 3 — Sliding window og BDP

Spørsmål 7 3 poeng Kap. 4

En NAT-ruter har offentlig IP 83.5.10.20. To interne hoster A (10.0.0.5:5000) og B (10.0.0.6:5000) sender begge ut samtidige UDP-pakker mot samme eksterne mottaker (94.1.1.1:80). Hvordan skiller NAT-ruteren mellom svarpakkene tilbake fra serveren?

  • A Den oversetter ingen header-felt — pakkene videresendes med sine private kilde-IP-er, og serveren svarer direkte til 10.0.0.5 og 10.0.0.6
  • B Den endrer kilde-IP til sin egen offentlige IP for begge, og setter ulike kilde-porter (f.eks. 60001 og 60002). Når svar ankommer, slås destinasjons-port opp i NAT-tabellen for å oversette tilbake
  • C Den bruker MAC-adressen til de interne hostene som ekstra nøkkel i NAT-tabellen for å skille de to forbindelsene fra hverandre
  • D Den krever at A og B på forhånd avtaler ulike kilde-porter via DHCP, slik at NAT-ruteren kan slippe å holde en oversettelsestabell
Vis fasit
Riktig svar: B

Klassisk «port address translation» (PAT, en form for NAT). NAT-ruteren bygger opp en oversettelsestabell med oppføringer av typen:

Offentlig (utside)Privat (innside)
83.5.10.20:60001 → 94.1.1.1:8010.0.0.5:5000 → 94.1.1.1:80
83.5.10.20:60002 → 94.1.1.1:8010.0.0.6:5000 → 94.1.1.1:80

Når en svarpakke kommer inn med destinasjons-port 60001, slår NAT-ruteren opp i tabellen og oversetter dest. til 10.0.0.5:5000 før videresending.

Slik kan flere hundre interne hoster dele én offentlig IP — NAT er hovedgrunnen til at det fortsatt fungerer å bruke IPv4 selv med adresseknapphet, men det gjør innkommende forbindelser komplisert (NAT-traversal kreves for P2P).

Pensum: Kap. 4 — NAT

Spørsmål 8 3 poeng Kap. 5

Hva slags ICMP-meldinger brukes av kommandoen ping?

  • A Type 11 (Time Exceeded) og type 3 (Destination Unreachable)
  • B Type 8 (Echo Request) sendt fra avsenderen, og type 0 (Echo Reply) sendt fra mottakeren
  • C Type 5 (Redirect) i begge retninger
  • D Det brukes UDP, ikke ICMP
Vis fasit
Riktig svar: B

Ping er den enkleste diagnostiske bruken av ICMP: avsenderen sender en Echo Request (type 8), mottakeren svarer med Echo Reply (type 0). RTT måles som tiden fra request til reply.

Pakketap detekteres ved at en forventet reply uteblir (timeout). Tradisjonelt sender ping én pakke per sekund og rapporterer min/avg/max/jitter samt prosent tapt.

Type 11 (Time Exceeded) brukes av traceroute, type 3 av rutere/serverne for å rapportere uleverbare pakker. ICMP er sin egen lag-3-protokoll (parallelt med IP-payload), og den bruker ikke UDP eller TCP.

Pensum: Kap. 5 — ICMP og ping

Spørsmål 9 3 poeng Kap. 6

ARP-tabeller utløper. Hva er hovedgrunnen til at oppføringer i ARP-cachen har en tidsavløp (typisk minutter)?

  • A Det er en ren ytelsesoptimalisering for å spare RAM, slik at ARP-tabellen ikke vokser ubegrenset på switcher og rutere med svært mange tilkoblede verter i lokalnettet
  • B En vert kan flyttes, eller MAC-adressen endres (nytt nettverkskort, virtuell IP overført). En gammel oppføring vil da sende rammer til feil sted; tidsavløpet tvinger fram ny ARP-request og oppdatert mapping
  • C ARP-protokollen tillater ikke at samme IP-til-MAC-mapping brukes mer enn én gang av samme vert, fordi sekvensnumrene i ARP-headeren da ville kollidere mot hverandre
  • D IEEE 802-standarden krever at ARP-oppføringer aldri varer mer enn 100 ms av hensyn til sikkerhet mot ARP-spoofing- og MAC-flooding-angrep i lokalnettet
Vis fasit
Riktig svar: B

ARP-tabellen er en cache av nylig observerte IP-til-MAC-mappinger. Hvis topologien endres — en server flyttes mellom rack, en VM får ny vert, eller HSRP/VRRP overfører en virtuell IP fra én ruter til en annen — vil cachen være feil. Et tidsavløp (typisk 1–20 minutter) tvinger fram en ny ARP-utveksling og dermed oppdatert mapping.

Mange systemer bruker også gratuitous ARP: en vert som tar over en virtuell IP, sender en ARP-melding om sin egen IP-MAC-mapping uten å være spurt — slik at andre verter oppdaterer cachen umiddelbart i stedet for å vente på timeout.

Caching i seg selv finnes for å unngå én ARP-broadcast per pakke (ytelse + støy), men tidsavløpet handler om korrekthet over tid.

Pensum: Kap. 6 — ARP og ARP-cache

Spørsmål 10 5 poeng Kap. 7

Avgjør om hver av påstandene under er sann eller usann. 1 poeng per riktig svar.

  • 1. CSMA/CA i 802.11 oppdager kollisjoner mens overføringen pågår, akkurat som CSMA/CD i Ethernet.
  • 2. En klient som beveger seg mellom to AP-er med samme SSID (men ulik BSSID) i samme ESS, vil typisk gjennomføre re-association uten at IP-laget merker en endring.
  • 3. Datarate-valget i 802.11 er statisk satt ved oppkobling og endres ikke under sesjonen.
  • 4. En klient som har slått av WiFi-radioen og går inn i strømsparemodus, kan likevel motta innkommende rammer fordi AP-et buffrer dem og leverer ved oppvåkning.
  • 5. WPA3 fjerner det offline ordbokangrepet som var mulig på WPA2 via «Simultaneous Authentication of Equals» (SAE) i stedet for det gamle 4-veis handshake med PSK.
Vis fasit

Riktige svar

  1. Usant — radio-mottakeren i 802.11-utstyr kan i praksis ikke høre andres signaler mens den selv sender (hennes egen utgang er flere størrelsesordener sterkere). CSMA/CA prøver i stedet å unngå kollisjoner via tilfeldig backoff og positive ACK — vi vet at det var en kollisjon kun retroaktivt, ved at ACK uteblir.
  2. Sant — innenfor samme Extended Service Set deler AP-ene samme SSID og bruker samme broadcast-domene (eller bro) i bakgrunnen. Klienten beholder IP og forbindelser — kun lenkelaget bytter AP. Ved bytte mellom ulike subnett trengs derimot DHCP og ofte mobile IP-mekanismer.
  3. Usant — moderne 802.11 bruker rate adaptation: stasjoner og AP-er endrer datarate dynamisk basert på signalkvalitet og pakketap. Lengre fra AP-et brukes lavere, mer robust modulasjon (men lavere bitrate); tett ved AP-et brukes høy modulasjon (mer bit per symbol).
  4. Sant — klienter signaliserer Power Save-modus i en flag i sendte rammer. AP-et buffrer da innkommende rammer for klienten og varsler i beacons (TIM-feltet) at det er ventende data. Klienten våkner periodisk, sjekker beacon, og henter dataen. Slik forlenges batterilevetiden uten å miste innkommende trafikk.
  5. Sant — SAE (Dragonfly) erstatter PSK-baserte 4-veis handshake i WPA3-Personal. Ved SAE er det ikke lenger mulig å fange handshake-rammene og bryte passordet offline med en GPU-rig. Hvert forsøk krever interaksjon med AP-et og kan dermed begrenses gjennom rate-limiting. WPA3 introduserer også Forward Secrecy og 192-bit-suite for enterprise.

Pensum: Kap. 7 — 802.11, mobilitet, rate adaptation, WPA3

Spørsmål 11 3 poeng Kap. 7

Hva er forskjellen mellom passiv og aktiv scanning i 802.11?

  • A Passiv: klienten lytter på hver kanal etter beacons fra AP-er. Aktiv: klienten sender Probe Request og venter på Probe Response — raskere, men røper klientens tilstedeværelse
  • B Passiv scanning brukes kun på lisensierte mobilbånd som LTE; aktiv scanning er forbeholdt ulisensierte WiFi-bånd og krever Probe Request med autentisering
  • C Passiv scanning brukes kun under nedlasting fra AP-en, mens aktiv scanning utføres kun under opplasting og krever en åpen TCP-forbindelse
  • D Begrepene er synonyme i 802.11-standarden og refererer begge til kanalvalg under association med en AP
Vis fasit
Riktig svar: A

Begge metodene brukes for å oppdage tilgjengelige AP-er rundt seg.

  • Passiv: klienten hopper mellom kanaler og lytter etter beacon-rammer. Tregere — må vente på beacon (typisk hvert 100 ms) — men sender ingenting. Brukes for å unngå å avsløre at en enhet leter etter et bestemt SSID, eller når regulatoriske restriksjoner forbyr aktiv sending (DFS-kanaler).
  • Aktiv: klienten sender Probe Request (kan inkludere et spesifikt SSID, eller wildcard for «alle»). AP-er som hører requesten svarer raskt med Probe Response. Raskere oppdaging, og brukes som standard.

Aktiv scanning kan lekke informasjon om hvilke nettverk en enhet tidligere har koblet seg til (preferred network list) — derfor forsøker iOS/Android å begrense dette.

Pensum: Kap. 7 — 802.11 scanning og association

Spørsmål 12 4 poeng Kap. 8

Koble hver protokoll-funksjon eller -faktum til den primære sikkerhetstjenesten den representerer. Velg én bokstav per rad. 1 poeng per riktig kobling.

Selectable Items (sikkerhetstjenester)
  1. Konfidensialitet (data kan ikke leses av uvedkommende)
  2. Integritet (data har ikke blitt endret underveis)
  3. Autentisering (motparten er den de utgir seg for å være)
  4. Tilgjengelighet (tjenesten er oppe og når kan brukes)
  5. Ikke-fornektelse (avsender kan ikke senere benekte å ha sendt meldingen)
# Funksjon / faktum Ditt valg
1 TLS verifiserer serverens X.509-sertifikat under handshake
2 AES-GCM krypterer alle TLS Record-meldinger med øktnøkkelen
3 En signert kontrakt levert digitalt — mottaker vil senere kunne bevise overfor en uavhengig tredjepart at avsender faktisk signerte
4 HMAC-feltet i en ESP-pakke (IPSec) regnes ut over hele payloaden

Banken har 5 alternativer; du skal kun bruke 4. Ett av alternativene er en distraktor (passer ikke til noen rad).

Vis fasit
Riktige koblinger
OppgaveRiktig
1 Sertifikatverifiseringc — Autentisering
2 AES-GCM Record-krypteringa — Konfidensialitet (GCM gir også integritet, men hovedformålet med kryptering av selve innholdet er konfidensialitet)
3 Signert kontrakte — Ikke-fornektelse
4 HMAC over ESP-payloadb — Integritet

Distraktor: d — Tilgjengelighet (CIA-triadens A) leveres ikke av kryptografiske mekanismer alene. Den oppnås gjennom redundans, DDoS-mottiltak, lastbalansering osv. — utenfor det de fire eksemplene dekker.

Merk særlig forskjellen mellom autentisering (oppgave 1: «Hvem er du?» — bekreftet via sertifikatet) og integritet (oppgave 4: «Er meldingen uforandret?» — bekreftet via HMAC).

Pensum: Kap. 8 — Sikkerhetsmål og mekanismer

Spørsmål 13 3 poeng Kap. 9

Hvilket av RTP-feltene brukes av mottakeren til å spille av samples i riktig rekkefølge og med korrekte tidsintervaller?

  • A SSRC — angir hvilket nettverksgrensesnitt pakken kom inn på; mottakeren bruker det til å bestemme avspillingsrekkefølge mellom flere samtidige strømmer
  • B Payload Type — angir antall byte i payloaden, slik at mottakeren vet når neste sample begynner i en pakke som inneholder flere etter hverandre
  • C Timestamp — angir samplingsøyeblikket for første sample i pakken; mottakeren bruker det til å plassere samples på riktig avspillingstidspunkt og kompensere for jitter
  • D Sequence Number — fungerer som tidsstempel målt i mikrosekunder fra sesjonens start, og setter samples i riktig avspillingsorden
Vis fasit
Riktig svar: C — Timestamp

Mens sekvensnummer brukes for å oppdage tap og rekkefølge, gir timestamp selve sampling-klokken. Mottakeren bruker timestamp + en lokal jitter-buffer for å spille av samples i riktig tidspunkt. To pakker som ankommer 50 ms fra hverandre fra nettet, men har timestamps 20 ms fra hverandre, skal spilles av med 20 ms mellomrom — slik glattes jitter ut.

Andre felt: SSRC identifiserer kilden (én verdi per RTP-stream); Payload Type sier hvilken kodek som er brukt (Opus, G.711 osv.); Sequence Number brukes til å oppdage tap og duplikater.

Pensum: Kap. 9 — RTP-headerformat

Del II — Åpne oppgaver

5 oppgaver · 58 poeng totalt

Skriftlige svar — vis utregning og begrunnelse. Klikk «Vis fasit» for å sammenligne med modellbesvarelsen etter at du har skrevet ditt eget svar.

Oppgave 1 8 poeng Kap. 1 · 3

En klient (C) sender data til en server (S) over to lenker i serie:

  • C ↔ ruter R: 200 Mbps, propagasjonsforsinkelse 2 ms
  • R ↔ S: 50 Mbps, propagasjonsforsinkelse 8 ms
  • Pakkestørrelse 1 250 byte. Ignorer kø og prosessering.

a) Beregn one-way-forsinkelsen for én pakke fra C til S. (4p)

b) C sender en stor fil ved hjelp av sliding window. Hvilken av de to lenkene er flaskehalsen, og hvilken maksimal gjennomstrømning kan oppnås på lang sikt? (2p)

c) Hvor mange bits «får plass» samtidig på lenken R ↔ S (BDP)? Hvilken praktisk konsekvens har dette for valg av TCP-vindu? (2p)

Vis fasit

a) One-way-forsinkelse C → S:

Pakkestørrelse: 1 250 byte = 10 000 bits.

  • Transmisjon på C–R: 10 000 / (200 × 10⁶) = 50 µs = 0,05 ms
  • Propagasjon på C–R: 2 ms
  • Transmisjon på R–S: 10 000 / (50 × 10⁶) = 200 µs = 0,2 ms
  • Propagasjon på R–S: 8 ms

Total: 0,05 + 2 + 0,2 + 8 = 10,25 ms.

b) Flaskehals:

Den langsomste lenken setter taket på lang sikt. Her er R ↔ S med 50 Mbps flaskehalsen. Maksimal vedvarende gjennomstrømning: 50 Mbps.

c) BDP for R–S:

RTT på R–S-segmentet: 2 × 8 ms = 16 ms. Men for end-to-end TCP er RTT = 2 × 10,25 ≈ 20,5 ms.

BDP (med flaskehals 50 Mbps og full e2e RTT): 50 × 10⁶ × 0,0205 ≈ 1,025 × 10⁶ bits ≈ 128 kB.

Konsekvens: TCP-vinduet (rwnd × cwnd) må være minst ~128 kB for å holde flaskehalsen mettet. Standard-rwnd uten window scaling er 64 kB — det halverer maksimal oppnåelig throughput. Derfor er TCP window scaling (RFC 1323) viktig på moderne lenker.

Pensum: Kap. 1 — Forsinkelse · Kap. 3 — BDP

Oppgave 2 12 poeng Kap. 3

En sender bruker Go-Back-N med vindusstørrelse N over en lenke med RTT 100 ms og kapasitet 10 Mbps. Pakkestørrelse 1 000 byte. Tap-rate ≈ 0 (ideelt nett).

a) Hva er minste N som kreves for å fylle linken (omtrentlig BDP-utregning)? (3p)

b) Med N = 10 (lavere enn b) krever): hvilken effektiv gjennomstrømning oppnås? Hvor mye tid bruker senderen på å vente per syklus? (4p)

c) Tenk deg at p = 1 % av pakkene faktisk går tapt. Beskriv konsekvensen for Go-Back-N kontra Selective Repeat: hvilke pakker må retransmitteres i hvert tilfelle hvis pakke n går tapt midt i et vindu? (5p)

Vis fasit

a) Minste N for full utnyttelse:

BDP = 10 × 10⁶ × 0,1 = 10⁶ bits = 125 000 byte. Pakkestørrelse 1 000 byte → ≈ 125 pakker må være underveis samtidig for å fylle linken. Senderens vindu N må derfor være ≥ 125.

b) Med N = 10:

Senderen sender 10 pakker, og må deretter vente på første ACK før neste vindu kan begynne (sliding-effekten gir kontinuerlig sending så lenge ACK-er kommer like raskt som pakker sendes ut).

Transmisjonstid for 10 pakker: 10 × (8 000 / 10⁷) = 8 ms. Etter 8 ms har senderen sendt hele vinduet og må vente på ACK fra første pakke, som ankommer ca. RTT = 100 ms etter pakken ble sendt — dvs. ca. 100 ms etter senderen begynte. Senderen er altså aktiv 8 ms av 100 ms = 8 % av tiden.

Effektiv gjennomstrømning: 10 pakker × 8 000 bits / 100 ms = 800 kbps — kun 8 % av kapasiteten.

Vente-tid per syklus: ≈ 92 ms.

c) Konsekvens av tap (pakke n tapt midt i vinduet):

Go-Back-N: Mottakeren forkaster alle pakker etter n (ute av rekkefølge). Etter timeout retransmitterer senderen pakke n og alle påfølgende pakker som var i vinduet (n, n+1, n+2, …). Enkel mottaker (én buffer-posisjon), men sløsete på lenker med tap.

Selective Repeat: Mottakeren buffrer pakker etter n i mottaksvinduet. Når n retransmitteres og ankommer, leveres alle bufrede pakker i riktig rekkefølge til applikasjonen. Senderen retransmitterer kun pakke n. Mer komplisert mottaker (større buffer, individuelle ACK-er), men mye mer effektiv ved tap.

TCP er nærmere SR enn GBN: med SACK-opsjonen kan mottakeren rapportere hvilke spesifikke segmenter som mangler, og senderen retransmitterer kun disse.

Pensum: Kap. 3 — GBN og SR

Oppgave 3 15 poeng Kap. 4

En NAT-ruter har offentlig IP 89.10.20.30 og betjener et internt nett 192.168.1.0/24. NAT-tabellen er tom ved start. Følgende interne pakker skal sendes ut, i denne rekkefølgen:

  1. Vert X (192.168.1.10:5500) → 142.250.74.110:443 (HTTPS)
  2. Vert Y (192.168.1.20:5500) → 142.250.74.110:443 (HTTPS) — samme mål-IP og samme kilde-port som X tilfeldigvis
  3. Vert X (192.168.1.10:5501) → 188.40.150.100:80 (HTTP)

NAT-ruteren tildeler offentlige porter sekvensielt fra 50000.

a) Fyll inn NAT-tabellen etter at alle 3 pakker har gått ut. Hvilken oversettelse skjer for hver pakke (kilde-IP/port før vs. etter NAT)? (8p)

b) Et svar fra 142.250.74.110:443 ankommer NAT-ruteren med destinasjon 89.10.20.30:50001. Hvilken intern vert blir mottaker? Beskriv stegene NAT-ruteren utfører. (3p)

c) Hva ville skjedd hvis serveren 188.40.150.100 selv prøvde å initiere en forbindelse inn til X? Hva er den vanligste mekanismen for å løse problemet med innkommende forbindelser bak NAT? (4p)

Vis fasit

a) NAT-tabell etter de 3 pakkene:

#Internt (kilde-IP:port → dest)Eksternt etter NAT (kilde-IP:port → dest)
1192.168.1.10:5500 → 142.250.74.110:44389.10.20.30:50000 → 142.250.74.110:443
2192.168.1.20:5500 → 142.250.74.110:44389.10.20.30:50001 → 142.250.74.110:443
3192.168.1.10:5501 → 188.40.150.100:8089.10.20.30:50002 → 188.40.150.100:80

Selv om X og Y har samme interne kilde-port (5500), gir NAT-ruteren dem ulike eksterne porter (50000 og 50001) — det er nettopp poenget med port translation.

b) Svarpakke til 89.10.20.30:50001:

  1. NAT-ruteren slår opp i sin tabell: «Hvem hadde ekstern port 50001?» — finner Y (192.168.1.20:5500).
  2. Endrer destinasjons-IP fra 89.10.20.30 til 192.168.1.20, og destinasjons-port fra 50001 til 5500.
  3. Videresender pakken på interne grensesnitt mot Y.

Y mottar pakken som om den kom direkte til seg fra serveren — usynlig at NAT skjedde.

c) Innkommende forbindelser bak NAT:

Hvis serveren prøver å initiere en TCP/UDP-forbindelse inn til X uten at det allerede finnes en NAT-oppføring, vil pakken ankomme NAT-ruteren uten match i tabellen — ruteren vet ikke hvilken intern host den hører hjemme på, og kaster eller blokkerer pakken. Dette gjør P2P-applikasjoner og innkommende serverforbindelser vanskelige.

Vanlige løsninger:

  • Port forwarding (statisk NAT): manuell konfigurasjon på ruteren — ekstern port 8080 mappes alltid til intern host:port. Brukes for hjemmekjørte servere.
  • UPnP / NAT-PMP / PCP: applikasjoner ber dynamisk ruteren om å åpne et port-mapping.
  • NAT-traversal (STUN/TURN/ICE): brukes av WebRTC, VoIP og spill — partene utveksler sine eksterne IP/port via en hjelpe-server, og prøver «hole punching» for å etablere direkte forbindelser.
  • IPv6: i prinsippet trengs ikke NAT i det hele tatt fordi adresserommet er stort nok.

Pensum: Kap. 4 — NAT

Oppgave 4 13 poeng Kap. 8

a) Krypter klarteksten HEI med en Caesar-chiffer som skifter bokstavene 7 plasser fram i alfabetet (A→H, B→I, …). Bruk det norske alfabetet uten Æ, Ø, Å — altså 26 bokstaver A–Z. Vis utregningen for hver bokstav. (3p)

b) Krypter klarteksten HEMMELIG med en Vigenère-chiffer og nøkkelen NETT. Vis utregningen for hver bokstav (A=0, B=1, …). (4p)

c) Forklar hvordan Vigenère er sterkere enn Caesar mot frekvensanalyse. Hva er likevel Vigenère's svakhet, og hvilken metode (Kasiski-test eller indeks for sammenfall) kan en angriper bruke? (4p)

d) Forklar Kerckhoffs prinsipp og hvorfor moderne kryptering tar utgangspunkt i det. (2p)

Vis fasit

a) Caesar med skift 7, klartekst HEI:

BokstavPosisjon+7 mod 26Chiffer
H714O
E411L
I815P

Resultat: HEIOLP.

b) Vigenère med nøkkel NETT, klartekst HEMMELIG:

Nøkkelen N=13, E=4, T=19, T=19, gjentas: NETTNETT.

KlartekstPosNøkkelSkiftSum mod 26Chiffer
H7N1320U
E4E48I
M12T1931 mod 26 = 5F
M12T1931 mod 26 = 5F
E4N1317R
L11E415P
I8T1927 mod 26 = 1B
G6T1925Z

Resultat: HEMMELIGUIFFRPBZ.

c) Hvorfor Vigenère er sterkere — og hvor svakheten ligger:

I Caesar er hver bokstav skiftet med samme verdi, så bokstavfrekvenser i chifferet matcher klartekstens frekvenser eksakt (bare flyttet). Frekvensanalyse løser Caesar trivielt: norsk har «E» som vanligste bokstav, finner bokstaven du ser oftest, regner ut skiftet, ferdig.

I Vigenère har samme klartekstbokstav ulike chifferbokstaver avhengig av posisjonen i nøkkelen. Det glatter ut frekvensfordelingen. Men: så snart angriperen finner nøkkellengden k, blir hver k-te bokstav i chifferet kryptert med samme skift — altså redusert til Caesar. Frekvensanalyse anvendes da på hver «strøm» for seg.

Metoder for å finne k:

  • Kasiski-test: let etter gjentatte bokstavmønstre i chifferet. Avstandene mellom gjentakelsene er ofte multipler av nøkkellengden.
  • Indeks for sammenfall (IC): for hver mulig k, splitt chifferet i k strømmer og beregn IC. For riktig k vil IC ligge rundt verdien for ren språk-IC; for feil k er den lavere (mer uniform).

d) Kerckhoffs prinsipp:

«Et kryptosystem skal være sikkert selv om alt om systemet, unntatt nøkkelen, er kjent for angriperen.» Med andre ord: sikkerheten hviler kun på nøkkelens hemmelighet, ikke på algoritmens. Moderne kryptografi følger dette strengt: AES, RSA, SHA-256 osv. er offentlig spesifisert og dekket av tiår med kryptanalyse — den eneste hemmeligheten er nøkkelen.

«Security through obscurity» (skjul algoritmen) er motsatsen og regnes som dårlig praksis: fungerer kanskje på kort sikt, men kollapser så snart algoritmen lekker (omvendt utvikling, insider, nyhetsoppslag).

Pensum: Kap. 8 — Klassiske chiffer og Kerckhoffs prinsipp

Oppgave 5 10 poeng Kap. 9

En klient ser en DASH-stream der manifestet annonserer fire bitratevarianter: 400 kbps, 1 Mbps, 2,5 Mbps og 5 Mbps. Hvert segment varer 4 sekunder.

a) Forklar prinsippet bak klientens valg av bitrate-variant fra ett segment til neste. Hvilke målinger gjør klienten, og hvordan brukes de? (4p)

b) Klientens målte gjennomsnittlige nedlastingsbåndbredde over de siste segmentene er 3 Mbps. Hvilken variant er fornuftig å velge for neste segment, og hvorfor velger man typisk litt under den målte verdien? (3p)

c) Klientens buffer er fylt til 30 sekunder med video. Plutselig synker tilgjengelig båndbredde til 700 kbps. Hva er klientens beste umiddelbare strategi: bytte ned bitratevariant umiddelbart, eller fortsette med samme variant en stund? Begrunn med hva som skjer med bufferen og brukeropplevelsen. (3p)

Vis fasit

a) Prinsippet bak ABR (Adaptive Bitrate):

Klienten ber om segmenter via HTTP-GET, og måler hvor lang tid hver nedlasting tok. Estimert tilgjengelig båndbredde = (segmentstørrelse i bits) / (nedlastingstid). Glatting med eksponentielt vektet snitt eller tilsvarende reduserer effekten av enkelt-«bumps».

I tillegg overvåker klienten buffer-fylling: hvor mange sekunder med video er klar til avspilling? Lavt buffer-nivå = fare for stalling, høyt nivå = trygt å satse på høyere kvalitet.

Beslutningsregelen kombinerer båndbredde-estimat (vil neste segment kunne lastes ned i tide?) og buffer-nivå (har vi margin til å eksperimentere?). Klassiske algoritmer er BBA (Buffer-Based Adaptation), MPC (Model Predictive Control) og Pensieve (RL-basert).

b) Velge variant under 3 Mbps:

Den nest høyeste varianten (2,5 Mbps) er fornuftig. Velger man 5 Mbps, vil nedlastingen ta lenger tid enn segmentets 4 sekunder, og bufferen tappes. Velger man 2,5 Mbps, har man margin: nedlastingen tar 4 × (2,5 / 3) ≈ 3,3 sekunder per 4-sekund-segment, så bufferen vokser sakte.

Marginen tjener flere formål: (1) variansen i båndbredden — momentane dropp er vanlige; (2) andre HTTP-objekter som konkurrerer om båndbredden; (3) ACK- og protokolloverhead som ikke er regnet inn i de nominelle bitratevariantene.

c) Strategi ved plutselig båndbreddefall:

Med 30 sekunder buffer kan klienten fortsette på samme bitrate i kort tid mens den observerer om båndbreddefallet er stabilt eller midlertidig. Buffer-nivået vil tappes med ca. 1 sek per sek for hver sek mens nedlasting går saktere enn forbruk.

Hvis fallet vedvarer, må klienten bytte til 400 kbps (under 700 kbps med margin). Hvis klienten venter for lenge, risikerer den buffer-tørke og rebuffering — det er den verste opplevelsen for brukeren (verre enn lavere kvalitet).

Dette er kjernen i ABR-tradeoffet: kvalitet vs. kontinuitet. En 30-sekunders buffer gir tid til å «test ride» problemet, men ikke uendelig tid. Smart algoritmer (MPC) modellerer både fremtidig båndbredde og buffer-nivå og optimaliserer en kostnadsfunksjon som inkluderer både opplevd kvalitet og rebuffering-tid.

Pensum: Kap. 9 — DASH og adaptiv bitrate