Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Klausurlösung WS11/12 gesucht
Hallo,
hat hier jemand die Lösung der Klausur vom WS11/12?
Danke
müsste das nicht so anfangen?
A B
|----> SYN, Seq=50, Ack=xxx —>|
| |
|<-- SYN, ACK, Seq=0, Ack=51 <–|
| |
|—> 5B, ACK, Seq=51, Ack=1 —>| CW=1
| |
|<------ 10B, Seq=1, Ack=56 <---- |
| |
|------> Seq=56, Ack=11 --------->| CW=2
aber bin mir auch überhaupt nicht sicher!!
Ach Gott -.- …hast natürlich recht. Da hab ich mich wohl vertan
Bis auf den Folgefehler sollte es dann aber mMn richtig sein
Hier mal Aufgabe 4.1 von mir:
i FT2 FT9 FT11 FT18 FT24 FT27
1 9 11 18 24 27 2
2 9 11 18 24 27 2
3 9 18 18 24 2 2
4 11 18 24 27 2 9
5 18 27 27 2 9 11
Findet jemand den Fehler? Ich kann damit nämlich nicht Aufgabe 4.2 lösen, da es für k=25 niemals terminiert.
sollte korrekt sein die Tabelle. /EDIT doch nicht FT27(5) sollte 18 sein glaub ich
wiso soll er nicht terminieren ?
ist die Terminierung nach Skript.
und nach 2->18->24->27 ist das doch der fall
Ich gehe durch:
2->18
Da sehe ich
FT18[m]=2 <= k=25
und bin damit wieder bei Knoten 2.
Wieso sollte FT27(5) 18 sein? Das ist 43 = 11 mod 32 und damit ist 11 der passende Knoten.
in der Spalte ist die Regel doch q = FT18(i) <= k < FT18(i+1)
für i = 3 stimmt das doch. demnach müsste der nächste schritt 24 sein
richtig mein fehler hab mit 31 gerechnet
Das steht aber im else Teil, also erst die beiden anderen Bedinungen überprüfen. Es seidenn, da ist einfach was hingerotzt und der Code liest sich nicht wie gewöhnlicher Programmcode.
Erst überprüfen ob FT_n(1)>k
dann FT_n(5)<=k
und dann erst p=FT_(i)<k<=FT_(i+1)
hm ja ist richtig. is mir jetzt garnicht aufgefallen.
2 seiten weiter vorne steht in klammmern mal
könnte sein das der pseudocode auch mit dieser einschränkung gemeint ist. ist jetzt spekulativ aber so gebe es sinn. ausser die aufgabe soll eine endlosschleife darstellen…
Sicher, dass die Tabelle ansonsten korrekt ist?
Den Satz versteh ich nicht so ganz, kannst du den mal umformulieren?
ich denke er versucht mit der aussage den Ring zu schließen.
sonst würde das ganze system ja nicht funktionieren. 27 verweist ja wieder auf 2. genauso wird doch ein Datenelement mit dem Schlüssel 31 im Peer 2 gespeichert. für mich erscheint es da auch nur logisch das diese vereinbarung auch für den Algorithmus gelten soll.
Hab jetzt beim überfliegen des folgenden Gewirrs nicht ganz erblickt ob die Lösung hierzu bereits vorhanden ist (ganz gleich es limes nicht mehr kümmern wird).
Die Tabelle sollte stimmen. Es terminiert (sofern ich das verstanden habe) auch für 2, 25:
2 -> 18 -> 24 -> 27
Da (27 > 25). Folglich gilt: succ(25) = 27
für 11,1:
11 -> 27 -> 2
Folglich gilt: succ(11) = 2
Wie kommst du auf 11 → 27?
Es gilt doch (Bei 11) die erste Bedingung 1 < 18 also müsste es 11 → 18 → 24 → 27 → 2 sein, oder?
Ich dachte mir, da ja eben bereits der erste Eintrag der Tabelle 18 > 1 wird da nicht nur modulo 32 gerechnet sondern die 32 würden direkt subtrahiert, sonst wäre doch bereits succ(11) = 18, oder nicht?
War eigentlich eher eine Überlegung und nicht auf den Algorithmus den wir (glaube ich) dazu gegeben haben. Den hab ich mir noch nicht angesehn. Von daher war die Aussage für 11,1 mehr eine Frage (auf die sich auch „(sofern ich das verstanden habe)“ beziehen sollte) als eine Aussage.
Also 32 abziehen klingt nicht sehr sinnvoll. Die in den Folien angegebene Abbruchbedingung kann so offensichtlich aber auch nicht stimmen.
Wikipedia sagt folgendes dazu:
Also ist die Abbruchbedingung dann erfüllt, wenn k zwischen p und succ(p) liegt, dann wird succ(p) zurück gegeben.
So wie ich es verstanden hab muss man nach 33(=1) suchen, damit man auf dem Ring weiterlaufen kann. 2 ist dann natuerlich 34. Dann funktioniert zumindest der Algorithmus…