Conditions d’exception qui mettent fin à la fusion
Cette section définit les vérifications qu’un pilote miniport compatible avec la fusion de segments de réception (RSC) doit effectuer sur un segment avant qu’il puisse être coalescisé.
Un segment doit réussir les deux types de vérifications suivants avant de pouvoir être coalescisé :
Vérifie la présence d’une certaine condition dans le segment. Par exemple, la présence d’un indicateur SYN dans l’en-tête TCP déclencherait une exception et le segment ne serait pas fusionné. Ces types de vérifications sont définis ci-dessous.
Vérifications qui dépendent de l’inspection et de la mise en corrélation des informations provenant de segments précédemment coalescés et des segments actuellement examinés. Par exemple, la vérification si le segment reçu est un accusé de réception en double relève de cette catégorie de vérifications. Ces types de vérifications sont définis dans Règles de fusion des segments TCP/IP.
Si une case activée échoue, une exception est déclenchée et le pilote miniport doit arrêter la fusion pour cette connexion TCP et traiter les segments comme suit :
Les segments TCP qui ont été coalescés avant la détection de l’exception doivent être indiqués comme une seule unité.
Les segments TCP qui sont coalescés après la détection de l’exception doivent être indiqués en tant qu’unité distincte.
Note Pour les exceptions 7 et 8 ci-dessous, le pilote miniport doit reprendre la fusion en commençant par le segment qui a déclenché l’exception.
La réception d’un segment qui répond à l’un des critères suivants doit déclencher une exception :
Les contraintes de ressources matérielles dans la carte réseau empêchent la fusion.
Le segment a une somme de contrôle TCP ou IP non valide.
Le segment contient l’un des éléments SYN, URG, RST, FIN dans son en-tête TCP, comme défini dans la section 3.1 de la RFC 793. Plus généralement, si le segment contient un indicateur autre que PSH ou ACK, il doit déclencher une exception. Pour les indicateurs ECN, consultez l’exception 8 ci-dessous.
Le segment contient une ou plusieurs options TCP autres que l’option d’horodatage TCP. Consultez RFC 1323 pour une présentation de l’option d’horodatage TCP.
Le segment contient des options IPv4 ou des en-têtes d’extension IPv6.
Le segment est un fragment IPv4.
La fusion du segment actuellement reçu entraîne le dépassement de la longueur maximale du datagramme IP légal par l’unité unique. Cette exception nécessite une gestion spéciale. Pour plus d'informations, consultez les pages suivantes :
Premier organigramme dans Règles de fusion des paquets TCP/IP
« Réponse aux requêtes pour les statistiques RSC » dans Considérations relatives à la programmation des pilotes RSC.
Le segment contient des indicateurs ECN, tels que définis dans RFC 3168, qui répondent à l’un des critères suivants ou aux deux :
Le segment contient une valeur différente pour le champ ECN (ECT, CE) dans l’en-tête IP que le segment précédent.
Le segment a une valeur différente pour les indicateurs ECN (ECE et CWR) dans l’en-tête TCP par rapport au segment précédent.