Fragenkatalog Flashcards

1
Q

Zeichnen Sie in den gegebenen Koordinatensystemen die entsprechenden Kurven ein und beschriften Sie diese. Markieren und benennen Sie außerdem wichtige Stellen

A

1: konstante Laufzeit
2: Maximaler Speedup / Theoretisch
3: Realistisch (Gut verteilt und gut implementiert)
4: Nicht verteilbarer, aber dennoch verteilt implementiert

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Beschreiben Sie folgende Kurven. Nennen Sie Unterschiede und mögliche Ursachen

Grafik mit ABC

A

a: hoher Speed-Up mit großem Nutzen bei verteilter Berechnung. Anfangs jedoch unplausibel sogar oberhalb des theoretischen Maximums (linear). Ggf. wegen Cache-Effekten oder falscher Messung.
b: schwächerer aber realistischer Speed-Up. Bei steigender Rechnerzahl stellt sich ein Gleichgewicht aus Gewinn durch verteilte Berechnung und Verlust durch höheren Verteilungsaufwand ein.
c: noch schwächerer und ebenfalls realistischer Speed-Up, bei steigender Rechnerzahl ist der Verlust durch höheren Verteilungsaufwand größer als der Gewinn durch verteilte Berechnung.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Ist Amdahls Gesetz realistisch? Wieso, wieso nicht?

A

Nein, Amdahls Gesetz geht davon aus dass die serielle Arbeit (s = Tv + Te) mit steigender Rechneranzahl konstant bleibt. Allerdings erhöht sich der Aufwand für die Verteilung (Tv) und Zusammenführung der Ergebnisse (Te) mit steigender Rechnerzahl und somit auch s.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Der Durchsatz ist nicht gleich der Bandbreite, wieso?

A

Bandbreite ist die physikalische obere Schranke der Transferrate. (Was in die Leitung passt) Durchsatz beschreibt die tatsächlichen Nutzdaten, die beim Empfänger ankommen. Ohne Fehler und Overhead, der durch Sender und Empfänger entsteht.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Beschreiben Sie die Zusammenhänge von Laufzeit und Effizienz in Hinsicht auf VSS. Angaben in Stichpunkten oder mit Formeln.

A

Laufzeit (Tg) = (Tv) + (Ta) + (Te) Tv = Zeit für die Verteilung der Arbeit Ta = Zeit für die eigentliche Arbeit Te = Zeit für das Zusammenführen der Ergebnisse Effizienz im Bezug auf VSS ist die optimale Verteilung der Arbeit (Ta) im verteilten System zur größtmöglichen Optimierung der Laufzeit. (Sinnvolle Arbeit durch geleistete Arbeit)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Warum ist die Zuverlässigkeit bei verteilten Systemen erhöht oder reduziert?

A

Erhöhte/Gesteigerte Zuverlässigkeit: - Redundante, fehlerhafte Systeme (Replikation etc.) - Berücksichtigung bereits beim Systemdesign - Datenhaltung in gut gesicherten Räumen
Reduzierte Zuverlässigkeit: - Alle Glieder der Kette erforderlich (Abhängigkeiten im System - schwächstes Glied etc.) - Mehr Ausfallmöglichkeiten - „Kommt von allein“

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Nennen Sie 2 Gründe für und ein Grund gegen verteilte Systeme

A

Dafür: - Gemeinsame Nutzung von Ressourcen (Drucker, Dateien, Speicher, …) - Parallelität: Verschiedenen Prozesse können gleichzeitig auf verschiedenen Prozessoren ausgeführt werden
Dagegen: - Komplexität: Hoher Entwicklungsaufwand und Entwicklungsrisiken, Großer Pflegeaufwand - Sicherheit: Zugänglichkeiten schwer kontrollierbar. “Mithören” ist möglich.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Erklären Sie 3 der 7 in der Vorlesung gezeigten Transparenzpunkte

A

Zugriffstransparenz: Zugriffsmechanismen für entfernte und lokale Elemente sind identisch Lokationstransparenz: Der physische Ort von Elementen ist irrelevant, der Zugriff erfolgt über einen unabhängigen Namen
Fehlertransparenz: Das Gesamtsystem bietet bei bestimmten Fehlern weiterhin die geforderte Funktionalität, die Daten bleiben konsistent

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Welche OSI-Schicht haben die angegebenen Protokolle und welche Funktion erfüllen sie im Kontext von IPv4?

A

Protokoll OSI-Schicht Funktion
Ethernet 1 und 2 Datenaustausch mit Dataframes
TCP 4 Zeichenstromübertragung
UDP 4 Paketübertragung
IP 3 Adressierung
HTTP 5, 6 und 7 Datenaustausch mit Anwendungsschicht
HTTPS 5, 6 und 7 Gesicherte Datenaustausch mit Anwendungsschicht (SSL-Verschlüsselt)
DNS 5, 6 und 7 Namensauflösung

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Warum ist das Man-in-the-Middle Problem für das Zwei-Armeen-Problem nicht relevant?

A

Zwei-Armeen-Problem: Korrekte Prozesse, fehlerhafte Kommunikation. Beim Man-in-the-Middle Problem können Nachrichten von einem Mittelsmann gelesen oder verändert werden. Dies ist beim Zwei-Armeen-Problem nicht möglich, hier werden Nachrichten nur abgefangen, aber weder gelesen noch manipuliert.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Die Byzantinischen Generäle: Was für Anforderungen stellen wir an Prozesse und Kommunikation? Was ist hierbei für VSS wichtig?

A

Byzantinische Generäle: Fehlerhafte Prozesse, korrekte Kommunikation Für VSS ist wichtig, dass es eine Einigung auf eine gemeinsame Entscheidung gibt. Anforderungen: Einigung bei k Verrätern und n Personen: n >= 3k+1

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Sie haben 2 Ethernet Segmente und setzen einen Router dazwischen. Was ist seine Aufgabe und wie kommt er dieser nach?

A

Problem: A will B ein Paket schicken, aber sie sind nicht im gleichen Subnetz. Aufgabe des Routers: Verbinde die beiden Segmente A stellt fest das das die Ziel-IP des Pakets nicht in seinem Subnetz ist. Also schickt er Das Packet an den Router. Router bekommt das Paket und stellt fest, dass dessen Ziel-IP in einem anderen Subnetz ist. Jetzt schickt der Router eine ARP-Anfrage in diesem Subnetz an die IP, damit er die MAC-Adresse von B bekommt. Jetzt kann das Paket an B geschickt werden.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Was für eine Bedeutung haben Well-Known Ports im Internet und geben Sie exemplarisch einen solchen Port an. Nennen Sie außerdem einen Grund wieso man diese nicht immer verwenden kann.

A

Standardisierte Ports für Serverdienste: Der Vorteil hierbei ist, dass Standard-Ports wie für http oder dns nicht „gewusst“ werden müssen. Die Verwaltung dieser Ports von 0-1023 erfolg durch IANA. Bsp.: http = port 80, dns = 53. Manchmal kann man diese Ports allerdings nicht verwenden, da man beispielsweise nicht die Berechtigung dafür besitzt, oder weil man es nicht will um Angriffe zu reduzieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Erläutern Sie das Schichten-Konzept in verteilten Systemen anhand von TCP/IP in einem Ethernet-Netzwerk. Gehen Sie dabei auch auf OSI-Schichten-Nummern ein.

A

Im Gegensatz zum siebenschichtigen OSI-Schichtenmodell der ISO besteht das TCP/IPSchichtenmodell des Internet nur aus vier Schichten. Die OSI-Schichten 5-7 werden hier zur Anwendungsschicht und die Schichten 1-2 zur Netzzugangsschicht zusammengefasst.

Die Daten der oberen Schicht werden jeweils mit einem Header versehen und an die nächste Schicht weitergereicht. (Umschlag im Umschlag im Umschlag)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Skizzieren Sie in zeitlich korrekter Abfolge einen TCP-Client und einen TCP-Server Verbindungsaufbau.

A

Client —- SYN seq = x —- > Server
Client Server

Verbindung offen für Daten

Client —- FIN seq = x + n —> Server
Client Server

Aufbau der Verbindung vom Client durch Senden eines SYN (mit zufälliger Sequenznummer x). Bestätigung vom Server durch Senden von SYN ACK (ACK mit x+1 und SYN mit eigner zufälliger Sequenznummer y). Abschließende Bestätigung des Clients durch ACK (mit y+1). -> Verbindung ist offen für Daten. Beim Abbau wird die Verbindung analog mit FIN über drei Pakete geschlossen. Bei Paketverlust tritt allgemeines Zwei-Armeen-Problem (korrekte Prozesse, fehlerhafte Kommunikation) auf. D.h. das Beenden der Verbindung kann nicht endlos bestätigt werden. -> Lösung bei TCP: Bestätigung von FIN, aber keine Bestätigung der Bestätigung. 2

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Tragen Sie in der untenstehenden Tabelle eine Gemeinsamkeit von TCP und UDP ein sowie 2 nicht triviale Unterschiede.

A

Gemeinsamkeit 1: Beide befinden sich in der OSI-Schicht 4
Gemeinsamkeit 2: Beide besitzen 16 Bit Portnummern Unterschied: 1 Zeichenorientiert(TCP) Paketorientiert(UDP)
Unterschied: 2 Automatischer(TCP) Retransmit Kein Retransmit (Fire and Forget)(UDP)
Unterschied 3: Besitzt Puffer(TCP) Besitzt keinen Puffer (UDP)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Wieso wird auch bei Peer-to-Peer Netzwerken das Client-Server-Paradigma angewandt?

A

In einem Peer-to-Peer Netzwerk nimmt ein Peer gleichzeitig die Stellung des Servers und die des Clients ein. Er ist quasi Client von anderen Peers und Server von anderen Peers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

TCP Socket als Code und erklären / TCP Sockets, welche Java Ausrufe sind bei Client und Server in der richtigen zeitlichen Abfolge notwendig um eine Kommunikation zu gewährleisten.

A
1 Anlegen eines TCP-Server-Sockets:
new ServerSocket(int port); Socket accept();
2 Anlegen eines TCP-Client-Sockets:
new Socket(String host, int port); 
new Socket(InedAddress addr, int port);
3 Kommunikation mittels TCP-Socket:
OutputStream getOutputStream(); 
InputStream getInputStream(); 
4 Schließen eines TCP-Sockets:
void close(); 
void shutdownOutput(); 
void shutdownInput();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Schreiben Sie einen UDP Server und Client in Java

A

//Server
DatagramSocket socket = new DatagramSocket(4711);
//Receive Packet
DatagramPacket inPacket = new DatagramPacket(new byte[512], 512);
socket.receive(inPacket);
//Send Packet
DatagramPacket outPacket = new DatagramPacket(byte[] data, int datalength, InetAdress adr, int toPort);
socket.send(outPacket);
// Schließen der Sockets
socket.close();

UDP Client == UDP Server

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Schreiben sie einen TCP Server

A
// Create ServerSocket with Port 4711
ServerSocket serverSocket = new ServerSocket(4711);
// Create ClientSocket and wait for Connection
Socket clientSocket = serverSocket.accept();
// Handels für In-Output
BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(clientSocket.getOutputStream()));
// Sockets schließen
serverSocket.close();
clientSocket.close();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Schreiben Sie einen TCP Client

A
// Create new Socket to the Server
Socket socket = new Socket();
// Connect to Server
socket.connect(new InetSocketAdress("localhost",4711));
// Handles für Input und Output
BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
// Socket schließen
socket.close();
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Erklären Sie kurz die Funktionsweise von Cookies und wann sie eingesetzt werden

A

HTTP ist ein vollständig zustandsloses Protokoll, Benutzer-Aktionen aber sind oft zustandsbehaftet sind (z.B. Login, persönlicher nichtöffentlicher Bereich usw.). Um Sitzungsdaten über mehrere Requests hinweg zu speichern, werden oft Cookies eingesetzt. Der Server sendet dabei ein Cookie an den Client. Dieser speichert das Cookie und sendet dieses nun bei jedem Request zu dieser Seite wieder an den Server zurück. Der Server kann die Anfrage nun dank dem Cookie zuordnen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Statische Webseite, dynamisch clientseitig und dynamisch serverseitig erklären

A

Bei statischen Inhalten handelt es sich um statische Dateien, die weder vom Server noch vom Client verarbeitet werden, sondern direkt ausgegeben werden. Clientseitig dynamische Webseiten enthalten Code (meist JavaScript), der vom Browser interpretiert und ausgeführt wird. Bei serverseitig dynamischen Webseiten werden Programme auf dem Host ausgeführt, die den Inhalt einer Webseite erzeugen. Die Ausgabe des Programms ist wiederum HTML, das vom Server an den Client geschickt wird.

24
Q

Vektorzeiten: A = (0,3,3) B = (6,1,1) C = (6,6,6)
Begründen Sie anhand der Definition und des obigen Ergebnisses, wieso die Zustände a und b als nebenläufig zu betrachten sind.

A

Zwei Zustände sind Nebenläufig oder parallel, wenn ein Vektoreintrag A[i] kleiner und ein Vektoreintrag A[i] größer ist, als der des anderen Vektors. In diesem Beispiel: ((Ax = 0) < (Bx = 6)) ^ ((Ay = 3) > (By = 1))

25
Q

Vektorzeiten: A = (0,3,3) B = (6,1,1) C = (6,6,6)

Zeigen Sie, dass b vor c kommt.

A

Ein Zustand Z1 kommt vor einem Anderen Z2, wenn alle Vektoreinträge von Z1 kleiner-gleich den Einträgen von Z2 sind und mind. Einer dieser Einträge echt kleiner ist. In diesem Beispiel: ((Bx = 6) <= (Cx = 6)) ^ ((By = 1) < (Cy = 6)) ^ ((Bz = 1) < (Cz = 6)) 1

26
Q

Könnten Sie anhand der Lamport-Zeit beweisen, dass das Ereignis (c) nach (a) stattgefunden hat? Stichwortartig und minimalistisch begründen (ALLGEMEIN)

A

Nein, da Lamportzeiten nur die schwache Konsistenzbedingung für Uhren erfüllen:

27
Q

Kommando GET

A
GET: Abfrage von Daten zu einer URI  
- Kein Datenteil in der Anfrage  
- Abrufen eines Dokuments vom Server 
Bsp.:  
GET /path/file.html HTTP/1.1     
Host: www.host1.com:80     
User-Agent: Mozilla/4.0
28
Q

Kommando HEAD

A
Wie GET, Antwort jedoch ohne Datenteil 
Bsp.: 
HEAD /downloads/gross.exe HTTP/1.0           
Host: meinserver.de           
User-Agent: Mozilla/4.0
29
Q

Kommando POST

A

Mitteilung von Daten für eine URI/an den Server
- Formulardaten, neuer Datensatz etc.
- Daten im Datenteil der Anfrage
Bsp.:
POST /send.php HTTP/1.1
Host: meinserver.de User-Agent: Mozilla/4.0

30
Q

Kommando PUT/DELETE

A
Hochladen/Löschen einer Datei 
Bsp.: 
PUT /neu.html HTTP/1.1            
Host: meinserver.de            
User-Agent: Mozilla/4.0 
Bsp.: 
DELETE /neu.html HTTP/1.1           
Host: meinserver.de           
User-Agent: Mozilla/4.0
31
Q

Gibt man http://www.abc.de:8080/f/g.html in einen Browser ein, müssen verschiedene Bestandteile extrahiert und verarbeitet werden. Beschreiben Sie exemplarisch den Weg von dort beim Klienten bis hin zum Dateiinhalt auf dem Server, gerne auch graphisch.

A

http://www.abc.de:8080/f/g.html malen

32
Q

Wozu dienen Namensdienste? Welche Vorteile bieten hierarchische Namensräume gegenüber flachen, wie funktionieren hierarchische typischerweise?

A

Menschen können Namen besser lesen als Adressen. Namensdienste dienen dazu diese Namen in Adressen zu übersetzen. Bei hierarchischen Namensräumen ist die Skalierung, Navigation und die Partitionierung besser umgesetzt. Hierarchische Namensdienste strukturieren Namen durch Trennungszeichen (z.B. „/“). Die Verwaltung der einzelnen Knoten kann unabhängig und/oder verteilt erfolgen (Partitionierung möglich).

33
Q

Das DNS ermöglicht u.a. die Auflösung von Namen zu IP-Adressen. Beschreiben Sie drei wesentliche nichttriviale Merkmale des Systems.

A

Hierarchischer Namensdienst:

  • u.a. Auflösung von Namen zu IP-Adressen
  • Abschluss einer Hierarchie durch einen Punkt

Abfrage über TCP oder UDP, beide auf Port 53:

  • kleine Anfragen typischerweise per UDP
  • große Anfragen ausschließlich per TCP

Weltweit verteile Datenspeicherung:

  • gleichberechtigte Root-Nameserver
  • viele weitere Nameserver darunter
34
Q

Skizzieren Sie kurz den kompletten Aufbau einer Antwort auf eine gültige DNS-Anfrage.

A

DNS Skizze

35
Q

Nennen und Beschreiben Sie 3 verschiedene Wege zur Auflösung eines Namens mittels DNS

A

Iterativ durch Rechner
Nicht-Rekursiv servergesteuert
rekursiv servergesteuert

36
Q
HTTP Server Erklären
public static void main(String[] args){
// X1:
HttpServer server = HttpServer.create(new InetSocketAdress(8000), 10);
// X2:
server.createContext("/", new InfoServer());
server.start();
System.out.println("server started");
A

X1: Klasse für Http Server - create() braucht eine IP Adresse und Portnummer

X2: Context für das Mapping zwischen Server und Handler damit requests verarbeitet werden können
Wenn es einen Request ohne entsprechenden Handler gibt —> 404

37
Q
//X1:
private static class InfoServer implements HttpHandler {
//X2:
public void(HttpExchange x) throws IOException{
String requestMethod = x.getRequestMethod();
if (requestMethod.equalsIgnoreCase("GET")) {
//X3:
Headers responseHeaders = x.getResponseHeaders();
//X4:
responseHeaders.set("Content-Type", "text/plain");
//X5:
x.sendResponseHeaders(200,0);
//X6:
OutputStream responseBody = x.getResponseBody();
//X7:
Headers requestHeaders = x.getRequestHeaders();
//X8:
Set keySet = requestHeaders.keySet();
Iterator iter = keySet.iterator();
//X9:
responseBody.write("Hello .. ....");
//X10:
while (iter.hasNext()) {
....
}
responseBody.close();
A

X1: HttpHandler: Benötigtes Interface um HTTP Requests zu handln, kennt nur die Methode handle()

X2: HttpExchange: Instanz dieser Klasse geht an Handler - hat Methoden zum erhalten von RequestInfos und Antworten

X3: Header erstellen und Antworten an den Client

X4: Stellt Header auf den Content type “text”

X5: Sendet die Antwort zurück an den Client mit dem Aktuellen Set an Antwort Headern und dem nummerischen Antwort Code

X6: Stream in den der ResponseBody geschrieben werden muss

X7: Header Erstellen um Requests vom Client zu verarbeiten

X8: Erstellen von Hashmap mit Keys für Requests

X9: Antwort an den Client

X10: Handler läuft solange weiter, bis der Client keine Requests mehr hat

38
Q

Snapshot Aufgabe

A

Siehe Aufgabe

39
Q

Vektorzeiten Aufgabe

A

Siehe Aufgabe

40
Q

Lamportzeiten Aufgabe

A

Siehe Aufgabe

41
Q

Konsistenzen

A

Siehe Aufgabe

42
Q

Warum können zwei Uhren auf zwei Rechnern nicht hundertprozentig synchron ablaufen?

A

Da die Übertragung und auch die Auswertung der Uhrzeit selbst auch Zeit benötigt. Außerdem ist es nicht möglich eine genaue Taktübereinstimmung zu bekommen, da Taktraten generell viel zu schnell sind.

43
Q

Replikation vs. Migration

A

Replikat = „Kopie eines Gegenstandes“

  • Hier: Kopie einer Variablen oder eines Objekts
  • Gleichzeitiger Zugriff an verschiedenen Stellen
  • Kopie kann „veralten“ oder „veraltet sein“

Gegensatz Migration = Wanderung

  • Variablen oder Objekte „wandern“
  • Kein gleichzeitiger Zugriff
  • Objekt ist immer aktuell – oder nicht vorhanden
44
Q

Nennen Sie die 4 ACID Eigenschaften von Transaktionen

A

Atomarität: Ausführung „ganz oder gar nicht“ Konsistenz: vorher und nachher konsistent
Isolierung: temporäre Werte nicht sichtbar Dauerhaftigkeit: Zustände gesichert

45
Q

Erläutern Sie den Unterschied zwischen Serialisierung und Serialisierbarkeit bei Transaktionen

A

Serialisierung: strikte Trennung von Transaktionen und deren Ausführung in Folge.
Serialisierbarkeit: Bei nebenläufig arbeitenden Transaktionen werden ausschließlich Ergebnisse erzielt, die auch in einer seriellen Abarbeitungsfolge der Transaktionen erzielt werden können. Über die tatsächliche Reihenfolge ist damit nichts ausgesagt.

46
Q

Erklären Sie kurz den Hauptgedanken von optimistischen und pessimistischen Verfahren sowie die Vor- und Nachteile.

A

Optimistische Verfahren: ohne Sperren

  • viele Leser und Schreiber ein Gewinner
  • Rücksetzung bei Lese-Schreib-Konflikt

Vorteile:
- Garantiert keine Verklemmungen
- Keinerlei Sperren erforderlich
- Zugriffe müssen nicht vorab bekannt sein
Nachteile: - Bei konfliktträchtigen Algorithmen: Gefahr der Verschwendung von CPU-Zeit
- Höheres Abbruchpotenzial als mit Sperren

Pessimistische Verfahren: mit Sperren
- viele Leser oder genau ein Schreiber pro Element
Hier werden im Vorfeld einer Transaktion Maßnahmen getroffen, um einen parallelen schreibenden Zugriff auf identische Datenbankobjekte zu verhindern.

Vorteile:

  • Sinnvoll bei hoher Konfliktwahrscheinlichkeit
  • Einfach, wenn alle Zugriffe im Vorfeld bekannt Nachteile:
  • Teure Sperren-Beantragung &
  • Freigabe übers Netz
  • Sperrung von ggf. verteilten Elementen erforderlich
47
Q

Wie sorgt transaktionale Konsistenz dafür, dass nicht nur die Transaktion selbst, sondern auch das Gesamtsystem konsistent ist?

A

Während der Laufzeit einer Transaktion ändern sich ihre Eingabedaten nicht und ihre Zwischenergebnisse sind für andere Transaktionen nicht sichtbar. Wenn eine Transaktion schief geht oder es zwischen Transaktionen zu Konflikten kommt, werden diese abgebrochen (abort). Erst im Falle eines erfolgreichen Transaktionsabschlusses wird dieser auch in die Datenbank geschrieben (commit). Dies sorgt automatisch dafür, dass auch das Gesamtsystem konsistent bleibt.

48
Q

Geben Sie kurz (ohne Klassen und Methoden) die Funktionsweise des Proxy-Servers aus der Übung an. Beschreiben Sie auch kurz welche Änderungen nötig sind damit er mehrere Verbindungen gleichzeitig behandeln kann.

A

Siehe VSSFragenkatalog Verschlüsselung: 1.

49
Q

Problem: Bob kann nicht wissen dass die Nachricht wirklich von Alice kommt, da nur mit Bobs öffentlichem Schlüssel verschlüsselt wurde.

A

2 Schlüssel verwenden. Bevor Alice die Nachricht mit Bobs öffentlichem Schlüssel (KB+) verschlüsselt, verschlüsselt sie die Nachricht mit ihrem eigenen privaten Schlüssel (KA-) Nachdem Bob die Nachricht mit seinem privaten Schlüssel (KB-) entschlüsselt, muss er zusätzlich noch Alice öffentlichen Schlüssel (KA+) benutzen. Wenn das funktioniert kann er sich sicher sein, dass die Nachricht mit Hilfe von (KA-) verschlüsselt wurde, d.h. von Alice.

50
Q

Was ist das Problem beim Austausch von Public Keys? Nenne eine möglichst sichere Möglichkeit das Problem zu umgehen.

A

Problem: Muss echt sein

Lösung: Persönlicher Kontakt

51
Q

KDC Ausfüllen

A

Siehe VSSFragenkatalog2018 Verschlüsselung: 4.

52
Q

Es ist das Alphabet und folgende Wörter gegeben. Sie wurden mit einer ROT-x Verschlüsselung verschlüsselt. Wie lautet das unverschlüsselte Wort?

Als Hilfe: A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

A

Rot-3: FRRO = COOL
Rot-2: HGKP = FEIN
Rot-2: VQNN = TOLL
Rot-4: GSSP = COOL

53
Q

Was machen

(1) LocateRegistry.createRegistry(Registry.REGISTRY_PORT); (2) Namin.rebind(„rmi: //“+REGISTRY_HOST+“/StateBuilder“, new StateBuilderImpl());
(3) RemoteState rs=((StateBuilderIntf)Naming.lookup(„rmi: //“+REGISTRY_HOST+“/StateBuilder“)).getNewState();

A

Zu 1: Registry erzeugen (Server oder Registry-Rechner)
Zu 2: Objekt/Server-Instanz erzeugen und bei Registry anmelden (Server)
Zu 3: Referenz bei Registry abfragen. Entfernte Methode aufrufen (Client)

54
Q

RMI Erklären und Skizzieren

A

Siehe VSSFragenkatalog2018 Höhere Dienste

55
Q

Google File System erklären

A
  • Der Client frägt am Master-Server mit Dateiname und Chunk-Index an.
  • Master Server hat die entsprechenden Chunk-Handle und Speicherorte immer aktuell gespeichert (Er schickt Befehle an Chunk-Server und bekommt deren Zustände) und gibt diese dem Client zurück.
  • Mit diesen Informationen frägt der Client beim entsprechenden Chunk-Server mit dem ChunkHandle und dem Byte-Bereich an und bekommt von dem entsprechenden Chunk-Server die angefragten Chunk
  • Daten
  • Eignet sich für die Speicherung, nicht jedoch für das Löschen oder Bearbeiten von Daten (aufgrund Replikationen usw.)
56
Q

Höhere Dienste Aufgabe 3

A

Siehe VSSFragenkatalog2018 Höhere Dienste 4.