Определение FTP
File Transfer Protocol — это протокол передачи файлов по сети от одного физического устройства на другое, например, от ПК в удаленное файловое хранилище по интернету или локальной сети.
Технология обеспечивает двустороннее взаимодействие. Можно одновременно передавать и принимать пакеты, то есть обмениваться информацией в режимах загрузки (download) и отправки (upload). Протокол работает с TCP. Для поддержания связи между устройствами File Transfer Protocol держит открытыми сразу два канала: управляющий и передающий.
Технология разработана в 1971 году, и за прошедшие 50 лет создан ряд последовательных дополнений. Например, в 1994 году была добавлена поддержка firewall, а в 1997 — расширения безопасности с возможностью шифрования и подписи пересылаемых пакетов.
Несмотря на улучшения, FTP-протокол считается несколько архаичным. Разработчики программных продуктов отказываются от него в пользу более современных и безопасных решений. Например, Google отключили поддержку File Transfer Protocol в браузере Chrome, Mozilla – в Firefox. Технология имеет уязвимости: можно перехватить пересылаемые пакеты, логины и пароли пользователей и другую информацию. В системах с высокими требованиями к конфиденциальности может использоваться secure-версия FTPS. В ней реализован обмен сертификатами между серверной частью и клиентским ПО, есть поддержка криптографии TLS и SSL, AES, RC4, RC2 и других алгоритмов шифрования.
Роль FTP в передаче файлов
Преимущество File Transfer Protocol — возможность передавать большие объемы информации. Эта особенность полезна при работе с системами разного назначения, например:
- корпоративными хранилищами документов;
- информационными и образовательными порталами;
- локальными базами фото- и видеоматериалов.
Можно отправить или скачать на свой компьютер документы любого размера. В отличие от электронной почты, облачных хранилищ и других инструментов обмена информацией, технология не устанавливает ограничения по весу и формату файлов. При этом, конечно, нужно учитывать ограничения файловой системы, объем локальной памяти ПК или свободного места на серверном диске.
File Transfer Protocol работает практически с любыми операционными системами и устройствами. Один из сценариев применения протокола — управление ресурсами в удаленной базе. Через программный клиент или командную строку можно дистанционно создавать и редактировать каталоги, просматривать контент, менять настройки доступа, названия и другие атрибуты документов.
Многие хостинги предоставляют доступ к веб-ресурсам по FTP. Веб-разработчик может локально создать материалы для сайта на своем ПК, а затем загрузить их на хостинг и опубликовать на сайте.
File Transfer Protocol подходит для выполнения небольших задач по отправке отдельных документов по сети и для крупномасштабных операций, таких как резервное копирование больших объемов данных или массовое обновление контента на веб-сайтах.
По протоколу можно обмениваться документами разных типов:
- изображениями, фотографиями, графическими материалами;
- видео;
- текстовыми документами;
- музыкой, аудиозаписями;
- программными модулями.
Например, можно скачать exe-файл для установки программы, пакет обновлений ПО, документацию, библиотеку и любой контент. Важно помнить, что стандартная версия File Transfer Protocol не предназначается для обмена конфиденциальными материалами, поэтому при отправке важной или секретной информации лучше применять технологии защищенного соединения.
Принципы работы FTP
Архитектура
Протокол работает в рамках клиент-серверной модели. Во взаимодействии участвуют две стороны, клиентское ПО и серверная часть, по схеме «точка — точка». Сервером в этой модели может выступать любая машина, в том числе обычный ПК. Обращение к серверной части может быть анонимным, а может требовать аутентификации. Первый способ предназначен для работы с общедоступными материалами. Второй применяется для контроля доступа, тогда при запросе информации клиент должен сообщить логин и пароль.
Мультиканальное соединение
File Transfer Protocol предусматривает множественный режим подключения, при котором создается как минимум два канала:
- управляющий (командный);
- канал передачи.
По управляющему каналу передаются сообщения о действиях и операциях, а также отправляются ответы от клиента серверу или наоборот. Назначение передающего канала — обмен информацией: текстовыми документами, медиа, программными компонентами.
Схема поддерживает возможность отправки нескольких пакетов по обоим направлениям сразу. На практике такой подход может привести к проблемам, когда для отправки большого количества документов система открывает и закрывает столь же большое число TCP-соединений.
Режимы взаимодействия
При отправке данные конвертируются в определенный формат в зависимости от типа файлов. Текст передается в формате ASCII или EBCDIC, другие виды контента — побайтово, в бинарном режиме. Возможно три режима взаимодействия:
- поточный — информация поступает непрерывным потоком, за обработку отвечает TCP;
- блочный — информация делится на блоки, после чего передается TCP для отправки;
- сжатия — перед отправкой информация обрабатывается единым алгоритмом, например, кодируется.
Технология File Transfer Protocol поддерживает активный и пассивный режимы передачи и применима к сетям разных конфигураций, в том числе с firewall или механизмом преобразования IP-адресов NAT. Однако в активном режиме, когда соединение инициировано со стороны сервера, могут возникать проблемы со связью в сложных сетях при использовании NAT. Поэтому чаще узлы системы взаимодействуют в пассивном режиме, при котором соединение вызывается клиентской частью.
Как использовать протокол
Рассмотрим последовательность действий при работе с File Transfer Protocol на примере ПК с Windows.
Установка и настройка сервера
Сначала нужно настроить систему для работы с File Transfer Protocol в панели управления Windows:
- откройте раздел «Программы», подраздел «Программы и компоненты»;
- в меню управления выберите «Включение или отключение компонентов Windows»;
- найдите в списке пункт «Службы IIS» и включите компоненты, как на скриншоте ниже.
Установите флажки на указанных компонентах и нажмите кнопку «ОК»:
После сохранения настроек создайте локальную папку и загрузите в нее материалы, доступ к которым хотите открыть.
Затем откройте «Диспетчер служб IIS» Windows, выберите пункт «Добавить FTP-сайт» и заполните поля:
- имя — любое;
- физический путь — путь к директории.
В форме дополнительных настроек укажите «Без SSL», если не планируете использовать шифрование. В окне разрешений можно отметить виды проверки подлинности «Анонимный» и «Обычная» и выбрать операции, которые пользователи смогут выполнять с документами в папке: только чтение или чтение и запись.
Подключение к серверу
Чтобы скачать или посмотреть документы в директории, которую мы создали на предыдущем шаге, нужно знать IP компьютера. Для определения адреса в командной строке Windows введите команду ipconfig, скопируйте IPv4 и введите его в адресную строку или проводник. Если все сделано верно, появится окно с загруженными материалами.
Основные команды
Для выполнения операций из консоли используются следующие команды:
Команда | Операция |
? | Вызов справки |
cd | Изменение каталога |
get | Запрос на получение |
put | Отправка |
delete | Удаление |
disconnect | Завершение соединения |
quit / close / bye | Выход |