ftp> mls
(remote-files) имя 1файла удаленной машины...printfile
local-file printfile?y

mput Эта команда копирует один или более файлов с вашей машины
в удаленную машину, с которой вы связаны в данный момент.
На удаленной машине файлы будут иметь теже имена.
Вы можете задать список фалов при вызове команды,например:

ftp> mput 1файл вашей машины 2файл вашей машины...

Если вы не указали имена, программа ftp вас об этом
запросит:

ftp> mput
(local-files) имя 1файла вашей машины имя 2файла...

nmap Используйте эту команду для установки и отмены механизма
преобразования имен файлов. Эта команда полезна при связи
с UNIX несовместимыми машинами и в которых используется
другой способ именования файлов. Переименовывание файлов
локальной машины производится с помощью get и mget команд,
а удаленной машины с помощью put и mput команд. Команда
mput комплексная. Для более детальной информации по этой
команде смотри описание по ftp(TC).

ntrans Используйте эту команду для включения и выключения
механизма трансляции символов имени файла. Эта команда
полезна при связи с UNIX несовместимой удаленной машиной,
где применяется другой способ именования файлов.
Трансляция имен файлов локальной машины производится с
помощью get и mget команд, а удаленной машины с помощью
put и mput команд. Команда mtrans комплексная. Для более
детальной информации по этой команде смотри описание в
в руководстве по ftp(TC).

5-14 Инструкция по настройке

open Эта команда устанавливает связь с удаленной машиной,
которая предполагается для передачи файлов. При вызове
команды вы можете указать имя машины, например:

ftp> open admin

Если имя не указано, программа запросит его:

ftp> open
(to) имя машины
Если вы указали имя машины при вызове команды, вы можете
также указать номер порта на удаленной машине. Если указан
порт, то ftp откроет связь через этот порт, если он
предпочтительнее того, что задается по умолчанию.
Изменения порта делаются в том случае, если вас об этом
поросят или это задается системным администратором. Если
порт не задан, то программа его не запрашивает.

prompt Эта команда предотвращает ваш запрос к ftp о разрешении на
переход между файлами в многофайловых командах, таких как
mget. Эта команда подключается и отключается при повторном
наборе.

put Эта команда перемещает файл из вашей машины в удаленную
машину, к которой вы в данный момент подключены.(Для
передачи нескольких файлов одновременно используйте
команду mput). Вы можете задать имя файла вашей машины и
имя файла удаленной машины при вызове команды ftp,пример:

ftp> put имя вашего файла имя файла удаленной машины

или

ftp> put имя вашего файла

5-15 Инструкция по настройке

Если вы не указали имя файлов(а), то программа вас о них
запросит, напрмер:

ftp> put
(local-file) имя вашего файла
(remote-file) имя файла удаленной машины

Если вы не укажете имя файла удаленной машины, то команда
put создаст файл на удаленной машине под тем же именем,
что и на вашей машине.

pwd Эта команда вынуждает ftp печатать имя текущего рабочего
директория на удаленной машине, с которой вы связаны в
данный момент.

quit Команда аналогична команде bye, о которой говорилось выше.

quote Команда заставляет ftp посылать параметры, которые вы
вводите в машину, посылать к удаленной машине для
выполнения. Параметры это ftp команды и другие параметры.
Те команды, что ftp поддерживает, могут быть отображены на
экране с помощью команды remotehelp. Вы можете ввести эту
команду при вызове программы ftp, например:

ftp> quote NLST

Если вы указали только имя команды, ftp спросит вас о
командной строке, которую нужно использовать, например:

ftp> quote
(command-line to send) NLST

Эту команду следует использовать только по совету вашего
системного администратора.

recv Эта команда аналогична команде get, описанной выше.

remotehelp Эта команда запрашивает помощь ftp на удаленной машине, с
которой вы связаны в данный момент. Эта информация
сообщает о том какие команды поддерживает удаленная
машина.

rename Эта команда переиновывает файл на удаленной машине, с
которой вы связаны в текущий момент.

5-16 Инструкция по настройке

При вызове команды вы можете использовать имена файлов,
напрмер:

ftp> rename имя 1файла имя 2файла

Если вы использовали только имя команды при вызове
программы, то машина запросит имена файлов:

ftp> rename
(from-name) имя 1файла
(to-name) имя 2файла

mdir Эта команда удаляет директорий на удаленной машине, с
которой вы связаны в данный момент. Вы можете задать имя
директория, который следует удалить, при вызове команды,
например:

ftp> rmdir /u/mydir

или вы можете не задавать имя при вызове команды, и машина
запросит вас о нем:

ftp> rmdir
(directory-name) /u/mydir

Эта команда не всегда поддерживается.

send Эта команда аналогична команде put, описанной выше.

sendport Эта команда заставляет ftp запрещать возможность задания
порта локальной машины для данных удаленной машины. Эта
команда может подключаться и отключаться ее повторным
набором. При вызове ftp по умолчанию задается определенный
порт. Эту команду следует использовать по совету вашего
системного администратора.

status Это команда заставляет ftp изображать свой текущий статус
на вашем терминале. Статус включает режимы, которые
выбраны командами bell,form,hash,glob,port,type.

5-17 Инструкция по настройке

type Эта команда устанавливает в каком виде передается файл.
Допустимы коды ASCII и двоичный. Эта команда аналогична
командам ascii и binary. Если вы не указали тип при вызове
команды, то устанавливается ASCII.

trace Эта команда заставляет ftp разрешать пакетную трассировку.
Эта команда включается и отключается ее повторным набором.
Эту команду следует использовать только по совету вашего
системного администратора.

user Эта команда позволяет вам идентифицировать самого себя на
удаленной машине при установлении связи. Эта авторегистра-
ция разрешена с опцией -n при вызове ftp. В этом случае
данная команда не нужна.(Смотри раздел "Использование
файла .netrc для автоматической регистрации" ранее в этой
главе). Если автоматическая регистрация запрещена, то
используйте эту команду для собственной регистрации и
идентификации на удаленной машине.
Удаленной машине нужно сообщить три вида информации кто
вы: регистрационное имя, пароль и имя ресурса.
Имя пользователя требуется для всех машин, пароль и имя
ресурса требуются только для некоторых систем. Ваш
системный администратор должен сказать что требуется для
ваших машин. Он же должен подсказать вам правильное имя,
пароль и имя ресурса, который вы хотите использовать. Вы
можете ввести всю эту информацию при вызове команды user,
например:

ftp> user mike cat myaccount

Вы можете не указывать всю эту информацию при вызове
команды. Тогда программа вас о ней запросит, например:

5-18 Инструкция по настройке

ftp> user
(usename) mike(имя пользователя)
password:
Account: myaccount(имя ресурса)

Заметьте, что эхо не отражает ваш пароль при его наборе
для защиты вашей информации. Если вы не набрали пароль или
имя ресурса, то запроса о них не будет.

verbose Эта команда заставляет ftp запрещать многословный режим.
Эта команда включается и выключается при повторном наборе.
В многословном режиме ftp протокольные сообщения,
посланные удаленной машиной появляются на вашем терминале.
Кроме того, в этом режиме отображается статистика после
передачи каждого файла. Если этот режим запрещен, то
данная информация не изображается.

? Другое название команды help.

Примеры работы ftp.
-------------------
Этот раздел иллюстрирует как можно использовать ftp. Ниже даны три
примера. Вэтих примерах используются три машины, локальная машина с
именем HERE и удаленная машина с именем THERE.

Описание 1 примера.
-------------------
Этот пример показывает использование ftp для посылки и приема
файлов. Команда ftp вызывается с именем главной машины и происходит
автоматическая регистрация пользователя на другой машине, т.к. не
используется опция -n.

Многословный режим запрещен использованием команды verbose.
Пользователь затем изменяет рабочий директорий на удаленной машине
на /etc директорий. Т.к. нет опции -d и есть команда verbose,
многословный режим запрещен и никаких сообщений, кроме промпта ftp,
не появляется.

Пользователь, используя команду ls, получает абревиатурный листинг
директория /etc машины THERE. команда ftp выдает три файла в
каталоге /etc. Команда get passwd затем копирует файл passwd с
машины THERE в машину HERE. Файл по имени passwd создается в машине
HERE, если было указано имя машины.

5-19 Инструкция по настройке

Команда put используется, чтобы скопировать файл по имени wall из
текущего рабочего директория локальной машины(HERE) в директорий
удаленной машины (THERE) /etc. Этот файл копируется стем же именем,
т.к. свое имя не было указано. После окончания передачи, появляется
листинг /etc, в котором уже четыре файла, включая wall, который был
только что скопирован с машины HERE.

Затем используется команда bye, чтобы вернуться в оболочку
операционной системы на локальной машине HERE.

+------------------------------------------------------------------+
| $ ftp THERE |
| Connected to THERE |
| 220 THERE FTP server (Version 4.160 #1) ready |
| Name (THERE:stevea): |
| Password (THERE:stevea): |
| 331 Password required for stevea. |
| 230 User stevea logged in. |
| ftp> verbose |
| Verbose mode off. |
| ftp> cd /etc |
| ftp> ls |
| passwd |
| volcopy |
| whodo |
| ftp> get paswd |
| ftp>put wall |
| ftp> ls |
| passwd |
| volcopy |
| wall |
| whodo |
| ftp> bye |
| $ |
+------------------------------------------------------------------+

Описание 2 примера.
-------------------
Этот пример иллюстрирует экранные изображения, которые можно
получить, используя несколько опций ftp. После вызова ftp c именем
удаленной главной машины, пользователь вызывает команду, которая
позволит вернуть режим отладки. После этого команда ftp выдает
сообщения на экран, что свидетельствует о разрешении данной опции.
Пользователь затем заменяет рабочий директорий на удаленной машине на
/etc. Т.к. присутствуют отладочный и многословный режимы, на экране
будут появляться сообщения о посылке команд к удаленной машине
(--> CWD/etc) и ответы, полученные с удаленной машины (250 CWD
command successful - команда прошла успешно). Заметьте, что cd
команда, которая имеет такуюже форму, как команда изменения
директория в UNIX, посылается в виде CDW команды (изменение рабочего
директория на удаленной машине). Эта команда применяется ftp вместо
cd, чтобы она работала независимо от системной команды.

5-20 Инструкция по настройке

Следом за cd командой пользователь ставит pwd команду, чтобы
подтвердить изменение рабочего директория. Команды ftp будут
изображать на вашем экране сообщения, посылаемые между вашей
(локальной) и удаленной машиной, а затем появится текущий рабочий
директорий на удаленной машине. Затем пользователь набирает hash
опцию, на что появляется сообщение, что данная опция разрешена.
Команда get wall myfile приказывает ftp восстановить файл wall и
поместить его в файл myfile в текущем рабочем директории на вашей
машине. Команда ftp выдаст сообщения, посылаемые между локальной и
удаленной машинами о начале передачи и затем печатает hash метку для
каждого блока, полученной информации. После завершения передачи на
экране появляется статистика, в которой время, потребовавшееся для
передачи, и дата передачи файла.
После получения файла пользователь закрывает связь командой close и
выходит из ftp командой bye.

+------------------------------------------------------------------+
| $ ftp THERE |
| Connected to THERE |
| 220 THERE FTP server (Version 4.160 #1) ready |
| Name (THERE:stevea): |
| Password (THERE:stevea): |
| 331 Password required for stevea. |
| ftp> debug |
| Debugging on (debug = 1) |
| ftp> cd /etc |
| ---> CDW /etc |
| 200 CDW command okay. |
| ftp> pwd |
| ---> PWD |
| 251 |
| ftp> hash |
| Hash mark printing on (1024 bytes/hash mark). |
| ftp> get wall mefile |
| ---> PORT 3,20,0,2,4,51 |
| 200 PORT command okay. |
| ---> RETR wall |
| 150 Opening data connection for wall (3.20.0.2.1075)(24384bytes)|
| #######################. |
| 226 Transfer complete. |
| 24550 bytes received in 12.00 seconds (2 Kbytes/s) |
| ftp> close |
| ---> QUIT |
| 221 Goodbye. |
| ftp> bye |
| $ |
+------------------------------------------------------------------+

5-21 Инструкция по настройке

КОМАНДА rcp.
____________________________________________________________________

Другая команда,позволяющяя вам копировать файлы между двумя UNIX
совместимыми машинами в глобальной сети - это rcp. Эта команда
аналогична ftp, но имеет синтаксис более похожий на команду UNIX cp.
Эту команду можно использовать только с машинами, имеющими
операционную систему UNIX или совмкстимую с UNIX.

Вызов rcp.
----------
Программа rcp вызывается из оболочки UNIX. Вы должны указать имя
файла для копирования и куда его нужно скопировать. Заметьте, что rcp
аналогична cp. Вы можете использовать эту программу для копирования
файла из своей машины в удаленную или наоборот. Следующий пример
показывает как файл по имени remotefile c машины admit был скопирован
в файл localfile на вашей машине(локальной машине).
Как показано имена файлов соответствуют условностям UNIX. Имена
файлов могут иметь одну из трех форм, где имя файла означает файл или
директорий. Эти формы следующие:

- user@machine:filename

- machine:filename

- filename

где:

machine имя машины, которая содержит или будет содержать
файл. Если имя файла не пределено, то ваша
локальная машина присваивает его себе.

user имя пользователя той машины, которую вы указали.
Если вы не указали имя пользователя, используется
ваше имя на вашей машине. В любом случае вы должны
иметь разрешение для вас на машине, на которой
расположен нужный вам файл. Администратор удаленной
машины может как конфигурирована удаленная машина.

5-22 Инструкция по настройке


filename это стандартное имя в UNIX, которое может включать
путь в директории. Если имя файла, которое вы
указали не начинается со (/), тогда файл помещается
или имеется в домашнем директории пользователя. Имя
файла может быть универсальным, но эти имена должны
быть заключены в кавычки, чтобы предотвратить их
расширение операционной системой на вашей локальной
машине.

Если вы указали только имя директория, доступного rcp командам, то
файл(ы), который(е) вы указали для копирования, то файл(ы) копируется
в этот директорий с тем же именем.

Опции rcp.
----------
При вызове команды вы можете указать следующие опции:

-r Эта опция разрешает копирование директорий. Если вы
задали файл для копирования и это директорий и
поставили опцию -r, то скопируется все дерево.
Когда задается эта опция, то назначение команды rcp
это копирование директория. Если вы не указали эту
опцию и хотите скопировать директорий, то в ответ
появится сообщение об ошибке.

-p Эта опция позволяет предохранить от изменения
режима и размеров файла-источника в копиях,
игнорируя umask. Когда вы указываете опцию -p, то
файл дублируется. Если опции нет, то используется
umask.

5-23 Инструкция по настройке

Примеры.
--------
В следующих примерах используются две удаленные машины сети по имени
THERE-C и THERE-C1.

Первый пример показывает копирование файла по имени list из текущего
директория пользователя в домашний директорий пользователя на машине
THERE-C:

$ rcp list THERE-C:list

Во втором примере копируется директорий c иерархией /net/src на
локальной машине в дерево корневого каталога src в домашнем
директории на THERE-C:

$ rcp -r /net/src THERE-C:src

В третьем примере показано как пользователь копирует файл list из
домашнего директория пользователя по имени mike на THERE-C в
директорий /usr/tmp на THERE-C1. Копия на THERE-C1 принадлежит
пользователю по имени deb.

$ rcp mike@THERE-C:list deb@THERE-C1:/usr/tmp



ГЛАВА 6.


ПРОТОКОЛ ВРЕМЕННОЙ СИНХРОНИЗАЦИИ.
____________________________________________________________________


Ведение 6-1

Формат сообщения 6-3

TSP сообщения 6-4
Сообщение о регулировке времени 6-4
Сообщение о подтверждении 6-5
Сообщение-запрос хозяина 6-5
Подтверждение хозяина 6-6
Сообщение об установлении сетевого времени 6-6
Сообщение о действии хозяина 6-7
Сообщение о действии подчиненного 6-7
Сообщение о кандидатуре хозяина 6-8
Сообщение о кандидатуре,посылающей сообщение 6-8
Сообщение об отказе в выборе 6-9
Сообщение о нескольких хозяевах 6-9
Сообщение о конфликте 6-10
Сообщение о выходе 6-10
Сообщение об установке даты 6-11
Сообщение о требовании установки даты 6-11
Сообщение, подтверждающее установку даты 6-12
Сообщение о начале трассировки 6-12
Сообщение об окончании трассировки 6-13
Сообщение о местоположении главного хозяина 6-13
Сообщение о местоположении удаленного хозяина 6-14
Сообщение о проверке 6-14
Сообщение об обнаружении петли 6-15

6-1 Инструкция по настройке

ВВЕДЕНИЕ.
____________________________________________________________________

Протокол временной синхронизации (TSP) был разработан для
специального использования программой timed(ADMN). Эта программа
является локальной областью синхронизатора сетевых часов для UNIX
операционной системы с повышенными способностями, которые
предоставляет TCP/IP. Программа timed построена на базе DAPRA UDP
протокола и в основе имеет схему "хозяин-подчиненный".
TSP нужна для двух целей. Первая - это поддержка сообщений для
синхронизации часов различных машин в локальной области сети. Вторая
- поддержка сообщений для выбора нового хозяина, который выбирается
среди подчиненных "временных демонов" (временной демон - это процесс
операционной системы, обслуживающий временные функции системы, часы
системы), когда по каким-либо причинам хозяин исчезает.
Короче говоря, синхронизация программного обеспечения, которое
работает в некоторой локальной области сети, состоит из набора
демонов (один на машину) и основана на структуре хозяин-подчиненный.
Настоящая система сохраняет синхронизацию в пределах 20 миллисекунд,
если это поддерживается аппаратно. В противном случае лучшее, что
может быть это 1секунда. Демон-хозяин ихмеряет временную разницу
между часами, установленными на его машине и всеми другими машинами.
Текущее исполнение использует ICMP (Требования к замеру времени) для
замера временой разницы между часами разных машин. Время главного
компьютера сети является средним между временами, предоставляемыми
всеми исправными часами. Часы считаются неисправными, когда значение
времени больше, чем на определенную величину превышает некоторый
интервал, являющийся разницей между значениями времени в одной и той
же сети. Хозяин затем посылает каждому демону-подчиненному значение
времени для коррекции своих часов. Этот процесс периодически
повторяется. Если выполнена коррекция и временная разница не
превышает предельно допустимой, то задержки на синхронизацию будет.
Когда машины включены и соединены с сеть, то за временем следит
демон-подчиненный. Он спрашивает хозяина о правильном времени и
регулирует часы до начала работы пользователей. Таким образом,
временной демон регулирует время время сети и устраняет разницу во
времени между машинами.
Дополнительно демон на машине-шлюзе может играть роль подмастерия.
Демон-подмастерье является подчиненным в одной сети, у которой уже
есть хозяин и является хозяином в других сетях. Подмастерье, кроме
того, отвечает за передачу пакетов от одной сети в другую.
Чтобы быть уверенным, что предоставляемый сервис продолжителен и
надежен, необходимо выполнить выбор алгоритма, который позволяет
выбрать нового хозяина. Такоц выбор приходится делать, если
происходит устранение текущего хозяина (например, ошибка при
загрузке) или при разъединении сети.

6-2 Инструкция по настройке

С помощью этого алгоритма подчиненныей могут определить прекращение
работы хозяином; тогда подчиненные выбирают нового хозяина среди
самих себя. Важно отметить, что после прекращения работы хозяина
расхождение часов происходит постепенно и поэтому нет необходимости
выбора хозяина немедленно.
Вся работа демонов происходит под управлением TSP протокола.
Большинство связей этого протокола не считаются надежными пока не
будет послано сообщение. Надежность достигается использованием
подтверждений, согласующих чисел и повторных передач, когда теряется
сообщение. Когда появляется сообщение о необходимости подтверждения и
нет подтверждения после многих попыток, то демон, который посылал
сообщение, принимает на себя обязанности адресата. Эта глава не
описывает в деталях какова надежность исполнения, но показывает когда
сообщения типа запроса являются надежным механизмом связи.

Формат сообщений в TSP одинаков для всех типов сообщений; однако в
некоторых версиях не используются некоторые поля. Следующий раздел
описывает формат сообщения. Последующие разделы описывают в деталях
различные типы сообщений, их использование и содержание каждого поля
сообщения.
____________________________________________________________________

В следующих версиях timed формат вероятно будет изменен.
____________________________________________________________________


6-3 Инструкция по настройке

ФОРМАТ СООБЩЕНИЯ.
____________________________________________________________________

Все поля измеряются в байтах. Поля следует загружать в систему в
порядке возрастания их длины. Структура TSP сообщения следующая:

1. Тип сообщения длиной в один байт.

2. Номер версии в один байт, который определяет версию протокола,
которую использует сообщение.

3. Номер числовой последовательности в два байта, который
используется для выявления дубликатов сообщений при повторной
передаче сообщения.

4. Восемь байт отводится под пакет специфических данных. Это поле
содержит два по четыре байта под значение времени и один для
использования в зависимости от типа этого пакета.

5. Строка, завершающаяся нулем для размещения 256 символов ASCII с
именем машины, посылающей сообщение.

6-4 Инструкция по настройке


СООБЩЕНИЯ TSP.
____________________________________________________________________

Следующие разделы описывают типы сообщений, показывая их поля и
объсняя их содержание. В целях последующего обсуждения временной
демон может считаться в одном из трех состояниях - подчиненный,
хозяин или кандидат на выборы хозяином. Раздел передачи сообщений
относится ко всем активным демонам.

Сообщение о регулировке времени.
--------------------------------

Байт 1 | Байт 2 | Байт 3 | Байт 4
+================Ь================Ь================О===============+
| Тип | Номер версии | Номер последовательности |
|----------------+----------------+--------------------------------+
| Секунды для регулировки |
+------------------------------------------------------------------|
| Микросекунды для регулировки |
|------------------------------------------------------------------+
| Имя машины |
|------------------------------------------------------------------+
| ... |
+------------------------------------------------------------------+

Тип: TSP_ADJTIME(1)

Хозяин посылает это сообщение подчиненному, чтобы получить разницу
между часами подчиненной машины и сетевым временем, которое есть у
хозяина. Подчиненный соответственно регулирует время машины. Это
сообщение требует подтверждения.

6-5 Инструкция по настройке


Подтверждение сообщения.
------------------------


Байт 1 | Байт 2 | Байт 3 | Байт 4
+================Ь================Ь================О===============+
| Тип | Номер версии | Номер последовательности |
|----------------+----------------+--------------------------------+
| ( не используется ) |
+------------------------------------------------------------------|
| ( не используется ) |
|------------------------------------------------------------------+
| Имя машины |
|------------------------------------------------------------------+
| ... |
+------------------------------------------------------------------+

Тип: TSP_ACK (2)

Оба и хозяин и подчиненные используют это сообщение только для
подтверждения. Оно используется в нескольких различных контекстах.
Например, в ответ на сообщение о регулировке времени.