软件定义网络基础---OpenFlow流表

Posted liujunjun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了软件定义网络基础---OpenFlow流表相关的知识,希望对你有一定的参考价值。

一:流表

(一)流的概念

我们把同一时间经过同一网络中,具有某种共同特征或属性的数据,抽象为一个流
比如:我们将访问同一个地址的数据视为一个流
流一般是由网络管理员定义的,可以根据不同的流执行不同的策略,
在OpenFlow中,数据都是作为流进行处理的。
所以流表就是针对特定流的策略表项的集合,负责数据包的查找和转发
一张流表包含了一系列的流表项flow entries

技术图片

(二)流表项组成 (包头域、计数器、动作表3个)

技术图片

技术图片

(三)包头域

技术图片

技术图片

(四)计数器 

 技术图片

 (五)动作表

动作表用于指示交换机,在收到匹配的数据包后应该如何进行处理

技术图片

动作分类

技术图片

OpenFlow端口类型 

动作转发,与交换机的端口直接相关。OpenFlow交换机的端口是交换机传递数据包的网络接口。
交换机通过接口和其他交换机建立逻辑连接

技术图片

物理端口、逻辑端口不做介绍

技术图片

技术图片

流表动作列表 

技术图片

二:数据包

(一)数据包的处理流程

技术图片

其中匹配表按照优先级进行排序,从高到低
如果匹配成功,对应计数器进行更新并去执行相应动作
如果表项没有对应的动作执行,则数据包将会被丢弃
如果没有找到匹配的表项,则封装数据包转发给控制器

技术图片

(二)包头解析匹配流程

包头解析是为了得到数据分组的12元组(包头域)

技术图片

1.初始化包头
2.根据以太网类型得到VLAN或三层IP的信息
3.根据IP分组头中的协议类型,确定是TCP/UDP/ICMP协议
4.得到四层的TCP/UDP的源目的端口号或者ICMP类型和编码

三:后续版本的变化

(一)流表项结构的变化

技术图片

(二)1.3版本中的组表和计量表 

 技术图片

 技术图片

以上是关于软件定义网络基础---OpenFlow流表的主要内容,如果未能解决你的问题,请参考以下文章

软件定义网络基础---OpenFlow概述

软件定义网络基础---Openflow概述

3.3 OpenFlow 流表

OpenFlow协议中如何提高交换机流表的匹配成功率

openflow流表的技术实现难点都有哪些

ovs 删除openflow流表