Ich kenne Deine Konfiguration nicht, kann also nur raten. Um den Flaschenhals einzugrenzen würde ich erstmal eine FTP Session auf localhost machen, und dann eine grosse Datei von einer physikalischen Platte auf eine andere schieben. Eine Datei ist ganz leicht erzeugt mit "dd if=/dev/zero bs=1M of=/bigfile.name count=100". Das Kommando dd nimmt sich als input Daten aus dem Device zero, welches lediglich nullen liefert. Diese nullen schreibt es in eine Daten, die hinter of= angegeben ist. bs gibt die Blockgrösse an. Count zählt nun also die Blöcke, die Du angegeben hast, in diesem Fall 100MB. Die blockgrösse kann auch mit k für Kilobyte oder G für Gigabyte benutzt werden, ist dann aber entsprechend ungenau. Ohne Angabe einer bs wird das benutzt, was das Device liefert, bei Platten 512 byte. Die erstellte Datei lässt sich nun auch sehr gut komprimieren, für spätere Tests.
Der Befehl funktioniert bei Linux genauso wie bei OS X.
Nachdem Du die Datei hast, solltest Du sie auf beiden Maschinen über FTP übertragen. Wie gesagt, jeweils auf der selben Maschine. Dadurch siehst Du sehr schnell, wer hier schläft.
Als nächstes steht dann die Übertragung zwischen beiden Maschinen an. Nimm also einfach eine und kopier das bigfile von einem Rechner zum anderen. Du solltest mindestens die Geschwindigkeit der langsamten Maschine erreichen (oder die des Netzwerks).
So, daß ist jetzt, um die langsamste Komponente INNERHALB einer Maschine festzustellen. Um Netzwerkfehler auszuschliessen solltest Du auch mal die MTU Size prüfen. Das machst Du am einfachsten mittels des "ifconfig" Kommandos. Hier bekommst Du eine MTU Size angezeigt. Bei Ethernet liegt diese bei 1500 Byte.
Es ist durchaus denkbar, daß eine Deiner Maschinen gedacht hat, da Du PPPoE nutzt, passen wir mal die MTU Size an und hat diese auf 768 Byte gesetzt. D.h., das jedes Datenpaket, welches eigentlich bis zu 1500 Byte gross sein kann in kleine Stückchen von 768 Byte zerlegt wird. Wenn man dann noch den Ethernet Header, IP Header und Prüfsummen abzieht, bleibt fast nix mehr für die Nutzdaten übrig.
Also, Du siehst, Netzwerk Troubleshooting ist nicht so einfach wie 1,2,3... es fliessen viele Faktoren mit ein, die man beachten sollte.
Es ist aber auch durchaus denkbar, daß Dein Switch ne trübe Tasse oder defekt ist. Oder einer Deiner Netzwerkadapter konnte sich mit dem Switch nicht auf eine gemeinsame Geschwindigkeit einigen und steht deshalb auf 10Mb. Oder er wechselt dauernd zwischen 10 und 100 Mb.
Gruß,
Sven