FTP (File Transfer Protocol)
FTP atau File Transfer Protocol
merupakan protokol internet yang digunakan untuk urusan pengiriman data dalam
jaringan komputer, seperti upload dan download file yang dilakukan oleh FTP
client dan FTP server
Tujuan FTP
1. untuk
mempromosikan berbagi file (komputer program dan / atau data),
2. untuk mendorong
langsung atau implisit (via program) penggunaan komputer remote,
3. untuk
melindungi pengguna dari variasi dalam sistem penyimpanan file antara
host.
4. untuk
mentransfer Data andal dan efisien. FTP, meskipun dapat digunakan langsung
oleh pengguna di terminal, dirancang terutama untuk digunakan oleh
program.
Sejarah
FTP termasuk transfer file pertama kali
diusulkan mekanisme pada tahun 1971 yang dikembangkan untuk implementasi
pada host di M.I.T. (RFC 114), ditambah komentar dan diskusi dalam RFC
141. Sebuah revisi ini sebagai RFC 265, disajikan kembali FTP
untuk ditinjau tambahan, sementara RFC 281 menyarankan
perubahan lebih lanjut. RFC 354 RFC sudah usang 264 dan 265.
File Transfer Protocol sekarang
didefinisikan sebagai protokol untuk transfer file antara host
pada ARPANET, dengan fungsi utama dari FTP didefinisikan
sebagai mentransfer file secara efisien dan andal antara host
dan memungkinkan penggunaan yang mudah dari kemampuan penyimpanan
file jarak jauh. RFC 354 RFC sudah usang 264 dan 265. File Transfer Protocol sekarang didefinisikan sebagai protokol untuk transfer
file antara host pada ARPANET, dengan fungsi utama dari FTP didefinisikan
sebagai mentransfer file secara efisien dan andal antara host
danmemungkinkan penggunaan yang mudah dari kemampuan penyimpanan file jarak
jauh.
Pada bulan Juli 1973, perubahan besar
dari versi terakhir dari FTP yang dibuat, namun struktur umum tetap sama.
RFC 542 diterbitkan sebagai "resmi" spesifikasi baru untuk
mencerminkan ini perubahan. Namun, banyak implementasi berdasarkan
tua spesifikasi tidak diperbarui. spesifikasi tidak diperbarui. Pada
tahun 1974, RFC 607 dan 614 terus komentar pada FTP. RFC 624 diusulkan
perubahan desain lebih lanjut dan modifikasi kecil. Pada tahun
1975, RFC 686 yang berjudul, "Meninggalkan Nah Cukup
Alone", membahas perbedaan antara semua versi awal dan kemudian FTP.
Terminologi
ASCII
Set karakter ASCII sebagaimana
didefinisikan dalam ARPA-Internet Protokol Handbook. Dalam FTP, karakter
ASCII didefinisikan sebagai bagian bawah kode set delapan-bit (yaitu,
palingbit signifikan adalah nol).
KONTROL AKSES
Kontrol akses menentukan hak akses pengguna ke penggunaan sistem, dan
file dalam sistem itu. Akses kontrol yang diperlukan untuk mencegah
penggunaan yang tidak sah atau file tanpa disengaja.
KONEKSI DATA
Sambungan duplex penuh atas data yang
ditransfer, dalam Modus yang ditentukan dan jenis. Data yang ditransfer
dapat menjadi bagian dari file, seluruh file atau beberapa file.
PORT DATA
Proses transfer data pasif
"mendengarkan" pada port data untuk koneksi dari proses transfer
aktif untuk membuka koneksi data.
DTP
Proses transfer data menetapkan dan mengelola
data koneksi. DTP dapat pasif atau aktif.
AKHIR-OF-LINE
Akhir-of-line urutan mendefinisikan
pemisahan pencetakan baris. Urutannya adalah Carriage Return, diikuti oleh
Line Feed.
EOF
Akhir of file kondisi yang mendefinisikan akhir file menjadi ditransfer.
EOR
Akhir of record kondisi yang mendefinisikan akhir rekor
dipindahkan.
PEMULIHAN KESALAHAN
Sebuah prosedur yang memungkinkan
pengguna untuk pulih dari kesalahan tertentu seperti kegagalan baik sistem
host atau proses transfer.
Perintah FTP
Mengajukan Sebuah memerintahkan
set data komputer (termasuk program), dari panjang sewenang-wenang, unik
diidentifikasi oleh pathname a.
Mode
Modus di mana data yang akan ditransfer
melalui data koneksi. Modus yang mendefinisikan format data selama
transfer termasuk EOR dan EOF.
NVT
Jaringan Virtual Terminal sebagaimana didefinisikan dalam
Telnet Protocol.
NVFS
Jaringan Virtual File System. Sebuah konsep yang
mendefinisikan sistem file jaringan standar dengan perintah standar
dan konvensi pathname.
HALAMAN
Sebuah file dapat disusun sebagai seperangkat
bagian independen yang disebut halaman.
PATHNAME
Path didefinisikan sebagai string
karakter yang harus input ke sistem file oleh pengguna untuk
mengidentifikasi file.
PI
Protokol interpreter. Pengguna dan
server sisi protokol telah peran yang berbeda diterapkan dalam user-PI
dan Server-PI Merekam Sebuah file sekuensial dapat disusun
sebagai jumlah bersebelahan bagian yang disebut catatan.
BALASAN
Sebuah balasan adalah pengakuan (positif
atau negatif) yang dikirim dari server untuk pengguna melalui koneksi
kontrol dalam menanggapi FTP perintah.
SERVER-DTP
Proses transfer data, di
"aktif" nya normal, menetapkan koneksi data dengan
"mendengarkan" data port. Ini set up parameter untuk transfer
dan penyimpanan, dan transferData pada perintah dari PI-nya.
SERVER FTP proses
Sebuah proses atau serangkaian proses
yang melakukan fungsi Transfer bekerjasama file dengan proses dan
user-FTP, mungkin, server lain.
SERVER-PI
Protokol ini interpreter "mendengarkan" di
Pelabuhan L untuk koneksi dari user-PI dan menetapkan kontrol koneksi
komunikasi. Mengeti Jenis representasi data yang digunakan untuk
transfer data dan penyimpanan. Jenis menyiratkan transformasi tertentu
antara waktu penyimpanan data dan
transfer data.
PEMAKAI
Seseorang atau suatu proses atas nama orang yang ingin
mendapatka mengajukan layanan transfer. Pengguna manusia dapat
berinteraksi secara langsung dengan proses server-FTP, tetapi penggunaan
proses user-FTP adalah disukai karena desain protokol tertimbang
terhadap automata.
USER-DTP
Proses transfer data
"mendengarkan" pada port data untuk sambungan dari proses
server-FTP. Jika dua server mentransfer data antara mereka, pengguna-DTP
tidak aktif.
USER-FTP proses
Satu set fungsi termasuk juru protokol,
data proses transfer dan user interface yang bersama-sama
melakukan fungsi transfer file bekerja sama dengan satu atau
lebih proses server-FTP.
USER-PI
Protokol pengguna juru memulai koneksi
kontrol dari pelabuhan U untuk proses server-FTP, memulai
FTP perintah, dan mengatur user-DTP jika proses yang merupakan bagian
daritransfer file.
Fungsi Transfer
Data
File yang ditransfer hanya melalui
koneksi data. Kontrol koneksi digunakan untuk transfer perintah, yang
menggambarkan fungsi yang harus dilakukan, dan balasan perintah tersebut
(lihatBagian atas Balasan FTP).
Jenis Data
Representasi data ditangani dalam FTP oleh pengguna menentukan Jenis
representasi. Jenis ini dapat secara implisit (seperti dalam ASCII
atau EBCDIC) atau secara eksplisit (seperti dalam byte lokal)
mendefinisikan ukuran byte untuk interpretasi yang disebut sebagai
"ukuran byte logis."
File Transfer
Protocol
Adalah Ketika data mencapai host
penerima, maka akan diubah dengan cara tergantung pada ukuran byte
logis dan host tertentu. transformasi ini harus dibalik (yaitu, file
yang sama dapat diambil jika parameter yang sama digunakan) dan harus
dipublikasikan dengan baik oleh pelaksana FTP.
FORMAT KONTROL
Jenis
ASCII dan EBCDIC juga mengambil kedua (opsional) parameter; ini adalah
untuk menunjukkan apa jenis format vertikal kontrol, jika ada, terkait
dengan file.
FORMAT KONTROL
Jenis
ASCII dan EBCDIC juga mengambil kedua (opsional) parameter; ini adalah
untuk menunjukkan apa jenis format vertikal kontrol, jika ada, terkait
dengan file.
KONTROL TELNET FORMAT
File ini berisi ASCII / EBCDIC Format vertikal
kontrol (Yaitu, <CR>, <LF>, <NL>, <VT>,
<FF>) yang printer Proses akan menafsirkan dengan tepat.
<CRLF>, persis urutan ini, juga menunjukkan akhir-of-line.
PENGANGKUTAN KONTROL (ASA)
File
ini berisi ASA (FORTRAN) kontrol Format vertikal karakter. (Lihat RFC 740
Lampiran C; dan Komunikasi dari ACM, Vol. 7, No 10, p. 606, Oktober 1964.)
Dalam line atau catatan diformat sesuai dengan Standar ASA, karakter
pertama tidak akan dicetak.
STRUKTUR DATA
Selain jenis representasi yang berbeda,
FTP memungkinkan truktur file yang akan ditentukan. Tiga struktur berkas
yang didefinisikan dalam FTP: File-struktur, di mana tidak ada
struktur internal dan file tersebut dianggap sebaga urutan yang
kontinu byte data, record-struktur, di mana file tersebut terdiri dari
berurutan catatan dan halaman-struktur, di mana file tersebut terdiri
dari independen halaman diindeks File-struktur adalah default yang
akan diasumsikan jika strukturPerintah belum digunakan namun kedua berkas dan
struktur record harus diterima untuk "text" file (misalnya, file
dengan TYPE ASCII atau EBCDIC) oleh semua implementasi FTP.
FILE STRUKTUR
Struktur file adalah default yang akan
diasumsikan jika struktur Perintah belum digunakanDalam file-struktur
tidak ada struktur internal dan File dianggap urutan data terus
menerus bytes.
REKOR STRUKTUR
Struktur catatan harus diterima untuk "text" file (yaitu, file dengan TYPE ASCII atau EBCDIC) oleh semua
implementasi FTP. Dalam catatan-struktur file terdiri dari
berurutan catatan.
HALAMAN STRUKTUR
Untuk
mengirimkan file yang terputus-putus, FTP mendefinisikan halaman struktur.
File jenis ini kadang-kadang dikenal sebagai "File akses acak"
atau bahkan sebagai "file berlubang". Dalam file ada informasi
kadang-kadang lain yang terkait dengan file secara keseluruhan (misalnya,
file descriptor), atau dengan bagian dari file (misalnya, kontrol akses
halaman), atau keduanya.
MEMBANGUN KONEKSI DATA
Mekanisme mentransfer data terdiri dari
menyiapkan data koneksi ke port yang sesuai dan memilih
parameter untuk transfer. Baik pengguna dan server-DTPS memiliki
default port data. Pengguna-proses port data default adalah sama dengan control port koneksi (yaitu, U).
Server harus menutup sambungan data dengan ketentuan
sebagai berikut:
1.
Server telah menyelesaikan pengiriman data dalam modus transfer
yang
membutuhkan dekat dengan menunjukkan EOF.
2.
Server menerima perintah ABORT dari pengguna.
3.
Port spesifikasi diubah oleh perintah dari
pengguna.
4.
koneksi kontrol ditutup secara hukum atau sebaliknya.
5.
Sebuah kondisi irrecoverable kesalahan terjadi.
MANAJEMEN HUBUNGAN DATA
Default Sambungan Data Port: Semua
implementasi FTP harus dukungan penggunaan port koneksi data default, dan
hanya User-PI dapat memulai penggunaan port non-default.
CARA TRANSMIS
Pertimbangan berikutnya dalam
mentransfer data adalah memilih mode transmisi yang sesuai. Ada tiga mode
satu yang format data dan memungkinkan untuk prosedur Restart salah satu
yang juga kompres data untuk transfer yang efisien dan satu yang
melewati data dengan sedikit atau tanpa pengolahan.
STREAM MODE
Data ditransmisikan sebagai aliran byte. Tidak
ada pembatasan pada jenis representasi yang digunakan; struktur
record diijinkan. Dalam catatan terstruktur EOR berkas dan EOF
masing-masing akan ditunjukkan oleh kode kontrol dua-byte. Byte pertama
dari kode kontrol akan semua orang, karakter escape.
BLOK MODE
File ditransmisikan sebagai rangkaian blok data didahului
dengan satu atau lebih byte sundulan. Byte Header berisi
hitungan lapangan, dan kode deskriptor. Bidang count menunjukkanTotal
panjang dari blok data dalam byte, sehingga menandai mulai dari blok data
berikutnya (tidak ada filler bit).
PEMULIHAN ERROR DAN RESTART
Tidak ada ketentuan untuk mendeteksi
bit hilang atau orak-arik dalam data transfer; tingkat kontrol kesalahan
ditangani oleh TCP. Namun, prosedur restart disediakan untuk melindungi
pengguna dari kegagalan sistem bruto (termasuk kegagalan dari sebuah host,
sebuah FTP-proses, atau jaringan yang mendasarinya).
FUNGSI FILE TRANSFER
Saluran
komunikasi dari user-PI ke server-PI adalah didirikan sebagai koneksi TCP
dari pengguna ke server standar Pelabuhan. Protokol pengguna juru
bertanggung jawab untuk mengirimkan FTP perintah dan menafsirkan jawaban yang
diterima server-PI menafsirkan perintah, mengirimkan balasan dan
mengarahkan DTP untuk mendirikan koneksi data dan mentransfer data. Jika
pihak kedua dengan transfer data (proses transfer pasif) adalah user-DTP,
maka diatur melalui protokol internal host user-FTP; jika adalah
server-DTP kedua, maka diatur oleh PI pada perintah dari pengguna-PI.
Balasan FTP dibahas pada bagian berikutnya.
PERINTAH ACCESS
CONTROL
Perintah berikut menentukan pengidentifikasi kontrol
akses (Kode perintah ditunjukkan dalam kurung).
USER NAME (PENGGUNA)
Bidang argumen
adalah string Telnet mengidentifikasi pengguna.
PASSWORD (PASS)
Bidang argumen adalah string Telnet
menentukan pengguna kata sandi. Perintah ini harus segera didahului
oleh Nama pengguna perintah, dan, untuk beberapa situs, melengkapi
penggunaidentifikasi untuk kontrol akses.
ACCOUNT (ACCT)
Bidang argumen adalah string Telnet
mengidentifikasi pengguna rekening. Perintah ini tidak selalu berhubungan
dengan USER perintah, karena beberapa situs mungkin memerlukan akun untuk
login dan orang lain hanya untuk akses tertentu, seperti menyimpan file.
Di kasus terakhir perintah mungkin tiba setiap saat.
GANTI KERJA DIREKTORI (CWD)
Perintah ini memungkinkan pengguna
untuk bekerja dengan berbeda direktori atau dataset untuk penyimpanan file
atau pengambilan tanpamengubah login-nya atau informasi akuntansi.
PERUBAHAN INDUK DIREKTORI (CDUP)
Perintah
ini adalah kasus khusus dari CWD, dan termasuk ke menyederhanakan
pelaksanaan program untuk mentransfer pohon direktori antara sistem
operasi memiliki berbeda
STRUKTUR MOUNT
(SMNT)
Perintah
ini memungkinkan pengguna untuk me-mount file yang berbeda sistem struktur
data tanpa mengubah login-nya atau informasi akuntan. Transfer parameter-sama tidak
berubah. Argumen ini pathname menentukan direktori atau sistem lainnya
tergantung group file designator.
Reinitialize (Rein)
Perintah
ini berakhir PENGGUNA sebuah, pembilasan semua I / O dan akun informasi,
kecuali untuk memungkinkan transfer dalam proses untuk menjadi lengkap.
LOGOUT (QUIT)
Perintah
ini berakhir USER dan jika transfer file tidak berlangsung, server menutup
koneksi kontrol. Jika transfer file sedang berlangsung, koneksi akan
tetap terbuka untuk respon hasil dan server maka akan menutupnya.
PERINTAH TRANSFER PARAMETER
Semua
parameter transfer data memiliki nilai default, dan perintah menentukan
parameter transfer data yang diperlukan hanya jika default nilai parameter
yang harus diubah. Perintah mungkin dalam urutan apapun kecuali bahwa mereka
harus mendahului permintaan layanan FTP.
DATA PORT (PORT)
Argumennya
adalah spesifikasi HOST-PORT untuk data port untuk digunakan dalam koneksi
data. Ada default untuk kedua pengguna dan server port data, dan di bawah
yang normalkeadaan perintah ini dan balasan yang tidak diperlukan.
Jika Perintah ini digunakan, argumen adalah gabungan dari 32-bit
alamat host internet dan 16-bit alamat port TCP.
PASIF (PASV)
Perintah
ini meminta server-DTP untuk "mendengarkan" data yang pelabuhan
(yang tidak port data default) dan menunggu untuk koneksi daripada memulai
satu setelah menerima mentransfer perintah. Respon terhadap perintah ini
meliputi tuan rumah dan alamat port server ini mendengarkan pada.
PERNYATAAN TYPE
(TYPE)
Argumen menentukan jenis representasi seperti yang
dijelaskan di Bagian pada Representasi Data dan Storage.
Beberapa jenis mengambil parameter kedua.
FILE STRUKTUR (stru)
Argumennya adalah satu Telnet kode
karakter menspesifikasikan struktur file dijelaskan dalam Bagian pada
DataRepresentasi dan penyimpanan.
Kode
berikut ditugaskan untuk struktur:
F
- File (ada struktur record)
R
- Rekam struktur
P
- struktur Halama
Struktur
default adalah file.
TRANSFER MODE (MODE)
Argumennya adalah satu Telnet kode
karakter menspesifikasikan mode transfer data yang dijelaskan dalam Bagian
pada Mode transmisi.
Kode
berikut ditugaskan untuk modus transfer:
S
- Streaming
B
- Block
C
- Compressed
Modus
transfer default adalah Stream.
PERINTAH LAYANAN FTP
Perintah layanan FTP menentukan
transfer file atau file fungsi sistem yang diminta oleh pengguna. Argumen
dari FTP Perintah layanan biasanya akan pathname a. Sintaks nama path
harus sesuai dengan konvensi server situs (dengan default standar yang
berlaku), dan konvensi bahasa koneksi kontrol.
RESTART (REST)
Bidang Argumen merupakan penanda Server
di mana transfer file adalah untuk restart. Perintah ini
tidak transfer file penyebab tapi melompati file yang ditentukan Data
pos pemeriksaan.
RENAME DARI (RNFR)
Perintah ini menentukan path lama file
yang untuk diganti namanya. Perintah ini harus segera diikuti
dengan sebuah "mengubah nama untuk" perintah menentukan letak
file baru.
DELETE (DELE)
Perintah ini menyebabkan file yang
ditentukan dalam pathname untuk menjadi dihapus di server situs. Jika
tingkat perlindungan ekstra yang diinginkan (seperti query, "Apakah
Anda benar-benar ingin menghapus? "), harus disediakan oleh proses
user-FTP.
HAPUS DIREKTORI (RMD)
Perintah ini menyebabkan direktori
tertentu di pathname dihapus sebagai sebuah direktori (jika pathname
adalah mutlak) atau sebagai subdirektori dari direktori kerja saat ini
(jika pathname relatif).
MEMBUAT DIREKTORI (MKD)
Perintah ini menyebabkan direktori
tertentu di pathname yang akan dibuat sebagai sebuah direktori (jika
pathname adalah mutlak) atau sebagai subdirektori dari direktori kerja
saat ini (jika pathname relatif).
PRINT KERJA DIREKTORI (PWD)
Perintah ini menyebabkan nama kerja
saat ini direktori untuk dikembalikan dalam balasan.
SISTEM (SYST)
Perintah ini digunakan untuk mengetahui
jenis operasi sistem pada server. Jawabannya harus memiliki sebagai yang
pertama kata salah satu nama sistem yang tercantum dalam versi saat
ini dokumen Bilangan Ditugaskan
STATUS (STAT)
Perintah ini akan menimbulkan respon
status dikirim melalui koneksi kontrol dalam bentuk balasan
NOOP (NOOP)
Perintah ini tidak mempengaruhi
parameter atau sebelumnya perintah yang dimasukkan. Ini menentukan ada
tindakan selain itu Server mengirim balasan OK.