Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

了解运行 Junos OS 的设备上的 OpenFlow Flow 入门时间表

OpenFlow Flow 入门计时器概述

对于运行 Junos OS 的设备上参与 OpenFlow 的每个逻辑接口,将创建一个过滤器并应用于输入方向上的逻辑接口。OpenFlow 流将映射到过滤器中,作为过滤器术语。每个流都有一些与之关联的计时器,其中一些通过 OpenFlow 控制器配置,而另一些则通过 Junos OS CLI 配置。OpenFlow 流输入计时器包括空闲超时、硬超时和清除流计时器。 表 1 汇总了各种 OpenFlow 流时间表。EX4550 交换机不支持空闲超时。

表 1:OpenFlow Flow 入门时间器

计时 器

配置为

范围(秒)

空闲超时

控制器

0、11 到 65,535

难以超时

控制器

0 到 65,535

清除流计时器

Junos OS CLI,方法是 purge-flow-timer 使用配置语句

0 到 300

空闲超时和硬超时

每个流条目都有空闲超时和与之关联的硬超时,这两个都通过 OpenFlow 控制器配置。空闲超时是指从流表中移除流条目和提供的硬件之后的秒数,因为没有数据包与之匹配。硬超时是指从流表中移除流条目的秒数,以及数据包是否与之匹配的硬件。

如果流条目同时具有与之关联的空闲计时器和硬定时器,则第一个到期的计时器将导致流条目被移除。如果空闲计时器先到期,则流条目将在该点卸下,但仅当没有匹配的数据包时。否则,硬定时器到期时,流条目将被移除。

当控制器向交换机发送流输入修改消息 (OFPT_FLOW_MOD)时,会指定该流条目的空闲超时和硬超时。在运行 Junos OS 的设备上,空闲超时值可能为 0,或者范围为 11 到 65,535 秒。如果控制器将空闲超时设置为 0,则流条目不会出现空闲时间。硬超时值可以从 0 到 65,535 秒不等。如果控制器将硬超时设置为 0,则流条目不会出现困难。如果控制器请求无效超时值,交换机将拒绝流修改消息,并将错误消息发送回控制器。

清除流计时器

在运行 Junos OS 的设备上,您可以配置清除流计时器,即从流表中删除无效 OpenFlow 流条目之后的秒数。语 purge-flow-timer 句通过层级的 Junos OS CLI [edit protocols openflow switch switch-name] 配置。该 purge-flow-timer 值特定于配置该交换机的 OpenFlow 虚拟交换机,与该虚拟交换机关联的所有流条目相同。

如果不配置 purge-flow-timer 语句,设备将清除硬件中的无效流条目,但无限期地将相应流条目保留在路由引擎的流表中。如果配置语 purge-flow-timer 句,设备将清除来自硬件的无效流条目,并在指定的秒数之后从流表中删除无效流条目。配置值 0 会使设备立即从流表中删除无效流条目。

例如,考虑暂时不可用的 OpenFlow 逻辑接口的情况。当接口不可用时,将逻辑接口作为匹配入口接口或作为其操作集中唯一活动出口接口(对于 OpenFlow v1.0)或流指令(对于 OpenFlow v1.3.1)的流条目标记为无效。尽管逻辑接口不可用,但流条目仍然可以有效。配置 purge-flow-timer 语句决定如何处理流条目。

在此示例中,如果未配置 purge-flow-timer 语句,则当逻辑接口不可用时,设备会从硬件中移除无效流条目,但无限期地保留流表中的流条目。如果逻辑接口稍后可用,则流条目将在硬件中重新安装,而无需任何控制器干预。

另一方面,如果配置语 purge-flow-timer 句,则当逻辑接口不可用时,设备会从硬件中移除流条目,并将流条目保留在流表中以等待已配置的秒数 purge-flow-timer 。如果接口不可用且计时器过期,设备将从流表中删除流条目。接口恢复后,OpenFlow 控制器必须向 OpenFlow 交换机发送新的流条目修改消息,以便将流条目恢复到流表和硬件。

注意:

默认情况下,如果从现有 OpenFlow 配置中卸下活动 OpenFlow 逻辑接口,则此逻辑接口上匹配的流条目作为入口接口和流条目(包括此逻辑接口作为其操作列表或流指令中唯一的活动出口接口)无效,无论您是否配置 purge-flow-timer 语句,都将自动从流表和硬件中清除。