Kommentarer till tentamen i datakommunikation 021014

Den elektroniska versionen av denna tenta blev stulen (tillsammans med min laptop), men uppgifterna finns nedan, och exempel på hur en tenta ser ut finns här. Läs noggrannt instruktionerna, som lär vara likadana i år.

Nedan finns huvuddragen i lösningarna till uppgifterna. Lösningsskisserna, markerade på detta sätt, är inte fullständiga och skulle inte ge full poäng på tentan!

Kommentarer till uppgifterna och mer eller mindre vanliga missförstånd markeras så här.

Uppgifter

  1. (5p)
    1. Ange vilka fem delar som, enligt Holzmann, ska ingå i en protokollspecifikation.
    2. Beskriv översiktligt de grundläggande delarna av SMTP-protokollet i termer av dessa fem delar. (Betrakta själva epostmeddelandet som en enda enhet.)
    1. Syntax, Semantik/vokabulär, Grammatik, Servicespecifikation, Omgivningsantaganden
    2. Syntax:
      rader av tecken i ASCII avslutade med CRLF
      Vokabulär:
      HELO, MAIL, FROM, RCPT, TO, DATA, QUIT, ``.'', nummer, host, epostadr
      Grammatik:
      HELO host, MAIL FROM epostadr, RCPT TO epostadr, DATA, QUIT, nummer text, ``.''
      Servicespecifikation:
      epostmeddelande förmedlas från en host till en annan; om mottagaren okänd tas meddelandet inte emot
      Omgivningsantaganden:
      underliggande conn-oriented transportprotokoll utan överföringsfel etc; överliggande klientprogram och serverprogram som skapar resp levererar meddelandet.
    Det är alltså inte fråga om hur en bra protokollspec ser ut (inte över- eller underspecificerad etc).
  2. (5p) Beskriv och kontrastera message-switching och packet-switching i ett store-and-forward-nätverk, och ge en generell formel för överföringstiden mellan två noder A och B med N stycken mellanliggande noder, bandbredd R, meddelandestorlek m och paketstorlek p. Förklara formeln med ord, och rita figurer!
    Notera gärna skillnaden vid omsändingar/överföringsfel, och (det under normala omständigheter försumbara) overheadet för paketheaders.
    • Message-switching: (N+1)·(m/R)
    • Packet-switching: m/R + (N·p/R)
  3. (5p) Hur skiljer sig TCP:s fönsterhantering från go-back-n och selective repeat? Beskriv också de tre modellerna översiktligt.
    • Inte ren GBN: skickar bara om aktuellt segment, inte alla o-ackade
    • Inte ren SR: ackumulativ ack
    Att uppkopplingsfasen i TCP bara har ett paket "i luften" samtidigt betyder ju inte att TCP inte har fönsterhantering!
  4. (4p) Givet tillståndsdiagrammet för TCP i figur 1, rita ett tidssekvensdiagram för ett nedkopplingsskede där båda ändar från början befinner sig i tillståndet established, fram tills båda ändsystemen är i tillståndet closed. Ange i vilket tillstånd respektive ändsystemen är i varje steg, och vilka meddelanden som sänds och tas emot. Bortse från timers och förlorade segment, men anta att servern vill fortsätta skicka data efter att klienten initierat nedkopplingen.
    Klienten stänger först, pga kommandot Close från överliggande skikt.
    Sekvensen blir (det är svårt att rita tidsekvensdiagram i HTML):
    Klient Server
    ÖvergångSändÖvergångSänd
    EST->FW1 FIN
    EST->CW ACK
    FW1->FW2 inget
    Nu kan servern skicka data, som klienten ackar
    data
    ACK
    data
    ACK
    CW->LAFIN
    FW2->TW ACK
    LA->CLOSED inget
    Klienten väntar 2·MSL
    TW->CLOSED inget
    En komprimerad variant är
    Klient Server
    ÖvergångSändÖvergångSänd
    EST->FW1 FIN
    EST->CW ACK+data
    FW1->FW2 ACK
    data
    ACK
    CW->LAFIN
    FW2->TW ACK
    LA->CLOSED inget
    Klienten väntar 2·MSL
    TW->CLOSED inget
    Notera att man aldrig skickar en ACK för ett ACK-segment som inte innehåller data! (Vad skulle följden bli?)
    Kom ihåg att notationen FIN/ACK (motsv) betyder att FIN tas emot och att därför ACK sänds.
  5. (5p) Redogör översiktligt för principerna bakom Dijkstras link-state-algoritm och Bellman-Fords distansvektoralgoritm, och jämför algoritmerna vad gäller
    1. meddelandekomplexitet
    2. konvergenshastighet
    3. robusthet
    Se sid 304ff, 316 (2 uppl), 282ff, 294 (1 uppl).
    Notera att DV skickar information till grannarna om minsta kostnaden ändrats, inte bara om kostnaden minskat. Notera också att om kostnaden för en länk ändras i LS, skickas information om den länken till alla, inte alla länkkostnader.
  6. (4p) Beskriv översiktligt nätverksskiktets servicemodell i Internet-protokollstacken respektive i ATM. Ange vad de ger för tjänster, hur de skiljer sig, och deras respektive för- och nackdelar.
    IP:
    skicka ett meddelande ett steg på vägen (datagramservice), ingen explicit congestion-feedback, best-effort, inga garantier. Mer modulärt, mindre krav på länkskikt och nätskikts-noder; avancerade ändsystem
    ATM:
    skicka hela vägen längs reserverad väg (VC), ge congestion-feedback (utom VBR), flera garantinivåer. Enkla ändsystem, RT möjligt, komplicerade nätskikts-noder.
  7. (4p) Redogör för principerna i CSMA/CD-kommunikation. Vilken påverkan har utbredningshastigheten i mediet på prestanda? Rita gärna figur.
    Sid 443ff (2 uppl).
  8. (4p) Beskriv funktionen hos, och skillnaderna mellan, hub, switch och router. I vilka situationer passar de olika lösningarna?
    Sid 466ff. Hub: fysiskt skikt, Switch: länkskikt, Router: nätskikt
  9. (4p)
    1. Hur fungerar ett kryptografiskt public-key-system, principiellt?
    2. Vad är digitala signaturer, och vilka krav kan ställas på dem?
    3. Beskriv grunddragen i hur ett public-key-system kan användas för att skapa digitala signaturer.
    1. alla användare har en publik och en privat nyckel som är varandras inverser, kryptera med den ena och dekryptera med den andra
    2. anger äkthet hos meddelanden, att det inte modifierats och verkligen skickats av rätt avsändare; verifierbara, oförfalskbara och oförnekbara
    3. kryptera en checksumma/hashkod med avsändarens privata nyckel
    Blanda inte ihop autentifiering och digitala signaturer.


© Björn Victor
Senast ändrad: Tue, 11-Nov-2003 18:28 MET
[Valid HTML 4.01!]