Ausnahmebedingungen, die das Zusammenwachsen beenden
In diesem Abschnitt werden die Überprüfungen definiert, die ein RSC-fähiger Miniporttreiber (Receive Segment Coalescing) für ein Segment ausführen muss, bevor es zusammengeflechtet werden kann.
Ein Segment muss die beiden folgenden Arten von Überprüfungen bestehen, bevor es zusammengeknaust werden kann:
Überprüft, ob eine bestimmte Bedingung im Segment vorhanden ist. Beispielsweise würde das Vorhandensein eines SYN-Flags im TCP-Header eine Ausnahme auslösen, und das Segment wird nicht zusammengefügt. Diese Arten von Überprüfungen sind unten definiert.
Überprüfungen, die von der Überprüfung und Korrelierung von Informationen aus zuvor zusammengeknappten Segmenten und den derzeit untersuchten Segmenten abhängen. Die Überprüfung, ob es sich bei dem empfangenen Segment um eine doppelte Bestätigung handelt, fällt beispielsweise in diese Kategorie von Überprüfungen. Diese Arten von Überprüfungen werden in Regeln für das Zusammenwachsen von TCP/IP-Segmenten definiert.
Wenn eine Überprüfung fehlschlägt, wird eine Ausnahme ausgelöst, und der Miniporttreiber muss die Zusammenführung für diese TCP-Verbindung beenden und Segmente wie folgt behandeln:
TCP-Segmente, die vor der Erkennung der Ausnahme koalesiert wurden, sollten als einzelne Einheit angegeben werden.
TCP-Segmente, die nach der Erkennung der Ausnahme koalesciert werden, sollten als separate Einheit angegeben werden.
Hinweis Für die folgenden Ausnahmen 7 und 8 sollte der Miniporttreiber ab dem Segment, das die Ausnahme ausgelöst hat, die Zusammenführung fortsetzen.
Das Empfangen eines Segments, das eines der folgenden Kriterien erfüllt, muss eine Ausnahme auslösen:
Die Hardwareressourceneinschränkungen in der NIC verhindern das Zusammenwachsen.
Das Segment weist eine ungültige TCP- oder IP-Prüfsumme auf.
Das Segment enthält eine der IN ABSCHNITT 3.1 von RFC 793 definierten SYN, URG, RST, FIN in seinem TCP-Header. Allgemeiner ausgedrückt: Wenn das Segment ein anderes Flag als PSH oder ACK enthält, sollte es eine Ausnahme auslösen. Informationen zu ECN-Flags finden Sie unter Ausnahme 8 weiter unten.
Das Segment enthält eine oder mehrere TCP-Optionen außer der TCP-Zeitstempeloption. Eine Erläuterung der TCP-Zeitstempeloption finden Sie unter RFC 1323 .
Das Segment enthält IPv4-Optionen oder IPv6-Erweiterungsheader.
Das Segment ist ein IPv4-Fragment.
Die Zusammenführung des aktuell empfangenen Segments führt dazu, dass die einzelne koalescierte Einheit die maximale zulässige Länge des IP-Datagramms überschreitet. Diese Ausnahme erfordert eine besondere Behandlung. Weitere Informationen finden Sie unter
Das erste Flussdiagramm in Regeln für das Zusammenfügen von TCP/IP-Paketen
"Antworten auf Abfragen für RSC-Statistiken" in Programmierüberlegungen für RSC-Treiber.
Das Segment enthält ECN-Flags, wie in RFC 3168 definiert, die eines oder beide der folgenden Kriterien erfüllen:
Das Segment enthält einen anderen Wert für das ECN-Feld (ECT, CE) im IP-Header als das vorherige Segment.
Das Segment hat einen anderen Wert für die ECN-Flags (ECE und CWR) im TCP-Header als das vorherige Segment.