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 version | 0x00FFFF00 |
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
|
---|
MaintainServerList | REG_SZ | Range | Yes, No, and Auto | Default | Auto | 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 | Range | True and False | Default | False | 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 | String | NetBT_<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 | BackupBrowserRecoveryTime | REG_DWORD | Default | 180000 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 | Range | 0 to 0xFFFFFFFF | Default | 1 | 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 | Range | 10 to 0xFFFFFFFF | Default | 10 | This specifies the maximum number of cached browse responses for each transport that the browser keeps. | QueryDriverFrequency | REG_DWORD | Range | 0 to 900 seconds | Default | 30 | 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
|
---|
OtherDomains | REG_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 | Range | 0 or 1 | Default | 0 | 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. | LMAnnounce | REG_DWORD | Range | 0 or 1 | Default | 0 | 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. | SizReqBuf | REG_DWORD | Range | 512 - 65536 bytes | Default | 4096 | 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 | Range | 0 to 0xFFFFFFFF | Default | 0xFFFFFFFF | 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 | Range | 0 to 0xFFFFFFFF | Default | 0xFFFFFFFF | 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 | Range | 0 to 0xFFFFFFFF | Default | 0xFFFFFFFF | 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 | Default | 1 | 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 | Range | 0 to 0xFFFFFFFF | Default | 0xFFFFFFFF | 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 | Range | 0 to 0xFFFFFFFF | Default | 0xFFFFFFFF | 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)
|