Browsen im Windows Netzwerk

Wenn Sie die Netzwerkumgebung öffnen, dann sehen sie alle Rechner und ihre öffentlichen Freigaben übersichtlich in einem Fenster angeordnet. Laut der Beschreibung von Microsoft zeigt die Netzwerkumgebung alle Server innerhalb eines Netzwerks, mit Microsoft-Systemen.

Manchmal sehen Sie auch noch einige Netware-Server, aber deren Vorgehensweise zur Ressourcenverwaltung unterscheidet sich doch deutlich von der von Microsoft.

Zusätzlich können auch noch Rechner mit den Betriebssystemen OS/2 und Linux auftauchen. Diese haben dann Zusatzpakete installiert, die ihnen die Teilnahme am Browserdienstes ermöglichen.

Zugriff auf Server

Prinzipiell können Sie auf einen NT-Server auch direkt mit Hilfe des UNC-Namens (UNC steht hier für Universal Naming Convention ) zugreifen.  Dazu benutzt man den im Netzwerk eindeutigen Namen des Servers mit zwei vorgestellten Backslashes, gefolgt von einem weiteren Backslash und dem Ressourcenname, also zum Beispiel:

\\lfl52s01\public

Wenn der Server und der Ressourcenname bekannt sind, dann sollte man diese Methode wählen. Wenn Sie zum Beispiel im Startmenu unter ausführen einfach den UNC-Namen der gesuchtren Ressource eingeben, dann öffnet sich ein entsprechender Ordner auf dem Desktop.

Wenn der Name allerdings nicht bekannt ist, dann hilft nur die Suche im Netzwerk.

Serverdienst

Alle Rechner auf denen Windows als Betriebssystem läuft und der Serverdiesnts gestartet ist, machen sich über den Browserdient im Netzwerk bekannt. Das gilt für

  • alle NT Server
  • alle NT-Workstation
  • alle Window9x und WfW-Rechner, bei denen die Datei und Druckfreigabe aktiviert ist
  • alle UNIX-Derivate mit installierten und aktiven Samba-Dämonen

Dabei ist es egal ob wirklich Ressourcen freigegeben sind. Wichtig istdas der Serverdienst gestartet ist.

Rechner auf denen kein Serverdienst gestartet ist, verwenden den Browserdienst ausschließlich als Client.

LAN-Manager

Vor langer Zeit, also bevor es MS Windows NT gab, existierte ein Dienst namens LAN-Manager, der einen ähnlichen Dienst wie das heutige Microsoft-Netzwerk zur Verfügung stellte.

Damals versandte jeder LAN-Manager-Server in regelmäßigen Abständen Meldungen, mit denen er bekannt gab, das er noch existierte. Alle Clients im Netz nahmen diese Meldungen auf und und bauten mit ihrer Hilfe eine Liste der verfügbaren Server auf. Meldete sich ein Server eine bestimmte Zeit nicht mehr, so wurde er aus der Liste gelöscht.

Das hatte natürlich ein paar Nachteile

  1. Die Meldungen wurden in kurzen Abständen verteilt und erzeugten so eine gewisse Grundlast im Netz. Zusätzlich war jeder Client für die Verarbeitung der Liste selbst verantwortlich, was natürlich Speicher und Rechenzeit kostete.
  2. Da es sich um Broadcasts handelte, wurden die Meldungen natürlich von Routern nicht weitergeleitet, so dass die Listen nur die verfügbaren Dienste in einem Subnetz enthielten.

Um diese Schwächen zu beseitigen, führte Microsoft mit Windows for Workgroups einen neuen Dienst ein, den Browserdienst ( oder auch Computersuchdienst ). Wie beim LAN-Manager handelt es sich um einen einfachen Auflistungsdienst für Server und Ressourcen im Netz, mit zwei Änderungen.

  • Die zeitlichen Abstände zwischen den Meldungen wurden vergrößert
  • nicht mehr jeder Client baut seine Liste auf, sondern dies wird einem zentralen Browserdienst überlassen.

Startet ein Client, so fordert er die aktuelle Browserliste an, die die gerade aktiven Server enthält.

Das neue Verfahren hat aber immer noch den Nachteil, dass die Server ihre Ankündigungen als Broadcasts versenden, so das Ressourcen immer noch nicht über Subnetzgrenzen hinweg sichtbar sind.

Die größere Intervalldauer hat noch den zusätzlichen Nachteil, das die Browserliste nicht immer auf dem aktuellen Stand ist. Wenn ein Server nicht ordnungsgemäß heruntergefahren wurde, so kann er noch in der Browserliste auftauchen, obwohl er nicht mehr zur Verfügung steht.

Damit jeder Client unabhängig vom Transportprotokoll am Browserdienst teilnehmen kann, ist der Browserdienst für jedes verwendete Transportprotokoll unabhängig implementiert. Das heißt natürlich auch, das für jedes verwendete Transportprotokoll eine eigener Browserdienst gestartet wird, was bei mehreren installierten Protokollen auch zu einer entsprechenden Mehrbelastung des Netzes führt.

Browserdienst

Alle Rechner die den Browserdienst ausführen beteiligen sich an der Erstellung, Aktualisierung und Verteilung der Browserliste. Der größte Teil der Rechner im Netzwerk, die Clients unterhält allerdings keine eigene Liste der Netzwerkserver.

Diejenigen Rechner die den Browserdienst installiert und aktiviert haben, sind Browser-Server und werden in drei Gruppen eingeteilt:

  1. Master Browser
  2. Backup Browser
  3. Domain Master Browser

Der Master Browser sammelt und veraltet die als zentrale Stelle die innerhalb einer Domain die Browserliste der verfügbaren Netzwerkdienste. Dazu melden sich alle Server mit HostAnnouncement beim Master Browser an. Nach dem Start des Servers wiederholt er diese Announcements anfangs im Minutentakt, später im im Abstand von 12 Minuten.

Mit Hilfe dieser Serverankündigungen baut der Master Browser die Browserliste auf. Die Aufgabe des Masterbrowsers wird normalerweise vom Primary Domain Controller übernommen.

Wahlen zum Master Browser

Innerhalb eines Netzwerkes muss zumindest ein Rechner als Master Browser fungieren. Welche Rolle ein Rechner im Browserdienst einnimmt ist zuerst einmal durch einige Registry-Einträge unter

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Browser\Parameters

definiert. Steht hier

MaintainServerList = Yes

oder

MaintainServerList = Auto

so ist der Computer als potentiellert Browser konfiguriert.

Ob der Rechner sich bereit erklärt zum Master Browser zu werden, hängt von einem weiteren Registry-Key ab. Steht

IsDomainMasterBrowser = yes

so wird der Rechner bevorzugt zum Master Browser. Die Wahl zum Domain Master Browser erzwingt der Election-Process. Startet ein ein als bevorzugter Master Browser konfigurierter Rechner, so findet ein neuer Election-Process statt. Findet ein als potentieller Browser konfigurierter Rechner keinen Master Browser, so löst er ebenfalls ein Wahl aus. Das geschieht indem ein Election-Paket als Bradcast ins Netz gesendet wird.

Wer diese Wahl gewinnt hängt von mehreren Wahlkriterien ab. Jeder als potentieller Browser oder Master Browser konfigurierte prüft das Eelection-Paket und die darin enthaltenen Kriterien gegen seine eigenen Wahlkriterien.

Dabei spielt als erstes das Betriebssystem eine Rolle. NT-Server kommt vor NT-Workstation, gefolgt von Windows9x und WfW.   Sidn mehrere gleichberechtigte Betriebssystem im Netz dann ist die Version des Systems das nächste Kriterium. NT-Server 4 kommt vor NT-Server 3.5. Gibt es auch davon mehrere, wird als nächstes die Funktion betrachtet. Hier kommt ein Primary Domain Controller vor einem Backup Domain Controller. Lassen diese Kriterien immer noch keine Entscheidung zu wird als nächstes die Uptime betrachtet. Rechner die schon länger aktiv sind bekommen Vorrang. Ist auch auf diese Art keine Entscheidung möglich, so werden die eindeutigen Rechnernamen in alphabetischer Reihenfolge als Kriterium benutzt.

Nach erfolgter Wahl sendet der Master Browser ein sogenanntes Request Announcement Paket aus, mit dem er alle Stationen aufforder sich innerhalb der nächsten 30 Sekunden bei ihm zu melden.

Die Einteilung zum Backup Browser erfolgt in Abhängigkeit von der Anzahl der Clients. Dabei gelten die folgenden Regeln:

Anzahl Clients Backup-Browser Master Browser
1 0 1
2-31 1 1
32-63 2 1
64-95 3 1

Die bevorzugten Browser-Server fordern beim Master Browser eine Browser-Liste an. Sind schon mehr Backup Browser als notwendig vorhanden, so findet auch unter diesen eine Wahl statt. 

Client-Zugriffe

Nachdem sich ein Benutzer am Netzwerk angemeldet hat, erfolgt normalerweise ein Zugriff auf eine Netzwerkressource. Dafür benötigt der Client eine Browserliste. Diese kann er von einem Backup Browser beziehen. Dafür muss er zuerst wissen wer Backup Browser ist. Die Liste der Backup Browser bekommt er er als Antwort auf die Aussendung ein GetBackupListRequest-Paketes, einem Broadcastpacket, das den Namen der Domain oder Arbeitsgruppe enthält. Bleibt diese Antwort aus, so erzwingt der Client eine Neuwahl.

Mit Hilfe der Liste der Backup Browser ist der Client nun in der Lage eine Browserliste anzufordern. Sind mehrere Backup Browser verfügbar, so merkt sich der Client die ersten drei. 

Will der Anwender auf einen der angezeigten Server zugreifen löst er durch Doppelklick  die Aussendung eines GetShareListPaketes aus. Der Client erhält darauf vom Backup Browser eine Liste aller freigegebenen Ressourcen des Servers.

Browsen über Netzwerkgrenzen

Die meisten Pakete beim Browserdienst sind Broadcast-Pakete und werden deshalb nicht geroutet. Das heißt, das ein  in IP-Subnetze gegliedertes Netz sich für den Browserdienst zwangsläufig in mehrere unabhängige Teilbereiche gliedert, in denen jeweils ein völlig eigenständiger Browserdienst entsteht.

Um trotzdem über die Grenzen von IP-Subnetzen browsen zu können, hat Microsoft den Domain Master Browser vorgesehen, der für das Zusammenführen aller Serverankündigungen zuständig ist. Diese Aufgabe kann nur der PDC wahrnehmen.

Jeder Master Browser sendet, adressiert über den NetBIOS-Namen, ein MaterDomainAnnouncement-Paket an den Domain Master Browser. Die Master Browser machen sich damit einerseits beim PDC bekannt, und fordern ihn andererseits auf eine Browserliste der gesamten Domain zurückzuschicken.

Der PDC ergänzt nun zuerst seine eigene Browserliste mit den von den BDC erhaltenen Lsiten und schickt die Gesamtliste zurück an die Backup Browser. Das wiederholt sich alle 15 Minuten.

Damit die entsprechenden NetBIOS-Pakete ihren Adressaten auch erreichen bedient sich Windows NT dabei eines Verfahrens, das NetBIOS über TCP/IP heisst. Das heißt es muss zuerst die TCP-IP-Adresse des Adressaten anhand des NetBIOS-Namens ermittelt werden. Dies ist entweder über einen WINS-Server möglich oder mittels der Datei LMHOSTS.