При использовании в сети TCP/IP существует вероятность, что в сети применяется DHCP для раздачи IP-адресов клиентским машинам и, возможно, некоторым принтерам. Нечего и говорить, что если TCP/IP является единственным протоколом в сети, то клиентская машина должна иметь допустимый IP-адрес, чтобы общаться с другими устройствами в сети, например компьютерами, маршрутизаторами, принтерами и серверами. Этот IP-адрес должен иметь подходящий сетевой адрес, адрес хоста и маску подсети, иначе коммуникация просто не будет происходить. Если имеется несколько сегментов, то требуется также используемый по умолчанию шлюз.
DHCP может управлять этими простыми задачами, и даже сделать больше. В действительности это четкий и эффективный протокол, которому требуются только четыре кадра для выдачи адреса и два кадра для обновления этого адреса позже. Рассмотрим это подробнее.
Процесс получения адреса Когда загружается клиент DHCP, первое что он должен сделать, это найти сервер DHCP, выдающий IP-адреса для подсети, к которой он присоединен. Для этого устройство пошлет сообщение поиска DHCP, указывающее, что оно хотело бы получить IP-адрес. Сервер DHCP, получив сообщение поиска, ответит предложением DHCP. Оно говорит: "Я получил ваш запрос и вот адрес, который у меня есть". Клиентская машина может получить несколько предложений DHCP от нескольких серверов, которые могут услышать сообщение поиска DHCP. Клиент выберет первое полученное им предложение DHCP и ответит серверу DHCP, что он хочет получить предложенный IP-адрес. Это называется запросом DHCP. Сервер DHCP при получении запроса ответит подтверждением (АСК): "Можете начинать использовать IP-адрес". Таблица резюмирует этот процесс.
Как можно видеть в таблице, DHCP использует широковещание в течение всего процесса. Это позволяет другим машинам в сети знать о том, что происходит. Рассмотрим этот процесс подробнее. В приведенной ниже распечатке заголовка Ethernet можно видеть, что адресом назначения является FFFFFFFFFFFF. Это широковещательный адрес для уровня доступа к среде передачи. Все устройства в сегменте Ethernet должны будут обрабатывать этот кадр, пока не дойдут до раздела UDP (порта дейтаграмм пользователя) и не обнаружат, что они не имеют указанного порта UDP. В распечатке также видно, что размер кадра Ethernet равен 342 байтам. Это размер данного кадра Ethernet, включая заголовок. Число остающихся байтов равно 328, что является полезной нагрузкой минус 14-байтовый заголовок Ethernet.
Получив подходящий IP-адрес, клиентский компьютер должен зарегистрировать в сети свое имя NetBIOS. В большинстве ситуаций эта регистрация будет вовлекать WINS. Большинство ресурсов, доступных в сети, включает некоторый вид компьютерного имени. Компьютеры в сети должны регистрировать по крайней мере одно имя. Как правило они будут регистрировать более одного имени, чтобы обеспечить в сети коммуникацию по имени. В мире Windows NT имя хоста и имя NetBIOS обычно совпадают (они не являются одним и тем же по сути, но обозначаются одним и тем же словом или комбинацией символов). В мире Unix имя хоста и имя NetBIOS могут быть различаться.
В главе 1 говорилось, что NetBIOS (сетевая базовая система ввода-вывода) не то же самое, что NetBEUI. NetBIOS является протоколом, используемым различными приложениями. Он может переноситься через TCP/IP, IPX/SPX и, конечно, NetBEUI. Мы рассмотрим NetBIOS, потому что она используется через TCP/IP.
Чтобы приложения могли общаться, имя NetBIOS должно быть преобразовано в адрес IP. Способ, которым это обычно делается, состоит в испо льзовании либо широковещания b-узлов, либо сервера имен NetBIOS, например WINS. Есть несколько преимуществ использования сервера WINS, а не просто широковещания. Первое состоит в том, что широковещание является очень дорогим предложением, когда речь идет о сетевой производительности. Каждое одиночное устройство в сегменте должно остановить и проверить каждый одиночный кадр широковещания, чтобы определить, не может ли он обслужить запрос. В большой сети широковещание NetBIOS может буквально заполнить всю сеть. С этим надо как-то бороться. К счастью, компания Microsoft разработала для этой цели WINS. WINS полностью соответствует реализации сервера имен NetBIOS на основе RFC. С помощью WINS хосты могут отбрасывать кадр, как только они видят адрес MAC места назначения. Все функции службы имен NetBIOS через TCP/IP используют UDP порт 137. Рассмотрим регистрацию имен и процесс обновления.
Регистрация имен и обновление
Имена NetBIOS должны быть зарегистрированы для каждой службы или приложения, которые хотят использовать их коммуникационный механизм. Примерами таких регистрируемых служб являются служба рабочей станции и служба сервера. Другие имена указывают специальные роли, которые выполняются в сети, такие как основной, или первичный, контроллер домена (Primary Domain Controller, PDC) или резервный контроллер домена (Backup Domain Controller, BDC). Регистрируется само имя домена, а также имена пользователей, регистрирующихся в домене. Эти имена нужны для некоторых функций сообщений и коммуникации. Например, если необходимо послать сообщение, используя сетевую команду send (послать) некому Джейсону, он должен иметь зарегистрированное имя пользователя, иначе ничего не получится. Общее число зарегистрированных имен зависит, очевидно, от числа запущенных служб. Каждое зарегистрированное имя будет использовать всего 214 байтов — 110 байтов для запроса регистрации имени и 104 байта для ответа. Посмотрим теперь на такую транзакцию на листинге ниже:
Использование LMHOSTS Начнем этот раздел с обсуждения двух способов, с помощью которых рабочая станция находит машину регистрации — с помощью широковещания и с помощью WINS. Существует и третий способ: использование файла lmhosts. Обратимся к этому файлу.
Используя запись #PRE, мы приказываем машине сделать предварительную загрузку записи в кэш имен NetBIOS. Она будет найдена, когда мы введем nbtstat -с, как показано на рис. Задав #DOM с именем домена, мы сообщаем машине, что это контроллер домена, и поэтому получаем дополнительные записи, такие как <1С>, также показанные на рис.
Используя файл LMHOSTS, мы ускоряем процесс регистрации, не выполняя при этом ни широковещательного запроса, ни запроса WINS, и, кроме того, сокращаем сетевой трафик. Стандартная проблема с реализацией LMHOSTS состоит в размещении его на всех клиентских машинах. Выход простой: поместите LMHOSTS в сценарий регистрации, и он сам скомпонуется на клиентские машины. На машине WIN NT он помещается в каталоге \\system32\drivers\etc. На машине Windows 9.x он помещается в каталог \\windows.
Нужно ли иметь больше контроллеров доменов? Обычно процесс регистрации происходит между 8 и 9 часами утра. Сколько реально необходимо иметь серверов регистрации? Помните, что добавление дополнительных резервных контроллеров доменов увеличивает сетевой трафик, как мы увидим в следующей главе. Это означает, что было бы плохой идеей сделать каждый сервер в сети резервным контроллером домена (что встречается достаточно часто).
Используя очень консервативную оценку, один контроллер домена может легко управлять 2000 пользователей. Если вернуться к нашему окну регистрации, можно видеть, что в течение одного часа (3600 секунд), происходит в среднем меньше двух регистрации в секунду (если запросы регистрации распределены равномерно). Что делать в такой ситуации? Прежде всего, необходимо использовать монитор производительности для создания протокола утренней деятельности по регистрации. Как можно видеть на рис. лучшим способом это сделать является создание протокола (log) монитора производительности и протокола использования памяти, процессора и серверного объекта. Для этого надо перейти во view\log и выбрать соответствующие режимы. В меню режимов выбирается тип протокола (log), а затем вводится имя протокола. Можно использовать, например, logon.log или добавить дату. Выберите хорошее место для размещения протокола (не в корне), интервал обновления и нажмите save (сохранить). Теперь необходимо добавить некоторые показатели, нажимая кнопку "плюс", как показано на рис.
Когда показатели будут добавлены, необходимо вернуться в меню режимов, выбрать тип протокола (log) и запустить протокол, как показано на рис. Это будет достаточно большой протокол, так как записи в нем появляются каждую секунду.
Если после создания протокола будут замечены периоды, когда происходит множество попыток регистрации в секунду, необходимо сделать несколько дополнительных изменений.
Когда создается контроллер домена, служба сервера оптимизирована для совместного использования файлов и принтеров. Это хорошо для серверов файлов и печати, но создает не оптимальную производительность для серверов регистрации. Чтобы изменить это, обратимся к сетевому апплету в панели управления (или сделаем щелчок правой кнопкой мыши по пиктограмме сети на рабочем столе), выберем сервер из закладок служб и щелкнем мышью по свойствам. Как можно видеть на рис, мы хотим выбрать максимальную производительность для сетевых приложений. Затем нажмем ОК. Примечание. Необходимо перезагрузить машину, чтобы получить какой-то эффект. Делая такие изменения, контроллер домена может утроить число одновременных регистрации — от шести до почти 20 регистрации в секунду.
Размещение сервера регистрации Когда речь идет о регистрации, чем ближе пользователь находится к контроллеру домена, тем лучше. Когда имеется удаленный сайт, не обязательно бездумно помещать BDC на другой стороне медленного соединения и надеяться на лучшее. Существуют также и другие ситуации. Должно быть рассмотрено влияние трафика WAN в связи с синхронизацией служб каталогов. В дополнение к этому, что произойдет, если линия WAN будет выключена, и службы каталогов устареют? Это только часть вопросов, которые должны быть рассмотрены до реализации. Дополнительно, скорее всего, понадобится реализовать WINS и DHCP и сконфигурировать для них репликацию, чтобы сократить этот вид трафика. Мы поговорим об этом в следующей главе, а сейчас, вероятно, лучше всего поместить BDC на другой стороне медленного соединения WAN, но это должна быть хорошо продуманная реализация.
Я ненавижу просмотр. Как правило, это долгий и утомительный процесс, а если и есть на свете что-то еще более отвратительное, чем неправильно работающий компьютер, то это медленный компьютер. Несколько часов сидеть и наблюдать за тем, как на экране вспыхивают цифры... волей-неволей задумаешься о том, можно ли как-то рационализировать этот процесс.
Если просмотр не оптимизирован, то программа просмотра создает дополнительный трафик всякий раз, когда кто-то регистрируется в сети.
Хотя автор предполагает, что читатели знакомы с концепцией просмотра, необходимо рассмотреть несколько терминов, чтобы убедиться, что речь идет об одном и том же. В системе просмотра есть пять ролей просмотра. При чтении следующего далее списка помните, что один компьютер может выполнять более одной роли. Компьютер, выполняющий любую из этих ролей, называется броузером (browser).
1. Мастер-броузер домена. Это всегда основной контроллер домена. Он отвечает за сбор объявлений для всего домена, включая все подсети сети TCP и сетевые сегменты. Когда этот список собран, мастер-броузер домена предоставляет список ресурсов всем мастер-броузерам в сети. Мастер-броузер домена может также быть мастер-броузером для своего сегмента.
2. Мастер-броузер. Мастер-броузер отвечает за сбор информации для создания и поддержания списка просмотра, который включает все серверы в домене или рабочей группе мастер-броузера, а также все домены в сети. Сервер будет делать объявление сервера для мастер-броузера домена или рабочей группы, посылая направленную дейтаграмму. Это объявление сервера перечисляет все доступные на компьютере службы, и поэтому, помимо серверов NT, такие серверные объявления будут также делаться рабочими станциями NT, машинами Windows 9.x и компьютерами Windows for Workgroup, которые предоставляют какую-либо форму совместного использования файлов и печати. Мастер-броузер получает это объявление и добавляет компьютер в список просмотра. Если домен включает более одной подсети TCP, то мастер-броузер будет отвечать только за свой сегмент, но будет поддерживать также список резервных броузеров локальной подсети.
3. Резервный броузер. Резервный броузер получает копию списка просмотра от мастер-броузера и передает список по запросу компьютерам в домене. Все контроллеры домена автоматически конфигурируются либо как мастер-броузер, либо как резервный броузер. Рабочие станции Windows NT, компьютеры Windows 9.x и Windows for Workgroup могут быть резервными броузерами, если в домене существует меньше трех серверов NT, выполняющих функции резервного броузера. Резервные броузеры вызывают мастер-броузер каждые 15 минут, чтобы получить самую последнюю копию списка просмотра, а также текущий список доменов в сети. Если мастерброузер недоступен, то резервный броузер будет инициировать выборы.
4. Потенциальный броузер. Потенциальным броузером является компьютер, который может поддерживать список просмотра сетевых ресурсов, но еще не имеет списка. Он будет поддерживать список просмотра только в том случае, если мастер-броузер прикажет это делать. В этом случае потенциальный броузер становится резервным.
5. Не-броузер. He-броузер может быть специально сконфигурирован так, чтобы не поддерживать список просмотра. Не будучи сконфигурирован как не-броузер, компьютер будет потенциальным броузером, если он имеет активные серверные компоненты.
