Đó là cách giao thức FTP được thiết kế để hoạt động ở chế độ thụ động. Có lẽ đó không phải là một ý tưởng hay, vì tôi không nghĩ rằng mô hình này đã được lặp lại một lần nữa trong bất kỳ giao thức nào khác (và điều đó thậm chí còn đúng hơn về chế độ hoạt động FTP).
Trên cổng kết nối dữ liệu, không có giao thức. Tất cả những gì máy chủ biết - điều duy nhất mang bất kỳ thông tin nào trong kết nối đó - là số cổng bạn kết nối.
Nếu bạn kết nối với cùng một cổng mỗi lần, máy chủ sẽ không thể cho biết bạn đang kết nối với tập tin nào. Số cổng đóng vai trò là liên kết giữa yêu cầu chuyển trên kết nối điều khiển và kết nối dữ liệu - số cổng được chứa trong phản hồi của PASV
lệnh.
Nếu hai máy khách yêu cầu chuyển cùng một lúc, khi máy chủ chấp nhận kết nối trên một cổng, máy chủ sẽ không thể cho biết tệp nào sẽ chuyển. Tất nhiên, máy chủ có thể sử dụng IP máy khách cho quyết định (thực tế nhiều máy chủ FTP xác thực rằng IP máy khách khớp với IP được sử dụng trên kết nối điều khiển, để bảo mật).
Nhưng điều này sẽ không làm việc cho:
- Nhiều kết nối từ cùng một máy (hầu hết các máy khách FTP đều hỗ trợ chuyển / xếp hàng song song và bạn thực sự có thể chạy nhiều máy khách FTP khác nhau trên một máy);
- Kết nối từ các máy khác nhau trong cùng một mạng (công ty), vì các máy có cùng IP bên ngoài.
Sao chép một phần từ câu trả lời của tôi sang Tại sao chế độ thụ động FTP yêu cầu phạm vi cổng thay vì chỉ một cổng? trên Lỗi máy chủ.