TDTS04/TDTS43 Datornät och distribuerade system, 13 mars 200 Skissade svar till tentan som gavs 200-03-13, 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. S A: ACK / B: SYN + ACK / ACK Question 2. Bilden visar flödeskontroll. A: ACK = 204, WIN = 204 B: 1K, SEQ 4096 X-axeln anger nummer på sändningsrunda (transmission round number) och y-axeln anger storleken på stockningsfönstret (congestion window) i KB. Stockningströskeln har i diagrammet värdet 32 K vid uppstart. I A inkommer en tredubblerad ACK så TCP halverar stockningsfönstret och påbörjar AIMD (congestion avoidance) från 32 KB Question 3. Det finns 3 subnät eftersom routern har tre gränssnitt mot tre olika lokala lokala nät. Ett subnät är ett undernät skapat ur värddelen i den ursprungliga ip-adressen med hjälp av en subnätmask med syfte att förenkla nätadministrationen genom att dela upp ett stort nät i flera små utan att behöva skaffa en ny ip-adress med ny nätdel. Antagande: Den trådlösa datorn har autentiserats av WLAN-accesspunkten och har fått tillgång till LAN:et. Den trådlösa datorn skickar en förfrågan via broadcast i LAN:et (dhcp server discover) för att kontrollera om det finns en dchp-server. Dhcp-servern svarar, även den via broadcast, med ett förslag till ip-adress som datorn kan använda (dhcp offer). Datorn skickar sedan en begäran att få den föreslagna ip-adressen (dhcp request) och servern svarar slutligen med en bekräftelse att valet av ip-adress är okej (dhcp ACK). 14 March 200 1
c) Siffran 23 i exempeladressen anger hur stor del av adressen som utgör nätadressdelen, räknas från vänster i bitarna. Resterande del (9 bitar) kan sedan användas för att adressera värdar i nätet med den 23 bitar långa adressen. CIDR är ett klasslöst och flexibelt system för att allokera block av ip-adresser till en användare. Tillsammans med allokeringen följer också en nätmask som används för att enkelt separera nätadress- och värdadressdel. Question 4. Det finns tre kollisonsdomäner eftersom routern inte kan vidarebefordra signaler på länklagernivå utan att packa upp ramarna via nätlagret. En kollisionsdomän är den storlek ett LAN av ethernettyp måste ha för att en sändande station pålitligt ska kunna skicka en ram och samtidigt hinna upptäcka eventuella kollisioner innan det blir omöjligt att avgöra om en ram har hunnit mottas av mottagaren eller inte. Kollisionsundvikande åstadkoms genom att den sändande stationen skickar RTS för att reservera kanalen och mottagaren bekräftar reservation med ett CTS. Alla övriga stationer som hör RTS eller CTS måste vara tysta så länge som dataöverföringen varar. En gömd terminal är t.ex. en station som finns nära mottagaren men inte kan upptäckas av sändaren. I detta fall gör CTS-ramen från mottagaren till sändaren att den gömda stationen upptäcker att den inte kan skicka något just då. Question 5. i) Algoritmen heter Dijkstras algoritm. S N D(v), p(v) D(w), p(w) D(x), p(x) D(y), p(y) D(z), p(z) 0 u 2, u 5, u 1, u - - 1 ux 2, u 4, x 2, x - 2 uxy 2, u 3, y 4, y 3 uxyv 3, y 4, y 4 uxyvw 4, y 5 uxyvwz Inter-AS- och intra-as-routningsprotokollen är designade för lösa olika typer av problem i sina respektive nätmiljöer; därför skiljer de sig åt. Intra-AS-protokollen i sin tur kan också de skilja sig åt, antingen link state/osp eller distansvektor/rip; valet beror på om nätet är stort eller litet, om nätägaren vill ha fler valmöjlighetet för typ av kostnad (dv: hopp enbart; ls: hopp, kronor, belastning, fördröjning m.m.) o.s.v. 14 March 200 2
Inter-AS-protokollen ska endast lösa ett problem: Hur når man nästa AS. BGP är det mest använda för att lösa detta problem och bygger på path-vektorer (liknar dv) som talar om vilka AS som kan nås via vilka BGP-routrar. Question 6. MAC står för Message Authentication Code och är en envägskrypteringsfunktion utan nyckel som skapar ett litet, krypterat meddelande av samma, fasta längd från ett valfritt stort meddelande. Två viktiga krav är att det inte ska gå att återfå det ursprungliga meddelandet ur MAC-koden och att det inte ska gå att få identiska MAC-koder från två olika meddelanden. MAC på egen hand används för att skapa meddelandeintegritet. Tillsammans med en shared secret kan det användas för att skapa digitala signaturer. En nonce är ett slumptal som endast existerar en kort stund under en autentiseringssession. Vid autentisering används det för att motverka replay-attacker på följande sätt: när Bob har fått ett meddelande från Alice så genererar han en nonce och skickar till Alice. Alice krypterar den mottagna noncen med sin privata nyckel och skickar tillbaka till Bob. Bob avkrypterar i sin tur det nya meddelandet med hjälp av Alices publika nyckel som han har fått från ett nyckelcertifikat och ser då att det är samma nonce som han skickade. Eftersom noncen skapades nyss så är sannolikheten för en replayattack liten. Det löser dock inte problemet med man-in-the-middle-attack. Question 7. Ett distribuerat system är skalbart om man antingen kan öka antalet komponenter i det, dess geografiska storlek eller antalet administrativa domäner utan att prestanda förloras i nämnvärd grad. DNS är skalbart tack vare att det använder cachar, har data replikerat till flera servrar och använder UDP, vilket gör att en process inte behöver låsa sig för att vänta på ett svar på en förfrågan. Distributiv transparens innebär att egenskapen att ett system är distribuerat är gömt för användaren och applikationer i systemet. Exempel på transparens är location = att t.ex. en det inte spelar någon roll var en fil finns fysiskt och migration = att t.ex. en fil kan flyttas utan att applikation påverkas nästa gång den startar. Question. IDL-språket är ett precist och otvetydigt sätt att beskriva ett objektgränssnitt så att objektet går att hantera. Det är också praktiskt för att generera stubbar. Dessutom blir det enklare att stödja dynamiska anrop av objekt när gränssnittet har parsats och kompilerats i förväg. 14 March 200 3
Question 9. Switchen avgör enligt en formel vilken server som är minst belastad och skickar förfrågan om webbsidan dit. Servern i sin tur skickar svaret direkt till klienten, men för att TCP-protokollet i klienten ska kunna acceptera svaret så måste servern spoofa avsändaradressen så att det ser ut som om svaret kommer från switchen. På detta sätt avlastas switchen från att hantera flera samtidiga svar från flera servrar och flera TCPuppkopplingar. En webbtjänst är t.ex. en tjänst för att ange aktuell tid eller göra inköp i en nätbokhandel, ämnad att kunna inkluderas i ett workflow där processer kommunicerar med varandra istället för användare. 14 March 200 4
SOAP är kommunikationsprotokollet mellan processerna och använder oftast http som överföringsprotokoll. WSDL är protokollet för att beskriva webbtjänsterna på ett sätt som liknar IDL. Question 10. Exempel på respektive modell: - direct: socket - mailbox: IBM Websphere - meeting oriented: publish/subscribe-system som t.ex. TIB/Rendezvous - generative communication: Jini/JavaSpaces 14 March 200 5