咱们把同一时间通过同一网络中,具备某种共同特征或属性的数据,抽象为一个流
好比:咱们将访问同一个地址的数据视为一个流
流通常是由网络管理员定义的,能够根据不一样的流执行不一样的策略,
在OpenFlow中,数据都是做为流进行处理的。
因此流表就是针对特定流的策略表项的集合,负责数据包的查找和转发
一张流表包含了一系列的流表项flow entries
动做表用于指示交换机,在收到匹配的数据包后应该如何进行处理
动做转发,与交换机的端口直接相关。OpenFlow交换机的端口是交换机传递数据包的网络接口。
交换机经过接口和其余交换机创建逻辑链接
物理端口、逻辑端口不作介绍
其中匹配表按照优先级进行排序,从高到低
若是匹配成功,对应计数器进行更新并去执行相应动做
若是表项没有对应的动做执行,则数据包将会被丢弃
若是没有找到匹配的表项,则封装数据包转发给控制器
包头解析是为了获得数据分组的12元组(包头域)
1.初始化包头 2.根据以太网类型获得VLAN或三层IP的信息 3.根据IP分组头中的协议类型,肯定是TCP/UDP/ICMP协议 4.获得四层的TCP/UDP的源目的端口号或者ICMP类型和编码