Difference between revisions of "File Transfer Protocol"

From FileZilla Wiki
Jump to navigationJump to search
m (Reverted edits by 103.29.185.2 (talk) to last revision by CodeSquid)
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 [http://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.
+
*[http://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.
+
*[http://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.
  
=== === 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.
+
* [http://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/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.
+
* [http://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/rfc2428.txt RFC </ b> 2428] "Ekstensi FTP untuk IPv6 dan Nat" <br /> ini membuat RFC protokol FTP siap untuk IPv6
+
* [http://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/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.
+
* [http://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/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.
+
* [http://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 FTP over SSL. See [[TLS specifications]] for further information.
* [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.
+
* [http://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/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.
+
* [http://filezilla-project.org/specs/draft-preston-ftpext-deflate-03.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.
* [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/eplf.html EPLF specification] "Easily Parsed LIST Format"<br />Describes a machine parsable directory listing format.
* [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.
+
* [http://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.
  
=== Tambahan === dokumen
+
=== Additional documents ===
* [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.
+
* [http://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.
  
== Lihat juga ==
+
== See also ==
  
* [[TLS spesifikasi]]
+
* [[TLS specifications]]
* [[Spesifikasi lainnya]]
+
* [[Other specifications]]
* [[SFTP spesifikasi]]
+
* [[SFTP specifications]]

Revision as of 09:19, 15 December 2011

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.
  • 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.

Protocol extensions

  • 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 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.
  • IETF Draft for deflate compression
    This document describes a method to compress the transfer channel using the deflate compression algorithm. For that, it introduces the "MODE Z" command.
  • EPLF specification "Easily Parsed LIST Format"
    Describes a machine parsable directory listing format.
  • The 'MFxx' Command Extensions for FTP. This IETF draft describes the MFMT command to change the file modification time.

Additional documents

  • 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