Kommentarer till omtentamen i datakommunikation 030110

Tentan 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. (4p)
    1. Vad är ett förbindelse-orienterat (connection-oriented) applikations-protokoll? Hur skiljer det sig från ett icke förbindelseorienterat? (Jämför t.ex. med transport-protokollen i Internet.)
      Det viktiga är att protokollen, precis som TCP, har en uppkopplingsfas där ett gemensamt tillstånd etableras.
      Vilket underliggande transportprotokoll som används är inte viktigt: en förbindelse på applikationsnivå kan åstadkommas även med UDP.
    2. Vilka av applikationsprotokollen SMTP, DNS och HTTP är förbindelseorienterade och vilka är det inte? Förklara ditt svar. Motivera varför de är gjorda på det sättet (så gott du kan fastän du inte utvecklat dem)! (Anta t.ex. att de vore tvärtom: vad skulle det innebära?)
      • Förbindelse: SMTP (och möjligen HTTP med persistenta förbindelser). SMTP icke-förb skulle kunna skicka stora datamängder till felaktiga adresser; med RCPT TO stoppas detta tidigt.
      • Icke: DNS och HTTP. Effektivt för DNS, förb. onödigt för HTTP.
      Bli inte lurade av att HTTP använder TCP - som applikationsprotokoll är det fortfarande inte förbindelseorienterat. (Tänk på protokollet: skicka GET, få svar, koppla ner.) (Med persistenta förbindelser kan det möjligen ses som förbindelseorienterat.)
    Ett par intressanta protokoll är såna för IP-telefoni och "interaktiva dataspel", som typiskt är förbindelseorienterade (lätt att inse), men ändå använder UDP av realtidsskäl.
  2. (3p) Ange minst tre egenskaper hos like-till-like-protokoll (peer-to-peer) som skiljer dem från traditionella protokoll.
    Alla noder ger någon service, inte 1-N-tjänster; bättre skalbarhet och tillgänglighet; dynamisk topologi
  3. (4p) Protokollet rdt3.0 i kursboken, även känt som Alternating-Bit Protocol, behöver bara använda en enda bit som sekvensnummer för att pålitligt överföra data. TCP använder hela 32 bitar för sekvensnummer, men kan överföra data mer effektivt. Förklara varför, och jämför effektiviteten med hjälp av formler. Rita gärna figurer också!
    Stop-and-wait vs fönster; utilization (s 214-215)
  4. (3p) Varför är det viktigt att beräkna round-trip time (RTT) i TCP? Motivera noggrannt. Beskriv också hur beräkningen görs, och hur värdet används.
    För att sätta lagom Timeout. Exponentiellt medelvärde sändning-första ack; TO=RTT+4*avvikelse
  5. (6p) Ett litet nätverk består av tre noder: X, Y och Z. Initialt beskrivs länk-kostnaderna av följande tabell:
    Mellan Kostnad
    X - Y 4
    Y - Z 1
    Z - X 50
    1. Använd distans-vektor-algoritmen för att konstruera de initiala routing-tabellerna. Markera minsta kostnaderna.
    2. Nu ändras kostnaden för länken mellan X och Y till 60. Kör DV-algoritmen igen och markera minsta kostnaden.
    3. Upprepa DV-algoritmen. Vad händer? Förklara, och ange hur länge beteendet fortsätter, under antagandet att inga länkkostnader ändras.
    4. Beskriv ett sätt att lösa problemet. Fungerar lösningen generellt?
    Se boken, "bad news travels slowly" (det tar ett tag innan algoritmen stabiliserar sig), poisoned reverse etc.
    Det hade varit lättare att se effekten om jag bett er upprepa steg 3 två gånger, eller bett er fortsätta tills tabellerna stabiliserat sig. Betygsgränserna sänks en poäng pga detta.
  6. (6p) Vi vet att packet-switching i allmänhet är mer effektivt än message-switching, men hur förhåller sig packet-switching till circuit-switching?
    1. Beskriv översiktligt hur packet-switching respektive circuit-switching fungerar.
    2. Jämför deras överföringstid för n samtidiga förbindelser över m länkar med bandbredd R och meddelandestorlek M. Förklara vilka övriga parametrar som behövs för jämförelsen. Ge generella formler, förklara och relatera dem. Rita gärna figurer!
    3. Anta att sannolikheten för att en förbindelse är aktiv (dvs skickar data) är 10\%. Jämför kapaciteten för packet-switching respektive circuit-switching i termer av antalet möjliga samtidiga förbindelser med bibehållen överföringstid.
      1. Se boken
      2. en pktsw: M/R+m · p/R, där p är paketstorleken
        en crksw: M/(R/n)+T = (M · n)/R+T, där T är uppkopplingstiden
      3. Circuit: max R/n samtidiga; packet: betydligt fler (sannolikhetsberäkning)
  7. (4p) Ange vilka fyra huvudsakliga orsaker till fördröjningar (delay) som förekommer i packet-switching-nätverk. Beskriv vad de kommer sig av, ge (uppskattningar av) deras storlek, och ange i vilka situationer de är mest signifikanta.
    • Processing: tid att titta på header, avgöra vart det ska, ev. kolla checksummor. Typiskt mikrosekunder; viktigast i routers.
    • Queueing: tid i kö för vidarebefordran. 0 eller (mycket) längre; mikro- till milli-sekunder. Viktigt i överbelastade nät.
    • Transmission: tid att sända ut bitarna på kabeln: M/R; mikrosekunder eller mindre.
    • Propagation: tid att överföra bitarna i kabeln: d/s där d är avståndet mellan noder och s är överföringshastigheten, 2-3 ggr 108 m/s.
  8. (4p) Varför kan kabeln i ett Ethernet-nätverk inte överstiga en viss längd? Vilka två huvudsakliga faktorer begränsar längden? Rita gärna figur.
    Utbredningshastigheten och ramstorleken. Om en nod skickar en ram samtidigt som en annan nod måste bägge upptäcka kollisionen, men om ramen är för kort eller utbredningshastigheten för låg i förhållande till kabellängden är detta inte möjligt.

    Signalstyrkans avtagande också, naturligtvis.

  9. (3p) Formatet för Ethernet-ramar är följande:
    Preamble Dest addr Source addr Type Data CRC
    Beskriv de olika fälten, vad de har för roll, och motivera deras inbördes ordning i ramen.
    Se boken.
  10. (3p) Förklara översiktligt vad säkerhetsprotokollen TLS, IPSec och S/MIME ger för funktionalitet, och placera dem i rätt skikt i Internets protokollstack.
    • TLS: Transport Layer Security, ger konfidentialitet och autenticitet åt TCP-förbindelser
    • IPSec: IP security, ger samma på IP-nivå
    • S/MIME: Secure MIME, ger samma i epost
    Glöm inte funktionaliteten (mer precis än "säkerhet").


© Björn Victor
Senast ändrad: Thu, 02-Oct-2003 18:07 MEST
[Valid HTML 4.01!]