Partilhar via


Dividindo quadros na carga TCP

Os adaptadores de miniporta NDIS que suportam divisão de dados de cabeçalho devem suportar a divisão de quadros no cabeçalho de protocolo de camada superior para quadros TCP. No entanto, se o cabeçalho TCP não contiver nenhuma opção TCP, a NIC deve dividir o quadro no início do segmento de dados TCP.

A NIC pode não ser capaz de dividir um quadro TCP se o buffer de cabeçalho resultante tiver um comprimento maior do que o tamanho máximo do cabeçalho. Para obter mais informações sobre como dividir quadros quando o tamanho máximo do cabeçalho é excedido, consulte Alocando o buffer de cabeçalho.

As NICs também devem suportar divisão de cabeçalhos TCP com apenas a opção de carimbo de data/hora. Ou seja, a opção de carimbo de data/hora é a única opção TCP que é obrigatória. Caso contrário, o suporte para cabeçalhos TCP com opções TCP é opcional. Se o cabeçalho TCP de um quadro contiver uma opção TCP não reconhecida, a NIC deverá dividir o quadro no início do cabeçalho TCP (ou seja, no cabeçalho do protocolo de camada superior) ou não dividir o quadro.

Nota Suportar uma opção IPv4, um cabeçalho de extensão IPv6 ou uma opção TCP, para fins de requisitos de dados de cabeçalho, implica a capacidade da NIC de reconhecer o elemento, determinar seu comprimento, incluí-lo no cabeçalho MDL e localizar seu fim e o início do próximo elemento no quadro.

Para obter mais informações sobre como dividir quadros no início do cabeçalho do protocolo de camada superior, consulte Dividir Quadros no Início de Cabeçalhos de Camada SuperiorLayer-Protocol.

Se o provedor de divisão de dados de cabeçalho dividir o quadro na carga TCP, as estruturas de NET_BUFFER_LIST indicadas deverão ter os sinalizadores NDIS_NBL_FLAGS_IS_TCP e NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD definidos no membro NblFlags. Para obter mais informações sobre como definir os sinalizadores de divisão de dados de cabeçalho do NET_BUFFER_LIST, consulte Setting NET_BUFFER_LIST Information.