Kaj je gonilnik vmesnika?

Gonilnik vmesnika je majhen računalniški program ali niz programov, ki deluje kot povezava med računalniško programsko opremo in strojno opremo omrežne vmesniške kartice (NIC). Izdelovalci in programerji NIC uporabljajo poseben vmesnik za programiranje aplikacij (API), znan kot specifikacija vmesnika omrežnega gonilnika (NDIS). Določa vsa pravila, potrebna za interakcijo računalniškega programa, kot je operacijski sistem, z NIC. V NDIS je dejansko opisanih več vrst gonilnikov vmesnikov, vendar je v bistvu primarna naloga NDIS pridobiti nekaj slojev modela za medsebojno povezovanje odprtih sistemov (OSI), da sodelujejo drug z drugim.

Model OSI je sestavljen iz sedmih plasti, od katerih imajo nekatere več podsloj. Prva plast je fizična plast, ki obravnava fizične specifikacije za NIC, kot so ključ za univerzalno serijsko vodilo (USB), ethernetna kartica, brezžična adapterska kartica itd. Druga in tretja plast modela OSI sta tam, kjer se zgodi vsa magija NDIS. Druga plast je plast podatkovne povezave in je sestavljena iz dveh podslojev, zgornjega, ki se imenuje nadzor logične povezave (LLC), in spodnjega, imenovanega nadzor dostopa do medijev (MAC). Gonilnik naprave upravlja s podplastjo MAC, gonilnik vmesnika pa s podplastjo LLC, ki zagotavlja vmesnik med njo in tretjo plastjo modela OSI, omrežno plastjo.

NDIS, ki deluje kot posrednik, v bistvu zajame vso zmedeno zapletenost strojne opreme NIC in zagotavlja nabor funkcij za njegovo interakcijo z omrežnimi protokoli, potrebnimi za komunikacijo. Programer mora preprosto upoštevati pravila, določena v NDIS, da ustvari dejanske gonilnike vmesnika. Na nižji ravni strojne opreme so ti gonilniki znani kot gonilniki miniport, medtem ko so gonilniki višje ravni napisani z uporabo API-ja NDIS za obdelavo jedrnih omrežnih protokolov, kot so internetni protokol (IP), varnost internetnega protokola (IPsec), protokol internetnega nadzornega sporočila (ICMP) in internetno izmenjavo paketov (IPX), med drugim.

Ko pride do omrežne komunikacije preko NIC, fizična naprava najprej prejme podatkovne bite, nato pa se prek arhitekture modela OSI podatki premaknejo iz strojne opreme navzgor na različne plasti modela OSI, dokler niso predstavljeni v obliki bolj uporabniku lahko razumljivo. Tako vsak sloj modela zagotavlja storitve za svoje sosede. Podatki zapustijo prvi sloj, fizični sloj, in zadenejo MAC spodnje podplasti v drugem sloju, kjer jih gonilnik naprave posreduje LLC. Gonilniki protokola LLC ga nato premaknejo na omrežno plast.

Druga vrsta gonilnika vmesnika je vmesni gonilnik, ki deluje kot ohišje, ki vsebuje vmesnike za gonilnike miniport in gonilnike omrežnih protokolov. Te vmesne gonilnike je mogoče nato povezati skupaj in omogočiti vmesniškemu gonilniku, da nadzoruje promet, ki ga sprejema NIC. Vmesni gonilniki so uporabni za različne potrebe, kot so filtriranje podatkov, uravnoteženje obremenitve, spremljanje omrežnega prometa in zbiranje statističnih informacij. Dobro delujejo tudi kot prevajalec med starejšimi vozniki prevoznikov in voznikom miniporta, ki se pogovarja z medijskim formatom, ki ga starejši voznik ne razume.
NDIS je prvotno zasnoval Microsoft® v sodelovanju s 3Com®, zato mnogi izdelovalci strojne opreme najprej napišejo svoje gonilnike za podporo operacijskim sistemom Microsoft®. Posledično je NDIS omejen na arhitekture računalniške strojne opreme, ki temeljijo na družini 80386-bitnih ali 32-bitnih procesorjev Intel® 64. Gibanje proste programske opreme je razvilo tudi program, imenovan NDISWrapper, ki je sposoben naložiti gonilnike vmesnikov, ki so bili prvotno razviti za Microsoft® Windows® za uporabo z brezplačnimi operacijskimi sistemi, podobnimi Unixu, kot je Linux®. Uporabniki brezplačnih izpeljank Berkley Software Distributions (BSD), kot sta FreeBSD® in NetBSD®, so odkrili tudi možnost uporabe gonilnikov vmesnika Windows® z uporabo programske opreme, ki jo je razvil projekt, znan kot Project Evil. Omejitve strojne opreme x86 NDIS so privedle do drugega projekta, ki sta ga razvila Apple in Novell®, imenovan vmesnik odprte podatkovne povezave (ODI), ki je zagotavljal večino enakih pravil in funkcionalnosti kot NDIS, vendar s poudarkom na Apple® Macintosh&; in sistemi Novell NetWare®.