From c8fd225ecce2697281ed98c9bbd54bb619aabb5d Mon Sep 17 00:00:00 2001 From: hmelder Date: Fri, 26 Jul 2024 00:57:07 +0200 Subject: [PATCH] IN0010_GRNVS: Chap. 2-5 --- IN0010_GRNVS/resources/paket_multiplexing.png | Bin 0 -> 75350 bytes IN0010_GRNVS/resources/soa_record.png | Bin 0 -> 71828 bytes IN0010_GRNVS/resources/unicode_table.png | Bin 0 -> 41927 bytes ...tzungs_darstellungs_anwendungsschicht.yaml | 277 +++++++++++++ IN0010_GRNVS/transportschischt.yaml | 391 ++++++++++++++++++ IN0010_GRNVS/vermittlungsschicht.yaml | 306 +++++++++++++- 6 files changed, 970 insertions(+), 4 deletions(-) create mode 100644 IN0010_GRNVS/resources/paket_multiplexing.png create mode 100644 IN0010_GRNVS/resources/soa_record.png create mode 100644 IN0010_GRNVS/resources/unicode_table.png create mode 100644 IN0010_GRNVS/sitzungs_darstellungs_anwendungsschicht.yaml create mode 100644 IN0010_GRNVS/transportschischt.yaml diff --git a/IN0010_GRNVS/resources/paket_multiplexing.png b/IN0010_GRNVS/resources/paket_multiplexing.png new file mode 100644 index 0000000000000000000000000000000000000000..3b5391d444251afc8b5ddd7c27be84ce4091ff5b GIT binary patch literal 75350 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 CGz8B8 literal 0 HcmV?d00001 diff --git a/IN0010_GRNVS/resources/soa_record.png b/IN0010_GRNVS/resources/soa_record.png new file mode 100644 index 0000000000000000000000000000000000000000..d384c995012cd6fa3721a821cb3b9d93b9676e12 GIT binary patch literal 71828 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 literal 0 HcmV?d00001 diff --git a/IN0010_GRNVS/resources/unicode_table.png b/IN0010_GRNVS/resources/unicode_table.png new file mode 100644 index 0000000000000000000000000000000000000000..979abf6104e662aa61bfa94e564bb298ffc355c3 GIT binary patch literal 41927 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 D3~2*Q literal 0 HcmV?d00001 diff --git a/IN0010_GRNVS/sitzungs_darstellungs_anwendungsschicht.yaml b/IN0010_GRNVS/sitzungs_darstellungs_anwendungsschicht.yaml new file mode 100644 index 0000000..726d8bc --- /dev/null +++ b/IN0010_GRNVS/sitzungs_darstellungs_anwendungsschicht.yaml @@ -0,0 +1,277 @@ +title: 'GRNVS: Kapitel 5: Sitzungs-, Darstellungs- und Anwendungsschicht' +author: Hugo Melder +id: 3473949327 +cards: +- type: markdown + 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? + back: | + - **Aufbau** und **Abbau** von Sessions + - **Prioritisierung** + - **Synchronisation** + - **Fehlermeldungen** + - **Wiederherstellung** nach Verbindungsabbruch +- type: markdown + front: Wozu werden Cookies bei HTTP gebraucht? + back: | + Um Informationen über mehrere Anfragen und Antworten zu erhalten. +- type: markdown + front: Welchen Schichten kann HTTP zugeordnet werden? + back: | + Anwendungsschicht (7), beinhaltet aber auch Funktionen + der Darstellungs- und Sitzungsschicht (Schichten 6/5). +- type: markdown + 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 + front: Was ist TLS? + back: | + Ein Protokoll um einen sicheren Kanal über einen verbindungsorientierten Transportdienst zu gewährleisten. +- type: markdown + front: Wie können TLS Sitzungen über mehrere TCP-Verbindungen hinweg erhalten bleiben? + back: | +- type: markdown + front: Welchen Schichten kann TLS zugeordnet werden? + back: | + - Verwaltung und Wiederaufnahme von Sessions: **Sitzungsschicht** + - Verschlüsselungsfunktionen: **Darstellungsschicht** +- type: markdown + front: Was passiert im Verbindungsaufbau bei TLS? + back: | + Es werden **Verfahren für Authentifizierung und Verschlüsselung, sowie + Zertifikate** ausgetauscht +- type: markdown + front: Erläutere die Aufgaben der **Darstellungsschicht**! + back: | + - **Kodierung** der Daten + - Zeichensätze + - Kompression + - Verschlüsselung + - **Strukturierte Darstellung** von Daten +- type: markdown + front: Was ist ein Zeichensatz? + back: | + Eine Menge von Zeichen, bei der jedes **Zeichen** mit einem **Codepoint*** verknüpft ist. +- type: markdown + front: Nenne Beispiele für Zeichensätze? + back: | + - ASCII + - Unicode +- type: markdown + 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? + 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 + front: Wofür steht UTF in UTF-8? + back: | + **U**nicode **T**ransformation **F**ormat +- type: markdown + 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 + front: Warum wird UTF-8 in der Praxis am häufigsten eingesetzt? + back: | + UTF-8 ist **rückwärts-kompatibel** zu ASCII +- type: markdown + 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? + back: | + - **(gepackte) structs**/**serialisierte Speicherbereiche**: Daten werden so wie sie im Speicher vorliegen übertragen + - **Struktureierte Serialisierungsformate**: XML oder JSON +- type: markdown + 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 + front: Wie werden Kompressionsverfahren unterschieden? + back: | + - **Verlustfreie Komprimierung** (engl. lossless compression) + - **Verlustbehaftete Komprimierung** (engl. lossy compression) +- type: markdown + front: Was versteht man unter Quellenkodierung? + back: | + Komprimieren von Daten vor dem Senden. +- type: markdown + front: Was ist die grundlegende idee der Huffman-Kodierung? + back: | + Variable Codewortlänge basierend auf Auftrittswahrscheinlichkeit. +- type: markdown + front: Beschreibe wie man einen Huffman-Baum konstruiert. + back: | +- type: markdown + 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 + front: Aus welchen *drei* wesentlichen Kompontenten besteht DNS? + back: | + 1. **Domain Namespace** + 2. **Nameserver** + 3. **Resolver** +- type: markdown + 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 + front: Erläutere den Unterschied zwischen *Resolver* und *Nameserver*? + back: | +- type: markdown + front: Welche Funktionen erfüllen `d.root-servers.net` und `a.gtld-servers.net`? + back: | +- type: markdown + 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 + front: Was macht ein DNS **Nameserver**? + back: | + - speichern Informationen über den Namensraum + - jeder Server kennt nur kleine Ausschnitte des Namensraums (**Zonen**) +- type: markdown + front: Was ist der Well-Known Port für DNS? + back: | + 53 +- type: markdown + front: Finden Zone Transfers über UDP oder TCP statt? + back: | + TCP +- type: markdown + front: Nenne Beispiele für DNS **Resource Records** + back: | + - SOA + - NS + - A + - AAAA + - CNAME + - MX + - TXT + - PTR +- type: markdown + front: Was machen der A und AAAA DNS **Resource Record** + back: | + Assoziieren einen FQDN mit einer IPv4 bzw. IPv6-Adresse +- type: markdown + front: Was sind **MX** Resource Records? + back: | + Geben den FQDN eines Mailservers an +- type: markdown + 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 + 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? + 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 + front: | + Beschreibe den folgenden **SOA** Record von `grnvs.net`: + + [[image: soa_record.png]] + 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 +- type: markdown + 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 + 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 + 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 + front: Was sind getrennte Zonen im Namespace unterhalb von `in-addr.arpa.`? + back: | + Getrennte Zonen entsprechen einzelne IP-Adressen. +- type: markdown + 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 + 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 + front: Wofür steht URL? + back: | + **U**niform **R**esource **L**ocator +- type: markdown + 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 + front: Was enthält eine HTTP **Response**? + back: | + - Status-Line (z.B. `200 OK`) + - Response Header + - (Abhängig von der Methode) Body +- type: markdown + 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 + front: Wie ist FTP aufgebaut? + back: | + - Nutzt **zwei** getrennte TCP-Verbindungen + 1. Kontrollkanal + 2. Datenkanal + - Kontrollkanal bleibt über *mehrere* Datentransfers hinweg bestehen +- type: markdown + front: Ist FTP stateful? + back: | + Ja! Der Kontrollkanal bleibt über *mehrere* Datentransfers hinweg bestehen. +- type: markdown + 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 + front: Was ist das Problem mit FTP active mode und NAT? + back: | \ No newline at end of file diff --git a/IN0010_GRNVS/transportschischt.yaml b/IN0010_GRNVS/transportschischt.yaml new file mode 100644 index 0000000..85f9120 --- /dev/null +++ b/IN0010_GRNVS/transportschischt.yaml @@ -0,0 +1,391 @@ +title: 'GRNVS: Kapitel 4: Transportschicht' +author: Hugo Melder +id: 247835429 +cards: +- type: markdown + front: Was ist sind die wesentlichen Aufgaben der Transportschicht? + back: | + - **Multiplexing** von Datenströmen unterschiedlicher Anwendungen. + - Bereitstellung **verbundsloser** und **verbindungsorientierter** Transportmechanismen + - **Stau-** und **Flusskontrolle** +- type: markdown + front: Welche Art von Transportdiensten haben wir kennengelernt? + back: | + - **Verbindungslos** + - **Verbindungsorientiert** +- type: markdown + front: Was zeichnet einen *verbindungslosen* Transportdienst aus? + back: | + - **Segmente** sind aus Sicht der Transportschicht voneinander **unabhängig** + - Keine Sequenznummern + - Keine Übertragungswiederholung + - Kein Reordering von Segmenten +- type: markdown + front: Was zeichnet einen *verbindungsorientierten* Transportdienst aus? + back: | + - Übertragungswiederholung bei Fehlern + - Garantie der richtigen Reihenfolge einzelner Segmente +- type: markdown + front: Unterscheide Stau- und Flusskontrolle + back: | + - **Staukontrolle** (Congestion Control): *Reaktion* auf drohende Überlast **im Netz** + - **Flusskontrolle** (Flow Control): Laststeuerung durch den Empfänger +- type: markdown + front: Warum werden `sendto()` und `recvfrom()` für verbindungslose Sockets benötigt? + back: | + Es werden Adressangaben benötigt. +- type: markdown + front: Was sind die Mindestanforderungen an den Header eines *verbindungslosen* Transportprotokols? + back: | + - Quell- und Zielport + - Längenangabe der Nutzdaten +- type: markdown + front: Mit welchem Präprozessormakro werden verbindungslose POSIX-Sockets identifiziert? + back: | + `SOCK_DGRAM`, wobei `DGRAM` für **Datagram* steht. +- type: markdown + front: Was sind Vorteile von UDP? + back: | + - Geringer Overhead + - Keine Verzögerung durch Verbindungsaufbau, Retransmits und ReorderingVorteile + - Keine Beeinflussung der Datenrate durch Fluss- und Staukontrollmechanismen +- type: markdown + front: Was sind Nachteile von UDP? + back: | + - Kein Zusicherung von Dienstqualität + - Out-of-Order Delivery + - Keine Fluss- oder Staukontrolle +- type: markdown + front: Was ist die grundlegende Idee einer verbindungsorientierten Übertragung? + back: | + Linear durchnummerierte Segemnete mittels **Sequenznummern** im Protokolheader. +- type: markdown + front: Was ermöglichen Sequenznummern? + back: | + - **Bestätigung** erfolgreich übertragener Segmente + - **Identifikation** fehlender Segmente + - **erneutes Anfordern** fehlender Segmente + - **Zusammensetzen** der Segmente in **richtiger Reihenfolge** +- type: markdown + front: Was ist die Voraussetzung für die Verwendung von Sequenznummern? + back: | + Sender und Empfänger müssen sich **synchronisieren** und **Zustand halten**. +- type: markdown + front: Welchen Einfluss können Fenstergrößen beim Sliding-Window-Verfahren haben? + back: | + - Empfänger kann die Datenrate steuern (Flusskontrolle) + - Anpassung an die verfügbare Datenrate auf dem Übertragungspfad (Staukontrolle) +- type: markdown + front: Welche zwei Möglichkeiten gibt es beim Sliding-Window-Verfahren, um mit Segmentverlusten umzugehen? + back: | + - **Go-Back-N**: + - **Selective-Repeat**: +- type: markdown + front: Wie funktioniert **Go-Back-N**? + back: | + - Akzeptiert stets nur die nächste erwartete Sequenznummer + - Alle anderen Segmente werden verworfen +- type: markdown + front: Wie funktioniert **Selective-Repeat**? + back: | + - Akzeptiert alle Sequenznummern, die in das aktuelle Empfangsfenster fallen + - Diese müssen gepuffert werden, bis fehlende Segmente erneut übertragen wurden +- type: markdown + front: Was muss für das Sendefenster bei **Go-Back-N** stets gelten? + back: | + [$$]w_s \leq N - 1[/$$] +- type: markdown + front: Was muss für das Empfangsfenster bei **Go-Back-N** gelten? + back: | + Da nur das nächste erwartete Segment akzeptiert wird, reicht ein Empfangsfenster + der Größe [$]w_r = 1[/$] aus. +- type: markdown + front: Was muss für das Sendefenster bei **Selective-Repeat** stets gelten? + back: | + [$$]w_s \leq \left\lfloor \frac{N}{2} \right\rfloor[/$$] +- type: markdown + front: Was muss für das Empfangsfenster bei **Selective-Repeat** stets gelten? + back: | + [$$]w_s \leq w_r \leq \left\lfloor \frac{N}{2} \right\rfloor[/$$] +- type: markdown +# Transport Control Protocol (TCP) + front: Wie wird der TCP Handshake auch bezeichnet? + back: 3-Way-Handshake +- type: markdown + front: Wofür ist das `Offset` Feld im TCP Header da? + back: | + Gibt Länge des *Headers* in Vielfachen von 4B an. +- type: markdown + front: Wofür wird das `ACK`-Flag verwendet? + back: | + Ist das Flag gesetzt, handelt es sich um eine **Empfangsbestätigung**. +- type: markdown + front: Kann eine Empfangsbestätigung in TCP auch mit weiteren Nutzdaten kombiniert werden? + back: | + Ja. Dabei wird `ACK` und die Acknowledgement Number entsprechend gesetzt. +- type: markdown + front: Was gibt die Acknowledgement-Number bei TCP an? + back: | + Das **nächste erwartete** Byte. +- type: markdown + front: Wann ist das `PSH`-Flag sinnvoll? + back: | + Für interaktive Anwendungen. +- type: markdown + front: Welche Bedeutung hat ein gesetztes `PSH` flag? + back: | + Sende- und empfangsseitige Puffer des TCP-Stacks werden umgangen. +- type: markdown + front: Wann wird das `RST`-Flag gesetzt? + back: | + Bei Abbruch einer TCP-Verbindung ohne ordnungsgemäßen Verbindungsabbau. +- type: markdown + front: Welche Besonderheit haben das `SYN` und `FIN`flag? + back: | + Ein gesetztes `SYN`/`FIN`-Flag inkrementiert Sequenz- und Bestätigungsnummern um + 1, obwohl keien Nutzdaten transportiert werden. +- type: markdown + front: Was ist das `Receive Window` Feld bei TCP? + back: | + Größe des aktuellen Empfangsfenster in Byte +- type: markdown + front: Was gibt die **MSS** an? + back: | + Maximale Größe eines TCP-Segments (Nutzdaten ohne TCP-Header) an. +- type: markdown + front: Wie sollte die MSS gewählt werden? + back: | + MSS sollte so gewählt werden, dass **keine IP-Fragmentierung beim Senden** stattfindet. +- type: markdown + front: | + Was ist die maximale MSS bei folgender Konfiguration, sodass keine Fragmentierung auftritt? + - MTU: 1500B + - IPv4-Header: 20B + - TCP-Header: 20B + back: | + 1500B - 20B - 20B = 1460B +- type: markdown + front: | + Was ist die maximale MSS bei folgender Konfiguration, sodass keine Fragmentierung auftritt? + - MTU: 1500B + - PPPoE-Header: 8B + - IPv4-Header: 20B + - TCP-Header: 20B + back: | + 1500B - 8B - 20B - 20B = 1452B +- type: markdown + front: Wie wird die **Flusskontrolle** bei TCP realisiert? + back: | + - Empfänger teilt dem Sender über das `Receive Window` Feld die *aktuelle* Größe des Empfangsfensters mit + - Sender interpretiert dies als die **maximale Anzahl an Bytes**, die ohne ein ACK übertragen werden dürfen +- type: markdown + front: Wie kann bei TCP die Übertragungsrate des Senders gedrosselt werden? + back: | + Indem der Empfänger das `Receive Window` (im nächsten `ACK`) herabsetzt. +- type: markdown + front: Ist das **Staukontrollfenster** im TCP Header zu finden? + back: | + Nein. Das Staukontrollfenster wird intern von Sender verwaltet. +- type: markdown + front: Wann wird das Staukontrollfenster vergrößert? + back: | + Solange Daten verlustfrei übertragen werden. +- type: markdown + front: Wann wird das Staukontrollfenster verkleinert? + back: | + Wenn Verluste bei der Übertragung auftreten. +- type: markdown + front: Was gilt für das tatsächliche Sendefenster? + back: | + [$]w_s = \min\{ w_c, w_r\}[/$] +- type: markdown + front: Zwischen welchen zwei Phasen der Staukontrolle wird bei TCP grundsätzlich unterschieden? + back: | + 1. **Slow-Start** + 2. **Congestion Avoidance** +- type: markdown + front: Was passiert in der **Slow-Start** Phase bei der TCP Staukontrolle? + back: | + - Für **jedes** bestätigte **Segment** wird das **Congestion Window um eine MSS vergrößert**. + - Bis **Congestion Threshold** erreicht ist. +- type: markdown + front: Warum wächst das Congestion Window in der Slow-Start Phase expoentiell? + back: | + Wenn wir das Congestion Window (cwnd) als k * MSS betrachten und **für jedes bestätigte + Segment** das cwnd **um eine MSS vergrößern**, wird cwnd nach jedem RTT verdoppelt. + + [$$]W_c = 2^n * W_c0[/$$], wobei [$]n[/$] die Anzahl an RTs ist. +- type: markdown + front: Wer setzt den initialen Slow-Start Threshold (sstresh)? + back: | + Der sstresh ist Abhängig von der TCP Implementierung, wird aber meistens + zu einem großen vorgegebenen Wert, oder dem `receive window` des Empfängers + gesetzt. +- type: markdown + front: Beschreibe die **Congestion Avoidance** Phase bei TCP! + back: | + Für jedes bestätigte Segment wird das cwnd jediglich um (1/cwnd) MSS vergrößert. + Nach einer RTT als um genau eine MSS. + + Damit ein **lineares Wachstum**. +- type: markdown + front: Welche zusätzlichen Funktionen hat **TCP Reno**? + back: | + - 3 duplizierte Bestätigungen (Duplicate ACKs) + - Timeout +- type: markdown + front: Was versteht man unter "3 duplizierte Bestätigungen" bei TCP Reno + back: | + Wenn drei duplizierte Bestätigungen vom Empfänger gesendet werden: + 1. Setze `sstresh` auf `cwnd`/2 + 2. Reduziere `cwnd` auf `sstresh` + 3. Beginne mit Congestion Avoidance Phase +- type: markdown + front: Was versteht man unter der "Timeout" bei TCP Reno + back: | + Wenn ein Timeout beim Senden auftritt: + 1. Setze `sstresh` auf `cwnd`/2 + 2. Setze `cwnd` = 1 MSS + 3. Beginne mit neuem Slow Start +- type: markdown + front: | + Wie groß muss das Sendefenster (gemessen in Byte) gewählt werden, damit + *kontinuierlich* gesendet werden kann? + back: | + Das erste ACK kann frühestens nach einer RTT eintreffen. + + [$$]w_s \geq \text{RTT} \cdot r[/$$], wobei r die Bitrate. +# Network Address Translation (NAT) 4-36 +- type: markdown + front: Müssen IP-Adressen immer **eindeutig** sein? + back: | + Nein. z.B. wenn + - Kommunikation zum Internet nicht bestehen muss (isoliertes Internet) oder + - die nicht eindeutigen **privaten IP-Adressen** auf geeignete Weise **in öffentliche Adressen übersetzt werden** +- type: markdown + front: Definiere NAT. + back: | + **N**etwork **A**ddress **T**ranslation sind Techniken zur Übersetzung von + [$]N \geq 1[/$] auf [$]M \geq 1[/$] andere IP-Adressen. +- type: markdown + front: Wie funktioniert die Übersetzung von N **privaten** und M **öffentlichen** IP-Adressen bei [$]N \leq M[/$]? + back: | + Jeder privaten IP-Adresse wird mind. eine öffentliche IP-Adresse zugeordnet. +- type: markdown + front: Wie funktioniert die Übersetzung von N **privaten** und M **öffentlichen** IP-Adressen bei [$]N > M[/$]? + back: | + **Port-Multiplexing**. Wir assoziieren öffentliche Ports mit einer privaten + IP-Adresse und einem privaten Port (muss nicht gleich sein). +- type: markdown + front: Was sind die vier privaten Adressbereiche bei IPv4? + back: | + - `10.0.0.0/8` + - `172.16.0.0/12` + - `169.254.0.0/16` + - `192.168.0.0/16` +- type: markdown + front: Wie viele Einträge kann eine NAT-Tabelle fassen? + back: | + 2^16 pro Transportprotokoll (TCP und UDP) und pro globaler IP-Adresse. +- type: markdown + front: | + Was ist, wenn das Transportprotokoll keine Portnummern hat oder IP-Pakete + ohne TCP-/UDP-Header verschickt werden, z. B. ICMP? + back: | + Die ICMP-ID kann anstelle der Portnummern genutzt werden. +- type: markdown + front: Was repräsentiert `struct in_addr`? + back: | + Eine IPv4-Adresse in Network Byte Order. +- type: markdown + front: | + Wie kann eine `struct sock_addr_in local;` Instanz konfiguriert werden, damit von + allen lokal konfigurierten Interfaces empfangen werden kann? + back: | + `local.sin_addr.s_addr = htonl(INADDR_ANY);` +- type: markdown + front: Was macht `socket(AF_INET ,SOCK_DGRAM ,IPPROTO_UDP)`? + back: | + Es wird ein neuer Socket vom Typ: + - `AF_INET`: IPv4 Socket + - `SOCK_DGRAM`: Datagram-oriented Socket + - `IPPROTO_UDP`: UDP +- type: markdown + front: Was macht `bind()`? + back: | + Assoziiert einen File Descriptor mit den zugehörigen Adressinformationen (Meistens Adresse und Port). +- type: markdown + front: Welche Möglichkeiten gibt es bei Linux, einen Socket zu überwachen? + back: | + - `read()` auf dem Socket + - `select()` oder `pselect()` + - `epoll()` +- type: markdown + front: Was ist das Problem von `read()`? + back: | + `read()` blockiert, solange bis etwas kommt. +- type: markdown + front: Wie funktioniert `select()`? + back: | + 1. Alle zu überwachenden File Descriptors kommen in `fd_set`s + 2. `select()` wird mit diesen Sets aufgerufen. + 3. Passiert etwas, **modifiziert** `select()` die `fd_set`s, so dass es genau die FDs enthält, die bereit sind + 4. Rückgabewert ist die Anzahl bereitgewordener FDs oder -1 und `errno` gesetzt. +- type: markdown + front: Warum gibt es `epoll()`? + back: | + Bei einer großen Anzahl von FDs wird `select()` ggf. ineffizient. +- type: markdown + front: Gegeben `fd_set rfds, rfd;` wie kann `rfds` mit 0 intialisiert werden? + back: | + `FD_ZERO(&rfds` +- type: markdown + front: Gegeben `fd_set rfds, rfd;` wie kann ein FD zu `rfds` hinzugefügt werden? + back: | + `FD_SET(fd, &rfds);` +- type: markdown + front: Wie werden FD sets typischerweise Implementierung? + back: | + Als Bitvektoren. +- type: markdown + front: | + Wie muss das erste Argument `nfds` bei `select()` gesetzt werden, wenn wir zwei FDs (4 und 17) in einem FD set haben? + back: | + `nfds = max(4, 17) + 1`, da `select()` alle FDs von 0 bis `nfds - 1` inspiziert. +- type: markdown + front: Welches Problem entsteht, wenn wir `read()`oder `recv()` auf verbindungslosen Sockets verwenden? + back: | + Wir werden so nie erfahren, wer uns etwas geschickt hat. Dafür gibt es `sendto()` und `recvfrom()`. +- type: markdown + front: Wie unterscheiden sich `recvfrom()` und `recv()`? + back: | + Wir können `recvfrom()` einen Pointer zu einem Speicherbereich der Größe + `sizeof(struct sockaddr_in)` übergeben, um Information über den Sender zu + bekommen (hier IPv4). +- type: markdown + front: Wofür wird `connect()` bei einem verbindungsorientierten Socket benutzt? + back: | + Verbinden mit einem entfernten Host. +- type: markdown + front: Was macht ein Aufruf zu `listen()` bei einem verbindungsorientierten Socket? + back: | + Markiert den Socket als **passiv**. Socket versendet **keine** Daten, + sondern erwartet eingehende Verbindungen. +- type: markdown + front: | + Warum sind bei verbindungsorientierten Sockets `recv()` und `send()` `read()` und `write()` + zu bevorzugen? + back: | + Hier werden bestimmte Ausnahmen wie eine abgebrochene Verbindung *sinnvoll* signalisiert. +# Codedemos +- type: markdown + front: Was sind Einschränkungen der vorgestellten UDP-Chat Codedemo? + back: | + - Nur 1:1 Chats + - Fremde können einem der beiden Chatpartner ebenfalls Nachrichten senden (antworten aber nicht möglich) +- type: markdown + front: Was ist bei dem UDP-basierten IRC möglich? + back: | + - N:N chats + - Zusammenarbeit mit den unmodifizierten UDP-Chat Clients. +# TODO: Vorteile und Nachteile \ No newline at end of file diff --git a/IN0010_GRNVS/vermittlungsschicht.yaml b/IN0010_GRNVS/vermittlungsschicht.yaml index d065a7e..397c09d 100644 --- a/IN0010_GRNVS/vermittlungsschicht.yaml +++ b/IN0010_GRNVS/vermittlungsschicht.yaml @@ -2,6 +2,290 @@ title: 'GRNVS: Kapitel 3: Vermittlungsschicht' author: Hugo Melder id: 6645562923 cards: +- type: markdown + front: Was sind die *drei* grundlegenden **Vermittlungsarten**? + back: | + 1. **Leitungsvermittlung** + 2. **Nachrichtenvermittlung** + 3. **Paketvermittlung** +- type: markdown + front: Was versteht man unter **Leitungsvermittlung**? + back: | + Reserviere eine **dedizierte Leitung** zwischen Sender und Empfänger +- type: markdown + front: Was versteht man unter **Nachrichtenvermittlung**? + back: | + Wähle für jede Nachricht individuell einen Weg und leite die Nachricht als Ganzes weiter. +- type: markdown + front: Was versteht man unter **Paketvermittlung**? + back: | + Teile eine Nachricht in mehrere kleinere Pakete auf und versende jedes Paket unabhängig von den anderen. +- type: markdown + front: Wie funktioniert Multiplexing auf Paketebene? + back: | + Jedes Paket wird **unabhängig** voneinander vermittelt. Adressierung im Paketheader. + [[image: paket_multiplexing.png]] +- type: markdown + front: Nenne Vorteile von Multiplexing auf Paketebene. + back: | + - Flexibles Zeitmultiplex einzelner Pakete + - Pufferung kleiner Pakete statt ganzer Nachrichten +- type: markdown + front: Nenne Nachteile von Multiplexing auf Paketebene. + back: | + - Verlust von Paketen durch begrenzten Puffer möglich + - Jedes Paket benötigt seinen eigenen Header (Overhead) + - Empfänger muss Pakete wieder zusammensetzen +- type: markdown + front: In welche drei Phasen unterteilt man eine Übertragung bei Leitungsvermittlung? + back: | + 1. **Verbindungsaufbau**: u.A. Wegwahl + 2. **Datenaustausch**: Exklusive Nutzung des Kanals + 3. **Verbinungsabbau** +- type: markdown + front: Was sind Vorteile der Leitungsvermittlung? + back: | + - Gleichbleibende Güte + - Schnelle Datenübertragung ohne Vermittlungsentscheidungen +- type: markdown + front: Was sind Nachteile der Leitungsvermittlung? + back: | + - Resourcenverschwendung + - Verbindungsaufbau kann komplex sein +- type: markdown + front: Was ist der wesentliche Unterschied zwischen Adressierung auf Schicht 2 und Schicht 3? + back: | + Schicht 3 bietet eine global-eindeutige, logische Adressierung über mehrere Direktverbindungsnetze hinweg. +# IPv4 +- type: markdown + front: Was ist das IHL Feld im IPv4 Header? + back: | + **I**nternet **H**eader **L**ength Feld gibt die Länge des IP Headers inkl. Optionen + in Vielfachen von 4B an. +- type: markdown + front: Was gibt das **Total Length** Feld im IPv4 Header an? + back: | + Gesamtlänge des IP-Pakets (Header + Payload) in Bytes. +- type: markdown + front: Was ist die **MTU**? + back: | + Die **M**aximum **T**ransmission **U**nit ist die *maximale* Paketlänge, so + dass keine Fragmentierung notwendig ist. +- type: markdown + front: Wofür wird das Identification Feld im IPv4 Header verwendet? + back: | + Dient der Identifikation zusammengehörender Fragmente. Es wird zufällig gewählt. +- type: markdown + front: Was sagt ein gesetztes **Don't Fragment (DF)** Flag im IPv4 Header aus? + back: | + IP-Paket darf nicht fragmentiert werden. +- type: markdown + front: Was sagt das **More Fragments** Flag im IPv4 Header aus? + back: | + - Weitere Fragmente folgen (1) + - Dieses Paket ist das letzte Fragment (0) +- type: markdown + front: Was ist das **Fragment Offset** Feld im IPv4 Header? + back: | + Gibt die **absolute Position** der Daten in diesem Fragment an. Vielfaches von 8B. +- type: markdown + front: Wie behandelt ein Router das TTL Feld eines IPv4 Pakets? + back: | + - Er dekrementiert das TTL-Feld um 1 + - Verwirft das Paket wenn TTL = 0 und sendet ICMP Time Exceeded an Absender +# Address Resolution Protocol (ARP) +- type: markdown + front: | + Problem: Ein Host will eine Nachricht an einen anderen Host (im gleichen + Subnetz) senden, kennt aber nur die IP-Adresse. Wie kann die zugehörige + MAC-Adresse erhalten werden? + back: | + Der Host kann eine ARP Request schicken. +- type: markdown + front: An welche MAC-Adresse wird eine ARP-Request geschickt? + back: | + Der MAC-Broadcast-Adresse `ff:ff:ff:ff:ff:ff` +# Dynamic Host Configuration Protocol (DHCP) +- type: markdown + front: Woher bekommen Hosts ihre IP-Adresse? + back: | + - Statische Konfiguration von Hand + - Dynamisch von einem **DHCP-Server** zugewiesene IP-Adresse +- type: markdown + front: Wie bekommt ein Client eine IP-Adresse von einem DHCP Server? + back: | + 1. Client sendet DHCP-Discover (L2 Broadcast) + 2. DHCP-Server antwortet mit einer DHCP-Offer, wodurch er dem Client eine IP-Adresse anbietet + 3. Client antwortet mit DHCP-Request, wodurch er die angebotene Adresse anfordert + 4. DHCP-Server antwortet mit **DHCP-ACK** oder **DHCP-NACK** +# CIDR +- type: markdown + front: Wie funktioniert **CIDR** für IPv4? + back: | + - Zusätzlich zur IP-Adresse gibt es eine 32-bit lange **Subnetzmaske** + - Subnetzmaske **unterteilt** IPv4 Adresse in einen **Netzanteil** und **Hostanteil**. + - Logische 1: Netzanteil + - Logische 0: Hostanteil +- type: markdown + front: Was resultiert aus einer UND-Verknüpfung von IP-Adresse und Subnetzmaske? + back: | + Netzadresse +- type: markdown + front: | + `192.168.0.128` mit 25-bit Netzanteil und 7-bit Hostanteil. + + Wie viele Adressen hat das Subnetz und wieviel sind nutzbar? + back: | + 2^7 = 128 Adressen wovon 128 - 2 = 126 Adressen nutzbar sind. + + 192.168.0.255 ist die Broadcast-Adresse +- type: markdown + front: Was ist die IPv4 Global Broadcast Adresse? + back: | + `255.255.255.255/32` +# IPv6 +- type: markdown + front: Gebe die vier Schritte an, wie man korrekt eine IPv6 Adresse kürzt. + back: | + - Führende Nullen in jedem 16-bit Feld werden unterdrückt `2001:0db8::0001:0000` => `2001:db8::1:0`) + - Die längste Folge an aufeinanderfolgenden Null-Feldern wird mit (::) + ausgetauscht. Wenn mehrere Felder gleicher Größe vorliegen, wird das erste + (von Links) gekürzt. (`2001:db8:0:0:1:0:0:1` => `2001:db8::1:0:0:1`) +- type: markdown + front: Wofür ist das **Payload Length** Feld im IPv6 Header da? + back: | + Länge des Headers und Payload. In Vielfachen von 1B. +- type: markdown + front: Wofür ist das **Next Header** Feld im IPv6 Header da? + back: | + - Gibt den Typ des nächsten Headers an, der am Ende des IPv6-Headers folgt + - **L4-Header** oder **IPv6 Extension Header** +- type: markdown + front: | + Angenommen wir haben einen Routing Header, Fragment Header und TCP Payload + unter dem IPv6 Header. Wie sehen die jeweiligen **Next Header** Felder aus? + back: | + - IPv6 Header, Next Header: Routing + - Routing Header, Next Header: Fragment + - Fragment Header, Next Header: TCP +- type: markdown + front: Was ist das **Fragment Offset** Feld im IPv6 Fragment (Extension) Header? + back: | + - Offset der fragmentierten L3-SDU in Vielfachen von 8B +- type: markdown + front: Wo erfolgt bei IPv6 die Fragmentierung? + back: | + *Ausschließlich* am Sender +- type: markdown + front: Wo erfolgt bei IPv4 die Fragmentierung? + back: | + Falls nicht explizit über das DF-Bit untersagt, können Pakete bei Bedarf + auch von Routern fragmentiert werden. +- type: markdown + front: Welche vier Adressierungsarten gibt es auf Schicht 3 und 2? + back: | + - Unicast + - Broadcast + - Multicast + - Anycast +- type: markdown + front: Wie funktioniert eine **Unicast** Adressierung? + back: | + **Unicast** identifiziert *genau* ein Network Interface +- type: markdown + front: Wie funktioniert eine **Anycast** Adressierung? + back: | + **Anycast** identifiziert eine *Gruppe* von Network Interfaces. Packet wird + zum nächsten (abhängig vom Routing Protokoll) Host geschickt. Können nicht + einfach erkannt werden. +- type: markdown + front: Wie funktioniert eine **Multicast** Adressierung bei IPv6? + back: | + Packet wird an eine Multicast-Gruppe adressiert +- type: markdown + front: Wie funktioniert eine **Broadcast** Adressierung bei IPv6? + back: | + Nicht implementiert! Kann mittel *all-nodes* link-local multicast group `ff02::1` nachgeahnt werden, wird aber nicht empfohlen. +- type: markdown + front: Wofür werden Solicited-Node Multicast Adressen bei IPv6 verwendet? + back: | + Wird u.A. benutzt, um effizient das Neighbor Discovery Protocol (NDP) in IPv6 zu implementieren. + + Statt L2 Broadcast wird die eine MAC Adresse konstruiert. +- type: markdown + front: Wie wird eine Multicast IPv6 Adresse auf eine MAC-Adresse gemapped? + back: | + IPv6-Pakete aus Präfix `ff00::/8` werden mit folgener MAC Adresse gesendet: + - Ersten 2 Oktette der MAC Adresse werden auf `33:33` gesetzt (Multicast, Locally Administered) + - Die letzten 4 Oktette sind die letzten 4 Oktette der IPv6 Multicastadresse +- type: markdown + front: Wie ist eine Solicited-Multicast IPv6 Adresse aufgebaut? + back: | + Die Adresse wird konstruiert, in dem die letzten 24-bit der IPv6 Adresse + an den Prefix `ff02::1:ff00:0/104` angehangen werden. +# Stateless Adress Autoconfiguration +- type: markdown + front: Wofür steht SLAAC? + back: | + **S**tateless **A**ddress **A**uto**c**onfiguration +- type: markdown + front: Welchen Präfix hat eine Link-Local IPv6 Adresse? + back: | + `fe80::/10` +- type: markdown + front: Wie ist eine LL IPv6 Adresse aufgebaut? + back: | + - **Präfix**: `fe80::/10` + - **Subnet Identifier**: Auf 0 gesetzt + - **Interface Identifier**: Modifizierter EUI-64 Indentifier +- type: markdown + front: Wie wird der modifizierte EUI-64 Identifier konstruiert? + back: | + - Ersten 24-bit sind der OUI der MAC-Adresse + - Vorletztes Bit des ersten Oktetts wird **invertiert** + - Nachfolgenden 16-bit werden mit `ff:fe` gestopft + - Restlichen 24-bit werden mit dem Device Identifier der MAC-Adresse aufgefüllt. +- type: markdown + front: Warum heißt SLAAC **stateless**? + back: | + Da die Adressen nicht von einem Server vergeben werden. +- type: markdown + front: Was sind Funktion von IPv6 Neighbor Discovery? + back: | + - Adressauflösung und Duplicate Address Detection: **Neighbor Solicititations** und **Advertisements** + - **Router Discovery** und **Router Advertisements** + - **Redirects** +- type: markdown + front: Welche Bedeutung hat das **Router-Flag** (R) bei ICMPv6? + back: | + Wird gesetzt, wenn der antwortende Knoten ein Router ist. +- type: markdown + front: Welche Bedeutung hat das **Solicited-Flag** (S) bei ICMPv6? + back: | + Gibt an, ob das Advertisement infolge einer Solicitation geschickt wird. +- type: markdown + front: Welche Bedeutung hat das **Override-Flag** (O) bei ICMPv6? + back: | + Wird gesetzt, wenn das Advertisement eine möglicherweise gecached Link-Layer Adresse beim Empfänger aktualisieren soll. +# Byte Orders +- type: markdown + front: Welche zwei verschiedenen Byte-orders gibt es? + back: | + - Big Endian + - Little Endian +- type: markdown + front: Wie sind Bytes bei Big Endian geordnet? + back: | + Niederwertigstes Byte steht an höchstwertigster Adresse +- type: markdown + front: Wie sind Bytes bei Little Endian geordnet? + back: | + Niederwertigstes Byte steht an niederwertigster Adresse +- type: markdown + front: Ist die Network Byte Order Big- oder Little-Endian? + back: | + Big-Endian +# Routing - type: markdown id: 0 # (generated) front: Was ist der Unterschied zwischen dynamischen und statischen Routing? @@ -76,11 +360,25 @@ cards: front: Was ist der Vorteil von **triggered Updates**? back: | Konvergenzzeit wird reduziert. -- type: markdown - id: 12 # (generated) - front: Was ist Count to Infinty im Kontext von RIP? - back: | - type: markdown id: 13 # (generated) front: Was sind Lösungsansätze für Count-to-Infinity? back: | + - Split Horizon + - Poison Reverse + - Path Vector +# Autonome Systeme +- type: markdown + front: Was ist ein Autonomes System? + back: | + Eine Menge von Netzwerken die unter einhaltlicher administrativer Kontrolle stehe. +- type: markdown + front: Wie werden Routen zwischen Autonomen Systemen ausgetauscht? + back: | + Mit einem **Exterior Gateway Protocol** (EGP). In der Praxis ist es das **Border Gateway Protocol** (BGP). +- type: markdown + front: + back: | +- type: markdown + front: + back: | \ No newline at end of file