Minggu, 09 Oktober 2011

Tentang FTP

FTP (File Transfer Protocol) dari namanya jelas FTP merupakan protokol yang didesain untuk melakukan transfer file dalam jaringan. FTP menggunakan dua buah port dalam proses transfer dan download, yaitu port 20 (data port) dan 21 (command port). Namun, anda bisa saja mengganti data port dapat menggunakan port selain 20.

Saat ini, banyak terdapat software yang dapat kita gunakan untuk membuat server FTP, misalnya :  VSFTPD, ALFTP, WSFTP, PureFTPd, G6 FTP, proftpd, FileZilla server, dan sebagainya. Keterangan mengenai kelebihan dan kekurangannya dapat anda cari melalui internet.

User FTP dapat dibedakan menjadi dua, yaitu normal user dan anonymous. Normal user dapat berupa user pada server tersebut, atau user yang didefinisikan menggunakan LDAP, MySQL, dan sebagainya. Sementara, anonymous adalah user khusus bagi orang umum yang tidak memiliki user pada mesin/database yang digunakan tersebut. Biasanya, untuk user anonymous tersebut, orang membuat user baru bernama ‘ftp’ dengan privilege seminim mungkin, untuk keamanan.

Transfer data pada ftp dibedakan menjadi dua : active mode dan passive mode. Perbedaan tersebut terletak pada siapa yang memulai inisiasi transfer data terlebih dahulu.
Active mode FTP client melakukan koneksi ke port 21 pada FTP server menggunakan port >1024. Kemudian, client mengirimkan informasi port yang akan digunakannya untuk transfer data. Server selanjutnya menginisiasi transfer ke port tersebut dengan menggunakan port 20.
Passive mode FTP client melakukan koneksi ke port 21 pada server dengan menggunakan port >1024. Server menjawab dengan mengirimkan informasi suatu port >1024 ke client yang akan digunakan untuk melakukan transfer data. Client kemudian menginisiasi transfer dengan melakukan koneksi ke port tersebut .

Sebuah koneksi FTP dilakukan 4 tahap, yaitu:
1. User authentification
2. Establishing the control channel
3. Establishing the data channel
4. Discontinuing the connection

FTP menggunakan connection controlling TCP (Transmission Control Protocol) sebagai
protocol transmission yang menjamin data diterima oleh recipient. Oleh karena itu tidak perlu adanya paket loss atau error checking selama koneksi masih tersambung. Secara “gamblangnya”  TCP memastikan setiap data yang dikirim atau diterima hanya sekali (sesuai request) tanpa errors dan pada urutan yang benar.

Data transmission membedakan antara tiga tipe transfer yang mana completion dalam stream mode ditandai oleh end-of-file (EOF) dan dalam dua tipe transfer selanjutnya dengan end-of- record (EOR).
• Stream
• Block
• Compressed

Sebagai tambahan, ada dua transfer mode lagi:
• ASCII
• Binary

ASCII-mode digunakan untuk transfer data berupa text file, sedangkan pada Binary-mode digunakan untuk transfer data berupa program atau sejenisnya. Tetapi sekarang user tidak perlu khawatir karena hampir semua FTP clients akan secara otomatis mengenali tipe data yang akan di-transfer.

Karena user recognition dan password authentification tidak dilakukan pengenkripsian, sangat penting untuk memperhatikan potensial resiko keamanan yang dapat terjadi. Inilah yang menjadi alasan diperlukannya pemikiran mengenai keamanan pada FTP.

Minggu, 02 Oktober 2011

DHCP

DHCP (Dynamic Host Configuration Protocol) adalah protokol yang berbasis arsitektur client/server yang dipakai untuk memudahkan pengalokasian alamat IP dalam satu jaringan. Sebuah jaringan lokal yang tidak menggunakan DHCP harus memberikan alamat IP kepada semua komputer secara manual. Jika DHCP dipasang di jaringan lokal, maka semua komputer yang tersambung di jaringan akan mendapatkan alamat IP secara otomatis dari server DHCP. Selain alamat IP, banyak parameter jaringan yang dapat diberikan oleh DHCP, seperti default gateway dan DNS server.

Cara Kerja
Karena DHCP merupakan sebuah protokol yang menggunakan arsitektur client/server, maka dalam DHCP terdapat dua pihak yang terlibat, yakni DHCP Server dan DHCP Client.
  • DHCP server merupakan sebuah mesin yang menjalankan layanan yang dapat “menyewakan” alamat IP dan informasi TCP/IP lainnya kepada semua klien yang memintanya. Beberapa sistem operasi jaringan seperti Windows NT Server, Windows 2000 Server, Windows Server 2003, atau GNU/Linux memiliki layanan seperti ini.
  • DHCP client merupakan mesin klien yang menjalankan perangkat lunak klien DHCP yang memungkinkan mereka untuk dapat berkomunikasi dengan DHCP Server. Sebagian besar sistem operasi klien jaringan (Windows NT Workstation, Windows 2000 Professional, Windows XP, Windows Vista, atau GNU/Linux) memiliki perangkat lunak seperti ini.
DHCP server umumnya memiliki sekumpulan alamat yang diizinkan untuk didistribusikan kepada klien, yang disebut sebagai DHCP Pool. Setiap klien kemudian akan menyewa alamat IP dari DHCP Pool ini untuk waktu yang ditentukan oleh DHCP, biasanya hingga beberapa hari. Manakala waktu penyewaan alamat IP tersebut habis masanya, klien akan meminta kepada server untuk memberikan alamat IP yang baru atau memperpanjangnya.

DHCP Client akan mencoba untuk mendapatkan “penyewaan” alamat IP dari sebuah DHCP server dalam proses empat langkah berikut:
  1. DHCPDISCOVER: DHCP client akan menyebarkan request secara broadcast untuk mencari DHCP Server yang aktif.
  2. DHCPOFFER: Setelah DHCP Server mendengar broadcast dari DHCP Client, DHCP server kemudian menawarkan sebuah alamat kepada DHCP client.
  3. DHCPREQUEST: Client meminta DCHP server untuk menyewakan alamat IP dari salah satu alamat yang tersedia dalam DHCP Pool pada DHCP Server yang bersangkutan.
  4. DHCPACK: DHCP server akan merespons permintaan dari klien dengan mengirimkan paket acknowledgment. Kemudian, DHCP Server akan menetapkan sebuah alamat (dan konfigurasi TCP/IP lainnya) kepada klien, dan memperbarui basis data database miliknya. Klien selanjutnya akan memulai proses binding dengan tumpukan protokol TCP/IP dan karena telah memiliki alamat IP, klien pun dapat memulai komunikasi jaringan.