NDIS - was ist das denn schon wieder für eine Abkürzung?

  • Jeder zweite hat bestimmt schon mal eine Netzwerkkarte in seinen PC eingebaut, um diesen in ein kleines Netzwerk einzubinden. Nach erfolgter Hardwareinstallation kommt die Softwareinstallation. Bei einigen Betriebssystemen kann es vorkommen, dass nach einer Treiberversion des Herstellers verlangt wird, da der NDIS-Treiber nicht gefunden wurde. Aber was ist nun dieses NDIS? NDIS ist die Abkürzung für "Network Driver Interface Specification". Praktisch alle Windows- und OS/2-Systeme benutzen Treiber für Netzwerkkarten, die nach dieser (von Microsoft und 3Com gemeinsam entwickelten) Spezifikation geschrieben sind. Wie andere Standards im Netzwerkbereich soll NDIS das Zusammenspiel einzelner Hard- und Softwarekomponenten verschiedener Hersteller ermöglichen. Den Grundstein bildet das OSI-Referenzmodell der International Standards Organization (ISO), das bereits 1977 entstand. Das OSI-Modell beinhaltet sieben Schichten der Datenkommunikation, die systematisch aufeinander aufbauen. Eine Schicht benutzt dabei nur Dienste des unter ihr liegenden Layers und erweitert die Dienste für die darüber liegenden Schichten durch eigene Funktionen. Die beiden untersten Ebenen in der Hierarchie der sieben Schichten bilden im Wesentlichen die Funktionen der Netzwerktechnologien ab: Schicht 1 - Physical Layer oder Bitübertragungsschicht - ist die einzige Ebene, die direkten Kontakt zum Übertragungsmedium hat. Sie ist für die elektrische, optische und mechanische Anbindung an das Netz zuständig und definiert die physikalische Topologie, also die Struktur des Netzes. Schicht 2 - Data Link Layer oder Sicherungsschicht - ist wiederum in zwei Teile unterteilt, Medium Access Control (MAC) und Logical Link Control (LLC). Sie beschreibt die Übertragung von Bitsequenzen, sogenannten Frames oder Rahmen, sowie das Zugriffsverfahren auf das Netzwerk und die logische Topologie. Die MAC-Schicht legt die Übertragungsart fest. Sie ist von der verwendeten Hardware abhängig und unterscheidet sich grundlegend zwischen den verschiedenen Netzwerktechnologien wie Ethernet und FDDI. Dieser Layer ist verantwortlich für die Medium- und übertragungsspezifische Sicherung der Kommunikation sowie die Zusammenfassung von Bits zu Frames. Die logische Datensicherungsschicht (LLC) übernimmt die Synchronisation, die Fehlererkennung auf Frame-Ebene und gegebenenfalls die Fehlerkorrektur. Vom Geschehen auf den unteren Schichten merkt man als Anwender normalerweise nichts. Denn die auf Data Link und Physical Layer aufbauenden höheren Schichten kommunizieren mit den eigentlichen Anwendungen und verbergen die Funktionen der unteren Ebenen. Über das Ziel, komplexe Vorgänge der Datenübertragung zwischen zwei Rechnern zu beschreiben, gehen allerdings die Normierungsbestrebungen nicht hinaus. Erst in Abhängigkeit vom Betriebssystem bereiten unterschiedliche Treiber dann den Datenstrom für die verwendete Hardware des Netzwerks auf. Um den Entwicklungsaufwand zu verringern, haben die Hersteller der Betriebssysteme modulare Strukturen entwickelt, um den hardwareabhängigen Teil von der für die Datenübertragung notwendigen Software zu trennen. Ein Hersteller von Netzwerkkarten muss in diesem Fall also lediglich den hardwareabhängigen Teil erstellen, und zwar nur einmal pro Adapter und Betriebssystem. Die für die Betriebssysteme entwickelte und verwandte Struktur lehnt sich dabei in den meisten Fällen an das ISO-OSI-Referenzmodell an. Dank festgelegter Schnittstellen zwischen Protokollsoftware und den Netzwerkkartentreibern müssen die Programmierer nicht auf alle Karten-/ Protokollkombinationen eingehen. Ist der Adaptertreiber implementiert, sollte er jedes Protokoll akzeptieren und umgekehrt. Nicht nur die Entwicklung vereinfacht sich dadurch, sondern mehrere Protokolle können auch an dieselbe Netzwerkkarte gebunden werden. Ein Anwender kann also mit einer einzigen Netzwerkkarte beispielsweise gleichzeitig TCP/IP, IPX/SPX und NetBEUI verwenden. Diese Möglichkeit des "Stapelns" führte zu der Bezeichnung Protokollstack. Anfänglich waren monolithische Netzwerktreiber üblich, in denen sowohl die MAC-Treiber wie die Protokolle eingebaut waren. Novell trennte erstmalig den MAC-Teil von den Protokollen durch das ODI-Treiberkonzept (Open Datalink Interface). Microsoft und 3Com zogen dann 1989 mit NDIS als Interface für die Kommunikation zwischen dem zweiten und dritten Layer nach. NDIS definiert auf der einen Seite das Software-Interface, das die Transportprotokolle verwendet, um mit dem Netzwerkadapter zu kommunizieren. Auf der anderen Seite definiert NDIS den Treiber der Netzwerkkarten, die mit den NDIS-konformen Protokollen Daten austauschen können.