Anwendungsschicht Flashcards
Erkläre die Client-Server-Architektur
Server:
Wann eingeschaltet?
IP-Adresse …
Server:
- Ist immer eingeschaltet
- Besitzt eine feste IP-Adresse
- Benutzt meistens Serverfarmen
Clients:
- Kommunizieren mit Servern
- Gelegentlich angeschlossen
- Können dynamische IP-Adressen haben
- Kommunizieren untereinander nicht direkt miteinander
Erkläre den Sinn einer Serverfarm
Eine Serverfarm ist eine Gruppe von gleichartigen, vernetzten Server-Hosts, die zu einem logischen System verbunden sind. Sie optimiert die internen Prozesse durch Verteilung der Auslastung zwischen den einzelnen Servern und beschleunigt die Computerprozesse durch Ausnutzung der Rechenleistung mehrerer Server
Erkläre die P2P-Architektur?
Was bedeutet dies?
Kommunikation
Peers
Peer 2 Peer Verbindung
-Endsysteme kommunizieren direkt auf gleicher Höhe miteinander:
Rechner zu Rechner Verbindung
–> Keine Server
- Peers sind nur gelegentlich verbunden und wechseln ihre IP
Der Peer, der die Anfrage schickt ist dann der Client und der andere Peer der Host. Dieses Verhältnis kann sich jedoch ändern
Was ist der Unterschied zwischen Peer-to-Peer und Client Server?
Im Unterschied zum Peer-to-Peer-Modell (dt.: “Gleiche zu Gleichen”), bei dem ein beteiligtes Programm innerhalb des Netzwerkes gleichzeitig Client und Server darstellt, sind beim Client-Server-Modell die Komponenten Client und Server getrennt und auf verschiedene Programme verteilt.
Was ist der Client-Prozess?
Was ist der Server-Prozess?
Client-Prozess: Prozess, der
die Kommunikation beginnt
Server-Prozess: Prozess, der
darauf wartet, kontaktiert
zu werden
Beschreibe Sockets und seine Funktionen
Der Socket sitzt vor jedem Server oder Client.
Prozesse senden/empfangen Nachrichten über einen Socket.
Ein Socket lässt sich mit einer Tür vergleichen.
Erkläre die Funktion von API
Eine API (Application Programming Interface) ist ein Satz von Befehlen, Funktionen, Protokollen und Objekten, die Programmierer verwenden können, um eine Software zu erstellen oder mit einem externen System zu interagieren. Bspw. kann man mithilfe von API das Protokoll festlegen, mit dem die Pakete verschickt werden. (UDP, TCP)
Reicht die IP-Adresse, um einen
Prozess auf diesem Host
zu identifizieren?
Nein, denn Prozesse werden durch
eine IP-Adresse UND eine
Portnummer identifiziert
Was können Objekte auf Websites sein?
HTML-Dateien, JPEG-Bilder,
Java-Applets, Audiodateien, …
Auf welcher Architektur basiert HTTP?
Auf dem Client/Server-Modell
Client: Browser, der Objekte anfragt, erhält und anzeigt
Server: Webserver verschickt Objekte auf Anfrage
Welchen Port benutzt HTTP?
Der Socket erwartet immer den Port 80
Welches Protokoll benutzt HTTP und warum?
TCP, weil man Voraussetzt, dass eine Website die gesamte HTML-Datei anzeigt und nicht einzelne Objekte “verschwinden”.
Manchmal kann es vorkommen, dass einige Objekte fehlen, das liegt wiederum an der Überflusskontrolle von TCP. Dort sind die Objekte nicht verschwunden, sondern werden noch übermittelt
Warum ist HTTP “zustandslos”?
Der Server merkt sich keine
Informationen über
frühere Anfragen von
Clients.
Was ist der Unterschied zwischen
Nichtpersistentem HTTP und
Persistentem HTTP?
Was ist pipelining?
Nichtpersistentes HTTP
Maximal ein Objekt
wird über eine TCP-Verbindung übertragen
HTTP/1.0 verwendet
Nichtpersistentes
HTTP
Persistentes HTTP
Mehrere Objekte
können über eine TCP-Verbindung übertragen
werden
HTTP/1.1 verwendet
standardmäßig
persistentes HTTP
Pipelining ist ab HTTP/1.1 Standard und der Client schickt Requests, sobald er die Referenz zu einem Objekt findet, wodurch idealerweise nur ein wenig mehr als eine RTT benötigt wird für das Laden aller Objekte. Ohne pipelining kommt für jedes Objekt eine eigene Request und die Zeit um ein Objekt zu laden ist mindestens eine RTT.
Was ist ein RTT?
Die Paketumlaufzeit bzw. Round Trip Time, gibt die Zeit an, die ein Datenpaket (Datagramm) in einem Rechnernetz benötigt
Die Zeit zwischen absenden der Request und Ankunft des Response
Wie sieht die HTTP-Request Nachricht aus?

Welche Typen von Anweisungen gibt es und was machen sie?
HTTP/1.0
GET, POST, HEAD
HTTIP/1.1
GET, POST, HEAD, PUT, DELETE
GET: Anforderung einer Resource
POST: schickt unbegrenzte, je nach physischer Ausstattung des eingesetzten Servers, Mengen an Daten zur weiteren Verarbeitung zum Server, diese werden als Inhalt der Nachricht übertragen
HEAD: Bittet den Server nur die Kopfzeile ohne das Objekt zu übertragen
PUT: Lädt die im Datenteil enthaltene Datei an die durch eine URL bezeichnete Position hoch
DELETE: Löscht die durch eine URL angegebene Datei auf dem Server
Wie seiht die HTTP-Responge Nachricht aus?

Nenne mögliche Statuscodes in einer HTTP-Response Nachricht
200 OK
Request war erfolgreich, gewünschtes Objekt ist in der Antwort
enthalten
-301 Moved Permanently
Gewünschtes Objekt wurde verschoben, neue URL ist in der
Antwort enthalten
400 Bad Request
Request-Nachricht wurde vom Server nicht verstanden
-404 Not Found
Gewünschtes Objekt wurde nicht gefunden
-505 HTTP Version Not Supported
Bestandteile einer Cookie-Nachricht
1) Cookie-Kopfzeile in der
HTTP-Response Nachricht
2) Cookie-Kopfzeile in der
HTTP-Request-Nachricht
3) Cookie-Datei, die auf
dem Rechner des
Anwenders angelegt und
vom Browser verwaltet
wird
4) Backend-Datenbank auf
dem Webserver
Welche Informationen speichern Cookies?
-Autorisierungen
-Einkaufswagen
-Empfehlungen
-Sitzungszustand (z.B. bei
Web-E-Mail)
-Formulareingaben
Was ist ein Web-Cache (Proxy-Server) und wie funktioniert er?
Das Ziel von Caching ist es, die Fragen des Clients zu beantworten ohne den ursprünglichen Web-Server.
Dabei gibt es einen Server, welcher anstelle des ursprünglichen Server von einigen Hosts angefragt wird, der Proxy Server.
Der Proxy Server besitzt dabei einige Dateien, sollte er jedoch eine nicht haben kann er diese beim ursprünglichen Server anfragen. Demnach arbeitet ein Proxy Server also als Client und als Server
Der Cach ist normalerweise beim ISP installiert und moderne Browser haben einen Browser-Cache.

Warum Web-Caching?
Verringert die Antwortzeit
Verringert die Antwortzeit
Bei Existenz vieler Caches: „arme“ Inhaltsanbieter können ihre Inhalte gut verbreiten

Wofür steht FTP, wofür benutzt man es, wie funktioniert es, welche Ports benutzt es?
FTP = File Transmittion Protcoll
Übertragen einer Datei von/zu einem entfernten Rechner
FTP-Client kontaktiert den FTPServer auf Port 21, wobei er TCP als Transportprotokoll nutzt
Client autorisiert sich über die Kontrollverbindung
Client betrachtet das entfernte Verzeichnis, indem er Kommandos über die Kontrollverbindung schickt
Empfängt der Server ein Kommando für eine Dateiübertragung, öffnet der Server eine TCP-Datenverbindung zum Client
Nach der Übertragung einer Datei schließt der Server die Verbindung
Was sind die FTP Kommandos und Antworten?
USER username
PASS password
LIST gibt eine Liste der Dateien im aktuellen Verzeichnis zurück
RETR filename lädt eine entfernte Datei auf den lokalen Rechner
STOR filename überträgt eine lokale Datei auf den entfernten Rechner
331 Username OK, password required
125 data connection already open;transfer starting
425 Can’t open data connection
452 Error writing file
Woraus besteht eine E-Mail? Was macht ein Mail-Reader?
Electronic Mail besteht aus einem Anwendungsprogramm, einem Mailserver und dem Übertragungsprotokoll SMTP.
Das Anwendungsprogramm auch Mail-Reader genannt erlaubt das erstellen, lesen und editieren von E-Mails. Die ein und ausgehenden Nachrichten werden auf dem Server gespeichert. Ein Beispiel für ein Anwendungsprogramm ist outlook.
Was ist die Mailbox und die Warteschlange eines Mailservers?
Die Mailbox enthält die eingehenden Nachrichten eines Benutzers
Die Warteschlange für ausgehende Nachrichten enthält die noch zu sendenden E-Mail-Nachrichten

Welches Transportprotocoll verwendet SMTP?
Wie findet der Transport statt?
Was sind die 3-Phasen des Mail versandes?
Worauf basiert die Interaktion?
TCP wird zum zuverlässigen Transport von E-Mail-Nachrichten vom Client zum Server (Port 25) verwendet
Direkter Transport der Nachrichten: vom sendenden Server zum empfangenden Server
Drei Phasen des Mail-Versands: analog zu einer Unterhaltung
- Handshaking (Begrüßung)
- Transfer of Messages (Austausch von Informationen)
- Closure (Verabschiedung)
Interaktion basiert auf dem Austausch von Befehlen (Commands) und Antworten (Responses)
Command: ASCII-Text
Response: Statuscode und Bezeichnung

Wofür steht DNS? Welche Dienste erweist DNS und warum ist DNS nicht zentralisiert?
DNS = Domain Name System
DNS Dienste:
- Übersetzung von Hostnamen in IP-Adressen
- Aliasnamen für Hosts
- Aliasnamen für Mailserver
- Lastausgleich
- Replizierte Webserver: mehrere IP-Adressen von einem kanonischen Namen
Warum ist DNS nicht zentralisiert?
- Robustheit gegenüber Fehlern und Angriffen
- Datenverkehrsaufkommen
- Große physische „Distanz“ zur zentralisierten Datenbank
- Wartung
Wie ist die Hirarchie von DNS-Servern?
DNS-Rootserver
Top-Level Domain Server
Lokaler DNS Server

Was versteht man unter einem Root Server?
Was versteht man unter einem Top-Level-Domain Server?
Was versteht man unter einem Autorativen Server?
Was versteht man unter einem lokalen name Server?
Root Server:
- Wird vom lokalen Nameserver kontaktiert, wenn dieser einen Namen nicht auflösen kann
- Kennt die Adressen der Nameserver der Top-Level-Domains
- Gibt diese Informationen an die lokalen Nameserver weiter
- 13 Weltweit
TLDS:
- Verantwortlich für com, org, net, edu etc. sowie für alle Länder-Domains, z.B. de, uk, fr, ca, jp
- Network Solutions ist verantwortlich für den comTLD-Server
Autorative Server:
- DNS-Server einer Organisation, der eine autorisierte Abbildung der Namen dieser Organisation auf IPAdressen anbietet
- Verwaltet von der entsprechenden Organisation oder einem Service Provider
Lokaler Name Server:
- Gehört nicht zur Hierarchie der DNS-Server
- Jeder ISP hat einen
- Wenn ein Host eine DNS-Anfrage startet, dann schickt er diese an seinen lokalen Nameserver
- Dieser gibt die dann weiter
Wie funktioniert die Namensauflösung eines DNS-Servers?
Beschreibe das Vorgehen Iterativ und Rekursiv
Iterativ:
- Host fragt lokalen DNS-Server an
- Lokaler DNS-Server fragt Root-Server an
- Lokaler DNS-Server erhät Antwort
- Lokaler DNS-Server fragt TLD-DNS-Server an
- Lokaler DNS-Server erhält Antwort
- Lokaler DNS-Server fragt autorativen Server an
- Lokaler DNS-Server erhält die Adresse
- Lokaler DNS-Server gibt die Adresse zurürck an den Host
Rekursiv:
- Host fragt lokalen DNS Server an
- Lokaler DNS-Server fragt Root-Server an
- Root-Server fragt TLD-DNS Server an
- TLD-DNS-Server fragt autorativen Server an
- autorativer Server gibt die IP-Adresse zurürck
- TLD-DNS-Server gibt antwort zurück
- Root-Server gibt antwort zurück
- Lokaler DNS-Server gibt Antwort zurück
Wie funktioniert DNS-Caching?
Sobald ein Nameserver eine Abbildung zur Namensauflösung kennenlernt, merkt er sich diesen in einem Cache
Die Einträge im Cache werden nach einer vorgegebenen Zeit wieder gelöscht
Die Adressen der TLD-Server werden üblicherweise von den lokalen Nameservern gecacht
Wie ist DNS Resource Records aufgebaut?
RR Format: (name, value, typ, ttl)
ttl = time to live
Typ=A
name ist der Hostname
value ist die IP-Adresse
Typ=NS (name server)
name ist eine Domain (z.B. foo.com)
value ist der Hostname des autoritativen Nameservers für diese Domain
Typ=CNAME
name ist ein Alias für einen kanonischen (echten) Namen:
value ist der kanonische Name
Type=MX (Mail Server)
value ist der Name des Mailservers für die Domain name
Wie lautet die Formel um eine Datei an N Computer zu verteilen, bei einer Client Server Architektur?
Wie lautet die Formel um eine Datei an N Computer zu verteilen, bei einer Peer 2 Peer Verbindung?
dcs = max { NF/us, F/min(di ) }
dP2P = max s i s i) { F/u , F/min(d ) , NF/(u + Σu }