Aufgabe 1: Gegeben ist ein Glasfaserkabel, welches zwei Knotenpunkte verbindet. Die Länge beträgt 550 km. Die Datenrate ist 10 Gbit/s. Wie viele Bits befinden sich auf der Leitung? Gehen Sie von einer Ausbreitungsgeschwindigkeit von 200000 km/s aus. Aufgabe 2: Gegeben sei ein handelsüblicher Router. a) Welche 3 Arten von Verzögerungen können in einem Router auftreten? Nennen Sie sie und erklären Sie sie kurz. b) ? Aufgabe 3: Gegeben sei ein Server, der die Berkeley-Socket-API nutzt. a) Welche Methoden der Berkeley-Socket-API müssen initial auf dem Server ausgeführt werden, damit er Verbindungen Empfangen kann. (Gehen Sie von einer verbindungsorientierten Kommunikation aus)(1,5 P) b) Wie heißt die Methode, mit der der Server eine Client-Verbindung annimmt? (0,5 P) Aufgabe 4: Ein Netz nutzt Paketvermittlung. Frage: ? Aufgabe 5: Ein RPC a) Was bedeutet es, wenn eine Operation idempotent ist? b) Wie verhalten sich idempotente/nicht-idempotente Operationen zu den Semantiken at-least-once/at-most-once? Aufgabe 6: HTTP Aufgabe 7: REST Gegeben ist ein RESTful Webservice, der Teilnehmer in einer Veranstaltung verwaltet. (analog zur Klausur WS_17/18, 03.06.18) a) Ist eine der Ressourcen eine Collection-URL? Falls ja, wie würde ein Client diese Collection abrufen (inkl. der verwendeten Zugriffsmethode und URL) b) Der Webservice soll um die Funktionalität erweitert werden, einen Studenten zu einem Kurs hinzuzufügen. Welche HTTP-Methode muss dazu auf welche URL aufgerufen werden? c) ? d) ? Aufgabe 8: DHT Folgende DHT ist gegeben (Zahlen können anders gewesen sein, aber das Prinzip ist das Gleiche): 4 11 230 ----------------- | | | | | | 187 | | 32 | | | | 160 | | 77 ----------------- 148 100 a) In welchen Knoten sind die Werte 240 bzw. 100 gespeichert? b) Knoten 100 führt einen Lookup für Knoten 37 aus. Zeichnen Sie die notwendigen Nachrichten für die Abfrage in die Grafik ein, wenn keine Finger-Tables benutzt werden. Welche Knoten-ID wird dem anfragenden Knoten gemeldet? c) Stellen Sie die Finger-Table für Knoten 187 auf. Aufgabe 9: Bully-Algorithmus Gegeben sind die Prozesse in der folgenden Abbildung. Der bPisherige Koordinator war 10. Dieser ist ausgefallen. Prozesse: 1,3,4,5,7,8,10 Angenommen 3 und 5 bemerken gleichzeitig, dass der Koordinator ausgefallen ist. Wie verläuft der Bully-Algorithmus in diesem Fall? Aufgabe 10: DNS a) Ein Client fragt seinen lokalen DNS-Server nach der DNS-Auflösung von tkn.tu-berlin.de. Skizzieren und erklären Sie hierfür den Aufruf, der stattfindet (die iterative Variante). Gehen Sie davon aus, dass nicht gecacht wird. b) Bei der DNS-Antwort wird eine TTL (Time To Live) mitgeliefert. Was bedeutet sie und warum ist es von Vorteil, wenn ein Webserver eine große TTL hat? c) Die Seite tkn.tu-berlin.de wird sehr stark von Mitarbeitern und Studenten besucht. Daher reicht ein einzelner zentraler Server nicht mehr aus. Erläutern Sie, wie man das Problem mithilfe von DNS lösen kann. Aufgabe 11: NTP a) Leiten Sie die Formel für die Berechnung des Offsets bei NTP her. Benutzen Sie hierfür auch eine Skizze. b) Welche vereinfachende Annahme machen Sie bei der Berechnung in Teil a)? Aufgabe 12: Commit-Protokoll a) Nennen Sie 3 grundlegende Eigenschaften eines 2-Phasen-Commit-Protokolles. b) Welches Problem löst ein 3-Phasen-Commit-Protokoll? Aufgabe 13: CRC Ein Rechner empfängt den Bitstring 110101001010 mit dem Generatorpolynom x^3 + 1. Würde der Rechner den Bitstring als fehlerfrei akzeptieren? Geben Sie Ihre Rechnung und einen Antwortsatz an. Aufgabe 14 P2P: Es wird eine Client-Server-Architektur betrachtet. Der Server hat eine Uploadrate von 10 Mbit/s und eine Downloadrate von 10 Mbit/s. Die betrachtete Datei hat eine Größe von 1 Mbit. Die Clients haben eine Downloadrate von 2 Mbit/s und eine Uploadrate von 2 Mbit/s. Es seien 10 Clients. a) Wie lange braucht es, bis alle Clients die Datei haben? Geben Sie auch den Rechenweg an. b) Es sei nun ein P2P-Netzwerk, wobei der Server anfänglich die Datei hat. Wie lange braucht es, bis alle Clients die Datei haben? Geben Sie auch den Rechenweg an. c) Was ist damit gemeint, dass P2P-Netzwerke selbstskalierend (self-skaling) sind? Aufgabe 15: CSMA/CD Aufgabe 16: Eine Netzwerkschicht möchte seinen Nutzern eine zuverlässige Übertragung garantieren. Welche Ereignisse können den Paketen bei der Übertragung widerfahren? Nennen Sie jeweils einen Lösungsansatz. Aufgabe 17: NAT a) Gegeben sei ein handelsüblicher Heimnetzrouter, der hier als NAT eingerichtet ist. Erläutern Sie das Konzept von NAT. b) ? c) Sie wollen einen Server auf Port 22 aufsetzen. Welche zwei Umkonfigurationen müssen Sie dafür in Ihrem Router machen? Aufgabe 18: DHCP Ein neuer Netzwerkteilnehmer verbindet sich mit dem lokalen Netzwerk. In dem Netzwerk gibt es einen DHCP-Server. a) Erläutern Sie, wie er sich über DHCP eine IP-Adresse zuweisen lassen kann. b) ? Aufgabe 19: Routing a) Liegt die IP 149.77.115.1 im Netz 149.77.112.0/22? b) Erläutern Sie den Unterschied zwischen Routing und Forwarding. Aufgabe 20: TCP Fenstergröße ^ | | | | | | (I) | *\ | * | | * \ | * | | * \ (II) | * | *\ | * \ * | | * | * \ | * \ * | | * | * \ | * * | | * \ | __* | | * \ | * | | * \ | __* | __* | * \ * | __* | __* |* * | -----------------------------------------------------------------------------------------> Transmission Round (RTTs) a) ? b) Was passiert bei (I) und (II)? c) Ist das dargestellte Modell nach TCP-Tahoe oder TCP-Reno? Begründen Sie. d) Wie heißt die Technik, die TCP verwendet, um Stau zu vermeiden und eine faire Verteilung der Netzwerkbandbreite zu gewährleisten? Aufgabe 21: TCP a) ? b) Sie sind Programmierer einer Netzwerkanwendung und brauchen möglichst viel Bandbreite. Nennen Sie zwei Möglichkeiten, die Sie als Programmierer habe, die Bandbreite unfair den anderen Teilnehmern gegenüber zu erhöhen. c) Warum ist die Übertragung von RTP verbindungslos?