Pages

2013-03-04

OpenFlow Spec. v1.0.0

Note : 
  • An OpenFlow switch communcates with a controller(ex. Trema, Floodlight, NOX) over secure channel using the OpenFlow protocol.

  • Flow Table contains lots of flow entries which consists of  Header Fields, Counters, Actions.
  • Flow Entry 
  1. Header Fields to match against packets
  2. Counters to update for matching packet
  3. Actions to apply to matching packets

  • 12-tuple Header Field from packets used to match against flow entries

  • Actions were divided to "Required Action" and "Optional Action", and the OpenFlow switch doesn't need to support all the actions in OpenFlow protocol. So, there are two types OpenFlow-compliant switches : OpenFlow-only, and OpenFlow-enabled.
  • The packet is dropped if no forward actions are present.
  • A switch may reject a flow entry if it cannot process the action list in the order specified.
  • All packets processed by the switch are compared against the flow table. If a matching entry is found, any actions for that entry are performed on the packet. If no match is found, the packet is forwarded to the controller over the secure channel.

  • OpenFlow protocol massage types
  1. Controller-to-Switch : Controller/switch messages are initiated by the controller.(ex. Features, Modify-State : add/delete and modify flows, Read-State:used by the controller to collect statistics, Send-Packet)
  2. Asynchronous : Switches send asynchronous messages to the controller without the controller soliciting them.(ex. Packet-In : For all packets that do not have a matching flow entry, a packet-in event is sent to the controller, Flow-Removed, Port-status)
  3. Symmetric : Bidirectional massages exchanges.(ex. Hello, Echo)


References :  http://www.openflow.org/

No comments:

Post a Comment