Pengertian FTP
File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu network yang menggunakan TCP koneksi bukan UDP. Dua hal yang penting dalam FTP adalah FTP Server dan FTP Client. FTP server adalah suatu server yang menjalankan software yang berfungsi untuk memberikan layanan tukar menukar file dimana server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP client.
FTP client adalah computer yang merequest koneksi ke FTP server untuk tujuan tukar menukar file. Setelah terhubung dengan FTP server, maka client dapat men-download, meng-upload, merename, men-delete, dll sesuai dengan permission yang diberikan oleh FTP server.
Mode Dalam FTP
FTP biasanya menggunakan dua buah port untuk koneksi yaitu port 20 dan port 21 dan berjalan exclusively melalui TCP bukan UDP. FTP server mendengar pada port 21 untuk incoming connection dari FTP client. Biasanya port 21 adalah command port dan port 20 adalah data port. Pada FTP server, terdapat 2 mode koneksi yaitu aktif mode (active mode) dan pasif mode (passive mode).
1. Active Mode
Pada aktif mode ini, server secara aktif terhubung dengan client. Untuk melakukan pengaturan aktif mode, client mengirimkan sebuah port command ke server, menentukan alamat dan nomor port dari client yang sedang mendengar. Bila satu koneksi diperlukan, server memulai suatu koneksi ke client di alamat ini. Secara umum, server bertanggung jawab untuk menutup koneksi-koneksi ini. Untuk mendukung aktif mode, kanal komunikasi berikut perlu dibuka :
- Port server FTP 21 dimana pun (client memulai koneksi)
- Port server FTP 21 ke port >1023 (server memberikan respon ke port kontrol client)
- Port server FTP 20 ke port >1023 (server memulai koneksi data ke port data client)
- Port server FTP 20 dari port >1023 (client mengirimkan ACK ke port data server)
2. Passive Mode
Pada pasif mode, client memulai koneksi dengan server; memecahkan permasalahan dalam firewall-firewall penyaring koneksi port data ke client menuju server. Ketika koneksi FTP dibuka, client membuka dua buah port acak (port N dan N+1 dimana N>1023). Port N akan melakukan kontak dengan port 21. Server akan membuka port acak (port P dimana P>1023) dan kemudian mengirim command port P ke client. Kemudian client membuat koneksi dari port N+1 ke port P.
Untuk mendukung pasif mode, kanal komunikasi berikut perlu dibuka :
- Port server FTP 21 dimanapun (client memulai koneksi)
- Port server FTP 21 ke port >1023 (server bereaksi terhadap port control client)
- Port-port server FTP >1023 dari mana saja (Client memulai koneksi data ke port acak yang telah ditentukan oleh server)
- Port-port server FTP >1023 ke port-port remote (Server mengirimkan ACK (dan data) ke port data client)
Nah itulah dua mode cara kerja dari File Transfer Protocol