Es gab 20 Aufgaben und wir hatten 2h Zeit. Ich hatte am Ende allerdings keine Zeit mehr, um über Aufgaben nachzudenken, die ich nicht direkt lösen konnte. Um alles eindeutig, nicht zu oberflächlich und genau zu erklären, sollte schnell geschrieben werden. Die erste Seite war nur zum Ausfüllen von Informationen, die zweite Seite war überraschend eine weitere Seite mit Anweisungen und Stichpunkten wegen Formalitäten, die ich auf der ersten Seite erwarten würde. Diese Seite raubt zu Beginn der Klausur ein bisschen Zeit, sollte man also nur überfliegen. Es ist nur ein Taschenrechner für Berechnungen zugelassen. Am meisten Zeit hat mir das Überlegen nach sinnvollen Erklärungen auf die Antwort von Fragen gekostet, auch wenn ich die Antwort wusste. Am besten versucht man schon vor der Klausur, sich zu überlegen, wie man es formulieren wird. Die Aufgaben waren auch genau so, wie sie unten in der Aufzählung wirken, meist wenig umfangreich. Es gab für eine Frage nur selten mehr als 2 Punkte (Fingertable aufstellen gab wieder 3Punkte). Meistens gab es 1 Punkt pro Frage. (Die Berkeley-Socket-Aufgabe lässt aber vermuten, dass auch halbe Punkte vergeben werden, weil in dieser Aufgabe 1,5 und 0,5 Punkte vergeben wurden.) Auf dem 2. Blatt stand, es solle auch nicht viel mehr als nötig zu den Fragen geschrieben werden, also kurz antworten (richtig erklärt und ausgedrückt sollte allerdings trotzdem sein). Fragen mit mehr Tiefgang geben 2 Punkte. Was abgefragt wurde (viele Aufgaben *in Teilen* von letztem Jahr übernommen): * Bandwidth-Delay-Product berechnen aus Leitungslänge 550km, Übertragungsgeschwindigkeit 200 000km/s und Datenrate 10 GBit/s (anders als letztes Jahr) (Einheit Bit muss rauskommen, daraus kann einfach die Formel hergeleitet werden, 2 Punkte) * Interaktions-Modell, Fehler-Modell (was bedeutet Scalability? Welche 4 falsche Annahmen zu Netzwerken führen in der Realität zu Problemen?) * Berkeley Sockets (wie in der Klausur letztes Jahr. Es muss gewusst werden, in welcher Reihenfolge welche Funktionsnamen aufgerufen werden müssen, damit der Server auf Verbindungen wartet und dass der Server eine Verbindung annimmt) * RTC (was bedeutet "idempotente Operation"? Wenn eine Operation jetzt idempotent ist, was bedeutet das in Hinsicht auf die Semantik eines RPCs (at-most-once, at-least-once)?) * Server-Client vs. P2P (Download- und Uploadraten gegeben. Für Server beide 10MBit/s, für Client 2MBit/s. Zeit zum Upload von 10 Dateien à 1 MBit berechnen (exakt so wie in der Einführung zu Unit 8). Dann Zeit für ein P2P-Netz berechnen (Zeit zum Aufbau der Peer-Pipeline vernachlässigen). Was bedeutet, dass P2P-Netze self-scaling sind?) * HTTP (was bedeutet, dass HTTP zustandslos ist? 1 Punkt) * NTP (, wie die Herleitung als Antwort im ISIS-Forum. Schrecklich bloß ist, obwohl ich mir die vollständige Antwort dort angeguckt habe, hab ich die Aufgabe nicht ganz gekonnt.) * REST (fast identisch zu der Klausur letztes Jahr, eine Frage war bisschen anders.) * DHT-Chord (Chord-Lookup, danach Chord-Fingertable erstellen) * Bully-Algorithmus (Knoten 1, 3, 4, 5, 7, 8, 10 ungefähr; 10 fällt aus, 3 und 5 fällt das gleichzeitig auf. Wie läuft der Bully-Algo ab? 4 Punkte, wenn ich mich nicht irre) * 2PC+3PC (Welche 2 Sachen/Annahmen werden für 2PC benötigt? was ist der Unterschied zwischen beiden und warum?) * Voting (Wie nennt sich die Regel, mit der man...? Vielleicht irre ich mich allerdings auch, dass es Voting war. Das sehe ich bei der Einsicht.) * CIDR (befindet sich 149.77.114.53 (letzte 3 Ziffern bin ich nicht mehr sicher) im Netzwerk 149.77.11_.0/22 ? Hier hab ich den Fehler gemacht, die Zahl für die Bits im Subnetz zu halten und nicht für den Netzwerkadressteil :-S) * Ethernet (warum skalierbar? warum gibt es eine Mindestgröße der Pakete?) -> nächste Klausur wird vermutlich CSMA/CD detailiert drankommen, das erklärt werden können sollte * DHCP+NAT (wie Klausur letztes Jahr, jetzt beides aber in einer Aufgabe. Die Lease-Time und (und gegebenenfalls Binding-Time) wurde nicht abgefragt. Zusätzlich die Frage (für 2Punkte), was installiert werden müsse, wenn ein FTP-Fileserver an Port 22 im eigenen Netz dem Internet zur Verfügung gestellt werden möchte.) * CRC überprüfen (leichter als letztes Jahr, CRC-Wert war 110100010, Generatorpolynom: x^3 + 1, CRC = (1001 << 5) XOR (1001 << 4) XOR (1001 << 1) -> Rest 0 kommt raus, Prüfsumme stimmt, Nutzlast ist 9-3=6 Bit) * Netzwerk-Schicht (__? Unterschied zwischen Routing und Forwarding erklären) * Congestion Control (bis wohin geht der Slow-Start im Diagramm? Warum hat die Steigung aufgehört, exponentiell zu verlaufen (und verlief dann linear weiter)? TCP Tahoe oder Reno? Wie ist die Bezeichnung für das Verfahren, mit dem TCP den optimalen Flusspfad durchs Netzwerk findet (Flow Control)? (Eine nette Bonus-Frage, die nicht in der Vorlesung dran kam, wäre z.B., wie viele öffentlich bekannte Congestion Control Algorithmen es überhaupt gibt ^^.)) * Transport-Layer (warum wird hier zusätzlich zu Data Link Layer eine Prüfsumme berechnet? Nennen sie 2 Möglichkeiten, wie ein kompetenter Hacker durch Programmierung die Vergabe der Datenrate zu seinem eigenen Vorteil verschieben kann? warum verwendet man unzuverlässige Übertragung bei RTP?)