OpenFlow1.0到OpenFlow1.3变更

1.行动集

  • 为了在多个表中完成流水线处理,在OpenFlow1.1中新添加了行动集
  • 行动集通过在交换机的每个数据包中创建,但交换机初次接收到数据包时为空,在检查多个流表时,通过指令添加行动集。
  • 由行动确定指令集的优先顺序。

2.指令

  • 在OpenFlow1.1中新添加了指令,也是为了在多个表内进行流水线管理。
  • 每个流表项中都有指令,可通过Write-Action这一指令将行动添加到行动集中。
  • 能够清除当前的行动集,或立即执行特定的行动。
  • 通过Goto-Table跳转到下一个流表的检查,若无Goto-Table指令,执行此前的行动集并退出。
  • 与OpenFlow1.0相同,使用Flow-Mod消息将指令注册到流表中。

3.行动列表

  • 行动列表由OpenFlow1.1开始定义,但OpenFlow1.0中便存在相同含义的说法。
  • 在流水线处理过程中,通过Apply-Action指令进行特定处理或使用Packet-Out消息从控制器发送的通过特殊处理的数据包使用行动列表。
  • 与行动集无相互定义关系。

4.组表

  • 组表是由OpenFlow1.1新定义,提供了组播、广播,以数据包为单位的轮询ECMP和LAG、高速切换的功能。
  • 组表可定义行动,在指定组ID后执行。
  • 一个组内能够带有多个组数据包,组数据包由行动集构成。
  • 控制器使用Group Table Modification消息注册组表
  • 组表是对组的行动集进行管理的项目,与流表无相互定义关系。

5.计量表

  • Meter是在OpenFlow1.3中新定义的指令,注册流表项时,使用Meter ID 指定计量带。
  • 一个计量中可以拥有多个计量带。
  • 通过控制器使用Meter Modification消息注册计量表。
  • 计量表是对计量带进行管理的项目,与流表无相互定义。

6.行动

  • OpenFlow1.0中的Forward在OpenFlow1.0中变更为Output,从OpenFlow1.2开始,将Output的输出目的地变为OpenFlow端口。
  • OpenFlow1.0的Enqueue在OpenFlow1.1中变更为Set-Queue,且Enqueue是通过Queue发送数据包的行动,Set-Queue在数据包中设置Queue ID ,发送数据包要用Output。
  • 从OpenFlow1.0开始如果不指定行动,将数据包丢弃。
  • 从OpenFlow1.1开始添加Group行动、Push-Tag/Pop-Tag行动。
  • 从OpenFlow1.1开始将Modify-Field变更为Set-Field。
  • 从OpenFlow1.1开始添加Change-TTL行动。
       参考图解OpenFlow

你可能感兴趣的:(OpenFlow1.0到OpenFlow1.3变更)