Wie vergleichen sich FTP, FTPS, SFTP und SCP in Bezug auf die Übertragungsrate und wie kann ich sie durch Tests vergleichen?
Wie vergleichen sich FTP, FTPS, SFTP und SCP in Bezug auf die Übertragungsrate und wie kann ich sie durch Tests vergleichen?
Antworten:
Wenn Sie ein schnelles Weitverkehrsnetz haben, werden Sie das feststellen sftp
und scp
haben ungefähr die gleiche Geschwindigkeit, die langsam ist. Beide leiden unter Performance-Problemen im zugrunde liegenden OpenSh. Bei moderner Hardware liegt dies nicht am Verschlüsselungsaufwand, sondern an Problemen mit der OpenSh-Implementierung. Sie implementiert einen eigenen internen Fenstermechanismus, der bei schnellen Verbindungen ausfällt.
Diese Probleme werden bei Verbindungen über große Entfernungen (mit höherer Latenz) offensichtlicher, aber ich habe selbst in LANs Langsamkeit festgestellt.
Diese sind gut dokumentiert und es stehen Patches zur Verfügung, um das Problem zu beheben. Das Patchen eines Endes der Verbindung kann helfen. idealerweise würden Sie beide Enden patchen. Weitere Informationen und Patches finden Sie unter High Performance SSH im Pittsburgh Supercomputer Center.
Übrigens kann der Verschlüsselungsaufwand auch zu einem Problem werden, sobald das Fensterproblem gelöst ist. Die Patches haben auch diesbezügliche Korrekturen.
In der Zwischenzeit werden Sie feststellen, dass dies ftp
äußerst unsicher ist. es sendet Passwörter im Klartext.
ftps
Ich denke, wickelt das FTP-Protokoll in SSL. Es ist wahrscheinlich schneller als ungepatchtes SFTP / SCP.
Eine letzte Anmerkung: Meiner Erfahrung nach ist der WinSCP-Client (zumindest manchmal) schmerzhaft langsam. Ich weiß nicht warum, aber aufgrund ihrer FAQ bin ich nicht die einzige Person, die dieses Problem hatte. Wenn Sie also von Windows aus scp'en und es langsam erscheint, versuchen Sie es mit einem anderen Client. Selbst mit einem nicht gepatchten openssh-Server können Sie mit einem anderen Client viel, viel besser arbeiten. Ich bin mir leider nicht sicher, welche Kunden gut sind.
Im Allgemeinen werden alle Protokolle ungefähr gleich ausgeführt. Es ist wahrscheinlicher, dass Sie durch die Geschwindigkeit Ihres Netzwerks oder Ihrer Festplatte als durch das Protokoll eingeschränkt werden.
Ältere Versionen von OpenSSH (SFTP / SCP) verwendeten eine feste Fenstergröße, die die Geschwindigkeit über Netzwerke mit hoher Latenzzeit (z. B. transatlantisch) begrenzt. Es gibt ein Patch-Set zur Behebung dieses Problems namens HPN (High Performance Networking), das in den meisten modernen Installationen von OpenSSH enthalten ist.
Wenn Sie mit einer Situation wie einer Gigabit- oder einer schnelleren LAN-Verbindung und einer langsameren CPU konfrontiert sind, kann es bei SFTP / SCP zu einem Engpass kommen. Sie werden feststellen können, dass der Prozess ssh / scp / sftp 100% der CPU auf dem sendenden oder empfangenden Host verwendet. Wenn Sie eine neuere Version von OpenSSH (6.4+) verwenden, können Sie eine Thread-Version der AES-Verschlüsselung aktivieren, die mehr als einen Kern für die Verschlüsselung verwenden kann und mit geringerer Wahrscheinlichkeit eher von der CPU als von der Festplatte abhängig ist oder Netzwerkbandbreite.
Wenn Sie sowohl die sendende als auch die empfangende Seite steuern, verfügt OpenSSH 6+ auch über einen optionalen NONECIPHER-Modus. Dies verwendet die reguläre Verschlüsselung / die regulären Schlüssel usw., um sich auf dem Remote-Computer anzumelden. Anschließend wird die Verbindung für das eigentliche Kopieren der Dateien unverschlüsselt getrennt. Dadurch wird der CPU-Overhead entfernt. In den NONECIPHER sind Sicherheitsvorkehrungen eingebaut, die verhindern, dass Sie eine nicht verschlüsselte Shell erhalten.
Am Ende sollte das Protokoll nicht die Beschränkung der Geschwindigkeit sein, obwohl ältere Versionen von ssh Probleme mit Verbindungen mit hoher Latenz haben.
Aufgrund des Mehraufwands bei der Verschlüsselung würde ich sagen, dass einfaches FTP wahrscheinlich eine etwas bessere Leistung als die anderen Protokolle aufweist, diese aber wahrscheinlich vernachlässigbar ist. Ich würde das Protokoll verwenden, das die Sicherheit bietet, die Sie zuerst benötigen, und mich dann um den Durchsatz kümmern.
Davon abgesehen müssen Sie einen Test einrichten, um die reellen Zahlen zu finden. Alles oben ist nur meine Meinung. Wenn Sie die Leistung lokal testen, richten Sie einen Server in Ihrem Netzwerk ein. Wenn der Endverbrauch über das Internet erfolgt, testen Sie ihn von einem externen Host.
Wie immer, Google hält die Antworten,
FTP v / s SFTP v / s FTPS
,
die besagt , FTP> FTPS> SFTP
FTP auch in jemand schneller als SCP zu sein scheint sonst Test ( http://www.lysesoft.com/support/forums /viewtopic.php?f=5&t=542 ), aber ich würde empfehlen, es selbst zu versuchen.
Richten Sie SCP und FTP einfach in einer beliebigen Box in Ihrem Netzwerk ein, führen Sie dann eine typische Dateiübertragung durch und sehen Sie, wie lange es für beide dauert