Condividi tramite


Suddivisione di frame nel payload TCP

Le schede miniport NDIS che supportano la suddivisione dei dati di intestazione devono supportare la suddivisione dei fotogrammi nell'intestazione del protocollo di livello superiore per i frame TCP. Tuttavia, se l'intestazione TCP non contiene opzioni TCP, la scheda di interfaccia di rete deve dividere il frame all'inizio del payload TCP.

La scheda di interfaccia di rete potrebbe non essere in grado di dividere un frame TCP se il buffer di intestazione risultante ha una lunghezza maggiore rispetto alle dimensioni massime dell'intestazione. Per altre informazioni sulla suddivisione dei fotogrammi quando viene superata la dimensione massima dell'intestazione, vedere Allocazione del buffer di intestazione.

Le schede di interfaccia di rete devono supportare anche la suddivisione di intestazioni TCP solo con l'opzione timestamp. Vale a dire, l'opzione timestamp è l'unica opzione TCP obbligatoria. In caso contrario, il supporto per le intestazioni TCP con opzioni TCP è facoltativo. Se l'intestazione TCP di un frame contiene un'opzione TCP non riconosciuta, la scheda di interfaccia di rete deve dividere il frame all'inizio dell'intestazione TCP, ovvero all'intestazione del protocollo di livello superiore, o non suddividere il frame.

Nota Supporto di un'opzione IPv4, un'intestazione di estensione IPv6 o un'opzione TCP, ai fini dei requisiti di intestazione-dati, implica la possibilità della scheda di interfaccia di rete di riconoscere l'elemento, determinare la lunghezza, includerla nell'intestazione MDL e individuare la sua fine e l'inizio dell'elemento successivo nel frame.

Per altre informazioni sulla suddivisione dei fotogrammi all'inizio dell'intestazione del protocollo di livello superiore, vedere Suddivisione dei fotogrammi all'inizio delle intestazioni del protocollo di livello superiore.

Se il provider di suddivisione dei dati di intestazione divide il frame nel payload TCP, le strutture di NET_BUFFER_LIST indicate devono avere i flag di NDIS_NBL_FLAGS_IS_TCP e NDIS_NBL_FLAGS_SPLIT_AT_UPPER_LAYER_PROTOCOL_PAYLOAD impostati nel membro NblFlags . Per altre informazioni sull'impostazione dei flag di NET_BUFFER_LIST di intestazione dei dati, vedere Impostazione delle informazioni NET_BUFFER_LIST.