OpenFlow1.1

2017-12-05  本文已影响18人  墨痕hz

1.表

在OpenFlow1.1版本中,添加了组的概念,用于将多个端口作为组进行处理。相应的在OpenFlow交换机中,存在一个组表和多个流表。

1.1组表

组ID 组类型 计数器 动作桶

OpenFlow1.1中增加的组表概念,在后续版本中一直沿用,组是OpenFlow为数据包指定在多个流中执行相同操作集的高效方法,组标的结构如图:

组ID 组类型 计数器 动作桶
类型 实现 内容
all required 执行组的所有行动桶
select optional 执行组内的一个行动桶动作,可用于多路径
indirect required 执行组内的一个确定的行动桶
fast failover optional 执行一个激活的行动桶

每一条OpenFlow组表记录称为组表项,每个组表项都包括:组ID,组类型,计数器和动作桶。通过组表,每个数据流可以被划分到相应的组中,动作指令的执行可以针对属于同一个组ID的所有数据包,适用于实现广播和多播,或者执行某些特定的操作集,且组定义了四种组类型,即:

类型 实现 内容
all required 执行组的所有行动桶
select optional 执行组内的一个行动桶动作,可用于多路径
indirect required 执行组内的一个确定的行动桶
fast failover optional 执行一个激活的行动桶

1.2流表

在openflow1.0中,每个数据包只能匹配一个流表项,有时也只能实现在openflow交换机中设置一个流表。但从OpenFlow1.1开始,OpenFlow交换机可以设置多个流表并为一个数据包匹配多个流表项。对于多个流表,OpenFlow1.1将多流表处理为流水线,各个流表依次对每个数据包进行匹配。

1.2.1流表项

头字段域 计数器 行动

在OpenFlow1.0中流表项的构成要素为:

头字段域 计数器 行动
匹配字段 计数器 指令

在OpenFlow1.1中流表项的构成要素为:

匹配字段 计数器 指令

即将头字段域更名为匹配字段,用指令代替行动,但行动仍存在与协议中。

内容 说明
Ingress port 输入端口
Metadata 元数据(新加字段)
Ethernet source address 以太网帧的发送源以太网地址
Ethernet destination address 以太网帧的发送目的以太网地址
Ethernet type 以太网的类型字段
VLAN ID VLAN的ID
VLAN priority IEEE802.1Q的PCP
MPLS label MPLS的标签(新加字段)
MPLS traffic class MPLS的流量类别(新加字段)
IP source address IPV4的发送源地址
IP destination address IPV4的发送目的地址
IP protocol/ARP opcode IPV4头的协议字段或ARP头的操作字段
Tos IPV4头的Tos字段
TCP/UDP/SCTP source port/ICMP type TCP、UDP、SCTP的发送源端口号,ICMP的头类型
TCP/UDP/SCTP destination port/ICMP type TCP、UDP、SCTP的发送目的端口号,ICMP的头代码

相比较OpenFlow1.0,1.1版本中的匹配字段中新添加了MPLS标签、MPLS流量、元数据3个字段。并且从OpenFlow1.1中,添加了SCTP(流控制传输协议)。SCTP使用了移动通信技术3GPP和LTE。

1.3流水线处理

数据包到达OpenFlow交换机后,在流表0中进行匹配

  1. 检索优先级最高的流表项
  2. 据此更新字段,行动集,元数据
  3. 将匹配字段和行动集发送给下一流表

之后根据需要在多个流表中进行匹配,并在各个流表中执行1-3步骤。

上一篇 下一篇

猜你喜欢

热点阅读