Contents of this directory is archived and no longer updated.

Примечание: данный пост перепечатан в связи с закрытием бложиков на spaces.live.com, как имеющий какую-то ценность для автора и/или читателей.

Обозреватель компьютеров – Computer Browsing

Достаточно часто в интернете возникают вопросы и проблемы с отображением компьютеров в сетевом окружении. Как показывает практика, проблема на самом деле возникает не в сетевом окружении, а в том, что многие пользователи не знают или не понимают принцип работы службы обозревателя компьютеров. Хотя в интернете размещено достаточно много хорошего материала по теме обозревателя, но зачастую он непонятен не то, чтобы рядовому пользователю, но и нередко системным администраторам. Так же значительная часть материала написана на английском языке, что для рядовых пользователей может составлять трудность. Служба обозревателя компьютеров используется уже более 10 лет, но вопросы по ней задаются до сих пор. Хочется оговориться, что служба обозревателя и сетевое окружение сейчас является устаревшей моделью доступа в доменной среде Active Directory и Microsoft постепенно отказывается от неё в сторону распределённой файловой системы DFS (Distributed File System). Это оправданное решение, т.к. служба обозревателя генерирует достаточно много широковещательного трафика (в следствии чего падает пропускная способность сети и снижается безопасность сети), имеет множество ограничений и имеет негарантированные (неконтролируемые) моменты в своей работе. В данной статье я постараюсь достаточно доступно и понятно рассмотреть работу службы обозревателя, особенности различных организаций (имплементаций) и связанные с ней проблемы.

Для начала разберём несколько понятий и терминов. Как известно, список компьютеров в сети можно посмотреть заглянув в сетевое окружение (My Network Places). Если всё настроено как надо, то мы видим список компьютеров и можем заходить на любые из них и просматривать расшаренные на них папки и принтеры. Как же организовывается такая схема?

Базовые настройки и понятия, необходимые для работы сетевого окружения

Возьмём некоторую локальную сеть в которой есть один домен широковещания, т.е. один компьютер или узел может найти другого по широковещательному запросу или как его ещё называют - броадкасту (broadcast). Широковещательные запросы свободно проходят через хабы и свитчи и ограничиваются лишь маршрутизаторами, которые не пропускают широковещательные пакеты в другие сети. Если все узлы в сети подключены к свитчу (или свитчам, между которыми на пути нету маршрутизаторов и соединены прямым кабелем), то каждый узел может общаться широковещательными пакетами с любым другим узлом в данной сети. Чаще всего все эти компьютеры будут входить в одну рабочую группу, по умолчанию именуемую Workgroup. В кратце ситуация происходит следующим образом: при запуске компьютеров в сети начинают происходить выборы главного компьютера, который будет отвечать за списки компьютеров в сетевом окружении и которого называют главным обозревателем или мастер-браузером (master browse server). В выборах участвуют только компьютеры с запущенной службой Computer Browser. После выбора мастер-браузера выбираются ноль или больше резервных обозревателей или резервных браузеров (backup browse server), которые будут обслуживать клиентов. Мастер-браузер (здесь и далее термин "браузер" будет использоваться для обозначения главного обозревателя компьютеров или резервного обозревателя). После прохождения всех выборов каждый узел с запущенной службой Server объявляет себя мастер-браузеру, чтобы тот включил его в общий список компьютеров. Когда все узлы объявят себя мастер-браузеру, то тот в свою очередь сформирует список для сетевого окружения. Регулярно, через некоторый интервал времени (от 1 до 12 минут) компьютер обращается к мастер-браузеру за списком резервных обозревателей. Получив его, компьютер произвольно выбирает одного из резервных браузеров и запрашивает уже у него список компьютеров в сети. Если же резервных браузеров нету, то сам мастер-браузер будет обслуживать клиента и передавать ему списки компьютеров. Именно этот список можно видеть в папке My Networks Places. Так всё выглядит в общем случае, но мы сейчас разберём весь механизм работы обозревателя более подробно.

Для корректной работы обозревателя требуется наличие компьютера под управлением Microsoft Windows 9x/3.x for Workgroups (данная статья пишется под среду Windows 2000/XP/2003/Vista) и выше со включенным клиентом Client for Microsoft Networks и включенном транспортном протоколе NetBIOS и запущенной службой Server и Workstation.

Здесь показано и выделено место в свойствах сетевого адаптера, где выставляется параметр Client for Microsoft Networks. В следующем окне показано, как включить NetBIOS over TCP/IP (или как его называют NetBT или совсем просто NBT. Здесь и далее буду использовать сокращения). Как уже сказано выше, в качестве транспорта для трафика сетевого окружения будет использоваться транспорт NetBIOS поверх TCP/IP.

Переключатель должен быть выставлен либо в Default (тогда настройки этого параметра будут регулироваться либо DHCP сервером или явно разрешено при статической адресации), либо явно разрешён, игнорируя настройки DHCP сервера. Далее, на каждом компьютере запускаем службы Server и Workstation (по умочанию они включены). Запустить их можно зайдя в консоль services.msc. Так же в свойствах этих служб следует убедиться, что режим запуска стоит Automatic. Если у вас установлен брандмауэр, то вам необходимо в нём настроить разрешения для NetBIOS трафика. Если используется Windows Firewall (встроенный в ОС Windows XP SP2 и выше), то в нём, во вкладке Exceptions необходимо выставить галочку напротив File and Printer Sharing, как это показано на рисунке:

Если же используется другой брандмауэр, который не поддерживает стандартную опцию исключения NetBIOS, то необходимо открыть следующие входящие порты:

  1. 137 UDP;
  2. 138 UDP;
  3. 139 TCP;
  4. 445 TCP.

А так же необходимо позволить системе отправлять данные на эти же порты удаленных компьютеров.
Краткое резюме: мы с вами познакомились с основными компонентами, которые обеспечивают поддержку работоспособности сетевого окружения такие как:

  • наличие включенного клиента сетей Microsoft (Client For Microsoft Networks) в свойствах сетевой карты;
  • наличие включенного NetBIOS over TCP/IP в свойствах TCP/IP протокола;
  • созданного исключения в брандмауэре для File and Printer Sharing или ручное конфигурирование входящих и исходящих портов.
  • запущенной на всех компьютерах, к или с которых предполагается доступ по сети и сетевое окружение - службы Server и Workstation;

Выборы главного обозревателя (мастер-браузера) и роли обозревателей

Теперь необходимо выбрать несколько компьютеров на роль кандидата главного обозревателя сети или мастер-браузера. Не вдаваясь в глубокие рассуждения, скажу, что для этих целей не стоит(!) использовать компьютеры у которых активированы несколько сетевых карт, т.е. multihomed компьютер. Тут введу ещё одно понятие:
Сочетание 3-х вещей:

  • конкретной сетевой карты;
  • конкретного сетевого протокола;
  • признака поддержки NetBIOS на этой карте и на этом протоколе.

в терминологии NetBIOS называется LANA ("сетевой адаптер NetBIOS"). Так вот, multihomed компьютер - это компьютер, у которого больше одного LANA. Необходимо избегать работу мастер браузеров, эмуляторов PDC контроллеров домена и серверов WINS на multihomed компьютерах. Дело в том, что такой режим работы может привести к непрогнозируемым и негарантированным результатам работы. О некоторых проблемах multihomed серверов можно узнать здесь:

Поэтому службу Computer Browser по необходимости следует запускать только на компьютерах имеющие активную только одну сетевую карту. Браузеры между собой могут разделять 5 ролей:

  • мастер-браузер (master browse server) - Как уже говорилось выше, в сети (в логической группе) должен быть один главный обозреватель, который будет собирать списки компьютеров и их расшаренных ресурсов в единый список, который называется список обозревателя (browse list) для всей рабочей группы или домена, если он является так же и доменным обозревателем (о нём написано ниже). Мастер-браузер практически никогда не обслуживает клиентов, за него это делают резервные браузеры. Поэтому мастер-браузер лишь собирает сведения от клиентов и пересылает копию списка обозревателя резервным браузерам, с которыми уже непосредственно контактируют клиенты. Мастер-браузер выбирается в сети посредством выборов. О самом процессе выборов будет написано ниже.
  • доменный мастер-браузер (domain master browse server) – это тот же главный обозреватель сети, но его область действия не ограничивается одной рабочей группой, а всем доменном. Исходя из названия можно предположить, что данный браузер будет доступен только в условиях домена Active Directory. Доменный мастер-браузер имеет право собирать списки компьютеров и расшаренных ресурсов со всех удалённых подсетей (которые находятся за маршрутизатором) в пределах всего домена. Эта роль всегда назначается первому контроллеру домена или контроллеру домена, который держит FSMO роль – эмулятор PDC (PDC Emulator), т.к. только эмулятор PDC имеет некоторые особенные возможности, которыми не обладают другие браузеры. Доменный мастер-браузер выбирается посредством условных выборов и эта роль всегда закрепляется за эмулятором PDC. Почему условно – лишь для соблюдения формальности и избежания ситуации, когда может быть одновременно два доменных мастер-браузера. Как правило доменный обозреватель совмещает и роль мастер-браузера в своей подсети. Так же добавлю, что во всём домене может быть только один контроллер, который держит FSMO роль эмулятора PDC. В случае выключения контроллера домена, который является эмулятором PDC, то в домене не назначаются новые выборы и домен остаётся без доменного мастер-браузера, а только резервные браузеры, которыми как правило становятся дополнительные контроллеры домена.
  • резервный браузер (backup browse server) – это браузер, который проигрывает выборы на роль мастер-браузера. Резервные браузеры периодически (с интервалом от 1 до 12 минут) получают копии списка обозревателя от мастер-браузера и по требованию клиента отправляют ему этот список. Резервные браузеры не составляют сами этот список, а только получают его от главного обозревателя. В случае, если из сети выйдет мастер-браузер или тот перестанет отвечать копиями списка обозревателя резервные браузеры форсируют новые выборы мастер-браузера.
  • потенциальный браузер (potential browser) – это то тот же самый кандидат в мастер-браузеры, за исключением того, что при полном комплекте резервных браузеров (о комплектации сети браузерами будет сказано ниже) он прекращает быть браузером и становится клиентом до первого требования главного обозревателя, когда необходимо повысить свою роль до резервного обозревателя. Роль потенциального браузера можно определять в реестре:

HKLM\System\CurrentControlSet\Services\Browser\Paramters
И там есть ключ MaintainServerList, который может принимать 3 значения:

  • No – этот параметр предохраняет компьютер от участия в выборах. Т.е. этот компьютер никогда не станет мастер-браузером или резервным браузером.
  • Yes – этот параметр позволяет компьютеру участвовать в выборах и иметь шансы на роль главного обозревателя сети. При подключении этого компьютера к сети он автоматически становится резервным браузером и первым делом попытается связаться с мастер-браузером для получения списка компьютеров. Если мастер-браузер не будет обнаружен, то этот компьютер форсирует выборы мастер-браузера.
  • Auto – этот параметр так же позволяет компьютеру участвовать в выборах, но это значение делает его потенциальным обозревателем или потенциальным браузером. При включении потенциального браузера в сеть он в первую очередь пытается связаться с мастер-браузером, чтобы узнать свою роль в сети. Чтобы не заполнять сеть большим числом браузеров есть определённое правило расчёта мастер-браузеров и резервных браузеров по отношению к общему количеству компьютеров в сети. Это правило выписано в примечании. Если сети в результате её расширения (например, компьютеры по очереди подключаются к сети) требуется дополнительный резервный браузер, то мастер-браузер назначает дополнительным резервным браузером компьютер, который является потенциальным браузером. В случае, если необходимости в дополнительном резервном браузере нету, то потенциальный браузер переходит в статус клиента и не обслуживает списки компьютеров. Но по первому требованию мастер-браузера он может взять на себя роль резервного браузера. Если же потенциальный браузер подключается к сети в которой ещё нету мастер-браузера, то потенциальный браузер форсирует новые выборы. Данный параметр реестра не даёт компьютеру никакого преимущества в выборах.

Примечание: Здесь привожу значения, которые регулируют количество браузеров в сети:

  • на 1 компьютер – только один мастер-браузер
  • от 2 до 31 компьютера – 1 мастер-браузер и 1 резервный браузер
  • от 32 до 63 компьютеров – 1 мастер-браузер и 2 резервных.

На каждые последующие 32 компьютера полагается по одному дополнительному резервному браузеру. Дополнительные резервные браузеры назначаются как правило из списка потенциальных браузеров. Так же хочу отметить, что в обычном режиме нет необходимости изменять данный параметр реестра без острой на то необходимости, а оставить всё как есть и использовать данные значения реестра в информативных целях.

  • предпочтительный браузер (preferred master browser) – это специально настроенный кандидат в мастер-браузеры, который всегда выигрывает выборы. Ввиду этого факта, настройку данного типа браузера стоит выполнять только при чётком понимании процесса выборов и когда в этом есть необходимость. Настроить предпочтительного обозревателя можно в реестре:
    HKLM\System\CurrentControlSet\Services\Browser\Parameters
    В котором надо изменить параметр REG_SZ (а если его нету, то создать) IsDomainMaster и его значение выставить в True. Если же значение отсутствует или выставлено в False, или No, то компьютер такой ролью обладать не будет. К слову, первый контроллер домена в сети или держатель роли эмулятора PDC носит статус предпочтительного браузера. И при наличии в домене нескольких контроллеров, держатель роли эмулятора PDC при любом раскладе выиграет выборы, т.к. только он может быть доменным мастер-браузером.

На заметку: Казалось бы, зачем объявлять новые выборы, если предпочтительный браузер всё равно выиграет их? Дело в том, что в любой момент времени в одной логической сети не может быть больше одного мастер-браузера, поэтому при любых объявлениях выборов текущий мастер-браузер обязан понизить себя до резервного барузера и в этот момент до окончания выборов в сети главного обозревателя не будет. Когда в сети появится предпочтительный обозреватель, то он объявляет себя мастер-браузером и сигналом объявления выборов делает себя единственным мастер-браузером, т.к. по правилам, при получении сигнала о начале выборов текущий мастер-браузер должен понизить свою роль.

Внимание!!! вышеупомянутые параметры реестра не следует изменять без острой необходимости в этом. Изменение данных значений может вызвать конфликты обозревателей в сети и необходимо отслеживать, чтобы в сети было бы не более одного предпочтительного обозревателя.
Следовательно, службу Computer Browser следует включить в режим Automatic только на тех компьютерах, которые должны быть либо главными обозревателями, либо резервными. Выше мы говорили о 5, а не 2-х ролях, но остальные 3 роли являются лишь расширениями основных двух ролей – главного и резервых браузеров. На остальных же компьютерах выставить Manual или Disabled. При запуске компьютеров в сети все компьютеры с запущенной службой Computer Browser приступают к выборам главного обозревателя сети (остальные мирно слушают эфир и ждут окончания выборов). В общем случае выборы назначаются в 3-х случаях:

  • когда компьютер не может найти мастер-браузера (если компьютер не получил ни одного ответа от мастер-браузера на 3 подряд запроса);
  • когда в сети появляется предпочтительный браузер;
  • когда запускается и появляется в сети основной контроллер домена, эмулятор PDC (только в условиях домена).

Первый претендент на роль главного обозревателя или предпочтительный обозреватель отправляет в сеть специальный широковещательный пакет, который извещает остальные компьютеры в сети о начале новых выборов, именуемый как ElectionDatagram, в котором указывает необходимые данные критериев выборов. Так же, при получении этого сообщения мастер-браузер сети (если он есть) обязан себя понизить до резервного браузера. На данный пакет реагируют только те компьютеры, на которых запущена служба Computer Browser и которые являются или могут исполнять роль мастер-браузера, т.е. обозреватели. Клиенты же на этот пакет никак не реагируют.

В качестве критериев определения лучшего используются следующие основные параметры:

  1. версия ОС. Более поздняя редакция будет иметь преимущество на выборах, кроме случаев участия в выборах серверных ОС, которые имеют преимущество перед любыми настольными версиями ОС. Так, например, Windows XP будет иметь преимущество перед Windows 2000 Professional, но Windows 2000 Server будет иметь преимущество перед Windows XP;
  2. версия протокола выборов. Чем выше версия, тем выше приоритет. Данный параметр не зависит от редакции ОС и является лишь версией протокола выбора браузера;
  3. аптайм машины (время бесперебойной работы). Чем выше аптайм, тем выше приоритет при выборах;
  4. Является ли данный компьютер держателем FSMO роли эмулятора PDC;
  5. Сервер WINS;
  6. Является ли этот компьютер предпочтительным обозревателем;
  7. Является ли компьютер текущим мастер-браузером;
  8. Является ли компьютер текущим бэкап-браузером.

Браузер, получивший данный пакет сравнивает все эти показатели со своими и выясняет, является ли он более лучшим, чем тот компьютер, который отправил этот пакет. Своё мнение компьютер выражает в ответном пакете отправителю. Более подробно о критериях выборов можно прочитать здесь:
http://www.microsoft.com/technet/prodtechn...i_brs_ECEA.mspx

Если вдруг окажется, что в сети никого нету с запущенной службой Computer Browser и выборы не происходят, либо клиент не может найти ни одного мастер-браузера, то каждый компьютер у которого режим запуска службы Computer Browser стоит Manual форсирует запуск этой службы (что не является гарантированным событием при таких условиях) и объявляет новые выборы мастер-браузера. В таком случае процесс может очень сильно затянуться (вплоть до 72 минут). Но это не гарантирует успешного завершения выборов (при большом количестве кандидатов) и может оказаться, что сетевое окружение в сети не будет работать вообще.

Когда выборы окончены и выбран мастер-браузер (об этом все компьютеры извещаются ширковещательным сообщением с указанием имени победителя) и список компьютеров пуст, мастер-браузер посылает в сеть специальный сигнал, который форсирует клиентов для объявления самих себя мастер-браузеру. Такая же процедура происходит при перезапуске службы Computer Browser на главном обозревателе сети (при перезапуске службы список компьютеров очищается) или при появлении в сети предпочтительного браузера. Эффект появления в сети предпочтительного браузера был описан выше.

Периодически (в произвольный интервал времени от 1 до 12 минут) каждый компьютер объявляет (представляет) себя перед мастер-браузером. Мастер-браузер в свою очередь собирает эти данные в единый список. Проигравшие выборы браузеры автоматически становятся резеврными браузерами (backup browser) и они регулярно получают копию списка сетевого окружения от мастер-браузера. Они же и занимаются обслуживанием конечных клиентов. Например, один из клиентов хочет запросить список компьютеров в сети. Для этого он обращается к мастер-браузеру за списком резервных браузеров. Тот им отвечает списком имён резервных браузеров и клиент произвольно выбирает одного из 3-х (имена остальных двух он записывает в кэш) и уже с ним договаривается о списке компьютеров для публикации в сетевом окружении. Если же в сети нету резервных браузеров, то клиент будет напрямую взаимодействовать с мастер-браузером и уже с него получать списки компьютеров и расшаренных ресурсов.

Работа обозревателя в одном физическом сегменте


А теперь рассмотрим более детально как всё будет происходить в реальной сети. В данном случае будет использоваться простая логическая сеть из 5 компьютеров, которые подключены в один свитч или хаб:

 

Здесь в виде больших компьютеров я показал те компьютеры, на которых была запущена служба Computer Browser, а в виде маленьких – где эта служба не запущена. При включении компьютеров в сеть, компьютер PC1 посылает в сеть сигнал о начале выборов (Election datagram) со своими показателями критериев выборов как это показано на следующем рисунке:

Компьютеры PC2 и PC5 срванивают показатели компьютера PC1 со своими и генерируют ответное сообщение с указанием своего статуса (хуже, или лучше). Если PC1 будет настроен как предпочтительный браузер, то он станет мастер-браузером в любом случае, т.к. этот статус имеет наивысокий приоритет. На картинке изображено, что PC1 выиграл выборы и стал мастер-браузером для сети Workgroup (сбоку пририсована папочка), т.к. он работает под управлением Windows 2000 Server, который имеет приоритет перед Windows XP. И PC1 отправляет в сеть широковещательный пакет с указанием своего имени и имени своей логической группы (логическую группу ещё называют LAN-группой), который называется Workgroup Announcement или Domain Announcement и которым мастер-браузер объявляет себя в сети. После выборов компьютер PC1 отправит в сеть другой запрос на объявления компьютеров специальным широковещательным пакетом RequestAnnouncement. Клиенты (и резервные браузеры) начинают объявлять себя мастер-браузеру (т.е. компьютеру PC1). После того как все компьютеры объявят себя мастер-браузер составит список для сетевого окружения именнуемого списком обозревателя (browse list) и отправит его копию каждому резервному браузеру, т.е. компьютерам PC2 и PC5 в нашем примере. На следующем рисунке эта процедура отмечена стрелочками с цифрой 1.

Теперь клиент захочет посмотреть список компьютеров в сети. Для этого он отправляет в сеть широковещательный запрос GetBackupList [цифра 2 на рисунке] на поиск мастер-браузера и получения списка резервных браузеров, на который мастер-браузер отвечает [3] списком, который будет состоять из PC2 и PC5. Клиент произвольно выбирает себе понравившегося бэкап-браузера и уже у него запрашивает список компьютеров в сети [4]. Резервный браузер отвечает списком [5] и клиент публикует его в окне My Network Places в котором будут отражены компьютеры PC1, PC2, PC3, PC4 и PC5. Если в этом окне зайти на любой компьютер, то клиент уже не будет обращаться к браузеру а будет контактировать напрямую со своим собеседником, которого он хочет посмотреть. Точно так же будет работать и доменная сеть, когда все компьютеры домена находятся в одном сегменте. Можно сразу сказать, что в качестве компьютера PC1 на рисунке будет выступать первый контроллер домена, или другой контроллер, который держит роль эмулятора PDC.

Работа нескольких обозревателей в одном сегменте

 


Бывают ситуации, когда мы хотим разделить один физический сегмент на несколько логических рабочих групп, например Workgroup и Workgroup1. Как уже сказано выше, при объявлении самого себя мастер-бразуер отправляет в сеть специальный пакет Workgroup Announcement или Domain Announcement (только если компьютер находится в домене), который слушают не только клиенты своей логической группы, но и мастер-браузеры других логических сетей. Когда мастер-браузер другой сети получает такой пакет, то он добавляет в список новую логическую группу и имя главного обозревателя той сети. И если клиент захочет обратиться к компьютеру из другой LAN группы, то он от своего мастер-браузера получает список доступных логических групп в данном сегменте и связанных с ними мастер-браузеров. И клиент просто отправляет в сеть широковещательный пакет GetBrowserList, но с указанием имени конкретной LAN-группы. Тогда мастер-браузер указанной в запросе LAN-группы возвращает клиенту список бэкап-браузеров и вся остальная работа сводится к работе, которая описана в предыдущей главе. Разница лишь в том, что для каждой логической группы избирается свой собственный мастер-браузер. И только мастер-браузер собирает названия других логических групп и имена связанных с ними мастер-браузерами (списки компьютеров других LAN-групп они не собирают, только для своих). Эта информация будет доступна и клиенту. Выглядеть это будет примерно следующим образом:

 

Здесь мы видим 4 LAN-группы в кружочках (NetworkA, NetworkB, NetworkC и Domain), которые находятся в одном сегменте. Так же я показал имена мастер-браузеров (MasterA, MasterB, MasterC и DC1) для каждой LAN-группы. Так же я показал широковещательные пакеты Workgroup/Domain Announcement, которые принимают и обрабатывают все мастер-браузеры в пределах слышимости широковещательных сообщений (т.е. одного физического сегмента).

В содержании Workgroup Announcement или Domain Announcement включается название LAN-группы, или домена, имя мастер-браузера данной группы и версия ОС, под которой управляется мастер-браузер конкретной группы. Стрелочкой от DC1 к PC2 я показал пересылку копии списка browse list, которую мастер-браузер DC1 отправляет резервному браузеру LAN-группы Domain. В этом списке будет отражено то, что приведено в жёлтом прямоугольнике, а именно – список доступных LAN-групп и имена их мастер-браузеров (эта информация не отображается в сетевом окружении). Этот список будет отражаться в сетевом окружении у пользователя. Когда пользователь зайдёт в одну из них, то сначала он свяжется с мастер-браузером пакетом GetBackupList, чтобы получить список резервных браузеров LAN-группы. А далее – по обычной схеме, выбирает произвольно одного из резервных-браузеров от которого он уже получит список всех компьютеров в логической группе и в той группе, в последующем будет работать с этим резервным браузером.

Работа двух логических групп в двух физических сегментах

Предположим, у нас есть два физических сегмента сети, которые соединены между собой посредством маршрутизатора (роутера), как это показано на рисунке:

У нас есть две логические группы (LAN-группы) которые называются Workgroup и MyGroup. Каждая группа находится в своём физическом сегменте и эти сегменты соединены между собой маршрутизатором. Каждая LAN-группа сама по себе будет работать как описано в разделе "Работа обозревателя в одном физическом сегменте" данной статьи. Но как быть, если мы захотим просмотреть список компьютеров группы MyGroup из LAN-группы Workgroup? Как известно, каждый мастер-браузер объявляет себя другим мастер-браузерам в сегменте путём широковещательного сообщения Workgroup Announcement. Но маршрутизатор не пропустит через себя этот пакет в другую сеть (маршрутизаторы не перенаправляют широковещательные сообщения), а значит, мастер-браузер сети Workgroup не узнает, что в сети существует LAN-группа MyGroup и кто в ней является мастер-браузером. К сожалению (а может и к счастью) в условиях рабочей группы нету никакого механизма, чтобы реализовать просмотр списка компьютеров из другого физического сегмента сети.

Работа одной логической группы в двух физических сегментах

Допустим, у нас есть два сегмента сети, которые соединены маршрутизатором, но все компьютеры в этих сегментах состоят в одной LAN-группе под названием Workgroup как это изображено на рисунке:

Так же, как и в предыдущем примере мы сталкиваемся с маршрутизатором, который не будет пропускать из одного сегмента сети в другую широковещательные пакеты объявления выборов, объявления мастер-браузеров и т.д. В данном случае схема вырождается в предыдущий пример, т.е. у нас в сети получаются две независмые LAN-группы, в каждой из них будут проходить свои выборы и в каждой сети будет свой мастер-браузер со своим набором резервных браузеров. На компьютерах PC3 и Comp4 будет видна LAN-группа Workgroup, но список будет составлять только компьютеры из своей сети. И левая LAN-группа Workgroup не сможет контактировать через сетевое окружение с правой LAN-группой Workgroup и наоборот. Хотя имена у них будут одинаковые, но никакой взаимосвязи на уровне сетевого окружения у них не будет, т.е. просто две изолированные группы с совпадающим названием как и в предыдущем примере.

Работа сетевого окружения в домене, поделённого на сегменты маршрутизатором

Итак, мы узнали, что в среде рабочей группы с маршрутизатором LAN-группы не могут общаться между собой через сетевое окружение, находясь в разных сегментах сети. Если в сети реализован домен, то здесь у нас есть возможность воспользоваться особыми возможностями доменного мастер-браузера, которыми не обладают остальные мастер-браузеры. Но и в домене не всё так просто, как, наверное, хотелось бы. Рассмотрим следующую картинку:

Давайте ещё раз вспомним, как происходит публикация LAN-групп и их мастер-браузеров в сети и вспомним, какие же проблемы у нас возникали при использовании маршрутизатора. В каждом физическом сегменте (SubnetA, SubnetB, SubnetC, SubnetD) объявляются выборы мастер-браузера, которые вне зависимости от реализации имеют одну и ту же схему, поэтому я этот вопрос здесь уже не рассматриваю. После окончания выборов в каждой подсети назначается свой мастер-браузер (MasterA, MasterB, MasterC и DC1). DC1 являясь держателем роли эмулятора PDC становится доменным обозревателем – Domain Master Browse Server. После окончания выборов по закону каждый мастер-браузер должен объявить себя и свою LAN-группу остальным мастер-браузерам широковещательным пакетом Domain Announcement. Т.к. у нас домен, а не рабочая группа, то все компьютеры в домене входят в одну LAN-группу, которая совпадает с именем домена. В нашем примере, домен называется MyDomain. Если посмотреть на наш рисунок, то мы увидим, что этот пакет дойдёт только до маршрутизатора (Router) и его никто в соседних сетях не услышит и никто никогда так и не узнает о существовании, например MasterA в подсети SubnetA, кроме членов этой подсети. NetBIOS обычно разрешает имена тоже путём отправки в сеть широковещательного пакета. Поэтому нужен какой-то дополнительный механизм для объявления мастер-браузеров и разрешения имён (в частности разрешения имени доменного обозревателя). В качестве этого механизма будет выступать система WINS (Windows Internet Name Service).

На заметку: WINS выполняет практически те же функции, что и DNS (Domain Name Service) за той лишь разницей, что DNS разрешает доменные имена компьютеров в IP-адреса, а WINS разрешает NetBIOS-имена в IP-адреса. В начале статьи было сказано, что в качестве транспорта служба сетевого обозревателя (окружения) использует только NetBIOS транспорт. Т.к. DNS не занимается разрешением NetBIOS-имён, то этим будет заниматься именно WINS.
WINS работает по схожей схеме, как и DNS. Он имеет свою таблицу сопоставления NetBIOS-имён компьютеров их IP-адресам. Т.к. в доменных сетях разрешение имён путём широковещания зачастую будет осложнено маршрутизаторами, поэтому на каждом компьютере необходимо прописывать адрес WINS-сервера. Если в сети развёрнут протокол динамической настройки клиентов DHCP (Dynamic Host Configuration Protocol), то сервер DHCP будет сам выдавать клиентам вместе с их IP-адресом и адрес WINS-сервера. При наличии его адреса клиент получает возможность разрешить NetBIOS-имя любого компьютера в домене в его IP-адрес путём простого прямого (не широковещательного) запроса WINS-сервера. Итак, первую проблему – проблему разрешения имён мы решили при помощи внедрения в сеть WINS-сервера (Windows Internet Name Service).

Более подробно о функциях и настройки WINS можно прочитать тут: http://technet.microsoft.com/en-us/library/bb727015.aspx

Примечание: о порядке и правилах разрешения NetBIOS-имён можно прочитать тут: http://technet.microsoft.com/en-us/library/bb727005.aspx

Но осталось решить другую проблему – как узнать, кто в сети является доменным обозревателем? Ведь только доменный обозреватель может собирать списки компьютеров со всех подсетей домена в единый список домена, который будет включать все компьютеры домена. Для этой задачи будет также будет задействован сервер WINS. Я уже упоминал об одной особенной возможности доменного мастер-браузера и которой не обладает ни один другой мастер-браузер. Теперь пора раскрыть эту особенность – контроллер домена, держащий роль эмулятора PDC может себя регистрировать на WINS-сервере как доменный мастер-браузер. Остальные же компьютеры (вне зависимости от их роли браузера или клиента) себя регистрируют на WINS-сервере просто как компьютеры. И клиенты могут прямым запросом сервера WINS выяснить имя и IP-адрес доменного обозревателя и уже прямым сообщением (которое маршрутизатор пропустит в другую сеть) объявить себя и свою подсеть доменному мастер-браузеру.

А теперь, используя наши знания, давайте посмотрим, как же будет выглядеть процесс работы сетевого окружения. Предположим, что в WINS уже есть таблица сопоставления NetBIOS-имён всех компьютеров домена. Тогда доменный мастер-браузер регистрирует себя особым образом на WINS-сервере и объявляет себя для всего домена как доменный мастер-браузер. Например в подсети SubnetA закончились выборы и компьютер MasterA стал для этой сети мастер-браузером. Сперва он объявляет себя в своём сегменте и посылает в свою сеть широковещательный запрос RequestAnnouncement, сообщая остальным компьютерам его LAN-группы объявить себя мастер-браузеру. Т.е. по такой же схеме, как и в разделе "Работа обозревателя в одном физическом сегменте". Когда список browse list будет составлен и его копия будет выдана всем резервным обозревателям сегмента, мастер-браузер по закону должен себя объявить перед доменным мастер-браузером. Для этого он сперва пробует широковещательным запросом найти доменного обозревателя. Т.к. у нас стоит маршрутизатор, то этот запрос тихонечко умрёт без ответа. Если ответ не будет получен, то мастер-браузер обратится к серверу WINS с запросом – есть или нету в сети доменный мастер-браузер. Если он есть (контроллер домена включен), то WINS отвечает именем доменного обозревателя (т.е. DC1). Получив имя, мастер-браузер сети SubnetA попытается разрешить имя DC1 в IP-адрес при помощи того же сервера WINS. Получив IP-адрес, мастер-браузер MasterA отправляет прямой (не широковещательный) пакет MasterBrowserAnnouncement доменному обозревателю с указанием своего имени. После чего доменный мастер-браузер запросит копию списка всех компьютеров (browse list) в удалённом сегменте (SubnetA) и по получении этого списка доменный обозреватель его обрабатывает и включает все компьютеры из этой сети в общий доменный список. Доменный список будет содержать одноуровневый список всех компьютеров в домене без их деления по физическому расположению, т.к. все компьютеры являются членами одного домена. После этого, доменный мастер-браузер отправляет мастер-браузеру сети SubnetA свою копию browse list списка, который будет включать все компьютеры в сети, которые подключены к сети и успели себя объявить либо напрямую, либо через промежуточные мастер-браузеры. Такая же процедура будет происходить и в отношении остальных подсетей, которые находятся за маршрутизатором.

Работа сетевого окружения при отключении компьютеров от сети

В предыдущих главах мы рассмотрели процесс работы сетевого окружения при подключении и постоянной работе компьюетров в сети. Теперь осталось рассмотреть поведение сети и сетевого окружения, когда компьютеры выходят из сети как в штатном режиме (т.е. корректно выключаются), так и в аварийном (например, отключилось питание или компьютер просто отключён от сети (не от питающей)).

  • отключение от сети обычного клиента (не браузера). Известно, что объявив себя однажды перед мастер-браузером, клиент в процессе обязан периодически (с интервалом от 1 до 12 минут) сообщать о себе (я жив!) мастер-браузеру. Если же клиент 3 раза подряд не объявил себя, то мастер-браузер вычёркивает (удаляет) этот компьютер из списка обозревателя. Ввиду того, что интервал объявления может достигать 12 минут, то существует реальная возможность, что этот компьютер будет фигугрировать еще целых 36 минут в списке обозревателя, хотя его в сети уже давно нету. Участники других сетей могут считать компьютер живым ещё вплоть до 72 минут после выведения компьютера из сети.
  • выключение резервного обозревателя. Если резервный обозреватель выключается корректно от сети, то он об этом извещает мастер-браузера, который его сразу же вычёркивает из списка резервных браузеров. В остальном же время фигурирования выключенного резервного браузера от сети будет таким же как и для обычного клиента. Если же резервный браузер внезапно отключился от сети, то первыми его отстутсвие заметят клиенты, которых обслуживал этот браузер. Т.к. по правилам, если резервный браузер не ответил клиенту на 3 подряд запроса, то клиент вычёркивает его из списка и пытается связаться с другим резервным браузером. Временные задержки очистки списка окружения будут такие же, как и в случае клиента, т.е. в своей подсети – до 36 минут, для других подсетей – до 72 минут.
  • выключение главного обозревателя. Когда мастер-браузер корректно завершает свою работу, то перед полным уходом в небытие он отправляет в сеть широковещательный пакет ForceElection, который извещает участников сети о внеочередных перевыборах. Если же мастер-браузер выключился внезапно, то первыми могут заметить его отстутвие резервные браузеры, которые получают от него копии списков обозревателя. Если мастер-браузер в течении 12 минут не отправил резервному браузеру копию списка обозревателя, то этот резервный браузер отправит в сеть сигнал о внеочередных перевыборах. Если же в сети не будет ни одного резервного обозревателя, то потенциальные обозреватели, или клиенты, которые способны запустить службу Computer Browser (служба должна быть в режиме запуска Manual). Если же и таких нету, то сетевое окружение станет недоступным.
  • Выключение доменного обозревателя. Если выключается от сети (по любой причине) доменный мастер-браузер, то новые выборы не объявляются. Дело в том, что в доменной модели Active Directory может быть несколько или очень много равноправных контроллеров домена. Они равноправны практически во всём, кроме 5 ролей FSMO, одной из которых является роль эмулятора PDC. В любой момент времени во всём домене не может быть больше одного эмулятора PDC. И при отключении его другие контроллеры домена не могут повысить свою роль до эмулятора PDC сами по определённым причинам. Передать роль может только вручную системный администратор домена (и то, только при полной уверенности, что упавший контроллер больше не вернётся к жизни никогда). Если мастер-браузеры не смогут получить копии списка компьютеров всего домена, то мастер-браузеры в каждой подсети удаляют из своих списков компьютеры, которые находятся в других сетях и поддерживают только списки тех компьютеров, которые находятся в их сети. При этом сетевое окружение домена вырождается на несколько (в зависимости от количества подсетей) изолированных рабочих групп, которые друг с другом контактировать не смогут через сетевое окружение, а только напрямую, по известному имени удалённого компьютера.

Внимание!!! Системным администраторам не следует без особой необходимости передавать роль эмулятора PDC (равно как и остальные 4 роли: хозяин схемы, хозяин операций, RID-master и хозяин инфраструктуры) при временном выведении держателя любой из этих ролей. Дело в том, что при захвате этих ролей при помощи утилиты ntdsutil контроллер, который раньше держал любую из этих ролей больше в домен возвращать нельзя, пока с него не будет полностью удалена база Active Directory. Поэтому принудительный захват этих ролей следует проивзодить лишь при полной уверенности, что контроллер, несущий эти роли восстановить не удастся стандартными методами, а только, как минимум полным удалением базы Active Directory или полной переинсталляцией системы. Поэтому, если временно выведен из строя эмулятор PDC не передавайте эту роль другим контроллерам.


Share this article:

Comments:

Майк

Спасибо! Информация представлена виртуозно! Пол дня читал форумы - заболела голова)). Тут же разом нашел все, что интересовало. А главное попробовал на практике - работает! Очень признателен.

Comments are closed.