Активный FTP против пассивного FTP
FTP (протокол передачи файлов) - это набор стандартных сетевых правил (протоколов), касающихся передачи файлов между двумя хост-компьютерами по сети на основе TCP/IP (сеть, которая использует протокол управления передачей/протокол Интернета для доставить поток байтов с одного компьютера на другой), например, Интернет. FTP работает по принципу клиент/сервер и относится к прикладному уровню модели OSI (модель взаимодействия открытых систем).
Обычно FTP-сервер, на котором хранятся файлы для передачи, использует два порта для передачи: один для команд, а другой для отправки и получения данных. Запросы от клиентских компьютеров принимаются на порт 21 сервера, который зарезервирован исключительно для отправки Команд; поэтому он называется командным портом. После получения входящего запроса данные, запрошенные или загруженные клиентским компьютером, передаются через отдельный порт, называемый портом данных. На этом этапе, в зависимости от активного или пассивного режима FTP-соединения, номер порта, используемый для передачи данных, меняется.
Что такое активный FTP?
Активный режим FTP-соединения - это когда Командное соединение инициируется Клиентом, а соединение для передачи данных инициируется Сервером. И поскольку сервер активно устанавливает соединение для передачи данных с клиентом, этот режим называется активным. Клиент открывает порт выше 1024 и через него подключается к порту 21 или командному порту Сервера. Затем Сервер открывает свой порт 20 и устанавливает соединение для передачи данных с портом выше 1024 Клиента. В этом режиме Клиент должен настроить параметры своего брандмауэра так, чтобы он принимал все входящие соединения, полученные через открытый порт.
Что такое пассивный FTP?
В режиме пассивного FTP-соединения сервер действует полностью пассивно, поскольку соединение для команд и соединение для передачи данных инициируются и устанавливаются клиентом. В этом режиме Сервер прослушивает входящие запросы через свой порт 21 (командный порт), и когда от Клиента поступает запрос на подключение для передачи данных (используя высокий порт), Сервер случайным образом открывает один из своих высоких портов. Затем Клиент инициирует соединение для передачи данных между открытым портом Сервера и своим случайно выбранным портом выше 1024. В этом режиме Клиенту не нужно изменять настройки своего брандмауэра, так как для этого требуются только исходящие соединения, а брандмауэр не блокирует исходящие соединения. Однако администраторы Сервера должны убедиться, что Сервер разрешает входящие соединения на всех своих открытых портах.
В чем разница между активным FTP и пассивным FTP?
Разница между активным FTP и пассивным FTP основана на том, кто инициирует соединение для передачи данных между сервером и клиентом. Если соединение для передачи данных инициируется Сервером, FTP-соединение активно, а если Клиент инициирует соединение для передачи данных, FTP-соединение является пассивным.
В зависимости от активного или пассивного режима подключения порт, используемый для подключения данных, изменяется. В активном FTP соединение для передачи данных устанавливается между портом 20 сервера и старшим портом клиента. С другой стороны, в пассивном FTP соединение для передачи данных устанавливается между старшим портом сервера и старшим портом клиента.
При использовании Активного FTP-подключения настройки брандмауэра Клиента должны быть изменены, чтобы принимать все входящие подключения к Клиенту, в то время как при Пассивном FTP-подключении Сервер должен разрешать все входящие подключения к Серверу. Большинство FTP-серверов предпочитают пассивное FTP-соединение из-за проблем с безопасностью.