SPEAKER: MUHAMMAD REZA ZULMAN DATE: NOVEMBER 17, 2014 OPENFLOW SPECIFICATION
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 : 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. Match fieldsPriorityCountersInstructionTimeoutsCookies
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.
Figure 2. Packets flow through the processing pipeline OPENFLOW TABLES (PIPELINE PROCESSING)
Figure 3. How packets being processed per-table 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 OPENFLOW TABLES (PIPELINE PROCESSING)
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 released in march Then, the most widely deployed version was openflow 1.0, released in December, 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 -
THANK YOU FOR LISTENING