Title: IN0010_GRNVS / GRNVS: Kapitel 5: Sitzungs-, Darstellungs- und Anwendungsschicht
On every note of this deck, unless a note says otherwise:
Title: IN0010_GRNVS::GRNVS: Kapitel 5: Sitzungs-, Darstellungs- und Anwendungsschicht
Logo: tum_logo.png

Front: Was ist eine Session?
Back: Kommunikation zwischen mindestens zwei Teilnehmern mit definiertem Anfang und Ende, sowie sich darauf ergebender Dauer.

Front: Welche verschiedenen Dienste werden üblicherweise im verbindungsorientierten Modus angeboten?
Back: - Aufbau und Abbau von Sessions
- Prioritisierung
- Synchronisation
- Fehlermeldungen
- Wiederherstellung nach Verbindungsabbruch

Front: Wozu werden Cookies bei HTTP gebraucht?
Back: Um Informationen über mehrere Anfragen und Antworten zu erhalten.

Front: Welchen Schichten kann HTTP zugeordnet werden?
Back: Anwendungsschicht (7), beinhaltet aber auch Funktionen der Darstellungs- und Sitzungsschicht (Schichten 6/5).

Front: Was versteht man unter einem sicheren Kanal?
Back: Der sichere Kanal abstrahiert vom eigentlichen Anwendungsprotokoll, sichert die Schutzziele (CIA) aber den höheren Protokollschichten zu.

Front: Was ist TLS?
Back: Ein Protokoll um einen sicheren Kanal über einen verbindungsorientierten Transportdienst zu gewährleisten.

Front: Wie können TLS Sitzungen über mehrere TCP-Verbindungen hinweg erhalten bleiben?

Front: Welchen Schichten kann TLS zugeordnet werden?
Back: - Verwaltung und Wiederaufnahme von Sessions: Sitzungsschicht
- Verschlüsselungsfunktionen: Darstellungsschicht

Front: Was passiert im Verbindungsaufbau bei TLS?
Back: Es werden Verfahren für Authentifizierung und Verschlüsselung, sowie Zertifikate ausgetauscht

Front: Erläutere die Aufgaben der Darstellungsschicht!
Back: - Kodierung der Daten
  - Zeichensätze
  - Kompression
  - Verschlüsselung
- Strukturierte Darstellung von Daten

Front: Was ist ein Zeichensatz?
Back: Eine Menge von Zeichen, bei der jedes Zeichen mit einem Codepoint verknüpft ist.

Front: Nenne Beispiele für Zeichensätze?
Back: - ASCII
- Unicode

Front: Was ist ein Codepoint?
Back: Ein Codepoint ist eine eindeutige "Kennzahl" für höchstens ein Textzeichen.

Front: Was ist der Unterschied zwischen Fixed-Length und Variable-Length Codes?
Back: - Fixed-Length: Alle Zeichen werden mit Codewörtern derselben Länge kodiert
- Variable-Length: Zeichen können mit Codewörtern unterschiedlicher Länge kodiert werden

Front: Wofür steht UTF in UTF-8?
Back: Unicode Transformation Format

Front: Was ist der Unterschied zwischen einem Codepoint und einer UTF Kodierung?
Back: Ein Codepoint identifiziert höchstens ein Zeichen, während UTF die Kodierung eines Codepoints spezifiziert.

Front: Warum wird UTF-8 in der Praxis am häufigsten eingesetzt?
Back: UTF-8 ist rückwärts-kompatibel zu ASCII

Front: Warum ist es wichtig, dass UTF-8 prefixfrei und selbstsynchronisierend ist?
Back: Ermöglicht effizientes Parsen und fehlerfreies Erkennen von Zeichenanfängen in Datenströmen

Front: Welchen Möglichkeiten gibt es für die strukturierte Austausch und Darstellung von Anwendungsdaten?
Back: - (gepackte) structs/serialisierte Speicherbereiche: Daten werden so wie sie im Speicher vorliegen übertragen
- Struktureierte Serialisierungsformate: XML oder JSON

Front: Warum ist es problematisch gepackte Structs für den Datenaustausch zu verwenden?
Back: - Platform-abhängige Kodierung (Endianes, etc.)
- Gleiche Datenstrukturen (und Compiler) müssen verwendet werden.

Front: Wie werden Kompressionsverfahren unterschieden?
Back: - Verlustfreie Komprimierung (engl. lossless compression)
- Verlustbehaftete Komprimierung (engl. lossy compression)

Front: Was versteht man unter Quellenkodierung?
Back: Komprimieren von Daten vor dem Senden.

Front: Was ist die grundlegende idee der Huffman-Kodierung?
Back: Variable Codewortlänge basierend auf Auftrittswahrscheinlichkeit.

Front: Beschreibe wie man einen Huffman-Baum konstruiert.

Front: Was ist ein optimaler Präfixcode?
Back: Gültige Codewörter sind niemals Präfix eines anderen Codeworts. Minimiert mittlere Codewortlänge:
[$$]\sum_{i \in \mathcal{A}} p(i) \cdot |c(i)|[/$$]

Front: Aus welchen drei wesentlichen Kompontenten besteht DNS?
Back: 1. Domain Namespace
2. Nameserver
3. Resolver

Front: Was ist ein FQDN?
Back: Ein Fully Qualified Domain Name besteht aus einer Sequenz von Labels vom Knoten und endet an der Wurzel mit einem Punkt: tum.de.

Front: Erläutere den Unterschied zwischen Resolver und Nameserver?

Front: Welche Funktionen erfüllen d.root-servers.net und a.gtld-servers.net?

Front: Was macht ein DNS Resolver?
Back: Dienst der durch Anfragen an Nameserver Informationen aus dem Namespace extrahiert, zwischenspeichert und Clients zu Verfügung stellt.

Front: Was macht ein DNS Nameserver?
Back: - speichern Informationen über den Namensraum
- jeder Server kennt nur kleine Ausschnitte des Namensraums (Zonen)

Front: Was ist der Well-Known Port für DNS?
Back: 53

Front: Finden Zone Transfers über UDP oder TCP statt?
Back: TCP

Front: Nenne Beispiele für DNS Resource Records
Back: - SOA
- NS
- A
- AAAA
- CNAME
- MX
- TXT
- PTR

Front: Was machen der A und AAAA DNS Resource Record
Back: Assoziieren einen FQDN mit einer IPv4 bzw. IPv6-Adresse

Front: Was sind MX Resource Records?
Back: Geben den FQDN eines Mailservers an

Front: Was sind SOA Resource Records?
Back: Start of Authority Records geben den Wurzel der Zone an, für die ein Nameserver autoritär ist.

Front: Was sind NS Resource Records?
Back: Geben den FQDN eines Nameservers an

Front: Was passiert, wenn der autoritativer Nameserver für example.org ns.example.org ist?
Back: Um ns.example.org aufzulösen muss eine Anfrage an den autoritativen Nameserver für example.org abgeschickt werden. Es tritt eine zirkuläre Abhängigkeit auf.
Eine Lösung sind Glue-Records in der DNS Zone der Eltern-Domäne (Hier .org).

Front: Beschreibe den folgenden SOA Record von grnvs.net:
Back: - TTL: Für nachfolgenden Resource Records
- Serial Feld: Version der Zonendatei
- Refresh Feld: Update Intervall für Secondaries
- Retry Feld: Retry (Update) Intervall für Secondaries
- Expire Feld: Lebensdauer einer Kopie
- NXDomain Feld: Cache Lebensdauer für Resolver

Front: Woher weiß ein Resolver, wo er anfangen soll?
Back: Statische Liste der Root Server, die für die Root-Zone autoritativ sind.

Front: Was versteht man unter Reverse DNS?
Back: Im DNS können über PTR Records auch FQDNs für IP-Adressen hinterlegt werden.
- in-addr.arpa. für IPv4
- ip6.arpa. für IPv6

Front: Welche Einschränkungen ergeben sich für den Namespace unterhalb von in-addr.arpa.?
Back: - Da jede Ebene einem ganzen Oktett entspricht, gibt es maximal vier Ebenen
- Subnetze, deren Präfixlänge nicht 8, 16, 24, oder 32 ist, können nicht in getrennten Zonen gespeichert werden

Front: Was sind getrennte Zonen im Namespace unterhalb von in-addr.arpa.?
Back: Getrennte Zonen entsprechen einzelne IP-Adressen.

Front: Erläutere, wie der IPv4-Adressbereich in den DNS Namespace eingebettet wird.
Back: IPv4-Adressen werden oktett-weise in umgekehrter Reihenfolge als Labels interpretiert und unterhalb des FQDNs in-addr.arpa. gespeichert.

Front: Was ist der FQDN für 8.8.4.4 im Reverse DNS?
Back: 4.4.8.8.in-addr.arpa.
Dieser zeigt wiederum auf dns.google.

Front: Wofür steht URL?
Back: Uniform Resource Locator

Front: Was enthält eine HTTP Request?
Back: - Methode (z.B. GET, HEAD, PUT, POST, etc.)
- URL
- Weitere Header (Host, User-Agent, etc.)

Front: Was enthält eine HTTP Response?
Back: - Status-Line (z.B. 200 OK)
- Response Header
- (Abhängig von der Methode) Body

Front: Was ist der Unterschied zwischen HTTP PUT und POST?
Back: - PUT: Objekt überschreibt ggf. ein bereits existierendes Objekt
- POST: Objekt wird ggf. an ein bereits existierendes Objekt angehängt

Front: Wie ist FTP aufgebaut?
Back: - Nutzt zwei getrennte TCP-Verbindungen
  1. Kontrollkanal
  2. Datenkanal
- Kontrollkanal bleibt über mehrere Datentransfers hinweg bestehen

Front: Ist FTP stateful?
Back: Ja! Der Kontrollkanal bleibt über mehrere Datentransfers hinweg bestehen.

Front: Was ist der Unterschied zwischen FTP active mode und passive mode?
Back: - Active Mode: Client teilt mittels des PORT-Kommandos dem Server eine zufällige Portnummer mit
- Passive Mode: Client teilt mittels PASV-

Front: Was ist das Problem mit FTP active mode und NAT?