FTP (File Transfer Protocol, или “Протокол передачи данных”) - один из старейших протоколов в Интернет и входит в его стандарты. Первые спецификации FTP относятся к 1971 году. С тех пор FTP претерпел множество модификаций и значительно расширил свои возможности. FTP может использоваться как в программах пользователей, так и в виде специальной утилиты операционной системы.
FTP предназначен для решения задач разделения доступа к файлам на удаленных хостах, прямого или косвенного использования ресурсов удаленных компьютеров, обеспечения независимости клиента от файловых систем удаленных хостов, эффективной и надежной передачи данных.
Обмен данными в FTP происходит по TCP-каналу. Обмен построен на технологии “клиент-сервер”. FTP не может использоваться для передачи конфиденциальных данных, поскольку не обеспечивает защиты передаваемой информации и передает между сервером и клиентом открытый текст. FTP-сервер может потребовать от FTP-клиента аутентификации (т.е. при присоединении к серверу FTP-пользователь должен будет ввести свой идентификатор и пароль). Однако пароль, и идентификатор пользователя будут переданы от клиента на сервер открытым текстом.
FTP (File Transfer Protocol) представляет собой протокол передачи данных, с помощью которого можно пересылать двоичные и текстовые файлы между компьютерами. В большинстве случаев для обмена данными по протоколу FTP необходимо иметь соответствующие права доступа. Однако имеются так называемые анонимные FTP-серверы, предоставляющие доступ каждому пользователю, например, для загрузки бесплатного программного обеспечения или получения информационных документов. К примеру, на FTP-серверы фирмы Microsoft вы найдете описание ошибок или дополнительную информацию о продуктах этой фирмы.
Алгоритм работы протокола FTP состоит в следующем:
1. Сервер FTP использует в качестве управляющего соединение на TCP порт 21, который всегда находится в состоянии ожидания соединения со стороны пользователя FTP.
2. После того как устанавливается управляющее соединение модуля “Интерпретатор протокола пользователя” с модулем сервера — “Интерпретатор протокола сервера”, пользователь (клиент) может отправлять на сервер команды. FTP-команды определяют параметры соединения передачи данных: роль участников соединения (активный или пассивный), порт соединения (как для модуля “Программа передачи данных пользователя”, так и для модуля “Программа передачи данных сервера”), тип передачи, тип передаваемых данных, структуру данных и управляющие директивы, обозначающие действия, которые пользователь хочет совершить (например, сохранить, считать, добавить или удалить данные или файл и другие).
3. После того как согласованы все параметры канала передачи данных, один из участников соединения, который является пассивным (например, “Программа передачи данных пользователя”), становится в режим ожидания открытия соединения на заданный для передачи данных порт. После этого активный модуль (например, “Программа передачи данных сервера”) открывает соединение и начинает передачу данных.
4. После окончания передачи данных, соединение между “Программой передачи данных сервера” и “Программой передачи данных пользователя” закрывается, но управляющее соединение “Интерпретатора протокола сервера” и “Интерпретатора протокола пользователя” остается открытым. Пользователь, не закрывая сессии FTP, может еще раз открыть канал передачи данных.
Чтобы создать FTP-соединение, выполните следующие действия:
§ Выполните команду telnet.
§ В открывшемся окне введите команду open с адресом необходимого FTP-сервера. Например, чтобы установить связь с сервером Microsoft, введите следующую команду: open ftp.microsoft.com
§ Как только связь установлена, в большинстве случаев необходимо ввести имя пользователя и пароль. Некоторые FTP-серверы предоставляют возможность анонимного доступа. Для этого введите имя пользователя anonymous, а в качестве пароля – свой адрес электронной почты, например my@mail.ru.
§ После установления связи с FTP-сервером можно просматривать список файлов и копировать файлы на свой компьютер.
Команды для работы на FTP-сервере:
ls – Позволяет отобразить список файлов. По команде ls –l (маленькая буква «L») отображается подробный список.
cd – позволяет перейти в требуемый подкаталог.
binary – Позволяет включить двоичный режим, необходимый для передачи двоичных данных. Таким образом, перед тем как копировать двоичные файлы следует с помощью команды binary активизировать двоичный режим. По умолчанию включен режим ASCII. ascii – Позволяет активизировать текстовый режим.
get – Позволяет скопировать заданный файл на свой компьютер.
disconnect – Позволяет завершить сеанс связи с FTP-сервером без завершения работы программы. quit – Позволяет завершить сеанс связи с FTP-сервером с завершением работы программы.
С полным списком команд программы FTP можно познакомиться в справочной системе Windows.
3.2.5. Команда ARP
Для определения локального адреса по IP-адресу используется протокол разрешения адреса Address Resolution Protocol, ARP. Протокол ARP работает различным образом в зависимости от того, какой протокол канального уровня работает в данной сети - протокол локальной сети (Ethernet, Token Ring, FDDI) с возможностью широковещательного доступа одновременно ко всем узлам сети, или же протокол глобальной сети (X.25, Frame relay), как правило не поддерживающий широковещательный доступ. Существует также протокол, решающий обратную задачу - нахождение IP-адреса по известному локальному адресу. Он называется реверсивный ARP - RARP (Reverse Address Resolution Protocol) и используется при старте бездисковых станций, не знающих в начальный момент своего IP-адреса, но знающих адрес своего сетевого адаптера.
В локальных сетях протокол ARP использует широковещательные кадры протокола канального уровня для поиска в сети узла с заданным IP-адресом.
Узел, которому нужно выполнить отображение IP-адреса на локальный адрес, формирует ARP запрос, вкладывает его в кадр протокола канального уровня, указывая в нем известный IP-адрес, и рассылает запрос широковещательно. Все узлы локальной сети получают ARP запрос и сравнивают указанный там IP-адрес с собственным. В случае их совпадения узел формирует ARP-ответ, в котором указывает свой IP-адрес и свой локальный адрес и отправляет его уже направленно, так как в ARP запросе отправитель указывает свой локальный адрес. ARP-запросы и ответы используют один и тот же формат пакета. Так как локальные адреса могут в различных типах сетей иметь различную длину, то формат пакета протокола ARP зависит от типа сети. На рисунке 3.2 показан формат пакета протокола ARP для передачи по сети Ethernet.
В поле типа сети для сетей Ethernet указывается значение 1. Поле типа протокола позволяет использовать пакеты ARP не только для протокола IP, но и для других сетевых протоколов. Для IP значение этого поля равно 080016.
Длина локального адреса для протокола Ethernet равна 6 байтам, а длина IP-адреса - 4 байтам. В поле операции для ARP запросов указывается значение 1 для протокола ARP и 2 для протокола RARP.
Узел, отправляющий ARPP-запрос, заполняет в пакете все поля, кроме поля искомого локального адреса (для RARP-запроса не указывается искомый IP-адрес). Значение этого поля заполняется узлом, опознавшим свой IP-адрес.
Отображение и изменение используемой протоколом ARP таблицы соответствия адресов IP и физических адресов.
Формат команды:
ARP -s inet_addr eth_addr [if_addr]
ARP -d inet_addr [if_addr]
ARP -a [inet_addr] [-N if_addr]
-а Вывод текущих записей таблицы ARP путем опроса текущих данных протокола. Если указан адрес inet_addr, то адреса IP и физические выводятся только для указанного компьютера. Если протокол ARP используется несколькими сетевыми интерфейсами, то выводятся записи из каждой таблицы .
-s Добавление узла и связывание адреса IP inet_addr с физическим адресом eth_addr. Физический адрес задается с помощью 6 шестнадцатеричных чисел, разделяемых дефисами. Запись является постоянной. eth_addr Задание физического адреса.
if_addr Необязательный параметр, указывающий адреса IP интерфейса, для которого следует изменить таблицу адресов. Если параметр не задан, используется первый доступный интерфейс.