Specificația interfeței driverului de rețea - Network Driver Interface Specification
Driverul de rețea Interface Specification ( NDIS ) este o interfață de programare a aplicațiilor (API) pentru controlerele de interfață de rețea (NIC - uri).
Specificație
A fost dezvoltat în comun de Microsoft și 3Com Corporation și este utilizat în principal în Microsoft Windows . Cu toate acestea, proiectele open-source NDISwrapper și Project Evil pentru împachetarea driverelor permit utilizarea mai multor NIC compatibile NDIS cu Linux , FreeBSD și NetBSD . magnussoft ZETA , un derivat al BeOS , acceptă o serie de drivere NDIS.
NDIS formează substratul de control al legăturii logice (LLC), care este substratul superior al stratului de legătură de date OSI (stratul 2). Prin urmare, NDIS acționează ca interfață între substratul de control al accesului media (MAC), care este substratul inferior al stratului de legătură de date și stratul de rețea (stratul 3).
NDIS este o bibliotecă de funcții denumită adesea „ împachetare ” care ascunde complexitatea de bază a hardware-ului NIC și servește ca o interfață standard pentru driverele de protocol de rețea de nivel 3 și driverele MAC de nivel hardware.
Versiunile NDIS acceptate de diferite versiuni Windows sunt după cum urmează:
- NDIS 2.0: MS-DOS , Windows pentru grupurile de lucru 3.1 , OS / 2
- NDIS 3.0: Windows pentru grupuri de lucru 3.11
- NDIS 3.1: Windows 95
- NDIS 4.0: Windows 95 OSR2, NT 4.0 , Windows CE 3.0
- NDIS 4.1: Windows 98
- NDIS 5.0: Windows 98 SE , Me , 2000
- NDIS 5.1: Windows XP , Server 2003 , Windows CE 4.x, 5.0, 6.0
- NDIS 5.2: Windows Server 2003 SP2
- NDIS 6.0: Windows Vista
- NDIS 6.1: Windows Vista SP1, Server 2008 , Windows Embedded Compact 7 , Windows Embedded Compact 2013
- NDIS 6.20: Windows 7 , Server 2008 R2
- NDIS 6.30: Windows 8 , Windows Server 2012
- NDIS 6.40: Windows 8.1 , Windows Server 2012 R2
- NDIS 6.50: Windows 10 , versiunea 1507
- NDIS 6.60: Windows 10, versiunea 1607 și Windows Server 2016
- NDIS 6.70: Windows 10, versiunea 1703
- NDIS 6.80: Windows 10, versiunea 1709
- NDIS 6.81: Windows 10, versiunea 1803
- NDIS 6.82: Windows 10, versiunea 1809 și Windows Server 2019
- NDIS 6.83: Windows 10, versiunea 1903
Traficul acceptat de NIC este controlat de un driver NDIS Miniport, în timp ce diferite protocoale, cum ar fi TCP / IP , sunt implementate de driverele de protocol NDIS. Un singur miniport poate fi asociat cu unul sau mai multe protocoale. Aceasta înseamnă că traficul care intră în miniport poate fi primit în paralel de mai mulți șoferi de protocol. De exemplu, Winpcap adaugă un al doilea driver de protocol pe miniportul selectat pentru a captura pachetele primite. În plus, este posibilă simularea mai multor NIC virtuale prin implementarea driverelor de miniporturi virtuale care trimit și primesc trafic de la o singură NIC fizică. Un exemplu de utilizare a driverului de miniport virtual este adăugarea de NIC-uri virtuale, fiecare cu o rețea LAN virtuală diferită . Deoarece implementările nu pot presupune că alți drivere au primit aceleași buffere, trebuie tratate bufferele primite ca fiind doar în citire și un driver care modifică conținutul pachetului trebuie să aloce propriile buffere.
Driverele NDIS Miniport pot utiliza, de asemenea, interfețe Windows Driver Model pentru a controla hardware-ul de rețea.
Un alt tip de driver este NDIS Intermediate Driver. Driverele intermediare stau între straturile MAC și IP și pot controla tot traficul acceptat de NIC. În practică, driverele intermediare implementează atât interfețe de miniport, cât și de protocol. Driverul miniport și driverul protocolului comunică de fapt cu interfețele miniport și protocol corespunzătoare care se află în driverul intermediar. Acest design permite adăugarea mai multor drivere intermediare înlănțuite între miniport și driverele de protocol. Prin urmare, furnizorii de drivere nu pot presupune că interfața către care trimit trafic este implementată de ultimul driver din lanț. Pentru a scrie aplicații utilizând NDIS, se pot utiliza mostre care însoțesc kitul de driver Windows (WDK) al Microsoft. Eșantionul „PassThru” este un bun punct de plecare pentru driverele intermediare, deoarece implementează toate detaliile necesare cerute în acest tip de driver, dar trece doar traficul către următorul driver din lanț.
Vezi si
- Open Data-Link Interface (ODI)
- Interfață de driver uniformă (UDI)
- Interfață de dispozitiv de rețea universală (UNDI)
- Driver pachet PC / TCP