Openflow tables

advertisement
OPENFLOW SPECIFICATION
SPEAKER : MUHAMMAD REZA ZULMAN
DATE
: NOVEMBER 17, 2014
OUTLINE
• INTRODUCTION.
• SWITCH COMPONENT.
• PIPELINE PROCESSING
• HOW PACKETS PROCESSED BY OPENFLOW TABLES
• OPENFLOW EVOLUTION
• CONCLUSION.
• REFERRENCE.
INTRODUCTION
• OpenFlow Spec describe the requirements of an Openflow Switch.
• Openflow spec. Covers :
• Components of the switch,
• Basic fuction of the switch,
• Openflow specification also covers the Openflow Protocol to manage and Openflow Switch from
remote controller.
SWITCH COMPONENTS
Figure 1. Main Component of OpenFlow Switch
SWITCH COMPONENTS (CONT.)
• OpenFlow Switch consist of one or more flow tables and a group tables and an OpenFlow Channel
to an external controller. (Figure 1)
• The switch communicates with the controller via the OpenFlow Protocol.
• Each flow tables in switch contains a set of flow entries.
• Openflow Protocol can add, update, and delete flow entries in flow tables.
• Each flow entries consist of match fields, counters, and a set of instruction.
SWITCH COMPONENTS (CONT.)
Details of OpenFlow Switch Component.
• OpenFlow Ports
• OpenFlow Tables
• OpenFlow Channel
• OpenFlow Protocols
SWITCH COMPONENTS (CONT.)
OpenFlow Ports :
• The network interfaces for passing packets between Openflow Processing and the rest of the
network.
• Openflow switch connect logically to each other via OpenFlow Ports.
• An Openflow Switch must support there types of OpenFlow ports:
• Physical Ports : a switch defined ports that correspond to a hardware interface of the switch.
• Logical Ports : a switch defined ports that don’t correspond directly to a hardware interface of the
switch.
• Reserved Ports : defined by the specification. They specify generic forwarding action such as sending to
the controller, flooding, or forwarding using non-openflow method.
SWITCH COMPONENTS (CONT.)
OpenFlow Tables :
• OpenFlow Tables consist of flow entries :
Match fields
Priority
Counters
Instruction
Timeouts
Cookies
Table 1. Main components of flow entries
• Match fields : To match against packets.
• Priority : matching precedence of the flow entries.
• Counters : updated when packets are matched.
• Instruction : to modify the action set of pipeline processing.
• Timeouts : maximum time of idle time before flow is expired
• Cookies : may used by controller to filter statistic, flow modification and flow deletion.
OPENFLOW TABLES (PIPELINE PROCESSING)
• Openflow Pipeline contains multiple flow tables. Each have multiple flow entries.
• Openflow pipeline define how packets interact with those flow tables.
• Openflow switch required to have at least on flow table (Pipeline processing simplyfied).
• The flow tables of an OF switch are sequentially numbered, starting at 0.
OPENFLOW TABLES (PIPELINE PROCESSING)
Figure 2. Packets flow through the processing pipeline
OPENFLOW TABLES (PIPELINE PROCESSING)
1. Find highest-priority matching flow entry
2. Apply Instruction
• Modify packets & update match
field
• Update action set
• Update metadata
3. Send match data and action set to next
table
Figure 3. How packets being processed per-table
HOW PACKETS PROCESS BY FLOW TABLE.
• The packets is first matched against flow entries of flow table 0.
• Other tables may be used depend on the outcome of first table.
• If match found, instructions associated with flow entry are executed.
• The instruction may explicit direct the packet to another flow table (Goto Instruction)
• If flow entries does not direct, pipeline processing stop, the packet processed witch associated “action
set”
• If no match found, the outcome depends on the configuration of the “table-miss” flow entry.
HOW PACKETS PROCESS BY FLOW TABLE.
Figure 4. Flowchart of packets flow through an Openflow Switch
SWITCH COMPONENTS (CONT.)
OpenFlow Channel :
• Openflow Channel is the Interface that connects OF Switch to a Controller.
• The controller can configure, manage, receive events and send packet to the switch through the
channel.
• OpenFlow channel must be formatted according to the OF Protocol.
• OF channel usually encrypted with TLS, but may run directly over TCP.
SWITCH COMPONENTS (CONT.)
OpenFlow Protocol :
• The heart of OF Switch Spec. is the set of structures used for OF Protocol.
• OpenFlow Protocol supports 3 message type :
• Controller-to-switch : Initiate by controller and used directly to manage of inspect the state of the
switch.
• Asynchronous : initiate by the switch and used to update controller of network events and change the
switch state.
• Symmetric : initiate by either the switch of the controller and sent without solicitation.
EVOLUTION OF OPENFLOW
• Different versions of the Openflow specification are available.
• The first openflow version was openflow 0.2.0 released in march 2008.
• Then, the most widely deployed version was openflow 1.0, released in December, 2009.
• Since then, the openflow keep updating until now, the latest version of openflow is openflow 1.4
OPENFLOW EVOLUTION (CONT.)
Figure 3 : Openflow version
OPENFLOW 1.4 FEATURES
• As we can see from the figure 3. Openflow 1.4 Features can be categorized into 3.
• Additions, That are completely new features.
• Improvements, are the revisions introduced to the existing properties for improving the older version
features.
• Change, the default TCP port has change to 6653
OPENFLOW 1.4 FEATURES (CONT.)
REFERENCE
• OpenFlow Switch Specification
- http://opennetworking.org
THANK YOU FOR LISTENING
Download