Протокол FTP (SFTP, FTPS) — что это такое, соединение между клиентом и сервером по ФТП. Примеры сетевых файловых служб: FTP и NFS Служба ftp предназначена для копирования

Как мы уже узнали, Internet – это глобальная компьютерная сеть, включающая в себя миллионы серверов и компьютеров-клиентов, состоящая из различных каналов связи и работающая благодаря определенным технологиям. Благодаря всему перечисленному стало возможным передавать информацию от одного компьютера к другому, но какую информацию, точнее, какого типа, формата? Как эта информация будет представлена на компьютере пользователя? Какие правила и сценарии работы с этой информацией будут использоваться? Ответы на данные вопросы дают описания служб (сервисов), которые работают в Internet.

Службы (сервисы) – это виды услуг, которые оказываются серверами сети Internet.

В истории Интернет существовали разные виды сервисов, одни из которых в настоящее время уже не используются, другие постепенно теряют свою популярность, в то время как третьи переживают свой расцвет.

Перечислим те из сервисов, которые не потеряли своей актуальности на данный момент:

  • World Wide Web – всемирная паутина – служба поиска и просмотра гипертекстовых документов, включающих в себя графику, звук и видео.
  • E-mail – электронная почта – служба передачи электронных сообщений.
  • Usenet, News – телеконференции, группы новостей – разновидность сетевой газеты или доски объявлений.
  • FTP – служба передачи файлов.
  • ICQ – служба для общения в реальном времени с помощью клавиатуры.
  • Telnet – служба удаленного доступа к компьютерам.
  • Gopher – служба доступа к информации с помощью иерархических каталогов.
Среди этих служб можно выделить службы, предназначенные для коммуникации, то есть для общения, передачи информации (E-mail, ICQ), а также службы, назначение которых – это хранение информации и обеспечение доступа к этой информации пользователей.

Среди последних служб лидирующее место по объему хранимой информации занимает служба WWW, поскольку данная служба наиболее удобна для работы пользователей и наиболее прогрессивна в техническом плане. На втором месте находится служба FTP, поскольку какие бы интерфейсы и удобства не разрабатывали для пользователя, информация все равно хранится в файлах, доступ к которым и обеспечивает эта служба. Службы Gopher и Telnet в настоящее время можно считать «отмирающими», так как новая информация уже почти не поступает на серверы этих служб и количество таких серверов и их аудитория практически не увеличивается.

World Wide Web - всемирная паутина World Wide Web (WWW) - гипертекстовая, а точнее, гипермедийная информационная система поиска ресурсов Интернет и доступа к ним. Гипертекст - информационная структура, позволяющая устанавливать смысловые связи между элементами текста на экране компьютера таким образом, чтобы можно было легко осуществлять переходы от одного элемента к другому.

На практике в гипертексте некоторые слова выделяют путем подчёркивания или окрашивания в другой цвет. Выделение слова говорит о наличии связи этого слова с некоторым документом, в котором тема, связанная с выделенным словом, рассматривается более подробно.

Гипермедиа - это то, что получится, если в определении гипертекста заменить слово "текст" на "любые виды информации": звук, графику, видео. Такие гипермедийные ссылки возможны, поскольку наряду с текстовой информацией можно связывать и любую другую двоичную информацию, например, закодированный звук или графику, Так, если программа отображает карту мира и если пользователь выбирает на этой карте с помощью мыши какой-либо континент, программа может тут же дать о нём графическую, звуковую и текстовую информацию.

Система WWW построена на специальном протоколе передачи данных, который называется протоколом передачи гипертекста HTTP (читается "эйч-ти-ти-пи", HyperText Transfer Protocol).

Всё содержимое системы WWW состоит из WWW-страниц.

WWW-cтраницы - гипермедийные документы системы World Wide Web. Создаются с помощью языка разметки гипертекста HTML (Hypertext markup language).

Одну WWW-страницу на самом деле обычно составляет набор гипермедийных документов, расположенных на одном сервере, переплетённых взаимными ссылками и связанных по смыслу (например, содержащих информацию об одном учебном заведении или об одном музее). Каждый документ страницы, в свою очередь, может содержать несколько экранных страниц текста и иллюстраций. Каждая WWW-страница имеет свой "титульный лист" (англ. "homepage") - гипермедийный документ, содержащий ссылки на главные составные части страницы. Адреса "титульных листов" распространяются в Интернет в качестве адресов страниц.

Набор Web-страниц, связанных между собой ссылками и предназначенных для достижения единой цели, называется Web-сайтом .

Электронная почта.

Электронная почта появилась около 30 лет назад. На сегодняшний день она является самым массовым средством обмена информацией в сети Интернет. Умение получать и посылать электронную почту может пригодиться не только для общения с друзьями из других городов и стран, но и в деловой карьере. Например, при трудоустройстве можно быстро разослать своё резюме c помощью e-mail в различные фирмы. Кроме того, на многих сайтах, где нужно пройти регистрацию (on-line игры, Интернет-магазины и т.д.) зачастую требуется указать свой e-mail. Одним словом, e-mail - очень полезная и удобная вещь.

Электронная почта (Electronic mail, англ. mail - почта, сокр. e-mail) cлужит для передачи текстовых сообщений в пределах Интернет, а также между другими сетями электронной почты.

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

Для пользования E-mail компьютер должен быть подключен к телефонной сети через модем.

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

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

Для доставки письма адресату нужно знать только его адрес и координаты ближайшего почтового ящика. На пути к адресату письмо проходит несколько почтовых отделений (узлов).

Процесс поэтапного определения пути письма называется маршрутизацией (routing).

При использовании электронной почты каждому абоненту присваивается уникальный почтовый адрес, формат которого имеет вид:

@ .

Например: [email protected] , где earth - имя пользователя, space.com - имя компьютера, @ - разделительный символ "эт коммерческое",который часто называют «собакой».

Электронная почта не требует одновременного присутствия обоих абонентов на разных концах линии. Сообщения, поступающие по e-mail, хранятся в специальном "почтовом" компьютере в выделенной для получателя области дисковой памяти (его "почтовом ящике"), откуда он может их выгрузить и прочитать с помощью специальной программы-клиента. Для отсылки сообщения нужно знать электронный адрес абонента. При качественной связи электронное письмо доходит в любую точку мира в течение нескольких минут.

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

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

При отправке почты программа связывается с сервером исходящей почты, или SMTP-сервером, по протоколу SMTP (Simple Mail Transfer Protocol) .

При приеме почты программа связывается с сервером входящей почты, или POP3-сервером по протоколу POP3 (Post Office Protocol 3) . Это могут быть как разные компьютеры, так и один и тот же. Имена серверов предоставляет пользователям провайдер.

Более современный протокол IMAP позволяет, в частности, выборочно копировать пришедшие письма с почтового сервера на компьютер. Для использования этого протокола необходимо, чтобы он поддерживался как провайдером, так и почтовой программой.

Схема доставки сообщения.

Преимущества E-mail в сравнении с обычной почтой:

  • Оперативность
  • Надёжность
  • Дешевизна

Недостатки E-mail в сравнении с обычной почтой:

  • Получение невостребованной электронной почты (спам).
  • Опасность заражения вирусом.
Служба передачи файлов FTP.

Как известно, вся информация хранится в файлах. Файл может иметь различный объем и содержать абсолютно любую информацию. Именно поэтому в сети Internet за последние 15-20 лет скопилось огромное количество разнообразных файлов, доступ к архивам которым осуществляется с помощью службы передачи файлов FTP.

Служба передачи файлов FTP перемещает копии файлов с одного узла Интернет на другой в соответствии с протоколом FTP (File Transfer Protocol - "протокол передачи файлов"). При этом не имеет значения, где эти узлы расположены и как соединены между собой. Компьютеры, на которых есть файлы для общего пользования, называются FTP-серверами.

Сам ftp и средства доступа по ftp появились гораздо раньше Web - браузеров и языка HTML. И это не удивительно, так как передача двоичных данных с компьютера на компьютер всегда была главнейшей задачей Интернета.

В Интернет имеется более 10 Терабайт бесплатных файлов и программ. Любой пользователь может воспользоваться услугами службы FTP и с помощью анонимного доступа скопировать интересующие его файлы.

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

Для работы пользователя со службой FTP существует множество программ FTP-клиентов, например, CuteFTP, Far, Windows Commander. Как правило, эти программы являются также файловыми менеджерами, то есть позволяют просматривать как информацию на локальных дисках, так и точно также на удаленных и выполняют функции копирования информации с удаленного диска на локальный диск.

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

Например, для загрузки с сервера файлового архива ftp.cuteftp.com компании GlobalScape файла cute4232.exe необходимо указать URL-адрес этого файла. При указании URL-адреса протокол FTP записывается следующим образом: ftp://.

В результате универсальный указатель ресурсов URL принимает вид:
ftp://ftp.cuteftp.com/pub/cuteftp/cute4232.exe
и состоит из трех частей:
ftp:// - протокол доступа;
ftp.cuteftp.com доменное имя сервера файлового архива;
pub/cuteftp/cute4232.exe - путь к файлу и имя файла.

Cистема телеконференций Usenet.

Очень похожей на электронную почту службой является служба телеконференций Usenet.

Новости - это одно из старейших в истории Интернета средств коммуникации между группами людей, интересующимися одним определенным вопросом. Новости Usenet (от англ. user"s network, сеть пользователей) изобретены тремя американскими студентами в 1979 году. Usenet служила в то время для распространения информации и новостей по программированию. Данные сортировались по пятнадцати рубрикам, впоследствии получившим название " группы новостей " , " конференции " или "телеконференции".

Служба телеконференций Usenet организует коллективные обсуждения по различным направлениям, называемые телеконференциями. Для работы этой службы используется протокол NNTP (Network News Transfer Protocol) – сетевой протокол передачи новостей Телеконференции позволяют обсудить какую-либо тему, и каждый может свободно выразить свое мнение, соблюдая определенный этикет.

Если обыкновенную электронную почту можно сравнить с частной перепиской между двумя корреспондентами, то новости больше похожи на газетную публикацию. Процесс распространения новостей выглядит примерно так: человек, желающий опубликовать сообщение, посылает письмо специального формата на сервер новостей (специальный компьютер). Это сообщение обрабатывается и начинает распространяться между всеми остальными серверами, подписанными на данную тему (группу новостей), или, как их еще называют, телеконференций. Сервер новостей находит своего ближайшего соседа и передает ему накопившиеся новости. Тот, в свою очередь, передает их следующему соседу, и процесс продолжается, в результате чего однажды посланное письмо всего через несколько часов оказывается многократно размноженным и разлетается буквально по всему свету. Каждый человек, подписанный на определенную конференцию, в результате ознакомится и с вашим посланием.

Сегодня Usenet имеет более десяти тысяч дискуссионных групп (NewsGroups) или телеконференций, каждая из которых посвящена определённой теме и является средством обмена мнениями.

Телеконференции разбиты на несколько групп:

  • news - вопросы, касающиеся системы телеконференций;
  • comp - компьютеры и программное обеспечение;
  • rec - развлечения, хобби и искусства;
  • sci - научно-исследовательская деятельность и приложения;
  • soc - социальные вопросы;
  • talk - дебаты по различным спорным вопросам;
  • misc - всё остальное.

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

ICQ.

Одна из популярнейших служб Интернет - это ICQ (I seek you - я ищу тебя).

ICQ - это способ общения в сети, который позволяет вести беседу с любым зарегистрированным в системе ICQ и подключенным в данный момент к Интернету пользователем.

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

Для того, чтобы стать абонентом системы ICQ, достатаочно скачать программу ICQ-клиент с файлового сервера (например, www.freeware.ru) и в процессе ее установки на компьютер зарегистрироваться.

Возможности ICQ:

  • отправка электронных писем и SMS-сообщений;
  • обмен текстовыми сообщениями (chat);
  • голосовая связь;
  • поиск по интересам, по номеру, по e-mail;
  • интернет-телефония (звонки с компьютера на компьютер, с компьютера на телефон, с телефона на компьютер)
и многое другое. Служба удаленного доступа к компьютерам. Служба удаленного доступа TELNET позволяет входить в другую вычислительную систему, работающую в Интернет, с помощью протокола TELNET.

Эта программа состоит из двух компонент: программы-клиента, которая выполняется на компьютере-клиенте, и программы-сервера, которая выполняется на компьютере-сервере.

Функции программы-клиента:

  • установление соединения с сервером;
  • приём от абонента входных данных, преобразование их к стандартному формату и отсылка серверу;
  • приём от сервера результатов запроса в стандартном формате и переформатирование их в вид, удобный клиенту.

Функции программы-сервера:

  • ожидание запроса в стандартной форме;
  • обслуживание этого запроса;
  • отсылка результатов программе-клиенту.

Telnet - простое и поэтому универсальное средство связи в Интернет.

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

Вопросы.
  • Что такое службы?
  • Перечислите основные службы сети Интернет.
  • Какая служба занимает лидирующее место в Интернет?
  • Какие основные услуги предоставляет пользователям служба WWW?
  • Что такое гиперссылка?
  • Что такое гипертекст?
  • На каком протоколе построена служба WWW?
  • Для чего нужна электронная почта?
  • Что такое маршрутизация?
  • Как формируется почтовый адрес?
  • Где хранятся сообщения, поступающие по почте?
  • Какие почтовые протоколы используются при получении и отправлении писем?
  • Для чего предназначена служба передачи файлов FTP?
  • Какие компьютеры называются FTP-серверами?
  • По какому протоколу осуществляется доступ к файлам на серверах файловых архивов?
  • Какие услуги предоставляет служба телеконференций?
  • Какой протокол используется для работы службы Usenet?
  • Какими возможностями обладает служба ICQ?
  • Что такое служба удаленного доступа?
  • Предлагаемый вам тест содержит одиннадцать вопросов, на каждый из которых дается три варианта ответа. Вопросы выводятся в отдельном окне. Отвечая на вопрос, установите курсор мышки на выбранном варианте ответа (он отобразится белым цветом) и щелкните на нем. По результатам выполнения теста будет выведено число верных ответов, повторных попыток ответа и оценка.

    Для начала теста нажмите на кнопку

    Установка FTP-сервера.

    FTP-сервер входит в состав служб IIS. Для его установки открываем Панель управления -> Программы -> Включение или отключение компонентов Windows. Раскрываем раздел Службы IIS и ставим галочки напротив следующих компонентов: Служба FTP и Консоль управления IIS.

    Настройка FTP-сервера.

    Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (можно быстрее: меню Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). В открывшемся окне раскрываем группу Службы и приложения и открываем Диспетчер служб IIS. В окне Подключения выбираем папку Сайты, затем в правом окне Действия нажимаем на ссылку Добавить FTP-сайт.


    В мастере создания ftp-сайта указываем его название и расположение (по умолчанию c:\inetpub\ftproot).


    Далее указываем параметры привязки и SSL. Раздел привязка оставляю без изменений. Опцию «Запускать ftp-сайт автоматически» отключаю (ftp мне нужен только время от времени). В разделе SSL выставляю опцию «Без SSL».


    В следующем окне оставляем все без изменений и нажимаем Готово.


    Сайт создан. Теперь можно перейти к дополнительным параметрам для тонкой настройки (например ограничить максимальное количество одновременных подключений). Выделите только что созданный сайт, справа в панели Действия нажмите на Дополнительные параметры.


    Следующий этап — настройка брандмауэра Windows. Откройте Панель управления -> Система и безопасность -> Брандмауэр Windows -> Дополнительные параметры. В разделе «Правила для входящих подключений» находим и активируем «FTP-сервер (входящий трафик)» и «FTP Server Passive (FTP Passive Traffic-In)». Последнее правило позволяет подключаться ftp-клиенту в пассивном режиме.



    В разделе «Правила для исходящего подключения» находим и активируем «FTP Server (FTP Traffic-Out)».


    Если в системе установлен дополнительный брандмауэр (Comodo, Outpost и т.п.), то в нем также необходимо открыть порт 21 (TCP) для входящих подключений и порт 20 (TCP) для исходящих.

    Если подключение к Интернет осуществляется с помощью маршрутизатора, и вы хотите сделать свой сервер доступным интернет-пользователям, тогда необходимо настроить проброс портов на маршрутизаторе. На моем Dlink DI-804HV это выполняется в разделе Virtual Server.


    192.168.10.4 — ip-адрес ftp-сервера в локальной сети.

    Настройка прав пользователей.

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

    Открываем Панель управления -> Система и безопасность -> Администрирование -> Управление компьютером (Пуск -> правый клик на Компьютер -> в меню выбрать пункт Управление). Далее раскрываем группу Локальные пользователи и группы (данная настройка доступна только в редакциях Бизнес и Максимальная). Правый клик на папке Группы, в меню выбираем Создать группу.


    Вводим название группы — Пользователи FTP, описание (можно не вводить) и нажимаем кнопку Создать.


    Теперь необходимо создать пользователя. Делаем правый клик на папке Пользователи и в меню выбираем Новый пользователь.


    Вводим имя пользователя (например ftp_user_1), пароль (не менее 6 символов), выставляем галочки напротив опций «Запретить смену пароля пользователем» и «Срок действия пароля не ограничен».


    Пользователь создан. Теперь необходимо присвоить ему ранее созданную группу Пользователи ftp. Для этого открываем свойства пользователя и переходим на закладку «Членство в группах». По умолчанию новому пользователю присваивается группа Пользователи, удаляем ее. Нажимаем кнопку Добавить -> Дополнительно -> Поиск. Откроется список групп пользователей. Выбираем группу Пользователи FTP и нажимаем Ok. В итоге получаем:


    Нажимаем Ok и переходим к следующему этапу.

    На этапе создания ftp-сайта нам было необходимо выбрать рабочий каталог (c:\inetpub\ftproot). Теперь для группы «Пользователи FTP» необходимо настроить права доступа к этому каталогу. Открываем c:\inetpub в проводнике, открываем свойства папки ftproot, переходим на закладку Безопасность и нажимаем кнопку Изменить. В открывшемся окне нажимаем кнопку Добавить и выбираем группу «Пользователи FTP» (как при создании пользователя). Устанавливаем уровень прав — «Полный доступ» и нажимаем Ок.


    Последний этап. Вновь открываем Диспетчер служб IIS и выделяем наш ftp-сервер (Test FTP). В панели управления ftp-сайтом выбираем «Правила авторизации FTP». Добавляем разрешающее правило. В открывшемся окне выбираем опцию «Указанные роли или группы пользователей». Внизу в текстовом поле руками прописываем название нашей группы (Пользователи FTP), далее ставим галочки в разделе Разрешения напротив Чтение и Запись и нажимаем Ок.


    На этом настройка завершена.

    В начале мы не выбрали опцию автоматического запуска сервера, поэтому не забываем запустить его вручную (правый клик на названии сайта -> Управление FTP-сайтом -> Пуск).

    Как подключиться?

    Вариант с использованием проводника Windows.
    Открываем Компьютер (Vista, Win 7) или Мой Компьютер (XP).
    Для анонимного доступа просто вводим в адресную строку адрес сервера (ftp://192.168.10.4).
    Чтобы войти с именем пользователя и паролем вводим адрес вида: ftp://[имя пользователя]:[пароль]@[адрес ftp-сервера]. Например ftp://ftp_user_1:[email protected] - для подключения из локальной сети. Для подключения из Интернет локальный адрес заменяем на внешний или на доменное имя.

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

    .jpg

    Или применить более сложный вариант, ежели используется порт, отличный от 21:

    Ftp://login:password@сайт:35/images/file-1.jpg

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


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

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

    Но продолжим. Схематически взаимодействие «клиент-сервер» при ФТП-соединении можно наглядно представить следующим образом:


    Если расписать этот процесс по пунктам, то получится примерно следующее:

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

    Однако, в интернете довольно много бесплатных ФТП-серверов, по сути являющихся библиотеками разного рода файлов, которые предназначены для хранения и скачивания текстовых документов, музыки, фото, видео, дистрибутивов программ и т.п.

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

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

    Ftp://сайт/images/file-1.jpg

    На практике при анонимном ФТП обычно в качестве логина для доступа применяется известное в сети слово «anonymous», а в качестве пароля — адрес электронной почты, который, впрочем, в большинстве случаев не проверяется.

    Безопасный ФТП (SFTP, FTPS и с использованием SSH)

    Этот протокол изначально не задумывался как защищенный, так ка разрабатывался в далеком 1971 году и использовался поначалу лишь в научно-исследовательской сети APRANET, доступ в которую имели только несколько военных объектов и университетов.

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

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

    По этой причине были разработаны несколько методов, позволяющих зашифровать передаваемую посредством ФТП информацию. Вкупе все эти способы получили обобщающее и емкое название «Безопасный FTP» . Вот какие разновидности протокола соответствуют этому термину:

    1. FTPS (FTP + SSL) — фактически это расширение стандартного протокола передачи файлов, которое обеспечено криптографическим протоколом SSL (Secure Sockets Layer — уровень защищенных сокетов). На сегодняшний день более передовым его аналогом является TLS (Transport Layer Security — защита транспортного уровня). При этом есть два метода предоставления безопасности:

    1.1. Неявный является устаревшим и использует стандартный протокол, требующий применения SSL или TLS, которые могут обеспечить шифрование информации. При таком методе обязательно нужно использовать порты, отличные от обычных, что создает неудобства, поскольку нарушается совместимость клиентов и серверов, не поддерживающих FTPS.

    1.2. Явный — намного более удобный, так как применяет команды стандартного протокола FTP, но при отправке ответа зашифровывает информацию, что позволяет сохранить совместимость, поскольку в этом случае применяются одни и те же порты как для FTPS, так и для FTP. При этом для шифрования данных клиентом отправляется команда «AUTH TLS» или «AUTH SSL».

    2. SFTP (SSH FTP) — протокол прикладного уровня для передачи файлов, который работает поверх безопасного канала, его не следует путать с «Simple File Transfer Protocol», имеющего такую же аббревиатуру. Если FTPS является просто расширением FTP, то SFTP это отдельный и никак не связанный с ФТП протокол, который снабжен SSH (Secure Shell - безопасная оболочка).

    Главное, в чем заключается его отличие от стандартного ФТП и ФТПС, это то, что СФТП шифрует абсолютно все команды, имена пользователей, пароли и другую конфиденциальную информацию. Так как это совершенно другая конфигурация, клиенты FTP (FTPS) не могут соединиться с SFTP-сервером.

    3. FTP через SSH — производит обычную FTP-сессию через SSH-туннель, то есть этот вариант нельзя путать с SFTP, который является отдельным независимым протоколом. Этот метод нельзя назвать стопроцентно безопасным. Почему?

    Дело в том, что если несколько SSH-клиентов устанавливают туннель для управляющего канала, который изначально осуществляется через 21 порт (а такая ситуация практически всегда и наблюдается), то защищенным окажется именно этот канал. При передаче же данных клиентское программное обеспечение откроет новые TCP-соединения, которые будут находиться уже вне воздействия защитной оболочки SSH.

    Надеюсь, вы не запутались во всех этих вариантах безопасных протоколов. Для того, чтобы как-то облегчить понимание, позволю себе сделать краткое резюме. Объективно обеспечивающим самую высокую степень защиты является SFTP. Немного уступает ему в надежности явный FTPS, однако он более удобен, поскольку дает возможность пользоваться обычными портами. Какой из них выбрать, зависит от вида задачи, которая перед вами стоит и, конечно, настроек сервера.

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

    FTP (File Transfer Protocol) - это протокол передачи информации в интернете и локальных компьютерных сетях. Это программа, осуществляющая удалённое подключение к выделенной папке для просмотра и обмена файлами, в том числе больших размеров. Обмен данными возможен от компьютера к удалённому серверу и между другими ФТП-серверами.

    Данные передаются без шифрования трафика, поэтому доступ к логинам и паролям легко могут получить злоумышленники. Для безопасной передачи файлов рекомендуется использовать протокол с TLS-защитой - FTPS, шифрующий данные.

    Собственный FTP-сервер имеет определённые преимущества:

    • позволяет управлять сервером и его ресурсами;
    • предоставлять пользователям разные права доступа;
    • для него не нужен статический IP-адрес.
    • нет ограничений скорости;
    • отсутствие оплаты хостеру за его размещение;

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

    Компанией Майкрософт в Windows 7 добавлена функция Internet Information Services (IIS), осуществляющая общий доступ из сети к выделенной для этой цели папке. Поэтому, чтобы создать FTP-сервер для Windows 7, не требуется дополнительно устанавливать ПО.

    Установка FTP-сервера

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

    Для создания ФТП-сервера на Windows 7 необходимо:

    • Нажать «Пуск» и открыть раздел «Панель управления». Для удобства просмотра можно выбрать режим «Мелкие значки».

    • Перейти в раздел «Программы и компоненты», где выбрать «Включение или отключение компонентов Windows».

    • В списке открывшегося меню нужно отметить компоненты, которые следует активировать, поставив рядом галочку. Это папка «FTP-сервер», в ней два пункта: «Расширяемость FTP» и «Служба FTP», а также папка «Средства управления веб-сайтом», а в ней- «Консоль управления IIS». Для запуска нажать OK.

    Настройка ФТП-сервера
  • Теперь нужно снова зайти через «Пуск» в «Панель управления».
  • Найти раздел «Администрирование» и открыть в этом разделе «Диспетчер служб IIS».
  • Перейти во вкладку «Сайты», щёлкнув на название правой кнопкой, выбрать из списка «Добавить FTP сайты».
  • В новом окне требуется указать имя будущего ФТП-сервера, и путь к каталогу с его данными. К следующему этапу настройки можно перейти, нажав кнопку «Далее».
  • Теперь устанавливаются параметры сервера. В поле IP-адреса выбрать нужный из списка. Можно привязать его к определённому адресу или сделать расширенный доступ, выбрав пункт «Все свободные». При этом должен быть отмечен стандартный порт- 21. Если планируется постоянно использовать FTP-сервер, то следует поставить отметку галочкой «Запускать FTP-сайт автоматически». Выбрать опцию «Без SSL», её можно включить в случае необходимости позже. Снова нажать «Далее».
  • В новом окне задаётся тип авторизации. В пункте «Проверка подлинности» можно разрешить вход для обычных или анонимных пользователей. Здесь же можно настроить для них права. Нажать«Готово».
  • После завершения установки в разделе «Сайты» появится новый ФТП-сервер.

    Настройка брандмауэра Windows

    Теперь обязательно необходимо настроить брандмауэр Windows для открытия портов и функционирования служб.

    Снова войти в «Панель управления», затем «Брандмауэр Windows». Найти раздел «Дополнительные параметры».

    В нём выбрать «Правила для входящих соединений». Для них рекомендуется установить пассивный режим. Для этого правой кнопкой мыши нажать и включить правила «FTP Server Passive» и «FTP-сервер (входящий трафик)». Таким же образом для исходящих подключений включить в соответствующем разделе правило «FTP-Server».

    Подключение пользователей

    Чтобы на сервер могли заходить пользователи, их необходимо подключить.

    • Во вкладке «Панель управления» открыть папку «Администрирование».

    Раздел Администрирование

    • Найти раздел «Управление компьютером», затем перейти к папке «Локальные пользователи». Нажав правой кнопкой на строку «Группы», выбрать функцию «Создать группу». В новом окне указать имя и короткое описание группы, нажать «Создать».
    • Теперь можно подключить пользователей к созданной группе. В папке «Локальные пользователи» нажать правой кнопкой на строку «Пользователи» и выбрать из списка меню «Новый». Заполнить поля, введя имя и пароль, здесь же следует установить галочкой запрет на смену пароля.
    • Для подключения пользователя нажать правой кнопкой на его учётную запись и выбрать из списка меню пункт «Свойства», далее - вкладка «Членство в группах» и кнопка «Добавить». Найти созданную группу, добавить и нажать OK. Эту процедуру нужно выполнить для всех пользователей сервера.
    • На следующем этапе определяются права доступа пользователей группы к рабочему каталогу. Для этого нужно перейти к каталогу «Сайт», щёлкнуть по названию правой кнопкой и открыть «Свойства». Далее - вкладка «Безопасность», в пункте «Изменить» указать название группы и нажать ОК. Затем нужно настроить права для пользователей.
    • Войти в «Диспетчер служб IIS», нажав правой кнопкой на строку «Правила авторизации FTP», добавить разрешающее правило. Можно позволить пользователям запись и удаление данных, а можно только чтение.

    Установка и настройка сервера завершена. Однако, теперь нужно знать, как зайти на FTP-сервер.

    Стандартные функции Windows позволяют сделать это просто. Достаточно открыть папку «Мой компьютер», затем в адресной строке указать путь к серверу.

    Другой способ - создать ярлык подключения к ФТП на рабочем столе компьютера.

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

    Как видно, полезно знать, как настроить FTP-сервер на , чтобы сделать обмен данными между пользователями удобным и без ограничений.

    Служба архивов FTP.

    FTP-архивы являются одними из основных информационных ресурсов Internet. Фактически, это распределенный депозитарий текстов, программ, фотографий и прочей информации, хранящейся в виде файлов на различных компьютерах во всем мире.

    Информация в FTP-архивах разделена, в основном, на три категории: Защищенная информация, режим доступа к которой определяется ее владельцами и разрешается по специальному соглашению с потребителем. К этому виду ресурсов относятся коммерческие архивы (к примеру, коммерческие версии программ в архивах ftp.microsoft.com ), закрытые национальные и международные некоммерческие ресурсы (например, работы по международным проектам CES или IAEA), частная некоммерческая информация со специальными режимами доступа (например,частные благотворительные фонды). Информационные ресурсы ограниченного использования, к которым относятся, например, программы класса shareware. В данный класс могут входить ресурсы ограниченного времени использования или ограниченного времени действия. Свободно распространяемые информационные ресурсы или freeware, если речь идет о программном обеспечении. К этим ресурсам относится все, что можно свободно получить по сети без специальной регистрации. Это может быть документация, программы или что-либо еще. Следует отметить,что свободно распространяемое программное обеспечение не имеет сертификата качества, но его разработчики открыты для обмена опытом.

    Из выше перечисленных ресурсов наиболее интересными являются две последних категории, которые, как правило, оформлены в виде FTP-архивов.

    Технология FTP была разработана в рамках проекта ARPA и предназначена для обмена большими объемами информации между машинами с различной архитектурой. Главным в проекте было обеспечение надежной передачи, поэтому с современной точки зрения FTP кажется перегруженным излишними редко используемыми возможностями. Стержень технологии составляет FTP-протокол.

    FTP-протокол.

    FTP (File Transfer Protocol, или “Протокол передачи данных”) - один из старейших протоколов в Internet и входит в его стандарты. Первые спецификации FTP относятся к 1971 году. С тех пор FTP претерпел множество модификаций и значительно расширил свои возможности. FTP может использоваться как в программах пользователей, так и в виде специальной утилиты операционной системы.

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

    Обмен данными в FTP происходит по TCP-каналу. Обмен построен на технологии “клиент-сервер”. FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передает между сервером и клиентом открытый текст. FTP-сервер может потребовать от FTP-клиента аутентификации (т.е. при присоединении к серверу FTP-пользователь должен будет ввести свой идентификатор и пароль). Однако пароль, и идентификатор пользователя будут переданы от клиента на сервер открытым текстом.

    Модели работы FTP.

    Простейшая модель работы протокола FTP представлена на рисунке 1. В FTP соединение инициируется интерпретатором протокола пользователя. Управление обменом осуществляется по каналу управления в стандарте протокола TELNET. Команды FTP генерируются интерпретатором протокола пользователя и передаются на сервер. Ответы сервера отправляются пользователю также по каналу управления. В общем случае пользователь имеет возможность установить контакт с интерпретатором протокола сервера и отличными от интерпретатора протокола пользователя средствами.

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

    Сессия управления инициализирует канал передачи данных. При организации канала передачи данных последовательность действий другая, отличная от организации канала управления. В этом случае сервер инициирует обмен данными в соответствии с согласованными в сессии управления параметрами.

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

    Алгоритм работы протокола FTP состоит в следующем:

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

    Возможна ситуация, когда данные могут передаваться на третью машину. В этом случае пользователь организует канал управления с двумя серверами и прямой канал данных между ними. Команды управления идут через пользователя, а данные - напрямую между серверами. Канал управления должен быть открыт при передаче данных между машинами. Иначе, в случае его закрытия передача данных прекращается. Соединение с двумя серверами показано на рисунке 2.

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

    Модуль “Интерпретатор протокола пользователя” указал модулю сервера “Интерпретатор протокола сервера 1” работать в пассивном режиме, после чего модуль “Интерпретатор протокола сервера 1” отправил пользователю адрес и номер порта (N) , который он будет слушать. Модуль “Интерпретатор протокола пользователя” назначил модуль сервера 2 “Интерпретатор протокола сервера 2” в качестве активного участника соединения и указал ему передавать данные на хост “Интерпретатор протокола сервера 1” на порт (N). “Интерпретатор протокола пользователя” подал “Интерпретатору протокола сервера 1” команду “сохранить поступившие данные в таком-то файле”, а “Интерпретатор протокола сервера 2” - “передать содержимое такого-то файла”. Между модулями “Интерпретатор протокола сервера 1” и “Интерпретатор протокола сервера 2” образуется поток данных, который управляется клиентским хостом. Ниже приведена схема организации передачи данных между двумя серверами FTP, соответствующая рисунку 2. Здесь использованы следующие обозначения: User PI - интерпретатор протокола пользователя; Server1(2) интерпретатор протокола сервера1 (сервера2).

    User PI (U) Ы Server1 (S1) User PI (U) Ы Server2 (S2)
    U Ю S1: Connect

    U Ь S1: 227 Entering Passive Mode.

    A1, A2, A3, A4, a1, a2

    U Ю S2 Connect

    U Ю S2: PORT A1, A2, A3, A4, a1, a2

    U Ь S2: 200 Okay
    U Ю S1: STOR ... U Ю S2: RETR ...

    S1 Ю S2: Connect ...

    Основу передачи данных FTP составляет механизм установления соединения между соответствующими портами и выбора параметров передачи. Каждый участник FTP-соединения должен поддерживать порт передачи данных по умолчанию. По умолчанию “Программа передачи данных пользователя” использует тот же порт, что и для передачи команд (обозначим его “U”), а “Программа передачи данных сервера” использует порт L-1, где “L”- управляющий порт. Однако, участниками соединения используются порты передачи данных, выбранные для них “Интерпретатором протокола пользователя”, поскольку из управляющих процессов участвующих в соединении, только “Интерпретатор протокола пользователя” может изменить порты передачи данных как у “Программы передачи данных пользователя”, так и у “Программы передачи данных сервера”.

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

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

    Как правило, сервер FTP ответственен за открытие и закрытие канала передачи данных. Сервер FTP должен самостоятельно закрыть канал передачи данных в следующих случаях:

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

    Команды протокола .

    Команды управления контролем передачи данных, которыми обмениваются “Интерпретатор протокола сервера” и “Интерпретатор протокола пользователя”, можно разделить на три большие группы:

    Команды управления доступом к системе. Команды управления потоком данных. Команды FTP-сервиса.

    Рассмотрим несколько наиболее характерных команд из каждой группы. Среди команд управления доступом к системе следует отметить следующие:

    USER. Как правило, эта команда открывает сессию FTP между клиентом и сервером. Аргументом команды является имя (идентификатор) пользователя для работы с файловой системой. Эта команда может подаваться не только в начале, но и в середине сессии, если, например, пользователь желает изменить идентификатор, от имени которого будут проводиться действия. При этом все переменные, относящиеся к старому идентификатору, освобождаются. Если во время изменения идентификатора происходит обмен данными, обмен завершается со старым идентификатором пользователя.

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

    CWD. Команда позволяет пользователям работать с различными каталогами удаленной файловой системы. Аргументом команды является строка, указывающая путь каталога удаленной файловой системы, в котором желает работать пользователь.

    REIN. Команда реинициализации. Эта команда очищает все переменные текущего пользователя, сбрасывает параметры соединения. Если в момент подачи команды происходит передача данных, передача продолжается и завершается с прежними параметрами.

    QUIT. Команда закрывает управляющий канал. Если в момент подачи команды происходит передача данных, канал закрывается после окончания передачи данных.

    Команды управления потоком устанавливают параметры передачи данных. Все параметры, описываемые этими командами имеют значение по умолчанию, поэтому команды управления потоком используются только тогда, когда необходимо изменить значение параметров передачи, используемых по умолчанию. Команды управления потоком могут подаваться в любом порядке, но все они должны предшествовать командам FTP-сервиса. Из команд управления потоком данных следует выделить следующие:

    PORT. Команда назначает адрес и порт хоста, который будет использоваться как активный участник соединения по каналу передачи данных. Аргументами команды являются 32-битный IP адрес и 16-битный номер порта соединения. Эти значения разбиты на шесть 8-битных полей и представлены в десятичном виде: h1, h2, h3, h4, p1, p2, где hN - байты адреса (от старшего к младшему), а pN - байты порта (от старшего к младшему).

    PASV. Эта команда отправляется модулю, который будет играть пассивную роль в передаче данных (“слушать” соединение). Ответом на данную команду должна быть строка, содержащая адрес и порт хоста, находящиеся в режиме ожидания соединения в формате команды PORT - “h1, h2, h3, h4, p1, p2”.

    Команды TYPE, STRU, MODE определяют, соответственно, тип передаваемых данных (ASCII, Image и другие), структуру или формат передачи данных (File, Record, Page), способ передачи (Stream, Block и другие). Использование этих команд очень важно при построении взаимодействия в гетерогенных средах и весьма отличающихся операционных и файловых систем взаимодействующих хостов.

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

    RETR. Эта команда указывает модулю “Программа передачи данных сервера” передать копию файла, заданного параметром этой команды, модулю передачи данных на другом конце соединения.

    STOR. Команда указывает модулю “Программа передачи данных сервера” принять данные по каналу передачи данных и сохранить их как файл, имя которого задано параметром этой команды. Если такой файл уже существует, он будет замещен новым, если нет, будет создан новый.

    Команды RNFR и RNTO должны следовать одна за другой. Первая команда содержит в качестве аргумента старое имя файла, вторая - новое. Последовательное применение этих команд переименовывает файл.

    ABOR. Команда предписывает серверу прервать выполнение предшествующей сервисной команды (например, передачу файла) и закрыть канал передачи данных.

    Команда DELE удаляет указанный файл.

    Команды MKD и RMD, соответственно, создают и удаляют указанный в аргументе каталог.

    При помощи команд LIST и NLST можно получить список файлов в указанном каталоге.

    Все команды FTP-протокола отправляются “Интерпретатором протокола пользователя” в текстовом виде - по одной команде в строке. Каждая строка команды - идентификатор и аргументы - заканчиваются символами . Имя команды отделяется от аргумента символом пробела - .

    Обработчик команд возвращает код обработки каждой команды, состоящий из трех цифр. Коды обработки составляют определенную иерархическую структуру и, как правило, определенная команда может возвратить только определенный набор кодов. За кодом обработки команды следует символ пробела - , затем следует текст пояснения. Например, строка успешного завершения операции выглядит следующим образом: “200 Command okay”.

    Ниже приведен пример работы с FTP-протокола. Обозначения: S - сервер, U - пользователь.

    S: 220 Service ready for new user
    U: USER Gluk
    > S: 331 User name okay, need password
    U: PASS murmur
    S: 230 User logged in, proceed
    U: RETR test.txt
    S: 150 File status okay; about to open data connection

    S: 226 Closing data connection, file transfer successful
    U: TYPE I
    S: 200 Command okay
    U: STOR /home/images/first.my
    S: 550 Access denied
    U: QUIT

    Протоколы TFTP и SFTP.

    FTP-протокол имеет двух “младших братьев”: SFTP - Simple FTP и TFTP - Trivial FTP.

    TFTP-протокол - это простейший протокол передачи файлов. Он работает поверх транспортного протокола UDP и обеспечивает выполнение только самых элементарных операций передачи файлов, а именно, записи и чтения файлов. TFTP был разработан как простой и легкий в применении протокол. Он не позволяет вызвать список каталога и не имеет никаких средств аутентификации, но может передавать 8-битную информацию в соответствии со всеми стандартами Internet.

    Поскольку передача данных осуществляется поверх UDP, протокол TFTP реализует собственные методы надежной доставки данных - пакеты подтверждения, нумерация блоков данных и пакетов подтверждения и т.п. Все очень похоже на упрощенный вариант эмуляции протокола TCP.

    TFTP работает лишь пятью командами:

    Read request (RRQ) - запрос на чтение. Write request (WRQ) - запрос на запись. Data (DATA) - пакет данных. Acknowledgment (ACK) - подтверждение. Error (ERROR) - ошибка.

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

    При открытии соединения, каждая из сторон выбирает (случайным образом) уникальный идентификатор - TID, который используется и UDP как порт соединения. Каждый пересылаемый пакет ассоциирован с двумя TID, соответствующими каждой стороне соединения. Первоначальный запрос отправляется инициатором TF TP-соединения на UDP-порт 69 (порт инициализации), в котором указывается порт соединения. Дальнейший обмен уже происходит через порты, выбранные участниками передачи данных.

    Если сервер разрешает запрос, обмен открывается, и указанный файл передается (блоками по 512 байт). Каждый пакет передаваемых данных содержит один блок (512 байт) и номер блока в передаваемом потоке. Поступление каждого блока на хост назначения должно быть подтверждено пакетом ACK (подтверждение), с номером поступившего блока. Только после получения пакета подтверждения будет отправлен следующий пакет данных.

    Если длина пакета менее 512 байт - это служит сигналом для закрытия канала связи. В случае потери пакета при передаче, через некоторый промежуток времени сервер отправит этот пакет данных повторно.

    Три типа ситуаций порождают отправку ошибочных пакетов:

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

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

    Схема TFTP-транзакции следующая:

    Хост A отправляет запрос WRQ хосту B. Порт источника - TIDA, порт назначения - 69. Пакет содержит имя файла, тип передачи. Хост B отправляет ACK (номер блока - 0) хосту A. Порт источника - TIDB, порт назначения - TIDA. Хост A отправляет (по соединению TIDA - TIDB) команду DATA и блок данных. Пакет также содержит номер блока.

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

    SFTP поддерживает механизмы идентификации пользователя, передачу файлов, просмотр каталогов, изменение текущего каталога, переименование и удаление файлов. В большинстве операций, которые пользователь проводит с удаленным FTP-сервером, этого сервиса вполне достаточно. SFTP может передавать 8-битный поток данных и использует, как TFTP, только один канал соединения - как для команд, так и для данных. В отличие от TFTP, SFTP работает поверх TCP, порт 115.

    Команды SFTP отправляются поочередно, после получения ответа обработки предшествующей команды. Все команды состоят из четырех ASCII-символов и символа пробела, который отделяет команду от аргументов. Ответ сервера состоит из кода ответа и текстового сообщения. Каждая команда и ответ должны заканчиваться символом (‘