File Transfer Protocol (FTP)
1) Konsep Protokol Pengiriman File (FTP)
Protokol pengiriman file atau biasa disebut FTP, File Transfer Protocol, adalah
sebuah protokol klien-server yang memungkinkan seorang pemakai untuk
mengirim atau menerima file dari dan ke sebuah tempat/mesin dalam jaringan. Ia
bekerja menurut aturan transport TCP dan sangat banyak digunakan dalam
jaringan internet. Meskipun demikian juga dapat digunakan pada jaringan lokal,
LAN.
Standar yang mendefinisikan FTP mendekripsikan bahwa semua operasi yang
menggunakan sebuah alat operasi sederhana yang disebut model FTP. Model
FTP mendefinisikan tugas-tugas dari peralatan yang berpartisipasi dalam sebuah
perpindahan file, dan dua kanal komunikasi yang terbentuk diantaranya. Serta
komponen-komponen FTP yang mengatur kedua kanal dan definisi terminologi
yang digunakan untuk komponen-komponen tersebut.
Karena termasuk sebagai protokol klien-server, klien FTP disebut sebagai user,
hal ini karena para pengguna FTP menjalankan FTP melalui sebuah mesin klien.
Serangkaian operasi perangkat lunak FTP dalam sebuah mesin disebut sebagai
proses. Perangkat lunak FTP yang berjalan dalam sebuah server disebut proses
server FTP sedangkan yang berjalan di klien disebut proses klien FTP.
a) Kontrol koneksi FTP dan koneksi data
Konsep kritis dalam memahami FTP adalah bahwa seperti kebanyakan protokol
lain yang menggunakan protokol transport TCP, ia tidak hanya menggunakan
satu koneksi TCP melainkan menggunakan dua koneksi. Model FTP dirancang
memerlukan dua kanal logik komunikasi antara proses server dan klien FTP:
- Kontrol koneksi, Ini merupakan koneksi logikal TCP yang dibuat ketika
sebuah sesi FTP diadakan. Ia memelihara throughput selama sesi FTP
dan digunakan hanya untuk melakukan pertukaran informasi control,
seperti perintah FTP dan jawabannya. Ia tidak digunakan untuk mengirim
file-file.
- Koneksi data, Setiap saat ketika data dikirimkan dari server ke klien atau
sebaliknya, sebuah koneksi data TCP nyata dibangun di antara mereka.
Data 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 1.1, beserta penjelasan fungsi masing-masing elemen berikut ini.
Protokol pengiriman file atau biasa disebut FTP, File Transfer Protocol, adalah
sebuah protokol klien-server yang memungkinkan seorang pemakai untuk
mengirim atau menerima file dari dan ke sebuah tempat/mesin dalam jaringan. Ia
bekerja menurut aturan transport TCP dan sangat banyak digunakan dalam
jaringan internet. Meskipun demikian juga dapat digunakan pada jaringan lokal,
LAN.
Standar yang mendefinisikan FTP mendekripsikan bahwa semua operasi yang
menggunakan sebuah alat operasi sederhana yang disebut model FTP. Model
FTP mendefinisikan tugas-tugas dari peralatan yang berpartisipasi dalam sebuah
perpindahan file, dan dua kanal komunikasi yang terbentuk diantaranya. Serta
komponen-komponen FTP yang mengatur kedua kanal dan definisi terminologi
yang digunakan untuk komponen-komponen tersebut.
Karena termasuk sebagai protokol klien-server, klien FTP disebut sebagai user,
hal ini karena para pengguna FTP menjalankan FTP melalui sebuah mesin klien.
Serangkaian operasi perangkat lunak FTP dalam sebuah mesin disebut sebagai
proses. Perangkat lunak FTP yang berjalan dalam sebuah server disebut proses
server FTP sedangkan yang berjalan di klien disebut proses klien FTP.
a) Kontrol koneksi FTP dan koneksi data
Konsep kritis dalam memahami FTP adalah bahwa seperti kebanyakan protokol
lain yang menggunakan protokol transport TCP, ia tidak hanya menggunakan
satu koneksi TCP melainkan menggunakan dua koneksi. Model FTP dirancang
memerlukan dua kanal logik komunikasi antara proses server dan klien FTP:
- Kontrol koneksi, Ini merupakan koneksi logikal TCP yang dibuat ketika
sebuah sesi FTP diadakan. Ia memelihara throughput selama sesi FTP
dan digunakan hanya untuk melakukan pertukaran informasi control,
seperti perintah FTP dan jawabannya. Ia tidak digunakan untuk mengirim
file-file.
- Koneksi data, Setiap saat ketika data dikirimkan dari server ke klien atau
sebaliknya, sebuah koneksi data TCP nyata dibangun di antara mereka.
Data 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 1.1, beserta penjelasan fungsi masing-masing elemen berikut ini.
b) Komponen-komponen proses FTP dan terminologi
Komponen-komponen proses FTP server
Proses FTP server terdiri dari dua elemen protokol:
- Server Protocol Interpreter (Server-PI): 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): 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 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.
2) 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
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.
# Koneksi pasif
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.
b) Pada sisi 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.
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 1.4. 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
1.5 di bawah ini adalah aplikasi FTP clent berbasis teks command DOS pada
system operasi Windows.
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:
bambang@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 (gambar 3) 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 (Gambar
1.6) yang mampu berjalan di atas system operasi Windows, Linux maupun Mac
berbasis grafis dan dapat diunduh dari URL http://filezilla-project.org/
download.php. 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.
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.
c) Pada sisi 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 pada gambar di bawah ini :
Untuk platform SO Linux/UNIX server FTP standar / tradisional sudah disertakan
di dalamnya yakni dapat dieksekusi melalui inetd (daemon superserver internet).
Instalasi server FTP
Untuk dapat sebuah FTP Server sederhana dapat dilakukan dengan langkah-langkah berikut.
1. Install paket ftp di debian dengan mengetikan perintah berikut. (cd paket Debian harus dimount dahulu)
apt-get install proftpd
2. Kemudian saat instalasi berjalan, anda diminta untuk menjalankan services proftpd sebagai services dari instd atau standalone. Pilihan “from inetd” digunakan jika traffic jaringan tidak terlalu tinggi. Sedangkan pilihan standalone digunakan untuk keadaan jaringan yang tinggi.
3. Bila sudah tekan enter. Tunggu sampai proses instalasi selesai.
Proses instalasi paket ftp server selesai
4. Untuk mencoba hasil instalasi, buka browser pada clinet akses ke alamat ftp://ip_address_server/. Bilamana muncul permintaan login maka dapat disimpulkan bahwa instalasi sukses.
Tampilan login ftp dibrowser Klien
5. Isi username dan password pada form login. maka anda dapat mengakses direktory home milik username yang login ke ftp.
6. Sekarang masuklah kita ke konfigurasi ftp server. Edit pengaturan ftp dengan perintah berikut ini.
nano /etc/proftpd/proftpd.conf
7. Setelah masuk ke pengaturan ftp lakukan beberapa contoh konfigurasi berikut.
# DefaultRoot ~
Hilangkan tanda # didepannya untuk menghilangkan link up to parent directory demi keamanan server. Hal berikut ini dilakukan untuk tidak membebani server dan memberikan klien lain kesempatan mengakses server yaitu klien tertentu yang dalam kondisi tidak mentransfer, stalled atau idle dibatasi dalam waktu tertentu sehingga klien lain mendapat kesempatan akses ke server.
TimeoutNoTransfer 600
ganti menjadi TimeoutNoTransfer 60 (dalam satuan detik 600 = 10 menit).
TimeoutStalled 600
ganti menjadi TimeoutStalled 60.
TimeoutIdle 1200ganti menjadi TimeoutIdle 120 Anda dapat mengubah ServerName menjadi nama yang diinginkan dengan mengganti seperti ini.
ServerName "Debian"
contoh ganti menjadi ServerName "Server SMK2013"
8. Untuk ftp yang dapat diakses semua orang tanpa menggunakan username dan password, maka ftp dapat dibuat anonymous (tanpa login). dapat diatur dengan menghilangkan tanda # seperti gambar berikut.
Tampilan setting anonymous sebelum dihilangkan #
Tampilan setting anonymous sebelum dihilangkan #
Tampilan setting anonymous sesudah dihilangkan #
Tampilan setting anonymous sesudah dihilangkan #
9. Setelah semua konfigurasi dilakukan simpan dengan menekan tombol "CTRL+O" dan keluar "CTRL+X".
10. Restart service ftp server dengan perintah berikut.
/etc/init.d/proftpd restart
11. Untuk mengganti direktory ftp untuk anonymous, maka ganti direktory home milik anonymous. cari dahulu username anonymous pada file /etc/proftpd/proftpd.conf pada baris anonymous tadi.
User untuk setting Anonymous adalah ftp
12. Untuk mengganti direktory homenya gunakan perintah berikut.
usermod -d /var/www ftp
'/var/www' : lokasi direktory; 'ftp' : username
13. Untuk melihat status username tentang home direktorynya gunakan syntax berikut ini.
cat /etc/passwd
14. Maka terlihat bahwa home direktory untuk ftp(anonymous) mengikuti pada pengaturan tadi.
Tampilan user yang ada pada OS
15. Cek hasil konfigurasi dibrowser klien.
16. Dan akan terlihat hasil konfigurasi yang diharapkan.
Instalasi klien FTP
Untuk dapat berinteraksi aktif klien FTP harus diinstal aplikasi klien FTP, sehingga klien dapat secara aktif melakukan pengunduhan maupun pengunggahan file-file ke server FTP. Salah satu perangkat lunak klien FTP bebas adalah filezilla. Berikut cara instalasi dan cara mengupload data ke ftp server.
1. Setelah mendapatkan filezilla dan tersimpan pada folder, Klik dua kali pada setup filezilla.
2. Klik next untuk memulai instalasi.
3. Klik I agree untuk menyetujui tentang lisensi GNU untuk software ini.
4. Pilih anyone who uses this computer(all users) yaitu semua user akun di komputer ini dapat menggunakan software ini atau Only for me yaitu software ini hanya dapat digunakan pada user yang menginstallnya. klik next bila sudah memilih salah satunya.
5. Checklist pada component yang diperlukan untuk diinstall. klik next untuk melanjutkan instalasi.
6. Tentukan folder tujuan instalasi.lalu klik next.
7. Biarkan secara default membuat shortcut pada menu start. Klik install untuk memulai menginstalasi.
8. Tunggu sampai proses instalasi selesai.
9. Bila sudah selesai klik finish.
10. Kemudian muncul jendela aplikasi filezilla
.
11. Untuk memulai mengunggah, mengunduh dan sebagainya menggunakan filezilla, isikan host, username, password dan port kemudian klik Quickconnect.(sebaiknya gunakan username selain anonymous karena hak yang diberikan kepada anonymous hanya dapat read only, tidak dapat melakukan upload atau edit data. hal tersebut dilakukan demi keamanan data server)
12. Setelah melakukan login berhasil, cari file yang ingin diunggah pada kolom kiri tengah dan direktory tujuannya pada kolom kanan tengah.
13. Klik kanan file --> upload. tunggu sampai proses unggah selesai. setelah itu tampak file sudah berada pada kolom kanan.
Upload data dari Klien ke FTP Server
14. Cek melalui browser klien tersebut dan cari dimana letak file tersebut.
File yang diupload akan muncul dibrowser Klien
15. Dan file yang diunggah dapat diakses maupun diunduh dengan catatan bila direktory file yang diunggah menggunakan diretory home username yang digunakan upload di filezilla, pada browser log in menggunakan username tadi. Untuk menghilangkan akses anonymous, ganti home direktory anonymous dengan syntax berikut pada server debian 6.
usermod -d lokasi direktory_pada_home_user_lain ftp.
Agar akses anonymous tidak berlaku karena menggunakan direktory pada direktory home user lain.
# SMK Bandung Selatan 1
# SMK Bandung Selatan 1
Comments
Post a Comment