OpenFlow了解

openflow的核心思想是将所有的协议都抽象出来,抽象成公共的flow概念。协议抽象:数据,函数(对数据的处理方式),逻辑(数据与处理的对应关系,函数之间的交互行为与时序)
push,match,pop
协议可以用RESTful API快速实现,不一定要单独定义OF的数据
111
有多个流表和一个组表组成,决定了报文匹配与转发,以及与控制器建立连接的tunnel。
交换机和控制器通过openflow协议通信,控制器通过openflow协议控制交换机
控制器可以增删改交换机中流表的流表项:主动和被动
报文通过流表项进行匹配和执行
流表项按照优先级对报文进行匹配
如果报文匹配了一个流表项,那么报文将会执行流表项中的指令集
没有匹配流表项,默认动作处理:丢弃保温,对下一张刘表进行匹配,转发给控制器
流表项可以设置动作,转发到哪个端口,将报文定向到一个组上,

端口:

  • 物理:对应具体的物理设备
  • 逻辑:抽象,非OF口(tunnel口)
  • 保留:特殊代号(controller、all…)

pipeline:OpenFlow在交换机里处理的流程

  1. 找到最高优先的匹配项
  2. 将指令应用到packet、match、action上,更新对应信息
  3. 将匹配项和动作集送往下一个table
    4.发往controller

流表

对报文根据某些字段进行匹配,取出匹配优先级最大的并计数,然后对这个报文做instructions。有timeout,过一会儿会消失,需要重新去问controller来获得新的流表项。流的cookie即唯一标识符。

matching

Table-miss:
每个流表都有的一条默认规则。当一个报文进入一张流表但是没有任何flow entry 匹配时,就会默认进入table-miss规则(优先级0)。
默认行为:drop、发给controller、发给另一张表
可以被controller动态控制,被送往controller时必须标明是table-miss事件。

Instructions:
在流表里,某个报文匹配到了一条flow,那么就会执行flow entry中写好的instructions,可以是修改报文字段,改metadata,增加删除action set。
流表

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值