Какой протокол используется для передачи файлов

Обновлено: 01.07.2024

Протокол передачи файлов (FTP) – это стандартный сетевой протокол, используемый для обмена файлами и управления ими в сети на основе TCP/IP, например в Интернете. FTP построен на архитектуре клиент-сервер и использует отдельные соединения для управления и передачи данных между клиентскими и серверными приложениями. FTP также часто используется в качестве компонента приложения для автоматической передачи файлов для внутренних функций программы. FTP можно использовать с аутентификацией по паролю пользователя или с анонимным доступом пользователя.

Содержание

Цель [ редактировать | изменить источник ]

  • Чтобы содействовать обмену файлами (компьютерными программами и/или данными).
  • Для поощрения косвенного или неявного использования удаленных компьютеров.
  • Чтобы оградить пользователя от различий в системах хранения файлов на разных хостах.
  • Для надежной и эффективной передачи данных.
  • Чтобы обеспечить удобочитаемость для конечного пользователя.

Способы подключения [ редактировать | изменить источник ]

FTP использует протокол управления передачей (TCP). Обычно FTP-серверы прослушивают хорошо известный порт номер 21 (зарезервированный IANA) для входящих соединений от клиентов. Соединение с этим портом со стороны FTP-клиента формирует управляющий поток, по которому команды передаются на FTP-сервер и собираются ответы. FTP использует внеполосное управление; он открывает выделенные соединения для передачи данных на других номерах портов. Параметры для потоков данных зависят от конкретно запрошенного транспортного режима. Для передачи данных обычно используется порт номер 20.

В активном режиме FTP-клиент открывает динамический порт, отправляет FTP-серверу номер динамического порта, на котором он прослушивает поток управления, и ожидает соединения с FTP-сервером. Когда FTP-сервер инициирует подключение для передачи данных к FTP-клиенту, он привязывает исходный порт к порту 20 на FTP-сервере.

Чтобы использовать активный режим, клиент отправляет команду PORT с IP-адресом и портом в качестве аргумента. Формат IP и порта: "h1,h2,h3,h4,p1,p2". Каждое поле представляет собой десятичное представление 8 бит IP-адреса хоста, за которым следует выбранный порт данных. Например, клиент с IP-адресом 192.168.0.1, прослушивающий порт 49154 для подключения для передачи данных, отправит команду «ПОРТ 192,168,0,1,192,2». Поля порта следует интерпретировать как p1×256 + p2 = порт, или, в этом примере, 192×256 + 2 = 49154.

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

Чтобы использовать пассивный режим, клиент отправляет команду PASV, на которую сервер должен ответить чем-то вроде "227 Вход в пассивный режим (127,0,0,1,192,52)". Синтаксис IP-адреса и порта такой же, как и для аргумента команды PORT.

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

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

Протокол FTP поддерживает возобновление прерванных загрузок с помощью команды REST. Клиент передает уже полученное количество байтов в качестве аргумента команде REST и перезапускает передачу. В некоторых клиентах командной строки, например, есть часто игнорируемая, но ценная команда «reget» (что означает «получить снова»), которая заставит прерванную команду «get» быть продолжена, надеюсь, до завершения, после прерывания связи.

Возобновить загрузку не так просто. Хотя протокол FTP поддерживает команду APPE для добавления данных к файлу на сервере, клиент не знает точного места, где прервалась передача. Он должен получить размер файла другим способом, например, с помощью списка каталогов или с помощью команды SIZE.

В режиме ASCII (см. ниже) возобновление передачи может быть проблематичным, если клиент и сервер используют разные символы конца строки.

Формат данных [ редактировать | изменить источник ]

  • Режим ASCII
  • Двоичный режим: в «Двоичном режиме» отправляющая машина отправляет каждый файл байт за байтом, и поэтому получатель сохраняет поток байтов по мере его получения. (Стандарт FTP называет этот режим "IMAGE" или "I").

В режиме ASCII любая форма данных, кроме обычного текста, будет повреждена. Когда файл отправляется с использованием передачи типа ASCII, отдельные буквы, цифры и символы отправляются с использованием их кодов символов ASCII. Принимающая машина сохраняет их в текстовом файле в соответствующем формате (например, машина Unix сохраняет их в формате Unix, машина Windows сохраняет их в формате Windows). Следовательно, если используется передача ASCII, можно предположить, что отправляется обычный текст, который сохраняется принимающим компьютером в своем собственном формате. Перевод между текстовыми форматами может повлечь за собой замену символов конец строки и конец файла, используемых на исходной платформе, на символы на целевой платформе, например. машина Windows, получающая файл с машины Unix, заменит перевод строки парами возврата каретки и перевода строки. Это может также включать перевод символов; например, при переносе из мейнфрейма IBM в систему, использующую ASCII, символы EBCDIC, используемые на мэйнфрейме, будут преобразованы в их эквиваленты ASCII, а при переносе из системы, использующей ASCII, в мэйнфрейм, символы ASCII будут преобразованы в их эквиваленты EBCDIC. .

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

В спецификациях FTP также перечислены следующие режимы передачи:

  • Режим EBCDIC — в этом режиме передаются байты, за исключением того, что они закодированы в EBCDIC, а не в ASCII. Так, например, сервер режима ASCII
  • Локальный режим — он предназначен для использования в системах, ориентированных на слова, а не на байты. Например, режим "L 36" можно использовать для передачи двоичных данных между двумя 36-битными машинами. В режиме L слова упаковываются в байты, а не дополняются. Некоторые FTP-серверы принимают "L 8" как эквивалент "I".

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

Текстовые режимы (ASCII/EBCDIC) также можно квалифицировать с помощью типа используемого управления кареткой (например, управление кареткой TELNET NVT, управление кареткой ASA), хотя в настоящее время это редко используется.

Обратите внимание, что термин "режим" технически неверен, хотя обычно используется FTP-клиентами. «РЕЖИМ» в RFC 959 относится к формату потока данных протокола (ПОТОК, БЛОК или СЖАТЫЙ), в отличие от формата базового файла. То, что обычно называют «режимом», на самом деле является «ТИПОМ», который определяет формат файла, а не поток данных. FTP также поддерживает спецификацию файловой структуры («STRU»), которая может быть либо FILE (потоковые файлы), RECORD (записи, ориентированные на файлы), либо PAGE (специальный тип, разработанный для использования с TENEX). PAGE STRU не очень полезен для систем, отличных от TENEX, и раздел 4.1.2.3 RFC 1123 рекомендует не внедрять его.

Коды возврата FTP [ редактировать | изменить источник ]

Коды возврата FTP-сервера указывают на их статус цифрами внутри них. Краткое объяснение значений различных цифр приведено ниже:

  • 1xx: положительный предварительный ответ. Запрошенное действие инициируется, но перед его началом будет получен еще один ответ.
  • 2xx: Положительный ответ о завершении. Запрошенное действие выполнено. Теперь клиент может выдать новую команду.
  • 3xx: положительный промежуточный ответ. Команда выполнена успешно, но требуется дополнительная команда, прежде чем сервер сможет обработать запрос.
  • 4xx: временный отрицательный ответ о завершении. Команда не была выполнена успешно, но клиент может повторить команду еще раз, так как ошибка носит временный характер.
  • 5xx: постоянный отрицательный ответ о завершении. Команда не была выполнена успешно, и клиент не должен пытаться повторить ее снова.
  • x0x: сбой произошел из-за синтаксической ошибки.
  • x1x: этот ответ является ответом на запрос информации.
  • x2x: этот ответ относится к информации о соединении.
  • x3x: этот ответ относится к учету и авторизации.
  • x4x: пока не указано
  • x5x: эти ответы указывают на состояние файловой системы Сервера по отношению к запрошенной передаче или другому действию файловой системы.

Анонимный FTP [ редактировать | изменить источник ]

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

Поскольку современные FTP-клиенты обычно скрывают от пользователя процесс анонимного входа в систему, ftp-клиент будет предоставлять фиктивные данные в качестве пароля (поскольку адрес электронной почты пользователя может быть неизвестен приложению). Например, следующие пользовательские агенты ftp указывают перечисленные пароли для анонимного входа в систему:

Команды [ редактировать | изменить источник ]

Введите ftp /? в Windows или ftp --help в Unix, чтобы получить параметры команды.

После подключения к серверу введите help для отображения различных возможных команд.

Чтобы манипулировать файлами ртом, загрузите хороший FTP-клиент, который будет работать с интерфейсом (например, Filezilla не требует установки).

Все еще думаете, какой протокол передачи файлов подходит для вашего бизнеса? Вот дюжина, из которой вы можете выбрать. Мы также добавили несколько кратких описаний этих типов передачи данных, чтобы облегчить вам выбор.

file_transfer_protocols-1

1. FTP (протокол передачи файлов)

Когда речь идет о передаче деловых файлов, FTP, вероятно, первое, что приходит на ум. FTP предназначен как для передачи отдельных файлов, так и для массовой передачи файлов. Он существует уже довольно давно, поэтому у вас, вероятно, не будет проблем с функциональной совместимостью. Это означает, что всегда будет хороший шанс, что ваш торговый партнер сможет обмениваться информацией через него. У вас также не возникнет проблем с поиском клиентского приложения для ваших конечных пользователей.

Недостаток этого протокола передачи файлов в том, что он не так надежен в плане безопасности. Следовательно, если вам необходимо соблюдать законы и положения о безопасности/конфиденциальности данных, такие как HIPAA, PCI-DSS, SOX, GLBA и Директива ЕС о защите данных, держитесь подальше от этого. Выберите FTP, если ваш бизнес НЕ является или НЕ является:

  • Работать в строго регулируемой отрасли, такой как здравоохранение, финансы или производство;
  • Отправлять/получать конфиденциальные файлы; или
  • Продается публично (следовательно, регулируется SOX).

Еще одна проблема с FTP заключается в его чувствительности к проблемам с брандмауэром, которые могут неблагоприятно повлиять на подключение клиентов. Читать Активный vs. Пассивный FTP Упрощено, чтобы понять проблему и узнать, как ее решить.

3. FTPS (FTP через SSL)

Организации в сфере юридических, государственных и финансовых услуг могут захотеть рассмотреть возможность использования FTPS.

5. SFTP (протокол передачи файлов SSH)

Вот еще один широко используемый протокол передачи файлов, который идеально подходит для компаний, которым требуются функции конфиденциальности и безопасности. SFTP работает на SSH, безопасном протоколе, который, как и SSL, поддерживает шифрование данных в движении и аутентификацию клиент/сервер. Основное преимущество SFTP перед FTPS (которое обычно сравнивают с ним) заключается в том, что он более дружелюбен к брандмауэру.

6. SCP (защищенное копирование)

Это старая, более примитивная версия SFTP. Он также работает по SSH, поэтому обладает теми же функциями безопасности. Однако, если вы используете последнюю версию SSH, у вас уже будет доступ и к SCP, и к SFTP. Поскольку SFTP обладает большей функциональностью, я бы рекомендовал его вместо SCP. Единственный случай, когда вам, вероятно, понадобится SCP, — это если вы будете обмениваться файлами с компанией, у которой есть только устаревший сервер SSH.

7. WebDAV (распределенная веб-авторизация и управление версиями)

8. ВебДАВС

9. TFTP (простой протокол передачи файлов)

Этот протокол передачи файлов отличается от остальных тем, что вы не будете использовать его для обмена документами, изображениями или электронными таблицами. Фактически, вы обычно не будете использовать это для обмена файлами с машинами за пределами вашей сети. TFTP лучше подходит для задач управления сетью, таких как загрузка по сети, резервное копирование файлов конфигурации и установка операционных систем по сети. Почему мы включили его сюда? Что ж, это протокол передачи файлов, и вы, безусловно, можете использовать его в своем бизнесе (хотя и внутри компании).

Если вы хотите узнать больше о TFTP, прочтите статью Что такое TFTP? было бы неплохо начать.

10. AS2 (Положение о применимости 2)

Хотя почти все рассмотренные выше протоколы способны поддерживать обмен B2B, есть несколько протоколов, которые действительно разработаны специально для таких задач. Один из них — AS2.

AS2 создан для транзакций EDI (электронного обмена данными), автоматизированного обмена информацией, который обычно используется в производственной и розничной отраслях. EDI теперь также используется в здравоохранении благодаря законодательству HIPAA (см. раздел «Защита транзакций HIPAA EDI с помощью AS2»). Если вы работаете в этих отраслях или вам необходимо выполнять транзакции EDI, AS2 — отличный выбор.

11. OFTP (протокол передачи файлов Odette)

Другим протоколом передачи файлов, специально разработанным для EDI, является OFTP. OFTP довольно распространен в Европе, поэтому, если вы ведете дела с тамошними компаниями, вам это может понадобиться.И OFTP, и AS2 по своей природе безопасны и даже поддерживают электронные уведомления о доставке (читайте Что такое AS2 MDN?), что делает их идеальными для транзакций B2B.

12. AFTP (протокол ускоренной передачи файлов)

Передача файлов по глобальной сети, особенно на большие расстояния, легко зависит от плохих сетевых условий, таких как задержка и потеря пакетов, что приводит к значительному снижению пропускной способности. AFTP — это гибрид TCP-UDP, который делает передачу файлов практически невосприимчивой к этим сетевым условиям. Если вы хотите увидеть большую разницу, которую делает AFTP, прочитайте сообщение Ускоренная передача файлов в действии.

Чтобы получить подробные сведения о влиянии задержки и потери пакетов, а также о том, как AFTP делает их практически незаметными, загрузите технический документ Как увеличить скорость передачи файлов в 100 раз без увеличения пропускной способности.

Компании, работающие в кино и обрабатывающей промышленности, сочтут этот протокол очень полезным.

Заключение

Какой протокол передачи файлов лучше всего подходит для вашего бизнеса? На самом деле нет единственно правильного ответа. В конце концов, вам, возможно, придется одновременно удовлетворять требованиям совместимости, соответствия и удобства использования. Если вы столкнулись с такой проблемой, лучшим решением будет то, которое удовлетворит их всех.

Одним из решений, поддерживающих все 12 протоколов передачи файлов, является JAPE MFT Server — управляемый сервер передачи файлов, который уже поставляется с функциями безопасности и автоматизации прямо из коробки. Если вы хотите протестировать его, загрузите бесплатную полнофункциональную пробную версию прямо сейчас.

Протокол передачи файлов (FTP) – это широко используемый сетевой протокол для передачи файлов между компьютерами по сети на основе TCP/IP, например через Интернет. FTP позволяет людям и приложениям обмениваться данными в своих офисах и через Интернет. FTP был одной из первых технологий, разработанных для решения этой общей проблемы, и остается — с несколькими поколениями улучшений — вторым по популярности протоколом, используемым сегодня (после HTTP или «Всемирной паутины»).

Приложения FTP

FTP находит применение во многих повседневных бизнес-операциях, включая передачу данных между компаниями и одноранговыми сетями:

  • Организации используют FTP, чтобы сотрудники могли обмениваться файлами из разных мест и филиалов.
  • Сотрудники используют FTP для безопасного обмена файлами с коллегами и внешними деловыми партнерами.
  • ИТ-команды используют FTP для передачи данных обратно на сайты аварийного восстановления (DR).
  • Команды веб-мастеров используют FTP для передачи веб-страниц, файлов веб-приложений и изображений на свой веб-сервер.

Как происходит передача файлов по FTP

Протокол передачи файлов работает в модели клиент-сервер, когда FTP-сервер и FTP-клиент выполняют операцию передачи файлов. В сети настраивается FTP-сервер, и определяется определенное место хранения файлов (папка/система), которое становится общим хранилищем, в котором будут размещаться файлы, которыми вы хотите поделиться. Конечные пользователи получат доступ к этому файловому серверу через FTP, чтобы начать копирование файлов в свою локальную папку/систему.

FTP требует для работы сети TCP/IP и использует один или несколько FTP-клиентов. FTP-клиент действует как коммуникационный агент для взаимодействия с сервером и загрузки или выгрузки файлов. Другими словами, FTP-клиент отправляет соединения на FTP-сервер. После прослушивания запроса от клиента на загрузку или загрузку файла FTP-сервер выполняет операцию передачи файла.

Для чего используются FTP-клиенты?

Несколько десятилетий назад FTP-клиенты были просто приложениями с интерфейсом командной строки (CLI). Теперь они поставляются с простыми в использовании интуитивно понятными интерфейсами для облегчения и упрощения передачи файлов. FTP-клиенты используются для настольных компьютеров, серверов и мобильных устройств и доступны в виде автономных приложений, веб-клиентов и простых расширений для веб-браузеров. FTP Voyager ® — это бесплатный FTP-клиент для Windows от SolarWinds ® Serv-U ®, разработанный для предоставления множества встроенных функций для упрощения передачи файлов.

Активное и пассивное подключение к FTP-серверу

FTP-сервер может поддерживать как активные, так и пассивные соединения с FTP-клиентом. При активном FTP-подключении клиент открывает порт и прослушивает, пока сервер активно к нему подключается. При пассивном соединении сервер открывает порт и пассивно слушает, что позволяет клиентам подключаться к нему.

Пассивные подключения более безопасны, и ИТ-администраторы предпочитают их, поскольку подключения для передачи данных осуществляются от FTP-клиента к FTP-серверу. Это более надежный метод, и он позволяет избежать входящих подключений из Интернета к отдельным клиентам. В развертываниях с брандмауэром все соединения осуществляются из Интернета на сервер, а не с сервера обратно в Интернет. Пассивный режим также известен как «дружественный к брандмауэру» режим. Чем более безопасные протоколы передачи файлов (например, SFTP, FTPS) поддерживает FTP-клиент, тем более безопасным он становится.

История FTP

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

Попробуйте защищенный FTP-сервер от Serv-U

 Наиболее популярные протоколы передачи файлов

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

Освежите в памяти вводные факты о протоколе обмена файлами ниже.

1. FTP

Первоначальный протокол передачи файлов, FTP, является популярным методом передачи файлов, который существует уже несколько десятилетий. FTP обменивается данными, используя два отдельных канала, известных как командный канал для аутентификации пользователя и канал данных для передачи файлов.

При использовании FTP оба канала не зашифрованы, что делает любые данные, отправляемые по этим каналам, уязвимыми для использования в своих интересах. Однако для доступа требуется аутентифицированное имя пользователя и пароль.

2. FTPS

Сокращение от FTP через SSL/TLS (Secure Sockets Layer/Transport Layer Security). FTPS – это безопасный протокол передачи файлов, который позволяет безопасно передавать файлы торговым партнерам, клиентам и пользователям. Передачи могут быть аутентифицированы с помощью методов, поддерживаемых FTPS, таких как сертификаты клиента, сертификаты сервера и пароли.

3. SFTP

SFTP означает FTP через SSH (Secure Shell). Это безопасный протокол FTP и отличная альтернатива незащищенным инструментам FTP или ручным сценариям. SFTP обменивается данными через соединение SSH и обеспечивает организациям высокий уровень защиты при передаче файлов между их системами, торговыми партнерами, сотрудниками и облаком.

4. SCP

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

6. AS2, AS3 и AS4

AS2, AS3 и AS4 (положения о применимости 2, 3 и 4) — это популярные протоколы, используемые для отправки и защиты критически важных файлов.

AS2 используется для безопасной и надежной передачи конфиденциальных данных через Интернет. AS2 использует цифровые сертификаты и стандарты шифрования для защиты важной информации во время ее передачи между системами, сетями и местоположениями. Сообщения AS2 можно сжимать, подписывать, шифровать и отправлять по безопасному туннелю SSL.

AS4 – это протокол, который позволяет предприятиям безопасно обмениваться данными со своими партнерами. Он основан на основах, изначально заложенных в AS2, но работает с веб-службами и предоставляет улучшенные уведомления о доставке. В качестве стандарта для бизнеса AS4 помогает сделать обмен документами через Интернет безопасным и простым.

7. ПЕСИТ

PeSIT (сокращение от Protocol d'Echanges pour un Systeme Interbancaire de Telecompensation) представляет собой сквозной протокол передачи файлов, разработанный Французской группой по экономическим интересам межбанковских телеклиринговых систем (GSIT). Он менее широко используется в Северной Америке и в основном используется для соответствия европейским банковским стандартам и передачи сообщений в банки и из банков в Европе.

Полезная литература: Что такое PeSIT?

Что общего у этих протоколов? - GoAnywhere МФТ

MFT (сокращение от Managed File Transfer) – это инструмент, который объединяет несколько протоколов обмена файлами на одной панели. Усовершенствованная версия FTP с акцентом на безопасность и автоматизацию протоколов передачи файлов. Это лучший выбор для ИТ-специалистов во всех отраслях.

Одним из самых больших преимуществ MFT является то, что он использует все эти стандартные отраслевые протоколы обмена файлами для безопасного обмена данными. Узнайте, как решение MFT, такое как GoAnywhere MFT, может помочь вам автоматизировать, упростить и оптимизировать все аспекты передачи файлов, одновременно поддерживая каждый из вышеупомянутых протоколов.

Читайте также: