В каком количестве портов канала передачи данных я нуждаюсь для сервера FTPS, работающего позади NAT?

Как заголовок указывает, у меня в настоящее время есть FTP-сервер, доступный через FTP или FTPS (явное) выполнение NATed позади маршрутизатора. Сервер выполняет Windows Server 2012 R2 с IIS 8.0 (я полагаю, что это - версия, которая поставлется с 2012r2).

Сервер будет только использоваться горсткой людей, меньше чем 10.

Сервер в настоящее время функционирует, как он должен с портами 21 и 30850-30859 (канал передачи данных), переданный от маршрутизатора. Мой вопрос, сколько портов канала передачи данных необходимо для FTPS? Один на одновременную передачу файлов? Или одновременный пользователь? Или...?

0
задан 3 August 2015 в 09:40
1 ответ

Вам необходимо достаточно портов данных, чтобы комбинация IP-адрес клиента - случайный порт клиента - порт данных сервера однозначно определяла любой сеанс FTP (передача).

Номер порта обслуживает как связь между запросом на передачу по управляющему соединению и соединением для передачи данных. Обратите внимание, что в соединении для передачи данных нет «протокола», который мог бы использовать клиент, чтобы сообщить, что он запрашивает. Номер порта - единственная уникальная информация, которую имеет сервер.

Насколько сильной должна быть уникальность, вероятно, зависит от реализации сервера. Я считаю, что большинству серверов требуется, чтобы порт был уникальным только в тот короткий момент после того, как клиент запросит передачу и до того, как он подключится к порту данных. Таким образом, если у вас есть 10 портов, и 11 клиентов запрашивают передачу в один и тот же момент, 11-й, скорее всего, будет отклонен.

Если бы два клиента запросили передачу одновременно, и сервер использовал бы один и тот же порт номер для обоих (не имея другого запасного), сервер не сможет сказать, какой файл передать. Конечно, сервер может использовать клиентский IP-адрес для принятия решения (на самом деле многие FTP-серверы действительно проверяют, что клиентский IP-адрес соответствует IP-адресу, используемому в управляющем соединении для безопасности).

Но реальные реализации открывают уникальный прослушивающий сокет, когда клиент запрашивает перевод. Поэтому, когда нет свободного номера порта, сервер не может начать прослушивание, отклоняет передачу, следовательно, у него даже не возникает вышеуказанная проблема.

См. Также Почему для пассивного режима FTP требуется диапазон портов, а не только на один порт?

2
ответ дан 4 December 2019 в 13:47

Теги

Похожие вопросы