Thursday, December 11, 2014

Flow Programming - OpenFlow

Software Defined Networking (SDN) is a set of simple ideas that defines an abstract model for switching. In general, network devices are either host devices or transit devices. Host devices request and serve information, while transit devices move information to its intended recipient. SDN focuses on defining an abstract computing model and API for transit devices, or switches.
Every switch in the SDN model is composed of ports and tables. Packets arrive and leave the switch through ports. Tables consist of rows containing a classifier and set of actions. When a packet is indexed against a table a row is selected by finding the first classifier that best matches the packet. Once a row has been selected the set of actions in that row are applied to the packet. Actions can govern the treatment of packets (drop, forward, queue), as well as modify the packets state (rewrite, push, pop). Table state and port propoerties are manipulated by a well defined protocol or API.
This basic idea of is has been at the core of networking for quite some time. Companies have internally defined instances of this model for their networking devices. Additionally, standards bodies have attempted to codify this model (ForCES, MIDCOM). The most significant contribution of today's SDN movement has been its traction. There are several instances of the SDN model, in terms of the OpenFlow protocol, which have been widely supported. There are existing network operators using SDN in transport networks, data center networks, and enterprise networks.

Specification  https://www.opennetworking.org/images/stories/downloads/sdn-resources/onf-specifications/openflow/openflow-spec-v1.3.1.pdf




No comments:

Post a Comment

bee-social