标头数据拆分体系结构

标头数据拆分提供程序通过将接收的以太网帧中的标头和数据拆分到单独的缓冲区来提高网络性能。 标头数据拆分提供程序包括一个网络接口卡 (NIC) ,以及一个为 NIC 提供服务的 NDIS 6.1 或更高版本微型端口驱动程序。

下图显示了标头数据拆分体系结构。

说明标头数据拆分体系结构的关系图。

微型端口驱动程序从 NDIS 接收配置信息,以便为标头数据拆分接收操作设置 NIC。 此外,微型端口驱动程序还会向 NDIS 公开 NIC 的服务,以便执行发送和接收操作等运行时操作。

能够进行标头数据拆分操作的 NIC 接收以太网帧,并将标头和数据拆分为单独的接收缓冲区。

微型端口驱动程序使用正常的 NDIS 接收函数将接收的数据指示给 NDIS。 此外,在指示接收的数据时,驱动程序必须将一个 NET_BUFFER 结构分配给 NET_BUFFER_LIST 结构。 有关详细信息,请参阅 指示接收的以太网帧

对于标头数据拆分,接收指示中的 NET_BUFFER 结构使用单独的内存描述符列表 (标头和数据) 来拆分收到的以太网帧。 此外, NET_BUFFER_LIST 结构在NET_BUFFER_LIST信息中包含标头数据拆分信息。

下图显示了接收的帧、拆分缓冲区和标头缓冲区的内存布局。

显示接收的以太网帧、标头和数据拆分缓冲区以及标头缓冲区的内存布局的关系图。

标头缓冲区应全部位于连续的存储块中。

上层协议是 IP 传输协议,例如 TCP、UDP 或 ICMP。

注意 出于定义标头数据拆分要求的目的,IPsec 不被视为上层协议。 有关拆分 IPsec 帧的详细信息,请参阅 拆分 IPsec 帧