OpenFlow 1.0

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

1.OpenFlow 1.0

1.1流表

在OpenFlow 1.0中,OpenFlow交换机包含了一个以上的流表,每个流表包含了多个流表项。即

流表项(多个)-->流表(一个以上)-->OpenFlow交换机

用图表表示为

头字段 计数器 行动
头字段内容 计数器内容 行动名称
...... ..... .....

以上三项在之后会详细介绍,且流表项的三个要素在之后的版本更迭中会出现变化。

1.2流表项

流表项主要由3部分构成,即

1.2.1 头字段

头字段主要用于与数据包进行匹配,且在openflow1.0中,头字段中包含了L1至L4层之间各层的内容。其中头字段中主要要素如下表所示:

| ingress port | Ethernet source address | Ethernet destiation address|Ethernet type | VLAN id | VLAN Priority | IP source address | IP destination address | IP protocol | ToS | Transport source port/ICMP |type Transport destination prot/ICMP code |

主要内容及其含义如下:

内容 说明
ingress port 输入端口
Ethernet source address 源以太网地址
Ethernet destination addresss 目标以太网地址
Ethernet type 以太网帧类型字段
VLAN ID VLAN标签的ID
VLAN Priority 802.1Q的PCP
IP source address IPv4头中的发送源地址
IP destination address IPv4头中目的地址
IP protocol IPv4头中的协议字段
ToS IPv4中的TOS字段
Transport source port/ICMP TCP或UDP时为TCP/UDP的发送源端口号,ICMP时为ICMP类型
type Transport destination prot/ICMP code TCP或UDP时为TCP/UDP的发送目的端口号,ICMP时为ICMP代码
  1. 流表的匹配

    OpenFlow中可以存在多个流表,但匹配时必须从流表0开始匹配,当流表0中不存在与头字段相匹配的流表项时,并且其他流表存在时,则去下一个流表中进行匹配。(openflow中并未对下一流表进行说明)

    注意:在openflow1.0中,只能与单一流表项匹配,即使可能与多个流表项匹配,最终匹配的流表项也只有一个,但在之后的版本更迭后,导入了可与多个流表项匹配的流水线处理

  2. 头字段解析

    在openflow1.0中,头字段解析具有优先顺序,但在之后的版本中废除了该规范,此处不再赘述。

1.2.2 计数器

主要对每个表查找的次数,经过端口的流量,流表项匹配的数据包的数量进行计数,方便流量的监控。主要包括4中计数器:

1.2.3 行动

  1. 必备行动
  1. 可选行动
行动名称 内容
Set VLAN ID 存在VLAN ID时,使用指定的VLAN ID 进行覆盖。不存在时按照优先级0进行添加
Set VLAN priority 存在VLAN ID时,使用指定的数值 进行覆盖。不存在时按照指定优先级进行添加
Strip VLAN header 存在VLAN头时将其删除
Modify Ethernet source MACaddress 使用新的数值覆盖以太网并发送以太网源地址
Modify Ethernet destination MACaddress 使用新的数值覆盖以太网并发送以太网目的地址
Modify IPV4 source address 使用新的IP覆盖源IP
Modify IPV4 destination address 使用新的IP覆盖目的IP
Modify IPV4 ToS bits 使用新数值覆盖TOS
Modify transport source port 覆盖TCP/UDP源端口
Modify transport destination port 覆盖TCP/UDP目的端口

注意:在openflow1.1中,Modify-Field更名为Set-Field

上一篇 下一篇

猜你喜欢

热点阅读