3.5. Настройка FTP

3.5. Настройка FTP

Протокол FTP (File Transfer Protocol) является устоявшимся и достаточно сложным многопортовым протоколом, реализация которого в комплекте распределения нагрузки вызывает определенные сложности. Чтобы понимать характер сложностей, надо понимать основные принципы работы FTP.

3.5.1. Принципы работы FTP

Обычно взаимодействие клиента с сервером происходит так: клиент открывает соединение с определенным портом, а сервер отвечает на запросы через этот порт. При подключении клиента к FTP-серверу будет установлено соединение через порт 21. Затем клиент сообщает серверу тип устанавливаемого соединения — активный или пассивный. Тип определяет дальнейшее поведение сервера и порты для передачи.
Существует два типа соединений:
Активные соединения
Сервер сам подключается к клиенту с порта 20 к порту клиента с большим номером. Все данные с сервера передаются через это соединение.
Пассивные соединения
Клиент просит сервер указать порт для пассивного соединения, при этом номер порта должен быть больше 10000. Сервер сопоставляет сеансу порт, устанавливает с ним связь на время сеанса и сообщает номер клиенту. Клиент открывает соединение через этот порт. Каждый запрос данных со стороны клиента приводит к созданию отдельного соединения для передачи данных. В большинстве случаев современные клиенты FTP по умолчанию устанавливают пассивные подключения к серверам FTP.

Примечание

Не сервер, а клиент задает тип соединения. Это значит, что для эффективного использования FTP в кластере маршрутизаторы LVS должны поддерживать и активные, и пассивные соединения.
При взаимодействии клиента и сервера может быть открыто большое число портов, о которых Piranha и IPVS могут и не знать.