Partager via


Réception de données réseau avec le déchargement IPsec version 2

[La fonctionnalité de déchargement de tâche IPsec est déconseillée et ne doit pas être utilisée.]

Une carte réseau effectue un traitement de déchargement IPsec version 2 (IPsecOV2) sur un paquet de réception, comme spécifié dans une association de sécurité (SA) qui a été déchargée du transport.

Le pilote miniport définit les informations OOB (Out-of-Band) IPsecOV2 avant d’indiquer les données reçues sur les pilotes sur-mentant. Pour plus d’informations sur l’accès aux informations OOB, consultez Accès aux informations NET_BUFFER_LIST dans le déchargement IPsec version 2.

Note Un pilote miniport doit indiquer tous les paquets reçus à des pilotes qui se superposent, même si une erreur se produit lors du traitement des données IPsec dans la carte réseau. Le pilote doit indiquer les paquets avec des erreurs pour permettre à la pile de pilotes de surveiller et de dépanner le trafic réseau.

Avant que le pilote miniport n’indique le paquet de données reçu dans la pile des pilotes, le pilote miniport :

  • Vérifie que le matériel est configuré pour gérer les tâches de déchargement IPsec. Si ce n’est pas le cas, le pilote miniport effectue une indication de réception sans traitement de déchargement IPsec supplémentaire.

  • Examine l’index de paramètres de sécurité (SPI) pour déterminer s’il existe une SA déchargée correspondante. Le pilote miniport confirme que l’adresse de destination sur le paquet est identique à celle spécifiée dans la sa déchargée. S’il n’existe aucune SA correspondante, la carte réseau indique les données reçues sans définir les informations OOB IPsecOV2.

  • Vérifie qu’il peut traiter le paquet en fonction des fonctionnalités que le pilote miniport a signalées au transport ou qu’il effectue une indication de réception sans traitement IPsec supplémentaire. Par exemple, le paquet peut avoir des options IP où la carte réseau ne prend pas en charge le traitement de déchargement IPsec pour ces paquets et le pilote miniport effectue le traitement IPsec.

  • Définit l’indicateur CryptoDone dans la structure NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO pour indiquer qu’une carte réseau a effectué une vérification IPsec sur au moins une charge utile IPsec dans le paquet reçu.

  • Définit l’indicateur NextCryptoDone dans la structure NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO pour indiquer qu’une carte réseau a effectué une vérification IPsec sur les parties tunnel et transport d’un paquet de réception. Le pilote miniport définit cet indicateur uniquement si un paquet a à la fois des charges utiles de tunnel et de transport ; sinon, cet indicateur doit être égal à zéro.

  • Définit la valeur CryptoStatus correcte de la structure NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO pour indiquer les résultats des vérifications IPsec.

Si la carte réseau n’a pas effectué de traitement de déchargement sur un paquet entrant, le pilote miniport efface les indicateurs CryptoDone et NextCryptoDone . Le pilote miniport efface ces indicateurs pour tous les paquets de réception où une carte réseau ne se déchiffre pas, que le paquet soit protégé par AH ou ESP.

Un pilote miniport peut définir SaDeleteReq, dans la structure NDIS_IPSEC_OFFLOAD_V2_NET_BUFFER_LIST_INFO d’un NET_BUFFER_LIST de réception. Le transport TCP/IP émet par la suite OID_TCP_TASK_IPSEC_OFFLOAD_V2_DELETE_SA une fois pour supprimer l’accès partagé entrant sur lequel le paquet a été reçu et une fois de plus pour supprimer l’accès partagé sortant qui correspond à la SA entrante supprimée. Pour plus d’informations sur l’ajout et la suppression d’autorités de sécurité, consultez Gestion des associations de sécurité dans le déchargement IPsec version 2.

Une fois que le pilote miniport a indiqué la structure NET_BUFFER_LIST au transport TCP/IP, le transport TCP/IP examine les résultats de la carte IPsec vérifie que la carte réseau a été effectuée sur le paquet, vérifie les numéros de séquence du paquet et détermine ce qu’il faut faire avec un paquet qui échoue aux tests de somme de contrôle ou de séquencement.