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
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 .
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
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ż
- Porównanie aplikacji do udostępniania plików
- Porównanie oprogramowania do synchronizacji plików
- Porównanie rozproszonych systemów plików
- Listy protokołów sieciowych
- Lista numerów portów TCP i UDP
- Lista oprogramowania do tworzenia kopii zapasowych
- AS2
- Połącz: bezpośredni
- Pliki przesyłane przez protokół powłoki (FISH)
- Pragmatyczny ogólny multicast
- Wyślij plik
- Warp
Uwagi
Bibliografia
- da Cruz, Frank (1987). Kermit: protokół przesyłania plików . Bedford: Prasa cyfrowa . Numer ISBN 978-0-932376-88-6. OCLC 751527576 – za pośrednictwem Książek Google.
- da Cruz, Frank (czerwiec 1986). „Podręcznik protokołu Kermita” (PDF) . KermitProject.org . Projekt Kermit.
- Szkło, Brett (30 maja 1988). „Xmodem popularny ze względu na swoją prostotę i status domeny publicznej”. InfoWorld – za pośrednictwem Książek Google.
- Lottor, Mark K. (wrzesień 1984). Prosty protokół przesyłania plików . IETF . doi : 10.17487/RFC0913 . RFC 913 . Źródło 1 marca 2018 .
Dalsza lektura
- de Goyeneche, Juan-Mariano (20 marca 1998). "Protokoły transportu multiemisji" . Multicast over TCP/IP HOWTO – za pośrednictwem Projektu Dokumentacji Linuksa .
- On, Eryk; Kettimuthu, Rajkumar; Gu, Yunhong; i in., „Niezawodne warianty UDP” (PDF) , Przegląd protokołów i mechanizmów usprawnionego transportu przez LONG FAT PIPES , s. 6–11
- Kaplan, Ali (2009). "Badanie literatury". Ramy współpracy dla wysokowydajnego transferu danych opartego na P2P w informatyce naukowej ( DOCX ) (praca doktorska). Indiana University Bloomington. s. 12–39. Numer ISBN 978-1-109-50327-2. OCLC 648765323 .
- Kientzle, Tim (1995). Roboczy przewodnik programisty po protokołach szeregowych . Książki grupy Coriolisa. Numer ISBN 978-1-883577-20-9. OCLC 441637109 .
- „O Kermicie” . KermitProject.org . Projekt Kermit.
- „Archiwum oprogramowania Kermita” . KermitProject.org . Projekt Kermit.