файлов. hash Эта команда побуждает ftp выдавать на экране символ '# ' после каждого блока данных, который посылается удаленной машиной. Размер блоков данных может быть различным в зависимости от версии программного обеспечения. Для того, чтобы увидеть текущее значение, с командой ftp используйте многословный режим. Эта команда включает и выключает выдачу символа '#' на экран ее при повторном наборе. help Эта команда выдает на экран информацию о работе ftp. Если после help задать имя команды, то появится информация об этой команде. Если набрать просто help, то появится информация обо всех командах ftp. lcd Эта команда изменяет рабочий директорий, используемый ftp, на вашей машине. Вы можете задать имя директория, который вам нужен как рабочий, например: ftp> lcd /ysr/deb Если вы не задали имя директория, то будет использоваться ваш домашний директорий. ls Эта команда распечатывает абревиатурный список содержания директория удаленной машины, с которой вы связаны. Вы связаны в данный момент. 5-11 Инструкция по настройке Вы можете задать имя директория, который вы хотите распечатать. Например: ftp> ls /usr/bin Если вы не задали имя, будет распечатан текущий директорий. Можно задать, чтобы результаты выполнения команды были помещены в файл до появления их на дисплее. Это делается ftp, если указать имя файла на вашей машине куда следует поместить листинг директория, например: ftp> ls /usr/bin printfile Имя директория нужно задать до вывода файла (здесь printfile). Например, если вы хотите распечатать текущий директорий в файл с именем printfile: ftp> ls . printfile где "." ставится, чтобы подчеркнуть, что директорий текущий. mdelete Эта команда удаляет список файлов на удаленной машине, с которой вы связаны в данный момент. Вы можете задать имена файлов для удаления при вызове команды. Например: ftp> mdelete имя 1файла удаленной машины имя 2файла... В противном случае вы можете просто использовать имя команды. Программа ftp запросит вас об имени(ах): ftp> mdelete (remote-files) имя 1файла 2файла... mdir По этой команде выдается список листинг директория удаленной машины и результат помещается в файл вашей машины. Вы можете задать список файлов удаленной машины и имя файла вашей машины, куда поместить результат при вызове команды. Например: ftp> mdir имя 1файла удаленной машины... printfile 5-12 Инструкция по настройке (Заметьте, что последее имя это имя файла вашей машины printfile). Возможно просто использовать имя команды. Тогда программа ftp запросит у вас имя файлов, например: ftp> mdir (remote-files) имя 1файла удаленной машины...printfile local-file printfile?y mget Эта команда копирования одного или более файлов с удаленной машины, к которой вы подключены в данный момент на вашу машину. Файлы после копирования будут иметь теже имена. Вы можете указать список файлов для копирования: ftp> mget имя 1файла удаленной машины имя 2файла... Если вы не задали имена файлов при вызове команды, программа ftp запросит вас о них: ftp> mget (remote-files) имя 1файла удаленной машины имя 2файла ... mkdir Эта команда создает директорий на удаленной машине, к которой вы в данный момент подключаетесь. Вы можете задать им директория при вызове команды, например: ftp> mkdir /u/mydir Если вы не задали имя, ftp запросит вас о нем, например: ftp> mkdir (directory-name) имя директория Эта команда поддерживается не всегда. mls Эта команда получает абревиатурный список группы файлов текущего директория на удаленной машине и помещает результат в файл на вашей машине. 5-13 Инструкция по настройке Вы можете задать список файлов удаленной машины и файл вашей машины, куда поместить результат при вызове команды, например: ftp> mls имя 1файла удаленной машины ...printfile Вы можете не указывать имена при вызове команды, и тогда прграмма запросит вас о них: 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) Оба и хозяин и подчиненные используют это сообщение только для подтверждения. Оно используется в нескольких различных контекстах. Например, в ответ на сообщение о регулировке времени. Сообщение-запрос хозяина. ------------------------- Байт 1 | Байт 2 | Байт 3 | Байт 4 +================Ь================Ь================О===============+ | Тип | Номер версии | Номер последовательности | |----------------+----------------+--------------------------------+ | ( не используется ) | +------------------------------------------------------------------| | ( не используется ) | |------------------------------------------------------------------+ | Имя машины | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Тип: TSP_MASTERREQ (3) Вновь начинающий работу демон передает это сообщение для выявления хозяина. Никаких других действий оно не выполняет. Сообщение требует ответа хозяина. 6-6 Инструкция по настройке Ответ-подтверждение хозяина. ---------------------------- Байт 1 | Байт 2 | Байт 3 | Байт 4 +================Ь================Ь================О===============+ | Тип | Номер версии | Номер последовательности | |----------------+----------------+--------------------------------+ | ( не используется ) | +------------------------------------------------------------------| | ( не используется ) | |------------------------------------------------------------------+ | Имя машины | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Тип: TSP_MASTERACK (4) Хозяин посылает это сообщение, чтобы подтвердить получение запроса к хозяину и сообщения о конфликте. Сообщение об установке сетевого времени. ---------------------------------------- Байт 1 | Байт 2 | Байт 3 | Байт 4 +================Ь================Ь================О===============+ | Тип | Номер версии | Номер последовательности | |----------------+----------------+--------------------------------+ | Секунды для установки времени | +------------------------------------------------------------------+ | Микросекунды для установки времени | |------------------------------------------------------------------+ | Имя машины | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Тип: TSP_SETTIME (5) Хозяин посылает это сообщение подчиненным демонам для установки времени. Эти данные посылаются вновь начавшим работу демонам или при изменении сетевой даты. Оно содержит время хозяина как время сети. Сообщение требует подтверждения-ответа. Следующим шагом синхронизации будет выявление маленькой временной разницы с задержкой работы в канале связи. 6-7 Инструкция по настройке Сообщение о действии хозяина. ----------------------------- Байт 1 | Байт 2 | Байт 3 | Байт 4 +================Ь================Ь================О===============+ | Тип | Номер версии | Номер последовательности | |----------------+----------------+--------------------------------+ | ( не используется ) | +------------------------------------------------------------------| | ( не используется ) | |------------------------------------------------------------------+ | Имя машины | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Тип: TSP_MASTERUP (6) Хозяин посылает это сообщение для запроса имен активных подчиненных. Подчиненные отвечают в следующем сообщении. Сообщение о действии подчиненного. ---------------------------------- Байт 1 | Байт 2 | Байт 3 | Байт 4 +================Ь================Ь================О===============+ | Тип | Номер версии | Номер последовательности | |----------------+----------------+--------------------------------+ | ( не используется ) | +------------------------------------------------------------------| | ( не используется ) | |------------------------------------------------------------------+ | Имя машины | |------------------------------------------------------------------+ | ... | +------------------------------------------------------------------+ Тип: TSP_SLAVEUP (7) Подчиненный посылает это сообщение хозяину в ответ на его сообщение, которое указано выше. Это сообщение также посылается, когда начинает работу новый подчиненный для информации хозяина о необходимости его синхронизации. 6-8 Инструкция по настройке Сообщения о кандидатуре хозяина. -------------------------------- Байт 1 | Байт 2 | Байт 3 | Байт 4 +================Ь================Ь================О===============+ | Тип | Номер версии | Номер последовательности | |------------