使用支持 OpenFlow 的交换机,是否可以将特定流的数据包转发到多个传出端口,以便每个端口接收数据包的副本(类似于多播场景,但在本地基于每个流)?
我见过称为端口镜像的东西,但我认为它是每个端口的事情?
谢谢你。
使用支持 OpenFlow 的交换机,是否可以将特定流的数据包转发到多个传出端口,以便每个端口接收数据包的副本(类似于多播场景,但在本地基于每个流)?
我见过称为端口镜像的东西,但我认为它是每个端口的事情?
谢谢你。
是的,openflow协议支持创建具有多个动作的流,每个动作可以是从某个端口发送一个帧/数据包。
但是,您的 openflow 交换机是否支持这是另一回事。例如,此 Cisco 文档指出,Nexus 交换机上的 Openflow 代理 1.1.5 版仅支持“输出到单个端口”。
在交换机不支持一个流中多个输出端口的场景下,您可以定义流向控制器发送匹配的帧,并配置控制器向交换机发送多个packet_out命令(帧相同但不同输出端口)。请注意,在这种情况下,可扩展性可能是一个问题,即进/出控制器的带宽和/或控制器的处理能力可能成为瓶颈。
我发现使用自标准的 1.1 版以来 OpenFlow 支持的组表,可以通过多个动作桶复制和处理数据包。如果组表条目来自类型“ALL”,则执行组中的所有动作桶,可用于将数据包转发到多个传出端口。
许多提供 SDN 交换机的供应商提供对 Group Table ALL 的支持,而有些供应商仅支持快速故障转移(在发生故障时转发到不同的端口)和/或选择(转发到不同的端口以进行负载平衡等应用)。
是的,但我不认为 TCAM 规则就是所谓的。TCAM 行为通常融入到硬件系统操作系统或固件中。将数据包转发到多个传出端口是指路由行为(而不是将数据报称为帧的交换)。最后,将特定流的数据包转发到多个出口端口听起来像是一种称为负载平衡、封装 RSPAN (ERSPAN) 或多播的功能。您将使用的功能取决于您的用例。