转发扩展

转发扩展具有与筛选扩展相同的功能,但负责执行可扩展交换机的核心数据包转发和筛选任务。 这些任务包括以下内容:

  • 确定数据包的目标端口。

    注意 如果数据包是 NVGRE 数据包,则可扩展交换机的 Hyper-V 网络虚拟化 (HNV) 组件将确定目标端口并转发数据包。 有关详细信息,请参阅 混合转发

  • 通过强制实施标准端口策略(例如安全性、配置文件或虚拟 LAN (VLAN) 策略)来筛选数据包。

    注意 可扩展交换机仍基于内置策略执行筛选。 这些策略包括访问控制列表 (ACL) 和服务质量 (QoS) 。

注意 如果未在可扩展交换机中安装并启用转发扩展,则交换机将确定数据包的目标端口,并根据标准端口设置筛选数据包。

转发扩展层位于出口和入口数据路径中可扩展交换机扩展微型端口驱动程序的正上方。 有关这些数据路径的详细信息,请参阅 Hyper-V 可扩展交换机数据路径

转发扩展可以使用在入口数据路径上获取的数据包执行以下操作:

  • 它可以筛选数据包流量,并强制实施自定义和标准端口或交换机策略,以便通过可扩展交换机传递数据包。 当转发扩展筛选入口数据路径中的数据包时,它会根据源端口以及扩展分配给数据包的目标端口应用筛选规则。

    自定义策略由独立软件供应商 (ISV) 定义。 标准策略由可扩展交换机接口定义。 这些类型的策略的属性设置通过 Hyper-V WMI 管理层进行管理。 转发扩展通过对象标识符 (OID) 请求OID_SWITCH_PORT_PROPERTY_UPDATEOID_SWITCH_PROPERTY_UPDATE配置这些属性设置。

    有关可扩展交换机策略的详细信息,请参阅 管理 Hyper-V 可扩展交换机策略

  • 它可以将新的、修改的或克隆的数据包注入入口数据路径。

    有关详细信息,请参阅 Hyper-V 可扩展交换机发送和接收操作

  • 它可以确定数据包传递到一个或多个可扩展交换机目标端口。 这允许转发扩展添加目标端口,以便将数据包传送到可扩展交换机端口。

    有关如何添加目标端口的详细信息,请参阅 将可扩展交换机目标端口数据添加到数据包

转发扩展可以使用在出口数据路径上获取的数据包执行以下操作:

  • 它可以筛选数据包流量,并强制实施自定义和标准端口或交换机策略,以便通过可扩展交换机传递数据包。 当转发扩展筛选出口数据路径中的数据包时,它可以基于数据包的源或目标端口应用筛选规则。

  • 它可以排除数据包传递到一个或多个可扩展交换机目标端口。 这允许转发扩展排除数据包传递到可扩展交换机端口。

    有关如何排除到可扩展交换机端口的数据包传送的详细信息,请参阅 排除到可扩展交换机目标端口的数据包传送

    注意 转发扩展插件只能在处理出口数据路径上的数据包时排除数据包传递。 该扩展只能添加或修改入口数据路径上数据包的目标端口。

  • 它可以修改数据包数据。 如果转发扩展需要修改数据包中的数据,则必须先克隆数据包,然后才能分配端口目标。 修改数据包并分配端口目标后,扩展必须将修改后的数据包注入出口数据路径。

    有关详细信息,请参阅 克隆数据包流量

除了检查 OID 请求和 NDIS 状态指示外,转发扩展还可以执行以下操作:

  • 它可以将 OID 或 NDIS 状态指示注入可扩展交换机控制路径。 这允许转发扩展创建或修改 OID 和状态指示,并将其转发到基础物理网络适配器或从基础物理网络适配器转发。

    例如,可扩展交换机外部网络适配器可以绑定到 NDIS 多路复用器 (MUX) 中间驱动程序的虚拟微型端口边缘。 MUX 中间驱动程序本身可以绑定到主机上的一个或多个物理网络团队。 此配置称为 可扩展交换机团队

    在此配置中,可扩展交换机扩展将公开给可扩展交换机团队中的每个网络适配器。 这允许可扩展交换机驱动程序堆栈中的转发扩展管理团队中单个网络适配器的配置和使用。 例如,该扩展可以通过将传出数据包转发到单个适配器, (LBFO) 解决方案来支持团队的负载均衡故障转移。 此类扩展称为 组合提供程序

    通过充当组合提供程序,转发扩展可以创建或修改 OID 请求,以在团队中的适配器上启用或禁用硬件功能。 组合提供程序还可以根据对团队中的一个或多个适配器的更改创建或修改 NDIS 状态指示。

    有关组合提供程序的详细信息,请参阅 Teaming Provider Extensions

  • 它可以通过为适用的可扩展交换机 OID 返回STATUS_DATA_NOT_ACCEPTED来否决创建可扩展交换机端口或网络适配器连接。 例如,当驱动程序收到OID_SWITCH_PORT_CREATE的 OID 集请求时,转发扩展可以通过返回STATUS_DATA_NOT_ACCEPTED来否决端口创建请求。

    注意 转发扩展不会创建或删除端口或网络适配器连接。 可扩展交换机的协议边缘会发出 OID,以通知基础扩展有关创建或删除端口或网络适配器连接的情况。 有关详细信息,请参阅 Hyper-V 可扩展交换机端口和网络适配器状态

  • 它可以通过返回适用的可扩展交换机 OID STATUS_DATA_NOT_ACCEPTED来否决添加或更新可扩展交换机或端口策略。 例如,当驱动程序收到OID_SWITCH_PORT_PROPERTY_ADD的 OID 集请求时,转发扩展可以通过返回STATUS_DATA_NOT_ACCEPTED来否决端口 策略的添加

    有关可扩展交换机策略的详细信息,请参阅 管理 Hyper-V 可扩展交换机策略

转发扩展具有以下要求:

有关可扩展交换机团队的详细信息,请参阅 物理网络适配器配置的类型

有关转发扩展的详细信息,请参阅以下页面:

将数据包转发到 Hyper-V 可扩展交换机端口

将数据包转发到物理网络适配器

Hyper-V 可扩展交换机概述