Présentation de l’interface du fournisseur NDIS PacketDirect
L’interface de fournisseur PacketDirect (PDPI) étend NDIS avec un modèle d’E/S accéléré, pour les environnements physiques et virtuels, qui peut augmenter le nombre de paquets traités par seconde d’un ordre de grandeur et réduire considérablement la gigue par rapport au chemin d’E/S NDIS traditionnel.
Arrière-plan
Le modèle d’E/S traditionnel dans Windows a été implémenté pour être une plateforme d’E/S générale polyvalente qui était destinée à fonctionner avec plusieurs types de médias avec de nombreuses caractéristiques différentes et où la mise en réseau n’était qu’un aspect du système global. Aujourd’hui, comme la virtualisation réseau est devenue une technologie prédominante dans les centres de données, le modèle d’E/S NDIS traditionnel dans le système d’exploitation Windows Server n’est pas seulement suffisant pour suivre les charges de travail réseau intensives que nous prévoyons de devenir de plus en plus courantes, mais aussi un modèle inapproprié pour dédier des ressources au traitement des E/S réseau. Dans les environnements de centre de données, il n’est pas rare d’implémenter une machine à usage unique dédiée à la mise en réseau effectuant des fonctions généralement réservées aux appliances matérielles. Les exemples de ces appliances réseau incluent les équilibreurs de charge logiciels, les appliances DDoS et les passerelles de transfert. Pour ne rien arranger, il existe des mécanismes sur d’autres systèmes d’exploitation pour accélérer les E/S qui font de ces systèmes d’exploitation alternatifs la plateforme préférée pour créer des applications réseau intensives telles que des appliances virtuelles.
PacketDirect (PD) étend le modèle NDIS actuel avec un chemin d’E/S réseau accéléré qui est optimisé pour les paquets par seconde (pps) compte un ordre de grandeur supérieur à ce qui a été observé avec le modèle d’E/S NDIS traditionnel. Pour ce faire, procédez comme suit :
- Latence réduite
- Cycles/paquets réduits
- Accélération linéaire avec l’utilisation de ressources système supplémentaires
PacketDirect existe côte à côte avec le modèle traditionnel. Le nouveau chemin d’accès pdd peut être utilisé lorsqu’une application le préfère et qu’il existe suffisamment de ressources matérielles pour le prendre en charge. Pd n’est pas destiné à remplacer le modèle d’E/S traditionnel et suppose qu’un client écrivant dans l’interface PD aura des exigences de partitionnement strictes pour les ressources sous-jacentes en fonction de la topologie système. Pd est destiné à être le nouveau chemin de données à grande vitesse qui aidera un système Windows à remplacer les charges de travail pps élevées qui ont été traditionnellement effectuées dans le matériel, ce qui permet aux propriétaires de centre de données d’économiser des millions de coûts d’infrastructure.
PacketDirect Concepts
Pd fonctionne en permettant à un client PD de gérer explicitement le trafic réseau à partir d’une carte réseau . Pd permet au client PD de contrôler les fonctionnalités d’envoi et de réception hautes performances de la carte réseau via l’interface cliente PacketDirect (PDCI). En interne, les fonctions d’envoi/réception PDCI sont mappées directement au PDPI. Les fonctions d’envoi/réception de PD fonctionnent sur les files d’attente PD créées par le client PD sur des cartes réseau compatibles PD. Pd fournit aux clients PD la possibilité de définir des filtres personnalisés pour des types très spécifiques de trafic ou de trafic très générique, en fonction des besoins du client PD. Cela permet au client PD de diriger certains paquets entrants vers ses files d’attente PD. Le traitement des paquets dans le modèle PD a toujours lieu dans un contexte d’exécution détenu (ou contrôlé/coordonné) par le client PD. Le pilote de carte réseau compatible PD est complètement passif, ce qui signifie qu’il ne transfère pas activement les paquets entrants ou les indications d’achèvement des paquets envoyés au client PD dans un contexte d’exécution appartenant au pilote, tel qu’un DPC ou un worker-thread.
Si un client PD ne comprend pas comment traiter un paquet ou reçoit un paquet de contrôle dans l’une de ses files d’attente, comme un ARP, un LLDP ou d’autres paquets de protocole, le client PD peut rediriger le paquet vers le chemin d’E/S actuel pour traitement. Cela permet à PD de continuer à traiter les paquets pour ant le contexte et de ne pas gaspiller des cycles sur le trafic de contrôle.
Important Il peut y avoir un fournisseur PD et un client PD par adaptateur net. Par conséquent, il peut y avoir plusieurs clients PD et fournisseurs PD sur un seul système.
Le client PD contrôle les ressources qui sont allouées à la pdD dans le système. En cas de trafic réseau élevé, le client PD est chargé de réduire sa charge de travail afin que le système d’exploitation puisse être réactif à d’autres charges de travail.
La plateforme PacketDirect implémentée par Windows mappe l’interface cliente à l’interface du fournisseur. La plateforme contrôle la gestion de la mémoire tampon et la possibilité de réinjecter les paquets reçus via PD dans le chemin de réception NDIS actuel. Il gère également l’interaction avec les clients PD pour répondre aux exigences du chemin de contrôle NDIS, telles que la désactivation de la carte réseau, l’accès à une faible consommation d’énergie, l’arrêt du système et la suppression surprise d’une manière qui n’entrave PAS les performances du chemin de données PD.
Interface du fournisseur PacketDirect (PDPI)
Le PDPI permet aux pilotes de carte réseau d’exposer leurs fonctionnalités d’envoi et de réception hautes performances au système d’exploitation Windows. Les fonctions implémentées sont un sous-ensemble de la fonctionnalité MiniPort complète et sont génériques pour toutes les cartes réseau qui implémentent la PD. Pour obtenir de la documentation de référence sur PDPI, consultez Informations de référence sur l’interface de fournisseur PacketDirect (PDPI).
Interface cliente PacketDirect (PDCI)
Le PDCI permet aux services/applications Windows internes (par exemple, équilibreur de charge, NAT, commutateur de machine virtuelle, etc.) d’accélérer leur chemin d’accès aux données en tirant parti du modèle d’E/S PacketDirect via l’utilisation des clients PD. Cette interface est une interface de couche 2, tout comme l’interface d’envoi/réception NDIS actuelle. La main fonctionnalité PDCI fournit (en plus de l’accès PDPI) est l’allocation/gestion de mémoire tampon de paquets PD, un canal principal pour injecter les paquets dans le chemin de réception NDIS normal, la gestion des événements de puissance/PnP NDIS.
Rubriques connexes
Informations de référence sur l’interface de fournisseur PacketDirect (PDPI)