Руководство администратора сети в ОС Linux

       

Внутренние работы uucico


Чтобы понять, почему uucico должен знать некоторые вещи, приведем быстрое описание того, как фактически происходит соединение с удаленной системой. Когда Вы выполняете uucico -s система из командной строки, сначала происходит физическое соединение.Принимаемые действия зависят от типа открываемого соединения. Например, при использовании телефонной линии, она должна найти модем, и набрать номер.Если используется TCP, uucico должна вызвать функцию gethostbyname (3), чтобы преобразовать имя в сетевой адрес, выяснить, какой порт открывать, и связать адрес с соответствующим гнездом(socket). После того, как соединение было установлено, должна выполниться процедура идентификации пользователя. Она состоит из запроса удаленной системой, имени, и, возможно, пароля.Все это называется "login chat". Процедура идентификации выполняется или обычным getty/login набором программ, или - на гнездах TCP - непосредственно uucico . Если разрешение на вход получено, удаленная систзма запускает uucico. Локальная копия uucico, которая инициализировала соединение, назначается главной, удаленная - подчиненной. Затем следует фаза рукопожатия(handshake phase): главный посылает cвое hostname и некоторые флаги. Подчиненная система проверяет, имеет ли hostname право входить в неё, посылать и принимать файлы, и т.д.. Флаги описывают (кроме всего прочего) максимальный приоритет буферизации передаваемых файлов. Если возможно, счет диалога, или проверка порядкового номера обращения происходит здесь. Благодаря этой возможностью, оба поддерживают счет успешных соединений, которые сравниваются. Если они не соответствуют, рукопожатиe прерывается. Это помогает защищать себя от самозванцев. В заключение, uucico пытаеться установить общий протокол передачи. Этот протокол обеспечивает способ перемещения данных, проверку на непротиворечивость, и повторную передачу в случае ошибки. Имеется потребность в различных протоколах из-за отличающихся типов обеспечиваемых соединений. Например, телефонные линии требуют " безопасный " протокол, который включает в себя жестокую проверку ошибок, в то время как передача TCP по существу надежна и может использовать более эффективный протокол, который предшествует наиболее тщательной проверке ошибок.


После того,как рукопожатие устновлено,начинается фактическая фаза передачи . Обе системы включают выбранный драйвер протокола. Драйверы, возможно, выполняют свою специфическую инициализацию. Сначала главная система посылает все файлы, поставленные в очередь для передачи на удаленную систему, приоритет буферизации которых является достаточно высоким. Когда передача завершена, она сообщает об этом подчиненной системе, подчиненный может теперь отключиться или принимать диалог. Это - изменение ролей(назначений): теперь удаленная система становится главной, а локальная становится подчиненной. Новый хозяин теперь посылает файлы. Когда передача завершена, обе программы обмениваются заключительными сообщениями, и закрывают соединение. Мы не будем вникать во все детали: пожалуйста обратитесь или к исходным текстам или к любой хорошей книге об UUCP для этого.Есть также действительно старинная статья, касающаяся сети, написанной David A. Novitz, которая дает детализированное описание протокола UUCP. Taylor UUCP FAQ также обсуждает некоторые подробности UUCP. Это всегда есть на comp.mail.uucp.


Содержание раздела