Ideen zum Netzwerkstack: Alles TLS-verschlüsselt? Initalisierung der Verbindung: Client -> Server +---+---+---+---+-------+---------------------+---------------------+ | 1 | 2 | 3 | 4 | 5 - 6 | 7 | 8 | +---+---+---+---+-------+---------------------+---------------------+ |'M'|'A'|'D'| 0 |Version|min. Protokollversion|max. Protokollversion| +---+---+---+---+-------+---------------------+---------------------+ Server -> Client +---+---+---+---+-------+----------------+---+ | 1 | 2 | 3 | 4 | 5 - 6 | 7 | 8 | +---+---+---+---+-------+----------------+---+ |'M'|'A'|'D'| 0 |Version|Protokollversion| 0 | +---+---+---+---+-------+----------------+---+ 8er Gruppen schön oder unnötig? Datenpakete: +-------------------+--------------+-----------------------+----- | 1 - 2 | 3 - 4 | 5 - 8 | 9 - ... +-------------------+--------------+-----------------------+----- |Typ des Datenpakets|Request-ID (*)|Größe der Nutzdaten (*)|Nutzdaten +-------------------+--------------+-----------------------+----- * (könnte abhängig vom Typ auch weggelassen werden) Frage: Verwaltet der Server die Request-IDs? Sollten Clients also beim Server eine Request-ID erfragen, wenn sie was anderes schicken wollen? Mögliche Pakettypen: * Keep-Alive (unnötig?) * Request-ID-Anfrage? * Login-Anfrage -> Übertragung von Kerberos-Daten * Login-Antwort * Dämon-Discovery * Anfrage an Dämon (Kapselt anderes Paket?) -> wird weitergeleitet * Antwort von Dämon (Kapselt anderes Paket?) -> zurück zum Client * Status-Anfrage * Status-Antwort * Kommando (Shutdown, etc.) * Kommando-Antwort * Error + weitere Anfragen und Antworten...