blob: 53cd9a1e2d357b511eb8334e02d8c370ef0f5cdf (
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
48
49
50
51
52
53
54
55
56
57
|
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...
|