Översikt över sammankoppling av paket
Vissa IP-version 4-nätverksprotokoll (IPv4) och IP version 6 (IPv6) omfattar överföring av paket till broadcast- eller multicast-adresser. Dessa paket tas emot av flera värdar i undernätet IPv4/IPv6. I de flesta fall gör värden som tar emot dessa paket ingenting med dem. Därför leder mottagningen av dessa oönskade multicast- eller broadcast-paket till att onödig bearbetning och strömförbrukning sker inom den mottagande värden.
Värd A skickar till exempel en begäran om link-local multicast name resolution (LLMNR) på ett IPv6-undernät för att lösa värd B:s namn. Förutom värd A tas den här LLMNR-begäran emot av alla värdar i undernätet. Förutom värd B inspekterar TCP/IP-protokollstacken som körs på de andra värdarna paketet och fastställer att paketet inte är avsett för det. Därför avvisar protokollstacken paketet och anropar NdisReturnNetBufferLists för att returnera paketet till miniportdrivrutinen.
Från och med NDIS 6.30 kan nätverkskort stödja sammankoppling av NDIS-paket. Genom att minska antalet mottagningsavbrott genom sammankoppling av slumpmässiga sändnings- eller multicast-paket minskas bearbetningskostnaderna och energiförbrukningen avsevärt i systemet.
Paketkolescering omfattar följande steg:
Överliggande drivrutiner, till exempel TCP/IP-protokollstacken, definierar NDIS-mottagningsfilter som används för att skärma sändnings- och multicast-paket. De överliggande drivrutinerna laddar ned dessa filter till den underliggande miniportdrivrutinen som stöder sammankoppling av paket. När den har laddats ned konfigurerar miniportdrivrutinen nätverkskortet med paketens sammanslutande mottagarfilter.
Mer information om dessa filter hittar du under Packet Coalescing Receive Filters.
Mottagna paket som matchar mottagningsfilter cachelagras eller kombineraspå nätverkskortet. Adaptern genererar inte ett mottagningsavbrott för sammansejsade paket. I stället avbryter adaptern värden när en annan händelse inom maskinvaran inträffar.
När det här avbrottet genereras måste adaptern ange en mottagningshändelse med avbrottet. På så sätt kan nätverkskortet bearbeta sammansejsade paket som togs emot av nätverkskortet.
Nätverkskortet som har stöd för paketkoppling kan till exempel generera ett mottagningsavbrott när någon av följande händelser inträffar:
Förfallodatumet för en maskinvarutimer vars förfallotid är inställd på ett maximalt sammansänkt fördröjningsvärde för det matchande mottagarfiltret.
Det tillgängliga utrymmet i sammanslagningsbufferten för maskinvaran når ett av adaptern specificerat lågvattenmärke.
Ett paket tas emot som inte matchar ett sammanfogande filter.
En annan avbrottshändelse, till exempel en sändningssluthändelse, har inträffat.
Mer information om den här processen finns i Hantering av paketformasammanslagningsmottagningsfilter.
Följande punkter gäller för stöd för paketkoppling från NDIS:
NDIS stöder paketkoppling för paket som tas emot på standardporten för NDIS (port 0) som tilldelats det fysiska nätverkskortet. NDIS stöder inte paketkoppling på NDIS-portar som har tilldelats till virtuella nätverkskort. Mer information finns i Översikt över NDIS-portar.
NDIS stöder paketkoppling för paket som tas emot i standardkön för nätverkskortet. Den här mottagningskön har en identifierare för NDIS_DEFAULT_RECEIVE_QUEUE_ID.