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
- (5p)
-
Ange vilka fem delar som, enligt Holzmann, ska ingå i en protokollspecifikation.
-
Beskriv översiktligt de grundläggande delarna av SMTP-protokollet i
termer av dessa fem delar. (Betrakta själva epostmeddelandet som en
enda enhet.)
-
Syntax, Semantik/vokabulär, Grammatik, Servicespecifikation,
Omgivningsantaganden
-
- 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).
- (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)
- (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!
- (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ång | Sänd | Övergång | Sänd |
EST->FW1 | FIN | | |
| | EST->CW | ACK |
FW1->FW2 | inget | | |
Nu kan servern skicka data, som klienten ackar |
| | | data |
| ACK | | |
| | | data |
| ACK | | |
| | CW->LA | FIN |
FW2->TW | ACK | | |
| | LA->CLOSED | inget |
Klienten väntar 2·MSL |
TW->CLOSED | inget | | |
|
En komprimerad variant är
Klient | Server |
Övergång | Sänd | Övergång | Sänd |
EST->FW1 | FIN | | |
| | EST->CW | ACK+data |
FW1->FW2 | ACK | | |
| | | data |
| ACK | | |
| | CW->LA | FIN |
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.
- (5p)
Redogör översiktligt för principerna bakom Dijkstras
link-state-algoritm och Bellman-Fords distansvektoralgoritm,
och jämför algoritmerna vad gäller
- meddelandekomplexitet
- konvergenshastighet
- 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.
- (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.
- (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).
- (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
- (4p)
- Hur fungerar ett kryptografiskt public-key-system, principiellt?
- Vad är digitala signaturer, och vilka krav kan ställas på dem?
- Beskriv grunddragen i hur ett public-key-system kan användas
för att skapa digitala signaturer.
- alla användare har en publik och en privat nyckel som är
varandras inverser, kryptera med den ena och dekryptera med den andra
- anger äkthet hos meddelanden, att det inte modifierats och
verkligen skickats av rätt avsändare; verifierbara, oförfalskbara och
oförnekbara
- kryptera en checksumma/hashkod med avsändarens privata nyckel
Blanda inte ihop autentifiering och digitala signaturer.