Vad är en gränssnittsdrivrutin?

En gränssnittsdrivrutin är ett litet datorprogram, eller en uppsättning program, som fungerar som en koppling mellan datorprogramvara och hårdvaran på ett nätverkskort (NIC). NIC-tillverkare och programmerare använder ett specifikt applikationsprogrammeringsgränssnitt (API) som kallas NDIS (Network Driver interface specificification). Den anger alla regler som är nödvändiga för att ett datorprogram, t.ex. ett operativsystem, ska interagera med ett NIC. Det finns faktiskt flera typer av gränssnittsdrivrutiner som beskrivs under NDIS, men i själva verket är NDISs primära jobb att få ett par av de öppna systeminterconnection (OSI) -modellens lager för att samarbeta med varandra.

OSI-modellen består av sju lager, varav vissa har flera underlag. Det första lagret är det fysiska lagret, som handlar om de fysiska specifikationerna för en NIC, till exempel en universell seriell buss (USB) -dongel, ett Ethernet-kort, ett trådlöst adapterkort och så vidare. Det andra och tredje lagret i OSI-modellen är där all NDIS-magi händer. Det andra lagret är datalänksskiktet och består av två underskikt, det övre benämnt logisk länkkontroll (LLC) och det nedre benämnd media access control (MAC). En enhetsdrivrutin hanterar MAC-underskiktet medan gränssnittsdrivrutinen hanterar LLC-underskiktet och ger ett gränssnitt mellan det och det tredje lagret i OSI-modellen, nätverkslagret.

Arbetar som mellanhand, en NDIS samlar väsentligen upp all den förvirrande intrikaciteten hos en NIC: s hårdvara och tillhandahåller en uppsättning funktioner för dess interaktion med nätverksprotokollen som är nödvändiga för kommunikation. En programmerare måste helt enkelt följa reglerna som anges i NDIS för att skapa faktiska gränssnittsdrivrutiner. På den lägre hårdvarunivån är dessa drivrutiner kända som miniportdrivrutiner, medan drivrutinerna på övre nivån skrivs med NDIS API för att hantera kärnverksprotokoll som Internet Protocol (IP), Internet Protocol Security (IPsec), Internet control meddelande protokoll (ICMP) och Internetwork-paketutbyte (IPX), bland andra.

När nätverkskommunikation sker via en NIC, tas databitarna först emot av den fysiska enheten och sedan, genom OSI-modellens arkitektur, flyttas data från hårdvaran upp i olika lager i OSI-modellen tills de presenteras i ett format mer lätt att förstå av användaren. Således tillhandahåller varje lager av modellen tjänster för sina grannar. Uppgifterna lämnar det första lagret, det fysiska lagret, och träffar MAC för det nedre underskiktet i det andra lagret, där enhetsdrivrutinen skickar det till LLC. LLC: s protokolldrivrutiner flyttar det sedan upp till nätverkslagret.

En annan typ av gränssnittsdrivrutin är den mellanliggande drivrutinen, som fungerar som något av ett hus, som innehåller gränssnitt för både miniportdrivrutiner och nätverksprotokolldrivrutiner. Dessa mellanliggande drivrutiner kan sedan kedjas ihop och ge möjligheten för gränssnittsdrivrutinen att kontrollera trafiken som mottas av NIC. Mellan drivrutiner är användbara för olika behov, såsom datafiltrering, lastbalansering, övervakning av nätverkstrafik och insamling av statistisk information. De fungerar också bra som en översättare mellan äldre transportförare och en miniportförare som pratar med ett medieformat som den äldre föraren inte kan förstå.

NDIS utformades ursprungligen av Microsoft® och arbetade tillsammans med 3Com®, så många hårdvaruproducenter skriver sina drivrutiner för att först stödja Microsoft® operativsystem. Som ett resultat är NDIS begränsat till datormaskinvaruarkitekturer baserade på Intel® 80386-familjen för antingen 32-bitars eller 64-bitars processorer. Den fria mjukvarurörelsen har också utvecklat ett program, kallad NDISWrapper, som kan ladda gränssnittsdrivrutiner som ursprungligen utvecklats för Microsoft® Windows® för användning med gratis, Unix®-liknande operativsystem som Linux®. Användare av Berkley Software Distributions (BSD) -fria derivat, som FreeBSD® och NetBSD®, fann också möjligheten att använda Windows®-gränssnittsdrivrutiner genom användning av mjukvara utvecklad av ett projekt som kallas Project Evil. N86-maskinvarubegränsningarna för NDIS ledde till ett annat projekt, utvecklat av Apple och Novell®, kallat det öppna datalänkgränssnittet (ODI), som gav mycket av samma regler och funktionalitet som en NDIS men med fokus på Apple® Macintosh &; och Novell NetWare®-system.

ANDRA SPRÅK

Hjälpte den här artikeln dig? Tack för feedbacken Tack för feedbacken

Hur kan vi hjälpa? Hur kan vi hjälpa?