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...
|