Øvingseksamen · TTM4100

Øvingseksamen 2

Del I: 14 flervalgsoppgaver (42 poeng). Del II: 5 åpne oppgaver (58 poeng). Totalt 100 poeng. Settet vektlegger transportlaget, ruting, trådløst og TLS — og avsluttes med multimedia.

Temaer i dette settet
  • Lag-arkitektur, gjennomstrømning, flaskehals (kap. 1)
  • HTTP persistent, DNS-hierarkiet, web-cache (kap. 2)
  • TCP-handshake og TCP metningskontroll (kap. 3)
  • NAT, IPv6 og forwarding (kap. 4)
  • Rutingalgoritmer — link-state vs. distance-vector (kap. 5)
  • Ethernet-rammer og lærende svitsjer (kap. 6)
  • WiFi 802.11 og CSMA/CA — skjult terminal (kap. 7)
  • TLS-handshake, sertifikater, meldingsintegritet (kap. 8)
  • DASH-streaming (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

Når en HTTP-forespørsel sendes nedover protokollstakken, hvilken rekkefølge har innkapslingen?

  • A HTTP → IP-pakke → TCP-segment → Ethernet-ramme
  • B HTTP → TCP-segment → IP-pakke → Ethernet-ramme
  • C Ethernet-ramme → IP-pakke → TCP-segment → HTTP
  • D HTTP → Ethernet-ramme → TCP-segment → IP-pakke
Vis fasit
Riktig svar: B

Innkapsling går nedover lagene: applikasjonsdataen (HTTP-meldingen) blir TCP-segment når TCP-headeren legges på, deretter IP-pakke når IP-headeren legges på, og til slutt Ethernet-ramme når MAC-headeren og fottegnet (FCS) legges på.

Hvert lag legger sin egen header utenpå dataenheten fra laget over (payload). Hos mottakeren skjer det motsatte — hvert lag fjerner sin header og leverer payload til neste lag.

Pensum: Kap. 1 — Lagdelt arkitektur og innkapsling

Spørsmål 2 3 poeng Kap. 1

En sti fra A til B består av tre serielle linker med kapasitet 100 Mbps, 50 Mbps og 200 Mbps. Hva er den maksimale ende-til-ende gjennomstrømningen, antatt at ingen andre brukere belaster nettet?

  • A 350 Mbps
  • B 200 Mbps
  • C 100 Mbps
  • D 50 Mbps
Vis fasit
Riktig svar: D — 50 Mbps

For en serie av linker er ende-til-ende gjennomstrømning bestemt av flaskehals-linken — den linken med lavest kapasitet: min(100, 50, 200) = 50 Mbps.

Linkene er ikke parallelle, så kapasitetene summeres ikke. Pakker må passere hver link i tur og orden, og den tregeste linken setter grensen for hele stien.

Pensum: Kap. 1 — Gjennomstrømning og flaskehalslink

Spørsmål 3 3 poeng Kap. 2

Hvilken påstand om HTTP/1.1 med persistent connections og pipelining er riktig?

  • A Hver objektnedlasting krever en ny TCP-handshake før dataoverføring
  • B Klienten kan sende flere forespørsler i strøm uten å vente på svar mellom hver
  • C Server og klient bytter til UDP for å redusere latency under sidehenting
  • D Det kreves én separat TCP-forbindelse per HTTP-objekt som hentes
Vis fasit
Riktig svar: B

Med persistent connections holdes TCP-forbindelsen åpen etter første forespørsel — påfølgende objekter kan hentes uten ny handshake. Med pipelining kan klienten sende flere forespørsler i strøm uten å vente på svar mellom hver, noe som reduserer total tid betydelig.

A og D beskriver non-persistent HTTP (HTTP/1.0-standard, hvor hver objektnedlasting krevde sin egen TCP-handshake). C er feil — HTTP/1.x kjører over TCP.

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

Spørsmål 4 3 poeng Kap. 2

Hvilken DNS-server er autoritativ for domenet www.ntnu.no?

  • A DNS-roten
  • B TLD-serveren for .no
  • C Den lokale DNS-serveren (resolveren) til klienten
  • D NTNUs egen DNS-server
Vis fasit
Riktig svar: D

En autoritativ DNS-server er den serveren som har den definitive informasjonen om et domene — den som "eier sannheten" om hvilke IP-adresser navnene i domenet peker til. NTNU drifter sine egne DNS-servere og er autoritative for navn under ntnu.no.

DNS-roten kjenner kun TLD-serverne. TLD-serveren for .no peker videre til NTNUs autoritative server. Den lokale DNS-serveren cacher svar og fungerer som mellomledd, men er ikke autoritativ.

Pensum: Kap. 2 — DNS-hierarkiet

Spørsmål 5 3 poeng Kap. 3

I TCP-headeren angir feltet «Acknowledgment number» hvilket sekvensnummer mottakeren neste gang forventer. Anta at mottakeren har mottatt og kvittert byte 1–999 og akkurat har mottatt byte 1000–1499. Hvilken ACK-verdi sender mottakeren tilbake?

  • A 1499
  • B 1500
  • C 1000
  • D 999
Vis fasit
Riktig svar: B — 1500

TCP bruker kumulative ACK: feltet "Acknowledgment number" inneholder sekvensnummeret for neste byte mottakeren forventer. Hvis byte 1000–1499 nettopp er mottatt, er neste forventede byte 1500, så ACK-verdien er 1500.

Dette er en vanlig feil — mange tror ACK-verdien er sekvensnummeret til den siste mottatte byten. Det er sekvensnummeret til den neste forventede.

Pensum: Kap. 3 — TCP sekvens- og kvitteringsnummer

Spørsmål 6 3 poeng Kap. 3

I TCP «classic» metningskontroll: hva skjer med cwnd (congestion window) når senderen er i slow start-fasen og mottar én ACK?

  • A cwnd halveres umiddelbart, som ved tap
  • B cwnd økes med 1 MSS per ACK (fordobling per RTT)
  • C cwnd økes med 1 MSS per RTT (lineær vekst)
  • D cwnd holdes konstant inntil neste timeout
Vis fasit
Riktig svar: B

I slow start økes cwnd med 1 MSS for hver ACK som mottas. Siden hele cwnd vanligvis kvitteres innenfor én RTT, fører dette til en eksponentiell vekst — cwnd dobles per RTT.

C beskriver congestion avoidance-fasen, hvor cwnd økes med 1 MSS per RTT (lineær vekst). A skjer ved en triple-duplicate ACK i TCP Reno (cwnd halveres). Slow start startes på nytt med cwnd = 1 MSS ved en timeout.

Pensum: Kap. 3 — TCP metningskontroll, slow start og congestion avoidance

Spørsmål 7 3 poeng Kap. 4

Hva er den primære grunnen til å gå over fra IPv4 til IPv6?

  • A IPv6-pakker er mindre og gir lavere overhead
  • B IPv6 har et mye større adresserom (128 bit vs. 32 bit)
  • C IPv6 er bakoverkompatibel med IPv4 og kan enkelt erstatte den
  • D IPv6 reduserer pakkesvitsjingsforsinkelse i rutere
Vis fasit
Riktig svar: B

IPv4-adresserommet (232 ≈ 4,3 milliarder) ble offisielt brukt opp i 2011 hos IANA. IPv6 utvider til 128 bit (2128 ≈ 3,4 × 1038) — nok adresser til at hver kvadratmillimeter på jordoverflaten kan ha milliarder.

A er feil — IPv6-headeren er faktisk lengre (40 byte fast) enn typisk IPv4-header (20 byte). C er feil — IPv4 og IPv6 er ikke direkte interoperable; tunneling og dual-stack-løsninger trengs i overgangen.

Pensum: Kap. 4 — IPv6

Spørsmål 8 3 poeng Kap. 4

Hvilken egenskap har NAT (Network Address Translation)?

  • A Den oversetter mellom IPv4 og IPv6 i bittenivå
  • B Den lar mange interne enheter dele én offentlig IP-adresse via portoversettelse
  • C Den krypterer all trafikk mellom et hjemmenett og Internett
  • D Den reduserer størrelsen på pakker for raskere transmisjon
Vis fasit
Riktig svar: B

En NAT-ruter har én (eller få) offentlig IPv4-adresse på WAN-siden og bruker en privat adresseblokk (typisk 192.168.0.0/16 eller 10.0.0.0/8) på LAN-siden. NAT-tabellen mapper kombinasjoner av (intern IP, intern port) ↔ (ekstern IP, ekstern port). Når en pakke går ut, oversettes kildeadresse og kildeport; når svaret kommer tilbake, slås det opp i tabellen og pakken videresendes til riktig intern enhet.

NAT bidrar til å spare IPv4-adresser, men bryter prinsippet om end-to-end adressering og kompliserer protokoller som forventer å se ekte IP-adresser.

Pensum: Kap. 4 — NAT

Spørsmål 9 3 poeng Kap. 5

Hva er hovedforskjellen mellom en link-state-rutingalgoritme og en distance-vector-algoritme?

  • A Link-state bruker TCP, distance-vector bruker UDP
  • B Link-state-noder har global topologi-oversikt; distance-vector-noder kjenner bare avstand til naboer
  • C Distance-vector kjører i applikasjonslaget; link-state i nettverkslaget
  • D Link-state skalerer bedre fordi den ikke trenger pakker mellom rutere
Vis fasit
Riktig svar: B

I en link-state-algoritme (f.eks. OSPF) flooder hver ruter informasjon om sine egne lenker til alle rutere. Hver ruter bygger en fullstendig topologi-graf og kjører Dijkstras algoritme lokalt for å finne korteste vei. Beslutninger er sentrale i den forstand at hver ruter har global oversikt.

I en distance-vector-algoritme (f.eks. RIP) kjenner ruteren kun "kostnaden til hver destinasjon via hver nabo", basert på det naboene har fortalt. Dette er en distribuert iterativ Bellman-Ford-prosess. Den krever mindre informasjon per ruter, men kan være sårbar for "count-to-infinity"-problemer.

Pensum: Kap. 5 — Rutingalgoritmer

Spørsmål 10 3 poeng Kap. 6

Hva er hensikten med preamble-feltet i en Ethernet-ramme?

  • A Å lagre kildens MAC-adresse i en mer kompakt form
  • B Å la mottakerens NIC synkronisere klokken sin med senderens signal
  • C Å fungere som CRC-sjekksum for rammen
  • D Å indikere prioritet og QoS-klassen for rammen
Vis fasit
Riktig svar: B

Preamblet (7 byte med 10101010 + 1 byte SFD-mønster) er et alternasjonsmønster som vekker mottakerens fysiske lag og lar klokken til mottakerens NIC låses til senderens bit-takt. Uten dette vil mottakeren risikere å lese bitene på feil tidspunkt.

CRC ligger i FCS-feltet på slutten av rammen. MAC-adresser ligger i sine egne felt. Standard Ethernet-rammer har ikke et eget prioritets-/QoS-felt (det finnes utvidelser, f.eks. 802.1Q-tagger, men ikke som del av basis-rammeformat).

Pensum: Kap. 6 — Ethernet-rammeformat

Spørsmål 11 3 poeng Kap. 6

En lærende svitsj (self-learning switch) mottar en ramme med kjent destinasjons-MAC og kjent kilde-MAC. Hva gjør svitsjen?

  • A Flooder rammen ut på alle porter unntatt innkommende
  • B Slipper rammen, fordi den allerede vet om kilden
  • C Sender rammen kun ut på den porten der destinasjonen er kjent
  • D Sender rammen videre til ruteren for ruting
Vis fasit
Riktig svar: C

En lærende svitsj vedlikeholder en switch table (MAC-tabell) som mapper MAC-adresser til porter. Hver gang en ramme ankommer, lærer svitsjen at "kilde-MAC X finnes på port Y" — dermed bygges tabellen automatisk over tid.

Når destinasjons-MAC er kjent i tabellen: svitsjen sender rammen kun ut på den porten der destinasjonen er. Dette kalles selective forwarding.

A skjer kun når destinasjons-MAC ikke er kjent (eller for broadcast).

Pensum: Kap. 6 — Lærende svitsjer

Spørsmål 12 3 poeng Kap. 7

Hvorfor brukes CSMA/CA (Collision Avoidance) i 802.11 WiFi i stedet for CSMA/CD (Collision Detection) som i Ethernet?

  • A WiFi krypterer alle rammer på lenkelaget, og kollisjoner kan dermed ikke oppstå
  • B WiFi-stasjoner er half-duplex og senderens eget signal overdøver mottakelsen — kollisjoner kan ikke detekteres mens man sender
  • C WiFi har vesentlig høyere båndbredde enn Ethernet, så kollisjoner blir statistisk umulige
  • D CSMA/CD er reservert for kabelnettverk gjennom juridiske og regulatoriske krav fra ITU
Vis fasit
Riktig svar: B

I 802.11 sender og mottar samme antenne — typisk halv-dupleks. Senderens eget signal er flere størrelsesordener kraftigere enn et innkommende signal fra en annen stasjon, så mottakerelektronikken «overdøves» mens man sender. Det er derfor umulig å pålitelig detektere kollisjoner samtidig som man sender (CD).

I tillegg finnes problemet med "skjulte terminaler" — to stasjoner kan være utenfor hørevidde av hverandre, men begge innenfor hørevidde av samme aksesspunkt. Begge tror mediet er ledig og kolliderer hos AP.

Løsningen er collision avoidance: stasjoner venter en tilfeldig backoff selv når mediet er ledig (DIFS + tilfeldig contention window), bruker positive ACK-er for å bekrefte mottak, og kan eventuelt bruke RTS/CTS for å reservere mediet.

Pensum: Kap. 7 — CSMA/CA i 802.11

Spørsmål 13 3 poeng Kap. 8

Hva er hovedformålet med et X.509-sertifikat utstedt av en Certificate Authority (CA) i TLS?

  • A Å kryptere all trafikk som utveksles mellom klienten og serveren
  • B Å bekrefte at en offentlig nøkkel virkelig tilhører entiteten (f.eks. domenet) som oppgis
  • C Å lagre brukerpassord på serveren i en kryptert og hashet form
  • D Å forkorte TLS-handshakens varighet ved å hoppe over runde-turer
Vis fasit
Riktig svar: B

Et sertifikat inneholder en entitets offentlige nøkkel og er signert av en CA. Klienten har CA-ens offentlige nøkkel forhåndsinstallert (i nettleserens "trust store") og kan dermed verifisere signaturen. Hvis signaturen er gyldig, kan klienten stole på at den offentlige nøkkelen i sertifikatet faktisk tilhører den listede serveren — og ikke en angriper i et MITM-scenario.

Selve krypteringen i TLS skjer med symmetriske nøkler etter handshake. Sertifikater løser det grunnleggende problemet med autentisitet av offentlige nøkler.

Pensum: Kap. 8 — TLS, sertifikater og PKI

Spørsmål 14 3 poeng Kap. 9

Hva er den viktigste fordelen med DASH (Dynamic Adaptive Streaming over HTTP) for videostreaming?

  • A Videoen krypteres lag-for-lag for personvern
  • B Klienten kan dynamisk velge bitrate per chunk basert på målt båndbredde
  • C Serveren bestemmer bitraten og pusher data direkte til klienten
  • D Hele filmen sendes som én stor TCP-strøm uten oppdeling
Vis fasit
Riktig svar: B

I DASH blir videoen kodet inn i flere bitrater (f.eks. 360p, 720p, 1080p). Serveren tilbyr en manifestfil som lister tilgjengelige chunker (typisk noen sekunder hver) for hver kvalitet. Klienten måler nedlastningshastigheten i sanntid og velger neste chunk fra den kvaliteten som passer best — høyere ved god båndbredde, lavere ved redusert.

Dette gjør at intelligensen ligger hos klienten (server-stateless), at innholdet kan distribueres via vanlige HTTP-cacher/CDN-er, og at brukeren får jevn avspilling uten frosset video selv ved varierende nettverkskvalitet.

Pensum: Kap. 9 — DASH og adaptiv streaming

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 8 poeng Kap. 1

a) En klient i Trondheim laster ned en fil på 50 MB fra en server i USA. Banen består av tre serielle linker med hastighet 100 Mbps, 25 Mbps og 80 Mbps. Hva er teoretisk minimum nedlastningstid (uten andre delaytyper, kun overføring)? (4p)

b) Ende-til-ende RTT mellom Trondheim og USA er 150 ms. Forklar hvorfor faktisk nedlastningstid med TCP kan være betydelig høyere enn det du beregnet i a). Nevn minst to mekanismer. (4p)

Vis fasit

a) Minimum nedlastningstid:

Ende-til-ende gjennomstrømning ≤ flaskehals = min(100, 25, 80) Mbps = 25 Mbps

Filstørrelse: 50 MB = 50 × 8 × 106 = 400 × 106 bits

Tid = bits / rate = 400 × 106 / 25 × 106 = 16 sekunder

b) Hvorfor er faktisk nedlasting tregere?

  1. TCP slow start: Senderens cwnd starter på 1 MSS og dobles per RTT til den når terskelen for congestion avoidance. Med RTT på 150 ms tar det flere sekunder før senderen når full kapasitet — særlig betydelig på små/mellomstore filer eller "fat-long" lenker.
  2. Køforsinkelse og pakketap: Andre brukere kan kø opp i samme rutere; pakketap fører til retransmisjoner og reduksjon av cwnd. Med stor RTT er hver retransmisjon dyr.
  3. Båndbredde-forsinkelses-produkt og rwnd: Hvis mottakerens annonserte vindu (rwnd) er for lite, eller socketens send-/mottaksbuffer er for små i forhold til BDP = kapasitet × RTT, vil senderen bli tomgangsbegrenset uavhengig av kapasiteten.
  4. (Andre gyldige svar: forsinkelse i TCP-handshake, ekstra RTT for DNS-oppslag, oppstart av TLS, m.m.)

Pensum: Kap. 1 — Gjennomstrømning · Kap. 3 — TCP slow start

Oppgave 2 12 poeng Kap. 3

a) Tegn (eller beskriv steg-for-steg) hvordan TCPs «classic» metningskontroll utvikler cwnd over tid: start med cwnd = 1 MSS, ssthresh = 16 MSS. Vis hva som skjer ved (i) overgangen til congestion avoidance, og (ii) en triple duplicate ACK som inntreffer når cwnd = 24 MSS (TCP Reno). (6p)

b) Hva er forskjellen i atferd mellom TCP Tahoe og TCP Reno ved triple duplicate ACK? (3p)

c) Hvorfor reduserer TCP sendraten ved et timeout-tap, og hvorfor er dette i praksis "rettferdig"? (3p)

Vis fasit

a) cwnd-utvikling:

  1. Slow start: cwnd dobles per RTT (1 → 2 → 4 → 8 → 16). Etter 4 RTT-er når cwnd ssthresh = 16 MSS.
  2. Overgang til congestion avoidance: Vekst går fra eksponentiell til lineær — cwnd øker med 1 MSS per RTT (16 → 17 → 18 → … → 24).
  3. Triple duplicate ACK ved cwnd = 24 (TCP Reno — fast recovery):
    • ssthresh settes til cwnd / 2 = 12 MSS
    • cwnd settes til ssthresh = 12 MSS (multiplicative decrease)
    • Senderen fortsetter i congestion avoidance (lineær vekst) fra cwnd = 12 MSS

Ved et timeout i stedet for triple duplicate ACK ville cwnd vært satt til 1 MSS og slow start startet på nytt.

b) TCP Tahoe vs. Reno ved triple duplicate ACK:

TahoeReno
ssthreshcwnd / 2cwnd / 2
cwnd settes til1 MSS (slow start fra start)ssthresh (fast recovery / fast retransmit)
ResultatKonservativ — full slow startMindre dramatisk — fortsetter i congestion avoidance

Tanken bak Reno: triple duplicate ACK betyr at noen pakker fortsatt kommer frem (mottakeren genererer ACK-er), så nettverket er ikke totalt overbelastet — full slow start er overdrevent.

c) Reduksjon ved timeout og rettferdighet:

Et timeout indikerer alvorlig metning (pakkene kommer ikke frem). TCP «backer av» kraftig — cwnd settes til 1 og slow start startes — for å gi nettverket tid til å tømmes.

Rettferdighet kommer av AIMD (Additive Increase, Multiplicative Decrease): alle TCP-flows som deler en flaskehals, øker cwnd lineært ved suksess og halverer ved tap. Over tid konvergerer flowsene mot lik andel av kapasiteten — uavhengig av når de startet.

Pensum: Kap. 3 — TCP metningskontroll, AIMD, fast retransmit/recovery

Oppgave 3 15 poeng Kap. 4 · 5

Du er nettverksansvarlig for et lite selskap og har fått tildelt blokken 10.50.0.0/22. Du skal dele den i 4 like store subnett for fire avdelinger.

a) Hva er prefikslengden for hvert nytt subnett, og hvor mange adresser totalt får hvert subnett? (3p)

b) List nettverksadressen, første brukbare adresse, siste brukbare adresse og broadcast-adressen for alle 4 subnettene. (6p)

c) En ruter har følgende forwarding-tabell (basert på longest prefix match):
10.50.0.0/24 → port 1
10.50.0.0/22 → port 2
10.50.2.0/23 → port 3
0.0.0.0/0 → port 4 (default)
Hvilken port brukes for destinasjonsadressene under? Begrunn for hver:

  • 10.50.0.55
  • 10.50.2.200
  • 10.50.3.10
  • 192.168.1.1

(6p)

Vis fasit

a) Prefikslengde og størrelse:

4 subnett krever 22 = 4 → 2 ekstra bits. Ny prefikslengde: /22 + 2 = /24

Hvert subnett har 232−24 = 28 = 256 adresser (hvorav 254 er brukbare verter, etter at nettverks- og broadcast-adresse er reservert).

b) Subnetter:

/22 dekker områder med tredje oktett 0–3 (siden 22 = 16 + 6 betyr de første 6 bits av tredje oktett er fastlåst → variasjon i de siste 2 bits, som gir 0, 1, 2, 3).

SubnettNettverkFørste brukbarSiste brukbarBroadcast
110.50.0.0/2410.50.0.110.50.0.25410.50.0.255
210.50.1.0/2410.50.1.110.50.1.25410.50.1.255
310.50.2.0/2410.50.2.110.50.2.25410.50.2.255
410.50.3.0/2410.50.3.110.50.3.25410.50.3.255

c) Longest prefix match-oppslag:

  • 10.50.0.55 — matcher 10.50.0.0/24 (lengste prefiks: 24 bits) og også 10.50.0.0/22 (22 bits). Lengst vinner → port 1.
  • 10.50.2.200 — matcher 10.50.0.0/22 (22) og 10.50.2.0/23 (23). Lengst → port 3.
  • 10.50.3.10 — matcher 10.50.0.0/22 (22) og 10.50.2.0/23 (23, fordi /23 dekker 10.50.2.0–10.50.3.255). Lengst → port 3.
  • 192.168.1.1 — matcher kun 0.0.0.0/0port 4 (default).

Pensum: Kap. 4 — Subnetting, longest prefix matching

Oppgave 4 10 poeng Kap. 6 · 7

a) Sammenlign Ethernet (kablet) og 802.11 (WiFi) i lenkelaget. Diskuter medium access-mekanismer, behov for ACK på lenkelaget og rammeformat. Bruk gjerne tabell. (6p)

b) Forklar fenomenet skjult terminal i et WiFi-nett. Hvordan kan RTS/CTS bidra til å løse problemet? (4p)

Vis fasit

a) Sammenligning Ethernet vs. 802.11:

Ethernet (802.3)WiFi (802.11)
Medium accessCSMA/CD — lytt før send, oppdag kollisjon, jam og backoffCSMA/CA — lytt før send, vent random backoff selv ved ledig medium, ingen kollisjonsdeteksjon under sending
ACK på L2Nei — kollisjon detekteres direkteJa — mottakeren sender ACK etter SIFS; mangler ACK ⇒ retransmisjon
RammeformatPreamble + dest-MAC + src-MAC + EtherType + payload + FCSMer kompleks — frame control, durasjon, opptil fire MAC-adresser, sekvensnummer, payload, FCS
Halvdupleks/fullduplexModerne svitsjet Ethernet er fullduplex (ingen kollisjoner)Halvdupleks per kanal
MediepålitelighetLav feilrate (kobber/fiber)Høy — interferens, fading, hindringer

Hvorfor ACK på L2 i WiFi: feilrate er mye høyere på radiomediet, og det er ineffektivt å la transportlaget retransmittere etter timeout (sekunder) når lenkelaget kan rette opp innen millisekunder.

b) Skjult terminal og RTS/CTS:

Skjult terminal-problemet oppstår når to stasjoner A og C er utenfor hverandres rekkevidde, men begge er innenfor rekkevidden til samme aksesspunkt B. Når A sender til B, hører ikke C noe og oppfatter mediet som ledig; C kan dermed begynne å sende samtidig — pakkene kolliderer hos B. Verken A eller C oppdager direkte at de "kolliderer", siden CSMA/CA ikke gjør collision detection.

RTS/CTS-løsning:

  1. A sender en kort RTS-ramme til B med ønsket sendetid.
  2. B svarer med en CTS-ramme som inneholder reservasjonstiden.
  3. CTS-en høres av alle stasjoner innenfor B's rekkevidde — inkludert C, selv om C ikke hørte RTS-en.
  4. Alle som hører CTS, holder seg stille i den annonserte tiden (NAV — Network Allocation Vector).

Slik unngås kollisjoner forårsaket av skjulte terminaler. RTS/CTS er valgfritt og brukes typisk kun for store rammer (overhead på små rammer er for høyt).

Pensum: Kap. 6 — Ethernet · Kap. 7 — 802.11, skjult terminal, RTS/CTS

Oppgave 5 13 poeng Kap. 2 · 8 · 9

a) Beskriv stegene i en TLS-handshake (forenklet, med RSA- eller DH-basert nøkkelutveksling — ikke detaljert kryptografi). Hva oppnås av hvert steg? (5p)

b) Hvorfor brukes TLS sammen med HTTP (dvs. HTTPS) — hva gir TLS som ren HTTP ikke gir? Nevn tre konkrete sikkerhetsegenskaper. (3p)

c) Et CDN (Content Delivery Network) bruker geografisk distribuerte servere for å levere innhold som video og bilder. Forklar to måter CDN-er reduserer ende-til-ende-forsinkelse for brukeren. (3p)

d) Hvordan samspiller DASH og CDN i praksis ved videostreaming? (2p)

Vis fasit

a) TLS-handshake (forenklet):

  1. ClientHello: Klienten sender støttede TLS-versjoner, cipher suites og en tilfeldig client nonce.
  2. ServerHello + sertifikat: Serveren velger cipher suite, sender sin egen nonce og sender et X.509-sertifikat med sin offentlige nøkkel.
  3. Klient verifiserer sertifikatet: ved hjelp av en kjent CA-rotnøkkel — autentiserer serveren.
  4. Premaster-utveksling: Klienten genererer et "premaster secret" og sender det kryptert med serverens offentlige nøkkel (RSA-handshake), eller partene kjører en Diffie–Hellman-utveksling for å opprette et delt premaster secret.
  5. Avledning av sesjonsnøkler: Begge partene utleder symmetriske krypterings-/MAC-nøkler fra premaster + nonces ved en KDF.
  6. Finished-meldinger: Begge sender en MAC over alle tidligere handshake-meldinger — bekrefter at ingen har manipulert handshaken.

Etter dette krypteres all videre kommunikasjon med de symmetriske sesjonsnøklene — som er mye raskere enn asymmetrisk kryptografi.

b) Sikkerhetsegenskaper TLS gir over HTTP:

  1. Konfidensialitet — payload krypteres så mellomledd ikke kan lese innholdet.
  2. Integritet — MAC-sjekk avslører enhver modifikasjon underveis.
  3. Autentisering av server (og evt. klient) — sertifikatkjeden gir kryptografisk bevis på identitet.

c) Hvordan CDN reduserer forsinkelse:

  1. Geografisk nærhet: Innhold cacheres på CDN-noder nær brukeren, så fysisk avstand og dermed propagasjonsforsinkelse reduseres.
  2. Avlasting av origin-server og bedre lokal kapasitet: CDN-nodene har høy kapasitet, så flaskehals fjernes; samtidig avlastes opprinnelses-serveren — ingen lange RTT-er over kontinenter for hvert objekt.
  3. (Andre gyldige svar: TCP-slow-start "starter på nytt" på en geografisk nærmere node og får raskere oppstart; bedre inter-domain ruting via CDN-overlay.)

d) DASH + CDN:

DASH-chunker er statiske HTTP-objekter — de cacheres godt på CDN-noder. Når en bruker spiller av en video, hentes hver chunk fra nærmeste CDN-node (rask). Klienten kan adaptivt velge bitrate basert på målt kapasitet til den noden, og selv om mange seere ser samme video samtidig, treffer mesteparten av forespørslene CDN-cachen i stedet for opprinnelses-serveren.

Pensum: Kap. 8 — TLS · Kap. 9 — DASH og CDN