Что такое FTP?
- Категория: Что такое?
- – Автор: Игорь (Администратор)
В рамках данного обзора, я расскажу вам что такое FTP, а так же некоторые особенности. Начну, с определения.
FTP (File Transfer Protocol) - протокол передачи данных через сеть. Появился аж в 1971 году (задолго до знакомого многим HTTP и даже до TCP/IP) и используется по сей день.
Основная задача FTP это обеспечение доступа к определенному каталогу и его содержимому, включая возможность редактирования не только данных самих файлов и структуры каталогов, но и их настроек безопасности (прав доступа). В некотором роде, это как привычный многим проводник Windows.
Протокол подразумевает клиент-серверное соединение с поддержкой сессий. Простыми словами, это означает, что, в отличие от того же HTTP, текущее состояние сохраняется. Например, вы подключились к серверу открыли какой-то внутренний каталог, при повторном обращении (в рамках сессии) автоматически откроется этот же каталог.
Примечание: В случае с HTTP, такое достигается не стандартными возможностями, а ухищрениями авторов сайтов и настройками серверов. Cookie, внутренние переменные, адреса страниц и так далее.
Кроме того, FTP подразумевает аутентификацию на уровне протокола (возможно и анонимное подключение). Плюс поддерживаются различные безопасные варианты, такие как SSH, позволяющие передавать логин и пароль в защищенном виде. В некотором роде это как с HTTPS.
Следующей важной особенностью FTP протокола является то, что он использует множественное соединение. При этом одно соединение предназначено для пересылки команд (обычно 21-й порт), а остальные для получения и передачи данных (обычно 49152-65534 порты). Суть в том, что такой подход позволяет минимизировать количество дополнительно передаваемой информации, что снижает объемы трафика, проходящего по сети (особенно, если передаются большие файлы).
Примечание: Кстати, читателям стоит знать, что FTP поддерживают браузеры, хоть и в ограниченном виде. Но, можно установить специальные расширения (если таковые существуют для браузера).
Виды безопасных FTP:
1. FTPS (File Transfer Protocol + SSL, или FTP/SSL). Это расширение FTP протокола, подразумевающее использование SSL- и TLS-соединений (безопасных). Подразумевает шифрование как канала управления, так и каналов передачи данных (в некоторых вариантах с возможностью настройки шифрования при передаче данных - грубо говоря, шифровать конкретные файлы или нет).
2. SFTP (SSH File Transfer Protocol). Вообще, это отдельный протокол, который не является расширением FTP или чем-то подобным. Но, его механизм использования схож с FTP. Основной порт 22-й. Суть в том, что это специальный протокол прикладного уровня, который использует возможности SSH для передачи данных. При этом шифруется абсолютно весь трафик.
3. Обычный FTP через SSH. В отличии от предыдущих вариантов, данный метод подразумевает создание так называемых "туннелей" через SSH. Однако, основная проблема данного подхода в том, что такие туннели создаются для конкретных портов (в случае с FTP это 21-й порт). С учетом того, что фиксированный порт в FTP подразумевается только для канала управления, а остальные порты создаются динамически (в рамках функционирования FTP), то передача данных будет осуществляться без шифрования (или нужно очень постараться, чтобы для каждого динамически выделенного порта "вручную" создавать отдельный туннель). Простыми словами, это больше экспериментальный метод (для опытных), который обычно не применяется в интернете (тем более, что первые 2 предоставляют неплохой уровень защиты).
Программы можно найти в обзоре ftp-клиентов.
Понравилась заметка? Тогда подписывайтесь в социальных сетях и делайте репосты!
☕ Понравился обзор? Поделитесь с друзьями!