Mis on liidese draiver?

Liidese draiver on väike arvutiprogramm või programmide kogum, mis toimib sidevahendina arvutitarkvara ja võrguliidese kaardi (NIC) riistvara vahel. NIC-i tootjad ja programmeerijad kasutavad spetsiifilist rakendusliidest (API), mida nimetatakse võrgudraiveri liidese spetsifikatsiooniks (NDIS). See sätestab kõik reeglid, mis on vajalikud arvutiprogrammi, näiteks operatsioonisüsteemi jaoks NIC-iga suhtlemiseks. Tegelikult on NDIS-i all kirjeldatud mitut tüüpi liidese draivereid, kuid sisuliselt on NDIS-i peamine ülesanne panna paar avatud süsteemide vastastikuse ühenduse (OSI) mudeli kihti üksteisega koostööd tegema.

OSI mudel koosneb seitsmest kihist, millest mõnel on mitu alamkihti. Esimene kiht on füüsiline kiht, mis käsitleb NIC-i füüsilisi spetsifikatsioone, nagu universaalse jadasiini (USB) dongle, Etherneti kaart, traadita adapterkaart jne. OSI mudeli teine ​​ja kolmas kiht on koht, kus toimub kogu NDIS-i maagia. Teine kiht on andmeside kiht ja koosneb kahest alamkihist, millest ülemist nimetatakse loogilise lingi juhtimiseks (LLC) ja alumist meedia juurdepääsu juhtimiseks (MAC). Seadmedraiver haldab MAC alamkihti, liidese draiver aga LLC alamkihti, pakkudes liidest selle ja OSI mudeli kolmanda kihi, võrgukihi vahel.

Vahendajana töötades koondab NDIS sisuliselt kõik NIC-i riistvara segadusttekitavad keerukused ja pakub funktsioonide komplekti selle suhtlemiseks suhtluseks vajalike võrguprotokollidega. Programmeerija peab lihtsalt järgima NDIS-is sätestatud reegleid, et luua tegelikud liidese draiverid. Madalamal riistvaratasemel on need draiverid tuntud kui minipordi draiverid, samas kui ülemise taseme draiverid on kirjutatud NDIS API abil, et käsitleda põhivõrgu protokolle, nagu Interneti-protokoll (IP), Interneti-protokolli turvalisus (IPsec), Interneti-juhtsõnumiprotokoll. (ICMP) ja Interneti-paketivahetuse (IPX) muu hulgas.

Kui võrgusuhtlus toimub NIC-i kaudu, võtab andmebitid esmalt vastu füüsiline seade ja seejärel liigutatakse OSI mudeli arhitektuuri kaudu andmed riistvarast ülespoole OSI mudeli erinevatest kihtidest, kuni need esitatakse suuremas vormingus. kasutajale kergesti arusaadav. Seega pakub mudeli iga kiht teenuseid oma naabritele. Andmed lahkuvad esimesest kihist, füüsilisest kihist, ja tabavad teise kihi alumise alamkihi MAC-i, kus seadme draiver edastab need LLC-le. Seejärel teisaldavad LLC protokollidraiverid selle võrgukihile.

Teist tüüpi liidese draiverid on vahedraiver, mis toimib korpusena ja sisaldab liideseid nii minipordi draiverite kui ka võrguprotokolli draiverite jaoks. Need vahepealsed draiverid saab seejärel aheldada ja anda liidese draiverile võimaluse juhtida NIC-i vastuvõetavat liiklust. Kesktaseme draiverid on kasulikud erinevate vajaduste jaoks, nagu andmete filtreerimine, koormuse tasakaalustamine, võrguliikluse jälgimine ja statistilise teabe kogumine. Nad töötavad hästi ka vanemate transpordijuhtide ja minipordi draiveri tõlgina, mis räägib meediavormingus, millest vanem juht aru ei saa.
NDIS-i töötas algselt välja Microsoft®, töötades koos 3Com®-iga, nii et paljud riistvaratootjad kirjutavad kõigepealt oma draiverid Microsoft® operatsioonisüsteemide toetamiseks. Selle tulemusena on NDIS piiratud arvutiriistvaraarhitektuuridega, mis põhinevad Intel® 80386 perekonnal, mis koosneb kas 32-bitistest või 64-bitistest protsessoritest. Vaba tarkvara liikumine on välja töötanud ka programmi nimega NDISWrapper, mis on võimeline laadima algselt Microsoft® Windows® jaoks välja töötatud liidese draivereid kasutamiseks tasuta Unix®-i sarnaste operatsioonisüsteemidega, nagu Linux®. Berkley Software Distributionsi (BSD) tasuta tuletisinstrumentide, nagu FreeBSD® ja NetBSD®, kasutajad leidsid ka võimaluse kasutada Windows® liidese draivereid, kasutades Project Evili nime all tuntud projektis välja töötatud tarkvara. NDIS-i x86 riistvarapiirangud viisid teise projektini, mille töötasid välja Apple ja Novell®, mida nimetatakse avatud andmelingi liideseks (ODI), mis pakkus suures osas samu reegleid ja funktsioone kui NDIS, kuid keskendus Apple® Macintoshile&; ja Novell NetWare® süsteemid.