Partager via


Fractionnement d’images au niveau de la charge utile TCP

Les adaptateurs miniport NDIS qui prennent en charge le fractionnement des données d’en-tête doivent prendre en charge le fractionnement des trames au niveau de l’en-tête de protocole de couche supérieure pour les trames TCP. Toutefois, si l’en-tête TCP ne contient aucune option TCP, la carte réseau doit fractionner l’image au début de la charge utile TCP.

La carte réseau peut ne pas être en mesure de fractionner une trame TCP si la mémoire tampon d’en-tête résultante a une longueur supérieure à la taille maximale de l’en-tête. Pour plus d’informations sur le fractionnement des images lorsque la taille maximale de l’en-tête est dépassée, consultez Allocation de la mémoire tampon d’en-tête.

Les cartes réseau doivent également prendre en charge le fractionnement des en-têtes TCP avec uniquement l’option timestamp. Autrement dit, l’option timestamp est la seule option TCP obligatoire. Sinon, la prise en charge des en-têtes TCP avec des options TCP est facultative. Si l’en-tête TCP d’un frame contient une option TCP non reconnue, la carte réseau doit fractionner l’image au début de l’en-tête TCP (autrement dit, à l’en-tête de protocole de couche supérieure) ou ne pas fractionner le cadre.

Note La prise en charge d’une option IPv4, d’un en-tête d’extension IPv6 ou d’une option TCP, pour les besoins des données d’en-tête, implique la capacité de la carte réseau à reconnaître l’élément, à déterminer sa longueur, à l’inclure dans l’en-tête MDL et à localiser sa fin et le début de l’élément suivant dans le cadre.

Pour plus d’informations sur le fractionnement des trames au début de l’en-tête de protocole de couche supérieure, consultez Fractionnement des images au début des en-têtes de protocole de couche supérieure.

Si le fournisseur de fractionnement des données d’en-tête fractionne l’image au niveau de la charge utile TCP, les structures NET_BUFFER_LIST indiquées doivent avoir les indicateurs NDIS_NBL_FLAGS_IS_TCP et NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD définis dans le membre NblFlags . Pour plus d’informations sur la définition des indicateurs de fractionnement des données d’en-tête NET_BUFFER_LIST, consultez Définition des informations NET_BUFFER_LIST.