Протоколы передачи файлов FTP и TFTP
FTP (File Transfer Protocol) - Протокол передачи файлов, разработанный в начале 70-х годов (до HTTP и стека TCP/IP). Исходно с этим протоколом пользователь работал через командную строку; в настоящее время существуют графические программы.
FTP был разработан для передачи данных между клиентом и сервером. FTP-клиент - это приложение, которое запускается на компьютере, а также отправляет и принимает данные с сервера, на котором запущена служба FTP.
Для передачи данных по FTP требуется два соединения между клиентом и сервером: одно управляющее - для команд и ответов, другое — для передачи файлов. Для установления соединения клиент (смотри рисунок) указывает используемый протокол и IP-адрес FTP-сервера. В рамках установления соединения FTP-сервер запрашивает имя пользователя и пароль; при вводе верных учетных данных пользователю предоставляется возможность получения и/или записи данных с сервера/ на сервер.
Установленное управляющее соединение с сервером состоит из команд клиента и откликов сервера. Примерами команд могут служить просмотр списка файлов или директорий, перейти в директорию, удалить файл или директорию, команда получить файл или команда положить файл на сервер, закончить работу и.т.д. Сервер на команды клиента должен дать отклики – о положительном или отрицательном результате команды. Также отклики сигнализируют о начале работы команды и ее завершении. Или, напротив, – о невозможности выполнения команды – временном или окончательном. Управляющее соединение FTP-сервера работает через 21 порт.
Для непосредственной передачи данных устанавливается соединение с сервером через 20 порт. Это подключение создаётся для каждой передачи данных. Данные могут передаваться в любом направлении. Клиент может загрузить данные с сервера или отправить данные на сервер.
Протокол FTP был популярным протоколом, но не все его функции нужны для решения простых задач; в 80-х годах был разработан TFTP (Trivial File Transfer Protocol) - Простой протокол передачи файлов. TFTP, в отличии от FTP, работает по UDP, то есть не требует установления соединения. Также он не требует аутентификации и авторизации. Для его работы требуются только IP-адреса обменивающихся устройств.
В настоящее время TFTP активно используется в оборудовании CISCO для сохранения образа операционной системы самого устройства или файлов конфигурации на удаленный TFTP-сервер.
Например, для сохранения файла на TFTP-сервер по TFTP-протоколу достаточно использовать команду операционной системы
SW1#copy flash: tftp: (указать откуда передаются данные, а потом куда; в данном примере flash: - это с flash-памяти устройства на на tftp-сервер).
Далее, соглавно системе команд надо уточнить имя копируемого файла:
Source filename []? config.text— (копируется config.text)
указывается IP-адрес, куда копировать
Address or name of remote host []? 192.168.1.4
И уточняется, под каким именем сохранить файл (по умолчанию – под исходным)
Destination filename [config.text]?.
Этого достаточно, чтобы файл по протоколу TFTP был передан с текущего устройства на TFTP-сервер, IP-адрес которого 192.168.1.4.
Telnet и SSH
Telnet (от англ. terminal network) дословно переводится как сетевой терминал и применяется для дистанционного управления подключенными устройствами через интерфейс командной строки. Данный протокол очень полезен, так как (при грамотных настройках) позволяет подключиться к устройству через сеть, не имея к нему непосредственного доступа.
Многие сетевые коммуникационные устройства (в частности устройства компании CISCO) настраиваются интерфейсом командной строки. При этом подключение на управление производится специальным консольным кабелем, или - виртуальные терминалы (образованные подключением через Ethernet-порты), в который и входит протокол Telnet. И, если консольный кабель требует нахождения специалиста рядом с настраиваемым оборудованием, то настройка при помощи виртуальных терминалов, не ограничивает нахождения специалиста рядом с оборудованием: можно находиться в другой комнате, здании, городе и все равно иметь возможность доступа к оборудованию.
Telnet использует 23 порт.
На рисунке показано подключение через Telnet (имя протокола указывается первым) к устройству (коммутатору) с адресом 192.168.0.1. Коммутатор запрашивает пароль на доступ через сеть и пароль на доступ к режиму управления. После получения паролей становится возможным управление коммутатором. На рисунке, в качестве примера, командой show version просматривается информация о устройстве: отображается версия операционной системы и параметры устройства (процессор, память, порты). Естественно, помимо просмотра подключившийся может изменить настройки коммутатора.
По Telnet возможно также подключиться к узлам сети (персональным компьютерам); для этого на компьютерах должен быть открыт 23 порт и существовать учетная запись пользователя с паролем: иначе операционная система блокирует сетевые обращения.
Минусом данного протокола является его незащищенность: все данные передает в открытом виде. Любой незашифрованный трафик можно перехватить и получить информацию о устройстве и выполненных настройках. Альтернативой ему является протокол SSH.
SSH (Secure Shell — безопасная оболочка), как и Telnet позволяет дистанционно управлять устройством. Отличие его в том, что он шифрует весь трафик и передаваемые пароли при помощи алгоритма Диффи-Хеллмана. SSH требует предварительной настройки генерации ключей. SSH для подключения использует 22 порт.