TDTS04/TDTS43 Datornät och distribuerade system, 4 juni 2008 Skissade svar till tentan som gavs 2008-06-04, sammanställda av Juha Takkinen, IDA, juhta@ida.liu.se. ( Skissade innebär att du förutom svaren nedan oftast även måste visa dina uträkningar och resonemang, d.v.s. motivera svar och visa att du förstår frågan.) Question 1. länkens längd / ljusets hastighet = länkfördröjning ==> länkens längd = länkens fördröjning x ljusets hastighet = 2,5 ms x 2 x 10^8 = 500 000 m datastorlek = 100 MB / 4 = 25 MB sändningsfördröjning = datastorlek / bandbredd = 25 MB / 40 Gbps = 5 ms 1 paket tar 3 x (5 ms + 2,5 ms) = 22,5 ms från sändare till mottagare Eftersom det tar längre tid för ett paket att återsändas i en nod jämfört med transporten över en länk så kommer resten av paketen att tvingas köa i noderna. Efter det första paketet måste mottagaren vänta på de tre resterande paketen över den sista länken: 3 x 2,5 ms = 7,5 ms. Total tid är därför 22,5 + 7,5 ms = 23 ms. Svar: 23 ms connectionless service = uppkopplingslös tjänst, som t.ex. udp erbjuder, där sändaren inte först kontrollerar att mottagaren existerar utan bara adresserar mottagaren direkt packet-switched network = nätverk som baseras på tekniken att data delas upp i relativt små paket som sedan skickas separat och var och en adresserade till mottagaren och där nätverket sköter routningen Question 2. Tjänst reliable delivery flow control Förklaring Pålitlig överföring innebär att segment kommer fram, kommer i rätt ordning, är hela och utan dubbletter. Detta implementeras i TCP genom användning återsändningstimer, checksumma, sekvensnummer och ACKar. Flödeskontroll gör att sändaren inte kan skicka mer än vad mottagaren klarar av att ta emot. Detta implementeras i TCP via sliding window-mekanismen där bland annat receiver window annonseras i protokollhuvudet. 5 June 2008 1
Tjänst congestion control multiplexing/demultiplexing Förklaring Stockningskontroll gör det möjligt för TCP att anpassa sin sändningstakt till vad nätverket klarar av att hantera. Den baserar sig på kontroll av antal emottagna ACKar och en återsändningstimer, förutom en threshold och congestion window. Multiplexing är en teknik som används på sändarsidan för att kombinera flera kommunikationskanaler till en enda kanal i ett lägre lager, som t.ex. flera TCP-kanaler till en IP-kanal. Motsatsen demultiplexing utförs på mottagarsidan. Scenario 1: Efter en timeout under sändning av segment sätts congestions window till 1 MSS och TCP går in slow start-fasen. Scenario 2: Efter en ACK så ökar TCP sändningstakten ytterligare. Med hur många byte beror på i vilken fas TCP:s congestion control befinner sig i: Om det är slow start så dubbleras antalet byte, annars är det AIMD (congestion avoidance) och då ökar sändningstakten med 1 MSS. Question 3. longest-prefix matching = om ett inkommande pakets IP-adress matchar flera rader i en routningstabell så väljs den rad som matchar adressen med flest bitar. Subnätadressen för nätverk A är 223.1.1.0. Nätverket A kan ha maximalt 2^8 adresser. 1, 3, 5 och 6: Src = A, Dest = F 2 och 4: Src = B, Dest = E X = home agent Y = foreign agent 5 June 2008 2
Question 4. A B C D Stationerna använder sig av exponential binary back-off och börjar återsändning av en ram efter K x 512 bit-tider. Eftersom det är första gången för båda så väljs K ur mängden {0, 1}, alltså antingen 0 bit-tider eller 512 bit-tider. 1 bit-tid är den tid det tar att sända (placera ut) 1 bit på länken. A skickar en ARP-förfrågan med egen IP-adress och MAC-adress som avsändare och mottagarens IP-adress som mottagare i paketet. MAC-adress för mottagare sätts till broadcastadressen, så att alla hör förfrågan. Den som äger IP-adressen svarar (station B) med ett ARP-svar direkt till den som skickade förfrågan (station A), d.v.s. mottagaradresserna (IP och MAC) tillhör och avsändaradresserna (IP och MAC) tillhör B. Alla övriga stationer uppdaterar sina ARP-cachar om A och B redan finns sedan tidigare i deras cachar. 5 June 2008 3
Question 5. Dijkstras algoritm ger nedanstående tabell och det uppspännande trädet enligt figuren nedan. Länkarna B C och B E försvinner. S N D(, p( D(, p( D(d), p(d) D(e), p(e) 0 a 5, b 2, c 3, d - 1 ac 5, x 3, d 4, c 2 acd 5, x 4, c 3 acde 5, x 4 acdeb A 5 B 3 2 C D 4 E LS undviker loopar tack vare Dijkstras algoritm medan DV kan råka ut för loopar eftersom det är en distribuerad algoritm. Mängden kontrollmeddelanden när en ny länk skapas i nätverket är större i LS än i DV eftersom den nya informationen måste distribueras till alla noder via flooding. DV utväxlar information endast med sina grannar. BGP används av alla routrar i figuren eftersom alla routrar behöver veta vilka nätverk som är nåbara. 5 June 2008 4
Question 6. Begrepp playback attack chosen-plaintext attack known-plaintext attack packet sniffing ip spoofing Förklaring Metoden att återsända ett gammalt meddelande, ofta med förfalskad avsändare, för att lura mottagaren. Tekniken att få en sändare att skicka en känd text så att det textmönstret kan användas för att bryta chiffret. Tekniken att utnyttja någon inneboende egenskap hos texten som skickas för att bryta chiffret, t.ex. att språket är svenska och kunskap om statistik för bokstavskombinationer i det språket. Tekniken att avlyssna en kommunikationskanal och avläsa innehållet i datapaket som skickas. Tekniken att förfalska sina IP-pakets avsändaradress så att paketen ser ut att komma från någon annan. Meddelandet m hashas och Alice använder sin hemliga nyckel och krypterar meddelandehashen, som läggs till klartexten av meddelandet. Hashen kan mottagaren använda för att avgöra om meddelandet har ändrats på vägen eller inte. Ett exempel på en symmetrisk krypteringsalgoritm är DES. Eftersom symmetrisk aalgoritmer är en tiopotens snabbare än asymmetriska så används de ofta för stora textmassor som behöver krypteras. Question 7. i: Sant ii. Falskt iii: Falskt iv. Falskt. 5 June 2008 5
Pil (P1 P5) Aktivitet (A1 A5) Steg 1 P5 A3 Steg 2 P2 A1 Steg 3 P1 A5 Steg 4 P4 A4 Steg 5 P3 A2 A1: Registrera tjänst A2: Utför RPC-anrop A3: Registrera ändpunkt (eng. end-point) A4: Fråga efter ändpunkt A5: Leta fram en server. idempotent = en operation som kan utföras hur många gånger som helst efter varandra utan skada, som t.ex. att läsa värdet på en variabel. Question 8. IOGR gör det möjligt att adressera en grupp med objekt som om gruppen var ett enda objekt. Feltolerans skapas genom att objekten är backuper och kopior av varandra; skulle defaultobjektet som IOGR pekar på inte finnas tillgängligt i det distribuerade systemet så används automatiskt ett annat objekt i gruppen. Detta sker transparent. POA = portable object adapter; som får kod på serversidan att se ut som CORBAobjekt för klienterna. IDL = interface description language; som används för att beskriva ett objekts gränssnitt och vilka metoder som finns tillgängliga; möjliggör distribution av objekt där gränssnittet finns hos klienten och objektet med implementationen av metoderna finsn på en server. EJB-servern kan erbjuda bland annat tjänsten RMI, remote method invocation, som gör det möjligt att anropa javaobjekt som finns på en annan maskin. Question 9. pull-baserat protokoll = information laddas ned, som t.ex. en webbsida vid normal surfning via HTTP push-baserat protokoll = information laddas upp, som t.ex. vid användning av SMTP för transport av e-post. 5 June 2008 6
HTTP är främst ett pull-baserat protokoll, men kan även användas för att lägga upp information på en server med metoderna PUT och POST. En web proxy cache används oftast för att göra nedladdning av webbsidor snabbare, vilket sker genom att cachen sparar en kopia av webbsidorna lokalt (i nätverket) med förhoppningen att samma sida kommer att anropas inom en snar framtid. Då behöver klienten inte hämta en webbsida ända från originalkällan utan kan istället få sidan direkt från cachen istället, om sidan inte har ändrats. Med persistent HTTP används samma TCP-uppkoppling för att ladda ned alla objekt på en sida, jämfört med icke-persistent som skapar en ny TCP-uppkoppling för varje nytt objekt. Question 10. Data beskrivs med hjälp av attribut och publiceras i mediet/middleware, som lagrar datat, antingen permanent eller för en begränsad tid (leasas). Prenumeranter beskriver datat som de är intresserade, vanligen i form av tupler attribut-värde. När en matchning sker i middleware så antingen skickas datat till prenumeranten eller så får prenumeranten ett meddelande att datat finns för avhämtning i middleware. Multicast (broadcast). Istället för en central server och lagra informationen där för sökning och hämtning så använder TIB/Rendezvous tekniken att omedelbart sprida informationen som publiceras till alla prenumeranter, vanligtvis via den inbyggda broadcastmöjligheten hos lokala nät. DHT (distributed hash table). 5 June 2008 7