Dalam mode pasif FTP, saya membaca bahwa server mengirimkan nomor port acak ke klien di mana ia dapat membangun saluran data.
Kemudian klien membuat saluran data dari nomor port acak ke nomor port ini yang dikirim oleh server.
Pertanyaan saya adalah mengapa server mengirim nomor port acak ke klien? Mengapa klien tidak dapat secara langsung membuat saluran data ke port nomor 20 di sisi server?
Jawaban:
Begitulah protokol FTP dirancang untuk bekerja dalam mode pasif. Itu mungkin bukan ide yang baik, karena saya tidak berpikir bahwa model ini pernah diulang lagi di protokol lain (dan itu benar bahkan lebih tentang mode aktif FTP).
Pada port koneksi data, tidak ada protokol. Semua yang diketahui server - satu-satunya hal yang membawa informasi dalam koneksi itu - adalah nomor port yang Anda hubungkan.
Jika Anda terhubung ke port yang sama setiap kali, server tidak akan dapat memberi tahu file apa yang Anda sambungkan. Nomor port berfungsi sebagai penghubung antara permintaan transfer pada koneksi kontrol dan koneksi data - nomor port terkandung dalam respons terhadap
PASV
perintah.Jika dua klien meminta transfer pada saat yang sama, ketika server menerima koneksi pada satu port, server tidak akan dapat memberi tahu file apa yang akan ditransfer. Tentu saja, server dapat menggunakan IP klien untuk mengambil keputusan (sebenarnya banyak server FTP yang memvalidasi bahwa IP klien cocok dengan IP yang digunakan pada koneksi kontrol, untuk keamanan).
Tetapi ini tidak akan berhasil untuk:
Disalin sebagian dari jawaban saya ke Mengapa mode pasif FTP memerlukan rentang port yang bertentangan dengan hanya satu port? pada Kesalahan Server.
sumber
Biasanya, server tidak mengirim port acak tetapi port gratis dari rentang / kolam yang ditentukan (dengan instalasi) - untuk klien ini terlihat acak. Port ini perlu diteruskan ke firewall yang membutuhkan pendefinisian jangkauan.
Sayangnya, FTP itu kuno. Saya kira, server kuno tidak dapat membedakan beberapa sesi data klien kecuali dengan port. Secara umum, lebih baik beralih ke protokol yang lebih mutakhir di mana semuanya tersusun rapi dalam satu sesi soket.
sumber