Øvingseksamen · TTM4100

Øvingseksamen 3

Del I: 14 flervalgsoppgaver (42 poeng). Del II: 5 åpne oppgaver (58 poeng). Totalt 100 poeng. Settet vektlegger pålitelig dataoverføring, DNS-detaljer, distance-vector-ruting og digitale signaturer.

Temaer i dette settet
  • Pakke- vs. linjesvitsjing, propagasjonstid (kap. 1)
  • DNS-recordtyper, web-cache, RTT for HTTP (kap. 2)
  • UDP-checksum, Go-Back-N og Selective Repeat (kap. 3)
  • DHCP, IP-fragmentering (kap. 4)
  • Distance-vector og ICMP traceroute (kap. 5)
  • Svitsj vs. ruter, MAC-adresser (kap. 6)
  • Trådløse signalproblemer (kap. 7)
  • Digitale signaturer, hash, sikker e-post (kap. 8)
  • VoIP — jitter og playout-buffer (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

En lyssignal beveger seg gjennom en fiberoptisk kabel med 2 × 108 m/s. Hva er propagasjonsforsinkelsen for en pakke som krysser en 2 000 km lang fiber?

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

Formel: dprop = d / s = 2 000 × 103 m / 2 × 108 m/s = 10−2 s = 10 ms

Propagasjonsforsinkelse avhenger kun av distansen og signalhastigheten i mediet — ikke av pakkestørrelse eller linkkapasitet. Dette er en viktig forskjell fra transmisjonsforsinkelse.

Pensum: Kap. 1 — Propagasjonsforsinkelse

Spørsmål 2 3 poeng Kap. 1

Hva er den primære motivasjonen for å organisere kommunikasjon i lag (layered architecture) som i Internett-protokollstakken?

  • A Den krever mindre minne i nettverkskortet
  • B Modularitet — hvert lag kan endres uavhengig så lenge grensesnittet til naboen er det samme
  • C Det reduserer faktiske transmisjonsforsinkelser i fysiske medier
  • D Den krever ingen pakkehoder
Vis fasit
Riktig svar: B

Lagdeling gir to hovedfordeler: modularitet (hvert lag kan utvikles, oppdateres eller byttes ut uavhengig av nabolagene, så lenge tjenestegrensesnittet er konstant) og abstraksjon (et lag trenger ikke vite detaljer om implementasjonen i lagene over og under).

Faktisk gir lagdeling overhead — hver header tar ekstra bytes — men gevinsten i utviklingsenkelhet og skalerbarhet er stor. Internett kunne ikke evolvert uten denne modulariteten (vurder f.eks. overgangen fra 802.3-koaks til 802.11 — applikasjoner trenger ikke endres).

Pensum: Kap. 1 — Lagdelt arkitektur

Spørsmål 3 3 poeng Kap. 2

Hvilken DNS-recordtype brukes til å peke et domenenavn til mailservere?

  • A A
  • B CNAME
  • C NS
  • D MX
Vis fasit
Riktig svar: D — MX

MX-records (Mail eXchange) brukes til å peke et domene til e-postservere som mottar e-post for det domenet, sammen med en prioritetsverdi.

RecordFunksjon
ADomenenavn → IPv4-adresse
AAAADomenenavn → IPv6-adresse
CNAMEDomenenavn → annet domenenavn (alias)
NSDomenenavn → autoritativ navneserver
MXDomenenavn → mailserver med prioritet

Pensum: Kap. 2 — DNS resource records

Spørsmål 4 3 poeng Kap. 2

En organisasjon plasserer en web-cache (proxy) inne på sitt eget LAN. Hvilken påstand er ikke en korrekt fordel ved dette?

  • A Bruker opplever raskere svartid på populære sider
  • B Reduserer trafikk på den eksterne tilgangslinken
  • C Reduserer belastning på den opprinnelige webserveren
  • D Garanterer at brukerne alltid får siste versjon av en side
Vis fasit
Riktig svar: D — denne påstanden er feil

En web-cache kan tvert imot servere foreldede versjoner av en side hvis ressursen har blitt oppdatert siden cachen lagret den. For å redusere risikoen for foreldede svar, bruker HTTP conditional GET (med If-Modified-Since): cachen spør serveren "har dette endret seg siden tidspunkt T?". Hvis ikke, svarer serveren 304 Not Modified uten å sende selve dataen. Caching-headere som Cache-Control: max-age styrer hvor lenge cachen kan beholde et svar uten å sjekke.

A, B og C er alle reelle fordeler.

Pensum: Kap. 2 — Web-cache og conditional GET

Spørsmål 5 3 poeng Kap. 3

I Go-Back-N (GBN): hvis vinduet er N = 4 og pakke 2 går tapt mens pakke 3, 4 og 5 kommer frem korrekt, hva sender mottakeren?

  • A ACK 3, ACK 4, ACK 5 — pakkene buffres som i Selective Repeat
  • B ACK 1 (kumulativ) for hver av de mottatte ut-av-rekkefølge-pakkene
  • C NAK 2 og venter på retransmisjon
  • D Forkaster ut-av-rekkefølge-pakkene uten å sende noe
Vis fasit
Riktig svar: B

I GBN kvitterer mottakeren bare den siste i-rekkefølge-pakken. Når pakke 2 går tapt og pakke 3, 4, 5 ankommer ut av rekkefølge, forkaster mottakeren disse og resender en kumulativ ACK for sist mottatte i-rekkefølge-pakke (her: ACK 1, dvs. "alt opp til og med 1 er mottatt"). Senderen oppdager etter timeout for pakke 2 at noe er galt og retransmitterer alle pakkene fra og med pakke 2 — derav navnet "Go-Back-N".

Dette er enklere å implementere enn Selective Repeat, men kan være ineffektivt fordi pakker som kom frem må sendes på nytt.

Pensum: Kap. 3 — Go-Back-N

Spørsmål 6 3 poeng Kap. 3

UDP har et checksum-felt. Hva skjer hvis mottakeren oppdager at checksum-en er feil?

  • A Mottakeren retransmitterer datagrammet automatisk
  • B Mottakeren forkaster datagrammet stille (silent discard)
  • C Mottakeren reparerer feilen ved hjelp av Hamming-koden
  • D Mottakeren sender en NAK til avsender
Vis fasit
Riktig svar: B

UDP er en upålitelig (best-effort) transportprotokoll. Hvis checksum ikke stemmer, kastes datagrammet uten varsel — ingen retransmisjon, ingen NAK. Det er opp til applikasjonslaget å oppdage og håndtere tap (eller akseptere det).

Dette skiller UDP klart fra TCP, som ville forsøkt å reparere problemet via retransmisjon.

(Merk: UDPs checksum brukes til deteksjon av feil, ikke korreksjon. Den dekker pseudoheader + UDP-header + payload.)

Pensum: Kap. 3 — UDP og checksum

Spørsmål 7 3 poeng Kap. 4

Hvilken DHCP-melding sendes først av en klient som akkurat har koblet seg til et nytt nettverk?

  • A DHCP Offer
  • B DHCP Request
  • C DHCP Discover
  • D DHCP ACK
Vis fasit
Riktig svar: C — DHCP Discover

DHCP-prosessen har fire steg (DORA):

  1. Discover — klient sender broadcast: "Finnes det en DHCP-server her?"
  2. Offer — DHCP-server svarer med en IP-adresse og parametre
  3. Request — klient bekrefter ønsket tilbud (broadcast så andre servere vet at deres tilbud kan slippes)
  4. ACK — server bekrefter tildelingen

Klienten har ingen IP ennå og må derfor bruke broadcast (255.255.255.255) som destinasjon — vanlig unicast-adressering ville kreve en gateway å sende gjennom.

Pensum: Kap. 4 — DHCP

Spørsmål 8 3 poeng Kap. 4

En IPv4-pakke på 4 000 byte (inkludert IP-header på 20 byte) skal sendes over en link med MTU = 1 500 byte. Hvor mange fragmenter blir den delt opp i?

  • A 2
  • B 3
  • C 4
  • D 5
Vis fasit
Riktig svar: B — 3 fragmenter

MTU = 1500 byte er maksimum total pakkestørrelse, inkludert IP-header på 20 byte. Hver fragment kan da inneholde maksimalt 1500 − 20 = 1480 byte med data fra det opprinnelige IP-payloadet. Dessuten må fragment-payload være delelig på 8 (ettersom Fragment Offset-feltet teller i 8-byte-enheter), så maksimum payload per fragment er 1480 byte (delelig på 8 ✓).

Opprinnelig payload: 4000 − 20 = 3980 byte. Trengs 3980 / 1480 = 2,69 → 3 fragmenter.

FragmentPayloadOffsetMF-flagg
11480 byte01 (mer kommer)
21480 byte185 (1480/8)1 (mer kommer)
31020 byte3700 (siste)

Pensum: Kap. 4 — IPv4-fragmentering

Spørsmål 9 3 poeng Kap. 5

I en distance-vector-rutingalgoritme: hva er årsaken til "count-to-infinity"-problemet?

  • A Antallet rutere i nettet overgår en hard grense satt av Bellman-Ford-algoritmen
  • B Når en link bryter, kan rutere annonsere utdaterte lave kostnader til hverandre, og kostnaden vokser sakte uten konvergens
  • C Algoritmen krever at hver ruter holder en uendelig stor tabell over alle mulige destinasjoner
  • D Distance-vector-meldinger fraktes over TCP, og overflyt i sekvensnumrene gir uendelig venting
Vis fasit
Riktig svar: B

Eksempel: A — B — C, med kostnad 1 mellom A–B og 1 mellom B–C. Hvis link A–B bryter: B oppdager dette, men B har fortsatt en gammel oppføring fra C som sa "jeg kan nå A med kostnad 2 (via B)". B oppdaterer derfor til "jeg kan nå A med kostnad 3 via C". Når B annonserer til C, oppdaterer C til 4. Slik vandrer kostnaden oppover én linje av gangen — "counting to infinity" — istedenfor å konvergere raskt.

Løsninger: poisoned reverse (annonser ∞ tilbake til naboen som ruter via deg) og forskjellige hold-down/split-horizon-strategier.

Pensum: Kap. 5 — Distance-vector og count-to-infinity

Spørsmål 10 3 poeng Kap. 5

Verktøyet traceroute bruker IP TTL-feltet sammen med ICMP. Hva skjer når en ruter mottar en pakke med TTL = 1 (og som ikke er adressert til ruteren selv)?

  • A Ruteren videresender pakken normalt — den har ingen spesiell behandling
  • B Ruteren forkaster pakken og sender en ICMP "Time Exceeded"-melding tilbake til avsender
  • C Ruteren krypterer pakken før videresending
  • D Ruteren broadcaster pakken til alle naboer
Vis fasit
Riktig svar: B

Hver ruter dekrementerer TTL med 1. Når TTL går fra 1 til 0, forkastes pakken og ruteren sender en ICMP "Time Exceeded"-melding (type 11) tilbake til opprinnelig avsender. Dette beskytter mot uendelige rutings-løkker.

traceroute utnytter dette ved å sende en sekvens av prøvepakker med TTL = 1, deretter 2, deretter 3 osv. Den første ruteren returnerer Time Exceeded for TTL = 1, den andre for TTL = 2, og så videre. Dermed kartlegges ruten hop for hop.

Pensum: Kap. 5 — ICMP og traceroute

Spørsmål 11 3 poeng Kap. 6

Hva er den viktigste forskjellen mellom en svitsj (Layer 2) og en ruter (Layer 3)?

  • A Svitsjer er alltid implementert i hardware, mens rutere alltid er ren software på en CPU
  • B Svitsjer videresender på MAC-adresser innenfor ett LAN; rutere videresender på IP mellom subnett
  • C Svitsjer dropper all broadcast-trafikk for å hindre løkker, mens rutere slipper den gjennom
  • D Rutere bruker ARP for adresseoppslag, mens svitsjer bruker DNS for det samme formålet
Vis fasit
Riktig svar: B

En svitsj opererer i lenkelaget (Layer 2). Den ser kun MAC-adresser og videresender rammer innenfor ett broadcast-domene (LAN/subnett). En svitsj endrer ikke pakke-headere — kun rammen for fysisk overføring.

En ruter opererer i nettverkslaget (Layer 3). Den ser IP-adresser, gjør routing-beslutninger basert på forwarding-tabellen, dekrementerer TTL og bytter ut MAC-headeren for neste link.

Rutere segmenterer broadcast-domener — broadcasts (f.eks. ARP) krysser ikke en ruter med mindre konfigurert (DHCP-relay).

Pensum: Kap. 6 — Svitsj vs. ruter

Spørsmål 12 3 poeng Kap. 7

Hvilken påstand om signalstyrke i et trådløst 802.11-nettverk er riktig?

  • A Signalstyrken faller eksakt lineært med avstanden fra aksesspunktet, uavhengig av miljø
  • B Signalstyrken faller minst med kvadratet av avstanden i fritt rom, og raskere i bygninger
  • C Signalstyrken er praktisk talt konstant så lenge stasjonen er innenfor sitt eget BSS-område
  • D Signalstyrken faller vesentlig raskere ved lavere frekvenser enn ved høyere frekvenser
Vis fasit
Riktig svar: B

Radiosignaler avtar med minst kvadratet av avstanden i fritt rom (free-space path loss ∝ 1/d²). Inne i bygninger er fall-off ofte enda raskere på grunn av vegger, multipath fading og refleksjoner — i typiske kontormiljøer regnes ofte med 1/d3 eller mer.

Dessuten varierer signalstyrken med tiden på grunn av interferens fra andre 2,4/5 GHz-kilder (mikrobølger, Bluetooth, andre WiFi-nett). Dette er et grunnleggende skille fra kabelnettverk og er årsaken til at trådløse linker har høyere bitfeilrate og krever lenkelags-ACK.

Pensum: Kap. 7 — Trådløse linker og signaltap

Spørsmål 13 3 poeng Kap. 8

For å lage en digital signatur av en lang melding kombineres en hashfunksjon med offentlig nøkkel-kryptografi. Hva er den korrekte prosessen for at Alice skal signere en melding M til Bob?

  • A Alice krypterer hele M med Bobs offentlige nøkkel; det krypterte resultatet er signaturen
  • B Alice krypterer H(M) med sin private nøkkel; signaturen sendes sammen med M til Bob
  • C Alice krypterer H(M) med Bobs offentlige nøkkel og sender den krypterte hashen som signatur
  • D Alice avtaler en symmetrisk nøkkel med Bob og bruker MAC av M som digital signatur
Vis fasit
Riktig svar: B

En digital signatur lages slik:

  1. Alice beregner et meldingsdigest h = H(M) med en kryptografisk hashfunksjon (f.eks. SHA-256). Dette gir en kort, fast lengde uavhengig av M.
  2. Alice krypterer h med sin private nøkkel: signatur = KA(h).
  3. Alice sender (M, signatur) til Bob.
  4. Bob beregner H(M) selv, dekrypterer signaturen med Alices offentlige nøkkel og sjekker at de to verdiene matcher.

Dette gir både integritet (manipulasjon endrer hash-verdien) og autentisering (kun Alice har den private nøkkelen). Hashfunksjonen er nødvendig fordi offentlig nøkkel-operasjoner er trege på lange meldinger.

Pensum: Kap. 8 — Digitale signaturer og hash

Spørsmål 14 3 poeng Kap. 9

Hva er hovedformålet med en playout-buffer hos mottakeren i en VoIP- eller streaming-applikasjon?

  • A Å dekryptere de mottatte lydpakkene før avspilling og verifisere integriteten deres
  • B Å kompensere for jitter ved å holde pakkene tilbake en kort tid før de spilles av
  • C Å øke totalt overføringsvolum og dermed lyd- eller bildekvaliteten hos mottakeren
  • D Å redusere ende-til-ende RTT mellom sender og mottaker for raskere respons
Vis fasit
Riktig svar: B

Jitter er variasjonen i nettverksforsinkelse mellom påfølgende pakker — noen pakker kommer raskere, andre tregere, fordi køforsinkelsen varierer. For sanntids lyd/video må pakkene spilles av med jevn rytme.

Playout-bufferen utsetter avspillingen med en liten konstant forsinkelse (typisk 50–400 ms for VoIP). Pakkene som ankommer "for tidlig" venter i bufferen; pakker som kommer "for sent" (etter playout-tidspunktet) anses som tapt og forkastes.

Trade-off: stor buffer ⇒ mer robust mot jitter, men mer ende-til-ende forsinkelse ⇒ vanskeligere samtale. Adaptive playout-bufferalgoritmer justerer størrelsen dynamisk basert på målt jitter.

Pensum: Kap. 9 — Playout-buffer og jitter i VoIP

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 klient vil hente en HTML-side med ett innebygget bilde fra en webserver. RTT mellom klient og server = 100 ms. HTML-filen og bildet er begge så små at transmisjonsforsinkelse er neglisjerbar. DNS-oppslag er allerede gjort.

a) Beregn total tid fra klienten initierer forespørselen til hele siden er nede, dersom non-persistent HTTP uten parallell forbindelser brukes. (4p)

b) Beregn samme tid med non-persistent HTTP, men 2 parallelle TCP-forbindelser. (3p)

c) Beregn tiden med persistent HTTP med pipelining. (3p)

Vis fasit

Konvensjon: Vi regner RTT-er fra klientens klokke. TCP-handshake bruker 1 RTT (SYN/SYN-ACK før klienten kan sende GET). HTTP-request + svar bruker ytterligere 1 RTT.

a) Non-persistent uten parallell:

To objekter (HTML + bilde), hvert med eget TCP-handshake og GET:

  • HTML: 1 RTT (handshake) + 1 RTT (GET/respons) = 2 RTT
  • Bilde: 1 RTT (handshake) + 1 RTT (GET/respons) = 2 RTT

Total: 4 RTT = 4 × 100 ms = 400 ms

b) Non-persistent, 2 parallelle TCP:

HTML hentes først (klienten må parse den for å vite om bildet): 1 RTT handshake + 1 RTT GET = 2 RTT. Deretter åpnes 2 TCP-er parallelt; men det er bare ett bilde, så:

  • HTML: 2 RTT
  • Bilde: 2 RTT (1 handshake + 1 GET)

Total: 400 ms (parallellitet hjelper bare når flere objekter henvises). Fordelen ville vært synlig med 5 bilder (samme tid som 3 sekvensielle objekter pga. parallellitet).

c) Persistent HTTP med pipelining:

Én TCP-handshake (1 RTT). Deretter sendes GET for HTML (svar etter 1 RTT). Klienten parser HTML og sender umiddelbart GET for bildet på samme forbindelse — bildet kommer 1 RTT senere. (Med ekte pipelining kunne klienten sendt begge GET-er samtidig dersom bildets URL var kjent på forhånd, men her må klienten først motta HTML.)

Total: 1 RTT (handshake) + 1 RTT (HTML) + 1 RTT (bilde) = 3 RTT = 300 ms

Pensum: Kap. 2 — HTTP RTT-analyse

Oppgave 2 12 poeng Kap. 3

a) Forklar Stop-and-Wait, Go-Back-N (GBN) og Selective Repeat (SR) som mekanismer for pålitelig dataoverføring. Hvilke ACK-strategier og buffring krever hver av dem? (6p)

b) En sender bruker Stop-and-Wait med pakkestørrelse L = 8 000 bits, linkrate R = 1 Mbps og RTT = 30 ms. Beregn senderutnyttelse (utilization). Hvorfor er Stop-and-Wait dårlig egnet for høy-RTT-lenker? (4p)

c) Hvilken protokoll (GBN eller SR) er mest egnet i et nettverk med høy RTT og høy pakketapsrate, og hvorfor? (2p)

Vis fasit

a) Sammenligning:

Stop-and-WaitGo-Back-NSelective Repeat
Vindu (sender)1N (alle pakker innen vinduet kan være ute)N
Vindu (mottaker)11 (forventer kun neste i-rekkefølge)N (buffer ut-av-rekkefølge-pakker)
ACKPer pakkeKumulativ — siste i-rekkefølgeSelektiv — én per mottatt pakke
Ved tapTimeout → resendTimeout → resend hele vinduet fra tapetTimeout → resend kun den manglende pakken
KompleksitetLavestMiddelsHøyest (mer buffring og logikk)

b) Stop-and-Wait utnyttelse:

Transmisjonstid: ttrans = L/R = 8 000 / 106 = 8 ms

Total tid for én pakke + ACK: ttrans + RTT = 8 + 30 = 38 ms

Utnyttelse U = ttrans / (ttrans + RTT) = 8 / 38 ≈ 0,21 (21 %)

Senderen er i tomgang i 79 % av tiden — venter på ACK. På høy-RTT-lenker (f.eks. satellitter, transatlantiske linker) blir utnyttelsen enda dårligere, derfor brukes pipelined protokoller med vindu N >> 1.

c) GBN vs. SR ved høy RTT og høy tapsrate:

SR er bedre. Ved høy RTT er hver retransmisjon dyr (krever en RTT til). GBN må retransmittere alle pakker fra den tapte og fremover, selv pakker som allerede har kommet frem — det forsterker problemet ved høy tapsrate. SR retransmitterer kun de tapte pakkene og buffer mottakerne kan beholde fremtidige pakker som er kommet frem. Trade-off: SR krever mer minne og mer kompleks logikk hos mottakeren.

Pensum: Kap. 3 — Pålitelig dataoverføring, Stop-and-Wait/GBN/SR

Oppgave 3 10 poeng Kap. 5

a) Forklar steg for steg hvordan traceroute finner ruten fra en klient til en gitt destinasjon. Hvilke pakketyper sendes ut og hvilke tas imot? (5p)

b) Hvorfor sender traceroute typisk tre prøvepakker per TTL-verdi, og ikke bare én? (2p)

c) En traceroute fra norsk klient til USA viser plutselig ett "* * *"-resultat på ett av hopene. Nevn to mulige årsaker. (3p)

Vis fasit

a) traceroute-prosess:

  1. Klienten sender en pakke (UDP til en uutilgjengelig port — eller ICMP Echo Request avhengig av implementasjon) med TTL = 1 mot destinasjonen.
  2. Den første ruteren langs ruten dekrementerer TTL til 0, forkaster pakken og returnerer en ICMP Time Exceeded-melding (type 11). Klienten ser kilde-IP til denne meldingen — det er ruterens IP. RTT for hopet måles.
  3. Klienten sender en ny pakke med TTL = 2. Andre ruter returnerer Time Exceeded.
  4. Prosessen gjentas til pakken endelig når destinasjonen. Når destinasjonen mottar pakken på en uutilgjengelig UDP-port, svarer den med ICMP Destination Unreachable: Port Unreachable. Det er signalet for at sluttdestinasjonen er nådd, og klienten avslutter.

b) Hvorfor tre prøver per TTL?

Tre prøver gir robusthet mot enkeltpakketap og lar verktøyet vise variasjon i RTT for det aktuelle hopet. Hvis én av tre svarer, har vi fortsatt informasjon om hvem ruteren er.

c) Mulige årsaker til "* * *":

  1. Ruteren er konfigurert til ikke å svare med ICMP (rate-limiting eller policy — vanlig for sikkerhetspolicy/brannmurer).
  2. Pakketap i den aktuelle hopet på det øyeblikket — alle 3 prøver gikk tapt.
  3. (Andre gyldige svar: ruteren er overbelastet og svarer langsommere enn timeoutgrensen; brannmur dropper enten utgående eller innkommende ICMP.)

Pensum: Kap. 5 — ICMP og traceroute

Oppgave 4 14 poeng Kap. 4 · 6

Du har blokken 192.168.40.0/24 og trenger 4 subnett med ulik størrelse: 60 verter, 28 verter, 12 verter og 5 verter (VLSM — Variable Length Subnet Masking).

a) For hvert subnett: hva er minste prefikslengde som passer? (3p)

b) Foreta en tildeling — start med det største subnettet og fortsett nedover. Oppgi nettverksadresse, broadcast-adresse og brukbart område for hvert. (8p)

c) En vert i subnett 1 (med 60 verter) ønsker å sende en IP-pakke til en vert i subnett 3 (med 12 verter). Forklar kort hvilke lag-2-adresser (MAC) og lag-3-adresser (IP) som er i pakken/rammen idet den forlater senderen og idet den ankommer mottakeren. (3p)

Vis fasit

a) Minste prefikslengde:

Krav verterTrenger 2n−2 ≥ verterHostbit nPrefiksAdresser totalt
6026−2 = 62 ✓6/2664
2825−2 = 30 ✓5/2732
1224−2 = 14 ✓4/2816
523−2 = 6 ✓3/298

b) Tildeling fra 192.168.40.0/24, største først:

#BehovSubnettBrukbartBroadcast
160192.168.40.0/26.40.1 – .40.62192.168.40.63
228192.168.40.64/27.40.65 – .40.94192.168.40.95
312192.168.40.96/28.40.97 – .40.110192.168.40.111
45192.168.40.112/29.40.113 – .40.118192.168.40.119

Resterende ledig adresseplass: 192.168.40.120/29 til 192.168.40.255.

c) Adresser i pakken/rammen:

Subnett 1 og subnett 3 er forskjellige — pakken må gjennom (minst) én ruter. Anta én default gateway G som har et interface i hvert subnett. Senderens IP = S, mottakerens IP = D.

StedIP srcIP dstMAC srcMAC dst
Forlater senderSDMACSMACG,subnett1
Ankommer mottakerSDMACG,subnett3MACD

IP-adressene (S og D) endres ikke fra ende til ende. MAC-adressene byttes ut for hver lenke — i lenkelaget er det neste nodes MAC som teller. Ruteren bruker ARP for å finne MAC-en i hver retning.

Pensum: Kap. 4 — VLSM · Kap. 6 — MAC vs. IP, ARP

Oppgave 5 12 poeng Kap. 8

a) Alice vil sende en e-post til Bob slik at: (i) bare Bob kan lese den, (ii) Bob er sikker på at det faktisk er Alice som har sendt den, (iii) ingen kan ha endret innholdet underveis. Hvilke kryptografiske primitiver må kombineres, og i hvilken rekkefølge? Beskriv hva Alice gjør og hva Bob gjør. (7p)

b) Hvorfor brukes en symmetrisk sesjonsnøkkel for selve meldingsteksten i stedet for å kryptere alt med Bobs offentlige nøkkel? (2p)

c) Forklar hva en kryptografisk hashfunksjon må oppfylle (nevn to egenskaper) for å være egnet til digitale signaturer. (3p)

Vis fasit

a) Sikker e-post (PGP-aktig):

Alice gjør:

  1. Beregner H(M) av meldingen M, og signerer: signatur = KA(H(M)) — dette gir autentisering og integritet.
  2. Lager en symmetrisk sesjonsnøkkel KS (tilfeldig, kun for denne meldingen).
  3. Krypterer (M, signatur) med KS — gir konfidensialitet.
  4. Krypterer KS med Bobs offentlige nøkkel: KB+(KS) — slik at bare Bob kan lese den.
  5. Sender begge til Bob: {KS(M, signatur), KB+(KS)}.

Bob gjør:

  1. Dekrypterer KS med sin private nøkkel.
  2. Bruker KS til å dekryptere (M, signatur).
  3. Beregner H(M) og dekrypterer signaturen med Alices offentlige nøkkel — sjekker at de matcher. Match ⇒ meldingen er autentisk og uforandret.

b) Hvorfor symmetrisk for innholdet?

Asymmetrisk kryptografi (RSA, ElGamal, ECC) er flere størrelsesordener tregere enn symmetrisk. For lange meldinger ville det være upraktisk. Hybridtilnærmingen — bruk asymmetrisk til å sikre nøkkeldistribusjonen, deretter symmetrisk for selve dataen — gir både ytelse og sikkerhet.

c) Hashfunksjonens egenskaper:

  1. Kollisjonsresistens — det skal være praktisk umulig å finne to ulike meldinger M ≠ M' med H(M) = H(M'). Hvis ikke, kunne en angriper laget en alternativ melding med samme hash som en lovlig signert melding.
  2. Preimage-resistens — gitt h, skal det være praktisk umulig å finne M slik at H(M) = h. (Også: andre-preimage-resistens — gitt M, skal det være vanskelig å finne M' ≠ M med H(M) = H(M').)
  3. (Andre egenskaper: rask å beregne, stort utgangsrom slik at brute-force er upraktisk.)

Pensum: Kap. 8 — Sikker e-post, hash, digitale signaturer