Co to jest sterownik interfejsu?

Sterownik interfejsu to mały program komputerowy lub zestaw programów, który działa jako łącznik między oprogramowaniem komputerowym a sprzętem karty sieciowej (NIC). Twórcy i programiści kart sieciowych używają określonego interfejsu programowania aplikacji (API) znanego jako specyfikacja interfejsu sterownika sieciowego (NDIS). Określa wszystkie zasady niezbędne dla programu komputerowego, takiego jak system operacyjny, do interakcji z kartą sieciową. W rzeczywistości istnieje kilka typów sterowników interfejsów opisanych w NDIS, ale w istocie głównym zadaniem NDIS jest umożliwienie współpracy kilku warstw modelu połączeń systemów otwartych (OSI).

Model OSI składa się z siedmiu warstw, z których niektóre mają wiele podwarstw. Pierwsza warstwa to warstwa fizyczna, która zajmuje się fizycznymi specyfikacjami karty sieciowej, takimi jak klucz sprzętowy uniwersalnej magistrali szeregowej (USB), karta Ethernet, karta adaptera bezprzewodowego i tak dalej. Na drugiej i trzeciej warstwie modelu OSI dzieje się cała magia NDIS. Druga warstwa to warstwa łącza danych i składa się z dwóch podwarstw, górnej zwanej kontrolą łącza logicznego (LLC) i dolnej zwanej kontrolą dostępu do nośnika (MAC). Sterownik urządzenia obsługuje podwarstwę MAC, podczas gdy sterownik interfejsu obsługuje podwarstwę LLC, zapewniając interfejs między nią a trzecią warstwą modelu OSI, warstwą sieciową.

Działając jako pośrednik, NDIS zasadniczo obejmuje wszystkie zawiłe zawiłości sprzętu karty sieciowej i zapewnia zestaw funkcji do interakcji z protokołami sieciowymi niezbędnymi do komunikacji. Programista musi po prostu przestrzegać zasad określonych w NDIS, aby stworzyć rzeczywiste sterowniki interfejsu. Na niższym poziomie sprzętowym sterowniki te są znane jako sterowniki miniportów, podczas gdy sterowniki wyższego poziomu są napisane przy użyciu interfejsu API NDIS do obsługi podstawowych protokołów sieciowych, takich jak protokół internetowy (IP), zabezpieczenia protokołu internetowego (IPsec), protokół komunikatów kontrolnych Internetu (ICMP) i między innymi wymiana pakietów w sieci (IPX).

Gdy komunikacja sieciowa odbywa się za pośrednictwem karty sieciowej, bity danych są najpierw odbierane przez urządzenie fizyczne, a następnie, za pośrednictwem architektury modelu OSI, dane są przenoszone ze sprzętu do różnych warstw modelu OSI, aż zostaną zaprezentowane w formacie bardziej łatwo zrozumiałe dla użytkownika. W ten sposób każda warstwa modelu świadczy usługi dla swoich sąsiadów. Dane opuszczają pierwszą warstwę, warstwę fizyczną, i trafiają do MAC niższej podwarstwy w drugiej warstwie, gdzie sterownik urządzenia przekazuje je do LLC. Sterowniki protokołu LLC przenoszą go następnie do warstwy sieciowej.

Innym typem sterownika interfejsu jest sterownik pośredni, który działa jak obudowa, zawierająca interfejsy zarówno dla sterowników miniportów, jak i sterowników protokołów sieciowych. Te sterowniki pośrednie można następnie połączyć w łańcuch i zapewnić sterownikowi interfejsu możliwość kontrolowania ruchu odbieranego przez kartę sieciową. Sterowniki pośrednie są przydatne do różnych potrzeb, takich jak filtrowanie danych, równoważenie obciążenia, monitorowanie ruchu sieciowego i zbieranie informacji statystycznych. Działają również dobrze jako tłumacz między starszymi kierowcami transportu a kierowcą miniportu, który rozmawia z formatem mediów, którego starszy kierowca nie może zrozumieć.
NDIS został pierwotnie opracowany przez Microsoft® we współpracy z 3Com®, więc wielu producentów sprzętu najpierw pisze swoje sterowniki obsługujące systemy operacyjne Microsoft®. W rezultacie NDIS jest ograniczony do architektur sprzętu komputerowego opartych na rodzinie procesorów Intel® 80386 32-bitowych lub 64-bitowych. Ruch wolnego oprogramowania opracował również program o nazwie NDISWrapper, który jest w stanie ładować sterowniki interfejsu pierwotnie opracowane dla systemu Microsoft® Windows® do użytku z wolnymi systemami operacyjnymi typu Unix®, takimi jak Linux®. Użytkownicy bezpłatnych pochodnych Berkley Software Distributions (BSD), takich jak FreeBSD® i NetBSD®, również odkryli możliwość korzystania ze sterowników interfejsu Windows® dzięki oprogramowaniu opracowanemu w ramach projektu znanego jako Project Evil. Ograniczenia sprzętowe NDIS dla x86 doprowadziły do ​​innego projektu, opracowanego przez firmy Apple i Novell®, zwanego interfejsem otwartego łącza danych (ODI), który zapewniał w dużej mierze te same zasady i funkcje co NDIS, ale skupiał się na Apple® Macintosh&; oraz systemy Novell NetWare®.