Skip to content

Commit

Permalink
AnkiBot: Automatically added missing IDs
Browse files Browse the repository at this point in the history
  • Loading branch information
AnkiTUM-Bot committed Jul 25, 2024
1 parent c8fd225 commit ef73a23
Show file tree
Hide file tree
Showing 3 changed files with 220 additions and 19 deletions.
70 changes: 64 additions & 6 deletions IN0010_GRNVS/sitzungs_darstellungs_anwendungsschicht.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,50 +3,61 @@ author: Hugo Melder
id: 3473949327
cards:
- type: markdown
id: 0 # (generated)
front: Was ist eine Session?
back: |
**Kommunikation** zwischen mindestens zwei Teilnehmern mit **definiertem Anfang
und Ende**, sowie sich darauf ergebender Dauer.
- type: markdown
front: Welche verschiedenen Dienste werden üblicherweise im verbindungsorientierten Modus angeboten?
id: 1 # (generated)
front: Welche verschiedenen Dienste werden üblicherweise im verbindungsorientierten
Modus angeboten?
back: |
- **Aufbau** und **Abbau** von Sessions
- **Prioritisierung**
- **Synchronisation**
- **Fehlermeldungen**
- **Wiederherstellung** nach Verbindungsabbruch
- type: markdown
id: 2 # (generated)
front: Wozu werden Cookies bei HTTP gebraucht?
back: |
Um Informationen über mehrere Anfragen und Antworten zu erhalten.
Um Informationen über mehrere Anfragen und Antworten zu erhalten.
- type: markdown
id: 3 # (generated)
front: Welchen Schichten kann HTTP zugeordnet werden?
back: |
Anwendungsschicht (7), beinhaltet aber auch Funktionen
der Darstellungs- und Sitzungsschicht (Schichten 6/5).
- type: markdown
id: 4 # (generated)
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.
- type: markdown
id: 5 # (generated)
front: Was ist TLS?
back: |
Ein Protokoll um einen sicheren Kanal über einen verbindungsorientierten Transportdienst zu gewährleisten.
- type: markdown
id: 6 # (generated)
front: Wie können TLS Sitzungen über mehrere TCP-Verbindungen hinweg erhalten bleiben?
back: |
- type: markdown
id: 7 # (generated)
front: Welchen Schichten kann TLS zugeordnet werden?
back: |
- Verwaltung und Wiederaufnahme von Sessions: **Sitzungsschicht**
- Verschlüsselungsfunktionen: **Darstellungsschicht**
- type: markdown
id: 8 # (generated)
front: Was passiert im Verbindungsaufbau bei TLS?
back: |
Es werden **Verfahren für Authentifizierung und Verschlüsselung, sowie
Zertifikate** ausgetauscht
- type: markdown
id: 9 # (generated)
front: Erläutere die Aufgaben der **Darstellungsschicht**!
back: |
- **Kodierung** der Daten
Expand All @@ -55,109 +66,135 @@ cards:
- Verschlüsselung
- **Strukturierte Darstellung** von Daten
- type: markdown
id: 10 # (generated)
front: Was ist ein Zeichensatz?
back: |
Eine Menge von Zeichen, bei der jedes **Zeichen** mit einem **Codepoint*** verknüpft ist.
- type: markdown
id: 11 # (generated)
front: Nenne Beispiele für Zeichensätze?
back: |
- ASCII
- Unicode
- type: markdown
id: 12 # (generated)
front: Was ist ein Codepoint?
back: |
Ein Codepoint ist eine eindeutige "Kennzahl" für höchstens ein Textzeichen.
- type: markdown
front: Was ist der Unterschied zwischen **Fixed-Length** und **Variable-Length** Codes?
id: 13 # (generated)
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
- type: markdown
id: 14 # (generated)
front: Wofür steht UTF in UTF-8?
back: |
**U**nicode **T**ransformation **F**ormat
- type: markdown
id: 15 # (generated)
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.
- type: markdown
id: 16 # (generated)
front: Warum wird UTF-8 in der Praxis am häufigsten eingesetzt?
back: |
UTF-8 ist **rückwärts-kompatibel** zu ASCII
- type: markdown
id: 17 # (generated)
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
- type: markdown
front: Welchen Möglichkeiten gibt es für die strukturierte Austausch und Darstellung von Anwendungsdaten?
id: 18 # (generated)
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
- type: markdown
id: 19 # (generated)
front: Warum ist es problematisch gepackte Structs für den Datenaustausch zu verwenden?
back: |
- **Platform-abhängig**e Kodierung (Endianes, etc.)
- Gleiche Datenstrukturen (und Compiler) müssen verwendet werden.
- type: markdown
id: 20 # (generated)
front: Wie werden Kompressionsverfahren unterschieden?
back: |
- **Verlustfreie Komprimierung** (engl. lossless compression)
- **Verlustbehaftete Komprimierung** (engl. lossy compression)
- type: markdown
id: 21 # (generated)
front: Was versteht man unter Quellenkodierung?
back: |
Komprimieren von Daten vor dem Senden.
- type: markdown
id: 22 # (generated)
front: Was ist die grundlegende idee der Huffman-Kodierung?
back: |
Variable Codewortlänge basierend auf Auftrittswahrscheinlichkeit.
- type: markdown
id: 23 # (generated)
front: Beschreibe wie man einen Huffman-Baum konstruiert.
back: |
- type: markdown
id: 24 # (generated)
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)|[/$$]
# Domain Name System (DNS)
- type: markdown
id: 25 # (generated)
front: Aus welchen *drei* wesentlichen Kompontenten besteht DNS?
back: |
1. **Domain Namespace**
2. **Nameserver**
3. **Resolver**
- type: markdown
id: 26 # (generated)
front: Was ist ein FQDN?
back: |
Ein **F**ully **Q**ualified **D**omain **N**ame besteht aus einer Sequenz
von Labels vom Knoten und endet an der Wurzel mit einem Punkt: `tum.de.`
- type: markdown
id: 27 # (generated)
front: Erläutere den Unterschied zwischen *Resolver* und *Nameserver*?
back: |
- type: markdown
id: 28 # (generated)
front: Welche Funktionen erfüllen `d.root-servers.net` und `a.gtld-servers.net`?
back: |
- type: markdown
id: 29 # (generated)
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.
- type: markdown
id: 30 # (generated)
front: Was macht ein DNS **Nameserver**?
back: |
- speichern Informationen über den Namensraum
- jeder Server kennt nur kleine Ausschnitte des Namensraums (**Zonen**)
- type: markdown
id: 31 # (generated)
front: Was ist der Well-Known Port für DNS?
back: |
53
- type: markdown
id: 32 # (generated)
front: Finden Zone Transfers über UDP oder TCP statt?
back: |
TCP
- type: markdown
id: 33 # (generated)
front: Nenne Beispiele für DNS **Resource Records**
back: |
- SOA
Expand All @@ -169,29 +206,36 @@ cards:
- TXT
- PTR
- type: markdown
id: 34 # (generated)
front: Was machen der A und AAAA DNS **Resource Record**
back: |
Assoziieren einen FQDN mit einer IPv4 bzw. IPv6-Adresse
- type: markdown
id: 35 # (generated)
front: Was sind **MX** Resource Records?
back: |
Geben den FQDN eines Mailservers an
- type: markdown
id: 36 # (generated)
front: Was sind **SOA** Resource Records?
back: |
**S**tart **o**f **A**uthority Records geben den Wurzel der Zone an, für die ein Nameserver autoritär ist.
- type: markdown
id: 37 # (generated)
front: Was sind **NS** Resource Records?
back: |
Geben den FQDN eines Nameservers an
- type: markdown
front: Was passiert, wenn der autoritativer Nameserver für `example.org` `ns.example.org` ist?
id: 38 # (generated)
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`).
- type: markdown
id: 39 # (generated)
front: |
Beschreibe den folgenden **SOA** Record von `grnvs.net`:
Expand All @@ -204,74 +248,88 @@ cards:
- **Expire** Feld: Lebensdauer einer Kopie
- **NXDomain** Feld: Cache Lebensdauer für Resolver
- type: markdown
id: 40 # (generated)
front: Woher weiß ein Resolver, wo er anfangen soll?
back: |
Statische Liste der Root Server, die für die Root-Zone autoritativ sind.
- type: markdown
id: 41 # (generated)
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
- type: markdown
id: 42 # (generated)
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
- type: markdown
id: 43 # (generated)
front: Was sind getrennte Zonen im Namespace unterhalb von `in-addr.arpa.`?
back: |
Getrennte Zonen entsprechen einzelne IP-Adressen.
- type: markdown
id: 44 # (generated)
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.
- type: markdown
id: 45 # (generated)
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.`
- type: markdown
id: 46 # (generated)
front: Wofür steht URL?
back: |
**U**niform **R**esource **L**ocator
- type: markdown
id: 47 # (generated)
front: Was enthält eine HTTP **Request**?
back: |
- Methode (z.B. `GET`, `HEAD`, `PUT`, `POST`, etc.)
- URL
- Weitere Header (`Host`, `User-Agent`, etc.)
- type: markdown
id: 48 # (generated)
front: Was enthält eine HTTP **Response**?
back: |
- Status-Line (z.B. `200 OK`)
- Response Header
- (Abhängig von der Methode) Body
- type: markdown
id: 49 # (generated)
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
- type: markdown
id: 50 # (generated)
front: Wie ist FTP aufgebaut?
back: |
- Nutzt **zwei** getrennte TCP-Verbindungen
1. Kontrollkanal
2. Datenkanal
- Kontrollkanal bleibt über *mehrere* Datentransfers hinweg bestehen
- type: markdown
id: 51 # (generated)
front: Ist FTP stateful?
back: |
Ja! Der Kontrollkanal bleibt über *mehrere* Datentransfers hinweg bestehen.
- type: markdown
id: 52 # (generated)
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`-
- type: markdown
id: 53 # (generated)
front: Was ist das Problem mit FTP active mode und NAT?
back: |
back: |
Loading

0 comments on commit ef73a23

Please sign in to comment.