Øvingseksamen · TTM4100

Øvingseksamen 9

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

Temaer i dette settet
  • Statistisk multipleksing og lagdeling (kap. 1)
  • IMAP vs. POP3 og DNS-record-typer (kap. 2)
  • MSS/MTU og Nagles algoritme (kap. 3)
  • ARP-request og default route (kap. 4)
  • Spanning Tree Protocol og link-layer-påstander (kap. 6)
  • Beacon frames og BSSID (kap. 7)
  • Koble: kryptografiske mekanismer mot bruksområder (kap. 8)
  • DASH-manifest, sliding window-throughput, VLSM-subnetting og switch-læring

Del I — Automatisk rettede spørsmål

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

Klikk på alternativet du mener er riktig — du får umiddelbart vite om du svarte riktig, og forklaringen åpner seg automatisk. 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

Hva er hovedfordelen med statistisk multipleksing (slik den brukes i pakkesvitsjede nett) sammenlignet med kretsesvitsjet TDM?

  • A Hver bruker får dedikert båndbredde garantert til enhver tid, akkurat som i et kretsesvitsjet TDM-system, men med kortere tidsslott og dermed lavere overhead per bruker
  • B Brukerne deler kapasiteten dynamisk — siden ikke alle sender samtidig, kan flere brukere støttes på samme link uten at hver enkelt får dedikert tidsslott
  • C Den eliminerer behovet for header-informasjon i hver pakke fordi tidsslottet i seg selv identifiserer både avsender og mottaker, noe som gir bedre utnyttelse av båndbredden
  • D Den fjerner all kø-forsinkelse fordi pakker fra ulike brukere alltid kan sendes parallelt over linken uten å vente på hverandre i en utgangskø
Vis fasit
Riktig svar: B

Statistisk multipleksing utnytter at brukere er bursty — de sender bare en brøkdel av tiden. I pakkesvitsjing får ingen et fast tidsslott; pakkene konkurrerer om linken når noen har data å sende. Hvis sannsynligheten for at en bruker er aktiv er liten, kan langt flere brukere deles om samme link enn med TDM (der hver bruker «eier» et tomt slott uansett om hen har data å sende).

Avveiningen: ingen båndbreddegaranti, og under høy last vokser kø-forsinkelsen — TDM derimot gir forutsigbar, men sløst, forsinkelse uansett last.

A er typisk for kretsesvitsjing. C/D er feil — pakker har headere, og kø-forsinkelse er en sentral del av modellen.

Pensum: Kap. 1 — Pakkesvitsjing og statistisk multipleksing

Spørsmål 2 3 poeng Kap. 1

En applikasjon på en HTTP-klient sender data nedover protokollstakken. I hvilken rekkefølge legges header-feltene til (TCP/IP-modellens lag fra topp til bunn)?

  • A Ethernet-header → IP-header → TCP-header → HTTP-data
  • B HTTP-data → TCP-header → IP-header → Ethernet-header
  • C IP-header → TCP-header → HTTP-data → Ethernet-header
  • D HTTP-data → IP-header → TCP-header → Ethernet-header
Vis fasit
Riktig svar: B

Innkapsling skjer fra topp og nedover: applikasjonsdata pakkes inn av transportlaget (TCP eller UDP), som igjen pakkes inn av nettverkslaget (IP), og til slutt av lenkelaget (Ethernet/WiFi).

På mottaker-siden skjer det motsatte (de-innkapsling): hvert lag stripper sin egen header og leverer payload videre opp.

Merk at mens IP-headeren er den samme hele veien fra kilde til endelig destinasjon, byttes Ethernet-headeren ut ved hver hop (ny kilde- og destinasjons-MAC).

Pensum: Kap. 1 — Lagdeling og innkapsling

Spørsmål 3 3 poeng Kap. 2

Hva er den viktigste praktiske forskjellen mellom IMAP og POP3 for henting av e-post?

  • A POP3 bruker innebygd TLS-kryptering på port 995 og er den eneste sikre standarden, mens IMAP alltid sender meldinger og passord i klartekst
  • B IMAP holder e-posten på serveren med mappestruktur og synkroniserer flere klienter — POP3 laster typisk ned all e-post til én klient og fjerner den fra serveren
  • C POP3 brukes utelukkende av webmail-grensesnitt i nettleseren, mens IMAP er reservert for desktop-klienter med egen lokal lagring av meldingene
  • D IMAP er en push-mekanisme for å sende e-post fra klient til server, mens POP3 er protokollen som leverer post mellom mailservere på Internett
Vis fasit
Riktig svar: B

POP3 (Post Office Protocol) ble designet for klienter med periodisk tilkobling: «last ned alt og slett fra serveren». Mappestruktur og status (lest/ulest) lagres lokalt — bytter du klient eller enhet, mister du oversikten.

IMAP (Internet Message Access Protocol) lar e-posten leve på serveren, med mappestruktur, flagg (lest/ulest, viktig osv.), og synkroniserer flere klienter mot samme tilstand. Slik fungerer dagens telefon + laptop + webmail-modell.

Begge er henting (pull) — sending skjer alltid via SMTP. Begge kan brukes med TLS (POP3S/IMAPS).

Pensum: Kap. 2 — E-postprotokoller

Spørsmål 4 3 poeng Kap. 2

Hvilken DNS-recordtype peker fra et domenenavn til navnet på e-postserveren som mottar post for domenet?

  • A A — adresserekord
  • B MX — Mail eXchange
  • C NS — Name Server
  • D CNAME — Canonical Name
Vis fasit
Riktig svar: B — MX

MX-recorden gir hostnavnet på e-postserveren for et domene, sammen med en preferanseverdi (lavere = høyere prioritet). En sendende SMTP-server gjør først et MX-oppslag for å finne riktig server, så et A-oppslag for å oversette server-navnet til en IP.

De andre typene: A peker fra navn til IPv4-adresse (AAAA for IPv6); NS peker fra et domene til den autoritative DNS-serveren for dette domenet; CNAME er et alias som peker fra ett navn til et annet navn (f.eks. www.example.com → example.com).

Pensum: Kap. 2 — DNS-records

Spørsmål 5 3 poeng Kap. 3

Hva er sammenhengen mellom MSS (Maximum Segment Size) og MTU (Maximum Transmission Unit) på en typisk Ethernet-link med standard headere?

  • A MSS = MTU. Begrepene er synonyme — begge angir den maksimale mengden brukerdata som passer inn i én Ethernet-ramme på 1500 byte
  • B MSS = MTU − størrelsen på IP-headeren − størrelsen på TCP-headeren. På Ethernet med MTU 1500 byte og standard 20+20 headere blir MSS typisk 1460 byte
  • C MSS = MTU + størrelsen på Ethernet-headeren (14 byte) + FCS (4 byte), siden MSS angir den totale rammelengden inkludert lenkelagets overhead
  • D MSS er bredden på TCPs glidevindu (rwnd) målt i byte, mens MTU angir lenkelagrammens fysiske lengde — de to størrelsene er uavhengige
Vis fasit
Riktig svar: B

MTU er hvor stor en lenkelagsramme kan være på lenkelagsnivå (1500 byte for vanlig Ethernet). En IP-pakke som passer inn må derfor være ≤ 1500 byte inkludert IP-header. Trekker man fra IP-headeren (20 byte for IPv4 uten options) og TCP-headeren (20 byte uten options) gjenstår 1460 byte for selve TCP-payload — det er MSS.

MSS forhandles under TCP 3-veis handshake (i SYN-pakken). Ved IPv6 (40 byte header) eller IP-options/TCP-options blir MSS lavere.

MSS handler altså om hvor mye data per segment, ikke om hvor mye data kan være underveis (det er TCP-vinduet rwnd/cwnd).

Pensum: Kap. 3 — TCP-segmentstørrelse

Spørsmål 6 3 poeng Kap. 3

Hva er hovedformålet med Nagles algoritme i TCP?

  • A Å estimere RTT mer presist ved å filtrere ut målinger fra retransmitterte segmenter, slik at SRTT og RTO ikke får skjevhet etter tap
  • B Å samle små data-skriv fra applikasjonen og sende dem som færre, større segmenter, slik at andelen header-overhead på linken reduseres
  • C Å øke cwnd raskere etter et tap, ved å hoppe over slow-start og gjenoppta sending direkte ved den siste cwnd-verdien fra før tapet
  • D Å fjerne behovet for ACK-er på korte segmenter ved å bruke kumulative kvitteringer fra mottakeren bare hver hundrede pakke
Vis fasit
Riktig svar: B

Nagles algoritme adresserer «small-packet problem»: hvis en applikasjon (typisk telnet/SSH) sender 1 byte om gangen, blir hver pakke 41 byte (1 byte payload + 20 IP + 20 TCP). 97 % av båndbredden er header-overhead.

Regelen: hvis det allerede finnes uakknowledget data underveis og det nye dataet er mindre enn ett MSS, skal senderen vente — enten til en ACK ankommer (slik at neste segment kan inneholde mer data) eller til det er nok data til å fylle ett MSS.

Algoritmen kan slås av med TCP_NODELAY-socket-opsjonen — nyttig for interaktive applikasjoner som spill og sanntid der latens er viktigere enn effektiv pakke-utnyttelse.

Pensum: Kap. 3 — Nagles algoritme

Spørsmål 7 3 poeng Kap. 4 · 6

En vert ønsker å sende en IP-pakke til en annen vert på samme subnett. Hvilken destinasjons-MAC bruker den i en ARP-request for å finne mottakerens MAC-adresse?

  • A Mottakerens egen MAC-adresse — den fås ved et DNS-oppslag av typen MAC-record, som returnerer lenkelagsadressen direkte fra navnetjeneren
  • B Standard gateway sin MAC, fordi all lokal trafikk innen subnettet alltid må gå innom default-gateway før den når den endelige mottakeren
  • C Broadcast-adressen ff:ff:ff:ff:ff:ff — alle på subnettet hører requesten, men kun mottakeren svarer med en ARP-reply (unicast)
  • D Multicast-adressen 01:00:5e:00:00:01, som er reservert i 802.3 for ARP-trafikk og kun lyttes av enheter som har aktivert ARP-modulen
Vis fasit
Riktig svar: C

ARP-request er en lag-2-broadcast, fordi senderen ikke vet hvilken MAC som tilhører mål-IP-en — alle stasjoner på subnettet må kunne se requesten og avgjøre om den gjelder dem.

ARP-reply derimot sendes som unicast direkte tilbake til den som spurte (kilden av requesten). Etter ARP-utvekslingen mellomlagrer begge parter mappingen i ARP-cachen i typisk 1–20 minutter.

DNS gir IP fra navn — ikke MAC fra IP. Standard gateway brukes hvis destinasjons-IP er på et annet subnett — ikke i denne situasjonen.

Pensum: Kap. 6 — ARP

Spørsmål 8 3 poeng Kap. 4

Hva representerer 0.0.0.0/0 i en forwarding-tabell?

  • A Et reservert internt nettverk (RFC 1918) som ikke skal videresendes ut av rutere, og som typisk filtreres bort av en kant-ruter før pakkene når Internett
  • B Standard rute («default route») — matcher alle destinasjoner som ingen andre, mer spesifikke prefiks dekker. Pakker uten annen match sendes hit (typisk til ISP-en)
  • C Loopback-prefikset som dekker hele 127.0.0.0/8 og brukes av rutere til intern testing av forwarding-pipelinen uten at pakker faktisk sendes ut
  • D En begrenset broadcast-adresse som ruteren bruker for å sende ARP-requests og DHCP-discover-pakker ut alle sine grensesnitt samtidig
Vis fasit
Riktig svar: B

Prefikset 0.0.0.0/0 har 0 bits maske og dekker dermed alle mulige IPv4-adresser. På grunn av longest prefix match-regelen brukes den kun når ingen andre, mer spesifikke ruter matcher.

I praksis settes en default route i en hjemmeruter for å peke til ISP-ens neste-hop. Verter har sin egen «default gateway» som er det samme i konsept.

Loopback er 127.0.0.0/8; broadcast for et subnett er den siste adressen i subnettet (eller 255.255.255.255 for begrenset broadcast).

Pensum: Kap. 4 — Forwarding og default route

Spørsmål 9 3 poeng Kap. 6

Hvorfor bruker bedrifter ofte Spanning Tree Protocol (STP) på switchene sine?

  • A For å kryptere all trafikk mellom switcher med en delt nøkkel som forhandles via BPDU-meldinger, slik at bare autoriserte switcher i samme spanning-tre kan lese rammene
  • B For å hindre at fysisk redundante forbindelser mellom switcher skaper uendelige loops for broadcast og ukjente unicast-rammer — STP blokkerer overflødige lenker logisk og lar én loopfri vei stå igjen
  • C For å optimalisere DHCP-svartider ved at switchene velger den korteste veien til DHCP-serveren og cacher tildelte adresser i en delt tabell mellom seg
  • D For å kunne vekte trafikk basert på QoS-klasse, slik at sanntidstrafikk får prioritet over best-effort-trafikk når flere VLAN deler samme uplink-port
Vis fasit
Riktig svar: B

Switcher videresender broadcast og ukjent unicast (flooding) ut alle porter unntatt mottaksporten. Hvis to switcher er koblet sammen med to lenker (eller via en tredje switch i en ring), vil broadcast-rammer sirkulere uendelig — en broadcast storm — og ARP/DHCP-trafikk lammer hele nettet.

STP bygger logisk et tre med én rot-switch. Lenker som ikke er en del av treet, settes i blokkert tilstand (lytter, men videresender ikke data). Hvis en aktiv lenke faller ut, regner STP ut treet på nytt og åpner en blokkert lenke som ny vei. Slik får man både redundans og loopfri topologi.

Moderne varianter: RSTP (Rapid STP, raskere konvergens) og MSTP (per-VLAN-tre).

Pensum: Kap. 6 — Spanning Tree

Spørsmål 10 5 poeng Kap. 6 · 7

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

  • 1. En switch lærer hvilken MAC-adresse som tilhører hver port ved å lese kilde-MAC i innkommende rammer.
  • 2. Hvis switchen ikke har destinasjons-MAC i sin tabell, kaster den rammen.
  • 3. 802.11-rammer bruker positive ACK-er fra mottaker — i motsetning til Ethernet, der ACK-mekanismen ligger i transportlaget.
  • 4. En 802.11-ramme inneholder fire MAC-adresser i full versjon (kilde, destinasjon, sender og mottaker), siden trafikken kan gå via en AP og en distribusjonsbro.
  • 5. Når en ramme sendes til broadcast-MAC ff:ff:ff:ff:ff:ff, vil en standard ruter videresende den til naborutere på alle sine grensesnitt.
Vis fasit

Riktige svar

  1. Sant — switchen ser kilde-MAC og porten den ankom på, og oppdaterer (eller refresher) en oppføring i sin lærings-tabell. Slik bygges tabellen automatisk uten konfigurasjon.
  2. Usant — uten match flooder switchen rammen ut alle porter unntatt mottaksporten. Det er nettopp dette som driver «ukjent unicast»-trafikk og gjør at en ARP-request kan reise gjennom nettet.
  3. Sant — i 802.11 sender mottakeren en ACK på lenkelagsnivå direkte etter en mottatt ramme (innen kort SIFS-intervall). Dette er fordi trådløst medium har høy feilrate; å vente på TCP-ACK ville være altfor sent. Ethernet (CSMA/CD med kollisjonsdeteksjon) har ikke L2-ACK.
  4. Sant — 802.11-rammeformatet kan ha opptil 4 adressefelt, brukt i ulike kombinasjoner styrt av To-DS/From-DS-flaggene. I infrastrukturmodus med trafikk via AP brukes 3, mens en WDS-bro mellom to AP-er bruker alle 4.
  5. Usant — rutere videresender ikke L2-broadcast. Broadcast i lenkelaget er begrenset til ett subnett — det er en av forskjellene mellom switch (videresender broadcast) og ruter (terminerer broadcast). DHCP, ARP osv. bryter ikke ut av sitt eget subnett uten en eksplisitt relay.

Pensum: Kap. 6 — Switch og ARP · Kap. 7 — 802.11-rammeformat

Spørsmål 11 3 poeng Kap. 7

Hva er en beacon-ramme i 802.11, og hvilken rolle spiller BSSID?

  • A Beacon er en kontrollramme klienten sender mot AP-et i assosieringsfasen for å reservere et tidsslott; BSSID er klientens IPv4-adresse i nettverket
  • B Beacon-rammer sendes periodisk av AP-et og inneholder bl.a. SSID, kanalnummer, støttede rater og BSSID — APets MAC-adresse, som identifiserer selve cellen (BSS) unikt
  • C Beacon er en kollisjons-jamming-ramme som AP-et sender for å avbryte pågående overføringer; BSSID er en 16-bits sekvensteller for ramme-rekkefølge
  • D Beacon brukes kun for å annonsere QoS-parametre i 802.11e og er valgfri i åpne nett; BSSID er en valgfri tekststreng som kan settes likt SSID
Vis fasit
Riktig svar: B

AP-et kringkaster beacon-rammer med jevne mellomrom (typisk hvert 100 ms = TBTT) som annonserer cellens eksistens. Beacons inneholder SSID (tekstnavnet du ser i nettverkslisten), BSSID (APets MAC-adresse — unik per celle), kanalnummer, hvilke 802.11-standarder som støttes, sikkerhetsinformasjon (WPA2/WPA3) og mer.

Beacon-rammer brukes til passiv scanning: en klient lytter på hver kanal etter beacons fra ulike AP-er og lager en oversikt. Alternativet er aktiv scanning: klienten sender Probe Request og venter på Probe Response.

SSID kan være delt mellom flere AP-er (samme nettverk, flere celler), men BSSID er alltid unik per AP/celle.

Pensum: Kap. 7 — 802.11 association og beacons

Spørsmål 12 4 poeng Kap. 8

Koble hver kryptografiske mekanisme til den primære sikkerhetstjenesten den leverer. Velg én bokstav per rad. 1 poeng per riktig kobling.

Selectable Items
  1. Konfidensialitet — innholdet kan ikke leses av andre enn autorisert mottaker.
  2. Meldingsintegritet og opprinnelsesautentisering med ikke-fornektelse — bare innehaveren av en bestemt privat nøkkel kan ha produsert verdien.
  3. Meldingsintegritet og autentisering basert på en delt hemmelighet — to parter med samme nøkkel kan verifisere meldingen, men hverken kan bevise overfor en tredjepart hvem som var avsender.
  4. Etablering av en delt hemmelig nøkkel mellom to parter over en åpen kanal, uten at de har delt noe på forhånd.
  5. Bekreftelse av at en oppgitt offentlig nøkkel virkelig tilhører den oppgitte identiteten.
# Mekanisme Ditt valg
1 AES i CBC-modus
2 HMAC-SHA256
3 Digital signatur (asymmetrisk)
4 Diffie-Hellman nøkkelutveksling

Merk: Banken har 5 alternativer, men du skal kun bruke 4 — én linje er en distraktor.

Vis fasit
Riktige koblinger
OppgaveRiktig
1 AES-CBCa — konfidensialitet
2 HMAC-SHA256c — integritet med delt nøkkel (symmetrisk)
3 Digital signaturb — integritet/autentisering med ikke-fornektelse (asymmetrisk)
4 Diffie-Hellmand — nøkkeletablering over åpen kanal

Distraktor: e — verifisering at offentlig nøkkel hører til en identitet — leveres av sertifikater signert av en CA (PKI), ikke av noen av mekanismene listet her.

Forskjellen mellom HMAC (c) og digital signatur (b): HMAC bruker en delt hemmelig nøkkel — derfor kan begge parter ha laget HMAC-en og det er ikke ikke-fornektelig. Digital signatur bruker privat nøkkel hos signereren og offentlig nøkkel for verifisering — kun signereren kan ha produsert signaturen.

Pensum: Kap. 8 — Sikkerhetstjenester

Spørsmål 13 3 poeng Kap. 9

I DASH (Dynamic Adaptive Streaming over HTTP), hva er rollen til manifestet (MPD-filen) som klienten først laster ned?

  • A Det er den første videoblokken som spilles av — en kort intro-snutt i lavest mulig bitrate som gir umiddelbar avspilling mens resten av strømmen lastes ned i bakgrunnen i full kvalitet
  • B Det er en XML-fil som lister hvilke kvalitetsvarianter (bitrater, oppløsninger) som er tilgjengelige og hvor de tilsvarende segmentene ligger — slik at klienten kan velge varianten som passer for båndbredden
  • C Det er en signaturfil som verifiserer at videoen ikke er endret underveis i nettet, ved at klienten beregner SHA-256 over hvert segment og sammenligner med en signatur fra serveren
  • D Det er en spesifikasjon av lyd- og videokodek-parametre som klientens dekoder må laste inn før avspilling, inkludert profil, level og fargerom for å konfigurere maskinvareakselereringen
Vis fasit
Riktig svar: B

Manifestet (Media Presentation Description) er en XML/JSON-fil som beskriver alle tilgjengelige representasjoner av samme innhold. Eksempel: 240p ved 200 kbps, 480p ved 800 kbps, 720p ved 2,5 Mbps, 1080p ved 5 Mbps. For hver representasjon listes URL-er for «segments» (typisk 2–10 sekunder med video).

Klienten leser manifestet, måler hvor raskt den klarer å hente segmenter, og velger neste segment fra den representasjonen som er passe — høyere kvalitet hvis det går bra, lavere ved kø-bygging eller buffer-underflow. Slik realiseres «adaptive» i Adaptive Streaming.

Manifestet er ikke selve mediet (video-segmenter er separate filer), ikke en signatur, og ikke en kodek-spesifikasjon.

Pensum: Kap. 9 — DASH

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 10 poeng Kap. 1 · 2

En nettbutikk har en nettside som består av 1 HTML-dokument (50 kB) og 20 mindre objekter à 10 kB. Klienten har RTT 60 ms til serveren og en lokal aksesslink på 100 Mbps. DNS-oppslaget tar én RTT (60 ms) — anta at det ikke er cachet. Ignorer kø og prosesseringsforsinkelser; transmisjonstid på serversiden er neglisjerbar.

a) Beregn omtrentlig samlet ende-til-ende-tid for å laste hele siden med non-persistent HTTP/1.0 uten parallellforbindelser. (4p)

b) Beregn samme tid med persistent HTTP/1.1 med pipelining (én TCP-forbindelse, alle objekter pipelines). (3p)

c) Hvor stor andel av hele tiden går til RTT-overhead (TCP-handshake og forespørselsturer) i hvert tilfelle? Hva er den praktiske lærdommen? (3p)

Vis fasit

Forberedelse:

Total datamengde: 50 + 20·10 = 250 kB = 2 Mbit. På 100 Mbps tar transmisjonen 2/100 = 0,02 s = 20 ms. Det er den teoretisk minste tiden — alt annet er overhead.

a) Non-persistent uten parallellforbindelser:

  • 1 RTT for DNS = 60 ms
  • For HTML: 1 RTT for TCP-handshake + 1 RTT for forespørsel/svar = 2 RTT = 120 ms
  • For hver av de 20 små objektene: 2 RTT (handshake + request) = 20 × 120 = 2 400 ms
  • Pluss transmisjonstid for selve dataene: 20 ms

Total: 60 + 120 + 2 400 + 20 ≈ 2,6 sekunder.

b) Persistent med pipelining:

  • 1 RTT for DNS = 60 ms
  • 1 RTT for TCP-handshake = 60 ms
  • 1 RTT for HTML-request → svar = 60 ms
  • 1 RTT for å pipeline alle 20 forespørsler i parallell og motta første respons = 60 ms (deretter strømmer resten kontinuerlig)
  • Pluss transmisjonstid: 20 ms

Total: 60 + 60 + 60 + 60 + 20 ≈ 260 ms.

c) Andel RTT-overhead:

Non-persistent: 2580 av 2600 ms ≈ 99 % er RTT-overhead. Selve dataoverføringen tar bare 20 ms.

Persistent + pipelining: 240 av 260 ms ≈ 92 % er fortsatt RTT-overhead — men hele forsinkelsen er redusert med en faktor 10×.

Lærdom: for små objekter dominerer RTT, ikke båndbredde. HTTP/1.1 persistent connections + pipelining (eller HTTP/2 multiplexing) er derfor enormt mye viktigere enn å oppgradere linkkapasitet for sider med mange små ressurser. Av samme grunn bruker moderne sider sprite-bilder, bundling og connection-reuse.

Pensum: Kap. 2 — Persistent vs. non-persistent HTTP

Oppgave 2 12 poeng Kap. 3

En TCP-sender starter en ny forbindelse med cwnd = 1 MSS og ssthresh = 16 MSS. Det er ingen rwnd-begrensning og ingen forsinket ACK; én ACK per segment. Følgende skjer i de neste rundene (én RTT per runde):

  • Slow start fra cwnd = 1 MSS
  • I runden hvor cwnd skulle blitt 16, mottar senderen 3 dupliserte ACK-er for et tap.
  • TCP Reno (med fast retransmit + fast recovery) brukes.

a) Tegn (eller list i tabell) hvordan cwnd utvikler seg fra runde 1 til og med runden etter tapet. Marker hvilke runder som er slow start, og hvor fast retransmit utløses. (5p)

b) Etter fast recovery fortsetter forbindelsen i fasen «kongestionsunngåelse». Hva blir cwnd og ssthresh umiddelbart etter at fast recovery er fullført? (3p)

c) Etter ytterligere 4 runder uten tap, hva er cwnd da? (2p)

d) Forklar i én setning hva som ville vært annerledes med TCP Tahoe (eldre variant) i samme situasjon. (2p)

Vis fasit

a) cwnd-utvikling:

Rundecwnd ved startFase
11Slow start
22Slow start
34Slow start
48Slow start
516Når ssthresh — overgang. 3 dup ACK ankommer → fast retransmit

I slow start dobles cwnd hver RTT (én økning av cwnd per ACK). Etter fire RTT-er har cwnd nådd 16. Tapet detekteres via 3 dupliserte ACK-er.

b) Etter fast recovery (TCP Reno):

Ved 3 dup-ACK halverer Reno cwnd og setter ssthresh til den nye verdien:

  • ssthresh = cwnd / 2 = 16 / 2 = 8 MSS
  • cwnd = ssthresh = 8 MSS (Reno hopper til kongestionsunngåelse — ikke tilbake til 1)

c) Etter 4 runder med kongestionsunngåelse:

I AIMD-fasen øker cwnd lineært med 1 MSS per RTT. cwnd: 8 → 9 → 10 → 11 → 12 MSS.

d) TCP Tahoe-variant:

Tahoe responderer på 3 dup ACK ved å sette cwnd helt tilbake til 1 MSS og starte slow start på nytt (med ssthresh = 8). Reno er mer aggressiv ved å bli i AIMD-fasen — gir høyere gjennomstrømning ved enkelt-tap. Ved timeout (ikke 3 dup ACK) går derimot også Reno tilbake til cwnd = 1.

Pensum: Kap. 3 — TCP Reno, fast retransmit og fast recovery

Oppgave 3 14 poeng Kap. 4

En bedrift har fått tildelt nettverket 192.168.50.0/24 og skal dele det opp i 4 subnett med følgende krav til brukbare host-adresser:

  • Sub-A: opp til 100 hosts (kontornett 1)
  • Sub-B: opp til 50 hosts (kontornett 2)
  • Sub-C: opp til 20 hosts (gjestenett)
  • Sub-D: opp til 10 hosts (servernett)

a) Forklar hvorfor det ikke går å bruke subnetting med fast lengde (FLSM) her, og hvorfor VLSM trengs. (3p)

b) Tildel passende prefiks (CIDR-lengde) for hvert av subnettene. Hvor mange host-bits trengs minimum? (3p)

c) Tildel ikke-overlappende adresseområder for de fire subnettene innenfor 192.168.50.0/24, slik at allokeringen er kompakt (start fra .0 og bruk så lite plass som mulig). For hvert subnett: nettverksadresse, broadcast-adresse, første og siste brukbare host. (6p)

d) Hvor mange adresser i /24-blokken er igjen ubrukt etter VLSM-allokeringen? (2p)

Vis fasit

a) Hvorfor VLSM:

FLSM ville krevd at alle subnett har samme størrelse. Sub-A trenger plass til 100 hosts → minimum /25 (128 adresser, 126 brukbare). Hvis alle 4 subnett skal være /25, trengs 4 × 128 = 512 adresser — men /24 har bare 256 totalt. Det er fysisk umulig.

VLSM (Variable Length Subnet Masks) tillater ulik størrelse per subnett, slik at små subnett ikke sløser med adresser. Det er i praksis nødvendig for alle realistiske bedriftsnettverk.

b) Nødvendige prefiks:

Husk: brukbare hosts = 2h − 2 (trekk fra nettverks- og broadcast-adressen).

SubnettHosts påkrevdHost-bitsPrefiksTotal adresserBrukbare
Sub-A1007 (27−2 = 126 ≥ 100)/25128126
Sub-B506 (26−2 = 62 ≥ 50)/266462
Sub-C205 (25−2 = 30 ≥ 20)/273230
Sub-D104 (24−2 = 14 ≥ 10)/281614

c) Kompakt VLSM-allokering (alltid det største subnettet først):

SubnettPrefiksNettverksadresseFørste hostSiste hostBroadcast
Sub-A/25192.168.50.0192.168.50.1192.168.50.126192.168.50.127
Sub-B/26192.168.50.128192.168.50.129192.168.50.190192.168.50.191
Sub-C/27192.168.50.192192.168.50.193192.168.50.222192.168.50.223
Sub-D/28192.168.50.224192.168.50.225192.168.50.238192.168.50.239

Sjekk: hver blokk er på riktig grense (multiplum av blokkstørrelsen): 0 (mod 128), 128 (mod 64), 192 (mod 32), 224 (mod 16). Alle gyldige.

d) Ubrukte adresser:

Brukt: 128 + 64 + 32 + 16 = 240 adresser. Igjen: 256 − 240 = 16 adresser (192.168.50.240 – .255 — én ledig /28-blokk). Dette utgjør reserve, f.eks. for fremtidig utvidelse eller et lite point-to-point-nett.

Pensum: Kap. 4 — VLSM og subnetting

Oppgave 4 12 poeng Kap. 6

En læringskapabel switch S har 4 porter (1, 2, 3, 4). Hver port er koblet til én vert: A på port 1, B på port 2, C på port 3, D på port 4. Switchens MAC-tabell er tom ved start. Følgende rammer sendes i rekkefølge:

  1. A → B (kilde-MAC = a, dest-MAC = b)
  2. B → A (kilde-MAC = b, dest-MAC = a)
  3. C → A (kilde-MAC = c, dest-MAC = a)
  4. D → broadcast (kilde-MAC = d, dest-MAC = ff:ff:ff:ff:ff:ff)
  5. A → C (kilde-MAC = a, dest-MAC = c)

a) For hver av de 5 rammene: hvilke porter videresender switchen rammen ut, og hvordan ser MAC-tabellen ut etter at rammen er behandlet? (8p)

b) Forklar prinsippet bak «flooding» av rammer med ukjent destinasjon. Hva er fordelen, og hvilken risiko skaper det i et nett med loops? (4p)

Vis fasit

a) Trinn-for-trinn-analyse:

Ramme 1 — A → B: Switchen lærer at a er på port 1 (fra kilde-MAC). Dest-MAC b er ukjent → flooder ut alle porter unntatt port 1, dvs. ut port 2, 3, 4.

Tabell etter: { a: 1 }

Ramme 2 — B → A: Lærer b på port 2. Dest a er kjent (port 1) → videresender kun ut port 1.

Tabell etter: { a: 1, b: 2 }

Ramme 3 — C → A: Lærer c på port 3. Dest a kjent → ut port 1.

Tabell etter: { a: 1, b: 2, c: 3 }

Ramme 4 — D → broadcast: Lærer d på port 4. Broadcast → flooder ut alle porter unntatt mottaksport, dvs. ut port 1, 2, 3.

Tabell etter: { a: 1, b: 2, c: 3, d: 4 }

Ramme 5 — A → C: Kilde a bekreftes/oppdateres på port 1. Dest c kjent → ut port 3. Ingen flooding.

Tabell etter: { a: 1, b: 2, c: 3, d: 4 }

b) Flooding-prinsippet:

Når switchen ikke vet hvor en MAC-adresse er, tar den ingen sjanser: den sender rammen ut alle porter (unntatt mottaksporten). Riktig vert mottar rammen og svarer; svar-rammen lar switchen lære den manglende mappingen.

Fordel: ingen statisk konfigurasjon trengs. Switchen lærer topologien automatisk og driftsklar fra første ramme.

Risiko ved loops: hvis det finnes flere fysiske veier mellom switcher (loop), kommer en flooded ramme tilbake og blir floodet på nytt — den sirkulerer og fyller hele nettet. Dette kalles en broadcast storm og kan lamme nettet på sekunder. Det er problemet Spanning Tree Protocol (STP) er designet for å hindre.

Pensum: Kap. 6 — Switch-læring og flooding

Oppgave 5 10 poeng Kap. 8

Symmetrisk og asymmetrisk kryptografi har ulike styrker. I praksis kombineres de — for eksempel i TLS.

a) Sammenlign symmetrisk og asymmetrisk kryptering på (i) ytelse/hastighet, (ii) hvor mange nøkler som trengs blant n kommuniserende parter, og (iii) hvordan nøkler i utgangspunktet kan deles trygt. (5p)

b) Forklar hvorfor TLS bruker asymmetrisk kryptografi under handshake, men symmetrisk kryptografi under selve dataoverføringen. Hva blir det beste fra begge verdener? (3p)

c) Hva er en «session key», og hvorfor er det god praksis å bruke en ny én per TLS-økt i stedet for å gjenbruke samme nøkkel? (2p)

Vis fasit

a) Sammenligning:

AspektSymmetrisk (f.eks. AES)Asymmetrisk (f.eks. RSA, ECC, DH)
(i) YtelseSvært rask — typisk 100–1000× raskere enn asymmetrisk per byte. Kan kjøres i hardware ved gigabit-rater.Treg — krever tunge matematiske operasjoner (modulær eksponentiering, elliptisk-kurve-multiplikasjon). Egnet for små data (nøkkelutveksling, signaturer på hash).
(ii) Antall nøklern parter trenger n(n−1)/2 = O(n²) parnøkler hvis alle skal kunne kommunisere. Ved 100 parter: 4 950 nøkler.Hver part har ett nøkkelpar (privat + offentlig). n parter krever n nøkkelpar — O(n).
(iii) NøkkeldelingVanskelig å distribuere uten en allerede sikker kanal — krever forhåndsavtale eller kurer.Den offentlige nøkkelen kan deles fritt. Ekthet bekreftes via PKI/sertifikater.

b) Beste fra begge verdener:

I TLS-handshake bruker partene asymmetrisk kryptografi (typisk Diffie-Hellman + serverens RSA/ECDSA-sertifikat) til å:

  • Verifisere serverens identitet (sertifikatet er signert av en CA)
  • Etablere en delt hemmelig sesjonsnøkkel over en åpen kanal

Når sesjonsnøkkelen er på plass, går partene over til symmetrisk kryptering (f.eks. AES-GCM) for selve datatrafikken. Slik utnyttes asymmetrisk for det den er god til (autentisering + nøkkeletablering uten forhåndsdelt hemmelighet) og symmetrisk for det den er god til (rask massekryptering).

c) Sesjonsnøkkel og hvorfor ikke gjenbruk:

En sesjonsnøkkel er en tilfeldig generert symmetrisk nøkkel som kun brukes for én økt. Fordelen ved å ikke gjenbruke: hvis nøkkelen lekker eller knekkes senere, er bare én økt kompromittert — ikke alle tidligere/fremtidige. Med Diffie-Hellman gir dette dessuten forward secrecy: en angriper som har lagret krypterte øktdata og senere får tak i serverens private nøkkel, kan likevel ikke dekryptere de gamle øktene.

Pensum: Kap. 8 — Symmetrisk vs. asymmetrisk · Kap. 8 — TLS