diff options
Diffstat (limited to 'Konzept/Netzwerk.txt')
-rw-r--r-- | Konzept/Netzwerk.txt | 56 |
1 files changed, 15 insertions, 41 deletions
diff --git a/Konzept/Netzwerk.txt b/Konzept/Netzwerk.txt index bed00ce..5b18bfd 100644 --- a/Konzept/Netzwerk.txt +++ b/Konzept/Netzwerk.txt @@ -1,69 +1,43 @@ Ideen zum Netzwerkstack: -Alles TLS-verschlüsselt? +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| -+---+---+---+---+-------+---------------------+---------------------+ +Client/Dämon -> Server ++---+---+---+-------+-------+---------------------+---------------------+ +| 1 | 2 | 3 | 4 | 5 - 6 | 7 | 8 | ++---+---+---+-------+-------+---------------------+---------------------+ +|'M'|'A'|'D'|'C'/'D'|Version|min. Protokollversion|max. Protokollversion| ++---+---+---+-------+-------+---------------------+---------------------+ -Server -> Client +Server -> Client/Dämon +---+---+---+---+-------+----------------+---+ | 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? Brauchen wir überhaupt Request-IDs oder reicht es, wenn immer bekannt ist, von wem und an wen ein Paket ist? - -Möglichkeit: Jedes Teil verwaltet seine eigenen Request-IDs, und insgesamt wird ein Request durch Quelle und ID identifiziert; dann bräuchten Clients nicht extra nach IDs zu fragen. - - -Anfrage an Dämon vom Client: - -+------------------+----------+--------+-------------------+-----------------------+----- -| 1 - 2 | 3 - 4 | 5 - 6 | 7 - 8 | 9 - 12 | 13 - ... -+------------------+----------+--------+-------------------+-----------------------+----- -|Typ: Dämon-Anfrage|Request-ID|Dämon-ID|Typ des Datenpakets|Größe der Nutzdaten (*)|Nutzdaten -+------------------+----------+--------+-------------------+-----------------------+----- - -Dämon-ID: Der Kern nummeriert die Dämonen einfach durch; die Liste der möglichen Dämonen wird vorher festgelegt durch eine Konfigurationsdatei - -I. Bei dieser Möglichkeit würde der Kern nur die Kapselung entfernen und das Paket an den Client weiterleiten. Wäre es vielleicht sinnvoller, wenn es nicht nur einen Typ "Dämon-Anfrage" gibt, sondern manche Typen zu Anfragen vom Kern an Dämonen führen? Das würde Caching, etc. durch den Server ermöglichen. ++-------------------+----------+-------------------+----- +| 1 - 2 | 3 - 4 | 5 - 8 | 9 - ... ++-------------------+----------+-------------------+----- +|Typ des Datenpakets|Request-ID|Größe der Nutzdaten|Nutzdaten ++-------------------+----------+-------------------+----- -II. Enthält noch keine Möglichkeit zum Multicast + 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: -* Keep-Alive (unnötig?) -* Request-ID-Anfrage? * Login-Anfrage -> Übertragung von Kerberos-Daten * Login-Antwort * Dämon-Discovery -* Anfrage an Dämon(en) (Multicast möglich) (Kapselt anderes Paket) -> wird weitergeleitet -* Antwort von Dämon(en) (Antwort von Multicast zusammenfassen?) (Kapselt anderes Paket) -> zurück zum Client - - siehe oben: Einfache Kapselung sinnvoll? -* Status-Anfrage +* Status-Anfrage (an Kern/Dämon) * Status-Antwort * Kommando (Shutdown, etc.) * Kommando-Antwort |