Što je upravljački program sučelja?

Upravljački program sučelja je mali računalni program, ili skup programa, koji djeluje kao veza između računalnog softvera i hardvera kartice mrežnog sučelja (NIC). Proizvođači i programeri NIC-a koriste specifično sučelje aplikacijskog programiranja (API) poznato kao specifikacija sučelja mrežnog upravljačkog programa (NDIS). Iznosi sva pravila potrebna da računalni program, kao što je operativni sustav, komunicira s NIC-om. Zapravo postoji nekoliko vrsta drajvera sučelja opisanih pod NDIS-om, ali, u biti, NDIS-ov primarni posao je natjerati nekoliko slojeva modela međusobne veze otvorenih sustava (OSI) da međusobno surađuju.

OSI model se sastoji od sedam slojeva, od kojih neki imaju više podslojeva. Prvi sloj je fizički sloj, koji se bavi fizičkim specifikacijama za NIC kao što je ključ univerzalne serijske sabirnice (USB), Ethernet kartica, bežična adapterska kartica i tako dalje. Drugi i treći sloj OSI modela su mjesto gdje se događa sva NDIS magija. Drugi sloj je sloj podatkovne veze i sastoji se od dva podsloja, gornji se naziva kontrola logičke veze (LLC) i donji pod nazivom kontrola pristupa medijima (MAC). Pogonitelj uređaja upravlja MAC podslojem, dok upravljački program sučelja upravlja podslojem LLC, osiguravajući sučelje između njega i trećeg sloja OSI modela, mrežnog sloja.

Radeći kao posrednik, NDIS u biti pokriva svu zbunjujuću zamršenost hardvera NIC-a i pruža skup funkcija za njegovu interakciju s mrežnim protokolima potrebnim za komunikaciju. Programer jednostavno mora slijediti pravila postavljena u NDIS-u kako bi stvorio stvarne upravljačke programe sučelja. Na nižoj hardverskoj razini, ti su upravljački programi poznati kao upravljački programi miniporta, dok su upravljački programi gornje razine napisani pomoću NDIS API-ja za rukovanje protokolima jezgre mreže kao što su internetski protokol (IP), sigurnost internetskog protokola (IPsec), protokol internetske kontrolne poruke (ICMP) i Internetwork packet exchange (IPX), između ostalih.

Kada se mrežna komunikacija odvija putem NIC-a, bitove podataka prvo prima fizički uređaj, a zatim, kroz arhitekturu OSI modela, podaci se premještaju iz hardvera na različite slojeve OSI modela dok se ne prezentiraju u formatu više lako razumljiv korisniku. Dakle, svaki sloj modela pruža usluge za svoje susjede. Podaci napuštaju prvi sloj, fizički sloj, i pogađaju MAC nižeg podsloja u drugom sloju, gdje ih upravljački program uređaja prosljeđuje LLC-u. Upravljački programi LLC-a zatim ga premještaju na mrežni sloj.

Druga vrsta upravljačkog programa sučelja je srednji upravljački program, koji djeluje kao kućište i sadrži sučelja za upravljačke programe miniporta i upravljačke programe mrežnog protokola. Ovi srednji upravljački programi se zatim mogu povezati zajedno i pružiti mogućnost upravljačkom programu sučelja da kontrolira promet koji prima NIC. Srednji upravljački programi korisni su za različite potrebe, kao što su filtriranje podataka, balansiranje opterećenja, praćenje mrežnog prometa i prikupljanje statističkih informacija. Oni također dobro funkcioniraju kao prevoditelj između starijih vozača prijevoznika i vozača miniporta koji razgovara s medijskim formatom koji stariji vozač ne može razumjeti.
NDIS je izvorno osmislio Microsoft®, radeći u suradnji s 3Com®, tako da mnogi proizvođači hardvera prvo pišu svoje upravljačke programe koji podržavaju Microsoft® operacijske sustave. Kao rezultat toga, NDIS je ograničen na arhitekturu računalnog hardvera temeljenu na obitelji Intel® 80386 32-bitnih ili 64-bitnih procesora. Pokret slobodnog softvera također je razvio program, nazvan NDISWrapper, koji je sposoban učitavati drajvere sučelja izvorno razvijene za Microsoft® Windows® za korištenje sa besplatnim operativnim sustavima sličnim Unixu kao što je Linux®. Korisnici besplatnih izvedenica Berkley Software Distributions (BSD), kao što su FreeBSD® i NetBSD®, također su otkrili mogućnost korištenja Windows® upravljačkih programa sučelja korištenjem softvera koji je razvio projekt poznat kao Project Evil. Hardverska ograničenja x86 NDIS-a dovela su do drugog projekta, koji su razvili Apple i Novell®, nazvanog otvorenog sučelja podatkovne veze (ODI), koji je pružao većinu istih pravila i funkcionalnosti kao NDIS, ali s fokusom na Apple® Macintosh&; i Novell NetWare® sustavi.