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