Altklausuren Flashcards

1
Q

Definieren Sie den Begriff “Verteiltes System”.

A

Ein Verteiltes System ist eine Sammlung unabhängiger Systeme die untereinander kommunizieren, sich koordinieren und von ihrem Nutzer als ein einziges System wahrgenommen werden.

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

Was bedeutet Transparenz? Welche Arten gibt es, nennen und beschreiben Sie kurz 3 mögliche Arten

A

Transparenz bedeutet das die Verteilung des Systems dem Nutzer verborgen bleibt.
Zugriffs-: Der Zugriff auf entfernte oder lokale Ressourcen geschieht durch identische Funktionen
Orts-: Der Ort der Ressource ist unbekannt
Leistungstransparenz: Unbemerkte Rekonfiguration der Leistung

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

Beschreiben Sie den Unterschied zwischen synchroner und asynchroner Kommunikation. Nennen Sie jeweils einen Vor- und Nachteil

A

Bei synchroner Kommunikation fragt der Client an und wartet auf die Antwort des Servers. Bis dahin ist er blockiert.
Pro: Pufferung, Contra, Gefahr von Deadlock
Bei asynchroner Kommunikation Fragt der Client an und wartet auf die Antwort des Servers, kann aber nebenläufig weitere Anfragen stellen.
Pro: Client ist nicht blockiert, Contra: Komplexere Entwicklung

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

Beschreiben Sie die Funktionsweise und das Einsatzgebiet eines Reverseproxy

A

Proxy als Endsystem, stellvertretend für einen Server. Anfragen werden auf Server umgeleitet und ggf. modifiziert.
Single Sign On: Die Autthentifizierung eines Nutzers findet für mehrere Dienste zentral statt.

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

Welche Rolle spielt die Middleware-Schicht bei verteilten Systemen?

A

Ausgleich der Heterogenität und Verteilungsunterstützung. Durch Schnittstellen ist es unterschiedlichen Systemen möglich miteinander zu kommunizieren und Daten auszutauschen

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

Benennen Sie insgesamt drei Kernkomponenten auf Clientseite und auf Serverseite, die zur Implementierung eines entfernten RMI-Objektaufrufs erforderlich sind. Beschreiben Sie in einem Satz deren Funktionalität

A

RMIRegistry: Namensdienst der Referenzen auf Remote Objekte verwaltet, Objekte müssen hier registriert werden.
Server: Stellt den Dienst bereit und muss das Remote-Interface umsetzen
Client: Holt sich Referenz auf remote Objekt von rmiregistry mit Hilfe von Schnittstellenbeschreibung

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

Gegeben seien drei Prozesse (P1-P3), die jeweils eine eigene logische Uhr gemäß des Algorithmus von Lamport besitzen. Die Taktung der Uhren ist unterschiedlich schnell. Prozesse 1 läuft mit 4er Taktung, Prozess 2 in1er Taktung und Prozesse 3 in 5er Taktung. Die Prozesse tauschen Nachrichten (A-D) gemäß der u.a. Abbildung aus.

Erklären Sie den Algorithmus und zeigen Sie wie sich die Zeit der logischen Uhr por Prozess verändert.

A

Basierend auf der Happened-Before-Relation dient der Algorithmus dem Zuweisen von eindeutigen Zeitstempeln an Nachrichten.
Jeder Prozess hat einen Zähler, der bei jedem Ereignis (bspw. senden und empfangen) erhöht wird.
Zudem wird der aktuelle Stand des Zählers an jede Nachricht als Zeitstempel angehängt.
Wird eine Nachricht empfangen, deren Zeitstempel größer oder gleich dem aktuellen Stand der eigenen Uhr ist, dann wird die Uhr auf den Wert des Zeitstempels+1 gesetzt. Andernfalls wird der aktuelle Stand beibehalten.

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

HTTP/1.1 definiert acht verschiedene Anfrage-Operationen. Nennen Sie drei und erläutern Sie deren Zweck kurz.

A

Post: Ressource hinzufügen
Get: Ressource erhalten
Put: Ressource verändern
Delete: Ressource entfernen

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

Erklären Sie die Begriffe Authentifizierung und Autorisierung. Wie kann dies in einer HTTP Web-Applikation umgesetzt werden?

A

Authentifizierung: Identitätsnachweis. Beispiele: Passwort, PIN
Autorisierung: Rechtevergabe, i.d.R. nach Authentifizierung. Beispiel: Rollen-System

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

Wie unterscheiden sich Paketvermittlung und Leitungsvermittlung? Nennen Sie für jede Technik einen bedeutenden Vorteil.

A

Leitungsvermittlung: Exklusiver Kanal zwischen Sender & Empfänger. Pro: Weniger Koordination zwischen Kommunikationspartnern
Paketvermittlung: Mehrere Sender teilen sich eine Leitung und teilen Daten in Pakete auf. Pro: Es können mehrere Sender Pakete verschicken

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

Wofür stehen die Abkürzungen URI, URL und URN. Geben Sie die ausgeschriebenen Form und jeweils ein Beispiel an.

A

Uniform Ressource Identifier: Abstrakte Ressourcen-Identifikations-Art. Beispiel: Telefonnummer.
Uniform Ressource Locator: Ressourcen Lokalisierung im Internet. Beispiel: Internetadresse
Uniform Ressource Name: Logischer Name innerhalb eines Namespaces. Beispiel: ISBN-Nummer

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

Wozu dienen im allgemeinen im ISO/OSI-Modell bzw. dem TCP/IP-Modell Header benötigt?

A

Zur Ermittlung von Adressen und dem Protokoll auf der nächsthöheren Schicht

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

Einer der ältesten Internet-Dienste ist der echo-Dienst. Er ist mit TCP und UDP über den Port 7 erreichbar. Der Dienst empfängt die vom Client gesendeten Daten und sendet sie unverändert zurück.
1. Schrieben Sie dafür in Java einen einfachen echo-Server (UDP oder TCP), der den Dienst auf einem variablen Port anbietet (default-Port 7) und wie untenstehend aufgerufen wird. Die Anfrage des Clients soll auf der Konsole ausgegeben werden.

  1. Beschreiben Sie die Funktionsweise des Programms.

Programmaufruf $> java EchoServer 1234

A
public class EchoServer {
    public static void main(String[] args) throws IOException {
	     int portNumber;
	     if(args.length > 0) portNumber = args[0];
	     else portNumber = 7;
        try {
            ServerSocket serverSocket = new ServerSocket(portNumber);
            Socket clientSocket = serverSocket.accept();
            PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
            BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
        String inputLine;
        while ((inputLine = in.readLine()) != null) {
            out.println(inputLine);
        }
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Wie kann Ortstransparenz erreicht werden?

A

Der Zugriff auf einen Dienst oder eine Ressource erfolgt über einen bestimmten Namen ohne Ortsinformationen.

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

Was ist mit einem Systemmodell eines Verteilten Systems gemeint? Nennen Sie zwei mögliche Modelle.

A

Ein Systemmodell ist eine abstrakte Systembeschreibung, der Beziehungen zwischen Elementen, Funktionen und Strukturen.
Architekturmodelle (Client-Server) und Kommunikationsmodelle (asynchron)

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

Was sind die Vorteile einer 3-Tier Architektur im Vergleich zu einer 2-Tier Architektur?

A

Durch einführen eines Buisness Logic Tiers können die Zugriffe auf den Database Tier verteilt werden.
Das ermöglicht klare Trennung, Entkopplung und Kapselung.

17
Q

Was ist eine Message Oriented Middleware (MOM)? Geben Sie zusätzliche noch mindestens ein Beispiel für MOM an.

A

Eine Kommunikationsorientierte Middelware ist eine Abstraktion der Netzwerkkommunikation.
Sie übernimmt die Vermittlung von Nachrichten.
Beispiel: Java Messaging Service (JMS).

18
Q

Beschreiben Sie kurz das Konzept eines Publisher/Subscriber-Systems.

A

Mehrere Subscriber können sich eintragen und erhalten die Nachricht so bald ein Publisher veröffentlicht

19
Q

Was sind CORBA Facilites? Erläutern Sie den Unterschied zwischen horizontalen und vertikalen Facilities.

A

Im Gegensatz zu CORBA-Services Anwendungsorientierte Dienstkomponenten.
Die auch vom Anwendungsentwickler erstellt werden.
Horizontale: Anwendungsübergreifend hinweg nutzbare Dienste.
Vertikale: Spezifisch für Anwendungsdomäne

20
Q

Erläutern Sie die Funktionalität von Interface Repository unter CORBA

A

Interface Repository: Verwaltet Objektschnittstellen aller registrierten CORBA Objekte

21
Q

Benennen und beschreiben Sie die beiden verschiedenen Verbindungstypen des FTP Protokolls.

A

Aktiv
§ Client kontaktiert Server, öffnet zusätzlichen Port und nennt diesen dem Server.
§ Datenübertragung läuft über diesen Port

Passiv
§ Client kontaktiert Server, Server erstellt neuen Port und nennt diesen dem Client
§ Client verbindet sich mit neuem Port und benutzt ausschließlich diesen zur Datenübertragung

22
Q

Benennen und beschreiben Sie zwei Mechanismen, um eine HTTP Applikation abzusichern.

A

Na da halt HTTPS und so draus zu machen. So True #HochschuleDerHerzen#DankeMerkel

23
Q

Warum ist TCP für die Übertragung von Sprachdaten bei Voice over IP (VoIP) ungeeignet? Begründen Sie.

A

Durch TCP können Verzögerung aufgrund der Sicherung auftreten

24
Q

Welche Operationen bieten Namensdienste an?

A

Binden, Auflösen, Suchen, Löschen

25
Q

Zu welchen Zweck werden die Protokolle ARP und SMTP eingesetzt

A

Simple Mail Transfer Protocol: Zuständig für Mail-VersandAddress Resolution Protocol: Zustellung von IP-Paketen im Lan

26
Q

Was versteht man unter dem Begriff IPC. Nennen Sie zwei verschiedene IPC Arten und erklären Sie diese.

A

IPC ist Interprozesskommunikation und ermöglicht die Kommunikation zwischen Prozessen. über einen Kommunikationskanal.
RPC: Remote Procedure Call ist remotes IPC und ermöglicht den entfernten Prozeduraufruf Client-Server Modell

27
Q

Wie kann Zugriffstransparenz erreicht werden

A

Durch identische Operationen für entfernte und lokale Operationen und veröffentlichte, standardisierte Schnittstellen

28
Q

Inwiefern stellt die Verwendung von URLs eine Möglichkeit dar Ortstransparenz zu erreichen? Warum bieten URLs mit Hilfe des DNS auch Replikationstransparenz?

A

Über eine URL lassen sich Ressourcen identifizieren ohne ihren Ort kennen zu müssen.

Mithilfe von DNS lässt sich eine Verbindung zu den Servern herstellen auf denen die verteilte Anwendung läuft.Findet eine Veränderung innerhalb der verteilten Anwendung statt kann diese für das gesamte System übernommen werden.

29
Q

Diskutieren Sie bitte die Vor- und Nachteile eines Client-Server-Systems gegenüber einem Peer-to-Peer-System.

A

Peer to Peer ermöglicht verschiedene Topologien, beispielsweise durch Overlay-Netzwerke.Beim Client-Server-Modell ist dafür die Aufgabenteilung einfacher.

30
Q

Beschreiben Sie die Funktionsweise und das Einsatzgebiet eines Proxy

A

Ein Proxy vermittelt zwischen Client und Server. Sie können zur als HTTP-proxy, zur Lastenverteilung oder zur Anonymisierung eingesetzt werden.

31
Q

Was versteht man unter einem Man-In-The-Middle Angriff. Skizzieren und beschreiben Sie das Prinzip eines MITM

A

Angreifer agieren unbemerkt zwischen zwei Kommunikationspartnern und können Datenverkehr mitverfolgen und verändern

32
Q

Warum kann man einen SPAM-Versender in der Regel nicht anhand der Absenderadresse, die im Header der Mail steht ermitteln?

A

In der Regel wird die Adresse im Header verfälscht.

33
Q

Wozu dienen ganz allgemein die Ports bei UDP/TCP? Wie werden sie durch die Kommunikationsprotokolle umgesetzt?

A

UDP & TCP verwenden Ports als IP-Erweiterung

34
Q

Warum ist UDP für die Übertragung von Echtzeitdaten geeignet? Begründen Sie und stellen Sie einen Vergleich zu TCP her.

A

UDP ist besser als TCP geeignet da UDP die schnellere Verbindung ist und weniger Overhead hat.

35
Q

Einer der ältesten Internet-Dienste ist der echo-Dienst. Er ist mit TCP und UDP über den Port 7 erreichbar. Der Dienst empfängt die vom Client gesendeten Daten und sendet sie unverändert zurück. Schreiben Sie dafür in Java einen einfachen echo-Client (UDP oder TCP), der den Dienst auf dem Rechner “echosrv” benutzt und wie untenstehend aufgerufen wird. Die Antwort des Servers soll auf der Konsole ausgegeben werden.

$> java Echo “Das ist meine Nachricht”

A
public class EchoClient {
    public static void main(String[] args) throws IOException {
        String hostName = "127.0.0.1";
        int portNumber = 7;
	String message = args[0];
        try (
                Socket echoSocket = new Socket(hostName, portNumber);
                PrintWriter out = new PrintWriter(echoSocket.getOutputStream(), true);
                BufferedReader in = new BufferedReader(new InputStreamReader(echoSocket.getInputStream()));
                BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in))
        ) {
	out.println(message);
	System.out.println(in.readLine());
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
36
Q

Erklären sie die Begriffe Marshalling und Unmarshalling

A

Marshalling: Umwandlung von strukturierten Daten in ein übertragbares Format
Unmarshalling: Daten werden aus einem übertragbaren Format in strukturierte Daten umgewandelt.