Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Openflow 1.3

No description
by

Pan Zhang

on 24 October 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Openflow 1.3

OpenFlow Spec. 1.3
Switch
Controller
Pipeline
Port
Set of linked flow tables
Group Table
Messages
Flow Table
Packet in
Action Set={}
Packet +
ingress port+
metadata
Action Set
Packet
Action
Set
Execute
Action
Set
Pkt out
Flow Table 1
Flow Table 2
PROCESSING
1. Find highest-priority matching flow entry
2. Apply instruction
i.Modify packet & update match fields(Apply action)
ii.Update Action Set(Write/Clear Action)
iii.Update metadate
3. Send match date and action set to next table
4. Execute the action set when there's no Go-to in the matched flow entry
Match Fields
Priority
Counters
Instructions
Timeouts
Cookie
Flow Entry
*Match fields : to match against packets.
*Priority: matching precedence of the flow entry
*Instructions: to modify the action set or pipeline processing
*Timeouts: maximum amount of time or idle time.
*Cookie: opaque data value chosen by the controller.
*Counters: updated when packets are matched
packet in
Match in
table n?
No
Table-
miss flow
entry
exists?
No
Drop packet
Update counters
Execute instruction
update action set
update packet/match set field
update metadata
Yes
Yes
Goto-
Table n?
Yes
No
Execute action
set
Table miss
*Every flow table must support
*Wildcards all match fields, lowest priority 0
*Instruction: Drop packet (Clear Action)/Output to controller(Apply Action) via RESERVED PORT
Flow Removal
*Controller request
*idle_timeout----------from last matcht
*Hard_timeout -------from the arrival time
Counter
Maintained for each flow table, flow entry, port, queue,group and meter
*Per Flow Table
active entries
*Per Flow entry
Duration(Counter)
*Per Port
Received packets
Controller to switch
Asynchronous
Symmetric
Network interfaces for passing packets
Physical Ports
Logical Ports
Reserved Ports
*Correspond to a hardware interface of switch
*Higher level abstraction may be defined in the switch using non-OF methods(link aggre. tunnels, loopback interfaces)
-----------------------------------------------
*Include packet encapsulation and may map to various physical ports
---------------------------------------------
*Be transparent to OpenFlow processing
*Specification Defined to specify generic forwarding actions (sending to controller, flooding)
Types
A copy of packet is sent to all standard ports excluding the packet ingress port.
Control channel with the OF controller.
start of the pipeline. Submits the packet to the first flow table.
the packet's ingress port. ONLY OUTPUT
no port is specified(port is wildcarded).
ALL:
Controller:
Table:
IN_PORT:
ANY:
Instruction
Apply-Actions:
Clear Actions:
Write Action:
Write Metadata:
Goto-Table:
Apply the specific actions immediately without any change to the Action set. This instuction may be used to modify the packet.
Clears all the actions in the action set
Merges actions into the current action set
Writes the masked metedata value into the metadata field.
Indicates the next table in the processing pipeline. Last table can not include this instuction.
*One flow entry contains a maximum of one instruction of each type.
*Execute in the order specified by above list.

Action Set
Action List
*Associated with each packet
----------------------------------
*Apply-actions instuction and Packet-out message include a action list.
----------------------------------------
*Can be modifed by a Write Action instruction or a Clear-Actions instruction.
-----------------------------------
*The instruction and message define the content of Action list.
----------------------------------------
*When a instruction set of a flow entry does not include a Goto instruction the action set is executed.
*Actions are executed in the order specified by the list and applied immediately to packet.
Consists of group entries. Enable OF to represent additional forwarding methods.
Group Identifier
Group Type
Counters
Action Buckets
Group Identifier: 32bits integer uniquely identifying the group
Group Type: to determine group semantics
Counters: updated when packets are processed by a group.
Actions buckets: an ordered list of action buckets, where each action bucket contains a set of actions to execute and associated parameters
Group Type
All:
Select:
Indirect:
Execute all bucket in the group. Used for multicast or broadcast.
Execute one bucket in the group. Packets are processed based on a switch-computed selection algorithm(equal loading).
Execute the one defined bucket in this group. Supports only a single bucket.Faster convergence.
Initiated by controller and may/may not require a response.
Features
Configuration
Modify-State
Read-State
Packet-out
Controller requests the identity and basic capabilities of a swtich
Controller sets and queries configuration parameters in the switch
Controller manages states on the switch. Add delete and modify flow entries.
controller collects information from switch. Such as current configuration, statistics and capabilities.
controller sends packets out of a specified port on the switch.
Switch to controller
Packet-in
Flow-Removed
Port-status
Error
Init from Both directions
Hello
Experimenter
Echo
Hello messages are exchanged between the switch and controller upon connection setup
Must return a echo reply. Used to verify the liveness of a connection.
Provide a standard way for OF switched to offer additional functionality. For Future OF revisions.
Transfer the control of a packet to the controller.
Inform the controller about the removal of a flow entry.
Inform the controller of a change on a port.
bring down..link go down..
Switch is able to notify controllers of problems using error messages.
Thank you
Full transcript