Protokol Transfer Berkas
Artikel ini perlu diwikifikasi agar memenuhi standar kualitas Wikipedia. Anda dapat memberikan bantuan berupa penambahan pranala dalam, atau dengan merapikan tata letak dari artikel ini.
Untuk keterangan lebih lanjut, klik [tampil] di bagian kanan.
|
artikel ini perlu dirapikan agar memenuhi standar Wikipedia. |
Protokol Transfer Berkas (bahasa Inggris: File Transfer Protocol) adalah protokol komunikasi standar yang digunakan untuk mentransfer dari berkas komputer dari sebuah peladen ke sebuah klien pada jaringan komputer. FTP dibangun pada arsitektur model klien-server menggunakan kontrol terpisah dan koneksi data antara klien dan peladen.[1] FTP pengguna dapat mengautentikasi diri mereka sendiri dengan protokol masuk teks yang jelas, normalnya dalam sebuah bentuk nama panggilan dan kata sandi, tetapi dapat terhubung secara anonim jika peladen dikonfigurasi untuk mengizinkannya. Untuk transmisi aman yang melindungi nama panggilan dan kata sandi, dan mengenkripsi konten, FTP sering kali diamankan dengan SSL/TLS (FTPS) atau diganti dengan SSH File Transfer Protocol (SFTP).
Aplikasi klien FTP pertama adalah program baris perintah yang dikembangkan sebelum sistem operasi memiliki antarmuka pengguna grafis, dan masih dikirim dengan sebagian besar sistem operasi Windows, Unix, dan Linux.[2][3] Banyak klien FTP khusus dan utilitas otomasi telah dikembangkan untuk desktop, peladen, perangkat seluler, dan perangkat keras, dan FTP telah dimasukkan ke dalam aplikasi produktivitas seperti editor HTML dan pengelola berkas.
Sebuah klien FTP biasanya terintegrasi di peramban web, di mana berkas peladen dijelajahi dengan prefix URI "ftp://
". Sepanjang tahun 2021, dua vendor browser web utama menghapus kemampuan ini. Dukungan untuk protokol FTP pertama kali dinonaktifkan di Google Chrome 88 pada Januari 2021,[4] diikuti oleh Firefox 88.0 pada April 2021.[5] Pada Juli 2021, Firefox 90 menonaktifkan FTP sepenuhnya,[6] dan Google mengikutinya di bulan Oktober 2021, menghapus FTP sepenuhnya di Google Chrome 95.[7]
Sejarah
Spesifikasi asli dari Protokol Transfer Berkas ditulis oleh Abhay Bhushan di publikasikan sebagai RFC 114 pada 16 April 1971. Sampai 1980, FTP berjalan pada NCP, pendahulu dari TCP/IP.[8] Protokolnya digantikan oleh sebuah versi TCP/IP, RFC 765 (Juni1980) dan RFC 959 (Oktober 1985), spesifikasi saat ini. Beberapa standar yang diusulkan diubah RFC 959, sebagai contoh RFC 1579 (Februari 1994) mengaktifkan FTP Ramah-Dinding api (mode pasif), RFC 2228 (Juni 1997) mengusulkan ekstensi keamanan, RFC 2428 (September 1998) menambahkan dukungan untuk IPv6 dan mendefinisikan jenis mode pasif baru.[9]
Ikhtisar protokol
FTP merupakan salah satu protokol Internet yang paling awal dikembangkan, dan masih digunakan hingga saat ini untuk melakukan pengunduhan (download) dan penggugahan (upload) berkas-berkas komputer antara klien FTP dan server FTP. Sebuah Klien FTP merupakan aplikasi yang dapat mengeluarkan perintah-perintah FTP ke sebuah server FTP, sementara server FTP adalah sebuah Windows Service atau daemon yang berjalan di atas sebuah komputer yang merespons perintah-perintah dari sebuah klien FTP. Perintah-perintah FTP dapat digunakan untuk mengubah direktori, mengubah modus pengiriman antara biner dan ASCII, menggugah berkas komputer ke server FTP, serta mengunduh berkas dari server FTP.
Sebuah server FTP diakses dengan menggunakan Universal Resource Identifier (URI) dengan menggunakan format ftp://namaserver
. Klien FTP dapat menghubungi server FTP dengan membuka URI tersebut.
FTP menggunakan protokol Transmission Control Protocol (TCP) untuk komunikasi data antara klien dan server, sehingga di antara kedua komponen tersebut akan dibuatlah sebuah sesi komunikasi sebelum pengiriman data dimulai. Sebelum membuat koneksi, port TCP nomor 21 di sisi server akan "mendengarkan" percobaan koneksi dari sebuah klien FTP dan kemudian akan digunakan sebagai port pengatur (control port) untuk (1) membuat sebuah koneksi antara klien dan server, (2) untuk mengizinkan klien untuk mengirimkan sebuah perintah FTP kepada server dan juga (3) mengembalikan respons server ke perintah tersebut. Sekali koneksi kontrol telah dibuat, maka server akan mulai membuka port TCP nomor 20 untuk membentuk sebuah koneksi baru dengan klien untuk mengirim data aktual yang sedang dipertukarkan saat melakukan pengunduhan dan penggugahan.
FTP hanya menggunakan metode autentikasi standar, yakni menggunakan username dan password yang dikirim dalam bentuk tidak terenkripsi. Pengguna terdaftar dapat menggunakan username dan password-nya untuk mengakses, men-download, dan meng-upload berkas-berkas yang ia kehendaki. Umumnya, para pengguna terdaftar memiliki akses penuh terhadap beberapa direktori, sehingga mereka dapat membuat berkas, membuat direktori, dan bahkan menghapus berkas. Pengguna yang belum terdaftar dapat juga menggunakan metode anonymous login, yakni dengan menggunakan nama pengguna anonymous
dan password yang diisi dengan menggunakan alamat e-mail.
Mode transfer data
Transfer data dapat dilakukan dalam salah satu dari tiga mode:[10][11]
- Mode Stream (MODE S): Data dikirim sebagai aliran berkelanjutan, membebaskan FTP dari melakukan pemrosesan apa pun. Sebaliknya, semua pemrosesan diserahkan kepada TCP. Tidak diperlukan indikator End-of-file, kecuali data dibagi menjadi rekord.
- Mode Block (MODE B): Dirancang terutama untuk mentransfer berkas berorientasi rekaman (STRU R), meskipun juga dapat digunakan untuk mentransfer file teks berorientasi aliran (STRU F). FTP menempatkan setiap catatan (atau baris) data ke dalam beberapa blok (header blok, jumlah bita, dan bidang data) dan kemudian meneruskannya ke TCP.[12]
- Mode terkompresi (MODE C): Memperluas MODE B dengan kompresi data menggunakan run-length encoding.
Sebagian besar klien dan peladen FTP kontemporer tidak mengimplementasikan MODE B atau MODE C; Klien dan peladen FTP untuk sistem operasi mainframe dan komputer mini adalah pengecualian untuk itu.
Kelebihan dan kekurangan FTP
Kelebihan dari FTP
1. FTP dapat Mempermudah dalam mengunggah data.
2. FTP dapat mentransfer data.
3. Pada FTP online terdapat fasilitas untuk mengupload data ke server dalam jumlah banyak sekaligus jadi tidak satu persatu.
4. Pada FTP dapat melayani tukar-menukar file.
5. FTP merupakan versi paling gres juga dilengkapi dengan seperangkat program audit dan penanganan account.
Kekurangan dari FTP
1. FTP merupakan cara yang tidak aman dalam mentransfer suatu file karena file dikirimkan tanpa di enskripsi terlebih dahulu tetapi melalui clear teks. Mode text yang dipakai untuk transfer data adalah format ASCII atau format binary.
2. Keamanan dan kemudahan penggunaan sering kali berbentrokan dan menjadi dilema para administrator sistem.
3. Desain FTP masih lemah sehingga mengakibatkan tidak terinformasinya para administrator sistem mengenai risiko yang mereka hadapi.
Dukungan perangkat lunak
Peramban web
Peramban web paling umum dapat mengambil berkas yang dihosting di server FTP, walaupun mereka tidak dapat mendukung ekstensi protokol seperti FTPS.[13][14] Saat FTP—bukan HTTP—URL disediakan, konten yang dapat diakses di peladen jarak jauh disajikan dengan cara yang mirip dengan yang digunakan untuk konten web lainnya. FireFTP adalah sebuah ekstensi peramban yang dirancang sebagai klien FTP berfitur lengkap, itu dapat dijalankan dengan Firefox pada masa lalu, tapi sekarang direkomendasikan bekerja dengan Waterfox.
Google Chrome menghapus dukungan FTP seluruhnya di Chrome 88.[15] Pada 2019, Mozilla sedang mendiskusikan proposal, termasuk hanya menghapus dukungan untuk implementasi FTP lama yang tidak lagi digunakan untuk menyederhanakan kodenya.[16][17] Pada April 2021, Mozilla merilis Firefox 88.0 yang menonaktifkan dukungan FTP secara default.[18] Pada Juli 2021, Firefox 90 menghentikan dukungan FTP sepenuhnya.[19]
Sintaks
Sintaks URL FTP dijelaskan di RFC 1738, mengambil formulir: ftp://[user[:password]@]host[:port]/[url-path]
(bagian yang diberi tanda kurung adalah opsional).
Sebagai contoh, URL ftp://public.ftp-servers.example.com/mydirectory/myfile.txt mewakili berkas myfile.txt dari direktori mydirectory pada peladen public.ftp-servers.example.com sebagai sumber daya FTP. URL ftp://user001:secretpassword@private.ftp-servers.example.com/mydirectory/myfile.txt menambahkan spesifikasi nama pengguna dan kata sandi yang harus digunakan untuk mengakses sumber daya ini.
Rincian lebih lanjut tentang menentukan nama pengguna dan kata sandi dapat ditemukan di dokumentasi peramban (mis., Firefox[20] dan Internet Explorer[21]). Secara default, sebagian besar browser web menggunakan mode pasif (PASV), yang lebih mudah melintasi tembok api pengguna akhir.
Beberapa variasi telah ada dalam cara peramban yang berbeda menangani resolusi jalur jika terdapat direktori home non-root untuk pengguna.[22]
Pengelola unduhan
Pengelola unduhan yang paling umum dapat menerima berkas yang dihosting di peladen FTP, sementara beberapa dari mereka juga memberikan antarmuka untuk mengambil berkas yang dihosting di peladen FTP. DownloadStudio memungkinkan tidak hanya mengunduh berkas dari peladen FTP tetapi juga melihat daftar berkas di peladen FTP.[23]
Lainnya
LibreOffice mendukung pembukaan file dari server FTP, tapi dari perilisan 7.4, fitur ini dilabeli usang, dan pengembang bermaksud untuk menghapusnya di versi mendatang.[24]
Mengakses
Mengakses FTP menggunakan skema nama pengguna dan kata sandi normal untuk memberikan akses.[25] Nama pengguna dikirim ke peladen menggunakan perintah USER, dan kata sandi dikirim menggunakan perintah PASS.[25] Urutan ini tidak terenkripsi "on the wire", jadi mungkin rentan terhadap serangan Sniffing jaringan.[26] Jika informasi yang diberikan oleh klien diterima oleh peladen, peladen akan mengirim sambutan ke klien dan sesi akan dimulai.[25] Jika peladen mendukungnya, pengguna dapat masuk tanpa memberikan kredensial masuk, tetapi peladen yang sama hanya dapat mengotorisasi akses terbatas untuk sesi tersebut.[25]
FTP anonim
Hos yang menyediakan layanan FTP dapat menyediakan akses FTP anonim.[27] Pengguna biasanya masuk ke layanan dengan akun 'anonim' (huruf kecil dan huruf besar-kecil sensitif di beberapa peladen FTP) saat diminta nama pengguna. Meskipun pengguna umumnya diminta untuk mengirimkan alamat email mereka alih-alih kata sandi,[28] tidak ada verifikasi yang benar-benar dilakukan pada data yang diberikan.[29] Banyak hos FTP yang tujuannya menyediakan pembaruan perangkat lunak akan mengizinkan akses anonim.[28]
Jenis FTP
Berdasarkan Hak Akses:
- FTP User FTP user artinya FTP yang dapat di akses dan memiliki permisi hanya di batasi hanya untuk user tertentu. Karena FTP user disertakan suatu autentifikasi bila kita akan mengakses ke dalam nya. Format dari FTP user:
ftp://user@host.domain
- FTP Anonymous FTP anonymous artinya FTP yang disediakan secara anonymous/ tanpa nama, dengan kata lain FTP tersebut dapat di akses oleh siapapun dan biasanya tanpa password ataupun bila diminta password. Biasanya server meminta alamat email kita sebagai password nya untuk verifikasi. Format dari FTP anonymous:
ftp://ftp5.freebsd.org
Secara Global:
1. FTP Server
FTP server adalah komputer server yang memberikan akses FTP ke jaringan local maupun Internet (global). Macam – macam software pembangun FTP server antara lain adalah FTPd, Pro-FTPd, Wu-FTPd, FTPX, Troll-FTPd .
2. FTP Client
FTP client adalah komputer yang meminta koneksi ke FTP server untuk tujuan tukar menukar file. Ada beberapa macam jenis FTP client,
Keamanan
FTP tidak dirancang untuk menjadi protokol yang aman, dan memiliki banyak kelemahan keamanan.[30] Pada Mei 1999, penulis dari RFC 2577 menjabarkan kerentanan terhadap masalah berikut:
- Serangan brutal
- Serangan memantul FTP
- Penganalisa paket
- Pencurian port (menebak port terbuka berikutnya dan merebut koneksi yang sah)
- Penyaruan
- Pencacahan nama pengguna
- DoS atau DDoS
Kode balasan FTP
Di bawah ini adalah ringkasan dari balasan kode FTP yang dapat dikembalikan oleh peladen FTP. Kode-kode ini telah di standarisasi dalam RFC 959 oleh IETF. Kode balasannya berupa nilai tiga -digit. Digit pertama digunakan untuk menunjukkan salah satu dari tiga hasil yang mungkin — berhasil, kesalahan, atau untuk menunjukkan kesalahan atau balasan yang tidak lengkap:
- 2yz – Balasan berhasil
- 4yz atau 5yz – Balasan kesalahan
- 1yz atau 3yz – Kesalahan atau Balasan tidak lengkap
Digit kedua menentukan jenis kesalahan:
- x0z – Sintaks. Balasan ini mengacu pada kesalahan sintaksis.
- x1z – Informasi. Balasan untuk permintaan informasi.
- x2z – Koneksi. Balasan mengacu pada kontrol dan koneksi data.
- x3z – Autentikasi dan akutansi. Balasan untuk proses masuk dan prosedur akuntansi.
- x4z – Tidak terdefinisikan.
- x5z – Berkas sistem. Balasan ini menyampaikan kode status dari berkas sistem peladen.
Digit ketiga dari kode balasan digunakan untuk menyediakan detail tambahan untuk setiap dari katerogi ditentukan oleh digit kedua.
Referensi
- ^ Forouzan, B.A. (2000). TCP/IP: Protocol Suite (edisi ke-1st). New Delhi, India: Tata McGraw-Hill Publishing Company Limited.
- ^ Kozierok, Charles M. (2005). "The TCP/IP Guide v3.0". Tcpipguide.com.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamanet+3
- ^ "Deprecations and removals in Chrome 87". Diakses tanggal November 18, 2020.
- ^ "Firefox 88.0, See All New Features, Updates and Fixes". Diakses tanggal April 23, 2021.
- ^ Vonau, Manuel (2021-07-07). "Firefox follows in Chrome's footsteps and drops FTP support (APK Download)". Android Police (dalam bahasa Inggris). Diakses tanggal 2021-07-12.
- ^ "Remove FTP support - Chrome Platform Status". www.chromestatus.com. Diakses tanggal 2021-09-02.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamatcpip
- ^ Clark, M.P. (2003). Data Networks IP and the Internet (edisi ke-1st). West Sussex, England: John Wiley & Sons Ltd.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamafor2
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamatcpip5
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamaclark2
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamanet+
- ^ Matthews, J. (2005). Computer Networking: Internet Protocols in Action (edisi ke-1st). Danvers, MA: John Wiley & Sons Inc.
- ^ Sneddon, Joey (2021-01-26). "Linux Release Roundup: GParted, Lightworks, Google Chrome + More". omgubuntu.co.uk. Diakses tanggal 2021-01-30.
- ^ "1574475 - Remove FTP support".
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamachromestatus2
- ^ "See what's new in Firefox: 88.0 Firefox Release". mozilla.org. 2021-04-19. Diakses tanggal 2021-04-20.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernama:02
- ^ "Accessing FTP servers | How to | Firefox Help". Support.mozilla.com. 2012-09-05. Diakses tanggal 2013-01-16.
- ^ "How to Enter FTP Site Password in Internet Explorer". Diarsipkan dari versi asli tanggal 2 July 2015. Diakses tanggal 13 February 2020. Written for IE versions 6 and earlier. Might work with newer versions.
- ^ Jukka “Yucca” Korpela (1997-09-18). "FTP URLs". "IT and communication" (jkorpela.fi). Diakses tanggal 2020-01-26.
- ^ "DownloadStudio - Internet Download Manager And Download Accelerator - Features". Conceiva. Diakses tanggal 2021-10-19.
- ^ "LibreOffice 7.4: Release Notes". The Document Foundation's Wiki. Diakses tanggal 2022-09-10.
- ^ a b c d Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamatcpip2
- ^ Prince, Brian. "Should Organizations Retire FTP for Security?". Security Week. Security Week. Diakses tanggal 14 September 2017.
- ^ Kesalahan pengutipan: Tag
<ref>
tidak sah; tidak ditemukan teks untuk ref bernamatcpip3
- ^ a b Dean, Tamara (2010). Network+ Guide to Networks. Delmar. hlm. 168–171.
- ^ RFC 1635 (Informational) How to Use Anonymous FTP. P. & Emtage, A. & Marine, A. (May 1994).
- ^ "Securing FTP using SSH". Nurdletech.com.
Bacaan lanjutan
- RFC 697 – Perintah CWD FTP Juli 1975.
- RFC 959 – (Standar) File Transfer Protocol (FTP). J. Postel, J. Reynolds. Oktober 1985.
- RFC 1579 – (informasional) FTP Ramah-Tembok api. Februari 1994.
- RFC 1635 – (informasional) Cara Menggunakan FTP Anonim. Mei 1994.
- RFC 1639 – FTP Operation Over Big Address Records (FOOBAR). Juni 1994.
- RFC 1738 – Uniform Resource Locators (URL). Desember 1994.
- RFC 2228 – (Standar yang Diusulkan) Ekstensi Keamanan FTP. Oktober 1997.
- RFC 2389 – (Standar yang Diusulkan) Mekanisme negosiasi fitur untuk File Transfer Protocol. Agustus 1998.
- RFC 2428 – (Standar yang Diusulkan) Ekstensi untuk mode pasif IPv6, NAT, dan Extended. September 1998.
- RFC 2577 – (informasional) Pertimbangan Keamanan FTP. Mei 1999.
- RFC 2640 – (Standar yang Diusulkan) Internasionalisasi Protokol Transfer Berkas. Juli 1999.
- RFC 3659 – (Standar yang Diusulkan) Ekstensi ke FTP. P. Hetmon. Maret 2007.
- RFC 5797 – (Standar yang Diusulkan) Perintah FTP dan Registri Ekstensi. Maret 2010.
- RFC 7151 – (Standar yang Diusulkan) Perintah HOST Protokol Transfer File untuk Host Virtual. Maret 2014.
- Registri Perintah dan Ekstensi FTP IANA – Registri resmi Perintah dan Ekstensi FTP
Pranala luar
- Jaringan komunikasi/Protokol Transfer Berkas di Wikibuku
- FTP Server Online Tester Otentikasi, enkripsi, mode, dan konektivitas.
- Server FTP Anonim berdasarkan Kode Negara TLD (2012): "Offbeat Internet - Public Access - FTP". www.jumpjet.info. 2012. Diakses tanggal 2020-01-16.