Partilhar via


Arquitetura de divisão de Header-Data

Um provedor de divisão de dados de cabeçalho melhora o desempenho da rede dividindo os cabeçalhos e os dados em quadros Ethernet recebidos em buffers separados. Um provedor de divisão de dados de cabeçalho inclui uma NIC (cartão de interface de rede) e um driver de miniporta NDIS 6.1 ou posterior que atende à NIC.

A figura a seguir mostra a arquitetura de divisão de dados de cabeçalho.

Diagrama ilustrando a arquitetura de divisão de dados de cabeçalho.

O driver de miniporto recebe informações de configuração do NDIS para configurar a NIC para operações de recebimento de divisão de dados de cabeçalho. Além disso, o driver de miniporta expõe os serviços da NIC ao NDIS para operações em tempo de execução, como operações de envio e recebimento.

Uma NIC capaz de operações de divisão de dados de cabeçalho recebe quadros Ethernet e divide os cabeçalhos e os dados em buffers de recebimento separados.

O driver de miniporta usa as funções normais de recebimento de NDIS para indicar os dados recebidos para o NDIS. Além disso, o driver deve atribuir exatamente uma estrutura NET_BUFFER a uma estrutura NET_BUFFER_LIST ao indicar dados recebidos. Para obter mais informações, consulte Indicando quadros Ethernet recebidos.

Para divisão de dados de cabeçalho, as estruturas de NET_BUFFER nas indicações de recebimento dividem o quadro Ethernet recebido usando MDLs (listas de descritores de memória) separadas para o cabeçalho e os dados. Além disso, a estrutura NET_BUFFER_LIST contém informações de divisão de dados de cabeçalho nas informações de NET_BUFFER_LIST.

A figura a seguir mostra o quadro recebido, os buffers divididos e o layout de memória dos buffers de cabeçalho.

Diagrama mostrando o quadro Ethernet recebido, buffers divididos para cabeçalho e dados e layout de memória de buffers de cabeçalho.

Todos os buffers de cabeçalho devem estar em um bloco contíguo de armazenamento.

Um protocolo de camada superior é um protocolo de transporte IP, como TCP, UDP ou ICMP.

Nota O IPsec não é considerado um protocolo de camada superior para definir requisitos de divisão de dados de cabeçalho. Para obter mais informações sobre como dividir quadros IPsec, consulte Divisão de quadros IPsec.