Porównanie protokołów przesyłania plików - Comparison of file transfer protocols

W tym artykule wymieniono protokoły komunikacyjne przeznaczone do przesyłania plików przez sieć telekomunikacyjną .

Protokoły dla współużytkowanych systemów plików — takich jak 9P i Network File System — wykraczają poza zakres tego artykułu, podobnie jak protokoły synchronizacji plików .

Protokoły dla sieci z komutacją pakietów

A pakietów przełączanych sieci transmituje dane , który jest podzielony na jednostki zwane pakiety . Pakiet składa się z nagłówka (który opisuje pakiet) i ładunku (dane). Internet jest siecią z komutacją pakietów, a większość protokołów z tej listy są przeznaczone do jego stosu protokołów , do zestawu protokołów IP .

Używają jednego z dwóch protokołów warstwy transportowej : TCP ( Transmission Control Protocol ) lub UDP ( User Datagram Protocol ). W poniższych tabelach kolumna „Transport” wskazuje, którego protokołu ( protokołów ) używa protokół przesyłania w warstwie transportowej. Niektóre protokoły zaprojektowane do przesyłania danych przez UDP również wykorzystują port TCP do nadzoru.

Kolumna „ Serwer port ” wskazuje port, z którego serwer przesyła dane. W przypadku FTP ten port różni się od portu nasłuchującego. Niektóre protokoły — w tym FTP, FTP Secure , FASP i Tsunami — nasłuchują na „portach kontrolnych” lub „portach poleceń”, na których odbierają polecenia od klienta.

Podobnie schemat szyfrowania wskazany w kolumnie „Szyfrowanie” dotyczy tylko przesyłanych danych, a nie systemu uwierzytelniania .

Przegląd

Kolorowy klucz:     Międzynarodowy standard     Standard internetowy     Proponowany standard     Projekt internetowy
Protokół Autor oryginalny Opublikowane po raz pierwszy Pakiet protokołów Standard Referencje
Pełne imię i nazwisko Skrót
BitTorrent BT Bram Cohen 2001 Nie dotyczy Nie
Protokół dostarczania plików CCSDS CFDP 2002 Nie dotyczy ISO 17355:2007 (v4)
CCSDS 727.0-B-5
Krzyżowy transfer plików CFT Nie dotyczy Nie
Protokół przesyłania plików Ether EFTP Jan Szocz 1979 Pakiet uniwersalny PARC Nie
Szybki i bezpieczny protokół FASP Ying Xu , Michelle Munson, Serbski Simu 2007 Nie dotyczy Nie
Dostarczanie plików przez transport jednokierunkowy FLET PROSTY Społeczeństwo internetowe 2004 Nie dotyczy RFC  6726
Protokół usługi plików FSP Wen-Król Su 1991 Nie dotyczy Nie
Dostęp do transferu plików i zarządzanie nim FTAM ISO 8571-4: 1988
Protokół Przesyłania Plików FTP Abhay Bhushan 1971 Pakiet protokołów internetowych RFC  959
Bezpieczny FTP FTPS Społeczeństwo internetowe 1997 Pakiet protokołów internetowych RFC  2228 , 4217
Bezpieczny HTTP HTTPS Taher Elgamal i in. 1995 Pakiet protokołów internetowych RFC  7230
Transfer plików powiązania z hostem Unix HULFT ? 1993 Nie dotyczy Nie
Protokół przesyłania hipertekstu HTTP Tim Berners-Lee i in. 1991 Pakiet protokołów internetowych RFC  7231
Protokół mikrotransportu μTP Ludvig Strigeus , Greg Hazel, Stanislav Shalunov , Arvid Norberg, Bram Cohen 2007 Nie dotyczy Nie
Protokół rozpowszechniania multiemisji MDP Nie
Protokół przesyłania plików multiemisji MFTP C. Kenneth Miller i in. 1995 Nie dotyczy Projekt IETF (1998)
Niezawodny protokół transportu multiemisji zorientowany na NACK NORMA RFC  5740
Protokół przesyłania plików Odette OFTP Organizacja wymiany danych przez teletransmisję w Europie 1986 X.25 RFC  6726
Protokół przesyłania plików Odette 2 OFTP2 Organizacja wymiany danych przez teletransmisję w Europie 2007 X.25, pakiet protokołów internetowych RFC  5024 (wersja 1.3)
Niezawodny Blast UDP RBUDP Eric He i in. 2002 Nie dotyczy Nie
Kopia zdalna rcp ? 1982 Pakiet protokołów internetowych Nie
Bezpieczna kopia SCP Tatu Ylönen ? Bezpieczna powłoka Nie
Bezpieczny protokół przesyłania hipertekstu S-HTTP Grupa robocza IETF ds. bezpieczeństwa transakcji internetowych 1999 Nie dotyczy RFC  2660
Prosty asynchroniczny transfer plików SAFT Ulli Horlacher 1995 Nie dotyczy Nie
Prosty protokół przesyłania plików SFTP Mark K. Lottor 1984 Nie dotyczy RFC  913
Protokół przesyłania plików SSH SFTP Tatu Ylönen C. 1997 Bezpieczna powłoka Projekt IETF (2006)
T.127 T.127 ITU 1995 Nie dotyczy ITU T.127
Trywialny protokół przesyłania plików TFTP Noel Chiappa 1980 Pakiet protokołów internetowych RFC  1350
Protokół Tsunami UDP Tsunami Mark Meiss i in. 2002 Nie dotyczy Nie
Otwarty protokół Tus do wznawiania przesyłania plików tuś Felix Geisendörfer, Marius Kleidl i in. 2014 Nie dotyczy Nie
Protokół przesyłania danych oparty na UDP UDT Yunhong Gu 2004 Nie dotyczy Nie
Protokół przesyłania plików oparty na UDP UFTP Dennis Bush 2001 Nie dotyczy Nie
Kopiowanie Unix-do-Unix UUCP Mike Lesk 1979 Nie dotyczy Nie
Transfer danych o prędkości warp WDT Laurent Demailly i in. 2015 Nie dotyczy Nie

Cechy

Kolumna „Zarządzane” wskazuje, czy protokół jest przeznaczony do przesyłania plików zarządzanych (MFT). Protokoły MFT traktują priorytetowo bezpieczną transmisję w aplikacjach przemysłowych, które wymagają takich funkcji, jak rejestry transakcji z możliwością audytu, monitorowanie i kompleksowe bezpieczeństwo danych . Takie protokoły mogą być preferowane do elektronicznej wymiany danych .

Protokół Szyfrowanie
(dane)

Wznawianie transferu
Multicast
zdolny
Zarządzany Referencje
BitTorrent Nic tak peer-to-peer Nie
Protokół dostarczania plików CCSDS (CFDP) tak Nie Nie
Transfer plików krzyżowych ( CFT ) TLS / SSL tak
Protokół przesyłania plików Ether ( EFTP ) Nic ? Nie Nie
Szybki i bezpieczny protokół ( FASP ) AES-256 / AES-1992 / AES-128 tak Nie
Dostarczanie plików przez transport jednokierunkowy ( FLUTE ) Opcjonalne/Nieokreślone Nie tak
Protokół usługi plików ( FSP ) Nic tak Nie Nie
Dostęp i zarządzanie transferem plików ( FTAM ) ?
Protokół przesyłania plików ( FTP ) Nic tak Nie Nie
Bezpieczny FTP ( FTPS ) TLS / SSL tak Nie Nie
Bezpieczny HTTP ( HTTPS ) TLS / SSL tak Nie Nie
Transfer plików powiązania hosta Unix (HULFT) AES ? Nie
Protokół przesyłania hipertekstu ( HTTP ) Brak
(zobacz HTTPS i S-HTTP )
tak Nie Nie
Protokół mikrotransportu ( μTP ) Nic tak peer-to-peer Nie
Protokół rozpowszechniania multiemisji (MDP) Nic tak tak
Protokół przesyłania plików multiemisji ( MFTP ) Nic tak tak Nie
Zorientowany na NACK niezawodny protokół transportu multiemisji (NORM) IPsec tak tak
Protokół przesyłania plików Odette ( OFTP ) Nic tak
Protokół przesyłania plików Odette 2 ( OFTP2 ) TLS tak
Niezawodny Blast UDP ( RBUDP ) Nic Nie Nie
Kopia zdalna ( rcp ) Nic Nie Nie Nie
Bezpieczna kopia ( SCP ) Bezpieczna powłoka Nie Nie Nie
Bezpieczny protokół przesyłania hipertekstu ( S-HTTP ) CMS / MECH / inne Nie Nie Nie
Prosty asynchroniczny transfer plików ( SAFT ) PGP ? Nie Nie
Prosty protokół przesyłania plików ( SFTP ) Nic tak Nie Nie
Protokół przesyłania plików SSH ( SFTP ) Bezpieczna powłoka tak Nie Nie
T.127 Nic tak tak Nie
Protokół przesyłania plików trywialnych ( TFTP ) Nic Nie Nie Nie
Protokół Tsunami UDP Nic Nie Nie Nie
Otwarty protokół Tusa do wznawiania przesyłania plików ( tus ) Opcjonalne/Nieokreślone tak Nie Nie
Protokół przesyłania danych oparty na UDP ( UDT ) Eksperymentalny Nie Nie Nie
Protokół przesyłania plików oparty na UDP ( UFTP ) AES-256 / AES-128 / 3DES / DES tak tak Nie
Kopiowanie Unix-do-Unix ( UUCP ) Nic Trochę Nie Nie
Transfer danych prędkości wypaczenia (WDT) AES-128 ( OFB / CTR ) tak Nie Nie

Porty

W poniższej tabeli port danych to port sieciowy lub zakres portów, przez które protokół przesyła dane pliku. Port sterowania jest port używany do dialogu poleceń i aktualizacje statusu między klientem a serwerem.

Kolumna „Przypisane przez IANA” wskazuje, czy port jest wymieniony w Rejestrze numerów portów nazwy usługi i protokołu transportu, który jest nadzorowany przez urząd ds. numerów przydzielonych w Internecie (IANA). IANA przypisuje każdy numer portu w rejestrze do określonej usługi z określonym protokołem transportowym . Poniższa tabela przedstawia protokół transportowy w kolumnie „Transport”.

Protokół Port danych Port kontrolny Przydzielony
przez IANA
Mandatariusz Referencje
serwer Klient Transport serwer Klient Transport
BitTorrent 6881 6881 TCP 6881 6881 TCP Nie Nie dotyczy
Protokół dostarczania plików CCSDS ( CFDP )
Transfer plików krzyżowych ( CFT ) 1761 TCP / X.25
Protokół przesyłania plików Ether ( EFTP ) Nie dotyczy Nie dotyczy Nic Nie dotyczy Nie dotyczy Nic Nie dotyczy Nie dotyczy
Szybki i bezpieczny protokół ( FASP ) ≥33001 UDP 22 TCP Nie Nie dotyczy
Dostarczanie plików przez transport jednokierunkowy ( FLUTE ) 4001 UDP Nie Nie dotyczy
Protokół usługi plików ( FSP ) Wybrane przez użytkownika UDP Nie Nie dotyczy
Dostęp i zarządzanie transferem plików ( FTAM ) 4800 / 102 TCP
Protokół przesyłania plików ( FTP ) Tryb aktywny 20 20 TCP 21 ≥1024 TCP tak Jon Postel
Tryb pasywny ≥1024 ≥1024
Bezpieczny FTP ( FTPS ) 989 TCP 990 TCP tak Christophera Allena
Bezpieczny HTTP ( HTTPS ) 443 TCP TCP tak IESG
Transfer plików powiązania hosta Unix (HULFT) 30000 TCP TCP Nie Nie dotyczy
Protokół przesyłania hipertekstu ( HTTP ) 80 TCP TCP tak Tim Berners-Lee
Protokół mikrotransportu ( μTP ) UDP Nie Nie dotyczy
Protokół rozpowszechniania multiemisji (MDP) Wybrane przez użytkownika UDP
Protokół przesyłania plików multiemisji ( MFTP ) 5402 UDP tak Steve Bannister
Zorientowany na NACK niezawodny protokół transportu multiemisji (NORM) UDP
Protokół przesyłania plików Odette ( OFTP ) 3305 TCP / X.25 TCP / X.25
Protokół przesyłania plików Odette 2 ( OFTP2 ) 6619 TCP / X.25 TCP / X.25
Niezawodny Blast UDP ( RBUDP ) Wybrane przez użytkownika UDP Nie Nie dotyczy
Kopia zdalna ( rcp ) 514 TCP TCP tak
Bezpieczna kopia ( SCP ) 22 TCP TCP tak
Bezpieczny protokół przesyłania hipertekstu ( S-HTTP ) 80 TCP TCP Nie Nie dotyczy
Prosty asynchroniczny transfer plików ( SAFT ) 487 TCP tak Ulli Horlacher
Prosty protokół przesyłania plików ( SFTP ) 115 TCP TCP tak Mark Lottor
Protokół przesyłania plików SSH ( SFTP ) 22 TCP TCP tak
T.127 1503 TCP TCP tak Jim Johnston
Protokół przesyłania plików trywialnych ( TFTP ) 69 UDP tak David Clark
Protokół Tsunami UDP Wybrane przez użytkownika UDP TCP Nie Nie dotyczy
Otwarty protokół Tusa do wznawiania przesyłania plików ( tus ) 80 TCP TCP Nie Nie dotyczy
Protokół przesyłania danych oparty na UDP ( UDT ) Wybrany przez serwer UDP Nie Nie dotyczy
Protokół przesyłania plików oparty na UDP ( UFTP ) 1044 UDP Nie Nie dotyczy
Kopiowanie Unix-do-Unix ( UUCP ) 540 TCP TCP tak
Transfer danych prędkości wypaczenia (WDT) Wybrany przez serwer lub użytkownika TCP TCP Nie Nie dotyczy

Protokoły szeregowe

Kabel adaptera RS-232 9-pin na 25-pin

Następujące protokoły zostały zaprojektowane do komunikacji szeregowej , głównie dla standardu RS-232 . Służą do wysyłania i ściągania plików komputerowych przez modem lub kabel szeregowy (np. przez zerowy modem lub bezpośrednie połączenie kablowe ). UUCP to jeden protokół, który może działać z protokołem RS-232 lub Transmission Control Protocol jako transportem. Protokół Kermit może pracować nad wszelki transport komputer-komputer: bezpośredni seryjny, modem lub sieć (w szczególności protokół TCP / IP , w tym na połączeniach zabezpieczonych protokołem SSL, SSH lub Kerberos). OBject EXchange to protokół do bezprzewodowego przesyłania obiektów binarnych za pośrednictwem standardu Bluetooth . Bluetooth został pomyślany jako bezprzewodowy zamiennik RS-232.

Przegląd

Protokół Autor Pierwsze wydanie Licencja Opis Referencje
BiModem Erik Labs 1989 Transfery dwukierunkowe.
PODMUCH Grupa Badawcza ds. Komunikacji 1981 Potężny protokół wywodzący się z minikomputera Data General Nova, a następnie przeniesiony do mikrokomputerów i komputerów mainframe.
C-MODEM Lavio Pareschi 1989 Długości pakietów od 32 do 4096 bajtów, opcjonalny (ale zwykle używany) tryb strumieniowania.
Protokół B CompuServe 1981 Oferowany transfer plików, a także strumień poleceń.
JMODEM Richard B. Johnson ? Pochodna XMODEM z blokami od 512 do 8192 bajtów i kompresją RLE.
HS/Łącze Samuel H. Smith 1991
Kermit Frank da Cruz i in. 1981 Open Source (BSD) od 2011 r. Niezależny od transportu i platformy transfer plików tekstowych i binarnych przez połączenia pełnodupleksowe lub półdupleksowe z konwersją formatów plików tekstowych i zestawów znaków.
LeechModem Sam Brown ? Odmiany X i Y, które fałszowały nieudane pobrania w celu uniknięcia limitów pobierania BBS.
Ryś Mateusz Tomasz 1989 Podobnie jak Kermit: pakiety 64-bajtowe, od 2 do 16 pakietów na okno, CRC-32. Niewielkie wsparcie lub brak wsparcia poza samym programem Lynx.
NMODEM LB Neal 1990 Zasadniczo XMODEM-CRC z blokami 2048 bajtów.
Protokół przesyłania plików OBEX ? ? Protokół synchronicznego przesyłania plików w profilu Bluetooth OBject EXchange (OBEX) .
OBEX Push ? ? Protokół asynchronicznego przesyłania plików w profilu Bluetooth OBject EXchange (OBEX).
Gracze Steve Punter ? Zestaw podobnych, ale różnych protokołów podobnych do XMODEM dla różnych maszyn Commodore.
SEAlink Thom Henderson 1986 Protokół zgodny z MODEM7/XMODEM z obsługą okien przesuwnych opracowany w celu uniknięcia opóźnień propagacji w transmisjach satelitarnych i sieciach pakietowych .
SMODEM Arisoft ?
Tmodem Mike Bryeans ?
UUCP Mike Lesk 1979 Zestaw protokołów do kopiowania plików pomiędzy maszynami uniksowymi, używany do wielu celów, w tym do dystrybucji poczty e-mail. Umożliwia także wysyłanie poleceń, co doprowadziło do powstania pierwszych robaków internetowych . Protokół przesyłania plików w ramach UUCP to protokół „g”.
MODEM7 Mark M. Zeigler, James K. Mills 1980 Niewielkie rozszerzenie XMODEM, aby dodać obsługę nazw plików i transfery wsadowe.
XMODEM Ward Christensen 1977 Domena publiczna Bardzo prosty protokół, który był szeroko stosowany i stanowił wzór dla wielu następujących protokołów.
WXMODEM Piotr Boswell 1986 Domena publiczna Wersja XMODEM z przesuwanymi oknami dla większej wydajności.
YMODEM Chuck Forsberg 1985 Domena publiczna Seria opcjonalnych rozszerzeń XMODEM dla wyższej wydajności.
ZMax Mike Bryeans C. 1991 Modyfikacje ZMODEM umożliwiające pakiety o długości do 32 kB.
ZMODEM Chuck Forsberg 1986 Domena publiczna Protokół przesyłania strumieniowego, który pomija zgodność z XMODEM, ale oferuje szeroką gamę nowych funkcji i lepszą wydajność. Stał się niemal uniwersalny w systemach BBS na początku lat 90-tych.

Cechy

Protokół Rozmiar bloku danych
(w bajtach)

Kompresja danych
Wykrywanie błędów
Wznawianie transferu
Dwukierunkowy Okno przesuwne Referencje
BiModem tak
PODMUCH 84 - 1024+ RLE CRC tak tak tak
C-MODEM 32-4096 CRC tak
Protokół B 128–2048 CRC32 / CRC16 / 8-bitowa suma kontrolna tak tak
JMODEM 64-8192 RLE
HS/Łącze CRC32 tak tak
Kermit ≤9024 (do negocjacji) RLE (kodowanie długości przebiegu, negocjowane) Suma kontrolna lub CRC16 (do uzgodnienia) Tak (tylko pliki binarne, negocjowane) Nie Ponad pełny dupleks tylko (do uzgodnienia)
LeechModem
Ryś RLE CRC32 tak
NMODEM 2048
WYMIANA OBIEKTU
Gracze
SEAlink tak tak
SMODEM tak
Tmodem Nie
UUCP „g” ≤4096 Nie Nie
MODEM7 128 Nie Suma kontrolna Zatrzymaj się i czekaj ARQ
XMODEM 128 Nie Suma kontrolna Zatrzymaj się i czekaj ARQ
WXMODEM ≤512 tak
YMODEM 1024 Nie CRC16
ZMax ≤~32768 CRC32
ZMODEM 256 / 1024 Nie CRC32 tak tak

Zobacz też

Uwagi

Bibliografia

Dalsza lektura