Содержание
-
Информационные сетиинфокоммуникационные системыи сети
16. Газизов Тимур Тальгатович, к.т.н., доцент кафедры информатики ТГПУ
-
Введение
Протокол передачи файлов (FileTransferProtocol – FTP) – это стандартный механизм для копирования файла от одного хоста другим. Передача файлов от одного компьютера к другому – это одна из большого числа общих задач, выполнение которой ожидается от организованной сети и взаимодействия между сетями. Хотя передача файлов от одной системы к другой кажется простой и прямолинейной задачей, вначале должны быть решены некоторые проблемы. Например, две системы могут использовать различные соглашения об именах файлов. Две системы могут иметь различные пути для представления текстов и данных. Две системы могут иметь различные структуры директорий. Все эти проблемы решает FTP очень простым и элегантным методом. FTP отличается от других приложений типа клиент-сервер тем, что он устанавливает два соединения между хостами. Одно соединение применяется для передачи данных, другое — для управления информацией (команды и отклики). Разделение команд и передачи управляющих данных делает FTP более эффективным. Управление соединением использует очень простые правила для связи. Нам нужна для передачи только линия команд или линия откликов. С другой стороны, соединение для данных нуждается в более сложных правилах из-за разнообразия типов данных.принципы и структуру базового протокола HTTP.
-
Принцип работы FTP
Два FTP-соединения – для передачи команд управления и передачи данных — используют различные стратегии и различные номера портов
-
передача команд управления
Соединение для передачи команд управления создается тем же самым методом, что и другие соединения, рассмотренные далее. Имеется два шага: сервер пассивно открывается, подключается к заданному порту и ждет клиента; клиент использует временный порт, и сессия активно открывается.
-
Передача команд управляения
-
Соединение для передачи данных
Соединение для передачи данных использует заданный порт 20. Однако создание соединения для передачи данных отличается от предыдущего. FTP создает соединение для передачи данных следующим образом: Клиент (не сервер) вызывает пассивное открытие кратковременного порта. Это может быть сделано клиентом, потому что клиент вызывает команды для передачи файлов. Клиент посылает номер этого порта серверу, используя команду PORT (ниже эта команда будет рассмотрена). Сервер получает номер порта, вызывает активное открытие заданного порта 20 и получает номер временного порта.
-
-
Команды
Команды, которые посылаются от FTP-процесса управления клиента в форме заглавных букв ASCII, могут сопровождаться или не сопровождаться аргументом. Мы можем грубо разделить команды на шесть групп: команды доступа, команды управления файлами, команды форматирования данных, команды определения порта, команды передачи файла и прочие команды
-
Отклики
Каждая FTP-команда вызывает по крайней мере один отклик. Отклик имеет две части: номер из трех цифр, следующий за текстом. Числовая часть определяет код; текстовая часть определяет необходимые параметры или дополнительные пояснения. В дальнейшем представим три цифры как xyz
-
Первая цифра
Первая цифра определяет состояние команды. В этой позиции может быть использована одна из пяти цифр: 1yz (положительный предварительный ответ). Действие началось. Сервер будет посылать другие отклики перед принятием другой команды. 2yz (положительный отклик завершения). Действие завершено. Сервер будет принимать другую команду. 3yz (положительный промежуточный отклик). Команда принята, но нужна дальнейшая информация. 4yz (отклик отрицательного переходного завершения). Действие не произошло, но ошибка временная. Та же самая команда будет послана позднее. 5yz (отклик отрицательного постоянного завершения). Команда не принята и должна быть повторена позже.
-
Вторая цифра
Вторая цифра также определяет состояние команды. В этой позиции может быть использована одна из шести цифр: x0z (синтаксис); x1z (информация); x2z (подключение); x3z (идентификация и учет); x4z (не определено); x5z (система файлов). Третья цифра обеспечивает дополнительную информацию
-
Пример
120 Сервис будет вскоре готов 125 Соединение данных открыто: передача данных вскоре начнется 150 Состояние файла хорошее (OK). Соединение будет вскоре открыто
-
пример использования FTP для извлечения списка элементов в директории
-
пример
После того как соединение управления к порту 21 создано, FTP-сервер посылает отклик на установление соединения управления 220 (Готов к обслуживанию). Клиент посылает команду USER. Сервер отвечает 331 (Пользовательское имя OK, требуется пароль). Клиент посылает команду PASS. Сервер откликается 230 (Регистрация пользователя OK). Клиент запускает пассивное открытие кратковременного порта для соединения данных и посылает команду PORT (через соединение управления), чтобы предоставить номер порта серверу. Сервер к этому времени не открывает соединение, но готовится для открытия соединения данных между портом 20 (на стороне сервера) и кратковременным портом, полученным от клиента. Он посылает отклик 150 (Соединение данных будет вскоре открыто). Клиент посылает сообщение LIST. Теперь сервер откликается 125 и открывает соединение данных. Сервер посылает список файлов или директорий (как файлы) по соединению данных. Когда послан полный список (файл), сервер посылает отклик 226 (Закрытие соединения) через соединение управления. Клиент теперь имеет две возможности. Он может использовать команду QUIT, чтобы запросить управление закрытием, или может послать другую команду, чтобы начать другое действие (в конечном счете, открыть другое соединение передачи данных). В нашем примере клиент посылает команду QUIT.
Нет комментариев для данной презентации
Помогите другим пользователям — будьте первым, кто поделится своим мнением об этой презентации.