Sunday, February 15, 2015

Apa itu FTP ?

FTP adalah singkatan dari File Transfer Protocol. FTP adalah sebuah jalur koneksi untuk saling bertukar IP melalui protocol TCP/IP. Singkatnya FTP digunakan untuk mengirim dan menerima file melalui internet. Berbeda dengan HTTP yang menggunakan port 80 dan HTTPS yang menggunakan port 443, FTP menggunakan port 21.

Transfer file melalui FTP lebih cepat dan stabil karena protokol yang dipakai oleh FTP Server dan FTP Client memang khusus dibuat untuk transfer file. Hal ini berbeda dengan model transfer file melalui HTTP, dimana proses transfer file dikerjakan oleh aplikasi yang dibuat dengan script PHP atau javascript menggunakan port 80.

Fungsi FTP

Secara sederhana FTP berfungsi hanya untuk tujuan transfer file, baik itu dari client ke server atau sebaliknya dari server ke client. Proses transfer file dari client ke server disebut upload dan proses transfer dari server ke client disebut download.

Dalam perkembangannya, fungsi FTP bisa menjadi lebih luas diantaranya :
  1. Sarana transaksi dan menyimpan file dari suatu project bebas (open source) seperti Linux dan aplikasi yang berbasis lisensi GPL. Ini disebut juga dengan repository.
  2. Sarana manajemen file (file manager) pada website seperti upload dan download script website saat tahap development. Sebetulnya sudah ada aplikasi manajemen file yang berbasis web dengan protokol HTTP yang disediakan oleh penyedia hosting melalui aplikasi CPanel, namun penggunaan FTP saya rasa lebih cepat dan stabil.
  3. Layanan penyimpanan file bagi pengguna, ini terjadi saat kita menggunakan sistem penyimpanan cloud seperti dropbox. Dengan cara ini pengguna dapat mengelola file yang ada pada server seperti mengelola file pada drive lokal.

Cara Kerja FTP

Prinsip kerja FTP menggunakan jalur komunikasi TCP/IP. Artinya FTP memanfaatkan jalur koneksi jaringan internet atau intranet dengan sistem TCP/IP. TCP adalah singkatan dari Transmission Control Protocol sedangkan IP adalah singkatan dari Internet Protocol. TCP/IP merupakan standar komunikasi data yang digunakan pada sistem internet baik itu secara global maupun lokal.

FTP menggunakan dua buah port yaitu port 20 dan port 21 yang berjalan secara eksklusif melalui protocol TCP/IP. Port 20 biasanya dipakai untuk port perintah (command port) sedangkan port 21 dipakai untuk port data (data port).
koneksi ftp

Dengan mengacu pada penggunaan dua port ini, sistem FTP dibedakan menjadi dua yaitu Active FTP dan Passive FTP. Active FTP menggunakan port 21 untuk jalur koneksi dan port 21 untuk jalur perintah dan inisiasi. Sedangakan Passive FTP hanya menggunakan port 21 saja sebagai jalur koneksi dan jalur perintah menggunakanhigh port.

Sistem pengiriman data melalui FTP sebetulnya tidak aman karena data yang dikirim tidak dienkripsi/dikodekan. Pengiriman data dilakukan secara langsung dengan format ASCII atau Binary. Hal ini menyebabkan username dan password FTP bisa dibaca oleh orang yang berniat jahat karena memang berupa clear text.

Untuk mengatasi hal itu dibuatlah sistem SFTP dan FTPS. SFTP adalah sistem FTP yang berbasis SSH (Secure Shell) dan FTPS adalah sistem FTP dengan enkripsi SSL seperti yang telah diterapkan pada HTTPS. Dengan kedua cara ini, pengiriman data dilakukan dengan aman karena data yang dikirim dikodekan dulu bukan clear text seperti pada FTP.

FTP Server

Adalah sebuah komputer yang bertugas melayani pengiriman data FTP. Pada komputer FTP Server dipasang sebuah perangkat lunak khusus untuk aplikasi FTP Server. Kemudian untuk bisa diakses oleh client, dibuatlah akun dengan username dan password untuk akses login ke FTP server.

Software FTP Server yang terkenal dan gratis adalah FileZilla FTP Server pada Windows dan PROFTPD pada Linux dan semua komputer Unix seperti MacOS.

Berikut ini beberapa software FTP Server yang berbasis Graphical dan berbasis command line.

FTP Server dengan Graphical User :

  1. ALFTP
  2. Cerberus FTP Server
  3. Complete FTP Server
  4. CrushFTP Server
  5. FileZilla Server
  6. LogicalDOC
  7. Microsoft Internet Information Services
  8. NASLite proprietary
  9. Sysax Multi Server
  10. War FTP Daemon
  11. WS FTP Server

FTP Server dengan command terminal :

  1. CrushFTP Server
  2. glFTPd
  3. GoAnywhere Services
  4. ProFTPD
  5. Pure-FTPd
  6. vsftpd (Very Secure FTP Daemon)
  7. wu-ftpd

FTP Client

Adalah sebuah perangkat bisa berupa komputer atau smartphone yang mengakses file dari dan ke FTP Server. Agar sebuah perangkat menjadi FTP Client harus lebih dulu diinstal software FTP Client. Software ini bertugas melakukan login ke FTP server melalui username dan password yang telah didaftarkan dan kemudian melakukan operasi file dari dan ke FTP Server.

Berikut ini beberapa software FTP Client yang bersifat gratis dan open source :

  1. cURL, interface = CLI
  2. Cyberduck, interface = GUI
  3. FileZilla, interface = GUI
  4. FireFTP, interface = Firefox addon
  5. Fugu, interface = GUI
  6. gFTP, interface = GTK+
  7. lftp, interface = CLI
  8. Macfusion, interface = GUI
  9. NcFTP, interface =  CLI
  10. net2ftp, interface =  Web application
  11. Swish, interface = Windows Explorer shell extension
  12. tnftp , interface = CLI
  13. WinSCP, interface = GUI
  14. Yafc , interface = CLI

Fungsi FTP dalam pembuatan dan pengelolaan website

Kita sangat membutuhkan FTP Client software dalam pengelolaan website seperti upload script, manajemen file pada server website dan lain-lain. Setelah script awal website berhasil dan selesai dibuat langkah selanjutnya adalah upload script tersebut ke server website. Nah disini kita membutuhkan software FTP client.

Software FTP Client yang umum digunakan dan bisa berjalan pada Windows dan Linux adalah File Zilla FTP Client. Software ini bersifat gratis dan bebas digunakan. Untuk panduan cara upload file ke server dengan File Zilla FTP Client insya Allah akan ditulis pada artikel selanjutnya.

Referensi :
  1. http://en.wikipedia.org/wiki/File_Transfer_Protocol
  2. http://id.wikipedia.org/wiki/FTP_Client
  3. http://en.wikipedia.org/wiki/List_of_FTP_server_software
  4. https://dedenthea.wordpress.com/2007/02/08/apa-itu-ftp

Sumber gambar ilustrasi :
  1. http://beginlinux.com
  2. http://www.web-development-blog.com

0 komentar

Post a Comment