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.
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.
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.