Partager via


Vue d’ensemble de la fusion des paquets

Certains protocoles réseau IP version 4 (IPv4) et IP version 6 (IPv6) impliquent la transmission de paquets à des adresses de diffusion ou de multidiffusion. Ces paquets sont reçus par plusieurs hôtes dans le sous-réseau IPv4/IPv6. Dans la plupart des cas, l’hôte qui reçoit ces paquets ne fait rien avec ces paquets. Par conséquent, la réception de ces paquets de multidiffusion ou de diffusion indésirables entraîne un traitement et une consommation d’alimentation inutiles au sein de l’hôte récepteur.

Par exemple, l’hôte A envoie une requête llMNR (Link-Local Multicast Name Resolution) sur un sous-réseau IPv6 pour résoudre le nom de l’hôte B. À l’exception de l’hôte A, cette demande LLMNR est reçue par tous les hôtes sur le sous-réseau. À l’exception de l’hôte B, la pile de protocole TCP/IP qui s’exécute sur les autres hôtes inspecte le paquet et détermine que le paquet n’est pas destiné à celui-ci. Par conséquent, la pile de protocoles rejette le paquet et appelle NdisReturnNetBufferLists pour renvoyer le paquet au pilote miniport.

À compter de NDIS 6.30, les cartes réseau peuvent prendre en charge la fusion des paquets NDIS. En réduisant le nombre d’interruptions de réception par le regroupement de paquets de diffusion aléatoire ou de multidiffusion, la surcharge de traitement et la consommation d’énergie sont considérablement réduites sur le système.

La fusion des paquets implique les étapes suivantes :

  1. Les pilotes supérieurs, tels que la pile de protocoles TCP/IP, définissent les filtres de réception NDIS utilisés pour filtrer les paquets de diffusion et de multidiffusion. Les pilotes superposés téléchargent ces filtres vers le pilote de miniport sous-jacent qui prend en charge la fusion des paquets. Une fois téléchargé, le pilote miniport configure l'adaptateur réseau avec les filtres de réception de coalescence de paquets.

    Pour plus d’informations sur ces filtres, consultez Filtres de réception par coalescence de paquets.

  2. Les paquets reçus qui correspondent aux filtres de réception sont mis en cache, ou regroupés, sur la carte réseau. L’adaptateur ne génère pas d’interruption de réception pour les paquets fusionnés. Au lieu de cela, l’adaptateur interrompt l’hôte lorsqu’un autre événement matériel se produit.

    Lorsque cette interruption est générée, l’adaptateur doit indiquer un événement de réception avec l’interruption. Cela permet à la carte réseau de traiter les paquets fusionnés qui ont été reçus par la carte réseau.

    Par exemple, la carte réseau qui prend en charge la fusion de paquets peut générer une interruption de réception quand l’un des événements suivants se produit :

    • Expiration d’un minuteur matériel dont l’heure d’expiration est définie sur une valeur de délai de fusion maximale du filtre de réception correspondant.

    • L’espace disponible dans la mémoire tampon de fusion matérielle atteint un seuil bas défini par l'adaptateur.

    • Un paquet reçu ne correspond pas à un filtre de coalescence.

    • Un autre événement d’interruption, tel qu’un événement d’achèvement d’envoi, s’est produit.

    Pour plus d'informations sur ce processus, reportez-vous à la section Gestion des filtres de réception à coalescence de paquets.

Les points suivants s’appliquent à la prise en charge de la fusion de paquets par NDIS :

  • NDIS prend en charge la fusion des paquets pour les paquets reçus sur le port NDIS par défaut (port 0) affecté à la carte réseau physique. Le NDIS ne prend pas en charge la fusion des paquets sur les ports NDIS affectés aux adaptateurs réseau virtuels. Pour plus d’informations, consultez Vue d’ensemble des ports NDIS.

  • NDIS prend en charge l'agrégation de paquets pour les paquets reçus sur la file d'attente de réception par défaut de l'adaptateur réseau. Cette file d’attente de réception a un identificateur de NDIS_DEFAULT_RECEIVE_QUEUE_ID.