Condições de exceção que encerram a união
Esta seção define as verificações que um driver de miniporta compatível com RSC (segmento de recebimento) deve executar em um segmento antes que ele possa ser unido.
Um segmento deve passar os dois tipos de verificações a seguir antes de poder ser agrupado:
Verifica a presença de uma determinada condição no segmento. Por exemplo, a presença de um sinalizador SYN no cabeçalho TCP dispararia uma exceção e o segmento não seria unido. Esses tipos de verificações são definidos abaixo.
Verifica se depende da inspeção e correlação de informações de segmentos previamente unidos e dos segmentos examinados no momento. Por exemplo, verificar se o segmento recebido é uma confirmação duplicada se enquadra nessa categoria de verificações. Esses tipos de verificações são definidos em Regras para Agrupar Segmentos TCP/IP.
Se um marcar falhar, uma exceção será disparada e o driver de miniporte deverá encerrar a união para essa conexão TCP e tratar segmentos da seguinte maneira:
Segmentos TCP que foram unidos antes da exceção ser detectada devem ser indicados como uma única unidade.
Os segmentos TCP que são unidos após a exceção ser detectada devem ser indicados como uma unidade separada.
Nota Para as exceções 7 e 8 abaixo, o driver de miniporta deve retomar a união começando com o segmento que disparou a exceção.
Receber um segmento que atenda a qualquer um dos seguintes critérios deve disparar uma exceção:
As restrições de recurso de hardware na NIC impedem a união.
O segmento tem uma soma de verificação TCP ou IP inválida.
O segmento contém qualquer um dos SYN, URG, RST, FIN em seu cabeçalho TCP, conforme definido na seção 3.1 do RFC 793. Mais amplamente, se o segmento contiver qualquer sinalizador diferente de PSH ou ACK, ele deverá disparar uma exceção. Para sinalizadores ECN, consulte a exceção 8 abaixo.
O segmento contém uma ou mais opções de TCP diferentes da opção de carimbo de data/hora TCP. Consulte RFC 1323 para obter uma discussão sobre a opção de carimbo de data/hora TCP.
O segmento contém opções IPv4 ou cabeçalhos de extensão IPv6.
O segmento é um fragmento IPv4.
A união do segmento recebido no momento fará com que a única unidade coalesced exceda o comprimento máximo do datagrama de IP legal. Essa exceção requer tratamento especial. Para obter mais informações, consulte:
O primeiro fluxograma em Regras para Unir Pacotes TCP/IP
"Respondendo a consultas para estatísticas de RSC" em Considerações de programação para drivers RSC.
O segmento contém sinalizadores ECN, conforme definido na RFC 3168, que atendem a um ou ambos os seguintes critérios:
O segmento contém um valor diferente para o campo ECN (ECT, CE) no cabeçalho IP do que o segmento anterior.
O segmento tem um valor diferente para os sinalizadores ECN (ECE e CWR) no cabeçalho TCP do que o segmento anterior.