Konsep dan Pengertian File Transfer Protocol (FTP) Server

Pengertian File Transfer Protokol atau biasa disebut FTP adalah sebuah protokol client server yang memungkinkan pengguna atau pemakai untuk bisa mengirim atau menerima file dari dan ke sebuah web server. 

FTP memiliki konsep bekerja menurut aturan transport TCP dan sangat banyak digunakan dalam jaringan internet. Meskipun demikian juga dapat digunakan pada jaringan lokal LAN.


Konsep File Transfer Protocol  (FTP)

Pada FTP terdapat sebuah model FTP, model FTP adalah standar yang mampu mendeskripsikan sebuah operasi sederhana. Model FTP memiliki tugas mendefinisikan perintah yang berpartisipasi dalam sebuah perpindahan file dari kedua kanal komunikasi yang terbentuk serta komponen-komponen FTP yang mengatur kedua kanal dan definisi terminologi yang digunakan untuk komponen-komponen tersebut.

Sesuai namanya yaitu file transfer protocol (FTP) yang berarti segala prosesnya masuk dalam protokol client dan server. Client FTP disebut sebagai user, dimana para pengguna FTP melakukan perintah dan proses dari mesin yang disebut client.

Proses ini berupa serangkaian operasi pada perangkat lunak FTP. Sedangkan pengertian File transfer protocol server atau FTP server adalah tempat dimana FTP client terhubung dan melakukan proses yang berlangsung.

Koneksi control pada FTP dan koneksi data

Salah satu konsep dalam memahami FTP adalah bahwa seperti kebanyakan protokol lain yang menggunakan protokol transport TCP, FTP tidak hanya menggunakan satu koneksi TCP melainkan menggunakan dua koneksi.

Model FTP dirancang memerlukan dua kanal logik komunikasi antara proses server dan klien FTP:
  • Control koneksi, Ini merupakan koneksi logikal TCP yang dibuat ketika sebuah sesi FTP diadakan.  Koneksi logikal TCP ini memelihara throughput selama sesi FTP dan digunakan hanya untuk melakukan pertukaran informasi control, seperti perintah FTP dan jawabannya.
  • Koneksi data, Setiap saat ketika data dikirimkan dari server ke klien atau sebaliknya, sebuah koneksi data TCP nyata dibangun di antara server dan client. Data kemudian dikirimkan melalui koneksi data tersebut. Saat pengiriman file  selesai, koneksi data ini dihentikan.  
Alasan untuk menggunakan kanal-kanal yang berbeda ini adalah agar  didapatkan keleluasaan bagaimana protokol FTP ini digunakan. 
Karena fungsi kontrol dan data dikomunikasikan melalui kanal yang berbeda, model FTP membagi perangkat lunak pada tiap peralatan menjadi dua komponen logikal protokol yang bertugas untuk masing-masing kanal. 
Protocol interpreter (PI) adalah bagian dari perangkat lunak yang mengatur koneksi berkaitan dengan pengiriman dan penerimaan perintah berikut jawabannya. Data transfer process (DTP) bertanggung jawab terhadap pengiriman dan penerimaan data antara klien dan server. 
Sebagai tambahan pada dua elemen di atas, pada proses FTP user ditambahkan komponen ketiga yakni antar muka user untuk berinteraksi dengan user FTP sebagai manusia, ia tidak ditambahkan pada sisi server. 
Sehingga terdapat dua komponen proses FTP server dan tiga komponen proses FTP user pada keseluruhan proses FTP. Untuk lebih jelas perhatikan gambar dibawah ini, beserta penjelasan fungsi masing-masing elemen berikut ini.

Konsep dan Pengertian File Transfer Protocol (FTP) Server
Model operasi FTP

Terminologi dan komponen-komponen proses FTP

Komponen-komponen proses FTP pada server

Pada proses FTP server terdiri dari dua elemen protokol yaitu:
  • Server Protocol Interpreter (Server-PI) adalah Juru bahasa/penghubung protocol yang bertanggung jawab untuk mengatur control koneksi pada server. Ia mendengarkan pada port khusus untuk FTP (port 21) untuk permintaan sambungan FTP yang masuk dari user (klien). Saat sebuah sambungan terjadi, ia menerima perintah dari User-PI, mengirim jawaban kembali dan mengelola proses transfer data server.
  • Server Data Transfer Process (Server-DTP) adalah DTP pada sisi server digunakan untuk mengirim atau menerima data dari atau ke User-DTP (biasanya port 20). Server-DTP mungkin tidak hanya membangun sebuah koneksi data atau mendengarkan suatu koneksi data yang dating dari user. Ia juga berinteraksi dengan file system server local untuk menulis dan membaca file-file. 

Komponen-komponen proses FTP pada user

Proses FTP user terdiri dari tiga elemen protokol:
  • User Protocol Interpreter (User-PI): Juru bahasa/penghubung protokol yang bertanggung jawab untuk mengatur kontrol koneksi pada klien. Ia menginisiasi sesi FTP dengan mengirimkan permintaan ke Server-PI. Saat sebuah sambungan terjadi, ia memroses perintah dari User-PI, mengirimkannya ke Server-PI dan menerima jawaban-jawaban kembali’ Ia juga mengelola proses transfer data user.
  • User Data Transfer Process (User-DTP): DTP pada sisi user digunakan untuk mengirim atau menerima data dari atau ke Server-DTP. User-DTP mungkin tidak hanya membangun sebuah koneksi data atau mendengarkan suatu koneksi data yang dating dari server. Ia juga berinteraksi dengan file system komponen-komponen local klien.
  • User Interface: Antar muka user menyediakan antar muka FTP yang lebih “friendly” untuk pengguna manusia. Ia memungkinkan penggunaan perintah fungsi FTP yang berorientasi pada pengguna ketimbang perintah internal FTP kriptik, dan juga memungkinkan untuk menyampaikan pada pengguna hasil dan informasi sesi FTP yang dilakukannya.

Aplikasi Penggunaan Protokol FTP

a) Macam-macam koneksi

Seperti halnya sebagian besar hubungan klien-server lainnya, mesin klien membuka koneksi ke server pada port tertentu dan server kemudian merespon klien pada port tersebut. Ketika sebuah klien FTP terhubung ke server FTP membuka koneksi ke port kontrol FTP 21.

Kemudian klien memberitahu server FTP apakah akan membangun koneksi aktif atau pasif. Jenis koneksi yang dipilih oleh klien menentukan bagaimana server merespon dan transaksi port akan terjadi.

Dua jenis koneksi data:

Koneksi aktif FTP
Ketika sambungan aktif dijalankan, klien dari port tinggi mengirim permintaan ke port 21 pada server. Kemudian server membuka sambungan data ke klien dari port 20 ke range port tinggi pada mesin klien. Semua data yang diminta dari server kemudian dilewatkan melalui koneksi ini.
ftp server adalah
Koneksi FTP aktif
Koneksi pasif FTP
Ketika sambungan pasif (PASV) dijalankan, klien dari port tinggi mengirim ke port 21 pada server, klien meminta server FTP untuk membentuk koneksi port pasif,  yang dapat dilaksanakan pada port yang lebih tinggi dari 10.000. Server kemudian mengikat ke port nomor tinggi untuk sesi khusus ini dan menyerahkan nomor port kembali ke klien.

Klien kemudian membuka port baru yang telah disetujui untuk koneksi data. Setiap data meminta klien untuk membuat hasil dalam koneksi data terpisah. Kebanyakan klien FTP modern mencoba untuk membuat sambungan pasif ketika meminta data dari server.
Koneksi FTP pasif pada server adalah
Koneksi FTP pasif

b) FTP User

FTP merupakan cara paling umum untuk melakukan proses pemindahan file-file dari sebuah FTP server ke komputer pengguna, misalnya untuk mengunduh file dokumen, gambar, program maupun file-file image DVD installer Linux. Juga dapat melakukan pemindahan file-file dari komputer pengguna ke server misalnya untuk keperluan hosting web pengguna. 

Jika hanya memerlukan untuk mengunduh file-file dari situs internet dapat pula dilakukan dengan menggunakan aplikasi browser sebagai antar muka pengguna seperti dicontohkan pada Gambar dibawah ini.
Browser sebagai antar muka pengguna FTP
Browser sebagai antar muka pengguna FTP

Aplikasi penggunaan protokol FTP di sisi user/pengguna dilakukan dengan menggunakan antar muka pengguna FTP klien untuk dapat memindah sejumlah file yang besar atau folder dengan lebih mudah dan efisien.

Sistem operasi yang saat ini banyak digunakan biasanya sudah dilengkapi dengan aplikasi FTP clent yang berbasis teks. Seperti ditunjukkan pada Gambar di bawah ini adalah aplikasi FTP clent berbasis teks command DOS pada system operasi Windows.

Command DOS pada MS Windows sebagai antar muka pengguna FTP
Command DOS pada MS Windows sebagai antar muka pengguna FTP
Perintah untuk memulai aplikasi FTP klien adalah dengan mengetik C:> ftp maka prompt akan berubah menjadi ftp> jika ingin menghubungi server 192.168.0.2 dilakukan dengan mengetikkan ftp>open 192.168.0.2.

Sebelum terjadi koneksi kita akan diminta menuliskan username dan password, sebagai user kebanyakan maka kita isikan username User <192.168.0.2:<none>>: anonymous kemudian Password: plengdut@gmail.com (alamat email dan tidak terbaca waktu diketikkan).

Jika berhasil maka server akan menjawab 230 Logged on lalu muncul prompt ftp> berarti saat itu kita sudah terkoneksi dengan Server FTP 192.168.0.2. Selanjutnya kita bisa melakukan aplikasi kirim terima file. Langkah memulai aplikasi FTP klien pada DOS sama dengan yang dapat dilakukan pada terminal UNIX/Linux.

Terdapat banyak sekali aplikasi antar muka dari pihak ketiga (3rd party software) FTP klien tidak berbayar yang dapat diunduh dari situs-situs internet yang dapat diinstal pada system operasi komputer.

Salah satunya adalah Filezilla yang mampu berjalan di atas system operasi Windows, Linux maupun Mac berbasis grafis dan dapat diunduh dari URL https://filezilla-project.org/download.php?type=client.

Antar muka FTP klien yang lain misalnya: WinFTP, FireFTP, FTPExplorer, CyberDuck, CuteFTP, dan masih banyak lagi yang gratis maupun berbayar.Pada kebanyakan aplikasi antar muka FTP klien ditampilkan dengan bentuk grafis dan menampilkan proses koneksi data, direktori server FTP dan direktori komputer lokal.  
Klien FTP Filezilla sebagai antar muka pengguna FTP
Klien FTP Filezilla sebagai antar muka pengguna FTP
Pada saat akan dimulai proses koneksi pengguna diwajibkan untuk masuk menggunakan username, untuk pengguna umum biasanya masuk dengan anonymous, lalu harus mengisikan password, biasanya berupa alamat email. Hal tersebut merupakan proses yang terjadi pada kanal port 21 kontrol koneksi aplikasi FTP.

Setelah tersambung, baru dapat melakukan koneksi data, yakni proses kirim terima data pada kanal port yang lain. Karena proses kerja protokol FTP menggunakan dua kanal/port TCP.

d) FTP server

FTP server adalah suatu server yang menjalankan piranti lunak/software yang berfungsi untuk memberikan layanan tukar menukar file sehingga server tersebut selalu siap memberikan layanan FTP apabila mendapat permintaan (request) dari FTP klien.

Port standar yang digunakan oleh Server FTP adalah 21. Ketika user mencoba untuk log in, server FTP menggunakan standar system panggilan untuk memeriksa username dan password dengan membandingkan yang ada pada file password system.

Jika berhasil login dengan benar user diberi akses untuk masuk ke Server FTP, maka user/klien dapat men-mengunduh, mengunggah, mengganti nama file, menghapus file, dll sesuai dengan ijin/permission yang diberikan oleh FTP server.

Tujuan dari FTP server adalah sebagai berikut :

• Untuk tujuan sharing data, menyediakan indirect atau implicit remote computer
• Untuk menyediakan tempat penyimpanan bagi user
• Untuk menyediakan transfer data yang reliable dan efisien

Berbeda dengan antar muka FTP klien yang telah disediakan oleh system operasi kebanyakan dewasa ini, piranti lunak Server FTP harus diinstal dan dikonfigurasi sendiri.

Kebanyakan piranti lunak Server FTP bisa didapatkan dengan gratis, mereka biasanya dibuat khusus untuk masing-masing platform system operasi.

Demikian juga platform windows, system operasi tidak menyertakan aplikasi Server FTP di dalamnya, kita bisa mengaplikasikan server FTP di windows server dengan menginstal melalui menu Add Remove Program, Application Server, IIS (Internet Information Services) pada pilihan FTP Services.

Sistem windows server akan menggunakan CD/DVD installer untuk melakukan instalasi server FTP hingga selesai dan server FTP siap untuk digunakan.  Piranti lunak aplikasi FTP server dari pihak ke-3 seperti Filezilla Server yang berbasis grafis juga dapat dinstal dan dioperasikan pada platform windows seperti gambar di bawah ini.
FTP Server Filezilla pada SO Windows
FTP Server Filezilla pada SO Windows
Untuk platform SO Linux/UNIX server FTP standar / tradisional sudah disertakan di dalamnya yakni dapat dieksekusi melalui inetd (daemon superserver internet).

Kesimpulan
  • File Transfer Protocol (FTP) adalah suatu protokol yang berfungsi untuk tukar-menukar file dalam suatu jaringan yang menggunakan koneksi TCP bukan UDP antara server dan client.
  • Terdapat dua koneksi TCP pada saat aplikasi FTP dilakukan, yakni koneksi kontrol pada port 21 dan koneksi data pada port 20 untuk koneksi aktif atau port tinggi pada koneksi pasif. 
  • Pada sisi klien atau pengguna ditambahkan satu antar muka untuk mempermudah pengguna, dalam bentuk perintah baris (command line) ataupun dalam bentuk grafis.
  • Port standar yang digunakan oleh Server FTP adalah 21. Ketika user mencoba untuk log in, server FTP menggunakan sistem standar panggilan untuk memeriksa username dan password dengan membandingkan yang ada pada file sistem password. Sembarang pengguna dapat masuk sebagai pengguna anonymous dengan password alamat email.

Komentar