Планирование процессов и нитей
В отличие от Windows, в которой реализована многозадачность без вытеснения (non-preemptive multitasking), в Windows NT используется механизм многозадачности с вытеснением (preemptive multitasking).
Windows NT поддерживает симметричную мультипроцессорную организацию вычислительного процесса, в соответствии с которой ОС может выполняться на любом свободном процессоре или на всех процессорах одновременно, разделяя память между ними. Так как многозадачность реализуется на уровне нитей, разные части одного и того же процесса могут действительно выполняться параллельно. Следовательно, многонитевые серверы могут одновременно обслуживать более одного клиента.
Для того, чтобы прикладная программа могла использовать несколько нитей, не нужно предусматривать этого в ее алгоритме. Отдельная нить создается для каждой операции. Например, в одной нити программа может воспроизводить сложную графическую форму, а в другой - использоваться для редактирования объемного чертежа. Каждая из этих нитей (или, с точки зрения пользователя, операций) работает на отдельном процессоре, не требуя никаких управляющих вмешательств со стороны приложения. Нити внутри процесса используют общую область памяти и, следовательно, могут очень просто обмениваться данными.
Для управления нитями Windows NT использует механизм приоритетов. В определенные моменты производятся оценка приоритетов и перераспределение нитей по процессорам, в результате чего последовательные стадии одной нити программы могут выполняться разными процессорами или откладываться до высвобождения очередного процессора.
Каждой нити присваивается число - приоритет, и нити с более высоким приоритетом выполняются раньше нитей с меньшим приоритетом. В самом начале нить получает приоритет от процесса, который создает ее. В свою очередь и процесс получает приоритет в тот момент, когда его создает подсистема среды. Значение базового приоритета процесса присваивается ему системой по умолчанию или системным администратором. Нить наследует этот базовый приоритет и может изменить его, немного увеличив или уменьшив. На основании получившегося в результате приоритета, называемого приоритетом планирования, начинается выполнение нити. В ходе выполнения приоритет планирования может меняться.
Windows NT поддерживает 32 уровня приоритетов, разделенных на два класса - класс реального времени и класс переменных приоритетов (рисунок 1.3). Нити реального времени, приоритеты которых находятся в диапазоне от 16 до 31, являются более приоритетными процессами и используются для выполнения задач, критичных ко времени.
В Windows NT определено 4 класса приоритетов процессов:
IDLE_PRIORITY_CLASS - уровень 4 NORMAL_PRIORITY_CLASS - уровень 9 при интерактивной работе процесса (forground) и уровень 7 при работе в фоновом режиме (background) HIGH_PRIORITY_CLASS - уровень 13 REALTIME_PRIORITY_CLASS - уровень 24
Большинство приложений либо не определяет класс приоритета процесса при его создании, либо устанавливает его в значение NORMAL_PRIORITY_CLASS. Класс IDLE - самый низкоприоритетный - хорошо использовать для работ, некритичных к скорости их выполнения, например, при наблюдении за состоянием системы или же при резервном копировании на ленту. Высокий приоритет (HIGH_PRIORITY_CLASS) следует использовать только тогда, когда это абсолютно необходимо, так как нити такого процесса будут выполняться всегда перед нитями процесса с нормальным приоритетом. В Windows NT с приоритетом HIGH работает процесс Task Manager. Обычно он находится в состоянии ожидания, но при нажатии комбинации клавиш Ctrl+Esc нить Task Manager пробуждается и немедленно вытесняет любые нити обычных приложений. Приоритеты реального времени системными процессами Windows NT (и тем более офисными приложениями) не используются. Этот класс приоритетов нужно использовать только для систем реального времени, например, сбора данных от промышленных установок, управления движущимися объектами и т.п.
Рис. 1.3. Система очередей готовых нитей
Все нити, созданные процессом определенного класса, имеют сначала приоритет процесса. Но в ходе своего выполнения нить может изменить свой приоритет относительного базового приоритета процесса с помощью системного вызова SetThreadPriority. Этот вызов имеет параметр, который может принимать 5 относительных значений, понижая приоритет относительно базового на 2 или 1 единицу, повышая его на 2 или 1 единицу или делая его равным базовому. Имеется еще 2 абсолютных значения этого параметра - IDLE и CRITICAL. Значение IDLE делает приоритет нити равным 1 независимо от его базового приоритета (для процессов REALTIME приоритет становится равным 16), а значение CRITICAL повышает приоритет до 15 для всех процессов (для процессов REALTIME приоритет повышается до 31).
На выполнение всегда выбирается нить с самым высоким приоритетом. Каждый раз, когда необходимо выбрать нить для выполнения, диспетчер прежде всего просматривает очередь готовых нитей реального времени и обращается к другим нитям, только когда очередь нитей реального времени пуста. Обычно большинство нитей в системе попадают в класс нитей с переменными приоритетами, диапазон приоритетов которых от 0 до 15. Этот класс имеет на-звание "переменные приоритеты" потому, что диспетчер настраивает систему, выбирая (понижая или повышая) приоритеты нитей этого класса.
Для выполнения нити отводится квант времени, по истечении которого она должна освободить процессор. Если нить полностью использовала выделенный ей квант, то она переводится в очередь готовых нитей, а ее приоритет понижается. Если же ее выполнение было прервано появлением в очереди готовых нитей с более высоким приоритетом, то она также возвращается в очередь готовых нитей, а ее приоритет остается неизменным. В случае же перехода нити по собственной инициативе в состояние ожидания некоторого события, ее приоритет повышается на некоторую величину, компенсируя этой нити недоиспользованную ею часть кванта.
Итак, нить освобождает процессор, если:
нить блокируется, уходя в ожидание, нить завершается, нить исчерпала квант, нить вытеснена более приоритетной нитью.
При планировании нитей в Windows NT используются концепции квантования, абсолютных приоритетов и динамических приоритетов.
Квантование - нитям отводится квант времени, по истечении которого выполнение нити прекращается. Абсолютные приоритеты - при появлении в очереди нити с более высоким приоритетом, чем у активной в данный момент, выполнение последней немедленно прерывается. Динамические приоритеты - приоритеты нитей могут изменяться системой: понижаются у нитей, исчерпавших квант, повышаются у нитей, недоиспользовавших квант из-за перехода в состояние ожидания.
Windows NT поддерживает симметричную мультипроцессорную обработку. Однако реализация симметричной мультипроцессорности в Windows NT нацелена на оптимизацию производительности и не обеспечивает резервирования в целях повышения отказоустойчивости. В случае выхода из строя одного из процессоров система останавливается. В Windows NT Server в полной мере реализован потенциал масштабируемости симметричной мультипроцессорной архитектуры. Однопроцессорную систему можно легко развивать, наращивая число процессоров, без замены версии ОС или приложений.
Планирование роли сервера в домене
Доменная модель сети, используемая компанией Microsoft, позволяет централизованно выполнять все административные работы, поэтому она рекомендуется как основная модель при создании сети. Модель рабочей группы (Workgroup) не позволяет централизовать работу администратора, так как требует выполнения основных действий по управлению правами доступа пользователей с консоли каждого компьютера сети. Ввиду этого все административные действия будут далее рассматриваться для доменной модели.
При инсталляции как Windows NT Workstation так и Windows NT Server при установке сетевых компонент программа Setup попросит ответить на вопрос, будет ли данный компьютер членом домена или рабочей группы.
Ответ на этот вопрос не так уж важен при установке Windows NT Workstation, так как после установки ОС компьютер может менять свою принадлежность к любой рабочей группе или любому домену без повторной инсталляции - для этого нужно только изменить установку в секции Network программы Control Panel и перезагрузить компьютер.
При инсталляции сервера Windows NT Server ответ на вопрос о его роли в домене очень важен, так как изменить эту роль можно только путем полной переустановки системы на компьютере.
Windows NT Server может выполнять в домене три роли:
первичный контроллер домена - Primary Domain Controller (PDC); вторичный контроллер домена - BackupPrimary Domain Controller (BDC); сервер домена - компьютер, не выполняющий роль PDC или BDC, а работающий как файл-сервер, принт-сервер и т.п.
Если вы инсталлируете первый сервер домена, то его необходимо делать первичным контроллером домена. При этом необходимо задать имя домена и указать пароль для встроенного пользователя Administrator. Этот пароль нельзя терять, по крайней мере до тех пор, пока вы не добавите к группе администраторов новых пользователей. При потере пароля единственного администратора придется заново устанавливать сервер. Первичный контроллер в домене может быть только один.
Вторичный контроллер домена можно инсталлировать только после того, как в сети уже имеется первичный контроллер, так как вторичный контроллер будет его искать и не найдя не пожелает продолжать установку.
Обычный сервер также можно инсталлировать только при наличии работающего первичного контроллера домена, иначе он не сможет присоединиться к домену и создать в нем учетную запись. При присоединении сервера к домену нужно обладать правами администратора домена, иначе в PDC нельзя создать новую учетную запись.
Если сервер Windows NT Server был при инсталляции присоединен к какому-либо домену, то его нельзя как Windows NT Workstation, перенести в другой домен без переинсталляции - по-этому принадлежность сервера домену нужно определить до начала инсталляции.
Так же невозможно сделать PDC или BDC обычным сервером домена без переинсталляции операционной системы.
Роли же PDC и BDC можно изменять между компьютерами, на которых Windows NT Server инсталлирован в этих режимах, можно менять оперативно. За счет этого можно поменять компьютер, на котором работает PDC, без необходимости заново создавать базу учетной информации пользователей.
Подключение компьютеров к Internet c использованием RAS
Еще одним вариантом удаленного доступа является доступ по коммерческим сервисам реального времени или по сети Internet. Все сервисы реального времени и практически все провайдеры Internet'а поддерживают электронную почту и некоторые формы передачи файлов. Для подключения к таким сервисам в этом варианте, как правило, достаточно местных телефонных звонков (в отличие от первых трех схем удаленного доступа, для которых в общем случае необходимы более дорогостоящие междугородние вызовы). Сервисы реального времени имеют свое собственное программное обеспечение для доступа, хотя к ним можно получить доступ и с помощью обычных программ эмуляции терминала. Сегодня, когда Mac OS, OS/2, Windows 95, Windows NT Workstation и практически любой вариант Unix'а включают стек TCP/IP, несколько популярных программ для доступа в Internet и программу электронной почты, технические барьеры на пути к Internet'у значительно снизились.
Windows NT, RAS и Internet Explorer обеспечивают пользователя функционально полным набором средств выхода в Internet. Существует несколько сценариев установления соединения с Internet через сервис удаленного доступа RAS.
Соединение с хостом Internet через IP поверх РРР. Прямое соединение с Internet через маршрутизатор. Такое соединение требует особых мер обеспечения безопасности, например, установки межсетевых экранов. Провайдер услуг Internet может создать сеть информационного обеспечения, в которой он будет предоставлять разделяемое соединение с Internet, плюс добавочные сервисные услуги, такие как почтовый ящик, заказные базы данных, факсшлюзы и т.д. Для такого сценария RAS оказывается особенно подходящим, так как может поддерживать до 256 соединений на достаточно высоких скоростях, при этом он обладает способностью поддерживать различные коммуникационные протоколы и разнообразное клиентское программное обеспечение. Windows NT и RAS могут выступить в роли шлюза-маршрутизатора в Internet для компьютеров небольшой локальной сети.
Показатели производительности и критерии оптимизации
Наблюдение за производительностью сервера Windows NT производится обычно для того, чтобы определить, достигнут ли максимум производительности по обслуживанию сетевых клиентов или нет? Для достижения этой цели в Windows NT Server имеется ряд средств, которые могут помочь сетевому администратору отобразить и зарегистрировать картину сетевой активности сервера. Эти средства собирают и записывают в файл статистику о работе сервера, на основании которой администратор может найти и исключить причину любой из возникших проблем.
Одной из целей разработчиков Windows NT было исключение многих непродуктивных параметров системы, с помощью которых администраторы влияли на производительность ранних сетевых операционных систем. Вместо этого в Windows NT были встроены адаптивные алгоритмы, которые определяют рациональные параметры системы во время ее работы. Windows NT Server может оптимизировать свои параметры в отношении многих известных сетевых проблем динамически, автоматически перераспределяя свои ресурсы, и не привлекая к решению администратора.
Оптимизация производительности - это процесс работы с имеющимися ресурсами для максимизации производительности по одному из четырех критериев:
Наибольшая скорость выполнения определенного процесса; Наилучшее разделение процессора для нескольких процессов; Освобождение наибольшего количества оперативной памяти; Освобождение наибольшего количества дисковой памяти.
Обычно при оптимизации производительности Windows NT администратор начинает этот процесс при заданном наборе ресурсов в терминах быстродействия процессора, объемов оперативной и дисковой памяти. Задача оптимизации производительности включает приоритезацию этих ресурсов и нахождение подходящего баланса. Например, если целью является увеличение доступной оперативной памяти, то администратор может увеличить размер страничного файла, но это приведет к уменьшению доступного дискового пространства.
Если же нужно улучшить одновременно все критерии производительности, то нужно привлекать дополнительные ресурсы, например, более мощный процессор, дополнительную память или более емкий диск.
Выполнение вычислительной задачи может потребовать участия в работе нескольких устройств. Каждое устройство использует определенные ресурсы для выполнения своей части работы. Плохая производительность обычно является следствием того, что одно из устройств требует намного больше ресурсов, чем остальные. Чтобы исправить положение, администратор должен выявить устройство, которое требует наибольшей доли времени выполнения задачи.
При настройке производительности часто используются некоторые термины, которые желательно определить более точно.
Узкое место (bottleneck) - это то устройство системы, которое требует наибольшей доли времени выполнения задачи.
Например, если на выполнение задачи требуется 3 секунды, и 1 секунда тратится на выполнение программы процессором, а 2 секунды - на чтение данных с диска, то диск является узким местом.
Определение узкого места - это критический этап в процессе улучшения производительности. Замена процессора в предыдущем примере на другой, в 2 раза более быстродействующий процессор, уменьшит общее время выполнения задачи только до 2.5 секунд, но существенно исправить ситуацию не сможет, так как мы не устраним этим узкое место. Если же мы купим диск и контроллер диска, которые будут быстрее прежних в 2 раза, то общее время уменьшится до 2 секунд.
Устройство (device). Каждый физический компонент вычислительной системы следует рассматривать как устройство. К устройствам, которые наиболее часто оказываются узким местом системы, относятся процессор, память, диск и его контроллер, а также сетевой адаптер.
Задача (task) - это любой тип вычислительной работы. Задачей может быть обновление таблицы Microsoft Excel или отправка сообщения электронной почты.
Рабочий набор (working set)- это часть оперативной памяти (RAM), которая назначается процессу при выполнении.
Пользователи, ресурсы и операции доступа
Администрирование пользователей состоит в создании учетной информации пользователей (определяющей имя пользователя, принадлежность пользователя к различным группам пользователей, пароль пользователя), а также в определении прав доступа пользователя к ресурсам сети - компьютерам, каталогам, файлам, принтерам и т.п.
Создание учетной информации пользователей осуществляется в сети Windows NT утилитой User Manager для локальногого компьютера и User Manager for Domains для всех компьеров домена. Права доступа к ресурсам задаются в сети Windows NT различными средствами, в зависимости от типа ресурса. Возможность использования копьютеров Windows NT Workstation в качестве рабочих станций - с помощью User Manager for Domains, доступ к локальным каталогам и файлам (только для файловой системы NTFS, поддерживающей права доступа) - с помощью средств Windows NT Explorer, к удаленным разделяемым каталогам - с помощью Server Manager, доступ к принтерам - из панели Printers.
Типы пользователей и групп пользователей
В сети Windows NT могут быть определены следующие типы пользователей и групп пользователей:
локальный интерактивный пользователь компьютера (пользователь, который заведен в локальной учетной базе данных компьютера, и который работает с ресурсами компьютера интерактивно); локальный сетевой пользователь компьютера (пользователь, который заведен в локальной учетной базе данных компьютера, и который работает с ресурсами компьютера через сеть); пользователь домена (пользователь, который заведен в глобальной учетной базе данных домена на PDC); локальная группа компьютера (может создаваться на всех компьютерах домена, кроме PDC и BDC, в которых она вырождается в локальную группу домена); локальная группа домена - состоит из пользователей домена (заводится только на PDC); глобальная группа домена - состоит из пользователей домена (может входить в локальную группу домена).
Для каждого типа групп имеется некоторый набор встроенных групп: Administrators, Server Operators, Users, Everyone, DomainUsers и др.
Для однозначной идентификации глобальной группы в многодоменной сети, используется составное ее имя, например Marketing\Managers, где Marketing - имя домена, Managers - имя глобальной группы.
Типы объектов
Каталоги и файлы. Процедуры задания правил доступа различаются для локальных и разделяемых (share) каталогов и файлов. Операции: read, full control, change, add, ...; Принтеры;
Операционная система. По отношению к этому типу объектов определяются права по выполнению различных сервисов и утилит: вход, архивирование файлов, изменение конфигурации панелей Program Manager, ...
Типы операций доступа
Операции доступа - это действия объектов над субъектами. Операции могут быть либо разрешены, либо запрещены, либо вообще не иметь смысла для данной пары объекта и субъекта.
Все множество операций разделяется на подмножества, имеющие особые названия:
разрешения (permissions) - это множество операций, которые могут быть определены для субъектов всех типов по отношению к объектам типа файл, каталог или принтер; права ( user rights) - определяются для объектов типа группа на выполнение некоторых системных операций: создание резервных копий, выключение компьютера (shutdown) и т.п. Права назначаются с помощью User Manager for Domains; возможности пользователей (user abilities) - определяются для отдельных пользователей на выполнение действий, связанных с формированием их операционной среды, например, изменение состава программных групп, показываемых на экране дисплея, включение новых иконок в Desktop, возможность использования команды Run и т.п.
Права и разрешения данные группе автоматически предоставляются ее членам, позволяя администратору рассматривать большое количество пользователей как единицу учетной информации.
Возможности пользователей определяются профилем пользователя.
Права доступа к принтеру
Если принтер является разделяемым, то к нему определены права доступа пользователей по сети - разрешения на печать (print permission).
Эти разрешения определяют не только тех пользователей, которые могут печатать документы на данном принтере, но и перечень действий, которые пользователи могут выполнять над принтером.
Всего имеется четыре уровня разрешений: No Access, Print, Manage Documents и Full Control.
В следующей таблице определены возможные действия по управлению жокументоами и принтером для каждого из уровней разрешений:
Действия | No Access | Print (default) | Manage Documents | Full Control |
Печать документов | Х | Х | Х | |
Приостановка, продолжение, перезапуск и прекращение печати собственных документов | Х | Х | Х | |
Подсоединение к принтеру | Х | Х | Х | |
Управление установками задания на печать для всех документов | Х | Х | ||
Приостановка, перезапуск и удаление всех документов | Х | Х | ||
Управление разделением принтера | Х | |||
Изменение приоритета принтера | Х | |||
Удаление принтера | Х | |||
Изменение разрешений доступа к принтеру | Х |
Как видно из таблицы, разрешение Print, которое дается по умолчанию всем членам группы Users, дает пользователю контроль над своими собственными документами.
Разрешение Manage Documents дает возможность управлять документами любых пользователей.
И, наконец, разрешение Full Control добавляет к предыдущим возможностям контроль над принтером в целом, а не только над печатаемыми документами.
Установка разрешений для пользователей и групп пользователей выполняется из закладки Security панели Properties - кнопка Permissions. Эта закладка повторяет аналогичную закладку для файлов и каталогов. Кроме возможности установить разрешения доступа, эта закладка имеет также кнопки Auditing и Ownership, которые позволяет задать события для аудита и изменить владельца принтера.
Продукты межсетевого взаимодействия для Windows NT
Одним из общепризнанных достоинств сетевой операционной системы Windows NT является наличие в ней разнообразных встроенных средств межсетевого взаимодействия. Так как неоднородность - это одна из основных особенностей корпоративной сети, то в качестве претендента на роль лидера среди серверных сетевых операционных систем, Windows NT просто обязана была поддерживать кроме родного стека коммуникационных протоколов NetBEUI/SMB, и другие наиболее популярные стеки, такие как TCP/IP или Novell NetWare, а также обеспечивать возможность легкого включения других стеков, поставляемых третьими фирмами.
Существует большое количество средств и продуктов для Windows NT, поддерживающих взаимодействие с другими сетями и операционными системами. В первую очередь это встроенные средства, входящие в стандартную поставку Windows NT Server и Windows NT Workstation, такие как NWLink, NetWare Compatible Service (NWCS), Gateway Services for NetWare, Directory Service Manager for NetWare для взаимодействия с сетями NetWare, протоколы IP, ICMP, TCP, UDP, ftp, telnet для взаимодействия с сетями TCP/IP. Microsoft выпускает и отдельные продукты межсетевого взаимодействия - например, шлюзы для своей почтовой системы Microsoft Mail Server или File and Print Services for NetWare - реализацию протоколов NCP и SAP в среде Windows NT. Появилось и большое количество продуктов третьих фирм для Windows NT, например, BW-Connect NFS компании Beame & Whiteside, PathWorks for Windows NT компании Digital Equipment, NFS connectivity services компании Intergraph, редиректор для сетей Banyan VINES, NetWare Client for Windows NT фирмы Novell. Этот список можно еще продолжать и продолжать.
Для того, чтобы сделать обоснованный выбор, следует учитывать в первую очередь следующие характеристики средств межсетевого взаимодействия:
способ реализации: мультиплексор протоколов или шлюз; требуемый уровень согласуемых протоколов: межсетевое взаимодействие на уровне транспортных протоколов или на уровне прикладных сервисов; конкретные протоколы, которые необходимо согласовать; направление взаимодействия: предоставление возможности клиентам "чужой" сети обращаться к серверу в вашей сети, либо - наоборот; место размещения согласующих средств: на клиентских машинах, на серверах, либо на промежуточной машине-шлюзе; в среде одной, либо другой операционной системы; потребительские характеристики: стоимость, производительность, степень прозрачности, удобство инсталляции и обслуживания.
Компьютеры и другие устройства сети взаимодействуют, используя программные и аппаратные коммуникационные средства. Если у двух взаимодействующих сторон эти средства построены на основании одного и того же стека протоколов, то никаких сложностей при организации взаимодействия не возникает, в противном случае - этих проблем не избежать.
При обсуждении проблем межсетевого взаимодействия под термином "сеть" будем понимать совокупность компьютеров и другого сетевого оборудования, которые связаны между собой с помощью общего стека коммуникационных протоколов. Отсюда следует, что если у компьютеров не совпадает протокол хотя бы одного уровня, то они принадлежат разным сетям, а значит, при необходимости их связывания между собой могут возникнуть проблемы межсетевого взаимодействия.
Проблема межсетевого взаимодействия может иметь разные внешние проявления, но суть ее одна - несовпадение используемых коммуникационных протоколов. Например, эта проблема возникает в сети, в которой используется только одна сетевая ОС, но в которой транспортная подсистема неоднородна из-за того, что сеть включает в себя фрагменты Ethernet, объединенные кольцом FDDI. Здесь в качестве взаимодействующих сетей выступают группы компьютеров, использующие различные протоколы канального и физического уровня, например, сеть Ethernet, сеть FDDI.
Равным образом проблема межсетевого взаимодействия может возникнуть в однородной сети Ethernet, в которой установлено несколько сетевых ОС. В этом случае, все компьютеры и все приложения используют для транспортировки сообщений один и тот же набор протоколов, но взаимодействие клиентских и серверных частей сетевых сервисов осуществляется по разным протоколам. Здесь компьютеры могут быть отнесены к разным сетям, если у них различаются протоколы верхних уровней, например, сеть Windows NT, сеть NetWare. Конечно, эти сети могут спокойно сосуществовать, не мешая друг другу и мирно пользуясь общим транспортом. Однако, если потребуется обеспечить доступ к данным файл-сервера NetWare для клиентов Windows NT, администратор сети столкнется с необходимостью согласования сетевых сервисов.
Существует два универсальных подхода к согласованию протоколов, независимо от того, к какому уровню модели OSI они относятся: трансляция и мультиплексирование. Межсетевое взаимодействие на уровне транспортных подсистем может быть организовано помимо уже названных подходов путем использования единого сетевого протокола (например, IP или IPX), а также инкапсуляции.
Профили пользователей
Профиль пользователя - это набор параметров, определяющих рабочую среду пользователя на том компьютере, на котором он в данный момент работает.
В профиль пользователя входит большое количество переменных:
состояние рабочего стола (Desktop) - цветовые схемы, обои; состояние оболочки (Shell) - элементы графического интерфейса, содержимое папок ; постоянные сетевые подключения; подключаемые сетевые принтеры.
Обычно пользователь сам создает настройки своей рабочей среды, а после выхода его из системы эти настройки сохраняются в файле профиля данного пользователя а также в Registry. При очередном логическом входе пользователя параметры его рабочей среды берутся из Registry и восстанавливают для него требуемые установки.
Профиль может также содержать ограничения для пользователя на выполнение некоторых действий. К таким действия относится возможность использования команды Run, доступ к функциям Control Panel, Settings в меню Start, команды Shut Down и некоторые другие действия, которые могут изменить облик системы или позволят получить пользователю доступ к таким функциям или программам, которые недопустимы с точки зрения администратора.
Для ограничения возможностей пользователя с помощью профиля существует специальная утилита System Policy Editor - Редактор Системной Политики, входящая в комплект поставки Windows NT Server 4.0. Эта утилита заменила собой User Profile Editor, использовавшийся для этих же целей в Windows NT 3.51. Профили, создаваемые System Policy Editor, теперь воздействуют не только на пользователей, работающих с Windows NT, но и пользователей Windows 95.
Просмотр глобальной сети
В сетях Windows NT каждая локальная сеть является независимой единицей просмотра, для которой должен быть предусмотрен свой собственный главный и резервные сервисы просмотра. Поэтому выборы главного сервиса просмотра ограничены пределами локальной сети.
Поддержка просмотра глобальной сети реализована только в Windows NT Server. Поэтому в каждой локальной сети, входящей в глобальную корпоративную сеть должен быть по крайней мере один компьютер Windows NT Server.
Компьютеры с главными сервисами просмотра домена несут ответственность за создание списка имеющихся компьютеров в доменах и подсетях глобальной сети.
Если домен включает несколько локальных подсетей, соединенных глобальными связями (рисунок 11.1), то главный просмоторщик каждой подсети использует направленные дейтаграммы, называемые "Объявление главного просмоторщика" (Master Browser Announcement) для сообщения о себе Главному просмоторщику домена. Для создания списка серверов домена главный просмоторщик домена посылает запросы всем главным просмоторщикам, которые объявили о себе.
Затем главный просмоторщик домена объединяет собственный список серверов со списками серверов главных просмоторщиков. Этот процесс повторяется каждые 15 минут и гарантирует, что главный просмотрщик домена будет иметь полный список всех серверов домена. Когда клиент выполняет запрос о просмотре серверов, такой как net view, к главному просмоторщику, то главный просмоторщик сможет предоставить полный список серверов домена, а не только относящихся к локальной подсети.
Рис. 11.1. Просмотр сетевых ресурсов в глобальной сети
Рабочая группа Windows NT не может покрывать несколько подсетей. Любая рабочая группа Windows NT, которая покрывает несколько подсетей, будет работать как несколько отдельных рабочих групп. Это также применимо к рабочим группам Windows for Workgroups.
Если главный просмоторщик не является первичным контроллером домена, то он должен синхронизировать свою информацию с главным просмоторщиком домена, который работает в составе первичного контроллера домена. Эта синхронизация выполняется каждые 15 минут путем отправки запроса главному просмоторщику домена.
Кроме этого главный просмотрщик отсылает направленные дейтаграммы "Объявление главного просмоторщика" ("Master Browser Announcement") главному просмоторщику домена. Этот дополнительный уровень синхронизации гарантирует, что главный просмоторщик будет иметь полный список всех серверов домена, независимо от того, к какой подсети эти серверы относятся.
Просмотр интерсети TCP/IP
В настоящее время просмоторщики взаимодействуют в основном с помощью широковещательных рассылок.
В среде глобальных сетей (таких как сети TCP/IP, но не IPX), в которых домены разделяются маршрутизаторами, с широковещательным трафиком могут возникнуть проблемы, так как по умолчанию широковещательные пакеты не передаются маршрутизаторами. Рассмотрим два вопроса:
Как контроллеры доменов, разделенные маршрутизаторами, выполняют функции просмотра. Как локальные клиенты просматривают ресурсы удаленных доменов, которые не принадлежат к их локальной сети.
Файл LMHOSTS. Разрешение имен в протоколе NetBIOS в настоящее время выполняется с помощью широковещательных пакетов, и этот механизм работает только в пределах локальной подсети. Для разрешения имен компьютеров, подключенных к другим подсетям, необходимо сконфигурировать файл LMHOSTS. Этот файл должен содержать отображения имен на IP адреса всех компьютеров, которые подключены не к данной локальной подсети.
Для обеспечения взаимодействия между подсетями и главным просмоторщиком домена, администратор должен сконфигурировать файл LMHOSTS так, чтобы он содержал имена Net-BIOS и IP-адреса всех просмоторщиков.
Для того, чтобы главный просмоторщик каждой подсети получил доступ к первичному контроллеру домена, информация о первичном контроллере домена должна содержаться в файле LMHOSTS каждого главного просмоторщика (с примечанием #DOM). Эти же требования относятся и к резервным контроллерам домена.
Файл LMHOSTS главного просмоторщика каждой подсети должен содержать следующую информацию:
IP адрес и NetBIOS-имя предпочтительного главного просмоторщика. Имя домена, которому предшествуют префиксы #PRE и #DOM.
Например:
130.20.7.80 Имя_предпочтительного_главного_просмотрщика #PRE #DOM: имя_домена
Использование порта 137 протокола UDP (NetBIOS Name Service Broadcast).Не всегда в глобальных сетях возникают проблемы с широковещательным трафиком. Некоторые маршрутизаторы могут быть сконфигурированы так, что они могут распространять определенные типы широковещательных пакетов, в то время как остальные подвергаются фильтрации.
Все широковещательные пакеты протокола NetBIOS поверх TCP/IP (NBT) посылаются на порт 137 протокола UPD, который определен как сервис имен NBT. Это назначение порта определяется стандартами RFC 1001 и 1002. Обычно такие пакеты фильтруются маршрутизаторами, так они посылаются с широковещательными адресами MAC и IP уровней. Однако, некоторые маршрутизаторы продвигают пакеты, отправленные с указанным номером порта UDP.
В результате просмоторщик ведет себя так, как если бы он находился в одной большой подсети. Все домены и компьютеры будут в этом случае видны всем системам, включая и компьютеры Windows for Workgroups.
Сервис WINS. При реализации в сети сервиса WINS отпадает необходимость в конфигурировании файлов LMHOSTS или использовании в маршрутизаторах порта 137 протокола UDP.
Использование службы WINS требует выполнения следующих условий:
Служба WINS конфигурируется на компьютере, работающем под управлением Windows NT Server 3.5. Компьютеры-клиенты поддерживают сервис WINS. Сервис WINS поддерживают компьютеры под управлением Windows NT 3.5, Windows for Workgroups (со стеком TCP/IP-32), а также компьютеры с клиентской оболочкой Microsoft Network Client, поставляемой на компакт-диске Windows NT Server 3.5.
Клиенты, не поддерживающие службу WINS, должны по-прежнему иметь сконфигурированный файл LMHOSTS для просмотра сети с глобальными связями, даже если сервис WINS реализован в домене.
Просмотр нескольких доменов
В сети, состоящей из нескольких доменов, клиенты нуждаются в средствах просмотра списков:
доменов, серверов в конкретном домене.
Windows NT предоставляет такие возможности для своих клиентов.
Windows NT добавляет новый информационный уровень для функции просмотра сети (net view), который позволяет клиентам получать список доступных доменов от главного просмоторщика.
После того, как компьютер становится главным просмоторщиком, он начинает широковещательно распространять сообщения "Объявление домена" ("Domain Announcement") каждую минуту в течение первых 5 минут его работы в качестве главного просмоторщика. После истечения этого срока объявления распространяются каждые 15 минут.
Если домен не объявляет о себе в течение трех указанных интервалов, то его имя должно быть удалено из списка доменов. Ввиду этого домен может появляться в списках просмотра еще в течение 45 минут после его остановки.
Главный просмоторщик получает пакеты "Объявление домена" от других доменов и помещает их имена в свой список просмотра ресурсов.
Главный просмоторщик может инициировать процесс объявления доменов о себе. Главный просмотрщик использует эту возможность только тогда, когда его список имен доменов пуст, например, в случае, когда потенциальный просмотрщик становится главным просмоторщиком.
Пакет "Объявление Домена" содержит:
Имя домена; Имя главного просмотрщика для этого домена; Информация о том, какая операционная система установлена на просматривающем компьютере - Windows NT Workstation или Windows NT Server.
Если на просматривающем компьютере работает Windows NT Server, то в пакете также указывается, не является ли компьютер и первичным контроллером домена.
Если главный просмоторщик домена отказывает, то главные просмоторщики будут видеть только серверы, находящиеся в их локальных сетях. Это означает, что серверы, находящиеся вне локальной сети, будут последовательно удалены из списка просмотра.
Так как главный просмотрщик домена одновременно является и первичным контроллером домена, администратор может устранить последствия отказа путем перевода резервного контроллера домена в режим первичного контроллера домена. Вторичный контроллер домена выполняет многие из функций первичного контроллера, но не может автоматически стать первичным контроллером в случае отказа первичного.
Рабочая группа
Кроме доменной структуры, сеть Windows NT может быть организована как рабочая группа. Рабочая группа - это логическое объединение компьютеров, обычно не более 10, которые могут разделять свои ресурсы. Однако при этом каждый компьютер рабочей группы имеет собственную базу учетных данных, содержащую информацию только о его локальных пользователях. На компьютерах рабочей группы могут быть установлены и Windows NT Server, и Windows NT Workstation. И пользователи, и ресурсы каждого члена рабочей группы администрируются средствами данного компьютера. Таким образом, рабочая группа не дает всех тех возможностей, которые несет в себе централизованная доменная справочная служба.
RAS как многопротокольный маршрутизатор
Сервер RAS маршрутизирует протоколы IP и IPX, а при использовании для связи с клиентом протокола NetBEUI работает в режиме шлюза.
При использовании в канале между сервером и клиентом протокола IP основной режим работы сервера RAS - это режим proxy ARP, когда клиентам назначаются адреса с номером сети, равным номеру внутренней локальной сети, к которой подключен сервер. Сервер поддерживает несколько способов назначения IP-адресов клиентам:
жесткое присваивание IP-адреса клиенту при его конфигурировании; назначение адреса сервером, причем адрес выбирается из пула адресов, выделенных клиентам при конфигурировании сервера; назначение адреса сервером, причем адрес для клиента запрашивается сервером RAS у сервера DHCP локальной сети.
Сервер RAS может работать и как маршрутизатор "сеть-сеть", что может понадобиться при подключении к Internet сети небольшого офиса (рисунок 7.2). В этом случае он может заменить аппаратный маршрутизатор, но компания Microsoft не советует использовать RAS в качестве маршрутизатора при соединении больших сетей.
Рис. 7.2. Использование сервера RAS для подключения небольшой сети к Internet
Для того, чтобы сервер RAS мог маршрутизировать трафик между двумя IP-сетями, в Registry - конфигурационную базу Windows NT - нужно добавить две переменные, которые изначально там отсутствуют. Эти переменные запрещают серверу отправлять IP-пакеты удаленным пользователям от своего IP-адреса (режим, который используется по умолчанию), а также заставляют при маршрутизации принимать во внимание маски.
Для маршрутизации между сетями IPX никакие дополнительные установки в сервере RAS не нужны. Сервер позволяет назначать всем удаленным клиентам как один и тот же номер IPX-сети, так и различные. Номер узла клиент может задать себе сам, а может предоставить эту работу серверу.
Пакеты протокола NetBEUI передаются между сервером и клиентом RAS по протоколу РРР, как и пакеты протокола IP/IPX, но это является нестандартным режимом работы РРР. Компания Microsoft передала свое предложение о стандартизации такого режима в соответствующий комитет IETF, однако стандартом он пока не стал.
Поддержка прикладных программных интерфейсов RAS позволяет пользователям разрабатывать собственные приложения, обладающие возможностями удаленного доступа.
Сервер и клиент RAS легко устанавливаются, что не удивительно ввиду их тесной интеграции с ОС Windows NT. К недостаткам процедуры инсталляции можно отнести неочевидность последовательности действий при установке и конфигурировании протокола PPTP. Подсказки HELP-системы по этому разделу слишком бедны и не дают ясного представления о назначении этого протокола и о способе его использования.
При тестировании серверов удаленного доступа, проведенном журналом Network Computing (данные этого тестирования имеются и на русском языке в журнале "Сети и системы связи", 9/96), сервер Microsoft RAS показал средние результаты в отношении производительности обмена файлами, не очень хорошие результаты по критерию простоты и удобства инсталляции.
Разрешения на доступ к каталогам и файлам
Администратор может управлять доступом пользователей к каталогам и файлам в разделах диска, отформатированных под файловую систему NTFS. Разделы, отформатированные под FAT и HPFS, не поддерживаются средствами защиты Windows NT. Однако можно защитить разделяемые по сети каталоги независимо от того, какая используется файловая система.
Для зашиты файла или каталога необходимо установить для него разрешения (permissions). Каждое установленное разрешение определяет вид доступа, который пользователь или группа пользователей имеют по отношению к данному каталогу или файлу. Например, когда вы устанавливаете разрешение Read к файлу MY IDEAS.DOC для группы COWORKERS, пользователи из этой группы могут просматривать данные этого файла и его атрибуты, но не могут изменять файл или удалять его.
Windows NT позволяет использовать набор стандартных разрешений, которые можно устанавливать для каталогов и файлов. Стандартными разрешениями для каталогов являются: No Access, Read, Add, Add&Read, Change и Full Control.
Стандартными разрешениями для файлов являются:
No Access, Read, Change и Full Control.
Стандартные разрешения представляют собой группы индивидуальных разрешений. Каждому стандартному разрешению соответствует определенная установка фиксированного набора индивидуальных разрешений. Индивидуальные разрешения могут быть:
Read (R), Write (W), Execute (X), Delete (D), Change Permission (P), Take Ownership (O).
При установке стандартного разрешения рядом с ним в скобках отображаются заглавные буквы установленных индивидуальных разрешений. Например, при установке для файла стандартного разрешения Read рядом со словом Read появляется аббревиатура RX, которая означает, что стандартному разрешению Read соответствует установка двух индивидуальных разрешений - Read и Execute.
Администратор может с помощью утилиты File Manager устанавливать как стандартные, так и индивидуальные разрешения.
Для того, чтобы эффективно пользоваться возможностями механизмов безопасности NTFS, нужно помнить следующее:
Для файла индивидуальные разрешения имеют следующий смысл:
R | W | X | D | P | O | FC | |
Просматривать данные файла | * | O | O | O | O | O | * |
Просматривать атрибуты файла | * | O | * | O | O | O | * |
Изменять атрибуты файла | O | * | O | O | O | O | * |
Изменять и добавлять данные в файл | O | * | O | O | O | O | * |
Выполнять файл, если это программа | O | O | * | O | O | O | * |
Просматривать владельца файла и разрешения | * | * | * | O | O | O | * |
Удалять файл | O | O | O | * | O | O | * |
Изменять разрешения файла | O | O | O | O | * | O | * |
Становиться владельцем файла | O | O | O | O | O | * | * |
No Access - Ни одного Read - RX Change - RWXD Full Control - Все разрешения
Стандартные разрешения для каталога представляют собой объединения индивидуальных разрешений для каталога и для файлов, входящих в этот каталог:
No Access (Ни одного) (Ни одного) List (RX) (Не определены) Read (RX) (RX) Add (WX) (Не определены) Add&Read (RWX) (RX) Change (RWXD) (RWXD) Full Control (Все разрешения) (Все разрешения)
Реализация мультиплексирования протоколов в Windows NT
Windows NT представляет собой хороший пример операционной системы, мультиплексирующей несколько стеков протоколов - NetBEUI/SMB, TCP/IP и Novell IPX/NCP (компонента NWLink реализует протокол сетевого уровня IPX, а NWCS - протокол NCP, обеспечивающий доступ к файлам и принтерам).
Мультиплексирование может осуществляться на каждом из трех уровней коммуникационных средств: на нижнем уровне драйверов сетевых адаптеров, на уровне сетевых протоколов и на прикладном уровне (рисунок 8.1).
Рис. 8.1. Мультиплексирование в Windows NT
Для того, чтобы один сетевой протокол мог использовать несколько канальных протоколов (реализованных в виде драйверов сетевых адаптеров) и наоборот - один драйвер сетевого адаптера мог работать с несколькими сетевыми протоколами, в Windows NT на нижнем уровне используется мультиплексор NDIS (Network Driver Interface Specification), новая 32-разрядная версия 3.0 которого была разработана специально для Windows NT. NDIS выполняет не только функции мультиплексора, но и функции программной среды, изолирующей драйвер сетевого адаптера от аппаратуры, то есть от самого сетевого адаптера. NDIS предоставляет разработчику драйвера функции управления сетевым адаптером, например, функции ввода-вывода или обработки прерываний, что делает код драйвера более мобильным и переносимым. Windows NT поддерживает драйверы сетевых адаптеров не только в стандарте NDIS, но и в популярном стандарте ODI, используемом в сетях Novell NetWare.
На среднем уровне Windows NT вводит свой стандарт на интерфейс транспортных протоколов - TDI (Transport Driver Interface). Слово Driver говорит о том, что в Windows NT эти протоколы реализованы в виде драйверов системы ввода-вывода. Если редиректоры и транспортные протоколы написаны в соответствии с правилами TDI, то они могут образовывать произвольные связи между собой, то есть мультиплексироваться. Разработчикам приложений для доступа к функциям транспортного уровня Windows NT предлагает два популярных API - NetBIOS и Windows Sockets, которые в свою очередь обращаются к транспортным протоколам через интерфейс TDI.
Кроме собственных отдельных драйверов, разработанных в стандарте TDI (например, NetBEUI), Windows NT использует также модифицированную среду STREAMS, созданную в свое время знаменитым Денисом Ритчи для операционной системы Unix. Изменения среды STREAMS заключались в согласовании ее верхнего уровня с интерфейсом TDI. Это позволило использовать в Windows NT значительную часть кодов уже разработанных транспортных протоколов для этой среды.
На верхнем уровне в Windows NT имеется два мультиплексора - MUP и MPR, соответствующие двум сценариям доступа приложений к сетевым ресурсам в гетерогенной сети.
Первый сценарий состоит в том, что приложение обращается к операционной системе с запросом, указывая в явном виде имя сетевого ресурса без предварительного установления соединения. Такой запрос может быть выполнен при условии, что имя задано в соответствии с универсальным соглашением о именовании UNC (Universal Naming Convention).
В имени UNC сначала указывается имя сервера, предваряемое двумя слэшами, а затем сетевое имя разделяемого каталога и составное имя файла. Например, приложение может открыть файл, используя имя \\tandem\C$\Ann\article.doc, где tandem - имя компьютера, C$ - сетевое имя разделяемого каталога, назначенное пользователем или системой, \Ann\article.doc - составное имя файла относительно каталога C$.
Когда подсистема ввода-вывода Windows NT анализирует имя файла и обнаруживает, что оно является UNC-именем, то вызывается MUP (Multiple UNC Provider), которому передается это имя для дальнейшей обработки. В обязанности MUP входит определение принадлежности сетевого ресурса с заданным именем той или иной сети, инсталлированной в системе. Если обращение по этому имени происходит впервые, то MUP просто передает данное имя для опознания всем редиректорам, которые установлены в системе (их список имеется в базе конфигурации системы Registry). Каждый редиректор в соответствии с поддерживаемым им протоколом производит поиск ресурса по заданному имени и возвращает результат поиска мультиплексору MUP. MUP анализирует ответы редиректоров, и, если один из них распознал ресурс, передает ему запрос приложения для выполнения. Одновременно MUP кэширует соответствие имени сетевого ресурса определенному редиректору, чтобы не выполнять описанную процедуру каждый раз при поступлении запроса к этому ресурсу.
Реализован MUP в виде драйвера, в чем можно убедиться, просматривая список имен драйверов в группе Devices утилиты Control Panel.
В соответствии со вторым сценарием доступа приложение предварительно отображает сетевой ресурс на локальный ресурс (устанавливает соединение), а затем обращается к нему как к локальному ресурсу. Например, сначала разделяемый каталог \\tandem\C$ отображается на локальный дисковод F:, а затем приложение обращается к файлу F:\Ann\article.doc как к локальному файлу.
Процедура установления соединения в общем случае состоит из двух этапов:
просмотр пользователем разделяемых сетевых ресурсов и выбор нужного ресурса, отображение выбранного ресурса на локальный ресурс.
Просмотр сетевых ресурсов - это необязательный этап, но он может существенно облегчить жизнь пользователю в большой сети, так как в этом случае пользователь не должен помнить имена всех серверов и разделяемых каталогов. В различных сетях сервис просмотра ресурсов организован по-разному. В сетях Novell NetWare 3.x, например, редиректор собирает список доступных серверов с помощью широковещательного протокола SAP, а в сетях NetWare 4.x редиректор для этой цели обращается с запросами к централизованной справочной службе NDS. В сетях Microsoft Windows NT список доступных серверов предоставляет специальная компонента - Computer Browser, а список разделяемых каталогов выясняется в результате диалога редиректора и сервера по протоколу SMB. В сетях TCP/IP при использовании сервисов ftp, telnet или www услуга по просмотру сетевых ресурсов вообще не предусмотрена, и пользователь должен явно задавать символьные имена ftp- или www-хостов, на которых хранятся нужные ему данные.
Процедуры просмотра ресурсов и установления соединения выполняются в Windows NT с участием еще одного мультиплексора прикладного уровня - маршрутизатора поставщиков услуг MPR (Multiple Provider Router). MPR, реализованный в виде динамической библиотеки DLL, выполняет общие для всех типов сетей действий по просмотру и отображению сетевых ресурсов в одном стиле. Действительно, пользователь видит, что в диалоговом окне Connect Network Drive утилиты File Manager перечень поддерживаемых сетей, набор имеющихся в них серверов и список разделяемых каталогов на серверах отображаются с помощью одних и тех же графических иконок, независимо от того, сеть ли это NetWare или Microsoft Windows. Другим примером может служить процедура дополнительной аутентификации при подключении к новой сети - она может быть выполнена одинаковым образом для сетей разных типов.
Другой основной функцией MPR является мультиплексирование связей между приложением и несколькими редиректорами. Если приложение не делает запрос на доступ к сетевому ресурсу в явном виде по UNC имени, а хочет сначала просмотреть и/или отобразить ресурсы, то такой запрос попадает сначала в MPR, который переправляет его нужному редиректору. Запросы от приложений могут явно указывать, с каким типом сети нужно работать - в этом случае MPR просто передает запрос указанному редиректору. Если же в запросе тип сети не указан, то MPR поступает так же, как и MUP - он передает запрос для опознания ресурса всем редиректорам и ждет от них ответы.
MPR взаимодействует с редиректорами не непосредственно, а через промежуточные компоненты, называемые сетевыми поставщиками услуг (network provider). Эти промежуточные компоненты обеспечивают согласование исходного интерфейса каждого редиректора с единым стандартным интерфейсом, с помощью которого MPR общается с редиректорами. Таким образом, для включения в Windows NT нового типа сети нужно разработать две компоненты - редиректор и сетевой поставщик услуг.
Разделение обязанностей между сетевым поставщиком услуг и редиректором - их внутреннее дело, главное, чтобы поставщик поддерживал стандартный интерфейс с MPR. Встроенный поставщик сети Microsoft для получения списка доменов, рабочих групп и компьютеров обращается к сервису Computer Browser, а список разделяемых каталогов на сервере получает с помощью редиректора. При отображении разделяемого каталога на локальный дисковод, например, \\tandem\C$ на F:, поставщик услуг сам создает в дереве имен объектов Windows NT новый объект - символьную связь с именем F:, которая указывает на редиректор сети Microsoft. После создания такой связи работа мультиплексора MPR по поддержанию доступа к файлам (и подкаталогам) каталога F:\ закончена. Теперь эти обращения будут обрабатываться системой ввода-вывода Windows NT, которая, разбирая имя файла, обнаружит, что диск F: - это не реальное устройство, а символьная связь, и вызовет для дальнейшей обработки указанный в символьной связи нужный редиректор.
Реестр Windows NT
Администраторы систем встречаются со множеством проблем при управлении аппаратными средствами, операционными системами и приложениями на персональных компьютерах. Использование базы данных Registry, называемой также реестром, значительно снижает трудоемкость организации надежного и унифицированного хранения данных о конфигурации системы в иерархическом виде.
В Windows 3.х для запуска системы, соединения с сетью и выполнения приложений требуются многочисленные файлы конфигурации (файлы с расширением .INI), а также различные действия по логическому согласованию их содержимого. Windows NT сохраняет и проверяет информацию о конфигурации только в одном месте - реестре.
Этими данными пользуются многие компоненты и утилиты Windows NT, сохраняя в базе Registry и читая из нее параметры конфигурации. Администратор может непосредственно просматривать и изменять эти параметры с помощью утилиты REGEDIT32.EXE, поставляемой в составе Windows NT, но делать это рекомендуется только в тех случаях, если для параметров нет специальных утилит типа Control Panel или User Manager. Изменение параметров с помощью REGEDIT32.EXE может привести к ошибочным значениям параметров, а это в свою очередь - к некорректной работе системы, так как REGEDIT32.EXE не вдается в смысл параметров и не распознает синтаксические ошибки.
Реестр аналогичен файлам .INI, используемым Windows для MS-DOS; каждый ключ в реестре подобен заголовку в скобках в файле .INI, элементы ниже заголовка схожи с подобными значениями в реестре. Однако ключи реестра могут содержать подключи, в то время как файлы .INI не поддерживают вложенные заголовки. Значения реестра также могут состоять из выполняемого кода, а не только из простых строк, представляющих значения в файлах .INI. В реестре могут быть сохранены индивидуальные предпочтения для многих пользователей одного и того же компьютера - подобное невозможно в файлах .INI.
Реестр структурирован как набор четырех поддеревьев ключей, которые содержат данные о компьютере и пользователях (рисунок 3.1). Информация о компьютере включает сведения об аппаратных средствах и программном обеспечении, установленном на компьютере.
Поддерево HKEY_LOCAL_MACHINE содержит информацию относительно локальной компьютерной системы, включая аппаратные средства и данные операционной системы, такие как тип шины, системная память, драйверы, устройства и данные управления запуском.
Поддерево HKEY_CLASSIS_ROOT содержит данные о связи и внедрении объектов (OLE), данные ассоциации файловых классов.
Поддерево HKEY_CURRENT_USER содержит профиль пользователя для текущего зарегистрированного пользователя, включая системные переменные, персональные группы программ, установки рабочего стола (desktop), сетевые соединения, принтеры и приложения.
Поддерево HKEY_USERS - содержит профили всех пользователей компьютера, а также профиль по умолчанию. Пользователи, обращающиеся к серверу дистанционно, в этом ключе на сервере не имеют профилей, их профили загружаются в реестр на их собственных компьютерах.
Рис. 3.1. Структура реестра
Каждый индивидуальный ключ в реестре Windows NT может содержать элементы данных, называемые значимыми элементами (value entries) и дополнительные подключи (subkeys). В структуре реестра ключи аналогичны каталогам, а значимые элементы - файлам. Значимый элемент имеет три части: имя значения, тип данных и собственно значение. В этом порядке части значимого элемента и отображаются на экране, например:
DependOnService: REG_MULTY_SZ: Tcpip Nbtsys Streams
Реестр разделен на части, называемые ульями (hive), названные так разработчиками по аналогии с ячеистой структурой пчелиного улья. Улей является дискретным набором ключей, под-ключей и значений, которые находятся на верхнем уровне иерархии реестра. Улей хранится в файле с именем без расширения и файле с тем же именем, но с расширением .LOG, которые находятся в каталоге %SystemRoot%\sys-tem32\config.
Реестр гарантирует целостность (atomicity) индивидуальных действий.
Репликация каталогов в сети Windows NT
Иногда в сети полезно иметь несколько копий одного и того же файла на разных компьютерах. Примерами таких файлов может быть файл с номерами телефонов сотрудников предприятия, другие справочные данные, которые нужны одновременно многим клиентам сети. Поэтому для снижения нагрузки на сервер, хранящий такой файл, целесообразно разместить копии (реплики) этого файла на нескольких серверах сети и распределить нагрузку между этими серверами между клиентами сети.
Для поддержания синхронизма между данными разных копий файла применяется схема мастер-копии файла. Одна копия файла является мастер-копией, то есть оригиналом, в котором разрешается делать изменения. Другие версии этого файла создаются путем копировании по сети мастер-копии. Процесс копирования мастер-копии на серверы сети называется репликацией. Обычно репликация выполняется либо периодически, либо при возникновении изменений в мастер-копии.
Сервис репликации Windows NT позволяет автоматически реплицировать файлы, находящиеся в определенном каталоге любого компьютера, в каталоги других компьютеров сети.
Другим примером необходимости репликации файлов, харакетрным для сети Windows NT, является необходимость репликации файлов входных сценариев (Logon Scripts) пользователей и файлов системной политики (System Policy Files) в том случае, когда в сети есть кроме основного и резервные контроллеры домена.
Это связано с тем. что когда пользователь аутентифицируется на контроллере домена (неважно, на основном или резервном), то контроллер по умолчанию ищет файл входного сценария или файл системной политики в своем определенном локальном каталоге. Например, файл системной политики должен по умолчанию находиться в каталоге system-root\system32\Repl\Import\Scripts (имеющем разделяемое имя NETLOGON). Поэтому для того, чтобы пользователь имел один и тот же профиль, заданный в файле системной политики, независимо от того, какой контроллер домена его аутентифицирует, нужно поместить копии этого файла на все контроллеры домена
Модель репликации Windows NT включает следующие элементы:
Экспортирующий сервер. Этот сервер реплицирует обновляемые файлы из определенного назначенного для репликации каталога на импортирующий компьютер. Экспортирующим сервером может быть только компьютер под управлением Windows NT Server. Импортирующий компьютер. Этот компьютер принимает обновленные реплицируемые файлы от экспортирующего компьютера. Импортирующий компьютер может принимать обновленные файла от определенного экспортирующего компьютера или же от всех экспортирующих компьютеров домена. В качестве импортирующих компьютеров могут выступать компьютеры под управлением Windows NT Server, Windows NT Workstation, LAN Manager for OS/2 Server. Каталоги экспорта и импорта. Сервер экспортирует файлы из подкаталогов главного каталога экспорта. По умолчанию, этим каталогом является каталог systemroot\System32\Repl\Export. Для экспортирования файлов администратор должен создать в этом каталоге подкаталоги для каждой группы файлов, которая должна экспортироваться. Необходимо отметить, что файлы, помещенные непосредственно в каталог systemroot\System32\Repl\Export, экспортироваться не будут. Например, для экспорта файлов Logon Scripts, необходимо поместить их в подкаталог system-root\System32\Repl\Export\Scripts.
Каждый импортирующий компьютер должен иметь главный каталог импорта, который соответствует главному каталогу экспорта. По умолчанию это каталог system-root\System32\Repl\Import. Сервис репликации каталогов Directory Replicator service. Этот сервис управляет репликацией файлов. Он работает на каждом экспортирующем сервере и импортирующем компьютере. Сервис репликации копирует из главного каталога экспортирующего компьютера все подкаталоги вместе с файлами в главный каталог импорта каждого импортирующего компьютера. При изменении какого-либо файла в подкаталогах главного каталога экспорта сервис репликации копирует его в соответствующий подкаталог импорта.
Сервис репликации на каждом компьютере, участвующем в процессе репликации, должен работать под именем некоторого вымышленного пользователя, например, repl, специально созданного для этих целей. Конфигурирование сервиса для входа под именем пользователя выполняется из панели Services. Данный пользователь должен быть членом групп Backup Operator и Replicator для копирования файлом репликации в обход возможных запретов по правам доступа.
Сервис репликации периодически проверяет состоянии экспортируемых файлов для обнаружения изменений. Когда изменение обнаружено, то происходит следующие действия:
Экспортирующий сервер посылает уведомление о изменении импортирующим компьютерам или по домену. Когда импортирующий компьютер получает уведомление, то он обращается к серверу экспорта и читает структуру каталога экспорта. Импортирующий компьютер копирует все новые или измененные файлы в свои подкаталоги импорта, а также удаляет из своих подкаталогов импорта те файлы, которые отсутствуют в подкаталогах экспорта.
Параметры сервиса репликации находятся в Registry:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Serveces\Replicator\Parameters
Сервис подключения удаленных узлов и сетей RAS
Сервис удаленного доступа RAS предоставляет пользователям Windows NT следующие возможности:
Многопротокольная маршрутизация. Последовательные линии, такие как коммутируемые телефонные линии, через которые чаще всего и осуществляется удаленный доступ, способны только передавать потоки битов без их деления на информационные пакеты. Поэтому для имитации работы удаленного пользователя в сети необходимо соответствующее программное или аппаратное обеспечение, которое должно преобразовать битовый поток в последовательность пакетов. Для этих целей должны быть разработаны протоколы последовательных линий, которые могут быть использованы сетевым программным обеспечением для организации удаленных соединений.
Подобно тому, как для работы нескольких сетевых протоколов через один сетевой адаптер было разработано соответствующее мультиплексирующее программное обеспечение, для последовательных линий также должно быть разработано решение, обеспечивающее использование более чем одного протокола на одной последовательной линии. Большинство существовавших ранее протоколов удаленного доступа были разработаны для поддержки одного сетевого протокола, и поэтому их трудно приспособить для поддержки сразу нескольких сетевых протоколов. Кроме того, протоколы сетевого уровня локальных сетей, такие как IPX и Apple-Talk, были разработаны без учета возможности работы на медленных последовательных линиях. Они применяют небольшие времена тайм-аутов, частую рассылку широковещательных пакетов и имеют другие особенности, которые резко снижают производительность при использовании их для удаленного доступа.
Существует несколько важных факторов, которые нужно принимать во внимание при организации удаленного доступа в многопротокольной среде. Прежде всего - это поддержка множества сетевых протоколов через набор удаленных связей. Пользователи, звонящие в сеть и из сети, должны быть в состоянии подсоединиться к любой линии из группы телефонных каналов и использовать на ней протокол, наиболее соответствующий их потребностям. Для того, чтобы обеспечить такую возможность, сервер удаленного доступа должен поддерживать все распространенные протоколы последовательных линий - SLIP, CSLIP, PPP и ARAP - и быть в состоянии автоматически распознавать предпочтительный протокол или же давать возможность пользователю указать его.
Сервис RAS позволяет клиентам в ходе сеанса удаленного доступа использовать любую комбинацию сетевых протоколов NetBEUI, TCP/IP, IPX. Это означает возможность удаленной работы приложений, ориентированных на сокеты Windows и NetWare, наряду с приложениями NetBIOS. Протокол РРР обеспечивает высокую степень взаимодействия с существующими сервисами удаленного доступа.
Поддержка Internet. Сервис RAS предоставляет полный набор функций, позволяющих использовать Windows NT Server в качестве провайдера сервисных услуг Internet. Клиентские станции, работающие под управление Windows NT Workstation или Windows 95, получают возможность соединяться по коммутируемым линиям через Internet.
Улучшенные возможности интеграции с сетями NetWare. Поскольку служба RAS в составе Windows NT основана на протоколе PPP, то, имея стек протоколов IPX, любой клиент PPP другой фирмы может также быть использован для удаленного доступа к сети. Программы RAS и Gateway Service, функционирующие на одном сервере Windows NT, и соответствующее программное обеспечение, запущенное на машинах пользователей (в том числе и мобильных), позволяют реализовать аутентифицированный удаленный доступ пользователей к своим каталогам на сервере NetWare.
Увеличенное количество одновременных соединений. Операционная системы Windows NT Server поддерживает до 256 одновременных соединений. Windows NT Workstation поддерживает только одно соединение, которое может быть полезно для небольших одноранговых сетей.
Программное сжатие данных в сервисе удаленного доступа позволяет пользователям существенно увеличить (практически в два раза) пропускную способность своего соединения.
Поддержка прикладных программных интерфейсов RAS позволяет пользователям разрабатывать собственные приложения, обладающие возможностями удаленного доступа.
Шлюз Gateway Services for NetWare
Windows NT Server также может выступать в качестве шлюза к файлам и принтеру NetWare. Этот шлюз позволяет клиентам Windows NT (а в их число входят компьютеры Windows NT Workstation, Windows for Workgroups, Windows 95 и другие) получать прозрачный доступ к томам и каталогам серверов NetWare 3.x и 4.x. При этом клиенты Windows NT не должны устанавливать редиректоры Net-Ware (клиентские части протокола NCP).
Этот шлюз выступает в качестве переводчика между протоколом Server Message Block Protocol (SMB) и протоколом Novell NetWare Core Protocol (NCP). Протокол SMB применяется в сетях, функционирующих под управлением ОС LAN Manager и LAN Server соответственно корпораций Microsoft и IBM, а также в некоторых других системах.
Использование Gateway Services незаменимо в том случае, когда клиент сети Windows не может по каким-либо причинам установить дополнительный протокол или программное обеспечение. Также шлюзование удобно использовать при периодической работе большого числа клиентов с серверами NetWare.
Создавая шлюз, администратор сети может разрешить произвольное число одновременных подключений к NetWare серверу через шлюз. При этом, независимо от того, на сколько пользователей рассчитан сервер NetWare, физически доступ к нему смогут одновременно иметь столько пользователей, сколько указал администратор. Поэтому администратор не должен указывать число одновременно разрешенных подключений, превышающее указанное в лицензии на NetWare сервер. Это одно из отличий лицензионной политики Microsoft от политики Novell. В то время, как Novell программным путем ограничивает доступ к серверу (что далеко не всегда эффективно и удобно), Microsoft предлагает путь, при котором администратор сети несет всю ответственность за легальность использования ПО.
Пользователи сети Windows осуществляют доступ к ресурсам NW-сервера как к ресурсам NT-сервера, порой даже и не догадываясь о том, что работают через шлюз.
Какими же правами будут обладать пользователи, получившие доступ к ресурсам NetWare сервера через шлюз? По умолчанию они имеют все права в пределах тех, которые определены для бюджета, используемого самим шлюзом. Однако администратор вправе установить различные привилегии для пользователей.
Для доступа к файлам NetWare клиенты, используя свой "родной" протокол SMB, обращаются к серверу Windows NT, на котором работает шлюз GatewayService for NetWare. Разделяемые каталоги серверов NetWare выглядят для пользователей точно так же, как и разделяемые каталоги сервера, на котором расположен шлюз. Для того чтобы эти виртуальные каталоги выглядели как реальные, шлюз совместно с администраторами двух сетей выполняет некоторую предварительную работу (рисунок 10.2).
Рис. 10.2. Шлюз Gateway Service for NetWare
Администратор сети NetWare заводит фиктивного пользователя, который отныне будет представлять в этой сети шлюз. Имя его выбирается произвольно, но он обязательно должен быть членом группы NTGATEWAY. Далее администратор NetWare определяет все ресурсы своей сети, к которым будет разрешен доступ клиентам сети Microsoft, и задает права доступа к этим ресурсам для пользователя-шлюза. Заметим, что так как все клиенты сети Windows NT для администратора NetWare выступают в виде одного пользователя, то он не может дифференцировать этих клиентов по правам доступа. Такая возможность делегируется администратору сети Microsoft.
Этот администратор при конфигурации шлюза дает свои имена разделяемым каталогам Net-Ware и, используя стандартные наборы прав доступа Windows NT, может более тонко определить привилегии каждого пользователя по отношению к этим виртуальным разделяемым каталогам. Очевидно, что для свободного управления правами клиентов шлюза сам шлюз должен иметь максимальные права доступа к каталогам серверов NetWare. Следовательно, администратор сети NetWare должен полностью доверять администратору сети Microsoft.
Синхронизация контроллеров в сети Windows NT
Существует только один основной контроллер домена (PDC). Он управляет главной копией учетной базы данных домена, которая автоматически реплицируется на резервные контроллеры домена (BDC). Иногда может возникнуть потребность в повышении статуса резервного контроллера домена до основного, например, при проведении профилактических работ на первичном контроллере домена. Если PDC находится в рабочем состоянии, то он может поменяться ролями с BDC. Повышение статуса BDC до PDC приведет к тому, что статус PDC автоматически понизится до BDC.
Если же PDC отключен, то BDC также можно повысить до статуса PDC, но все последние изменения в его базе будут утеряны.
Синхронизация заключается в копировании новой информации о пользователях, группах и паролях с PDC на заданный BDC. Можно синхронизировать контроллеры двумя способами:
Если выбирается один из BDC, то с PDC синхронизируется только его база данных. Если выбирается PDC, то база данных PDC будет синхронизироваться со всеми BDC домена.
Синхронизация с основным контроллером домена может быть необходима, когда администратор производит изменения в его учетной базе данных и хочет немедленно проверить их последствия без задержки во времени, связанной с периодичностью репликации.
Полная синхронизация учетной базы данных не является необходимой, если PDC и BDC работают на основе Windows NT Server. Это происходит потому, что PDC отслеживает уровень синхронизации для каждого BDC, что позволяет PDC управлять интенсивностью процесса частичной синхронизации. PDC посылает сообщение об изменении своей базы данных только тому BDC, который нуждается в изменениях, вместо того, чтобы синхронизировать все BDC. В каждом цикле репликации сообщения посылаются некоторому подмножеству BDC домена, что предотвращает одновременные ответы сразу от всех BDC. Это уменьшает пиковые значения сетевого трафика и загрузки PDC.
Параметры репликации: период репликации (по умолчанию - 5 минут), количество одновременно реплицируемых BDC (по умолчанию - 20), максимальное значение периода репликации и некоторые другие параметры. Все они хранятся в базе Registry.
Сравнение мультиплексирования и трансляции
Мультиплексирование состоит в установке нескольких дополнительных стеков протоколов на одной из конечных машин, участвующих во взаимодействии. Компьютер с несколькими стеками протоколов использует для взаимодействия с другим компьютером тот стек или тот протокол, который понимает этот компьютер, то есть выбирает язык, понятный его собеседнику. При мультиплексировании протоколов реализуется отношение "один-ко-многим", то есть один клиент с дополнительным стеком может обращаться ко всем серверам, поддерживающим этот стек, или один сервер с дополнительным стеком может предоставлять услуги многим клиентам.
Стеки могут мультиплексироваться как целиком, так и по частям, протоколами отдельных уровней. Хотя в стандартной модели взаимодействия открытых систем OSI определено семь уровней, коммуникационные средства реальных систем обычно подразделяются на три уровня. Нижний уровень составляют драйверы сетевых адаптеров, реализующие функции канального уровня модели OSI, на среднем уровне работают так называемые транспортные средства, выполняющие функции сетевого и транспортного уровней. Верхний уровень образуют серверы и редиректоры, выполняющие функции сеансового, представительного и прикладного уровней модели OSI.
Если в системе предусматривается мультиплексирование средств каждого из трех уровней, то диалог между компьютерами может поддерживаться, например, протоколом SMB на верхнем уровне, протоколами TCP и IP на транспортном уровне и протоколом Ethernet на нижнем уровне. Для организации связей между различными протоколами на каждом уровне вводится дополнительная компонента, называемая мультиплексором или менеджером протоколов. Мультиплексор осуществляет соединение между парами протоколов двух соседних уровней в зависимости от потребностей приложений (заметим, что на верхнем уровне мультиплексор соединяет приложение с различными редиректорами).
Для того, чтобы та или иная компонента могла быть использована в режиме мультиплексирования, она должна быть написана в соответствии с определенными соглашениями, то есть поддерживать требуемый интерфейс с мультиплексором. Сам мультиплексор должен поддерживать два, в общем случае разных, интерфейса - с нижележащими и вышележащими компонентами.
Другой способ организации совместной работы двух разных сетей состоит в выделении специального элемента сети - шлюза, в котором установлены оба согласуемых стека протоколов. Шлюз транслирует один стек протоколов в другой для всех нуждающихся в этом приложений, то есть выступает переводчиком для компьютеров, использующих разные языки общения. Как и обычный перевод, трансляция протоколов - это сложная эвристическая процедура, так как не всегда имеется явное соответствие между типами сообщений разных протоколов. Ключевым моментом трансляции является согласование разных систем адресации ресурсов, принятых в различных сетях. Шлюз обычно решает эту проблему за счет привлечения символьных имен ресурсов, используемых протоколом прикладного уровня при установлении соединения клиента с сервером.
Шлюз реализует взаимодействие "многие-ко-многим", то есть все клиенты сервера, на котором установлен шлюз, могут обращаться с запросами ко всем серверам в другой сети.
Каждый из названных подходов имеет свои достоинства и недостатки.
К достоинствам шлюзов относится то, что при их использовании в сеть вносятся минимальные изменения - дополнительное программное обеспечение устанавливается только на одном из серверов, а клиентские станции остаются без каких-либо изменений. Полностью сохраняется привычная пользовательская среда.
При мультиплексировании протоколов дополнительное программное обеспечение - соответствующие стеки протоколов - должно быть установлено либо на каждую клиентскую машину, которой может потребоваться доступ к серверам другой сети, либо на каждый сервер, к который предполагается использовать для обслуживания клиентов из другой сети. В Windows NT имеются средства борьбы с избыточностью, свойственной этому подходу - операционная система может быть сконфигурирована для работы с несколькими стеками протоколов, но динамически можно загрузить только те, которые сейчас нужны.
В принципе, при работе с несколькими стеками протоколов у пользователя может возникнуть проблема работы в незнакомой среде, с незнакомыми командами, правилами и методами адресации. В Windows NT сделана попытка в какой-то степени облегчить жизнь пользователю в этой ситуации. Независимо от используемого протокола прикладного уровня (например, Microsoft SMB или Novell NCP) ему предоставляется один и тот же интуитивный графический интерфейс, с помощью которого он просматривает и выбирает нужные удаленные ресурсы. Однако, некоторые сервисы пока еще не охвачены этим универсальным средством: большинство сервисов стека TCP/IP - ftp, tftp, r*, ping и другие - используют режим командной строки. Пользователь должен выучить названия команд, их синтаксис и значения многочисленных ключей. Telnet - еще один сервис стека TCP/IP - использует для диалога собственный графический интерфейс, поскольку по своей природе эмуляция терминала значительно отличается от файлового сервиса.
Как и всякий централизованный ресурс, шлюз снижает надежность сети. С другой стороны, централизация облегчает контроль доступа пользователей к "чужой" сети, диагностику и обработку ошибочных ситуаций.
Шлюз является более медленным средством по сравнению с переключаемыми стеками протоколов. Во-первых, из-за относительно больших затрат времени на собственно процедуру трансляции, а, во-вторых, из-за задержек запросов в очереди к разделяемому всеми клиентами шлюзу. Это делает шлюз плохо масштабируемым решением. Трансляция протоколов в шлюзе замедляет доступ к серверу NetWare по сравнению с доступом через редиректор клиента. При тестировании замедление в малозагруженном шлюзе составило от 10% до 15%.
Средства администрирования Windows NT
Администрирование Windows NT включает как задачи настройки системы непосредственно после инсталляции, так и задачи ежедневной поддержки системы.
Задачи администрирования Windows NT Server и Windows NT Workstation во многом совпадают, однако средства для выполнения этих задач, включенные в каждый из этих продуктов, различаются.
Задачи администрирования могут быть разделены на пять групп:
Администрирование пользователей и групп пользователей. Включает планирование, создание и поддержку учетной информации пользователей и групп. Администрирование средств обеспечения безопасности системы. Включает планирование и реализацию политики безопасности, гарантирующей защиту данных и разделяемых сетевых ресурсов, таких как каталоги, файлы и принтеры. Администрирование принтеров. Включает инсталляцию локальных и сетевых принтеров, конфигурирование их для более удобного использования, поиск неисправностей, устранение проблем, возникающих при печати. Мониторинг событий и ресурсов. Включает планирование и реализацию политики аудита сетевых событий в целях нахождения брешей в системе защиты, а также мониторинг процессов использования сетевых ресурсов. Архивирование и восстановление данных. Включает планирование и выполнение регулярного резервного копирования критических данных.
Средства администрирования Windows NT Workstation используются только для администрирования локального компьютера, а средства администрирования Windows NT Server используются для администрирования любого компьютера сети.
Важнейшими инструментами администрирования пользователей для Windows NT Workstation является User Manager, а для Windows NT Server - User Manager for Domains.
Другим важным средством администрирования является Server Manager. Это средство, включенное в состав Windows NT Server, дает возможность просматривать и управлять компьютерами домена. С помощью Server Manager можно:
присоединить компьютер к домену; создать на удаленном компьютере разделяемый каталог (share) и определить к нему права доступа для пользователей домена; просмотреть список работающих на удаленном компьютере сервисов, запускать или останавливать эти сервисы; инициировать синхронизацию контроллеров домена, повысит роль BDC до PDC.
Event Viewer - еще одно средство администрирования, которое оповещает администратора сети обо всех событиях в сети, которые имеют отношение к работоспособности и безопасности системы. Например, такими событиями являются успешный или неуспешный запуск сервиса или приложения, успешная или неуспешная попытка логического входа и т.д.
Backup - средство, которое используется для резервного копирования информации на локальный стриммер.
Средства администрирования Windows NT Server построены в архитектуре клиент - сервер. После инсталляции Windows NT Server клиентские и серверные части средств администрирования находятся на одном компьютере, но клиентские части могут работать на любых компьютерах сети, работающих под управлением Windows NT Workstation или Windows 95. Эти клиентские части собраны в одном каталоге Clients\Srvtools дистрибутивного диска Windows NT Server.
Установка клиентских частей средств администрирования на Windows NT Workstation или Windows 95 дает возможность администрирования домена с клиентского компьютера. Это полезно в сети, где сервер защищается физически, например, находится в закрытом помещении, к которому затруднен доступ.
Средства безопасности сервиса удаленного доступа RAS
Для обеспечения безопасности RAS использует как средства Windows NT, так и собственные механизмы. Защита предусматривается на всех стадиях процесса удаленного доступа: аутентификации пользователей, передачи данных, доступа к ресурсам, выхода из системы и контроля событий, относящихся к защите данных (аудит).
Для аутентификации абонентов RAS использует протокол Challenge Handshake Authentification Protocol (CHAP). Суть его состоит в том, что одна из сторон посылает некое проверочное слово, которое другая сторона должна зашифровать с помощью известного обеим сторонам секретного ключа. Зашифрованное слово возвращается в качестве ответа вызывающей стороне, которая локально также выполнила шифрование этого проверочного слова с помощью такого же ключа. Если результаты шифрования совпадают, то значит аутентификация прошла успешно. Здесь важно, что аутентификация осуществляется без передачи по сети секретного пароля.
CHAP может использовать разные алгоритмы шифрования, а конкретно в RAS применяются DES и MD5. Существует несколько вариантов аутентификации, в которых могут быть использованы разные алгоритмы шифрации.
DES используется сервером RAS, если клиентом также является RAS. При коммуникациях со сторонними клиентами сервер RAS может использовать протокол SPAP, менее защищенный, чем CHAP, или вообще не использовать никаких алгоритмов шифрации. Если же клиент RAS взаимодействует с серверами удаленного доступа сторонних производителей, то он может использовать алгоритм MD5, часто реализуемый различными поставщиками РРР для зашифрованной аутентификации. Сервер RAS алгоритма MD5 не поддерживает.
Для обеспечения секретности передаваемых данных в сервисе RAS имеется встроенный механизм шифрации данных, основанный на алгоритме открытого ключа RC4 компании RSA Data Security. В принципе пользователи RAS могут сами выбрать степень безопасности при обмене данными с удаленными компьютерами. Но администратор имеет возможность принудительным образом устанавливать высокий уровень безопасности.
На рисунке 7.1 приведены различные варианты аутентификации удаленных пользователей для случая, когда сервер RAS взаимодействует с клиентом RAS, а также для тех случаев, когда эти компоненты взаимодействуют с продуктами третьих фирм.
Рис. 7.1. Различные варианты аутентификации пользователей при использовании сервера и клиента RAS
В качестве дополнительной меры безопасности RAS предлагает процедуру обратного вызова (call-back). Защита основана на том, что администратор заранее зная номера телефонов с которых могут выполняться "разрешенные" звонки, вносит их в специальный список. Процедура call-back предусматривает следующую последовательность:
инициирование соединения со стороны удаленного пользователя; установление соединения; обрыв только что установленного соединения по инициативе сервера; инициирование соединения со стороны сервера по разрешенному номеру, заданному пользователем для обратного вызова.
Очевидно, что если был назван неразрешенный номер или номер не соответствующий месту нахождения звонившего абонента, то соединение не будет разрешено.
Права на удаленный доступ могут быть предоставлены пользователям только явным образом. Все остальные права на доступ к ресурсам сети и выполнение привилегированных действий определяются средствами авторизации Windows NT.
Типы сервисов просмотра
Сервис просмотра компьютеров (Windows NT Computer Browser) предназначен для создания списка доменов и серверов, имеющихся в сети. Пользователь просматривает этот список и выбирает нужный ресурс. Этот сервис работает, когда пользователь делает запрос на просмотр сети из командной строки или нажимает кнопку CONNECT NETWORK DRIVE программы File Manager.
Сервисы просмотра могут работать как на Windows NT Workstation, так и на Windows NT Server. Имеется пять типов сервисов просмотра.
Главный сервис просмотра домена (Domain Master Browser). Этот тип сервиса всегда работает на первичном контроллере домена. Он несет ответственность за сбор информации для всего домена, включая все подсети, и передает список ресурсов домена резервным сервисам просмотра домена (Backup Browsers).
Резервный сервис просмотра (Backup Browser). Этот сервис работает с копией списка просмотра и распространяет его по запросам среди компьютеров домена. Все компьютеры Windows NT Server автоматически конфигурируются с установленным резервным сервисом просмотра. Компьютеры Windows NT Workstation имеют потенциальную возможность выполнять резервный сервис просмотра, если в сети менее трех компьютеров Windows NT Server выполняют функции главного и резервного просмотра.
Главный сервис просмотра (Master Browser). Этот тип сервиса получает информацию от компьютеров рабочей группы или домена и передает список ресурсов домена резервному сервису просмотра. В интерсети с глобальными связями в каждой подсети выполняется свой главный сервис просмотра, а в локальной сети эту функцию выполняет главный сервис просмотра домена. Компьютер для размещения главного сервиса просмотра выбирается автоматически в соответствии с некоторой эвристической процедурой. В порядке убывания значимости учитывается тип операционной системы (например, Windows NT предпочтительнее, чем Windows for Workgroups), период нахождения во включенном состоянии (чем дольше уже проработал компьютер, тем шансы его выше), имя компьютера (лексикографическое упорядочение - сервер АС имеет преимущество перед сервером AY).
Предпочтительный главный сервис просмотра (Preferred Master Browser) - это сервер, который специально сконфигурирован для победы в процедуре выборов главного сервиса просмотров. Это особенно важно в сети TCP/IP для выполнения функции просмотра ресурсов домена и разрешения имен NetBIOS, если в сети не реализована служба WINS.
Для того, чтобы компьютер стал выполнять предпочтительный главный сервис просмотра, надо установить параметр Is Domain Master Browser в состояние True, или Yes (Этот параметр по умолчанию устанавливается в состояние False, или No, даже если компьютер является в данный момент главным просмоторщиком.) Параметр находится в базе данных Registry.
Потенциальный просмоторщик - это любой компьютер, который может быть выбран в качестве главного или резервного просмоторщика. Компьютер Windows NT Server всегда является главным или резервным просмоторщиком, а компьютеры Windows NT Workstation и Windows for Workgroups имеют потенциальную возможность стать главными или резервными просмоторщиками.
Транзитная аутентификация в многодоменной сети
Пользователи могут входить в сеть из рабочих станций не только того домена, где хранится их учетная информация, но и из рабочих станций доменов, которые доверяют этому домену.
При входе в учетный домен с компьютера ресурсного домена также выполняется транзитная аутентификация. Пользователь в многодоменной сети полностью идентифицируется в сети составным именем в форме имя_домена\имя_пользователя.
Транзитная аутентификация происходит в двух случаях:
при начальном логическом входе в учетный домен с рабочей станции, при использовании ресурсов доверяющего домена.
Транзитная аутентификация выполняется в следующей последовательности:
Компьютер Windows NT при старте выполняет сервис Netlogon, с помощью которого обнаруживает контроллер своего домена (например, домена 2) на основе Windows NT Server. Пользователь (например, пользователь 2) логически входит в компьютер домена 2, имея учетную информацию в домене 1. Он делает это изменяя имя домена в окне From с имени "домен 2" на имя "домен 1". Контроллер домена 2 не может произвести аутентификацию пользователя, поскольку в запросе указано, что учетная информация пользователя находится в домене 1. Аутентификационный запрос передается по доверительной связи в контроллер домена 1. Этот контроллер проверяет базу данных учетной информации домена 1 на наличие там данных о пользователе 2 и корректность введенного пароля. Контроллер домена 1 аутентифицирует пользователя 2 и передает его идентификатор и идентификатор его группы контроллеру домена 2. Затем контроллер домена 2 передает эту информацию компьютеру Windows NT, через который осуществлял вход пользователь 2.
Транзитная аутентификация в однодоменной сети
Если пользователь входит с рабочей станции Windows NT Workstation в домен, то рабочая станция не обращается для аутентификации в свою базу SAM, а выполняет транзитную аутентификацию. Транзитная аутентификация заключается в поиске первичного или вторичного контроллеров домена и передаче им данных о пользователе. Контроллер домена, получив данные пользователя, выполняет просмотр своей базы SAM DP или SAM PD и на основании хранящихся там данных выполняет процедуру аутентификации. Естественно, что прошедшему аутентификацию пользователю присваивается SID, хранящийся в базе SAM контроллера домена, а не той рабочей станции, с которой пользователь выполняет логический вход.
Если у разделяемых ресурсов всех серверов домена данный SID включен в списки прав доступа ACL, то пользователь после входа в домен автоматически получает соответствующие права доступа к этим ресурсам.
Таким образом, централизованная справочная служба контроллеров PDC и BDC обеспечивает свойство единственности логического входа в систему - пользователь не должен каждый раз проходить через процедуру аутентификации при попытке получить доступ к ресурсам нового сервера Windows NT Server.
Требования к аппаратной платформе
Для инсталляции Windows NT компьютер на основе процессора семейства Intel x86 должен обладать следующими характеристиками:
Процессор Intel 80386 или выше, процессор семейства Intel Pentium. Windows NT Sever 4.0 требует по крайней мере процессора 80486. Последние версии Windows NT оптимизированы для процессоров Pentium, поэтому желательно использовать именно эти процессоры, особенно для Windows NT Server. Графический адаптер VGA, SVGA или выше. Один или несколько жестких дисков, имеющих раздел со свободным пространством по крайней мере 90 Мбайт для размещения системных файлов Windows NT (инсталляция без использования загрузочных дискет может требовать до 200 Мбайт свободного пространства для временного хранения дистрибутивных файлов). Дисковод для гибких дисков 3.5 дюйма; или дисковод для гибких дисков 5.25 дюйма плюс дисковод CD-ROM из числа поддерживаемых Windows NT. Если компьютер имеет только дисковод 5.25 дюйма, то для него возможна инсталляция Windows NT только по сети. 16 Мбайт оперативной памяти является минимумом как для Windows NT Server, так и для Windows NT Workstation. Чем больше оперативной памяти имеет компьютер, тем он быстрее работает, так как система кэширования файлов обеспечивает при этом доступ к большему объему данных непосредственно через оперативную память, а не посредством чтения с диска.
При использовании Windows NT Server в качестве файлового сервера минимальный объем оперативной памяти в 16 Мбайт позволяет одновременно работать не более 5 - 10 пользователям. При работе с большим числом пользователей рекомендуется использовать компьютер с объемом памяти 32 - 64 Мбайта.
Установка Microsoft SQL Server на Windows NT Server требует дополнительно еще 32 Мбайта памяти, а Microsoft Exchange Sever - 48 Мбайт.
Естественно, это некоторые усредненные числа, в действительности требуемый объем памяти зависит от приложений, которые используют пользователи, и от объема открываемых ими файлов. Один или несколько сетевых адаптеров.
Windows NT Server поддерживает конфигурации до 4-х процессоров, а Windows NT Workstation - до 2-х.
Управление документами
Пользователи, имеющие разрешения Print на какой-либо принтер, могут управлять теми документами, которые они отправили на печать в данный принтер.
Пользователи, которые имеют разрешения Manage Documents, могут выполнять те же действия с документами любых пользователей.
Управлять документом можно после того, как он попал в очередь печати принтера и его название появилось в окне печатающихся документов данного принтера (это окно появляется после двойного щелчка по иконке принтера в окне Printers).
Из меню Documents окна печати принтера можно выполнять такие действия над документом как:
Pause - приостанавливать печать данного документа Resume - продолжать печать приостановленного документа Restart - начинать печать документа с начала Canсel - снимать документ с печати Properties - изменять свойства документа
Панель свойств документа, появляющаяся после выбора пункта Properties, имеет три закладки: General, Page Setup и Advanced.
В закладке General можно установить:
Приоритет данного документа по отношению к другим документам данного принтера, находящимся в очереди. По умолчанию документ имеет низший приоритет 1, но он может быть повышен до 99. Получателя уведомления (notification). По умолчанию уведомление о том, что документ напечатан, получает тот пользователь, который послал документ на принтер. С помощью поля Notify можно задать имя пользователя, который будет получит уведомление вместо того пользователя, который отправил документ на печать. Расписание печати документа. Определяет диапазон часов, когда этот документ может печататься. Например, если пользователь хочет, чтобы этот документ был напечатан в ночные часы, когда принтер не загружен, то он может указать диапазон от 12.00 АМ до 6.00 АМ. Если документ послан на печать в другое время, то он запоминается в спулере принт-сервера, а печать начинается в 12.00 часов ночи.
Управление памятью
Windows NT поддерживает сегментностраничную модель виртуальной памяти и использует для этих целей аппаратную поддержку таких процессоров как Intel 80386 и выше, MIPS R4000, DEC Alpha и Power PC. Для этого в NT executive имеется специальный компонент - менеджер виртуальной памяти.
Менеджер ВП обеспечивает для процессов следующие наборы функций:
управление виртуальным адресным пространством процесса; разделение памяти между процессами; защита виртуальной памяти одного процесса от других процессов.
Средства защиты памяти в Windows NT существуют в четырех формах.
Отдельное адресное пространство для каждого процесса. Аппаратура запрещает нити доступ к физическим адресам другого процесса. Два режима работы: режим ядра, в котором нитям разрешен доступ к системным данным, и пользовательский режим, в котором это запрещено. Страничный механизм защиты. Каждая виртуальная страница имеет набор признаков, который определяет разрешенные типы доступа в пользовательском режиме и в режиме ядра. Объектно-ориентированная защита памяти. Каждый раз, когда процесс открывает указатель на секцию, монитор ссылок безопасности проверяет, разрешен ли доступ процесса к данному объекту.
Каждый раз, когда нить использует адрес, менеджер ВП вместе с аппаратными средствами транслирует виртуальный адрес в физический. Подсистема виртуальной памяти, управляя процессом трансляции виртуальных адресов, гарантирует, что нить одного процесса не сможет получить доступ к физической странице памяти, относящейся к другому процессу.
В дополнение к прямой защите, обеспечиваемой механизмом трансляции, каждый процессор, который поддерживает виртуальную память, реализует некоторую форму аппаратно-управляемой защиты памяти. Часто аппаратная защита бывает минимальной. Из-за этого менеджер виртуальной памяти Windows NT в гораздо большей степени зависит от аппаратуры, чем другие части операционной системы.
Каждый процесс NT executive имеет большое виртуальное адресное пространство размером в 4Гб, из которых 2 Гб резервируются для системных нужд. (Процессор MIPS R4000 требует, чтобы 2 Гб адресного пространства были зарезервированы для системы. Хотя другие процессоры требуют меньше, для переносимости системы Windows NT всегда резервирует 2 Гб.) Младшие адреса виртуального адресного пространства доступны для нитей, работающих и в пользовательском, и в привилегированном режимах, они указывают на области памяти, уникальные для каждого процесса. Старшая часть адресов доступна для нитей только тогда, когда они выполняются в привилегированном режиме. Виртуальное адресное пространство процесса показано на рисунке 1.4.
В нижней (младшей) части системной области памяти располагаются код и данные ядра, они никогда не вытесняются из памяти. Поскольку адреса из этого диапазона транслируются аппаратурой и всегда бывают действительными, доступ к этой области памяти осуществляется очень быстро. Она используется для тех частей ядра, от которых требуется максимальная производительность, например, для кода, который диспетчирует нити.
Рис. 1.4. Виртуальное адресное пространство
Верхняя часть системной памяти управляется менеджером виртуальной памяти и используется для хранения остальных системных данных и кода. Часть этой области резервируется для кода и данных, которые могут быть вытеснены на диск с помощью страничного механизма, а другая часть никогда не вытесняется из памяти (в ней, например, размещается код, который осуществляет страничный обмен).
В составе менеджера виртуальной памяти имеется такой компонент, как пейджер (pager). Этот код перемещает страницы между диском и памятью, представляя собой промежуточное звено между аппаратными механизмами и программно-реализуемыми стратегиями. В его функции входит:
загрузка страницы в память при возникновении страничного прерывания, проверка прав доступа к отсутствующим страницам и дополнение аппаратных средств защиты страниц, загруженных в память, обновление структур данных подсистемы управления памятью.
Процесс принятия решения о замене страниц системой виртуальной памяти обычно включает три фазы: извлечение, размещение, замена.
Этап извлечения связан с выбором условия, при выполнении которого страница перемещается с диска в память. Существует два типа стратегий извлечения: с упреждением, когда страницы загружаются в память до того, как они оказываются необходимыми процессу, и стратегии загрузки по требованию, в соответствии с которыми страница перемещается в память только при наступлении страничного прерывания. При использовании стратегий "по требованию" при старте каждой нити происходит интенсивная загрузка страниц. Эти страницы называются начальным набором страниц. После загрузки начального набора интенсивность загрузки страниц заметно уменьшается.
Менеджер виртуальной памяти Windows NT использует стратегию "по требованию" с кластеризацией. При возникновении страничного прерывания менеджер виртуальной памяти загружает в память вызвавшую прерывание страницу, а также небольшое количество окружающих ее страниц. Эта стратегия пытается минимизировать количество страничных прерываний.
Этап размещения. Набор правил, используемых для определения места размещения новой страницы в памяти, называется стратегией размещения. В Windows NT менеджер виртуальной памяти просто выбирает первую страницу из списка свободных физических страниц. База данных физических страниц - это массив записей, пронумерованных от 0 до максимального номера страницы, зависящего от объема памяти. Каждая запись содержит информацию о соответствующей физической странице. Менеджер виртуальной памяти использует прямые связи в случае, когда процесс запрашивает доступ к виртуальному адресу в действительной виртуальной странице.
Этап замещения. Если при возникновении страничного прерывания в физической памяти нет свободных страниц, то используется стратегия замещения, которая определяет, какую виртуальную страницу нужно удалить из памяти для освобождения места для размещения новой страницы.
Менеджер виртуальной памяти Windows NT использует локальный алгоритм FIFO (First Input First Output). В соответствии с алгоритмом FIFO из памяти удаляется та страница, которая дольше всего там находится. Локальность в данном случае означает, что поиск страницы-кандидата на выгрузку осуществляется только среди страниц того процесса, который требует загрузки новой страницы. Существуют и глобальные стратегии, в соответствии с которыми поиск замещаемой страницы выполняется на множестве страниц всех процессов. Локальный вариант стратегии не дает одному процессу возможность захватить всю имеющуюся память.
Когда процесс стартует, ему назначается минимальный рабочий набор страниц. Процесс может его увеличивать до некоторого максимального размера. Если процесс требует еще больше страниц, то менеджер виртуальной памяти удаляет из рабочего набора по одной странице при загрузке каждой новой страницы. Когда размер свободной физической памяти уменьшается до некоторой критической границы, то менеджер виртуальной памяти использует прием, называемый автоматическим триммингом рабочего набора. Он просматривает страницы каждого процесса, находящиеся в памяти, сравнивает их количество с минимальным размером рабочего набора и удаляет избыточные страницы из памяти.
В Windows NT реализована сегментно-страничная модель распределения памяти. Для хранения информации о состоянии виртуальных сегментов используется набор структур, называемых дескрипторами виртуальных адресов. Когда процессу назначается новая область памяти, менеджер виртуальной памяти создает дескриптор, в котором хранится вся информация, связанная с этой областью, такая как диапазон адресов, признаки того, является ли память разделяемой или частной, будет ли процесс-потомок наследовать содержимое этой области, признаки защиты. Затем дескриптор встраивается в двоичное дерево дескрипторов данного процесса, используемое для ускорения поиска.
Для снижения объема вычислений, затрачиваемых на работу менеджера виртуальной памяти, в Windows NT минимизируется количество страничных прерываний. Для этого предпринимаются следующие меры:
Каждому процессу предоставляется рабочий набор страниц достаточно большого размера, чтобы избежать частых страничных отказов. Менеджер виртуальной памяти производит автоматический тримминг рабочего набора каждого процесса, чтобы сделать доступными для других процессов области памяти, занимаемые редко используемыми страницами.
|
Управление профилями пользователей
Когда пользователь локально входит первый раз в какой-либо компьютер, то для него по умолчанию создается профиль. Все настройки среды (цвет фона, обои, шрифты и т.п.) автоматически сохраняются в подкаталоге Profiles системного каталога данного компьютера, например, C:\NT40w\Profiles\username, где username - имя пользователя. Профиль хранится в файле с именем ntuser.dat
Администратор также может настраивать профиль пользователя, входя в какой-либо компьютер под именем этого пользователя.
В отличие от профиля пользователя, который устанавливается по умолчанию, существует также Roaming - перемещаемый профиль пользователя, который формирует одну и ту же среду для данного пользователя, независимо от того, с какого компьютера он вошел в сеть.
Перемещаемые пользовательские профили хранятся централизовано на сервере, а не на локальных компьютерах пользователей.
Администратор может определить для пользователя один из двух типов перемещаемых профилей.
Индивидуальный перемещаемый профиль, который пользователь может изменять. Любые изменения, которые пользователь внес в свою среду, вносятся в индивидуальный перемещаемый профиль тогда, когда пользователь логически выходит из сети. Когда тот же пользователь входит снова, с сервера загружается последний вариант профиля. Таким образом, если используются перемещаемые индивидуальные профили, то у каждого пользователя имеется свой собственный перемещаемый профиль. Этот профиль хранится в файле ntuser.dat в одном из разделяемых каталогов сервера. Обязательный (mandatory) перемещаемый профиль - это заранее сконфигурированный администратором профиль, который пользователь не может изменить. Один обязательный профиль может быть назначен нескольким пользователям. Этот вид профиля целесообразно назначать тем пользователям, которым требуется одинаковая среда, например, операционистам банка. Обязательный профиль должен иметь расширение .man. Индивидуальный профиль можно сделать обязательным, переименовав его из Ntuser.dat в Ntuser.man.
Начиная с версии 4.0, администратору предлагается более мощное средство управления профилями пользователей - System Policy Editor. С его помощью администратор может изменять профиль пользователя, не входя под его именем. При этом он может устанавливать ограничения, которые невозможно было бы установить, входя под именем пользователя, например, запрет на использование команды Run. System Policy Editor может может использоваться для формирования как локальных, так и перемещаемых профилей. Перемещаемый профиль хранится в файле Ntconfig.pol в разделяемом каталоге Netlogon на PDC.
Управление вводом-выводом
При разработке подсистемы ввода-вывода Windows NT ставились следующие задачи:
обеспечить поддержку нескольких файловых систем: FAT, CDFS, NTFS; предоставить средства для упрощения разработки драйверов устройств, в том числе для SMP-платформ; обеспечить возможность динамического добавления и удаления драйверов из системы; обеспечить возможность ввода-вывода для отображаемых в памяти файлов.
Компоненты системы ввода-вывода представлены на рисунке 1.11. Каждый запрос на ввод-вывод представлен пакетом IRP (I/O Request Packet). Пакеты передаются от одной подсистемы ввода-вывода к другой. Менеджер ввода-вывода определяет порядок доставки пакетов IRP файловым системам и драйверам устройств. Менеджер не выполняет операций ввода-вывода, он только создает пакет IRP, передает его нужному драйверу и удаляет пакет, когда операция завершается. Драйвер же, получив IRP, выполняет операцию ввода-вывода, а затем возвращает пакет менеджеру для уничтожения или передачи другому драйверу.
Термин "драйвер" в Windows NT имеет более широкое значение, чем "драйвер устройства". Файловая система - это сложный драйвер, который принимает запросы к файлам и передает свои более конкретные запросы драйверам физических устройств.
Рис. 1.11. Компоненты системы ввода-вывода Windows NT
Кроме передачи пакетов, менеджер ввода-вывода выполняет следующие действия:
предоставляет драйверам некоторые общие функции, например, для вызова одного драйвера другим, управляет буферами для запросов ввода-вывода, управляет тайм-аутом для драйверов, ведет записи о том, какие файловые системы установлены.
Unix в свое время представил новую упрощенную модель ввода-вывода. Все независимые данные представлялись в виде потока байтов, который направлялся в виртуальный файл; этот файл мог быть терминалом, межпроцессным конвейером или "настоящим" файлом. В Windows NT тоже принят этот подход. Запросы к виртуальным файлам менеджер ввода-вывода динамически направляет к реальным файлам: каталогам, физическим устройствам, конвейерам, почтовым ящикам или к любым адресатам, которые будут поддерживаться в будущем.
Особенностью Windows NT является общая структура ее драйверов и широкое определение того, что собой представляет драйвер. В Windows NT и драйвер устройства, и драйвер ФС построены единым образом, и для остальной части ОС имеют один и тот же вид. Более того, редиректоры и именованные конвейеры также выглядят как "файловые системы" и реализованы в виде драйверов. Каждый драйвер - это самодостаточный компонент, который может быть динамически добавлен или удален из системы.
Основные черты модели драйвера:
Драйверы переносимы. Они написаны на языке высокого уровня и мало зависят от архитектуры процессора (драйверы высокого уровня, такие как файловая система, совсем не зависят). Операции ввода-вывода управляются пакетами IRP. Система ввода-вывода может динамически назначать драйверы для новых устройств при изменении конфигурации системы. Драйверы должны синхронизировать свой доступ к глобальным данным драйвера - из-за того, что выполнение драйвера может быть прервано либо высокоприоритетной нитью, либо высокоприоритетным прерыванием. Кроме того, драйвер может выполняться на многопроцессорном компьютере, что повышает вероятность одновременного обращения нескольких копий драйвера к общим глобальным данным. Интерфейс драйверов с менеджером ввода-вывода стандартизирован, что позволяет менеджеру вызывать их "вслепую", не зная их особенностей или структур внутренних данных. Драйверы могут также вызывать друг друга (через менеджер ввода-вывода) для достижения многоуровневой обработки запросов ввода-вывода.
В Windows NT чаще используется многоуровневая модель обработки запроса ввода-вывода, но для простых устройств может применяться и одноуровневая модель, когда менеджер вызывает только драйвер устройства. Может использоваться не только двухуровневая модель (как, например, файловый драйвер - драйвер устройства), но и модель с большим числом уровней. Например, если в компьютере есть SCSI-адаптер, к которому подключен диск, то запрос к такому диску проходит через 3 драйвера: драйвер файловой системы, драйвер класса дисков, драйвер SCSI-порта.
Ввод-вывод в отображаемые файлы - это важное свойство Windows NT, которое обеспечивается как менеджером ввода-вывода, так и менеджером виртуальной памяти. Менеджер виртуальной памяти делает это свойство доступным для пользовательского режима. Подсистемы окружения (например, Win32) могут использовать эти сервисы менеджера виртуальной памяти для предоставления возможности отображения файлов своим приложениям.
При отображении файл представляется как часть виртуального адресного пространства процесса. Процесс может осуществлять доступ к данным файла как к большому массиву в памяти, не выполняя операций ввода-вывода в файл. При доступе к памяти, отображающей файл, менеджер виртуальной памяти использует свой страничный механизм для загрузки соответствующей страницы в физическую память с диска. Если приложение пишет в файл, то менеджер виртуальной памяти записывает измененные страницы на диск как часть общего процесса страничного обмена.
Использование отображенных файлов резко увеличивает производительность системы.
Один из компонентов системы ввода-вывода - менеджер кэша - использует механизм отображенного ввода-вывода для управления своим кэшем, расположенным в оперативной памяти. Файловые системы и сетевой сервер используют этот кэш для размещения в нем часто используемых файловых данных. Тогда как в большинстве файловых систем объем кэша фиксированный, в Windows NT кэш растет или уменьшается в зависимости от наличия свободной физической памяти. Обращение к части файла, расположенной в кэше, является гораздо более быстрым.
Уровни согласования протоколов
Средства межсетевого взаимодействия нужны для того, чтобы обеспечить согласованную работу двух приложений, выполняющихся в разнородных сетях. Работа по обеспечению взаимодействия может выполняться как самими приложениями, так и системными средствами. Поэтому требования к системным средствам зависят от того, какой объем согласующих функций берут на себя приложения.
Крайним является чисто умозрительный случай, когда приложения берут на себя все функции по согласованию, кроме тех, которые могут быть выполнены только аппаратно, то есть сетевыми адаптерами. В этом случае приложения сами разбивают сообщения на пакеты, снабжая их соответствующей служебной информацией, организуют их надежную доставку с помощью нумерации, упорядочения, вычисления и проверки контрольных сумм. Помимо функций по оформлению и доставке сообщений, приложения в этом случае выполняют и функции по согласованию возможных различий в сервисах локальных операционных систем, например, различий в именовании файлов, интерпретации прав доступа к файлам, способов их разделения между несколькими пользователями и т. п.
Более реалистическими являются два других случая распределения функций между приложениями и системными средствами.
Первый вариант - системные средства берут на себя все функции по передаче сообщений, согласуя три или четыре нижних уровня модели OSI. Приложения в таком случае реализуют свой собственный протокол взаимодействия, который включает функции трех верхних уровней модели OSI - прикладного, представительного и сеансового. Приложения реализуют согласование только тех сервисов верхнего уровня, которые им необходимы. Примером такого распределенного приложения может служить электронная почта, агенты передачи сообщений которой работают как в среде Windows NT, так и в среде UNIX, непосредственно обращаясь для отправки и получения сообщений к средствам сетевого уровня, например к протоколу TCP (через соответствующий интерфейс, например, Berkeley Sockets). В соответствии с этим вариантом построены и корпоративные СУБД, такие как Oracle, Informix, Sybase.
Второй вариант - приложения вообще не выполняют функции по согласованию неоднородностей вычислительных сред, а полностью перепоручают эту задачу системным средствам, которые в этом случае должны обеспечивать взаимодействие на всех уровнях модели OSI - от физического до прикладного. На прикладном уровне достаточно иметь средства согласования только тех сервисов, которыми пользуется приложение. Например, если электронная почта основана на специальном почтовом сервисе, поддерживаемом операционной системой, таком как SMTP или MHS, то при работе в неоднородной в отношении этого сервиса сети потребуются системные средства согласования именно этих протоколов. Если же программа, реализующая электронную почту, использует для передачи сообщений удаленный файловый сервис, то для ее нормальной работы на прикладном уровне достаточно иметь системные средства согласования протоколов файлового сервиса.
Системные средства могут реализовывать функции по согласованию стеков протоколов частями, с помощью нескольких программных продуктов. Часто один продукт согласует только сервисы прикладного уровня (или один из этих сервисов), а другой - только транспортные протоколы. Например, продукт компании Microsoft File and Print Services for NetWare обеспечивает поддержку в среде Windows NT только прикладных протоколов файлового сервиса и сервиса печати NetWare, но не выполняет функций согласования транспортных протоколов. Поэтому для его работы с клиентами NetWare необходимо наличие на сервере компоненты NWLink или другого продукта, реализующего протокол Novell IPX.
Проблему организации межсетевого взаимодействия принято подразделять на две относительно независимые задачи: согласование транспортных подсистем (internetworking) и согласование высокоуровневых сервисов (interoperability).
Установка принт-сервера
Установка принт-сервера состоит из нескольких этапов:
Необходимо проверить совместимость устройства печати с Windows NT. Если устройство печати, подключенное к порту вашего компьютера, находится в списке HCL, то необходимый драйвер имеется в дистрибутиве Windows NT. Если же его там нет, то вам нужен драйвер от производителя устройства или же устройство должно уметь эмулировать какое-либо устройство из списка HCL. Выполните логический вход в сеть с правами Full Control на печать (это особые права, отличающиеся от прав доступа к файлам) для того компьютера, к которому подключен принтер.
Эти права имеют следующие группы пользователей:
Administrators - на любом компьютере домена Print Operators - на любом контроллере домена Server Operators - на любом контроллере домена Power Users - на любом компьютере Windows NT Workstation домена или рабочей группы
Инсталлируйте принтер на принт-сервере путем использования иконки Add Printer в панели Settings - Printers. При этом запуститься соответствующий мастер, который поможет определить конфигурационные параметры принтера.
В первой панели диалога необходимо выбрать My Computer (опция Network Printer Server используется для организации постоянного соединения клиента с уже имеющимся в сети принт-серевром). Затем необходимо выбрать порт, к которому подключено устройство печати (LPTx или COMx). Из списка производителей и моделей выберите нужное вам устройство печати и дайте ему локальное имя (проще пинять то имя, которое предлагает мастер).
Сделайте принтер разделяемым - отметьте опцию Shared и дайте разделяемое имя, под которым данный принтер могут видеть по сети клиенты. Сделать принтер разделяемым можно и после его инсталляции - с помощью пункта Properties меню File панели Printers. Если принтер должен поддерживать принтерный пул, то нужно при назначении порта выбрать опцию Enable Printing Pool и выбрать несколько портов, к которым подключены устройства, образующие пул.
Установка протокола NetBEUI
При установке сетевых компонент программа Setup предложит определить состав устанавливаемых сетевых протоколов. Выбор ограничивается тремя группами протоколов:
NWlink IPX/SPX - совместимый транспорт TCP/IP Protocol NetBEUI протокол
Для проверки работы компьютера в сети обычно достаточно на первых порах установки протокола NetBEUI. Такой выбор имеет смысл, так как во-первых, этот протокол не имеет параметров конфигурации, а значит при его установке пользователь не имеет возможности ошибиться с номером сети или узла. Во-вторых, этот протокол является стандартным для всего семейства операционных систем Windows, поэтому с помощью него легко проверить правильность выбора драйвера сетевого адаптера и работоспособность основных сетевых компонент. При этом необходимо учитывать, что NetBIOS - немаршрутизируемый протокол, так что взаимодействие с его помощью компьютеров через маршрутизаторы невозможно.
После проверки работоспособности сетевых компонент с помощью протокола NetBEUI можно будет добавить поддержку протокола NWLink или TCP/IP.
Возможности пользователей
Возможности пользователей - определяются для отдельных пользователей на выполнение немногочисленных действий, касающихся реорганизации их операционной среды:
Включение новых программных единиц (иконок) в группу программ панели Program Manager; Создание программных групп Program Manager; Изменение состава программных групп; Изменение свойств программных единиц (например, включение в стартовую группу); Запуск программ из меню FILE в Program Manager; Установление соединений с сетевым принтером, кроме тех (которые уже предусмотрены в профиле пользователя).
Возможности пользователя являются частью так называемого профиля пользователя (User Profile), который можно изменять с помощью утилиты User Profile Editor. Профиль наряду с описанными возможностями включает и установки среды пользователя на его рабочем компьютере, такие как цвета, шрифты, набор программных групп и их состав.
Встроенная сетевая поддержка
В отличие от большинства других операционных систем, Windows NT изначально разрабатывалась с учетом возможности работы в сети. В результате этого функции совместного использования файлов, устройств и объектов встроены в интерфейс с пользователем. Администраторы могут централизовано управлять и контролировать работу сетей в масштабах крупных предприятий.
Сетевые функции Windows NT реализуются многими программными компонентами, и две наиболее важные из них имеют самую долгую историю в сетях Microsoft: редиректор и сетевой сервер. Как и в сети MS-NET, редиректор переправляет локальные запросы ввода-вывода на удаленный сервер, а сервер принимает и обрабатывает эти запросы.
Первые варианты редиректора и сервера Microsoft были написаны на ассемблере и располагались над существующим системным программным обеспечением MS-DOS. Новые редиректор и сервер встроены в Windows NT, они не зависят от архитектуры аппаратных средств, на которых работает ОС. Они написаны на С и выполнены как загружаемые драйверы файловой системы, которые могут загружаться или выгружаться в любое время. Они также могут сосуществовать с редиректорами и серверами других производителей.
Сетевой редиректор обеспечивает средства, необходимые одному компьютеру Windows NT для доступа к ресурсам другого компьютера по сети. Редиректор Windows NT обеспечивает доступ к удаленным файлам, именованным конвейерам и принтерам. Так как он поддерживает SMB-протокол, то он работает с существующими серверами MSNET и LAN Manager, обеспечивая доступ к системам MS-DOS, Windows и OS/2 из Windows NT.
Основная задача редиректора - поддержка распределенной файловой системы, которая ведет себя подобно локальной файловой системе, хотя она и работает через ненадежную среду (сеть). Когда связь отказывает, редиректор ответственен за восстановление соединения, если это возможно, или же за возврат кода ошибки, чтобы приложение смогло повторить операцию.
Как и редиректор, сервер Windows NT на 100% совместим с существующими SMB-протоколами MS-NET и LAN Manager. Эта полная совместимость позволяет серверу обрабатывать запросы, исходящие не только от систем Windows NT, но и от других систем, работающих с программным обеспечением LAN Manager. Как и редиректор, сервер выполнен в виде драйвера файловой системы.
Может показаться странным, что сервер не реализован как серверный процесс пользовательского режима. Было бы логично ожидать, что сетевой сервер будет функционировать как защищенная подсистема - процесс, чьи нити ожидают поступления запросов по сети, выполняют их, а затем возвращают результаты по сети. Этот подход как наиболее естественный был тщательно рассмотрен при проектировании Windows NT, однако, учитывая опыт построения сетей VAX/VMS и опыт использования RPC, было решено для повышения производительности выполнить сервер как драйвер файловой системы. Хотя сервер и не является драйвером в обычном смысле, и он не управляет файловой системой на самом деле, использование модели драйвера обеспечивает некоторые преимущества.
Главное из них состоит в том, что драйвер реализован в среде NT executive и может вызывать кэш-менеджер NT непосредственно, что повышает скорость передачи данных. Например, когда сервер получает запрос на чтение большого количества данных, он вызывает кэш-менеджер для определения места расположения этих данных в кэше (или для загрузки этих данных в кэш, если их там нет) и для фиксации данных в памяти. Затем сервер передает данные непосредственно из кэша в сеть, исключая ненужные доступ к диску или копирование данных. Аналогично, при запросе на запись данных сервер вызывает кэш-менеджер для резервирования места для поступающих данных. Затем сервер пишет данные непосредственно в кэш. Записывая данные в кэш, сервер возвращает управление клиенту гораздо быстрее; затем кэш-менеджер записывает данные на диск в фоновом режиме (используя страничные средства менеджера виртуальной памяти).
Windows NT поддерживает не только сети Microsoft, но и другие за счет использования следующих средств:
Доступ к файловым системам, не совместимым с Microsoft, для подключения к ресурсам, удаленным файлам и устройствам ввода-вывода через общий интерфейс Win32 API (WNet API). Несколько драйверов сетевого транспортного протокола могут быть загружены в одно и то же время, редиректоры для доступа к ним используют общий интерфейс. Windows NT обеспечивает интерфейс и среду NDIS 3.0 для драйверов сетевых адаптеров для доступа к транспортным драйверам Windows NT.
За последние десятилетия получили распространение различные протоколы передачи информации по сети. Хотя Windows NT и не поддерживает все транспортные протоколы, она, по крайней мере, разрешает включать их поддержку, если есть их реализации третьими фирмами.
В Windows NT транспортные протоколы реализованы в виде драйверов, которые подобно редиректорам могут загружаться и выгружаться из системы. В традиционной сетевой модели редиректор, который использует конкретный транспортный протокол, должен знать, какого типа сообщение ожидает драйвер этого протокола, и посылать ему запросы в его формате. Нижние уровни редиректора должны быть переписаны для поддержки механизма передачи данных для каждого транспортного протокола.
Windows NT решает эту проблему использованием единого программного интерфейса, называемого transport driver interface (TDI) - интерфейс транспортных драйверов для редиректоров и других высокоуровневых сетевых драйверов. TDI позволяет редиректорам и драйверам оставаться независимым от транспорта. Таким образом, одна версия редиректора или сервера может пользоваться любым транспортным механизмом, как показано на рисунке 1.12.
Рис. 1.12. Интерфейс транспортных драйверов
TDI обеспечивает набор функций, которые редиректоры могут использовать для пересылки любых типов данных с помощью транспортного уровня. TDI поддерживает как связи с установлением соединения (виртуальные связи), так и связи без установления соединения (датаграммные связи). Microsoft Windows NT обеспечивает следующие транспорты:
NetBEUI (NetBIOS Extended User Interface) - это транспортный протокол локальной сети, рассчитанный на односегментные сети. TCP/IP - транспорт, используемый в Internet и ОС Unix. IPX/SPX - набор транспортных протоколов, используемых Novell в сетях NetWare. DECnet транспорт - это протокол, используемый корпорацией DEC, который позволяет Windows NT связываться с сетями DECnet. AppleTalk - протокол, разработанный фирмой Apple Computer, который позволяет системам Apple Macintosh взаимодействовать с Windows NT. XNX - это протокол Xerox Corporation, который использовался в ранних сетях Ethernet. VINES - протокол сетей Banyan VINES.
Сетевые адаптеры поставляются вместе с сетевыми драйверами, которые раньше часто писались в расчете на взаимодействие с определенным транспортным протоколом - например, XNS или TCP/IP. Так как Windows NT позволяет загружать драйверы различных транспортных протоколов, то производители сетевых адаптеров, использующие такой подход, должны были бы писать для одного сетевого адаптера несколько сетевых драйверов, поддерживающих несколько транспортных протоколов. Чтобы помочь производителям избежать этого, Windows NT обеспечивает интерфейс и среду, называемые "спецификация интерфейса сетевого драйвера" (NDIS - Network Driver Interface Specification), которые экранируют сетевые драйверы от деталей различных транспортных протоколов (рисунок 1.13).
Вместо написания транспортно-зависимого драйвера для Windows NT, сетевые производители придерживаются интерфейса NDIS. Таким образом, пользователь может работать с сетью TCP/IP и сетью NetBEUI (или DECnet, NetWare, VINES и т.п.), используя один сетевой адаптер и один сетевой драйвер. Каждый драйвер NDIS ответственен за посылку и прием пакетов через свое сетевое соединение, а также за управление сетевым адаптером.
Рис. 1.13. NDIS-интерфейс
Windows NT обладает средствами для создания и выполнения распределенных приложений. Под распределенной обработкой раньше обычно понимали файловый и принтерный сервис.
Теперь под распределенной обработкой понимают более сложные механизмы модели клиент-сервер. Вместо хранения больших файлов баз данных на удаленной машине и копирования их для обработки на локальную машину каждый раз, когда пользователь хочет сделать запрос к базе данных, программное обеспечение, такое как Microsoft SQL Server, позволяет пользователю передать запрос на поиск в базе данных на удаленной машине. После завершения обработки операций поиска и сортировки на удаленной машине на пользовательскую машину возвращаются только результаты поиска. Такие вычисления по схеме клиент-сервер минимизируют нагрузку на сеть и загружают удаленный процессор, оставляя локальный процессор свободным. Преимущество подобных приложений состоит в том, что они используют процессорные циклы удаленных, часто более мощных компьютеров.
ОС должна обеспечивать средства для успешной реализации сетевых вычислений по схеме клиент-сервер. Вызов удаленных процедур (Remote Procedure Call - RPC) - является одним из таких средств, которое позволяет программисту создавать приложение, состоящее из любого количества процедур, некоторые из которых выполняются локально, а некоторые - выполняются на удаленных компьютерах через сеть.
Идея вызова удаленных процедур состоит в расширении хорошо известного и понятного механизма передачи управления и данных внутри программы, выполняющейся на одной машине, на передачу управления и данных через сеть. Средства удаленного вызова процедур предназначены для облегчения организации распределенных вычислений.
Встроенные группы пользователей и их права
Права определяются для объектов типа группа на выполнение некоторых системных операций: создание резервных копий, выключение компьютера (shutdown) и т.п. Права назначаются с помощью User Manager for Domains.
Права для встроенных локальных групп домена по отношению к системе, которая выполняет роль PDC или BDC:
Administrators | Server Operators | Account Operators | Print Operators | Backup Operators | Everyone | Users | Guests | |
Права | ||||||||
Log on locally (локальный логический вход ) | * | * | * | * | * | O | O | O |
Access this computer from network (доступ к данному компьютеру через сеть) | * | O | O | O | O | * | O | O |
Take ownership of files (установление прав собственности на файлы) | * | O | O | O | O | O | O | O |
Manage auditing and security log (управление аудитингом и учетом событий, связанных с безопасностью) | * | O | O | O | O | O | O | O |
Change the system time (Изменение системного времени) | * | * | O | O | O | O | O | O |
Shutdown the system (Останов системы) | * | * | O | O | * | O | O | O |
Force shutdown from remote system (Инициация останова с удаленной системы) | * | * | O | O | O | O | O | O |
Backup files and directories (Резервное копирование файлов и каталогов) | * | * | * | * | * | O | O | O |
Restore files and directories (Восстановление файлов и каталогов со стриммера) | * | * | O | O | * | O | O | O |
Load and unload device drivers (Загрузка и выгрузка драйверов устройств) | * | O | O | O | O | O | O | O |
Add workstation to domain (Добавление рабочих станций к домену) | * | O | O | O | O | O | O | O |
Встроенные права | ||||||||
Create and manage user accounts (Создание и управление пользовательской учетной информацией) | * | O | *1 | O | O | O | O | O |
Create and manage global groups (Создание и управление глобальными группами) | * | O | *1 | O | O | O | O | O |
Create and manage local groups (Создание и управление локальными группами) | * | O | *1 | O | O | O | *2 | O |
Assign user rights (Назначение прав для пользователей) | * | O | O | O | O | O | O | O |
Manage auditing of system events (Управление аудитингом системных событий) | * | O | O | O | O | O | O | O |
Lock the server (Блокирование сервера) | * | * | O | O | O | *3 | O | O |
Override the lock of the server (Преодоление блокировки сервера) | * | * | O | O | O | O | O | O |
Format server's hard disk (Форматирование жесткого диска сервера) | * | * | O | O | O | O | O | O |
Create common groups (Создание общих групп) | * | * | O | O | O | O | O | O |
Keep local profile (Хранение локального профиля) | * | * | * | * | * | O | O | O |
Share and stop sharing directories (Разделение и прекращение разделения каталогов) | * | * | O | O | O | O | O | O |
Share and stop sharing printers (Разделение и прекращение разделения принтеров) | * | * | O | * | O | O | O | O |
1Операторы учетной информации (Accounts operators) не могут изменять учетную информацию администраторов, или же изменять глобальную группу Domain Admins или локальные группы Administrators, Server Operators, Account Operators, Print Operators или Backup Operators.
2Хотя члены группы Users имеют право создавать локальные группы домена, но они не смогут им воспользоваться, если им не разрешено входить локально в сервер или не разрешено пользоваться утилитой User Manager for Domains.
3Хотя Everyone имеет право блокировать сервер, только пользователи, которые могут также входить локально в этот сервер могут в действительности его заблокировать.
Похожие права можно задать и по отношению к Windows NT Server, не выполняющему роль PDC или BDC - с помощью утилиты User Manager for Domains, а также к Windows NT Workstation с помощью утилиты User Manager.