Condividi tramite


Condizioni di eccezione che terminano il coalescing

Questa sezione definisce i controlli che un driver miniport compatibile con segmento di ricezione deve eseguire su un segmento prima che possa essere unito.

Un segmento deve passare entrambi i tipi di controlli seguenti prima che possa essere unione:

  • Verifica la presenza di una determinata condizione nel segmento. Ad esempio, la presenza di un flag SYN nell'intestazione TCP attiva un'eccezione e il segmento non verrà unito. Questi tipi di controlli sono definiti di seguito.

  • Verifica che a seconda dell'ispezione e della correlazione delle informazioni dai segmenti precedentemente uniti e dai segmenti attualmente esaminati. Ad esempio, verificare se il segmento ricevuto è un riconoscimento duplicato rientra in questa categoria di controlli. Questi tipi di controlli sono definiti in Regole per il raggruppamento di segmenti TCP/IP.

Se un controllo ha esito negativo, viene attivata un'eccezione e il driver miniport deve terminare l'unione per tale connessione TCP e trattare i segmenti come indicato di seguito:

  • I segmenti TCP che sono stati uniti prima che l'eccezione sia stata rilevata deve essere indicata come singola unità.

  • I segmenti TCP uniti dopo il rilevamento dell'eccezione devono essere indicati come unità separate.

Nota Per le eccezioni 7 e 8 di seguito, il driver miniport deve riprendere l'unione a partire dal segmento che ha attivato l'eccezione.

La ricezione di un segmento che soddisfa uno dei criteri seguenti deve attivare un'eccezione:

  1. I vincoli delle risorse hardware nella scheda di interfaccia di rete impediscono l'unione.

  2. Il segmento ha un checksum TCP o IP non valido.

  3. Il segmento contiene uno qualsiasi dei valori SYN, URG, RST, FIN nell'intestazione TCP, come definito nella sezione 3.1 di RFC 793. Più ampiamente, se il segmento contiene un flag diverso da PSH o ACK, deve attivare un'eccezione. Per i flag ECN, vedere l'eccezione 8 seguente.

  4. Il segmento contiene una o più opzioni TCP diverse dall'opzione timestamp TCP. Per una discussione sull'opzione timestamp TCP, vedere RFC 1323 .

  5. Il segmento contiene opzioni IPv4 o intestazioni di estensione IPv6.

  6. Il segmento è un frammento IPv4.

  7. Il raggruppamento del segmento attualmente ricevuto causerà il superamento della lunghezza massima del datagramma IP legale. Questa eccezione richiede una gestione speciale. Per altre informazioni, vedere:

  8. Il segmento contiene flag ECN, come definito in RFC 3168, che soddisfano uno o entrambi i criteri seguenti:

    1. Il segmento contiene un valore diverso per il campo ECN (ECT, CE) nell'intestazione IP rispetto al segmento precedente.

    2. Il segmento ha un valore diverso per i flag ECN (ECE e CWR) nell'intestazione TCP rispetto al segmento precedente.