Øvingseksamen · TTM4100

Øvingseksamen 7

Del I: 14 flervalgsoppgaver (42 poeng). Del II: 5 åpne oppgaver (58 poeng). Totalt 100 poeng. Svar på egenhånd — åpne fasiten etterpå.

Temaer i dette settet
  • Forsinkelse, jitter og protokollstakkens lag (kap. 1)
  • HTTP/2-multipleksing og DNS-hierarki (kap. 2)
  • TCP-fairness, delayed/cumulative ACK og byte-strøm (kap. 3)
  • IPv6-adresseformat og DHCP-relay (kap. 4)
  • Konvergens i distance-vector (kap. 5)
  • MAC-adresseformat og WiFi power-save (kap. 6 og 7)
  • Konfidensialitet/integritet/autentisering og TLS Record vs. Handshake (kap. 8)
  • Tap-resiliens, P2P-skalering og CDN-redirection (kap. 9)

Del I — Automatisk rettede spørsmål

14 spørsmål · 3 poeng per spørsmål · 42 poeng totalt

Klikk på alternativet du mener er riktig — du får umiddelbart vite om du svarte riktig, og forklaringen åpner seg automatisk.

Spørsmål 1 3 poeng Kap. 1

Hva er jitter i et nettverk?

  • A Den minste forsinkelsen som er fysisk mulig på en lenke
  • B Tap av pakker pga. overbelastning
  • C Variasjonen i ende-til-ende-forsinkelse mellom påfølgende pakker
  • D Antall hopp mellom kilde og destinasjon
Vis fasit
Riktig svar: C

Jitter er variasjonen («skjelvet») i ende-til-ende-forsinkelse fra pakke til pakke. To pakker som sendes med 20 ms mellomrom kan komme fram med 18 ms eller 25 ms mellomrom — forskjellen skyldes ulik køforsinkelse og ulike ruter underveis.

Jitter er kritisk i sanntidsapplikasjoner: en VoIP-mottaker som spiller av samples med ujevne mellomrom høres ut som forvrengt tale. Løsningen er en playout-buffer som absorberer jitter ved å forsinke avspillingen noen titalls millisekunder.

Pensum: Kap. 1 — Forsinkelse, jitter og pakketap

Spørsmål 2 3 poeng Kap. 2

HTTP/2 introduserte multipleksing over én forbindelse. Hva betyr dette i praksis sammenlignet med HTTP/1.1?

  • A En klient kan åpne hundrevis av parallelle TCP-forbindelser mot serveren uten å pådra seg ekstra overhead i form av handshake eller bufferminne
  • B Flere request/response-strømmer kan flettes parallelt på én TCP-forbindelse, slik at ingen forespørsel blokkeres av en treg forgjenger på applikasjonsnivå
  • C All HTTP-trafikk komprimeres automatisk med deflate-algoritmen på lenkenivå før den når transportlaget
  • D Klienten har ikke lenger lov til å sende mer enn én forespørsel per nettside, og må derfor samle alle ressurser i én pakke
Vis fasit
Riktig svar: B

HTTP/1.1 med pipelining tillater å sende flere forespørsler etter hverandre på samme forbindelse, men responsene må komme i samme rekkefølge — én treg respons blokkerer alle som kommer etter («head-of-line blocking» på applikasjonsnivå). HTTP/2 deler hver request/response opp i mindre «frames» merket med stream-ID, slik at frames fra ulike strømmer kan flettes om hverandre. En liten respons kan komme før en stor — uten å vente.

Merk at HTTP/2 fortsatt går over TCP og kan derfor rammes av TCP-nivå head-of-line-blocking ved pakketap. HTTP/3 (over QUIC/UDP) løser også det.

Pensum: Kap. 2 — HTTP-evolusjon

Spørsmål 3 3 poeng Kap. 2

Hva er rollen til en local DNS server (lokal DNS-resolver)?

  • A Den lagrer en autoritativ kopi av sonefilene for alle domener som brukerne i nettverket tidligere har besøkt
  • B Den fungerer som mellomledd: tar imot DNS-spørringer fra klienter, slår opp via TLD- og autoritative servere, cacher svar og returnerer dem
  • C Den eier selve rotsonen i DNS-hierarkiet og er ansvarlig for å delegere alle TLD-er videre til regionale operatører
  • D Den krypterer all DNS-trafikk ved å tunnellere oppslagene gjennom HTTPS til en sentral global resolver
Vis fasit
Riktig svar: B

Klienten konfigureres (typisk via DHCP) med adressen til en lokal DNS-server — ofte ISP-ens eller f.eks. 8.8.8.8 (Google) eller 1.1.1.1 (Cloudflare). Klienten sender alle DNS-spørringer dit. Den lokale serveren utfører iterative oppslag mot rot-, TLD- og autoritative servere på vegne av klienten, og cacher svarene (med TTL) slik at gjentatte oppslag for populære navn kan besvares umiddelbart.

Den lokale serveren er altså ikke autoritativ for noe — den er en proxy/cache som forenkler oppslagsprosessen for klientene.

Pensum: Kap. 2 — DNS-hierarki

Spørsmål 4 3 poeng Kap. 3

To TCP-forbindelser deler samme flaskehals-link. Hvis begge bruker «classic» AIMD-metningskontroll, hvilken oppførsel forventer vi i steady state?

  • A Den første forbindelsen som koblet opp får all kapasiteten, ettersom AIMD reserverer ressurser i kronologisk rekkefølge
  • B De to forbindelsene konvergerer mot å dele kapasiteten relativt likt — TCP er omtrentlig rettferdig for forbindelser med lik RTT
  • C Forbindelsen med høyest cwnd til enhver tid får all tilgjengelig kapasitet på flaskehalsen, mens den andre stenges ute helt til den første taper en pakke
  • D Tilfeldig — det finnes ingen mekanisme i TCP som styrer fordelingen, og resultatet avhenger utelukkende av jitter i nettverket
Vis fasit
Riktig svar: B

AIMD-fasens additive økning gir like store steg uavhengig av forbindelsens nåværende rate. Men den multiplikative reduksjonen (halvering ved tap) reduserer mer hos den med høyest rate. Over tid konvergerer dette mot lik fordeling — den klassiske «sagtann»-grafens diagonal i fairness-rommet.

Dette er en heuristikk, ikke en garanti. Forbindelser med ulik RTT får ulik andel (kortere RTT vinner), og det finnes utvidelser/varianter (CUBIC, BBR osv.) med annen oppførsel.

Pensum: Kap. 3 — TCP-fairness

Spørsmål 5 3 poeng Kap. 3

Hva betyr det at TCP bruker kumulative ACK-er?

  • A ACK-feltet bekrefter alle byte opp til (men ikke inkludert) ACK-nummeret — én ACK kan dermed kvittere mange segmenter samtidig
  • B Mottakeren må sende én separat ACK for hver enkelt byte i segmentet, slik at senderen får full byte-for-byte oversikt over leveransen
  • C ACK-en bekrefter bare det aller siste segmentet i en sending, og alle tidligere segmenter må kvitteres individuelt med egne ACK-er
  • D Mottakeren sender kun ACK når senderen eksplisitt etterspør det via et POLL-flagg satt i TCP-segmenthodet
Vis fasit
Riktig svar: A

I TCP betyr ACK = N at mottakeren har mottatt og kvittert alle bytes med sekvensnummer mindre enn N — og venter neste byte med sekvensnummer N. En enkelt ACK kan derfor bekrefte en lang sammenhengende strøm. Hvis et segment går tapt, kan ikke ACK-tallet flyttes forbi det tapte byte-rommet før hullet tettes.

I praksis bruker TCP i tillegg delayed ACKs (vente opptil 500 ms eller til neste segment ankommer) for å redusere ACK-trafikk, og SACK (Selective ACK) som tillegg for å rapportere ut-av-orden mottakelser.

Pensum: Kap. 3 — TCP-segmentet og ACK-er

Spørsmål 6 3 poeng Kap. 3

Hvilken påstand om TCP er korrekt?

  • A TCP bevarer applikasjonens meldingsgrenser — én send = én receive
  • B TCP er en byte-strømsprotokoll — applikasjonen ser kun en strøm av bytes uten faste meldingsgrenser
  • C TCP er en datagram-protokoll der hver melding leveres som én atomisk enhet
  • D TCP og UDP har identisk leveringsmodell
Vis fasit
Riktig svar: B

TCP behandler applikasjonens data som en kontinuerlig byte-strøm. Senderens 100-byte send + 200-byte send kan ankomme mottakeren som ett 300-byte read, eller flere mindre read-er — TCP bevarer ingen meldingsgrenser. Applikasjonsnivå-protokoller (HTTP, SMTP osv.) må selv markere grensene (f.eks. Content-Length-header eller delimeter som tom linje).

UDP, derimot, er datagram-basert: ett sendt datagram = ett mottatt datagram (eller tapt), grenser bevart.

Pensum: Kap. 3 — TCP-tjenester

Spørsmål 7 3 poeng Kap. 4

Hva er den korrekte forkortede formen av IPv6-adressen 2001:0db8:0000:0000:0000:0000:0000:0001?

  • A 2001:db8::1
  • B 2001:db8:0:1
  • C 2001::db8::1
  • D 2001-db8-0-1
Vis fasit
Riktig svar: A — 2001:db8::1

IPv6-forkortelsesregler:

  • Ledende nuller i hver 16-bits gruppe kan fjernes: 0db8db8
  • Én sammenhengende gruppe av nullgrupper kan erstattes med :: (men kun én gang i adressen — ellers blir det tvetydig)

Originaladressen har 6 etterfølgende null-grupper mellom db8 og 1. De erstattes med ::. Resultat: 2001:db8::1.

Alternativ C er ulovlig (to ::-grupper). B utelater for mange nuller uten å bruke ::.

Pensum: Kap. 4 — IPv6-adresseformat

Spørsmål 8 3 poeng Kap. 4

En bedrift har én sentral DHCP-server som betjener flere subnett. Klientene på subnett B er fysisk adskilt fra DHCP-serveren av en ruter. Hvordan får klientene på subnett B IP-adresser via DHCP, gitt at DHCP Discover normalt sendes som broadcast (som rutere ikke videresender)?

  • A Klientene må manuelt få konfigurert IP — DHCP virker ikke på tvers av subnett
  • B Ruteren må ha en DHCP relay agent som videreformidler DHCP-meldinger som unicast til den sentrale DHCP-serveren
  • C Klientene må selv kjøre en lokal DHCP-server på subnett B
  • D DHCP fungerer alltid via multicast som krysser rutere uten konfigurasjon
Vis fasit
Riktig svar: B

En DHCP-relay-agent (typisk konfigurert i ruteren) lytter etter DHCP-broadcast på sitt grensesnitt og pakker dem inn som unicast til den kjente sentrale DHCP-serveren — og pakker ut serverens svar tilsvarende. Slik trenger man bare én DHCP-server selv om nettet har mange subnett.

Relay-agenten legger inn sin egen IP i Giaddr-feltet, slik at DHCP-serveren vet hvilket subnett klienten er på (og dermed kan velge riktig IP-pool).

Pensum: Kap. 4 — DHCP og relay

Spørsmål 9 3 poeng Kap. 5

Hvilken egenskap har distance-vector-algoritmer som link-state-algoritmer typisk ikke har?

  • A Hver ruter trenger global topologi-informasjon
  • B Hver ruter prater bare med direkte naboer og kjenner ikke hele nettverkets topologi
  • C Konvergensen er øyeblikkelig ved alle topologi-endringer
  • D Algoritmen krever en sentral kontroller
Vis fasit
Riktig svar: B

I distance-vector (Bellman-Ford-baserte algoritmer som RIP) snakker hver ruter bare med sine direkte naboer og deler sin egen «distansetabell» til alle destinasjoner. Den lærer ikke nettets faktiske struktur — bare avstander.

Link-state (Dijkstra-baserte som OSPF) krever derimot at alle rutere kjenner hele topologien (via flooding av link-state-pakker), og hver ruter beregner selv kortest vei.

Distance-vector kan lide av langsom konvergens og «count-to-infinity»-problemer, mens link-state typisk konvergerer raskere men trenger mer minne og prosessering.

Pensum: Kap. 5 — Routing-algoritmer

Spørsmål 10 3 poeng Kap. 6

En MAC-adresse er 48 bits. Hva representerer de første 24 bitene (de første tre oktettene) typisk?

  • A Adressens nettverkdel (analogt med IP-prefiks)
  • B En tilfeldig generert nonce per oppstart
  • C OUI (Organizationally Unique Identifier) — tildelt produsenten av IEEE
  • D Et sekvensnummer som inkrementeres ved hver pakke
Vis fasit
Riktig svar: C

De første 24 bitene er OUI — IEEE tildeler dette til produsenten av nettverksadapteret. F.eks. 00:1A:11 tilhører Google, F0:18:98 tilhører Apple. De siste 24 bitene tildeles av produsenten selv slik at hvert adapter får en unik 48-bits adresse globalt.

Dermed er MAC-adresser «flate» — de bærer ingen topologisk informasjon, og to adaptere fra samme produsent har samme OUI, uavhengig av hvor i verden de befinner seg.

Pensum: Kap. 6 — MAC-adresser

Spørsmål 11 3 poeng Kap. 7

Hva er hensikten med power management (sleep mode) i 802.11?

  • A Stenge nettverket automatisk nattestid for å forhindre uautorisert tilgang og redusere strømforbruket i AP-et
  • B La en batteridrevet enhet slå av radioen midlertidig mens AP-et buffrer eventuelle innkommende rammer for den
  • C Redusere AP-ets sendeeffekt dynamisk slik at strømforbruket på selve aksesspunktet holdes lavest mulig over tid
  • D Tvinge alle tilkoblede klienter over på 5 GHz-båndet, ettersom denne radioen bruker mindre strøm enn 2,4 GHz-radioen
Vis fasit
Riktig svar: B

Power management lar en mobilenhet (telefon, laptop) gi beskjed til AP-et om at den går i sleep mode. AP-et buffrer da eventuelle innkommende rammer for klienten. Ved jevne mellomrom våkner klienten kort, leser AP-ets beacon (med TIM — Traffic Indication Map), og dersom det er buffrede rammer, hentes de inn — ellers går klienten tilbake i sleep.

Dette gir vesentlig batterisparing for klienten, til prisen av noen titalls millisekunders ekstra forsinkelse.

Pensum: Kap. 7 — 802.11 power management

Spørsmål 12 3 poeng Kap. 8

I sikkerhet skiller man mellom konfidensialitet, integritet og autentisering. Hvilken parring er korrekt?

  • A Konfidensialitet = «vi vet hvem du er» / Integritet = «meldingen er hemmelig» / Autentisering = «meldingen er uendret»
  • B Konfidensialitet = «meldingen er hemmelig» / Integritet = «meldingen er uendret underveis» / Autentisering = «vi vet hvem som sendte meldingen»
  • C Alle tre handler om kryptering av selve datafeltet
  • D Bare konfidensialitet er en sikkerhetsegenskap — de to andre er nettverksprestasjon
Vis fasit
Riktig svar: B

De tre grunnleggende sikkerhetsegenskapene:

  • Konfidensialitet: ingen andre enn legitim mottaker kan lese meldingen (oppnås ved kryptering).
  • Integritet: meldingen er ikke endret underveis (oppnås med MAC, HMAC eller digital signatur).
  • Autentisering: mottakeren kan bekrefte hvem avsenderen er (oppnås med digitale signaturer eller MAC kombinert med kjent identitet).

Disse er uavhengige: en melding kan være konfidensiell uten å være autentisert (du leser den, men vet ikke hvem som sendte den), eller autentisert uten å være konfidensiell (alle kan lese, men du vet hvem som sendte).

Pensum: Kap. 8.1 — Hva er nettverkssikkerhet?

Spørsmål 13 3 poeng Kap. 8

TLS består bl.a. av to delprotokoller: Handshake Protocol og Record Protocol. Hva er deres respektive roller?

  • A Handshake forhandler kryptografiske parametere og nøkler; Record kapsler inn og krypterer/integritetssikrer applikasjonsdata under sesjonen
  • B Handshake kapsler inn og krypterer applikasjonsdataene fortløpende, mens Record kjøres først for å forhandle nøkler og chiffer-suite
  • C Begge to utfører nøyaktig samme oppgave i TLS-stakken — de er kun atskilt fordi de har ulik versjonering og historikk
  • D Handshake brukes kun for HTTP-trafikk over TLS, mens Record-protokollen er reservert for SMTP og andre e-postprotokoller
Vis fasit
Riktig svar: A

Når en TLS-sesjon settes opp, kjører Handshake Protocol: ClientHello/ServerHello med versjon og chiffer-suiter, sertifikatutveksling, nøkkelutveksling (typisk DH-basert), og avslutter med en ferdig-melding på begge sider — etter dette har begge en delt symmetrisk sesjonsnøkkel.

Etter handshake går all applikasjonsdata gjennom Record Protocol: data deles i records, krypteres med sesjonsnøkkelen, MAC-es og sendes. Mottakeren utfører motsatt prosess — sjekker MAC, dekrypterer og leverer til applikasjonen.

Pensum: Kap. 8.6 — TLS

Spørsmål 14 3 poeng Kap. 9

Hvorfor velger moderne videostreaming-tjenester som Netflix og YouTube å bruke HTTP over TCP (DASH/HLS) i stedet for klassisk RTP/UDP-streaming?

  • A Fordi UDP ikke lenger er tilgjengelig som transportprotokoll på det offentlige Internett, og store ISP-er har faset ut støtten på rutenivå til fordel for TCP-baserte tjenester
  • B Fordi HTTP-trafikk lett passerer brannmurer/NAT, kan caches i ordinære HTTP-CDN-er, og lar klienten enkelt tilpasse kvalitet med korte chunks — TCPs retransmisjon er akseptabel når klienten har sekunders buffer
  • C Fordi RTP er en proprietær protokoll utviklet og lisensiert av Microsoft, slik at andre aktører som Netflix og YouTube ikke har lov til å implementere den i sine streaming-klienter
  • D Fordi TCP med sin metningskontroll og kumulative ACK-er gir vesentlig lavere ende-til-ende-forsinkelse enn UDP, særlig over lange ruter med høy pakketapsrate
Vis fasit
Riktig svar: B

HTTP/TCP-baserte streaming-arkitekturer har flere praktiske fordeler i Internett anno 2024:

  • Brannmur/NAT-vennlig: port 80/443 er nesten alltid åpen, mens RTP-porter ofte blokkeres.
  • CDN-vennlig: chunks er ordinære HTTP-objekter — kan caches i eksisterende HTTP-CDN-infrastruktur.
  • Adaptasjon: klienten velger kvalitet per chunk basert på målt båndbredde — krever ingen ny serverlogikk.
  • Akseptabel TCP-retransmisjon: klienten har typisk 10–30 sek buffer, så små TCP-pauser er ikke synlige for brukeren.

RTP/UDP er fortsatt foretrukket for konversasjonell sanntid (videosamtaler, VoIP) der enhver retransmisjon ankommer for sent til å være nyttig.

Pensum: Kap. 9 — Streaming Stored Video

Del II — Åpne oppgaver

5 oppgaver · 58 poeng totalt

Åpne, skriftlige svar. Begrunn svarene dine. Vis utregning der det er relevant. Klikk «Vis fasit» for å sammenligne med modellbesvarelsen.

Oppgave 1 10 poeng Kap. 2

En fil av størrelse F = 100 Mbit skal distribueres fra en server til N = 50 klienter. Serverens uplink-rate er us = 30 Mbps. Hver klient har downlink-rate di = 5 Mbps og uplink-rate ui = 2 Mbps. Vi ignorerer kø, propagasjon og andre forsinkelser.

a) Beregn minimum distribusjonstid med en klient-server-arkitektur. Forklar hvilken faktor som er flaskehalsen. (4p)

b) Beregn minimum distribusjonstid med en P2P-arkitektur (peers hjelper hverandre). (4p)

c) Hvis antall klienter dobles til N = 100, hvordan endres distribusjonstidene fra a) og b)? (2p)

Vis fasit

Standardresultater for fildistribusjon (Kurose & Ross):

Klient-server: Dcs = max{ N·F / us, F / dmin }

P2P: DP2P = max{ F / us, F / dmin, N·F / (us + Σui) }

a) Klient-server, N = 50:

N·F / us = 50 × 100 Mbit / 30 Mbps = 5000 / 30 ≈ 166,7 s

F / dmin = 100 / 5 = 20 s

Maks: 166,7 s. Flaskehalsen er serverens uplink — den må sende 50 kopier av filen sekvensielt.

b) P2P, N = 50:

F / us = 100 / 30 ≈ 3,33 s

F / dmin = 100 / 5 = 20 s

Σui = 50 × 2 = 100 Mbps. Total opplastningskapasitet = 30 + 100 = 130 Mbps.

N·F / (us + Σui) = 50 × 100 / 130 ≈ 38,5 s

Maks: ca. 38,5 s. Vesentlig raskere enn klient-server (166,7 s).

c) N = 100:

Klient-server: 100 × 100 / 30 ≈ 333 s (skalerer lineært med N — verre).

P2P: us + Σui = 30 + 200 = 230 Mbps. N·F/total = 100 × 100 / 230 ≈ 43,5 s. F/dmin = 20 s ≪ . Maks ≈ 43,5 s.

P2P skalerer mye bedre — hver ny peer bidrar både med last og kapasitet.

Pensum: Kap. 2 — P2P-fildistribusjon

Oppgave 2 12 poeng Kap. 3

a) Beskriv den fullstendige fire-veis avslutnings-handshaken i TCP (FIN-handshake) — hvilke meldinger sendes, og hva er tilstanden hos hver endepunkt etter hvert steg? (6p)

b) Hvorfor må endepunktet som initierte close, gå inn i TIME_WAIT-tilstand i typisk 2·MSL (Maximum Segment Lifetime, ofte 60–120 s) før forbindelsen kan gjenåpnes? (4p)

c) Forklar hvorfor TCP-forbindelser kan «halv-lukkes» (half-close) — én side har sluttet å sende, men kan fortsatt motta. Når er dette nyttig? (2p)

Vis fasit

a) Fire-veis FIN-handshake:

Anta at A initierer close mot B.

  1. FIN (A→B): A sender FIN-segment. A går til FIN_WAIT_1.
  2. ACK (B→A): B kvitterer FIN-en. B går til CLOSE_WAIT; A går til FIN_WAIT_2. På dette punktet er A→B-retningen lukket, men B→A er fortsatt åpen — B kan sende mer data hvis den har noe ufullført.
  3. FIN (B→A): Når B også er ferdig, sender den sin egen FIN. B går til LAST_ACK.
  4. ACK (A→B): A kvitterer B's FIN. A går til TIME_WAIT. B mottar ACK og går til CLOSED.

Etter 2·MSL går A også til CLOSED.

b) Hvorfor TIME_WAIT i 2·MSL:

To grunner:

  1. Tap av siste ACK: Hvis A's siste ACK går tapt, vil B retransmittere FIN. A må fortsatt være «levende» for å kunne svare — TIME_WAIT sikrer det.
  2. Forsinket «sen» segment: Et gammelt segment fra denne forbindelsen kan fortsatt være underveis i nettet. Hvis port-paret gjenbrukes umiddelbart for en ny forbindelse, kan det gamle segmentet bli forvekslet med et legitimt nytt. 2·MSL gir tid til at alle gamle segmenter dør ut (TTL utløper).

c) Halv-lukket TCP-forbindelse:

Etter at A har sendt FIN, kan B fortsatt sende data til A (B→A-retningen er åpen). Dette er nyttig når B trenger å fullføre overføring av data den allerede holdt på med, før den selv lukker. Klassisk eksempel: A sender en HTTP-forespørsel og «shut-downer» send-siden for å signalisere at forespørselen er ferdig — B kan fortsette å sende svaret før den lukker B→A.

Pensum: Kap. 3 — TCP-forbindelsesstyring

Oppgave 3 12 poeng Kap. 5

En bruker kan ikke nå www.example.com fra sin laptop. Du skal hjelpe med diagnostikk og bruker primært ping og traceroute.

a) ping 8.8.8.8 svarer normalt, men ping www.example.com gir «cannot resolve host». Hva forteller dette? Hvilket lag/system har problemet? (3p)

b) ping www.example.com begynner senere å svare. Du kjører deretter traceroute www.example.com og hop 7 viser kun * * * (timeout), mens hop 6 og hop 8 svarer normalt. Hva er en plausibel forklaring? (4p)

c) Anta at ICMP nå er helt blokkert i nettet — ping får aldri svar selv om TCP-tilkoblinger til samme vert virker. Forklar hva slags type ICMP-meldinger som typisk er involvert i ping og traceroute, og hvorfor noen organisasjoner velger å blokkere ICMP. (5p)

Vis fasit

a) DNS-problem:

Siden ping 8.8.8.8 (direkte IP) virker, fungerer både IP-laget og ICMP. Problemet er på applikasjonsnivå: DNS-oppslag av navnet feiler. Mulige årsaker: feil DNS-server konfigurert, DNS-server nede, ingen Internett-tilgang for DNS, lokal hosts-fil-feil, eller blokkering av port 53.

b) Hop 7 viser «* * *»:

Tre vanlige forklaringer:

  • Ruteren på hop 7 svarer ikke på ICMP Time Exceeded — mange rutere er konfigurert til ikke å sende ICMP til kilden, eller raterbegrenser slike svar. Pakken videresendes likevel, og hop 8 svarer.
  • Brannmur/ACL filtrerer utgående ICMP fra denne ruteren.
  • Asymmetrisk routing: svarpakken tar en annen vei tilbake der den blir filtrert.

Det at hop 8 og videre svarer, viser at trafikken faktisk passerer hop 7 — det er bare ICMP-svaret som mangler.

c) ICMP-typer i ping/traceroute, og hvorfor blokkere:

Ping bruker ICMP Echo Request (type 8) og venter Echo Reply (type 0). Traceroute sender pakker med stadig økende TTL (1, 2, 3, …). Når TTL utløper hos en ruter, sender den ICMP Time Exceeded (type 11) tilbake til kilden — slik kartlegges hver hop. Når pakken når destinasjonen, returneres typisk ICMP Echo Reply (Linux/Unix) eller ICMP Port Unreachable (type 3) (klassisk Unix-traceroute som bruker UDP til ubrukt port).

Hvorfor noen blokkerer ICMP:

  • Fortåen at ICMP avslører nettverksstruktur og letter rekognosering før et angrep.
  • Beskytte mot ICMP-baserte DoS-angrep (smurf, ping flood).
  • Skjule eksistensen av interne rutere/verter.

Ulempen er at PMTU Discovery slutter å virke (Path MTU baseres på «Fragmentation Needed»-meldinger), feilsøking blir vanskeligere, og noen ICMP-meldinger er nyttige for transport-/applikasjonslag.

Pensum: Kap. 5 — ICMP og diagnostikk

Oppgave 4 10 poeng Kap. 7 · 8

a) Forklar kort historisk utvikling av sikkerhet for trådløse 802.11-nett: WEP → WPA → WPA2. Hva var den viktigste svakheten WEP hadde, og hvordan løste senere standarder problemet? (5p)

b) Når en klient kobler seg til et WPA2-PSK-nett, bruker den 4-veis handshake. Hva er hovedformålet, og hvilken rolle spiller nonce-verdiene som utveksles? (3p)

c) WPA2-PSK i hjemmebruk har en kjent svakhet: en angriper som har «sniffet» 4-veis handshake kan utføre offline brute-force mot passordet. Hvorfor virker dette, og hva er en praktisk motvirkning? (2p)

Vis fasit

a) WEP → WPA → WPA2:

WEP (1999) brukte RC4 med en kort 24-bits IV som inngikk i krypteringsnøkkelen. IV-rommet var lite nok til at IV-er ble gjenbrukt i et travelt nett — dette gjorde det mulig å gjenfinne nøkkelen via statistisk analyse. Mangler også reell integritetssikring (CRC32 er ikke kryptografisk).

WPA (2003) var en overgangsløsning som la til TKIP — fortsatt RC4, men med per-pakke-nøkkel og MIC for integritet. Hindret WEP-spesifikke angrep men hadde fortsatt RC4-svakheter.

WPA2 (2004) bruker AES i CCMP-modus — moderne, godt analysert blokkchiffer. Dette er fortsatt den mest utbredte standarden, og er sikker mot klassiske krypteringsangrep når PSK-en er sterk. WPA3 (2018) løser i tillegg svakheten i punkt c).

b) 4-veis handshake formål og nonce:

Begge sider deler PSK fra før. Handshaken etablerer en sesjons-spesifikk PTK (Pairwise Transient Key) ved å kombinere PSK med to nonces — én fra AP (ANonce) og én fra klient (SNonce) — pluss begge MAC-adresser. Hver sesjon får dermed unik nøkkel selv om PSK-en er den samme. Handshaken bekrefter også implisitt at begge sider faktisk kjenner PSK-en (ellers feiler integritetssjekken på meldingene).

c) Offline brute-force og motvirkning:

Angriperen som har fanget 4-veis handshake har MAC-adressene, nonces og MIC-verdiene (alle sendt i klartekst utenom kryptering). Med en gjettet PSK kan angriperen lokalt regne ut hva PTK og MIC ville blitt, og sammenligne med det observerte. Dette er rask offline regning — millioner av forsøk per sekund med GPU.

Motvirkning: bruk lange, tilfeldige passord (24+ tegn) eller bytt til WPA3 som bruker SAE (Simultaneous Authentication of Equals) — en passord-autentisert nøkkelutvekslings-protokoll som er resistent mot offline brute-force.

Pensum: Kap. 8.8 — Sikring av trådløse LAN

Oppgave 5 14 poeng Kap. 9

a) Multimedia-applikasjoner deles ofte i tre klasser: streaming stored video, conversational voice/video, og streaming live audio/video. For hver klasse: gi krav til ende-til-ende-forsinkelse, toleranse for jitter, og toleranse for tap. (5p)

b) FEC (Forward Error Correction) og interleaving er to teknikker for å håndtere pakketap i sanntidslyd. Forklar begge, og hva de oppnår — og hvilken kostnad/begrensning de har. (5p)

c) En bruker i Norge åpner en YouTube-video. Hvordan velger CDN-systemet hvilken faktisk server brukeren skal hente videoen fra? Forklar rollen til DNS-baserte CDN og hvilken informasjon som brukes for valget. (4p)

Vis fasit

a) Klassifisering — krav per klasse:

KlasseForsinkelseJitterTap
Streaming stored videoSekunder OK ved oppstart; langt mindre kritisk under avspilling pga. stor klient-bufferBufferen jevner utTCP retransmitterer; akseptabelt så lenge bufferen ikke tømmes
Conversational (VoIP/videosamtale)Strengt: < 150 ms én vei foretrukket, > 400 ms ubrukeligLav toleranse — adaptiv playout-buffer trenger fortsatt små bufferTåler 1–10 % tap med god koding/FEC
Streaming live (sport, nyheter)Mellom: typisk 5–30 sek forsinkelse aksepteres for stabil avspillingBufferen reduserer påvirkningTCP-basert (HLS/DASH): retransmisjon brukes

b) FEC og interleaving:

FEC sender ekstra (redundant) informasjon med talepakkene slik at en mottaker kan rekonstruere innholdet selv om noen pakker mangler. Et enkelt eksempel: send en lavkvalitets backup-versjon av forrige pakke i hver ny pakke. Kostnad: økt båndbreddebruk (typisk +20–50 %).

Interleaving «sprer» samples utover flere pakker i en kjent rekkefølge. Hvis én pakke går tapt, mangler kun spredte samples — ikke et sammenhengende segment. Resulterende «hull» er korte og mer estetisk akseptable. Kostnad: økt forsinkelse fordi mottakeren må vente på flere pakker før de kan re-arrangeres.

FEC og interleaving brukes ofte sammen.

c) CDN-valg via DNS:

YouTube-videoens URL slås opp i DNS. CDN-leverandøren har autoritative DNS-servere som svarer dynamisk basert på hvem som spør. Når den lokale DNS-serveren i Norge gjør oppslaget, ser CDN-DNS-en på:

  • Geografisk plassering av spørrende DNS-server (omtrent kjent via IP-prefikset).
  • Nettverkstopologi — hvilken CDN-node er nærmest i AS-hops/RTT.
  • Belastning og tilgjengelighet — om noden er nede eller overbelastet, velg en annen.

CDN returnerer en IP til en optimalisert node — kanskje fysisk i Oslo eller Stockholm. Klienten kobler seg dit, ofte uten at brukeren merker forskjellen.

Resultatet: lavere RTT, mindre belastning på opprinnelsesserveren, og bedre robusthet ved feil i én node.

Pensum: Kap. 9 — Multimedia og CDN