Micro$oft NT Network Browsing

Quelle: http://www.microsoft.com/ntserver/commserv/techdetails/prodarch/ntbrowser.asp

Überblick

Die Browser Liste enthält eine Aufzählung aller verfügbaren Server, Workgroups und Domänen. Wenn sich z.B. ein Benutzer über die Netzwerkumgebung mit einer freigegebenen Ressource verbinden will, dann ist die Liste der Server, die er sieht, die Browser Liste.

Das Browser System besteht aus einem Domain Master Browser, Master Browsern, Backup Browsern und Client Computern. Der Domain Master Browser verwaltet die komplette Domain browse list. Die Master Browser befragen in regelmäßigen Abständen den Domain Master Browser, um eine komplette Liste zu erhalten. Diese Liste senden sie dann als Kopie an die Backup Browser weiter. Wenn ein Browser Client Informationen benötigt, erhält er die aktuelle Browser Liste, indem er eine NetServerEnum2-Anforderung entweder zum Master oder zu einem Backup Browser sendet.

Die NetServerEnum2 Antwort enthält Informationen über den Servertyp (SV_TYPE_SERVER). Dadurch können Informationen über bestimmte Servertypen (Workstations, Server, Zeitserver, Domänencontroller usw.) maskiert werden.

Die zentralisierte Browser Architektur reduziert die Anzahl der Broadcast Datagramme im Netzwerk. Außerdem reduziert sie die Anforderungen an CPU und Speicher der Clients.

Wie wird das Browsing von Servern verwaltet?

In einer NT-Domäne ist jeder Windows NT Server ein Browser. Der PDC ist der Domain Master Browser, die anderen Computer (NT Server, NT Workstation, Windows 9x) sind Backup Browser. Wenn es in der Domäne mehr als einen NT Server gibt, sollte eigentlich keine Workstation (NT oder 9x) ein Master Browser sein. In einer Workgroup mit NT Workstation und Win9x Rechnern gibt es immer einen Master Browser. Wenn sich mindestens zwei Computer in der Workgroup befinden, ist einer davon der Backup Browser. Für jeweils 32 Computer in einer Workgroup gibt es einen Backup Browser.

Multiprotokoll

Die Browser Listen arbeiten separat auf jeder Transport-Ebene, d.h. pro Protokoll. d.h. eine NetServerEnum-Anforderung wird für das Protokoll ausgewertet, auf dem sie gesandt wird! Das bedeutet, dass das Browsing auf jedem Transport unterschiedlich aussehen kann!

Master Browser Elections

Jeder Maschine (Win9x, WfW, NT) hat Konfigurationseinstellungen, die festlegen ob sie ein Browser werden kann oder nicht. Unter Windows NT Server bestimmt der MaintainServerList-Eintrag in der Registry seine Browser-Rolle. Standardmäßig sind Server konfiguriert, dass sie möglicherweise Browser werden. D.h. der Browserdienst  startet automatisch und der Server gibt sich selbst im Netzwerk mit dem NetBIOS Name <DOMAIN><1e> bekannt.

Die Wahl (Election) zum Master Browser findet unter folgenden Umständen statt:

   Wenn ein Computer seinen Master Browser beim Starten nicht findet.
   Wenn ein Computer feststellt, dass der Master Browser verschwunden ist.
   

Wenn ein Windows NT Server startet (d.h. ein preferred Master Browser startet)

 

Wenn ein Server eine Browser-Wahl anfordert, schickt er einen Broadcast mit einem election datagram an die anderen Browser. Dieses Datagramm enthält die election-Version des Browsers und die Wahl-Kriterien. Dies und die darauf folgende Kommunikation geht an den NetBIOS Name <DOMAIN><1e>.

Die election-Version ist eine Konstante, die die Version des election-Browsers identifiziert. Wenn diese bei beiden Computern identisch ist, werden folgende Wahl-Kriterien verwendet:

Wahl Kriterium

Wert

Operating system type 0xFF000000
Windows NT Server 0x20000000
Windows NT Workstation 0x10000000

Windows 95

0x01000000

Windows for Workgroups 0x01000000
Election version0x00FFFF00
Per-version criterion 0x000000FF
Primary domain controller 0x00000080

WINS client

0x00000020

Preferred master browser

0x00000008

Running master browser

0x00000004

MaintainServerList or BrowseMaster = yes

0x00000002

Running backup browser

0x00000001

 

Wenn ein Browser ein election-Datagramm erhält, vergleicht er zunächst die election-Version mit seiner eigenen. Wenn er eine höhere Version hat, hat er die Wahl gewonnen, unabhängig von allen anderen Kriterien. So wird zum Beispiel ein NT-Rechner immer die Wahl gegen einen Win95-Rechner gewinnen. Wenn diese Versionen identisch sind, wird folgendermaßen vorgegangen:

  Wenn ein empfangender Browser ein höheres Wahl-Kriterium als der sendende Browser hat, gibt er sein eigenes election-Datagramm aus und tritt in den election in progress-Status ein.
  Wenn der empfangende Browser kein höheres Kriterium hat, versucht er zu bestimmen, wer der neue Master Browser ist.
  Steht es immer noch unentschieden, gewinnt der Browser die Wahl, der am längsten läuft. Sollte dies auch nicht zu einem Ergebnis führen, d.h. alle bisher genannten  Kriterien sind gleich, gewinnt der Browser mit dem "niedrigeren" Name, d.h. ein Server namens "A" gewinnt gegen "B".

Wenn ein Browser ein Datagramm erhält, das anzeigt, dass er gewählt wurde, tritt er in den running election-Status ein. In diesem Zustand, sendet er einen election request nach einer bestimmten Verzögerung (abhängig von seiner Rolle):

<
   200ms bei Master
   400ms bei Backup
   800ms für alle anderen Browser
 
 

Der Browser schickt bis zu vier election-Datagramme. Wenn nach diesen vier Datagrammen kein anderer Browser, der aufgrund seiner Wahlkriterien die Wahl gewinnen könnte, geantwortet hat, wird er zum Master Browser. Wenn er ein Datagramm erhält, das anzeigt, dass ein anderes System der Master Browser wird, macht er sich selber zum Backup Browser.

Die Rolle der Master Browser

Der Master Browser verwaltet die Browse-Liste, d.h. die Liste aller Server in der Domäne oder Workgroup des Master Browsers, außerdem die Liste aller Domänen im Netzwerk.

In Domänen, die sich über mehrere Subnetze oder broadcast collision zones (z.B. V-LANs) erstrecken, verwaltet der Master Browser die Liste dieses Subnetzes. Der Rest der Domäne wird dadurch bekannt, dass domain announcements vom Domain Master Browser gemacht werden.

Die einzelnen Computer geben ihre Anwesenheit bekannt, indem sie ein gerichtetes Datagramm namens server announcement (oder HostAnnouncement) an den Master Browser schicken. Diese Bekanntmachung enthält den NetBIOS Name des Servers <01><02>MSBROWSE<02><01>, <DOMAIN><1d>, oder <DOMAIN><1e>, je nach Typ des Servers. Wenn der Master Browser so eine Bekanntmachung erhält, fügt der den Name zu seiner Liste hinzu.

Wenn ein Computer startet, der so konfiguriert ist, dass er automatisch ein Browser wird (falls benötigt), muss der Master Browser diesem Computer mitteilen, ob er ein Backup-Browser werden soll. Wenn ein Computer der Master Browser wird, und seine Browse-Liste ist leer, kann er von allen Servern fordern, dass sie sich registrieren, indem er einen announce request sendet. Alle Computer, die diesen empfangen, müssen sich innerhalb eines zufälligen Zeitintervalls von 30 Sekunden melden. Dieses zufällige Zeitintervall stellt sicher, dass der Masterbrowser mit antworten nicht überflutet wird.

Die Rolle der Backup Browser

Backup Browser holen sich vom Master Browser alle 15 Minuten die aktuelle Browser Liste (die Computernamen und die Domänenliste enthält). Ein Client der eine NetServerEnum-Anfrage sendet, wird vom Backup Browser bedient. Wenn der Backup Browser den Master Browser nicht finden kann, fordert er eine election an.

Die Rolle des Domain Master Browsers

Der Browser-Dienst auf einem PDC hat die spezielle Aufgabe des "Domain Master Browsers". Der PDC einer Domäne hat ein sehr hohe Gewichtung bei der Browser-Wahl.

Browsing in broadcast collision zones

In TCP/IP-Netzen mit Domänen, die sich über mehrere Subnetze erstrecken, funktioniert das Browsing innerhalb jedes Subnetzes als unabhängige Einheit, mit eigenem Master Browser und Backup Browsern. Die Datagramme mit Namensanfragen sollten auf keinen Fall Router passieren. Wenn die Router falsch konfiguriert sind (sie leiten UDP Ports 137 und 138 Broadcasts weiter), erschienen viele 8003 Fehler im Eventlog. (Beachten Sie dazu die MS-KB-Artikel  Q135464).

Um über ein WAN hinweg zu browsen, muss in jedem Subnetz oder jeder Domäne mindestens ein Browser laufen. Die Master Browser jedes Subnetzes geben sich dem Domain Master Browser als solche bekannt, indem sie ein gerichtetes MasterAnnouncement Datagramm schicken. Der Domain Master Browser schickt dann einem NetServerEnum Aufruf an jeden Master Browser, um die Serverliste von jedem Subnetz zu sammeln. Diese Listen werden mit der eigenen Liste zusammengefügt, um die Browse-Liste der Domäne zusammenzustellen. Dieser Prozess wird alle 15 Minuten wiederholt, um sicherzustellen, dass der Domain Master Browser die komplette Liste aller Server der Domäne hat.

Browser Fehler

Ein stehen gebliebener Server gibt sich selbst nicht mehr bekannt. Wenn der Master Browser diese Bekanntmachung innerhalb drei Abfrageperioden nicht mehr erhält, wird der Server aus der Browserliste entfernt. Da es weitere 15 Minuten dauern kann, bis die Backup Browser die aktualisierte Liste erhalten, kann es bis zu 51 Minuten dauern, bis ein ausgefallener Server aus der Browserliste verschwindet.

Wenn der Master Browser ausfällt, bemerken die Backup Browser diesen Ausfall nach spätestens 15 Minuten. Der erste Backup Browser, der den Ausfall bemerkt fordert eine Wahl an, um einen neuen Master Browser zu wählen. In der Zeitspanne, die benötigt wird, zwischen dem Ausfall des Master Browsers und der Neuwahl, ist es möglich, dass die Domäne aus der Browseliste verschwindet. Wenn in dieser Zeit ein Client eine NetServerEnum-Anforderung an den "ausgefallenen" Master Browser stellt, bemerkt er diesen Ausfall und fordert eine Wahl an.

Wenn der Domain Master Browser ausfällt, sehen die anderen Master Browser nur noch die Server in ihrem Subnetz. Möglicherweise werden alle Server, die sich nicht im Subnetz befinden aus der Browserliste entfernt.

WAN Browsing mit WINS

WINS löst zwei Probleme im WAN: Das Aufbauen einer Domänenliste und die Namensauflösung für Mitglieder der Domäne.

Zusammenfassung wichtiger Kriterien beim Browsing in WINS-Umgebungen:

  Workgroups können sich nicht über mehrere Subnetze erstrecken, da sie keinen Äquivalent zum Domain Master Browser haben.
  Das Aufbauen der Domänenliste benutzt die WINS-Datenbank und die domain\0x1b Namen um den Domain Master Browser zu finden. Die Workgroup-Listen basieren trotzdem darauf, dass sich die Mitglieder periodisch bekanntgeben.
  Die Fähigkeit, eine Workgroup oder Domäne zu durchsuchen, basiert auf der Fähigkeit, den Name des Master Browsers aufzulösen. Wenn WINS-Clients in Workgroups oder Domänen laufen, ist ist dies entsprechend.
  Die Fähigkeit, sich zu Ressourcen einer Workgroup zu verbinden, hängt von der Fähigkeit ab, den Name der Ressource aufzulösen. Auch hier, unterstützen WINS-Clients dies entsprechend. Es ist möglich sich zu einer Ressource zu verbinden, die man nicht browsen kann, und eine Ressource kann in der Browserliste auftauchen, zu der man sich nicht verbinden kann.
Der Browser am Client verbindet sich periodisch mit dem WINS und lernt so alle Systeme mit dem domain\0x1b-Eintrag. Der Browser fügt dann den Name des Domain Master Browsers zu seiner eigenen Domänen und Workgroup-Liste hinzu. Mit einem vorhandenen WINS wird der domain\0x1e-Eintrag ignoriert und als normaler Gruppenname behandelt. Dies zwingt Browser-Wahlen dazu, im Subnetz zu bleiben, statt sich im WAN zu verbreiten. Dadurch wird der Netzwerk-Traffic reduziert und die Fehlertoleranz erhöht. Das selbe gilt für domain\0x1d und <01><02>MSBROWSE<02><01> Gruppennamen. Der eindeutige Eintrag domain\0x1b und die Internetgruppe domain\0x1c werden von WINS verwaltet und bei der Anmeldung und bei NetGetDCName-Anfragen verwendet.

Beispiel, wie das Browsing funktioninert:

Im Bild oben hat die Domäne drei Master Browser PDC-MIS, A-MB1, und C-MB1, die jeweils in einem eigenen Subnetz A, B und C stehen. Zusätzlich ist der PDC-MIS der Domain Master Browser, zu seiner Aufgabe als Master Browser für Subnetz B.

Als Master Browser des jeweiligen Subnetzes führt jeder dieser drei Computer folgende Aufgaben aus, um eine Aktualisierung und Verteilung der MIS-Domänenliste durchzuführen:

  Sie verarbeiten Browser Announcements, das sind Broadcasts von jedem Server in jeweiligen Subnetz.
  Sie replizieren ihre lokalen Subnetz-Browselisten zum Domain Master Browser.
  Sie replizieren ihre aktuelle Browse-Liste zu den Backup Browsern in ihrem jeweiligen Subnetz um Fehlertoleranz und eine Lastenverteilung zu gewährleisten.
  Wenn Clients die Browse-Liste anfordern, liefern die Master Browser dem Client eine Liste der Backup Browser, die sie kontaktieren können, um die Liste zu erhalten.
 


HLM\SYSTEM\CurrentControlSet\Services\Browser\Parameters

MaintainServerListREG_SZ
RangeYes, No, and Auto
DefaultAuto
If this value is No, this server is not a browser.
If this value is Yes, this server becomes a browser. It attempts to contact the master browser to get a current browse list. If it cannot find the master browser, it forces an election and is, of course, a candidate to become the master. In addition, setting MaintainServerList to Yes causes an election to be generated when the browser starts
If the value is Auto, this server becomes a browser if the master browser for the domain considers it appropriate for the server to be a browser.
 
IsDomainMaster REG_SZ
RangeTrue and False
DefaultFalse
This parameter gives the server an advantage during the election of a master browser in the domain. The PDC has this value set to True. For WAN environments, this specifies a workstation within a workgroup, which, as a potential browser, should be included in the global Lmhosts file. This helps with WAN browsing. It has two values:
Setting this parameter to True forces the elevation of a workstation’s priority for the browser.
Setting this parameter to False has no effect.
  
UnboundBindings REG_MULTI_SZ
StringNetBT_<name of network adapter driver to be disabled>
If you have more than two network adapters in the multihomed Windows NT–based server, enter each driver instance that you wish to disable on a separate line in the String field
 
BackupBrowserRecoveryTimeREG_DWORD
Default180000 milliseconds (30 minutes)
When a backup browser fails in three attempts to contact the master browser, the backup browser shuts down for this length of time.
 
CacheHitLimit REG_DWORD
Range0 to 0xFFFFFFFF
Default1
A browser maintains a cache of responses to NetServerEnum requests, and this parameter helps to control that cache. To guarantee that it is worth keeping a response to a client in the cache, the browser waits until it sees CacheHitLimit browse requests of a given type before it adds the request to the cache. Every 15 minutes (or QueryDriverFrequency on a master browser), the browser ages the cache. Any entries in the cache that have had less than CacheHitLimit hits since the previous flush are discarded.
 
CacheResponseSize REG_DWORD
Range10 to 0xFFFFFFFF
Default10
This specifies the maximum number of cached browse responses for each transport that the browser keeps.
 
QueryDriverFrequencyREG_DWORD
Range0 to 900 seconds
Default30
This parameter is only valid on the master browser TCP/IP. When the browser is a master browser, it queries the browser driver every QueryDriverFrequency seconds. This parameter is also used to control how often the response cache is flushed on a master browser. Decreasing this value increases the accuracy of browse responses; however, it increases the CPU load on the server. Increasing this value decrease the load on the server, but also decrease the accuracy of the browse responses.
 


HLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation
\Parameters

OtherDomainsREG_SZ
Default<none>
Each workstation can be configured with up to four OtherDomains. The Domains are LAN Manager–only domains that the workstation is interested in browsing. If any OtherDomains are configured on a domain master browser, the OtherDomains are provided to all members of the domain
 

HLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters
Hidden REG_BINARY
Range0 or 1
Default0
This determines whether the server's computer name and comment can be viewed by other computers in the domain. If the value is configured to 0, the server's name and comment can be viewed by other computers in the domain. If the value is configured to 1, the server's name and comment cannot be viewed by other computers in the domain.
 
LMAnnounceREG_DWORD
Range0 or 1
Default0
This option causes the browser to announce itself with a LAN Manager 2.x–compatible server announcement. By default, this option is configured not to send announcements to LAN Manager 2.x servers. Setting this parameter to 1, True, causes the server to announce itself to LAN Manager workstations. Set this parameter to 0, False, to not generate any LAN Manager broadcasts.
 
SizReqBufREG_DWORD
Range512 - 65536 bytes
Default4096
This specifies the size of request buffers that the server uses. Small buffers use less memory; large buffers may improve performance. The exact value that works best in a specific environment depends on the configuration of that environment, but 14596 is a value that has been shown to work well in a fairly standard Ethernet environment.
For more information, see the following Knowledge Base article: Q177266: Remote Directory Lists Are Slower Than Local Directory Listings
 

HLM\System\CurrentControlSet\Services\RDR\Parameters

Windows NT 3.1 Advanced Server uses the following key:
HLM\System\CurrentControlSet\Services\DGRcvr\Parameters
BrowserServerDeletionThreshold REG_DWORD
Range0 to 0xFFFFFFFF
Default0xFFFFFFFF
This parameter is only valid on master browsers. If the browser driver ages out more than BrowserServerDeletionThreshold servers in a single 30-second interval, the browser generates an event indicating a possible network problem. Its value is the number of servers. The default for this parameter is 0xffffffff, indicating that the event should never be generated.
 
BrowserDomainDeletionThreshold REG_DWORD
Range0 to 0xFFFFFFFF
Default0xFFFFFFFF
This is only valid on master browsers. It controls the number of domains permitted for the browser driver to age out in a 30-second interval, before generating an event indicating a possible network problem. Its value is the number of domains. The default for this parameter is 0xffffffff, indicating that the event should never be generated.
 
FindMasterTimeout REG_DWORD
Range0 to 0xFFFFFFFF
Default0xFFFFFFFF
This specifies the time out for FindMaster requests in seconds. On a slow network, it may be necessary to increase this value.
 
BrowserMinimumConfiguredBrowsers REG_DWORD
Default1
This parameter indicates the number of configured browsers that are considered the minimum before the browser promotes other browsers to be backup browsers.
 
GetBrowserListThreshold REG_DWORD
Range0 to 0xFFFFFFFF
Default0xFFFFFFFF
This represents the threshold that the browser uses before logging an error indicating that too many of these requests have been missed. If more requests than the value of GetBrowserServerList are missed in an hour, the browser logs an event indicating that this has happened.
 
MailslotDatagramThreshold REG_DWORD
Range0 to 0xFFFFFFFF
Default0xFFFFFFFF
This represents the threshold that the browser uses before logging an error indicating that too many of these requests have been missed. If more mailslots than the value of MailslotDatagramThreshold are missed in an hour, the browser logs an event indicating that this has happened.
 

Q188305 Troubleshooting the Microsoft Computer Browser Service

Q191611 Symptoms of Multihomed Browsers

Q221210 Browsing with a Multihomed PDC

Q231312 Computer Name Missing in the Browsing List When Server Comment More Than 48 Characters

Q818092 Description of NetBIOS Browsing Console (Brwocon.exe)

LANsys 29.01.2005