Lösungsvorschlag Computer Networks FS07

Aus VISki
Wechseln zu: Navigation, Suche

Aufgabe 1 - Multiple Choice

a)
4
IMHO sind 3 und 4 beide richtig. Meinungen? --Thomas.st 19:51, 7. Jun. 2010 (CEST)
IMHO ist nur 4 richtig, da +1 nicht exponentiell ist sondern linear --Sertingolix
3 ist falsch weil die Anzahl der Pakete nicht von der Zeit sondern von der Anzahl erhaltener ACKs abhängt. Die Anzahl Pakete nimmt tatsächlich exponentiell zu. --2639
b)
3 (Interface 0 und 1 matchen, wegen http://en.wikipedia.org/wiki/Longest_prefix_match wird 1 gewählt)
Ich bin der Meinung 4 ist die korrekte Antwort. Das Paket wird an das Interface 1 weitergeleitet --Gluehbirne 16:24, 2. Jun 2008 (CEST)
Ich denke auch, 5 ist richtig und es wird an Interface 0 und 1 weitergeleitet Rggjan 15:41, 2. Jun. 2009 (CEST)
4 ist richtig, siehe wikipedia link in den comments (gefunden von Gluehbirne) --Blei
Korrektur: ich denke 3 stimmt, da 192.168.187.0/26 die angegebene adresse gar nicht matched. --Blei

stimme Blei zu (das 3 stimmt) --Sertingolix
c)
3
d)
3
e)
3 Überlegung: Für den ersten Buchstaben 16 Möglichkeiten. Für den 2. noch 15 für den 3. auch wieder 15 usw. also 16*(16-1)^31
f)
3

--Rvjr 18:59, 1. Jun 2008 (CEST)

Ich bin der Meinung, dass hier 3 die korrekte Lösung wäre: 
Send-window [01234]
Worst case: Alle ACKs verloren gegangen
Receive-window 01234[5678]
Wenn der Sender also das Paket 0 wiederholt, kann dieses vom Empfänger so schon korrekt als 'früheres' Paket identifiziert werden (es wird also nicht falsch eingeordnet).
Schliesse mich dieser Lösung an --Gluehbirne 16:24, 2. Jun 2008 (CEST)
Richtig, [0..8] entspricht eine grösse 9, damit >=5+4, also ok [korrigiert] --Neeko 18:08, 2. Jun 2008 (CEST)
g)
5 (count-to-infinity-problem occurs with Distance Vector Algorithm)
h)
5
Ich tendiere ich hier mehr zu 3. "Seit Einführung" heisst für mich das IPv6 bereits eingeführt ist und NAT wird ja immer noch verwendet. Sushi 21:22, 3. Jun 2008 (CEST)
Genauer lesen! Du musst die FALSCHE Aussage über NAT ankreuzen Neeko 01:08, 4. Jun 2008 (CEST)
Ach ja klar.. Sry Sushi 14:01, 4. Jun 2008 (CEST)
i)
1
Erlaubt die Wiederverwendung von IP Adressen? Wenn damit die dynamische Vergabe von IP Adressen gemeint ist stimme ich dem zu.
Allerdings erscheint mir "Wiederverwendung" eie komische Beschreibung für diesen Sachverhalt? Von dem her evt auch 5 -- Gluehbirne 16:24, 2. Jun 2008 (CEST)
DHCP verteilt dynamisch die IP Adressen aus einer begrenzter Menge. Damit kann eine Adresse 'wiedervervendet werden', also von jemand anders gebraucht werden, und ist nicht an einen einzigen PC fest gebunden --Neeko 18:08, 2. Jun 2008 (CEST)
j)
3

--Rvjr 18:59, 1. Jun 2008 (CEST)

korrigiert. (siehe Chapter 5, Wireless)

Aufgabe 2 - Kurzfragen

a)

VoIP uses UDP, that provide no congestion control

b)

I.

- All the hosts conform to IPv6 should be able to choose the right size of the packets to send

- Routers don't have to deal with fragmentation anymore (routing speeded up)

II.

- The router drops the packet, then returns an ICMP error-message indicating the actual MTU of the link which caused the discard.

c)

Datagram network: Streets in a city

Virtual Circuit: Tram lines

d)

I) Man nehme folgenden Fall an: Das Timeout für Paket 1 läuft ab und folglich wird es nochmal angefordert. Ist nun Paket 1 gar nicht verlorengegangen, trifft es nun 2mal ein. Mit dem entsprechenden Code wird nun auch Paket 2 2mal angefordert usw.

II) if (not last block) ändern in if (not last block) && (block not received)

Dann wird aber der nächste Block erst requested wenn der vorherige NOT received ist (so solls ja gerade nicht sein), oder sehe ich da etwas völlig falsch? Sushi 21:35, 3. Jun 2008 (CEST)

e)

f)

I)

The bandwith is higher, but is used to correct the many errors that occur on the channel

II)

insert in the transfer protocol more redundancy, so that errors can be corrected

g)

I) Dijkstra geht davon aus, dass ein Pfad nur länger werden kann. Dies ist aber nicht mehr der Fall mit negativen Kanten. Siehe Bsp in II.

II) Nein, Bsp: Pfad von a nach c in (a,c,1), (a,b,5), (b,c,-10)

Aufgabe 3 - Mars

a)

Minimal: 10 KB/s * 3*60 s = 1800 KB; 1800 KB / 1.25 KB = 1440 Packets

Maximal: 10 KB/s * 20*60 s = 12000 KB; 12000 KB / 1.25 KB = 9600 Packets

b)

Having 16-bit sequence numbers means that we can indentify 2^16= 65'536 Packets. The windows for the selective repeat can also be quite large, i.e. 32768 if we assume the two windows being the same size.

(to be continued..)

c)

Aufgabe 4 - Queing im Internet

a)

b)

c)

Aufgabe 5 - Multiple Choice

a)
2 (not sure: telnet?)
b)
2 (DNS is binary, the other protocols ASCII)
c)
3 (Addresses after line 354 are not considered)
d)
3 (ARP is in the link layer)
e)
3 (Routing is a matter only concerning the Network Layer)
f)
3 (the opposite: MAC Addresses are flat, IP are hierarchical)
g)
5 (not sure)
h)
 ? (not seen in the course?)

Aufgabe 6 - Kurzfragen

a)

Full duplex: Two-lane road, Ethernet

Half duplex: Railroad track, ALOHA

Simplex: One Way Street


b)

- TTL (Time to Live, in seconds) [4 bytes]

- CLASS (normally = "IN") [2 bytes]

- TYPE (most importants are: PTR, CNAME, MX, ..) [2 bytes]

- VALUE (Value of the record)

I think these sections are: Question, Answer, Authority and Additional (try 'dig google.ch') --Nowic 18:17, 2. Jun 2008 (CEST)
c)

HTML Pages are saved in a memory, so that the next time don't have to be downloaded anymore (spare the bandwith).

With dynamic pages created on demand the cache cannot work

d)

telnet www.netos.ethz.ch 80

GET /_combination/ HTTP/1.0

Host: www.netos.ethz.ch

e)

d(G)=2 --> 10010110100 / 101 = 101110001

Rest: 01 (CRC-proofbits)

f)

Switches and Bridges keep a Table with (MAC,IP) entries

Problems: MAC spoofing, MAC flooding, ARP Spoofing

g)

xSend si@x e@xamples to aja@x@@tik.ee.ethz.chx

h)

Aufgabe 7 - State and Persistence in HTTP

a)

Stateless means that the server "forget all" about the last client (no login, no session)

b)

Simplicity, Robustness

c)

It's not possible to save information about the client, i.e. market basket in a e-commerce site, preferred language,... Solution: Cookies

If you load a page with many pictures for example, you have to open N TCP connections for 1 page and (N-1) pictures. This is very inefficient. Solution: HTTP 1.1

d)

HTTP 1.0 closes the TCP connection immediatly after the transfer of the requested package.

HTTP 1.1 allows to send many requests in the same TCP connection, therfore is persistent.

Aufgabe 8 - Events vs. Thread

Thread
Für jeden incoming request wird ein neuer Thread angelegt welcher den request bearbeitet.

- Weniger Code, einfacher zum programmieren -> High level

- einfacheres Debugging

- Weniger Effizient (Threads erstellen etc.)

Events
Ein Thread indem alle Requests bearbeitet werden durch events die ausgelöst werden wenn entweder Daten an einem Socket anliegen oder Timeouts abgelaufen sind.

- Low Level (mehr Code, schwierigeres Debugging)

- Fehleranfälliger

- Effizienter

- Maximum Control

- Weniger Ressourcenverbrauch

Aufgabe 9 - Programmieraufgabe

Missing 1

FD_ZERO(&rfds);

Missing 2

FD_SET(clp->sock; &rfds); if(max_fd < clp->sock) max_fd = clp->sock;

Missing 3

if(FD_ISSET(accept_fd, &rfds) == 1) accept_new_conn(accept_fd);

Missing 4

if(FD_ISSET(clp->sock, &rfds) == 1) process(x);

?? Hier ist mir nicht ganz klar wie sie das meinen mit dem Kommentar '...if the socket has activity or its timeout has expired, process it.'