summaryrefslogtreecommitdiffstats
path: root/Konzept/Netzwerk.txt
blob: a53406ed5c98869828cdbf4447a0f785e27a8bc9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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 - 8      | 9 - ...
+-------------------+----------+-------------------+-----
|Typ des Datenpakets|Request-ID|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.


Mögliche Pakettypen:

* Login-Anfrage -> Übertragung von Kerberos-Daten
* Login-Antwort
* Dämon-Discovery
* Status-Anfrage (an Kern/Dämon)
* Status-Antwort
* Kommando (Shutdown, etc.)
* Kommando-Antwort
* Error
* Verbindung trennen - Anfrage und Antwort
+ weitere Anfragen und Antworten...