Mikä on rajapinnan ohjain?

Liitäntäohjain on pieni tietokoneohjelma tai ohjelmasarja, joka toimii yhteyshenkilönä tietokoneohjelmiston ja verkkokortin (NIC) laitteiston välillä. Verkkokortin valmistajat ja ohjelmoijat käyttävät erityistä sovellusohjelmointirajapintaa (API), joka tunnetaan nimellä verkko -ohjaimen käyttöliittymämääritys (NDIS). Siinä esitetään kaikki säännöt, jotka ovat tarpeen tietokoneohjelman, kuten käyttöjärjestelmän, vuorovaikutukselle verkkokortin kanssa. NDIS: ssä on kuvattu useampia käyttöliittymäohjaimia, mutta pohjimmiltaan NDIS: n ensisijainen tehtävä on saada pari OSI -mallin kerrosta toimimaan keskenään.

OSI-malli koostuu seitsemästä kerroksesta, joista osassa on useita alikerroksia. Ensimmäinen kerros on fyysinen kerros, joka käsittelee verkkokortin fyysisiä spesifikaatioita, kuten yleinen sarjaväylä (USB) -avain, Ethernet -kortti, langaton sovitinkortti ja niin edelleen. OSI -mallin toisessa ja kolmannessa kerroksessa kaikki NDIS -taikuus tapahtuu. Toinen kerros on datalinkkikerros ja koostuu kahdesta alikerroksesta, joista ylempää kutsutaan loogisen linkin ohjaukseksi (LLC) ja alempaa mediakäyttöoikeudeksi (MAC). Laiteohjain käsittelee MAC-alikerrosta, kun taas rajapinnan ohjain käsittelee LLC-alikerrosta ja tarjoaa rajapinnan sen ja OSI-mallin kolmannen kerroksen, verkkokerroksen, välillä.

Välittäjänä toimiva NDIS kiteyttää olennaisesti kaikki verkkokortin laitteiston hämmentävät monimutkaisuudet ja tarjoaa joukon toimintoja sen vuorovaikutukseen kommunikaatioon tarvittavien verkkoprotokollien kanssa. Ohjelmoijan on yksinkertaisesti noudatettava NDIS: n sääntöjä todellisten käyttöliittymäohjainten luomiseksi. Alemmalla laitteistotasolla näitä ohjaimia kutsutaan miniport -ohjaimiksi, kun taas ylemmän tason ohjaimet on kirjoitettu käyttämällä NDIS -sovellusliittymää ydinverkkoprotokollien, kuten Internet -protokollan (IP), Internet -protokollan suojauksen (IPsec), Internet -ohjausviestiprotokollan, käsittelyyn. (ICMP) ja Internetwork -paketinvaihto (IPX).

Kun verkkoviestintä tapahtuu verkkokortin kautta, fyysinen laite vastaanottaa ensin tietobitit ja sitten OSI -mallin arkkitehtuurin kautta tiedot siirretään laitteistosta ylöspäin OSI -mallin eri kerroksiin, kunnes ne esitetään muodossa helposti ymmärrettävissä käyttäjälle. Näin ollen jokainen mallikerros tarjoaa palveluja naapureilleen. Tiedot poistuvat ensimmäisestä kerroksesta, fyysisestä kerroksesta, ja osuvat toisen kerroksen alemman alikerroksen MAC: iin, missä laiteohjain välittää sen LLC: lle. LLC: n protokollaohjaimet siirtävät sen sitten verkkokerrokseen.

Toinen liitäntäohjaintyyppi on väliajuri, joka toimii kuin kotelo, joka sisältää rajapintoja sekä miniporttiohjaimille että verkkoprotokolla -ohjaimille. Nämä väliajurit voidaan sitten ketjuttaa yhteen ja tarjota rajapinnan ohjaimelle mahdollisuus hallita verkkokortin vastaanottamaa liikennettä. Väliajurit ovat hyödyllisiä erilaisiin tarpeisiin, kuten tietojen suodattamiseen, kuormituksen tasaamiseen, verkkoliikenteen seurantaan ja tilastotietojen keräämiseen. Ne toimivat myös hyvin kääntäjänä vanhempien kuljettajien ja miniportin kuljettajan välillä, joka puhuu mediaformaatille, jota vanhempi kuljettaja ei voi ymmärtää.
NDIS: n on alun perin kehittänyt Microsoft®, joka toimii yhdessä 3Com®: n kanssa, joten monet laitteistonvalmistajat kirjoittavat ohjaimet tukemaan ensin Microsoft® -käyttöjärjestelmiä. Tämän seurauksena NDIS rajoittuu tietokonelaitteistoarkkitehtuureihin, jotka perustuvat joko 80386-bittisten tai 32-bittisten suorittimien Intel® 64 -perheeseen. Vapaa ohjelmistoliike on myös kehittänyt NDISWrapper-nimisen ohjelman, joka pystyy lataamaan alun perin Microsoft® Windows® -käyttöjärjestelmään kehitetyt käyttöliittymäohjaimet käytettäväksi ilmaisten Unix®-tyyppisten käyttöjärjestelmien, kuten Linux®, kanssa. Berkley Software Distributions (BSD) -johdannaisten, kuten FreeBSD® ja NetBSD®, käyttäjät löysivät myös mahdollisuuden käyttää Windows® -käyttöliittymäohjaimia käyttämällä Project Evil -nimisen projektin kehittämää ohjelmistoa. NDIS: n x86-laitteistorajoitukset johtivat toiseen Applen ja Novellin® kehittämään hankkeeseen, nimeltään open data-link interface (ODI), joka tarjosi suurelta osin samat säännöt ja toiminnot kuin NDIS, mutta keskittyi Apple® Macintoshiin; ja Novell NetWare® -järjestelmät.