summaryrefslogtreecommitdiffstats
path: root/Konzept/Netzwerk.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Konzept/Netzwerk.txt')
-rw-r--r--Konzept/Netzwerk.txt78
1 files changed, 21 insertions, 57 deletions
diff --git a/Konzept/Netzwerk.txt b/Konzept/Netzwerk.txt
index 53cd9a1..852316d 100644
--- a/Konzept/Netzwerk.txt
+++ b/Konzept/Netzwerk.txt
@@ -1,57 +1,21 @@
-Ideen zum Netzwerkstack:
-
-
-Alles TLS-verschlüsselt.
-
-
-Initalisierung der Verbindung:
-
-Client/Dämon -> Server
-+---+---+---+-------+-------+---------------------+---------------------+
-| 1 | 2 | 3 | 4 | 5 - 6 | 7 | 8 |
-+---+---+---+-------+-------+---------------------+---------------------+
-|'M'|'A'|'D'|'C'/'D'|Version|min. Protokollversion|max. Protokollversion|
-+---+---+---+-------+-------+---------------------+---------------------+
-
-Server -> Client/Dämon
-+---+---+---+---+-------+----------------+---+
-| 1 | 2 | 3 | 4 | 5 - 6 | 7 | 8 |
-+---+---+---+---+-------+----------------+---+
-|'M'|'A'|'D'| 0 |Version|Protokollversion| 0 |
-+---+---+---+---+-------+----------------+---+
-
-
-Datenpakete:
-
-+-------------------+----------+-------+-------------------+-----
-| 1 - 2 | 3 - 4 | 5 - 6 | 7 - 8 | 9 - ...
-+-------------------+----------+-------+-------------------+-----
-|Typ des Datenpakets|Request-ID| 0 |Größe der Nutzdaten|Nutzdaten
-+-------------------+----------+-------+-------------------+-----
-
-Jeder Client/Dämon und der Kern verwalten ihre eigenen Request-IDs, und insgesamt wird ein Request durch Quelle und ID identifiziert.
-Damit es nicht zu Konflikten zwischen vom Kern und von Clients/Dämonen generierten IDs kommt, ist bei Client/Dämon-IDs das letzte Bit gesetzt, bei Kern-IDs nicht.
-
-
-Implementierte Pakettypen:
-
-0000: OK (leeres Paket)
-0001: Error (Fehlerinformationen)
-0002: Disconnect (leeres Paket)
-0010: Identify request (bisher: enthält den Namen des identifizierenden Dämons)
-0011: Identify reply (bisher: leer)
-
-Mögliche Pakettypen:
-
-* Zertifikat-Anfrage
-* Zertifikat-Antwort
-* Login-Anfrage -> Übertragung von Kerberos-Daten
-* Login-Antwort
-* Dämon-Discovery
-* Status-Anfrage (an Kern/Dämon)
-* Status-Antwort
-* Kommando (Shutdown, etc.)
-* Kommando-Antwort
-* Verbindung trennen - Anfrage und Antwort (implementiert)
-+ weitere Anfragen und Antworten...
-
+Netzwerk-Protokoll:
+
+OpenSSL-verschlüsseltes XML-basiertes Protokoll
+
+Format:
+
+<packet type="PacketType">
+ <value type="Type" name="Name" value="Value" />
+ ...
+
+ <list name="Name">
+ <entry>
+ values/lists...
+ </entry>
+ ...
+ </list>
+ ...
+</packet>
+
+value-Typen:
+ int, uint, int64, uint64, float, double, longdouble, string, binary (base64-codierte Binärdaten)