首页 文章

OpenFlow中的指令和操作之间的区别

提问于
浏览
3

在OpenFlow协议中,我们有一个流表(或多个流表) . switich中的每个流表包含一组流条目 . 每个流条目都包含 Headers 字段,计数器和一组要应用的指令或操作 . Instrucions像"add this action to action set"( write-actions 指令)或"clear action set"( clear-actions 指令),和动作是诸如 “输出到端口 X ”( output 动作)或"drop this packet"( drop 动作) . 但是如何工作?流入口,动作或指令到底是什么?或者两者都是?什么是行动集?有人可以给我一些使用这些条款的例子吗?

1 回答

  • 1

    “操作可以丢弃,修改,排队或转发数据包 . 在OpenFlow协议的1.0版本中,Action集合直接由FlowMod消息中的Actions列表修改;但是,在1.1.0和后续版本中协议,动作集由FlowMod中携带的指令结构修改 . 指令可以携带动作列表来更新动作集,或者立即应用于绕过动作集的数据包“ .

    REF . (http://flowgrammable.org/sdn/openflow/actions/#ofp_1_4

    换句话说,当数据包与特定的OpenFlow流匹配时,运行OpenFlow v1.0的交换机会对数据包应用一组操作 . 现在,使用新的OpenFlow版本,交换机不会应用一组操作,而是将流指令应用于匹配的数据包 .

    根据OpenFlow规范1.5.1(https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-switch-v1.5.1.pdf),与流条目相关联的指令集按顺序包含每种类型的最多一条指令:Apply-Actions,Clear-Actions,Write-Actions,Write-Metadata,Stat -Trigger或Goto-Table .

相关问题