Neuanfang: VPN-Beschleunigung jeglicher Art

Bei der TUN/TAP Verbesserung wäre vermutlich einiges rauszuholen. Bei allen Systemen, klein wie groß. Theoretisch irgendwas bis zu 400% mehr… allerdings ist wohl 100-200% realistischer. Da Kernelseitige Programmierung notwendig ist, ist das nichts für einen Wochende mal, sondern schon was größeres… Viel größeres… Vieleicht hat der @neoraider ja mal lust… Der weiß bescheid.

Transparente TCP-Relays brauchen viel RAM, sind also weniger was für die kleinen Boxen, sondern eher für Kisten mit viel RAM. Können übrigends allgemein die Geschwindigkeit erhöhen da geringerere Latenz auf TCP wirkt, was zu größerer Bandbreite führen kann, und auch retransmits schneller verarbeitet werden. Fürs WLAN natürlich sehr schön, wo schon mal was verloren gehen kann. Müsste mal mal ausprobieren… Ich würde schon vermuten dass man locker auf die doppelte Leistung kommen müsste…

Ich bin ja laut Monic nicht zugehörig zum Freifunk da „nicht ganz passend“ , also werde ich auch nichts machen solange das so ist. Warum sollte ich auch. Ist euer Bundesverein, müsst Ihr mit dem klären warum er Leute und Communites ausschließt oder euch eben davon, oder zumindest dieser Entscheidung, distanzieren. Kannste ja mal auf dem WCW dazu fragen.

Also, machen wir einen Schuh draus. Wenn du das umsetzt gibt’s 'nen schönen Router von Ubiquity oder den Wert in Bar an deine Community. Natürlich wiegt das nicht die Arbeitszeit auf, sondern soll ausdrücken, dass ich es mega genial fände, wenn du das probieren würdest.

Grüße
MPW

Ich würde gerne zu euch gehören, nur leider ist es deinem Bundesverein/Monic wichtiger daß Leute in Augsburg Freifunk zu ihrem Privatprojekt machen dürfen. Und wenn wir nicht dazu gehören dürfen, gehöre ich wie auch die anderen nicht dazu. Sorry.

Ich werde einen Deubel tun und hier irgendwelche Beiträge in andere Threads verschieben oder gar Teile abtrennen und mit anderen zusammenlegen.
Trotzdem hat es mir den Anschein, als ob es wenig zielführend wäre, hier zum Thema Offloader zu disktieren, ob vielleicht da irgendwer in Berlin schuld wäre, dass es nicht viel besser ginge oder nicht.

4 Likes

Ich würde empfehlen: Leb dich in den „Freifunk“ ein.

Für mich spielt monic/Berlin/(„der Bundesverein“) da keine Rolle.
Ich habe nur positive Erfahrungen mit den „anderen“ hier gemacht, und gemerkt das da Vereine keine große Rolle spielen.

PS: Tragt dies bitte nicht in diesem Thread aus!

3 Likes

Ich gehöre auch keinen Verein an, habe nicht vor mich einem anzuschliessen, und wenn ich etwas ausprobieren will, mache ich das, und frage nicht vorher um Erlaubnis.

Mit unserem Web-Projekt http://freifunk-im-pott.de gabs auch Gegenwind…na und?

Wir glauben dran, und darum machen wir weiter.

Wenn es gelingt, Andere von der Idee zu überzeugen - umso besser.

Ich glaube daran, daß das Bessere sich durchsetzt.

Wenn du, @pRiVi so eine tolle Idee hast, das zu verbessern, dann mach doch einfach!
(Wobei auch OpenVPN auf TUN/TAP setzt, und die haben sicher mehr ManPower :wink: )

Wenn das wirklich funktioniert, wird die Anerkennung dafür sicher nicht ausbleiben.

Ich möchte in diesem Thread ab hier NICHTS mehr über pers. Animositäten lesen!

Es gibt bereits einen Thread zu dem Thema, und hier, ab jetzt nicht mehr!

Sollte noch irgendwas in der Art hier kommen, lösche ich oder einer der anderen Mods den betreffenden Beitrag (mit Ansage wegen OffTopic!)

3 Likes

@MPW Wie misst du denn eigentlich deine Speedwerte deines Offloaders? Oben habe ich irgendwas von 12 MBit gelesen. Da muss irgendwas grundsätzlich falsch laufen. Ich hatte mal nen Uralt PC mit Athlon XP 3200+ als VPN Router gehabt und der hat mit IPSec VPN mehr Durchsatz geschafft als du mit deinem 2,5 GHz Celeron. Und zwischen den beiden Prozessoren liegen doch schon einige Welten.

Anyway, mein „Offloader“ daheim ist ein WDR4300 und der juckt in unserem Netz 17 MBit durch meinen 32er Kabeldeutschland Anschluss. Dabei ist die Knoten CPU auch bei 100%. An diesem hängen eine WR-740N und ein WR-710N via WLAN und eine LocoM2 via MESH on WAN dranne.

Über WLAN, egal ob mein Endgerät nun direkt am WDR4300 und ob 5 oder 2,4 GHz, oder an einem der andern Knoten dranne hängt, so komme ich auf Geschwindigkeiten von 10-12 MBit. In sofern sehe ich keinen Grund da Offload technisch was zu machen.

Ein 1043NDv2 schaft hier übrigens fast 25 MBit. Die WLAN Leistung bleibt aber bei den Werten wie beim WDR4300.

1 Like

Um jetzt mal technisch auf das Thema einzugehen:

@pRiVi hat durchaus recht, daß die Context-Switches einen grossen Teil der CPU-Leistung fressen.

Das relativiert sich aber dadurch, da moderne CPUs durchaus „designed for Linux“ sind, und eigentlich schon nen ganz guten Job machen.
Die Millionen von Android-Smartphones haben das Thema zusätzlich aus Sicht der Chip-Hersteller beflügelt.
Ich bin mir ziemlich sicher, daß wir in 1J Router vorfinden werden, in denen stromsparende Prozessoren verbaut sind, die eigentlich mal für Smartphones entwickelt wurden, und damit wird es auch bei User-Mode-Prozessen ausreichend Durchsatz zu geben.

Als Krücke den Datenstrom auf TUN/TAP und TCP-Relay zu teilen mag auf den ersten Blick smart erscheinen, ist aber ein üblerer Hack

Das kannste zwar so machen, aber dann isses eben Kacke!

Mit der nächsten Generation Router ist das einfach überflüssig, und die VPN in den Usermode zu verlagern hat unbestreitbare Vorteile…nicht zu Letzt, was die Sicherheit betrifft.

Heute zu versuchen aus den SoCs der Mittelklasse-Router das letzte % Leistung zu kitzeln ist ne nette Spielerei, aber interessiert morgen keine Sau mehr.

Statt sich auf die Steigerung des VPN-Durchsatz zu stürzen, sollte man m.M.n. lieber drüber nachdenken das gesamte Netz soweit auszubauen, daß es auch Sinn macht, Offloader zu konzipieren, die >50mbit leisten.

Die gesamte Mesh-Struktur (B.A.T.M.A.N.) ist ja auch nicht in Stein gemeißelt, und auch da gibts sicher viel zu optimieren.

Es gibt viele Bereiche, wo man ansetzen kann, um die Performance zu steigern.
Der Offloader ist einer davon, und der Einfluß ist begrenzt.

1 Like

Einfach per Laptop speedtest.net.

Das Gefühl habe ich auch. Wenn ich an meinem WR841 hänge und einen Speedtest fahre, hat fastd 40-46% Auslastung, idle zeigt oben noch ~40% an und ich habe 10 Mbit/s. Das würde erstmal auf eine Limitierung durch die Gateways hinweisen. Dann kann ich natürlich nie mehr messen. Wobei das nachts um kurz nach drei eigentlich nicht sein dürfte; gerade eben getestet.

Das dämmert mir auch irgendwie langsam. Dafür wäre auch die von @adorfer geplante Spielwiesendomain praktisch. Kaum Mesh-Rauschen und dann kann man Mal die Durchsätze unter Laborbedingungen testen.

Scheinbar liegt der Engpass derzeit bei fastd auf den Gateways.

1 Like

Die Frage ist doch: wie viel Bandbreite brauch ich um mein Smartphone komfortabel zu nutzen?

Ich werf mal 5mbit in den Raum.

Wenn ich 50 Clients an meinem Uplink hab, bedeutet das aber nicht, daß alle 50 gleichzeitig auf ihrem Smartphone rumfingern.

Ich behaupte mal frech, daß die mit 20mbit download immer noch alle glücklich wären.

Da hast du sicherlich recht. Aber bei dem Projekt in dem Studentenwohnheim geht es eben um über 100 Leute, die FF als primären Internetzugang nutzen, weil sie dort wohnen und nichts anderes haben bzw. bestellen können.

Und um Filme zu gucken braucht man halt etwas mehr. Wir haben uns halt entschieden das zu machen und das beste rauszuholen. Es geht also nicht darum was Sinn macht sondern darum was technisch geht.

Und da scheint es derzeit so zu sein, dass jeder fastd-Tunnel gleich viel Bandbreite bekommt. Evtl. kann man das nach der Anzahl der Clients verteilen.

Nein, tut es nicht. Es gibt keine CPUs die „designed for Linux“ sind, oder Linux irgendwie besser ausführen könnten als irgend etwas anderes.

Wer beim paketorientierten TUN/TAP, das pro lesen/schreiben immer nur ein Paket liefern kann, die 12.000.000 Bytes/sek (100 Mbit/sek) durch 1.500 teilt, kommt auf 16.000 pro Sekunde (8.000x lesen + 8.000x schreiben), und merkt schnell wo der Hase im Pfeffer liegt. Das schafft auch kein aktueller Intel, geschweige denn eine stromsparende ARM CPU.

Mehr Infos zu Kontextswitchen: http://de.wikipedia.org/wiki/Kontextwechsel

2 Likes

Danke für den Link. Aber da geht es ja eigentlich um mehrere Programme, fastd ist ja nur eines, dass hier den Großteil der Ressourcen frisst. Da geht es wohl eher um diese Kernel- und Userspaceumschaltungen. Aber vermutlich ist das Prinzip dasselbe.

Der Kernel ist immer vorhanden, ohne den läuft auch kein fastd. Das ist dein Betriebssystem, ohne dem geht nichts.

Jeder Zugriff auf Daten, lesend wie schreibend, die nicht im eigenen Speicherbereich des jeweiligen Prozesses (hier: fastd) liegen bedeuten einen Systemcall und somit Kontextswitch vom Userspace zum Kernel. Bei TUN/TAP ist das recht fatal, da pro read/write nur immer ein Pakete geschrieben oder gelesen werden kann, und Pakete im Ethernet maximal 1.500 Bytes groß sind.

<Beleidigung durch PBB wieder eingefügt> Dummer PetaByteBoy, dumme Idee, wahrscheinlich viel viel zu viel Aufwand aber trotzdem hier: fastd als kernel module?

Ist keine dumme Idee nur extrem aufwendig.

Einfacher, statt ein Kernelmodul zu entwicklen, wäre es einfach die TUN/TAP Schnittstelle so zu erweitern dass man auch mehrere Pakete auf einmal lesen/schreiben kann.

Oder eben nicht paketorientiert zu arbeiten sondern als Relay und die Daten zu transportieren und nicht Pakete. Dann kann ein read/write auch ein Megabyte oder mehr auf einmal lesen und wieder schreiben.

Aber stop: Mit IPSec http://de.wikipedia.org/wiki/IPsec gibts das ja sogar schon als Kernelmodul! Warum verwendet Ihr das nicht einfach?

Wahrscheinlich nicht effizient genug

Mit Sicherheit nicht, das läuft rein im Kernel und ist bekanntermaßen TUN/TAP bezüglich Performancesicht überlegen.

Und abseits der theoretischen Diskussion - sowas habt ihr in eurem Hackerspace laufen und man könnte simpel mal Vergleichstests anstellen ?

Meinungen scheinen sich ja unterschiedlich zu gestalten - am einfachsten ist also die Praxis/den Beweis anzutreten.

1 Like

AFAIK ist IPSec zu fett für die kleinen Routerkistchen. Könnte fastd auf einer Supernode denn mit IPSec auf einer Gegenstelle einen Tunnel aufbauen?