Возможный дубликат:
Почему протокол FTP был разработан для использования более чем одного порта?
Я знаю, что FTP использует два порта: один для команд, а другой для передачи данных. Есть ли какая-то конкретная причина или какое-либо преимущество от использования двух портов. Я имею в виду, что эти два порта были выбраны по какой-то причине.
В вики-статье выше, похоже, номера портов немного перепутаны :)
FTP использует 21 для управления и 20 для данных в активном режиме или произвольный порт в пассивном режиме.
Это может иметь проблемы с полосой пропускания, но я считаю, что одна из основных причин - разрешить использование канала управления во время передачи. Если у вас есть достойный FTP-клиент, который ставит в очередь передачи, вы можете заметить, что все еще можете просматривать папки во время передачи. Я считаю, что клиент также может уведомить сервер о том, что он хочет отменить незавершенную передачу.
Чтобы избежать лишних заголовков и деталей для каждого пакета, который будет использовать полосу пропускания. Для передачи данных используется отдельный порт.
Источник: http://wiki.answers.com/Q/Why_ftp_use_two_ports_numbers#ixzz1O2rJnorL
Я считаю, что это связано с тем, что клиент может инициировать передачу данных между двумя серверами, а не между клиентом и сервером. Клиент поддерживает управляющее соединение с обоими серверами, в то время как серверы поддерживают соединение для передачи данных между собой.