Шрифт:
14.6.5 Дополнительные команды
Последний набор команд (таблица 14.5) выводит конечному пользователю полезную информацию.
Таблица 14.5 Дополнительные информационные команды
Команда | Определение | Параметр(ы) |
---|---|---|
HELP | Вывод сведений о реализованных на сервере возможностях | Нет |
NOOP | Запрос от сервера ответа OK | Нет |
SITE | Используется для специфичных серверных подкоманд, которые не стандартизованы, но могут быть доступны на данном сервере | Нет |
SYST | Запрос к серверу о типе его операционной системы | Нет |
STAT | Запрос информации о параметрах и состоянии соединения | Нет |
14.6.6 Команды сайта
Многие файловые серверы Unix используют программное обеспечение WU-FTP от Вашингтонского университета (Сент-Луис). Эта реализация имеет команду SITE для выполнения на файловом сервере различных специальных программ. Например, пользователь может сначала получить доступ по идентификатору ftp, а затем указать в команде SITE регистрационный идентификатор группы и пароль. В этом случае обеспечивается доступ к большему числу файлов, чем при анонимном доступе.
14.6.7 Восстановления после ошибок и перезапуск
Многим организациям необходимо пересылать очень большие файлы. Предположим, что во время пересылки такого файла произошла ошибка. Возникшие проблемы должна помочь решить служба перезапуска FTP. Она не является обязательной и, к сожалению, на момент написания книги такую службу обеспечивали только немногие продукты TCP/IP. Однако будем оптимистами и рассмотрим возможности службы перезапуска.
В блочном режиме работы FTP и при реализации службы перезапуска пересылающая информацию сторона может передавать блоки, содержащие в нужных местах общего потока данных маркеры перезапуска. Каждый маркер представляет собой распечатываемую строку текста. Например, последовательные маркеры могли бы быть: 1, 2, 3 и т.д. Всякий раз, когда приемник получает маркер, он записывает принятые данные на энергонезависимое устройство хранения и отслеживает положение маркера в общем потоке данных.
Если информацию принимает клиент, о получении каждого маркера будет информироваться конечный пользователь (как только данные были сохранены в локальной системе). Если данные получает удаленный сервер, пользователю по управляющему соединению будет возращено сообщение, указывающее, что данные до маркера были успешно сохранены на сервере.
При отказе системы пользователь может возобновить выполнение команды, указав значение маркера как аргумент команды. Эта операция должна быть инициирована сразу после команды, во время выполнения которой произошел крах системы.
14.6.8 Коды ответов
Каждой команде в диалоге соответствует ответ, состоящий из кода ответа и сообщения. Например:
Коды ответов состоят из трех цифр, каждая из которых имеет определенное назначение:
■ Коды от 200 до 300 указывают на успешное выполнение команды.
■ Коды от 100 до 200 указывают на начало выполнения операции.
■ Коды от 300 до 400 указывают на успешное достижение промежуточной точки.
■ Коды от 400 до 500 сигнализируют о временной ошибке.
■ Коды от 500 свидетельствуют о постоянной ошибке (это плохие новости).
Вторая и третья цифры кодов более точно специфицируют ответ.
14.7 Безопасность
14.7.1 Проверка имен хоста клиента
Иногда пользователи сталкиваются с невозможностью анонимного доступа к файловому архиву. Если это происходит не часто, то обычно является следствием загруженности сервера. Однако если доступ невозможен постоянно, значит есть проблемы с именем домена.
Некоторые файловые серверы запрещают доступ клиентам, которые не перечислены в базе данных DNS. Сервер FTP может выполнять обратный поиск для всех входных IP-адресов. Если такого адреса нет в базе данных DNS — доступ блокируется. Единственным решением такой проблемы может быть обращение к администратору DNS для включения имени системы в базу данных. Некоторые серверы производят двойную проверку — транслируют адрес клиента в имя, а затем полученное имя опять в адрес для сравнения его с исходным адресом запроса. Благодаря этому исключаются обращения с подстановочными символами для элементов DNS.
14.7.2 PASV или PORT?
Организации обеспечивают безопасность своих сетей через средства защиты (firewall), применяющие к датаграммам определенный критерий фильтрации и ограничивающие входящий трафик. Часто простейшие средства защиты разрешают пользователям локальной сети инициировать соединение, но блокируют все попытки создания соединения извне.
Исходная спецификация FTP определяет команду PORT как средство по умолчанию для установки соединения данных. В результате многие реализации основывают установку соединения только на этой команде. Однако команда PORT требует открытия соединения от внешнего файлового сервера к клиенту, что обычно блокируется средством защиты локальной сети.