Partilhar via


Separação de quadros no início dos cabeçalhos de protocolo da camada superior

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

Observação o IPsec não é considerado um protocolo de camada superior nos requisitos de divisão de dados de cabeçalho. Para obter mais informações sobre como dividir quadros IPsec, consulte Dividindo quadros IPsec.

Se uma NIC dividir um quadro Ethernet no início do cabeçalho do protocolo de camada superior, o NET_BUFFER indicado deve conter exatamente dois MDLs. O buffer que o primeiro MDL descreve deve começar com o primeiro byte do quadro Ethernet (cabeçalho MAC) e o buffer que o segundo MDL descreve deve começar com o primeiro byte do cabeçalho do protocolo de camada superior.

Nota A placa de interface de rede (NIC) pode fragmentar quadros TCP e UDP na carga de TCP ou UDP. Para obter mais informações, consulte Splitting Frames no TCP Payload e Splitting Frames no UDP Payload.

Se o provedor de divisão de dados de cabeçalho dividir o quadro no início do cabeçalho do protocolo de camada superior, as estruturas de NET_BUFFER_LIST indicadas deverão ter o sinalizador de NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_HEADER definido no membro NblFlags. Para obter mais informações sobre como definir sinalizadores de divisão de dados de cabeçalho NET_BUFFER_LIST, consulte Configurando Informações do NET_BUFFER_LIST.

A NIC não deve dividir um quadro 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 Alocação do buffer de cabeçalho.