Monday 24 November 2008

File Transfer Protocol

A. Metode Sambungan
FTP berjalan secara terpisah pada Transfer Control Protocol (TCP). Port 21 digunakan untuk sambungan yang baru masuk dari FTP klien. Sambungan pada port ini dari FTP klien membentuk control stream yang mana perintahnya melewati FTP server dari FTP klien ataupun sebaliknya. FTP menggunakan out-of-band control, yang artinya digunakan sambungan terpisah antara kontrol dan data. Jadi untuk pemindahan dokumen diperlukan sebuah sambungan yang berbeda yang disebut data stream. Pengesetan data stream berbeda-beda sesuai dengan mode transfernya.
Dalam mode aktif, FTP klien membuka dynamic port, mengirim nomor dynamic port nya kepada FTP server dan menunggu sambungan dari FTP server. Ketika FTP server memulai sambungan data dengan klien maka itu akan mengikat sumber port ke port 20 pada server. Untuk menggunakan mode aktif, klien mengirimkan perintah PORT dengan Internet Protokol (IP). Format dari Internet Protocol dan port adalah h1, h2, h3, h4, p1, p2. Masing-masing merupakan bilangan desimal yang terdiri dari 8 bit sebagai host internet protokol, diikuti dengan port data yang dipilih. Sebagai contoh, klien dengan IP 192.168.0.1, menangkap pada port 49154 untuk sambungan data akan mengirimkan perintah "PORT 192,168,0,1,192,2". Maka port nya harus ditafsirkan sebagai p1×256 + p2 = port, atau, dalam contoh ini 192×256 + 2 = 49154.
Dalam mode pasif, FTP server membuka dynamic port, mengirimkan alamat IP nya kepada FTP client untuk menyambungkan dengan port yang mana ditangkap pada control stream dan menunggu sambungan dari klien. Dalam hal ini FTP klien mengikat sumber port dari sambungan pada dynamic port.
Untuk menggunakan mode pasif, klien mengirimkan perintah PASV dan server akan menjawab dengan kode sejenis "227 Entering Passive Mode (127.0.0.1.192.52)". Sintaksis dari IP address dan port sama dengan perintah PORT nya.
Dalam mode pasif secara luas (extended passive mode), FTP server beroperasi sama seperti pada mode pasif, hanya mengirimkan nomor port dan klien mengasumsikan bahwa itu telah terhubung dengan IP address yang sama seperti yang telah terhubung sebelumnya. Ketika data ditransfer lewat data stream (aliran data), control stream menjadi tidak berfungsi. Ini dapat menimbulkan masalah pada pemindahan data besar melalui firewalls. Ketika sebuah dokumen telah berhasil dipindahkan control session bisa tidak terhubung dengan firewall dan menyebabkan eror.
FTP protokol mendukung pengulangan download yang terganggu dengan menggunakan perintah REST. Klien telah menerima perintah REST akan kembali melakukan pemindahan data. Dalam beberapa perintah terdapat istilah ”reget” yang artinya mendapatkan kembali, melanjutkan pemindahan data yang terganggu sampai selesai.
Mengulang upload bukanlah hal yang mudah, walaupun FTP protokol didukung perintah APPE untuk menambahkan data dalam dokumen pada server, klien tidak mengetahui secara tepat dimana posisi data yang terganggu, harus dengan memperoleh ukuran data menggunakan perintah SIZE.





B. FTP dan Web Browser
Browser adalah alat pemandu menjelajahi internet yang akan mengantar anda melakukan berbagai aktivitas di internet “dunia maya”. Program standar penjelajah internet yang biasa dipakai adalah Internet Explorer, karena pada dasarnya internet explorer merupakan bagian dari paket program sistem operasi windows, Web browser lainnya yang dapat digunakan antara lain: Mozilla Firefox, Opera, Netscape Communicator.
Kebanyakan web browser dan file manager dapat berhubungan dengan FTP server, walaupun kekurangan dukungan untuk perpanjangan FTP, seperti FTPS. Hal ini memungkinkan terjadinya manipulasi data pada FTP yang digunakan untuk local file. Ini dilakukan melalui FTP URL, dengan bentuk ftp(s):// (e.g., ftp://ftp.gimp.org/).
Password dapat diberikan melalui URL (Uniform Resources Locator),
URL sendiri adalah sebuah alamat yang menujukkan rute atau jalur ke file atau fasilitas internet lainnya pada web, contohnya:
ftp(s): //:@:. Kebanyakan web browser perlu menggunakan mode pasif, yang tidak dapat ditangani oleh semua server. Beberapa browser hanya mengizikan pendownloadan file, tetapi tidak menawarkan cara untuk upload file kepada server.

C. FTP over SSH (SFTP)
FTP over SSH (SFTP) merujuk pada latihan menembus sebuah FTP session normal pada sambungan SSH. Karena FTP menggunakan sambungan multiple TCP (tidak biasa untuk TCP/IP yang masih digunakan), secara khusus susah untuk menebus SSH. Dengan beberapa SSH klien, mencoba untuk menyusun terowongan untuk control channel (klien dan server berhubungan pada port 21) akan melindungi channel tersebut, ketika data dipindahkan, software FTP akan menyusun sambungan TCP baru yang menghindari sambungan SSH.
Jika FTP klien disusun untuk menggunakan mode pasif dan berhubungan pada sebuah SOCKS server maka akan ada SSH klien yang muncul untuk menembusnya, dan memungkinkan untuk menjalankan seluruh FTP channel pada sambungan SSH.
Sebaliknya, diperlukan pengetahuan khusus tentang FTP protokol, monitor, dan menulis kembali pesan FTP protokol juga secara otomatis membuka forwardings untuk data channel FTP bagi SSH klien. Serentetan software SSH Communication Security versi 3 dan GPL licensed FONC adalah dua paket software yang mendukung mode ini.
FTP over SSH kadang ditunjuk sebagai secure FTP, hal ini tidak akan dibingungkan oleh metode lain dari securing FTP, seperti dengan SSL/TLS (FTPS). Cara lain dalam memindah data dengan menggunakan SSH tidak berkaitan dengan FTP, termasuk SFTP dan SCP, ataupun masing-masing dari keduanya. Keseluruhan percakapan (surat dan data) selalu dilindungi oleh SSH protokol.
A. Metode Sambungan
FTP berjalan secara terpisah pada Transfer Control Protocol (TCP). Port 21 digunakan untuk sambungan yang baru masuk dari FTP klien. Sambungan pada port ini dari FTP klien membentuk control stream yang mana perintahnya melewati FTP server dari FTP klien ataupun sebaliknya. FTP menggunakan out-of-band control, yang artinya digunakan sambungan terpisah antara kontrol dan data. Jadi untuk pemindahan dokumen diperlukan sebuah sambungan yang berbeda yang disebut data stream. Pengesetan data stream berbeda-beda sesuai dengan mode transfernya.
Dalam mode aktif, FTP klien membuka dynamic port, mengirim nomor dynamic port nya kepada FTP server dan menunggu sambungan dari FTP server. Ketika FTP server memulai sambungan data dengan klien maka itu akan mengikat sumber port ke port 20 pada server. Untuk menggunakan mode aktif, klien mengirimkan perintah PORT dengan Internet Protokol (IP). Format dari Internet Protocol dan port adalah h1, h2, h3, h4, p1, p2. Masing-masing merupakan bilangan desimal yang terdiri dari 8 bit sebagai host internet protokol, diikuti dengan port data yang dipilih. Sebagai contoh, klien dengan IP 192.168.0.1, menangkap pada port 49154 untuk sambungan data akan mengirimkan perintah "PORT 192,168,0,1,192,2". Maka port nya harus ditafsirkan sebagai p1×256 + p2 = port, atau, dalam contoh ini 192×256 + 2 = 49154.
Dalam mode pasif, FTP server membuka dynamic port, mengirimkan alamat IP nya kepada FTP client untuk menyambungkan dengan port yang mana ditangkap pada control stream dan menunggu sambungan dari klien. Dalam hal ini FTP klien mengikat sumber port dari sambungan pada dynamic port.
Untuk menggunakan mode pasif, klien mengirimkan perintah PASV dan server akan menjawab dengan kode sejenis "227 Entering Passive Mode (127.0.0.1.192.52)". Sintaksis dari IP address dan port sama dengan perintah PORT nya.
Dalam mode pasif secara luas (extended passive mode), FTP server beroperasi sama seperti pada mode pasif, hanya mengirimkan nomor port dan klien mengasumsikan bahwa itu telah terhubung dengan IP address yang sama seperti yang telah terhubung sebelumnya. Ketika data ditransfer lewat data stream (aliran data), control stream menjadi tidak berfungsi. Ini dapat menimbulkan masalah pada pemindahan data besar melalui firewalls. Ketika sebuah dokumen telah berhasil dipindahkan control session bisa tidak terhubung dengan firewall dan menyebabkan eror.
FTP protokol mendukung pengulangan download yang terganggu dengan menggunakan perintah REST. Klien telah menerima perintah REST akan kembali melakukan pemindahan data. Dalam beberapa perintah terdapat istilah ”reget” yang artinya mendapatkan kembali, melanjutkan pemindahan data yang terganggu sampai selesai.
Mengulang upload bukanlah hal yang mudah, walaupun FTP protokol didukung perintah APPE untuk menambahkan data dalam dokumen pada server, klien tidak mengetahui secara tepat dimana posisi data yang terganggu, harus dengan memperoleh ukuran data menggunakan perintah SIZE.





B. FTP dan Web Browser
Browser adalah alat pemandu menjelajahi internet yang akan mengantar anda melakukan berbagai aktivitas di internet “dunia maya”. Program standar penjelajah internet yang biasa dipakai adalah Internet Explorer, karena pada dasarnya internet explorer merupakan bagian dari paket program sistem operasi windows, Web browser lainnya yang dapat digunakan antara lain: Mozilla Firefox, Opera, Netscape Communicator.
Kebanyakan web browser dan file manager dapat berhubungan dengan FTP server, walaupun kekurangan dukungan untuk perpanjangan FTP, seperti FTPS. Hal ini memungkinkan terjadinya manipulasi data pada FTP yang digunakan untuk local file. Ini dilakukan melalui FTP URL, dengan bentuk ftp(s):// (e.g., ftp://ftp.gimp.org/).
Password dapat diberikan melalui URL (Uniform Resources Locator),
URL sendiri adalah sebuah alamat yang menujukkan rute atau jalur ke file atau fasilitas internet lainnya pada web, contohnya:
ftp(s): //:@:. Kebanyakan web browser perlu menggunakan mode pasif, yang tidak dapat ditangani oleh semua server. Beberapa browser hanya mengizikan pendownloadan file, tetapi tidak menawarkan cara untuk upload file kepada server.

C. FTP over SSH (SFTP)
FTP over SSH (SFTP) merujuk pada latihan menembus sebuah FTP session normal pada sambungan SSH. Karena FTP menggunakan sambungan multiple TCP (tidak biasa untuk TCP/IP yang masih digunakan), secara khusus susah untuk menebus SSH. Dengan beberapa SSH klien, mencoba untuk menyusun terowongan untuk control channel (klien dan server berhubungan pada port 21) akan melindungi channel tersebut, ketika data dipindahkan, software FTP akan menyusun sambungan TCP baru yang menghindari sambungan SSH.
Jika FTP klien disusun untuk menggunakan mode pasif dan berhubungan pada sebuah SOCKS server maka akan ada SSH klien yang muncul untuk menembusnya, dan memungkinkan untuk menjalankan seluruh FTP channel pada sambungan SSH.
Sebaliknya, diperlukan pengetahuan khusus tentang FTP protokol, monitor, dan menulis kembali pesan FTP protokol juga secara otomatis membuka forwardings untuk data channel FTP bagi SSH klien. Serentetan software SSH Communication Security versi 3 dan GPL licensed FONC adalah dua paket software yang mendukung mode ini.
FTP over SSH kadang ditunjuk sebagai secure FTP, hal ini tidak akan dibingungkan oleh metode lain dari securing FTP, seperti dengan SSL/TLS (FTPS). Cara lain dalam memindah data dengan menggunakan SSH tidak berkaitan dengan FTP, termasuk SFTP dan SCP, ataupun masing-masing dari keduanya. Keseluruhan percakapan (surat dan data) selalu dilindungi oleh SSH protokol.