TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security)
Шрифт:
14.7.1 Проверка имен хоста клиента
Иногда пользователи сталкиваются с невозможностью анонимного доступа к файловому архиву. Если это происходит не часто, то обычно является следствием загруженности сервера. Однако если доступ невозможен постоянно, значит есть проблемы с именем домена.
Некоторые файловые серверы запрещают доступ клиентам, которые не перечислены в базе данных DNS. Сервер FTP может выполнять обратный поиск для всех входных IP-адресов. Если такого адреса нет в базе данных DNS — доступ блокируется. Единственным решением такой проблемы может быть обращение к администратору DNS
14.7.2 PASV или PORT?
Организации обеспечивают безопасность своих сетей через средства защиты (firewall), применяющие к датаграммам определенный критерий фильтрации и ограничивающие входящий трафик. Часто простейшие средства защиты разрешают пользователям локальной сети инициировать соединение, но блокируют все попытки создания соединения извне.
Исходная спецификация FTP определяет команду PORT как средство по умолчанию для установки соединения данных. В результате многие реализации основывают установку соединения только на этой команде. Однако команда PORT требует открытия соединения от внешнего файлового сервера к клиенту, что обычно блокируется средством защиты локальной сети.
К счастью, новые реализации поддерживают команду PASV, указывающую серверу на выделение нового порта для соединения данных с пересылкой IP-адреса и номера порта сервера в ответе клиенту. Далее клиент может самостоятельно открыть соединение с сервером.
14.7.3 Промежуточные прокси
Некоторые организации создают более изощренные системы безопасности. Каждый запрос реально пересылается на промежуточный прокси, реализующий систему зашиты локальной сети. Прокси становится единственной системой, которая будет видна из внешнего мира. Для работы через прокси клиент предоставляет:
■ Имя или IP-адрес прокси
■ Идентификатор пользователя и пароль для получения доступа к прокси
■ Номер порта для доступа к прокси пользователям пересылки файлов (необязательно порт 21)
■ Дополнительную информацию, зависящую от конкретной реализации данного прокси-агента
На рис. 14.5 показан конфигурационный экран клиентского средства защиты. После ввода данных пользователь сможет работать с приложениями обычным образом. Промежуточные процессы не видны конечному пользователю (хотя это и зависит от типа прокси). Некоторые средства защиты требуют от локальных пользователей ввода идентификатора и пароля при доступе через средство защиты до того, как начнется реальная пересылка транзакций.
Рис. 14.5. Конфигурирование клиента для работы через средство защиты
14.8 Замечания о производительности
На эффективность операций пересылки файлов влияют следующие факторы:
■ Файловая система хоста и производительность его дисков
■ Объем обработки по переформатированию данных
■ Используемая служба TCP
Краткий отчет о пропускной способности приводится в конце каждой пересылки файла:
Средние значения производительности FTP и TCP можно получить при пересылке больших файлов.
14.9 Trivial File Transfer Protocol
Некоторым приложениям копирования файлов требуются очень простые реализации, например для начальной загрузки программного обеспечения и конфигурационных файлов в маршрутизаторы, концентраторы или бездисковые рабочие станции.
Простейший протокол пересылки файлов (Trivial File Transfer Protocol — TFTP) используется как очень полезное средство копирования файлов между компьютерами. TFTP передает данные в датаграммах UDP (при реализации в другом стеке протоколов TFTP должен запускаться поверх службы пакетной доставки данных). Для этого не потребуется слишком сложное программное обеспечение — достаточно только IP и UDP. Особенно полезен TFTP для инициализации сетевых устройств (маршрутизаторов, мостов или концентраторов).
Характеристики TFTP:
■ Пересылка блоков данных размером в 512 октетов (за исключением последнего блока)
■ Указание для каждого блока простого 4-октетного заголовка
■ Нумерация блоков от 1
■ Поддержка пересылки двоичных и ASCII октетов
■ Возможность чтения и записи удаленных файлов
■ Отсутствие ограничений по аутентификации пользователей
Один из партнеров по TFTP пересылает нумерованные блоки данных одинакового размера, другой партнер подтверждает их прибытие сигналом ACK. Отправитель ожидает ACK для посланного блока до того, как пошлет следующий блок. Если за время тайм-аута не поступит ACK, выполняется повторная отправка того же самого блока. Аналогично, если к получателю не поступят данные за время тайм-аута, он отправляет еще один ACK.
14.9.1 Протокол TFTP
Сеанс TFTP начинается запросами Read Request (запрос чтения) или Write Request (запрос записи). Клиент TFTP начинает работу после получения порта, посылая Read Request или Write Request на порт 69 сервера. Сервер должен идентифицировать различные номера портов клиентов и использовать их для последующей пересылки файлов. Он направляет свои сообщения на порт клиента. Пересылка данных производится как обмен блоками данных и сообщениями ACK.
Каждый блок (за исключением последнего) должен иметь размер в 512 октетов данных и завершаться EOF (конец файла). Если длина файла кратна 512, то заключительный блок содержит только заголовок и не имеет никаких данных. Блоки данных нумеруются от единицы. Каждый ACK содержит номер блока данных, получение которого он подтверждает.
14.9.2 Элементы данных протокола TFTP
В TFTP существуют пять типов элементов данных:
■ Read Request (RRQ, запрос чтения)