Idee: MPTCP für die SSH-Verbindung (mehrere Leitungen bündeln) #27

Open
opened 2026-10-15 20:52:11 +02:00 by thorsten.spille · 0 comments

Idee, kein Teil von 2.0.0. ssh bleibt der Transport (nc wurde verworfen: keine Anmeldung/Verschlüsselung, offene Ports, schwierige Fehlerbehandlung, kein Gewinn bei 1 G).

Wann es etwas bringt

Nur mit mehreren Pfaden zwischen Quelle und Backupserver, z. B. offsite über zwei WAN-Leitungen oder zwei Netzwerkkarten. Auf einem einzelnen Pfad gibt es keinen Gewinn. Typische Backupserver haben 1 G, offsite ist die Leitung der Engpass (Testserver: ~5,5 MB/s).

Skizze

  • OpenSSH kann MPTCP nicht selbst; Linux bietet mptcpize run <befehl> (Paket mptcpd), das die Sockets eines Programms auf MPTCP umstellt
  • optionale Einstellung, z. B. ssh_mptcp=1: remote() startet ssh über mptcpize run, wenn vorhanden – sonst ssh wie bisher mit Logmeldung
  • der ControlMaster bündelt alle Kanäle in einer Verbindung, also eine MPTCP-Verbindung für den ganzen Lauf
  • Voraussetzungen außerhalb von zsync, nur dokumentieren: net.mptcp.enabled=1 auf beiden Seiten (Default bei Debian 13 / PVE 9), sshd auf der Quelle ebenfalls über MPTCP (z. B. mptcpize enable ssh.service), Pfade per ip mptcp endpoint add … subflow und Limits per ip mptcp limits

Zu klären

  • Gewinn messen auf einer echten Offsite-Strecke mit zwei Leitungen
  • Verhalten, wenn ein Pfad wegfällt (MPTCP sollte auf dem verbleibenden weiterlaufen – ein Vorteil gegenüber einer einzelnen Leitung)
**Idee, kein Teil von 2.0.0.** ssh bleibt der Transport (nc wurde verworfen: keine Anmeldung/Verschlüsselung, offene Ports, schwierige Fehlerbehandlung, kein Gewinn bei 1 G). ## Wann es etwas bringt Nur mit **mehreren Pfaden** zwischen Quelle und Backupserver, z. B. offsite über zwei WAN-Leitungen oder zwei Netzwerkkarten. Auf einem einzelnen Pfad gibt es keinen Gewinn. Typische Backupserver haben 1 G, offsite ist die Leitung der Engpass (Testserver: ~5,5 MB/s). ## Skizze - OpenSSH kann MPTCP nicht selbst; Linux bietet `mptcpize run <befehl>` (Paket `mptcpd`), das die Sockets eines Programms auf MPTCP umstellt - optionale Einstellung, z. B. `ssh_mptcp=1`: `remote()` startet ssh über `mptcpize run`, wenn vorhanden – sonst ssh wie bisher mit Logmeldung - der ControlMaster bündelt alle Kanäle in einer Verbindung, also eine MPTCP-Verbindung für den ganzen Lauf - Voraussetzungen außerhalb von zsync, nur dokumentieren: `net.mptcp.enabled=1` auf beiden Seiten (Default bei Debian 13 / PVE 9), sshd auf der Quelle ebenfalls über MPTCP (z. B. `mptcpize enable ssh.service`), Pfade per `ip mptcp endpoint add … subflow` und Limits per `ip mptcp limits` ## Zu klären - Gewinn messen auf einer echten Offsite-Strecke mit zwei Leitungen - Verhalten, wenn ein Pfad wegfällt (MPTCP sollte auf dem verbleibenden weiterlaufen – ein Vorteil gegenüber einer einzelnen Leitung)
Sign in to join this conversation.
No labels
bug
enhancement
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
bashclub/zsync#27
No description provided.