The Cable Guy - Juli 2006

Das Network Diagnostics Framework von Windows Vista

Veröffentlicht: 30. Jun 2006
cable_guy

Von The Cable Guy

Alle auf Deutsch verfügbaren Cable Guy-Kolumnen finden Sie unter http://www.microsoft.com/germany/technet/community/columns/cableguy/cgarch.mspx.

Das Network Diagnostics Framework von Microsoft® Windows Vista™ besteht aus einer Infrastruktur und erweiterbaren Standardkomponenten, die versuchen, eine automatische Diagnose der Netzwerkonnektivität durchzuführen und Verbindungsprobleme zu beseitigen.

Auf dieser Seite
EinführungEinführung
Die NDF-ArchitekturDie NDF-Architektur
Ein Beispiel zum NDFEin Beispiel zum NDF
Zusätzliche InformationenZusätzliche Informationen
*

Einführung

Die Netzwerkkonnektivität ist eine Fähigkeit moderner Computer, die als selbstverständlich vorausgesetzt wird. Nur wenige Computerbenutzer verfügen jedoch über ein detailliertes Wissen zur Arbeitsweise von Computernetzen und zur Behebung von diesbezüglichen Problemen. Unglücklicherweise zeigen viele Fehlermeldungen unter Windows oder von Windows-Programmen nur auf, dass ein Problem besteht - nicht jedoch, wo die Ursache für das Problem zu finden ist oder wie es behoben werden kann.

Das Erkennen und Diagnostizieren von Verbindungsproblemen wird außerdem durch die Tatsache erschwert, dass Computernetzwerke mit einer mehrschichtigen Architektur arbeiten, die sich aus vielen Protokollen und Diensten zusammensetzt. Eine solche mehrschichtige Architektur sind zum Beispiel das OSI-Modell (Open Systems Interconnection) mit sieben Schichten oder die TCP/IP-Protokollfamilie (Transmission Control Protocol/Internet Protocol) mit vier Schichten. Komponenten einer Schicht sind im Normalfall von der korrekten Funktionsweise untergeordneter Schichten abhängig. Ein Fehler in einer Komponente einer Schicht kann sich auf die Funktionalität aller darüber liegenden Schichten auswirken.

Wenn Komponenten über eigene Diagnosefunktionen verfügen, können diese möglicherweise für die Komponenten selbst korrekt funktionieren. Da sie jedoch nicht mit anderen Komponenten integriert sind, ist eine übergreifende Problemlösung so meist nicht möglich. Oftmals bleibt es dem Benutzer, einem Helpdeskmitarbeiter oder einem Netzwerkverantwortlichen überlassen, die Beziehungen zwischen den einzelnen Komponenten zu erkennen und so den ursprünglichen Verursacher eines Problems zu ermitteln. Diese Aufgabe kann kompliziert und sehr zeitaufwendig sein.

Ein gutes Beispiel für Verbindungsprobleme und diesbezügliche unvollständige Informationen, die schwer zu lösen sind, sind die folgenden Internet Explorer-Fehlermeldungen. Diese werden angezeigt, wenn eine Webseite nicht geladen werden kann.

Die Seite kann nicht angezeigt werden.

Die gewünschte Seite ist zurzeit nicht verfügbar. Möglicherweise sind technische Schwierigkeiten aufgetreten, oder Sie sollten die Browsereinstellungen überprüfen.

Internet Explorer war nicht in der Lage, die über die URL angegebene Webseite zu laden, und gibt dem Benutzer als Fehlermeldung so viele Informationen aus, wie zu diesem Fehler feststellbar sind. Unglücklicherweise kann das Problem die verschiedensten Gründe haben. Es kann am Client liegen, an der Netzwerkinfrastruktur oder am Webserver. Auf dem Client könnten zum Beispiel TCP/IP oder Internet Explorer falsch konfiguriert sein, oder es könnte Probleme mit der Namensauflösung oder mit Sicherheitseinstellungen geben.

Um den Benutzer bei Verbindungsproblemen besser zu unterstützen, stellt Windows Vista daher das Network Diagnostics Framework (NDF) zur Verfügung. Hierbei handelt es sich um Technologien und Informationen, mit denen so genannte "Troubleshooter" (auch als Hilfsklassen oder Helper Classes bezeichnet) bei der Diagnose und bei der möglichst automatischen Beseitigung von Netzwerkproblemen helfen können. Wenn unter Windows Vista ein Netzwerkproblem auftritt, gibt das NDF dem Benutzer die Möglichkeit, das Problem in dessen Kontext zu ermitteln und zu beheben. Das bedeutet, dass die zur Diagnose und Behebung erforderlichen Schritte dem Benutzer innerhalb der Anwendung oder dem Dialogfenster angezeigt werden, das er zum Zeitpunkt des Auftretens des Problems verwendet hat.

Wenn der Benutzer versucht, eine Aufgabe auszuführen, die eine Netzwerkverbindung erfordert (zum Beispiel das Browsen im Web oder das Versenden einer Email), dann wird mit dem NDF bei einem Fehler eine Meldung angezeigt, mit der möglicherweise eine Option für eine Problemdiagnose zur Verfügung gestellt wird.

Wenn der Internet Explorer von Windows Vista zum Beispiel eine Webseite nicht anzeigen kann, dann fordert die Fehlermeldung den Benutzer auf, im Menü auf Extras und dann auf Diagnose von Verbindungsproblemen zu klicken. Dieses führt dazu, dass das NDF versucht, das Problem im Internet Explorer-Kontext zu identifizieren und zu lösen.

Während der Diagnose analysiert das NDF, warum die Aufgabe fehlgeschlagen ist, und zeigt eine Lösung oder mögliche Ursachen für das Problem an. Diese Informationen sind so einfach gehalten, dass der Benutzer mit ihnen in der Lage ist, das Problem zu beheben. In der folgenden Abbildung sehen Sie ein Beispiel zu einer entsprechenden Anzeige.

Beispiel für ein NDF-Dialogfenster

Die Problemlösung kann möglicherweise automatisch ausgeführt werden. Es kann jedoch auch sein, dass der Benutzer eine von mehreren möglichen Lösungen auswählen oder bestimmte Schritte selbst durchführen muss. Solche Schritte können zum Beispiel die Änderung von Konfigurationseinstellungen, das Verbinden oder Zurücksetzen von Netzwerkgeräten oder das Kontaktieren eines Helpdeskmitarbeiters sein. In vielen Fällen ist der Benutzer jedoch mit den neuen Möglichkeiten in der Lage, das Problem ohne weitere Hilfe zu lösen.

Die Hauptaufgabe des NDF ist die Diagnose und Behebung von Verbindungsproblemen (inklusive von fehlerhaften Verbindungen). Diese Diagnose und Behebung passt sich hierbei den involvierten Netzwerkkomponenten und den Umständen an - und zwar ohne dass der Computer mit einer unsicheren Konfiguration betrieben wird. Wenn ein Problem nicht diagnostiziert werden kann oder keine Lösung verfügbar ist, dann informiert das NDF den Benutzer darüber, dass er das Problem über die Windows Fehlerberichterstattung an Microsoft weiterleiten soll.

Das NDF basiert auf clientseitigen Technologien und ist möglicherweise nicht in der Lage, serverbasierte Probleme zu erkennen oder eine End-to-End-Diagnose mit Diagnoseservern oder -diensten der Netzwerkinfrastruktur durchzuführen. Das NDF wird jedoch versuchen, das Problem vom Client aus zu analysieren, um so zu erkennen, ob es vom Client oder einem der beteiligen Dienste oder einer Netzwerkkomponente verursacht wird.

Zum SeitenanfangZum Seitenanfang

Die NDF-Architektur

Das NDF ist Teil der Windows Diagnostics Infrastructure (WDI). WDI ist die übergreifende Infrastruktur zur Erstellung von "Troubleshootern" unter Windows Vista. Die folgende Abbildung zeigt die Architektur von WDI und NDF.

Die Architektur von WDI und NDF

Anwendungen können über die Windows Vista-APIs zur Netzwerkdiagnose auf Diagnosefunktionen von Windows Vista zugreifen. Systemkomponenten und -dienste können die APIs oder die WDI Client-API zum Zugriff auf Diagnosefunktionen nutzen. Die WDI Client-API übergibt die Anfrage der Anwendung oder der Systemkomponente an den Windows Diagnostics Policy-Dienst, der sie an installierte Troubleshooter weiterreicht. Im Fall des NDF übergibt der Windows Diagnostics Policy-Dienst die Anfrage an die Network Diagnostics Engine. Diese führt mithilfe installierter "Helper Klassen" von Microsoft oder von Drittanbietern eine Diagnose durch.

Eine "Helper Klasse" kann den Status einer bestimmten Netzwerkschicht oder einer Komponente der Netzwerkfunktionalität bestimmen. Sie integriert sich zusammen mit anderen "Helper Klassen" von anderen Netzwerkkomponenten in das NDF. So ist die "Helper Klasse" in der Lage, innerhalb eines definierten Frameworks die Ursache eines Verbindungsproblems zu erkennen.

Es gibt zum Beispiel eine "Helper Klasse" für WLAN-Verbindungen. Diese "Helper Klasse" integriert sich in das NDF, welches wiederum in WDI integriert ist.

Zum SeitenanfangZum Seitenanfang

Ein Beispiel zum NDF

Im Folgenden sehen Sie ein Beispiel zur Arbeitsweise von NDF mit bestimmten "Helper Klassen":

Eine Anwendung oder Systemkomponente bemerkt ein Problem mit einer TCP-Verbindung und zeigt eine Fehlermeldung an.

Der Benutzer stößt eine Netzwerkdiagnose an, welche die Problemparameter an die Network Diagnostics Engine weiterleitet.

Die Network Diagnostics Engine erstellt ein internes Ursache-und-Effekt-Diagramm auf Basis des gemeldeten Problems und der relevanten "Helper Klassen" und stößt diese "Helper Klassen" von der obersten Netzwerkschicht bis zur untersten nacheinander an, um den Ursprung des Problems zu ermitteln. Dies könnte beispielsweise so aussehen:

Die Network Diagnostics Engine stößt die "Helper Klasse" der WinINet-API an. Diese stellt fest, dass ein Problem besteht, und meldet der Network Diagnostics Engine die entsprechende TCP-Verbindung.

Die Network Diagnostics Engine stößt die "Helper Klasse" für TCP-Verbindungen an. Diese stellt fest, dass ein Problem mit einer IP-Schnittstelle besteht, und übergibt diese an die Network Diagnostics Engine.

Die Network Diagnostics Engine stößt die "Helper Klasse" für IP-Schnittstellen an. Diese stellt fest, dass es sich um ein Problem mit der automatischen Adressenverteilung handelt.

Die Network Diagnostics Engine stößt die "Helper Klasse" für automatische Adressverteilung an. Diese stellt fest, dass ein Problem mit der darunter liegenden NDIS-Schnittstelle besteht (ein NDIS-Miniport-Treiber).

Die Network Diagnostics Engine stößt die "Helper Klasse" für NDIS-Miniports an. Diese stellt fest, dass ein Problem vorliegt, verweist jedoch nicht auf einen anderen möglichen Grund.

Mit diesen Schritten wurden eine oder mehrere mögliche Ursachen für das Problem ermittelt, die sich nicht auf andere Komponenten beziehen. Die Network Diagnostics Engine geht nun davon aus, dass es sich hierbei um die Problemursache handelt.

Die Network Diagnostics Engine zeigt die Ursache des Problems und eine Liste mit allen möglichen Reparaturoptionen an.
Wenn es nur eine mögliche Reparaturoption gibt, kann diese ohne Eingaben des Benutzers von der Network Diagnostics Engine automatisch ausgeführt werden.

Wenn es nur eine Reparaturoption gibt oder der Benutzer eine Option ausgewählt hat, dann fordert die Network Diagnostics Engine die entsprechende "Helper Klasse" zu einer Reparatur auf.
In diesem Beispiel bedeutet das, dass die Network Diagnostics Engine die NDIS-Miniport-"Helper Klasse" auffordert, eine Reparatur durchzuführen und deren Fertigstellung der Network Diagnostics Engine anzuzeigen.

Die Network Diagnostics Engine führt alle Tests noch einmal durch.
Wenn das Problem nicht behoben ist und eine neue Ursache festgestellt wird, beginnt die Network Diagnostics Engine wieder mit Schritt 3.
Wenn das Problem nicht behoben ist und keine neue Ursache festgestellt werden konnte, geht die Network Diagnostics Engine zurück zu Schritt 4.
Wenn das Problem behoben wurde, teilt die Network Diagnostics Engine dem Benutzer mit, dass das Problem behoben wurde.

Zum SeitenanfangZum Seitenanfang

Zusätzliche Informationen

Weitere Informationen zu Netzwerktechnologien unter Windows Vista finden Sie unter:

Windows Vista - Netzwerktechnologien

Die neue Windows-Firewall in Windows Vista und Windows Server 'Longhorn'

Windows Vista Networking (engl.)


Zum SeitenanfangZum Seitenanfang