Was ist ein Schnittstellentreiber?
Ein Schnittstellentreiber ist ein kleines Computerprogramm oder eine Reihe von Programmen, die als Verbindung zwischen Computersoftware und der Hardware einer Netzwerkschnittstellenkarte (NIC) fungieren. Hersteller und Programmierer von Netzwerkkarten verwenden eine spezielle Anwendungsprogrammierschnittstelle (API), die als NDIS (Network Driver Interface Specification) bezeichnet wird. Es enthält alle Regeln, die ein Computerprogramm, z. B. ein Betriebssystem, zur Interaktion mit einer Netzwerkkarte benötigt. Tatsächlich gibt es verschiedene Arten von Schnittstellentreibern, die im NDIS beschrieben werden. Die Hauptaufgabe von NDIS besteht jedoch darin, ein paar Schichten des OSI-Modells (Open Systems Interconnection) zur Zusammenarbeit miteinander zu bewegen.
Das OSI-Modell besteht aus sieben Schichten, von denen einige mehrere Unterschichten aufweisen. Die erste Schicht ist die physische Schicht, die die physischen Spezifikationen für eine Netzwerkkarte behandelt, z. B. einen USB-Dongle (Universal Serial Bus), eine Ethernet-Karte, eine WLAN-Adapterkarte usw. In der zweiten und dritten Ebene des OSI-Modells findet die ganze NDIS-Magie statt. Die zweite Schicht ist die Datenverbindungsschicht und besteht aus zwei Unterschichten, von denen die obere als logische Verbindungssteuerung (LLC) und die untere als Medienzugriffssteuerung (MAC) bezeichnet wird. Ein Gerätetreiber verwaltet die MAC-Unterschicht, während der Schnittstellentreiber die LLC-Unterschicht verwaltet und eine Schnittstelle zwischen dieser und der dritten Schicht des OSI-Modells, der Netzwerkschicht, bereitstellt.
Als Vermittler übernimmt ein NDIS im Wesentlichen die gesamte verwirrende Komplexität der Hardware einer Netzwerkkarte und bietet eine Reihe von Funktionen für die Interaktion mit den für die Kommunikation erforderlichen Netzwerkprotokollen. Ein Programmierer muss lediglich die im NDIS festgelegten Regeln befolgen, um die tatsächlichen Schnittstellentreiber zu erstellen. Auf der unteren Hardwareebene werden diese Treiber als Miniport-Treiber bezeichnet, während die Treiber der oberen Ebene mit der NDIS-API geschrieben werden, um Kernnetzwerkprotokolle wie das Internetprotokoll (IP), die Internetprotokollsicherheit (IPsec) und das Internet Control Message Protocol zu verarbeiten (ICMP) und Internetwork Packet Exchange (IPX).
Wenn die Netzwerkkommunikation über eine Netzwerkkarte erfolgt, werden die Datenbits zuerst vom physischen Gerät empfangen, und dann werden die Daten über die Architektur des OSI-Modells von der Hardware auf die verschiedenen Schichten des OSI-Modells verschoben, bis sie in einem besseren Format dargestellt werden für den Benutzer leicht verständlich. Somit stellt jede Ebene des Modells Dienste für ihre Nachbarn bereit. Die Daten verlassen die erste Schicht, die physikalische Schicht, und treffen auf den MAC der unteren Unterschicht in der zweiten Schicht, wo sie der Gerätetreiber an die LLC weiterleitet. Die Protokolltreiber der LLC verschieben sie dann auf die Netzwerkebene.
Eine andere Art von Schnittstellentreiber ist der Zwischentreiber, der als eine Art Gehäuse fungiert und Schnittstellen für Miniport- und Netzwerkprotokolltreiber enthält. Diese Zwischentreiber können dann miteinander verkettet werden und ermöglichen es dem Schnittstellentreiber, den vom NIC empfangenen Datenverkehr zu steuern. Zwischentreiber sind für verschiedene Anforderungen nützlich, z. B. zum Filtern von Daten, zum Lastenausgleich, zum Überwachen des Netzwerkverkehrs und zum Sammeln statistischer Informationen. Sie eignen sich auch gut als Übersetzer zwischen älteren Transportfahrern und einem Miniport-Fahrer, der mit einem Medienformat kommuniziert, das der ältere Fahrer nicht verstehen kann.
Das NDIS wurde ursprünglich von Microsoft® in Zusammenarbeit mit 3Com® entwickelt, sodass viele Hardwarehersteller ihre Treiber so schreiben, dass sie zuerst Microsoft®-Betriebssysteme unterstützen. Daher ist NDIS auf Computerhardwarearchitekturen beschränkt, die auf der Intel® 80386-Familie von 32-Bit- oder 64-Bit-Prozessoren basieren. Die freie Softwarebewegung hat auch ein Programm namens NDISWrapper entwickelt, mit dem Schnittstellentreiber geladen werden können, die ursprünglich für Microsoft® Windows® zur Verwendung mit kostenlosen Unix®-ähnlichen Betriebssystemen wie Linux® entwickelt wurden. Benutzer der freien Derivate von Berkley Software Distributions (BSD) wie FreeBSD® und NetBSD® fanden auch die Möglichkeit, Windows®-Schnittstellentreiber mithilfe von Software zu verwenden, die von einem Projekt namens Project Evil entwickelt wurde. Die x86-Hardwarebeschränkungen von NDIS führten zu einem anderen von Apple und Novell® entwickelten Projekt namens Open Data Link Interface (ODI), das weitgehend dieselben Regeln und Funktionen wie NDIS bietet, sich jedoch auf Apple® Macintosh & amp; und Novell NetWare®-Systeme.