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:
- Banyak koneksi dari mesin yang sama (sebagian besar klien FTP mendukung transfer / antrian paralel dan Anda sebenarnya dapat menjalankan beberapa klien FTP berbeda pada satu mesin);
- Koneksi dari mesin yang berbeda dalam jaringan (perusahaan) yang sama, karena mereka memiliki IP eksternal yang sama.
Disalin sebagian dari jawaban saya ke Mengapa mode pasif FTP memerlukan rentang port yang bertentangan dengan hanya satu port? pada Kesalahan Server.