File Transfer Protocol: Difference between revisions

From FileZilla Wiki
Jump to navigationJump to search
No edit summary
m (Changed protection level for "File Transfer Protocol" ([Edit=Allow only autoconfirmed users] (indefinite) [Move=Allow only administrators] (indefinite)))
 
(104 intermediate revisions by 68 users not shown)
Line 1: Line 1:
'''FTP''' atau'''protokol transfer file''' adalah sebuah protokol yang umum digunakan untuk bertukar file melalui setiap jaringan yang mendukung protokol TCP / IP (seperti Internet atau intranet). Ada dua komputer terlibat dalam transfer FTP: server dan klien. Para'''server FTP''', menjalankan perangkat lunak server FTP, mendengarkan pada jaringan untuk permintaan koneksi dari komputer lain. Komputer klien, menjalankan perangkat lunak'''klien FTP''', memulai koneksi ke server. Setelah terhubung, klien dapat melakukan sejumlah operasi manipulasi file seperti file upload ke server, download file dari server, mengubah nama atau menghapus file pada server dan sebagainya. Setiap perusahaan perangkat lunak atau programmer individu dapat membuat server FTP atau software klien karena protokol adalah sebuah standar terbuka. Hampir setiap platform komputer mendukung protokol FTP. Hal ini memungkinkan setiap komputer terhubung ke jaringan TCP / IP berbasis untuk memanipulasi file pada komputer lain di jaringan yang terlepas dari sistem operasi yang terlibat (jika komputer memungkinkan akses FTP).
'''FTP''' or '''file transfer protocol''' is a commonly used protocol for exchanging files over any network that supports the TCP/IP protocol (such as the Internet or an intranet). There are two computers involved in an FTP transfer: a server and a client. The '''FTP server''', running FTP server software, listens on the network for connection requests from other computers. The client computer, running '''FTP client''' software, initiates a connection to the server. Once connected, the client can do a number of file manipulation operations such as uploading files to the server, download files from the server, rename or delete files on the server and so on. Any software company or individual programmer is able to create FTP server or client software because the protocol is an open standard. Virtually every computer platform supports the FTP protocol. This allows any computer connected to a TCP/IP based network to manipulate files on another computer on that network regardless of which operating systems are involved (if the computers permit FTP access).


Informasi lebih lanjut tentang FTP dapat ditemukan di [artikel Wikipedia tentang FTP http://en.wikipedia.org/wiki/File_Transfer_Protocol] atau dalam dokumen terkait di bawah ini.
More information about FTP can be found in the [https://en.wikipedia.org/wiki/File_Transfer_Protocol Wikipedia article about FTP] or in the documents linked below.


== Spesifikasi Teknis ==
== Technical Specifications ==


* [Http://filezilla-project.org/specs/rfc0959.txt <nowiki> RFC 959 </ Nowiki>] "File Transfer Protocol" <br /> Dokumen ini menjelaskan protokol FTP dasar.
* [https://filezilla-project.org/specs/rfc0959.txt <nowiki>RFC 959</nowiki>] "FILE TRANSFER PROTOCOL"<br />This document describes the basic FTP protocol.
* [Http://filezilla-project.org/specs/rfc0854.txt <nowiki> RFC 854 </ Nowiki>] "TELNET SPESIFIKASI PROTOKOL" <br /> Protokol FTP diimplementasikan di atas Telnet yang ditentukan dalam dokumen. Terutama spesifikasi NVT tersebut (Virtual Network Terminal) adalah penting.


=== === Ekstensi Protokol
=== Protocol extensions ===


* [Http://filezilla-project.org/specs/rfc2228.txt RFC </ b> 2228] "Ekstensi Keamanan FTP" <br /> Dokumen ini menjelaskan mekanisme untuk menggunakan otentikasi yang berbeda dan skema enkripsi menggunakan perintah seperti AUTH, Prot dan perintah baru yang terkait.
* [https://filezilla-project.org/specs/rfc1579.txt RFC <b></b>1579] "Firewall-Friendly FTP"<br />Describes the rarely-used APSV command.
* [Http://filezilla-project.org/specs/rfc2389.txt RFC </ b> 2389] "Fitur negosiasi mekanisme untuk File Transfer Protocol" <br /> Menjelaskan perintah FEAT untuk mendeteksi ekstensi protokol tersedia dan perintah opts untuk mengubah perilaku dari beberapa fitur.
* [https://filezilla-project.org/specs/rfc2228.txt RFC <b></b>2228] "FTP Security Extensions"<br />This document describes the mechanism to use different authentication and encryption schemes using commands like AUTH, PROT and related new commands.
* [Http://filezilla-project.org/specs/rfc2428.txt RFC </ b> 2428] "Ekstensi FTP untuk IPv6 dan Nat" <br /> ini membuat RFC protokol FTP siap untuk IPv6
* [https://filezilla-project.org/specs/rfc2389.txt RFC <b></b>2389] "Feature negotiation mechanism for the File Transfer Protocol"<br />Describes the FEAT command to detect available protocol extensions and the OPTS command to change the behaviour of some features.
* [Http://filezilla-project.org/specs/rfc2640.txt RFC </ b> 2640] "Internasionalisasi File Transfer Protocol" <br /> Menjelaskan penggunaan UTF-8 encoding untuk nama file. Karena FTP asli standar tidak hanya memungkinkan 7-bit US-ASCII sebagai encoding, ekstensi ini adalah sepenuhnya kompatibel. Namun, beberapa server dan klien yang salah mengasumsikan pengkodean lokal digunakan untuk protokol FTP. Dengan demikian ekstensi ini tampaknya menciptakan kompatibel mana ada pada kenyataannya tidak ada.
* [https://filezilla-project.org/specs/rfc2428.txt RFC <b></b>2428] "FTP Extensions for IPv6 and NATs"<br />This RFC makes the FTP protocol ready for IPv6
* [Http://filezilla-project.org/specs/rfc4217.txt RFC </ b> 4217] "Mengamankan FTP dengan TLS" <br /> ini RFC menjelaskan bagaimana mengamankan FTP dengan TLS dengan menggunakan perintah diperkenalkan di RFC 2228. Perlu dicatat, bahwa ini RFC untuk sebagian besar juga berlaku untuk FTP melalui SSL. Lihat [[TLS spesifikasi]] untuk informasi lebih lanjut.
* [https://filezilla-project.org/specs/rfc2640.txt RFC <b></b>2640] "Internationalization of the File Transfer Protocol"<br />Describes the use of UTF-8 encoding for filenames. Since the original FTP standard did only allow 7-bit US-ASCII as encoding, this extension is fully backwards compatible. However, a few servers and clients are wrongly assuming the local encoding is used for the FTP protocol. Thus this extension seemingly creates incompatibilities where there in fact are none.
* [Http://filezilla-project.org/specs/rfc3659.txt RFC </ b> 3659] RFC ini memperkenalkan keluarga MLS * perintah untuk format daftar direktori mesin parsable. Hal ini juga menjelaskan penggunaan REST dan memperkenalkan cara tertentu untuk menyajikan struktur direktori server menggunakan TVFS (Trivial File Toko virtual). Selain itu, memperkenalkan UKURAN dan perintah MDTM. Hal ini membuatnya sangat jelas, bahwa perintah MDTM seharusnya hanya digunakan untuk mendapatkan timestamp dari file dan tidak boleh digunakan untuk mengatur timestamp, seperti yang akan menambah ambiguitas.
* [https://filezilla-project.org/specs/rfc4217.txt RFC <b></b>4217] "Securing FTP with TLS"<br />This RFC describes how to secure the FTP with TLS by using the commands introduced in RFC 2228. It should be noted, that this RFC for the most part also applies to the deprecated FTP over SSL. See [[TLS specifications]] for further information.
* [Http://filezilla-project.org/specs/draft-preston-ftpext-deflate-03.txt IETF Draft untuk kompresi mengempis] <br /> Dokumen ini menjelaskan metode untuk menekan saluran transfer menggunakan algoritma kompresi mengempis . Untuk itu, memperkenalkan "MODE Z" perintah.
* [https://filezilla-project.org/specs/rfc3659.txt RFC <b></b> 3659] This RFC introduces the MLS* family of commands for a machine parsable directory listing format. It also clarifies the use of REST and introduces a specified way to present the server's directory structure using TVFS (Trivial Virtual File Store). In addition, it introduces the SIZE and MDTM commands. It makes it very clear, that the MDTM command should only be used to get the timestamp of a file and should not be used to set the timestamp, as that would add ambiguity.
* [Http://filezilla-project.org/specs/eplf.html EPLF spesifikasi] "DAFTAR Format mudah diparse" <br /> Menjelaskan format daftar direktori mesin parsable.
* [Http://filezilla-project.org/specs/draft-somers-ftp-mfxx-04.txt The 'MFxx' Ekstensi Perintah untuk FTP]. Draft ini IETF menggambarkan perintah MFMT untuk mengubah waktu modifikasi file.


=== Tambahan === dokumen
==== Drafts ====
* [Http://filezilla-project.org/specs/rfc2577.txt RFC </ b> 2577] "Pertimbangan Keamanan FTP" <br /> Dokumen ini membahas keamanan dari protokol FTP pada umumnya dan menganggap hal-hal Serangan seperti FTP Bounce.
* [https://filezilla-project.org/specs/draft-preston-ftpext-deflate-04.txt IETF Draft for deflate compression]<br />This document describes a method to compress the transfer channel using the deflate compression algorithm. For that, it introduces the "MODE Z" command.
* [https://filezilla-project.org/specs/eplf.html EPLF specification] "Easily Parsed LIST Format"<br />Describes a machine parsable directory listing format.
* [https://filezilla-project.org/specs/draft-somers-ftp-mfxx-04.txt The 'MFxx' Command Extensions for FTP]. This IETF draft describes the MFMT command to change the file modification time.
* [https://filezilla-project.org/specs/draft-peterson-streamlined-ftp-command-extensions-10.txt Streamlined FTP Command Extensions]. This IETF draft describes various new commands of which the RMDA command is the most useful.


== Lihat juga ==
=== Additional documents ===


* [[TLS spesifikasi]]
* [https://filezilla-project.org/specs/rfc0854.txt <nowiki>RFC 854</nowiki>] "TELNET PROTOCOL SPECIFICATION"<br />The FTP protocol is implemented on top of Telnet which is specified in this document. Especially the specification of the NVT (Network Virtual Terminal) is of importance.
* [[Spesifikasi lainnya]]
* [https://filezilla-project.org/specs/rfc1123.txt RFC <b></b>1123] "Requirements for Internet Hosts -- Application and Support"<br />This RFC gives additional requirements and suggestions for FTP implementations to improve interoperability.
* [[SFTP spesifikasi]]
* [https://filezilla-project.org/specs/rfc2577.txt RFC <b></b>2577] "FTP Security Considerations"<br />This document discusses the security of the FTP protocol in general and considers things like FTP Bounce Attacks.
 
== See also ==
 
* [[TLS specifications]]
* [[Other specifications]]
* [[SFTP specifications]]

Latest revision as of 01:22, 4 January 2021

FTP or file transfer protocol is a commonly used protocol for exchanging files over any network that supports the TCP/IP protocol (such as the Internet or an intranet). There are two computers involved in an FTP transfer: a server and a client. The FTP server, running FTP server software, listens on the network for connection requests from other computers. The client computer, running FTP client software, initiates a connection to the server. Once connected, the client can do a number of file manipulation operations such as uploading files to the server, download files from the server, rename or delete files on the server and so on. Any software company or individual programmer is able to create FTP server or client software because the protocol is an open standard. Virtually every computer platform supports the FTP protocol. This allows any computer connected to a TCP/IP based network to manipulate files on another computer on that network regardless of which operating systems are involved (if the computers permit FTP access).

More information about FTP can be found in the Wikipedia article about FTP or in the documents linked below.

Technical Specifications

  • RFC 959 "FILE TRANSFER PROTOCOL"
    This document describes the basic FTP protocol.

Protocol extensions

  • RFC 1579 "Firewall-Friendly FTP"
    Describes the rarely-used APSV command.
  • RFC 2228 "FTP Security Extensions"
    This document describes the mechanism to use different authentication and encryption schemes using commands like AUTH, PROT and related new commands.
  • RFC 2389 "Feature negotiation mechanism for the File Transfer Protocol"
    Describes the FEAT command to detect available protocol extensions and the OPTS command to change the behaviour of some features.
  • RFC 2428 "FTP Extensions for IPv6 and NATs"
    This RFC makes the FTP protocol ready for IPv6
  • RFC 2640 "Internationalization of the File Transfer Protocol"
    Describes the use of UTF-8 encoding for filenames. Since the original FTP standard did only allow 7-bit US-ASCII as encoding, this extension is fully backwards compatible. However, a few servers and clients are wrongly assuming the local encoding is used for the FTP protocol. Thus this extension seemingly creates incompatibilities where there in fact are none.
  • RFC 4217 "Securing FTP with TLS"
    This RFC describes how to secure the FTP with TLS by using the commands introduced in RFC 2228. It should be noted, that this RFC for the most part also applies to the deprecated FTP over SSL. See TLS specifications for further information.
  • RFC 3659 This RFC introduces the MLS* family of commands for a machine parsable directory listing format. It also clarifies the use of REST and introduces a specified way to present the server's directory structure using TVFS (Trivial Virtual File Store). In addition, it introduces the SIZE and MDTM commands. It makes it very clear, that the MDTM command should only be used to get the timestamp of a file and should not be used to set the timestamp, as that would add ambiguity.

Drafts

Additional documents

  • RFC 854 "TELNET PROTOCOL SPECIFICATION"
    The FTP protocol is implemented on top of Telnet which is specified in this document. Especially the specification of the NVT (Network Virtual Terminal) is of importance.
  • RFC 1123 "Requirements for Internet Hosts -- Application and Support"
    This RFC gives additional requirements and suggestions for FTP implementations to improve interoperability.
  • RFC 2577 "FTP Security Considerations"
    This document discusses the security of the FTP protocol in general and considers things like FTP Bounce Attacks.

See also