Открыть сервис

Протокол FTP

FTP (англ. File Transfer Protocol — протокол передачи файлов) — это стандартный сетевой протокол прикладного уровня модели OSI, предназначенный для передачи файлов между клиентом и сервером по TCP/IP-сетям. Протокол был разработан для обеспечения надёжного обмена данными, поддерживает аутентификацию, управление доступом и работу в двух режимах: активном и пассивном. FTP является одним из старейших протоколов Интернета, впервые описанным в RFC 114 в 1971 году.

История

Протокол FTP был создан в рамках ранних работ по развитию сети ARPANET, предшественницы современного Интернета. Первая спецификация (RFC 114) была опубликована 16 апреля 1971 года Абхаем Бхушаном из Массачусетского технологического института. В 1973 году вышла обновлённая версия (RFC 454), а в 1980 году — RFC 765, которая заложила основу современного протокола.

Окончательная версия FTP, используемая по сей день, была описана в 1985 году в RFC 959 (авторы — Дж. Постел и Дж. Рейнольдс). Этот документ определил основные команды, коды ответов и механизмы управления соединением. Впоследствии протокол дополнялся расширениями: RFC 2228 (1997) ввёл поддержку безопасности, RFC 2640 (1999) — интернационализацию имён файлов, а RFC 3659 (2007) — расширенные операции с файлами.

В 1990-х — 2000-х годах FTP был основным средством загрузки файлов на веб-серверы и обмена данными в корпоративных сетях. С развитием облачных технологий и протоколов с шифрованием (SFTP, FTPS, HTTPS) популярность незащищённого FTP снизилась, однако он продолжает использоваться в устаревших системах и для внутренних задач.

Архитектура и принцип работы

FTP использует модель «клиент-сервер» и устанавливает два отдельных TCP-соединения:

Режимы передачи

FTP поддерживает два режима установки соединения данных:

Типы передачи данных

FTP поддерживает три типа представления данных:

Команды и коды ответов

Управление сессией осуществляется через текстовые команды, передаваемые по управляющему соединению. Основные команды:

Сервер отвечает трёхзначными числовыми кодами (например, 220 — сервер готов, 331 — требуется пароль, 550 — ошибка доступа). Коды группируются по первой цифре: 1xx — информационные, 2xx — успех, 3xx — требуется дополнительный ввод, 4xx — временная ошибка, 5xx — постоянная ошибка.

Аутентификация и безопасность

По умолчанию FTP передаёт учётные данные (имя пользователя и пароль) в открытом виде (plain text), что делает протокол уязвимым для перехвата. Для повышения безопасности были разработаны расширения:

Незащищённый FTP считается устаревшим и не рекомендуется для передачи конфиденциальных данных.

Применение

FTP традиционно используется в следующих областях:

Ограничения и критика

Несмотря на широкое распространение, FTP имеет ряд недостатков:

В связи с этим многие организации переходят на SFTP, FTPS или облачные решения (WebDAV, S3, OneDrive).

Альтернативы

Основные альтернативы FTP:

Интересные факты

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →