PENGENALAN FTP (FILE TRANSFER PROTOCOL) DI DEBIAN SERVER 8.2

PENGENALAN FTP DI DEBIAN SERVER 8.2.0


Pengertian FTP (File Transfer Protocol)

    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.

Sejarah server FTP

Spesifikasi asli untuk File Transfer Protocol ditulis oleh Abhay Bhushan dan diterbitkan sebagai RFC 114 pada tanggal 16 April 1971. Sampai tahun 1980, FTP berlari di NCP , pendahulu TCP / IP. [2] Protokol ini kemudian digantikan oleh TCP / versi IP, RFC 765 (Juni 1980) dan RFC 959 (Oktober 1985), spesifikasi saat ini. Beberapa standar yang diusulkan mengubah RFC 959, misalnya RFC 2228 (Juni 1997) mengusulkan ekstensi keamanan dan RFC 2428 (September 1998) menambahkan dukungan untuk IPv6 dan mendefinisikan tipe baru mode pasif. [4]

Sekilas protokol

Komunikasi dan transfer data

Ilustrasi memulai koneksi pasif menggunakan port 21
FTP dapat dijalankan dalam mode aktif atau pasif, yang menentukan bagaimana koneksi data dibentuk. Dalam kedua kasus, klien membuat koneksi kontrol TCP dari acak, biasanya unprivileged, pelabuhan N ke server FTP command port 21. dalam modus aktif, klien mulai mendengarkan untuk koneksi data yang masuk dari server pada port M. Ini mengirimkan perintah FTP PORT M untuk menginformasikan server pada port itu mendengarkan. Secara default, M = N. Server kemudian memulai saluran data ke klien dari pelabuhan 20, FTP port data server yang. Dalam situasi di mana klien berada di belakang firewall dan tidak dapat menerima koneksi TCP yang masuk, mode pasif dapat digunakan. Dalam modus ini, klien menggunakan koneksi kontrol untuk mengirim perintah PASV ke server dan kemudian menerima alamat IP server dan port server nomor dari server, yang klien kemudian menggunakan untuk membuka koneksi data dari port klien sewenang-wenang untuk alamat IP server dan port server jumlah yang diterima.  Kedua mode yang diperbarui pada bulan September 1998 untuk mendukung IPv6 . Perubahan lebih lanjut diperkenalkan ke mode pasif pada waktu itu, memperbarui ke mode pasif diperpanjang. 
Server merespon melalui koneksi kontrol dengan kode status tiga digit di ASCII dengan pesan teks opsional. Misalnya, "200" (atau "200 OK") berarti bahwa perintah terakhir berhasil. Angka-angka mewakili kode untuk respon dan teks opsional merupakan penjelasan dibaca manusia atau permintaan (misalnya <Perlu akun untuk menyimpan berkas>). Sebuah pengalihan berkelanjutan data file melalui koneksi data dapat dibatalkan dengan menggunakan interupsi pesan yang dikirim melalui koneksi kontrol.
Sementara mentransfer data melalui jaringan, empat representasi data yang dapat digunakan:
  • ASCII modus: Digunakan untuk teks. Data diubah, jika diperlukan, dari representasi karakter host pengirim untuk "8-bit ASCII" sebelum transmisi, dan (sekali lagi, jika perlu) untuk representasi karakter host penerima ini. Akibatnya, modus ini tidak pantas untuk file yang berisi data selain teks biasa.
  • Modus foto (biasa disebut Binary mode): Mesin pengirim mengirimkan setiap file byte untuk byte, dan penerima menyimpan bytestream karena menerimanya. (Gambar mendukung mode telah direkomendasikan untuk semua implementasi dari FTP).
  • EBCDIC modus: Digunakan untuk teks biasa antara host menggunakan set karakter EBCDIC.
  • Modus lokal: Memungkinkan dua komputer dengan setup identik dengan mengirim data dalam format proprietary tanpa perlu mengubahnya menjadi ASCII.
Untuk file teks, kontrol format yang dan struktur record pilihan yang berbeda disediakan. Fitur-fitur ini dirancang untuk memfasilitasi file yang berisi Telnet atau ASA .
Transfer data dapat dilakukan dalam salah satu dari tiga mode: [1] [2]

Sejarah server FTP

Spesifikasi asli untuk File Transfer Protocol ditulis oleh Abhay Bhushan dan diterbitkan sebagai RFC 114 pada tanggal 16 April 1971. Sampai tahun 1980, FTP berlari di NCP , pendahulu TCP / IP. [2] Protokol ini kemudian digantikan oleh TCP / versi IP, RFC 765 (Juni 1980) dan RFC 959 (Oktober 1985), spesifikasi saat ini. Beberapa standar yang diusulkan mengubah RFC 959, misalnya RFC 2228 (Juni 1997) mengusulkan ekstensi keamanan dan RFC 2428 (September 1998) menambahkan dukungan untuk IPv6 dan mendefinisikan tipe baru mode pasif. [4]

Sekilas protokol

Komunikasi dan transfer data

Ilustrasi memulai koneksi pasif menggunakan port 21
FTP dapat dijalankan dalam mode aktif atau pasif, yang menentukan bagaimana koneksi data dibentuk. [5] Dalam kedua kasus, klien membuat koneksi kontrol TCP dari acak, biasanya unprivileged, pelabuhan N ke server FTP command port 21. dalam modus aktif, klien mulai mendengarkan untuk koneksi data yang masuk dari server pada port M. Ini mengirimkan perintah FTP PORT M untuk menginformasikan server pada port itu mendengarkan. Secara default, M = N. Server kemudian memulai saluran data ke klien dari pelabuhan 20, FTP port data server yang. Dalam situasi di mana klien berada di belakang firewall dan tidak dapat menerima koneksi TCP yang masuk, mode pasif dapat digunakan. Dalam modus ini, klien menggunakan koneksi kontrol untuk mengirim perintah PASV ke server dan kemudian menerima alamat IP server dan port server nomor dari server, [5] [6] yang klien kemudian menggunakan untuk membuka koneksi data dari port klien sewenang-wenang untuk alamat IP server dan port server jumlah yang diterima. [7] Kedua mode yang diperbarui pada bulan September 1998 untuk mendukung IPv6 . Perubahan lebih lanjut diperkenalkan ke mode pasif pada waktu itu, memperbarui ke mode pasif diperpanjang. [8]
Server merespon melalui koneksi kontrol dengan kode status tiga digit di ASCII dengan pesan teks opsional. Misalnya, "200" (atau "200 OK") berarti bahwa perintah terakhir berhasil. Angka-angka mewakili kode untuk respon dan teks opsional merupakan penjelasan dibaca manusia atau permintaan (misalnya <Perlu akun untuk menyimpan berkas>). [1] Sebuah pengalihan berkelanjutan data file melalui koneksi data dapat dibatalkan dengan menggunakan interupsi pesan yang dikirim melalui koneksi kontrol.
Sementara mentransfer data melalui jaringan, empat representasi data yang dapat digunakan: [2] [3] [4]
  • ASCII modus: Digunakan untuk teks. Data diubah, jika diperlukan, dari representasi karakter host pengirim untuk "8-bit ASCII" sebelum transmisi, dan (sekali lagi, jika perlu) untuk representasi karakter host penerima ini. Akibatnya, modus ini tidak pantas untuk file yang berisi data selain teks biasa.
  • Modus foto (biasa disebut Binary mode): Mesin pengirim mengirimkan setiap file byte untuk byte, dan penerima menyimpan bytestream karena menerimanya. (Gambar mendukung mode telah direkomendasikan untuk semua implementasi dari FTP).
  • EBCDIC modus: Digunakan untuk teks biasa antara host menggunakan set karakter EBCDIC.
  • Modus lokal: Memungkinkan dua komputer dengan setup identik dengan mengirim data dalam format proprietary tanpa perlu mengubahnya menjadi ASCII.
Untuk file teks, kontrol format yang dan struktur record pilihan yang berbeda disediakan. Fitur-fitur ini dirancang untuk memfasilitasi file yang berisi Telnet atau ASA .
Transfer data dapat dilakukan dalam salah satu dari tiga mode:
  • mode streaming: Data dikirim sebagai aliran berkelanjutan, menghilangkan
  • FTP dari melakukan pengolahan apapun. Sebaliknya, semua proses diserahkan ke TCP. Tidak ada Akhir-of-file indikator diperlukan, kecuali data dibagi menjadi catatan.
  • Modus Blok: FTP istirahat data ke dalam beberapa blok (blok header, jumlah byte, dan data lapangan) dan kemudian dibagikan pada TCP.
  • Mode kompresi: Data dikompresi dengan menggunakan algoritma sederhana (biasanya run-length encoding).
Beberapa software FTP juga menerapkan mengempis berbasis mode kompresi, kadang-kadang disebut "Mode Z" setelah perintah yang memungkinkan. Mode ini digambarkan dalam Draft internet, tapi tidak standar. 

Login


  • mode streaming: Data dikirim sebagai aliran berkelanjutan, menghilangkan
  • FTP dari melakukan pengolahan apapun. Sebaliknya, semua proses diserahkan ke TCP. Tidak ada Akhir-of-file indikator diperlukan, kecuali data dibagi menjadi catatan.
  • Modus Blok: FTP istirahat data ke dalam beberapa blok (blok header, jumlah byte, dan data lapangan) dan kemudian dibagikan pada TCP. 
  • Mode kompresi: Data dikompresi dengan menggunakan algoritma sederhana (biasanya run-length encoding).
Beberapa software FTP juga menerapkan mengempis berbasis mode kompresi, kadang-kadang disebut "Mode Z" setelah perintah yang memungkinkan. Mode ini digambarkan dalam Draft internet, tapi tidak standar. 

Login

FTP masuk menggunakan username dan password skema normal untuk memberikan akses. nama tersebut dikirim ke server menggunakan perintah USER, dan password yang dikirim menggunakan perintah LULUS.  Jika informasi yang diberikan oleh klien diterima oleh server, server akan mengirimkan salam kepada klien dan sesi akan dimulai. Jika server mendukungnya, pengguna dapat login tanpa memberikan kredensial login, tapi server yang sama dapat mengizinkan akses hanya terbatas untuk sesi tersebut. 

Anonymous FTP

Sebuah host yang menyediakan layanan FTP dapat memberikan anonymous akses FTP.  Pengguna biasanya login ke layanan dengan (huruf kecil dan huruf di beberapa server FTP) 'anonymous' akun ketika diminta untuk nama pengguna. Meskipun pengguna umumnya diminta untuk mengirim mereka email address bukannya password,  tidak ada verifikasi sebenarnya dilakukan pada data yang diberikan. Banyak FTP host yang tujuannya adalah untuk menyediakan pembaruan perangkat lunak akan memungkinkan login anonymous. 

NAT dan firewall traversal

FTP biasanya transfer data dengan memiliki server terhubung ke klien, setelah perintah PORT dikirim oleh klien. Hal ini bermasalah untuk kedua Nat dan firewall, yang tidak memungkinkan koneksi dari Internet menuju host internal.  Untuk Nat, komplikasi tambahan adalah bahwa representasi dari alamat IP dan nomor port dalam perintah PORT merujuk ke host internal alamat IP dan port, bukan alamat IP publik dan port dari NAT.
Ada dua pendekatan untuk masalah ini. Salah satunya adalah bahwa klien FTP dan server FTP menggunakan perintah PASV, yang menyebabkan koneksi data yang akan didirikan dari klien FTP ke server.  ini banyak digunakan oleh klien FTP modern. Pendekatan lain adalah untuk NAT untuk mengubah nilai-nilai dari perintah PORT, menggunakan gateway aplikasi-tingkat untuk tujuan ini. 

Perbedaan dari HTTP

HTTP dasarnya perbaikan bug di FTP yang membuatnya nyaman untuk digunakan selama bertahun-transfer fana kecil yang khas di halaman web.
FTP memiliki koneksi kontrol stateful yang memelihara direktori kerja saat ini dan bendera lainnya, dan setiap transfer memerlukan sambungan sekunder melalui mana data ditransfer. Dalam "pasif" modus sambungan sekunder ini dari klien ke server, sedangkan di default "aktif" Modus sambungan ini dari server ke klien. Peran ini pembalikan jelas ketika dalam modus aktif, dan nomor port acak untuk semua transfer, mengapa firewall dan NAT gateway memiliki waktu yang sulit dengan FTP. HTTP adalah stateless dan multiplexes mengontrol dan data melalui koneksi tunggal dari klien ke server pada nomor port terkenal, yang sepele melewati gateway NAT dan sederhana untuk firewall untuk mengelola.
Mengatur koneksi kontrol FTP cukup lambat karena penundaan round-trip mengirim semua perintah yang diperlukan dan menunggu tanggapan, sehingga adat untuk membawa koneksi kontrol dan terus terbuka untuk beberapa transfer file daripada drop dan re -establish sesi lagi setiap kali. Sebaliknya, HTTP awalnya menjatuhkan koneksi setelah setiap transfer karena hal itu sangat murah. Sementara HTTP telah kemudian memperoleh kemampuan untuk menggunakan kembali koneksi TCP untuk beberapa transfer, model konseptual masih permintaan independen daripada sesi.
Ketika FTP mentransfer melalui koneksi data, koneksi kontrol idle. Jika transfer dilakukan cukup lama, firewall atau NAT dapat memutuskan bahwa koneksi kontrol mati dan berhenti pelacakan itu, efektif melanggar sambungan dan membingungkan download. Koneksi HTTP tunggal hanya menganggur antara permintaan dan itu adalah normal dan diharapkan untuk koneksi tersebut untuk turun setelah time-out.
 
Cukup Sekian, semoga bermanfaat!
Previous
Next Post »
Thanks for your comment