Compartilhar via


Arquitetura Dividida 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 (placa de interface de rede) e um driver de miniporto 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 com divisão de cabeçalho-dados. Além disso, o driver de miniporto expõe os serviços da NIC ao NDIS para operações durante a 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 dados em buffers de recebimento separados.

O driver de miniporto usa as funções normais de recebimento do NDIS para indicar os dados recebidos ao 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 a divisão do cabeçalho e dos dados, as estruturas 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, os buffers separados para o cabeçalho e os dados, e o layout de memória dos buffers do 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 os 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.