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 + weitere Anfragen und Antworten...