Freigeben über


Suchen des Transportheaders für gekapselte Pakete im Empfangspfad

Beim Empfangen eines Pakets muss eine NIC, die die Netzwerkvirtualisierung mithilfe von NVGRE (Generic Routing Encapsulation) unterstützt, zuerst ermitteln, ob das Paket gekapselt ist und, falls ja, den Typ der Kapselung.

Hinweis Im Sendepfad wird ein Paket gekapselt, wenn NDIS_TCP_SEND_OFFLOADS_SUPPLEMENTAL_NET_BUFFER_LIST_INFO. IsEncapsulatedPacket ist TRUE.

Im Empfangspfad muss die NIC ermitteln, ob das Paket gekapselt ist, indem die Protokollnummer im Protokollfeld des IPv4-Tunnelheaders (äußerer) oder des Felds NextHeader des IPv6-Tunnels (äußerer) Header überprüft wird. Die Liste der zugewiesenen Protokollnummern finden Sie unter https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xml.

Sobald ein Paket als gekapseltes Paket ermittelt wurde, muss die NIC den Offset zum Transport (inneren) IP-Header bestimmen, indem das Protokoll des gekapselten Pakets analysiert wird.

Für NDIS 6.30 (Windows Server 2012) und höher wird nur die GRE IP-Kapselung unterstützt. Daher sollte die NIC abhängig von den angekündigten Funktionen in der Lage sein, Folgendes zu analysieren:

Wenn die NIC ein unbekanntes oder nicht unterstütztes Kapselungsprotokoll findet, muss sie das Paket unverändert an den Hoststapel übergeben.

Daher muss der Miniport auf dem Empfangspfad den Transport (inneren) IP-Header analysieren, um die IP-Version zu bestimmen und zum TCP- oder UDP-Header zu gelangen. Dies ist eine neue Anforderung für NDIS 6.30 (Windows Server 2012) und höher.