PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eigenes Kommunikationsprotokoll entwickeln


Stranger
25.01.2007, 16:24
Hi,

ich will eine Server/Client Anwendung unter Linux/Windows entwickeln und mache mir jetzt gedanken zu der Datenübertragung. Ich möchte TCP verwenden da dies ein Verbindungsicheres Protokoll ist. Jetzt zu der eigentlichen Frage: Ich würde gerne ein eigenes Protokoll für die Kommunikation zwischen Server und Client entwickeln, dies soll natürlich auf TCP aufsetzen bzw. TCP als träger benutzen. Wie gehe ich sowas an ? Worauf muss ich achten ? Was sind die must haves ?


Felix Kaiser
25.01.2007, 17:05
Wichtiger ist die Frage, für welchen Zweck du das einsetzen möchtest, was übertragen wird. Werden Nutzdaten übertragen? Werden Steuerbefehle übertragen, wenn ja, in welchen Richtungen soll dies geschehen? Soll die Verbindung verschlüsselt werden, wenn ja, immer oder bei Bedarf, wie wird das unterschieden. Sollen die übertragenen Daten komprimiert werden, wenn ja, wie? Soll das Protokoll unabhängig vom Adresstyp funktionieren, wenn nein, welche Adresstypen sollen unterstützt werden?

Das sind jetzt sicher nicht alle Dinge, über die man sich Gedanken machen sollte. Aber es sind einige, an denen man ansetzen kann. Eine pauschale Vorgabe gibt es nicht. Für gewöhnlich passt man aber einfach das Protokoll an den Verwendungszweck an.

Stranger
25.01.2007, 17:23
Also dies soll alles übertragen werden:

1. verschlüsselte Nutzerdaten
2. Dateien zum Server
3. Dateien zum Client
4. Steuerbefehle an den Server
5. Anzeigedaten an den Client
6. relatives Transfervolumen ( also ohne Header, reine Daten) muss berechnet werden

Die Verbindung an sich muss nicht verschlüsselt werden.
Ist es sinnvoll wie beim FTP-Protokoll die Kommunikation aufzusplitten in zwei Verbindungen eine Kontroll und eine Daten ?
Was meinst du mit Adresstypen ? IP-Adressen ja !

Felix Kaiser
26.01.2007, 16:36
Na dann nimm doch gleich FTP wenn du Dateien übertragen willst. Du kannst das Protokoll ja um eigene Befehle erweitern. FTP implementiert mit offiziellen Erweiterungen auch gleich beide IP-Adresstypen. FTP implementiert auch verschiedene Authentifizierungsverfahren, bei denen die Nutzerdaten nicht plain übertragen werden. Außerdem bietet FTP die Möglichkeit die Steuerverbindung und optional auch die Datenverbindung mit TLS zu verschlüsseln. Das lässt sich alles recht bequem umsetzen.

Stranger
27.01.2007, 14:13
Ich beschäftige mich dann mal etwas intensiver mit dem FTP-Protokoll mal sehen ob ich es für meine Zwecke 'mißbrauchen' kann.