Открыть Электронные книги
Категории
Открыть Аудиокниги
Категории
Открыть Журналы
Категории
Открыть Документы
Категории
СЬ
ЛИ
ЛИ
ТЯ Е
Ж ПИ
ЗА ДНИ
НУ
РА КУ
ЛЫ ГО
ТИ РАС
КУ ВО
О
НИ НО
ТР
№11(36) ноябрь 2005
С
БЫ
подписной индекс 20780
КА
www.samag.ru
И
ЬГ
ЬД О
РА СКА
ТЕ
К
ИС НН
ЕН
УС
БО
НА ТПУ
ИЛ ДА
ТП
НЧ ЖИ
ВО
РА Е О
КО НЕО
АВ СЛ
Л
ПО
УЕ
ЗА
Автоматизируем установку
драйверов в Windows
Так видит журнал читатель, оформивший подписку:
Ещё один способ
восстановить MBR
Тонкий клиент –
шаг к мэйнфреймам?
Разрабатываем
документацию в NPJ:
эффективно и удобно!
Используем возможности ftpd
Расширения РHP:
ПОДПИШИТЕСЬ И ЧИТАЙТЕ! пять шагов к написанию
№11(36) ноябрь 2005
2
тенденции
ний для использования в вузе следую- Более подробную информацию ли об успешном завершении нагру-
щая: для основных, ядерных приложе- о докладах на конференции и програм- зочного тестирования продукта «Бит-
ний выбираются крупные поставщики мных продуктах Microsoft можно най- рикс: Управление сайтом 4.0». Этот
(Microsoft, SAP, Oracle); для ниши раз- ти по адресу http://www.microsoft.com/ программный продукт предназна-
вивающегося и специализированного Rus/Education. чен для создания, управления и раз-
программного обеспечения (например, вития веб-проектов и ориентирован
системы автоматизации составле- Андрей Филиппович на сегмент малого и среднего бизне-
ния расписания) выбираются лучшие са (SMB).
по результатам анализа; для исследо- Oracle выпускает В качестве тестовой системы был
вательских или маленьких локальных бесплатную редакцию выбран сервер начального уровня
задач выполняются собственные раз- СУБД «Kraftway GEG Express 100» с опера-
работки; для использования студента- Тридцать первого октября 2005 го- ционной системой Red Hat Enterprise
ми выбираются приложения, ориенти- да корпорация Oracle анонсировала Linux AC Release 3, а в качестве ба-
рованные на технологию тонкого кли- выход бета-версии новой редакции зы данных использовалась Oracle 10g
ента; при разработке сервисно-ори- Oracle Database 10g Express Edition Release 2 (Standard Edition One).
ентированной архитектуры (SOA) ис- (Oracle Database XE). Данная редак- Для тестирования были выбраны
пользуются открытые стандарты на ция СУБД распространяется бес- Oracle-версии продукта «Битрикс: Уп-
веб-сервисы. платно, и независимые разработчи- равление сайтом – «Старт» (включа-
При организации IT-инфраструкту- ки программного обеспечения мо- ющая в себя минимальный набор мо-
ры предпочтение отдается беспровод- гут абсолютно свободно распростра- дулей для управления корпоративны-
ной связи. Для удобства администри- нять и внедрять Oracle Database XE ми сайтами) и «Бизнес» (полнофунк-
рования в 90% случаев используется в составе своих решений. Новая ре- циональная версия продукта, предна-
унифицированное программное обес- дакция СУБД основывается на коде значенная для создания и управления
печение от Microsoft (Active Directory, Oracle Database 10g Release 2 и пол- корпоративными порталами, интернет-
XP, Exchange, SharePoint и др.). В ос- ностью совместима с семейством ком- магазинами, сайтами СМИ и другими
тавшихся 10% – используются техноло- мерческих СУБД Oracle Database 10g. интернет-проектами).
гии Apple и UNIX для изучения полигра- Oracle Database XE предоставляет В результате суточного тестирова-
фических систем и проведения некото- разработчикам тот же интерфейс SQL ния данных продуктов были получены
рых научных исследований. К важному и PL/SQL, что доступен и в старших ре- следующие результаты.
преимуществу такой организации до- дакциях, плюс интерфейс к ряду язы- Версия «Старт», включающая 4 мо-
кладчик также отнес удобство органи- ков программирования, включая Java, дуля, «выдержала» 1 117 956 уни-
зации вычислительных кластеров. .NET и PHP. кальных пользователей (3 879 336
Oracle Database XE доступна для 32- хитов), а состоящая из 18 модулей
Курьезы Microsoft разрядных платформ Linux и Windows, версия «Бизнес» – 465 160 уни-
В целом конференция вызвала боль- и на нее накладываются следующие кальных пользователей (1 614 103
шой интерес среди специалистов и бы- ограничения: хита).
ла проведена на высоком техническом Используется только один ЦП. Среднее время ожидания д ля
уровне, однако без курьезов не обош- Используется не более 1 Гб ОЗУ. «Старта» и «Бизнеса» составило
лось. Во время демонстрации реше- Допускается работа только одного 0,265 и 1,107 секунд соответственно.
ний Microsoft сначала не удалось вый- экземпляра БД. Количество же ответов, время ожи-
ти в Интернет для получения доступа Не более 4 Гб пользовательских дания которых от 3 до 7 секунд, со-
к Microsoft Learning Gateway, а затем данных на жестком диске. ставило 0,04% и 0,55% от общего
при попытке запуска системы Learning числа запросов.
Network Manager после перезагрузки Для зарегистрировавшихся на сай-
операционной системы всплыло со- те корпорация Oracle предоставляет Добиться столь высоких показа-
общение о необходимости активации бесплатный доступ к форуму, который телей удалось благодаря 2-уровне-
используемой копии Windows. Это со- сопровождают специалисты компа- вой конфигурации сервера («front-
бытие, произошедшее после слов Оль- нии. Скачать Oracle Database XE мож- end» (прокси-сервер nginx 0.1.44) +
ги Дергуновой о необходимости про- но по ссылке: www.oracle.com/database/ «back end» (apache 1.3.33 + php 4.3.11 +
ведения воспитательной работы сре- xe.html. e-accelerator 0.9.3)) и использованию
ди молодежи по использованию ли- в качестве базы данных Oracle 10g
цензионного программного обеспе- Андрей Маркелов Release 2. В то же время версия про-
чения, с одной стороны, вызвало бур- граммного продукта, использующая
ную радость большей части посетите- Завершено тестирование в качестве базы данных MySQL, проде-
лей конференции, а с другой – позво- нового программного монстрировала гораздо более скром-
лило осознать значимость того факта, продукта по созданию ные результаты – «всего» 30 000 уни-
что в России количество пиратских ко- веб-ресурсов кальных пользователей.
пий программного обеспечения снизи- Первого ноября 2005 года компании
лось с 99% до 87%. «Битрикс», «QSOFT» и ФОРС объяви- Николай Никульшин
4
интервью
MiniMo – мини-браузер
из семейства Mozilla
Mozilla
Антон Борисов
Многим из вас приходилось работать с программными продуктами, в названии которых
присутствует слово Mozilla. В этом году, пожалуй, только ленивый не слышал о браузере
Mozilla FireFox. Однако главный герой сегодняшнего рассказа – браузер MiniMo, родословная
которого начинается с браузера Mozilla. Некоторые детали его разработки и концепцию
развития поведает Дуг Тернер (Doug Turner) – глава проекта.
Расска жите, как вы оказа лись ми. В определенный момент кому-то вильное направление, но одно ясно –
в Netscape Communications Inc., о ва- пришла в голову сумасшедшая идея от «безумной идеи» выиграли милли-
шей работе в этой компании, её ос- выпустить исходный код в публичный оны. «Освобождение ящерицы» в ито-
новных направлениях. доступ. В Netscape Communications мо- ге вылилось в лучший код, стало боль-
Я присоединился к команде Netscape им шефом был Крис Хофман. Он и сей- ше инноваций, и, наконец, война брау-
в 1996 году, для работы над клиен- час мой шеф в Mozilla Foundation. На- зеров вышла на новый виток.
том браузера под Mac-платформу. столько хороший, что у меня нет жела-
Поначалу было не очень интересно, ния мечтать о лучшем. Сколько людей занято в проекте
но это была работа на лучшую компа- MiniMo и кто вам помогает при раз-
нию, над лучшим продуктом того вре- Как бы вы охарактеризовали идею работке?
мени. Годом позже я стал работать выпуска исходного кода Netscape Что касается создания проекта MiniMo,
над вещами гораздо интереснее: се- в публичный доступ? С точки зре- то его родителями являются: Крис
тевое взаимодействие, многопоточ- ния того времени и с точки зрения Хофман, Дарин Фишер (Darin Fisher)
ность, xpcom, низкоуровневые подсис- реалий сегодняшнего дня. и я. Это было несколько лет назад. Да-
темы и над более сложными проблема- Я не был уверен вначале, что это пра- рин теперь работает в Google над дру-
Что представляет из себя ся Internet Explorer, то для мобильных уст- ся» («Make good software that people like to
MiniMo? ройств это далеко не так: здесь присутс- use, and the rest will take care of itself»).
После того как в январе 1998 года были твуют такие имена, как Opera, NetFront, Коллектив Mozilla Foundation сложил-
выпущены в свет исходные коды Netscape Obigo, Nokia Series 40/60 Browser, Openwave, ся в июле 2003 года в основном из быв-
Navigator [1], началась новая ветка в исто- Pocket Internet Explorer, NicheView, Picsel, ших участников корпорации Netscape [10].
рии развития браузеров. Одним из «побоч- RocketBrowser, Wapaka, Thunderhawk, Он разрабатывает не только MiniMo,
ных» эффектов стало появление MiniMo Skweezer, Andromeda и некоторые другие. но и такие продукты, как Mozilla FireFox,
(MiniMozilla) – мини-браузера для КПК и мо- Сфера применений пока, на мой взгляд, Mozilla Thunderbird, Mozilla SeaMonkey,
бильных устройств [2]. достаточно узкая – помимо непосредствен- и многие другие. Большинство из них, ко-
Что из себя представляет MiniMo? ного отображения веб-страниц и удобной нечно же, напрямую не связано с MiniMo,
Это в первую очередь исходный код бра- интеграции с Google Maps на этом функцио- но от каждого зависит общее развитие
узера Mozilla, который можно собрать нал и заканчивается. Технология MiniMozilla продукта.
для мобильной платформы, например, построена таким образом, что в принципе В частности, технологический темп для
для КПК iPAQ. Вполне очевидно, что полная можно отделить интерфейс пользователя развития MiniMo задает Дуг Тернер, Крис
функциональность настольной Mozilla для (UI) от ядра браузера Mozilla и построить Хофман координирует бизнес-планирова-
мобильных устройств не требуется. На пер- новые приложения под конкретные требо- ние. Официально Дуг Тернер начал рабо-
вый план выходит компактность браузера вания заказчика, но пока об этом мало что тать на Mozilla Foundation с декабря 2004 го-
и повышенные требования к распределе- слышно. Также мало слышно и об актив- да. Хотя послужной список данными пер-
нию памяти (в КПК количество ОЗУ все- ном использовании в MiniMo подключае- сонами не афишируется, но удалось уз-
таки отличается от настольных ПК). Вто- мых модулей. Впрочем, не буду заострять нать, что до прихода в Netscape в 1996 го-
рой немаловажный фактор – это умение внимание на том, чего пока нет. Отмечу, ду Дуг Тернер работал в компании Apple
отображать html-страницы для экранов что проект MiniMo идет вперед семимиль- Computer Inc.
КПК-устройств (разрешение в пределах ными шагами. И лозунгом развития Mozilla Первое упоминание об успешном пор-
160x240 пикселов или более; сейчас уже Foundation отчасти может служить фраза тировании MiniMo на КПК датируется 8 де-
типичны устройства с разрешением экра- Криса Хофмана (Chris Hofmann) – «Созда- кабря 2003 года, когда Дуг Тернер пишет
на 640х480 пикселов) [3]. Если для настоль- вайте хорошие продукты, которые приятны в своем блоге – о запуске Firebird на iPAQ
ных ПК доминирующим браузером являет- для использования, а остальное приложит- 5555 [4].
гими вещами, а Крис занят создани- изводит КПК и смартфоны для I-Mate, Что касается запуска MiniMo на Opie,
ем бизнес-связей в Mozilla Foundation. HP, Orange, Dell и др.), наш код рабо- то здесь потребуется переписать код
Над MiniMo CE активно работают 6 че- тает нормально. под QT. Как вы знаете, сейчас Mozilla
ловек, каждый в своем направлении. основана на GTK-коде, поэтому зако-
Мы также помогаем нескольким спе- Как вашей команде удается тести- номерно, что и MiniMo зависит от GTK.
циалистам, работающим над версией ровать MiniMo на всех линейках КПК, Портирование на QT-основу происхо-
Linux MiniMo. У нас большая команда скажем, и на семействах Windows дит (см. http://dot.kde.org/1094924433).
тестеров, людей, которые придумыва- Mobile и дистрибутивах Familiar Как только оно завершится, то появит-
ют новые классные идеи, и, конечно же, Linux? Какие виртуальные машины ся причина для перестраивания дере-
мы получаем отдачу от всего направ- вы используете? ва MiniMo, чтобы в дальнейшем выпус-
ления развития FireFox. Прямо сейчас Отличный вопрос. Многие разработ- кать исполняемые файлы и в форма-
Марсио Галлио (Marcio Gallio) и я за- чики других браузеров для мобильных те MiniMo/QT.
няты разработкой ядра MiniMo. Фигу- устройств используют эмулирующие
рально выражаясь, мы стоим на пле- приложения. Для нас это не актуаль- Я попробовал запустить MiniMo 0.07
чах таких гигантов, как Джонни Стен- но, т.к. мы используем ядро от FireFox, в Windows CE 2002 (WinCE 3.0), од-
бэк (Johnny Stenback), Дэвид Барон поэтому если какая-то функция рабо- нако все попытки оказались не-
(David Baron) и всех тех сотрудников, тает в FireFox, то она будет работать удачными. В чем может быть про-
которые двигают технологию Mozilla и в MiniMo. блема, в WinCE 3.0 или все-таки
вперед, т.к. MiniMo базируется в пер- Однако есть такие опции, кото- в MiniMo? Есть ли планы выпускать
вую очередь на коде Mozilla. рые отсутствуют в FireFox, напри- MiniMo в виде одного инсталлятора,
мер, рендеринг для малых экранов а не в виде архива файлов?
На каких аппаратных платформах (Small Screen Rendering). У меня есть Для использования в Windows CE 2002
MiniMo может работать сегодня? мысль написать такое расширение требуется перекомпиляция кода MiniMo
В основном это ARM и несколько x86- для FireFox, чтобы у пользователей ПК с использованием SDK от WinCE 2002.
устройств. Существует несколько спе- была возможность увидеть, как стра- Сейчас мы сфокусированы в основном
цифичных вопросов, но наш код очень ница отображается на устройствах на Windows CE 2003, так что и для бо-
удобен в портировании. На большинс- с экраном 240x360. Мы компилируем лее старой версии WinCE в скором вре-
тве устройств, что поставляет HTC код на настольных ПК и копируем его мени будет релиз. Что касается инс-
(тайваньская компания High Tech на КПК. Затем тестируем и делаем вы- талляторов, то для себя мы использу-
Computer Corporation [11], которая про- вод о функциональности. ем как коммерческие, так и собствен-
6
интервью
Какие планы развития MiniMo? И как сил бы развитие MiniMo, если на рын-
Дуг Тернер – соавтор первой антиспам происходит тестирование дополни- ке было что-то стоящее.
программы SpamBlaster, созданной в 1997 тельного функционала?
году. Сотруд ник компании Netscape Для MiniMo также существует план Насколько мне известно, с Nokia
Communications c 1996 года. Занимался развития [5]. Что же касается дополни- и с T-Mobile подписаны контракты
развитием объектной модели XPCOM, про- тельного функционала, то он, как пра- по поставке MiniMo вместе с их про-
работкой вопросов поддержки сети и пото- вило, появляется в качестве расши- дукцией. Насколько это верно?
ковых (thread) вопросов в браузерах серии рений к продукту. Например, Spatial У меня не входит в практику распро-
Netscape, а в последствии и в серии Mozilla. Navigation – это расширение, кото- страняться, кто собирается, а кто
В декабре 2004 года возглавил разработ- рое я написал для Pioneer Research. не собирается что-то поставлять, по-
ку браузера MiniMozilla в компании Mozilla Его цель – использовать клавиши вверх, ка не выпущен официальный пресс-
Foundation. вниз и т. д. для навигации по докумен- релиз. Так что, извините, говорить
ту (см. http://www.mozilla.org/access/ об этом преждевременно.
ные инсталляторы. Так что не волнуй- keyboard/snav). На сегодня это расшире-
тесь – MiniMo будет выпускаться и в ка- ние выглядит как опция, которую мож- Есть ли разработчики, которых
честве единого файла. но загрузить с http://addons.mozilla.org. вы могли бы отметить отдельно?
Как только расширение становится до- Мы сотрудничаем с компанией INdT
Для меня представляют интерес статочно востребованным, оно интег- (http://www.indt.org.br/indt), с коман-
русскоязычные ресурсы, поэтому рируется в дерево разработки. Одна- дой, которая работает над разными
я зашел на mail.ru и обратил внима- ко чтобы быть включенным, это конк- Open Source-проектами. В качестве
ние на то, что браузер автоматиче- ретное расширение проходит не толь- одного из таких проектов они выбра-
ски не распознает кодировку. ко через руки тестеров, но и через ру- ли MiniMo. Последние несколько ме-
Мы делаем достаточно широкие шаги ки тех, кто повседневно его использует, сяцев их внимание было сфокусиро-
вперед. Предлагаю использовать вер- т.е. знает расширение практически до вано на GTK-коде нашего кроссплат-
сию 0.08, ибо многие проблемы реша- мелочей. Поэтому относительно качес- форменного браузера. Также среди их
ются с выходом каждой новой версии. тва кода можете не волноваться. работ значится проект MaeMo – пор-
Некоторые вопросы, возникающие тирование на платформу Nokia 770
с перекодировками, связаны с тем, как Означает ли это, что практически (см. http://www.indt.org.br/maemo).
определять установленные на устрой- любое расширение, написанное для
стве шрифты и как проводить переко- FireFox, будет работать и с MiniMo? Ссылки:
дирование из национальных кодовых В общем-то, да. У нас было несколь- 1. http://en.wikipedia.org/wiki/Netscape.
страниц в юникод-представление. На- ко расширений для FireFox, которые 2. http://en.wikipedia.org/wiki/Minimo.
деюсь, в версии 0.10 многие из них бу- через несколько минут доработки за- 3. http://www.linuxdevices.com/articles/
дут решены. работали и с MiniMo. Расширения, AT7396996719.html.
стоящие упоминания, – это adblock 4. http://weblogs.mozillazine.org/dougt/
Действительно здорово осозна- и colorzilla. archives/004471.html – first announcement
вать, что исходный код для MiniMo of FireBird at IPAQ 5555.
и для Firefox почти один и тот же. Есть ли у вас планы по созданию 5. ht tp://w w w.linuxdevices.com /news /
Однако в ходе тестирования MiniMo прототипа для Symbian OS? NS8 91114 50 47.html – roadmap for
на различных версиях Windows CE Д.T.: Таких планов нет. Есть люди, ко- MiniMo.
я столкнулся с проблемой быст- торым нравится Symbian, и те, кото- 6. http://www.meer.net/~dougt/minimo_ce –
родействия. Если я сравню Pocket рые ненавидят его. Я действительно MiniMo WinCE builds – домашняя стра-
Internet Explorer (PIE) с MiniMo, не знаю, к кому я тяготею. Если смо- ница Дуга Тернера. Отсюда вы може-
то последний никак не кажется мне треть на API от Symbian и сравнивать те загрузить последние релизы MiniMo
быстрым. Есть ли какие-либо под- его с Linux, то, скорее всего, я принад- для платформы Windows CE.
вижки в улучшении данной про- лежу ко второму лагерю. 7. http://www.absoluteastronomy.com /
блемы? encyclopedia/m/mi/microbrowser.htm –
Д а , п р о и з в о д и т е л ь н о с т ь и м е е т С о гл а с н о о б з о р а м , в ы п ус к а е - классификация микробраузеров.
очень важное значение. Но срав- мым компанией Opera Software 8. Сравнить характеристики различных
нивать PIE с MiniMo недостаточно Inc., они не рассматривают MiniMo веб-браузеров можно пользуясь табли-
честно, т.к. PIE в действительнос- браузер в качестве конкурента, цей – http://www.absoluteastronomy.com/
ти не отображает многие сайты кор- т.к. Opera-Mini работает на других encyclopedia/c/co/comparison_of_web_
ректно, у него слабая реализация платформах (Symbian OS, Palm OS). browsers.htm.
JavaScript, и он не может выполнять Сможете ли вы утверждать, что ваш 9. http://davetitus.com/mozilla.
AJAX (http://developer.mozilla.org/en/ коллектив также не рассматривает 10. http://www.absoluteastronomy.com /
docs/AJAX). Впрочем, я не открещи- браузер от Opera в качестве конку- encyclopedia/m/mo/mozilla_foundation.
ваюсь от проблемы с быстродействи- рирующего продукта? html.
ем. Да, она существует, и мы ее посте- Мне бы не хотелось оценивать, кто ко- 11. http://en.wikipedia.org/wiki/High_Tech_
пенно решаем. му является конкурентом. Лично я бро- Computer_Corporation.
Знаете ли вы, что с помощью компьютера можно не только работать с документами, играть,
обмениваться письмами, но еще и разговаривать? Сегодня, отбросив максимум рекламной
шелухи, мы рассмотрим достоинства и недостатки трех наиболее популярных клиентов
интернет-телефонии – Skype, Gizmo Project и Google Talk.
Михаил Платов
«А в чем, собственно, ринговых сетей, широко используемых П о д д е р ж к а р а з л и ч н ы х п л а т-
вопрос?» для обмена файлами (Napster, KaZaA, форм (Windows, Mac OS X, Linux,
За последние несколько месяцев ры- Gnutella и др.). С тех пор в течение поч- PocketPC).
нок компьютерной телефонии пере- ти трех лет сеть Skype активно разви- Наличие API для разработки собс-
жил несколько значительных событий. вается, а количество пользователей твенных расширений программы.
Наиболее интересными среди них яв- программы неуклонно продолжает рас- 27 различных языков в интерфей-
ляются запуск проекта Gizmo Project, ти. За первый год работы сеть набрала са клиента Skype.
а также открытие голосового сервиса свой первый миллион активных пользо-
компанией Google. Сразу после этого вателей, за второй год – еще два, сей- Как работает Skype
в сети появились многочисленные ста- час их количество медленно, но вер- Для того чтобы понять техническую
тьи, рассказывающие о преимущест- но приближается к отметке в 5 милли- часть, обратимся к рис. 1.
вах новых сетей перед старыми кон- онов… Последним значимым этапом Сеть состоит из программных кли-
курентами. Как ни странно, сколь-ни- в истории Skype стало слияние с извес- ентов Skype, работающих на компью-
будь единого мнения о том, какая же тными и популярными сервисами элек- терах пользователей. В зависимости
сеть на данный момент является луч- тронной коммерции e-bay и PayPal [1]. от условий работы один и тот же кли-
шей, представлено не было. Более то- Что же лежит в основе успеха Skype? ент может выступать либо как «обыч-
го, мнения различных обозревателей Для ответа на этот вопрос достаточно ный узел», либо как «суперузел» се-
зачастую оказывались диаметрально посмотреть на список основных воз- ти [2]. У последних есть по меньшей
противоположными. Для внесения яс- можностей программы: мере два характерных признака:
ности в этот вопрос было произведе- Передача речи, мгновенных сооб- Они всегда имеют реальный интер-
но небольшое исследование, с резуль- щений и файлов. нет-адрес.
татами которого вы сможете ознако- Высокое качество речи. Они принимают непосредственное
миться в этой статье. Итак, кандидат Проведение конференций. участие в поддержке работы сети
№1 – Skype. Связь с традиционной телефон- Skype.
ной сетью (через сервисы SkypeIn
Skype, «Let the whole и SkypeOut). Собственно, благодаря наличию
world talk for free» Дополнительные возможности (ин- «суперузлов» Skype и относят к де-
В недалеком 2003 году, основате- теграция с MS Outlook, Firefox, ра- централизованным сетям. Поиск або-
ли сети KaZaA Николас Зенстром бота с сетями wi-fi хот-спотов, воз- нентов, отслеживание их текущего со-
и Янус Фрис создали революционную можности «корпоративного» управ- стояния (активен/не активен), обмен
для своего времени программу для ин- ления счетами и др.). мгновенными сообщениями и файла-
тернет-телефонии с совершенно непо- Шифрация всех передаваемых дан- ми – все это производится с участи-
нятным названием – Skype. Ее изюмин- ных (алгоритмы AES, RC4). ем «супер узлов». Впрочем, их самой
ка заключалась в том, что для переда- Отличная работа из-за NAT и бранд- важной функцией является то, что каж-
чи «голоса» использовались идеи пи- мауэров. дый из них может выступать посред-
8
администрирование
ником при передаче голосового тра- нивались качество
фика между другими клиентами се- передаваемой ре-
ти Skype, находящимися за сервера- чи, а также величи-
ми NAT (см. вариант «3» на рис. 1). на задержки. С по-
Теоретически подход Skype позволя- м о щ ью Et he rnet-
ет бороться абсолютно со всеми ви- снифера опреде-
дами NAT (см. врезку «NAT и STUN»), лялись характер-
правда, к сожалению, борьба эта ве- ные особенности
дется руками ничего не подозреваю- реализации рабо-
щих абонентов (ведь физически «су- ты клиентов из-за
перузлы» находятся на компьютерах NAT (используемые
самых обычных пользователей сети). протоколы, IP-ад-
Так, один день работы Skype в режиме реса узлов, участ-
«суперузла» может стоить владельцу вующих в переда-
Рисунок 1. Структура сети Skype
компьютера до 800 Мб трафика других че голосового тра-
пользователей Skype [3]. Ситуация усу- фика). Вариант, при котором оба клиента
губляется тем, что на данный момент При тестировании проверялось непосредственно подключены к Ин-
не существует официального способа качество работы в следующих сце- тернет при тестировании не рассмат-
запретить клиенту Skype становиться нариях: ривался. Такая схема подключения яв-
«суперузлом». Конечно же, можно схит- Разговор между двумя абонентами, ляется достаточно редкой. Все же ча-
рить и поместить свой компьютер за находящимися за одним и тем же ще такие люди работают либо из-за
NAT, но в таком случае вы лишь обос- NAT-сервером (внутри организа- сервера NAT, либо через прокси-сер-
трите проблему качества речи в сети, ции или локальной сети). вер (локальные и корпоративные се-
переложив ее решение на плечи дру- Разговор между абонентом находя- ти) и очень редко напрямую (как пра-
гих пользователей Skype. щимся в Интернет (dial-up-подклю- вило, это удел конечных пользовате-
чение), и абонентом за динамичес- лей, часто dial-up). К тому же прове-
Личное знакомство ким NAT (разговор между пользо- дение всех вариантов тестов с реаль-
Итак, идем на http://www.skype.net и за- вателями Интернета, подключен- ными интернет-адресами в моем слу-
гружаем Windows-версию клиента ными к одному и тому же провай- чае было несколько затруднительным.
Skype (на момент написания статьи – деру). Отчаиваться по этому поводу не стоит,
версия 1.3.0.66). Владельцам модемов Разговор между двумя абонента- результаты тестов в данном сценарии
придется подождать загрузки 7-мега- ми (dial-up и LAN), находящимися более чем предсказуемы.
байтного файла установки. После ин- за различными несимметричными
сталляции запустим программу и за- NAT-серверами (разговор между Тестирование Skype
регистрируем себе уникальное имя пользователями Интернета, под- Первый же тест преподнес сюрприз –
в сети Skype. ключенными к различным провай- даже находясь в одной локальной се-
Интерфейс программы достаточно дерам). ти, клиенты Skype умудрялись обме-
прост и понятен (см. рис. 2). нивались данными через «суперузел»
Первое, что мы сделаем, – найдем в Швейцарии, подключенный к Интер-
человека, с которым будем общать- нету с помощью беспроводной тех-
ся (можно искать по skype-именам нологии 802.11. (провайдер Monsoon
или просто найти пользователей в ре- Networks). Думаю здесь комментарии
жиме Skype-me, желающих поболтать), излишни.
и добавим его в список контактов. Пос- При тестировании по второй схе-
ле этого, нажав на зеленую кнопку вни- ме поведение клиента полностью со-
зу экрана, мы начнем звонить. В мо- ответствовало ожидаемому – данные
ем случае вызов проходил достаточно передавались напрямую между учас-
долго – около 10 сек. Кроме того, когда тниками (см. вариант «2» на рис. 1).
у вызываемого абонента было запуще- Субъективно качество речи было луч-
но несколько skype-клиентов на раз- ше, чем при разговоре по обычному те-
ных компьютерах (для Skype такая си- лефону, но все-таки хуже, чем у конку-
туация допускается), звонок иногда до- рентов (см. ниже).
ходил только до одного из них. Третья схема (см. «3», рис. 1) пол-
ностью повторила результаты первой,
Методика тестирования разве что география в этот раз бы-
Для каждой из рассматриваемых се- ла другой – Великобритания, Япония
годня программ проводился опреде- и США. Качество речи сильно меня-
ленный набор испытаний. В процес- лось от звонка к звонку – от полной
се каждого теста субъективно оце- Рисунок 2. Интерфейс skype-клиента невозможности разговора, до ред-
10
администрирование
ются на указанный в систе- го, но интенсивного тестиро-
ме e-mail. вания Call Out качество речи
Таким образом, сообще- было несколько хуже, чем при
ния голосовой почты также внутрисетевых звонках. При-
можно централизованно хра- чиной этому, судя по всему,
нить на любом почтовом сер- являлось транскодирование.
вере. В параметрах настрой- Дело в том, что подавляю-
ки Gizmo можно указать вто- щее большинство оборудо-
рой e-mail адрес, на который вания операторов не подде-
будут отсылаться уведомле- рживает даже открытый ко-
ния о пришедших голосовых дек iLBC, не говоря уже о ком-
сообщениях (так предлагает- мерческом ISAC и его собра-
ся реализовывать SMS-опо- тьях из пакета GIPS. Поэто-
вещения). При желании мож- му звонки перед терминаци-
Рисунок 5. Отображение положения участников разговора
но настроить безусловную на карте мира ей скорее всего подвергаются
переадресацию входящих транскодированию на одном
звонков на другой номер, в том чис- места – реализованные возможности из серверов SipPhone, которое и при-
ле и номер ТФОП (в этом случае або- STUN оптимальны с точки зрения сов- водит к некоторому ухудшению качес-
нент будет оплачивать все переадре- местимости с другими устройствами тва речи. С другой стороны, благодаря
суемые звонки по соответствующему сети. Впрочем, это вовсе не означает, транскодированию даже пользователи
тарифу для Call Out). что специальные расширения функци- с низкоскоростными интернет-канала-
Другой приятной особенностью ональности для лучшей совместной ми могут делать call-out-звонки с при-
Gizmo является отображение учас- работы Gizmo из-за NAT невозможны емлемым качеством.
тников разговора на карте мира в принципе… Для услуг междугородной и меж-
(см. рис. 5). Для этого использует- дународной телефонии SipPhone,
ся интерфейс системы Google Maps. Групповое использование как и другие подобного рода компании,
К слову реализация этой возможности Одним из таких «расширений» мож- скорее всего использует возможнос-
тоже имеет мелкие недостатки. Так при но считать службу Bonjour. Послед- ти крупных операторов IP-телефонии.
совершении звонков через Call Out на няя является реализацией открыто- Как правило, последние для передачи
карте вместо расположения вызыва- го протокола IETF Zeroconf и активно голоса используют выделенные сети
емого абонента (которое достаточно используется в MacOS X для простой IP MPLS, поэтому проблем с ухудше-
точно можно определить по номеру работы с сервисами в локальной сети нием качества на их участке не воз-
телефона) показывалась точка в США (сетевые настройки компьютеров, ра- никает и наибольшее влияние все-та-
(предположительно точка установки бота с файлами и принтерами, обмен ки оказывает состояние интернет-ка-
шлюза, соединяющего SipPhone c тра- музыкой и картинками). С помощью нала между клиентом и сервером
диционными сетями). этой службы клиенты Gizmo Project SipPhone. На данный момент серверов
могут напрямую передавать голосо- SipPhone, работающих за пределами
Работа с NAT вой трафик при звонках в рамках од- США, обнаружено не было – при раз-
В этом пункте Gizmo Project продол- ной подсети. говорах голосовые пакеты всегда пе-
жает следовать идее максимально- Некоторые пользователи сообща- редавались через единственный сер-
го использования уже существующих ли о проблемах в работе управляе- вер, расположенный в США. (Справед-
и проверенных технологий. При рабо- мого оборудования D-Link, возникаю- ливости ради нужно отметить, что при
те с клиентами, находящимися за NAT, щих после установки Bonjour (вместе прочих равных условиях качество речи
используется открытый протокол с Gizmo Project или Apple iTunes) [5], по- в Gizmo при проведении тестирования
STUN. Правда, как показало практи- этому если возможность прямых раз- из-за NAT было лучше, чем у Skype, ис-
ческое исследование поведения теку- говоров в локальной сети вам не нуж- пользующего для транзита «суперуз-
щей версии Gizmo, возможности STUN на, а потенциально «проблемное» обо- лы» в Японии, Европе и США.)
реализованы далеко не полностью – рудование имеется просто деинстал-
только для передачи данных между лируйте эту службу с помощью про- А все ли хорошо
клиентом за NAT и интернет-сервером граммы TurnOffBonjour.exe, входящей в американском королевстве…
сети SipPhone. В этом случае на качес- в стандартную инсталляцию Gizmo. К сожалению, при работе с Gizmo
тво речи значительное влияние будет не обошлось и без большой ложки де-
оказывать взаимное расположение Особенности терминации гтя. Во-первых, программа действи-
клиента и сервера. Последний, к сло- Для тестирования услуги звонков тельно является бета-версией (а мес-
ву, находится в США. на обычные телефоны все вновь ре- тами даже и альфа), особенно в пла-
Если же вспомнить, что в сети гистрирующиеся пользователи полу- не стабильности. Так, клиент несколь-
SipPhone помимо клиентов Gizmo так- чают на счет 35 центов. Стоимость ко раз произвольно завершал свою ра-
же работают обычные шлюзы и IP-те- звонка в Россию – 7 центов, тарифика- боту (особенно часто при попытке от-
лефоны, то все сразу встает на свои ция – поминутная. В процессе коротко- правки IM-сообщений на русском язы-
Google Mail. Для получения последней Google особенно интересен. Если Таким образом, возможно, уже сей-
нужно попросить любого знакомого Skype использует собственный за- час в клиенте Google Talk есть подде-
с почтой Gmail прислать вам пригла- крытый протокол, а Gizmo Project – ржка популярного в мире IP-телефо-
шение. К сожалению, других офици- стандартный для IP-телефонии SIP, нии кодека G723! С точки зрения здра-
альных способов регистрации в Gmail то в основе Gtalk лежит протокол вого смысла это может означать од-
для людей, проживающих за предела- Jabber/XMPP, широко используемый но – интеграция с телефонными сетя-
ми США, на данный момент нет. Open Source-сообществом для пере- ми не за горами. Причем благодаря то-
После получения приглашения дачи мгновенных сообщений. Благода- му, что поддержка кодека есть непос-
и успешной регистрации можно войти ря этому совместно с Google Talk гипо- редственно в клиенте, отпадает не-
в Gtalk. Интерфейс программы типичен тетически можно использовать абсо- обходимость в перекодировании ре-
для Google – просто, удобно и в то же лютно любой Jabber-клиент. Список га- чи, что для конечных пользователей
время красиво (см. рис. 6). рантированно работающих альтерна- должно отразиться в более высоком
Имеется традиционный список тив можно найти на соответствующем качестве речи при разговорах с або-
контактов, для его наполнения можно разделе сайта google [6]. Клиенты бу- нентами телефонных сетей. Главное,
использовать адресную книгу Gmail дут работать с сервером Google, поэ- чтобы версия в клиенте Google оказа-
или просто ввести e-mail нужного че- тому создавать учетную запись в Gmail лась совместимой с тем, что называ-
ловека в поле поиска. Если введенный все равно придется. В будущем плани- ется G723.1 у телефонистов…
12
администрирование
NAT и STUN нию, возникают проблемы. Так, при уста- только в том случае, если узел за NAT
На сегодняшний день подавляющее чис- новке соединения с помощью SIP участни- сам предварительно посылал им какие-
ло компьютеров подключено к Интерне- ки диалога внутри SIP-сообщений указы- либо пакеты.
ту с использованием протокола четвер- вают IP-адреса и номера портов, которые Динамический NAT, ограниченный
той версии протокола IP. Одной из извест- будут использоваться для передачи RTP- по IP-адресам и портам. То же, что
ных проблем этой версии является нехват- пакетов. Если NAT-сервер не занимается и предыдущее, только ограничения за-
ка адресного пространства. Так, для адре- анализом содержимого пакетов на уров- даны более жестко: узел в Интернет мо-
сации в IPv4 используется 32 разряда, что не протокола (а именно так все известные жет отсылать пакеты только с того пор-
позволяет обращаться к 4 294 967 296 ус- реализации и поступают), то RTP-пакеты та, на который он предварительно что-
тройств. Для Интернет на стадии его за- просто не дойдут до адресата, ведь в SIP- то получил от узла из-за NAT.
рождения (20 лет назад) эта цифра ка- сообщениях будут указаны внутренние Симметричный NAT – все пакеты от
залось огромной. С позиции настоящего немаршрутизируемые адреса участни- внутреннего IP-адреса и порта к вне-
времени эта цифра уже не кажется столь ков. Для решения этой проблемы исполь- шнему IP-адресу и порту преобразуют-
большой, напротив, многие говорят о гря- зуется протокол STUN – Simple Traversal of ся в один и тот же IP-адрес и порт NAT-
дущей нехватке IP-адресов, особенно ког- UDP through NAT [9]. Его основная идея за- сервера. Отличие заключается в том,
да начнут появляться бытовые устройства ключается в том, чтобы дать возможность что при обращении к различным вне-
(телефоны, холодильники и другие предме- клиенту определить, что он находится за шним IP-адресам порты на NAT-серве-
ты бытовой техники), подключенные к Ин- NAT, а также сообщить ему IP-адрес и но- ре тоже будут изменяться. Таким обра-
тернету. Сейчас же для «экономии» час- мер порта, которые получатся после транс- зом, только один интернет-узел может
то используется механизм NAT – Network ляции внутреннего адреса сервером NAT. посылать пакеты узлу, находящемуся
Address Translation. Общую идею NAT мож- Имея эту информацию, клиент сможет сам за NAT-сервером.
но описать так: преобразование адресов правильно указать в SIP-сообщениях вне-
одной сети в адреса другой сети. В наибо- шний адрес и номер порта для передачи Для первых трех типов NAT можно с ус-
лее популярном частном случае (подклю- RTP-данных на сервере NAT. пехом использовать внешний STUN-сер-
чение локальной сети к Интернету) это бу- С точки зрения STUN выделяются 4 ос- вер, а вот для четвертого типа этот метод
дет трансляция внутренних адресов ло- новных типа реализации NAT-серверов: уже не поможет – номера портов, назнача-
кальной сети (10.0.0.0/8, 172.16.0.0/12, Динамический неограниченный NAT. емые для пакетов к STUN-серверу и второ-
192.168.0.0/16) в один внешний интернет- В этом случае все запросы от опреде- му участнику разговора, будут разными.
адрес, полученный от провайдера. Обраба- ленного внутреннего IP-адреса и пор- Единственным возможным здесь вариан-
тывая пакеты, NAT-сервер будет просто за- та отображаются на один и тот же вне- том является интеграция функциональнос-
менять «локальные» адреса клиентов сво- шний IP-адрес и порт. Кроме того, раз- ти STUN-сервера в прокси-сервер голосо-
им интернет-адресом, а при получении от- личные узлы Интернета могут послать вого трафика. В этом случае номера пор-
ветных данных из Интернета будет прово- пакеты узлу за NAT, отправляя их на со- тов будет возможно определить, и соеди-
дить обратное преобразование. При этом ответствующий порт NAT-сервера. нение будет установлено. Вам это еще ни-
для служб, работающих на уровне IP, ника- Динамический NAT, ограниченный чего не напоминает? Правильно! Именно
ких проблем не возникает – NAT прозрач- по IP-адресам. То же, что и предыду- так и работает механизм «суперузлов» сети
но меняет заголовки IP-пакетов. С прото- щее, за исключением того, что вне- Skype, позволяющий успешно работать да-
колами более высокого уровня, к сожале- шние узлы могут посылать пакеты же из-за симметричного сервера NAT.
Чего в Gtalk нет вать таковыми контакты Gmail мож- ализована не вся желаемая функцио-
Оценивать функциональность Google но лишь с очень большой натяжкой), нальность.
Talk достаточно сложно. Если в ряду крайне ограниченны возможности по-
его конкурентов рассматривать Skype иска абонентов (глобального катало- Российский путь
и Gizmo Project, то, безусловно, наибо- га нет, только личная адресная кни- Некоторое представление о том, как
лее существенным недостатком будет га из Gmail). развивается интернет-телефония в ми-
отсутствие связи с традиционной те- ре, мы получили, но что происходит
лефонной сетью. Если же конкурента- Статус и стабильность у нас? Говоря об интернет-телефонии
ми будут «мессенджеры» от Microsoft, На данный момент сервис Gtalk офи- в России, можно упомянуть, как мини-
AOL и Yahoo, то в сравнении с ними уже циально находится в стадии Beta. Од- мум, два проекта – Mail.Ru Agent и сеть
имеющиеся на данный момент воз- нако, как показало непродолжитель- sipnet.ru.
можности передачи голоса будут бо- ное, но достаточно интенсивное тес-
лее чем достаточны. тирование, детище Google на данный Mail.ru Agent
Что же касается других полез- момент более чем стабильно – за все Детальное изучение MRA показа-
ных, но пока отсутствующих функций, время испытаний не возникло ни од- ло, что он скорее является очеред-
то в Gtalk на данный момент нет аудио- ной ошибки. ным ICQ-клоном, ориентированным
и видеоконференций, нельзя исполь- Таким образом, приставка beta в первую очередь на обмен мгновен-
зовать эмотиконы, практически отсутс- в названии данной программы скорее ными сообщениями. Голосовые функ-
твуют профили пользователей (назы- означает то, что пока в программе ре- ции номинально имеются, но качество
«Sound by Global IP Sound» шее, по сравнению с конкурентами, качес- Как результат, при нехватке пропуск-
Такую фразу можно встретить в описании тво передачи речи». ной способности качество речи у вто-
большинства рассмотренных сегодня сис- А теперь, как говорится, вопрос на за- рого клиента будет лучше.
тем (кроме сети Тарио и агента Mail.Ru). Не- сыпку – если все рассмотренные сегод- Благодаря выбору более оптимального
которые пояснения по поводу смысла этой ня сети для передачи речи используют маршрута удалось найти такой путь до-
фразы можно найти на сайте [10]. Соглас- один и тот же набор кодеков от GIPS (а су- ставки пакетов, что задержка и процент
но размещенной там информации, предме- дя по официально доступной информа- потерь оказались меньше, чем у конку-
том деятельности компании Global IP Sound ции, так оно и есть), то почему же так от- рентов.
является разработка и лицензирование личается качество передачи речи в раз-
речевых кодеков IP-телефонии, обладаю- личных сетях? Первый случай скорее является край-
щих высоким качеством речи и более ус- Можно привести два варианта ответа ностью, и его суть кратко можно выразить
тойчивых к потерям IP-пакетов. Наиболее на этот вопрос: так – «ошибка проектировщиков и про-
известным кодеком этой компании яв- Используются различные алгоритмы граммистов».
ляется iLBC – Internet Low Bitrate Codec выбора конкретного кодека из паке- Второй вариант, при прочих равных ус-
(см. [11]), описание алгоритма работы ко- та, предоставляемого GIPS. Реаль- ловиях, может оказывать очень сильное
торого можно найти в RFC-3951. Другими, но это может означать следующее – влияние на качество. Так, разговаривать
но уже закрытыми, кодеками GIPS являют- там, где одна программа выбирает, через неизвестный узел в Японии или бес-
ся – iSAC, Enhanced G711, iPCM-wb. Более например, iLBC с размером потока проводного клиента в Швейцарии (Skype),
подробное описание их особенностей мож- 13.3 кБит/с, другая благодаря исполь- как правило, оказывалось хуже, чем через
но найти в [12], кратко информацию, при- зованию более совершенных методов выделенный сервер в США (Gizmo). Луч-
водимую в данном документе, можно вы- определения имеющейся пропускной шее же качество достигалось при переда-
разить так: «Закрытые кодеки при опре- способности выбрала менее требова- че данных напрямую между участниками
деленных условиях могут обеспечить луч- тельный ISAC с битрейтом 10 кБит/с. разговора (Google Talk).
их практической реализации (по срав- Работа с NAT ля он запросто может поставить в ту-
нению с тем же GTalk) оставляет же- Как видно из названия, сеть использу- пик – «интуитивного понимания» нет.
лать лучшего. Оценку голосовых воз- ет протокол SIP. Вариант борьбы с NAT Прежде чем что-либо сделать, реко-
можностей, к сожалению, произвес- стандартен – STUN. Сеть предостав- мендуется обязательно ознакомиться
ти не удалось – при нахождении або- ляет свой сервер (stun.sipnet.ru), кли- с соответствующим разделом встро-
нентов за NAT слышимость была ну- ентская часть протокола присутству- енной системы помощи. Кроме того,
левой. ет во всех популярных SIP-клиентах. часть настроек учетной записи доступ-
С технической точки зрения MRA По информации с официального сай- на в свойствах учетной записи сервера
использует собственный бинарный та, реализация STUN в sipnet.ru поз- CommuniGate PRO. Описание этих на-
протокол (на вид достаточно ICQ- воляет работать даже из-за симмет- строек приводится уже в другом мес-
подобный), что ограничивает круг ричного NAT, хотя на практике устано- те. Другими словами, в плане «друже-
его применения только абонентами вить соединение из-за NAT при помо- любного» интерфейса spinet еще есть
mail.ru. щи клиента x-lite мне не удалось. (хо- чему поучиться…
тя Gtalk, Skype и Gizmo соединялись Второй вариант использует те же
Sipnet.ru без проблем). узлы сети Tario, но уже для вызова або-
А вот этот проект, как оказалось, име- нентов sipnet. Позвонив на номер узла
ет самое что ни на есть непосредствен- Связь с телефонными сетями Tario в вашем городе и набрав добавоч-
ное отношение к теме нашего сегод- Связь с телефонными сетями возмож- ный SIP-номер абонента, вы можете
няшнего разговора. Сеть sipnet в неко- на в двух вариантах: позвонить любому пользователю сети
тором смысле можно считать россий- Звонки абонентов sipnet в ТФОП. sipnet. Если же абонент занят или не-
ским аналогом SipPhone. Так, с 27 ок- Звонки из ТФОП абонентам spinet. доступен, вы можете оставить ему со-
тября каждый желающий может бес- общение голосовой почты (для реали-
платно подключиться к сети sipnet.ru, Для «приземления» звонков в те- зации этой возможности используется
заполнив небольшую форму на веб- лефонные сети используется платфор- платформа CommuniGate PRO). Спи-
сайте. Собственного программного ма Tario Softswitch. Одной из ее осо- сок городов и номеров телефонов уз-
клиента (как Gizmo Project у sipphone), бенностей является то, что абоненты лов доступа на данный момент приво-
у sipnet нет, вместо это предлагается сами могут выбирать конкретные уз- дится только в личном кабинете або-
использовать бесплатные версии про- лы, через которые будут совершаться нента sipnet. Звонок на узел Тарио та-
грамм, поддерживающих протокол SIP их звонки (до появления sipnet эта воз- рифицируется как звонок на обычный
(CounterPath x-lite, Microsoft Messenger можность была доступна только опера- городской телефон.
и др). Также можно использовать ап- торам, работающим с Tario). Специа-
паратные голосовые шлюзы, причем листам интерфейс-платформы более Качество речи
юридическим лицам Sipnet готов пре- чем понятен (ведь для них это и дела- К сети могут подключаться любые SIP-
доставить их бесплатно. лось), а вот начинающего пользовате- совместимые клиенты. На официаль-
14
администрирование
Таблица 1. Сводная таблица возможностей Нет четкой политики относитель-
Возможности Skype Gizmo Project (Beta) Google Talk (Beta) Sipnet.ru* но использования мгновенных со-
Связь с телефонными сетями Да Да Да Да общений.
Возможность проведения
Да Да Нет Нет Общие недочеты в реализации
конференций
служб (неполная локализация), от-
Мгновенные сообщения Да Да Да Нет
Да, за дополнительную
сутствие https в личном кабинете,
Голосовая почта Да, бесплатно Нет Да, бесплатно
плату нетипичный интерфейс форума.
Дополнительные услуги Да, средствами
Да, за дополнительную
(переадресация, автоответчик Да Нет платформы
и т. д.)
плату
CommuniGate PRO Вместо выводов
Передача файлов Да Нет Нет Нет В заключение подведем краткий итог.
Возможность работы с другими
Нет Да Нет Да Самое большое преимущество Skype –
сетями
количество пользователей. Согласи-
Шифрация трафика Да Нет Нет Нет
тесь, довольно сложно использовать
Субъективная оценка работы
4 3 5 2
с NAT (максимум – 5 баллов) Gizmo, если все знакомые в Skype,
«Прямые звонки» между
Нет Да, с помощью Bonjour Да, с помощью STUN Неизвестно а если вспомнить, что Skype еще и за-
абонентами локальной сети
крыт, то надеяться на «мягкую» миг-
Да, с использованием Да, с помощью самой Да, с использованием
Возможность записи разговоров
средств 3-х фирм программы средств 3-х фирм
Нет
рацию и вовсе не приходится. Если же
Набор речевых кодеков
Да Да Да Нет
раньше вы и ваши друзья не пользо-
от Global IP Sound
вались интернет-телефонией, посмот-
Используемый протокол Собственный SIP XMPP SIP
рите на Gizmo Project или Google Talk.
Возможность контроля качества Номинально присутствует, Есть, работает
речи в реальном времени
Нет
но работает некорректно достаточно корректно
Нет
С помощью первого можно звонить
Отображение собеседников
Нет Да Нет Нет
на обычные телефоны, второй же мо-
на карте
жет прийтись по вкусу тем, кто допол-
Возможность расширения
функциональности
Да, через API Нет Нет Нет нительно хочет сменить (или получить)
Размер дистрибутива 7,2 Мб 9,3 Мб 960 Кб Неприменимо e-mail. Владельцам широкополосного
Потребление памяти при работе 18,4 Мб 14 Мб 2,6 Мб Неприменимо подключения к Интернету (128 кбит/с
Windows, MacOS X,
Windows 2000/XP, и выше) можно посмотреть в сторону
Поддерживаемые платформы MacOS X, Linspire Windows 2000/XP Неприменимо
Linux, Pocket PC sipnet, особенно если вам часто прихо-
Статус Release Beta Beta Неприменимо дится звонить, а в плане мгновенных
* Приводятся возможности только для сети Sipnet.ru. Sipnet – это не клиент, а открытая сеть и некоторые пункты к нему (как к сети) сообщений устраивает и ICQ.
не применимы
Более подробное сравнение воз-
ном сайте имеются инструкции по на- нации), но, насколько мне известно, та- можностей всех рассмотренных се-
стройке Microsoft Windows Messenger кого сервиса у sipnet.ru пока нет. годня клиентов можно найти в Таб-
и CounterPath X-lite. При работе с этими лице 1.
программами скорее всего придется Краткий итог
использовать самые неэкономичные Основные плюсы sipnet.ru: Литература и ссылки:
кодеки G711A и G711U (MS Messenger Бесплатные внутрисетевые звонки 1. http://investor.ebay.com/event.cfm.
других и не знает, а все остальное, и голосовая почта. 2. Salman A Baset, Henning Schulzrinne, An
что входит в x-lite, на практике не под- Дешевые междугородные и между- Analysis of the Skype Peer-to-Peer Internet
держивается терминирующими шлю- народные звонки. Telephony Protocol, September 2005.
зами провайдеров). Возможность звонков абонентам 3. http://www.connect.ru/article.asp?id=4997.
Как мы помним из [11], для такой сети sipnet через выделенные го- 4. http://www.imfederation.com.
связи нам понадобится канал свя- родские номера. 5. http://www.voipuser.org/forum_topic_
зи около 80 кБит/c в каждую сторону Возможность пополнения счета че- 2567.html.
(пользователям dial-up можно не бес- рез российские системы интернет- 6. http://www.google.com/talk/otherclients.
покоиться). расчетов. html.
Если же взять SIP-клиент или аппа- Дополнительные возможности (на- 7. http://www.imfederation.com.
ратный шлюз с поддержкой G723 или стройки маршрутизации, заказ 8. http://www.google.com/talk/developer.
G729, то можно без проблем пользо- звонков). html#protocols.
ваться междугородной связью, а вот Возможности группового исполь- 9. Rosenberg J, STUN – Simple Traversal
при разговорах с другими абонента- зования. of User Datagram Protocol (UDP) Through
ми сети трудности останутся – из-за ог- Network Address Translators (NATs),
раничений нашего канала мы не смо- Основные минусы sipnet.ru RFC3489, march 2003.
жем говорить с пользователями x-lite Нет удобного и интуитивно понят- 10. http://www.globalipsound.com.
и MS Messenger. ного интерфейса пользователя. 11. Платов М. Что важно знать об IP-теле-
В принципе эта проблема могла бы Нет четких правил относительно фонии. – Журнал «Системный адми-
решаться использованием централи- используемых кодеков. нистратор», №5, май 2005 г. – 20-25 c.
зованного перекодирования (как это, Сложности в работе dial-up-клиен- 12. Global IP Sound GIPS Codecs – http://www.
например, делает sipphone при терми- тов. globalipsound.com/datasheets/Codecs.pdf.
Сергей Супрунов
Протокол FTP предназначен для передачи файлов по сети. Существует множество очень
функциональных ftp-серверов, однако для использования в «личных» целях, как правило,
вполне достаточно возможностей входящей в состав FreeBSD программы ftpd.
П
рограмма ftpd представляет собой достаточно прос- Протоколом определены два режима взаимодействия:
той ftp-сервер. В отличие от таких инструментов, активный и пассивный, понимание которых крайне важно
как ProFTPd, PureFTPd и других, ftpd не имеет раз- в случае использования в сети брандмауэров.
витых средств конфигурирования, работы с правами до-
ступа и т. д. Однако если вы не собираетесь строить пуб- Активный режим работы FTP
личный ftp-сервер, то его возможностей вам вполне хва- В активном режиме процесс установления соединения
тит для организации «бытовых» функций, таких как обмен между сервером и клиентом выглядит следующим об-
файлами между сервером и вашей рабочей машиной, на- разом:
пример, для размещения HTML-страниц на веб-сервере Клиент с непривилегированного порта (с номером боль-
или настройки простейшего резервирования. ше 1024) отправляет запрос на порт 21 сервера (порт уп-
равления).
Начнем с теории После процедуры авторизации (команды USER и PASS)
Для начала давайте коротко ознакомимся с самим прото- клиент начинает прослушивать порт N и отправляет
колом FTP. Он описывается довольно объемным докумен- на сервер команду PORT, сообщающую ему, какой имен-
том RFC 959 и определен только для транспортного прото- но порт открыт.
кола TCP; UDP-реализации, в отличие от TFTP, нет. Сервер, получив команду PORT, устанавливает соеди-
Характерной отличительной особенностью FTP от дру- нение с указанным портом N со своего порта 20. Это со-
гих протоколов является то, что он для своей работы за- единение используется для передачи данных.
действует два порта – порт данных и порт управления.
Порт управления используется для установления соеди- Посмотрим, как это происходит на практике. Для эму-
нения между клиентом и сервером, для управления режи- ляции работы управляющего соединения вполне подой-
мами работы и т. д. дет стандартная утилита telnet. Чтобы посмотреть, как ра-
В то время как порт данных служит для передачи запра- ботает порт данных, воспользуемся небольшой програм-
шиваемой информации. мкой на Python:
16
администрирование
#!/usr/local/bin/python Теперь по команде LIST, запрашивающей список фай-
# lystener – скрипт для прослушивания указанного порта
лов в текущем каталоге, сервер устанавливает соедине-
import sys, socket ние с указанным портом (со стороны сервера используется
host = str(sys.argv[1]) порт 20) и передает запрошенные данные, которые и фикси-
рует наш сценарий. После выполнения команды соединение
port = int(sys.argv[2])
по порту данных разрывается, но управляющее соединение
s = socket.socket() сохраняется, пока не будет подана команда QUIT.
s.bind((host, port))
s.listen(1) Как видите, активный режим удобен для администра-
m = s.accept() тора сервера, поскольку при этом задействуются только
print 'Connected on', m[1]
порты 20 и 21 (причем инициализация соединения – только
while(1): на 21 порту), а остальные можно смело закрыть брандмау-
rsv = str(m[0].recv(256))
print rsv эром. С другой стороны, для клиента этот режим крайне не-
if rsv == '': приятен, так как вынуждает держать открытыми непривиле-
print 'No data more. Connection is closed.'
break; гированные порты. Поскольку общепринятой практикой яв-
ляется запрет любых входящих соединений на клиентские
m[0].close()
s.close() машины (а в случае работы через NAT вообще требуется
выполнять «проброс» внешних соединений до клиента либо
Этот скрипт будет прослушивать соединение на ука- организовывать работу в режиме прокси-сервера), то в этом
занном в параметрах командной строки порту и выводить плане более удобным является пассивный режим.
на экран всю полученную через созданный сокет инфор-
мацию. Пассивный режим работы FTP
Откроем две терминальные сессии, которые услов- В этом случае все соединения инициируются клиентом,
но назовем cmd (порт управления, обмен данными пока- что позволяет обойти ограничения, налагаемые обычно
зан зеленым шрифтом) и data (порт данных, соответству- брандмауэром и серверами NAT. Процесс организации со-
ющие строки – серые). Ввод пользователя выделен крас- единения теперь выглядит следующим образом:
ным шрифтом. На приведенном ниже листинге строки обо- Клиент с непривилегированного порта (с номером боль-
их терминалов показаны вперемежку, отображая хроноло- ше 1024) отправляет запрос на порт 21 сервера (порт уп-
гию их работы: равления).
После процедуры авторизации (команды USER и PASS)
cmd: serg$ telnet localhost 21
cmd: Trying 127.0.0.1...
клиент отправляет на сервер команду PASV, информи-
cmd: Connected to localhost. рующую о том, что он намерен работать в пассивном
cmd: Escape character is '^]'. режиме.
cmd: 220 myserver.ru FTP server (Version 6.00LS) ready.
cmd: USER username Сервер открывает непривилегированный порт и сооб-
cmd: 331 Password required for username. щает его номер клиенту.
cmd: PASS userpasswd
cmd: 230 User username logged in, access restrictions apply.
Клиент со своего порта N инициирует соединение на ука-
data: serg$ ./lystener localhost 25623 занный сервером порт, который и используется для об-
cmd: PORT 127,0,0,1,100,23 мена данными.
cmd: 200 PORT command successful.
cmd: LIST
cmd: 150 Opening ASCII mode data connection for '/bin/ls'. Чтобы смоделировать работу FTP-клиента в пассивном
data: Connected on ('127.0.0.1', 20)
режиме достаточно двух telnet-сессий:
data: total 8
data: drwxr-xr-x 2 0 0 512 Jun 4 2001 bin
data: drwxr-xr-x 2 1012 0 512 Sep 21 07:44 downdata cmd: serg$ telnet localhost 21
data: drwxr-xr-x 2 1012 0 512 Nov 12 2004 mankit cmd: Trying 127.0.0.1...
data: drwxr-xr-x 2 1012 0 512 Aug 26 04:58 updata cmd: Connected to localhost.
data: cmd: Escape character is '^]'.
data: cmd: 220 myserver.ru FTP server (Version 6.00LS) ready.
data: No data more. Connection is closed. cmd: USER username
cmd: 226 Transfer complete. cmd: 331 Password required for username.
cmd: QUIT cmd: PASS userpasswd
cmd: 221 Goodbye. cmd: 230 User username logged in, access restrictions apply.
cmd: Connection closed by foreign host. cmd: PASV
cmd: 227 Entering Passive Mode (127,0,0,1,245,5)
data: serg$ telnet localhost 62725
Итак, сначала мы устанавливаем соединение с пор- data: Trying 127.0.0.1...
том 21 сервера, проходим процедуру аутентификации. За- data: Connected to localhost.
тем запускаем во втором терминале наш скрипт lystener на data:
cmd:
Escape character is '^]'.
LIST
порту 25623 хоста localhost. Теперь даем серверу команду cmd: 150 Opening ASCII mode data connection for '/bin/ls'.
PORT, сообщая, на каком именно порту мы ждем соедине- data: total 8
data: drwxr-xr-x 2 0 0 512 Jun 4 2001 bin
ния. Обратите внимание на синтаксис команды: в качест- data: drwxr-xr-x 2 1012 0 512 Sep 21 07:44 downdata
ве аргументов указываются шесть октетов (первые четыре data: drwxr-xr-x 2 1012 0 512 Nov 12 2004 mankit
соответствуют IP-адресу хоста, последующие два – стар- data:
data:
drwxr-xr-x 2 1012 0 512 Aug 26 04:58 updata
Connection closed by foreign host.
ший и младший байты номера порта). В нашем случае порт cmd: 226 Transfer complete.
данных – 100*256 + 23 = 25623. cmd: QUIT
18
администрирование
Если же ни одно из приведенных выше условий не вы- командной строки. Если вы запускаете ftpd из inetd, добавьте
полнено, то в случае указания правильного пароля поль- нужные параметры в соответствующей строке файла inetd.
зователь получает ftp-доступ ко всей файловой систе- conf (по умолчанию там записан только ключ -l). Если же
ме согласно имеющимся у него правам. предпочтете воспользоваться приведенным выше сцена-
рием для запуска ftpd в режиме демона, то дополнительные
Анонимный доступ ключи можно указать в файле rc.conf, в строке ftpd_flags.
Чтобы разрешить анонимный доступ по FTP, вам потребу- Некоторые ключи, которые могут быть полезны:
ется вручную создать системного пользователя с именем -D: запускать ftpd в режиме демона.
ftp. У этого пользователя должна быть «легальная» оболоч- -a <адрес>: в режиме демона принимать соединения
ка (одна из указанных в /etc/shells), и он должен иметь до- только на указанный IP-адрес.
машний каталог, в котором и будут размещаться файлы, до- -d: включить режим отладки (подробная информация о ра-
ступные анонимному пользователю. Также у него не может боте будет выдаваться серверу syslog как LOG_FTP).
быть пустого пароля. По умолчанию, анонимный пользова- -h: не выводить информацию о системе в сообщениях
тель не может модифицировать или удалять существующие сервера.
файлы. Разрешено только создавать новые при условии, -l: протоколировать все сессии (обычно используется
что пользователь ftp будет иметь достаточно прав на запись. /var/log/xferlog).
Дополнительно регулировать доступ к каталогам и фай- -A: разрешить только анонимный доступ.
лам (например, полностью запретить запись в определен- -M: запретить анонимным пользователям создавать пап-
ную папку) можно силами операционной системы, выстав- ки.
ляя соответствующие права пользователю ftp. В частнос- -m: разрешить анонимным пользователям модифици-
ти, рекомендуется запрещать для пользователя ftp запись ровать существующие файлы (если для этого достаточ-
в его домашний каталог, чтобы исключить возможность пе- но системных прав).
реполнения раздела, на котором он размещен. -o, -O: разрешить только запись на сервер всем пользо-
вателям (-o) или только анонимному пользователю (-O).
Ограниченный доступ В частности, таким образом можно организовать сбор
В том случае, если имя пользователя присутствует в фай- с удаленных серверов файлов резервных копий, чтение
ле /etc/ftpchroot, то соответствующий процесс запускает- которых пользователями не предусмотрено.
ся в chroot-окружении, ограничивая пользователю доступ -r: перевести сервер в режим «только для чтения». Лю-
только его домашним каталогом (или тем, который указан бая модификация размещенных данных будет запре-
во втором поле файла ftpchroot). При необходимости орга- щена.
низовать такую работу для большого числа пользовате-
лей (например, дать всем абонентам доступ для обновле- Дополнительную информацию всегда можно найти
ния своих домашних веб-страничек), в ftpchroot можно ука- на странице руководства man ftpd(8).
зать общую для них группу, предварив ее имя символом @.
Во втором поле дополнительно может быть указан ката- Заключение
лог, который следует использовать в качестве корневого Как видите, ftpd вполне пригоден для решения большинства
для соответствующего пользователя или группы. Вот при- типовых задач по обмену файлами. Если ваши потребности
мер такого файла: не выходят за пределы его возможностей, то вряд ли имеет
смысл обременять систему установкой дополнительных па-
vasya кетов. Однако если вам требуется создать «промышленный»
petya /var/db/petya
@dialup FTP-сервер, позволяющий более гибко управлять правами
доступа, пользователями, параметрами передачи файлов,
Теперь Вася и все пользователи группы dialup смогут то воспользуйтесь более серьезным решением.
работать только в пределах своих домашних каталогов, а
для Пети в качестве рабочей будет определена указанная
папка /var/db/petya. С помощью разделителя /./ можно ука-
зать каталог, отличающийся от корневого, который ста-
нет текущим:
Алексей Барабанов
Автоматизация установки MS Windows до предела сокращает вмешательство оператора.
Можно сказать, что практически исключает. Но при встрече с нестандартным оборудованием
преимущество оборачивается непреодолимой, на первый взгляд, преградой.
В
серии статей на тему автоматизации работ в сре- системе устройства и нажать нужную клавишу. Тогда сис-
де MS Windows, опубликованных в нашем журнале тема остановит процесс установки и «попросит» устано-
[1, 2, 3, 4], не затронуты вопросы автоматической вить дискету с драйверами (рис. 2).
установки драйверов. В большинстве случаев это не ме- Увы, такой дискеты нет в дистрибутиве эмулятора, и ис-
шает работе, так как используемая операционная систе- пользование SCSI-диска не рекомендовано для виртуаль-
ма славится тем, что имеет в своем дистрибутиве очень ных машин MS Windows XP. Хотя, сам драйвер присутствует
широкий набор драйверов. И традиционно каждый изго- в составе VMWare Tools. Тогда подготовим дискету вручную.
товитель нового устройства стремится, чтобы его драйвер Сначала вставим чистый диск и сформатируем его:
был представлен в дистрибутиве MS Windows. А если по-
падается «несчастливое» устройство, которое там отсутс- # fdformat /dev/fd0
твует, то драйвер можно поставить и после, хотя это и пе- Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
реведет установку из статуса автоматической в рукотвор- Formatting ... done
Verifying ... done
ную. Но, увы, дело оборачивается полным крахом, если
в качестве «незнакомого» для этой чудной ОС выступает # mkdosfs /dev/fd0
устройство, на которое далее предполагается установка, mkdosfs 2.10 (22 Sep 2003)
Device mounted using subfs, please do not access it while creating filesystem
то есть дисковый накопитель или его контроллер.
Далее всё будем рассматривать на примере созданно- # umount /dev/fd0
# mkdosfs /dev/fd0
го ранее, как указано в перечисленных выше статьях, дис-
трибутивного диска MS Windows XP Professional для авто- mkdosfs 2.10 (22 Sep 2003)
20
администрирование
ние и нажмем «S», как требуется. Система прочтет содер-
жимое диска и предложит подтвердить выбор (рис. 3) на-
жатием «Enter».
Далее система предложит добавить еще какие-нибудь
устройства (рис. 4), на что в нашем случае ответим отка-
зом опять же путем нажатия «Enter».
К сожалению, все перечисленные действия не приве-
дут к успеху. Поскольку в использованном диске автома-
тической установки нет возможности указать иное уст-
ройство загрузки дистрибутивных файлов, чем CD-ROM
и в ответ на запрос, где искать использованный драйвер
vmscsi.sys (рис. 5), приходится или прекращать установку Рисунок 1. Не найдено ни одного дискового устройства
вообще, или, понадеявшись на «авось», пропускать копи-
рование этого файла.
И так как теперь для работы второй фазы установки сис-
темы нужны еще и использованные драйвера SCSI, то не-
удачный финал предопределен (рис. 6).
Ничего не остается, как обратиться к источникам [5, 6, 7].
Здесь можно и закончить нашу историю, мол, читайте и воп-
лощайте. Но, к сожалению, информация с [5] весьма скуд-
на, с [6] противоречива и местами ошибочна, а с [7] откро-
венно наивна, как всякий дословный перевод техническо-
го источника. Хотя, безусловно, если нужно узнать и по-
нять все, то и прочесть кроме этой статьи придется также
все перечисленное.
Добавляем драйверы
устройств загрузки
Итак, проблема заключена в том, что установщик ОС дол- Рисунок 2. Запрос дискеты с драйверами
жен использовать драйвера применяемых дисковых ус-
тройств в процессе установки и далее. В данном случае
все нужные файлы содержатся в /mnt/program\ files/VMware/
VMware\ Tools/Drivers/scsi/win2k. Обычно драйвера постав-
ляются в виде исполняемого бинарного файла с суффик-
сом sys, далее обязательно есть файл с описанием и суф-
фиксом inf, и возможно еще некоторые файлы. Но все они
должны быть упомянуты в строках inf-файла обычно в сек-
ции [SourceDiskFiles]. Иногда все это еще и сопровождается
файлом с цифровой подписью – файл с суффиксом cat.
Точно следуя первой части рецепта с [8], внесем необхо-
димые изменения в файл TXTSETUP.SIF. Нахождение это-
го файла и все сопутствующие проблемы сборки готового
диска с ним уже обсуждались в [1,2,3,4] и здесь мы не бу-
дем еще раз это рассматривать. Вот модификация в фор-
мате, пригодном для автоматического патчирования:
Рисунок 3. Выбор драйвера с дискеты
# diff -Naur TXTSETUP.SIF.orig TXTSETUP.SIF +
*PNP0300 = "i8042prt",{4D36E96B-E325-11CE-BFC1-08002BE10318}
--- TXTSETUP.SIF.orig 2005-10-27 10:15:56.000000000 +0400 *PNP0301 = "i8042prt",{4D36E96B-E325-11CE-BFC1-08002BE10318}
+++ TXTSETUP.SIF 2005-10-29 21:32:40.000000000 +0400 *PNP0302 = "i8042prt",{4D36E96B-E325-11CE-BFC1-08002BE10318}
@@ -206,6 +206,9 @@ @@ -19281,6 +19286,7 @@
isapnp.sys = 1,,,,,,3 _ ,4,1,,,1,4 dac2w2k = dac2w2k.sys,4
22
администрирование
здателя загрузочного диска. Система сама выберет из это-
го списка те, что соответствуют реально присутствующим
в компьютере устройствам.
# ls -l /uawsp2/\$OEM\$
total 180
drwxr-xr-x 4 root root 4096 Mar 22 2005 $$
drwxr-xr-x 6 root root 4096 Oct 31 00:11 $1
drwxr-xr-x 5 root root 4096 Oct 30 22:21 .
drwxr-xr-x 5 root root 4096 Apr 21 2005 ..
-rw-r--r-- 1 root root 118272 Dec 31 2002 AutoIt3.exe
-rw-r--r-- 1 root root 27 Mar 28 2005 Cmdlines.txt
Рисунок 9. Установка драйвера vmmouse drwxr-xr-x 3 root root 4096 Oct 30 22:21 Drivers
-rw-r--r-- 1 root root 264 Oct 5 22:51 Drivers.au3
В формате WINNT.SIF используется 8-битная кодиров- -rw-r--r-- 1 root root 20992 Dec 31 2002 SetupCopyOEMInf.exe
-rw-r--r-- 1 root root 3584 Dec 31 2002 WatchDriverSigningPolicy.exe
ка. Для России это cp866. Хотя достаточно добавить циф- -rw-r--r-- 1 root root 113 Mar 28 2005 mkusers.cmd
ровой префикс к имени директории с драйверами, посколь-
ку порядок цифр в всех кодировках совпадает. По мнению Как уже было сказано, в Drivers кладутся нужные драй-
авторов [10], логика работы системы такова: так как драй- веры. AutoIt3.exe – это интерпретатор скрипта Drivers.au3:
вера чипсета необходимы для работы многих других ус-
тройств, то установка в первую очередь зависимых уст- # cat /heap2/unattended-win/uawsp2/\$OEM\$/Drivers.au3
ройств не произойдет должным образом, если еще не ус- ProcessSetPriority("setup.exe",0)
тановлены драйвера основных. Run(@ScriptDir & "\WatchDriverSigningPolicy.exe")
ProcessWait("WatchDriverSigningPolicy.exe")
Но проблема с неустановленными драйверами vmmemctl. RunWait(@ScriptDir & "\SetupCopyOEMInf.exe Drivers")
sys и vmmouse.sys таким путем не решается. Так как эти ProcessClose("WatchDriverSigningPolicy.exe")
ProcessSetPriority("setup.exe",2)
драйвера проиграли конкуренцию в PnP тем, которых пред-
почел PnP-резолвер, использовавший информацию из INF- А SetupCopyOEMInf.exe и WatchDriverSigningPolicy.exe –
файлов. И эти драйвера приходится добавлять вручную че- это простенькие программки, первая из которых выполня-
рез «Мастер обновления оборудования». Выбираем «Уста- ет соответствующий системный вызов [14], а вторая избав-
новку из указанного места» и режим «Не выполнять поиск. ляет от диалога с вопросом о доверии поставщику в слу-
Я сам выберу нужный драйвер» (см. рис. 9). чае нахождения неподписанных драйверов.
Получается, что драйвер манипулятора мышь изVMWare Для запуска указанных программ используется следую-
не был установлен, но прошел этап регистрации. Иначе го- щая последовательность строк, записываемых в WINNT.SIF
воря, логика работы системы иная, чем это предполагают в секции [GuiUnattended]:
авторы [10]. Система регистрирует все драйвера. И как
только после установки некоторых из них появится воз- DetachedProgram="%windir%\system32\cmd.exe"
Arguments="/Q /C FOR /F %I IN (%SystemRoot%\SYSTEM32\ ↵
можность установки зависимых, то это произойдет да- $WINNT$.INF) DO (FOR %J IN (%I$OEM$) DO (IF EXIST %J ↵
же, если в последовательности сортировки имя директо- start /min /D%J Autoit3.exe Drivers.au3)))"
рии с главными драйверами получило очередность пос-
ле директории с зависимыми. Удивительно, что фантазия Этот набор символов, который можно детально ра-
с цифровыми префиксами повторяется из рецепта в ре- зобрать с помощью [15], приводит к запуску скрипта
цепт на [6] и [7]. Drivers.au3 в фазе T-39 [3] процесса установки. После че-
Тем не менее метод регистрации всех драйверов зара- го все драйверы с установочного диска регистрируются в
нее без учета их так называемой очередности был успеш- базе драйверов и далее участвуют в установке. Именно
но реализован. «участвуют»! То есть и этот метод не приводит к гаранти-
руемой установке конкурентных драйверов. Иначе говоря,
Добавляем драйверы устройств установка идет все также на основании информации из INF-
через DetachedProgram файлов. Единственное преимущество в том, что драйверы
Существует еще один способ подгрузить в автоматическом размещаются на CD в произвольной структуре директорий
режиме драйверы в устанавливаемую систему. В секции и в процессе установки не копируются на диск вовсе.
[GuiUnattended] можно указать опцию DetachedProgram [11], Не стоит забывать, что хотя все драйверы регистрируют-
в которой описать программу, запускаемую параллельно ся в системной базе, но те, что не подключаются в процес-
с выполнением основной программы setup.exe. Этот метод се установки, остаются на дистрибутивном диске. И именно
установки драйверов подробно описан в [12]. Там же приве- там система далее ожидает их найти. То есть для VMWare та-
дена ссылка на архив необходимых программ [13]. Его на- ким местом будет «D:\$OEM$\Drivers\...». Значит, если далее
до загрузить и распаковать в директорию $OEM$ устано- предполагается проблемный драйвер установить вручную,
24
администрирование
то потребуется или оставить дистрибутивный диск в лотке составу используемого оборудования. Ну а поскольку все
дисковода, или позаботиться об обязательном подключе- работы по созданию такого диска выполнялись в среде GNU
нии компьютера к сети. Поэтому предлагается композит- Linux, то после приобретения нового и неизвестного ком-
ный вариант, описанный далее. пьютера нужно лишь попросить установить диск с драйве-
рами от него в локальный привод компьютера с GNU Linux,
Практические выводы затем в сеансе удаленного подключения через SSH доба-
Как уже было сказано выше, с проблемой специальных вить новые драйвера в рабочую директорию для создания
драйверов приходится сталкиваться лишь только оборудо- загрузочного CD и записать новую версию диска автома-
вание выйдет за стандартную Intel-архитектуру простень- тической установки для этой локальной сети с учетом но-
ких компьютеров общего применения. Можно подготовить- вого компьютера. Вот и все! Далее все операции автомати-
ся заранее, а можно принять меры сразу же после получе- зированы, как описано в [3, 4]. И ваше удаленное админис-
ния нового оборудования. трирование станет безграничным настолько, что его мож-
Первым делом надо взять диск с драйверами, постав- но будет осуществлять даже с пляжа Мондраго на остро-
ляемый с оборудованием, и найти там драйверы дисковых ве Майорка через GPRS-роуминг с мобильного телефона
устройств и контроллеров. Их следует устанавливать ме- с Nokia 6670. Правда, придется купить к телефону беспро-
тодом, описанным в разделе «Добавляем драйверы уст- водную клавиатуру, но... это уже детали!
ройств загрузки». Все файлы *.sys копируются в $OEM$,
и, пользуясь информацией из соответствующих *.inf, вно- Литература и ссылки:
сятся модификации в TXTSETUP.SIF. Здесь еще одна под- 1. Барабанов А. Автоматизация MS Windows, или Autoit как меч-
сказка. Все, кто внимательно читал, должны были уже дога- та эникейщика. Часть 1. – Журнал «Системный администра-
даться, что установщик ОС считывает файл TXTSETUP.SIF тор», №4, апрель 2005 г. – 11-15 с.
целиком и анализирует его. Другими словами, нет необхо- 2. Барабанов А. «Автоматизация MS Windows, или Autoit как меч-
димости выискивать в этом полумегабайтном файле тре- та эникейщика. Часть 2. – Журнал «Системный администра-
буемые секции и добавлять в них строчки, как предлагает- тор», №5, май 2005 г. – 54-58 с.
ся в [6, 7]. Достаточно просто дописать к файлу новые сек- 3. Барабанов А. «Автоматизация MS Windows, или Autoit как меч-
ции с нужными ключами. Система сама во всем разберет- та эникейщика. Часть 3. – Журнал «Системный администра-
ся и соединит все одноименные секции в одну. Драйверы тор», №6, июнь 2005 г. – 25-31 с.
остальных периферийных устройств, видеоадаптеры, се- 4. Барабанов А. «Автоматизация MS Windows, или Autoit как меч-
тевые карты, модемы и прочее копируются вместе со все- та эникейщика. Часть 4. – Журнал «Системный администра-
ми сопутствующими файлами внутрь директории с любым тор», №7, июль 2005 г. – 46-47 с.
мнемоническим именем, располагаемой в $OEM$\Drivers 5. Оригинальная информация по созданию дисков автомати-
так, как описано в разделе «Добавление драйверов уст- ческой установки MS Windows – http://www.microsoft.com/
ройств через DetachedProgram». И соответственно моди- resources/documentation/WindowsServ/2003/all/techref/en-us/
фицируется WINNT.SIF для запуска установочного скрип- Default.asp?url=/Resources/Documentation/windowsserv/2003/
та Drivers.au3, который также вместе со всеми прилагае- all/techref/en-us/W2K3TR_unatt_how.asp?frame=true&hidetoc=
мыми программами помещается в $OEM$. true.
Узнать заранее, какие драйверы будут проигнориро- 6. Сайт с источником знаний и откровений по автоматизации ус-
ваны в процессе автоматической установки, невозмож- тановки MS Windows – http://unattended.msfn.org.
но, и поэтому на начальном этапе подготовку установоч- 7. Русский перевод и адаптация информации с unattended.msfn.
ного диска можно было бы считать завершенной. Если org – http://oszone.net/display.php?id=2747.
после инсталляции ОС на жесткий диск компьютера выяс- 8. Перевод статьи об интеграции дисковых драйверов – http://
нится, что некоторые особенно нужные драйверы не бы- oszone.net/display.php?id=2782.
ли установлены, то их следует далее устанавливать так, 9. Перевод статьи о параметрах [SourceDisksFiles] – http://oszone.
как описано в разделе «Добавление драйверов устройств net/display.php?id=3123.
через OemPnPDriversPatch», но при этом запретить уда- 10. Перевод статьи об установке через WINNT.SIF – http://oszone.
ление директории с драйверами из WINNT.SIF в секции net/display.php?id=2781.
[GuiRunOnce]. Тогда нужные драйверы зарегистрируются 11. Описание опций WINNT.SIF в секции GuiUnattended – http://
и далее можно будет их доставить прямо с жесткого дис- www.microsoft.com/technet/prodtechnol/windowsserver2003/
ка компьютера в сеансе удаленного подключения к рабо- library/TechRef/755f8019-165a-4a50-802d-d1b116e91e7a.mspx.
чему столу. И здесь снова подсказка. Поскольку есть ка- 12. Drivers from CD (AutoIt method) – http://www.msfn.org/board/index.
тегория устройств, которые подключаются динамически, – php?showtopic=51406.
модемы, сканеры, принтеры, и драйвера таких устройств 13. Архив DriversAutoit.zip – http://www.msfn.org/board/index.php?
могут быть затребованы работающей системой в процес- act=Attach&type=post&id=9070.
се эксплуатации, то их тоже следует разместить в неуда- 14. Описание SetupCopyOEMInf – http://msdn.microsoft.com/library/
ляемой директории $OEM$\$1\Drivers. Будучи зарегистри- default.asp?url=/library/en-us/setupapi/setup/setupcopyoeminf.
рованными, эти драйверы установятся при первом исполь- asp.
зовании подключаемого устройства. 15. Справочник по опциям командной строки MS Windows XP –
Таким образом, в каждой локальной сети должен нахо- http://www.microsoft.com/resources/documentation/windows/xp/
диться установочный диск, модифицированный согласно all/proddocs/en-us/if.mspx.
Алексей Мичурин
Потеря MBR – наверное, самая досадная потеря. Порча считанных байт полностью
парализует абсолютно исправную систему. Если вы активно экспериментируете с
операционными системами, то знакомы с такой ситуацией не понаслышке. Существует
простое и универсальное решение на основе GRUB, способное спасти ситуацию минимальными
средствами и силами.
М
ы обсудим пути решения про- Первое, что загружает BIOS с жёс- и исключения (например, Boot Easy –
блем, возникающих при за- ткого диска, – это MBR, самый пер- стандартный загрузчик для FreeBSD).
грузке системы. Поэтому спер- вый сектор диска. В MBR содержатся Загрузочная запись партиции
ва вкратце рассмотрим этот процесс. таблица разделов диска и небольшая обычно составляет один сектор –
программа, которой и передаёт управ- 512 байт (однако и тут есть исключе-
Процесс загрузки ление BIOS. ния, например, QNX). Нередко этот за-
Начнем с основных этапов загрузки Этот загрузчик анализирует табли- грузчик уже «умеет» работать с файло-
операционных систем на платформе цу разделов и считывает загрузочный вой системой, он в состоянии подгру-
PC, разберёмся, какие возможны от- раздел одной из партиций. Обычно вы- зить собственные модули и способен
казы и как их избежать. бирается активная партиция, хотя есть загрузить ядро или другую программу,
26
администрирование
осуществляющую настрой- няли настройки, удалили или
ку и запуск ядра (например, переместили какие-то файлы,
loader во FreeBSD). установили новую версию ПО
На рис. 1 показаны схе- и не обновили загрузочные
мы загрузки трёх ОС. Изоб- записи, произвели тонкую на-
ражённая структура диска стройку файловой системы,
предельно проста: нет расши- изменив её параметры.
ренной партиции, нет разде- Причины можно перечис-
лов подкачки и прочих дета- лять бесконечно. Для разных
лей. Имеется только три пар- ОС они специфичны и зависят
тиции, на каждой из которых не только от возможностей
установлена своя ОС. загрузчика, но и от особен-
Windows/DOS загружает- ностей файловой системы.
ся согласно описанной схеме.
MBR-код считывает загруз- Другие отказы
чик с партиции, а тот считы- Некоторые системы (напри-
вает и запускает программу- мер, FreeBSD) используют
загрузчик ядра. дополнительные фазы за-
Linux загружается по такой грузки. На этих фазах тоже
же схеме. Заметьте, в MBR могут возникнуть проблемы.
и в загрузочной области пар- Но из своего опыта могу ска-
тиции могут быть разные за- зать, что чаще всего страда-
грузчики. Так в MBR может Рисунок 1. Схема загрузки. На диске три раздела, в которых ют ранние фазы, которые де-
установлены Windows, Linux и FreeBSD
находиться Boot Easy, а для лят между собой разные ОС.
загрузки ядра при этом будет исполь- свой собственный загрузчик, который Экзотические промежуточные за-
зоваться LILO, хотя в пакет LILO, ко- в состоянии загрузить только её. грузчики как раз мало кому известны,
нечно, входит собственный MBR-за- Ск ла д ыв аетс я з нако ма я мно - и их практически никто «не трогает».
грузчик. гим ситуация: чтобы загрузить Linux Когда отработали все загрузочные
Загрузка FreeBSD идёт по чуть бо- (или другую, отличную от Windows ОС), секторы, могут возникнуть проблемы
лее сложной схеме. Согласно стандар- вам надо восстановить LILO (или дру- с ядром. В этой статье мы не будем де-
тной процедуре, MBR-код (в терминах гой, отличный от Windows-загрузчи- тально рассматривать эти вопросы, со-
FreeBSD «boot0») загружает boot1-код ка), а чтобы восстановить LILO – за- средоточившись только на процессе
из партиции. Но во FreeBSD предус- грузить Linux. загрузки. А проблемы ядра отнесём
мотрено разбиение партиции на под- Вторая часто встречающаяся си- к разряду проблем ОС.
разделы (в терминах FreeBSD парти- туация: вы решили усовершенство-
ция называется «слайс», а подпарти- вать загрузчик, но забыли включить Live CD: он ли нам нужен?
ция – «партиция»). Поэтому процесс в нём жизненно важную функцию. Итак, ваша ОС цела, но загрузчик ис-
повторяется в уменьшенном масшта- Например, вы могли нас траи- порчен, и загрузиться вы не можете.
бе: загрузчик boot1 считывает и запус- вать стандартный загрузчик FreeBSD Вам требуется восстановить загруз-
кает код boot2 из подпартиции. Boot2 (с помощью команды boot0cfg) и за- чик. Решение «всё переустановить»
загружает программу loader, которая быть включить поддержку больших не подходит, ведь при этом вы поте-
конфигурирует и запускает ядро. винчестеров (ключ -o packet), которая ряете данные.
Как видите, за исключением неко- по умолчанию отключена. После пере- Первое, что приходит на ум, – вос-
торых деталей, процедуры загрузки са- загрузки вы обнаружите, что или ниче- пользоваться загрузочным диском. Ес-
мых разных ОС весьма схожи. И сбои го не загружается, или доступна только ли у вас имеется «спасательный» CD
в процессе загрузки часто имеют оди- ОС из первой партиции. А это, скорее от вашей ОС, то скорее всего он вам
наковую природу. всего, Windows, которая никак не помо- поможет. После загрузки можно смон-
жет вам исправить ситуацию. тировать партицию с «потерянной» ОС
Возможные сбои и выполнить команду chroot. После это-
при загрузке Второй шаг загрузки го вы окажетесь в привычной среде.
Систематизировать сбои проще все- Следующий этап более «интеллекту- К сожалению, этот приём может
го по фазам загрузки, на которых они ален», и здесь могут случиться самые не сработать. Чаще всего, магическо-
случаются. разные поломки. го диска просто не оказывается под ру-
Этот загрузчик уже считывает дан- кой в нужный момент. Для комфорт-
Первый шаг загрузки ные, расположенные в файловой сис- ной работы вам скорее всего придёт-
С утратой главного загрузчика (MBR) теме (он может «знать» физическое ся скорректировать переменные ок-
сталкиваются все, кто устанавливает расположение данных или с файла- ружения PATH, PAGER, EDITOR, LANG
Windows. Эта ОС не предоставляет ни- ми), поэтому он может потерять рабо- и другие. Могут понадобиться и другие
какого выбора и всегда устанавливает тоспособность из-за того, что вы поме- (порой неожиданные и не очевидные)
28
администрирование
гие. Все эти обстоятельства следует зование команды initrd. Ядра NetBSD Опция -R подключает расширение
учесть при создании конфигурацион- и OpenBSD не распознаются, если они Rock Ridge.
ного файла. В тексте title лучше оста- скомпилированы не как a.out, а как ELF. Опция -jcharset эквивалентна паре
вить напоминание, где GRUB будет ис- Чтобы загрузить ELF-ядро, его тип сле- опций -J и -input-charset. Первая –
кать ядро. Так вы избежите многих не- дует указывать явно: включает использование Joliet-
доразумений и неожиданностей. записей, хранящих имена фай-
Секция «Windows» устроена иначе. kernel --type=netbsd /boot/netbsd-elf лов и директорий в Unicode, а вто-
Это связано с тем, что в данном слу- рая – задаёт исходную кодировку
чае GRUB может взять на себя только QNX отличается двухкилобайтным для корректного преобразования
функции первого загрузчика (MBR). загрузчиком, поэтому аргумент коман- в Unicode. Эти опции всем хорошо
Командой rootnoverify мы устанавли- ды chainloader должен быть скоррек- знакомы.
ваем корневое устройство, но не мон- тирован: Опция -b указывает имя файла-об-
тируем его. Далее загружаем первый раза загрузчика (все пути указыва-
сектор (команда chainloader), в кото- chainloader +4 ются относительно корня файловой
ром и содержится загрузчик. И в за- системы компакт-диска).
ключение делаем партицию актив- Одним словом, заглянуть в доку- Опция -c задаёт имя служебного
ной (makeactive), DOS/Windows к это- ментацию никогда не помешает. файла, который будет создан са-
му не равнодушен. мой mkisofs. Он в какой-то степени
Вообще-то по такой же схеме мож- Создаём ISO-образ выполняет роль первого загрузчи-
но загружать и другие ОС. Например, Давайте создадим временную дирек- ка. Эту опцию можно и не исполь-
загрузить FreeBSD, заменив только торию и назовём её для определён- зовать, тогда файл будет создан
первый загрузчик, можно так: ности iso. В ней мы подготовим дере- в корне файловой системы.
во каталогов, подлежащее переносу Опция -no-emul-boot говорит о том,
title FreeBSD на CD. Нам понадобится два файла: что при загрузке не надо эмулиро-
rootnoverify (hd0,0)
chainloader +1 iso/boot/grub/menu.lst – конфигураци- вать дисковод. Существуют про-
онный файл, который мы только что со- цедуры загрузки, при которых
После выполнения этих команд здали, и iso/boot/grub/stage2_eltorito – CD-ROM рассматривается как дис-
GRUB передаст управление boot1-про- файл из дистрибутива GRUB. В при- ковод «A:», что позволяет старым
цедуре, и загрузка пойдёт по естест- нципе, файл stage2_eltorito можно бы- загрузчикам чувствовать себя
венному для FreeBSD сценарию. ло бы поместить и в любое другое мес- как дома. У нас другой случай.
Чаще всего такие приёмы не оправ- то файловой системы, но вот файл Опция -boot-load-size указывает
даны, и лучше использовать все име- menu.lst должен находиться именно длину загрузчика, вернее, части
ющиеся возможности GRUB, но быва- в директории /boot/grub/. загрузчика, которую следует счи-
ют и исключения. Например, вы може- Кроме того, на этом диске можно тать в память.
те обновить Windows на машине с дву- сохранить резервную копию критичных Опция -boot-info-table говорит
мя ОС: Windows и Linux. При этом об- данных. Вернее, целесообразнее пос- о том, что в образе загрузчика
новлении теряется только MBR-запись, тупать наоборот: делать Backup-дис- (у нас это файл stage2_eltorito) сле-
но основной код LILO, находящийся за ки «загрузочными». Это потребует рас- дует разместить служебную таб-
пределами MBR, цел. Зачастую LILO хода лишних 100 килобайт (что не су- лицу. Поэтому файл и изменяется
выполняет довольно сложные функции, щественно даже для CD, не говоря уж при создании образа. Надо ска-
например, подгружает initrd (с этим мо- о DVD), но значительно повысит цен- зать, что при таком наборе опций
жет справиться и GRUB). Возможно, ность такой резервной копии. эта опция совершенно не обяза-
LILO запускает ядро с опциями, кото- Теперь создаём ISO-образ: тельна – таблица всё равно была
рые вы просто забыли, или вам просто бы создана.
лень их снова набирать. Одним словом, mkisofs -R \ Последняя опция -o указывает имя
-jcharset koi8-r \
вы потеряли MBR, но хотите запустить -b boot/grub/stage2 _ eltorito \ iso-файла.
LILO, а не просто «сырое» ядро. Здесь- -c boot/boot.catalog \
-no-emul-boot \
то вам и пригодится указанная возмож- -boot-load-size 4 \ Итак, образ boot.iso готов.
ность, надо только правильно указать -boot-info-table \
-o boot.iso \
партицию: iso Записываем CD и загружаемся
с него
title LILO on hda2 Обратите внимание, файл stage2_ Записать полученный образ на CD
rootnoverify (hd0,1)
chainloader +1 eltorito должен быть доступен для за- можно любым, привычным для вас,
писи, а утилита mkisofs этой доступнос- способом.
Если вы планируете загружать тью непременно воспользуется и слег- Под Linux:
другие ОС, то рекомендую обратить- ка его изменит(!). Позаботьтесь о ре-
ся к документации на GRUB. Практи- зервной копии этого файла. cdrecord -dev=0,1,0 -data boot.iso
чески любая ОС имеет собственную Давайте рассмотрим опции по по-
специфику. Linux допускает исполь- рядку. Или под FreeBSD:
30
администрирование
Теперь полученный файл stage2_eltorito (он лежит в ди- но – от CD или локального диска до NFS или удалённого
ректории $HOME/GRUB/lib/grub/i386-unknown) является TFTP-сервера.
полностью самодостаточным. Его можно положить в лю- Но следует помнить, что, увеличив функциональность
бое место файловой системы компакт диска; файл menu.lst нашего CD, мы снизили его универсальность. Восполь-
больше не требуется. зоваться новой функцией можно только при совпадении
Такое решение, безусловно, привлекает компактностью версий ядра. Иначе ядро-варяг, загруженное с CD, может
и изяществом. Тем более что, из встроенного меню всегда не воспринять модули, хранящиеся на диске и рассчитан-
можно выйти, выполнить любые команды или даже загру- ные на другое ядро. Даже при полном совпадении версий
зить другое меню. Но я бы советовал держать на диске до- (но не сборок) недоразумение могут вызвать некоторые
кументацию к GRUB. Можно сохранить на диске ещё и ко- действия rc-скриптов (скажем, попытки поднять сетевые
пию вкомпиллированного меню, хотя, как вы видели, пун- интерфейсы, поддержка которых не предусмотрена CD-яд-
кты меню всегда можно просмотреть и отредактировать ром). Но в целом это довольно жизнеспособная схема.
по клавише «e». Понятно, что следующим шагом после переноса яд-
ра на CD будет перенос на CD init, rc-скриптов, а следова-
Сохраняем образы загрузчиков на CD тельно, и корневой файловой системы. Но тогда мы полу-
Вы видели, что при загрузке DOS мы просто считывали чим Live-CD со всеми его преимуществами и недостатка-
первый сектор DOS-партиции. GRUB, по понятным причи- ми, а мы договорились не рассматривать вопросы созда-
нам, не умеет загружать ядро DOS и Windows и делегирует ния загрузочных CD.
эти функции «родному» загрузчику. Так же обстоят дела и
с некоторыми другими ОС, например, с QNX. Перспективы GRUB
Если испортится загрузчик, расположенный в партиции, Напомню, что GRUB снабжён доброй сотней мегабайт до-
то загрузка ОС станет невозможна. Так ли это? Не совсем. кументации. За рамками нашего рассмотрения остались
Вы можете создать образ загрузочных сек