Протокол передачи файлов
FTP (англ. File Transfer Protocol — протокол передачи файлов) — является широко используемым протоколом для обмена файлами по любой сети, поддерживающей протокол TCP/IP (например, Интернет или интранет). В FTP-передаче участвуют два компьютера: серверный и клиент. FTP-сервер, который работает на программном обеспечении FTP, ожидает сигнала от сети для запроса подключений с других компьютеров. Клиентский компьютер, который работает на клиентском программном обеспечении FTP, инициирует подключение к серверу. Непосредственно после установки подключения клиент сможет выполнять ряд операций по обработке файлов, например, загружать файлы на сервер или с сервера, переименовывать файлы на сервере, удалять файлы с сервера и т.д. Любая компания-разработчик ПО или отдельный программист могут создать FTP-сервер или клиентское программное обеспечение, так как протокол является открытым стандартом. Практически каждая компьютерная платформа поддерживает FTP-протокол. Это позволяет любому компьютеру, подключенному к сети, базирующейся на TCP/IP, провести операции с файлами на другом компьютере той же сети независимо от типа операционных систем (если компьютеры позволяют произвести FTP-доступ).
Больше информации о FTP Вы сможете найти в Статье о FTP в электронной энциклопедии Wikipedia или же в документах, перечисленных ниже.
Содержание
Технические спецификации
- RFC 959 "ПРОТОКОЛ ПЕРЕДАЧИ ФАЙЛОВ"
В данном документе описан стандартный FTP-протокол. Подробнее про режимы передачи здесь - RFC 854 "ТЕХНИЧЕСКИЕ УСЛОВИЯ ПРОТОКОЛА TELNET"
Протокол FTP разработан на основе протокола Telnet, указанного в данном документе. Особенно важным здесь является NVT (Network Virtual Terminal / сетевой виртуальный терминал).
Расширения протокола
- RFC 2228 "Расширения безопасности FTP"
В данном документе описан принцип использования различных схем аутентификации и шифрования с использованием таких команд как AUTH, PROT и связанных с ними новых команд. - RFC 2389 "Настройки механизма согласования для протокола передачи данных"
Описана команда FEAT для обнаружения доступных расширений протокола, и команда OPTS для изменения некоторых характеристик. - RFC 2428 "Расширения FTP для IPv6 и NATs"
В данном запросе комментариев описывается протокол FTP для IPv6. - RFC 2640 "Интернационализация протокола передачи файлов"
Описано использование кодировки UTF-8 для имен файлов. Так как изначально стандарт FTP использовал только 7-битную US-ASCII кодировку, то такое расширение является полностью совместимым с предыдущими версиями. Однако, некоторые серверы и клиенты ошибочно предполагают, что FTP-протокол использует локальную кодировку. Поэтому такое расширение создает видимую несовместимость там, где на самом деле ее нет. - RFC 4217 "Защищённый FTP при помощи TLS"
В данном запросе комментариев описан процесс защиты FTP криптографическим протоколом TLS с использованием команд, представленных в RFC 2228. Примите во внимание, что в данном RFC преимущественно применяется FTPS (File Transfer Protocol + SSL, или FTP/SSL). Более подробную информацию Вы сможете найти в разделе TLS спецификации. - RFC 3659 "Расширение команд FTP"
В данном RFC представлен набор команд MLS* для машинного контекстного формата построения перечня директорий. Также объясняется использование REST и представлен указанный способ представления перечня директорий сервера с использованием TVFS (простого виртуального хранилища файлов). Помимо того описаны команды SIZE и MDTM. Вполне понятно, что команда MDTM должна использоваться только для того, чтобы получить временную метку файла, но не для того, чтобы ее создать, так как это лишь приведет к неоднозначности. - IETF драфт об алгоритме сжатия deflate
В данном документе описаны методы сжатия канала передачи с использованием deflate (алгоритм сжатия без потерь). С этой целью описана команда MODE Z. - Спецификация EPLF (Easily Parsed LIST Format)
Описывает машинный контекстный формат построения перечня директорий. - "MFxx" команды для FTP. В этом IETF описана команда MFMT для изменения времени модификации файла.
Дополнительные документы
- RFC 2577 "Вопросы безопасности FTP"
В данном документе рассматриваются общии вопросы безопасности протокола FTP и приводится информация о bounce-атаках на FTP.